分支预测: 是解决在处理分支指令(if-else之类)时导致指令流水线停顿的处理方法,由CPU来预先判断程序分支的进行方向,能够加快运算速度,预测成功率越大,程序性能将会越好。
原理: 当有流水线技术的处理器处理分支指令就会有一个问题,在处理分支指令之前处理器无法确定该指令的下一条指令,这就会打断流水线线中的指令处理,导致流水线停顿,流水线越长,处理器等待的时间便越长,因为它必须等待分支指令处理完毕,才能确定下一条进入流水线的指令。分支预测技术便是为解决这一问题。
虽然分支预测可以在一定程度上避免流水线停顿,但当预测失败时CPU会放弃执行完的结果,重新从正确的分支开始执行,这就会造成更多的性能损耗。