[发明专利]一种高速缓冲存储器处理方法及装置有效
| 申请号: | 201610190617.3 | 申请日: | 2016-03-30 |
| 公开(公告)号: | CN107291630B | 公开(公告)日: | 2020-08-25 |
| 发明(设计)人: | 李生;程永波;李涛 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F12/0868 | 分类号: | G06F12/0868;G06F12/0893 |
| 代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 高速 缓冲存储器 处理 方法 装置 | ||
本发明实施例公开了一种高速缓冲存储器处理方法及装置,其中的方法可包括:Cache接收CPU发送的主存地址,所述主存地址包括标签Tag和第一索引Index1;查找所述Index1对应的第一组Set1,以及查找第二索引Index2对应的第二组Set2;在所述Set1和所述Set2的缓存行Cache Line中查找匹配的CacheLine。采用本发明可以降低Cache缺失时的功耗开销,提升了Cache性能。
技术领域
本发明涉及计算机技术领域,尤其涉及一种高速缓冲存储器处理方法及装置。
背景技术
在计算机技术发展过程中,为了填补中央处理器(Central Processing Unit,CPU)和主存储器在速度上的巨大差距,都在CPU和主存储器之间设置一个高速、小容量的高速缓冲存储器Cache,Cache对于提高整个计算机系统的性能有重要的意义,几乎是一个不可缺少的部件。
然而,在计算机系统结构中,Cache是按块(Cache Block)进行管理的,Cache和主存均被分割成大小相同的块,信息以块为单位调入Cache。相应地,CPU的主存地址被分割成两部分:块地址和块内位移。主存块地址用于查找该块在Cache中的位置,块内位移用于确定所访问的数据在该块中的位置。由于Cache的容量相对于主存容量来说很小,为了能将两者有效的对应起来,便产生了主存地址与Cache地址间的相互转换地址的映像方式,包括直接映像、全相联映像和组相联映像。其中,组相联映像方式是介于直接映像和全相联映像之间的一种折中方案,假设Cache中共有m个块,在采用组相联映像方式时,将m个Cache块(也可称为缓存行Cache Line)分成G组(set),每组n个块(即m=G×n),则组相联是指主存中的每一块可以被放置到Cache中唯一的一个组中的任何一个位置,且通常将每组n个块的Cache称为n路组相联(n-Way Set Associative Mapping)Cache。组内的选择常采用位选择算法,例如,若主存第i块映象到Cache的第k组,则k=imod(G)其中G为Cache的组数。假设G=2g,则当表示为二进制数时,n实际上就是i的低g位,因此,可以直接用主存块地址的低g位去选择组相联Cache中的相应组,因而,此处的低g位通常称为索引Index。例如,如图1所示,图1为组相联Cache的地址映射结构示意图,当m为8,n为2(n一般取值较小典型值是2、4、8、16),则组数G为4且G=2g,则g为2,Index为主存地址块的低2位,即主存块地址分别用十进制/二进制表示为,0(0 0 0 0)、4(0 1 0 0)、8(1 0 0 0)和12(1 1 0 0),其中低二位(低g位,g=2)为(0 0),则对应的放入Cache中的第0(0 0)组中的任意一个Cache块;同样,主存块1(0 0 0 1)、5(0 1 0 1)、9(1 0 0 1)、13(1 1 0 1),其中的低二位(低g位,g=2)为(01),则对应的放入Cache中的第1(0 1)组中的任意一个Cache Line,以此类推。如图1中所示,当CPU需要读取目标数据时,则需要首先通过目标地址(主存地址)中的主存块地址对应的二进制的低2位(即Index),锁定对应的Set,再在对应的Set的Cache line中比较高2位的信息(即Tag),若一致,则命中,若不存在一致的Cache Line,则缺失。
然而在现有技术中,由于程序访问的不均匀性,很容易出现CPU对Cache中的某些组(假定为Hot Set)访问过度频繁,而对其它Cache组访问较少的现象,而当Cache在该HotSet中未命中目标数据时,则需要访问主存,并从主存中调入相应数据块到Cache中,若此时Hot Set已写满,则需要按某种算法将Hot Set中的某一块替换出去,并修改有关的地址映像关系,如此一来,则可能需要在该Hot Set中进行反复替换,从而导致实现复杂度和代价的增加,进而降低了Cache的性能。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610190617.3/2.html,转载请声明来源钻瓜专利网。





