流水線計算:
某計算機系統採用5級流水線結構執行指令,設每條指令的執行由取指令(2Δt),分析指令(1Δt),取數操作(3Δt),運算(1Δt)和寫回結果(2Δt)組成,並分別用5個子部件完成,該流水線的最大吞吐量(?);若連續向流水線輸入10條指令,則該流水線的加速比爲(?);
n:指令條數,最大吞吐量計算公式:
指令條數 / (流水線週期和 + (指令條數 - 1) * 最大指令週期),即:
n / (SUM(Δt) + (n - 1) * max(Δt))
解:
1) 流水線最大吞吐量:
n / (2Δt + 1Δt + 3Δt + 1Δt + 2Δt + (n - 1) * 3Δt)
= n/(6Δt + 3nΔt);
當n趨向於無窮大的時候,上式結果爲 1/3;
2) 流水線的加速比:
10條指令不適用流水線 =
(2Δt + 1Δt + 3Δt + 1Δt + 2Δt) * 10 = 90Δt;
10條指令使用流水線 =
(2Δt + 1Δt + 3Δt + 1Δt + 2Δt + (10 - 1) * 3Δt) = 36Δt;
加速比:
90Δt / 36Δt = 5:2;