Bootstrap

计算机组成原理习题答案(蒋本珊)

第一章
1 .电子数字计算机和电子模拟计算机的区别在哪里?
解:电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。
2 .冯· 诺依曼计算机的特点是什么? 其中最主要的一点是什么?
解:冯· 诺依曼计算机的特点如下:
① 计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成;
② 计算机内部采用二进制来表示指令和数据;
③ 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。
第③ 点是最主要的一点。
3 .计算机的硬件是由哪些部件组成的? 它们各有哪些功能?
解:计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。它们各自的功能是:
① 输入设备:把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计算机内部所能识别和接受的信息方式。
② 输出设备:将计算机的处理结果以人或其他设备所能接受的形式送出计算机。
③ 存储器:用来存放程序和数据。
④ 运算器:对信息进行处理和运算。
⑤ 控制器:按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自动工作。
4 .什么叫总线? 简述单总线结构的特点。
解:总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各部件的信息。单总线结构即各大部件都连接在单一的一组总线上,这个总线被称为系统总线。CPU 与主存、CPU 与外设之间可以直接进行信息交换,主存与外设、外设与外设之间也可以直接进行信息交换,而无须经过CPU 的干预。
5 .简单描述计算机的层次结构,说明各层次的主要特点。
解:现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分的多级层次结构。
第0 级为硬件组成的实体。
第1 级是微程序级。这级的机器语言是微指令集,程序员用微指令编写的微程序一般是直接由硬件执行的。
第2 级是传统机器级。这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。
第3 级是操作系统级。从操作系统的基本功能来看,一方面它要直接管理传统机器中的软硬件资源,另一方面它又是传统机器的延伸。
第4 级是汇编语言级。这级的机器语言是汇编语言,完成汇编语言翻译的程序叫做汇编程序。
第5 级是高级语言级。这级的机器语言就是各种高级语言,通常用编译程序来完成高级语言翻译的工作。
第6 级是应用语言级。这一级是为了使计算机满足某种用途而专门设计的,因此这一级语言就是各种面向问题的应用语言。
6 .计算机系统的主要技术指标有哪些?
解:计算机系统的主要技术指标有:机器字长、数据通路宽度、主存容量和运算速度等。
机器字长是指参与运算的数的基本位数,它是由加法器、寄存器的位数决定的。
数据通路宽度是指数据总线一次所能并行传送信息的位数。
主存容量是指主存储器所能存储的全部信息量。
运算速度与机器的主频、执行什么样的操作、主存本身的速度等许多因素有关。

第二章
1 .设机器数的字长8 位(含1 位符号位) ,分别写出下列各二进制数的原码、补码和
反码:0 ,- 0 ,0 .1000 ,- 0 .1000 ,0 .1111 ,- 0 .1111 ,1101 ,- 1101 。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3 .已知下列数的原码表示,分别写出它们的补码表示:
[X1 ]原= 0 .10100 ,[X2 ]原=1 .10111 。
解:[X1 ]补= 0 .10100 ,[X2 ]补= 1 .01001 。

4 .已知下列数的补码表示,分别写出它们的真值:
[ X1 ]补= 0 .10100 ,[ X2 ]补=1 .10111 。
解: X1 = 0 .10100 ,X2 = - 0 .01001 。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8 .一个n 位字长的二进制定点整数,其中1 位为符号位,分别写出在补码和反码两
种情况下:
(1) 模数;        (2) 最大的正数;
(3) 最负的数;      (4) 符号位的权;
(5) - 1 的表示形式;    (6) 0 的表示形式。
在这里插入图片描述

9 .某机字长16 位,问在下列几种情况下所能表示数值的范围:
(1) 无符号整数; (2) 用原码表示定点小数;
(3) 用补码表示定点小数; (4) 用原码表示定点整数;
(5) 用补码表示定点整数。
在这里插入图片描述

10 .某机字长32 位,试分别写出无符号整数和带符号整数(补码)的表示范围(用十
进制数表示) 。
在这里插入图片描述

11 .某浮点数字长12 位,其中阶符1 位,阶码数值3 位,数符1 位,尾数数值7 位,阶码以2 为底,阶码和尾数均用补码表示。它所能表示的最大正数是多少? 最小规格化正数是多少? 绝对值最大的负数是多少?
在这里插入图片描述

12 .某浮点数字长16 位,其中阶码部分6 位(含1 位阶符) ,移码表示,以2 为底;尾
数部分10 位(含1 位数符,位于尾数最高位) ,补码表示,规格化。分别写出下列各题的二
进制代码与十进制真值。
(1) 非零最小正数;
(2) 最大正数;
(3) 绝对值最小负数;
(4) 绝对值最大负数。
在这里插入图片描述

13 .一浮点数,其阶码部分为p 位,尾数部分为q 位,各包含1 位符号位,均用补码表
示;尾数基数r = 2 ,该浮点数格式所能表示数的上限、下限及非零的最小正数是多少? 写
数据的机器层次表示出表达式。
在这里插入图片描述

14 .若上题尾数基数r = 16 ,按上述要求写出表达式。
在这里插入图片描述

15 .某浮点数字长32 位,格式如下。其中阶码部分8 位,以2 为底,移码表示;尾数部分一共24 位(含1 位数符) ,补码表示。现有一浮点代码为(8C5A3E00)16 ,试写出它所表示的十进制真值。
在这里插入图片描述

16 .试将( - 0 .1101)2 用IEEE 短浮点数格式表示出来。
在这里插入图片描述

17 .将下列十进制数转换为IEEE 短浮点数:
在这里插入图片描述
在这里插入图片描述

18 .将下列IEEE 短浮点数转换为十进制数:
(1) ;
(2) ;
(3) ;
(4) ;
(5) ;
(6) 。

在这里插入图片描述
在这里插入图片描述

19 .对下列ASCII 码进行译码:
, , ,
, , ,

20 .以下列形式表示(5382)10 。
(1) 8421 码;     (2) 余3 码;
(3) 2421 码;     (4) 二进制数。
在这里插入图片描述

21 .填写下列代码的奇偶校验位,现设为奇校验:
1 0 1 0 0 0 0 1
0 0 0 1 1 0 0 1
0 1 0 0 1 1 1 0
解:3 个代码的校验位分别是0 ,0 ,1 。

22 .已知下面数据块约定:横向校验、纵向校验均为奇校验,请指出至少有多少位出错。
在这里插入图片描述

23 .求有效信息位为 的海明校验码。
在这里插入图片描述

24 .设计算机准备传送的信息是:01111 ,生成多项式是X5 + X2 + 1 ,计算校验位,写出CRC 码。

在这里插入图片描述

第三章
1 .指令长度和机器字长有什么关系? 半字长指令、单字长指令、双字长指令分别表示什么意思?
解:指令长度与机器字长没有固定的关系,指令长度可以等于机器字长,也可以大于或小于机器字长。通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长指令。
2 .零地址指令的操作数来自哪里? 一地址指令中,另一个操作数的地址通常可采用什么寻址方式获得? 各举一例说明。
解:双操作数的零地址指令的操作数来自堆栈的栈顶和次栈顶。双操作数的一地址指令的另一个操作数通常可采用隐含寻址方式获得,即将另一操作数预先存放在累加器中。例如,前述零地址和一地址的加法指令。
3 .某机为定长指令字结构,指令长度16 位;每个操作数的地址码长6 位,指令分为无操作数、单操作数和双操作数三类。若双操作数指令已有K 种,无操作数指令已有L种,问单操作数指令最多可能有多少种? 上述三类指令各自允许的最大指令条数是多少?
在这里插入图片描述

4 .设某机为定长指令字结构,指令长度12 位,每个地址码占3 位,试提出一种分配
方案,使该指令系统包含:4 条三地址指令,8 条二地址指令,180 条单地址指令。
在这里插入图片描述

5 .指令格式同上题,能否构成:三地址指令4 条,单地址指令255 条,零地址指令64 条? 为什么?
在这里插入图片描述

6 .指令中地址码的位数与直接访问的主存容量和最小寻址单位有什么关系?
6 6 解:主存容量越大,所需的地址码位数就越长。对于相同容量来说,最小寻址单位越小,地址码的位数就越长。
7 .试比较间接寻址和寄存器间址。
解:间接寻址方式的有效地址在主存中,操作数也在主存中;寄存器间址方式的有效地址在寄存器中,操作数在主存中。所以间接寻址比较慢。
8 .试比较基址寻址和变址寻址。
解:基址寻址和变址寻址在形成有效地址时所用的算法是相同的,但是它们两者实际上是有区别的。一般来说,变址寻址中变址寄存器提供修改量(可变的) ,而指令中提供基准值(固定的) ;基址寻址中基址寄存器提供基准值(固定的) ,而指令中提供位移量(可变的) 。这两种寻址方式应用的场合也不同,变址寻址是面向用户的,用于访问字符串、向量和数组等成批数据;而基址寻址面向系统,主要用于逻辑地址和物理地址的变换,用以解决程序在主存中的再定位和扩大寻址空间等问题。在某些大型机中,基址寄存器只能由特权指令来管理,用户指令无权操作和修改。
9 .某机字长为16 位,主存容量为64K 字,采用单字长单地址指令,共有50 条指令。若有直接寻址、间接寻址、变址寻址、相对寻址四种寻址方式,试设计其指令格式。
解:操作码6 位,寻址方式2 位,地址码8 位。
10 .某机字长为16 位,主存容量为64K 字,指令格式为单字长单地址,共有64 条指令。试说明:
(1) 若只采用直接寻址方式,指令能访问多少主存单元?
(2) 为扩充指令的寻址范围,可采用直接/间接寻址方式,若只增加一位直接/间接标志,指令可寻址范围为多少? 指令直接寻址的范围为多少?
(3) 采用页面寻址方式,若只增加一位Z/C(零页/现行页)标志,指令寻址范围为多少? 指令直接寻址范围为多少?
(4) 采用(2) 、(3) 两种方式结合,指令的寻址范围为多少? 指令直接寻址范围为多少?
在这里插入图片描述

11 .设某机字长32 位,CPU 有32 个32 位的通用寄存器,设计一个能容纳64 种操作的单字长指令系统。
(1) 如果是存储器间接寻址方式的寄存器- 存储器型指令,能直接寻址的最大主存空间是多少?
(2) 如果采用通用寄存器作为基址寄存器,能直接寻址的最大主存空间又是多少?
解:因为计算机中共有64 条指令,所以操作码占6 位;32 个通用寄存器,寄存器编号占5 位;其余部分为地址码或标志位。
(1) 如果是存储器间接寻址方式的寄存器- 存储器型指令,操作码6 位,寄存器编号5 位,间址标志1 位,地址码20 位,直接寻址的最大主存空间是字。
(2) 如果采用通用寄存器作为基址寄存器,,能直接寻址的最大主存空间是 字。

12 .已知某小型机字长为16 位,其双操作数指令的格式如下:
在这里插入图片描述

其中:OP 为操作码,R 为通用寄存器地址。试说明下列各种情况下能访问的最大主存区域有多少机器字?
(1) A 为立即数。
(2) A 为直接主存单元地址。
(3) A 为间接地址(非多重间址) 。
(4) A 为变址寻址的形式地址,假定变址寄存器为R1 (字长为16 位) 。
解:(1) 1 个机器字。
(2) 256 个机器字。
(3) 65536 个机器字。
(4) 65536 个机器字。
13 .计算下列4 条指令的有效地址(指令长度为16 位) 。
(1) Q(2) Q(3) Q(4) Q
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

