文档库

最新最全的文档下载
当前位置:文档库 > 微型计算机技术及应用(第四版)习题和答案

微型计算机技术及应用(第四版)习题和答案

微型计算机技术及应用(第四版)

习题和答案

第二章

1、8088与8086的区别

[解答] ①外部数据总线位数不同。8086外部数据总线16位,在一个总线周期内可以输入/输出一个字(16位数据),而8088外部数据总线8位,在一个总线周期内只能输入/输出一个字节(8位数据)。

②指令队列缓冲器大小不同。8086指令队列可容纳6个字节,且在每一个总线周期中从存储器取出2个字节的指令代码填入指令队列;而8088指令队列只能容纳4个字节,在一个机器周期中取出一个字节的指令代码送指令队列。

③部分引脚的功能定义有所区别。

(1) AD15-AD0的定义不同。在8086中都定义为地址/数据分时复用引脚;而在8088中,由于只需要8条数据线,因此,对应于8086的AD15-AD8这8根引脚在8088中定义为A15-A8,它们在8088中只做地址线用。

(2) 引脚28和34的定义不同。在最大方式下,8088的第34引脚保持高电平,在最小模式时,8088和8086的第28引脚的控制信号相反,而8086的第34引脚为BHE/S7,BHE 用来区分是传送字节、还是字,8088的第34引脚为SS0,用来指出状态信息,不能复用。

(3) 引脚28的有效电平高低定义不同。8088和8086的第28引脚的功能是相同的,但有效电平的高低定义不同。8088的第28引脚为IO/M,当该引脚为低电平时,表明8088正在进行存储器操作;当该引脚为高电平时,表明8088正在进行I/O操作。8086的第28引脚为M/IO,电平与8088正好相反。

2、根据8086CPU的存储器读写时序图,请说明:

(1)地址信号应在哪些时间内有效?

(2)读、写动作发生在什么时间内?

(3)为什么读与写数据的有效时间长短不一样?

(4)T1状态下数据/地址线上是什么信息?数据信息是什么时候给出?

[解答] 地址信号只在T1状态时有效,并被锁存起来。读动作发生在T3、T4状态,而写动作发生在T2、T3、T4状态。读与写数据的有效时间长短不一样是因为CPU的速度与外设的速度不相匹配所造成的。T1状态下数据/地址线上是地址信息,数据信息是在T2状态,由AD15-AD0给出。

3、8086CPU形成三大总线时,为什么要对部分地址线进行锁存?用什么信号控制锁存?[解答] 为了确保CPU对存储器和I/O端口的正常读/写操作,需要求地址和数据同时出现在地址总线和数据总线上。而在8086CPU中有AD0-AD15部分总线是地址/数据复用的,因此需在总线周期的前一部分传送出地址信息,并存于锁存器中,而用后一部分周期传送数据。8086CPU中是通过CPU送出的ALE高电平信号来控制锁存的。

4、BHE信号的作用是什么?试说明当起始地址为奇地址、偶地址、一次读写一个字节和一个字时,BHE和A0的状态。

[解答] BHE信号的作用是高8位允许引脚。若BHE为0则表示对一个字进行操作,即高8位有效,若BHE为1则表示对一个字节进行操作,即高8位无效。当起始地址为奇地址时,一次读写一个字节时,BHE为1,A0状态为1;当起始地址为偶地址时,一次读写一个字节时,BHE为1,A0状态为0;当起始地址为奇地址时,一次读写一个字时,BHE为

0,A0状态为1;当起始地址为偶地址时,一次读写一个字时,BHE为0,A0状态为0。5、CPU在8086的微机系统中,为什么常用AD0作为低8位数据的选通信号?

[解答] 在8086系统中,常将AD0作为低8位数据的选通信号,因为每当CPU和偶地址单元或偶地址端口交换数据时, 在T1状态, AD0引脚传送的地址信号必定为低电平,在其他状态, 则用来传送数据.而CPU的传输特性决定了只要是和偶地址或偶地址端口交换数据,那么,CPU必定通过总线低8位(AD7- AD0)传输数据.可见,如果在总线周期的T1状态, AD0为低电平,实际上就指示了在这一总线周期中,CPU将用总线低8位和偶地址单元或偶地址端口交换数据。

6、系统中有多个总线模块时,在最大模式和最小模式下分别用什么方式来传递总线控制权?

[解答] 在最小模式下总线控制权是通过HOLD引脚来实现的,当系统中CPU之外的另一个模块要求占用总线时,通过此引脚向CPU发一个高电平的请求信号。这时,如果CPU允许让出总线,就在当前总线周期完成时,于T4状态从HOLD引脚发出一个回答信号,对刚才的HOLD 请求作出响应。同时,CPU使地址/数据总线和控制状态线处于浮空状态。总线请求部件收到HLDA信号后,就获得了总线控制权。在最大模式下总线控制权是通过LOCK、RQ/GT1,RQ/GT0引脚来实现的,首先,总线模块通过RQ/GT1向CPU发出一个请求信号,并通过RQ/GT0来接受CPU的响应,如果LOCK为低电平,则总线请求部件就获得了总线控制权。

7、8086CPU在内部结构上的主要特点是什么?

[解答] :8086CPU在内部结构上从结构上可分为:总线接口部件BIU和执行部件EU。它是16位微处理器有16根数据线20根地址线,内部寄存器、内部运算部件以及内部操作都是按16位设计的。

8、什么是流水线结构?流水线操作有什么好处?试举一个例子说明流水线操作的过程。[解答] :流水线结构是把处理执行部件分成几个功能不同的处理执行部件,不同的处理执行部件就可以同时并行工作,分别负责不同的任务.这样的好处是可以实现多任务重叠执行,以提高效率。

例如:有一任务共可以分成N个子任务,每子任务需要时间T,则完成该个任务需要时间NT。若单独执行方式完成K个任务,则共需要时间K*NT。若采用流水线执行方式完成K个任务,则共需要时间NT+(K-1)T。当K较大时,很明显K*NT》NT+(K-1)T

9、画出8086CPU各寄存器图,并声明每个寄存器的作用。

[解答] 8086CPU各寄存器图如图:

1)四个通用寄存器:AX,BX,CX,DX既可以作16位寄存器使用,也可以作8位寄存器使用。

2)四个专用寄存器:BP用作基数指针寄存器,SP用作堆栈指针寄存器,SI用作源变址寄存器,DI用作目的变址寄存器。

3)四个段地址寄存器:CS为16位的代码段地址寄存器,DS为16位的数据段地址寄存器,ES为16位的扩展段地址寄存器,SS为16位的堆栈段地址寄存器。

4)IP为16位的指令指针寄存器

5)标志寄存器有16位,其中7位未用,各位的含义如下:

(1)标志有6个,即SF、ZF、PF、CF、AF、和OP。

符号标志SF:与运算结果的最高位相同。

零标志ZF:若结果为零则为1,若结果非零则为0。

奇/偶标志PF:若运算结果的低8位有1的个数为偶数,则PF为1,否则为0。

进位标志CF:若运算中有进位或有借位时,则为1。另外循环指令也会影响该位。

辅助进位标志AF:当加法运算时,如果第三位往第四位有进位或者当减法时,如果第三位从第四位有借位,则AF为1。另外,辅助进位标志一般在BCD码运算中作为是否进行十进制调整的判断依据。

溢出标志OF:当运算过程中产生溢出时,

(2)标志有3个,即DF、IF、TF。

方向标志DF:这是控制串操作指令用的标志。如果DF为0,则串操作过程中地址会不断增加;反之,如果DF为1,则串操作过程中地址会不断减少。

中断标志IF:这是控制可屏蔽中断的标志.如果IF为0,则CPU不能对可屏蔽中断请求作出响应;如果IF为1,则CPU可以接受可屏蔽中断请求.

跟踪标志TF:如果TF为1,则CPU按跟随方式执行指令.

会使OF为1。

微型计算机技术及应用(第四版)习题和答案

10、总线接口部件有哪些功能?请逐一说明。

[解答]:总线接口部件的功能是负责与存储器、I/O端口传送数据。具体讲,总线接口部件要从内存取指令队列;CPU执行指令时,总线接口部件要配合执行部件从指定的内存单元或者外设端口中取数据,将数据传送给执行部件,或者把执行部件的操作结果传送到指定的内存单元或外设端口中。

