2016-09-06 27 views
0

我想知道在较长的管道中是否有可行的场景,当年轻的分支指令已经被分支预测机制处理时,但是相应的lhr(或ghr,取决于实现)仍然没有由于管线长度的原因,未更新旧分支的实际结果。lhr/ghr在long pipeline中更新

它是一个可行的方案,它是如何解决的?

回答

0

你在问题中提到的情况似乎是合法的,但我怀疑这是否会导致与分支预测器相关的任何功能/性能问题。 考虑一个场景,其中有两个背靠背分支,那么较年轻的分支就不会看到较早分支的预测结果。但是,当我们回来到后端分支机构,以下是可能的结果 -

  • 采取正确地预见较早的分支 - 由于分支预测正确预测算法将使用的预测结果,并使用信息预测年轻的分支。更新不会影响预测结果,因为较早的分支已被正确预测。
  • 已采用旧分支并且未正确预测 - 在这种情况下,较年轻的分支不在问题本身,因为处理器会挤压旧分支阴影中所做的所有指令/更新。因此,预测将是没有用的。

这同样适用于未采取分支并且未正确预测分支的情况。 希望这回答您的查询。