重新命名緩衝區的佈局是什麼?
重新命名緩衝區的佈局建立了重新命名的實際框架。有三個基本組成部分是重新命名緩衝區的型別和數量以及用於訪問重新命名緩衝區的基本機制,如圖所示。
重新命名緩衝區的型別
所選擇的重新命名緩衝區型別對重新命名具有最大的影響。它決定了實現的基本方法,因此它決定了指令的中間結果將寫入或讀取的位置。它可以被指定為已經生成但尚未具備透過寫入體系結構暫存器來修改實際程式狀態資格的中間結果。
重新命名緩衝區的數量
下表概述了最近的處理器提供了多少個重新命名緩衝區。該表的三個部分分別涵蓋了不同的實現型別。在第一部分中,我們列出了使用合併暫存器檔案作為體系結構暫存器和重新命名暫存器的處理器。在這些處理器中,可以找到相當大量的可用於重新命名的額外暫存器。重新命名緩衝區的數量從 Power1 的 8 個到 R10000 的 32 個,甚至 64 位 Sparc 處理器 PM1 (Sparc64) 的 38 個。
提供的重新命名緩衝區數量
重新命名的實現 | 重新命名緩衝區的數量 | |
---|---|---|
處理器型別 | FX | FP |
合併的重新命名和體系結構暫存器檔案 | ||
Power1 (1990) | 8 (32 個體繫結構 + 8 個重新命名) | |
Power2 (1993) | 22 (32 個體繫結構 + 22 個重新命名) | |
ES/9000 (1992p) | 16 (16 個體繫結構 + 16 個重新命名) | 12 (4 個體繫結構 + 12 個重新命名) |
PM1 (1995) | 38 (78 個體繫結構 + 38 個重新命名) | 24 (32 個體繫結構 + 24 個重新命名) |
R10000 (1996) | 32 (32 個體繫結構 + 32 個重新命名) | 32 (32 個體繫結構 + 32 個重新命名) |
單獨的重新命名暫存器檔案 | ||
PowerPC 603 (1993) | n.a. | 4 |
PowerPC 604 (1995) | 12 | 8 |
PowerPC 620 (1996) | 8 | 8 |
在 ROB 中重新命名 | ||
Am29000 sup (1995) | 10 | |
K5 (1995) | 16 | |
PentiumPro (1995) | 40 |
用於訪問重新命名緩衝區的基本機制
重新命名緩衝區需要出於多種目的進行訪問,例如獲取運算元、更新運算元或釋放運算元。有兩種完全不同的訪問機制可用,即關聯機制和索引訪問機制。
關聯訪問機制 - 具有關聯訪問的重新命名緩衝區通常儲存三種資訊,例如目標暫存器編號、其值和必要的狀態資訊。在這種方案中,當要獲取暫存器內容時,例如 r2 的內容,所有條目都會被關聯地查詢以找到目標暫存器欄位與 r2 匹配的特定條目。
索引訪問機制 - 另一種根本不同的訪問機制是索引訪問機制。在這種情況下,使用對映表獲取重新命名緩衝區檔案的實際索引。對映表包含暫存器 r2 的索引“3”。因此,將從重新命名緩衝區中的對應條目編號 3 訪問暫存器值“20”。
廣告