问题 单项选择题

一条指令的执行过程可以分解为取指、分析和执行三步,在取指时间t取指=3Δt、分析时间t分析=2Δt、执行时间t执行=4Δt的情况下,若按串行方式执行,则10条指令全部执行完需要()Δt。

A.40

B.70

C.90

D.100

答案

参考答案:C

解析:

一条指令的执行过程分为三步,这三步所用的总时间为9Δt,也就是一条指令的执行过程需要9Δt。在按串行执行方式下,即执行完一条指令后再执行下一条指令,10条指令则需要耗时9Δt×10=90Δt。

除了串行执行外,还可以按照流水方式执行,即并行执行。在这种执行方式下,在执行i+2条指令的同时,就可以分析第i+1条指令,也可以取第i条指令,这三个动作是同时进行的,其示意图如图所示。

由于指令的执行阶段所需时间最长(为4Δt),因此指令开始流水执行后,每4Δt将完成一条指令,所以10条指令所需时间为3Δt+2Δt+4Δt+4Δt×9=45Δt。

判断题
单项选择题