问题
单项选择题
某计算机执行一条指令的过程分为取指令、分析指令和执行指令3段操作,每一段操作占用的时间分别是△t、2△t、3△t。若采用常规的顺序串行执行方式,连续执行n条指令所需时间是 (7) ;若采用流水线方式,3段操作重叠执行时,连续执行n条指令所需时间是 (8) 。
(8)处填()。
A.9n△t
B.3(n-1)△t
C.6n△t
D.3(n+2)△t
答案
参考答案:D
解析:
计算机执行一条指令的时间为指令周期。它包括取指令、分析指令和执行执令所需的全部时间。当执行指令所有操作都是串行执行时,则完成一条指令所需时间是所有操作时间之和。本题中完成一条指令的时间为△t+2△t+3△t=6△t。
计算机连续执行n条指令所需时间为n×6△t=6n△t。
若采用流水线方法执行指令,则计算机中需设置独立的3个部件,即取指令部件、分析指令部件和执行指令部件。3个部件工作时在时间上是重叠的,但在流水线各个流水级的时间都是相等的,并且选取各个流水级中时间最长者作为一个流水级操作的时间,因此本题中一个流水级所用的时间应为3△t。
连续执行n条指令所需时间为:第1条指令从输入到输出结果需用3×3△t=9△t,以后每隔一个流水级时间即输出一个结果,(n-1)条指令共需(n-1)×3△t=3(n-1)△t。若本题中采用流水线方案,理想情况下执行n条指令需用时间是9△t+3(n-1)△t=3n△t+6△t=3(n+2)△t。