高速缓冲存储器cache中cache块的替换处理方法和装置制造方法及图纸

技术编号:10145220 阅读:241 留言:0更新日期:2014-06-30 15:23
本发明专利技术实施例提供的高速缓冲存储器cache中cache块的替换处理方法和装置,通过为除了L1 cache之外的cache中各cacheline增加一个标志位来指示其内的数据是否存在于上级cache中,尽可能减少上级cache中含有的cache line在本级cache被替换出去的情况,进而减少了上级cache的cache line被替换造成的开销;而且还能够提高cache的命中率,减少存储器访问时延。

【技术实现步骤摘要】
高速缓冲存储器cache中cache块的替换处理方法和装置
本专利技术实施例涉及数据存储技术,尤其涉及一种高速缓冲存储器cache中cache块的替换处理方法和装置。
技术介绍
高速缓冲存储器(cache)最早是由Wilkes于1951年为了弥补处理器与存储器之间的速度差异而提出的,是存储系统中最重要的部分。现有技术中cache一般采用层级结构,图1为现有技术中cache层级结构示意图,如图1所示采用了L1cache、L2cache和L3cache三个层次的cache结构,其访问速度依次递减,容量依次递增。L1cache对于L2cache而言是上级cache,L2cache对于L3cache而言是上级cache。若上级cache中的所有数据在本级cache中都存在,那么这种cache的组织方式为包括式(inclusive)。若数据最多可以在两个cache其中之一,不可以同时存在于两个cache,这种cache组织方式为排他式(exclusive)。现有技术的处理器大多采用inclusive的cache组织方式。cache根据局部性原理,只存储部分经常使用的数据供处理器运算。那么必然有些数据不存储在cache中,当访问这部分数据时,会发生未命中(cachemiss),反之称为cache命中(cachehit)。cache的性能和cache命中率紧密相连,cache命中率越高,存储访问需要的时间越少,cache的性能越高;反之,cache性能就越低。如果当前访问的数据不在cache中即cachemiss,可能造成对现有的cache按照cache块(cacheline,一般指cache读写的最小单位)的大小进行替换,即将当前此cacheline中的数据在此cache中作废,并填入新的数据。在采用inclusive方式组织的cache中,由于各级cache只根据本级cache被访问的情况进行统计,可能造成低级cache的使用情况并不真实,进而导致低效的替换策略,影响存储器的访问性能。例如L2cache在进行cacheline替换时,可能把一个在L1cache中频繁命中的cacheline替换掉;由于inclusive的组织方式,会将L1cache中对应的cacheline也替换出去,这样将影响存储器的访问性能。
技术实现思路
本专利技术实施例提供一种高速缓冲存储器cache中cache块的替换处理方法和装置,以提高cache的命中率。本专利技术实施例一方面提供一种高速缓冲存储器cache中cache块的替换处理方法,包括:在根据接收到的数据访问请求对本级cache进行数据访问的过程中,若未命中、且在所述本级cache内多个待替换的cache块中存在标志位为复位状态的cache块,则在所述标志位为复位状态的cache块中选择一目标cache块进行替换;所述标志位包括复位状态和置位状态,所述标志位用于表示所述cache块中的数据是否存在于所述本级cache对应的上级cache中,所述置位状态表示存在,所述复位状态表示不存在。在上述实施例中还包括:若所述本级cache内多个待替换的cache块中包括没有存储数据的cache块,则优先选择没有存储数据的cache块作为目标cache块进行替换。在上述实施例中还包括:在进行cache初始化时,将各cache块的标志位设置为复位状态;或,cache块内的数据被删除后,将所述cache块的标志位设置为复位状态;或,所述上级cache中一cache块内的数据被替换后,若所述本级cache仅存在一个上级cache,或者存在多个上级cache、且其他上级cache内不包括被替换的数据,则将被替换的cache块在所述本级cache中对应的cache块的标志位设置为复位状态;或,所述上级cache中一cache块内的数据被替换后,若所述本级cache存在多个上级cache、且其他上级cache内包括被替换的数据,则维持所述本级cache中对应的cache块的标志位为置位状态;或所述上级cache中一cache块内的数据被替换后,将替换后的所述cache块在所述本级cache中所对应的cache块的标志位设置为置位状态。在上述实施例中还包括:若在本级cache内多个待替换的cache块的标志位均为置位状态,则按照预设算法选择一个目标cache块进行替换,并在进行完替换后,将所述目标cache块的标志位设置为复位状态;并在上级cache进行完cache块的替换处理后,再将所述目标cache块的标志位设置为置位状态;或若在本级cache内多个待替换的cache块的标志位均为置位状态,则按照预设算法选择一个目标cache块进行替换,并在进行完替换后,直接将所述目标cache块的标志位设置为置位状态;再进行上级cache的cache块的替换处理;或在所述标志位为复位状态的cache块中选择一目标cache块进行替换完成后,将所述目标cache块的标志位设置为复位状态;并在上级cache进行完cache块的替换处理后,再将所述目标cache块的标志位设置为置位状态;或,在所述标志位为复位状态的cache块中选择一目标cache块进行替换完成后,直接将所述目标cache块的标志位设置为置位状态;再进行上级cache的cache块的替换处理。在上述实施例中,所述本级cache中的各cache块均各自设置有一个标志位,或具有不同索引的多个cache块共用一个标志位。在上述实施例中,各所述cache块与对应的标志位存储在同一阵列中,或存储不同阵列中。本专利技术实施例另方面提供一种高速缓冲存储器cache中cache块的替换处理装置,该装置包括:接收模块,用于接收数据访问请求;处理模块,用于在根据接收到的数据访问请求对本级cache进行数据访问的过程中,若未命中、且在所述本级cache内多个待替换的cache块中存在标志位为复位状态的cache块,则在所述标志位为复位状态的cache块中选择一目标cache块进行替换;所述标志位包括复位状态和置位状态,所述标志位用于表示所述cache块中的数据是否存在于所述本级cache对应的上级cache中,所述置位状态表示存在,所述复位状态表示不存在。本专利技术实施例提供的高速缓冲存储器cache中cache块的替换处理方法和装置,通过为除了L1cache之外的cache中各cacheline增加一个标志位来指示其内的数据是否存在于上级cache中,尽可能减少上级cache中含有的cacheline在本级cache被替换出去的情况,进而减少了上级cache的cacheline被替换造成的开销;而且还能够提高cache的命中率,减少存储器访问时延。附图说明图1为现有技术中cache层级结构示意图;图2为本专利技术实施例中cache内部结构示意图;图3为本专利技术实施例cache块的替换处理方法流程图;图4为本专利技术实施例单个上级cache对应本级cache的结构示意图;图5为本专利技术实施例多个上级cache对应本级cache的结构示意图;图6为本专利技术实施例cache中cache块的替换处理装置结构示意图。具体实施方式如图1示出的cache层级结构中既可以采用exclusive方式,也可以采用本文档来自技高网
...
高速缓冲存储器cache中cache块的替换处理方法和装置

