计算机系统结构-集美大学考试内容

  • 格式:docx
  • 大小:28.21 KB
  • 文档页数:6

1-6.从机器(汇编)语言程序员看,以下哪些是透明的?透明的有:指令缓冲器、时标发生器、乘法器、主存地址寄存器、先行进位链、移位器。

1-10.想在系列机中发展一种新型号机器,下列哪些设想是可以考虑的,哪些是不行的?为什么?(1)新增自发数据类型和若干条字符处理指令,以支持事务处理程序的编译。

可以。

虽然它属于计算机系统结构的内容,但新增加的数据类型和指令不会影响到已有指令所写程序的正确运行。

(2)为增强中断处理功能,将中断分级由原来的4级增加到5级,并重新调整中断响应的优先次序。

不可以。

中断分级和终端的响应次序都属于计算机系统结构的内容,中断分级由4级增加到5级应当还是允许的,关键是重新调整了中断响应的优先次序,使原有程序的中断响应次序发生了改变,会影响原有程序工作的正确性。

(3)在CPU和主存之间增设Cache存储器,以克服因主存访问速率过低而造成的系统性能瓶颈。

可以。

Cache存储器属于计算机组成,它不会改变原有的系统程序和应用程序。

(4)为解决计算误差较大的问题,将机器中浮点数的下溢处理方法由原来的恒置“1法”,改为用ROM存放下溢处理结果的查表舍入法。

可以。

浮点数尾数的下溢处理不属于计算机系统结构,而是计算机组成设计所考虑的内容。

2-9.经统计,某机器14条指令的使用频度分别为0.01、0.15、0.12、0.03、0.02、0.04、0.02、0.04、0.01、0.13、0.15、0.14、0.11、0.03。

分别求出用等长码、哈夫曼码、只有两种码长的扩展操作码等三种编码方式的操作码平均码长。

(1)等长码:14条指令的等长操作码的平均码长是[1b41]位,即4位。

(2)哈夫曼遍码:先用哈夫曼算法构造哈夫曼树(P290),计算可得平均码长为3.38位。

(3)只有两种码长的扩展操作码:根据14条指令所给出的使用频度分成两群,较高6种指令的用3位操作码编码表示,留下两个3位码作为长码的扩展标志,扩展出2位,共有8条使用低频的指令的操作码,平均码长计算后(P291)为3.4位。

2-10.电文由A~J几空格字符组成,其中字符出现的频度依次为0.17、0.05、0.20、0.06、0.08、0.03、0.01、0.08、0.13、0.08、0.11。

(1)各字符用等长二进制编码,传送10^3个字符时,共需传送多少个二进制码码位?共需传送4*10^3=4000位(2)构造哈夫曼树,写出各字符的二进制码码位数,计算字符的二进制平均码长。

哈夫曼树(P291),平均码长为3.23位(3)用哈夫曼树传送10^3个字符,此定长码传送可减少传送的二进制码码位数是多少?可减少(4-3.23)*10^3=770位2-11.用于文字处理的某专用机,每个文字符用4位十进制数字(0~9)编码表示,空格则用“空格”表示,在对传送的文字符号和空格进行统计后,得出数字和空格的出现频度分别为:“空格”:20% 0:17% 1:6% 2:8% 3:11% 4:8%5:5% 6:8% 7:13% 8:3% 9:1%(1)若上述数字和空格均用用二进制编码,试设计二进制信息位平均长度最短的编码。

答:按空格和数字出现的频度构造哈夫曼树(P292),可得到其二进制吗的编码(不唯一,但平均码长唯一):“空格”:01(2位) 0:111(3位) 1:1000(4位)2:1001(4位) 3:001(3位) 4:1100(4位) 5:0001(4位)6:1101(4位) 7:101(3位) 8:00001(5位) 9:00000(5位)根据产生的哈夫曼编码可求得平均的二进制码长为3.23位(2)若传送10^6个文字符号(每个文字符号后均跟一个空格),按最短的编码,共需传送多少个二进制位?答:每个文字字符用4位十进制数字再跟一个空格表示,共需传送10^6*(4+1)*3.23位=1.615*10^7位(3)若十进制数字和空格均用4位二进制码表示,共需传送多少个二进制位?答:共需传送10^6*(4+1)*4位=2*10^7位3-5.设中断屏蔽位“1”对应于开放,“0”对应于屏蔽,各级中断处理程序的中断屏蔽位如(1)当中断响应优先次序为1→2→3→4时,其中断处理次序是什么?答:1→3→4→2(2)设所有的中断处理都各需3个单位时间,中断响应和中断返回时间相对中断处理时间少得多。

当机器正在运行用户程序时,同时发生第2、3级中断请求,过两个单位时间后,又同时发生第1、4级中断请求,试画出程序运行过程示意图。

答:图见P2933-6.若机器共有5级中断,中断响应优先次序为1→2→3→4→5,现要求其实际中断处理次序为1→4→5→2→3,回答下面问题:(1)设计各级中断处理程序的中断级屏蔽位(令“1”对应屏蔽,“0”对应开放)答:各级中断处理程序中的中断级屏蔽位的设置如下表:(2)若在运行用户程序时,同时出现第4、2级中断请求,而在处理第2级中断未完成时,又同时出现第1、3、5级中断请求,请画出此程序运行过程示意图。

答:图见P2943-11.某字节多路通道连接6台外设,其数据传送速率分别如表3-7中所列。

(1)计算所有设备都工作时的通道实际最大流量答:公式见P295。

50+15+100+25+40+20=250KB/S(2)设计的通道工作周期使通道极限流量恰好与通道实际最大流量相等,以满足流量设计的基本要求,同时让速率越高的设备被响应的优先级越高。

