計算機體系結構中分支處理的各種方法是什麼?


處理器使用各種各樣的方法和技術來處理分支。三種方法提高了分支處理的基本方法。這些方法如下:

  • 是否使用分支延遲槽

  • 如何處理未解決的條件分支

  • 體系結構是否提供防止條件分支的機制。

分支處理的基本方法反映了這些問題。根據分支處理對這些問題的響應方式,可以確定延遲分支、阻塞和推測性分支處理、多路分支和受保護執行。

第一種方法是是否使用分支延遲槽。簡單的分支處理通常會導致每個分支指令後出現一個或兩個浪費的流水線週期,稱為氣泡。使用延遲分支,可以將未使用的氣泡填充到可能執行的指令中。

第二種方法負責如何處理未解決的條件分支。處理器可以使用三種基本技術中的一種。當未解決的條件分支阻止分支的處理直到可以計算特定條件時,它可能與阻塞分支處理有關。

早期的流水線處理器,如 MC 68020、MC 68030 和 80386,採用了這種無效的分支處理方式。

處理未解決的條件分支的另一種方法是促進推測性分支處理。在這種情況下,對於每個未解決的條件分支,都會為條件的結果構建一個預測,並且處理沿著猜測的路徑擴充套件。

預測是對分支是否預計會被執行的猜測,也就是說,預計會遵循順序路徑還是執行路徑。在解決指定條件後,會確定猜測結果。如果證明正確,則繼續處理。

如果猜測錯誤,則所有推測執行的指令都會被拒絕,並且執行沿著正確的路徑繼續。推測性分支處理是目前普遍採用的方法。它廣泛用於最近的 ILP 處理器,尤其是在超標量處理器中。

處理未解決的條件分支的最後一種情況是遵循兩個可能的實現路徑,並在解決特定條件後拒絕不正確的路徑。此方法稱為多路分支,已在一些未經驗證或原型 VLIW 機器中使用。

第三種也是最後一種分支處理方法是體系結構是否支援適當的方法來防止條件分支。如果有此類方法適用,則可以進行受保護的執行。從某種意義上說,控制依賴關係由資料依賴關係恢復。

雖然受保護的執行可能在概述的方案中具有最高的效能潛力,但它也存在重大缺點。它需要對指令集體系結構進行重大擴充套件或重新定義。在 VLIW 體系結構中,儘管一些主流體系結構也在某種程度上提供了受保護的指令,例如 HP PA、DEC Alpha 和 SPARC V9 體系結構。

更新於:2021 年 7 月 23 日

4K+ 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.