计算机体系结构复习题.docx

上传人:公**** 文档编号:560372171 上传时间:2023-01-22 格式:DOCX 页数:14 大小:140.08KB
返回 下载 相关 举报
计算机体系结构复习题.docx_第1页
第1页 / 共14页
计算机体系结构复习题.docx_第2页
第2页 / 共14页
计算机体系结构复习题.docx_第3页
第3页 / 共14页
计算机体系结构复习题.docx_第4页
第4页 / 共14页
计算机体系结构复习题.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《计算机体系结构复习题.docx》由会员分享,可在线阅读,更多相关《计算机体系结构复习题.docx(14页珍藏版)》请在金锄头文库上搜索。

1、1.7 将计算机系统中某一功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少?解 由题可知: 可改进比例 = 40% = 0.4 部件加速比 = 10根据Amdahl定律可知:采用此增强功能方法后,能使整个系统的性能提高到原来的1.5625倍。1.8 计算机系统中有三个部件可以改进,这三个部件的部件加速比为:部件加速比1=30; 部件加速比2=20; 部件加速比3=10(1) 如果部件1和部件2的可改进比例均为30%,那么当部件3的可改进比例为多少时,系统加速比才可以达到10?(2) 如果三个部件的可改进比例分别为30%

2、、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?解:(1)在多个部件可改进情况下,Amdahl定理的扩展:已知S130,S220,S310,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、t和2t 。分别求出下列各种情况下,连续执行N条指令所需的时间。(1)顺序执行方式;(2)只有“取指令”与“执行指令”重叠;(3)“取指令”、“分析指令”与“执行指令”重叠。解:(1)每条指令的执行时间为:tt2t4t连续执行N条指令所需的时间为:4Nt(2)连续执行N条指令所需的时间为:4t3(N-1)t(3N1)t(3)连续执行N条指令所需的时间为:4t2(N-1)t(2N2)t4.2 简述Tomasulo算法的基本思想。答:核心思想是: 记录和检

4、测指令相关,操作数一旦就绪就立即执行,把发生RAW冲突的可能性减小到最少; 通过寄存器换名来消除WAR冲突和WAW冲突。寄存器换名是通过保留站来实现,它保存等待流出和正在流出指令所需要的操作数。基本思想:只要操作数有效,就将其取到保留站,避免指令流出时才到寄存器中取数据,这就使得即将执行的指令从相应的保留站中取得操作数,而不是从寄存器中。指令的执行结果也是直接送到等待数据的其它保留站中去。因而,对于连续的寄存器写,只有最后一个才真正更新寄存器中的内容。一条指令流出时,存放操作数的寄存器名被换成为对应于该寄存器保留站的名称(编号)。p Consider a program with the gi

5、ven characteristicsn Instruction count (I-Count) = 106 instructionsn 30% of instructions are loads and storesn D-cache miss rate is 5% and I-cache miss rate is 1%n Miss penalty is 100 clock cycles for instruction and data cachesn Compute combined misses per instruction and memory stall cyclesp Combi

6、ned misses per instruction in I-Cache and D-Cachen 1% + 30% 5% = 0.025 combined misses per instructionn Equal to 25 misses per 1000 instructionsp Memory stall cyclesn 0.025 100 (miss penalty) = 2.5 stall cycles per instructionn Total memory stall cycles = 106 2.5 = 2,500,000CPI with Memory Stallsp A

7、 processor has CPI of 1.5 without any memory stallsn Cache miss rate is 2% for instruction and 5% for datan 20% of instructions are loads and storesn Cache miss penalty is 100 clock cycles for I-cache and D-cachep What is the impact on the CPI?p Answer:Mem Stalls per Instruction =0.02100 + 0.20.0510

8、0 = 3CPIMemoryStalls =1.5 + 3 = 4.5 cycles per instructionCPIMemoryStalls / CPIPerfectCache =4.5 / 1.5 = 3Processor is 3 times slower due to memory stall cyclesCPINoCache =1.5 + (1 + 0.2) 100 = 121.5 (a lot worse)3.13有一个流水线由4段组成,其中每当流经第3段时,总要在该段循环一次,然后才能流到第4段。如果每段经过一次所需要的时间都是,问:(1) 当在流水线的输入端连续地每时间输入

