[发明专利]多核架构下共享二级Cache的替换策略的实现方法无效
申请号: | 200910154021.8 | 申请日: | 2009-10-22 |
公开(公告)号: | CN101694640A | 公开(公告)日: | 2010-04-14 |
发明(设计)人: | 陈天洲;乔福明;唐兴盛;胡威;胡同森;张少斌 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F12/12 | 分类号: | G06F12/12 |
代理公司: | 杭州中成专利事务所有限公司 33212 | 代理人: | 金祺 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核 架构 共享 二级 cache 替换 策略 实现 方法 | ||
技术领域
本发明涉及存储器层次结构设计领域,特别是涉及一种多核架构下共享二级Cache的替换策略的实现方法。
背景技术
对于共享二级Cache来说,发生Cache缺失的代价是相当大的:需要花费几百个周期访问主存。通常情况下,采用的Cache替换策略是最近最少使用替换策略,但是最近最少使用替换策略存在着很多缺点:首先,最近最少使用替换策略仅仅考虑的是Cache访问的最近信息,却没有考虑Cache访问的频率信息;其次,当Cache容量小于程序的工作集时,Cache会表现出抖动现象,发生冲突缺失,会导致计算机性能下降;再者,最近最少使用替换策略的硬件实施是相当昂贵的。为了克服最近最少使用替换策略存在的缺点,目前提出了不少替换策略:比如说最优替换策略,考虑将来的信息,它是把将来最远访问的Cache块替换出去,但是这种实施不太实际;亲密替换策略,它能够同时考虑Cache访问的最近信息和Cache访问的频率信息,与最近最少使用替换策略和最优替换策略相比,亲密替换策略可以减少硬件开销,电路复杂性也明显降低,但是目前提出的亲密替换策略只是在单核情况下实施,并没有在多核情况下实施;等等。
发明内容
本发明要解决的技术问题是,提供一种多核架构下共享二级Cache的替换策略的实现方法。
为解决上述技术问题,本发明提供的方法如下:
1)对Cache组的进行分割:
每个Cache组set分成k个小组group,k=n/m,0<k<n+1且k、m、n为整数,n为Cache的相联度,0<m<n+1。对Cache组的进行分割的目的在于对不同的小组实施相应的Cache替换策略。在多核架构下,根据在每个核上运行的程序的访问模式的不同,对不同的程序采用不同的替换策略。并不是每个程序的访问行为都是相同的,而且分配给每个程序的空间容量也不同,合适的采用Cache替换策略,有助于提高程序的运行的效率。
每个小组设置一个缺失计数器和一个策略选择器,缺失计数器用来记录小组发生的缺失数miss,策略选择器决定小组所采取的Cache替换策略。
2)亲近替换策略,与最近最少使用替换策略相比,除了考虑访问的最新信息之外还关注访问频率,其实施过程如下:
第一步:每个Cache组设置一个组命中标签,组命中标签用来决定逐出的Cache块是从亲近队列的顶部选择还是从亲近队列的底部选择,在访问这个Cache组之前,组命中标签被初始化为1。每个Cache组也设置一个亲近队列,亲近队列中的Cache块初始位置和最近最少使用LRU栈中的Cache块位置相同。
第二步:当发生Cache命中时,在该组的亲近队列中,命中的Cache块和与其上面临近的Cache块交换位置,如果组命中标签为0,则更新为1,如果组命中标签为1,则不更新仍为1,如果命中的Cache块已经在亲近队列的顶部,不改变其位置;当发生Cache缺失时,在该组的亲近队列中,如果组命中标签为0,亲近队列顶部的Cache块作为要替换的Cache块,其余所有的Cache块向亲近队列顶部移动一个位置,组命中标签的值仍为0,进入到Cache的Cache块插在亲近队列的底部;如果组命中标签为1,则亲近队列底部的Cache块作为要替换的Cache块,组命中标签的值更新为0,进入到Cache的Cache块插在亲近队列的底部;当有两个小组group都采用亲近替换策略时,被替换出去的候选Cache块就有两个,块选择器从要被替换出去的候选Cache块中随机的选择一个作为要被替换的Cache块。
3)当发生一级Cache缺失时,共享二级Cache中的Cache组的工作过程如下:
当发生共享二级Cache缺失或命中时,发生Cache缺失或命中的小组的缺失计数器根据其所记录的Cache缺失数目,来决定本小组所采取的Cache替换策略,如果本小组发生的Cache缺失的数目miss不超过某个指定的值z,策略选择器就采用最近最少使用替换策略,反之,策略选择器采用亲近替换策略。
所述最近最少使用替换策略是指从Cache中替换出最近最少使用的Cache块,进入Cache的Cache块放在最近最多使用的位置MRU上,当一个Cache块发生命中时,则把该块放在最近最多使用的位置,其余所有的Cache块在最近最少使用LRU栈中下移一个位置。
与背景技术相比,本发明具有的有益的效果是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910154021.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:胃管固定带
- 下一篇:一种新型桥的建造方法