[发明专利]一种基于二叉树的伪LRU硬件结构、更新逻辑和Cache替换方法在审
申请号: | 202110096298.0 | 申请日: | 2021-01-25 |
公开(公告)号: | CN112948283A | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 王会权;何益百;刘志强;王冬升;张光达;黄安文;戴华东 | 申请(专利权)人: | 中国人民解放军军事科学院国防科技创新研究院 |
主分类号: | G06F12/06 | 分类号: | G06F12/06 |
代理公司: | 北京安博达知识产权代理有限公司 11271 | 代理人: | 徐国文 |
地址: | 100071 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 二叉 lru 硬件 结构 更新 逻辑 cache 替换 方法 | ||
本发明提供一种基于二叉树的伪LRU硬件结构、更新逻辑和对Cache的替换方法,包括:基于n路组相联Cache定义的二叉树结构和基于每个Cache块分别定义的重用信息;当程序访问某Cache块时,更新Cache块重用信息,同时基于重用信息和所述访问信息对二叉树中该Cache块对应的节点比特进行更新;本发明可以通过软件干预Cache替换方法的行为,面向人工智能等应用能有效提高Cache命中率,降低程序访存开销;同时本发明为软件提供了干预硬件替换方法的用户接口,但不需要对处理器指令集和编译器进行任何修改,使用范围大。
技术领域
本发明涉及Cache存储器管理领域,具体涉及一种基于二叉树的伪LRU硬件结构、更新逻辑和Cache替换方法。
背景技术
LRU(Least Recently Used)替换策略是最常用的Cache替换方法之一,其基本思想是:最近被使用过的Cache块有更大的概率在未来被重用,所以发生Cache块替换的时候,优先选择那些最近没有被使用过的Cache块。该方法在大部分情况下是实用且有效的。
但是,随着人工智能应用,特别是深度神经网络的兴起,传统的LRU替换方法遇到了挑战:这类算法的数据规模往往很大,使得数据的重用距离较长,数据在被重用前很可能有较长的时间没被访问。而传统Cache中采用硬件固定的LRU替换方法,没有顾及到程序的这一访存特点,从而导致本应该得到重用的Cache块过早地被替换出去,降低了Cache的命中率,进而增大了访存开销。
在文献《DOOC:一种能够有效消除抖动的软硬件合作管理Cache》(吴俊杰,杨学军,曾坤等,计算机研究与发展,2008)的1.1节中给出了一个典型例子。其他具体的例子本文档暂不赘述。
发明内容
为了解决现有技术中所存在的硬件固定替换方法无法顾及具体程序的访存特性问题,本发明提供一种基于二叉树的伪LRU硬件结构,包括:
基于n路组相联Cache定义的二叉树结构和基于每个Cache块分别定义的重用信息;
其中,所述二叉树包括n-1个节点,每个节点为一个比特;基于所述重用信息和访问信息对所述二叉树对应节点的比特进行修改。
优选的,所述重用信息包括:预期重用计数器和保留信号;
所述预期重用计数器用于当对应Cache块被访问时进行计数;
所述保留信号用于存储对应Cache是否被保留。
优选的,所述预期重用计数器被映射到全局地址空间。
优选的,所述重用计数器在系统复位时被赋予初值。
基于同一种发明构思,本发明还提供一种基于二叉树的伪LRU更新逻辑,包括:
基于本发明提供的基于二叉树的伪LRU硬件结构:
当程序访问某Cache块时,接收所述Cache的访问信息;
基于重用信息和所述访问信息对所述二叉树对应节点的比特进行更新。
优选的,所述基于重用信息和所述访问信息对所述二叉树对应节点的比特进行更新,还包括:
基于所述访问信息修改对应Cache块所对应的预期重用计数器;
基于所述保留信号值对所述二叉树节点比特进行修改。
优选的,所述修改Cache块对应的预期重用计数器包括:
如果所述Cache块对应的预期重用计数器大于0,则预期重用计数器在该Cache块被访问时减1,否则保持0。
优选的,所述基于所述保留信号值对所述二叉树节点比特进行修改,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军军事科学院国防科技创新研究院,未经中国人民解放军军事科学院国防科技创新研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110096298.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种显现现场手印的环保粉末
- 下一篇:一种吸油烟机及其控制方法