《计算机组成原理》参考答案
一. 单项选择题(每小题1分,共16分)
1.
2. 3. 4. 5.
A. B.;D.;C. A. D. D.
6. C. 7. D. 8. C. 9. D. 10. C. 11. B. 12. B. 13. C. 14. D. 15. B. 16. C.
二、简答题(40分)
1、解释下列名词的含义:
(1) 答:
为了解决多个主设备同时竞争总线控制权,必须具有总线仲裁部件,以某种方式选择其中一个主设备作为总线的下一次主方。对多个主设备提出的占用总线请求,一般采用优先级或公平策略进行仲裁。 按照总线仲裁电路的位置不同,仲裁方式分为集中式仲裁和分布式仲裁两类。
(2) 答:
虚拟存储器是建立在主存一外存层次上的由操作系统存储管理软件及附加硬件装置(存储器管理部件MMU)组成的存储体系。它以透明的方式给用户提供了一个访问速度接近(略大于)主存储器,而存储空间比实际主存空间大得多的虚拟存储器。此时程序的逻辑地址称为虚拟地址(虚地址),程序的逻辑地址空间称为虚拟地址空间。因此,虚拟存储器不仅解决了人们追求的存储容量大、存取速度快和成本低之间的矛盾,而且它也是一种有效的存储体系管理方式。
物理地址(实地址)由CPU地址引脚送出,它是用于访问主存的地址。虚拟地址是程序设计者使用的地址。工作在虚拟地址模式下的CPU理解这些虚拟地址,并将它们转换成物理地址。
2、答:
传送方式一般有4种,即无条件方式、查询方式、中断方式和DMA方式。 (1)无条件方式
在这种传送方式时,CPU已认定外设作好输入或输出准备,所以不必查询外设的状态而直接与外设进行数据传送。这种传送方式的特点是:硬件电路和程序设计都很简单,常常用在对外设要求不高的系统中,如交通灯管理、路灯管理和广告牌显示等系统中。
(2)查询方式
查询方式是指CPU在传送数据(包括读入和写出)之前,要检查外设是否“准备好”,若没有准备好,则继续查其状态,直至外设准备好了,即确认外部设备已具备传送条件之后,才能进行数据传送。显然,在这种方式下,CPU每传送一个数据,需花费很多时间来等待外设进行数据传送的准备,且CPU与外设不能同时工作,各种外设也不能同时工作,因此,信息传送的效率非常之低。但这种方式传送数据比无条件传送数据的可靠性高,接口电路也较简单,硬件开销小,在CPU不太忙且传送速度要求不高的情况下采用。
(3)中断方式
中断传送方式的特点是:外设具有主动向CPU申请服务的能力。当输入设备已将数据准备好,或者输出设备可以接收数据时,便可以向CPU发出中断请求,CPU可中断正在执
行的程序而和外设进行一次数据传输。待输入操作或输出操作完成后,CPU再恢复执行原来的程序。与查询工作方式不同的是,这时的CPU不用主动去不断地查询等待,而可以去处理其他事情。因此,采用中断传送时,CPU和外设是处在并行工作的状况下,这样就大大提高了CPU的效率。
(4)DMA方式
在DMA方式下,外设通过DMA的一种专门接口电路——DMA控制器(DMAC),向CPU提出接管总线控制权的总线请求,CPU在当前的总线周期结束后,响应DMA请求,把对总线的控制权交给DMA控制器。于是在DMA控制器的管理下,外设和存储器直接进行数据交换,而不需CPU干预,这样可以大大提高数据传送速度。
3、答:
指令的地址是指该指令在主存储器中的地址,而指令中的地址码是指该指令所需操作数的形式地址。
4、答:
它主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成。 (1) 控制存储器
控制存储器用来存放实现全部指令系统的微程序,它是一种只读存储器。一旦微程序固化,机器运行时则只读不写。
(2) 微指令寄存器
微指令寄存器用来存放由控制存储器读出的一条微指令信息。其中微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息。
(3) 地址转移逻辑
在一般情况下,微指令由控制存储器读出后直接给出下一条微指令的地址,通常我们简称微地址,这个微地址信息就存放在微地址寄存器中。如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出。当微程序出现分支时,意味着微程序出现条件转移。在这种情况下,通过判别测试字段P和执行部件的“状态条件”反馈信息,去修改微地址寄存器的内容,并按改好的内容去读下一条微指令。地址转移逻辑就承担自动完成修改微地址的任务。
三. 计算题(24分)
1.答:
(1)[+56]原=00111000B;[+56]反=00111000B;[+56]补=00111000B。 (2)[-56]原=10111000B;[-56]反=11000111B;[-56]补=11001000B。 (3)[+126]原=01111110B;[+126]反=01111110B;[+126]补=01111110B。 (4)[-126]原=11111110B;[-126]反=10000001B;[-126]补=10000010B。 2.答:
(1)因为 [X]补=0 0000111,[Y]补=1 1101101
则 [X]补=0 0000111 +7 +) [Y]补= 1 1101101 +) -19 [X]补+[Y]补=1 1110100 -12 所以 [X]补+[Y]补=1 1110100 (mod 28)
此和数为负,将负数的补码还原为原码,即: [X+Y]原=[(X+Y)补]补=1 0001100
(2)因为 [X]补=1 1001000
[Y]补=1 1101111 [-Y]补=0 0010001
则 [X]补=1 1001000 +) [-Y]补= 1 1101111 [X]补+[-Y]补 =1 1011001
所以 [X]补-[Y]补=[X]补+[-Y]补= 1 1011001
四. 设计题(20分)
1、答:
2、答: PC→BUS;BUS→MAR;PC+1 取指令周期 Read;MBR→BUS;BUS→IR 测试OP PC→BUS;BUS→MAR;PC+1 Read;MBR→BUS;BUS→Z 执行指令周期 R→BUS(Ra、Rb=00);BUS→Y ADD;ALU→BUS;BUS→R (Ra、Rb=00) 转入公操作