[发明专利]一种末级缓存管理方法及系统有效
申请号: | 201710607258.1 | 申请日: | 2017-07-24 |
公开(公告)号: | CN107368437B | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 张德闪 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F12/0897 | 分类号: | G06F12/0897;G06F12/122;G06F15/78 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 管理 方法 系统 | ||
本申请公开了一种末级缓存管理方法,应用于基于组相连映射的Cache,包括:当接收到CPU发送的访问请求时,根据访问请求的地址,判断是否被命中;若未被命中,则将地址对应的缓存组中优先级位置最低的缓存行进行替换,并将缓存行的tag数据插入到预先在缓存组中添加的布隆过滤器中;判断地址的tag数据是否存在于布隆过滤器当中;若地址的tag数据存在于布隆过滤器中,则将访问请求对应的数据插入到缓存组的最高优先级的位置中。本申请通过在Cache中的缓存组中添加布隆过滤器,为数据的插入位置提供了可靠的理论依据,有效提升了缓存的空间利用率。另外,本申请还公开了一种末级缓存管理系统。
技术领域
本发明涉及缓存管理领域,特别涉及一种末级缓存管理方法及系统。
背景技术
随着科学技术的进步,微处理器与存储器之间的性能差距越来越大。为了减缓处理器与存储器之间的性能差距,片上缓存被广泛使用。然而怎样利用缓存中的末级缓存(Last Level Cache,LLC)对系统的性能起着至关重要的作用。然而,这些缓存在使用传统的缓存管理策略时,空间资源的利用率会很低,其主要原因是因为缓存中的缓存污染(Cache Pollution)和缓存抖动(Cache Thrashing)问题。目前已经有相关研究表明,改变数据块的插入位置可以提高末级缓存的性能,例如通过修改最近未被使用(LeastRecently Used,LRU)的插入策略来减轻缓存污染或者是缓存抖动的问题,但是在使用双向插入策略(Bimodal Insertion Policy,BIP)修改LRU的插入策略的过程中,仅仅是依据概率来选择数据块的插入位置,通常是以1/64的概率将数据块插入到缓存组最高优先级的位置,其余插入到最低优先级的位置。显然,这种方法理论性不足,极易引起访问次数较多的数据块误判的情况,从而致使Cache的空间资源利用率不高,这也是在该技术领域亟待解决的一个问题。
发明内容
有鉴于此,本发明的目的在于提供一种末级缓存管理方法及系统,以提高缓存空间的利用率。其具体方案如下:
一种末级缓存管理方法,应用于基于组相连映射的Cache,包括:
当接收到CPU发送的访问请求时,根据所述访问请求的地址,判断是否被命中;
若未被命中,则将所述地址对应的缓存组中优先级位置最低的缓存行进行替换,并将所述缓存行的tag数据插入到预先在所述缓存组中添加的布隆过滤器中;
判断所述地址的tag数据是否存在于所述布隆过滤器当中;
若所述地址的tag数据存在于所述布隆过滤器中,则将所述访问请求对应的数据插入到所述缓存组的最高优先级的位置中。
优选的,还包括:
若所述地址的tag数据不存在于所述布隆过滤器中,则将所述访问请求对应的数据插入到所述缓存组的任意位置中。
优选的,所述将所述地址对应的缓存组中优先级位置最低的缓存行进行替换的过程之后,还包括:
判断预先在所述缓存组中添加的饱和计数器的当前计数值是否等于所述布隆过滤器的数据容量大小;
若所述饱和计数器的当前计数值等于所述数据容量大小,则对所述布隆过滤器和所述饱和计数器进行复位操作;
若所述饱和计数器的当前计数值小于所述布隆过滤器的数据容量大小,则对所述饱和计数器的当前计数值进行加1。
优选的,还包括:
预先将所述布隆过滤器的数据容量大小设置为4W,并且,将所述布隆过滤器的位数组大小设置为6W;
其中,W为所述缓存组的路数。
优选的,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710607258.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:纸雕灯
- 下一篇:一种新型多倍亮自适应车库高效节能感应LED灯管