若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别是t取指=2ns ,t 分析=2ns,t 执行=1ns。则100 条指令全部执行完毕需 (4) ns。
(4)A.163 B.183 C.193 D.203 答案:D 本类题有两类:
第一类是各指令段,有同步时间,即有指令流操作周期.当某指令段执行完毕后,必须等到下一个操作周期来临时,才能执行下一条指令的相同段.第一题与2005年的题就是这样.其计算公式是:
(指令所分段数-1)*指令流操作周期 +指令数*指令流操作周期.
第二类是各指令段,没有同步时间,每段执行完毕,不需要等待,直接执行下一条执令相同的段.2006的题就是这个.其计算方法是
第一条指令执行时间+(指令数-1)*各指令段执行时间中最大的执行时间
==========================================================
本题为第二类:(2+2+1)+(100-1)*2=203
指令流水线的计算
1.现有四级指令流水线,分别完成取指、取作的时间依次为数、运算、传送结果四步操作。若完成上述操9ns、10ns、6ns、8ns。则流水线的操作周期应设计为 (1) ns。 (1)A.6 B.8 C.9 D.10
试题解析: 取最大的那个微指令时间作为流水线操作周期。 答案:D
2.若每一条指令都可以分解为取指、分析和执行三步。已知取指时间t取指=4△t,分析时间t分析=3△t,执行时间t执行=5△t。如果按串行方式执行完100条指令需要 △t。如果按照流水方式执行,执行完100条指令需要(3) △t。
(2)A.1190 B.1195 C.1200 D.1205 (3)A.504 B.507 C.508 D.510
试题解析: 串行执行时,总执行时间=100×(t取指 + t分析 + t执行)=100×12△t=1200△t。 连续两条指令的执行时间差为t执行 = 5△t, 因此100条指令的总执行时间=(t取指 + t分析 + t执行)+99×t执行= 507△t。
答案:(2)C (3)B
联系客服