五级流水线中带有条件分支的程序的总执行时间
CPU 有五级流水线,运行频率为 1 GHz。取指令 发生在管道的第一阶段。条件分支指令 计算目标地址并评估第三阶段的条件 管道。处理器在条件满足后停止获取新指令 分支,直到知道分支结果。一个程序执行10^9条指令 其中 20% 是条件分支。如果每条指令需要一个周期 平均完成,程序总执行时间为:
(A) 1.0 秒
(B) 1.2 秒
(C) 1.4 秒
(D) 1.6 秒
A CPU has a five-stage pipeline and runs at 1 GHz frequency. Instruction fetch
happens in the first stage of the pipeline. A conditional branch instruction
computes the target address and evaluates the condition in the third stage of the
pipeline. The processor stops fetching new instructions following a conditional
branch until the branch outcome is known. A program executes 10^9 instructions
out of which 20% are conditional branches. If each instruction takes one cycle to
complete on average, the total execution time of the program is:
(A) 1.0 second
(B) 1.2 seconds
(C) 1.4 seconds
(D) 1.6 seconds
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
[即在管道的第三阶段,我们知道分支结果,因此会有 2 个停顿周期]
因此 Total_execution_time = (1+2*.20)*1 = 1.4 秒
我不知道如何更好地解释它,但希望它有帮助有点:)
[i.e in 3rd stage of pipeline we know branch result, so there will be 2 stall cycles]
therefore Total_execution_time = (1+2*.20)*1 = 1.4 seconds
I don't know how to explain it better but hope it helps a bit :)