流水线计算:
某计算机系统采用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;