假设有一条长流水线 仅对条件转移指令使用分支目标缓冲。假设分支预测错误的开销为4个时钟周期 缓

大学 分支,水线,时钟 已帮助 人

假设有一条长流水线,仅对条件转移指令使用分支目标缓冲。假设分支预测错误的开销为4个时钟周期,缓冲不命中(失效)的开销为3个时钟周期。假设:命中率为90%,预测精度为90%,分支频率为15%,没有分支的基本CPI为1。 ①求程序执行的CPI。 ②相对于采用固定的2个时钟周期延迟的分支处理,哪种方法程序执行速度更快?

请帮忙给出正确答案和分析,谢谢!

热搜:关于流水线效率,以下说法正确的是

答案解析

难度★★☆ 搜索
  • 正确答案:×
    ①程序执行的CPI=没有分支的基本CPI(1)+分支带来的额外开销。分支带来的额外开销是指在分支指令中,缓冲命中但预测错误带来的开销与缓冲没有命中带来的开销之和。分支带来的额外开销=15%×(90%命中×10%预测错误×4+10%没命中×3)=0.099。所以,程序执行的CPI=1+0.099=1.099。②采用固定的2个时钟周期延迟的分支处理CPI=1+15%×2=1.3。由①、②可知,分支目标缓冲方法执行速度快。