计算机系统结构习题课-万继光.ppt
《计算机系统结构习题课-万继光.ppt》由会员分享,可在线阅读,更多相关《计算机系统结构习题课-万继光.ppt(52页珍藏版)》请在三一办公上搜索。
1、习题内容,7.9,7.10,7.11,7.12,7.14,6.7,6.8,5.8,5.9,5.11,3.8,3.10,3.11,2.14(补充),1.7,1.10,1.11,8.11,8.12(补充),9.9,9.13,10.6,10.9,第一章,CPU时间=IC CPI时钟周期时间=(CPIiICi)时钟周期时间CPI=,i=1,n,时钟周期数,IC,(CPIiICi),i=1,n,IC,(CPIi),i=1,n,ICi,IC,Amdahl定律:,对于一台400MHz计算机执行标准测试程序,程序中指令类型,执行数量和平均时钟周期数如下:求该计算机的有效CPI、MIPS和程序执行时间。,解:,
2、程序执行时间=(,)400=575ns,程序执行时间(CPIIC)/频率f,习题1.7,习题1.10,计算机系统有三个部件可以改进,这三个部件的加速比如下:部件加速比130;部件加速比220;部件加速比310;(1)如果部件1和部件2的可改进比例为30,那么当部件3的可改进比例为多少时,系统的加速比才可以达到10?(2)如果三个部件的可改进比例为30、30和20,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?,习题1.10,习题1.11,假设浮点数指令FP指令的比例为30%,其中浮点数平方根FPSQR占全部指令的比例为4%,FP操作的CPI为5,FPSQR操作
3、的CPI为20,其他指令的平均CPI为1.25。现有两种改进方案,第一种:把FPSQR操作的CPI减至3第二种:把所有的FP操作的CPI减至3试比较两种方案对系统性能的提高程度。解法1:利用原始CPI的唯一性,先使用已知条件求出原始CPI,再求出除去FPSQR指令外其他指令的平均CPI,最后比较改进后的CPI大小。原始CPI=5 30%+1.25(1-30%)=2.375设除FPSQR外其余指令的平均CPI为X则 2.375=20 4%+(1-4%)X,解出X=1.640625方案1:CPI1=3 4%+1.640625(1-4%)=1.695方案2:CPI2=3 30%+1.25(1-30%
4、)=1.775结论:方案1导致的新CPI更小,性能更好,习题1.11,解法2:用Amdahl公式求。记指令总条数=M,时钟周期长度=CYCLE。原始总时间Told=0.3M 5 CYCLE+0.7M 1.25 CYCLE=M 2.375 CYCLETFP=0.3M 5 CYCLE=M 1.5 CYCLE,所占比例为1.5/2.375 63%TFPSQR=0.04M 20 CYCLE=M 0.8 CYCLE,所占比例为0.8/2.375 34%方案1:Se=20/3,Fe 34%,Sn1=1/(1-Fe)+Fe/Se 1.4方案2:Se=5/3,Fe 63%,Sn2=1/(1-Fe)+Fe/Se
5、 1.3结论:方案1导致加速比更大,性能更好,习题2.14(补充),MIPS指令集。人工模拟以下MIPS程序的单条指令运行方式,在表中用16进制编码记录每一步产生的结果(不得借助模拟软件)。.datan:.word 3;n和x是偏移地址x:.double 0.5.text LD R1,n(R0);R1装入双字3(64位)L.D F0,x(R0);F0装入双精度浮点数0.5(64位)DADDI R2,R0,1;R2 1 MTC1 R2,F11;把通用寄存器R2中的低32位传送到浮点寄存器F11的低32位 CVT.D.L F2,F11;把F11中的数据转换成双精度浮点数,送给F2。loop:MUL
6、.D F2,F2,F0;F2 F2*F0 DADDI R1,R1,-1;decrement R1 by 1 BNEZ R1,loop;if R10 continue HALT;此条不填表:MIPS浮点数的格式是IEEE754,习题2.14,IEEE754为便于软件的移植,浮点数的表示格式应该有统一标准(定义)。1985年IEEE提出了IEEE754标准。该标准规定基数为2,阶码E用移码表示,尾数M用原码表示,根据原码的规格化方法,最高数字位总是1,该标准将这个1缺省存储,使得尾数表示范围比实际存储的多一位。,习题2.14,双精度浮点数,0.5的二进制表示:0.1=1.0*(10)-1尾数:(1
7、).0000阶码:-1+1023=0 x3fe 0 x3fe00000000000001的二进制表示:1.0=1.0*(10)0尾数(1).0000阶码:0+1023=0 x3ff 0 x3ff0000000000000,习题2.14,n:.word 3x:.double 0.5 LD R1,n(R0)L.D F0,x(R0)DADDI R2,R0,1 MTC1 R2,F11 CVT.D.L F2,F11 loop:MUL.D F2,F2,F0 DADDI R1,R1,-1 BNEZ R1,loop HALT,习题3.8(时空图,性能指标),1,2,3,4,5,乘法,加法,t,t,t,t,2t
8、,习题3.8,如图,在18个t时间中,给出了7个结果,所以TP=7/18 t如果不用流水线,一次求积3 t,一次求和5t,则T=(4*5+3*3)t=29 t,因此S=29 t/18 t=1.61E=(4*5+3*3)/5*18=0.322考虑改为动态,怎么计算,习题3.10(单功能非线性流水线调度),有一个5段流水线,各段执行时间均为t,其预约表如下,(1)画出流水线任务调度的状态转移图。(2)分别求出允许不等时间间隔调度和等时间间隔调度的两种最优调度策略,以及这两种调度策略的流水线最大吞吐率。(3)若连续输入10个任务,求这两种调度策略的流水线实际吞吐率和加速比。,习题3.10,10010
9、1,101101,100111,101111,5,5,2,2,5,5,4,4,习题3.10,(2)由状态转移图可得不发生段争用冲突的调度策略以及平均延迟时间如下所示。,由上可知,允许不等时间间隔调度的最优调度策略是(2,2,5),流水线最大吞吐率为:1/3t。等时间间隔的调度的最优调度策略是(4),流水线最大吞吐率为:1/4t。,习题3.10,习题3.11(相关,定向,指令调度),在改进的DLX流水线(按照图3.12)上运行如下代码序列:LOOP:LWR1,0(R2)ADDIR1,R1,#1SW0(R2),R1ADDIR2,R2,#4SUBR4,R3,R2BNZR4,LOOP其中,R3的初始值
10、是R2396。假设:在整个代码序列的运行过程中,所有的存储器访问都是命中的,并且在一个时钟周期中对同一个寄存器的读操作和写操作可以通过寄存器“定向”。问:(1)在没有任何其它定向硬件的支持下,请画出该指令序列执行的流水线时空图。假设采用排空流水线的策略处理分支指令,且所有的存储器访问都可以命中Cache,那么执行上述循环需要多少个时钟周期?(2)假设该DLX流水线有正常的定向路径,请画出该指令序列执行的流水线时空图。假设采用预测分支失败的策略处理分支指令,且所有的存储器访问都可以命中Cache,那么执行上述循环需要多少个时钟周期?(3)假设该DLX流水线有正常的定向路径,请对该循环中的指令进行
11、调度。注意可以重新组织指令的顺序,也可以修改指令的操作数,但是不能增加指令的条数。请画出该指令序列执行的流水线时空图,并计算执行上述循环需要的时钟周期数?,采用定向技术消除数据相关,习题3.11(1),需要进行396/4=99次循环,由于每次分支都清空流水线。从上图可以看出每次循环需要17个时钟周期,因此总共需要的时钟周期数为991711684,习题3.11(2),需要进行396/4=99次循环,由于每次分支都清空流水线。从上图可以看出每次循环需要10个时钟周期,因此总共需要的时钟周期数为9910+1991,指令执行重新排序如下:lwr1,0(r2);加法寄存器R1取数(R2)addir2,r
12、2,#4;指针R2指针R2+4addir1,r1,#1;R1R1+1Subr4,r3,r2;R4R3-R2bnezr4,Loop;若R40,循环sw-4(r2),r1;分支延迟槽,存数(R2-4)R1,LOOP:LWR1,0(R2)ADDIR1,R1,#1SW0(R2),R1ADDIR2,R2,#4SUBR4,R3,R2BNZR4,LOOP,LOOP:LWR1,0(R2)ADDIR2,R2,#4ADDIR1,R1,#1SW0(R2),R1SUBR4,R3,R2BNZR4,LOOP,LOOP:LWR1,0(R2)ADDIR2,R2,#4ADDIR1,R1,#1SW-4(R2),R1SUBR4,R
13、3,R2BNZR4,LOOP,LOOP:LWR1,0(R2)ADDIR2,R2,#4ADDIR1,R1,#1SUBR4,R3,R2BNZR4,LOOPSW-4(R2),R1,习题3.11(3),习题3.11(3),有正常定向路径。单周期延迟分支。loop:lw r1,0(r2)addi r2,r2,#4addi r1,r1,#1sub r4,r3,r2bnz r4,loopsw r1,-4(r2)第i次迭代(i 0.98)开始周期:1(i 6)总的时钟周期数:(986)10598,习题5.8(分支预测技术),假设有一条长流水线,仅仅对条件转移指令使用分支目标缓冲。假设分支预测错误的开销为4个时
14、钟周期,缓冲不命中的开销为3个时钟周期。假设命中率为90%,预测精度为90%,分支频率为15%,没有分支的基本CPI为1。(1)求程序执行的CPI。(2)相对固定的2个时钟周期延迟的分支处理,哪种更快?解:(1)程序执行的CPI=没有分支的基本CPI+分支带来的额外开销额外开销=15%*(90%命中*10%预测错误*4+10%没命中*3)=0.099所以程序执行的CPI=1+0.099=1.099。(2)采用固定的2 个时钟周期延迟的分支处理 CPI=1+15%*2=1.3由(1)(2)知分支目标缓冲方法执行速度快。,习题5.9(分支预测技术),假定分支目标缓冲的命中率为90%,程序中无条件转
15、移指令为5%,其它指令的CPI为1。假设分支目标缓冲包含分支目标指令,允许无条件转移指令进入分支目标缓冲,则CPI是多少。假定原来的CPI为1.1。(1)原来不采用分支目标缓冲器BTB情况下实际CPI=理想CPI+各种停顿拍数=1+5%L=1.1 解出L=2(2)现在采用分支目标缓冲器BTB情况下实际CPI=理想CPI+各种停顿拍数=1+5%10%2=1.01,习题5.11(超标量/超长指令字/超流水),设指令流水线由取指令,分析指令和执行指令3个部件构成,每个部件t,连续12条指令,分别画出ILP为4的超标量,超长指令字处理机和超流水线的时空图,并分别计算相对标量流水处理机的加速比.1.标量
16、流水处理机Tk=(k+n-1)t=(3+12-1)t=14 t2.超长指令字处理机采用指令级并行技术,ILP=4,12个任务组装成3条长指令,每条含4条小指令,n=3。Tk=(k+n-1)t=(3+3-1)t=5 t,加速比S=14 t/5 t=2.8,习题5.11,3.超标量处理机Tk=(k+n-1)t=(3+3-1)t=5 t加速比S=14 t/5 t=2.84.超流水处理机ILP=4,12个任务在4条时钟依次错开0.25 t的流水线上流过,所以可取k=12,n=12,时钟=t/4。Tk=(k+n-1)t/4=(12+12-1)t/4=5.75 t,加速比S=14 t/5.75 t=2.4
17、35,习题6.7(GCD测试方法),在使用GCD测试之前,必须先对这段代码进行“规范化”修改下标从1开始,而且每次循环后增加1。For(i=1;i=100;i+=2)ai=ai-1;规范化为:For(k=1;k=50;k+)a2K=a2K-1;在这个循环中a=2,b=0,c=2,d=-1,这样GCD(a,c)=2,d-b=-1,由于前者不能够整除后者;该循环不存在循环携带的真数据相关。,习题6.8(循环展开),表6.1本节使用的浮点流水线的延迟,整数运算,分支延迟和load需要一个周期延迟,如果分支的寄存器在前一条指令计算出,也需要一个周期延迟,因为整数计算在第3个周期完成,而分支第2个周期就
18、用到,DADDIU R1,R1,#-87(空转)8BNE R1,R2,Loop9,习题6.8,在不进行指令调度的情况下,程序的实际执行情况如下:指令流出时钟Loop:L.D F0,0(R1)1L.D F4,0(R2)2(空转)3MUI.D F0,F0,F44(空转)5(空转)6(空转)7ADD.D F2,F0,F28DADDIU R1,R1,#-8 9DADDIU R2,R2,#-810BNE R1,R3,Loop11(空转)12,计算原程序周期数:每对元素所需的时钟周期数=12,其中空转数=5;,习题6.8 新程序,Loop:L.D F0,16(R1);F0 A(i+2)L.D F4,16(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 习题 万继光
链接地址:https://www.31ppt.com/p-6023885.html