我想知道在长管道中是否存在可行的情况,当年轻的分支指令已经由分支预测机制处理时,但相应的lhr(或ghr,取决于实现)仍未更新实际结果较旧的分支,由于管道长度。
这是一个可行的方案,它是如何解决的?
答案 0 :(得分:0)
您在问题中提到的情况似乎是合法的,但我怀疑这是否会导致与分支预测器相关的任何功能/性能问题。 考虑一种情况,其中有两个背靠背分支,然后较年轻的分支不会看到较旧分支的预测结果。但是当我们有背靠背分支时,以下是可能的结果 -
这同样适用于未采取分支并正确/不正确预测的情况。 希望这能回答您的疑问。
答案 1 :(得分:0)
是的,那绝对是可能的。虽然尚未解决较旧的分支,或者未根据较旧分支的结果更新了预测机制(无论如何),但将根据可用的“过时”历史来预测新分支。