11、8086的总线接口部件有那几部分组成?

[解答] :8086的总线接口部件有以下4部分组成:

(1)4个段地址寄存器,即:CS——16位的代码段寄存器,DS——16位的数据段寄存器,ES——16位的扩展段寄存器,SS——16位的堆栈段寄存器;

(2)16位的指令指针寄存器IP

(3)20位的地址加法器

(4)6字节的指令队列

12、8086的执行部件有什么功能?由那几部分组成?

[解答]:执行部件的功能是负责指令的执行。8086的执行部件有:

(1)4个通用寄存器:AX,BX,CX,DX;

(2)4个专用寄存器:即基数指针寄存器BP,堆栈指针寄存器SP,原变址寄存器SI,目的变址寄存器DI。

(3)标志寄存器

(4)算术逻辑单元

13、状态标志和控制标志又何不同? 8086的状态标志和控制标志分别有哪些?

[解答]:状态标志表示前面的操作执行后,算术逻辑部件处在怎样一种状态,这种状态会像某种先决条件一样影响后面的操作。状态标志有6个,即SF、ZF、PF、CF、AF和OF。控制标志是人为设置的,指令系统中有专门的指令用于控制标志的设置和清除每个控制标志都对某一种特定的功能起控制作用。控制标志有3个,即DF、IF、TF。程序中用专门的指令对它们进行操作。

14、总线周期的含义是什么?8086/8088的基本总线周期由几个时钟组成?如果一个CPU的时钟频率(主频)为24MHz,那么,它的一个时钟周期为多少?一个基本总线周期为多少? [解答]:总线周期的含义是计算机执行一条访问内存或端口的机器指令的时间;8086/8088的基本总线周期由4个时钟周期组成;如果CPU的时钟频率为24MHz,那么它的一个时钟周期为(T=1/F)41.5ns,一个基本总线周期为(4T)166ns;

15、在总线周期的T1、T2、T3、T4状态,CPU分别执行什么动作?什么情况下需要插入等待状态Tw?Tw在哪儿插入?

[解答]:在总线周期的T1、T2、T3、T4状态,CPU分别执行的动作是:(1) 在T1状态,CPU往多路复用总线上发出地址信息,以指出要寻址的存储单元或处设端口的地址;

(2) 在T2状态,CPU从总线上撤消地址,而使总线的低16位浮置成高阻状态,为传输数据作准备。总线的最高4位(A19-A16)用来输出本总线周期状态信息,这些状态信息用来表示中断允许状态、当前正在使用的段寄存器名等;

(3) 在T3状态,多路总线的高位继续提供状态信息,而多路总线的低16位(8088则为低8位)上出现由CPU的数据或者CPU从存储器或者CPU从存储器或端口读入或端口读入的数据;

(4) 在T4状态,总线结束。在有些情况下,外设或存储器速度较慢,不能及时地配合CPU传送数据。这时,外设或存储器会通过“Ready”信号在T3状态启动前向CPU发一个“数据未准备好”信号,于是CPU会在T3之后插入1个或多个附加的时钟周期Tw 。

16、80386的MMU 功能块具体有什么功能?逻辑地址、线性地址、物理地址分别由其中什么部件管理?

[解答]MMU的功能就是实现存储器的管理,它由分段部件和分页部件组成。前者管理面向程序员的逻辑地址空间,并且将逻辑地址转换为线性地址;后者管理物理地址空间,将分段部件或者指令译码部件产生的线性地址转换为物理地址。

17、80386有哪三种工作方式?为什么要这样多工作方式?

[解答]80386有三种工作方式,一种叫实地址方式,另一种叫保护虚拟地址方式,还有一种叫虚拟8086方式。80386在刚加电或者复位时便进入实地址方式,主要是为80386进行初始化用的。完成初始化后,便立即转到保护方式,此方式提供了多任务环境中的各种复杂功能以及复杂存储器组织的管理机制。在保护方式下,80386才充分发挥其强大的功能和本性。虚拟8086方式可以使大量的8086软件有效地与80386保护方式下的软件并发运行,可以是80386保护方式中多任务操作的某一个任务。

18、80386的实地址方式用于什么时候?为什么说它是为建立保护方式作准备的方式?实

地址工作方式有什么特点?

[解答]80386的实地址方式用于为80386进行初始化用的,为在该工作方式下所需要的数据结构做好各种配置和准备,因此,这是一种为建立保护方式作准备的方式。实地址工作方式的特点:

(1)寻址机构、存储器管理、中断处理机构均和80386一样。

(2)操作数默认长度为16位,但允许访问80386的32位寄存器组,在使用时,指令中要加上前缀以表示越权存取。

(3)不用虚拟地址的概念,存储器容量最大1M字节。

(4)实地址方式下,存储器中保留两个固定区域,一个为初始化程序区,另一个为中断向量区。

(5)80386具有4个特权级,实地址方式下,程序在最高级(0级)上执行。

19、虚拟8086方式有什么特点?为什么要设置这种方式?

[解答]其特点如下:

(1)可以执行8086的应用程序。

(2)段寄存器的用法和实地址方式时一样,即段寄存器内容左移4位加上偏移量为线性地址。

(3)存储器寻址空间为1M字节,可以使用分页方式,将1M字节分为256个页面,每页4K字节。在80386多任务系统中,可以其中一个或几个任务使用虚拟8086方式。此时,一个任务使用的全部页面可以定位于某个物理地址空间,另一个任务的页面可以定位于其他区域,即每个虚拟8086方式下的任务可以转换到物理存储器的不同位置,这样,把存储器虚拟化了,虚拟8086方式的名称正是由此而来。

(4)虚拟8086方式中,程序在最低特权级上运行,因此,80386指令系统中的一些特权指令不能使用。

设置这种方式是因为虚拟8086方式是80386中很重要的设计特点,他可以使大量的8086软件有效的与80386保护方式下的软件并发运行。

20、80386的标志寄存器中,哪些是状态标志?哪些是控制标志?哪些是系统方式标志?[解答]状态标志:CF、PF、AF、ZF、SF、OF、NT。控制标志:DF、IF、TF、IOPL。系统方式标志:VM、PF。

21、什么叫段基地址?它有多少位?什么叫选择子?选择子作用?

[解答]段基地址是指每段的起始地址,有32位;选择子是用于查找段基地址和段属性的参数,作用是用来选描述符。

22、80386的段描述符寄存器中包含哪些内容?

[解答]80386的段描述符寄存器中(64位)包括段基地址(32位)、段界限值(20位)、属性值(12位)。其中属性包括:是否存在内存、特权值级别(2位)、是否已存取过、粒度、扩展方向、可读、可写、可执行。

23、80386的流水线技术主要体现在哪两个方面?

[解答]指令流水线和地址流水线。

24、指令流水线由哪些部件构成?这些部件的主要功能分别是什么?

[解答]指令流水线是由总线接口部件、指令预取部件、指令译码部件和执行部件构成。它们的功能如下:

总线接口部件BIU:其是80386和计算机系统与其他部件之间的高速接口。它控制着32位数据总线和32位地址总总线的信息传输。总线接口部件最主要的操作就是响应分段部件和分页部件的请求,实现读取指令和存取数据的功能。

指令预取部件IPU:在总线周期时从存储器读取指令放入16字节的指令预取队列,每当队

列有部分字节或产生一次控制转移后,指令预取部件就向总线接口部件发总线请求信号,如果没有其它总线周期请求,那么,总线接口部件就响应该请求,使指令预取队得到补充。指令译码部件IDU:对指令进行译码,它从指令预取队列中取出指令并将其译成内部代码,再将这些代码送入先进先出译码指令列中,等待执行部件处理。

执行部件EU:由运算器等一系列的寄存器,包括控制ROM在内的控制部件和测试部件组成,后者能对复杂的存储器保护功能进行快速测试。

25、80386的逻辑地址,线性地址,物理地址分别指什么?它们的寻址能力分别为多少?

