一种针对包容性末级高速缓存的替换方法技术

技术编号:8593903 阅读:243 留言:0更新日期:2013-04-18 07:03
一种针对包容性末级高速缓存的替换方法,涉及处理器中包容性末级高速缓存的替换方法,在不牺牲包容性末级高速缓存一致性协议简单的优点的情况下,提高包容性末级缓存的性能,所述替换方法,包括:在一个高速缓存块进入末级高速缓存时,预测所述进入块的局部性,如果预测结果为所述高速缓存块的局部性差,则将所述高速缓存块放入高排出优先级列表中,否则将所述高速缓存块放入低排出优先级列表中;在替换时,检测高排出优先级列表中的高速缓存块,将不在内部高速缓存中的一个高排出优先级列表中的高速缓存块作为受害者替换出末级高速缓存。本发明专利技术可以有效提高包容性末级高速缓存的性能,并且只需要很少的硬件开销和设计修改。

【技术实现步骤摘要】

本专利技术涉及处理器中包容性末级高速缓存的替换方法。
技术介绍
由于处理器和主存储器之间的性能差距越来越大,在现代处理器中使用多级高速缓存来填补这个差距。在多级高速缓存设计中一个重要的问题是是否能够保证数据的包容性。在包容性高速缓存中,末级高速缓存包含所有内部高速缓存的数据,因此包容性末级高速缓存可以为内部高速缓存过滤不必要的一致性信息来简化一致性协议的实现。因此包容性高速缓存在很多新近提出的处理器中被使用。但是相比其它高速缓存结构,包容性高速缓存由于两个原因造成其性能较低。第一个原因是由于数据在不同缓存中的复制,造成有效缓存空间减少。第二个原因是为了保证包容性,在末级缓存中排出一个高速缓存块需要同时在内部缓存中把该块置为无效,这些为保证包容性而在内部缓存中被无效的块叫做包容性受害者。局部性通常用来表示一个块被访问的可能性,而由于内部缓存过滤掉大部分访问的局部性,包容性受害者有可能在内部缓存中局部性很好,对它们的下次访问会在所有缓存中失效从而影响性能。现有的末级高速缓存管理策略主要有如下两方面包容性高速缓存的管理策略以及互斥性和非包容性高速缓存的管理策略。包容性高速缓存管理策略为减少包容性受害者,全局替换策略(GlobalReplacement)把内部缓存中的命中暴露给末级缓存。在内部缓存命中时,内部缓存用一个消息通知末级缓存更新命中块在末级缓存中的替换状态。Fletcher等人提出了三种减少直接相联包容性末级缓存的包容性受害者的方法一是增加缓存的相联度;二是使用一个受害者缓存;三是放松对包容性的要求,加入一个一致性过滤器。Jaleel等人提出了三种改进包容性末级缓存性能的方法时间局部性提示方法(Temporal Locality Hint, TLH)通过发出局部性暗示信息来把内部缓存中的局部性信息通知末级缓存;提前无效方法(Early Core Invalidation, ECI)通过提前无效内部缓存中的块来得到该块的局部性信息;基于查询的选择方法(Query Based Selection, QBS)通过查询内部缓存来得到局部性信息。互斥性和非包容性高速缓存管理策略动态插入算法(DynamicInsertionPolicy, DIP)通过把局部性差的块的插入最近最少使用(Least Recently Use,LRU)位置来避免缓存的颠簸。再访问插入预测(Re-Reference InsertionPrediction,RRIP)通过区分在缓存中被访问过的块和没被访问过的块,使得前者在缓存中停留的时间更长来改善性能。伪后进先出(Pseudo-Last-1n-First-Out, Pseudo-LIFO)通过优先排出栈顶端的块,使得栈低端的块被保存的时间更长。基于签名的命中预测(Signature-basedHitPredictor, SHiP)通过预测块的重用距离来在RRIP的基础上改善性能。死亡块预测技术通过预测一个块的最后一次访问来提高性能。基于预测的方法,死亡块预测技术可以分为基于踪迹的、基于时间的和基于计数器的。合并连续访问方法通过对连续的访问进行预测来提高准确率。基于采样的死亡块预测方法通过采样一部分访问来训练预测器,从而减少硬件开销和提高预测准确率。旁路方法通过预测并旁路那些在被排出之前没被使用的块来提高性能。根据预测的方法可以分为基于程序计数器(Program Counter,PC)的和基于地址的。较少再用过滤器(Less Reused Filter,LRF)通过既使用基于PC的又使用基于地址的预测器来提高性能。使用自适应旁路的分段替换(Dueling Segmented replacement with adaptive Bypassing,D SB)在失效时记录进入块和排出块的对,通过比较它们被访问的顺序来决定旁路的使用概率。Gaur等人提出了一个针对互斥性末级高速缓存的旁路和插入方法。以上这些方法要么是针对互斥性和非包容性高速缓存的,要么只专注于减少包容性高速缓存的包容性受害者而无法进一步提高性能。本专利技术旨在提出一种在需要较少的硬件开销的可以提高包容性末级高速缓存性能的管理策略。
技术实现思路
为了在不牺牲包容性末级高速缓存一致性协议简单的优点的情况下,提高包容性末级缓存的性能,本专利技术提供。为了解决上述技术问题,本专利技术提供了,包括A、在一个高速缓存块进入末级高速缓存时,预测所述进入块的局部性,如果预测结果为所述高速缓存块的局部性差,则将所述高速缓存块放入高排出优先级列表中,否则将所述高速缓存块放入低排出优先级列表中;所述高排出优先级列表为末级高速缓存中所有局部性差的高速缓存块的列表;所述低排出优先级列表为末级高速缓存中所有局部性好的高速缓存块的列表;B、在替换时,检测高排出优先级列表中的高速缓存块,将不在内部高速缓存中的一个高排出优先级列表中的高速缓存块作为受害者替换出末级高速缓存;C、等待下一个闻速缓存块进入末级闻速缓存,返回步骤A。进一步地,步骤B中将不在内部高速缓存中的一个高排出优先级列表中的高速缓存块作为受害者替换出末级高速缓存的方法为随机替换方法、非最近使用替换方法、最近最少使用替换方法中的一种。进一步地,步骤B还包括如果所有高排出优先级列表中的高速缓存块都在内部高速缓存中,则检测低排出优先级列表中的高速缓存块,将不在内部高速缓存中的一个低排出优先级列表中的高速缓存块作为受害者替换出末级高速缓存。进一步地,步骤A中,预测进入块的局部性的方法为根据进入块和排出块的访问顺序判断进入块的局部性。进一步地,如果进入块被先访问,则进入块的局部性好;如果排出块被先访问,则进入块局部性差;如果进入块没被使用就被排出,则进入块局部性差。进一步地,步骤B中,通过向内部高速缓存发送查询信息来获得所述高速缓存块是否在内部高速缓存中。进一步地,确定受害者的方法为按照高排出优先级列表或者低排出优先级列表从第一个物理路到最后一个物理路的顺序确定一个受:害者。进一步地,在替换时,设置一个最大查询阈值,如果查询信息的数量大于所述阈值,则把高排出优先级列表中的下一个高速缓存块或者低排出优先级列表中的下一个高速缓存块作为受害者,不在发送查询信息查询所述下一个高速缓存块是否在内部高速缓存中。进一步地,所述阈值为2。与现有技术相比,本专利技术的替换方法对于局部性差的块,如果它们不再在内部缓存中,则会被排出末级高速缓存,在缩短局部性差的块的寿命的同时又不会引起包容性受害者,因此可以有效提高包容性末级高速缓存的性能,并且只需要很少的硬件开销和设计修改。附图说明图1为本专利技术实施例的用于实现包容性末级高速缓存替换的结构示意图;图2为本专利技术实施例的针对包容性末级高速缓存的替换方法的流程图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。本专利技术提出的包容性高速缓存替换策略叫做“TEP” (Two-levelEvictionPriority)。为了避免产生包容性受害者,一个高速缓存块在其在内部缓存中的局部性被耗尽之前都不应该从末级缓存中排出。为了提高性能,在末级缓存中局部性差的块应本文档来自技高网
...

