CN101866318A - 一种高速缓存替换策略的管理系统及方法 - Google Patents
一种高速缓存替换策略的管理系统及方法 Download PDFInfo
- Publication number
- CN101866318A CN101866318A CN 201010201202 CN201010201202A CN101866318A CN 101866318 A CN101866318 A CN 101866318A CN 201010201202 CN201010201202 CN 201010201202 CN 201010201202 A CN201010201202 A CN 201010201202A CN 101866318 A CN101866318 A CN 101866318A
- Authority
- CN
- China
- Prior art keywords
- test group
- policy
- cache
- replacement
- selection register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012360 testing method Methods 0.000 claims abstract description 95
- 238000007726 management method Methods 0.000 claims abstract description 14
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 230000002902 bimodal effect Effects 0.000 claims description 4
- 238000010572 single replacement reaction Methods 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000001629 sign test Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Abstract
本发明公开了一种高速缓存替换策略的管理系统及方法,克服现有技术中采用单独某一种替换策略不能有效地满足高速缓存多种不同局部性访存特点的应用程序访问需求的不足,其中该方法包括:将高速缓存划分为第一部分和第二部分;将第一部分划分为第一测试组和第二测试组,第一测试组采用第一替换策略,第二测试组采用第二替换策略;设置一策略选择寄存器,记录第一测试组和第二测试组的失效次数;当第二部分发生访存失效时,根据策略选择寄存器的值从第一替换策略和第二替换策略中为第二部分选择替换策略。与现有技术相比,本发明提高了高速缓存的使用性能。
Description
技术领域
本发明涉及计算机处理器,特别是涉及一种高速缓存替换策略的管理系统及方法。
背景技术
高速缓冲存储器(Cache,也称为高速缓存)是计算机处理器的重要组成部分之一,是存储速度介于寄存器和内存之间的一种存储器。利用程序执行的局部性原理,尽可能地把将要访问的数据存储到高速缓存,当处理器需要数据时可以以很小的时间延迟把数据提交给处理器,从而达到减少访存时延,提高处理器性能的目的。
由于高速缓存容量较小,需要对高速缓存进行有效的管理,尽可能将处理器需要的数据放入到高速缓存中,从而减少系统访存失效几率,降低访存代价,提高系统的整体性能。
目前,高速缓存的管理方案主要包括随机替换策略(random)、先入先出替换策略(FIFO)及最近最少使用替换策略(LRU)等。其中,LRU替换策略被普遍认为综合性能较高,因此得到了工业界的广泛采用,大量应用在通用处理器高速缓存设计中。
在采用理想LRU替换策略的高速缓存中,每个缓存行会维护一个时间戳计数器,该时间戳计数器用来记录本缓存行上一次被访问时的时钟计数。每次访问失效时,同一缓存组内,时间戳计数最小的缓存行中的数据就会被替换出高速缓存,该缓存行会被用来存放从内存中新读取到的数据。同时,每一次访问,包括失效后新添加数据的访问,都会更新相应数据的缓存行中的时间戳,从而保证每次被替换出的数据都是来自最近最少使用的缓存行,即同一组内时间戳最小的缓存行。
但是,LRU替换策略主要依据最近访问的数据局部性最好的原则,在面对顺序数据访问操作时,往往性能不佳。所谓的顺序数据访问,就是按照一定的步长,连续不断的访问一大片数据,该操作会造成大量的高速缓存器污染,有效数据的替换,而数据本身则大都是缺乏时间局部性。具体的例子包括数据包的处理,例如把数据从用户缓冲区拷贝到内核缓冲区,包括文件读写、进程间数据通信等,大规模数组访问,字符串处理等针对内存区域的顺序访问。
当前,多媒体和网络应用等容易产生大量顺序数据访问的应用程序在计算机中得到了广泛的应用,所占用户使用时间的比率越来越大,而采用LRU替换策略的高速缓存在运行这些应用程序时,往往会造成较大的失效代价,系统整体性能不高。比如当程序重用工作组(Working Set)大于可用Cache时或者其存储访问具有低局部相关性时,LRU策略表现出十分低下的命中率,大量新替换入Cache的行对命中率的贡献为零,而原本可能命中的行则由于长期不被访问而替换出Cache。
针对局部性较差的应用程序,高速缓存可以采用不更新新加入数据缓存行时间戳的策略,即将新加入的数据放入最先被替换的位置,通常称为LRU位置插入策略(the LRU Position Insertion Policy,LIP)。
同LRU策略相比,LIP策略在面对局部性较好的应用程序时,性能又往往较差。与此相同地,采用单独的某一种替换策略都不能有效地满足高速缓存多种不同局部性访存特点的应用程序的需要,无法为高速缓存带来较大的性能提升空间。
发明内容
本发明所要解决的技术问题是需要提供一种高速缓存替换策略管理系统及方法,克服现有技术中采用单独某一种替换策略不能有效地满足高速缓存多种不同局部性访存特点的应用程序访问需求的不足。
为了解决上述技术问题,本发明提供了一种高速缓存替换策略的管理方法,包括:
将所述高速缓存划分为第一部分和第二部分;
将所述第一部分划分为第一测试组和第二测试组,所述第一测试组采用第一替换策略,第二测试组采用第二替换策略;
设置一策略选择寄存器,记录所述第一测试组和第二测试组的失效次数;
当所述第二部分发生访存失效时,根据所述策略选择寄存器的值从所述第一替换策略和第二替换策略中为所述第二部分选择替换策略。
优选地,该方法进一步包括:
为所述高速缓存的缓存行设置属性位,根据所述属性位将所述高速缓存划分为所述第一部分和第二部分。
优选地,将所述第一部分划分为所述第一测试组和第二测试组的步骤,包括:
将所述第一部分划分为包含有相等数量缓存行的所述第一测试组和第二测试组。
优选地,所述第一替换策略包括最近最少使用替换策略;所述第二替换策略包括双峰插入策略。
优选地,记录所述第一测试组和第二测试组的失效次数的步骤,包括:
所述第一测试组中发生缓存失效时,将所述策略选择寄存器的值加一;所述第二测试组中发生缓存失效时,将所述策略选择寄存器的值减一。
优选地,根据所述策略选择寄存器的值为所述第二部分选择所述替换策略的步骤,包括:
根据所述策略选择寄存器的值的正负号,为所述第二部分选择所述第一替换策略或所述第二替换策略。
优选地,该方法进一步包括:
每隔一单位时间调整一次所述策略选择寄存器的值。
优选地,为所述第二部分的缓存行设置策略位,所述策略位用于标识所述第二部分中的缓存行所使用的替换策略。
为了解决上述技术问题,本发明还提供了一种高速缓存替换策略的管理系统,包括:
第一划分模块,用于将所述高速缓存划分为第一部分和第二部分;
第二划分模块,用于将所述第一部分划分为第一测试组和第二测试组,其中所述第一测试组采用第一替换策略,所述第二测试组采用第二替换策略;
设置模块,用于设置一策略选择寄存器;
判断模块,用于判断所述第一测试组、第二测试组以及第二部分是否发生缓存失效;
记录模块,用于将所述第一测试组和第二测试组的失效次数记录到所述策略选择寄存器中;
选择模块,用于当所述第二部分发生访存失效时,根据所述策略选择寄存器的值从所述第一替换策略和第二替换策略中为所述第二部分选择替换策略。
优选地,该系统进一步包括:
属性标识模块,用于为所述高速缓存的缓存行设置属性位;
所述第一划分模块用于根据所述属性位将所述高速缓存划分为所述第一部分和第二部分。
优选地,所述第一划分模块用于将所述第一部分划分为包含有相等数量缓存行的所述第一测试组和第二测试组。
优选地,所述记录模块用于所述第一测试组中发生缓存失效时,将所述策略选择寄存器的值加一;所述第二测试组中发生缓存失效时,将策略选择寄存器的值减一。
优选地,所述选择模块用于根据所述策略选择寄存器的值的正负号,为所述第二部分选择所述第一替换策略或所述第二替换策略。
优选地,该系统进一步包括:
调整模块,用于每隔一单位时间调整一次所述策略选择寄存器的值。
优选地,该系统进一步包括:
策略标识模块,用于为所述第二部分的缓存行设置策略位,所述策略位用于标识所述第二部分中的缓存行所使用的替换策略。
与现有技术相比,本发明的一个实施例至少克服了现有技术中单独某一种替换策略不能有效地满足高速缓存多种不同局部性访存特点的应用程序访问需求的不足,以及灵活性较差、动态切换困难等问题,提高了高速缓存的使用性能。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明替换策略的管理方法实施例的流程示意图;
图2为本发明替换策略的管理系统实施例的组成示意图;
图3为本发明另一系统实施例的组成示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。
首先,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明高速缓存替换策略的动态管理方法实施例的流程示意图。如图1所示,本发明方法实施例主要包括如下步骤:
步骤S110,将高速缓存划分为第一部分和第二部分;
步骤S120,将第一部分划分为第一测试组和第二测试组,该第一测试组和第二测试组所包含的缓存行的数量相等;用于执行单个替换策略的测试的缓存行数目可以在实现时自行设定,原则上不超过高速缓存中行数目总数的5%(本实施例设定为行数目总数的5%);
第一测试组采用第一替换策略,第二测试组采用第二替换策略;
在本实施例中,第一测试组中采用LRU策略(即第一替换策略为LRU策略),每次数据插入缓存行时更新行时间戳计数器;
在本实施例中,第二测试组中采用双峰插入策略(BIP,BimodalInsertionPolicy,双峰插入策略)策略(即第二替换策略为BIP策略),每次数据插入缓存行时是否更新行时间戳计数器根据随机数比较结果决定,如果随机数等于零则更新时间戳计数器,否则不更新;
步骤S130,设置用于进行动态策略选择的一策略选择寄存器,从该策略选择寄存器的正反两个方向将两个测试组的失效次数记录到策略选择寄存器中;
第一测试组(本实施例中也可以称之为LRU测试组)中发生缓存失效时,策略选择寄存器的值加一;
第二测试组(本实施例中也可以称之为BIP测试组)中发生缓存失效时,策略选择寄存器的值减一;
步骤S140,当第二部分发生访存失效时,根据策略选择寄存器的值的正负号从第一替换策略和第二替换策略中为该第二部分选择具体的替换策略;
具体地,当策略选择寄存器的值为正数时,为第二部分选择第一替换策略,第二部分执行第一替换策略进行访存;当策略选择寄存器的值为非正数(即负数或零)时,为第二部分选择第二替换策略,第二部分执行第二替换策略进行访存。
由于程序的访存行为具有时间局部性特点,从整个程序运行过程看,不同时间的访存行为差距较大。为了进一步优化策略选择方案,图1所示的方法实施例还可以采用单位时间逻辑调整思想,每隔一单位时间调整一次策略选择寄存器的值(在图1中以步骤S150示出),其中用于更新的单位时间的大小可以由时钟计数器来确定。具体的调整方法是,对策略选择寄存器执行右移操作,右移位数由一移位寄存器的值确定,该移位寄存器可以在系统启动初始化时由系统软件设定为默认值并可以接受用户的调整,或者在系统硬件设计时固定为某个确定值。
上述第二测试组采用BIP策略,大部分情况下新插入数据行时间戳计数器都不会被更新,直到该行发生访存命中时,该行才会重新设置时间戳计数器。
在上述第二测试组中,通过采用随机数比较的方法,设置较低的更新概率,当取到的随机数与零相等时,才更新新插入数据缓存行的时间戳计数器。
本发明的实施例对高速缓存进行静态划分,抽取少量的缓存行作为测试组。通过将测试组进行划分,实现了两种不同替换策略影响的动态监控,将采用两种不同策略缓存组的访存失效影响反映到一策略选择寄存器值的变化中。
根据图1所示的方法实施例可以看出,高速缓存中第二部分的替换策略可以根据策略选择寄存器的值从两种不同替换策略中进行动态切换。本发明还基于单位时间调整策略,实现了策略选择逻辑的动态调整,每隔一段时间对策略选择寄存器执行一次右移运算,以便做到更精确的判断,进一步优化了高速缓存性能。
图2为本发明高速缓存替换策略的管理系统实施例的组成示意图。结合图1所示的方法实施例,图2所示的系统实施例主要包括第一划分模块210、第二划分模块220、设置模块230、判断模块240、记录模块250以及选择模块260,其中:
第一划分模块210,用于将高速缓存300划分为第一部分310和第二部分320;
第二划分模块220,用于将该第一划分模块210所划分出来的该第一部分310划分为第一测试组311和第二测试组312,其中该第一测试组311和第二测试组312所包含的缓存行的数量相等;第一测试组311采用第一替换策略,第二测试组312采用第二替换策略;在本实施例中,第一测试组311中采用LRU策略,每次数据插入缓存行时更新行时间戳计数器;第二测试组312中采用BIP策略,每次数据插入缓存行时是否更新行时间戳计数器根据随机数比较结果决定,如果随机数等于零则更新时间戳计数器,否则不更新;
设置模块230,用于设置进行动态策略选择的一策略选择寄存器300;
判断模块240,用于判断第一测试组311、第二测试组312以及第二部分是否发生缓存失效;
记录模块250,与该判断模块240相连,用于从正反两个方向将两个测试组的失效次数记录到该设置模块230设置的该策略选择寄存器300中;具体的,第一测试组311中发生缓存失效时,策略选择寄存器300的值加一;第二测试组312中发生缓存失效时,策略选择寄存器300的值减一;
选择模块260,与该判断模块240相连,用于当第二部分320发生访存失效时,根据策略选择寄存器300的值的正负号从第一替换策略和第二替换策略中为该第二部分320选择具体的替换策略;具体地,当策略选择寄存器300的值为正数时,为第二部分320选择第一替换策略,第二部分320执行第一替换策略进行访存;当策略选择寄存器300的值为非正数(即负数或零)时,为第二部分320选择第二替换策略,第二部分320执行第二替换策略进行访存。
根据图2所示的系统实施例可以看出,高速缓存中第二部分的替换策略可以根据策略选择寄存器300的值的正负号从两种替换策略中进行动态切换。
图2所示的系统实施例中,记录模块250中包含一加法单元(图中未示出)、一减法单元(图中未示出)以及一取反单元(请参考图3所示)400,该加法单元用于执行策略选择寄存器300的累加操作,该减法单元用来执行策略选择寄存器300的累减操作,该取反单元400用于对策略选择寄存器300的符号位执行取反操作,以控制第二部分320中的缓存行替换策略的动态管理。
当第一测试组中缓存行发生失效时,该加法单元执行一次累加操作,输入是策略选择寄存器300的当前值,输出是累加操作的结果,并将该累加操作的结果存入该策略选择寄存器300中。
当第二测试组中缓存行发生失效时,该减法单元执行一次累减操作,输入是策略选择寄存器300的当前值,输出是累减操作的结果,并将该累减操作的结果存入该策略选择寄存器300中。
图2所示的系统实施例中,该系统还可以包括一属性标识模块(图中未示出),该属性标识模块用于为高速缓存300的缓存行设置属性位。第一划分模块210用于根据该属性位将高速缓存300划分为该第一部分310和第二部分320。
图2所示的系统实施例中,该系统还可以包括一策略标识模块(图中未示出),该策略标识模块用于为该第二部分320的缓存行设置策略位,该策略位用于标识第二部分320中的缓存行所使用的替换策略。
为了进一步优化策略选择方案,图2所示的系统实施例还可以包括一调整模块270,该调整模块270采用单位时间逻辑调整思想,用于每隔一单位时间调整一次策略选择寄存器300的值,其中用于更新的单位时间的大小可以由一时钟计数单元(图中未示出)来确定。该调整模块270的具体调整方法是,对策略选择寄存器300执行右移操作,右移位数由一移位寄存单元(图中未示出)的值确定,该移位寄存单元可以在系统启动初始化时由系统软件设定为默认值并可以接受用户的调整,或者在系统硬件设计时固定为某个确定值。
该时钟寄存单元用于执行累加操作以进行时钟计数,当发生溢出时,调整模块270对策略选择寄存器300的值进行调整。该时钟寄存单元可以通过一溢出标志位来标识该时钟寄存单元是否发生溢出。该时钟寄存单元溢出后,可以通过一清零逻辑单元(图中未示出)来对时钟寄存器执行清零操作,时钟寄存器重新开始下一单位时间的计数。
通过设定上述移位寄存单元的值(即右移操作位数),可以设定单位时间动态调整的粒度。
本发明中可以对高速缓存的行结构进行改造,为每个缓存行设置两个标志位,该两个标志位分别为属性位和策略位(请参阅如下所述的图3),其中:
属性位,用于标识缓存行的属性,在本发明中,缓存行的属性分为两种,一种是用于测试的测试行(测试行位于前述的第一部分中),另一种是普通行(普通行位于前述的第二部分中);在本发明的技术方案中,是通过属性位的逻辑值来进行测试行和普通行的区分的,比如属性位设置为0则标识本行为普通行,设置为1则标识本行为测试行;
策略位,用来标识缓存行选用的替换策略,在本发明的技术方案中,是通过策略位的逻辑值来进行第一替换策略和第二替换策略的区分的,比如策略位设置为0则标识该缓存行采用第一替换策略,即每次插入新的数据时,更新时间戳计数器;设置为1则标识该缓存行采用第二替换策略,即每次插入新的数据时,判断随机数生成器中的值,取到全零时,才更新时间戳计数器。
图3为本发明另一系统实施例的组成示意图,用于说明在对本发明的行结构进行改造后,如何动态调整缓存行的替换策略。本实施例以BIP策略为前述的第二替换策略,并且,本系统实施例中未以附图示出以及未进行文字说明的其余内容请参阅图1所示的方法实施例及图2所示的系统实施例进行理解。如图3所示,该另一系统实施例包括一随机数生成单元600、比较单元700以及更新判断单元800,其中:
随机数生成单元600,用于生成BIP策略(此处的BIP策略为前述的第二替换策略,前述的第一替换策略为LRU策略)判断需要使用的随机数;最简单的实现方式是设置随机数生成器为6位循环累加器,这样每次比较时,取到全零的概率就为1/64;
比较单元700,用于比较随机数生成单元600所生成的随机数是否为全零;
更新判断单元800,用于根据比较单元700所判断的结果以及每个缓存行策略位的值做出是否更新相应行时间戳计数器的决策。
图3所示的取反单元400,请结合图2所示的实施例进行理解。
本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (15)
1.一种高速缓存替换策略的管理方法,其特征在于,包括:
将所述高速缓存划分为第一部分和第二部分;
将所述第一部分划分为第一测试组和第二测试组,所述第一测试组采用第一替换策略,第二测试组采用第二替换策略;
设置一策略选择寄存器,记录所述第一测试组和第二测试组的失效次数;
当所述第二部分发生访存失效时,根据所述策略选择寄存器的值从所述第一替换策略和第二替换策略中为所述第二部分选择替换策略。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
为所述高速缓存的缓存行设置属性位,根据所述属性位将所述高速缓存划分为所述第一部分和第二部分。
3.根据权利要求1所述的方法,其特征在于,将所述第一部分划分为所述第一测试组和第二测试组的步骤,包括:
将所述第一部分划分为包含有相等数量缓存行的所述第一测试组和第二测试组。
4.根据权利要求1所述的方法,其特征在于:
所述第一替换策略包括最近最少使用替换策略;
所述第二替换策略包括双峰插入策略。
5.根据权利要求1所述的方法,其特征在于,记录所述第一测试组和第二测试组的失效次数的步骤,包括:
所述第一测试组中发生缓存失效时,将所述策略选择寄存器的值加一;所述第二测试组中发生缓存失效时,将所述策略选择寄存器的值减一。
6.根据权利要求5所述的方法,其特征在于,根据所述策略选择寄存器的值为所述第二部分选择所述替换策略的步骤,包括:
根据所述策略选择寄存器的值的正负号,为所述第二部分选择所述第一替换策略或所述第二替换策略。
7.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
每隔一单位时间调整一次所述策略选择寄存器的值。
8.根据权利要求1所述的方法,其特征在于:
为所述第二部分的缓存行设置策略位,所述策略位用于标识所述第二部分中的缓存行所使用的替换策略。
9.一种高速缓存替换策略的管理系统,其特征在于,包括:
第一划分模块,用于将所述高速缓存划分为第一部分和第二部分;
第二划分模块,用于将所述第一部分划分为第一测试组和第二测试组,其中所述第一测试组采用第一替换策略,所述第二测试组采用第二替换策略;
设置模块,用于设置一策略选择寄存器;
判断模块,用于判断所述第一测试组、第二测试组以及第二部分是否发生缓存失效;
记录模块,用于将所述第一测试组和第二测试组的失效次数记录到所述策略选择寄存器中;
选择模块,用于当所述第二部分发生访存失效时,根据所述策略选择寄存器的值从所述第一替换策略和第二替换策略中为所述第二部分选择替换策略。
10.根据权利要求9所述的系统,其特征在于,该系统进一步包括:
属性标识模块,用于为所述高速缓存的缓存行设置属性位;
所述第一划分模块用于根据所述属性位将所述高速缓存划分为所述第一部分和第二部分。
11.根据权利要求9所述的系统,其特征在于:
所述第一划分模块用于将所述第一部分划分为包含有相等数量缓存行的所述第一测试组和第二测试组。
12.根据权利要求9所述的系统,其特征在于:
所述记录模块用于所述第一测试组中发生缓存失效时,将所述策略选择寄存器的值加一;所述第二测试组中发生缓存失效时,将策略选择寄存器的值减一。
13.根据权利要求12所述的系统,其特征在于:
所述选择模块用于根据所述策略选择寄存器的值的正负号,为所述第二部分选择所述第一替换策略或所述第二替换策略。
14.根据权利要求9所述的系统,其特征在于,该系统进一步包括:
调整模块,用于每隔一单位时间调整一次所述策略选择寄存器的值。
15.根据权利要求9所述的系统,其特征在于,该系统进一步包括:
策略标识模块,用于为所述第二部分的缓存行设置策略位,所述策略位用于标识所述第二部分中的缓存行所使用的替换策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102012024A CN101866318B (zh) | 2010-06-13 | 2010-06-13 | 一种高速缓存替换策略的管理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102012024A CN101866318B (zh) | 2010-06-13 | 2010-06-13 | 一种高速缓存替换策略的管理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101866318A true CN101866318A (zh) | 2010-10-20 |
CN101866318B CN101866318B (zh) | 2012-02-22 |
Family
ID=42958050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102012024A Active CN101866318B (zh) | 2010-06-13 | 2010-06-13 | 一种高速缓存替换策略的管理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101866318B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033718A (zh) * | 2010-12-17 | 2011-04-27 | 天津曙光计算机产业有限公司 | 一种可扩展的快速流检测方法 |
CN104025185A (zh) * | 2011-12-13 | 2014-09-03 | Ati科技无限责任公司 | 用于使用gpu控制器来预加载缓存的机制 |
CN104243341A (zh) * | 2014-09-22 | 2014-12-24 | 曙光信息产业(北京)有限公司 | 数据处理方法和装置 |
CN106164875A (zh) * | 2014-04-04 | 2016-11-23 | 高通股份有限公司 | 基于专用高速缓存组中的竞争性专用预取策略进行自适应性高速缓存预取以减少高速缓存污染 |
CN106372007A (zh) * | 2015-07-23 | 2017-02-01 | Arm 有限公司 | 缓存使用率估计 |
CN104077241B (zh) * | 2014-07-14 | 2017-10-17 | 华为技术有限公司 | 缓存淘汰算法切换处理方法及装置 |
CN109074312A (zh) * | 2016-04-27 | 2018-12-21 | 超威半导体公司 | 基于高速缓存测试区域来为预取选择高速缓存老化策略 |
CN111414318A (zh) * | 2020-03-24 | 2020-07-14 | 江南大学 | 一种基于提前更新的数据一致性实现方法 |
CN114297100A (zh) * | 2021-12-28 | 2022-04-08 | 摩尔线程智能科技(北京)有限责任公司 | 用于缓存的写策略调整方法、缓存装置及计算设备 |
CN114631082A (zh) * | 2019-10-31 | 2022-06-14 | 超威半导体公司 | 高速缓存访问测量偏斜校正 |
WO2022226770A1 (zh) * | 2021-04-27 | 2022-11-03 | 深圳市大疆创新科技有限公司 | 访问缓存行的方法和装置 |
CN116107926A (zh) * | 2023-02-03 | 2023-05-12 | 摩尔线程智能科技(北京)有限责任公司 | 缓存替换策略的管理方法、装置、设备、介质和程序产品 |
WO2023098277A1 (en) * | 2021-12-01 | 2023-06-08 | International Business Machines Corporation | Augmenting cache replacement operations |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040098541A1 (en) * | 2002-11-14 | 2004-05-20 | International Business Machines Corporation | System and method for implementing an adaptive replacement cache policy |
CN101094183A (zh) * | 2007-07-25 | 2007-12-26 | 杭州华三通信技术有限公司 | 一种缓存管理方法及装置 |
-
2010
- 2010-06-13 CN CN2010102012024A patent/CN101866318B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040098541A1 (en) * | 2002-11-14 | 2004-05-20 | International Business Machines Corporation | System and method for implementing an adaptive replacement cache policy |
CN101094183A (zh) * | 2007-07-25 | 2007-12-26 | 杭州华三通信技术有限公司 | 一种缓存管理方法及装置 |
Non-Patent Citations (1)
Title |
---|
《ISCA'07 Proceedings of the 34th annual international symposium on Computer architecture》 20071231 Moinuddin K. Qureshi等 Adaptive insertion policies for high performance caching 第381-391页以及图9、10 1-15 , 2 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033718A (zh) * | 2010-12-17 | 2011-04-27 | 天津曙光计算机产业有限公司 | 一种可扩展的快速流检测方法 |
CN102033718B (zh) * | 2010-12-17 | 2013-06-19 | 曙光信息产业股份有限公司 | 一种可扩展的快速流检测方法 |
CN104025185A (zh) * | 2011-12-13 | 2014-09-03 | Ati科技无限责任公司 | 用于使用gpu控制器来预加载缓存的机制 |
CN106164875A (zh) * | 2014-04-04 | 2016-11-23 | 高通股份有限公司 | 基于专用高速缓存组中的竞争性专用预取策略进行自适应性高速缓存预取以减少高速缓存污染 |
CN104077241B (zh) * | 2014-07-14 | 2017-10-17 | 华为技术有限公司 | 缓存淘汰算法切换处理方法及装置 |
CN104243341A (zh) * | 2014-09-22 | 2014-12-24 | 曙光信息产业(北京)有限公司 | 数据处理方法和装置 |
CN104243341B (zh) * | 2014-09-22 | 2017-09-08 | 曙光信息产业(北京)有限公司 | 数据处理方法和装置 |
CN106372007A (zh) * | 2015-07-23 | 2017-02-01 | Arm 有限公司 | 缓存使用率估计 |
CN109074312A (zh) * | 2016-04-27 | 2018-12-21 | 超威半导体公司 | 基于高速缓存测试区域来为预取选择高速缓存老化策略 |
CN109074312B (zh) * | 2016-04-27 | 2024-02-02 | 超威半导体公司 | 基于高速缓存测试区域来为预取选择高速缓存老化策略 |
JP7453360B2 (ja) | 2019-10-31 | 2024-03-19 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | キャッシュアクセス測定デスキュー |
CN114631082A (zh) * | 2019-10-31 | 2022-06-14 | 超威半导体公司 | 高速缓存访问测量偏斜校正 |
US11880310B2 (en) | 2019-10-31 | 2024-01-23 | Advanced Micro Devices, Inc. | Cache access measurement deskew |
CN114631082B (zh) * | 2019-10-31 | 2023-10-24 | 超威半导体公司 | 高速缓存访问测量偏斜校正 |
CN111414318A (zh) * | 2020-03-24 | 2020-07-14 | 江南大学 | 一种基于提前更新的数据一致性实现方法 |
CN111414318B (zh) * | 2020-03-24 | 2022-04-29 | 江南大学 | 一种基于提前更新的数据一致性实现方法 |
WO2022226770A1 (zh) * | 2021-04-27 | 2022-11-03 | 深圳市大疆创新科技有限公司 | 访问缓存行的方法和装置 |
WO2023098277A1 (en) * | 2021-12-01 | 2023-06-08 | International Business Machines Corporation | Augmenting cache replacement operations |
US11886342B2 (en) | 2021-12-01 | 2024-01-30 | International Business Machines Corporation | Augmenting cache replacement operations |
CN114297100A (zh) * | 2021-12-28 | 2022-04-08 | 摩尔线程智能科技(北京)有限责任公司 | 用于缓存的写策略调整方法、缓存装置及计算设备 |
CN116107926B (zh) * | 2023-02-03 | 2024-01-23 | 摩尔线程智能科技(北京)有限责任公司 | 缓存替换策略的管理方法、装置、设备、介质和程序产品 |
CN116107926A (zh) * | 2023-02-03 | 2023-05-12 | 摩尔线程智能科技(北京)有限责任公司 | 缓存替换策略的管理方法、装置、设备、介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN101866318B (zh) | 2012-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101866318B (zh) | 一种高速缓存替换策略的管理系统及方法 | |
US10901894B2 (en) | Allocating and accessing memory pages with near and far memory blocks from heterogeneous memories | |
US9208094B2 (en) | Managing and sharing storage cache resources in a cluster environment | |
CN107168657B (zh) | 一种基于分布式块存储的虚拟磁盘分层缓存设计方法 | |
US8443149B2 (en) | Evicting data from a cache via a batch file | |
US20140208038A1 (en) | Sectored cache replacement algorithm for reducing memory writebacks | |
EP3089039B1 (en) | Cache management method and device | |
US20060069871A1 (en) | System and method for dynamic sizing of cache sequential list | |
US20120159073A1 (en) | Method and apparatus for achieving non-inclusive cache performance with inclusive caches | |
CN101694640B (zh) | 多核架构下共享二级Cache的替换策略的实现方法 | |
EP2842040B1 (en) | Collaborative caching | |
US20060069876A1 (en) | Method and system of clock with adaptive cache replacement and temporal filtering | |
US20110320720A1 (en) | Cache Line Replacement In A Symmetric Multiprocessing Computer | |
US11113195B2 (en) | Method, device and computer program product for cache-based index mapping and data access | |
US20130297882A1 (en) | Cache memory device, control unit of cache memory, information processing apparatus, and cache memory control method | |
Ghandeharizadeh et al. | CAMP: A cost adaptive multi-queue eviction policy for key-value stores | |
US5761716A (en) | Rate based memory replacement mechanism for replacing cache entries when the cache is full | |
CN109478164A (zh) | 用于存储用于高速缓存条目传输的高速缓存位置信息的系统和方法 | |
Appuswamy et al. | Cache, cache everywhere, flushing all hits down the sink: On exclusivity in multilevel, hybrid caches | |
CN106131118B (zh) | 一种分布式缓存的方法、装置和系统 | |
Bžoch et al. | Towards caching algorithm applicable to mobile clients | |
CN101866321B (zh) | 一种高速缓存管理策略的调整方法及系统 | |
CN112445794B (zh) | 一种大数据系统的缓存方法 | |
CN102662861B (zh) | 末级高速缓存插入策略软件控制方法 | |
US20210263861A1 (en) | Demoting data elements from cache using ghost cache statistics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160330 Address after: 100080 Beijing City, Haidian District Zhongguancun No. 151 North Street Yanyuan resources building room 1107 Patentee after: Beijing Zhongzhi core technology Co. Ltd. Address before: 100080, Beijing Haidian District Zhongguancun 151 North Street, building 11, resources Patentee before: Beida Zhongzhi Microsystem Science and Technology Co., Ltd., Beijing |