[解答]逻辑地址:程序员所看到和使用的地址,也叫虚拟地址,逻辑地址可表示为:段选择器:偏移地址。80386段内偏移地址为32位,在保护方式下,可实现对16384(214)个段的管理,它的寻址能力为46位,故可提供的虚拟存储空间为64 TB(246)。

线性地址:通过段描述符表将含选择子和偏移量的逻辑地址转化成32位的线性地址其寻址为32位,即232=4GB。

物理地址:指出了存储单元在存储体中的具体位置。若段内不分页,那么线性地址就是物理地址。寻址空间为32位,即232=4GB。

26、地址流水线由哪些部件组成?地址流水线技术具体是如何体现的?

[解答]地址流水线有分段部件、分页部件和总线接口部件构成。地址流水线技术具体体现在如下方面:

(1)有效地址的形成:分段部件把各地址分量送到一个加法器中,各地址分量可能有立即数和另外一、二个寄存器给出的值构成。

(2)逻辑地址与物理地址的转换:有效地址通过(另一个)加法器和段基址相加,得到线性地址。

(3)线性地址与物理地址的转化:由分页部件将线性地址转换成物理地址。三个动作的重叠进行,通常一个操作还在总线上进行时,下一个物理地址就已经算好了,充分体现了流水的特点。

27、80386采用哪几种描述符表?这些表的设置带来什么优点?

[解答]80386共设计三中描述符表即:全局描述符表,局部描述符表,中断描述符表。采用描述符表带来如下三方面的优点:1.可以大大扩展存储空间;2.可以实现虚拟存储;3.可以实现多任务隔离。

28、分页部件用什么机制实现线性地址往物理地址的转换?

[解答]映射的第一步是查询CR3,CR3的高20位指向页组目录项表;映射的第二步是将线性地址的高10位作为页组项号从页组目录项表中找出所需要的项,此项的首字节地址就是项地址,它由CR3的高20位和线性地址高10位乘4所得的值组成;第三步是查询相应页组目录对应的页表,一个页表也占4K字节,内含1024个页表项;有了页表项,再将其中高20位和线性地址的最低12位合起来就得到了所得的物理地址。

29、段选择子存与何处?它有什么作用?概述段选择子是如何从GDT或LDT中选择一个描述符的。

[解答]段选择子存于段寄存器中。段选择子的第0,1位RDL用来定义此段使用的特权级别,第2位T1称为描述表的指示符,用来指出此描述符在哪个当前描述符表中,如T1为1,则在CDT中,如T1为0,则在GDT中,高13位是段描述符索引依次指出所在选项在描述符表中的位置。

第三章

1、 8086/8088的指令有哪些寻址方式?它们的具体含义是什么?指令中如何表示它们?

[解答]: 8086/8088指令系统的寻址方式分为两大类:数据寻址方式和地址寻址方式。数据寻址方式可分为立即数寻址方式、寄存器寻址方式、存储器寻址方式和I/O端口寻址方式四种类型。存储器寻址方式又分为:直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址变址寻址方式、基址变址相对寻址方式。地址寻址方式可分为段内直接寻址方式、段内间接寻址方式、段间直接寻址方式、段间间接寻址方式。

2、分别指出下列指令中源操作数和目的操作数的寻址方式:

(1) MOV AX, 1000H (2) MOV AX, ES:1000H

(3) MOV [BX], AL (4) MOV DI, [SI]

(5) ADD AX, [BX+4] (6) SUB AX,[BX+DI+5]

(7) MOV [DI+2],AX (8) ADD AX,[BP+DI-7]

[解答]:

(1) 立即寻址和寄存器寻址; (2) 直接寻址和寄存器寻址

(3) 寄存器寻址和间接寻址; (4)间接寻址和寄存器寻址;

(5) 基址寻址和寄存器寻址; (6)基址变址寻址和寄存器寻址;

(7)寄存器寻址和变址寻址; (8)基址变址寻址和寄存器寻址;

3、指出下列指令是否合法:

(1) MOV AX, DL (2) MOV [BX] , 5

(3) ADD AX, 5 (4) MOV DS, 1000H

(5) PUSH CH (6) POP CS

(7) ADD ES,AX (8) MOV SS,CS

(9) DEC BX (10) INC [BX]

[解答]:

(1) 类型不一致; (2) 两个操作数的类型都不明确; (3) 正确;

(4) 立即数不能直接送段寄存器; (5)栈操作是字操作,不能进行字节操作;

(6) POP指令的操作数不能是CS;

(7)段寄存器仅能做MOV指令和栈操作指令的操作数,不能作累加器;

(8)段寄存器间不能传送; (9) 正确;

(10)类型不明确,不知是字加1,还是字节加1。

4、写出MOV AH,[BX+DI+50H]的机器语言编码。

微型计算机技术及应用(第四版)习题和答案

5、写出ADD AX,[BX+DI+0826H]的机器语言编码。

此指令的存储器有效地址EA=BX+DI+0826H, 其指令功能是(EA)+(AX)→AX中。

微型计算机技术及应用(第四版)习题和答案

6、写出指令MOV[BX+DI-8],CL的机器语言编码(假设在80386/80486上是16位操作)。

这条指令可用符号写成MOV mem, reg的形式,源操作数是寄存器寻址,目的数是存储器寻址方式,故此指令的编码形式为:

微型计算机技术及应用(第四版)习题和答案

由于目的数是存储器寻址,D=0和reg域指定了源寄存器。CL寄存器的reg编码是001B,它与W=0一起表示一个8位操作数。至此编码又可进一步写成如下形式:

微型计算机技术及应用(第四版)习题和答案

取r/m的值为001B,是对[BX+DI+disp]的寻址计算。位移量disp8的范围是在-128到+127之间,-6为FAH。当mod=01B时,为选取8位位移量,则指令MOV[BX+DI-6], CL的完整编码如下:

微型计算机技术及应用(第四版)习题和答案

第4章存储器和高速缓存技术

1、微型计算机中存储器分成哪几个等级?它们各有什么特点?用途如何?

[解答]微型计算机中存储器分为外部存储器和内部存储器。外存容量大,但存取速度慢,且cpu使用外存信息时需先把信息送到内存中。内存容量小,存取速度快,其信息cpu可直接使用,故外存存放相对来说不经常使用的程序和数据。另外,外存总是和某个外部设备有关。内存容纳当前正在使用的或者经常使用的程序和数据。

2、什么是直接寻址范围?地址线的多少与它有什么关系?

[解答]直接寻址范围就是利用地址线可寻址的最大地址范围,以地址线的位数为指数,以2为底数的幂为最大直接寻址范围。

3、根据你对CPU和各种存储器的了解,一个微型计算机是如何开始工作的?

[解答]计算机工作时,一般先由ROM(Read Only Memory,只读存储器)中的引导程序,启动系统,再从外存中读取系统程序和应用程序,送到内存的RAM(Random Access Memory,随机存取存储器)中。在程序的运行过程中,中间结果一般放在内存RAM中,程序结束时,又将结果送到外存。

4、存储器的存取时间是什么意思?它在系统设计时有什么实际意义?

[解答]存储器的存取时间是指存储器接收到稳定的地址输入到完成操作的时间,系统设计时可以据此考虑数据传输、总线的选择和时序安排。

5、什么是随机存储器?它在系统中起什么作用?

[解答]随机存取是指对所有的存储单元都可以用同样的时间访问,起到暂时保存中间结果和运行的程序。

6、什么是只读存储器?它在系统中起什么作用?

[解答]存储器被写入后,只能被读出而不能用通常的办法重写或改写,以保存启动程序和部分固化系统程序段作用。

7、RAS、CAS信号有什么用?请画一个原理图并说明它们是如何产生的?

[解答] RAS和CAS是提供给外部RAM的行地址和列地址的选通信号。图见课本P175。

8、EPROM在写入和读出时所加的信号和电压有什么不同?

[解答]EPROM读出时,Vpp和Vcc接5v电压,芯片允许信号(片选信号)CE必须在地址稳定以后有效,才能保证读得所需单元的数据。写入即编程方式下,Vcc仍加5v电压,但Vpp 按厂家要求加上21—25v的电压,必须在地址和数据稳定之后,才能加上编程脉冲。

9、8086CPU在组织系统时,为什么要把存储器分为奇和偶两个体?如何实现这种控制?由此推想,对32位CPU应该有几个控制信号,才能保证单字节,双字节和一个等寻址都能进行的要求?

