一位分支预测

时间:2019-02-28 09:19:21

标签: loops assembly branch-prediction

我有以下代码;

for ( int i = 0; i < 100 ; i++) {
    for( int j = 0; j < 100 ; j++) {
        System.out.println(j+"");

在这段代码中,我将通过一位分支预测的方法来预测分支。让我们说第一个优先选择是“不采取分支”。根据这些,分支预测的准确度是多少?

在这种情况下,我应该分别计算两个循环吗?我的意思是说两个循环有两种不同的“一位预测方案”吗?如果是这样,这是否是计算精度的正确方法?

第二个循环:

  1. 接受(错误的预测,因为没有优先选择分支)
  2. 拍摄(正确)
  3. 拍摄(正确)

当j = 99(正确)和j = 100(错误预测)时

因此,当j = 0和100时有2个错误的预测,因此第二个循环的精度为99/101?还是应该一起计算循环?

0 个答案:

没有答案