计算机组成原理 - 教材习题解答 - (1)

更新时间:2023-10-11 13:39:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机组成原理 蒋本珊 编著 教材习题解答 第1章 概论

1 .电子数字计算机和电子模拟计算机的区别在哪里?

解:电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续 的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。 2 .冯· 诺依曼计算机的特点是什么? 其中最主要的一点是什么? 解:冯· 诺依曼计算机的特点如下:

① 计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件 组成;

② 计算机内部采用二进制来表示指令和数据;

③ 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。 第③ 点是最主要的一点。

3 .计算机的硬件是由哪些部件组成的? 它们各有哪些功能?

解:计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件 组成。它们各自的功能是:

① 输入设备:把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计 算机内部所能识别和接受的信息方式。

② 输出设备:将计算机的处理结果以人或其他设备所能接受的形式送出计算机。 ③ 存储器:用来存放程序和数据。 ④ 运算器:对信息进行处理和运算。

⑤ 控制器:按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自 动工作。

4 .什么叫总线? 简述单总线结构的特点。

解:总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各 部件的信息。单总线结构即各大部件都连接在单一的一组总线上,这个总线被称为系统 总线。CPU 与主存、CPU 与外设之间可以直接进行信息交换,主存与外设、外设与外设 之间也可以直接进行信息交换,而无须经过CPU 的干预。

9 5 .简单描述计算机的层次结构,说明各层次的主要特点。

解:现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分 的多级层次结构。

第0 级为硬件组成的实体。

第1 级是微程序级。这级的机器语言是微指令集,程序员用微指令编写的微程序一 般是直接由硬件执行的。

第2 级是传统机器级。这级的机器语言是该机的指令集,程序员用机器指令编写的 程序可以由微程序进行解释。

第3 级是操作系统级。从操作系统的基本功能来看,一方面它要直接管理传统机器 中的软硬件资源,另一方面它又是传统机器的延伸。

第4 级是汇编语言级。这级的机器语言是汇编语言,完成汇编语言翻译的程序叫做 汇编程序。

第5 级是高级语言级。这级的机器语言就是各种高级语言,通常用编译程序来完成 高级语言翻译的工作。

1

第6 级是应用语言级。这一级是为了使计算机满足某种用途而专门设计的,因此这 一级语言就是各种面向问题的应用语言。 6 .计算机系统的主要技术指标有哪些?

解:计算机系统的主要技术指标有:机器字长、数据通路宽度、主存容量和运算速 度等。

机器字长是指参与运算的数的基本位数,它是由加法器、寄存器的位数决定的。 数据通路宽度是指数据总线一次所能并行传送信息的位数。 主存容量是指主存储器所能存储的全部信息量。

运算速度与机器的主频、执行什么样的操作、主存本身的速度等许多因素有关。

第2章 数据的机器层次表示

2-1 设机器数的字长为8位(含1位符号位),分别写出下列各二进制数的原码、补码和反码。 0, -0,0.1000,-0.1000,0.1111,-0.1111,1101,-1101

0原码:00000000 补码:00000000 反码:00000000 -0原码:10000000 补码:00000000 反码:11111111 0.1000原码:0.1000000 补码:0.1000000 反码:0.1000000 -0.1000原码:1.1000000 补码:1.1000000 反码:1.0111111 0.1111原码:0.1111000 补码:0.1111000 反码:0.1111000 -0.1111原码:1.1111000 补码:1.0001000 反码:1.0000111 1101 原码:00001101 补码:00001101 反码:00001101 -1101 原码:10001101 补码:11110011 反码:11110010

2-2写出下列各数的原码、补码和反码 741147,,,?0,-,-,- 161616161616741?7?2-4?0.0111,?4?2-4?0.0100,?1?2-4?0.0001 1616167原码:0.0111补码:0.0111反码:0.0111 164原码:0.0100补码:0.0100反码:0.0100 161原码:0.0001补码: 0.0001反码:0.0001 16?0原码:00000补码:00000反码:00000 -0原码:10000补码:00000反码:11111 1-原码:1.0001补码:1.1111反码:1.1110 164-原码:1.0100补码:1.1100反码:1.1011 167-原码:1.0111补码:1.0100反码:1.1000 162-3已知下列数的原码表示,分别写出它们的补码表示。 [X]原=0.10100,[X]原=1.10111

2

[x]补=0.10100,[x]补=1.01001

2-4已知下列数的补码表示,分别写出它们的真值。 [X]补=0.10100,[X]补?1.10111x?0.10100,x??0.01001

2-8 .一个n 位字长的二进制定点整数,其中1 位为符号位,分别写出在补码和反码两 种情况下:

