负载驱动的分支预测器(LDBP)
Load Driven Branch Predictor (LDBP)
摘要:
依赖于难以预测的负载数据的分支指令是主要的分支误预测因素。当前最先进的基于历史的分支预测器对于这些分支具有差的预测准确性。先前的研究支持这一观察结果,表明将256 KBit基于历史的分支预测器的大小增加到1 MBit变体,分支误预测仅减少10%。我们提出了新的负载驱动分支预测器(LDBP)专门针对难以预测的分支依赖于加载指令。虽然随机加载数据决定了这些分支的结果,但这些数据中的大多数的加载地址都具有可预测的模式。这是数据结构(如数组和映射)中的可观察模板。我们的预测器模型利用这种行为提前触发与分支相关的未来负载,并使用其数据来预测分支的结果。跟踪可预测的负载,并且缓冲分支指令的预先计算的结果以进行预测。我们的实验结果表明,一个独立的256-Kbit的IMLI预测相比,当LDBP增加了150-Kbit的IMLI,它减少了20%的平均分支误预测,并提高了13.1%的平均IPC从SPEC CINT 2006和GAP基准套件的基准。
英文摘要:
Branch instructions dependent on hard-to-predict load data are the leading branch misprediction contributors. Current state-of-the-art history-based branch predictors have poor prediction accuracy for these branches. Prior research backs this observation by showing that increasing the size of a 256-KBit history-based branch predictor to its 1-MBit variant has just a 10% reduction in branch mispredictions. We present the novel Load Driven Branch Predictor(LDBP) specifically targeting hard-to-predict branches dependent on a load instruction. Though random load data determines the outcome for these branches, the load address for most of these data has a predictable pattern. This is an observable template in data structures like arrays and maps. Our predictor model exploits this behavior to trigger future loads associated with branches ahead of time and use its data to predict the branch's outcome. The predictable loads are tracked, and the precomputed outcomes of the branch instruction are buffered for making predictions. Our experimental results show that compared to a standalone 256-Kbit IMLI predictor, when LDBP is augmented with a 150-Kbit IMLI, it reduces the average branch mispredictions by 20% and improves average IPC by 13.1% for benchmarks from SPEC CINT2006 and GAP benchmark suite.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。