branch-prediction

    0热度

    1回答

    我正在研究计算机体系结构类中的分配,我们必须在C++中实现分支预测算法(用于Alpha 21264微处理器体系结构)。 有一个解决方案作为example提供。该解决方案是一个Global Share Predictor的实现。 我只是想了解给定的解决方案,具体是什么,是怎么回事: *predict (branch_info &b) {...} 具体而言, if (b.br_flags & BR

    0热度

    1回答

    我正在Cortex-R4中运行的C代码中进行优化。 首先,我在条件检查中指出“__builtin_expect”时没有看到汇编代码输出中的任何更改。 这似乎是编译器生成不必要的跳转。 我的C代码: bit ++; (Likely) if(__builtin_expect(bit >= 32),0) { bit -=32; // unlikely code xxxxxx

    2热度

    2回答

    所以我的理解是在分支预测用于流水线处理器的基本技术问题是我的问题: 1)分支目标预测:为什么这很重要,这里使用的一些机制是什么?当我想到一个分支时,我认为“b2 r2,r3,LABEL”,它表示如果r2!= r3则转移到LABEL,这意味着执行PC(程序计数器)= PC + LABEL。在这里预测目标有什么神秘之处?你知道它将基于LABEL的编译值。 我可能以某种方式忽略了这一点。 2)为什么程序