当6台设备同时发出请求时,画出此通道在数据传送期内响应和处理各外设请求的时间示意图。

由此,能发现什么问题和得出什么结论?答:见P295。

(3)在问题(2)的基础上,在哪台设备内设置多少个字节的缓冲器就可以避免设备信息丢失?那么,这是否说明书中关于流量设计的基本要求是没有必要的?为什么?答:在2号设备商设置两个字节的数据缓冲器。

见P2963-12.有8台外设,各设备要求传送信息的工作速率分别如表3-8所示。

现设计的通道在数据传送期,每选择一次设备需2us,每传送一个字节数据也需要2us。

(1)若用作字节多路通道,通道工作的最高流量是多少?答:公式见P296。

250KB/S(2)作字节多路通道用时,希望同时不少于4台设备挂在此通道上,最好多挂一些,且高速设备尽量多挂一些,请问应选哪些设备挂在此通道上?为什么?答:挂C、D、E、H、G5台设备。

公式见P296。

要么挂不够4台,要么丢失设备信息。

(3)、(4)小题见P110,答案见P296。

4-4.某虚拟存储器共8个页面,每页为1024个字,实际主存为4096个字,采用页表法进行(1)列出会发生页面失效的全部虚页号答:即为所有装入位为“0”的行所对应的虚页号集合:2、3、5、7(2)按以下虚地址计算主存实际地址:0,3728,1023,1024,2055,7800,4096,6800。

4-6.设某程序包含5个虚页面,其页地址流为4,5,3,2,5,1,3,2,2,5,1,3。

当使用LRU算法替换时,为获得最高的命中率,至少应分配给该程序几个实业?其可能的最高命中率为多少?答:见P299。

至少分配4页,最高命中率为7/12。

4-7.有一个虚拟存储器,主存有0~7八个虚页,才用全相联映像和FIFO替换算法。

给出如下程序页地址流:2,3,5,2,4,0,1,2,4,6。

(1)假设程序的2,3,5页已先后装入主存的第3,2,0页位置,请画出上述页地址流工作过程中,主存各页位置上所装程序=各页页号的变化过程图,标出命中时刻。

答:见P299。

(2)求出此期间虚存总的命中率H。

H=5/10=50%4-11.考虑一个920个字的程序,其访问虚存的地址流为20,22,208,214,146,618,370,490,492,868,916,728。

(1)若页面大小为200字,主存容量为400字,采用FIFO替换算法,请按访存的各个时刻,写出其虚页地址流,计算主存的命中率。

答:虚页地址流为:0,0,1,1,0,3,1,2,2,4,4,3由图P302可得H=6/12=0.5。

(2)若页面大小改为100字,再做一遍。

答:虚页地址流为:0,0,2,2,1,6,3,4,4,8,9,7由图P303可得H=3/12=0.25。

(3)若页面大小改为400字,再做一遍。

答:虚页地址流为:0,0,0,0,0,1,0,1,1,2,2,1由图P303可得H=6/12=0.5。

(4)由(1)(2)(3)的结果可得出什么结论?答:见P303。

(5)若把主存容量增加到800字,按第(1)小题再做一遍,又可以得出什么结论?(6)答:见P303。

4-12.在一个页式二级虚拟存储器中,才用FIFO算法进行页面替换,发现命中率H太低。

因此有下列建议:(1)增大辅存容量;(2)增大主存容量(页数);(3)增大主、辅存的页面大小;(4)FIFO改为LRU;(5)FIFO改为LRU,并增大主存容量(页数);(6)FIFO改为LRU,且增大页面大小。

试分析上述各建议对命中率的影响情况。

答:见P303。

4-15.有Cache存储器。

主存有0~7共8块,Cache有4块,采用组相联映像,分2组。

假设Cache已先后访问并预取进了主存的第5、1、3、7块,现访存块地址流又为1,2,4,1,3,7,0,1,2,5,4,6时:(1)若使用LRU替换算法,画出Cache内各块的实际替换过程图,并标出命中时刻。

答:见P305。

(2)求出此期间Cache的命中率。

答:H=3/12=0.25。

5-6.有一个双输入端的加一乘双功能静态流水线有一个双输入端的加一乘双功能静态流水线,由经过时间为△t、2△t、2△t、△t的l、2、3、4四个子过程构成.加按1—2—4连接,乘按1—3—4连接,流水线,S出设有数据缓冲器,也可将数据直接返回输入.现要执行A*(B+C*(D+E*F))+G*H的运算,请调整计算顺序,画出能获得吞吐率尽量高的流水时空图,标出流水线入,出端数据的变化情况,求出完成全部运算的时间及此期间流水线的效率.如对流水线瓶颈子过程再细分,最少只需多少时间可完成全部运算?若子过程3不能再细分,只能用并联方法改进,问流水线的效率为多少? ……P196-P311。

[分析]因为是加一乘双功能静态流水线,为了能有高的吞吐率,应减少流水线的功能切换次数。

因此,宜将算法调整成先一连串的乘,然后再切换成一连串的加.这样,将计算式展开成:A*B+A*C*D+A*C*E*F+G*H对于该表达式的计算,自然应先进行乘法流水.为了减少因先写后读相关而等待的时间,应尽量安排对计算式子项数量多的乘法先进行操作.此外,由于流水线中瓶颈子过程为2△t,所以,流水输入端最快也只能每隔2△t输入一组数据。

[解答] 根据题意,对算法经调整后,能使流水吞吐宰尽量高的流水时空图如图5.11所示。