若每一条指令都可以分解为取指,分析和执行三步。已知取指时间t取指=8△t,分析时间t分析=3△t,执行时间t执行=12△t。如果按照流水线方式执行指令,从头到尾执行完 100条指令至少需(41) △t。如果取指时间t取指=8△t,分析时间t分析=12△t,

admin2010-01-23  37

问题 若每一条指令都可以分解为取指,分析和执行三步。已知取指时间t取指=8△t,分析时间t分析=3△t,执行时间t执行=12△t。如果按照流水线方式执行指令,从头到尾执行完 100条指令至少需(41) △t。如果取指时间t取指=8△t,分析时间t分析=12△t,执行时间 t执行=3△t,则从头到尾执行完100条指令至少需(42)△t。

选项 A、1200
B、1223
C、1224
D、1211

答案D

解析 采用流水线方式时,系统在同一时刻可以进行第k条指令的取指,第k+ 1条指令的分析,第k+2条指令的执行,所以效率大大提高了。采用流水线的执行示意图如图13-45所示。

   平时大家看到的都是这样的示意图,但是平时我们看到的图都是笼统的。这里把所有周期都定为统一长度。这样流水线的总时间为:(n+2)×周期。如此题中为
   (100+2)×12=1224
   但这不是最少的,为什么?先看另一个流水线总时间计算公式:
   T=第一条指令顺序执行时间+(指令条数-1)×周期

其中,k是流水线的段数,ti是各段的时间,n是总任务数。
   这个公式是怎么来的呢?请大家结合该题数据:取指时间t取指=8△t,分析时间t分析= 3△t,执行时间t执行=12△t,如图13-46所示。

   其中黑的区域表示分析段空闲,根据这种方式算出来的总时间为
   8+3+12+(100-1)×12=1211
   这种方式的总时间为什么比图13-45的方式要少呢?这是因为在图13-45中,限定了各段的时间一样,都为最慢的那段的时间,而图13-46的方式却没有,其在执行第一条指令时,取指段节省12-8=4的时间,分析段又节省12-3=9的时间,所以总共节省了 13的时间。按图13-45方式来执行时,第一条指令的取指和分析段有时间空闲,黑色区域表示空闲,如图13-47所示。

   如果取指时间t取指=8△t,分析时间t分析=12△t,执行时间t执行=3△t,此时时空图将变成如图13-48所示。

   容易看出,执行100条指令的时间不变。
转载请注明原文地址:https://jikaoti.com/ti/K1a7FFFM
0

相关试题推荐
最新回复(0)