[发明专利]一种计算机缓存系统的管理方法在审
| 申请号: | 201510497721.2 | 申请日: | 2015-08-13 |
| 公开(公告)号: | CN105005537A | 公开(公告)日: | 2015-10-28 |
| 发明(设计)人: | 邹阳;王去非 | 申请(专利权)人: | 广州优倍达信息科技有限公司 |
| 主分类号: | G06F12/08 | 分类号: | G06F12/08 |
| 代理公司: | 深圳市合道英联专利事务所(普通合伙) 44309 | 代理人: | 廉红果;陆庆红 |
| 地址: | 510000 广东省广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 计算机 缓存 系统 管理 方法 | ||
本申请是原申请号为201210464057.8,申请日为2012.11.16,发明创造名称为“一种计算机缓存系统的管理方法”的发明专利的分案申请。
技术领域
本发明涉及一种计算机缓存系统的管理算法,具体是指一种CPU缓存系统的管理方法。
背景技术
目前,计算机系统访问诸如内存和其他低级存储设备(如硬盘和网络设备)时均有很大的延迟。以访问内存为例,在CPU发出数据和指令的存取命令后,要约100纳秒的时间才能得到数据,这相当于CPU核心执行几百条指令的时间。由于CPU系统对指令和数据的使用有一定的规律,因此根据这些规律,我们便可以设计各种手段猜测CPU将要使用到的指令和数据,并提前预取这些内容到CPU中以备用。这样当CPU要实际使用这些指令和数据时,不需要等待,可以立即得到这些指令和数据。因此,预取(Prefetch)是能够有效地减少CPU访问内存和其他低级存储设备的平均访问延迟的一种手段。
然而,预取在实际应用中的功效取决于两个条件:第一,预取的准确性,也即预取的数据和指令是否及时,是否会被实际地用到;第二,预取的指令和数据对CPU缓存中现有的有用的指令和数据的排挤冲刷作用。虽然预取可以有效地降低内存访问的平均延迟,但是预取的内容会替换掉CPU缓存中现有的有用指令和数据,而这些被预取的内容替换掉的CPU缓存中现有的有用内容是将来要被重新耗费时间读入CPU的。因此对预取内容的处理不当,会增加CPU缓存失误,增加CPU对内存的访问次数,损害性能。
发明内容
本发明的目的在于克服目前CPU预取时,CPU缓存中现有的有用数据会被预取的内容替换掉,从而会增加缓存失误、降低性能的缺陷,提供一种能有效解决上述缺陷的一种计算机缓存系统的管理方法。
本发明通过以下技术方案实现:一种计算机缓存系统的管理方法,该缓存由多个缓存线构成,且每个缓存线包含多个数据字,同时每个缓存线按地址分成多个子集,每个子集对应一个或者多个数据字;每个子集设置一个或多个局部Sub-block标识位;当缓存查询和填充等操作采用缓存线子集对应的地址的粒度时,根据缓存线子集对应的地址粒度记录缓存线相应子集的状态和历史信息,并将信息保存在该子集对应的局部Sub-block标识位中。
进一步地,每个缓存线子集设置一个局部使用Sub-block Used标识位;整个缓存线设置一个或多个全局标识位,其管理步骤如下:
当缓存线第一次装入缓存时,除了正在访问的地址所对应的子集的局部使用Sub-block Used标识位置1,其他子集的局部使用Sub-block Used标识位置0;
当缓存线在缓存中命中时,如果命中的地址所对应的子集的局部使用Sub-block Used标识位为0,则置1;如果命中的地址所对应的子集的局部使用Sub-block Used标识位已经为1,则改变全局标识位。
为确保使用效果,每个缓存线中都有一个全局命中Global Hit标识位,其管理步骤如下:
当缓存线第一次装入缓存时,全局命中Global Hit标识位置为0,除了正在访问的地址所对应的子集的局部使用Sub-block Used标识位置1,其他子集的局部使用Sub-block Used标识位置0;
当缓存线在缓存中命中时,如果命中的地址所对应的子集的局部使用Sub-block Used标识位为0,则置1;如果命中的地址所对应的子集的局部使用Sub-block Used标识位已经为1,则置全局命中Global Hit标识位为1;
替换时,首先替换全局命中Global Hit标识位为0的缓存线,后替换全局命中Global Hit标识位为1的缓存线。
本发明较现有技术相比,具有以下优点及有益效果:
(1)本发明能确保CPU系统具有效地进行指令和数据的预取,能在指令和数据被真实使用前,提前发出请求从内存或者其他存储机构将指令和数据取回到CPU中,能显著地降低平均访问延迟,从而提高运算速度。
(2)本发明CPU系统中预取的指令和数据既可以单独存放于一块缓存区,也可以与非预取的指令和数据存放于同样的缓存中,使用范围较广。
(3)本发明采用的缓存替换算法,能确保CPU系统运行的稳定性,最大程度地降低缓存失误,最少次数地对内存进行访问。
(4)本发明还具有防止WLRU缓存替换算法的过杀伤功能,因此能确保本发明的使用效果。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州优倍达信息科技有限公司,未经广州优倍达信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510497721.2/2.html,转载请声明来源钻瓜专利网。