16 .举例说明哪几种寻址方式除去取指令以外不访问存储器? 哪几种寻址方式除去取指令外只需访问一次存储器? 完成什么样的指令,包括取指令在内共访问4 次存储器?
解:除去取指令以外不访问存储器:立即寻址,寄存器寻址。
除去取指令外只需访问一次存储器:直接寻址,寄存器间接寻址,变址寻址,基址寻址,相对寻址,页面寻址。
二级间接寻址包括取指令在内共访问4 次存储器。
17 .设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量,用补码表示。假设当前转移指令第一字节所在的地址为2000H ,且CPU 每取一个字节便自动完成(PC) + 1 → PC 的操作。试问当执行JMP *+ 8 和JMP *- 9 指令( 倡为相对寻址特征)时,转移指令第二字节的内容各为多少? 转移的目的地址各是什么?
解:转移指令第二字节的内容分别为:(+8),(-9)
转移的目的地址分别为:200AH ,1FF9H 。
20.什么叫主程序和子程序? 调用子程序时还可采用哪几种方法保存返回地址? 画图说明调用子程序的过程。
解:主程序就是指通常的程序,而子程序是一组可以公用的指令序列,只要知道子程序的入口地址就能调用它。
保存返回地址的方法有多种:
(1) 用子程序的第一个字单元存放返回地址。转子指令把返回地址存放在子程序的第一个字单元中,子程序从第二个字单元开始执行。返回时将第一个字单元地址作为间接地址,采用间址方式返回主程序。
(2) 用寄存器存放返回地址。转子指令先把返回地址放到某一个寄存器中,再由子程序将寄存器中的内容转移到另一个安全的地方。
(3) 用堆栈保存返回地址。
调用子程序的过程如图3唱8 所示,此时返回地址保存在堆栈中。
在这里插入图片描述

21 .在某些计算机中,调用子程序的方法是这样实现的:转子指令将返回地址存入子程序的第一个字单元,然后从第二个字单元开始执行子程序,请回答下列问题:
(1) 为这种方法设计一条从子程序转到主程序的返回指令。
(2) 在这种情况下,怎么在主、子程序间进行参数的传递?
(3) 上述方法是否可用于子程序的嵌套?
(4) 上述方法是否可用于子程序的递归(即某个子程序自己调用自己) ?
(5) 如果改用堆栈方法,是否可实现(4) 所提出的问题?
解:(1) 返回指令通常为零地址指令。返回地址保存在堆栈中,执行返回指令时自动从堆栈中弹出。而目前返回地址是保存在子程序的第一个单元中,故此时返回指令不能再是零地址指令了,而应当是一地址指令。如:
在这里插入图片描述

间接寻址可找到返回地址,然后无条件转移到返回的位置。
(2) 在这种情况下,可利用寄存器或主存单元进行主、子程序间的参数传递。
(3) 可以用于子程序的嵌套(多重转子) 。因为每个返回地址都放在调用的子程序的第一个单元中。
(4) 不可以用于子程序的递归,因为当某个子程序自己调用自己时,子程序第一个单元的内容将被破坏。
(5) 如果改用堆栈方法,可以实现子程序的递归,因堆栈具有后进先出的功能。

第四章
1 .证明在全加器里,进位传递函数。在这里插入图片描述

解:并行加法器中的每一个全加器都有一个从低位送来的进位和一个传送给较高位的进位。进位表达式为在这里插入图片描述
欲证明在这里插入图片描述
,也就是要证明在这里插入图片描述

用卡诺图法,图4-10(a)和4-10(b)分别是两个逻辑表达式的卡诺图。两个卡诺图相同,两个逻辑表达式就相等,则进位传递函数的两种形式相等。
2 .某加法器采用组内并行、组间并行的进位链,4 位一组,写出进位信号C6 的逻辑表达式。
在这里插入图片描述

3 .设计一个9 位先行进位加法器,每3 位为一组,采用两级先行进位线路。
在这里插入图片描述

4 .已知X 和Y ,试用它们的变形补码计算出X + Y ,并指出结果是否溢出。
(1) X = 0 .11011 ,Y = 0 .11111
(2) X = 0 .11011 ,Y = - 0 .10101
(3) X = - 0 .10110 ,Y = - 0 .00001
(4) X = - 0 .11011 ,Y = 0 .11110
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 .已知X 和Y ,试用它们的变形补码计算出X - Y ,并指出结果是否溢出。
(1) X = 0 .11011 ,Y = - 0 .11111
(2) X = 0 .10111 ,Y = 0 .11011
(3) X = 0 .11011 ,Y = - 0 .10011
(4) X = - 0 .10110 ,Y = - 0 .00001
9
在这里插入图片描述
在这里插入图片描述

7 .设下列数据长8 位,包括1 位符号位,采用补码表示,分别写出每个数据右移或左移2 位之后的结果。
(1) 0 .
(2) 1 .
(3) 1 .
(4) 1 .
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8 .分别用原码乘法和补码乘法计算X × Y 。
(1) X = 0 .11011 ,Y = - 0 .11111
(2) X = - 0 .11010 ,Y = - 0 .01110
在这里插入图片描述
在这里插入图片描述

(2) X × Y = 0 . ,过程略。
9 .根据补码两位乘法规则推导出补码3 位乘法的规则。
解:先根据补码1 位乘法推出补码2 位乘法规则,再根据补码2 位乘法推出补码3
位乘法规则。
在这里插入图片描述
在这里插入图片描述

10 .分别用原码和补码加减交替法计算X ÷ Y 。
(1) X = 0 .10101 ,Y = 0 .11011
(2) X = - 0 .10101 ,Y = 0 .11011
(3) X = 0 .10001 ,Y = - 0 .10110
(4) X = - 0 .10110 ,Y = - 0 .11011

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11 .设浮点数的阶码和尾数部分均用补码表示,按照浮点数的运算规则,计算下列各题:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

12 .设浮点数的阶码和尾数部分均用补码表示,按照浮点数的运算规则,计算下列各题:

在这里插入图片描述
在这里插入图片描述

13 .用流程图描述浮点除法运算的算法步骤。
在这里插入图片描述

14 .设计一个1 位5421 码加法器。
解:设1 位被加数为A4 A3 A2 A1 ,加数为B4 B3 B2 B1 。5421码的校正关系如表4-4所示。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第五章
1 .如何区别存储器和寄存器? 两者是一回事的说法对吗?
解:存储器和寄存器不是一回事。存储器在CPU 的外边,专门用来存放程序和数据,访问存储器的速度较慢。寄存器属于CPU 的一部分,访问寄存器的速度很快。
2 .存储器的主要功能是什么? 为什么要把存储系统分成若干个不同层次? 主要有哪些层次?
解:存储器的主要功能是用来保存程序和数据。存储系统是由几个容量、速度和价格各不相同的存储器用硬件、软件、硬件与软件相结合的方法连接起来的系统。把存储系统分成若干个不同层次的目的是为了解决存储容量、存取速度和价格之间的矛盾。由高速缓冲存储器、主存储器、辅助存储器构成的三级存储系统可以分为两个层次,其中高速缓存和主存间称为Cache - 主存存储层次(Cache 存储系统) ;主存和辅存间称为主存— 辅存存储层次(虚拟存储系统) 。
3 .什么是半导体存储器? 它有什么特点?
解:采用半导体器件制造的存储器,主要有MOS 型存储器和双极型存储器两大类。半导体存储器具有容量大、速度快、体积小、可靠性高等特点。半导体随机存储器存储的信息会因为断电而丢失。
4 .SRAM 记忆单元电路的工作原理是什么? 它和DRAM 记忆单元电路相比有何异同点?
解:SRAM 记忆单元由6 个MOS 管组成,利用双稳态触发器来存储信息,可以对其进行读或写,只要电源不断电,信息将可保留。DRAM 记忆单元可以由4 个和单个MOS管组成,利用栅极电容存储信息,需要定时刷新。
5 .动态RAM 为什么要刷新? 一般有几种刷新方式? 各有什么优缺点?
解:DRAM 记忆单元是通过栅极电容上存储的电荷来暂存信息的,由于电容上的电荷会随着时间的推移被逐渐泄放掉,因此每隔一定的时间必须向栅极电容补充一次电荷,这个过程就叫做刷新。常见的刷新方式有集中式、分散式和异步式3 种。集中方式的特点是读写操作时不受刷新工作的影响,系统的存取速度比较高;但有死区,而且存储容量越大,死区就越长。分散方式的特点是没有死区;但它加长了系统的存取周期,降低了整机的速度,且刷新过于频繁,没有充分利用所允许的最大刷新间隔。异步方式虽然也有死区,但比集中方式的死区小得多,而且减少了刷新次数,是比较实用的一种刷新方式。
6 .一般存储芯片都设有片选端 ,它有什么用途?
解:片选线用来决定该芯片是否被选中。=0,芯片被选中;=1,芯片不选中。
7 .DRAM 芯片和SRAM 芯片通常有何不同?
解:主要区别有:
① DRAM 记忆单元是利用栅极电容存储信息;SRAM 记忆单元利用双稳态触发器来存储信息。
② DRAM 集成度高,功耗小,但存取速度慢,一般用来组成大容量主存系统;SRAM的存取速度快,但集成度低,功耗也较大,所以一般用来组成高速缓冲存储器和小容量主存系统。
③ SRAM 芯片需要有片选端 ,DRAM 芯片可以不设,而用行选通信号、列选通兼作片选信号。
④ SRAM 芯片的地址线直接与容量相关,而DRAM 芯片常采用了地址复用技术,以减少地址线的数量。
8 .有哪几种只读存储器? 它们各自有何特点?
解:MROM :可靠性高,集成度高,形成批量之后价格便宜,但用户对制造厂的依赖性过大,灵活性差。
PROM :允许用户利用专门的设备(编程器)写入自己的程序,但一旦写入后,其内容将无法改变。写入都是不可逆的,所以只能进行一次性写入。
EPROM :不仅可以由用户利用编程器写入信息,而且可以对其内容进行多次改写。
EPROM 又可分为两种:紫外线擦除(UVEPROM)和电擦除(EEPROM) 。
闪速存储器:既可在不加电的情况下长期保存信息,又能在线进行快速擦除与重写,兼备了EEPROM 和RAM 的优点。
9 .说明存取周期和存取时间的区别。
解:存取周期是指主存进行一次完整的读写操作所需的全部时间,即连续两次访问存储器操作之间所需要的最短时间。存取时间是指从启动一次存储器操作到完成该操作所经历的时间。存取周期一定大于存取时间。
10 .一个1K × 8 的存储芯片需要多少根地址线、数据输入线和输出线?
解:需要10 根地址线,8 根数据输入和输出线。
11 .某机字长为32 位,其存储容量是64KB ,按字编址的寻址范围是多少? 若主存以字节编址,试画出主存字地址和字节地址的分配情况。
解:某机字长为32 位,其存储容量是64KB ,按字编址的寻址范围是16KW 。若主存以字节编址,每一个存储字包含4 个单独编址的存储字节。假设采用大端方案,即字地址等于最高有效字节地址,且字地址总是等于4 的整数倍,正好用地址码的最末两位来区分同一个字中的4 个字节。主存字地址和字节地址的分配情况如图5-19 所示。
在这里插入图片描述

