[发明专利]一种多核处理器目录缓存替换方法有效
申请号: | 201510162370.X | 申请日: | 2015-04-08 |
公开(公告)号: | CN104778132B | 公开(公告)日: | 2018-02-23 |
发明(设计)人: | 唐士斌 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F12/0811 | 分类号: | G06F12/0811;G06F12/121 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 姜明 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 处理器 目录 缓存 替换 方法 | ||
1.一种多核处理器目录缓存替换方法,其特征是:
多核处理器采用两级缓存结构,每个处理器核组合一个L1Cache,所有的处理器核共享L2Cache;
L1Cache之间通过目录缓存维护数据一致性,根据目录缓存与L1Cache的交互消息,确定每个处理器核对应的L1Cache的某个缓存组发生的无消息替换次数:处理器核发出请求访问给L1Cache,如果L1Cache命中则返回数据或者确认消息;如果L1Cache缺失,则在L1Cache当中选择一个空闲项保存从L2Cache或者内存当中返回的数据,如果L1Cache当中没有空闲项,则选择一项发生替换;以上述条件确定每个处理器核对应的L1Cache的某个缓存组发生的无消息替换次数;
确定无消息替换次数具体过程为:
利用GETX(S)+GETS(S)=Rep(S)+INV-ALL(S)+ASSOC式1
Rep(S)=SRep(S)+ERep(S)式2
PUTX(S)=ERep(S)+INV-L1M(S)式3
SRep(S)=GETX(S)+GETS(S)-INV-ALL(S)-ASSOC-(PUTX(S)-INV-L1M(S)) 式4
针对每个处理器核对应的L1Cache的某一缓存组,称缓存组S,Directory Cache收到的来自该处理器的数据请求总数与该处理器L1Cache发生的缓存块替换次数、目录缓存向该处理器核发出的INV总数以及其L1Cache的组相联度的总和相同,用式1表示,其中GETX(S)表示L1Cache针对缓存组S发出独占请求的数量,GETS(S)表示L1Cache针对缓存组S发出共享读请求的次数,Rep(S)是L1Cache中针对缓存组S发生的替换总数,INV-ALL(S)是Directory Cache针对缓存组S发出的INV消息总数,ASSOC是L1Cache的组相联度;
L1Cache发生的缓存块替换可以分成两类有消息的替换与无消息的替换,其中Srep(S)表示L1Cache中针对缓存组S发生的无消息替换次数,ERep(S)表示L1Cache中针对缓存组S发生的有消息替换次数;
针对缓存组S,L1Cache写回数据由两类事件引起,分别是替换L1Cache中的脏数据与使无效L1Cache中的脏数据,即M状态的数据,用式3所示,其中PUTX(S)表示L1Cache针对缓存组S发出的数据写回,INV-L1M(S)表示目录缓存使无效L1Cache中的脏数据;
式4即通过目录缓存观测到的数据得出缓存组S的无消息替换次数,其中INV-L1M表示的是目录缓存发出的INV但是没有收到INV-ACK的这一部分消息;
为目录缓存增设每个L1Cache缓存组的无消息替换计数向量组,保存每个L1Cache在该缓存组发生的无消息替换次数;
当目录缓存发生替换时,根据当前的替换策略、目录缓存块的共享状态向量以及无消息替换计数向量的状态,来共同决定被替换的缓存块,以便节省目录缓存空间。
2.根据权利要求1所述的一种多核处理器目录缓存替换方法,其特征是所述的无消息替换计数向量组,即SRC cache,是一个M路组相联的缓存,每一路缓存共有S项缓存块,其每一项缓存块包含一个N项整数的向量,N为处理器核数,整数向量的每一个元素用来保存该处理器核对应的L1Cache在该缓存组发生的无消息替换次数;SRC cache与L1Cache在其他方面具有相同的配置。
3.根据权利要求2所述的一种多核处理器目录缓存替换方法,其特征是所述的决定被替换的缓存块的过程为:
当目录缓存处理新请求发生缺失时,如果该缓存组中存在空闲项,则不执行替换,给新请求分配空闲项;
如果该缓存组中没有空闲项,则执行替换:给该缓存组的每个缓存块都计算权值,优先替换权值低于阈值的缓存块;如果所有的缓存块都没有低于阈值,根据pseudo-LRU策略执行替换。
4.根据权利要求3所述的一种多核处理器目录缓存替换方法,其特征是所述的计算权值是指:
利用如下式5
目录缓存块的共享状态向量为SL(Line)=C0C1C2…CN-1,CK∈{0,1},则每个缓存块的权重W(Line)用式5表示,其中C[K]与SR[K]分别表示SL(Line)与SR(Line)的第K+1位,当SR[K]等于零时,有下式:
且
x是自然数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510162370.X/1.html,转载请声明来源钻瓜专利网。