【技术保护点】
一种针对包容性末级高速缓存的替换方法,其特征在于,包括:A、在一个高速缓存块进入末级高速缓存时,预测所述进入块的局部性,如果预测结果为所述高速缓存块的局部性差,则将所述高速缓存块放入高排出优先级列表中,否则将所述高速缓存块放入低排出优先级列表中;所述高排出优先级列表为末级高速缓存中所有局部性差的高速缓存块的列表;所述低排出优先级列表为末级高速缓存中所有局部性好的高速缓存块的列表;B、在替换时,检测高排出优先级列表中的高速缓存块,将不在内部高速缓存中的一个高排出优先级列表中的高速缓存块作为受害者替换出末级高速缓存;C、等待下一个高速缓存块进入末级高速缓存,返回步骤A。

【技术特征摘要】
1.一种针对包容性末级高速缓存的替换方法,其特征在于,包括 A、在一个高速缓存块进入末级高速缓存时,预测所述进入块的局部性,如果预测结果为所述高速缓存块的局部性差,则将所述高速缓存块放入高排出优先级列表中,否则将所述高速缓存块放入低排出优先级列表中; 所述高排出优先级列表为末级高速缓存中所有局部性差的高速缓存块的列表; 所述低排出优先级列表为末级高速缓存中所有局部性好的高速缓存块的列表; B、在替换时,检测高排出优先级列表中的高速缓存块,将不在内部高速缓存中的一个高排出优先级列表中的高速缓存块作为受害者替换出末级高速缓存; C、等待下一个高速缓存块进入末级高速缓存,返回步骤A。2.如权利要求1所述的替换方法,其特征在于 步骤B中将不在内部高速缓存中的一个高排出优先级列表中的高速缓存块作为受害者替换出末级高速缓存的方法为 随机替换方法、非最近使用替换方法、最近最少使用替换方法中的一种。3.如权利要求1所述的替换方法,其特征在于 步骤B还包括 如果所有高排出优先级列表中的高速缓存块都在内部高速缓存中,则检测低排出优先级列表中的高速缓存块,将不在内部高...

【专利技术属性】
技术研发人员:程旭李凌达佟冬谢子超陆俊林
申请(专利权)人:北京北大众志微系统科技有限责任公司
类型:发明
国别省市:

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

1