計算機體系結構中分支處理的設計空間是什麼?


分支處理有兩種方法,例如分支處理的佈局及其分支處理的微體系結構實現,如圖所示。分支處理包括三大子任務:分支檢測、處理未決條件分支以及訪問分支目標路徑。

第一個方面是**分支檢測**。最初,處理器在指令解碼期間檢測分支。但是,處理器越早識別分支,就可以越早啟動分支處理,懲罰也就越少。因此,新方案試圖儘早遇到分支。

最先進的分支檢測技術避免了顯式解碼。相反,分支檢測被統一到指令提取結構中。這種方案被稱為整合指令提取和分支檢測。

指令提取結構得以延續,以便它可以識別下一個要提取的指令是否是分支。每個檢測到的分支都被猜測為已執行,並且除了下一條順序指令之外,還可以提前提取分支的目標地址甚至目標指令。

佈局的下一個方法是**處理未決條件分支**。如果在分支處理期間計算時,確定的條件尚不可訪問,則可以指示條件分支未決。在引用條件被接受之前,無法計算條件分支。

例如,如果指定的條件定義了先前指令結果的符號,則評估的先決條件是先前指令已執行。在引用條件變得已知之前,條件分支是未決的。

分支處理佈局的最後一種方法是如何**訪問分支目標路徑**。“已執行”猜測的分支懲罰很大程度上取決於如何訪問分支目標路徑。當前的處理器使用四種基本技術之一:計算/提取方案、BTAC(分支目標訪問快取)方案、BTIC(分支目標指令快取)方案以及 I 快取中的後繼索引方案。

分支處理的下一階段是**分支處理的微體系結構實現**。分支處理包含基本功能,包括指令提取、解碼和 BTA 計算,以及可能的其他專用功能以加快分支處理速度。

這些專用功能可以是早期分支檢測、分支預測或訪問目標路徑的先進方案。專用功能使用專用硬體實現,例如 BTAC、BTIC 或 BHT。

更新於:2021年7月23日

421 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.