我找到了:
(桑迪桥)
间接跳转和调用的模式识别
预测间接跳转和间接调用(但不返回) 使用与分支指令相同的两级预测器。
此处在第27页:
http://www.agner.org/optimize/microarchitecture.pdf
我不明白条件和无条件分支如何使用2位预测器?我认为无条件分支将使用分支目标缓冲区(BTB)。如何使用2位预测器预测无条件分支?!
对于最近的英特尔CPU,有人可以解释一下,对于预测变量,历史表和BTB缓存,分支预测如何适用于条件和无条件分支?我不确定它们是否一起工作,对于两种类型的分支,或者它们都存在但只处理不同的分支类型?