ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:31.03KB ,
资源ID:10411453      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10411453.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机系统结构复习资料课件.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机系统结构复习资料课件.docx

1、计算机系统结构复习资料课件1.6 某台主频为 400MHz的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:指令类型 指令执行数量 平均时钟周期数整数 45000 1数据传送 75000 2浮点 8000 4分支 1500 2求该计算机的有效 CPI、MIPS和程序执行时间。解:(1)CPI (45000 175000 28000 41500 2) / 1295001.776(2)MIPS速率f/ CPI 400/1.776 225.225MIPS(3)程序执行时间 = (45000 175000 28000 41500 2) 400=575s1.7 将计算机系统中某一功

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

3、10?(2) 如果三个部件的可改进比例分别为 30%、30%和 20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?解:(1)在多个部件可改进情况下, Amdahl定理的扩展:Sn(1Fi1)FiSi已知 S130,S220,S310,Sn10,F10.3 ,F20.3 ,得:1011(- 0.3 0.3 ) 0.3 / 30 0.3 / 20 / 10)F3 ( F3得 F30.36 ,即部件 3 的可改进比例为 36%。 (2)设系统改进前的执行时间为 T,则 3 个部件改进前的执行时间为:(0.3+0.3+0.2 )T = 0.8T ,不可改进部分的执

4、行时间为 0.2T。已知 3 个部件改进后的加速比分别为 S130,S220,S310,因此 3 个部件改进后的执行时间为:0 .3T 0. 3T 0. 2T Tn 0 .045T 30 20 10改进后整个系统的执行时间为: Tn = 0.045T+0.2T = 0.245T那么系统中不可改进部分的执行时间在总执行时间中占的比例是:0.2T0.245T0.821.9 假设某应用程序中有 4 类操作,通过改进,各操作获得不同的性能提高。具体数据如下表所示:操作类型程序中的数量(百万条指令)改进前的 执行 时间(周期)改进后的 执行 时间(周期)操作 1 10 2 1操作 2 30 20 15操

5、作 3 35 10 3操作 4 15 4 1(1)改进后,各类操作的加速比分别是多少?(2)各类操作单独改进后,程序获得的加速比分别是多少?(3)4 类操作均改进后,整个程序的加速比是多少?解:根据 Amdahl定律Sn(11Fe)FeSe可得操作类型各类 操作的 指令条数 在 程序中 所占的比例 Fi各类操作 的加速比 Si各类操作 单独 改进后,程序获得的加速比操作 1 11.1% 2 1.06操作 2 33.3% 1.33 1.09操作 3 38.9% 3.33 1.37操作 4 16.7% 4 1.144 类操作均改进后,整个程序的加速比Sn(11Fi)FiSi2.16 例 1-1 某

6、一计算机用于商业外贸的事务处理,有大量的字符串处理操作。由于这种商务处理很普遍,有较大的市场,故而设计人员决定在下一代计算机的CPU中加入字符串操作的功能。经测试应用软件调查发现,字符串操作的使用占整个程序运行时间的 50%。而增加此功能如用软件 ( 如微程序) 实现,则快 5 倍,增加 CPU成本 1/5 倍;如果用硬件实现,则快 100 倍,CPU成本增加到 5 倍。问设计人员提出增加此功能是否恰当?如恰当则此功能应该用软件实现还是用硬件实现?设 CPU成本占整机成本的 1/3 。解: 首先来计算机器在两种情况下提高的性能和成本性能比。设: S 为 CPU未增加字符串功能时的 CPU平均速

7、度, Told 为此时运行程序的时间,Tnew为增加字符串功能后程序运行的时间,则从上面的计算分析看到增加字符串操作功能提高了整机的性能,两种方法均提高性能,且程度相近。但用硬件实现时成本性能比增加了 0.18 倍,而用软件实现时成本性能比却下降了 0.36 倍。3.9 列举出下面循环中的所有相关,包括输出相关、反相关、真相关。for (i=2; i100; i=i+1)ai=bi+ai ;/* s1 */ci+1=ai+di ; /* s2 */ai-1=2*bi ; /* s3 */bi+1=2*bi ;/* s4 */解:展开循环两次:ai = bi + ai ; /* s1 */ci+

8、1 = ai + di ; /* s2 */ai-1 = 2 * bi ; /* s3 */bi+1 = 2 * bi ; /* s4 */ai+1 = bi+1 + ai+1 ; /* s1 */ci+2 = ai+1 + di+1 ; /* s2 */ai = 2 * bi+1 ; /* s3 */bi+2 = 2 * bi+1 ; /* s4 */输出相关:无反相关:无真相关:S1&S2由于循环引入的相关: S4&S4(真相关)、S1&S4(真相关)、S3&S4(真相关)、S1&S3(输出相关、反相关) 、S2&S3(反相关)。3.12 有一指令流水线如下所示入 1 2 3 4 出50n

9、s 50ns 100ns 200ns(1) 求连续输入 10 条指令,该流水线的实际吞吐率和效率;(2) 该流水线的“瓶颈”在哪一段?请采取两种不同的措施消除此“瓶颈”。对于你所给出的两种新的流水线,连续输入 10 条指令时,其实际吞吐率和效率各是多少?解:(1)mT t (n 1) tmaxpipeline ii 1(50 50 100 200) 9 2002200(ns)T PnTpipeline1220(ns1)mE T Pi1mtiT P400451145.45%(2)瓶颈在 3、4 段。变成八级流水线(细分)1 2 3_1 3_2 4_1 4_450ns 50ns 50ns 50ns

10、 50ns 50nsmT t (n 1) tmaxpipeline ii 150 8 9 50850(ns)T PnTpipeline1(ns851)mE T Pi1mtiT P4008101758.82%重复设置部件段4_44 84_33 74_22 6 104_11 5 93_22 4 6 8 103_11 3 5 7 921 2 3 4 5 6 7 8 9 1011 2 3 4 5 6 7 8 9 10 时间850nsT PnTpipeline1(ns851)E400108508101758.82%3.13 有一个流水线由 4 段组成,其中每当流经第 3 段时,总要在该段循环一次,然后才

11、能流到第 4 段。如果每段经过一次所需要的时间都是 ,问:t(1) 当在流水线的输入端连续地每 时间输入任务时,该流水线会发生t什么情况?(2) 此流水线的最大吞吐率为多少?如果每 输入一个任务,连续处理2 t10 个任务时的实际吞吐率和效率是多少?(3) 当每段时间不变时, 如何提高该流水线的吞吐率?仍连续处理 10 个任务时,其吞吐率提高多少?解:(1)会发生流水线阻塞情况。第 1 个任务S1 S2 S3 S3 S4第 2 个任务S1 S2stallS3 S3 S4第 3 个任务S1stallS2stallS3 S3 S4第 4 个任务S1stallS2stallS3 S3 S4(2)段4

12、1 2 3 4 5 6 7 8 9 1031 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10211 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 10时间t 23T Pmax12tTpipeline23 tT pnTpipeline1023tE T P5 t4509254.35%(3)重复设置部件t3_11 2 4t t3_2tt段41 2 3 4 5 6 7 8 9 103_22 2 4 4 6 6 8 8 10 103_11 1 3 3 5 5 7 7 9 921 2 3 4 5 6 7 8 9 1011 2 3 4 5 6 7 8

13、 9 10 时间14 tT PnTpipeline10145t 7t吞吐率提高倍数571023tt1.643.14 有一条静态多功能流水线由 5 段组成,加法用 1、3、4、5 段,乘法用1、2、5 段,第 3 段的时间为 2t ,其余各段的时间均为 t ,而且流水线的输出可以直接返回输入端或4暂存于相应的流水寄存器中。现要在该流水线上计算 (Ai B ) ,画出其时i i 1空图,并计算其吞吐率、加速比和效率。加法2t t t1 2 3 4 5t t乘法解:首先,应选择适合于流水线工作的算法。对于本题,应先计算 A1B1、 A2B2、A3B3 和 A4B4;再计算(A1B1) (A2B2)

14、和(A3B3) (A4B4) ;然后 求总的结果。其次,画出完成该计算的时空图, 如图所示,图中阴影部分表示该段在工作。A B C D A B C D A B C D 段5A=A 1B14B=A 2 B232C=A 3 B3D=A 4B410 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16输入 A1A2 A3 A4 A CA B17 18时间B1 B2 B3 B4 B DC D由图可见,它在 18 个t 时间中,给出了 7 个结果。所以吞吐率为:TP718t如果不用流水线,由于一次求积需 3t ,一次求和需 5t ,则产生上述 7个结果共需( 4 5+3 3)t

15、=29 t 。所以加速比为:29 tS 1.6118 t该流水线的效率可由阴影区的面积和 5 个段总时空区的面积的比值求得:E45531830.3223.15 动态多功能流水线由 6 个功能段组成,如下图:加法S1 S2 S3 S4 S5 S6乘法其中,S1、S4、S5、S6组成乘法流水线, S1、S2、S3、S6组成加法流水线,各个功能段时间均为 50ns,假设该流水线的输出结果可以直接返回输入端,而5且设置有足够的缓冲寄存器,若以最快的方式用该流水计算:xi y zi ii 1(1) 画出时空图;(2) 计算实际的吞吐率、加速比和效率。解:机器一共要做 10 次乘法, 4 次加法。3.16

16、 在 MIPS流水线上运行如下代码序列:LOOP: LW R 1,0(R 2)DADDIU R 1,R 1,#1SW R1 , 0 (R2)DADDIU R 2,R 2,#4DSUB R4 ,R 3,R2BNEZ R4 ,LOOP其中:R3的初值是 R2+396。假设:在整个代码序列的运行过程中,所有的存储器访问都是命中的, 并且在一个时钟周期中对同一个寄存器的读操作和写操作可以通过寄存器文件“定向”。问:(1) 在没有任何其它定向(或旁路)硬件的支持下,请画出该指令序列执行的流水线时空图。假设采用排空流水线的策略处理分支指令,且所有的存储器访问都命中 Cache,那么执行上述循环需要多少个时

17、钟周期?(2) 假设该流水线有正常的定向路径,请画出该指令序列执行的流水线时空图。假设采用预测分支失败的策略处理分支指令,且所有的存储器访问都命中 Cache,那么执行上述循环需要多少个时钟周期?(3) 假设该流水线有正常的定向路径和一个单周期延迟分支,请对该循环中的指令进行调度,你可以重新组织指令的顺序,也可以修改指令的操作数,但是注意不能增加指令的条数。请画出该指令序列执行的流水线时空图,并计算执行上述循环所需要的时钟周期数。解:寄存器读写可以定向,无其他旁路硬件支持。排空流水线。指令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2

18、1 22LW IF ID EX M WBDADDIU IF S S ID EX M WBSW IF S S ID EX M WBDADDIU IF ID EX M WBDSUB IF S S ID EX M WBBNEZ IF S S ID EX M WBLW IF S S IF ID EX M WB第 i 次迭代(i 0.98 )开始周期: 1(i 17)总的时钟周期数:(98 17)181684有正常定向路径,预测分支失败。指令 1 2 3 4 5 6 7 8 9 10 11 1 13 14 15LW IF ID EX M WBDADDIU IF ID S EX M WBSW IF S I

19、D EX M WBDADDIU IF ID EX M WBDSUB IF ID EX M WBBNEZ IF ID EX M WBLW IF miss miss IF ID EX M WB第 i 次迭代(i 0.98 )开始周期: 1(i 10)总的时钟周期数:(98 10)11991有正常定向路径。单周期延迟分支。LOOP: LW R1 ,0(R2)DADDIUR,2 R 2,#4DADDIU R 1,R 1,#1DSUB R4 ,R 3,R2BNEZ R4,LOOPSW R1 ,-4(R2)第i 次迭代(i 0.98 )开始周期: 1(i 6 )总的时钟周期数:(98 6)10598指令

20、1 2 3 4 5 6 7 8 9 10 11LW IF ID EX M WBDADDIU IF ID EX M WBDADDIU IF ID EX M WBDSUB IF ID EX M WBBNEZ IF ID EX M WBSW IF ID EX M WBLW IF ID EX M WB3.17 假设各种分支指令数占所有指令数的百分比如下:条件分支 20%(其中的 60%是分支成功的)跳转和调用 5%现有一条段数为 4 的流水线,无条件分支在第二个时钟周期结束时就被解析出来,而条件分支要到第三个时钟周期结束时才能够被解析出来。 第一个流水段是完全独立于指令类型的,即所有类型的指令都必须经

21、过第一个流水段的处理。请问在没有任何控制相关的情况下, 该流水线相对于存在上述控制相关情况下的加速比是多少?解:没有控制相关时流水线的平均 CPI1存在控制相关时:由于无条件分支在第二个时钟周期结束时就被解析出来,而条件分支要到第 3 个时钟周期结束时才能被解析出来。所以:(1)若使用排空流水线的策略,则对于条件分支,有两个额外的 stall ,对无条件分支,有一个额外的 stall :CPI = 1+20%*2+5%*1 = 1.45加速比 S=CPI/1 = 1.45(2) 若使用预测分支成功策略, 则对于不成功的条件分支, 有两个额外的stall ,对无条件分支和成功的条件分支,有一个额

22、外的 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.293.18 在 CRAY-1机器上,按照链接方式执行下述 4条向量指令 (括号中给出了相应功能部件的执行时间) ,如果向量寄存器和功能部件之间的数据传送需要

23、1 拍,试求此链接流水线的通过时间是多少拍?如果向量长度为64,则需多少拍才能得到全部结果?V 0存储器 (从存储器中取数: 7 拍)V 2V0+V1 (向量加: 3 拍)V 3V2A3 (按( A3)左移: 4 拍)V 5V3V4 (向量逻辑乘: 2 拍)解:通过时间就是每条向量指令的第一个操作数执行完毕需要的时间,也就是各功能流水线由空到满的时间,具体过程如下图所示。要得到全部结果,在流水线充满之后,向量中后继操作数继续以流水方式执行,直到整组向量执行完毕。访存存储器V0 V1 V2 V3 V4 V5向量加 左移向量逻辑乘A3T ( 1 1 1通过7 1 1 3 4 1 2 1 23 )(

24、 )( )( ) (拍)T总共T通过64 1 23 63 86( ) (拍)3.19 某向量处理机有 16 个向量寄存器,其中 V0V5 中分别放有向量 A、B、C、D、E、F,向量长度均为8,向量各元素均为浮点数;处理部件采用两条单功能流水线,加法功能部件时间为2 拍,乘法功能部件时间为3 拍。采用类似于CARY-1的链接技术,先计算(A+B)*C,在流水线不停流的情况下, 接着计算(D+E)*F。(1) 求此链接流水线的通过时间?(设寄存器入、出各需 1 拍)(2) 假如每拍时间为50ns,完成这些计算并把结果存进相应寄存器,此处理部件的实际吞吐率为多少 MFLOP?S解:(1)我们在这里

25、假设AB的中间结果放在 V6中,(AB)C地最后结果放在 V7中, DE 地中间结果放在 V8 中,(DE) F 的最后结果放在 V9中。具体实现参考下图:V0A V1B V6 V2C V7向量加 向量乘V3D V4E V8 V5F V9通过时间应该为前者( (AB) C)通过的时间:T 通过= (1+2+1)+(1+3+1) =9 (拍)(2)在做完( AB) C之后,作( CD) E就不需要通过时间了。V6ABV7V6 CV8DEV9V8 FT T通过 (81) 8 24(拍) 1200(ns)TP32T26.67MFLOPS5.8 组相联 Cache的失效率比相同容量直接映象 Cache的失效率低。由此能否得出结论:采用组相联一定能带来性能上的提高?为什么?答:不一定。 因为组相联命中率的提高是以增加命中时间为代价的, 组相联需要增加多路选择开关。5.9 写出三级 Cache的平均访问时间的公式。解:平均访存时间 命中时间失效率 失效开销只有第 I 层失效时才会访问第 I 1。设三级

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1