[发明专利]一种共享高速缓存动态划分方法与电路无效
申请号: | 201210020643.3 | 申请日: | 2012-01-30 |
公开(公告)号: | CN102609362A | 公开(公告)日: | 2012-07-25 |
发明(设计)人: | 周晓方;倪亚路 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F9/50 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;盛志范 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 共享 高速缓存 动态 划分 方法 电路 | ||
1.一种共享Cache动态划分方法,其特征在于为共享Cache设置监控电路和划分电路;
即在共享Cache动态划分中,为每个核设置一个监控电路,用来跟踪共享Cache,当共享Cache为一个核所独占时,在共享Cache空间中为这个核分配不同路数的情况下,得到该核可获得的命中数;
所述监控电路将监控信息传递给划分电路,划分电路据此按照划分算法计算出在共享Cache中分配给各个核的最优私有路路数;
所述的划分算法,是将共享Cache空间每组中的各路划分为私有路和自由路两大部分;其中私有路被划分算法显性地分配给某一个核,而自由路则在系统运行过程中按照LRU的方法被隐性地分配给某一个核,不再由划分算法显性地分配;划分算法每隔固定周期执行一次,每次划分算法执行后,将监控电路中的计数器值减半;
为了配合划分算法中计算得到的最优划分实现,为共享Cache中每个块添加若干位标志位,以标记该块属于哪个核,即最近被哪个核命中或替换过;
每个核访问共享Cache时均可访问其中的任意一路,如果一个核引起共享Cache缺失,需要一个块被替换出共享Cache,那么,先统计共享Cache需替换块的组中,属于这个核的块数;如果该块数小于划分算法计算得到的应该分配给这个核的路数,则在属于其他核的块中找到位于LRU替换算法队列最尾端的块,替换出共享Cache;如果统计得到的块数大于最优划分中应该分配给这个核的路数,则在属于这个核自己的块中找到位于LRU替换算法队列最尾端的块替换出去;如果统计得到的各个核的块数等于划分算法分配的块数,此时再发生缺失,则采取新的替换策略,不再区分该块属于哪个核,从发生缺失的组内所有的块中找到位于LRU队列最尾端的块替换出去。
2.根据权利要求1所述的共享Cache动态划分方法,其特征在于所述得到该核可获得的命中数的具体操作如下:从共享Cache标签目录每32组中选取一组作为采样组进入监控电路,在监控电路中建立和采样组相同的标签目录,并为每一路提供一个计数器,以统计该路的命中次数;在监控电路中所有组的同一路共用一个计数器,即任意组某一路命中后,该路计数器值均加1;将监控电路的相应计数器值相加,便获得在共享Cache中为拥有该监控电路的核分配不同路数时,该核的具体命中数。
3.根据权利要求1所述的共享Cache动态划分方法,其特征在于所述划分算法只对私有路进行分配;对于双核共享16路组相连Cache,其中有1路自由路,划分算法只遍历为两个核一共分配15路的所有情况,即遍历在共享Cache中为核1分配i路,为核2分配15-i路的所有情况,其中1≤i≤14,找出使两个核各路的命中总数最高的划分方法;剩下的1路自由路则由两个核共享,在运行过程中按照LRU方法动态地分配给某一个核。
4.一种共享Cache动态划分电路,其特征在于包含监控电路、划分电路和共享Cache三大部分;其中:
每个核对应一个监控电路,该监控电路用来跟踪共享Cache,当共享Cache为一个核所独占时,在共享Cache空间中为这个核分配不同路数的情况下,该核可获得的命中数;
监控电路将监控信息传递给划分电路,划分电路据此按照划分算法计算出在共享Cache中分配给各个核的最优私有路路数;
所述划分算法,是将共享Cache空间每组中的各路划分为私有路和自由路两大部分;其中私有路被划分算法显性地分配给某一个核,而自由路则在系统运行过程中按照LRU的方法被隐性地分配给某一个核,不再由划分算法显性地分配;划分算法每隔固定周期执行一次;每次划分算法执行后,将监控电路中的计数器值减半;
共享Cache中每个块添加有若干位标志位,以标记该块属于哪个核,即最近被哪个核命中或替换过;
每个核访问共享Cache时均可访问其中的任意一路;如果一个核引起共享Cache缺失,需要一个块被替换出共享Cache;那么,先统计共享Cache需替换块的组中,属于这个核的块数;如果该块数小于划分算法计算得到的应该分配给这个核的路数,则在属于其他核的块中找到位于LRU替换算法队列最尾端的块,替换出共享Cache;如果统计得到的块数大于最优划分中应该分配给这个核的路数,则在属于这个核自己的块中找到位于LRU替换算法队列最尾端的块替换出去;如果统计得到的各个核的块数等于划分算法分配的块数,此时再发生缺失,则采取新的替换策略,不再区分该块属于哪个核,从发生缺失的组内所有的块中找到位于LRU队列最尾端的块替换出去。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210020643.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:QFN封装工艺的塑封料上料架
- 下一篇:一种前端具有切削结构的螺栓套筒