[发明专利]LLC中Cache行的替换方法有效

专利信息
申请号: 201410462286.5 申请日: 2014-09-11
公开(公告)号: CN104166631B 公开(公告)日: 2017-08-01
发明(设计)人: 王恩东;倪璠;陈继承 申请(专利权)人: 浪潮(北京)电子信息产业有限公司
主分类号: G06F12/123 分类号: G06F12/123
代理公司: 北京安信方达知识产权代理有限公司11262 代理人: 王丹,李丹
地址: 100085 北京市海*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: llc cache 替换 方法
【说明书】:

技术领域

发明涉及计算机技术领域,尤其涉及一种最后一级高速缓冲存储器(LLC,Last Level Cache)中Cache行的替换方法。

背景技术

为了填补处理器与存储系统的性能差异,现代处理器通常使用多层Cache结构。其中,一种重要的设计方案是包含Cache(Inclusive Cache)层次结构设计。在Inclusive Cache层次结构中,靠近处理器核的上层Cache的Cache行在远离处理器核的下层Cache中均具有副本,而下层Cache中的Cache行则不一定在上层Cache中具有副本,这种结构能够简化Cache一致性协议。但是,与非包含及互斥Cache结构相比,包含Cache可能遭遇性能损失。一方面,由于数据的重复存储,有效的Cache空间减少;另一方面,当一个Cache行从LLC中替换出去时,为了保持包含属性,须将其从上层Cache中无效,这次上层Cache中为了保持包含属性而被无效的Cache行通常被称为“包含牺牲者”(inclusive victims)。由于包含牺牲者在上层Cache中可能属于常用Cache行,因此,过早的无效化会导致额外的访问缺失,从而降低Cache性能。

传统的LLC替换算法,例如近期最近最少使用(LRU,Least Recently Used)的替换策略中,最近一次被访问的Cache行总是被放在Cache的最近最多使用(MRU,Most Resently Used)行,而距离当前最远被访问的Cache行则放置在Cache的LRU行。在进行LLC替换时,通常根据Cache行在LLC中的最近访问频度确定替换候选块,即总是将位于对应组的LRU行替换,而将新加入的Cache行置于MRU处,而不考虑其在上层Cache中的使用情况。因此,当替换候选块在上层Cache中具有很好的访问局部性时,此类替换算法中的“包含牺牲者”将会导致Cache性能急剧下降。

此外,在片上多处理器(CMP,Chip multiprocessors)系统中,每个处理器核具有私有的L1数据/指令Cache,多个处理器核共享一个LLC。在系统运行过程中,多个处理器核私有的Cache中可能同时存在某一数据块的副本,因此,当对其中一个进行写操作时,需要借助Cache一致性协议保证数据的正确性。在进行LLC替换时,为了保证包含属性,需要将待替换数据块在上层Cache中的全部副本无效。当该数据块在上层Cache经常被访问时,上述无效操作将会极大降低Cache访问性能。

有鉴于此,需要一种改进的LLC替换方案来解决现有技术的问题。

发明内容

为了解决上述技术问题,本发明提供了一种LLC中Cache行的替换方法,能够有效降低包含Cache中替换引入的“包含牺牲者”导致的性能损失。

为了达到本发明目的,本发明提供了一种LLC中Cache行的替换方法,包括:如果目标Cache地址在LLC中缺失,根据操作类型计算新调入Cache行的替换优先级,按照替换优先级有序原则,将优先级最高的Cache行换出,并将新调入Cache行存入目标Cache的对应位置;如果目标Cache地址在LLC中命中,根据Cache一致性状态和操作类型,更新当前访问Cache行的替换优先级,按照替换优先级有序原则,对当前访问Cache行进行优先级的升降级。

进一步地,替换优先级P的计算方式为:P=a1×c×op+k×a2+a3×(1-c)×op,其中,a1表示写操作权重,c表示上层Cache中的副本是否已经回写,如果回写,c=0,否则,c=1;op表示引起替换的操作类型,写操作对应op=1,否则op=0;k表示只读副本数量,其取值不超过共享LLC的处理器核数;a2表示读操作权重;a3表示回写操作权重,其中,P值越小,替换优先级越高,发生替换时优先被替换。

进一步地,操作类型包括读操作和写操作;如果由读操作引起LLC中Cache行替换,新调入Cache行中的P=2*a2;如果由写操作引起LLC中Cache行替换,新调入Cache行中的P=a1,其中,a1大于2*a2;如果上层Cache的Cache行发生回写时,P=a3,其中,a3小于2*a2;如果上层Cache的Cache行在LLC中存在一个只读副本时,P=a2,其中,a3大于a2。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410462286.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top