分支预测(branch prediction),理学-计算机科学技术-计算机体系结构-微体系结构-分支预测,在流水线处理器中预测条件分支指令跳转是否成功的方法。又称转移预测。在流水线处理器中,为了避免由于条件分支指令引起的流水线阻塞,需要在取指或译码阶段预测条件分支指令的跳转成功与否并继续取后续指令执行。高级编程语言的“if-then-else”语句一般被翻译成条件分支指令。条件分支指令根据条件的值,执行结果可以是“跳转不成功”,则继续执行紧跟在条件分支指令后的指令;或者是“跳转成功”,则跳转到程序空间中另一条指令执行路径来执行。分支预测是在分支跳转结果还没有执行出来前,就预测分支指令跳转与否,这样使得无须中断流水线,提高处理器指令执行效率。分支预测一般是根据当前和历史信息对跳转是否成功进行预测。分支预测机制通常分为两个步骤:一是在取指或译码阶段预测条件分支指令是否跳转;二是在条件分支指令执行后,根据实际的执行结果对之前的预测结果进行修正,如果发现前面的分支预测错误,需要取消预测后的指令执行。分支预测机制的性能主要取决于三个因素:预测精度、正确预测的延迟以及错误预测取消的开销。