高级计算机系统结构2013年复习题

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

②相对于采用固定的2个时钟周期延迟的分支处理,哪种方法程序执行速度更快? 参考答案:

解:(1)程序执行的CPI = 没有分支的基本CPI(1) + 分支带来的额外开销 分支带来的额外开销是指在分支指令中,缓冲命中但预测错误带来的开销与缓冲没有命中带来的开销之和。

分支带来的额外开销= 15% * (90%命中×10%预测错误×4 + 10%没命中×3)= 0.099 所以,程序执行的CPI = 1 + 0.099 = 1.099

(2)采用固定的2 个时钟周期延迟的分支处理CPI = 1 + 15%×2 = 1.3 由(1)(2)可知分支目标缓冲方法执行速度快。

2. 计算机系统中有三个部件可以改进,这三个部件的部件加速比为: 部件加速比1=30; 部件加速比2=20 部件加速比3=10 ① 如果部件2和部件3的可改进比例均为30%,那么当部件 1的可改进比例为多少时,系统加速比才可以达到10?

②如果三个部件的可改进比例分别为20%、10%和30%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少? 参考答案:

解:(1)在多个部件可改进情况下,Amdahl定理的扩展:

Sn

1

F

(1 Fi) i

Si

已知S1=30,S2=15,S3=15,Sn=10,F1=0.3,F2=0.3,得:

10

1

1(-0.3 0.3 F3) (0.3/30 0.3/20 F3/10)

得F3=0.36,即部件3的可改进比例为36%。

(2)设系统改进前的执行时间为T,则3个部件改进前的执行时间为:(0.3+0.3+0.2)T = 0.8T,不可改进部分的执行时间为0.2T。

已知3个部件改进后的加速比分别为S1=30,S2=20,S3=10,因此3个部件改进后的执行时间为:

'Tn

0.3T0.3T0.2T

0.045T 302010

改进后整个系统的执行时间为:Tn = 0.045T+0.2T = 0.245T

那么系统中不可改进部分的执行时间在总执行时间中占的比例是:

高级计算机系统结构2013年复习题相关文档

最新文档

返回顶部