貨架緩衝區的佈局是什麼?


貨架緩衝區主要包含三個方面:使用的緩衝區型別和容量,以及讀寫埠的數量,如下圖所示。

貨架緩衝區的型別

貨架緩衝區主要分為兩種:獨立式貨架緩衝區和組合式緩衝區,後者用於貨架、重新命名和重新排序,如下圖所示。

在大多數情況下,貨架緩衝區實現為獨立式貨架緩衝區,即專門用於貨架的緩衝區。這種型別的貨架緩衝區通常被稱為預留站。在超標量處理器中,預留站使用三種基本方案執行,如下圖所示。

最簡單的情況下,在每個執行單元 (EU) 的開頭使用**獨立預留站**。因此,計劃在特定 EU 中執行的指令首先被共享到該 EU 之前的相關預留站中。獨立預留站支援足夠的空間來僅影響少量指令,例如 2 到 4 條。

另一種方法是將預留站作為**組站**執行。因此,同一個預留站儲存一組 EU 的指令,這些 EU 執行類似型別的指令。例如,R10000 有三個組站,其中一個服務於兩個 FX-ALU,另一個服務於一個地址單元,而第三個服務於四個浮點單元。

最後一種方法是使用**中央預留站**服務所有 EU。中央站需要比組站更大的容量。此外,它可以比組站每個週期接收和排程更多指令。

貨架緩衝區條目的數量

從獨立預留站到組預留站再到中央預留站的改進,需要支援越來越多的貨架位置。獨立預留站可以存放 2-4 條指令,組預留站有 6、12 或 16 個條目,而到目前為止唯一執行的中央預留站(PentiumPro)可以存放 20 條指令。預留站中的條目總數決定了排程視窗的寬度。

讀寫埠的數量

貨架緩衝區佈局的最後一個組成部分是讀寫埠的數量。這個組成部分決定了在單個週期內可以寫入或讀出特定貨架緩衝區的指令數量。首先,讓我們討論一下輸出埠(讀埠)的預期數量。

獨立預留站每個週期只需要轉發一條指令。組預留站或中央預留站需要每個週期傳送多條指令,理想情況下與連線到它的 EU 數量相同。獨立、組和中央預留站需要越來越多的輸入埠(寫埠)。具有獨立預留站的處理器每個週期只允許將一條指令發出到任何人的預留站。

更新於:2021年7月22日

284 次瀏覽

啟動您的職業生涯

完成課程後獲得認證

開始
廣告