Content #
若流水线把一条指令分为取指、分析和执行三个部分,三部分的时间分别是取指2ns,分析2ns,执行1ns。
- 流水线周期是多少?
流水线周期为执行时间最长的一段,这里最长是2ns.
- 100条指令全部执行完毕需要的时间是多少?
理论公式:\[(t_1 + t_2 + \cdots + t_k) + (n-1) \times \Delta t\]
(2+2+1) + (100-1) * 2 = 203
实践公式:\[(k+n-1) \times \Delta t\] k为流水线分段,n为流水线的要执行条数,\(\Delta t\) 为流水线周期。
(3+100-1) * 2 = 204
-
流水线的吞吐率和最大吞吐率分别是多少?吞吐率为单位时间内执行的指令条数:100/203=0.49 最大吞吐率为流水线周期的倒数:1/2=0.5
-
流水线的加速比是多少?加速比 = 不使用流水线的执行时间 / 使用流水线的执行时间不使用流水线的执行时间 = (2+2+1) * 100 = 500 加速比 = 500 / 203 = 2.46
-
当采用度为5的流水线执行完100条指令需要多少时间?度为5相当于5条流水线同时运作,也就是每条流水线执行100/5=20条指令。需要的时间:(2+2+)+(20-1)*2=43