每一条指令都可以分解为取指、分析和执行三步。已知取指时间t
取指
=5△t,分析时间t
分析
=4△t,执行时间t
执行
=5△t。如果按顺序方式从头到尾行完100条指令需(25)△t。如果按照[执行]k、[分析]k+1、[取指]k+2重叠的流水线方式执行指令,从头到尾执行完500条指令需(26)△t。
单选题
(25)
A、
1390
B、
1395
C、
1400
D、
1407
【正确答案】
C
【答案解析】
单选题
(26)
A、
2492
B、
2500
C、
2510
D、
2515
【正确答案】
C
【答案解析】
解析:按顺序方式执行指令,每条指令从取指到执行共耗时14△t,所以100条指令共耗时:14×100=1400△t。 采用流水线方式时,系统在同一时刻可以进行第k条指令的取指,第k+1条指令的分析,第k+2条指令的执行,所以效率大大提高了。采用流水线的执行示意图如图6-2所示。
平时大家看到的都是这样的示意图,但是平时我们看到的图都是笼统的。这里把所有周期都定为统一长度,这样流水线的总时间为:(n+2)×周期。如此题中为(100+2)×5=510,这种算法是在实际应用中常用的,但考试中,更喜欢以下面这第二种算法来进行计算。 即流水线计算公式是:第一条指令顺序执行时间+(指令条数-1)×周期,这个公式是怎么来的呢?请大家见图6-3。
提交答案
关闭