2016-09-06 44 views
0

我想知道在較長的管道中是否有可行的場景,當年輕的分支指令已經被分支預測機制處理時,但是相應的lhr(或ghr,取決於實現)仍然沒有由於管線長度的原因,未更新舊分支的實際結果。lhr/ghr在long pipeline中更新

它是一個可行的方案,它是如何解決的?

回答

0

你在問題中提到的情況似乎是合法的,但我懷疑這是否會導致與分支預測器相關的任何功能/性能問題。 考慮一個場景,其中有兩個背靠背分支,那麼較年輕的分支就不會看到較早分支的預測結果。但是,當我們回來到後端分支機構,以下是可能的結果 -

  • 採取正確地預見較早的分支 - 由於分支預測正確預測算法將使用的預測結果,並使用信息預測年輕的分支。更新不會影響預測結果,因爲較早的分支已被正確預測。
  • 已採用舊分支並且未正確預測 - 在這種情況下,較年輕的分支不在問題本身,因爲處理器會擠壓舊分支陰影中所做的所有指令/更新。因此,預測將是沒有用的。

這同樣適用於未採取分支並且未正確預測分支的情況。 希望這回答您的查詢。