[解答] 8086的数据总线16位,但1个内存单元中存放的数是8位,为了一次对2个单元进行访问,要把存储器分为奇和偶两个体。每个内存单元都一个地址,要访问2个单元时,从偶存储器开始,可用一个控制信号来选择。那么,对32位CPU有32位地址总线,分为4个存储体,应该有4个控制信号,才能保证单字,双字节和一个等寻址都能进行的要求。(详见P185)

10、计算机的内存有什么特点?内存由哪两部分组成?外存一般是指哪些设备?外存有什么特点?

[解答]内存特点:快速存取,容量受限制。内存分为RAM和ROM。外存有软盘、硬盘、盒式磁带和光盘。外存特点:大容量,所存信息既可修改又可保存,但外存速度比较慢,要配置专用设备。

11、用存储器件组成内存时,为什么总是采用矩阵形式?请用一个具体例子说明。

[解答]简化选择内存单元的译码电路,通过行选择线和列选择线来确定一个内存单元,因而用存储器组成内存时,总是采用矩阵形式。比如,要组成1K字节的内容,如果不用矩阵来组织这些单元,而是将它们一字排开,那么就要1024条译码线才能实现对这些单元的寻址。如果用32*32的矩阵来实现排列,那么,就只要32条行选择线和32条列选择线就可以了。

12、在选择存储器件时,最重要的考虑因素是什么?此外还应考虑那些因素?

[解答]最重要的因素是存储容量(位容量)。此外,还应考虑易失性、只读性、速度、功耗、可靠性、价格等。

13、什么叫静态RAM?静态RAM有什么特点?

[解答]不需要进行周期性刷新的既可读又可写的存储器。其特点如下:(1)优点:不需要进行刷新,简化了外部电路。(2)缺点:①静态RAM基本存储电路中包含的管子数目比较多,导致一个器件的位容量比采用类似设计方法的非静态RAM要少。②静态RAM基本存储电路中2个交叉耦合的管子总有1个处于导通状态,所以会持续地消耗功率,导致静态RAM

的功耗比较大。

14、静态RAM芯片上为什么往往只有写信号而没有读信号?什么情况下可以从芯片读得数据?

[解答]对于存储器来说,在允许信号有效之后,一定是进行读/写操作,而且非写即读,使得只用写信号WE就可以既控制写操作又控制读操作。在读操作时,写脉冲发生器不产生负脉冲,而是使WE端处于高电平,此高电平就用来作为读出信号。

15、在静态存储器进行读/写时,地址信号要分为几个?分别产生什么信号?

[解答]地址信号分为3个。A19-A14用来作为模块选择信号,A12-A13产生4个矩阵的芯片允许信号,A11-A0作为矩阵内部的行地址和列地址。

16、动态RAM工作时有什么特点?和静态RAM比较,动态RAM有什么长处?有什么不足之处?动态RAM一般用什么场合?

[解答] ㈠动态RAM工作时,每隔一定的时间就要进行全面的刷新。㈡和静态RAM相比,动态RAM有以下长处:①高位密度;②低功耗特性;③价格低廉。㈢不足之处:在刷新周期中,内存模块不能启动读周期或写周期,即要等刷新周期完成之后,才能启动读周期或写周期。㈣动态RAM一般用于内存模块。

17、动态RAM为什么要进行刷新?刷新过程和读操作比较有什么差别?

[解答]不管是哪一种动态RAM,都是利用电容存储电荷的原理来保存信息的,由于电容会逐渐放电,所以,对动态RAM必须不断进行读出和再写入,以使泄放的电荷受到补充,也就是进行刷新。在温度上升时,电容的放电会加快,所以两次刷新间的间隔是随温度而变化的,一般为1--100ms.在70摄氏度情况下,典型的刷新时间间隔为2ms。虽然进行一次读写操作实际上也进行刷新,但是,由于读写操作本身具有随机性,所以,并不能保证所有的RAM

单元都在2ms中通过正常的读写操作来刷新,由此,专门安排了存储刷新周期完成对动态RAM 的刷新。

18、动态RAM控制器一般完成什么功能?

[解答]动态RAM控制器一般完成刷新过程中的刷新计时,地址计数,以及地址转换。动态RAM一般完成两个功能,一个是地址处理部分,一个是时序处理部分。地址处理部分的功能主要是:处理动态RAM正常读写时的地址信号和刷新过程中的地址信号。时序处理部分的功能主要是:产生正确的读写时序和刷新时序。

19、ROM、PROM、EPROM分别用在什么场合?

[解答]ROM适合于固化成熟的固定程序和数据。PROM适用于需要对存储器进行编程的地方。EPROM适用于需要用电信号对存储器中的内容进行在线清除和修改的地方。

20、Cache技术的基本思想和出发点是什么?一个Cache系统由哪几个主要部分组成?

[解答] Cache是一种高速缓冲存储器,是为了解决CUP和主存之间速度不匹配问题而采用的一项重要技术。Cache技术的出发点就是用SRAM和DRAM构成一个组合的存储系统,使它兼有SRAM和DRAM的优点。采用这样的技术,在主存和高速CPU之间设置一个小容量的高速存储器(通常为32KB的SRAM),其中存放的CPU常用的指令和数据,于是,CPU对存储器的访问主要体现在对SRAM的存取,因此可以不必加等待状态而保持高速操作。一个cache 系统包含3个方面的内容:

1、 Cache模块,即CPU和慢速主存之间的SRAM;

2、主存,即慢速DRAM;

3、 Cache控制器,用来对Cache系统进行控制。

21、区域性定律是适用于哪一方面的?它包含哪两类区域性?

[解答]大部分软件对存储器的访问并不是任意的、随机的,而是有着明显的区域性。也可以说存在着区域性定律(Principle of Locdity),这表现在两个方面:1、时间区域性。即存储体中某一个数据被存取后,可能很快又被存取。2、空间区域性。存储体中某个数据被存取了,附近的数据也很快被存取。正是这个区域性设计,导致了存储提设计的层次结构,即把存储体分为几层。对提高存储器的存取速度、从而提高程序运行速度非常有效。

22、Cache的组织方式有哪几种?各有什么特征?

[解答]按照主存和Cache之间的映象关系,Cache有3种组织方式:

1、全相联方式(fully associative)。按这种方式,主存的一个区块可映象到Cache的任何一个地方。

2、直接映象方式(direct mappad)。在这种方式下,主存的一个区块可能映象到Cache

的一个对应的地方。

3、组相联方式(set associative) 。即主存的一个区块可以映象到Cache的有限地方。具体说,在这种方式下,一个Cache分为许多组,在一组里有两个或多个区块,主存的区块映象到某个对应的组中,但是这个区块可能出现在这个组的任何地方。

23、在组相联方式Cache中,一般采用双路相联或四路相联方式,在选择区块位置时,可以采用哪3种解决办法?

[解答]选择区块位置时可以采用3种解决办法:

1、由Cache控制器决定替换“最近最少使用”的区块,简成LUR方式;

2、按先进先出(FIFO)的方法替换掉Cache中保存时间最长的区块;

3、随意选择。

24、什么叫Cache的数据一致性问题?具体表现在哪两个方面?

[解答] Cache系统中,同样一个数据可能既存在于Cache中,也存在于主存中,数据一样则具有一致性。它表现在2个方面:

1、当更新时可能Cache中的数据更新,而主存未更新,则造成数据丢失。

2、在有DMA控制器的系统和多处理器系统中,有多个部件可以访问主存,这时,可能其中有些部件是直接访问主存的,也可能每个DMA部件和处理器配置一个Cache,这样,主存的一个区块可能对应于多个Cache中的各一个区块。于是会产生主存中的数据被某个总线部件更新过,而某个Cache中的内容未更新,这种情况造成数据过时。

25、对数据丢失造成的数据一致性问题,可以采用什么解决办法?

