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