1、计算机系统结构复习重点+课后习题解答顾一禾总 复 习第一章1.计算机系统结构、组成、实现的基本概念和包含的内容;系统结构与软硬件功能划分的关系;计算机系统的多级层次结构;判断某项内容属于结构、组成、实现的哪一类;判断某项内容针对不同程序员的透明性。 2.促进系统结构发展的因素(软件、应用、器件)。软件:实现软件可移植性的方法;系列机的概念;软件兼容的概念(向前、向后、向上、向下兼容);模拟与仿真技术的概念;应用:应用对系统结构的要求。器件:系统结构下移的概念。3.计算机系统的分型与分类的概念。Flynn分类法4.系统结构设计的定量原理(Amdahl定理);加速比的计算方法;5.程序访问的局部性
2、原理(时间局部性、空间局部性);判断系统结构中局部性原理的应用。6.系统评价的指标(响应时间、CPU时间、MIPS、MFLOPS);运用CPU性能公式、平均CPI比较系统性能。7.并行性的概念;并行性的等级、粒度;并行性的开发策略(时间重叠、资源重复、资源共享);8.计算机系统的主要设计方法部分习题参考答案:1.6 解:(1)CPI (4500017500028000415002) / 1295001.776(2)MIPS速率f/ CPI 400/1.776 225.225MIPS(3)程序执行时间= (4500017500028000415002)400106=5.75104s=0.575m
3、s=575s1.8 解:(1)在多个部件可改进情况下,Amdahl定理的扩展:已知re130,re220,re310,Sp10,fe10.3,fe20.3,得:得fe30.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那么系统中不可改进部分的执行时间在总执行时间中占的比例是:=82%1.9 解
4、:(1)改进后,各类操作的加速比re分别是:操作类型各类操作的加速比re操作12/12操作220/151.33操作310/33.33操作44/14(2) 改进前系统总执行时间:102+3020+3510+1541030 改进前各类操作时间在所有操作时间中所占的比例fe:操作类型改进前各类操作的执行时间在总的执行时间中所占的比例操作1102/10300.01941.94%操作23020/10300.582558.3%操作33510/10300.339834%操作4154/10300.05835.83%根据Amdahl定律可得各类操作单独改进后,程序获得的加速比分别是:操作类型改进前各类操作的执行
5、时间在总的执行时间中所占的比例各类操作单独改进后,程序获得的加速比操作11.94%1.01操作258.3%1.17操作334%1.31操作45.83%1.05(3)在多个部件可改进情况下,Amdahl定理的扩展:4类操作均改进后,整个程序的加速比是:1/(1.94%/2+58.3%/1.33+34%/3.33+5.83%/4)1.78补充题1. 确定下列内容各属于哪方面的问题。(1)机器字长为32位。 A. B. C. (2)存储器最大容量为64MB。 A. B. C. (3)存储器采用31路交叉存储方式。 A. B. C. (4)采用4M4位的DRAM存储器芯片,组装在一块印刷电路板。 A.
6、 B. C. (5)存储器字长为32位,逻辑地址空间为4GB。 A. B. C.(6)主存储器的存储周期设计为200ns。 A. B. C. 答案中的符号的含义:A: 系统结构 B: 计算机组成 C: 计算机实现 答: AABCAB2. 判断下列哪些内容对机器语言(含汇编语言)程序员是透明的。1)指令寄存器 2)程序计数器3)数据通路的宽度 4)浮点数据表示5)行波进位加法器 6)Cache7)控制存储器 8)中断屏蔽触发器9)通用寄存器 10)硬盘11)只读存储器使用EPROM芯片 12)微地址寄存器答: 1、3、5、6、7、11、12第二章1.指令系统的设计要求(完备性、有效性、兼容性、规
7、整性、对称性、可扩充性、正交性、有利于编译)。2.指令系统的分类(堆栈型、累加器型、通用寄存器型);通用寄存器型指令的特点(RR型、RM型、MM型)。3.操作数访问方式(按地址访问、按内容访问);按地址访问的编址问题:字编址、字节编址、位编址;按字节编址时的大端排序与小端排序。编址规定中的访存越界问题及其解决方法。按内容访问:联想存储器的工作过程。4.指令格式的设计准则;操作码的优化方法(霍夫曼编码、扩展霍夫曼编码)。5.指令系统的两种设计风格CISC和RISC。CISC风格的特点;RISC风格的特点。RISC风格指令系统的实现技术:窗口寄存器重叠技术、优化转移技术。6.数据类型、数据表示、数
8、据结构的概念和关系;引入数据表示的原则(减少程序执行时间和存储容量、较好的通用性和较高的效率);数据表示与系统结构的关系。7.向量数据表示的形式;采用向量数据表示时,向量指令中应给出的内容。8.自定义数据表示:带标志符数据表示、数据描述符表示。部分习题参考答案:补充题一、 某模型机的9条指令在程序中的使用频度经统计如下表所示。指令Ii使用频度piADD43%SUB13%JMP7%JOM6%STO5%SHR1%CIL2%CLA22%STP1%写出这9条指令操作码的Huffman编码、3-4扩展编码、2-7扩展编码,并计算这3种编码的平均码长。答:两种Huffman编码方案指令Ii使用频度piHu
9、ffman编码1Huffman编码234编码27编码ADD43%0000000CLA22%1010000101SUB13%11010101010JMP7%11100110001101100000JOM6%11101110101111100001STO5%11110111010001100010CIL2%1111101111010011100011SHR1%111111011111010101100100STP1%111111111111111101100101平均码长2.422.423.223.1Huffman编码1的平均码长:H0.4310.2220.133(0.070.060.05)50.
10、026(0.010.01)72.42Huffman编码2的平均码长:H0.431(0.220.13)3(0.070.060.05)40.025(0.010.01)62.4234编码的平均码长:H(0.430.220.13)3(0.070.060.050.020.010.01)43.2227编码的平均码长:H(0.430.220.13)2(0.070.060.050.020.010.01)73.1二、某处理机的指令系统的指令字长为12位,每个地址码的长度为3位,现要求该指令系统中有:三地址指令4条、单地址指令255条、零地址指令16条。问能否用扩展编码的方式为其操作码编码?如果要求单地址指令为2
11、54条,能否对其操作码用扩展编码?说明理由。答:三地址指令格式:3位3位3位3位操作码地址码1地址码2地址码3(1)3位操作码,可以表示8条三地址指令,现只需4条,剩余4个码点。设没有二地址指令,则单地址指令可以使用6位地址码作为扩展操作码,共可有464256条指令,但要求有16条零地址指令,需要单地址指令留出2个码点,2562254,不能满足单地址指令的需要,所以不能用扩展编码的方式为该方案的操作码编码。(2)如果要求单地址指令为254条,则可以满足单地址指令的需要,可以用扩展编码的方式为该方案的操作码编码。三、设需要计算X(a+b)(c+d)/(f-g),其中a、b、c、d、f、g均事先存
12、放在存储器中,X为存放结果的存储器单元。请用堆栈型、累加器型、寄存器寄存器型指令编写完成同样功能的汇编语言程序。设寄存器寄存器型指令为二地址指令,指令格式中第一操作数为目的操作数,第二操作数为源操作数,指令的操作码占一字节(包含指令中使用的寄存器),存储器地址占二字节,操作数占四字节。请根据所编写的汇编语言程序回答下列问题: 计算三种指令代码序列从存储器取指所需的总字节数。 计算三种指令代码序列取数或存数所需的总字节数。 比较三种结构所需的指令字节数和需传送的总字节数。说明:减法为目的操作数减去源操作数、除法为目的操作数除以源操作数。答:(1)堆栈型指令取指字节数取/存数字节数PUSH a 3
13、8PUSH b38ADD ;(a+b)112PUSH c38PUSH d38ADD ;(c+d) 112MUL ;(a+b)(c+d)112PUSH f38PUSH g38SUB ;(f-g)112DIV ;(a+b)(c+d) /(f-g)112POP X ;X(a+b)(c+d)/(f-g)38总字节数26116(2)累加器型 指令取指字节数取/存数字节数LOAD a34ADD b34STORE h ; hab34LOAD c34ADD d ; cd34MUL h ;(a+b)(c+d)34STORE h ; h(a+b)(c+d)34LOAD f34SUB g ;f-g34STORE i
14、 ; if-g34LOAD h ;读被除数h34DIV i ;(a+b)(c+d)/(f-g)34STORE X ; X(a+b)(c+d)/(f-g)34总字节数3952(3)寄存器寄存器型X(a+b)(c+d)/(f-g)指令取指字节数取/存数字节数LOAD R1 ,a34LOAD R2,b34ADD R1 ,R2 ;R1a +b10LOAD R2 ,c34LOAD R3,d34ADD R2 ,R3 ;R2c +d10MUL R1 ,R2 ;R1(a+b)(c+d)10LOAD R2 ,f34LOAD R3,g34SUB R2 ,R3 ;R2f-g10DIV R1 ,R2 ;R1(a+b)
15、(c+d) /(f-g)10STORE X,R1 ;X(a+b)(c+d)/(f-g)34总字节数2628指令条数取指字节数取数/存数字节数需传送总字节数堆栈型1226116142累加器型13395291寄存器寄存器型12262854第三章1.标量流水的基本概念和分类;先行控制的概念。会计算采用顺序方式和不同的重叠方式执行指令时的指令执行时间。2.利用时空图进行标量流水线的性能分析(吞吐率、加速比、效率)3.非线性流水线的调度方法(基本调度方法和优化调度方法)。4.掌握流水线操作中全局相关(转移指令引起的相关)和局部相关(数据读写引起的相关)问题的解决方法。几种解决全局相关的预测算法的原理及实
16、现。5.向量流水线的特点。向量处理方式(横向、纵向、纵横向加工)。6.增强向量处理性能的方法(并行处理技术、链接技术)的应用及向量程序的时间计算。7.向量编队的方法,根据向量编队计算性能参数的方法。8.向量访问步长,解决向量机的访存冲突的方法。9.向量处理性能的评估参数(Tvp、 R、n1/2、nv等)的定义。部分习题参考答案: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 */ (1)在一次循环中存在的相关: 真数据相关:S1
17、&S2:ai ai = bi + ai与ci+1 = ai + di 先写后读没有输出相关和反相关(2)展开循环后,可发现由于循环存在的相关:展开循环两次:ai = bi + ai ; /* s1 */ci+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&S
18、2:ai: ai = bi + ai 与 ci+1 = ai + di S1&S2:ai: ai = bi + ai 与 ci+1 = ai + di S4& S1: bi+1;bi+1 = 2 * bi 与 ai+1 = bi+1 + ai+1 S4& S3: bi+1:bi+1 = 2 * bi 与 ai = 2 * bi+1 S4&S4: bi+1;bi+1 = 2 * bi 与 bi+2 = 2 * bi+1 反相关(先读后写):S1&S3:ai: ai = bi + ai 与ai = 2 * bi+1 S2&S3:ai:ci+1 = ai + di 与ai = 2 * bi+1输出相
19、关(先写后写):S1&S3: ai: ai = bi + ai 与ai = 2 * bi+1 3.14 解:适合于流水线工作的算法:先计算A1B1、A2B2、A3B3和A4B4;再计算(A1B1)(A2B2)和(A3B3)(A4B4);最后求总的结果。完成该计算的时空图,图中阴影部分表示该段在工作。由图可见,完成7个运算用了18个t,吞吐率为: 如果不用流水线,由于一次求积需3t,一次求和需5t,则产生上述7个结果共需(45+33)t =29t。所以加速比为: 该流水线的效率可由阴影区的面积和5个段总时空区的面积的比值求得: 3.17解:没有控制相关时,流水线的平均CPI1存在控制相关时:无条
20、件分支在第二个时钟周期结束时就被解析出来,需要插入1个额外的stall;条件分支要到第3个时钟周期结束时才能被解析出来,需要插入2个额外的stall。根据采用减少分支延迟的方法不同,所得的加速比不同。(1)采用排空流水线的策略时,对无条件分支,有1个额外的stall;对于条件分支,有2个额外的stall:CPIA = 1+20%2+5%1 = 1.45 加速比S=CPIA/1 = 1.45(2)采用预测分支成功策略时,对无条件分支和成功的条件分支,有1个额外的stall,对于失败的条件分支,有2个额外的stall(需作废预取的成功分支指令):CPIA = 1+20%(60%1+40%2) +5
21、%1 = 1.33 加速比S= CPIA /1 = 1.33(3)采用预测分支失败策略时,对无条件分支,有1个额外的stall,对于成功的条件分支,有2个额外的stall,(需作废预取的失败分支指令);对失败的条件分支,由于预测失败分支,因此分支指令相当于一条普通指令,其目标地址已经由PC给出,流水线正常流动,不必等待,所以不需要延迟:CPIA = 1+20%(60%2 + 40%0) +5%1 = 1.29 加速比S= CPIA /1 = 1.29补充题已知有一个5段的流水线,其预约表如下: 时间功能段T1T2T3T4T5T6T7S1S2S3S4S51、试列出流水线的禁止表及原始冲突向量,画
22、出流水线的状态图,并选择最佳的无冲突调度方案。2、按所选择的调度方案,连续输入6个任务,画出流水线的时空图并求出流水线的最大吞吐率、实际吞吐率、加速比和效率。答:1、 禁止表 F1,3,6,原始冲突向量 C(100101)流水线状态图调度方案平均延迟时间2,53.52,2,534,54.54455最佳的无冲突调度方案为 2,2,5,2、 S5112233445566S4121323454656S3112233445566S2121323454656S11231243564561234567891011121314151617181920设每个功能段的时间为t流水线的最大吞吐率 Tpmax1/3
23、t流水线的实际吞吐率 Tp6/20t0.3/t流水线的加速比:Sp67t/20t2. 1流水线的效率:E610/5*203/50.6=60%3.19 解:(1)设AB的中间结果放在V6中,(AB)C的最后结果放在V7中,DE的中间结果放在V8中,(DE)F的最后结果放在V9中。具体实现参考下图:通过时间应该为前者(AB)C)通过的时间:T通过= (1+2+1)+(1+3+1) =9(拍)(2)在做完(AB)C之后,作(CD)E就不需要通过时间了。V6AB V7V6C V8DE V9V8F第四章1.指令级并行的基本概念。2.开发指令级并行常用的方法3.超标量、超流水、超长指令字的概念。4.超长指
24、令字的实现5.循环展开和指令调度的基本方法部分习题参考答案:4.3分析:产生结果指令使用结果指令延迟时钟周期数浮点计算另外的浮点计算3浮点计算浮点数据存操作(SD)2浮点数据取操作(LD)浮点计算1浮点数据取操作(LD)浮点数据存操作(SD)0指令在流水线中执行时需要的延迟:LOOP: L.D F0,0(R1) (空转) MUL.D F0,F0,F2 L.D F4,0(R2)(空转)(空转) ADD.D F0,F0,F4(空转)(空转) S.D F0,0(R2) DSUBI R1,R1,#8 DSUBI R2,R2,#8 BNEZ R1,LOOP(空转)解:将循环展开两次,进行指令调度,即可以
25、消除延迟,其中增加寄存器F10、F14,对应一次循环中的F0和F4.代码如下:LOOP: L.D F0,0(R1)L.D F10,-8(R1)MUL.D F0,F0,F2MUL.D F10,F10,F2L.D F4,0(R2)L.D F14,-8(R2)ADD.D F0,F0,F4ADD.D F10,F10,F14DSUBI R1,R1,#16S.D F0,0(R2)DSUBI R2,R2,#16BNEZ R1,LOOPS.D F10,8(R2)4.9 解:标量流水处理机的时空图:执行完12条指令需T114t。超标量流水处理机与超长指令字处理机的时空图:超标量流水处理机中,每一个时钟周期同时启动4条指令。执行完12条指令需T25t,相对于标量流水处理机的加速比为:超长指令字处理机中,每4条指令组成一条长指令,共形成3条长指令。执行完12条指令需T35t,相对于标量流水处理机的加速比为:超流水处理机的时空图:超流水处理机中,每1/4个时钟周期启动一条指令。执行完12条指令需T45.75t,相对
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1