9、任务时,该流水线会发生什么情况?(2) 此流水线的最大吞吐率为多少?如果每输入一个任务,连续处理10个任务时的实际吞吐率和效率是多少?(3) 当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理10个任务时,其吞吐率提高多少?解:(1)会发生流水线阻塞情况。第1个任务S1S2S3S3S4第2个任务S1S2stallS3S3S4第3个任务S1stallS2stallS3S3S4第4个任务S1stallS2stallS3S3S4(2)(3)重复设置部件吞吐率提高倍数1.643.17 假设各种分支指令数占所有指令数的百分比如下:条件分支20%(其中的60%是分支成功的)跳转和调用5%现有一条段数为

10、4的流水线,无条件分支在第二个时钟周期结束时就被解析出来,而条件分支要到第三个时钟周期结束时才能够被解析出来。第一个流水段是完全独立于指令类型的,即所有类型的指令都必须经过第一个流水段的处理。请问在没有任何控制相关的情况下,该流水线相对于存在上述控制相关情况下的加速比是多少?解:没有控制相关时流水线的平均CPI1存在控制相关时:由于无条件分支在第二个时钟周期结束时就被解析出来,而条件分支要到第3个时钟周期结束时才能被解析出来。所以:(1)若使用排空流水线的策略,则对于条件分支,有两个额外的stall,对无条件分支,有一个额外的stall:CPI = 1+20%*2+5%*1 = 1.45 加速

11、比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.294.4 假设有一条

12、长流水线,仅仅对条件转移指令使用分支目标缓冲。假设分支预测错误的开销为4个时钟周期,缓冲不命中的开销为3个时钟周期。假设:命中率为90%,预测精度为90%,分支频率为15%,没有分支的基本CPI为1。(1) 求程序执行的CPI。(2) 相对于采用固定的2个时钟周期延迟的分支处理,哪种方法程序执行速度更快?解:(1)程序执行的CPI = 没有分支的基本CPI(1) + 分支带来的额外开销分支带来的额外开销是指在分支指令中,缓冲命中但预测错误带来的开销与缓冲没有命中带来的开销之和。分支带来的额外开销= 15% * (90%命中10%预测错误4 + 10没命中3)= 0.099所以,程序执行的CPI

13、 1 0.099 = 1.099(2)采用固定的2 个时钟周期延迟的分支处理CPI = 1 + 15%2 = 1.3由(1)(2)可知分支目标缓冲方法执行速度快。4.9 设指令流水线由取指令、分析指令和执行指令3个部件构成,每个部件经过的时间为t,连续流入12条指令。分别画出标量流水处理机以及ILP均为4的超标量处理机、超长指令字处理机、超流水处理机的时空图,并分别计算它们相对于标量流水处理机的加速比。解:标量流水处理机的时空图:执行完12条指令需T114t。超标量流水处理机与超长指令字处理机的时空图:超标量流水处理机中,每一个时钟周期同时启动4条指令。执行完12条指令需T25t,相对于标量流

14、水处理机的加速比为:超长指令字处理机中,每4条指令组成一条长指令,共形成3条长指令。执行完12条指令需T35t,相对于标量流水处理机的加速比为:超流水处理机的时空图:超流水处理机中,每1/4个时钟周期启动一条指令。执行完12条指令需T45.75t,相对于标量流水处理机的加速比为:4、(10分)假定我们有一台计算机,如果所有的cache访问都命中的话,它的CPI是2.0。唯一的数据访问指令是store和load,它们占指令总数的40,不命中损失是25个时钟周期,不命中率是2。如果所有的指令访问cache都命中的话,那么机器的速度是存在cache不命中时的多少倍?首先计算所有cache访问都命中时计算机的性能:CPU执行时间(CPU时钟周期内存停机周期)时钟周期时长(ICCPI0)时钟周期时长 IC2.0时钟周期时长现在计算考虑cache不命中在内的真实计算机性能,我们先计算内存停机周期:内存停机周期IC每条指令访问内存的次数不命中率不命中损失IC(10.4)0.0225IC0.7其中(10.4)代表每条指令访问一次内存,而占指令总数40%的store和load访问两次内存,所以平均每条指令访问访问(1+0.4)次内存。这样总的性能是:CPU执行时间=(IC2.0IC0.7)时

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号