数据高速缓存区域预取器制造技术

技术编号:20759131 阅读:29 留言:0更新日期:2019-04-03 13:04
当数据高速缓存未命中发生时,数据高速缓存区域预取器创建区域。每个区域包括邻近每个数据高速缓存未命中的预定范围的数据线路,并且用相关联的指令指针寄存器(RIP)标记。所述数据高速缓存区域预取器比较后续存储器请求与每个现有区域的所述预定范围的数据线路。对于每个匹配,所述数据高速缓存区域预取器设置访问位,并且试图基于所述所设置的访问位来识别伪随机访问模式。所述数据高速缓存区域预取器使适当计数器递增或递减以追踪所述伪随机访问模式发生的频率。如果所述伪随机访问模式频繁发生,那么下次使用相同RIP和模式处理存储器请求时,所述数据高速缓存区域预取器针对所述RIP根据所述伪随机访问模式预取所述数据线路。

【技术实现步骤摘要】
【国外来华专利技术】数据高速缓存区域预取器相关申请的交叉引用本申请要求2016年8月19日提交的美国临时申请No.62/377,314、2016年10月13日提交的美国专利申请No.15/292,777和2016年11月25日提交的欧洲申请No.EP16200806.4的权益,所述申请以引用方式并入本文,就像在本文完整阐述一样。
技术介绍
许多处理设备利用高速缓存来减少访问存储器中存储的信息所需要的平均时间。高速缓存是存储预期将会相对频繁使用的指令或数据的副本的较小且较快速的存储器。例如,中央处理单元(CPU)是一类使用高速缓存的处理器,它们通常与高速缓存或高速缓存存储器元件的分级结构相关联。诸如图形处理单元的其他处理器也实现高速缓存系统。预期将由CPU使用的指令或数据从(相对较大且较慢的)主存储器移动到高速缓存中。当CPU需要读取或写入主存储器中的位置时,CPU首先检查所要存储器位置的副本是否包括在高速缓存存储器中。如果这个位置包括在高速缓存中(高速缓存命中),那么CPU可对高速缓存位置中的副本执行读取或写入操作。如果这个位置不包括在高速缓存中(高速缓存未命中),那么CPU需要访问主存储器中存储的信息,并且在一些情况下,所述信息可从主存储器复制并添加到高速缓存。高速缓存的适当配置和操作可将存储器访问的平均延迟减少低于主存储器延迟且接近高速缓存延迟的值。预取器用于高速缓存中线路中的信息被请求之前填充这些线路。预取器监测与处理器上运行的应用程序相关联的存储器请求,并且使用所监测的请求来确定或预测处理器有可能访问存储器区域中特定序列的存储器地址,其中存储器区域中所述特定序列的存储器地址通常称为流。预取器追踪多个流并且针对不同流独立地预取数据。附图说明通过以下举例给出的描述结合附图可以得到更详细的理解,附图中:图1是根据某些具体实施的使用数据高速缓存区域预取器的系统的高阶框图;图2是根据某些具体实施的数据高速缓存区域预取器的高阶框图;图3是根据某些具体实施的用于数据高速缓存区域预取器的线路条目表结构中线路条目的框图和流程图;图4是根据某些具体实施的数据高速缓存区域预取器中区域历史表结构的流程图;图5A1、5A2和5B是根据某些具体实施的与数据高速缓存区域预取器一起使用的方法的实例流程图;以及图6是可实现一个或多个公开具体实施的实例设备的框图。具体实施方式本文描述一种数据高速缓存区域预取器。数据高速缓存区域预取器组织由程序生成的高速缓存访问模式(例如,响应于加载或存储指令),并且发出预取请求以将数据从主存储器拷贝到预计未来可能请求所述数据的数据高速缓存。具体地,数据高速缓存区域预取器试图检测在给定指令访问数据线路之后初始访问数据线路的预定范围内的其他数据线路随后被访问的模式。包括初始访问数据线路的数据线路的预定范围被称为区域,并且每个区域用指令指针寄存器(RIP)标记。接着,使用与每个区域相关联的模式来通过相同RIP预取数据线路以用于后续访问。图1是根据某些具体实施的使用数据高速缓存区域预取器160的系统100的高阶框图。处理系统100包括处理器105,所述处理器被配置为访问主存储器110中存储的指令或数据。处理器105包括用于执行指令或操纵数据的至少一个核心115,以及通过将选定指令或数据存储在高速缓存系统117来加速对指令或数据的访问的分级(或多级)高速缓存系统117。所描述的处理系统100为说明性的,并且其他架构和配置可在不偏离本公开的范围的情况下实现。高速缓存系统117包括二级(L2)高速缓存120,用于存储在主存储器110中存储的指令或数据的副本。在具体实施中,L2高速缓存120与主存储器110是16路相关联的,由此主存储器110中的每线路有可能被拷贝到L2高速缓存120中的特定16线路(传统上称作“路”)或从L2高速缓存120中的特定16线路拷贝。相对于主存储器110,L2高速缓存120是使用较小且较快速的存储器元件来实现。L2高速缓存120在逻辑上或物理上被部署为更靠近核心115(相对于主存储器110),由此信息可在核心115与L2高速缓存120之间较快速地或以较低延迟交换。高速缓存系统117还包括L1高速缓存125,用于存储在主存储器110或L2高速缓存120中存储的指令或数据的副本。相对于L2高速缓存120,L1高速缓存125是使用较小且较快速的存储器元件来实施,由此在L1高速缓存125的各线路中存储的信息可由处理器105快速地检索。L1高速缓存125可在逻辑上或物理上部署为更靠近核心115(相对于主存储器110和L2高速缓存120),由此信息可在核心115与L1高速缓存125之间较快速地或以较低延迟交换(相对于主存储器110与L2高速缓存120之间的通信)。在具体实施中,使用包括诸如L0高速缓存、L1高速缓存、L2高速缓存、L3高速缓存等元件的不同多级高速缓存。在一些具体实施中,较高级高速缓存包括一个或多个较低级高速缓存,由此较低级高速缓存中的各线路也存储在所包括的较高级高速缓存中。L1高速缓存125被拆分为用于存储指令和数据的一级(L1)高速缓存,称为L1-I高速缓存130和L1-D高速缓存135。将L1高速缓存125拆分或分区为用于仅存储指令的L1-I高速缓存130和用于仅存储数据的L1-D高速缓存135,允许这些高速缓存部署为分别更靠近有可能请求指令或数据的条目。因此,这种布置减少争用、线材延迟,并且通常降低与指令和数据相关联的延迟。在一个具体实施中,替代策略决定L1-I高速缓存130中的线路用L2高速缓存120中的指令替代,而L1-D高速缓存135中的线路用L2高速缓存120中的数据替代。处理器105还包括流预取器150和数据高速缓存区域预取器160,所述预取器用于填充高速缓存125、130、135中的一者或多者中的数据线路。尽管流预取器150和数据高速缓存区域预取器160描绘为处理器105内的单独元件,流预取器150和数据高速缓存区域预取器160可实现为其他元件的部分。在具体实施中,流预取器150和数据高速缓存区域预取器160是硬件预取器。在具体实施中,流预取器150和数据高速缓存区域预取器160监测与在核心115中运行的应用程序相关联的存储器请求。例如,流预取器150和数据高速缓存区域预取器160监测存储器请求(例如,数据线路访问),所述存储器请求导致高速缓存命中或未命中,所述未命中记录在未命中地址缓冲器(MAB)145中。尽管流预取器150和数据高速缓存区域预取器160均确定或预测核心115有可能访问主存储器110中存储器地址的特定序列(名义上称为流),每个预取器以不同方式处置访问。流预取器150检测由核心115执行的两个或更多个邻接且顺序的存储器访问。序列的方向是基于顺序存储器访问的临时序列而确定的,并且核心115使用此方向来通过基于当前或先前顺序存储器访问外推而预测未来存储器访问。接着,流预取器150从主存储器110提取预测位置中的信息,并且将此信息存储在适当的高速缓存中,由此使得在核心115请求所述信息之前所述信息就为可用的。通常,当数据高速缓存未命中发生时,数据高速缓存区域预取器160创建区域。每个区域包括邻近每个数据高速缓存未命中的预定范围的数据线路,并且用相关联的RIP标本文档来自技高网...

