[发明专利]多核下基于Cache划分的自适应路预测算法有效
申请号: | 201110106202.0 | 申请日: | 2011-04-26 |
公开(公告)号: | CN102193875A | 公开(公告)日: | 2011-09-21 |
发明(设计)人: | 方娟;郭媚 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 刘萍 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 多核下基于Cache划分的自适应路预测算法,属于计算机体系结构领域。目前,低功耗和热优化设计已经成为微处理器研究中的核心问题。多核处理器的多核心结构决定了其相关的功耗研究是一个至关重要的课题。本发明利用程序运行的局部性原理,并针对多核处理器环境,将Cache划分与Cache的路预测相结合,在Cache划分的结果上采用自适应的路预测算法,在保持原有的系统性能水平的前提下,达到进一步降低Cache功耗的目的。 | ||
搜索关键词: | 多核 基于 cache 划分 自适应 预测 算法 | ||
【主权项】:
1.多核下基于Cache划分的自适应路预测算法,其特征在于步骤如下:(1)初始化路预测表和路划分表:设定L2Cache是N路组相联的且大小为Rkb,L2Cache line的大小为L b,则路预测表存放
组数据;使用L2Cache划分算法,将对L2Cache划分的结果存放在一个路划分表中,路划分表存放L2Cache中的Cache路被划分给每个处理器核的情况,每个处理器核至少会被划分得到1路Cache,则将每个处理器核所得到的Cache路的路编号存放在路划分表中;(2)当处理器核发出一个L2Cache的访问时,获取该处理器核的编号PID,再以此编号PID为索引检索路划分表,得到该处理器核对L2Cache路的占有情况,即占有的路编号way_num和数量way_count;(3)如果该处理器核拥有的L2Cache路数量way_count为1,则不需进行路预测,跳转到(9);如果占有的路数量way_count>1,则进行路预测(4);(4)将L2Cache访问的地址tag与路预测表中的tag表项进行比较,如果两个tag相等,则取出对应预测路的编号way_num;其中路预测表中存放着对各L2Cache组的预测路信息,路预测表用一个Cache表实现,表项内容为L2Cache数据块地址的tag和数据块所在的路编号way_num,数据块地址的tag标识是地址编码中除去块内地址offset和组号set外的地址位,上述设定L2Cache line的大小为L b,则块内地址需要log2L bit,L2Cache共有
组,则需要
位来标识组号,剩余的地址位就是访问地址的tag标识;L2Cache有N路,则需要log2N bit位来标识路编号;(5)由给出的way_num直接定位到该路数据,将访问地址的tag与该路数据地址的tag进行比较,若tag相等则说明路预测命中,则读出数据,完成此次L2Cache访问;否则到(6);(6)将访问地址的tag与属于该处理器核的除预测路外的Cache路中的数据地址tag进行比较,如果有相等的tag,则读取该路数据,进入(7),否则进入(8)。(7)数据在L2Cache中,更新路预测表,即用命中的数据路编号替换掉在步骤(5)中的未命中的预测路编号;读出数据,完成此次数据访问;(8)如果访问的数据并不在L2Cache中,则发生Cache缺失,需要从内存中寻找所需数据,进行Cache替换,将需要的数据读入L2Cache中;更新路预测表中的内容,即将内存数据读入L2Cache后所在的Cache路编号替换掉(5)中的未命中的预测路编号;(9)根据路划分表得出该处理器核所占有的1路cache路的路编号way_num,直接比较该路数据地址的tag是否与访问地址tag相等,若相等,则读取数据完成访问,否则,跳转到(8)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110106202.0/,转载请声明来源钻瓜专利网。