[发明专利]一种无用预取过滤方法无效
申请号: | 201210593796.7 | 申请日: | 2012-12-31 |
公开(公告)号: | CN103049398A | 公开(公告)日: | 2013-04-17 |
发明(设计)人: | 程旭;党向磊;王箫音;佟冬;谢子超;李凌达;王克义 | 申请(专利权)人: | 北京北大众志微系统科技有限责任公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 栗若木;曲鹏 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 无用 过滤 方法 | ||
技术领域
本发明涉及微处理器访存性能优化领域,尤其涉及一种自适应的无用预取过滤方法。
背景技术
随着处理器与存储器之间性能差距的不断扩大,访存延迟逐渐成为制约处理器性能的关键因素。数据预取技术在处理器访问数据之前预测其访存地址并提前向该访存地址发出访存请求,以隐藏访存延迟。数据预取技术主要可分为软件预取技术和硬件预取技术。其中,硬件预取技术通过预取器捕获程序运行过程中可重复的访存模式(Memory Access Pattern)来预测后续的访存地址并自动发起预取请求。预取器在对后续访存地址的预测发生错误时会产生无用预取。无用预取取回的数据不会被处理器使用,其不仅会造成带宽和能耗浪费,而且可能因造成缓存污染对部分程序的性能产生负面影响。因此,减少无用预取是提高预取性能和能效性的关键。
发明内容
本发明所要解决的技术问题是提供一种无用预取过滤方法,能够在不降低数据预取性能的同时减少无用预取,以降低数据预取的能耗和带宽开销,提高数据预取的能效性。
为了解决上述技术问题,本发明提供了一种无用预取过滤方法,在某个预取信息被发出时,将所述预取信息读取的预取数据添加到缓存中,将保存所述预取数据的缓存组的缓存行作为该预取信息的预取行,若缓存组的所有缓存行均有效,则从缓存组中确定一个有效的缓存行作为该预取信息的替换行替换出所述缓存组,将所述已发出的预取信息的预取行地址和替换行地址保存在预取历史信息表中。
进一步地,在某个预取信息被过滤时,将所述被过滤的预取信息的地址信息作为预取行地址保存在预取历史信息表中。
进一步地,根据预取行和替换行被处理器访问的顺序判断是否过滤该预取信息。
进一步地,根据处理器是否使用被过滤的预取信息来判断所述预取信息是否被过滤。
进一步地,从缓存组中确定一个有效的缓存行作为替换行替换出所述缓存组的方法为:
先进先出替换方法、随机替换方法和最近最少使用替换方法中的一种。
进一步地,预取历史信息表包括如下4个域:
预取行地址域,用于存储全部预取信息的预取行地址;
预取行有效位,用于标识每个预取行地址域的预取行是否有效;
替换行地址域,用于存储全部因为预取信息而被替换出的缓存组的替换行地址;
替换行有效位,用于标识每个替换行地址域的替换行是否有效。
进一步地,所述预取历史信息表采用全相联或组相联结构。
进一步地,在处理器或预取器访问缓存时,根据需求访问地址或被替换的缓存行的地址查找预取历史信息表,并根据以下情况更新过滤计数器中相应表项的值:
1)若需求访问地址与预取历史信息表中任一表项保存的有效的预取行地址相同,则预取行先于替换行被处理器使用,该预取信息不被过滤,此时将预取信息地址所对应的过滤计数器表项的值减1;
2)若需求访问地址与预取历史信息表中任一表项保存的有效的替换行地址相同,则替换行先于预取行被处理器使用,该预取信息导致缓存替换出了一个有用的缓存行,该预取信息被过滤,此时将预取信息地址所对应的过滤计数器表项的值加1;
3)在缓存替换出一个缓存行时,若该缓存行的地址与预取历史信息表中任一表项保存的有效的预取行地址相同,则该预取信息取回的数据在被处理器使用之前就被替换出缓存,该预取信息被过滤,此时将预取信息地址所对应的过滤计数器表项的值加1。
进一步地,所述过滤计数器为若干个计数器数组,所述计数器数组中的每个计数器标识一个存储区域内的无用预取信息过滤状态。
与现有技术相比,本发明使用预取历史信息表记录已发出预取信息的预取行和替换行地址,之后根据其预取行还是替换行先被处理器访问来判断是否应该过滤该预取信息,并统计这些历史信息用以得出过滤或发出新产生的预取信息的结论。同时,为了避免错误地过滤有用预取信息,本发明在预取历史信息表中也记录被过滤的预取信息的地址信息,之后根据处理器是否使用被过滤的预取信息来判断其是否应该被过滤,并统计这些历史信息用以构建过滤反馈机制。本发明能够在对有用预取影响较小的情况下有效减少无用预取,从而在保持或提高数据预取性能的情况下有效降低数据预取的能耗和带宽开销,提高数据预取的能效性。
附图说明
图1为本发明实施例的预取历史信息表的结构示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司,未经北京北大众志微系统科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210593796.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种延迟牡丹花期的方法
- 下一篇:一种油茶果晾晒装置及方法