计算机组织结构 第五章重要练习题详解
考查:分支缓冲命中和分支预测题目1:假设有一条长流水线,仅仅对条件转移指令使用分支目标缓冲。假设分支预测错误的开销为 4 个时钟周期,缓冲不命中的开销为 3 个时钟周期。假设:命中率为 90%,预测精度为 90%,分支频率为 15%,没有分支的基本 CPI 为 1。(1) 求程序执行的 CPI。(2) 相对于采用固定的 2 个时钟周期延迟的分支处理,哪种方法程序执行速度更快解:(1)假设总指令数量
考查:分支缓冲命中和分支预测
题目1:假设有一条长流水线,仅仅对条件转移指令使用分支目标缓冲。假设分支预测错误的开销为 4 个时钟周期,缓冲不命中的开销为 3 个时钟周期。
假设:命中率为 90%,预测精度为 90%,分支频率为 15%,没有分支的基本 CPI 为 1。
(1) 求程序执行的 CPI。
(2) 相对于采用固定的 2 个时钟周期延迟的分支处理,哪种方法程序执行速度更快
解:
(1)假设总指令数量是100条,则分支指令的数量是15条
我们需要考虑,命中之后,还要预测正确才行
缓冲命中不预测准确的开销+不命中的开销
所以,额外的
C
P
I
=
0.15
∗
(
0.9
∗
0.1
∗
4
+
0.1
∗
3
)
=
0.099
CPI=0.15*(0.9*0.1*4+0.1*3)=0.099
CPI=0.15∗(0.9∗0.1∗4+0.1∗3)=0.099
总
C
P
I
=
1.099
CPI=1.099
CPI=1.099
(2)额外的开销
C
P
I
=
0.15
∗
2
=
0.3
CPI=0.15*2=0.3
CPI=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)来写。首先我们先找出相关的对子:
L
W
1
→
A
D
D
LW_1\rightarrow ADD
LW1→ADD
L
W
2
→
A
D
D
LW_2\rightarrow ADD
LW2→ADD
L
W
1
→
M
U
L
2
LW_1\rightarrow MUL_2
LW1→MUL2
L
W
2
→
M
U
L
2
LW_2\rightarrow MUL_2
LW2→MUL2
S
U
B
→
S
W
1
SUB\rightarrow SW_1
SUB→SW1
M
U
L
2
→
S
W
3
MUL_2\rightarrow SW_3
MUL2→SW3
第一路 | 第二路 |
---|---|
L W 1 LW_1 LW1 | L W 2 LW_2 LW2 |
L D LD LD | S U B SUB SUB |
M U L 1 MUL_1 MUL1 | S W 2 SW_2 SW2 |
A D D ADD ADD | M U L 2 MUL_2 MUL2 |
S W 1 SW_1 SW1 | |
S W 3 SW_3 SW3 |
考查超标量处理机,超长字处理机,超流水线处理机
题目3: 设指令流水线由取指令、分析指令和执行指令 3 个部件构成,每个部件经过的时间为 △t,连续流入 12 条指令。分别画出标量流水处理机以及 ILP 均为 4 的超标量处理机、超长 指令字处理机、超流水处理机的时空图,并分别计算它们相对于标量流水处理机的加速比。
解:
解:
标量流水线:
多指令流出流水线的时空图:
ILP=4
超标量处理机:
超长指令处理机:
超长指令字流水线,把四条指令合并成一条长指令,所以只有三条长指令。
超流水线处理机:
把每个块分为四分。
问加速比,就是求:改进前时间/改进后的时间
改进前的时间(标量流水线):14 Δ \Delta Δt
超标量处理机的时间:5 Δ \Delta Δ t
超长指令字处理机的时间:5 Δ \Delta Δ t
超流水线处理机的时间:5.75 Δ \Delta Δ t
加速比分别是:2.8和2.435
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)