12 .一个容量为16K × 32 位的存储器,其地址线和数据线的总和是多少? 当选用下列不同规格的存储芯片时,各需要多少片?
1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位。
解:地址线14 根,数据线32 根,共46 根。
若选用不同规格的存储芯片,则需要:1K×4位芯片128片,2K×8位芯片32片,4K×4位芯片
32片,16K×1位芯片32片,4K×8位芯片16片,8K×8位芯片8 片。
13 .现有1024 × 1 的存储芯片,若用它组成容量为16K × 8 的存储器。试求:
(1) 实现该存储器所需的芯片数量?
(2) 若将这些芯片分装在若干块板上,每块板的容量为4K × 8 ,该存储器所需的地址线总位数是多少? 其中几位用于选板? 几位用于选片? 几位用作片内地址?
解:(1) 需1024 × 1 的芯片128 片。
(2) 该存储器所需的地址线总位数是14位,其中2位用于选板,2位用于选片,10位用作片内地址。
14 .已知某机字长8 位,现采用半导体存储器作主存,其地址线为16 位,若使用1K × 4 的SRAM 芯片组成该机所允许的最大主存空间,并采用存储模板结构形式。
(1) 若每块模板容量为4K × 8 ,共需多少块存储模板?
(2) 画出一个模板内各芯片的连接逻辑图。
解:(1) 根据题干可知存储器容量为216 = 64KB ,故共需16 块存储模板。
(2) 一个模板内各芯片的连接逻辑图如图5-20 所示。
在这里插入图片描述

15 .某半导体存储器容量16K × 8 ,可选SRAM 芯片的容量为4K × 4 ;地址总线A15 ~ A0 (低) ,双向数据总线D7 ~ D0 (低) ,由R/W线控制读/写。请设计并画出该存储器的逻辑图,并注明地址分配、片选逻辑及片选信号的极性。
解:存储器的逻辑图与图5唱20 很相似,区别仅在于地址线的连接上,故省略。
地址分配如下:
在这里插入图片描述

16 .现有如下存储芯片:2K × 1 的ROM 、4K × 1 的RAM 、8K × 1 的ROM 。若用它们组成容量为16KB 的存储器,前4KB 为ROM ,后12KB 为RAM ,CPU 的地址总线16 位。
(1) 各种存储芯片分别用多少片?
(2) 正确选用译码器及门电路,并画出相应的逻辑结构图。
(3) 指出有无地址重叠现象。
解:(1) 需要用2K × 1 的ROM 芯片16 片,4K × 1 的RAM 芯片24片。不能使用8K × 1 的ROM 芯片,因为它大于ROM 应有的空间。
(2) 各存储芯片的地址分配如下:
在这里插入图片描述

17 .用容量为16K × 1 的DRAM 芯片构成64KB 的存储器。
(1) 画出该存储器的结构框图。
在这里插入图片描述

(2) 设存储器的读/写周期均为0 .5μs ,CPU 在1μs 内至少要访存一次,试问采用哪种刷新方式比较合理? 相邻两行之间的刷新间隔是多少? 对全部存储单元刷新一遍所需的实际刷新时间是多少?
解:(1) 存储器的结构框图如图5-22 所示。
在这里插入图片描述

(2) 因为要求CPU 在1μs 内至少要访存一次,所以不能使用集中刷新方式,分散和异步刷新方式都可以使用,但异步刷新方式比较合理。
相邻两行之间的刷新间隔= 最大刷新间隔时间÷ 行数= 2ms ÷ 128 = 15 .625μs 。取
15 .5μs ,即进行读或写操作31 次之后刷新一行。
对全部存储单元刷新一遍所需的实际刷新时间= 0 .5μs × 128 = 64μs
18 .有一个8 位机,采用单总线结构,地址总线16 位(A15 ~ A0 ) ,数据总线8 位(D7 ~ D0 ) ,控制总线中与主存有关的信号有MREQ(低电平有效允许访存)和R/W(高电平为读命令,低电平为写命令) 。
主存地址分配如下:从0 ~ 8191 为系统程序区,由ROM 芯片组成;从8192 ~ 32767
为用户程序区;最后(最大地址)2K 地址空间为系统程序工作区。(上述地址均用十进制表示,按字节编址。)
现有如下存储芯片:8K × 8 的ROM ,16K × 1 、2K × 8 、4K × 8 、8K × 8 的SRAM 。请从上述规格中选用芯片设计该机主存储器,画出主存的连接框图,并请注意画出片选逻辑及与CPU 的连接。
解:根据CPU 的地址线、数据线,可确定整个主存空间为64K × 8 。系统程序区由ROM 芯片组成;用户程序区和系统程序工作区均由RAM 芯片组成。共需:8K × 8 的ROM 芯片1 片,8K × 8 的SRAM 芯片3 片,2K × 8 的SRAM 芯片1 片。主存地址分配如图5-23 所示,主存的连接框图如图5-24 所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

19 .某半导体存储器容量15KB ,其中固化区8KB ,可选EPROM 芯片为4K × 8 ;可随机读/写区7KB ,可选SRAM 芯片有:4K × 4 、2K × 4 、1K × 4 。地址总线A15 ~ A0 (A0 为最低位) ,双向数据总线D7 ~ D0 (D0 为最低位) ,R/W控制读/写,MREQ为低电平时允许存储器工作信号。请设计并画出该存储器逻辑图,注明地址分配、片选逻辑、片选信号极性等。
在这里插入图片描述

20 .某机地址总线16 位A15 ~ A0 (A0 为最低位) ,访存空间64KB 。外围设备与主存统一编址,I/O 空间占用FC00 ~ FFFFH 。现用2164 芯片(64K × 1)构成主存储器,请设计并画出该存储器逻辑图,并画出芯片地址线、数据线与总线的连接逻辑以及行选信号与列选信号的逻辑式,使访问I/O 时不访问主存。动态刷新逻辑可以暂不考虑。
解:存储器逻辑图如图5-26 所示,为简单起见,在图中没有考虑行选信号和列选信
号,行选信号和列选信号的逻辑式可参考下题。
在这里插入图片描述

在64KB 空间的最后1KB 为I/O 空间,在此区间CS无效,不访问主存。
21 .已知有16K × 1 的DRAM 芯片,其引脚功能如下:地址输入A6 ~ A0 ,行地址选择RAS ,列地址选择CAS ,数据输入端DIN ,数据输出端DOUT ,控制端WE 。请用给定芯片构成256KB 的存储器,采用奇偶校验,试问:需要芯片的总数是多少? 并请:
(1) 正确画出存储器的连接框图。
(2) 写出各芯片RAS和CAS形成条件。
(3) 若芯片内部采用128 × 128 矩阵排列,求异步刷新时该存储器的刷新间隔。
解:(1) 需要的芯片数= 128 片,存储器的连接框图如图5-27 所示。
在这里插入图片描述
在这里插入图片描述

(3) 若芯片内部采用128 × 128 矩阵排列,设芯片的最大刷新间隔时间为2ms ,则相
邻两行之间的刷新间隔为:
刷新间隔= 最大刷新间隔时间÷ 行数= 2ms ÷ 128 = 15 .625μs
可取刷新间隔15 .5μs 。22.并行存储器有哪几种编址方式? 简述低位交叉编址存储器的工作原理。
解:并行存储器有单体多字、多体单字和多体多字等几种系统。
多体交叉访问存储器可分为高位交叉编址存储器和低位交叉编址存储器。低位交叉
编址又称为横向编址,连续的地址分布在相邻的存储体中,而同一存储体内的地址都是不
连续的。存储器地址寄存器的低位部分经过译码选择不同的存储体,而高位部分则指向
存储体内的存储字。如果采用分时启动的方法,可以在不改变每个存储体存取周期的前
提下,提高整个主存的速度。
22 .并行存储器有哪几种编址方式? 简述低位交叉编址存储器的工作原理。
解:并行存储器有单体多字、多体单字和多体多字等几种系统。多体交叉访问存储器可分为高位交叉编址存储器和低位交叉编址存储器。低位交叉编址又称为横向编址,连续的地址分布在相邻的存储体中,而同一存储体内的地址都是不连续的。存储器地址寄存器的低位部分经过译码选择不同的存储体,而高位部分则指向存储体内的存储字。如果采用分时启动的方法,可以在不改变每个存储体存取周期的前提下,提高整个主存的速度。
23 .什么是高速缓冲存储器? 它与主存是什么关系? 其基本工作过程如何?
解:高速缓冲存储器位于主存和CPU 之间,用来存放当前正在执行的程序段和数据中的活跃部分,使CPU 的访存操作大多数针对Cache 进行,从而使程序的执行速度大大提高。高速缓冲存储器的存取速度接近于CPU 的速度,但是容量较小,它保存的信息只是主存中最急需处理的若干块的副本。当CPU 发出读请求时,如果Cache 命中,就直接对Cache 进行读操作,与主存无关;如果Cache 不命中,则仍需访问主存,并把该块信息一次从主存调入Cache 内。若此时Cache 已满,则须根据某种替换算法,用这个块替换掉Cache 中原来的某块信息。
24 .Cache 做在CPU 芯片内有什么好处? 将指令Cache 和数据Cache 分开又有什么好处?
解:Cache 做在CPU 芯片内可以提高CPU 访问Cache 的速度。将指令Cache 和数据Cache 分开的好处是分体缓存支持并行访问,即在取指部件取指令的同时,取数部件要取数据。并且,指令在程序执行中一般不需要修改,故指令Cache 中的内容不需写回到主存中去。
25 .设某机主存容量为4MB ,Cache 容量为16KB ,每块包含8 个字,每字32 位,设计一个四路组相联映像(即Cache 每组内共有四个块)的Cache 组织,要求:
(1) 画出主存地址字段中各段的位数。
(2) 设Cache 的初态为空,CPU 依次从主存第0 、1 、2 、⋯ 、99 号单元读出100 个字(主
存一次读出一个字) ,并重复按此次序读8 次,问命中率是多少?
(3) 若Cache 的速度是主存的6 倍,试问有Cache 和无Cache 相比,速度提高多少倍?
解:(1) 主存容量为4MB ,按字节编址,所以主存地址为22 位,地址格式如图5-29所示。
在这里插入图片描述

(2) 由于每个字块有8 个字,所以主存第0 、1 、2 、⋯ 、99 号字单元分别在字块0 ~ 12
中,采用四路组相联映像将分别映像到第0 组~ 12 组中,但Cache 起始为空,所以第一次读时每一块中的第一个单元没命中,但后面7 次每个单元均可以命中。
在这里插入图片描述

(3) 设Cache 的存取周期为T ,则主存的存取周期为6 T 。

无Cache 的访存时间为6 T
所以速度提高倍数= 6 ÷ 1 .096 = 5 .47 倍。
26 .什么叫虚拟存储器? 采用虚拟存储技术能解决什么问题?
解:虚拟存储器由主存储器和联机工作的辅助存储器(通常为磁盘存储器)共同组成,这两个存储器在硬件和系统软件的共同管理下工作,对于应用程序员,可以把它们看作是一个单一的存储器。
采用虚拟存储技术可以解决主存容量不足的问题。虚拟存储器将主存和辅存的地址空间统一编址,形成一个庞大的存储空间。在这个大空间里,用户可以自由编程,完全不必考虑程序在主存是否装得下以及这些程序将来在主存中的实际存放位置。
27 . 已知采用页式虚拟存储器, 某程序中一条指令的虚地址是:
。该程序的页表起始地址是0011 ,页面大小1K ,页表中有关单元最
末四位(实页号)见下表:
在这里插入图片描述