[解答](1)直写式。每当cpu把数据写到cache中时,cache控制器会立即把数据写入主存对应的位置。所以,主存随时跟踪cache的最新版本,从而也就不会有主存将新的数据丢失的问题。(2)缓冲直写式。这种方式是在主存和cache之间加一个缓冲器,每当cache 中作数据更新时,也对主存作更新,但是,要写入主存的数据先存在缓冲中,在cpu进入下一个操作时,缓冲器中的数据写入主存。(3)回写式。这种方式,cache每一个区块的标记中都要设置一个更新位,cpu对cache中的一个区块写入后,如未更新相应的主存区块,侧更新位置1。在每次对cache写入时,cache控制器须先检查更新位,如为0,侧可直接写入,反之,侧cache控制器先把cache现有的内容写入主存相应位置,再对cache进行写入。

26、对于数据过时造成的数据一致性问题,可以有哪些防止办法?比较其优缺点。

[解答](1) 总线监视法。在这种方法中,由cache控制器随时监视系统的地址总线,如其他部件将数据写到主存,并且写入的主存正好是cache中的区块对应的位置,那么,cache 控制器会自动将cache中的区块标为"无效"。(2)硬件监视法。通过外加硬件电路,使cache 本身能观察到主存中已映象区块的所有存取操作。当一个cache有写操作时,新数据既拷贝到主存,也拷贝到其他cache,从而防止数据过失。(3)划出不可高速缓冲存存储区法。按这种方法,要在主存划出一个区域作为各部件共享区,这个区域中的内容永远不能取到cache,因此,cpu对此区域的访问也必须是直接的,而不是通过cache来进行的。用这种方法,便可避免主存中一个区域映象到多个cache的情况,于是也避免了数据过时的问题。(4)cache清除法。这种方法是将cache中的所有已更新的数据写回到主存,同时清除cache 中的所以数据,也可以避免数据过时的问题。

27、Cache系统中的Cache控制器主要完成哪些功能?

[解答](1)cache和主存的映象关系处理。(2)未命中cache时的处理。(3)cache 的数据更新。

28、Cache系统如果在访问时未命中,系统将怎样动作?(详见P196)

[解答]未命中可能是两种情况,一是区块未命中,一是标记未命中。在直接映象方式下,系统都会访问主存,而且在数据送给80386的同时写入cache中,接着修改82385内部的相应目录。如果是区块未命中的情况,只将对应的区块有效值改为1;如果是标记未命中,侧目录修改包括将A31---A15值写入目录项的标记中,再将标记有效位置1,又将对应的区块有效位置1,同时将其他7区块有效位置0。以后,再遇到这个目录项的标记命中而区块未命中时,只需要将对应的区块有效位置1即可。在双路组相联方式下,标记未命中时,设此时LRU位指向A路,侧数据从主存读出后,会同时写入A路的对应区块,并且,82385根据A31--A14修改A路对应的目录标记,再使标记有效位置1,对应的区块有效位置1,其他7个区块有效位清0,然后,使LRU指向B路。

第五章

1.外部设备为什么要通过接口电路和主机系统相连?存储器需要接口电路和总线相连吗?为什么?

[答案] 外部设备的功能是多种多样的。有些外设作为输入设备,有些外设作为输出设备,也有些外设既作为输入设备又作为输出设备,还有一些外设作为检测设备或控制设备,而每一类设备本身可能又包括了多种工作原理不同的具体设备。对于一个具体设备来说,它所使用的信息可能是数字式的,也可能是模拟式的,而非数字式信号必须经过转换,使其成为对应的数字信号才能送到计算机总线。这种将模拟信号变为数字信号、或者反过来将数字信号变为模拟信号的功能是A/D、D/A接口来完成的。外设的工作速度通常比CPU的速度低得多,而且各种外设的工作速度互不相同,这就要求接口电路对输入/输出过程能起一个缓冲和联络的作用。输入/输出接口电路是为了解决计算机和外部设备之间的信息变换问下题而提出来的,输入/输出接口是计算机和外设之间传送信息的部件,每个外设都要通过接口和主机系统相连。

不需要,因为所有存储器都是用来保存信息的,功能单一;传送方式也单一,一次必定是传送1个字节或者1个字;品种很有限,只有只读类型和可读/可写类型。此外,存储器的存取速度基本上可以和CPU的工作速度匹配。这些决定了存储器可以通过总线和CPU相连。

2.是不是只有串行数据形式的外设需要接口电路和主机系统连接?为什么?

[答案] 不是的,因为CPU通过总线要和外设打交道,而在同一个时刻CPU通常只和一个外设交换信息,就是说,一个外设不能长期和CPU相连,只有被CPU选中的外设,才接收数据总线上的数据或者将外部信息送到数据总线上。考虑外设的速度和信号规格,所以,即使是并行设备,也同样要通过接口与总线相连。

3.接口电路的作用是什么?按功能可分为几类?

[答案] 作用是:使处理器得到所需要的时钟信号或接收外部的多个中断请求等;利用接口电路,微处理器可以接收外部设备送来的信息或将信息发送给外部设备。

按功可分为两类:一类是使微外理器正常工作所需要的辅助电路通过这些辅助电路,使外理器得到所需要的时钟信号或接收外部的多个中断请求等;另一类是输入/输出接口电路,利用这些接口电路,微处理器可以接收外部设备送来的信息或将信息发送给外部设备。

4.数据信息有哪几类?举例说明它们各自的含义。

[答案] 数据信息大致分为如下三种类型:1、数字量:这类是指由键盘、磁盘机、卡片机等读入的信息,或者主机送给打印机、磁盘机、显示器及绘图仪的信息,它们是二进制形式的数据或是以ASII码表示的数据及字符,通常是8位的。 2、模拟量:如果一个微型机系统是用于控制的,那么,多数情况下的输入信息就是现场的连续变化的物理量,如温度、湿度、位移、压力、流量等,这些物理量一般通过传感器先变成电压或电流,再经过放大。这样的电压和电流仍然是连续变化的模拟量,而计算机无法直接接收和处理模拟量,要经过模拟量往数字量(A/D)的转换,变成数字量,才能送入计算机。反过来,计算机输出的数字量要经过数字量往模拟量(D/A)的转换,变成模拟量,才能控制现场。 3、开关量:开关量可表示两个状态,如开关的闭全和断开、电机的运抟和停止、阀门的找开和关闭等,这样的量只要用1位二进制数表示就可以了。

5.CPU和输入/输出设备之间传送的信息有哪几类?

[答案] CPU和输入/输出设备之间传送的信息有以下几类:数据信息、状态信息、控制信息。什么叫端口?通常有哪几类端口?计算机对I/O端口编址时通常采用哪两种方法?在6.8086/8088系统中,用哪种方法对I/O端口进行编址?

[答案] CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为端口。

通常有:数据端口、状态端口、控制端口。

对端口编址的两种方法为:计算机对内存和I/O端口统一编址;计算机对内存和I/O端口分别进行编址。

在8086/8088系统中用计算机对内存和I/O端口统一编址。

7.为什么有时候可以使两个端口对应一个地址?

[答案] 不管输入还是输出,所用到的地址总是对端口而言的,而不是对接口部件而言的。如果一个接口有两个端口,那么,在设计接口部件时,就已经考虑了它能接收两个端口地址。一个双向工作的接口芯片通常有4个端口,即数据输入端口、数据输出端口、状态端口和控制端口。因为数据输入端口和状态端口是“只读”的,数据输入端口和控制端口是“只写”的,所以,系统为了节省地址空间,往往将数据输入端口和数据输出端口对应一个端口地址,CPU用此地址进行读操作时,实际上是从数据输入端口读取数据,而当CPU用此地址进行写操作时,实际上是往数据输出端口写入数据。同样,状态端口和控制端口也用同一个端口地址。

8.CPU和外设之间的数据传送方式有哪几种?实际选择某种传输方式时,主要依据是什么?[解答] CPU与外设之间的数据传输有以下三种方式:程序方式、中断方式、DMA方式。其中程序方式又可分为无条件传送方式和条件传送方式两种方式。在CPU外设传送数据不太频繁的情况下一般采用无条件传送方式。在CPU用于传输数据的时间较长且外设数目不多时采用条件传送方式。在实时系统以及多个外设的系统中,为了提高CPU的效率和使系统具有实时性能,采用中断传送方式。如I/O设备的数据传输效率较高,那么CPU和这样的外设进行数据传输是,即使尽量压缩程序查询方式和中断方式中的非数据传输时间,也仍然不能满足要求。这是因为在这两种方式下,还存在另外一个影响速度的原因,即它们都是按字节或字来进行传输的。为了解决这个问题,实现按数据块传输,就需要改变传输方式,这就是直接存储器传输方式,即DMA方式。

