[发明专利]一种实现高速缓存替换的方法及装置在审
申请号: | 201611206733.6 | 申请日: | 2016-12-23 |
公开(公告)号: | CN106844235A | 公开(公告)日: | 2017-06-13 |
发明(设计)人: | 程旭;李凌达;陆俊林 | 申请(专利权)人: | 北京北大众志微系统科技有限责任公司 |
主分类号: | G06F12/121 | 分类号: | G06F12/121;G06F12/0891 |
代理公司: | 北京安信方达知识产权代理有限公司11262 | 代理人: | 韩辉峰,李丹 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 高速缓存 替换 方法 装置 | ||
技术领域
本发明涉及计算机领域,尤指一种实现高速缓存替换的方法及装置。
背景技术
由于处理器和主存之间的性能差距越来越大,在高速缓存失效时处理器往往要等待较长时间。因此如何通过改进高速缓存的替换方法来提高高速缓存的性能成为了当前的一个重要课题。当前大部分高速缓存替换方法的主要目标是减少高速缓存的总失效数量,它们假设所有失效的代价都是相同的。但是在现代处理器中由于访存延迟可变,并且处理器使用多种访存延迟隐藏技术(如非阻塞高速缓存和预取),导致高速缓存的失效代价可变。因此只考虑减少总失效数量是不够的,高速缓存替换方法应该以减少高速缓存的整体失效代价作为设计的目标。
按照高速缓存的替换方法的目标,高速缓存替换方法可以分为面向失效数的和面向失效代价的两种:
面向失效数的高速缓存替换方法主要包括以下几种:1、动态插入策略(DIP)通过把局部性差的块的插入最近最少使用(Least Recently Used,LRU)位置来避免缓存的颠簸。2、再访问插入预测(Re-Reference Interval Prediction,RRIP)通过区分在缓存中被访问过的块和没被访问过的块,使得前者在高速缓存中停留的时间更长来改善性能。3、伪后进先出(Pseudo Last-In-First-Out)通过优先排出栈顶端的块,使得栈低端的块被保存的时间更长。4、基于签名的命中预测(Signature-based Hit Predictor,SHiP)通过预测块的重用距离来在RRIP的基础上改善性能。5、死亡块预测(Dead Block Prediction)技术通过预测一个块的最后一次访问来提高性能。基于预测的方法,死亡块预测技术可以分为基于踪迹的、基于时间的和基于计数器的。6、合并连续访问方法通过对连续的访问进行预测来提高准确率。7、基于采样的死亡块预测(Sampling Dead Block Prediction,SDBP)通过采样一部分访问来训练预测器,从而减少硬件开销和提高预测准确率。8、旁路方法通过预测并旁路那些在被排出之前没被使用的块来提高性能。根据预测的方法可以分为基于程序计数器(Program Counter,PC)的和基于地址的。9、较少再用过滤器(Less Reused Filter,LRF)通过既使用基于PC的又使用基于地址的预测器来提高性能。10、使用自适应旁路的分段替换(Dueling Segment replacement with adaptive Bypassing)在失效时记录进入块和排出块的对,通过比较它们被访问的顺序来决定旁路的使用概率。
面向失效代价的高速缓存替换方法主要包括:1、Jeong等人提出在访存时延变化时区分长失效代价和短失效代价,并用于辅助LRU算法来指导替换块选择。2、关键高速缓存(Critical Cache)和局部性感知和代价敏感型高速缓存替换(Locality-Aware Cost-Sensitive cache replacement)通过使用失效期间处理器发射的指令数来表示失效代价。3、存储并行性感知替换(MLP-aware replacement)用存储并行性代价(MLP cost)来表示由于处理器访存延迟隐藏能力造成的失效代价的差异,然后使用MLP cost来指导替换方法。
以上这些缓存替换的方法要么是针对失效数的,要么只关注失效代价,而只关注失效代价是不够的。在如下例子中,假设块A在被装入高速缓存时失效代价为200周期,并且块A只被访问一次,因此没有得到命中;而块B在被装入高速缓存时失效代价为50周期,然后块B得到了9次命中,每次命中时可以防止处理器停顿50周期。对于上述例子,保留B可以总共防止处理器停顿500周期,而保留A只能防止处理器停顿200周期,因此高速缓存应该优先保留B而不是A。但是如果只考虑失效代价,那么高速缓存将优先保留A而不是B。只考虑访问失效时的失效代价并不能对高速缓存的整个过程进行评价,影响高速缓存替换的高效合理进行。
发明内容
为了解决上述技术问题,本发明提供一种实现高速缓存替换的方法及装置,能够针对高速缓存的不同的访问结果进行综合考虑,降低高速缓存替换对高速缓存的整体失效代价。
为了达到上述发明目的,本发明公开了一种实现高速缓存替换的方法,包括:获取对高速缓存的块的访问结果,当访问结果为访问失效时,移动访问失效所在组的所述高速缓存的块中收益值RBV最小的块,并将访问失效的块放置在访问失效所在组的RBV最小的块移动前所在的位置;对访问失效的块计算失效代价,将计算出的失效代价赋值给访问失效的块装入的位置对应的RBV;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司,未经北京北大众志微系统科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611206733.6/2.html,转载请声明来源钻瓜专利网。