【24h】

Value Based BTB Indexing for Indirect Jump Prediction

机译:基于值的BTB索引用于间接跳转预测

获取原文

摘要

History-based branch direction predictors for conditional branches are shown to be highly accurate. Indirect branches however, are hard to predict as they may have multiple targets corresponding to a single indirect branch instruction.We propose the Value Based BTB Indexing (VBBI), a correlation-based target address prediction scheme for indirect jump instructions. For each static hard-to-predict indirect jump instruction, the compiler identifies a 'hint-instruction', whose output value strongly correlates with the target address of the indirect jump instruction. At run time, multiple target addresses of the indirect jump instruction are stored and subsequently accessed from the BTB at different indices computed using the jump instruction PC and the hint Instruction output values. In case the hintJnstruction has not finished its execution when the jump instruction is fetched, a second and more accurate target address prediction is made when the hintJnstruction output is available, thus reducing the jump misprediction penalty.We compare our design to the regular BTB design and the best previously proposed indirect jump predictor, the tagged target cache (TTC). Our evaluation shows that the VBBI scheme improves the indirect jump target prediction accuracy by 48% and 18%, compared with the baseline BTB and TTC designs, respectively. This results in average performance improvement of 16.4% over the baseline BTB scheme, and 13% improvement over the TTC predictor. Out of this performance improvement 2% is contributed by target prediction overriding which is accurate 96% of the time.
机译:条件分支的基于历史的分支方向预测器显示出很高的准确性。但是,间接分支很难预测,因为它们可能具有与单个间接分支指令相对应的多个目标。 我们提出了基于值的BTB索引(VBBI),这是一种用于间接跳转指令的基于相关性的目标地址预测方案。对于每条难以预测的静态间接跳转指令,编译器都会识别一条“提示指令”,其输出值与间接跳转指令的目标地址密切相关。在运行时,间接跳转指令的多个目标地址被存储,随后从BTB以使用跳转指令PC和提示指令输出值计算出的不同索引从BTB访问。如果在获取跳转指令时hintJnstruction尚未完成其执行,则在hintJnstruction输出可用时进行第二次且更准确的目标地址预测,从而减少了跳转错误预测的代价。 我们将我们的设计与常规的BTB设计以及先前提出的最佳间接跳转预测器(标记目标缓存(TTC))进行比较。我们的评估表明,与基线BTB和TTC设计相比,VBBI方案分别将间接跳跃目标的预测准确性提高了48%和18%。与基线BTB方案相比,这导致平均性能提高了16.4%,与TTC预测值相比提高了13%。在性能提升中,有2%的目标预测覆盖率是准确的,有96%的时间由目标预测覆盖。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号