• 182.50 KB
  • 2022-04-22 11:42:16 发布

计算机系统结构习题解答.doc

  • 15页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'《计算机系统结构》部分习题参考答案1.2解:这儿要注意的是第一级是最低的级别,而不是最高的级别。第二级:NKns第三级:N2Kns第四级:N3Kns1.4解:第二级:N/Mks第三级:(N/M)2ks第四级:(N/M)3ks1.6解:计算机系统结构:是从系统结构设计者的角度看到的系统特性及功能视图,它对计算机组成提出了明确的功能需求和设计目标。计算机组成:计算机系统结构的逻辑实现。计算机实现:计算机组成的物理实现。例:对于同样系统结构的IBM系列机,人们为了提高性能,加入了通道、外围处理机、先行控制、流水线等。而对于组成相仿的两类计算机,器件的集成度、布局等物理实现又可能不同。1.8解:对汇编语言程序员而言透明的有:指令缓冲器、时标发生器、乘法器、先行进位链、移位器。1.11解:系列机是指由同一厂家生产并具有相同系统结构的计算机,但具有不同的计算机组成与实现。可行:(1)(3)(4)(6)(7)不可行:(2)(5)(8)1.17解:Sn=1/((1–Fe)+Fe/Se)=1/((1–0.9)+0.9/5)=3.571.19解:CPI=∑CPIi×[Ii/Ic]=45000/105+(32000×2)/105+(15000×2)/105+(8000×2)/105=1.55MIPS=(40×106)/(1.55×106)=25.8MIPSTe=105/(25.8×106)=3.88ms1.24解:CPI=1,则有:T未=IC×CPI×T(1-5%)=0.95IC×TT优=IC×CPI×T(1-30%)+IC×CPI×T×30%(1-1/3)=0.9IC×T由于T优/T未=0.9/0.95=0.947所以,优化后的方案使计算机工作速度更快。1.28解:原始MFLOPS=195578/(10.8×106)=0.018正则化后MFLOPS=195578/(13.6×106)=0.014指令正则化后的具体值=f/CPI=16.6M/(6×106)=2.772.2解:1)最大尾数:1-16-62)最小正尾数:16-13)最小尾数:-(1-16-6)4)最大负尾数:-16-15)最大阶码:26-16)最小阶码:-267)最大正数:(1-16-6)*16648)最小正数:16-1*16-649)最大负数:-16-1*16-6410)最小负数:-(1-16-6)*1664+111)浮点零:012)表数精度:1/2×16-(6-1)13)表数效率:15/1614)能表示的规格数浮点数个数:2×15×165×2×26+12.3解:1)最大正数:2127(2-2-23)2)2)最小正数:2-126.2-23=2-1493)最大负数:-2-1494)最小负数:-2128(1-2-24)5)表数精度:2-2315 6)表数效率:99.6%2.5解:1)设计浮点数的格式:2-P=10-7..2P=-log210-7.2=7.2×log210尾数为24位,阶码为7+1位。2)计算:①①   最大正数:2128=3.4×1038②②   最大负数:-2-127×224=-3.5×10-46③③   表数精度:1/2×2-23=2-24=10-7..22④④   表数效率:50%2.6解:1)   0.2的两种表示:IBM:00000000001100110011001100110011IEEE:001111101<1>100110011001100110011002)转换规则:①①         找出尾数中首位为1的第K位(二进制,尾数);②②         尾数左移k位,移出部分丢掉,右边添加0;③③         e2=4e1-125-k④④         s2=s13)转换规则:①① e1=(e2-127)/4;②② e1=e1+63;③③ k=4e1-e2+127;④④ 右移K位,将0.m1转化为16进制。2.9解:1)舍入方法为:上舍下入2)警戒位位数:1位3)在正数区的误差范围:-2-p-1(1-2-q+1)~2-p-12.10解:要点:指令数由256减少到64,减少了两位指令码。在A处理机中所占的空间为:MA=1000*32+(1000*2*32)/8=40000bit在B处理机中所占的空间:39000bitMB=1000*30+(1000*2*36)/8=39000bit2.13解:指令序号出现的概率Huffman编码法2/8扩展编码法3/7扩展编码法I10.25000000I20.20100101I30.15010100010I40.10110100111000I50.080110101011001I60.081110101111010I70.051111110011011I80.0401110110111100I90.03011110111011101I100.02011111111111101操作码平均长度2.993.13.2操作码冗余信息0.7%4.2%7.2%15 2.14解:1)操作码编码:I135%0I225%10I320%110I410%1110I55%11110I63%111110I72%111111操作码平均长度:H=ΣPiLi=2.351)2)   指令格式、各字段长度和操作码编码:可采用2/4扩展法编码,3条RR指令(I1,I2,I3)的操作码为2位,四条指令(I4I5I6I7)的操作码长为4位,则:8位操作码的指令格式OpR1R2233其中:Op为00,01,1016位操作码的指令格式OpR1MR24381其中,Op为1100,1101,1110,1111 2.15解:1)单地址指令条数为63零地址指令条数64操作码分别为:双址:0000~1110单地址:1111000000。。。。1111111110零地址:1111111111000000。。。。。。11111111111111112)3)   首先,从题意可得:(16-x):63x=1:9所以,x=2操作码分别为:双址:0000-1110(共14条)单地址:11100000000……..111111111110000000……..1111111(共126条)零地址:1110111111000000。。。。。。1111111111111111000000。。。。111111(共126条)15 2.16解:2)处理器1:条数最少,但指令字最长,存储空间较大,速度最慢。处理器2:条数比上多一些,但字长稍短,空间占用差不多速度较慢。处理器3:条数最多,但指令字长较短,但总空间占用可能最大,速度高处理器4:条数与一地址相当,虽指令字长短,但总的空间占用可能最大,速度最慢。处理器5:指令条数较少,字长比一般二地址系统短的多。存储空间少,速度高。3)2地址、3地址、1地址、二地址多累加器指令系统、堆栈4)二地址多累加器指令系统、1地址、3地址、2地址、堆栈 2.20解:1)1)     Start:MoveAS,R1MoveNum,R2Move(R1),AD-AS(R1)Loop:INCR1DECR2BGTLoopMove(R1)1AD-AS(R1)HALTNUM:N2)2)     可节省的指令周期:99个3)3)     Start:MoveAS1,R1MoveNUM,R2Move(R1),AD-AS(R1)INCR1Loop:DECR2BGTLoopMove(R1),AD-AS(R1)INCR13.1题:(1)(1)  当S2>>S1时,平均价格接近C2。(2)(2)  ta=h*t1+(1-h)*t2(3)(3)  e=1/[h+(1-h)r](4)(4)   (5)(5)  当r=100时,h>0.99947(6)(6)  P134公式,H’=(H+n-1)/n=(0.96+5D-1)/5D=0.99947计算得:D>15.05,取D=163.2题:(1)(1)  T=H1T1+(1-H1)H2T2+(1-H1)(1-H2)T3;(2)(2)  当s3>>s1且s3>>s2时,平均价格c约等于c3。3.3题:(1)(1)  t=ht1+(1–h)t2,当cache为64k时,t=0.7*20ns+(1-0.7)*200ns=74ns;当cache=128k时,t=38ns;当cache=256k时,t=23.6ns(2)(2)  按照公式:cache=64k,c=0.2585美元/k字节;cache=128k,c=0.3152美元/k字节;cache=256k,c=0.4235美元/k字节(3)(3)  按等效访问时间由小到大排序,容量分别为:15 256k,128k,64k按每字节平均价格由小到大排序,分别为:64k,128k,256k(1)(4)  ①19.129ns.美元/k字节;②11.9776ns.美元/k字节;③9.9946ns.美元/k字节;选256k的cache最优3.7题:第(1)小题解答:方式一、体号:4位;体内地址:20位;方式二、存贮地址:20位;多路选择器:4位;方式三、体内地址:20位;存储器体号:4位;方式四、高位体号:1位;低位体号:3位;体内地址:20位;方式五、高位体号:2位;低位体号:2位;体内地址:20位;方式六、体内地址:20位;多路选择器:2位;低位体号:2位; 第(2)小题①扩大容量;②比较简单;③速度比较快;④速度快,容量大;⑤速度快,容量大;⑥提高速度第(3)小题①1;②16;③接近16;④接近8;⑤接近4;⑥接近163.9题:(1)(1) 两级页表g=[log2(Nv/Np)/log2(Np/4)]=[20/10]=2(参考P157的公式)(2)(2) 一级页表:1个;二级页表:1024个;(3)(3) 一级页表在主存当中,二级页表只有部分在主存,大部分在辅存当中;3.11题:(1)(1)      页面失效地址:[2048,3071],[4096,5119],[6144,7167]。故页面失效的操作为:2,3,6,10(2)(2)      访问主存的物理地址为:1:2252(=2*1024+124+30+50);4:740;5:1692;7:3728;8:2508;9:1152(3)      无(注意RW标志位)(4)      非法操作为:3(PageFault),4(Accessmode),5(AccessMode),7(AccessMode),10(Accessmode) 3.12题:(1)(1)    用户号:6位,虚页号:10位,页内偏移地址:12位15 (1)(2)    实页号:11位,页内偏移地址:12位;(2)(3)    快表字长:27位;其中,多用户虚页号:16位,实页号:11位(3)(4)    慢表容量:64k个存储字(26+10),每个字长:装入位1位+实页号11位=12  3.13题:(1)    多用户虚地址:用户号-8位;虚页号-12位;页内偏移地址-10位;实地址格式:实页号-14位;页内偏移-10位;问题实质:(用户号-8位;虚页号-12位)->(实页号:14位)(2) 输入位:20(8+12);输出位:5;(3) 相等比较电路的位数:20;(4) 快表存储字长度:68位,每组分为:多用户虚页号:20位;实页号:14位;注意:有2套独立的比较电路。(5) 画图3.15题:(1) 最高页面命中率为:58.3%(OPT方法,7/12)(2) 最少分配4个页面(3) 存储单元命中率为:H=(1024*12-5)/(1024*12)=99.96% 3.16题:(1)(1)      2个主存页面,页面大小为1024;实际字节地址流为:48,160,1040,1120,3200,2000,2240,2400,4400,4800,4000对应的页流:p1p1p2p2p1p4p2p3p3p5p5p4页地址流为:p1p1p2p2p1p4p2p3p3p5p5p4入中入中中替中替中替中替命中率:6/12=50%(2)页面大小为512字节时,共有4个页面。页地址流为:p1p1p2p3p2p7p4p5p5p9p10p8变化过程:p1p1p1p1p1p1p2p3p3p7p4p5p2p2p2p2p3p7p7p4p5p9p3p3p3p7p4p4p5p9p10p7p4p5p5p9p10p8命中情况:x中xx中xxx中xxx命中率:3/12=25%(3)主页面=1,页面大小为2048页地址流:p1p1p1p1p1p2p1p2p2p3p3p2命中情况:xxxxxx命中率:50%(1)(4)    当页面大小不大时,随着页面大小的增大,命中率升高,当页面大小继续增加时,命中率反而降低。(2)(5)    页面大小:1024,主存容量:4096;分配4个页面页地址流:p1p1p2p2p2p4p4p3p3p5p5p4变换过程:p1p1p1p1p2p2p2p2p4p4p4p3p3p5xxxxx命中率:7/12=58.5% 3.19解:15 (1)主存地址格式:区号E区内组号G组内块号B块内地址W1114(2)Cache地址格式:组号组内块号块内地址114 (3)主存与Cache中各个块的映象对应关系:(4)Cache的块地址流情况:B6B2B4B1B4B6B3B0B4B5B7B3C2C3C0C1C0C2C3C1C0C1C2C3(5)FIFO中Cache的块命中率:3/12=25%(6)LFU中Cache的块命中率:4/12=33.3%(7)改为全相联映象后:FIFO中块命中率:4/12=33.3%LFU中块命中率:3/12=25%(8)这时Cache的命中率:1-8/(16×12)=95.8% 3.20解:(1)主存8×8=64MB,每个存储体为8M/16K=512区,每区16K/(32×4)=128组。区号:9位,组号:7位,组内块号:2位,偏移地址:5位,存储体号:3位(2)Cache中每块32Byte,共16K/32=512块,512/4=128组组号:7位,组内块号:2位,块内偏移:5位。(3)相联目录表共有128行。(4)相联目录表如下:192119211921E,B1beE,B2be……E,B8be其中,(E,B)表示区号和区内组号,b表示组内块号,e表示有效位。(5)比较电路的位数:19(其中1为为有效位标志)(6)P181图3.46 3.23解:Cache等效访问时间T=H×Tc+(1–H)Tm15 (1)增大主存容量,不影响T;(2)提高主存速度,将减小Tm,从而将减小Cache等效访问时间T,提高Cache系统的加速比;(3)增大Cache容量,将提高命中率H,在Cache容量较小时,H提高较快,从而将减小Cache等效访问时间T;在Cache容量较大后,H的提高将减慢,对T的影响也随之减弱;(4)提高Cache速度将减小Tc,从而减小等效访问时间T;(5)H与块大小B的关系是:开始时将随着B的增大而使H增大,当达到峰值后,又随着B的增大而使H减小。因此,当B较小时,随着B的增大而使T减小;当B增大到一定数值时,随着B的增大而使T也增大。(6)增大组的大小(即减少组数),对组相联映象来说,将提高H。当组数不大时,减少组数,H的提高不明显,对T的影响也不大;当组数超过一定数量后,H的上升很快,将使T减小;(7)增加组数,将使H降低,从而使T增大;(8)由于LFU比FIFO更有效,因而H相对会提高,从而使T减小。4.4解:原题表述有错。“1”表示被屏蔽,“0”表示开放。(1)正常中断屏蔽码:响应:D1D2D3D4D5处理:D1D2D3D4D5(2)修改后:响应:D1D2D3D4D5处理:D4D5D3D2D1(3)处理示意图:中断请求:D1D2D3D4D5(4)处理示意图:中断请求:D3D4D5D1D215 4.6解:(1)(1)至少需要3位中断屏蔽码(2)(2)中断响应次序:D1D2D3D4D5中断处理次序:D3D4D2D5D1(3)(3)中断处理示意图: 4.8解:(1)(1) fByte=(1/10+1/75+1/15+1/50)MB/S=0.2MB/St=1/fByte=5us/Byte(2)(2) 图示如下:15 (1)(3) DEV1第一次完成服务请求的时刻为5us;DEV2第一次完成服务请求的时刻大于145us;DEV3第一次完成服务请求的时刻为20us;DEV4第一次完成服务请求的时刻为40us;(2)(4) 不能。(3)(5) 有三种方法:①① 增加通道的最大流量;②② 动态改变设备的优先级;③③ 增加一定数量的数据缓冲器。 第五章作业标准答案5.3(1)(1)             6n*Δt(2)(2)             6t+(n-1)5t=(5n+1)Δt(3)(3)             6t+(n-1)3t=3(n+1)Δt(4)(4)             3*(n+1)Δt,约为3nΔt5.5解:会发生WR操作数相关,WW操作数相关,且都为通用寄存器数据相关。WR:k:ADDR1,R2;R1←(R1)+(R2)K+1:ADDR3,R1;R3←(R3)+(R1)相关发生原因:设每段时间长度都为1,假设n时刻开始取k指令,则n+3时刻开始将数据写回到R1;在n+1时刻,开始取k+1指令,此时需要读取R1中数据,因此将产生“先写后读”数据相关。WW:k:MULR1,R2;R1←(R1)×(R2)K+1:ADDR1,R3;R1←(R2)+(R1)相关发生原因:假设n时刻开始取k指令,则n+5时刻开始将数据写回到R1;在n+1时刻,开始取k+1指令,在n+4时刻就开始将数据写回R1,产生“写-写”数据相关。解决方法:(1)延迟执行;(2)建立专用路径。15 5.6(1)(1)可能有:先写后读(RAW)相关;写-写(WAW)相关(2)(2)会引起流水线停顿的相关有:先写后读相关;(3)(3)时空图:(共用了9个时钟周期)部件:ADD3        ADD3ADD2     ADD2   ADD1    ADD1    MUL4       MUL4 MUL3      MUL3  MUL2     MUL2   MUL1    MUL1    MOV2   MOV2     MOV1  MOV1      译码 译码K译码K+1译码K+2     取指取指K取指K+1取指K+2      1234567895.7解:时空图如下通过时空图可分析得,完成5n个任务需要的时间为(7n+1)Δt,所以实际吞吐率为: 15 如果不使用流水线,完成5n个任务需要的时间为5n*4*Δt,即20nΔt,所以加速比为:效率为: n→∞时:5.8浮点数加法的流水线分为5段:输入,求阶差,对阶,尾数加,规格化。可将原来的求和算式分为以下9步:1:A1+A2;2:A3+A4;3:A5+A6;4:A7+A8;5:A9+A10;6:(A1+A2)+(A3+A4);7:(A5+A6)+(A7+A8);8:[(A1+A2)+(A3+A4)]+(A9+A10);9:[(A1+A2)+(A3+A4)+(A9+A10)]+[(A5+A6)+(A7+A8)];时空图:规格化    12345 6 7  8    9尾数加   12345 6 7  8    9 对阶  12345 6 7  8    9  求阶差 12345 6 7  8    9   输入12345 6 7  8    9    123456789101112131415161718192021流水线性能分析:吞吐量:TP=9/21Δt=0.429/Δt加速比:S=9*5*Δt/(21Δt)=2.143效率:E=S/5=0.4295.9可将原来的求和算式分为以下11步:1、A1*B1;2、A2*B2;3、A3*B3;4、A4*B4;5、A5*B5;6、A6*B6;7、(A1*B1)+(A2*B2);8、(A3*B3)+(A4*B4);9、(A5*B5)+(A6*B6);10、[(A1*B1)+(A2*B2)]+[(A3*B3)+(A4*B4)];15 11、{[(A1*B1)+(A2*B2)]+[(A3*B3)+(A4*B4)]}+[(A5*B5)+(A6*B6)];时空图:S6   123456   789  10   11S5  123456              S4 123456               S3           789  10   11 S2          789  10   11  S1123456   789  10   11   12345678910111213141516171819202122流水线性能分析:吞吐量:TP=11/22t=0.5/Δt加速比:S=11*4*Δt/(22Δt)=2效率:E=S/6=1/35.10(1)、冲突(2)、TP=1/2△t,S=2,Emax=2/3;(3)、变成S1S2aS2bS3 改进后:Tp=1/△t,S=4,Emax=15.12(1)、答:禁止向量是(1,2,4),(注:禁止向量是由所有禁止启动距离组合构成的一个数列)初始冲突向量是:1011调度状态图:(2)、由状态图可知,最小启动循环为3,最小平均启动距离为3(3)、由预约表可知,每行均对应2个’x’,则最小平均启动距离为2,最佳启动循环为2(4)、插入非计算延迟功能段后的流水线连接图为15 预约表为:时间123456功能段S1X   ○XS2 X ○X S3  XX  延迟D1   X  D2    X (5)、答:禁止向量是(1,3,5)初始冲突向量是:10101调度状态图:(6)、改进前:TPmax=改进后:TPmax=改进的百分比:=50%5.14(1)、线性流水线一一对应,非线性流水线不是一一对应,只要S1、S2和S315 都通过至少两次以上。(3)、 12345S1×   ×S2 ××  S3 × × 5.15(有问题)(1)、禁止向量:(1,2,5)初始冲突向量:10011(2)、调度流水线状态图:(3)、最小启动循环:3;最小平均启动距离:3;(4)、最佳启动循环:(1,3);最小平均启动距离:2;(5)、插入后的流水线预约表:时间功能段1234567S1Χ    ΧΧS2 Χ ①Χ  S3  Χ    S4   ΧΧ  D1   Χ   (6)、(7)、插入前:1/(3*Δt);插入后:1/(2*Δt)(8)、插入前:10/(33*Δt);插入后:10/(24*Δt)15'