9.无条件传送方式用在哪些场合?画出无条件传送方式的工作原理图并说明。

[解答] 无条件传送方式适用于对一些简单的外设的操作中,如:开关、七段显示管等。当CPU执行输入指令是,读信号RD有效,选择信号M/IO处于低电平,因而三态缓冲器被选通,使其中早已准备好的输入数据进入数据总线,再到达CPU。图见课本203页图5.2。当CPU 执行输入指令时,读信号RD有效,选择信号M/IO处于低电平,因而三态缓冲器被选通,使其中早已准备好的输入数据进入数据总线,再到达CPU。CPU执行输出指令时,M/IO和WR 信号有效,于是接口中的输出锁存器被选中,CPU输出的信息经过数据总线打入输出锁存器,输出锁存器保持这个数据,直到外设取走。

10.条件传送方式的工作原理是怎样的?主要用在什么场合?画出条件传送(查询)方式输出过程的流程图。

[解答] 数据传送有三个环节:1、CPU从接口中读取状态字。2、CPU检测状态字的对应位是否满足“就绪”条件,如不满足,则回到前一步读取状态字。3、如状态字表明外设已处于就绪状态,则传送数据。主要用于非实时系统及单一外设系统。

11.查询式传送方式有什么优缺点?中断方式为什么能弥补查询方式的缺点?

[解答] 在查询方式下CPU不断地读取状态字,如果状态字表明外设没准备好,则CPU须等待。这些过程占用了CPU的大量工作时间,而CPU真正用于传输数据的时间却很少。另外,用查询方式工作时,如果一个系统有多个外设,那么CPU只能轮流对每个外设进行查询,而这些外设的速度往往并不同。这时CPU显然不能很好的满足各个外设随机性的对CPU提出的输入/输出服务要求,所以,不具备实时性。使用中断传方式时,CPU就不必花费大量时间去查询外设的工作状态了,因为当外设就绪时,就会主动向CPU发中断请求信号。而CPU 本身具有这样的功能:在每条指令被执行完以后,会检查外部是否有中断请求,如果有中断

请求,那么在中断允许标志为1的情况下,CPU保留下一条指令的地址和当前的标志,转到中断服务程序去执行。被外界中断时,程序中下一条指令所处称为断点。从中断服务程序返回时,CPU会恢复标志和断点地址。

12.画一个用中断方式进行输出传输的接口电路。

[解答] 见课本210页图5.6。

13.叙述可屏蔽中断的响应和执行过程。

[解答] INTR引腿上进入的中断请求信号是可以被IF标志所屏蔽的,所以称为屏蔽中断。如果IF标志为0,则从INTR引腿进入的中断请求信号得不到响应,只有当IF为1时,CPU 才会通过INTA引腿往接口电路送两个负脉冲作为回答信号。中断接口电路接收到INTA信号后,将中断向量发送到数据总线,同时清除中断请求触发起的请求信号。CPU根据中断处理子程序的入口地址,从而进入中断处理子程序。

14.通常解决中断优先级的方法有哪几种?各有什么优缺点?

[答案] 通常解决中断优先级的方法有一下三种:(1)软件查询方式;(2)简单硬件方式--菊花链法;(3)专用硬件方式。利用软件查询方式来确定中断优先级的优点是省硬件,不需要有判断优先级的硬件排队电路,而是用程序的优先级来确定设备的优先级。当然,用软件查询方式也有缺点,这就是由设备发出中断请求信号到CPU转入相应的服务程序入口的时间较长,特别是在中断源比较多是情况下,必须有较长的查询程序段,这样,转入服务程序所花费的时间也较长。在简单硬件方式下,各个外设接口就不会竞争中断回答信号,菊花链已经从硬件的角度根据接口在链中的位置决定了它们的优先级,越靠近CPU的接口,优先级越高。在专用硬件方式下的整个过程中,优先级较低的请求都受到阻塞,直到通过程序中的指令或者由于中断处理程序执行完毕而引起当前中断服务寄存器的对应为清0,级别较低的中断请求才可能得到响应。

15.和DMA方式比较,中断传输方式有什么不足之处?

[答案]在中断方式下,仍然是通过CPU执行程序来实现数据传送的,每进行1次传送,CPU 都必须执行一遍中断处理程序。而每进入1次中断处理程序,CPU都要保护断点和标志;此外,在中断处理程序中,通常有一系列保护寄存器和恢复寄存器的指令,这些指令显然和数据传送没有直接关系,但在执行时,却要使CPU花费不少时间;还有,对于8086来说,本来取指令和执行指令分别由总线接口部件和执行部件完成,它们并行地工作,即执行部件在执行指令时,总线接口部件把下面要执行的指令取到指令队列中,但是,一旦进入中断,指令队列就要清除,执行部件须等待总线接口部件将中断处理子程序中的指令取到指令队列中才开始执行程序,同样,返回断点时,指令队列也要作清除,执行部件要等待总线接口部件重新装入断点处的指令后才开始执行,这使并行工作机制失去功能。中断方式是按字节或是字来传输的,这样传输速度就很慢。

16.叙述用DMA方式单个数据的全过程。

[答案] (1)接口准备就绪,向DMA控制器发DMA请求;(2)DMA控制器接到信号后,发总线请求;(3)接到信号后,总线允许,从而控制总线控制权;(4)DMA控制器中地址寄存器的内容送到地址总线上;(5)DMA请求得到确认;(6)内存把数据送数据总线(7)接口锁存数据;(8)撤消总线请求;(9)8086收回总线控制权。

17.DMA控制器的地址线为什么是双向的?什么时候往DMA控制器传输地址?什么时候DMA 控制器往地址总路线传输地址?

[答案] DMA控制器的地址线之所以是双向的,这是因为DMA控制器可以控制总线,当它得到总线控制权时,可以把地址送到地址总线上,而接口却只能接收端口地址。当接口准备就绪,向DMA控制器发DMA请求,DAM允许后就可以往DMA控制器传输地址。DAM控制器发总

线请求,然后得到CPU送来的DMA允许信号,从而得到总线控制权,这时,DMA控制器就往总路线传输地址。

18.在查询方式、中断方式和DMA方式中,分别用什么方法启动数据传输过程?

[答案] 在查询方式下,是通过程序来检测接口中状态寄存器中的"准备好"(READY)位,以确定当前是否可以进行数据传输的;在中断方式下,当接口中已经有数据要往CPU输入或者准备好接收数据时,接口会向CPU发一个外部中断请求,CPU在得到中断请求后,如果响应中断,便通过运行中断处理程序来实现输入/输出;在DMA方式下,外设要求传输数据时,接口会向DMA控制器发DMA请求信号,DMA控制器转而往CPU发送一个总线请求信号,以请求得到总线控制权,如果得到DMA允许,那么,就可以在没有CPU参预的情况下实现DMA传输。

第六章

1、接口部件为什么需要有寻址功能?如果要进一步对接口中的寄存器进行寻址,应该怎样实现?

[解答]首先,接口要对选择存储器和I/O的信号能够做出解释;此外,要对送来的片选信号进行识别,以便判断当前接口是否被访问,如果受到访问,还要决定是接口中哪个寄存器受到访问。用A0和读、写信号配合可进一步寻址接口中的寄存器。

2、从广义上说接口部件有哪些功能?

[解答]从广义的角度概括出来的接口的功能如下: ①寻址功能; ②输入/输出功能; ③数据转换功能; ④联络功能; ⑤中断管理功能; ⑥复位功能; ⑦可编程功能; ⑧错误检测功能。

3、接口部件和总路线之间一般有哪些部件?它们分别完成什么功能?

[解答]为了支持接口逻辑,系统中通常有总线收发器和相应的逻辑电路.逻辑电路把相应的控制信号翻译成联络信号.对于比较小的系统来说,可以省去总线收发器,因为主要的接口部件内部都带有总线驱动电路,其驱动能力已足够.系统中还必须有地址译码器,以便将总线提供的地址翻译成对接口的片选信号.典型的外部逻辑电路应能接收CPU送来的读/写信号,以便决定数据传输方向.地址译码器除了接收地址信号外,还应该把CPU提供的用来区分I/O

