软考一个流水线的典型例题

来源:互联网 发布:ubuntu 重置系统 编辑:程序博客网 时间:2024/04/30 00:05

某指令流水线由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

0 0