(1) 模数; (2) 最大的正数; (3) 最负的数; (4) 符号位的权; (5) - 1 的表示形式; (6) 0 的表示形式。 解:

第3章

1 .指令长度和机器字长有什么关系? 半字长指令、单字长指令、双字长指令分别表 示什么意思?

解:指令长度与机器字长没有固定的关系,指令长度可以等于机器字长,也可以大于 或小于机器字长。通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于 半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长 指令。

2 .零地址指令的操作数来自哪里? 一地址指令中,另一个操作数的地址通常可采用 什么寻址方式获得? 各举一例说明。

解:双操作数的零地址指令的操作数来自堆栈的栈顶和次栈顶。双操作数的一地址 指令的另一个操作数通常可采用隐含寻址方式获得,即将另一操作数预先存放在累加器 中。例如,前述零地址和一地址的加法指令。

3 .某机为定长指令字结构,指令长度16 位;每个操作数的地址码长6 位,指令分为 无操作数、单操作数和双操作数三类。若双操作数指令已有K 种,无操作数指令已有L 种,问单操作数指令最多可能有多少种? 上述三类指令各自允许的最大指令条数是多少? 指令系统

6 5 解: X = (24 - K) × 26 - jL 26 k

3

双操作数指令的最大指令数:24 - 1 。

单操作数指令的最大指令数:15 × 26 - 1 (假设双操作数指令仅1 条,为无操作数指

令留出1 个扩展窗口) 。 无操作数指令的最大指令数:216 - 212 - 26 。其中212 为表示某条二地址指令占用的

编码数,26 为表示某条单地址指令占用的编码数。此时双操作数和单操作数指令各仅有 1 条。

4 .设某机为定长指令字结构,指令长度12 位,每个地址码占3 位,试提出一种分配 方案,使该指令系统包含:4 条三地址指令,8 条二地址指令,180 条单地址指令。 解:4 条三地址指令 000 XXX YYY ZZZ ?

011 XXX YYY ZZZ 8 条二地址指令 100 000 XXX YYY ?

100 111 XXX YYY 180 条单地址指令 101 000 000 XXX ?

111 110 011 XXX

5 .指令格式同上题,能否构成:

三地址指令4 条,单地址指令255 条,零地址指令64 条? 为什么? 解:三地址指令4 条 000 XXX YYY ZZZ ?

011 XXX YYY ZZZ

单地址指令255 条 100 000 000 XXX ?

111 111 110 YYY

只能再扩展出零地址指令8 条,所以不能构成这样的指令系统。

6 .指令中地址码的位数与直接访问的主存容量和最小寻址单位有什么关系?

6 6 解:主存容量越大,所需的地址码位数就越长。对于相同容量来说,最小寻址单位越 小,地址码的位数就越长。

11 .设某机字长32 位,CPU 有32 个32 位的通用寄存器,设计一个能容纳64 种操作

的单字长指令系统。

(1) 如果是存储器间接寻址方式的寄存器- 存储器型指令,能直接寻址的最大主存 空间是多少?

(2) 如果采用通用寄存器作为基址寄存器,能直接寻址的最大主存空间又是多少?

4

解:因为计算机中共有64 条指令,所以操作码占6 位;32 个通用寄存器,寄存器编号

占5 位;其余部分为地址码或标志位。

(1) 如果是存储器间接寻址方式的寄存器- 存储器型指令,操作码6 位,寄存器编号 5 位,间址标志1 位,地址码20 位,直接寻址的最大主存空间是220 字。

(2) 如果采用通用寄存器作为基址寄存器,EA = (Rb ) + A ,能直接寻址的最大主存

空间是232 字。

12 .已知某小型机字长为16 位,其双操作数指令的格式如下:

0 5 6 7 8 15 OP R A

其中:OP 为操作码,R 为通用寄存器地址。试说明下列各种情况下能访问的最大主存区 域有多少机器字? (1) A 为立即数。

(2) A 为直接主存单元地址。

(3) A 为间接地址(非多重间址) 。

(4) A 为变址寻址的形式地址,假定变址寄存器为R1 (字长为16 位) 。 解:(1) 1 个机器字。 (2) 256 个机器字。 (3) 65536 个机器字。 (4) 65536 个机器字。

14. 假定某机的指令格式如下:

11 10 9 8 7 6 5 0

其中:

Bit11=1:间接寻址; Bit8 =1:变址寄存器I1寻址; Bit7 =1:变址寄存器I2寻址;

Bit6(零页/现行页寻址):Z/C=0,表示0页面;Z/C=1,表示现行页面,即指令所在页面。