地址空间和内存地址空间的信号用于译码过程。

4、为什么串行接口部件中的4个寄存器可以只用1位地址来进行区分?

[解答]复位后第一次用奇地址端口写入的值送模式寄存器;然后写入同步字符;然后写控制字。读奇地址则读状态寄存器。所以奇地址对应模式、控制、状态寄存器,通过读写信号和时序来区分。偶地址对应数据输入、输出缓冲器,通过读写信号来区分。

5、在数据通信系统中,什么情况下可以采用全双工方式,什么情况下可用半双工方式?[解答]如果一个数据通信系统中,对数据的两个传输方向采用不同的路这样的系统就可以工作在全双工方式。对于只进行单方向数据传输的外部设备时,故用半双工就能满足。

6、什么叫同步通信方式?什么叫异步通信方式?它们各有什么优缺点?

[解答]同步通信,即交许多字符组成一个信息组,字符一个接一个地传输,每组信息的开始要加上同步字符,没有信息传输出时,要填上空字符,同步通信不允许有间隙。异步通信,两个字符之间的传输间隔是任意的,每个字符的前后都要用一些数位来作为分隔位。比较起来,在传输率相同时,同步通信方式下的住处有效率要比比方式下的高,因为同步方式下的的非数据信息比例要较小。但是,在同步方式下,要求进行信息传输双方必须用同一个时间进行协调,在传输数据的同时,还必须传输时钟信号。而在异步方式下,接收方的时钟频率和发送方的时钟频率不必完全一样。

7、什么叫波特率因子?什么叫波特率?设波特率因子为64,波特率为1200,那么时钟频

率为多少?

[解答]发送时钟与接收时钟的频率与位传输率的比称为波特率因子,而位传输率称为波特率。时钟频率为76800HZ

8、标准波特率系列指什么?

[解答]标准波特率系列为110,300,600,1200,1800,2400,9600,19200

9、设异步传输时,每个字符对应1个超始位、7个信息位、1个奇/偶校验位和1个停止位,如果波特率为9600,则每秒能传输的最大字符数为多少个?

[解答]即9600/10=960个

10、8251A内部有哪些功能模块?其中读/写控制逻辑电路的主要功能是什么?

[解答] 8251A有一个数据输入缓冲寄存器和一个数据输出缓冲寄存器,一个发送移位寄存器和一个接受移位寄存器,一个控制寄存器和一个状态寄存器,一个模式寄存器和两个同步字符寄存器等功能模块。读/写控制逻辑电路用来配合数据总线缓冲器中工作。其主要功能有:

1)接受写信号WR,并将来自数据总线的数据和控制字写入8251A;

2)接受读信号RD,并将数据或状态字从8251A送往数据总线;

3)接受控制/数据信号C/D,将此信号和读/写信号合起来通知8251A,当前读/写的是数据还是控制字、状态字;

4)接受时钟信号CLK,完成8251A的内部定时;

5)接受复位信号RESET,使8251A处于空闲状态。

11、什么叫异步工作方式?画出异步工作方式时8251A的TxD和RxD线上的数据格式。[解答]串行工作方式分为两种类型,一种叫同步方式,另一种叫异步方式。异步工作方式时,两个字符之间的传输间隔是任意的,所以,每个字符的前后都要用一些数位来作为分隔位。在采用异步工作方式时,非数据信息比例比较大,而且,信息有效率比同步方式低,在异步方式下,接收方的时钟频率和发送方的时钟频率不必完全一样,而只要比较像近,即不超过一定的允许范围就行了。异步方式时的数据格式图见课本233页图6.7。

12、什么叫同步工作方式?什么叫双同步字符方式?外同步和内同步有什么区别?画出双同

步工作时8251A的TxD线和RxD线上的数据格式。

[解答]串行工作方式分为两种类型,一种叫同步方式,另一种叫异步方式。同步方式时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为信息帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步方式下,非数据信息比例比较小,要求进行信息传输的双方必须用同一个时钟进行协调,正是这个时钟确定了同步串行传输过程中每1位的位置,而且,在传输数据的同时,还必须传输时钟信号。

双同步方式,就是要在测得输入移位寄存器的内容和第一个同步字符寄存器的内容相同后,再继续检测此后的输入移位寄存器的内容是否与第二个同步字符寄存器的内容相同,如果不同,则重新比较输入移位寄存器和第一个同步字符寄存器的内容,如果相同,则认为同步已经实现。

外同步和内同步的区别:在外同步情况下,和内同步过程有所不同,因为这时是通过在同步输入端SYNDET加一个高电位实现同步的,SYNDET端一出现高电平,8251A就会立刻脱离对同步字符的搜索过程,只要此高电位维持一个接收时钟周期,8251A便认为已经完成同步。同步方式时的数据格式图见课本234页图6.8。

13、8251A和CPU之间有哪些连接信号?其中C/D和RD、WR如何结合起来完成对命令、数据的写入和状态、数据的读出?

[解答] 8251A和CPU之间的连接信号可以分为4类:

1)片选信号:CS——片选信号CS是CPU的地址信号通过译码后得到的。

2)数据信号:D7-D0——8251A有8根数据线D7-D0,通过它们,8251A与系统的数据总线相连。

3)读/写控制信号:RD——读信号RD为低电平时,用来通知8251A,CPU当前正在从8251A读取数据或则状态信息;

WR——写信号WR为低电平时,用来通知8251A,CPU当前正在往8251A写入数据或则控制信息;

C/D——控制/数据信号C/D 也是CPU送往8251A的信号,用来区分当前读/写的是数据还是控制信息或状态信息。

4)收发联络信号:TxRDY——发送器准备好信号TxRDY用来告诉CPU,8251A已经准备好一个字符。

TxE——发送器空信号TxE为高电平时有效,用来表示此时8251A发送器中并行到串行转换器空,它实际上指示一个发送动作的完成。

RxRDY——接受器准备好信号RxRDY用来表示当前8251A已经从外部设备或调制解调器接受到一个字符,正等待CPU取走

SYNDET——同步检测信号SYNDET只用于同步方式。

其中C/D和RD、WR结合起来完成对命令、数据的写入和状态、数据的读出,C/D,WR,RD 这3个信号和读/写操作之间的关系图见课本235表6.2。

8251A只有两个连续的端口地址,数据输入端口和数据输出端口合用一个偶地址,而状态端口和控制端口合用一个奇地址。当C/D为低电平时,正好选中了偶地址端口,再与RD或WR 配合,便实现了数据的读/写,当A1为高电平时,正好选中了奇地址端口,再与RD或WR

配合,便实现了状态信息的读取和控制信息的写入。

14、8086/8088系统中,8251A的C/D端应当和哪个信号相连,以便实现状态端口、数据端口、控制端口的读/写?

[解答]在8086/808系统中,8251A的C/D端应与地址线A1相连接。在086/808系统中,利用地址线A1来区分奇地址端口和偶地址端口,于是,当A1为低电平时,C/D端也是低电平,正好选中了偶地址端口,再与RD或WR配合,便实现了数据的读/写,当A1为高电平时,C/D端也是高电平,正好选中了奇地址端口,再与RD或WR配合,便实现了状态信息的读取和控制信息的写入,这样,地址线A1的电平变化正好符合了8251A对C/D端的信号要求。

15、8251A和外设之间有哪些连接信号?

[解答] 8251A与外部设备之间的连接信号分为两类,具体如下:

(1)收发联络信号:

DTR--数据终端准备好信号是由DTR8251A送往外设的,CPU通过命令可以使DTR变为低电平即有效电平,从而通知外部设备,CPU当前已经准备就绪;

DSR--数据终端准备好信号DTR是外设送往8251A的,低电平时有效,它用来表示当前外设已经准备好。当DSR端出现低电平时,会在8251A的状态寄存器第7位上反映出来,所以,CPU通过对状态寄存器的读取操作,便可以实现对DSR线号的检测。RTS--请求发送信号RTS 是8251A送往外设的,低电平有效,CPU可以通过编程命令使RTS变为有效电平,以表示CPU 已经准备好发送。

