计算机体系结构 习题总结 第五章 5-8 5-9

141 阅读1分钟

本文中的题目出自清华大学出版社计算机系统结构教程第 3 版习题 5-8 和 5-9 。这两道题是关于分支预测技术带来的延迟计算问题。

image-20240121110206126

第一问
程序执行的CPI=没有分支的基本CPI+分支带来的额外开销程序执行的 \text{CPI} = 没有分支的基本 \text{CPI} + 分支带来的额外开销

分支带来的额外开销是指在分支指令中,缓冲命中但预测错误带来的开销与缓冲没有命中带来的开销之和。

分支带来的额外开销=15%×(90%(命中)×10%(预测错误)×4+10%(没命中)×3)=0.099分支带来的额外开销= 15\% \times (90\%(命中)×10\%(预测错误)×4 + 10\%(没命中)×3)= 0.099

所以

程序执行的CPI=1+0.099=1.099程序执行的\text{CPI} = 1 + 0.099 = 1.099
第二问

采用固定的 2 个时钟周期延迟的分支处理

CPI=1+15%×2=1.3\text{CPI}= 1 + 15\%\times2 = 1.3

image-20240121111014008

设每条无条件转移指令的延迟为 xx ,则有:

1+5%×x1.11+5\%×x=1.1

解得 x2x=2

当分支目标缓冲( BTB )命中时,无条件转移指令的延迟为 00

所以

CPI=1+2×5%×(190%)1.01\text{CPI} = 1 + 2 \times 5\% ×(1 -90\%) =1.01