流水线计算题

流水线计算题

Content #

若流水线把一条指令分为取指、分析和执行三个部分,三部分的时间分别是取指2ns,分析2ns,执行1ns。

  1. 流水线周期是多少?

流水线周期为执行时间最长的一段,这里最长是2ns.

  1. 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
  1. 流水线的吞吐率和最大吞吐率分别是多少?吞吐率为单位时间内执行的指令条数:100/203=0.49 最大吞吐率为流水线周期的倒数:1/2=0.5

  2. 流水线的加速比是多少?加速比 = 不使用流水线的执行时间 / 使用流水线的执行时间不使用流水线的执行时间 = (2+2+1) * 100 = 500 加速比 = 500 / 203 = 2.46

  3. 当采用度为5的流水线执行完100条指令需要多少时间?度为5相当于5条流水线同时运作,也就是每条流水线执行100/5=20条指令。需要的时间:(2+2+)+(20-1)*2=43

From #