[发明专利]一种末级缓存管理方法及系统有效
申请号: | 201710607258.1 | 申请日: | 2017-07-24 |
公开(公告)号: | CN107368437B | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 张德闪 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F12/0897 | 分类号: | G06F12/0897;G06F12/122;G06F15/78 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 管理 方法 系统 | ||
1.一种末级缓存管理方法,其特征在于,应用于基于组相连映射的Cache,包括:
当接收到CPU发送的访问请求时,根据所述访问请求的地址,判断是否被命中;
若未被命中,则将所述地址对应的缓存组中优先级位置最低的缓存行进行替换,并将所述缓存行的tag数据插入到预先在所述缓存组中添加的布隆过滤器中;
判断所述地址的tag数据是否存在于所述布隆过滤器当中;
若所述地址的tag数据存在于所述布隆过滤器中,则将所述访问请求对应的数据插入到所述缓存组的最高优先级的位置中;
所述将所述地址对应的缓存组中优先级位置最低的缓存行进行替换的过程之后,还包括:
判断预先在所述缓存组中添加的饱和计数器的当前计数值是否等于所述布隆过滤器的数据容量大小;
若所述饱和计数器的当前计数值等于所述数据容量大小,则对所述布隆过滤器和所述饱和计数器进行复位操作;
若所述饱和计数器的当前计数值小于所述布隆过滤器的数据容量大小,则对所述饱和计数器的当前计数值进行加1;
还包括:
预先将所述布隆过滤器的数据容量大小设置为4W,并且,将所述布隆过滤器的位数组大小设置为6W;其中,W为所述缓存组的路数。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述地址的tag数据不存在于所述布隆过滤器中,则将所述访问请求对应的数据插入到所述缓存组的任意位置中。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
预先在所述Cache的每个缓存组中均添加一个所述布隆过滤器和/或所述饱和计数器。
4.一种末级缓存管理系统,其特征在于,应用于基于组相连映射的Cache,包括:
命中判断模块,用于当接收到CPU发送的访问请求时,根据所述访问请求的地址,判断是否被命中;
数据处理模块,用于未被命中时,则将所述地址对应的缓存组中优先级位置最低的缓存行进行替换,并将所述缓存行的tag数据插入到预先在所述缓存组中添加的布隆过滤器中;
数据判断模块,用于判断所述地址的tag数据是否存在于所述布隆过滤器当中;
第一位置插入模块,用于当所述地址的tag数据存在于所述布隆过滤器中时,则将所述访问请求对应的数据插入到所述缓存组的最高优先级的位置中;
还包括:
计数值判断模块,用于将所述地址对应的缓存组中优先级位置最低的缓存行进行替换的过程之后,判断预先在所述缓存组中添加的饱和计数器的当前计数值是否等于所述布隆过滤器的数据容量大小;
计数器复位模块,用于当所述饱和计数器的当前计数值等于所述数据容量大小时,则对所述布隆过滤器和所述饱和计数器进行复位操作;
计数器计数模块,用于当所述饱和计数器的当前计数值小于所述布隆过滤器的数据容量大小时,则对所述饱和计数器的当前计数值进行加1;
布隆过滤器设置模块,用于预先将所述布隆过滤器的数据容量大小设置为4W,并且,将所述布隆过滤器的位数组大小设置为6W;其中,W为所述缓存组的路数。
5.根据权利要求4所述的系统,其特征在于,还包括:
第二位置插入模块,用于当所述地址的tag数据不存在于所述布隆过滤器中时,则将所述访问请求对应的数据插入到所述缓存组的任意位置中。
6.根据权利要求4或5任一项所述的系统,其特征在于,还包括:
缓存组添加模块,用于预先在所述Cache的每个缓存组中均添加一个所述布隆过滤器和/或所述饱和计数器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710607258.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:纸雕灯
- 下一篇:一种新型多倍亮自适应车库高效节能感应LED灯管