[发明专利]分支预测方法及装置、处理器有效
申请号: | 200910198355.5 | 申请日: | 2009-11-05 |
公开(公告)号: | CN102053818A | 公开(公告)日: | 2011-05-11 |
发明(设计)人: | 高剑刚;黄永勤;张琦滨;李强;袁爱东;严华锦;刘杰 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 李丽 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分支 预测 方法 装置 处理器 | ||
技术领域
本发明涉及数据处理技术领域,特别涉及分支预测方法及装置、处理器。
背景技术
目前,分支预测技术在开发处理器指令集并行(ILP)中起到了重要的作用,且指令流水线级数越多,分支预测技术对处理器性能的影响越大。
现有技术中采用的分支预测技术可划分为静态预测技术和动态预测技术。而动态预测技术又可划分为一级表预测技术和两级自适应表预测技术。
一级表预测技术一般是基于某条分支指令有限的历史信息进行预测的。例如,参照图1所示,所述的一级表预测技术通过索引历史信息表10中分支指令地址对应的饱和计数器11、12......1a的值来进行预测。假设所述饱和计数器11、12......1a(a=2i,i为分支指令地址位数)是2bits的饱和计数器,则饱和计数器的各个值可分为:00-“不发生”、01-“弱不发生”、10-“弱发生”、11-“发生”四个状态。饱和计数器的训练方法为:实际跳转发生一次,计数器+1,11为饱和值再+1还是等于11,而实际跳转不发生一次,计数器-1,00为饱和值再-1还是等于00。由此可以看到,对于2bits的饱和计数器,一般只对前两次的历史信息有记忆,没有考虑分支执行的上下文信息,对于类似一次跳转一次不跳转的分支指令则会形成颠簸,特别是饱和计数器的值对应“弱发生”和“弱不发生”状态时,对后续一次跳转发生一次跳转不发生的程序轨迹可能每次都会预测错。
例如,假定分支指令的程序轨迹为一次跳转发生,一次跳转不发生,当前2bits的饱和计数器值为“01”,则根据当前饱和计数器的值预测分支指令跳转不发生,但实际分支指令跳转为发生,则饱和计数器的值+1,其值修改为“10”。下一次预测时,根据饱和计数器的值“10”就会预测分支指令跳转发生,但实际分支指令跳转为不发生。
基于一级表预测技术的不足,现有大多采用两级自适应表预测技术。第一级表为分支历史模式表,用于保存每条或每组分支指令的历史模式,其包括1个或多个分支历史模式移位寄存器(BHSR),第二级第为模式历史信息表(PHT),用于保存每条分支指令在特定历史模式下的历史信息,由饱和计数器阵列组成。
其中,BHSR的实现有两种选择:统一(G)方式和单独或单组(P)方式,而PHT的实现有三种选择:统一(g)方式、单独(p)方式和共享(s)方式。由于BHSR的单独实现,即每条分支指令对应一个BHSR组成一个以指令全地址为索引的BHSR的阵列,其硬件代价实在太大,基于目前的工艺只能说是一种理论上的方案,所以BHSR的单独或单组(P)方式通常指的是一组分支指令共享一个BHSR,构成一个用部分指令地址为索引的BHSR的阵列。
总结两级自适应表预测技术现有的实现中,值得研究的有5种实现:
1)GAg:统一的BHSR、统一的PHT表
参照图2所示,该实现是以统一的历史信息移位寄存器20中保存的所有分支指令统一的历史模式索引模式历史信息表30中相应饱和计数器301、302......30b(b=2k,k为历史模式位数)中保存的历史信息,以此对下一条分支指令进行预测。该实现的优点在于节省资源,其资源消耗和一级表预测技术差不多。但该实现的缺点在于:只反应了程序中分支指令的全局规律,对于不依赖于统一历史模式而只依赖于自身历史模式的情况,不同分支指令的历史信息会相互影响,从而降低预测精度。
2)PAg:单独的BHSR,统一的PHT表
参照图3所示,该实现根据每条(每组)分支指令的历史模式和模式对应的统一的历史信息,对下一条分支指令进行预测。即,分支历史信息表21中的历史信息移位寄存器211、212......21c(c=2i,i为分支指令地址位数)中分别保存不同的历史模式,以每条(每组)分支指令相应的历史信息移位寄存器211、212......21c中保存的历史模式来索引模式历史信息表31中相应饱和计数器311、312......31d(d=2k,k为历史模式位数)中保存的历史信息。该实现的优点在于:每条(每组)分支指令的历史模式分开保存,对于不依赖于统一历史模式而只依赖于自身历史模式的情况,其预测精确度比GAg实现方式有所提高,而且资源适中。但该实现的缺点在于:不同分支指令在相同历史模式下的历史信息会相互影响,从而降低预测精度。
3)PAs:单独的BHSR,分组共享的PHT表
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910198355.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种访问控制方法和装置
- 下一篇:一种筛鼓及具有该筛鼓的多级纸浆压力筛