一种高速缓冲存储器处理方法及装置制造方法及图纸

技术编号:16455882 阅读:53 留言:0更新日期:2017-10-25 20:27
本发明专利技术实施例公开了一种高速缓冲存储器处理方法及装置,其中的方法可包括:Cache接收CPU发送的主存地址,所述主存地址包括标签Tag和第一索引Index1;查找所述Index1对应的第一组Set1,以及查找第二索引Index2对应的第二组Set2;在所述Set1和所述Set2的缓存行Cache Line中查找匹配的CacheLine。采用本发明专利技术可以降低Cache缺失时的功耗开销,提升了Cache性能。

Method and device for processing cache memory

The embodiment of the invention discloses a cache processing method and device, the method can include receiving CPU send Cache memory address, the memory address including the first index tag Tag and Index1; the first group of Set1 to find the Index1 corresponding to the Index2 second index and find second sets of corresponding Set2 search; matching in the Set1 and the Set2 Cache cache line in Line CacheLine. The invention can reduce the power consumption when the Cache is missing, and improve the Cache performance.

【技术实现步骤摘要】
一种高速缓冲存储器处理方法及装置
本专利技术涉及计算机
,尤其涉及一种高速缓冲存储器处理方法及装置。
技术介绍
在计算机技术发展过程中,为了填补中央处理器(CentralProcessingUnit,CPU)和主存储器在速度上的巨大差距,都在CPU和主存储器之间设置一个高速、小容量的高速缓冲存储器Cache,Cache对于提高整个计算机系统的性能有重要的意义,几乎是一个不可缺少的部件。然而,在计算机系统结构中,Cache是按块(CacheBlock)进行管理的,Cache和主存均被分割成大小相同的块,信息以块为单位调入Cache。相应地,CPU的主存地址被分割成两部分:块地址和块内位移。主存块地址用于查找该块在Cache中的位置,块内位移用于确定所访问的数据在该块中的位置。由于Cache的容量相对于主存容量来说很小,为了能将两者有效的对应起来,便产生了主存地址与Cache地址间的相互转换地址的映像方式,包括直接映像、全相联映像和组相联映像。其中,组相联映像方式是介于直接映像和全相联映像之间的一种折中方案,假设Cache中共有m个块,在采用组相联映像方式时,将m个Cache块(也本文档来自技高网...
一种高速缓冲存储器处理方法及装置

【技术保护点】
一种高速缓冲存储器处理方法,应用于n路组相联Cache中,所述Cache包括多个缓存组Set,每个Set中包含n个缓存行Cache Line,所述Cache Line中包含缓存标签Cache Tag;任意一个主存地址包括标签Tag和索引Index,所述主存地址和所述Cache之间的访存地址的映射关系为,所述主存地址通过所述Index被缓存到所述Cache中与所述Index唯一对应的Set中的任意一个Cache Line中,并将所述Tag写入到缓存的Cache line的Cache Tag中;其特征在于,包括:Cache接收CPU发送的需要访问的主存地址,所述主存地址包括标签Tag和第一索引In...

【技术特征摘要】
1.一种高速缓冲存储器处理方法,应用于n路组相联Cache中,所述Cache包括多个缓存组Set,每个Set中包含n个缓存行CacheLine,所述CacheLine中包含缓存标签CacheTag;任意一个主存地址包括标签Tag和索引Index,所述主存地址和所述Cache之间的访存地址的映射关系为,所述主存地址通过所述Index被缓存到所述Cache中与所述Index唯一对应的Set中的任意一个CacheLine中,并将所述Tag写入到缓存的Cacheline的CacheTag中;其特征在于,包括:Cache接收CPU发送的需要访问的主存地址,所述主存地址包括标签Tag和第一索引Index1,所述Cache为n路组相联,n是大于0的整数;查找所述Index1对应的第一组Set1,以及查找第二索引Index2对应的第二组Set2,其中,所述Index2为对所述Index1的预设位取反后的值;在所述Set1和所述Set2的缓存行CacheLine中查找匹配的CacheLine,其中,所述Set1和所述Set2的Cacheline共有2n路,所述匹配的CacheLine的缓存标签CacheTag由地址位和标识位组成,所述地址位与所述Tag一致,且所述标识位与所述Index1的所述预设位一致。2.如权利要求1所述的方法,其特征在于,所述方法,还包括:当所述Set1和所述Set2中的CacheLine中均未有所述匹配的CacheLine,并且,所述Set1中无空闲位置且所述Set2中有空闲位置时,将所述主存地址的Tag作为CacheTag的地址位,并将所述Index1的所述预设位作为CacheTag的标识位写入到所述空闲位置中。3.如权利要求1所述的方法,其特征在于,所述在所述Set1和所述Set2的缓存行CacheLine中查找匹配的CacheLine,包括:将所述Tag进行缩位运算,得到缩位后的Tag;分别对所述Set1和所述Set2的CacheLine中的存储标签CacheTag中的地址位进行所述缩位运算得到缩位后的地址位;在所述2n路CacheLine中查找出所述缩位后的地址位与所述缩位后的Tag相同的CacheLine;根据所述Index1的所述预设位和所述Tag在所述相同的CacheLine中查找匹配的CacheLine。4.如权利要求3所述的方法,其特征在于,所述根据所述Index1的所述预设位和所述Tag在所述相同的CacheLine中查找匹配的CacheLine,包括:根据所述Index1的所述预设位和所述Tag在所述Set1中的所述相同的CacheLine中查找匹配的CacheLine;当未查找出匹配的CacheLine时,则在所述Set2中的所述相同的CacheLine中查找匹配的CacheLine。5.如权利要求1-4任意一项所述的方法,其特征在于,所述方法还包括:当所述Set1和所述Set2中的CacheLine中均未有所述匹配的CacheLine,且所述Set1和所述Set2中均无空闲位置时,优先在所述Set1中的CacheLine中进行替换,以写入所述主存地址。6.如权利要求5所述的方法,其特征在于,所述优先在所述Set1中的CacheLine中进行替换,包括:优先在所述Set1中的CacheLine中的CacheTag的标识位为所述Index2的Cacheline中进行替换。7.如权利要求1-6任意一项所述的方法,其特征在于,所述方法还包括:当所述Set1和所述Set2中的CacheLine中均未有所述匹配的CacheLine,且所述Set1中有空闲位置时,将所述Tag作为CacheTag的地址位,并将所述Index1的所述预设位作为CacheTag的标识位写入到所述Set1的空闲位置中。8.如权利要求1所述的方法,其特征在于,所述在所述Set1和所述Set2的缓存行CacheLine中查找匹配的CacheLine,包括:根据所述Index1的所述预设位和所述Tag在所述Set1的n路CacheLine中查找匹配的CacheLine;若没有匹配的CacheLine,则在所述Set2的n路CacheLine中查找匹配的CacheLine。9.如权利要求1-8任意一项所述的方法,其特征在于,所述主存地址包括内存地址或系统地址。10.如权利要求1-9任意一项所述的方法,其特征在于,所述Index1的所述预设位为所述Index1的最高位。11.一种高速缓冲存储器处理装置,其特征在于,包括:接收模块,用于接收CPU发送的需要访问的主存地址,所述主存地址包括标签Tag和第一索引Index1,所述Cache为n路组相联,n是大于0的整数;第一映射模块,用于查找所述Index1对应的第一组Set1,以及查找第二索引Index2对应的第二组Set2,其中,所述Index2为对所述Index1的预设位取反后的值;第二映射模块,用于在所述Set1和所述Set2的缓存行CacheLine中查找匹配的CacheLine,其中,所述Set1和所述Set2的Cacheline共有2n路,所述匹配的CacheLine的缓存标签CacheTag由地址位和标识位组成,所述地址位与所述Tag一致,且所述标识位与所述Index1的所述预设位一致。12.如权利要求11所述的装置,其特征在于,所述装置,还包括:第一处理模块,用于当所述Set1和所述Set2中的CacheLine中均未有所述匹配的CacheLine,并且,所述Set1中无空闲位置且所述Set2中有空闲位置时,将所述主存地址的Tag作为CacheTag的地址位,并将所述Index1的所述预设位作为CacheTag的标识位写入到所述空闲位置中。13.如权利要求11所述的装置,其特征在于,所述第二映射模块,包括:第一运算单元,用于将所述Tag进行缩位运算,得到缩位后的Tag;第二运算单元,用于分别对所述Set1和所述Set2的CacheLine中的存储标签CacheTag中的地址位进行所述缩位运算得到缩位后的地址位;第一映射单元,用于在所述2n路CacheLine中查找出所述缩位后的地址位与所述缩位后的Tag相同的CacheLine;第二映射单元,用于根据所述Index1的所述预设位和所述Tag在所述相同的CacheLine中查找匹配的CacheLine。14.如权利要求13所述的装置,其特征在于,所述第二映射单元,包括:第一查找单元,用...

【专利技术属性】
技术研发人员:李生程永波李涛
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1