论文标题

负载驱动的分支预测器(LDBP)

Load Driven Branch Predictor (LDBP)

论文作者

Sridhar, Akash, Kabylkas, Nursultan, Renau, Jose

论文摘要

分支指令取决于难以预测的负载数据是领先的分支错误预测的贡献者。当前基于历史记录的分支预测因子对这些分支的预测准确性较差。先前的研究通过表明将基于256 kbit的基于历史记录的分支预测变量的大小增加到其1毫米变体的大小仅减少了分支错误预测的10%,从而支持了这一观察结果。 我们介绍了新颖的负载驱动分支预测变量(LDBP),专门针对依赖负载指令的难以预测的分支。尽管随机负载数据决定了这些分支的结果,但大多数这些数据的负载地址具有可预测的模式。这是诸如数组和地图之类的数据结构中的可观察模板。我们的预测指标模型利用了此行为,以触发与分支机构相关的未来负载,并使用其数据预测分支机构的结果。跟踪可预测的载荷,并且分支指令的预定结果被缓冲以进行预测。我们的实验结果表明,与独立的256 kbit IMLI预测变量相比,当LDBP用150 kbit IMLI增强时,它将平均分支错误预测降低了20%,并将平均IPC提高13.1%,而Spec CINT2006和GAP Benchmark标准套件的基准分析的平均分支错误预测。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源