若主存容量为 212个存储单元,分为26个页面,每个页面有26个字。 设有关寄存器的内容为

(PC)=0340Q (I1)=1111Q (I2)=0256Q 试计算下列指令的有效地址。 (1) 1046Q

@ OP I1 I2 Z/C A

5

(2) 2433Q (3) 3215Q (4) 1111Q 解:

(1)1046Q=001 000 100 110

因为4个标志位均为0,故为直接寻址,EA=A=0046Q。 (2)2433Q=010 100 011 011

因为 Bit8(I1)=1,故为变址寄存器1寻址,EA=(I1)+A=1111+33=1144Q。 (3)3215Q=011 010 001 101

因为 Bit7(I2)=1,故为变址寄存器2寻址,EA=(I2)+A=0256+15=0273Q。 (4)1111Q=001 001 001 001

因为 Bit6(Z/C )=1,故为当前页寻址,EA =(PC)H∥A=03∥11=0311Q。 15. 假定指令格式如下:

15 12 11 10 9 8 7 0

O P I1 I2 Z/C D/I A 其中:D/I为直接/间接寻址标志,D/I=0表示直接寻址,D/I=1表示间接寻址。Bit11=1:变址寄存器I1寻址;

Bit10=1:变址寄存器I2寻址;

Bit9(零页/现行页寻址):Z/C=0,表示0页面;Z/C=1,表示现行页面,即指令所在页面。

若主存容量为216个存储单元,分为28个页面,每个页面有28个字。 设有关寄存器的内容为

(I1)=002543Q (I2)=063215Q (PC)=004350Q 试计算下列指令的有效地址 。 (1)152301Q (2)074013Q (3)161123Q (4)140011Q 解 :

(1)152301Q=1 101 010 011 000 001

6

因为 Bit10(I2)=1,故为变址寄存器2寻址,EA=(I2)+A=063215+301=063516Q。 (2)074013Q=0 111 100 000 001 011

因为 Bit11(I1) =1,故为变址寄存器1寻址,EA=(I1)+ A=002543Q+013=002556Q。 (3)161123Q =1 110 001 001 010 011

因为 Bit9(Z /C )=1,故为当前页寻址,EA=(PC)//A =004123Q。 (4)140011Q=1 100 000 000 001 001

因为4个标志位均为0,故为直接寻址,EA =A=000011Q。

16 .举例说明哪几种寻址方式除去取指令以外不访问存储器? 哪几种寻址方式除去

7 0 取指令外只需访问一次存储器? 完成什么样的指令,包括取指令在内共访问4 次存储器?

解:除去取指令以外不访问存储器:立即寻址,寄存器寻址。

除去取指令外只需访问一次存储器:直接寻址,寄存器间接寻址,变址寻址,基址寻 址,相对寻址,页面寻址。

二级间接寻址包括取指令在内共访问4 次存储器。

20.什么叫主程序和子程序? 调用子程序时还可采用哪几种方法保存返回地址? 画 图说明调用子程序的过程。

解:主程序就是指通常的程序,而子程序是一组可以公用的指令序列,只要知道子程 序的入口地址就能调用它。 保存返回地址的方法有多种:

(1) 用子程序的第一个字单元存放返回地址。转子指令把返回地址存放在子程序的 第一个字单元中,子程序从第二个字单元开始执行。返回时将第一个字单元地址作为间 接地址,采用间址方式返回主程序。

(2) 用寄存器存放返回地址。转子指令先把返回地址放到某一个寄存器中,再由子 程序将寄存器中的内容转移到另一个安全的地方。 (3) 用堆栈保存返回地址。

调用子程序的过程如图3唱8 所示,此时返回地址保存在堆栈中。 图3唱8 主程序调用子程序的过程

第4章 数值的机器运算

5 .已知X 和Y ,试用它们的变形补码计算出X - Y ,并指出结果是否溢出。 (1) X = 0 .11011 ,Y = - 0 .11111

9 8 解:(1) [X]补= 0 .11011 ,[Y ]补= 1 .00001 ,[ - Y ]

7

补= 0 .11111

00 .11011 [X]补

+ 00 .11111 [ - Y ]补 01 .11010 [X - Y ]补 结果正溢

6 .已知:X = 0 .1011 ,Y = - 0 .0101 求: 12 X 补

, 14 X 补

,[ - X]补, 12 Y 补

, 14 Y 补

,[ - Y ]补。

解:[X]补= 0 .1011 12 X 补

= 0 .0101 , 14 X 补

= 0 .0010 ,[ - X]补= 1 .0101 [Y ]补= 1 .1011 12 Y 补

= 1 .1101 , 14 Y 补

