用于数据流的储存感知预取制造技术

技术编号:7685045 阅读:158 留言:0更新日期:2012-08-16 18:15
本发明专利技术提供一种用于有效数据预取的系统和方法。储存在较低级存储器中的数据流包括在计算机程序中使用的连续数据块。处理器中的预取单元通过识别以单调增或减方式定位连续数据块的存储访问序列来检测数据流。在给定数据流的预定列队时期后,预取单元响应于没有请求写权限的访问,在没有写权限的情况下从存储器预取给定数据流的一部分。同样,在列队时期后,预取单元响应于确定具有到给定数据流的先前访问,在具有写权限的情况下从较低级存储器预取给定数据流的一部分,该给定数据流在高速缓存未中的数量达到预定阈值之后请求写权限。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算系统,更具体来讲,涉及有效高速缓存行预取。相关技术说明现代微处理器可包括一个或多个处理器内核或处理器,其中每个处理器都能够执行软件应用程序的指令。这些处理器通常是流水线化的,其中处理器包括一个或多个数据处理级,该一个或多个数据处理级与放置在该级之间的存储元件(例如寄存器和阵列)串联连接。在理想情况下,每个时钟周期为流水线的每级产生指令的有用执行。然而,流水线中的停滞可导致在该特定流水线级期间不执行有用功。停滞,通常是多周期停滞,的一个实例是数据高速缓存或指令高速缓存未中。可能会有与从较高级高速缓存和/或系统存储器检索数据关联的很多的等待时间。由于处理器频率比系统存储器访问次数更快地提高,因此等待时间迅速地增长,该等待时间是从存储器检索数据需要的处理器周期的总数。在各种实施方案中,系统存储器可包括用于处理器的两个或多个层的高速缓存层次结构。在系统存储器的层次结构中的较后级可包括经存储器控制器对随机访问存储器(DRAM)、双列直插存储器模块(dimm)、硬盘等的访问。对这些存储器的较低级的访问可需要相当数量的时钟周期。可在多内核微处理器上的多内核中共享的多级高速缓存在具有高速缓存命中时帮助减轻该等待时间。然而,由于高速缓存大小增加并且高速缓存层次结构的较后级更远离处理器内核放置,因此确定请求的存储器行是否在高速缓存中存在的等待时间同样增加。如果处理器内核具有随后是没有命中的每级高速缓存的串行或并行访问,随后是DRAM访问的存储器请求,则服务于存储器请求的总等待时间可变得很多。一个减少由于上述问题而导致的总性能下降的解决方案是使由于高速缓存未中而导致的高速缓存行填充事务与每时钟周期内的多指令的乱序执行重叠。然而,由于顺序回退的缘故,该顺序回退可防止具有有用功的停滞周期的完全重叠,因此若干时钟周期的停滞仍降低处理器的性能。另一解决方案是在当前处理的数据之前,对预定数量的高速缓存行的较低级存储器,例如DRAM,使用推测预取请求。该预取请求可与当前存储器请求串行或并行到一个或多个级的高速缓存子系统。因此,在当前存储器请求之后,从存储器层次结构访问随后存储器请求的等待时间可大大减少。由于较早的推测预取请求,数据可已经在高速缓存、存储器控制器中存在,或可立刻到达存储器控制器。数据流预取单元用来检测数据流。数据流可定义为定位连续数据块的存储器访问的序列。连续数据块可储存在一个或多个级的存储器层次结构中。例如,数据块可储存在主存储器中,并可读出并发送到较高级存储器层次结构中的一个或多个高速缓存。该连续数据块从存储器层次结构的较低级到较高级的输送可由高速缓存行填充事务引起。可选地,该连续数据块的输送可由预取事务引起。在一个实例中,数据流可在执行使图像或像素锐化的算法中使用。这样的算法可在循环中使用下列表达式a =b+c。检测数据流可包括识别以单调增或减方式定位连续组高速缓存行的存储器访问的序列。响应于检 测数据流,数据流预取单元可开始预取当前请求高速缓存行之前预定数量的高速缓存行。数据流预取单元跟踪具有散布负载的数据流并储存访问(此后称为混合访问数据流)并忽略未中访问的访问类型(加载或储存)。如在本专利技术中使用的,储存操作或指令是写访问,而加载操作或指令是读访问。因此,数据流预取单元在只读状态中预取全部高速缓存行。该只读状态可以例如与MOESI高速缓存相干协议关联。在来自预取行上命中的处理器的需求访问流中的第一储存操作需要发出状态改变请求。状态改变请求获得许可从而写入高速缓存行。状态改变请求减少预取高速缓存行的益处。考虑到上述内容,期望用于有效高速缓存行预取的有效方法和机制。专利技术概要本专利技术提供在处理器中用于有效高速缓存行预取的系统和方法。在一个实施方案中,计算系统包括高速缓存、较低级存储器、在配置为输送非推测需求请求的处理器内核上的加载/储存缓冲器,以及在处理器内核上的预取单元。在一个实例中,数据流可在用于使图像或像素锐化的算法的执行中使用。这样的算法可在循环中使用下列表达式a=b+c。预取单元储存对应于特定数据流的特性化数据。 检测数据流可包括识别以单调增或减方式定位连续组数据块的存储访问的序列。不与其他现有数据流的未中地址连续的初始对应于未中地址可以是新数据流的开始。一旦预取单元检测到新数据流,则预取单元可进入预定列队时期。紧接着特定数据流的列队时期完成,预取单元可响应于没有检测到给定数据流的第一写访问,开始在没有写权限的情况下从较低级存储器预取给定数据流的一部分。同样,预取单元可响应于在列队时期完成之后检测到给定数据流的第一写访问,在具有写权限的情况下开始从较低级存储器预取给定数据流的分离部分。在这时获得写权限可为在随后预取高速缓存行上检测的储存操作避免随后状态改变损失。因此,仍保留预取具有随后储存操作的高速缓存行的益处。一旦参考下列描述和附图,这些和其他实施方案将变得明显。附图说明图I是示出示例微处理器的一个实施方案的广义框图。图2是示出实行乱序执行的通用处理器内核的一个实施方案的广义框图。图3是示出存储器接口的一个实施方案的广义框图,该实施方案示出存储器请求的不同来源。图4是示出预取单元状态和状况转变的表格的一个实施方案的广义框图。图5是预取单元内特性化数据的存储的广义框图。图6是在处理器中有效高速缓存行预取的方法的一个实施方案的流程图。图7是在处理器中继续有效高速缓存行预取的方法的一个实施方案的流程图。图8是在处理器中继续有效高速缓存行预取的方法的一个实施方案的流程图。图9是在处理器中继续有效高速缓存行预取的方法的一个实施方案的流程图。尽管本专利技术易受各种修改和可替换形式,但特定实施方案在附图中经由实实例出并在此详细描述。然而,应理解附图及其详细描述并不旨在使本专利技术限于公开的特定形式,正相反,本专利技术覆盖按附加权利要求定义落入本专利技术的精神和范畴内的全部修改、等同物和替换物。专利技术详述在下列描述中,阐述许多特定详述以提供对本专利技术的全面理解。然而,本领域技术人员应认识到可在没有这些特定详述的情况下实践专利技术。在一些实例中,众所周知的电路、结构和技术没有详细示出从而避免使本专利技术变得模糊。参考图I,不出不例处理器100的一个实施方案。在不出实施方案中是微处理器 的处理器100可包括存储器控制器120、接口逻辑140、一个或多个处理单元115,处理单元115可包括一个或多个处理器内核112和对应于高速缓存存储器子系统114;纵横互连逻辑116,以及共享高速缓存存储器子系统118。在一个实施方案中,微处理器100的示出的功能性合并在单集成电路上。接口 140大体上为离开处理器100的输入/输出(I/O)设备提供到共享高速缓存存储器子系统118和处理单元115的接口。如在本专利技术中使用的,通过随后是字母的参考数字指代的元件可通过单独数字集体指代。例如,处理单元115a-115b可集体称为处理单元115或单元115。I/O设备可包括外围网络设备例如打印机、键盘、监视器、摄影机、读卡器、硬盘或软盘驱动器或驱动器控制器、网络接口卡、视频加速器、音频卡、调制解调器、各种数据采集卡例如通用接口总线(GPIB)或现场总线接口卡,或其他采集卡。另外,接口 140可用来与其他微处理器和/或其他处理节点通信。大体上,本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:本杰明·T·桑德巴拉特·纳拉辛哈·斯瓦米斯瓦米·帕亚穆尔图拉
申请(专利权)人:超威半导体公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1