[发明专利]实现混合预取的方法及相应的装置有效
申请号: | 201210077583.9 | 申请日: | 2012-03-22 |
公开(公告)号: | CN102662862A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 程旭;党向磊;王箫音;佟冬;陆俊林;易江芳;王克义 | 申请(专利权)人: | 北京北大众志微系统科技有限责任公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 常州市维益专利事务所 32211 | 代理人: | 路接洲 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 混合 方法 相应 装置 | ||
技术领域
本发明涉及现代微处理器访存性能优化方法,尤其涉及一种实现混合预取的方法及相应的装置。
背景技术
随着处理器与存储器之间性能差距的不断扩大,访存延迟逐渐成为制约处理器性能的关键因素。数据预取技术在处理器访问数据之前预测其访存地址并提前发出访存请求,以隐藏访存延迟。数据预取技术主要可分为软件预取技术和硬件预取技术。其中,硬件预取技术通过捕获程序运行过程中可重复的访存模式(Memory Access Pattern)来预测后续的访存地址并自动发起预取请求。
所有缓存失效地址按时间顺序组成全局失效地址流(Miss Address Stream)。因程序行为的复杂性,全局失效地址流的规律性较差,通常的做法是对其进行局部化(Localization),即按照某种属性将其划分成局部失效地址流,并在每个局部失效地址流中捕获跨距(Stride)、地址相关(Address Correlation)、差值相关(Delta Correlation)等可重复访存模式,以预测后续的访存地址并发出预取请求。常见的局部化策略主要有两种。PC(Program Counter)局部化策略将访存指令PC相同的所有失效地址划分为一个局部失效地址流,从而可以利用一条访存指令产生的不同访存地址之间的访存规律。存储区域(Memory Region)局部化策略将物理地址空间划分为大小相同的存储区域并将属于同一存储区域的所有失效地址划分为一个局部失效地址流,从而可以利用不同访存指令对同一存储区域的访问规律。
但是,一种局部化策略只能利用程序运行过程中的某一种访存规律,而程序运行过程中往往同时存在多种不同的访存规律,单一的局部化策略并不能充分利用这些访存规律,这限制了数据预取的范围。因此,如何以较低的开销结合利用多种访存规律以预取更多有用数据是提高预取性能的关键。
发明内容
本发明要解决的技术问题是:提出一种实现混合预取的方法及相应的装置,能够同时利用程序运行过程中的多种访存规律来预取更多有用数据,以提高预取的性能。
本发明所采用的技术方案为:一种实现混合预取的方法,包括:
本发明使用全局历史缓冲器按时间顺序保存所有失效地址,使用索引表按照数据预取方法的局部化策略划分局部失效地址流,并使用指针将属于同一局部失效地址流的失效地址链接起来。
本发明在保持全局历史缓冲器中保存的失效地址不变的基础上,通过多个索引表和多组指针来同时实现多种数据预取方法。每增加一种数据预取方法(比如预取方法1、预取方法2、…、预取方法N),只需要增加一个索引表和一组指针。在将新的失效地址存入全局历史缓冲器时,本发明逐个更新索引表中的指针,以将新的失效地址链接到按照每个预取方法的局部化策略划分的局部失效地址流中。
在查找可重复的访存模式并产生预取请求时,本发明按照某种顺序(比如从预取方法1到预取方法N)逐个查找各预取方法的局部失效地址流。
为减少查找的时间和能耗开销,本发明在某种预取方法下找到可重复的访存模式时,即停止查找并产生预取请求,不再查找其余预取方法的局部失效地址流。
同时,本发明还提供了一种实现混合预取的预取器装置,包括:
多个索引表(Index Table),用于按照不同的局部化策略将全局失效地址流划分成局部失效地址流,以实现多种不同的数据预取方法。每个索引表使用一种局部化策略划分全局失效地址流,与一种数据预取方法相对应,含有全相联或组相联结构的多个表项,每个表项保存一个局部失效地址流的历史访存信息,并将该局部化策略的关键字作为标签位进行索引查找,每一表项包含如下各个域:
有效位,用于标识该表项是否保存有效信息;
标签域,用于在索引表所对应的数据预取方法中标识不同的局部失效地址流;
指针域,用于在索引表所对应的数据预取方法中指向全局历史缓冲器中属于该局部失效地址流的失效地址链。
进一步地,该装置还包括:
包含多组指针的全局历史缓冲器(Global History Buffer,GHB),用于按时间顺序保存所有的缓存失效地址,并使用多组指针按照不同的局部化策略将属于同一局部失效地址流的所有地址链接起来。其中,每一组指针对应一种数据预取方法,按照该数据预取方法的局部化策略,将属于同一局部失效地址流的所有失效地址链接起来,以在查找可重复访存模式时,顺着指针读出局部失效地址流的所有失效地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司,未经北京北大众志微系统科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210077583.9/2.html,转载请声明来源钻瓜专利网。