一个CPU有一个五级流水线,以1 GHz频率运行。指令获取发生在流水线的第一阶段。条件分支指令计算目标地址并评估流水线的第三级中的条件。处理器在条件分支之后停止获取新指令,直到知道分支结果为止。一个程序执行10^9条指令,其中20%是条件分支。如果每条指令平均需要一个周期才能完成,则程序的总执行时间为:
(A) 1.0秒
(B) 1.2秒
(C) 1.4秒
(D) 1.6秒
发布于 2014-12-25 13:12:58
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 也就是说,在流水线的第三阶段,我们知道分支结果,因此将有两个停顿周期
因此Total_execution_time = (1+2*.20)*1 = 1.4秒
我不知道如何更好地解释它,但希望它能有所帮助:)
https://stackoverflow.com/questions/7991643
复制相似问题