计算机体系结构复习题(2)

2021-09-24 09:41

(1)若使用排空流水线的策略,则对于条件分支,有两个额外的stall,对无条件分支,有一个额外的stall:

CPI = 1+20%*2+5%*1 = 1.45 加速比S=CPI/1 = 1.45

(2)若使用预测分支成功策略,则对于不成功的条件分支,有两个额外的stall,对无条件分支和成功的条件分支,有一个额外的stall 1:

CPI = 1+20%*(60%*1+40%*2) +5%*1 = 1.33 加速比S=CPI/1 = 1.33

(3)若使用预测分支失败策略,则对于成功的条件分支,有两个额外的stall;对无条件分支,有一个额外的stall;对不成功的条件分支,其目标地址已经由PC 值给出,不必等待,所以无延迟:

CPI = 1+20%*(60%*2 + 40%*0) +5%*1 = 1.29 加速比S=CPI/1 = 1.29

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

(1) 求程序执行的CPI。

(2) 相对于采用固定的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)可知分支目标缓冲方法执行速度快。

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

解:标量流水处理机的时空图:

执行完12条指令需T1=14△t。

超标量流水处理机与超长指令字处理机的时空图:

时间

超长指令字处理机时空图

时间

超标量处理机时空图

超标量流水处理机中,每一个时钟周期同时启动4条指令。执行完12条指令需T2=5△t,相对于标量流水处理机的加速比为:

T14 tS2 1 2.8

T25 t

超长指令字处理机中,每4条指令组成一条长指令,共形成3条长指令。执行完12条

指令需T3=5△t,相对于标量流水处理机的加速比为:

T14 tS3 1 2.8

T35 t

超流水处理机的时空图:

超流水处理机中,每1/4个时钟周期启动一条指令。执行完12条指令需T4=5.75△t,相对于标量流水处理机的加速比为:

T14 tS4 1 2.435

T45.75 t

4、(10

分)假定我们有一台计算机,如果所有的cache访问都命中的话,它的

CPI是2.0。唯一的数据访问指令是store和load,它们占指令总数的40%,不命中损失是25个时钟周期,不命中率是2%。如果所有的指令访问cache都命中的话,那么机器的速度是存在cache不命中时的多少倍?

首先计算所有cache访问都命中时计算机的性能: CPU执行时间=(CPU时钟周期+内存停机周期)×时钟周期时长 =(IC×CPI+0)×时钟周期时长 = IC×2.0×时钟周期时长

现在计算考虑cache不命中在内的真实计算机性能,我们先计算内存停机周期: 内存停机周期=IC×每条指令访问内存的次数×不命中率×不命中损失 =IC×(1+0.4)×0.02×25 =IC×0.7 其中(1+0.4)代表每条指令访问一次内存,而占指令总数40%的store和load访问两次内存,所以平均每条指令访问访问(1+0.4)次内存。这样总的性能是: CPU执行时间=(IC×2.0+IC×0.7)×时钟周期时长 = IC×2.7×时钟周期时长

性能提高的比是执行时间之比的倒数:

cache不命中考虑在内的CPU执行时间/cache访问全部命中的CPU执行时间为: 2.7×IC×时钟周期时长/2.0×IC×时钟周期时长=1.35

cache访问全部命中时的速度是有cache不命中时机器速度的1.35倍。

5、(10

分)假设某台机器访问存储器都是cache命中,那么它的CPI等于2。还假设只有Load和Store指令才能访问存储器数据,这两种指令的数目占整个程序的40%。如果访问存储器时出现cache缺失,则一次缺失需要花费25个时钟周期。问这台机器在所有指令都cache命中情况比有2%缺失情况快几倍? 根据题意,在程序的执行过程中平均每条指令需要一次取指令和0.4次访问数据。因此,在有2% cache缺失时,由于cache缺失带来的额外开销为:

这台机器在所有指令都cache命中时,CPU执行时间为:

而在有2%缺失情况时,CPU执行时间为:

所以这台机器在所有指令都cache命中情况比有2%缺失情况快

1、(12分)在一台单流水线处理机上执行下面的程序。每条指令都要经过“取指令”、“译码”、“执行”和“写结果”4个流水段,每个流水段的延迟时间都是5ns。执行部件的输出端有直接数据通路与它的输入端相连接,执行部件产生的条件码也直接送入控制器。

K1: MOVE R1, #4 ;R1←向量长度4

K2:LOOP:MOVE R2, A(R1) ;R2←A向量的一个元素 K3: ADD R0, R2 ;R0←(R0)+(R2)

K4: DNE R1, LOOP ;R1←(R1)-1,若(R1)≠0转向LOOP K5: MOVE SUN,R0 ;SUN←(R0),保存结果

(1)列出指令之间的所有数据相关,包括读写、写读和写写数据相关。

(2)采用预测转移不成功的静态分支预测技术,画出指令流水线的时空图(可用指令序号表示),并计算流水线的吞吐率、加速比和效率。

(3)采用预测转移成功的静态分支预测技术,计算指令流水线的吞吐率、加速比和效率。 1、解:

(1)指令K1与指令K2之间关于R1的写读数据相关(第1次循环) 指令K1与指令K4之间关于R1的写读数据相关(第1次循环) 指令K1与指令K4之间关于R1的写写数据相关(第1次循环) 指令K2与指令K3之间关于R2的写读数据相关(每次循环内) 指令K2与指令K4之间关于R1的读写数据相关(第次循环内) 指令K3与指令K5之间关于R0的写读数据相关(最后一次循环) 另外,相邻循环体之间的数据相关还有:

计算机体系结构复习题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:XX学校师德师风建设成效和措施

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: