★ 继续学习体系结构的知识。
接着上一讲继续写
超标量处理器设计:两位饱和计数器&基于局部历史的分支预测-CSDN博客
if(aa==2) /* b1 */
aa = 0;
if(bb==2) /* b2 */
bb = 0;
if(aa!=bb) /* b3 */
{...}
示例代码给出了一段SPEC程序中的代码片段,包含三个连续的条件分支(b1、b2、b3)。如果前两个分支(b1和b2)均被执行(即条件满足),则第三个分支(b3)一定不会执行。仅依赖b3的局部历史无法捕捉到这一规律,但基于全局历史的预测方法能够考虑到b1和b2的结果,从而准确预测b3的行为。
基于全局历史的分支预测 这种方法在预测一条分支指令时,不仅考虑该指令自身的执行历史,还考虑其前面所有分支指令的执行结果(全局历史)。这样做有助于发现那些仅依据单个分支指令历史无法识别的关联性和规律。
全局历史寄存器(GHR)
在全局历史预测方法中,使