【技术保护点】
一种高速缓冲存储器cache中cache块的替换处理方法,其特征在于,包括:在根据接收到的数据访问请求对本级cache进行数据访问的过程中,若未命中、且在所述本级cache内多个待替换的cache块中存在标志位为复位状态的cache块,则在所述标志位为复位状态的cache块中选择一目标cache块进行替换;所述标志位包括复位状态和置位状态,所述标志位用于表示所述cache块中的数据是否存在于所述本级cache对应的上级cache中,所述置位状态表示存在,所述复位状态表示不存在。

【技术特征摘要】
1.一种高速缓冲存储器cache中cache块的替换处理方法,其特征在于,包括:在根据接收到的数据访问请求对本级cache进行数据访问的过程中,若未命中、且在所述本级cache内多个待替换的cache块中存在标志位为复位状态的cache块,则在所述标志位为复位状态的cache块中选择一目标cache块进行替换;所述标志位包括复位状态和置位状态,所述标志位用于表示所述cache块中的数据是否存在于所述本级cache对应的上级cache中,所述置位状态表示存在,所述复位状态表示不存在;所述方法还包括:在进行cache初始化时,将各cache块的标志位设置为复位状态;或,cache块内的数据被删除后,将所述cache块的标志位设置为复位状态;或,所述上级cache中一cache块内的数据被替换后,若所述本级cache仅存在一个上级cache,或者存在多个上级cache、且其他上级cache内不包括被替换的数据,则将被替换的cache块在所述本级cache中对应的cache块的标志位设置为复位状态;或,所述上级cache中一cache块内的数据被替换后,若所述本级cache存在多个上级cache、且其他上级cache内包括被替换的数据,则维持所述本级cache中对应的cache块的标志位为置位状态;或所述上级cache中一cache块内的数据被替换后,将替换后的所述cache块在所述本级cache中所对应的cache块的标志位设置为置位状态。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述本级cache内多个待替换的cache块中包括没有存储数据的cache块,则优先选择没有存储数据的cache块作为目标cache块进行替换。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:若在本级cache内多个待替换的cache块的标志位均为置位状态,则按照预设算法选择一个目标cache块进行替换,并在进行完替换后,将所述目标cache块的标志位设置为复位状态;并在上级cache进行完cache块的替换处理后,再将所述目标cache块的标志位设置为置位状态;或若在本级cache内多个待替换的cache块的标志位均为置位状态,则按照预设算法选择一个目标cache块进行替换,并在进行完替换后,直接将所述目标cache块的标志位设置为置位状态;再进行上级cache的cache块的替换处理;或在所述标志位为复位状态的cache块中选择一目标cache块进行替换完成后,将所述目标cache块的标志位设置为复位状态;并在上级cache进行完cache块的替换处理后,再将所述目标cache块的标志位设置为置位状态;或,在所述标志位为复位状态的cache块中选择一目标cache块进行替换完成后,直接将所述目标cache块的标志位设置为置位状态;再进行上级cache的cache块的替换处理。4.根据权利要求1至3任一所述的方法,其特征在于,所述本级cache中的各cache块均各自设置有一个标志位,或具有不同索引的多个cache块共用一个标志位。5.根据...

【专利技术属性】
技术研发人员:刘月吉张立新侯锐李晔
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

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

1