= 1 .1110 ,[ - Y ]补= 0 .0101

8 .分别用原码乘法和补码乘法计算X × Y 。

(1) X = 0 .11011 ,Y = - 0 .11111 解:(1) 原码乘法:

所以|X × Y |= 0 .1101000101 X × Y = - 0 .1101000101 补码乘法:

所以[X × Y ]补= 1 .0010111011 X × Y = - 0 .1101000101

8

10 .分别用原码和补码加减交替法计算X ÷ Y 。

(1) X = 0 .10101 ,Y = 0 .11011 解:(1) 原码除法:

因为Qs = Xs 磑Y s = 0 磑0 = 0 所以X

Y = 0 .11000 + 0 .11000 × 2 - 5 0 .11011 补码除法: 所以X Y 补

= 0 .11001 + 1 .11101 × 2 - 5 0 .11011 X

Y = 0 .11001 + - 0 .00011 × 2 - 5 0 .11011

第5章存储系统和结构

1 .如何区别存储器和寄存器? 两者是一回事的说法对吗?

解:存储器和寄存器不是一回事。存储器在CPU 的外边,专门用来存放程序和数 据,访问存储器的速度较慢。寄存器属于CPU 的一部分,访问寄存器的速度很快。 2 .存储器的主要功能是什么? 为什么要把存储系统分成若干个不同层次? 主要有 哪些层次?

解:存储器的主要功能是用来保存程序和数据。存储系统是由几个容量、速度和价 存储系统和结构格各不相同的存储器用硬件、软件、硬件与软件相结合的方法连接起来的系统。把存储系统分成若干个不同层次的目的是为了解决存储容量、存取速度和价格之间的矛盾。由高速缓冲存储器、主存储器、辅助存储器构成的三级存储系统可以分为两个层次,其中高速缓存和主存间称为Cache - 主存存储层次(Cache 存储系统) ;主存和辅存间称为主存— 辅存存储层次(虚拟存储系统) 。 3 .什么是半导体存储器? 它有什么特点?

解:采用半导体器件制造的存储器,主要有MOS 型存储器和双极型存储器两大类。

半导体存储器具有容量大、速度快、体积小、可靠性高等特点。半导体随机存储器存储的 信息会因为断电而丢失。

9 .说明存取周期和存取时间的区别。

解:存取周期是指主存进行一次完整的读写操作所需的全部时间,即连续两次访问

存储器操作之间所需要的最短时间。存取时间是指从启动一次存储器操作到完成该操作 所经历的时间。存取周期一定大于存取时间。

10 .一个1K × 8 的存储芯片需要多少根地址线、数据输入线和输出线? 解:需要10 根地址线,8 根数据输入和输出线。

9

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 ,

64KB/4KB=16,故共需16块存储模板。 (2) 一个模板内各芯片的连接逻辑图如所示:

10

(1) 磁盘存储器的容量 = 4 × 275 × 12288B = 13516800B

(2) 最高位密度D1=每道信息量 ÷ 内圈圆周长=12288÷(π × 最小磁道直径) ≈17B/mm 。

最低位密度D2=每道信息量 ÷ 外圈圆周长=12288÷(π × 最大磁道直径) ≈11.5B/mm 。

(3) 磁盘数据传输率C= 50 × 12288 = 614400B /s 。 (4)平均等待时间=1÷(2r)=1÷(2×50)=10ms

11 .键盘属于什么设备? 它有哪些类型? 如何消除键开关的抖动? 简述非编码键盘 查询键位置码的过程。

解:键盘是计算机系统不可缺少的输入设备。键盘可分为两大类型:编码键盘和非 编码键盘。非编码键盘用较为简单的硬件和专门的键盘扫描程序来识别按键的位置。消 除键开关抖动的方法分硬件和软件两种。硬件的方法是增设去抖电路;软件的方法是在 键盘程序中加入延时子程序,以避开抖动时间。键盘扫描程序查询键位置码的过程为: ① 查询是否有键按下。 ② 查询已按下键的位置。

③ 按行号和列号求键的位置码。

第8章 输入输出系统

1 .什么是计算机的输入输出系统? 输入输出设备有哪些编址方式? 有什么特点? 解:计算机的输入输出系统包括输入输出接口和输入输出信息传送控制方式等,它们是整个计算机系统中最具有多样性和复杂性的部分。

输入输出设备有两种编址方式:I/O 映射方式(独立编址)和存储器映射方式(统一编 址) ,独立编址的优点是I/O 指令和访存指令容易区分,外设地址线少,译码简单,主存空