请指出指令地址(虚地址)变换后的主存实地址。
解:页面大小1K ,页内地址10 位,根据页表,可以得出主存实地址为000 。

第六章
1 .控制器有哪几种控制方式? 各有何特点?
解:控制器的控制方式可以分为3 种:同步控制方式、异步控制方式和联合控制方式。
同步控制方式的各项操作都由统一的时序信号控制,在每个机器周期中产生统一数目的节拍电位和工作脉冲。这种控制方式设计简单,容易实现;但是对于许多简单指令来说会有较多的空闲时间,造成较大数量的时间浪费,从而影响了指令的执行速度。异步控制方式的各项操作不采用统一的时序信号控制,而根据指令或部件的具体情况决定,需要多少时间,就占用多少时间。异步控制方式没有时间上的浪费,因而提高了机器的效率,但是控制比较复杂。联合控制方式是同步控制和异步控制相结合的方式。
2 .什么是三级时序系统?
解:三级时序系统是指机器周期、节拍和工作脉冲。计算机中每个指令周期划分为若干个机器周期,每个机器周期划分为若干个节拍,每个节拍中设置一个或几个工作脉冲。
3 .控制器有哪些基本功能? 它可分为哪几类? 分类的依据是什么?
解:控制器的基本功能有:
(1) 从主存中取出一条指令,并指出下一条指令在主存中的位置。
(2) 对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。
(3) 指挥并控制CPU 、主存和输入输出设备之间的数据流动。控制器可分为组合逻辑型、存储逻辑型、组合逻辑与存储逻辑结合型3 类,分类的依据在于控制器的核心——— 微操作信号发生器(控制单元CU)的实现方法不同。
4 .中央处理器有哪些功能? 它由哪些基本部件所组成?
解:从程序运行的角度来看,CPU 的基本功能就是对指令流和数据流在时间与空间上实施正确的控制。对于冯· 诺依曼结构的计算机而言,数据流是根据指令流的操作而形成的,也就是说数据流是由指令流来驱动的。中央处理器由运算器和控制器组成。
5 .中央处理器中有哪几个主要寄存器? 试说明它们的结构和功能。
解:CPU 中的寄存器是用来暂时保存运算和控制过程中的中间结果、最终结果及控制、状态信息的,它可分为通用寄存器和专用寄存器两大类。通用寄存器可用来存放原始数据和运算结果,有的还可以作为变址寄存器、计数器、地址指针等。专用寄存器是专门用来完成某一种特殊功能的寄存器,如程序计数器PC 、
指令寄存器IR 、存储器地址寄存器MAR 、存储器数据寄存器MDR 、状态标志寄存器PSWR 等。
6 .某机CPU 芯片的主振频率为8MHz ,其时钟周期是多少μs ? 若已知每个机器周期平均包含4 个时钟周期,该机的平均指令执行速度为0 .8MIPS ,试问:
(1) 平均指令周期是多少μs ?
(2) 平均每个指令周期含有多少个机器周期?
(3) 若改用时钟周期为0 .4μs 的CPU 芯片,则计算机的平均指令执行速度又是多少MIPS ?
(4) 若要得到40 万次/s 的指令执行速度,则应采用主振频率为多少MHz 的CPU芯片?
解:时钟周期= 1 ÷ 8MHz = 0 .125μs
(1) 平均指令周期= 1 ÷ 0 .8MIPS = 1 .25μs
(2) 机器周期= 0 .125μs × 4 = 0 .5μs
平均每个指令周期的机器周期数= 1 .25μs ÷ 0 .5μs ÷ 4 = 2 .5
在这里插入图片描述

(4) 主振频率= 4MHz
7 .以一条典型的单地址指令为例,简要说明下列部件在计算机的取指周期和执行周期中的作用。
(1) 程序计数器PC ;
(2) 指令寄存器IR ;
(3) 算术逻辑运算部件ALU ;
(4) 存储器数据寄存器MDR ;
(5) 存储器地址寄存器MAR 。
解:(1) 程序计数器PC :存放指令地址;
(2) 指令寄存器IR :存放当前指令;
(3) 算术逻辑运算部件ALU :进行算逻运算;
(4) 存储器数据寄存器MDR :存放写入或读出的数据/指令;
(5) 存储器地址寄存器MAR :存放写入或读出的数据/指令的地址。以单地址指令“加1(INC A)”为例,该指令分为3 个周期:取指周期、分析取数周期、执行周期。3 个周期完成的操作如表6-2 所示。
在这里插入图片描述

8 .什么是指令周期? 什么是CPU 周期? 它们之间有什么关系?
解:指令周期是指取指令、分析取数到执行指令所需的全部时间。CPU 周期(机器周期)是完成一个基本操作的时间。一个指令周期划分为若干个CPU 周期。
9 .指令和数据都存放在主存,如何识别从主存储器中取出的是指令还是数据?
解:指令和数据都存放在主存,它们都以二进制代码形式出现,区分的方法为:
(1) 取指令或数据时所处的机器周期不同:取指周期取出的是指令;分析取数或执行周期取出的是数据。
(2) 取指令或数据时地址的来源不同:指令地址来源于程序计数器;数据地址来源于地址形成部件。
10 .CPU 中指令寄存器是否可以不要? 指令译码器是否能直接对存储器数据寄存器MDR 中的信息译码? 为什么? 请以无条件转移指令JMP A 为例说明。
解:指令寄存器不可以不要。指令译码器不能直接对MDR 中的信息译码,因为在取指周期MDR 的内容是指令,而在取数周期MDR 的内容是操作数。以JMP A 指令为例,假设指令占两个字,第一个字为操作码,第二个字为转移地址,它们从主存中取出时都需要经过MDR ,其中只有第一个字需要送至指令寄存器,并且进行指令的译码,而第二个字不需要送指令寄存器。
11 .设一地址指令格式如下:
@ OP A
  现在有4 条一地址指令:LOAD(取数) 、ISZ(加“1”为零跳) 、DSZ(减“1”为零跳) 、STORE(存数) ,在一台单总线单累加器结构的机器上运行,试排出这4 条指令的微操作序列。要求:当排ISZ 和DSZ 指令时不要破坏累加寄存器Acc 原来的内容。
解:(1) LOAD(取数)指令
PC → MAR ,READ       ;取指令
MM → MDR
MDR → IR ,PC + 1 → PC
A → MAR ,READ ;取数据送Acc
MM → MDR
MDR → Acc
(2) ISZ(加“1”为零跳)指令
取指令微操作略。
A → MAR ,READ ;取数据送Acc
MM → MDR
MDR → Acc
Acc+ 1 → Acc ;加1
If Z = 1 then PC + 1 → PC ;结果为0 ,PC + 1
Acc → MDR ,WRITE ;保存结果
MDR → MM
Acc - 1 → Acc ;恢复Acc
(3) DSZ(减“1”为零跳)指令
取指令微操作略。
A → MAR ,READ ;取数据送Acc
MM → MDR
MDR → Acc
Acc - 1 → Acc ;减1
If Z = 1 then PC + 1 → PC ;结果为0 ,PC + 1
Acc → MDR ,WRITE ;保存结果
MDR → MM
Acc+ 1 → Acc ;恢复Acc
(4) STORE(存数)指令:
取指令微操作略。
A → MAR ;Acc 中的数据写
入主存单元
Acc → MDR ,WRITE
MDR → MM
12 .某计算机的CPU 内部结构如图6唱22 所示。两组总线之间的所有数据传送通过ALU 。ALU 还具有完成以下功能的能力:
F = A ;   F = B
F = A + 1 ; F = B + 1
F = A - 1 ; F = B - 1
写出转子指令(JSR)的取指和执行周期的微操作序列。JSR 指令占两个字,第一个字是操作码,第二个
字是子程序的入口地址。返回地址保存在存储器堆栈中,堆栈指示器始终指向栈顶。
在这里插入图片描述

解: ① PC → B ,F = B ,F → MAR ,Read     ;取指令的第一个字
② PC → B ,F = B + 1 ,F → PC
③ MDR → B ,F = B ,F → IR
④ PC → B ,F = B ,F → MAR ,Read ;取指令的第二个字
⑤ PC → B ,F = B + 1 ,F → PC
⑥ MDR → B ,F = B ,F → Y
⑦ SP → B ,F = B - 1 ,F → SP ,F → MAR ;修改栈指针,返回地址压入堆栈
⑧ PC → B ,F = B ,F → MDR ,Write
⑨ Y → A ,F = A ,F → PC ;子程序的首地址→ PC
⑩ End
13 .某机主要部件如图6-23 所示。
(1) 请补充各部件间的主要连接线,并注明数据流动方向。
(2) 拟出指令ADD (R1 ) ,(R2 ) + 的执行流程(含取指过程与确定后继指令地址) 。该指令的含义是进行加法操作,源操作数地址和目的操作数地址分别在寄存器R1 和R2中,目的操作数寻址方式为自增型寄存器间址。
解:(1) 将各部件间的主要连接线补充完后如图6-24 所示。
(2) 指令ADD (R1 ) ,(R2 ) + 的含义为
((R1 )) + ((R2 )) → (R2 )
(R2 ) + 1 → R2
指令的执行流程如下:
① (PC) → MAR      ;取指令
在这里插入图片描述

② Read
③ M(MAR) → MDR → IR
④ (PC) + 1 → PC
⑤ (R1 ) → MAR ;取被加数
⑥ Read
⑦ M(MAR) → MDR → C
⑧ (R2 ) → MAR ;取加数
⑨ Read
⑩ M(MAR) → MDR → D
(R2 ) + 1 → R2 ;修改目的地址
(C) + (D) → MDR ;求和并保存结果
Write
MDR → MM
14 .CPU 结构如图6唱25 所示,其中有一个累加寄存器AC 、一个状态条件寄存器和其他4 个寄存器,各部件之间的连线表示数据通路,箭头表示信息传送方向。
(1) 标明4 个寄存器的名称。
(2) 简述指令从主存取出送到控制器的数据通路。
(3) 简述数据在运算器和主存之间进行存取访问的数据通路。
在这里插入图片描述

