一种多级分支预测器跳过训练标识的确定方法及装置制造方法及图纸

技术编号:27876657 阅读:44 留言:0更新日期:2021-03-31 00:54
本申请提供一种多级分支预测器跳过训练标识的确定方法及装置。方法包括:获取多级分支预测器中第一分支预测器对取指地址和/或分支历史进行预测获得输出结果;其中输出结果包括第一预测结果和跳过第一训练标识;获取最末级分支预测器对取指地址和/或分支历史进行预测获得的第二预测结果;根据第一预测结果与第二预测结果的异同性以及第一分支预测器对应的预测相异的计数确定第一分支预测器对应的最终跳过标识。本申请实施例不仅仅根据第一预测器进行是否跳过训练的判断,从而在第一训练相对于第一分支预测器为反向训练时,后续第一分支预测器仍然可以进行训练,提高了分支预测器预测的精度。

【技术实现步骤摘要】
一种多级分支预测器跳过训练标识的确定方法及装置
本申请涉及分支预测
,具体而言,涉及一种多级分支预测器跳过训练标识的确定方法及装置。
技术介绍
在计算机体系结构中,分支预测器(Branchpredictor)是一种数字电路,在分支指令执行之前猜测哪一路分支将会被运行,以提高处理器的指令流水线的性能。对于多级分支预测器来说,前一级分支预测器相对于后一级分支预测器来说,精度较低,延迟较短。为了提高分支预测器预测的准确性,分支预测器的工作模式可以分为预测阶段和训练阶段。对分支预测器的训练又分为正向训练和反向训练,其中,正向训练用来对预测器的状态进行增强,反向训练用来对预测器的状态进行纠正。由于训练会占用流水线并消耗功耗,对整个分支预测器来说,训练分为两种,最后一级预测器预测正确,进行第一训练,最后一级预测器预测错误进行第二训练。那么对于第一分支预测器来说,训练分为两种:如果预测错误,则进行的训练称为反向训练;如果预测正确,进行的训练为正向训练。第一训练对于最后一级预测器来说肯定是正向训练,但是对于第一分支预测器来说,有可能是正向训练,也本文档来自技高网...

【技术保护点】
1.一种多级分支预测器跳过训练标识的确定方法,其特征在于,所述方法包括:/n获取多级分支预测器中第一分支预测器对取指地址和/或分支历史进行预测的输出结果;其中,所述第一分支预测器为所述多级分支预测器中最末级分支预测器之前的任一分支预测器,所述输出结果包括所述第一分支预测器预测是否跳转的第一预测结果,以及表征所述第一分支预测器是否跳过训练的跳过标识;/n获取最末级分支预测器对所述取指地址和/或分支历史进行预测的第二预测结果;所述第二预测结果用于表征所述最末级分支预测器预测是否跳转;/n根据所述第一预测结果与第二预测结果的异同性、所述第一分支预测器对应的预测相异的计数,修正所述第一分支预测器对应的...

【技术特征摘要】
1.一种多级分支预测器跳过训练标识的确定方法,其特征在于,所述方法包括:
获取多级分支预测器中第一分支预测器对取指地址和/或分支历史进行预测的输出结果;其中,所述第一分支预测器为所述多级分支预测器中最末级分支预测器之前的任一分支预测器,所述输出结果包括所述第一分支预测器预测是否跳转的第一预测结果,以及表征所述第一分支预测器是否跳过训练的跳过标识;
获取最末级分支预测器对所述取指地址和/或分支历史进行预测的第二预测结果;所述第二预测结果用于表征所述最末级分支预测器预测是否跳转;
根据所述第一预测结果与第二预测结果的异同性、所述第一分支预测器对应的预测相异的计数,修正所述第一分支预测器对应的所述跳过标识,获得最终跳过标识;其中,所述预测相异的计数是指所述第一预测结果与第二预测结果不同的次数。


2.根据权利要求1所述的方法,其特征在于,在获得最终跳过标识之后,所述方法还包括:
将所述最终跳过标识写入预测状态表中;其中,所述预测状态表包括取指地址和/或分支历史、最末级分支预测器对所述取指地址和/或分支历史的预测结果,以及最末级分支预测器之前的分支预测器分别对应的最终跳过标识。


3.根据权利要求1所述的方法,其特征在于,所述根据所述第一预测结果与第二预测结果的异同性、所述第一分支预测器对应的预测相异的计数,修正所述第一分支预测器对应的所述跳过标识,获得最终跳过标识,包括:
若所述第一预测结果与所述第二预测结果不相同,且所述跳过标识为表征跳过训练的标识,以及预测相异的计数的数值大于预设阈值,则确定所述最终跳过标识为表征不跳过训练的标识。


4.根据权利要求1所述的方法,其特征在于,所述根据所述第一预测结果与第二预测结果的异同性、所述第一分支预测器对应的预测相异的计数,修正所述第一分支预测器对应的所述跳过标识,获得最终跳过标识,包括:
若所述第一预测结果与所述第二预测结果相同,或所述跳过标识为表征不跳过训练的标识,则确定所述跳过标识为所述最终跳过标识。


5.根据权利要求1所述的方法,其特征在于,所述根据所述第一预测结果与第二预测结果的异同性、所述第一分支预测器对应的预测相异的计数,修正所述第一分支预测器对应的所述跳过标识,获得最终跳过标识,包括:
若所述第一预测结果与所述第二预测结果不相同,且所述跳过标识为表征跳过训练的标识,且所述第一分支预测器中所述取指地址和/或分支历史对应的预测相异的计数缺省,则确定所述跳过标识为所述最终跳过标识。


6.根据权利要求1所述的方法,其特征在于,所述根据所述第一预测结果与第二预测结果的异同性、所述第一分支预测器对应的预测相异的计数,修正所述第一分支预测器对应的所述跳过标识,获得最终跳过标识,包括:
若所述第一预测结果与所述第二预测结果不相同,且所述跳过标识为表征跳过训练的标识,且所述预测相异的计数对应的数值不大于预设阈值,则确定所述跳过标识为所述最终跳过标识。


7.根据权利要求1所述的方法,其特征在于,所述第一分支预测器中包括纠正表,所述纠正表包括所述预测相异的计数,方法还包括:
若所述跳过标识为表征跳过训练的标识,则根据所述第一预测结果、所述第二预测结果和纠正表中对应的预测相异的计数确定是否更新所述纠正表。


8.根据权利要求7所述的方法,其特征在于,所述根据所述第一预测结果、所述第二预测结果和纠正表中对应的预测相异的计数确定是否更新所述纠正表,包括:
若所述第一预测结果和所述第二预测结果相同,则不更新所述纠正表。

【专利技术属性】
技术研发人员:崔泽汉张克松
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1