什麼是排程率?


與單獨的預留站不同,組預留站或中央預留站(或 DRIS)必須能夠高效地排程每個週期多於一條指令。在這些情況下,設計空間需要一個額外的元件來確定每個預留站或 DRIS 每個週期可以排程多少條指令。這個元件被稱為**排程率**。

一個擱置緩衝區必須能夠在每個週期內將一條指令排程到連線到它的任何執行單元 (EU)。對於具有兩到三個 EU 的組站來說,這更容易實現,而對於連線有相當數量 EU 的中央站或 DRIS 來說,則比較困難。例如,R10000 使用組預留站。它的 FX 預留站每個週期可以排程兩條指令,每條指令分別發往所服務的 EU。

相反,它的 FP 預留站服務於四個 FP EU,但每個週期最多隻能排程兩條指令。一條指令可以轉發到 FP 加法器,另一條可以轉發到 FP 乘法器、FP 除法器或 FP 平方根單元。這些排程率限制主要是由於資料路徑或暫存器埠的限制,目的是降低複雜性。

對於中央預留站或 DRIS,需要的排程率高於組站。例如,PentiumPro 每個週期可以排程五條 RISC 指令(稱為 nop-s)。需要注意的是,埠 0 由六個 EU 共享。這是一個設計權衡。在 PentiumPro 中,FP 資料內部需要 86 位。考慮到每個 FP 單元至少需要兩個運算元並至少提供一個結果,透過共享一個複雜的輸入/輸出埠可以在芯片面積上節省相當大的空間。

如表所示,具有擱置功能的超標量處理器的最大指令釋出和排程率。

具有擱置功能的超標量處理器的最大指令釋出和排程率

處理器/批次發貨年份最大指令釋出率 (指令/週期)最大排程率 (指令/週期)
PowerPC 603 (1993)33
PowerPC 604 (1995)46
PowerPC 620 (1995)46
Power2 (1993)4/610
Nx586 (1994)¾¾
K5 (1995)45
PentiumPro (1995)45
PM1 (Sparc 64) (1995)48
PA8000 (1996)44
R10000 (1996)45

如表所示,在某些情況下,這兩個比率相同,例如在 PowerPC 603 和 PA 8000 處理器中。在大多數情況下,具有擱置功能的超標量處理器能夠排程更多指令執行,而不是將其釋出到擱置區。例如,PowerPC 604 和 PowerPC 620 最多可以釋出四條指令,但在每個週期內最多可以啟動六個操作的執行。

更新於:2021年7月22日

500 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.