解:(1) 这4 个寄存器中,a 为存储器数据寄存器MDR ,b 为指令寄存器IR ,c 为存储器地址寄存器MAR ,d 为程序计数器PC 。
(2) 取指令的数据通路:PC → MAR → MM → MDR → IR
(3) 数据从主存中取出的数据通路(设数据地址为X) :X → MAR → MM → MDR → ALU → AC
数据存入主存中的数据通路(设数据地址为Y) :Y → MAR ,AC → MDR → MM
15 .什么是微命令和微操作? 什么是微指令? 微程序和机器指令有何关系? 微程序和程序之间有何关系?
解:微命令是控制计算机各部件完成某个基本微操作的命令。微操作是指计算机中最基本的、不可再分解的操作。微命令和微操作是一一对应的,微命令是微操作的控制信号,微操作是微命令的操作过程。微令是若干个微命令的集合。微程序是机器指令的实时解释器,每一条机器指令都对应一个微程序。微程序和程序是两个不同的概念。微程序是由微指令组成的,用于描述机器指令,实际上是机器指令的实时解释器,微程序是由计算机的设计者事先编制好并存放在控制存储器中的,一般不提供给用户;程序是由机器指令组成的,由程序员事先编制好并存放在主存储器中。
16 .什么是垂直型微指令? 什么是水平型微指令? 它们各有什么特点? 又有什么区别?
解:垂直型微指令是指一次只能执行一个微命令的微指令;水平型微指令是指一次能定义并能并行执行多个微命令的微指令。垂直型微指令的并行操作能力差,一般只能实现一个微操作,控制1 ~ 2 个信息传送通路,效率低,执行一条机器指令所需的微指令数目多,执行时间长;但是微指令与机器指令很相似,所以容易掌握和利用,编程比较简单,不必过多地了解数据通路的细节,且微指令字较短。水平型微指令的并行操作能力强,效率高,灵活性强,执行一条机器指令所需微指令的数目少,执行时间短;但微指令字较长,增加了控存的横向容量,同时微指令和机器指令的差别很大,设计者只有熟悉了数据通路,才有可能编制出理想的微程序,一般用户不易掌握。
17 .水平型和垂直型微程序设计之间各有什么区别? 串行微程序设计和并行微程序设计有什么区别?
解:水平型微程序设计是面对微处理器内部逻辑控制的描述,所以把这种微程序设计方法称为硬方法;垂直型微程序设计是面向算法的描述,所以把这种微程序设计方法称为软方法。在串行微程序设计中,取微指令和执行微指令是顺序进行的,在一条微指令取出并执行之后,才能取下一条微指令;在并行微程序设计中,将取微指令和执行微指令的操作重叠起来,从而缩短微周期。
18 .图6唱26 给出了某微程序控制计算机的部分微指令序列。图中每一框代表一条
微指令。分支点a 由指令寄存器IR 的第5 、6 两位决定。分支点b 由条件码C0 决定。现
在这里插入图片描述

采用下址字段实现该序列的顺序控制。已知微指令地址寄存器字长8 位。
(1) 设计实现该微指令序列的微指令字之顺序控制字段格式。
(2) 给出每条微指令的二进制编码地址。
(3) 画出微程序控制器的简化框图。
解:(1) 该微程序流程有两处有分支的地方,第一处有4 路分支,由指令操作码
IR5 IR6 指向4 条不同的微指令,第二处有2 路分支,根据运算结果C0 的值决定后继微地
址。加上顺序控制,转移控制字段取2 位。图6唱26 中共有15 条微指令,则下址字段至少
需要4 位,但因已知微指令地址寄存器字长8 位(μMAR7 ~ μMAR0 ) ,故下址字段取8
位。微指令的顺序控制字段格式如图6-27 所示。
在这里插入图片描述

(2) 转移控制字段2 位:
00  顺序控制
01  由IR5 IR6 控制修改μMAR4 ,μMAR3 。
10  由C0 控制修改μMAR5 。
微程序流程的微地址安排如图6-28 所示。每条微指令的二进制编码地址见表6-3 。
在这里插入图片描述

注:每条微指令前的微地址用十六进制表示。图6-28  微程序流程的微地址安排
在这里插入图片描述

(3) 微程序控制器的简化框图略。
19 .已知某机采用微程序控制方式,其控制存储器容量512 × 48 位,微程序可在整个控制存储器中实现转移,可控制转移的条件共4 个,微指令采用水平型格式,后继指令地址采用断定方式,微指令格式如图6-29 所示。
在这里插入图片描述

(1) 微指令中的3 个字段分别应为多少位?
(2) 画出围绕这种微指令格式的微程序控制器逻辑框图。
解:(1) 因为控制转移的条件共4 个,则判别测试字段为2 位;因为控存容量为512个单元,所以下地址字段为9 位;微命令字段是(48 - 2 - 9) = 37 位。
(2) 对应上述微指令格式的微程序控制器逻辑框图如图6-30 。
20 .某机有8 条微指令I1 ~ I8 ,每条微指令所含的微命令控制信号如表6-4 所列。
在这里插入图片描述

图6唱30  微程序控制器逻辑框图
在这里插入图片描述

a ~ j 分别代表10 种不同性质的微命令信号,假设一条微指令的操作控制字段为8
位,请安排微指令的操作控制字段格式,并将全部微指令代码化。
解:因为微指令的操作控制字段只有8 位,所以不能采用直接控制法。又因为微指令中有多个微命令是兼容性的微命令,如微指令I1 中的微命令a ~ e ,故也不能采用最短编码法。最终选用字段编码法和直接控制法相结合的方法。将互斥的微命令安排在同一段内,兼容的微命令安排在不同的段内。b 、i 、j 这3 个微命令是互斥的微命令,把它们安排在一个段内,e 、f 、h 这3 个微命令也是互斥的,把它们也安排在另一个段内。此微指令的操作控制字段格式如图6-31 所示。
其中:字段1 的译码器输出对应的微命令为
00  无
01  b
10  i
11  j
字段2 的译码器输出对应的微命令为
00  无
01  e
10  f
11  h
将全部8 条微指令代码化可以得到
I1 : 
I2 : 
I3 : 
I4 : 
I5 : 
I6 : 
I7 : 
I8 : 
在这里插入图片描述

21 .在微程序控制器中,微程序计数器μPC 可以用具有加“1”功能的微地址寄存器
μMAR 来代替,试问程序计数器PC 是否可以用具有加“1”功能的存储器地址寄存器
MAR 代替?
解:在微程序控制器中不可以用MAR 来代替PC 。因为控存中只有微指令,为了降低成本,可以用具有计数功能的微地址寄存器(μMAR)来代替μPC 。而主存中既有指令又有数据,它们都以二进制代码形式出现,取指令和数据时地址的来源是不同的。取指令:(PC) → MAR
取数据:地址形成部件→ MAR
所以不能用MAR 代替PC 。

第七章
1 .外部设备有哪些主要功能? 可以分为哪些大类? 各类中有哪些典型设备?
解:外部设备的主要功能有数据的输入、输出、成批存储以及对信息的加工处理等。
外部设备可以分为五大类:输入输出设备、辅助存储器、终端设备、过程控制设备和脱机设备。其典型设备有键盘、打印机、磁盘、智能终端、数/模转换器和键盘- 软盘数据站等。
2 .说明磁介质存储器的存储原理。
解:磁介质存储器的存储过程是一种电磁转换的过程。在磁介质存储器中,信息是记录在一薄层磁性材料上的,这个薄层称为磁层。磁层与所附着的载体称为记录介质或记录媒体。磁头是磁记录设备的关键部件之一,是一种电磁转换元件,能把电脉冲表示的二进制代码转换成磁记录介质上的磁化状态,即电→ 磁转换;反过来,能把磁记录介质上的磁化状态转换成电脉冲,即磁→ 电转换。
3 .分别用RZ 、NRZ 、NRZ唱1 、PE 、FM 、MFM 和M2 FM 制记录方式记录下述数据序列,画出写电流波形。
(1)10
(2) 00
解:(1) 写电流波形如图7-9(a)所示。
(2)写电流波形如图7-9(b)所示。
在这里插入图片描述

4 .若对磁介质存储器写入数据序列10011 ,请画出不归零唱1 制、调相制、调频制、改进的调频制等记录方式的写电流波形。
解:写电流波形如图7-10 所示。
在这里插入图片描述

5 .主存储器与磁介质存储器在工作速度方面的指标有什么不同? 为什么磁盘存储器采用两个以上的指标来说明其工作速度?
解:主存储器速度指标主要有存取速度和存取周期,而磁介质存储器速度指标为平均存取时间,这是因为磁介质存储器采用顺序存取或直接存取方式。磁盘存储器的平均存取时间至少应当包括平均寻道时间和平均等待时间两部分,因为磁盘存储器首先需要将磁头移动到指定的磁道上,然后将记录块旋转到磁头下方才能进行读写。
6 .某磁盘组有六片磁盘,每片可有两个记录面,存储区域内径为22cm ,外径为33cm ,道密度40 道/cm ,位密度400 b/cm ,转速2400 r/min 。试问:
(1) 共有多少个存储面可用?
(2) 共有多少个圆柱面?
(3) 整个磁盘组的总存储容量有多少?
(4) 数据传送率是多少?
(5) 如果某文件长度超过一个磁道的容量,应将它记录在同一存储面上还是记录在同一圆柱面上? 为什么?
(6) 如果采用定长信息块记录格式,直接寻址的最小单位是什么? 寻址命令中如何表示磁盘地址?
在这里插入图片描述

7 .某磁盘存储器的转速为3000 r/min ,共有4 个盘面,5道/mm ,每道记录信息12 288B ,最小磁道直径为230mm ,共有275 道。试问:
(1) 该磁盘存储器的存储容量是多少?
(2) 最高位密度和最低位密度是多少?
(3) 磁盘的数据传送率是多少?
(4) 平均等待时间是多少?
解:(1) 磁盘存储器的容量= 4 × 275 × 12 288B = 13 516 800B
(2) 最高位密度D1=每道信息量÷内圈圆周长= 12 288÷(π×最小磁道直径)≈17B/mm 。
最低位密度D2 = 每道信息量÷ 外圈圆周长= 12 288÷(π×最大磁道直径)≈ 11 .5B/mm 。
(3) 磁盘数据传输率C = 50 × 12 288 = 614 400B/s
在这里插入图片描述

8 .某磁盘组有效盘面20个,每个盘面上有800个磁道。每个磁道上的有效记忆容量为13 000B ,块间隔235B ,旋转速度3000 r/min 。试问:
(1) 在该磁盘存储器中,若以1000B 为一个记录,这样,一个磁道能存放10 个记录。若要存放12 万个记录,需要多少个圆柱面(一个记录不允许跨越多个磁道) ?
(2) 这个磁盘存储器的平均等待时间是多少?
(3) 数据传送率是多少?
解:(1) 一个圆柱面可存放200 个记录, 个记录需要600 个圆柱面。(2)平均等待时间为旋转半圈的时间,10ms 。
在这里插入图片描述

