[发明专利]一种实现数据预取的方法及装置有效

专利信息
申请号: 201110415405.8 申请日: 2011-12-13
公开(公告)号: CN102521158A 公开(公告)日: 2012-06-27
发明(设计)人: 程旭;党向磊;王箫音;佟冬;陆俊林;易江芳;王克义 申请(专利权)人: 北京北大众志微系统科技有限责任公司
主分类号: G06F12/08 分类号: G06F12/08
代理公司: 北京安信方达知识产权代理有限公司 11262 代理人: 栗若木;曲鹏
地址: 100080 北京市海淀*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 实现 数据 方法 装置
【说明书】:

技术领域

发明涉及现代微处理器访存性能优化的方法,尤其涉及实现数据预取的方法及装置。

背景技术

随着集成电路制造工艺的进步,处理器与存储器的性能不断提高。但由于二者在生产工艺与发展路线上的差异,处理器的性能提升速度明显快于存储器,从而使得处理器与存储器之间的性能差距持续增大。这导致当访存指令发生片上缓存(On-Chip Cache)失效而需访问主存时,整个过程往往耗时上百个甚至几百个时钟周期,形成存储墙(Memory Wall)问题。

基于程序访存局部性原理的高速缓存(Cache)和层次化存储结构(Memory Hierarchy)在填补处理器与存储器之间的性能鸿沟方面发挥了重要作用,但仍然不能有效地解决存储墙问题。对于科学计算等工作集规模很大且存储密集的程序,访存延时仍旧在程序执行时间中占据很大的比例。

虽然超标量处理器可通过乱序执行(Out-of-Order Execution)和非阻塞高速缓存(Non-blocking Cache)等技术,使得访存指令在发生缓存失效并访问主存的过程中后续的与该指令数据无关的指令仍能够继续执行,从而使处理器具备了一定程度的访存延时包容能力;然而,由于失效访存指令仍然会阻塞后续数据相关指令的执行和所有指令的提交,当发生片上缓存失效时,耗时的存储访问仍将导致流水线最终由于指令窗口溢出而停顿,造成处理器性能损失。

随着处理器与存储器之间性能差距的不断增大,访存延时逐渐成为制约处理器性能的关键因素。

数据预取技术是在处理器真正需要某数据之前就预先向主存发出访存请求,以隐藏访存延时。数据预取技术主要可分为软件预取和硬件预取。其中,软件预取通常是由程序员或编译器在代码中插入预取指令实现,因而会引起额外的指令执行开销。硬件预取通过捕获程序动态执行过程中可重复的访存模式(Memory Access Pattern)来预测后续的访存地址,并自动发起预取请求,故能够有效地利用程序运行时刻的动态访存特性来隐藏访存延时。

已有研究提出了很多经典的硬件预取方法。例如,跨距预取器(Stride Prefetcher),旨在对规则的跨距访存模式(即相邻访存地址的差值为常数的访存模式)进行预取。差值相关预取器(Delta Correlation Prefetcher)通过记录并捕获由失效地址流生成的差值流(相邻失效地址之差组成的差值流)中的相关性规律来进行预取。其中,差值关联预取器既可以预取规则的跨距访存模式,又可以预取更加复杂的其它访存模式,因此可以获得更好的性能优化效果,并且预取器需要花费的存储开销并不大。

但是,差值相关预取器仍然存在很多优化空间。一方面,差值相关预取器使用循环队列结构的全局历史缓冲器(GHB,Global History Buffer)按时间顺序保存最近发生缓存失效的所有失效地址,对于一个跨距访存模式,虽然使用上一个失效地址和跨距值即可完整表示,但差值相关预取器需使用多个全局历史缓冲器表项来保存该跨距访存模式中最近发生缓存失效的所有失效地址,因而存储利用效率较低。另一方面,差值相关预取器在遇到模式匹配时会按照规则发出多个预取请求,并且无法判断当前的预取地址是否为已预取过的地址,因此会产生大量冗余预取,浪费了处理器访问片上缓存的带宽和功耗。

因此,需要对差值相关预取器的上述两个问题进行优化,通过改善差值相关预取器的存储利用效率以及过滤预取器发出的冗余预取,来提高处理器中预取器的效率。

发明内容

本发明所要解决的技术问题是提供一种实现数据预取的方法及装置,能够改善差值相关预取器的存储利用效率。

为了解决上述技术问题,本发明提供了一种实现数据预取的预取器装置,其特征在于,包括:

访存模式识别单元,用于将全局失效地址流划分为局部失效地址流,按时间顺序将所述局部失效地址流中最近发生的两个缓存失效的地址信息记录为历史访存信息,并根据该记录捕获跨距访存模式并生成相应的预取地址。

进一步地,该装置还包括:

全局历史缓冲器,用于按时间顺序保存属于同一局部失效地址流中除了所述最近发生的两个缓存失效的地址以外的其它缓存失效地址序列信息,并链接属于所述同一局部失效地址流的地址信息,以计算生成局部差值流捕获差值相关访存模式并生成相应的预取地址。

进一步地,访存模式识别单元含有全相联或组相联结构的多个表项,每个表项保存一个局部失效地址流的历史访存信息,并通过缓存失效地址的标签位作为索引查找,每一表项包含如下各个域:

标签域,用于标识不同的局部失效地址流;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司,未经北京北大众志微系统科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110415405.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top