【技术保护点】
1.一种数据高速缓存区域预取器,其包括:线路条目数据表,所述线路条目数据表包括多个线路条目,其中,每个线路条目包括由预定数量的访问位限定的区域,并且如果所述区域内的高速缓存线路被请求,那么设置给定线路条目的访问位;以及区域历史表,所述区域历史表被配置为从所述线路条目数据表接收逐出项,其中,所述数据高速缓存区域预取器被配置为根据可逐出线路条目中的某些访问位确定访问模式,并且排除将具有预定访问模式的线路条目逐出到所述区域历史表。

【技术特征摘要】
【国外来华专利技术】2016.11.25 EP 16200806.4;2016.08.19 US 62/377,314;1.一种数据高速缓存区域预取器,其包括:线路条目数据表,所述线路条目数据表包括多个线路条目,其中,每个线路条目包括由预定数量的访问位限定的区域,并且如果所述区域内的高速缓存线路被请求,那么设置给定线路条目的访问位;以及区域历史表,所述区域历史表被配置为从所述线路条目数据表接收逐出项,其中,所述数据高速缓存区域预取器被配置为根据可逐出线路条目中的某些访问位确定访问模式,并且排除将具有预定访问模式的线路条目逐出到所述区域历史表。2.如权利要求1所述的数据高速缓存区域预取器,其中,所述数据高速缓存区域预取器被配置为将具有伪随机访问模式的所述线路条目逐出到所述区域历史表。3.如权利要求1所述的数据高速缓存区域预取器,其中,所述区域历史表使用至少指令指针寄存器(RIP)编索引。4.如权利要求3所述的数据高速缓存区域预取器,其中,所述区域历史表使用偏移进一步编索引,所述偏移针对相同RIP根据对区域的初始访问是在高速缓存线路的开头、结尾还是中间来支持多个伪随机访问模式。5.如权利要求1所述的数据高速缓存区域预取器,其中:所述区域历史表包括多个区域历史条目,每个区域历史条目包括所述预定数量的访问位,每个区域历史条目包括针对所述预定数量的访问位中的某些访问位的计数器,并且所述计数器根据所述可逐出线路条目的所述访问位是否被设置来递增或递减。6.如权利要求1所述的数据高速缓存区域预取器,其还包括:区域预取生成器,所述区域预取生成器被配置为在与所述区域历史表中特定区域历史条目中的特定访问位相关联的计数器已达阈值的情况下,从所述区域历史表接收预取请求。7.如权利要求1所述的数据高速缓存区域预取器,其中,所述数据高速缓存区域预取器被配置为阻止其他预取器处理待所述数据高速缓存区域预取器处理的流。8.如权利要求1所述的数据高速缓存区域预取器,其中,每个线路条目还包括第二访问位,所述第二访问位当后续高速缓存线路请求在主位的所述预定数量的访问位中的一个访问位内时设置,并且所述第二访问位用于确定被排除逐出到所述区域历史表的所述预定访问模式。9.一种处理系统,其包括:流预取器;以及数据高速缓存区域预取器,所述数据高速缓存区域预取器包括:线路条目数据表,所述线路条目数据表具有多个线路条目;以及区域历史表,所述区域历史表从所述线路条目数据表接收逐出项,其中,每个线路条目包括由预定数量的访问位限定的区域,并且如果所述区域内的高速缓存线路被请求,那么设置给定线路条目的访问位;并且所述数据高速缓存区域预取器被配置为:根据可逐出线路条目中的某些访问位确定访问模式,并且排除将具有预定访问模式的线路条目逐出到所述区域历史表;并且阻止所述流预取器处理待所述数据高速缓存区域预取...

【专利技术属性】
技术研发人员:唐纳德·W·麦考利威廉·E·琼斯
申请(专利权)人:超威半导体公司
类型:发明
国别省市:美国,US

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

1