在五阶段管道中带有条件分支的程序的总执行时间



CPU有一个5级流水线,运行频率为1ghz。指令取出发生在管道的第一阶段。条件分支指令的第三阶段计算目标地址并评估条件管道。处理器在条件语句之后停止获取新的指令分支,直到分支结果已知为止。一个程序执行10^9条指令其中20%是条件分支。如果每条指令需要一个周期平均完成,程序的总执行时间为:

(A) 1.0秒

(B) 1.2秒

(C) 1.4秒

(D) 1.6秒

Total_execution_time = (1+stall_cycle*stall_frequency)*exec_time_each_inst
exec_time_each_inst = 1s [i.e @1ghz need to execute 10^9 inst =>  1 inst = 1 sec]
stall_frequency = 20% = .20
stall_cycle = 2 

[我。在管道的第三阶段,我们知道分支结果,因此将有2个失速周期]

因此Total_execution_time =(1+2*.20)*1 = 1.4秒

我不知道如何更好地解释,但希望它能有所帮助:)

最新更新