某指令流水线由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+93t=35t 吞吐率也有个公式:指令条数除以流水线时间 // 10/35t

本题中 流水线时间:6ns+2ns99=204ns 吞吐率:100/204ns ≈49010^6