我们需要知道以下公式:
设指令的条数为 n,指令执行需要 m 个阶段,时钟周期为 t
不采用流水线执行的时间:T1 = n x m x t;
采用流水线执行的时间:T2 = m x t + (n - 1) x t;
加速比 S = T1 / T2(加速比一定大于 1 )
吞吐率 FP = n / T2 条/秒(注意将时间换算成秒)
效率 η = 小正方形的面积 / 大矩形的面积
我们来看一道题:
指令流水线有取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器(WB)五个阶段,共有 20 条指令连续输入此流水线。
(1)画出流水处理的时空图,假设时钟周期为 100 ns
(2)求流水线的实际吞吐率(单位时间里执行完毕的指令数)
(3)求流水线的加速比
(4)求流水线的效率
以下是分析解题过程:
?