计算机组织结构 第五章重要练习题详解

时间:2024-04-10 10:52:39

考查:分支缓冲命中和分支预测

题目1:假设有一条长流水线,仅仅对条件转移指令使用分支目标缓冲。假设分支预测错误的开销为 4 个时钟周期,缓冲不命中的开销为 3 个时钟周期。
假设:命中率为 90%,预测精度为 90%,分支频率为 15%,没有分支的基本 CPI 为 1。

(1) 求程序执行的 CPI。
(2) 相对于采用固定的 2 个时钟周期延迟的分支处理,哪种方法程序执行速度更快


解:
(1)假设总指令数量是100条,则分支指令的数量是15条
我们需要考虑,命中之后,还要预测正确才行

缓冲命中不预测准确的开销+不命中的开销

所以,额外的CPI=0.15(0.90.14+0.13)=0.099CPI=0.15*(0.9*0.1*4+0.1*3)=0.099
CPI=1.099CPI=1.099

(2)额外的开销CPI=0.152=0.3CPI=0.15*2=0.3
更大,所以第一种更好。


考查指令的调度思想

题目2: 对于两路超标量处理器,从存储器取数据有两拍附加延迟,其它操作均有 1 拍附加延迟,对于下列代码,请按要求进行指令调度。
计算机组织结构 第五章重要练习题详解
(1) 假设两路功能部件中同时最多只有一路可以是访问存储器的操作,同时也最多只有 一路可以是运算操作,指令顺序不变。
(2) 假设两路功能部件均可以执行任何操作,指令顺序不变。
(3) 假设指令窗口足够大,指令可以乱序(out-of-order)流出,两路功能部件均可以执行任何操作


解:
(1)题目要求:

  • 顺序不变(也就是说我们的指令不能跳着来输出,必须按照顺序)
  • 只能是一路运算器,一路是存储器。也就是说,当某一路正在进行存储或者运算操作还没结束的时候不能更换。
  • 注意指令的相关冲突,比如LW R7之后才能进行ADD R9,R4,R7那条指令,所以我们不能马上在第二路进行安排

调度表如下:
计算机组织结构 第五章重要练习题详解
(2)题目要求:

  • 顺序不变
  • 两路可以执行任何操作
    计算机组织结构 第五章重要练习题详解
    LD 后面可以直接就进行SUB指令,因为等待延迟只是为了避免发生冲突,并不是因为该路拥塞。

(3)题目要求:

  • 顺序可变化
  • 两路可以执行任何操作

这个时候我们先调整顺序出最优情况,再按(2)来写。首先我们先找出相关的对子:
LW1ADDLW_1\rightarrow ADD
LW2ADDLW_2\rightarrow ADD
LW1MUL2LW_1\rightarrow MUL_2
LW2MUL2LW_2\rightarrow MUL_2
SUBSW1SUB\rightarrow SW_1
MUL2SW3MUL_2\rightarrow SW_3

第一路 第二路
LW1LW_1 LW2LW_2
LDLD SUBSUB
MUL1MUL_1 SW2SW_2
ADDADD MUL2MUL_2
SW1SW_1
SW3SW_3

考查超标量处理机,超长字处理机,超流水线处理机

题目3: 设指令流水线由取指令、分析指令和执行指令 3 个部件构成,每个部件经过的时间为 △t,连续流入 12 条指令。分别画出标量流水处理机以及 ILP 均为 4 的超标量处理机、超长 指令字处理机、超流水处理机的时空图,并分别计算它们相对于标量流水处理机的加速比。


解:

解:
标量流水线:

计算机组织结构 第五章重要练习题详解
多指令流出流水线的时空图:
ILP=4
超标量处理机:
计算机组织结构 第五章重要练习题详解
超长指令处理机:
计算机组织结构 第五章重要练习题详解超长指令字流水线,把四条指令合并成一条长指令,所以只有三条长指令。

超流水线处理机:
计算机组织结构 第五章重要练习题详解
把每个块分为四分。

问加速比,就是求:改进前时间/改进后的时间

改进前的时间(标量流水线):14Δ\Deltat

超标量处理机的时间:5Δ\Delta t

超长指令字处理机的时间:5Δ\Delta t

超流水线处理机的时间:5.75Δ\Delta t

加速比分别是:2.8和2.435