二位分支预测的不同方案

Different schemes of two-bit branch prediction

为什么我们有两个版本的 2 位分支预测,如下图所示?

First Scheme

Alternate Scheme

在第一个方案中,如果预测错误,则从弱不采取到弱采取,从弱采取到弱不采取,但在替代方案中,过渡是从弱不采取到强采取,从弱采取如果预测错误,则强烈不采取。一种方案与另一种方案相比如何或两者都提供相同的精度?

第一个方案似乎是 James Smiths 论文 "A study about branch prediction strategies" (here) 描述的 Strategy 7。图 8 和 10 显示了有趣的数字。该方案的准确度范围为 80.1% 到 99.4%。

这两种方案都在 J.K.F 的 "Branch Prediction Strategies and Branch Target Buffer Design" 中进行了描述。李和A.J。史密斯。还比较了两种方案,它们的准确性差别不大。

即使不阅读论文,您也可以看到有一些模式偏向于一种方案而不是另一种方案。例如。对于采取、未采取、采取、未采取的模式,如果第一个方案从状态 WN 开始,则它总是错误的。第二种方案对pattern没有问题,但是pattern taken, taken, not taken, not taken, taken, taken等