CTS--清除请求发送信号CTS是对RTS的响应信号,它是由外设送往8251A的,当CTS为低电平时,8251A才能执行发送操作。

(2)数据信号:

TxD--发送器数据信号端TxD用来输出数据。CPU送往8251A的并行数据被转变为串行数据

后,通过TxD送往外设。

RxD--接收器数据信号端RxD用来接收外设送来的串行数据,数据进入8251A后被转变为并行方式。

16、为什么8251A要提供DTR,DSR,RTS,CTS四个信号作为和外设的联络信号?平常使用时是否可以只用其中两个或者全部不用?要特别注意什么?说明CTS端的连接方法。

[解答]实际上,这4个信号是提供给cpu外设联络用的。我们知道,cpu和外设不能直接相连的,cpu对外设的控制信号和外设给cpu的状态信号都不能在cpu和外设间直接传输,只能通过接口传递,8251A正是通过这4个信号起联络作用的。其中DTR和RTS是CPU通过8251A送给外设的,CPU通过软件对控制寄存器中的DTR和RTS位置1就可以使8251A的DTR 引腿和DTS引腿输出有效电平,所以,DTR和DTS是对外设的控制信号。

DSR和CTS是外设通过8251A传递给的状态信号,当外设和端相连时,往此引脚上送一个低电平,就会影响状态寄存器的DSR位,而可通过软件对DSR位检测,CTS端的低电平为低还是为高则会影响端的电平,而正是8250A送给CPI的一个状态信号,所以,CTS也起到将外设状态通知的联络作用。

平时使用时,可以只用其中两个或全部都不用。当外设不要求有联络信号时,只要将CTS

接地即可;当外设只要一对联络信号时,可以选其中任一组,既可是DTR和DSR,也可用RTS 和CTS,不过仍要满足使CTS在某个时候得到低电平;只有当某个外设要求的联络信号比较多时,才有必要将4个信号都用上。特别要注意的是CTS必须为低电平,其他三给信号的引腿可以悬空起来不用。这就是说,即使和外设间不需要任何传递信号,也要将CTS端接地使它处于有效电平。原因很简单,因为只有CTS当为低电平时,TRDY才能使为高电平,而只有当TRDY为高电平时,才能往8251A发送数据。

17、8086系统中采取什么措施来实现8位接口芯片和低8位数据线的连接且满足对奇/偶端口地址的读/写?这样做的道理是什么?

[解答]将地址总线的最低位A0不连接到8251A这样的接口芯片上,而是将地址次地位A1做为地址最低位来用就行了。在这种情况下,如果CPU这边给出连续的两个偶地址,到8251A 这边,由于地址次地位作为地址最低位来用,相当与将CPU给出的地址除以2,而两个连续的偶地址中,必定有一个能被4整除,另一个不能被4整除,于是,两个偶地址分别除以2后,就变成了一奇一偶两个地址。这样一来,从CPU这边来说,端口地址都是偶地址,所以,传递信息时,信息总是出现在低8位数据线上;而从端口这边来说,端口地址中既有奇地址,也有偶地址,而且是连续的,这正好满足许多接口芯片对端口地址的要求。

18、8251A的模式字格式如何?参照教材上给定格式编写如下模式字:异步方式,1个停止位,偶校验,7个数据位,波特率因子为16。

[解答]对8251A进行初始化时,模式字是按照模式寄存器的格式来设置的,8251A工作在同步模式和异步模式两种情况下。当模式寄存器的最低两位为0时,8251A便进入同步模式,此时,最高位决定了同步字符的数目;如果模式寄存器的两个最低位不全为0,则8251A就进入异步模式。模式寄存器的格式见课本240页如1-a,1-b图所示:按题意编写的模式字为:01111010。

19、8251A控制字的格式如何?参照教材上列出的格式给出如下控制字:发送允许,接收允许,DTR端输出低电平,TxD端发送空白字符,RTS端输出低电平,内部不复位,出错标志复位。

[解答]对8251A进行初始化时,控制字是按照控制寄存器的格式写入的。控制寄存器的格式如P241图6.12所示。按题意编写的控制字为:00111111

20、8251A状态字格式如何?哪几位和引腿信号有关?状态位TxRDY和引腿信号TxRDY 有何区别?它们在系统设计中有什么用处?

[解答]状态字是放在状态寄存器中的,状态寄存器的格式如P242图6.13所示:状态寄存器的1、2、6位分别与8251A引脚RxRDY,TxE,SYNDET上的信号有关。状态位TxRDY和引脚信号TxRDY上的信号不同,状态位TxRDY不受输出信号CTS和控制位TxEN的影响。而引脚TxRDY必须在数据缓冲区为空,CTS为低电平且TxEN为高电平时,才为1,即TxRDY为1的条件:数据缓冲区空*CTS*TxEN=1。状态位RxRDY为1指出接口中已经接受到一个字符,当前正准备好输入到CPU。不管是TxRDY还是RxRDY状态位,都可以在程序设计时加以使用,来实现对8251A数据发送过程和接受过程的测试。当然,也可以对引脚TxRDY和RxRDY上的信号加以利用,实际使用中,这两个信号常常作为外设对CPU的中断请求信号。当CPU往8251A输出一个字符以后,状态位TxRDY会自动清零,与此类似的,当CPU从8251A输入一个字符时,状态位RxRDY会自动清零。、

21、并行通信和串行通信各有什么优缺点?

[解答]并行通信就是把一个字符的各数位用几条线同时进行传输。优点:与串行通信相比,在同样的传输率下,并行通信的信息实际传输速度快,信息率高。缺点:并行通信的高速度是以通信线路复杂且成本高为代价,当通信距离较远,位数又多时更是如此。串行通信就是指通信的发送方和接收方之间的数据在单根通信线上逐位顺序传送。优点:线路简单(只需一对传输线),特别是可以利用已有的电话网,在任何两点通电话的设备之间配置适当的通信接口便可实现计算机之间的远程通信。缺点:传输速度比并行通信慢得多。

5、8255A的3个端口在使用时有什么差别?

[解答](1)端口A对应1个8位数据输入锁存器和1个8位数据输出锁存器/缓冲器。所以,用端口A作为输入或输出时,数据均受到锁存。(2)端口B对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。(3)端口C对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。这样,当端口C作为输入端口时,对数据不做锁存,而作为输出端口是,对数据进行锁存。在使用中,端口A和端口B常常作为独立的输入端口或输出端口,端口C则配合端口A和端口B的工作。具体的讲,端口C常常通过控制命令被分成2个4位端口,每个4位端口包含1个4位的输入缓冲器和1个4位的输出锁存器/缓冲器,它们分别用来位端口A和端口B提供控制信号和状态信号。

6、当数据从8255A的端口C往数据总路线上读出时,8255A的几个控制信号CS、A1、A0、RD、WR分别是什么?

[解答] CS 0、A1 1、A0 0、RD 1 、WR 0。

7、8255A的方式选择控制字和置1/置0控制字都是写入控制端口的,那么,它们是由什么来区分的?

[解答]当8255A接收到写入控制口的控制字时,就会对最高位即标志位进行测试。如为1,则将此字节作为方式选择控制字写入控制寄存器;如为0,则此字节作为对端口C的置1/置0控制来处理。

8、8255A有哪几种工作方式?对这些工作方式有什么规定?

[解答] 8255A有三种工作方式:它们分别是:方式0,方式1,方式2;

(1)方式0的工作特点为:(1)任何一个端口可作为输入口,也可作为输出口,各端口之间没有规定必然的联系。(2)各个端口的输入输出,可以有16种不同的组合,所以可以适用于多种使用场合。

对方式0工作方式的规定如下:只能在同步传输和查询式传输中使用。

(2)方式1的工作特点:(1)端口A和端口B可分别作为两个数据口工作在方式1,并且,任何一个端口可作为输入口或输出口。(2)如果8225A的端口A和端口B中只有一个端口工作在方式1,那么,端口C中就有3位被规定为配合方式1工作信号,此时,另一个端口可以工作在方式0,端口C中其他数位也可以工作在方式0,即作为输入或输出。