1、高级计算机系统结构复习题分析1. 假设有一条长流水线,仅仅对条件转移指令使用分支目标缓冲。假设分支预测错误的开销为4个时钟周期,缓冲不命中的开销为3个时钟周期。假设:命中率为90%,预测精度为90%,分支频率为15%,没有分支的基本CPI为1。求程序执行的CPI。相对于采用固定的2个时钟周期延迟的分支处理,哪种方法程序执行速度更快?参考答案:解:(1)程序执行的CPI = 没有分支的基本CPI(1) + 分支带来的额外开销分支带来的额外开销是指在分支指令中,缓冲命中但预测错误带来的开销与缓冲没有命中带来的开销之和。分支带来的额外开销= 15% * (90%命中10%预测错误4 + 10没命中3
2、)= 0.099所以,程序执行的CPI 1 0.099 = 1.099(2)采用固定的2 个时钟周期延迟的分支处理CPI = 1 + 15%2 = 1.3由(1)(2)可知分支目标缓冲方法执行速度快。2. 计算机系统中有三个部件可以改进,这三个部件的部件加速比为:部件加速比1=30; 部件加速比2=20 部件加速比3=101 如果部件2和部件3的可改进比例均为30%,那么当部件 1的可改进比例为多少时,系统加速比才可以达到10?如果三个部件的可改进比例分别为20%、10%和30%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少? 参考答案:解:(1)在多个部件可
3、改进情况下,Amdahl定理的扩展:已知S130,S215,S315,Sn10,F10.3,F20.3,得:得F30.36,即部件3的可改进比例为36%。(2)设系统改进前的执行时间为T,则3个部件改进前的执行时间为:(0.3+0.3+0.2)T = 0.8T,不可改进部分的执行时间为0.2T。已知3个部件改进后的加速比分别为S130,S220,S310,因此3个部件改进后的执行时间为: 改进后整个系统的执行时间为:Tn = 0.045T+0.2T = 0.245T那么系统中不可改进部分的执行时间在总执行时间中占的比例是:3. 设指令流水线由取指令、分析指令和执行指令3个部件构成,每个部件经过
4、的时间为t,连续流入12条指令。分别画出标量流水处理机以及ILP均为4的超标量处理机、超长指令字处理机、超流水处理机的时空图,并分别计算它们相对于标量流水处理机的加速比。参考答案:解:标量流水处理机的时空图:执行完12条指令需T114t。超标量流水处理机与超长指令字处理机的时空图:超标量流水处理机中,每一个时钟周期同时启动4条指令。执行完12条指令需T25t,相对于标量流水处理机的加速比为:超长指令字处理机中,每4条指令组成一条长指令,共形成3条长指令。执行完12条指令需T35t,相对于标量流水处理机的加速比为:超流水处理机的时空图:超流水处理机中,每1/4个时钟周期启动一条指令。执行完12条
5、指令需T45.75t,相对于标量流水处理机的加速比为:4. 设一条指令的执行过程分成取指令、分析指令和执行指令三个阶段,每个阶段所需的时间分别为t、t和2t 。分别求出下列各种情况下,连续执行N条指令所需的时间。1 只有“取指令”与“执行指令”重叠;2 “取指令”、“分析指令”与“执行指令”重叠。参考答案: 连续执行N条指令所需的时间为:4t3(N-1)t(3N1)t 连续执行N条指令所需的时间为:4t2(N-1)t(2N2)t5.有一指令流水线如下所示 2 求连续输入10条指令,该流水线的实际吞吐率和效率; 该流水线的“瓶颈”在哪一段?请采取两种不同的措施消除此“瓶颈”。对于你所给出的两种新
6、的流水线,连续输入10条指令时,其实际吞吐率和效率各是多少? 参考答案:(1)(2)瓶颈在3、4段。 变成八级流水线(细分) 重复设置部件6. 动态多功能流水线由6个功能段组成,如下图:其中,S1、S4、S5、S6组成乘法流水线,S1、S2、S3、S6组成加法流水线,各个功能段时间均为50ns,假设该流水线的输出结果可以直接返回输入端,而且设置有足够的缓冲寄存器,若以最快的方式用该流水计算: 1 画出时空图;2 计算实际的吞吐率、加速比和效率。参考答案: 7. 某向量处理机有16个向量寄存器,其中V0V5中分别放有向量A、B、C、D、E、F,向量长度均为8,向量各元素均为浮点数;处理部件采用两
7、条单功能流水线,加法功能部件时间为2拍,乘法功能部件时间为3拍。采用类似于CARY-1的链接技术,先计算(A+B)*C,在流水线不停流的情况下,接着计算(D+E)*F。求此链接流水线的通过时间?(设寄存器入、出各需1拍)假如每拍时间为50ns,完成这些计算并把结果存进相应寄存器,此处理部件的实际吞吐率为多少MFLOPS?参考答案:解:(1)在这里假设AB的中间结果放在V6中,(AB)C地最后结果放在V7中,DE地中间结果放在V8中,(DE)F的最后结果放在V9中。具体实现参考下图:通过时间应该为前者(AB)C)通过的时间:T通过= (1+2+1)+(1+3+1) =9(拍)(2)在做完(AB)
8、C之后,作(CD)E就不需要通过时间了。V6AB V7V6C V8DE V9V8F8. 假设分支目标缓冲的命中率为90%,程序中无条件转移指令的比例为5%,没有无条件转移指令的程序CPI值为1。假设分支目标缓冲中包含分支目标指令,允许无条件转移指令进入分支目标缓冲,则程序的CPI值为多少? 参考答案: 解:设每条无条件转移指令的延迟为x,则有:15%x1.1 x2当分支目标缓冲命中时,无条件转移指令的延迟为0。所以 程序的CPI 1 2 5% (1 90%) 1.019. 一台32个处理器的计算机,对远程存储器访问时间为400ns。除了通信以外,假设计算中的访问均命中局部存储器。当发出一个远程
9、请求时,本处理器挂起。处理器时钟时间为1GHz,如果指令基本的IPC为2(设所有访存均命中Cache),求在没有远程访问的状态下与有0.2%的指令需要远程访问的状态下,前者比后者快多少?参考答案:解:没有远程访问时,机器的CPI为 1/基本IPC=1/2=0.5 有0.2%远程访问的机器的实际CPI为 CPI基本CPI远程访问率远程访问开销 0.50.2%远程访问开销 远程访问开销为 :远程访问时间/时钟周期时间400 ns/1 ns400个时钟周期 CPI0.50.2%4001.3 因此在没有远程访问的情况下的计算机速度是有0.2%远程访问的计算机速度的1.3/0.5=2.6倍。10. 简述
10、Tomasulo算法的基本思想。参考答案:答:核心思想是: 记录和检测指令相关,操作数一旦就绪就立即执行,把发生RAW冲突的可能性减小到最少; 通过寄存器换名来消除WAR冲突和WAW冲突。寄存器换名是通过保留站来实现,它保存等待流出和正在流出指令所需要的操作数。基本思想:只要操作数有效,就将其取到保留站,避免指令流出时才到寄存器中取数据,这就使得即将执行的指令从相应的保留站中取得操作数,而不是从寄存器中。指令的执行结果也是直接送到等待数据的其它保留站中去。因而,对于连续的寄存器写,只有最后一个才真正更新寄存器中的内容。一条指令流出时,存放操作数的寄存器名被换成为对应于该寄存器保留站的名称(编号
11、)。11. 假定有一个处理机台数为p的共享存储器多处理机系统。设m为典型处理机每条指令执行时对全局存储器进行访问的平均次数。设t为共享存储器的平均存取时间,x为使用本地存储器的单处理机MIPS速率。再假定在多处理机的每台处理机上执行n条指令。 根据参数m,t,x,n和p,确定多处理机的有效MIPS速率。 假设一台多处理机有p=32台RISC处理机,m=0.4,t=1us,要使多处理机的有效性能达到56MIPS,需要每台处理机的MIPS速率是多少(即x=?)? 假设有p=32台CISC处理机用在上述多处理机系统中,每台处理机的x=2MIPS、m=1.6、t=1us,试问多处理机系统的有效MIPS
12、速率是多少?参考答案: 解:(1)有效MIPS速率=p*x/(1+m*x*t) (2)32*x/(10.4*x*1)=56,得x=5.83 (3)有效MIPS速率=p*x/(1+m*x*t)=32*2/(1+1.6*2*1)=15.2412. 假设对指令Cache的访问占全部访问的75%;而对数据Cache的访问占全部访问的25%。Cache的命中时间为1个时钟周期,失效开销为50 个时钟周期,在混合Cache中一次load或store操作访问Cache的命中时间都要增加一个时钟周期,32KB的指令Cache的失效率为0.15%,32KB的数据Cache的失效率为3.77%,64KB的混合Ca
13、che的失效率为0.95%。又假设采用写直达策略,且有一个写缓冲器,并且忽略写缓冲器引起的等待。试问指令Cache和数据Cache容量均为32KB的分离Cache和容量为64KB的混合Cache相比,哪种Cache的失效率更低?两种情况下平均访存时间各是多少?参考答案:解:(1)根据题意,约75%的访存为取指令。因此,分离Cache的总体失效率为:(75%0.15%)(25%3.77%)1.055%; 容量为128KB的混合Cache的失效率略低一些,只有0.95%。 (2)平均访存时间公式可以分为指令访问和数据访问两部分: 平均访存时间指令所占的百分比(读命中时间读失效率失效开销) 数据所占
14、的百分比(数据命中时间数据失效率失效开销) 所以,两种结构的平均访存时间分别为: 分离Cache的平均访存时间75%(10.15%50)25%(13.77%50)(75%1.075)(25%2.885)1.5275 混合Cache的平均访存时间75%(10.95%50)25%(110.95%50)(75%1.475)(25%2.475)1.725因此,尽管分离Cache的实际失效率比混合Cache的高,但其平均访存时间反而较低。分离Cache提供了两个端口,消除了结构相关。13. 给定以下的假设,试计算直接映象Cache和两路组相联Cache的平均访问时间以及CPU的性能。由计算结果能得出什么
15、结论?(1) 理想Cache情况下的CPI为2.0,时钟周期为2ns,平均每条指令访存1.2次;(2) 两者Cache容量均为64KB,块大小都是32字节;(3) 组相联Cache中的多路选择器使CPU的时钟周期增加了10;(4) 这两种Cache的失效开销都是80ns;(5) 命中时间为1个时钟周期;(6) 64KB直接映象Cache的失效率为1.4,64KB两路组相联Cache的失效率为1.0。参考答案:解: 平均访问时间命中时间失效率失效开销平均访问时间1-路=2.0+1.4% *80=3.12ns平均访问时间2-路=2.0*(1+10%)+1.0% *80=3.0ns两路组相联的平均访问时间比较低CPUtime=(CPU执行+存储等待周期)*时钟周期CPU time=IC(CPI执行
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1