[发明专利]预取单元、数据预取方法以及微处理器有效
申请号: | 201110077108.7 | 申请日: | 2011-03-29 |
公开(公告)号: | CN102169429A | 公开(公告)日: | 2011-08-31 |
发明(设计)人: | 罗德尼.E.虎克;约翰.M.吉尔 | 申请(专利权)人: | 威盛电子股份有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 史新宏 |
地址: | 中国台*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 单元 数据 方法 以及 微处理器 | ||
技术领域
本发明涉及一般微处理器的快取存储器,特别是涉及将数据预取至微处理器的快取存储器。
背景技术
以最近的计算机系统而言,在快取失败(cache miss)时,微处理器存取系统存储器所需的时间,会比微处理器存取快取存储器(cache)多上一或两个数量级。因此,为了提高快取命中率(cache hit rate),微处理器整合了预取技术,用来测试最近数据存取样态(examine recent data access patterns),并且企图预测哪一个数据为程序下一个存取的对象,而预取的好处已是众所皆知的范畴。
然而,申请人注意到某些程序的存取样态并不为现有微处理器的预取单元所能检测的。例如,图1所示为当执行的程序包括经由存储器进行一序列的储存操作时,第二级快取存储器(L2 Cache)的存取样态,而图中所描绘的为各时间的存储器地址。由图1可知,虽然总趋势为随着时间而增加存储器地址,即由往上的方向,然而在许多状况下,所指定的存取存储器地址亦可较前一个时间往下,而非总趋势的往上,使其不同于现有预取单元实际所预测的结果。
虽然就数量相对大的样本而言,总趋势是朝一个方向前进,但现有预取单元在面临小样本时却可能出现混乱状况的原因有两个。第一个原因为程序是依循其架构对存取存储器,不论是由演算法特性或是不佳的编程(poor programming)所造成。第二个原因为非循序(out-of-order execution)微处理器核心的管线与队列在正常功能下执行时,常常会用不同于其所产生的程序顺序来进行存储器存取。
因此,需要一个数据预取单元(器)能够有效地为程序进行数据预取,其必须考虑到在较小时窗(time windows)进行存储器存取指令(操作)时并不会呈现明显的趋势(no clear trend),但当以较大样本数进行审查时则会出现明显的趋势。
发明内容
本发明揭示一种预取单元,设置于具有一快取存储器的一微处理器中,其中预取单元用以接收对一存储器区块的多个地址的多个存取要求,每一存取要求对应存储器区块的地址中的一个,并且存取要求的地址随着时间函数非单调性地(non-monotonically)增加或减少。预取单元包括一储存装置以及一控制逻辑。控制逻辑,耦接至储存装置,其中当接收到存取要求时,控制逻辑则用以维持储存装置中的存取要求的一最大地址以及一最小地址,以及最大地址以及最小地址的变化的计数值、维持存储器区块中最近被存取的快取线的一历史记录,最近被存取的快取线是与存取要求的地址相关、根据计数值,决定一存取方向、根据历史记录,决定一存取样态,并且根据存取样态并沿着存取方向,将快取存储器内尚未被历史记录指示为已存取的快取线预取至存储器区块中。
本发明揭示一种数据预取方法,用以预取数据至一微处理器的一快取存储器,数据预取方法,包括接收对一存储器区块的多个地址的多个存取要求,每一存取要求对应存储器区块的地址中的一个,并且存取要求的地址随着时间函数非单调性地(non-monotonically)增加或减少;当接收到存取要求时,维持存储器区块中的一最大以及一最小地址,并且计算最大以及最小地址的变化的计数值;当接收到存取要求时,维持存储器区块中最近被存取的快取线的一历史记录,最近被存取的快取线是与存取要求的地址相关;根据计数值决定一存取方向;根据历史纪录决定一存取样态;以及根据存取样态并沿着存取方向,将快取存储器内尚未被历史记录指示为已存取的快取线预取至存储器区块中。
本发明揭示一种微处理器,包括多个核心、一快取存储器以及一预取单元。快取存储器,由核心所共享,用以接收对一存储器区块的多个地址的多个存取要求,每一存取要求对应存储器区块的地址中的一个,存取要求的地址随着时间函数非单调性地(non-monotonically)增加或减少。预取单元,用以监视存取要求,并维持存储器区块中的一最大地址以及一最小地址,以及最大地址以及最小地址的变化的计数值、根据计数值,决定一存取方向并且沿着存取方向,将存储器区块中未命中的快取线预取至快取存储器中。
本发明揭示一种微处理器,包括一第一级快取存储器、一第二级快取存储器以及一预取单元。预取单元用以检测出现在第二级快取存储器中的最近存取要求的一方向以及样态,以及根据方向以及样态,将多个快取线预取至第二级快取存储器中、从第一级快取存储器,接收第一级快取存储器所接收的一存取要求的一地址,其中地址与一快取线相关、决定在方向中所相关的快取线的后被样态所指出的一个或多个快取线并且导致一个或多个快取线被预取至第一级快取存储器中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于威盛电子股份有限公司,未经威盛电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110077108.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于活塞内冷油道清理废液的处理方法
- 下一篇:一种高铁酸钾固体的制备方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置