9 .某磁盘格式化为24 个扇区和20 条磁道。该盘能按需要选择顺时针或逆时针旋转,旋转一圈的时间为360ms ,读一块数据的时间为1ms 。该片上有3 个文件:文件A 从磁道6 、扇区1 开始占有2 块;文件B 从磁道2 、扇区5 开始占有5 块;文件C 从磁道5 、扇区3 开始占有3 块。
试问:该磁盘的平均等待时间为多少? 平均寻道时间是多少? 若磁头移动和磁盘转动不同时进行,且磁头的初始位置在磁道0 、扇区0 ,按顺序C 、B 、A 读出上述3 个文件,总的时间是多少? 在相同的初始位置情况下,读出上述3 个文件的最短时间是多少? 此时文件的读出次序应当怎样排列?
解:平均等待时间为180ms 。磁盘分为24 个扇区,等待一个扇区的时间为15ms 。
平均寻道时间为磁头移动10 条磁道的时间,设移动一个磁道的时间为n ,则平均寻道时间为10n 。
按顺序C 、B 、A 读出上述3 个文件,总的时间包括:
总的寻道时间:移动5 道时间+ 移动3 道时间+ 移动4 道时间= 移动12 道时间= 12n
总的等待时间:(3 + 1 + 9) × 15 = 195ms
总的读出数据时间:(3 + 5 + 2) × 1 = 10ms
读出上述3 个文件的最短时间包括:
总的寻道时间:移动2 道时间+ 移动3 道时间+ 移动1 道时间= 移动6 道时间= 6n
总的等待时间:(5 + 7 + 5) × 15 = 255ms
总的读出数据时间不变。
此时文件的读出次序为B 、C 、A 。
10 .什么是光盘? 简述光盘的工作原理。
解:相对于利用磁通变化和磁化电流进行读写的磁盘而言,用光学方式读写信息的圆盘称为光盘,以光盘为存储介质的存储器称为光盘存储器。CD唱ROM 光盘上有一条从内向外的由凹痕和平坦表面相互交替而组成的连续的螺旋形路径,当一束激光照射在盘面上,靠盘面上有无凹痕的不同反射率来读出程序和
数据。CD唱R 光盘的写入是利用聚焦成1μm 左右的激光束的热能,使记录介质表面的形状发生永久性变化而完成的,所以只能写入一次,不能抹除和改写。CD唱RW 光盘是利用激光照射引起记录介质的可逆性物理变化来进行读写的,光盘上有一个相位变化刻录层,所以CD唱RW 光盘又称为相变光盘。
11 .键盘属于什么设备? 它有哪些类型? 如何消除键开关的抖动? 简述非编码键盘查询键位置码的过程。
解:键盘是计算机系统不可缺少的输入设备。键盘可分为两大类型:编码键盘和非编码键盘。非编码键盘用较为简单的硬件和专门的键盘扫描程序来识别按键的位置。消除键开关抖动的方法分硬件和软件两种。硬件的方法是增设去抖电路;软件的方法是在键盘程序中加入延时子程序,以避开抖动时间。键盘扫描程序查询键位置码的过程为:
① 查询是否有键按下。
② 查询已按下键的位置。
③ 按行号和列号求键的位置码。
12 .说明针式打印和字模式打印有何不同? 各有什么优缺点?
解:针式打印机利用若干根打印针组成的点阵来构成字符;字模式打印机将各种字符塑压或刻制在印字机构的表面上,印字机构如同印章一样,可将其上的字符在打印纸上印出。针式打印机以点阵图拼出所需字形,不需要固定字模,它组字非常灵活,可打印各种字符和图形、表格和汉字等,字形轮廓一般不如字模式清晰;字模式打印机打印的字迹清晰,但字模数量有限,组字不灵活,不能打印汉字和图形。
13 .什么是随机扫描? 什么是光栅扫描? 各有什么优缺点?
解:扫描方式有两种:光栅扫描和随机扫描。
在光栅扫描方式中,电子束在水平和垂直同步信号的控制下有规律的扫描整个屏幕。这种方式的控制比较简单,画面质量较好且稳定,但对行扫描频率要求较高。
在随机扫描方式中,电子束能在屏幕上进行随机运动,其轨迹随显示内容变化而变化,只在需要显示字符和图形的地方扫描,而不必扫描全屏。这种方式显示速度快、画面清晰,尤其是线条的轮廓十分光滑,一般用于高清晰度的专用图形显示器中,但这种方式的控制比较复杂,而且只能用于字符和图形显示,不适于显示随机图像。
14 .什么是分辨率? 什么是灰度级? 它们各有什么作用?
解:分辨率由每帧画面的像素数决定,而像素具有明暗和色彩属性。黑白图像的明暗程度称为灰度,明暗变化的数量称为灰度级,分辨率和灰度级越高,显示的图像越清晰、逼真。
15 .某字符显示器,采用7 × 9 点阵方式,每行可显示60 个字符,缓存容量至少为1260 字节,并采用7 位标准编码,试问:
(1)如改用5×7字符点阵,其缓存容量为多少?(设行距、字距不变——— 行距为5,字距为1。)
(2 ) 如果最多可显示128 种字符,上述两种显示方式各需多大容量的字符发生器ROM ?
解:(1) 因为显示器原来的缓存为1260B ,每行可显示60 个字符,据此可计算出显示器的字符行数:1260 ÷ 60 = 21(行)
因为,原字符窗口=8×14=(7+1)×(9+5),现字符窗口=6×12=(5+1)×(7+ 5) 。
所以,现显示器每行可显示80 个字符,显示器可显示的字符行数为24 行。
故缓存的容量为80 × 24 = 1920B 。
(2) ROM 中为行点阵码
7 × 9 点阵方式:128 × 9 × 7 = 1152 × 7(位) = 1152(字节)
5 × 7 点阵方式:128 × 7 × 5 = 896 × 5(位) = 896(字节)
注:为存储方便,每个行点阵码占用一个字节。
16 .某CRT 显示器可显示64 种ASCII 字符,每帧可显示64 列× 25 行,每个字符点阵为7×8 ,即横向7 点,字间间隔1 点,纵向8 点,排间间隔6 点,场频50Hz ,采用逐行扫描方式。试问:
(1) 缓存容量有多大?
(2) 字符发生器(ROM)容量有多大?
(3) 缓存中存放的是字符的ASCII 码还是字符的点阵信息?
(4) 缓存地址与屏幕显示位置如何对应?
(5) 设置哪些计数器以控制缓存访问与屏幕扫描之间的同步? 它们的分频关系如何?
解:(1) 缓存容量:64×25=1,6KB(不考虑显示属性),64×25×2=3.2KB(考虑显示属性) 。
(2) 字符发生器(ROM)容量= 64 × 8 = 512B 。
(3) 缓存中存放的是字符的ASCII 码。
(4) 屏幕显示位置自左至右,从上到下,相应地缓存地址由低到高,每个地址码对应一个字符显示位置。设字符在屏幕上的位置坐标为(X ,Y ) ,即行地址为X ,列地址为Y ,则缓存地址= X × 80 + Y (未考虑显示属性) 。
(5) 设置4 个计数器以控制缓存访问与屏幕扫描之间的同步。它们的分频关系是:
点计数器:8 分频(包括横向7 点和字间间隔1 点) 。
字计数器:79 分频(包括一行显示64 个字符和水平回扫折合的字符数) 。
行计数器:14 分频(包括纵向8 点,排间间隔6 点) 。
排计数器:26 分频(包括显示25 排字符和垂直回扫折合的字符排数) 。
17 .某CRT 字符显示器,每帧可显示80 列×20行,每个字符是7×9 点阵,字符窗口9 × 14 ,场频为50Hz 。试问:
(1) 缓存采用什么存储器,其中存放的内容是什么? 容量应为多大?
(2) 缓存地址如何安排? 若在243 号单元存放的内容要显示出来,其屏幕上X 和Y的坐标应是多少?
(3) 字符点阵存放在何处? 如何读出显示?
(4) 计算出主振频率以及点计数器、字计数器、行计数器、排计数器的分频频率。
解:(1) 缓存采用随机存储器,其中存放的内容是字符的ASCII 码,容量至少为1600字节(不含显示属性) 。
(2) 屏幕上最多可显示1600 个字符,缓存地址与屏幕显示位置的排号和列号具有对应关系。若要将缓存243 号单元存放的内容显示出来,其屏幕上X 和Y 的坐标均为3(从0开始计) ,即在屏幕的第4 行第4 列上有字符显示。
(3) 字符点阵存放在字库中,根据字符的ASCII 码逐行读出点阵显示。
(4) 主振频率= 50 × 21 × 14 × 98 × 9 ≈ 12 .97MHz 。
点计数器:9 分频。
字计数器:(80 + 18)分频。
行计数器:14 分频。
排计数器:(20 + 1)分频。
18 .若用CRT 作图形显示器,其分辨率为640 × 200 ,沿横向每8 点的信息存放在缓存中,场频为60Hz 。试问:
(1) 缓存的基本容量是多少?
(2) 地址如何安排?
(3) 点计数器、字节计数器、行计数器各为多少分频?
(4) 它和字符显示器有哪些不同?
解:(1) 缓存的基本容量是16000 字节(不考虑灰度级) 。
(2) 缓存地址为行号× 80 + 列号。
(3) 点计数器:8 分频。
字节计数器:(80 + L)分频,其中L 次计数,作为行线逆程回扫折合的字节数。
行计数器:(200 + M)分频,其中M 次计数,作为场逆程回扫折合的行数。
(4) 图形显示器和字符显示器不同在于:图形显示器需将每个像素的信息都存放在VRAM 中,而字符显示器只需将要显示的ASCII 码存放在VRAM 中,字符的点阵来自字符发生器ROM 。
19 .某字符显示器分辨率为40 列× 25 行,字符点阵5 × 7 ,横向间隔2 点,排间间隔4点,问:缓存VRAM 容量至少应多大? 应设置哪几级同步计数器? 它们的分频关系如何? 若要求场频60Hz ,则点频应为多少? 何时访问一次VRAM ? 地址如何确定?
解:缓存VRAM 容量至少1000 字节。设置4 级同步计数器(点计数器、字计数器、行计数器、排计数器) ,它们的分频分别是点计数器7 分频、字计数器(40 + L)分频、行计数器(7 + 4)分频、排计数器(25+M)分频。其中,L是水平回扫折合的字符数,M 是垂直回扫折合的字符排数。假设L=9 ,M =1 ,有:点频= 60 × 26 × 11 × 49 × 7 ≈ 5 .89(MHz)每隔1 .189μs(字符脉冲频率的倒数)访问一次VRAM ,地址由字计数器和排计数器共同提供,其中,字计数器提供低位地址,行计数器提供高位地址。
20 .某图形显示器的分辨率为800 × 600 ,若作单色显示且不要求灰度等级,则VRAM 容量至少应多大? 应设置哪几级同步计数器? 它们的分频关系如何? 若要求场频60Hz ,则点频应为多少? 何时访问一次VRAM ? 地址如何确定?
解:VRAM 容量至少应为60 000 字节。
设置3 级同步计数器(点计数器、字节计数器、行计数器) ,它们的分频关系分别是点
计数器8 分频、字节计数器(100 + L)分频、行计数器(600 + M)分频。其中,L 是行线逆程
回扫折合的字节数,M 是场逆程回扫折合的行数。假设L = 23 ,M = 10 ,有:
点频= 60 × 610 × 123 × 8 ≈ 36(MHz)
每隔0 .22μs 访问一次VRAM ,地址由字节计数器和行计数器共同提供,其中字节计
数器提供列号,行计数器提供行号。
21 .水平扫描频率(行频)的单位为kHz ,垂直扫描频率(场频)的单位为Hz ,两者为何相差一千倍?
解:行频又称水平扫描频率,是电子枪每秒在屏幕上扫描过的水平线条数,以kHz为单位。场频又称垂直扫描频率,是每秒钟屏幕重复绘制显示画面的次数,以Hz 为单位。因为每一场有近千条水平扫描线,所以行频与场频要相差近一千倍。
第八章
1 .什么是计算机的输入输出系统? 输入输出设备有哪些编址方式? 有什么特点?
解:计算机的输入输出系统包括输入输出接口和输入输出信息传送控制方式等,它们是整个计算机系统中最具有多样性和复杂性的部分。输入输出设备有两种编址方式:I/O 映射方式(独立编址)和存储器映射方式(统一编址) ,独立编址的优点是I/O 指令和访存指令容易区分,外设地址线少,译码简单,主存空间不会减少,缺点是控制线增加了I/O 读和I/O 写信号;统一编址的优点是总线结构简单,全部访存类指令都可用于控制外设,可直接对外设寄存器进行各种运算,占用主存一部分地址,缩小了可用的主存空间。
2 .什么是I/O 接口? I/O 接口有哪些特点和功能? 接口有哪些类型?
解:I/O 接口是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换。接口的基本功能有:实现主机和外设的通信联络控制;进行地址译码和设备选择;实现数据缓冲;完成数据格式的变换;传递控制命令和状态信息。接口按数据传送方式分类,有串行接口和并行接口;按控制方式分类,有程序查询接口、程序中断接口、DMA接口;按灵活性分类,有可编程接口和不可编程接口;按通用性分类,有通用接口和专用接口;按I/O 信号分类,有数字接口和模拟接口;按应用分类,有运行辅助接口、用户交互接口、传感接口、控制接口。
3 .并行接口和串行接口实质上的区别是什么? 其界面如何划分? 各有什么特点?
解:有串行接口和并行接口。两者的实质区别在于外设和接口一侧的传送方式不同,而在主机和接口一侧,数据总是并行传送的。在并行接口中,外设和接口间的传送宽度是一个字节(或字)的所有位,一次传输的信息量大,但数据线的数目将随着传送数据宽度的增加而增加。在串行接口中,外设和接口间的数据是一位一位串行传送的,一次传输的信息量小,但只需一根数据线。在远程终端和计算机网络等设备离主机较远的场合下,用串行接口比较经济划算。
4 .I/O 数据传送可以采用哪些方式? 它们各有什么特点及应用场所? 试比较之。
解:主机和外设之间的信息传送控制方式,经历了由低级到高级、由简单到复杂、由集中管理到各部件分散管理的发展过程,按其发展的先后次序和主机与外设并行工作的程度,可以分为4 种。程序查询方式是主机与外设间进行信息交换的最简单方式,输入和输出完全是通过CPU 执行程序来完成的。这种方式控制简单,但外设和主机不能同时工作,系统效率很低,因此,仅适用于外设的数目不多、对I/O 处理的实时要求不高、CPU 的操作任务比较单一、并不很忙的情况。程序中断方式无需等待查询,外设在做好输入输出准备时,向主机发中断请求,主机接到请求后就暂时中止原来执行的程序,转去执行中断服务程序对外部请求进行处理,在中断处理完毕后返回原来的程序继续执行。程序中断不仅适用于外部设备的输入输出操作,也适用于对外界发生的随机事件的处理。由于完成一次程序中断还需要许多辅助操作,因此主要适用于中、低速外设。
DMA 方式是在主存和外设之间开辟直接的数据通路,可以进行基本上不需要CPU
介入的主存和外设之间的信息传送,这样不仅能保证CPU 的高效率,而且能满足高速外
设的需要。DMA 方式只能进行简单的数据传送操作,在数据块传送的起始和结束时还
需CPU 及中断系统进行预处理和后处理。I/O 通道控制方式是DMA 方式的进一步发展,在系统中设有通道控制部件,每个通道挂若干外设,主机在执行I/O 操作时,只需启动有关通道,通道将执行通道程序,从而完成I/O 操作。
5 .程序查询方式、程序中断方式、DMA 方式各自适用什么范围? 下面这些结论正确吗? 为什么?
(1) 程序中断方式能提高CPU 利用率,所以在设置了中断方式后就没有再应用程序查询方式的必要了。
(2) DMA 方式能处理高速外部设备与主存间的数据传送,高速工作性能往往能覆盖低速工作要求,所以DMA 方式可以完全取代程序中断方式。
解:程序查询方式、程序中断方式、DMA 方式各自适用的范围见前述。
(1)不正确。程序查询方式接口简单,可用于外设与主机速度相差不大,且外设数量很少的情况。
(2不正确。DMA 方式用于高速外部设备与主存间的数据传送,但DMA 结束时仍需程序中断方式做后处理。
6 .什么是程序查询I/O 传送方式? 试举例说明其工作原理,它有哪些优缺点?
解:程序查询方式是主机与外设间进行信息交换的最简单方式,程序查询方式的核心问题在于需要不断地查询I/O 设备是否准备就绪。
CPU 利用程序查询方式从硬盘上读取一个数据的过程是:CPU 首先启动键盘工作,然后测试键盘状态,若键盘数据未准备就绪,则输入缓冲寄存器的内容不可以使用,继续查询;若键盘数据已准备就绪,则执行输入指令取走该数据。这种方式的优点是控制简
单,节省硬件,缺点是系统效率低。
7 .图8唱5(主教材第293 页)是以程序查询方式实现与多台设备进行数据交换的流程图,试分析这种处理方式存在的问题以及改进措施。
解:若有多个外设需要用查询方式工作时,CPU 巡回检测各个外设,逐个进行查询,发现哪个外设准备就绪,就对该外设实施数据传送,然后再对下一个外设查询,依次循环。在整个查询过程中,CPU 不能做别的事。如果某一外设刚好在查询过自己之后才处于就绪状态,那么它就必须等CPU 查询完其他外设后再次查询自己时,才能让CPU 为它服务,这对于实时性要求较高的外设来说,就可能丢失数据。改进的措施可以采用增加缓冲寄存器的方法。
8 .如果采用程序查询方式从磁盘上输入一组数据,设主机执行指令的平均速度为100 万条指令每秒,试问从磁盘上读出相邻两个数据的最短允许时间间隔是多少? 若改为中断式输入,这个间隔是更短些还是更长些? 由此可得出什么结论?
解:指令的平均执行时间为1μs ,若采用程序查询方式,每传送一个数据至少需要5条指令,则从磁盘上读出相邻两个数据的最短允许时间间隔为5μs 。若改为中断方式输入,这个间隔不会缩短,只会延长。由此可知,中断方式并不适合磁盘这类高速外设使用。
9 .什么是中断? 外部设备如何才能产生中断?
解:中断是指:计算机执行现行程序的过程中,出现某些急需处理的异常情况和特殊请求,CPU 暂时中止现行程序,而转去对随机发生的更紧迫的事件进行处理,在处理完毕后,CPU 将自动返回原来的程序继续执行。外部设备(中断源)准备就绪后会主动向CPU 发出中断请求。通常由外设的完成信号将相应的中断请求触发器置成“1”状态,表示该中断源向CPU 提出中断请求。
10 .中断为什么要判优? 有哪些具体的判优方法? 各有什么优缺点?
解:当多个中断源同时发出中断请求时,CPU 在任何瞬间只能响应一个中断源的请求,所以需要把全部中断源按中断的性质和轻重缓急安排优先级,以保证响应优先级别最高的中断请求。中断判优的方法可分为:软件判优法和硬件判优法。前者简单,可以灵活地修改中断源的优先级别,但查询、判优完全是靠程序实现的,不但占用CPU 时间,而且判优速度慢。后者可节省CPU 时间,速度快,但是需要硬件判优电路,成本较高。
11 .CPU 响应中断应具备哪些条件?
解: ① CPU 接收到中断请求信号;
② CPU 允许中断;
③ 一条指令执行完毕。
12 .什么叫中断隐指令? 中断隐指令有哪些功能? 中断隐指令如何实现?
解:CPU 响应中断之后,经过某些操作,转去执行中断服务程序。这些操作是由硬件直接实现的,称为中断隐指令。中断隐指令并不是指令系统中的一条真正的指令,它没有操作码,所以中断隐指令是一种不允许、也不可能为用户使用的特殊指令。其所完成的操作主要有:
① 保存断点;
② 暂不允许中断;
③ 引出中断服务程序。
13 .什么是中断向量? 中断向量如何形成? 向量中断和非向量中断有何差异?
解:中断向量是指向量中断在中断事件在提出中断请求时,通过硬件向主机提供的中断向量地址。中断向量由中断源的有关硬件电路形成。向量中断和非向量中断的区别在于:前者是指那些中断服务程序的入口地址是由中断事件自己提供的中断;后者是指中断事件不能直接提供中断服务程序入口地址的中断。
14 .在程序中断处理中,要做到现行程序向中断服务程序过渡和中断服务程序执行完毕返回现行程序,必须进行哪些关键性操作? 一般采用什么方法实现这些操作?
解:最关键的操作有保存断点,适时开、关中断,保护和恢复现场等,其中部分工作由硬件完成,部分工作由软件完成。
15 .假定某机的中断处理方式是将断点存入00000Q 单元,并从77777Q 单元取出指令(即中断服务程序的第一条指令)执行。试排出完成此功能的中断周期微操作序列,并判断出中断服务程序的第一条指令是何指令(假定主存容量为215 个单元) ?
解:中断周期微操作序列:
00000Q → MAR
(PC) → MDR
WRITE
0 → EINT
77777Q → PC
中断服务程序的第一条指令必须是一条无条件转移指令,否则PC+1将会变为 ,断点被当成指令。
16 .假设有1 、2 两个设备,其优先级为设备1 > 设备2 ,若它们同时提出中断请求,试说明中断处理过程,画出其中断处理过程示意图,并标出断点。
解:中断处理过程示意图见图8-15 。
在这里插入图片描述

图8唱15  中断处理过程示意图
17 .现有A 、B 、C 、D 共4 个中断源,其优先级由高向低按A 、B 、C 、D 顺序排列。若中断服务程序的执行时间为20μs ,请根据图8-16 所示时间轴给出的中断源请求中断的时刻,画出CPU 执行程序的轨迹。
解:CPU 执行程序的轨迹如图8-17 所示。
在这里插入图片描述

18 .设某机有5 级中断:L0 、L1 、L2 、L3 、L4 ,其中断响应优先次序为:L0 最高、L1 次
之、⋯ ⋯ 、L4 最低。现在要求将中断处理次序改为L1 → L3 → L0 → L4 → L2 ,试问:
(1) 各级中断服务程序中的各中断屏蔽码应如何设置(设每级对应一位,当该位为
“0” ,表示中断允许;当该位为“1” ,表示中断屏蔽) ?
(2) 若这5 级同时都发出中断请求,试画出进入各级中断处理过程示意图。
解:(1) 各级中断服务程序中的各中断屏蔽码设置如表8-3 所示
在这里插入图片描述

(3)5 级中断同时发出中断请求,各级中断处理过程示意如图8-18 所示。
在这里插入图片描述

19 .实现多重中断应具备何种条件? 如有A 、B 、C 、D 共4 级中断,A 的优先级最高,B 次之,⋯ ⋯ ,D 最低。如在程序执行过程中,C 和D 同时申请中断,该先响应哪级中断?如正在处理该中断时,A 、B 又同时有中断请求,试画出该多级中断处理的流程来。
解:多重中断又称为中断嵌套,在执行某个中断服务程序的过程中,CPU 可去响应级别更高的中断请求。
多级中断处理的流程如图8-19 所示。
在这里插入图片描述

20 .CPU 响应DMA 请求和响应中断请求有什么区别? 为什么通常使DMA 请求的优先级高于中断请求?
解:对中断请求的响应时间只能发生在每条指令执行完毕时,而对DMA 请求的响应时间可以发生在每个机器周期结束时。DMA 方式常用于高速外设的成组数据传送,如果不及时处理将丢失信息,所以DMA 请求的优先级应高于中断请求。
21 .什么是DMA 传送方式? 试比较常用的3 种DMA 传送方法的优缺点?
解:DMA 传送方式是在外设和主存之间开辟一条“直接数据通道” ,在不需要CPU干预也不需要软件介入的情况下在两者之间进行的高速数据传送方式。
常用的DMA 传送方法有:CPU 停止访问主存法、存储器分时法和周期挪用法。
CPU 停止访问主存法适用于高速外设的成组传送,可以减少系统总线控制权的交换次数,有利于提高输入输出的速度。
存储器分时法无需申请和归还总线,可在CPU 不知不觉中进行了DMA 传送;但这种方法需要主存在原来的存取周期内为两个部件服务,如果要维持CPU 的访存速度不变,就要求主存的工作速度提高一倍。另外,由于大多数外设的速度都不能与CPU 相匹配,所以供DMA 使用的时间片可能成为空操作,将会造成一些不必要的浪费。
周期挪用法是前两种方法的折中。
22 .实现DMA 传送需要哪些硬件支持?
解:DMA 传送需要DMA 控制器的支持。DMA 控制器中主要有下面各部分。
主存地址计数器:用来存放待交换数据的主存地址。
传送长度计数器:用来记录传送数据块的长度。
数据缓冲寄存器:用来暂存每次传送的数据。
DMA 请求触发器:每当外设准备好数据后给出一个控制信号,使DMA 请求触发器置位。
控制/状态逻辑:用于指定传送方向,修改传送参数,并对DMA 请求信号和CPU 响应信号进行协调和同步。
中断机构:当一个数据块传送完毕后触发中断机构,向CPU 提出中断请求,CPU 将进行DMA 传送的结束处理。
23 .简述DMA 传送的工作过程。
解:DMA 传送的工作过程为:
① DMA 预处理:在DMA 传送之前必须要做准备工作,即初始化。CPU 首先执行几条I/O 指令,用于测试外设的状态、向DMA 控制器的有关寄存器设置初值、设置传送方向、启动该外部设备等。在这些工作完成之后,CPU 继续执行原来的程序,由外设向DMA 控制器发DMA 请求,再由DMA 控制器向CPU 发总线请求。
② 数据传送:DMA 的数据传送可以单字节(或字)为基本单位,也可以数据块为基本单位。
③ DMA 后处理:当传送长度计数器计到0 时,DMA 操作结束,DMA 控制器向CPU发中断请求,CPU 停止原来程序的执行,转去执行中断服务程序做DMA 结束处理工作。
24 .在主存接收从磁盘送来的一批信息时:
(1) 假定主存的周期为1μs ,若采用程序查询方式传送,试估算在磁盘上相邻两数据字间必须具有的最短允许时间间隔是多少?
(2) 若改为中断方式传送,这个时间又会怎样? 是否还有更好的传送方式?
(3) 在采用更好的传送方式下,假设磁盘上两数据字间的间隔为1μs ,主存又要被CPU 占有一半周期时间,试计算这种情况下主存周期最少应是多少?
解:(1) 根据程序查询方式的流程图可见,程序查询方式至少需要5 条指令才能完成一个数据的传送,假定每条指令执行时间为1μs ,则两个数据字之间的最短时间间隔为5μs(假设每条指令1μs) 。
(2) 采用中断方式传送,这个时间并不会缩短,因为程序切换时有许多辅助操作要执行。更好的传送方式是DMA 方式。
(3) 在DMA 方式下,假设磁盘上两数据字间的间隔为1μs ,主存又要被CPU 占有一半周期时间,需要采用存储器分时法,此时主存周期最少应是原来的一半,即0 .5μs 。
25 .磁盘机采用DMA 方式与主机通信,若主存周期为1μs ,能否满足传送速率为1MB/s 的磁盘机的要求? 此时CPU 处于什么状态? 若要求主存有一半时间允许CPU访问,该如何办?
解:刚好能满足磁盘机的要求,但此时CPU 只能处于停止访问主存方法。若要求主存有一半时间允许CPU 访问,则主存的存取周期必须提高到0 .5μs 。
26 .什么是通道控制方式? 通道和设备控制器各有哪些基本功能?
解:通道是一种高级的I/O 控制部件,它在一定的硬件基础上利用软件手段实现对I/O 的控制和传送,更多地免去了CPU 的介入,从而使主机和外设的并行工作程度更高。通道的基本功能为:
① 接受CPU 的I/O 指令,按指令要求与指定的外设进行联系;
② 从主存取出属于该通道程序的通道指令,经译码后向设备控制器和设备发送各种命令;
③ 实施主存和外设间的数据传送,如为主存或外设装配和拆卸信息,提供数据中间缓存的空间以及指示数据存放的主存地址和传送的数据量;
④ 从外设获得设备的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到主存的指定单元,供CPU 使用;
⑤ 将外设的中断请求和通道本身的中断请求按次序及时报告CPU 。设备控制器的基本功能为:
① 从通道接收控制信号,控制外部设备完成所要求的操作;
② 向通道反馈外部设备的状态;
③ 将外部设备的各种不同信号转换为通道能识别的标准信号。
27 .通道有哪些基本类型? 各有何特点?
解:通道可分为3 种基本类型:字节多路通道、选择通道和数组多路通道。
字节多路通道是一种简单的共享通道,用于连接与管理多台低速设备,以字节交叉方式传送信息。
选择通道也可以连接多个设备,但这些设备不能同时工作,在一段时间内通道只能选择一台设备进行数据传送,此时该设备可以独占整个通道。选择通道主要用于连接高速外设,以成组方式高速传送。
数组多路通道是把字节多路通道和选择通道的特点结合起来的一种通道结构。它的基本思想是:当某设备进行数据传送时,通道只为该设备服务;当设备在执行辅助操作时,通道暂时断开与这个设备的连接,挂起该设备的通道程序,去为其他设备服务。
28 .已知一个32 位大型计算机系统具有两个选择通道和一个多路通道。每个选择通道连接两台磁盘机和两台磁带机,多路通道连接两台打印机、两台卡片输入机和10 台CRT 显示终端。假设这些设备的传送速率分别为
磁盘机    800KB/s
磁盘机200KB/s
打印机6 .6KB/s
卡片输入机1 .2KB/s
CRT 显示终端1KB/s
求该计算机系统的最大I/O 传送速率。
解:由于两个选择通道所连接的设备相同,只要计算其中一个通道的通道传输率即可。因为磁盘机的传输率大于磁带机,所以此类型通道的通道传输率为:
选择通道传输率= max{800 ,200} = 800KB/s
字节多路通道的最大传输率是通道上所有设备的数据传输率之和。即:
字节多路通道传输率= 6 .6 × 2 + 1 .2 × 2 + 1 × 10 = 25 .6 KB/s
计算机系统最大I/O 数据传输率=2×选择通道传输率+字节多路通道传输率=800×2+25 .6 = 1625 .6KB/s
29 .某计算机I/O 系统中,接有一个字节多路通道和一个选择通道。字节多路通道包括3 个子通道。其中:0 号子通道上接有两台打印机(传送率为5KB/s) ;1 号子通道上接有3 台卡片输入机(传送率为1 .5KB/s) ;2 号子通道上接8 台显示器(传送率为1KB/s) 。选择通道上接两台磁盘机(传送率为800KB/s) ;5 台磁带机(传送率为250KB/s) ,求I/O 系统的实际最大流量。若I/O 系统的极限容量为822KB/s ,问能否满足所连接设备流量的要求?
解:字节多路通道传输率= 5 × 2 + 1 .5 × 3 + 1 × 8 = 22 .5KB/s
选择通道传输率= max{800 ,500} = 800KB/s
计算机系统最大I/O数据传输率=选择通道传输率+字节多路通道传输率=800+22.5=822 .6KB/s
不能满足所连接设备流量的要求。
30 .试概括通道控制方式和DMA 方式的异同点。
解:DMA 和通道控制方式最基本的相同点是从CPU 中接管外设与主存交换数据过程的控制权,使外设能与主机并行工作。它们之间主要的不同之处在于:
① DMA 与通道的工作原理不同。DMA 通过专门设计的硬件控制逻辑来控制数据交换的过程;而通道则是一个具有特殊功能的处理器,它具有自己的指令和程序,通过执行通道程序来控制数据交换的过程。
② DMA 与通道的功能不同。通道是在DMA 的基础上发展起来的,因此通道要比DMA 的功能更强。
③ DMA 与通道所控制的外设类型不同。DMA 只能控制速度较快、类型单一的外设;而通道则可以支持多种类型的外设。
31 .什么是通道指令? 通道指令的结构如何? 它与CPU 指令有何区别? 它们的执行过程相同吗?
解:通道指令也就是通道命令字CCW ,用它来编制通道程序,并由管理程序存放在主存的任何地方。通道指令的格式因计算机不同而异,通常有命令码、数据地址、传送字节计数和标志码几部分。通道指令与CPU 指令不同,通道指令不由CPU 执行,它不出现在指令系统中。通道指令和CPU 指令都存放在主存中,但通道指令由通道来执行,CPU 指令由CPU 来执行,两者的执行过程是不相同的。
32 .简述通道操作的基本过程。
解:通道完成一次数据传输的主要过程分为以下3 步:
① 在用户程序中使用访管指令进入管理程序,由CPU 通过管理程序组织一个通道程序,并启动通道。
② 通道执行CPU 为它组织的通道程序,完成指定的数据输入输出工作。
③ 通道程序结束后向CPU 发中断请求。CPU 响应这个中断请求后,第二次进入操作系统,调用管理程序对中断请求进行处理。
33 .在通道控制方式下,I/O 操作由通道控制,以达到CPU 和I/O 设备的并行操作,试问:
(1) 当通道正在进行I/O 操作时,CPU 能否响应其他中断请求?
(2) 若CPU 能响应其他中断请求,是否会影响正在进行的I/O 操作?
解:(1) 当通道正在进行I/O 操作时,CPU 可以响应其他的中断请求。
(2) 若CPU 能响应其他中断请求,不会影响正在进行的I/O 操作,因为I/O 操作是由通道来控制的,与CPU 没有关系。
34 .为什么要设立总线仲裁机构? 集中式总线控制常用哪些方式? 它们各有什么优缺点?
解:由于总线是公共的,为了保证同一时刻只有一个申请者使用总线,总线控制机构中设置有总线判优和仲裁控制逻辑,即按照一定的优先次序来决定哪个部件首先使用总线,只有获得总线使用权的部件,才能开始数据传送。
集中式总线控制有3 种常见的优先权仲裁方式:链式查询方式、计数器定时查询方式和独立请求方式。它们各自的优缺点是:
链式查询的优点是只用很少几根线就能按一定的优先次序来实现总线控制,并易于扩充。缺点是对查询链的故障很敏感,查询的优先级是固定的。
计数器定时查询方式可以方便地改变优先次序,增加系统的灵活性,但控制线数稍多。
独立请求方式的优点是响应时间快,然而这是以增加控制线数和硬件电路为代价的。此方式对优先次序的控制也是相当灵活的,它可以预先固定,也可以通过程序来改变优先次序。
35 .总线的同步通信和异步通信有何不同? 试举例说明一次全互锁异步应答的通信情况。
解:总线的同步通信是指系统采用一个统一的时钟信号来协调发送和接收双方的传送定时关系。时钟产生相等的时间间隔,每个间隔构成一个总线周期。总线的异步通信没有公用的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。
全互锁异步应答的通信过程为:“请求”信号的来到导致“回答”信号的来到,“请求”信号的撤销取决于“回答”信号的来到,而“请求”信号的撤销又导致“回答”信号的撤销。

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;