[发明专利]一种计算机缓存系统的管理方法有效
申请号: | 201210464057.8 | 申请日: | 2012-11-16 |
公开(公告)号: | CN102999443A | 公开(公告)日: | 2013-03-27 |
发明(设计)人: | 邹阳;王去非 | 申请(专利权)人: | 广州优倍达信息科技有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 黄磊 |
地址: | 510000 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 计算机 缓存 系统 管理 方法 | ||
技术领域
本发明涉及一种计算机缓存系统的管理算法,具体是指一种CPU缓存系统的管理方法。
背景技术
目前,计算机系统访问诸如内存和其他低级存储设备(如硬盘和网络设备)时均有很大的延迟。以访问内存为例,在CPU发出数据和指令的存取命令后,要约100纳秒的时间才能得到数据,这相当于CPU核心执行几百条指令的时间。由于CPU系统对指令和数据的使用有一定的规律,因此根据这些规律,我们便可以设计各种手段猜测CPU将要使用到的指令和数据,并提前预取这些内容到CPU中以备用。这样当CPU要实际使用这些指令和数据时,不需要等待,可以立即得到这些指令和数据。因此,预取(Prefetch)是能够有效地减少CPU访问内存和其他低级存储设备的平均访问延迟的一种手段。
然而,预取在实际应用中的功效取决于两个条件:第一,预取的准确性,也即预取的数据和指令是否及时,是否会被实际地用到;第二,预取的指令和数据对CPU缓存中现有的有用的指令和数据的排挤冲刷作用。虽然预取可以有效地降低内存访问的平均延迟,但是预取的内容会替换掉CPU缓存中现有的有用指令和数据,而这些被预取的内容替换掉的CPU缓存中现有的有用内容是将来要被重新耗费时间读入CPU的。因此对预取内容的处理不当,会增加CPU缓存失误,增加CPU对内存的访问次数,损害性能。
发明内容
本发明的目的在于克服目前CPU预取时,CPU缓存中现有的有用数据会被预取的内容替换掉,从而会增加缓存失误、降低性能的缺陷,提供一种能有效解决上述缺陷的一种计算机缓存系统的管理方法。
本发明通过以下技术方案实现:一种计算机缓存系统的管理方法,该缓存系统包括一个以上的缓存线,且每个缓存线均包含有一个或多个数据字,同时每个缓存线都有一个命中Hit标识位,所述缓存线的数据字为当前正在使用的或预取的;其管理步骤为:在缓存线装载时,其命中Hit标识位被置为0;在缓存线命中时,命中Hit标识位被置为1;替换时,首先替换命中Hit标识位为0的缓存线,再替换命中Hit标识位为1的缓存线。
进一步地,上述每个缓存线中都还设有一个预取P标识位,其管理步骤为,当缓存线的数据字为预取的内容时,P标识位置1,否则置0;在替换时,首先替换P标识位都为0的缓存线,再替换P标识位为1的缓存线。或者,每个缓存线中还设有一个U标识位,其管理步骤为,当缓存线第一次装载入缓存时,U标识位置1;在替换时,首先替换U标识位都为零的缓存线,再替换U标识位为1的缓存线。
为了较好的实现本发明,本发明的另一种技术方案为:
一种计算机缓存系统的管理方法,该缓存系统由多个缓存线构成,且每个缓存线都包含一个或多个数据字,同时每个缓存线都有一个命中Hit标识位。其管理步骤为:在缓存线装载时,命中Hit标识位被置为0;在缓存线命中时,命中Hit标识位被置为1;在替换时,首先替换命中Hit标识位为0的缓存线,再替换命中Hit标识位为1的缓存线;当命中Hit标识位为1的缓存线的数目达到预订的阀值时,或者命中Hit标识位为1的缓存线满足预定的组合逻辑近似条件的设定时,清零全部或者部分缓存线的命中Hit标识位。
为了较好的实现本发明,上述缓存线分为两个或以上的子集,当每个子集中所有缓存线的命中Hit标识位都为1,或者满足预定的组合逻辑近似条件的设定时,全部或者部分清除该子集的缓存线的命中Hit标识位。
本发明的第三种技术方案为:一种计算机缓存系统的管理方法,该缓存由多个缓存线构成,且每个缓存线包含多个数据字,同时每个缓存线按地址分成多个子集,每个子集对应一个或者多个数据字;每个子集设置一个或多个局部Sub-block标识位;当缓存查询和填充等操作采用缓存线子集对应的地址的粒度时,根据缓存线子集对应的地址粒度记录缓存线相应子集的状态和历史信息,并将信息保存在该子集对应的局部Sub-block标识位中。
为了较好的实现本发明,上述每个缓存线子集设置一个局部使用Sub-blockUsed标识位;整个缓存线设置一个或多个全局标识位,其管理骤如下:
当缓存线第一次装入缓存时,除了正在访问的地址所对应的子集的局部使用Sub-block Used标识位置1,其他子集的局部使用Sub-block Used标识位置0;当缓存线在缓存中命中时,如果命中的地址所对应的子集的局部使用Sub-block Used标识位为0,则置1;如果命中的地址所对应的子集的局部使用Sub-block Used标识位已经为1,则改变全局标识位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州优倍达信息科技有限公司,未经广州优倍达信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210464057.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:带驱动装置
- 下一篇:局部放电超声波定位装置及方法