间不会减少,缺点是控制线增加了I/O 读和I/O 写信号;统一编址的优点是总线结构简 单,全部访存类指令都可用于控制外设,可直接对外设寄存器进行各种运算,占用主存一 部分地址,缩小了可用的主存空间。

2 .什么是I/O 接口? I/O 接口有哪些特点和功能? 接口有哪些类型?

解:I/O 接口是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的

信息交换。接口的基本功能有:实现主机和外设的通信联络控制;进行地址译码和设备选 择;实现数据缓冲;完成数据格式的变换;传递控制命令和状态信息。接口按数据传送方 式分类,有串行接口和并行接口;按控制方式分类,有程序查询接口、程序中断接口、DMA 接口;按灵活性分类,有可编程接口和不可编程接口;按通用性分类,有通用接口和专用接 口;按I/O 信号分类,有数字接口和模拟接口;按应用分类,有运行辅助接口、用户交互接口、传感接口、控制接口。

16

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 结束时仍 需程序中断方式做后处理。

9 .什么是中断? 外部设备如何才能产生中断?

17

解:中断是指:计算机执行现行程序的过程中,出现某些急需处理的异常情况和特殊 请求,CPU 暂时中止现行程序,而转去对随机发生的更紧迫的事件进行处理,在处理完毕 后,CPU 将自动返回原来的程序继续执行。

外部设备(中断源)准备就绪后会主动向CPU 发出中断请求。通常由外设的完成信 号将相应的中断请求触发器置成“1”状态,表示该中断源向CPU 提出中断请求。

10 .中断为什么要判优? 有哪些具体的判优方法? 各有什么优缺点?

解:当多个中断源同时发出中断请求时,CPU 在任何瞬间只能响应一个中断源的请

求,所以需要把全部中断源按中断的性质和轻重缓急安排优先级,以保证响应优先级别最 高的中断请求。中断判优的方法可分为:软件判优法和硬件判优法。前者简单,可以灵活 地修改中断源的优先级别,但查询、判优完全是靠程序实现的,不但占用CPU 时间,而且 判优速度慢。后者可节省CPU 时间,速度快,但是需要硬件判优电路,成本较高。

11 .CPU 响应中断应具备哪些条件? 解: ① CPU 接收到中断请求信号; ② CPU 允许中断; ③ 一条指令执行完毕。

12 .什么叫中断隐指令? 中断隐指令有哪些功能? 中断隐指令如何实现?

解:CPU 响应中断之后,经过某些操作,转去执行中断服务程序。这些操作是由硬件 直接实现的,称为中断隐指令。中断隐指令并不是指令系统中的一条真正的指令,它没有 操作码,所以中断隐指令是一种不允许、也不可能为用户使用的特殊指令。其所完成的操 作主要有: ① 保存断点;

② 暂不允许中断; ③ 引出中断服务程序。

13 .什么是中断向量? 中断向量如何形成? 向量中断和非向量中断有何差异? 解:中断向量是指向量中断在中断事件在提出中断请求时,通过硬件向主机提供的 中断向量地址。中断向量由中断源的有关硬件电路形成。

向量中断和非向量中断的区别在于:前者是指那些中断服务程序的入口地址是由中

断事件自己提供的中断;后者是指中断事件不能直接提供中断服务程序入口地址的中断。

14 .在程序中断处理中,要做到现行程序向中断服务程序过渡和中断服务程序执行 完毕返回现行程序,必须进行哪些关键性操作? 一般采用什么方法实现这些操作? 解:最关键的操作有保存断点,适时开、关中断,保护和恢复现场等,其中部分工作由 硬件完成,部分工作由软件完成。

16 .假设有1 、2 两个设备,其优先级为设备1 > 设备2 ,若它们同时提出中断请求,试说明中断处理过程,画出其中断处理过程示意图,并标出断点。 解:中断处理过程示意图见图8唱15 。 中断处理过程示意图

17 .现有A 、B 、C 、D 共4 个中断源,其优先级由高向低按A 、B 、C 、D 顺序排列。

18

若中断服务程序的执行时间为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 中断请求时间轴 CPU 执行程序的轨迹

(2) 若这5 级同时都发出中断请求,试画出进入各级中断处理过程示意图。 解:(1) 各级中断服务程序中的各中断屏蔽码设置如表8唱3 所示。 中断屏蔽码 程序级别 屏 蔽 码

0 级1 级2 级3 级4 级

第0 级1 0 1 0 1 第1 级1 1 1 1 1 第2 级0 0 1 0 0 第3 级1 0 1 1 1 第4 级0 0 1 0 1

2(2) 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 请求的优先级应高于中断请求。

19

本文来源:https://www.bwwdw.com/article/0snf.html

Top