某指令流水线由5段组成,各段所需要的时间如下图所示。
--> t --> 3t --> t --> 2t --> t --> 连续输入10条指令时的吞吐率为( )。 A.10/70t B.10/49t C.10/35t D.10/30t
解答:
第一条指令 -( ---)-(--)-
第二条指令 -(---)-(--)-
第三条指令 -(---)-(--)-
因为 是流水线,所以时间为3t的指令不能重叠,所以每隔3t时间开始一条指令,当第一条指令花费8t时间后,每隔3t完成一条指令,第10条指令完成的时间是:8+3*9=35t.
吞吐率为:10条指令/花费时间35t=10/35
弄懂两个概念就好做了:流水线时间和吞吐率
流水线时间计算有个公式:一条指令所需时间+(指令条数-1)*时间最长的指令的一段 // 8t+9*3t=35t吞吐率也有个公式:指令条数除以流水线时间 // 10/35t