发明名称 多核架构下共享二级Cache的替换策略的实现方法
摘要 本发明涉及存储器层次结构设计领域,旨在提供一种多核架构下共享二级Cache的替换策略的实现方法。该方法包括下述步骤:对Cache组的进行分割、亲近替换策略的实施、在多核架构下根据在每个核上运行的程序的访问模式的不同对不同的程序采用不同的替换策略实施。本发明有益效果是:在多核环境下,本发明针对最近最少使用替换策略存在的问题,对Cache组中的Cache块进行分组,每个小组实施不同的替换策略,可以降低Cache缺失,大大减少了存储开销,同时也降低电路的复杂性,提高系统的性能。在多核环境下,不同的程序或者线程可能偏爱不同的替换策略,因此提出在不同的分割组中实施不同的Cache替换策略。
申请公布号 CN101694640B 申请公布日期 2011.04.27
申请号 CN200910154021.8 申请日期 2009.10.22
申请人 浙江大学 发明人 陈天洲;乔福明;唐兴盛;胡威;胡同森;张少斌
分类号 G06F12/12(2006.01)I 主分类号 G06F12/12(2006.01)I
代理机构 杭州中成专利事务所有限公司 33212 代理人 金祺
主权项 一种多核架构下共享Cache的替换策略的实现方法,其特征在于:对Cache组进行分割,根据在每个核上运行的程序的访问模式的不同,对不同的程序采用不同的替换策略:每个Cache组分成k个小组,k=n/m,0<k<n+1且k、m、n为整数,n为Cache的相联度,0<m<n+1;每个小组设置一个缺失计数器和一个策略选择器,策略选择器是用来决定采用决定小组所采取的Cache替换策略,缺失计数器用来记录小组发生的缺失数miss;在多核架构下,当发生一级Cache缺失时,共享二级Cache中的Cache组的工作过程如下:当发生共享二级Cache缺失或命中时,发生Cache缺失或命中的小组的缺失计数器根据其所记录的Cache缺失数目,来决定本小组所采取的Cache替换策略,如果本小组发生的Cache缺失的数目miss不超过某个指定的值z,策略选择器就采用最近最少使用替换策略,反之,策略选择器采用亲近替换策略;所述最近最少使用替换策略是指从Cache中替换出最近最少使用的Cache块,进入Cache的Cache块放在最近最多使用的位置上,当一个Cache块发生命中时,则把该块放在最近最多使用的位置,其余所有的Cache块在最近最少使用LRU栈中下移一个位置;所述亲近替换策略的工作过程包括以下步骤:第一步:每个Cache组设置一个组命中标签和一个亲近队列,组命中标签用来决定逐出的Cache块是从亲近队列的顶部选择还是从亲近队列的底部选择,在访问这个Cache组之前,组命中标签被初始化为1,亲近队列中的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块插在亲近队列的底部;当有两个小组都采用亲近替换策略时,被替换出去的候选Cache块就有两个,块选择器从要被替换出去的候选Cache块中随机的选择一个作为要被替换的Cache块。
地址 310027 浙江省杭州市西湖区浙大路38号