【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《微型计算机技术及应用(第四版)习题解答》,欢迎阅读!
微型计算机技术及应用习题解答
微型计算机技术及应用习题解答
第一章 微型计算机概述
1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?
答:① 微处理器是微型计算机的核心,是微型计算机的一部分。它是集
成在一块芯片上的CPU,由运算器和控制器组成。 ② 微型计算机包括微处理器、存储器、I/O接口和系统总线,是微型计算机系统的主体。
③ 微型计算机系统包括微型计算机、外设及系统软件三部分。 1.2
CPU在内部结构上由哪几部分组成?CPU应具备哪些主要功能? 答:1.CPU在内部结构上由以下几部分组成:
① 算术逻辑部件(ALU); ② 累加器和通用寄存器组; ③ 程序计数器(指令指针)、指令寄存器和译码器; ④ 时序和控制部件。
2.CPU应具备以下主要功能: ① 可以进行算术和逻辑运算; ② 可保存少量数据; ③ 能对指令进行译码并执行规定的动作; ④ 能和存储器、外设交换数据; ⑤ 提供整个系统所需要的定时和控制; ⑥ 可以响应其他部件发来的中断请求。 累加器和其他通用寄存器相比,有何不同?
答:许多指令的执行过程以累加器为中心;输入/输出指令一般也以累加器
来完成。 微处理器的控制信号有哪两类?
答:一类是通过对指令的译码,由CPU内部产生的。这些信号由CPU送
到存储器、I/O接口电路和其他部件。另一类是微型机系统的其他部件送到CPU的。通常用来向CPU发出请求。如中断请求、总线请求等。 微型计算机采用总线结构有什么优点?
答:首先是系统中各功能部件之间的相互关系变为各个部件面向总线的单
一关系。其次是一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中,使系统功能得到扩充。 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么,要靠什么来区分地址或数据?
答:1.数据总线是双向三态;地址总线是单向输出三态。
2.数据和地址复用时,必须有一个地址选通信号来区分该总线上输出的是地址还是数据。 控制总线传输的信号大致有哪几种?
答:包括CPU送往存储器和I/O接口的控制信号,如读信号、写信号、中
1
1.3
1.4
1.5
1.6
1.7
微型计算机技术及应用习题解答
断响应信号、存储器和I/O接口区分信号等。还包括其他部件送到CPU的信号,如时钟信号、中断请求信号、准备就绪信号等。
第二章 8086微处理器 2.1
总线接口部件有哪些功能?请逐一进行说明。
答:1.总线接口部件的功能是负责与存储器、I/O端口传送数据。
2.具体讲:① 总线接口部件要从内存取指令送到指令队列;
② CPU执行指令时,总线接口部件要配合执行部件从指定
的内存单元或者外设端口中取数据,将数据传送给执行部件,或者把执行部件的操作结果传送到指定的内存单元或外设端口中。 8086的总线接口部件由哪几部分组成?
答:4个段地址寄存器CS、DS、ES、SS;16位的指令指针寄存器IP;20
位的地址加法器;6字节的指令队列。 段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 答:1.该指令的物理地址=CS×10H+IP=21F00H。
2.指向这一物理地址的CS值和IP值不是唯一的。 8086的执行部件有什么功能?由哪几部分组成? 答:1.8086的执行部件的功能是负责指令的执行。
2.4个通用寄存器AX、BX、CX、DX;4个专用寄存器BP、SP、SI、DI;标志寄存器FLAGS和算术逻辑单元ALU。 状态标志和控制标志有何不同?程序中是怎样利用这两类标志的?8086的状态标志和控制标志分别有哪些?
答:1.不同之处在于:状态标志由前面指令执行操作的结果对状态标志产
生影响,即前面指令执行操作的结果决定状态标志的值。控制标志是人为设置的。
2.利用状态标志可进行计算和判断等操作。利用控制标志可对某一种特定功能(如单步操作、可屏蔽中断、串操作指令运行的方向)起控制作用。
3.8086的状态标志有:SF、ZF、PF、CF、AF和OF计6个。 8086的控制标志有:DF、IF、TF计3个。 8086/8088和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?
答:1.传统的计算机在执行指令时,指令的提取和执行是串行进行的。
8086/8088 CPU的总线接口部件和执行部件在提取和执行指令时是并行同时工作的。
2.8086/8088 CPU的设计思想有力地提高了CPU的工作效率,这也正是8086/8088成功的原因之一。 总线周期的含义是什么?8086/8088的基本总线周期由几个时钟组成?如
2
2.2
2.3
2.4
2.5
2.6
2.7
微型计算机技术及应用习题解答
一个CPU的时钟频率为24MHz,那么,它的一个时钟周期为多少?一个基本总线周期为多少?如主频为15MHz呢?
答:1.总线周期的含义是总线接口部件完成一个取指令或传送数据的完整操
作所需的最少时钟周期数。
2.8086/8088的基本总线周期由4个时钟周期组成。
3.当主频为24MHz时,Tφ=1/24MHz≈41.7ns,T总=4Tφ≈167ns。 4.当主频为15MHz时,Tφ=1/15MHz≈66.7ns,T总=4Tφ≈267ns。 2.8
在总线周期的T1、T2、T3、T4状态,CPU分别执行什么动作?什么情况下需要插入等待状态TW?TW在哪儿插入?怎样插入?
答:1.在总线周期的T1、T2、T3、T4状态,CPU分别执行下列动作:
① T1状态:CPU往多路复用总线上发出地址信息,以指出要寻找的存储单元或外设端口的地址。 ② T2状态:CPU从总线上撤销地址,而使总线的低16位浮置成高阻状态,为传输数据做准备。总线的高4位(A19~A16)用来输出本总线周期的状态信息。 ③ T3状态:多路总线的高4位继续提供状态信息。低16位(8088为低8位)上出现由CPU写出的数据或者CPU从存储器或端口读入的数据。 ④ T4状态:总线周期结束。
2.当被写入数据或者被读取数据的外设或存储器不能及时地配合CPU传送数据。这时,外设或存储器会通过“READY”信号线在T3状态启动之前向CPU发一个“数据未准备好的信号”,于是CPU会在T3之后插入一个或多个附加的时钟周期TW。 3.TW插在T3状态之后,紧挨着T3状态。
4.插入的TW状态时的总线上的信息情况和T3状态的信息情况一样。当CPU收到存储器或外设完成数据传送时发出的“准备好”信号时,会自动脱离TW状态而进入T4状态。 从引腿信号上看,8086和8088有什么区别?
答:① 8086有16根数据/地址复用总线,8088只有8根,称AD7~AD0。
② 8086的第28腿为M/IO,8088的第28腿为M/IO(为兼容8080等)。 ③ 8086的第34腿为BHE/S7,8088的第34腿为SS0。
2.10 在对存储器和I/O设备读写时,要用到IOR、IOW、MR、MW信号,这些
M/IO
2.9
IOR
M/IO
IOW
M/IO
MR
M/IO
MW
信号在最大模式和最小模式时分别可用怎样的电路得到?请画出示意图。 答:1.最小模式(以8086为例):
2.最大模式:用8288总线控制器来实现。
3
微型计算机技术及应用习题解答
2.11 CPU启动时,有哪些特征?如何寻找8086/8088系统的启动程序?
答:1.CPU启动时,有以下特征:
① 内部寄存器等置为初值; ② 禁止中断(可屏蔽中断); ③ 从FFFF0H开始执行程序; ④ 三态总线处于高阻状态。
2.8086/8088系统的启动程序从FFFF0H单元开始的无条件转移指令转入执行。 2.12 CPU在8086的微机系统中,为什么常用AD0作为低8位数据的选通信号?
答:因为每当CPU和偶地址单元或偶地址端口交换数据时,在T1状态,
AD0引腿传送的地址信号必定为低电平。而CPU的传输特性决定了只要是和偶地址单元或偶地址端口交换数据,则CPU必定通过总线低8位即AD7~AD0传输数据。可见AD0可以用来作为接于数据总线低8位上的8位外设接口芯片的选通信号。 2.13 8086和8088在最大模式或最小模式时,引腿信号分别有什么不同? 答:在此两种模式中,只有第24~31腿的信号不同。 引腿24 25 26 27 28 29 30 31 号
最小INTA ALE DEN HLDA HOLD WR
IODT/R M/
模式信号
最大QS1 QS0 LOCK
RQ/GTRQ/GT0 S0 S2 S1 1 模式
信号
另外8088的第34腿在最大模式时为高电平,最小模式时为SS0状态
信号。8088的第28腿在最小模式时为M/IO信号。
2.14 8086和8088是怎样解决地址线和数据线的复用问题的?ALE信号何时处
于有效电平?
答:1.在总线周期的T1状态,复用总线用来输出要访问的存储器或I/O端
口的地址给地址锁存器8282(3片)锁存;在其他状态为传送数据或作传送准备。地址锁存器8282在收到CPU发出的地址锁存允许信号ALE后,锁存地址。
2.ALE信号在每个总线周期的T1状态为有效高电平。 2.15 BHE信号和A0信号是通过怎样的组合解决存储器和外设端口的读/写的?
这种组合决定了8086系统中存储器偶地址体及奇地址体之间应该用什么信号来区分?怎样区分? 答:1.组合情况如下:
操 作 所用的数据引BHE A0
腿
0 0 从偶地址开始读/写一个字 AD15~AD0 1 0 从偶地址单元或端口读/写一个字节 AD7~AD0
4
微型计算机技术及应用习题解答
从奇地址单元或端口读/写一个字节 AD15~AD8 从奇地址开始读/写一个字(在第一AD15~AD8 个总线周期,将低8位数送AD7~AD0 AD15~AD8, 在第二个总线周期,将高8位数送AD7~AD0)
2.用A0信号来区分偶地址体和奇地址体。
3.当A0=0时选中偶地址体,A0=1时选中奇地址体。
2.16 RESET信号来到后,CPU的状态有哪些特点?
答:复位信号来到后,CPU便结束当前操作,并对处理器标志寄存器FR、
IP、DS、SS、ES、其他寄存器及指令队列清0,而将CS设置为FFFFH。当复位信号变为低电平后,CPU从FFFF0H单元开始执行程序。 2.17 在中断响应过程中,8086往8259A发的两个INTA信号分别起什么作用?
答:第一个负脉冲通知外部设备的接口,它发出的中断请求已经得到允许;
外设接口收到第二个负脉冲后,往数据总线上放中断类型码,从而CPU得到了有关此中断请求的详尽信息。 2.18 总线保持过程是怎样产生和结束的?画出时序图。
答:1.当系统中CPU之外的另一个主模块要求占用总线时,通过HOLD引
腿向CPU发一个高电平的请求信号。如果CPU此时允许让出总线,就在当前总线周期完成时,于T4状态从HLDA引腿发出一个应答信号,对刚才的HOLD请求做出响应。同时,CPU使地址/数据总线和控制状态线处于浮空状态。总线请求部件收到HLDA信号后,就获得了总线控制权,在此后一段时间,HOLD和HLDA都保持高电平。在总线占有部件用完总线之后,会把HOLD信号变为低电平,表示现在放弃对总线的占有。8086/8088收到低电平的HOLD信号后,也将HLDA变为低电平,这样,CPU又获得了地址/数据总线和控制状态线的占有权。
T4/TI
0 0 1 1 1 0
采样
CLK HOLD HLDA 三态引腿
高阻
采样
2.时序图为:
2.19 8086系统在最小模式时应该怎样配置?请画出这种配置并标出主要信号的
连接关系。
答:1.8086系统在最小模式时的配置是:8086CPU一片,8284A时钟发生
器一片,8282地址锁存器三片,8286总线收发器二片。 2.连接关系为:
5
RESET READY
8284A
CLK RESET
8282 (3片)
BHE
微型计算机技术及应用习题解答
2.20 时钟发生器的功能是什么?画出它的线路图。
答:1.时钟发生器的功能是:提供频率恒定占空比符合标准的时钟信号,
对准备好(READY)和复位(RESET)信号进行同步。 2.线路图见书21页图2.7所示。 2.21 8086在最大模式下应当怎样配置?最大模式时为什么一定要用总线控制
器?总线控制器的输入信号是什么?输出信号是什么?
答:1.8086在最大模式下的配置是:8086CPU一片,8284A时钟发生器一
片,8282地址锁存器三片,8286总线收发器二片,8288总线控制器一片,8259A中断优先级管理部件一片。
2.因为在最大模式下,需要用外加电路来对CPU发出的控制信号进行变换和组合,以得到对存储器和I/O端口的读/写信号和对锁存器8282及总线收发器8286的控制信号。8288总线控制器就是完成上述这些功能的专用芯片。所以必须用总线控制器。
3.总线控制器的输入信号是:来自CPU的S2、S1、S0状态信息,时钟CLK信号,及决定本身工作方式的信号IOB、AEN、CEN。 4.总线控制器的输出信号是:用来作为CPU进行中断响应的信号
INTA,两组读/写控制信号MRDC、MWTC、IORC、IOWC,两个提
前的写控制信号AMWC、AIOWC,送给地址锁存器的信号ALE,送给数据收发器的信号DEN和DT/R。
2.22 在编写程序时,为什么通常总要用开放中断指令来设置中断允许标志?
答:因为在复位时,标志寄存器FR被清0,则IF=0,禁止从INTR进入
的可屏蔽中断,所以必须在编写程序时,用指令来设置中断允许标志。 2.23 T1状态下,数据/地址复用总线上是什么信息?用哪个信号将此信息锁存起
6
微型计算机技术及应用习题解答
来?数据信息是在什么时候给出的?用时序图表示出来。 答:1.T1状态下,数据/地址复用总线上是地址信息。
2.用ALE信号的下降沿将此地址信息锁存在三片8282中。 3.数据信息的给出时间分两种:
① 总线读周期时,数据信息在T3、TW、T4中间给出; ② 总线写周期时,数据信息在T2、T3、TW、T4中间给出。 4.时序图如下:
T1 T2 T3 TW T4 CLK
A16/S3 地址 状态 输出 AD15~AD0 地址 数据 输出 AD15~AD0
ALE 地址 数 据输 入
BHE/S7
BHE 输出
2.24 画出8086最小模式时的读周期时序。
答:见书27页图2.11所示。
2.25 8086最多可有多少个中断?按照产生中断的方法分为哪两大类?
答:1.8086最多可有256个中断。
2.按照产生中断的方法分为硬件中断和软件中断两大类。 2.26 非屏蔽中断有什么特点?可屏蔽中断有什么特点?分别用在什么场合?
答:1.非屏蔽中断的特点有:中断请求从NMI引腿进入,不受中断允许标
志IF的影响。非屏蔽中断只有一个,其中断类型码为2。
2.可屏蔽中断的特点有:中断请求从INTR引腿进入,只有在IF=1时CPU才响应该中断。可屏蔽中断有若干个,其中断类型码可以是5~255。
3.非屏蔽中断用来处理系统的重大故障,如掉电等。可屏蔽中断用在一般外部设备申请的中断中。 2.27 什么叫中断向量?它放在那里?对应于1CH的中断向量存放在哪里?如
果1CH的中断处理子程序从5110H:2030H开始,则中断向量应怎样存放? 答:1.中断处理子程序的入口地址就是中断向量。
2.中断向量放在0段的0~3FFH区域的中断向量表中。
3.对应于类型号为1CH的中断向量应放在00070~00073H的4个单元中。
4.若1CH的中断向量为5110H:2030H,则中断向量的存放方法为:00070H存放30H,00071H存放20H (IP);00072H存放10H,00073H
7
A19/S6~
微型计算机技术及应用习题解答
存放51H (CS)。
2.28 从8086/8088的中断向量表中可以看到,如果一个用户想定义某个中断,
应该选择在什么范围?
答:应该选择在中断类型码为32(20H)~255(FFH)范围。 2.29 非屏蔽中断处理程序的入口地址怎样寻找?
答:CPU在响应NMI引腿的中断请求时,CPU并不需要从中断类型码计
算中断向量的地址,而是直接从中断向量表中读取00008~0000BH这4个单元对应于中断类型2的中断向量就行了。CPU将00008H、00009H两个单元的内容装入IP,而将0000AH、0000BH两个单元的内容装入CS,于是就转入了对非屏蔽中断处理程序的执行。 2.30 叙述可屏蔽中断的响应过程,一个可屏蔽中断或者非屏蔽中断响应后,堆
栈顶部四个单元中为什么内容?
答:首先在CPU的INTR引腿上有可屏蔽中断请求输入,且IF=1。在当前
指令执行完后,CPU发两个INTA中断响应负脉冲,外设接到第二个负脉冲后,立即往数据线上给CPU送来中断类型码。然后CPU取中断类型码,将标志FR推入堆栈,清除IF和TF,再将CS和IP推入堆栈来保护断点,进入中断处理子程序并执行,最后弹出IP和CS及标志而中断返回。中断响应后,堆栈顶部四个单元的内容分别是:IPL、IPH、CSL、CSH。
2.31 一个可屏蔽中断请求来到时,通常只要中断允许标志为1,便可在执行完
当前指令后响应,在哪些情况下有例外?
答:1.正好遇到CPU执行封锁指令时,必须等下一条指令执行完后才响应
中断。
2.正好执行往段寄存器传送数据的指令,必须等下一条指令执行完后才响应中断。
3.执行WAIT或串操作指令时,可在指令执行中响应中断。 2.32 在对堆栈指针进行修改时,要特别注意什么问题?为什么?
答:1.必须先修改堆栈段寄存器SS的值,接着修改堆栈指针SP的值。
2.因为,CPU在修改段寄存器值时不响应中断,待下一条指令执行后才响应中断。这样对SS、SP的修改是一个完整的过程。否则先修改SP后修改SS则可能中断响应而分开修改,导致堆栈指针的错误,因此CS、IP、FR进入错误的堆栈区域而破坏该单元的数据或程序。 2.33 在编写中断处理子程序时,为什么要在子程序中保护许多寄存器?有些寄
存器即使在中断处理子程序中并没有用到也需要保护,这又是为什么(联系串操作指令执行时遇到中断这种情况来回答)?
答:1.因为中断处理子程序运行时需要使用CPU内部的寄存器,这些寄存
器的值发生了改变。因此若不加保护在返回原程序时就修改了断点处的现场,而使程序不能正常运行。
2.因为串操作指令允许在执行过程中进入中断,若与串操作有关的寄存器未保护好,中断返回时串操作指令就不能正常继续运行。而且
8
微型计算机技术及应用习题解答
还有隐含寻址问题。
2.34 一个可屏蔽中断响应时,CPU要执行哪些读/写周期?对一个软件中断又如
何?
答:1.对可屏蔽中断响应,CPU要执行的读/写周期如下:
① 执行两个中断响应总线周期。并取得中断类型码。 ② 执行一个总线写周期。标志寄存器FR值入栈。 ③ 执行一个总线写周期。CS值入栈。 ④ 执行一个总线写周期。IP值入栈。
⑤ 执行一个总线读周期。读取中断处理子程序入口地址的偏移量→
IP。
⑥ 执行一个总线读周期。读取中断处理子程序入口地址的段地址→
CS。
2.若是一个软件中断,则跳过上述第①步,而执行②~⑥步。 2.35 中断处理子程序在结构上一般是怎样一种模式?
答:① 保护中断时的现场,即保护CPU各寄存器的值。
② 一般应置IF=1来开放中断,以允许级别较高的中断请求进入。 ③ 中断处理的具体内容。 ④ 恢复中断时的现场。 ⑤ 中断返回指令。 2.36 软件中断有哪些特点?在中断处理子程序和主程序的关系上,软件中断和
硬件中断有什么不同之处? 答:1.软件中断有如下特点:
① 用一条中断指令进入中断处理子程序,并且,中断类型码由指令
提供。
② 进入中断时,不需要执行中断响应总线周期。 ③ 不受中断允许标志IF的影响。 ④ 软件中断的优先级最高。 ⑤ 软件中断没有随机性。
2.软件中断允许在主程序和中断处理子程序之间传递数据。而硬件中断由于是随机的,所以不能传递数据。 2.37 系统中有多个总线模块时,在最大模式和最小模式下分别用什么方式来传
递总线控制权?
答:1.8086/8088在最小模式下用总线控制联络信号(HOLD和HLDA)来传
递总线控制权。
2.8086/8088在最大模式下用总线请求/总线允许信号及释放信号
RQ/GT0和RQ/GT1来传递总线控制权。
2.38 8086存储空间最大为多少?怎样用16位寄存器实现对20位地址的寻址?
答:1.8086存储空间最大为220=1MB。
2.采用分段的方法实现16位寄存器实现对20位地址的寻址。
物理地址=段基址×10H+偏移地址
9
微型计算机技术及应用习题解答
2.39 IBM PC/XT系统中,哪个区域为显示缓冲区?哪个区域用来存放中断向
量?在FFFF0H到FFFFFH单元中存放什么内容?
答:1.B0000H~B0F9FH约4KB为单色显示器的显示缓冲区;
B8000~BBF3FH约16KB为彩色显示器的显示缓冲区。 2.00000H~003FFH共1KB区域用来存放中断向量。
3.在FFFF0H到FFFFFH单元中存放一条无条件转移指令,转到系统的初始化程序。
第三章 8086的寻址方式和指令系统 略 第四章 存储器和高速缓存技术 4.1
计算机的内存有什么特点?内存由哪两部分组成?外存一般指哪些设备?外存有什么特点?
答:1.内存可被CPU直接访问,内存的存取速度快,内存的空间大小受到
地址总线位数的限制。
2.内存由ROM和RAM两部分组成。
3.外存一般指软盘、硬盘、磁带机上的磁带及光盘。
4.外存的特点是大容量,所存信息即可修改,又可长期保存。但外存速度慢,要配置专用设备。 用存储器件组成内存时,为什么总是采用矩阵形式?请用一个具体例子进行说明。
答:1.为了简化选择内存内部单元的地址译码电路及减少译码线数量。
2.例如,要组成1K字节的内存,若不用矩阵组织这些单元,而是将它们一字排开,就要1024条译码线才能实现对这些单元的寻址。译码电路也因此而很复杂。若用32×32来实现排列,就只要32条行选择线和32条列选择线就可以了。因此其译码电路也将变得较为简单。 为了节省存储器的地址译码电路,一般采用哪些方法? 答:① 存储器件按矩阵排列;
② 内存按模块结构设计; ③ 模块内再进行分组处理。
在选择存储器件时,最重要的考虑因素是什么?此外还应考虑哪些因素? 答:1.最重要的考虑因素是:易失性、只读性、位容量和速度。
2.此外还应考虑:功耗、可靠性和价格等因素。 什么叫静态RAM?静态RAM有什么特点?
答:1.在电源不断电的情况下,信息一旦写入后不会丢失的RAM就叫静
态RAM。
2.静态RAM的特点有:不需刷新,因此简化了外部电路;但位容量较类似方法设计的动态RAM少,且功耗较大。 静态RAM芯片上为什么往往只有写信号而没有读信号?什么情况下可以从芯片读得数据?
10
4.2
4.3
4.4
4.5
4.6
微型计算机技术及应用习题解答
答:1.因为在存储器中,当允许信号有效之后,一定是进行读/写操作,非
写即读。因此,只用写信号WE就可以即控制写操作,又控制读操作。在写操作时,写脉冲发生器送来一个负脉冲作为写入信号;在读操作时,写脉冲发生器不产生负脉冲,而是使WE端处于高电平,此高电平就用来作为读出信号。
2.当芯片允许信号CE=0及写信号WE=1时,可以从芯片上读得数据。
4.7
在对静态存储器进行读/写时,地址信号要分为几个部分?分别产生什么信号?
答:1.地址信号分为三个部分。如:A19~A14,A13~A12,A11~A0。
2.例中A19~A14用来作为模块选择信号,地址译码器判断A19~A14给出的模块选择信号和本模块的约定信号是否匹配,如匹配,则再根
据MRDC或MWTC产生内部的模块选择信号;A13~A12产生4个矩阵的芯片允许信号;A11~A0则作为矩阵内部的行地址和列地址。
4.8
动态RAM工作时有什么特点?和静态RAM比较,动态RAM有什么长处?有什么不足之处?动态RAM一般用在什么场合?
答:1.动态RAM工作时需要对其存储的信息定时(约2ms)刷新一次。因此
需要刷新控制电路来支持。
2.动态RAM的优点(长处)为:动态RAM的位密度高;动态RAM的功耗较低;动态RAM的价格低廉,适合于大容量使用。
3.动态RAM的缺点(不足之处)为:要配置刷新逻辑电路;在刷新周期中,内存模块不能启动读周期或写周期。 4.动态RAM一般用在大容量、低功耗场合。 动态RAM为什么要进行刷新?刷新过程和读操作比较有什么差别? 答:1.因为动态RAM是利用电容的存储作用来保存信息的,但电容由于
放电或泄漏,电荷保存时间较短(约2ms),若不及时补充电荷会使存放的数据丢失,因此需定时刷新以补充所需要的电荷。
2.刷新过程是由刷新逻辑电路定时完成的,且每次对所有模块的一行同时刷新,数据不输出,数据总线处于高阻状态。读过程是随机的,每次选中一个存储单元(8位),且数据输出到数据总线上。
4.9
4.10 动态RAM控制器完成什么功能?Intel 8203从功能上分为哪两部分?叙述
这两部分的工作原理。
答:1.动态RAM控制器要完成的功能有:刷新定时器产生刷新周期并提
供各种时序信号,并对CPU的读/写操作及刷新操作进行仲裁;刷新地址计数器提供刷新用的行地址,并通过多路转换器进行地址切换。 2.Intel 8203从功能上分为:地址处理部分和时序处理部分两个。 3.地址处理部分用来处理动态RAM正常读/写时的地址信号(正常的行/列地址合用一组地址线的区分)和刷新过程中的地址信号(区分正常的行地址及刷新周期的行地址)。时序处理部分通过一个基准时钟来产生各种时序;通过一个仲裁器来解决刷新请求和内存正常读/写请求之间的矛盾。内部有两级同步电路用来对外部请求信号实现同步。
11
微型计算机技术及应用习题解答
4.11 ROM、PROM、EPROM分别用在什么场合?
答:① ROM用在一个计算机系统完成开发以后,容纳不再修改的程序和
数据。且批量产量要大的场合。 ② PROM用于非批量的场合。
③ EPROM用于软件或系统的开发阶段及批量很小的场合。
第五章 微型计算机和外设的数据传输 5.1
外部设备为什么要通过接口电路和主机系统相连?存储器需要接口电路和总线相连吗?为什么?
答:1.因为外设的功能多种多样,对于模拟量信息的外设必须要进行A/D
和D/A转换,而对于串行信息的外设则必须转换为并行的信息,对于并行信息的外设还要选通。而且外设的速度比CPU慢的多,必须增加缓冲功能。只有这样计算机才能使用这些外设。而所有这些信息转换和缓冲功能均由接口电路才能完成。 2.存储器不需要接口电路和总线相连。
3.因为存储器功能单一,且速度与CPU相当。因此可直接挂在CPU总线上。 是不是只有串行数据形式的外设需要接口电路和主机系统连接?为什么?
答:1.不是。并行数据形式的外设也需要接口电路和主机系统连接。
2.因为,CPU每次只能访问一个外设,因此并行信息的外设需增加选通功能,才能满足CPU的访问要求,必须用接口电路。 接口电路的作用是什么?按功能可分为几类?
答:1.接口电路的作用就是在外设和CPU之间起信息变换和缓冲功能。
2.按功能可分为两类: ① 一种是使微处理器正常工作所需要的辅助电路。 ② 另一种是输入/输出接口电路。 数据信息有哪几类?举例说明它们各自的含义。
答:1.数据信息有四类:数字量、模拟量、开关量、脉冲量。
2.如键盘、磁带机等就是数字量信息;温度、湿度、压力等转换的电信号就是模拟量;电机的起停、发光设备的亮灭等都是开关量;计数脉冲、定时脉冲等都是脉冲量。 CPU和输入/输出设备之间传送的信息有哪几类? 答:有数据信息、控制信息、状态信息三类。
什么叫端口?通常有哪几类端口?计算机对I/O端口编址时通常采用哪两种方法?在8086/8088系统中,用哪种方法对I/O端口进行编址? 答:1.CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,
一般称这些寄存器为I/O端口。
2.有数据端口、控制端口、状态端口三类。
12
5.2
5.3
5.4
5.5 5.6
微型计算机技术及应用习题解答
3.在微型计算机中通常用两种I/O端口编址方式:存储器映象寻址和I/O端口单独寻址。
4.在8086/8088系统中,用I/O端口单独寻址方式编址。
5.7
为什么有时候可以使两个端口对应一个地址?
答:因为这两个端口一个是只读端口,一个是只写端口。而CPU对一个
I/O端口地址可进行读/写两种访问。如果将这两个只读和只写端口编为一个地址,则CPU对该端口地址读操作对应的是只读端口;CPU对该端口地址写操作则对应的是只写端口,互不影响。因此可以使两个单向的只读和只写端口对应一个端口地址。 CPU和外设之间的数据传送方式有哪几种?实际选择某种传输方式时,主要依据是什么? 答:1.CPU和外设之间的数据传送方式有三种:程序方式、中断方式、DMA
方式。
2.主要依据是外设的情况(外设的速度和外设提供信息的方式)。 无条件传送方式用在哪些场合?画出无条件传送方式的工作原理图并说明。
答:1.无条件传送方式只用在对一些简单外设进行操作的场合。如开关、
LED显示等。
2.无条件传送方式的工作原理图:(见书203页图5.2所示)
① 在无条件输入时:CPU执行一条输入指令,使RD和M/IO信号为
有效低电平,并对应送出该端口地址,因此选中输入缓冲器,打开其三态门,使输入缓冲器的数据经数据总线送到CPU的累加器中。 ② 在无条件输出时:CPU执行一条输出指令,使WR和M/IO信号为
有效低电平,并对应送出该端口地址,因此选中输出锁存器,将由累加器送到数据总线上的数据打入输出锁存器中供外设使用。
5.10 条件传送方式的工作原理是怎样的?主要用在什么场合?画出条件传送(查
询)方式输出过程的流程图。
答:1.条件传送方式的工作原理是:外设给CPU
提供一个状态信息,当CPU要访问外设时,开始 必须先检测该状态信息是否合乎要求,不 停检测直至合乎要求时才进行CPU对外设
初始化 的访问。
2.查询方式主要用在外设较少,数据交换不
频繁的非实时系统的场合。
外设空3.查询式输出过程的流程图如右:
N
5.8
5.9
5.11 设一个接口的输入端口地址为0100H,而它的状
态端口地址为0104H,状态口中第5位为1表示输入缓冲区中有一个字节准备好,可输入。设计具体程序实现查询式输入。 答:DATA SEGMENT
13
Y
CPU从内存取数
由累加器输出给外
设
N
外设空
Y 后续处理
微型计算机技术及应用习题解答
BUFFER DB 20 DUP(?) ;接收数据缓冲区 DATA ENDS CODE SEGMENT
ASSUME DS:DATA,CS:CODE
STAT: MOV AX,DATA ;对DS初始化
MOV DS,AX
MOV DI,OFFSET BUFFER MOV DX,0104H
STATIN: IN AL,DX
TEST AL,20H ;测试第5位 JZ STATIN ;第5位为0继续测试 MOV DX,0100H IN AL,DX ;输入数据 MOV [DI],AL
CODE ENDS
END STAT
5.12 查询式传送方式有什么缺点?中断方式为什么能弥补查询方式的缺点?
答:1.查询式传送方式缺点是:花费CPU的时间作等待循环,大大降低了
CPU的运行效率。
2.中断方式是在外设准备就绪时向CPU申请中断,再进行传送,因而CPU无需花费时间作等待循环,弥补了查询方式的缺点。 5.13 画一个用中断方式进行输出传输的接口电路。
答:中断方式输出的接口电路如下:
数据
锁存 选通信号 器
ACK
R
+5V
BUSY 中断请求
中断屏蔽
DB 端口译
码 M/IO WR
AB
INTR (中断请求)
触发器
5.14 叙述可屏蔽中断的响应和执行过程。
答:① 接口发中断请求信号。
② CPU的IF=1时,当前指令执行完后,CPU进行中断回答,发两个
INTA负脉冲。
③ 接口将中断类型号n送CPU。
④ 当前的PSW、CS和IP推入堆栈,并清除IF和TF。 ⑤ (4×n)作为IP,(4×n+2)作为CS,即取中断向量。
14
微型计算机技术及应用习题解答
⑥ 执行中断子程序,并开中断。
⑦ 中断返回IRET指令使IP、CS和PSW弹出堆栈。 ⑧ 返回被中断的程序。
5.15 通常解决中断优先级的方法有哪几种?各有什么优缺点?
答:1.有软件查询方式、简单硬件方式——菊花链法、专用硬件方式三种。
2.软件查询方式的优点是节省硬件,缺点是中断响应时间长;简单硬件方式的优点是中断响应时间短,硬件较简单,缺点是优先级固定,变动起来很麻烦;专用硬件方式优点是对优先级可编程修改,中断管理非常方便,缺点是硬件复杂的多,好在有专用的中断控制器。 5.16 和DMA比较,中断传输方式有什么不足之处?
答:CPU执行一次传送要花费许多与传送操作无关的指令执行等时间,另
外中断传送方式不能进行数据块传送,而是按字节或字传送。 5.17 叙述用DMA方式传送单个数据的全过程。
答:① 接口准备就绪,发DMA请求信号给DMA控制器。
② DMA控制器向CPU转发总线请求信号HOLD。
③ CPU向DMA控制器发总线请求允许信号HLDA,DMA控制器得到总线控制权。
④ DMA控制器把地址送地址总线。
⑤ DMA控制器向接口发DMA请求确认信号。 ⑥ 内存和接口通过数据总线传送数据。 ⑦ DMA控制器撤销总线请求信号HOLD。 ⑧ 8086 CPU收回总线控制权。 5.18 DMA控制器的地址线为什么是双向的?什么时候往DMA控制器传输地
址?什么时候DMA控制器往地址总线传输地址? 答:1.因为DMA控制器要接受CPU的控制,接收CPU发来的初始化等信
息,这要求地址线来寻址各端口,地址线为输入线。又因为DMA控制器可控制总线,这要求地址线为输出。所以地址线必须为双向才行。 2.CPU要对DMA控制器发初始化信息时,必须往DMA控制器传输地址。
3.DMA控制器得到总线控制权后,向地址总线传输地址。 5.19 在设计DMA传输程序时,要有哪些必要的模块?设计一个启动数据块输
出的程序段。
答:1.要有DMA的初始化模块:对字节计数器、地址寄存器和控制寄存
器置初值。还要有对接口部件设置控制字的模块:指出数据传输方向,并启动I/O操作。
2.启动数据块输出的程序段如下: IDLO: IN AL,INTSTAT ;接口状态寄存器的状态位(2)是否忙
TEST AL,04 JNZ IDLO ;忙,则等待 MOV AX,COUNT ;不忙,则设置计数初值
15
微型计算机技术及应用习题解答
OUT BYTE_REG,AX ;对字节计数器BYTE_REG初始化 LEA AX,BUFFER ;设置地址初值 OUT ADD_REG,AX ;对DMA地址寄存器ADD_REG初始化
MOV AL,DMAC ;取原DMA控制字 OR AL,08H ;设置方向为输出 OUT DMACON,AL ;置DMA控制字 MOV AL,INTC ;取原接口控制字 OR AL,04H ;设置传输方向为输出及允许 OUT INTCON,AL ;置接口控制字
┆ 后续处理
5.20 在查询方式、中断方式和DMA方式中,分别用什么方法启动数据传输过
程?
答:① 查询方式:通过程序来检测接口中状态寄存器中的“准备好”位,
以确定当前是否可以进行数据传输。
② 中断方式:当接口中已经有数据要往CPU输入或者准备好接收数据时,接口会向CPU发一个外部中断请求。CPU响应中断后,便通过运行中断处理程序来实现输入/输出。
③ DMA方式:外设要求传送数据时,接口会向DMA控制器发DMA请求信号,DMA控制器转而向CPU发一个总线请求信号,以请求得到总线控制权,如果得到CPU允许,那么,就可在没有CPU参与的情况下,实现DMA传输。
第六章 串并行通信和接口技术 6.1
接口部件为什么需要有寻址功能?设计一个用74LS138构成的译码电路,输入为A3、A4、A5、A8,输出8个信号以对8个接口部件进行选择。想一想如果要进一步对接口中的寄存器进行寻址,应该怎样实现?
答:1.因为,首先接口要对选择M和I/O的信号能够做出解释;此外,要
对送来的片选信号进行识别,以便判断当前本接口是否被访问,如果受到访问,还要决定是接口中那个寄存器受到访问。
2.将A1接在接口的A0上,A2接在接口的A1上;将接口的CS接在74LS138的某一输出端,RD和WR分别接在对应的控制总线上。从而可实现接口中的共8个只读和只写寄存器的寻址。(由于用的是8086 CPU,所以A0空。)
6.2
接口部件的输入/输出操作具体对应哪些功能,举例说明。
答:1.具体对应的功能为:寻址功能、输入/输出功能、数据转换功能、联
络功能和错误检测功能等。
2.例如串行输入操作:首先要将串行输入的数据转换为并行输入的数据放入输入缓冲器,然后发一个准备好信号通知CPU来读取该输入
16
微型计算机技术及应用习题解答
寄存器的内容。从而完成一个串行数据的输入过程。其中在数据转换时自动检测传输的错误。
6.3
从广义上说接口部件有哪些功能?
答:寻址功能、输入/输出功能、数据转换功能、联络功能、中断管理功能、
复位功能、可编程功能和错误检测功能。 怎样进行奇/偶校验?如果用偶校验,现在所传输的数据中1的个数为奇数,那么,校验位应为多少?
答:1.用奇/偶校验位对传输错误进行检测。传输时,如果用奇校验,那么
使信息中1的数目(包括校验位)为奇数。即所传输的数据中1的个数为奇数,则使校验位为0;若所传输的数据中1的个数为偶数,则使校验位为1。这样奇校验时,在传输一个数据时,1的总数目总是为奇数。同样若用偶校验,信息中1的数目(包括校验位)为偶数。 2.偶校验时,所传输的数据中1的个数为奇数,则校验位应为1。 什么叫覆盖错误?接口部件如何反映覆盖错误?
答:1.接口的数据缓冲寄存器中的数据还未被取走,由于某种原因又被装
上了新的数据,就会产生一个覆盖错误。
2.在产生覆盖错误时,接口会在状态寄存器中设置相应的状态位来反映。 接口部件和总线之间一般有哪些部件?它们分别完成什么功能? 答:1.外部逻辑电路和地址译码器。
2.外部逻辑电路把CPU送来的一些控制信号翻译成联络信号。地址译码器将总线提供的I/O地址翻译成对接口的片选信号。 为什么串行接口部件中的4个寄存器可以只用1位地址线来进行区分? 答:一位地址线可编址二个地址,再加上读和写信号可对2个只读寄存器
和2个只写寄存器进行端口寻址。而串行接口部件的控制寄存器和数据输出寄存器是只写的,状态寄存器和数据输入寄存器是只读的,所以可用一位地址线来区分。 在数据通信系统中,什么情况下可以采用全双工方式,什么情况下可用半双工方式?
答:对于近距离较大信息量的传输应采用全双工方式。而对于远距离或较
少信息量的传输或单向的输入或输出设备时应采用半双工方式。 什么叫同步通信方式?什么叫异步通信方式?它们各有什么优缺点? 答:1.在同一时钟控制下需用同步字符同步的信息按组传送的方式叫同步
通信方式。
2.在两个相近频率的时钟分别控制下只需一个起始位的信息按字符传送的方式叫异步通信方式。
3.在传输率相同时同步方式的信息有效率要比异步方式下的高。但同步方式必须传送时钟信号,异步方式只要两端的时钟频率相近即可。
6.4
6.5
6.6
6.7
6.8
6.9
6.10 什么叫波特率因子?什么叫波特率?设波特率因子为64,波特率为1200,
17
微型计算机技术及应用习题解答
时钟频率为多少?
答:1.波特率因子:时钟频率和位传输率的比值。此比值必须为16、32或
64。
2.波特率:位传输率即为波特率。
3.时钟频率=波特率因子×波特率=64×1200=76800Hz。 6.11 标准波特率系列指什么?
答:国际上规定的波特率标准值为:110、300、600、1200、1800、2400、
4800、9600和19200、、38400、57600、115200。 6.12 设异步传输时,每个字符对应1个起始位、7个信息位、1个奇/偶校验位和1个停止位,如果波特率为9600,则每秒钟能传输的最大字符数为多少? 答:每个字符所占的总位数为:1+7+1+1=10位。所以每秒钟能传输的最
大字符数为9600/10=960个字符。 6.13 在RS–232–C标准中,信号电平与TTL电平不兼容,问RS–232–C标准的
1和0分别对应什么电平?RS–232–C的电平和TTL电平之间用什么器件进行转换? 答:1.RS–232–C的1对应–3V~–25V;RS–232–C的0对应+3V~+25V电平。
2.RS–232–C电平→TTL电平用MC1489转换; TTL电平→RS–232–C电平用MC1488转换。 6.14 从8251A的编程结构中,可以看到8251A有几个寄存器与外部电路有关?
一共要几个端口地址?为什么?
答:1.有7个寄存器与外部电路有关。
2.要2个端口地址。
3.因为,一个数据输入缓冲寄存器为只写,一个数据输出缓冲寄存器为只读,可共用一个端口地址,在读/写信号配合下进行读/写操作。一个模式寄存器、2个同步字符寄存器和1个控制寄存器都是只写的,但它们有初始化约定,可用一个端口写入,1个状态寄存器为只读,因此与上面共用的一个写入端口合用一个读/写端口地址进行寻址。因此只要2个端口地址即可。 6.15 8251A内部有哪些功能模块?其中读/写控制逻辑电路的主要功能是什
么?
答:1.8251A内部有7个功能模块组成。为:接收缓冲器、接收控制电路、
发送缓冲器、发送控制电路、数据总线缓冲器、读/写控制逻辑电路、调制/解调控制电路。
2.读/写控制逻辑电路的主要功能是:用来配合数据总线缓冲器工作。
① 接收写信号WR,并将来自数据总线的数据和控制字写入8251A; ② 接收读信号RD,并将数据或状态字从8251A送往数据总线; ③ 接收控制/数据信号C/D,将此信号和读/写信号合起来通知
8251A,当前读/写的是数据还是控制字、状态字; ④ 接收时钟信号CLK,完成8251A的内部定时; ⑤ 接收复位信号RESET,使8251A处于空闲状态。
18
微型计算机技术及应用习题解答
6.16 什么叫异步工作方式?画出异步工作方式时8251A的TxD和RxD线上的
数据格式。 答:1.在两个相近频率的时钟分别控制下,只需一个起始位的信息按字符传
发送器输出 D0D1„„Dn 由8251A产生 TxD
启动位
数 据 位 校验位
停止位
接收器输入 D0D1„„Dn 不出现在数据总线上 RxD
启动位
数 据 位 校验位
停止位
送的方式叫异步工作方式。
2.异步工作方式时8251A的TxD和RxD线上的数据格式为:
6.17 什么叫同步工作方式?什么叫双同步字符方式?外同步和内同步有什么
区别?画出双同步工作方式时8251A的TxD线和RxD线上的数据格式。 答:1.在同一时钟控制下需用同步字符同步的信息按组传送的方式叫同步
工作方式。
2.需用2个同步字符的同步工作方式叫双同步字符方式。
3.外同步只能工作于同步接收方式,而内同步即适用于同步接收,也适用于同步发送。外同步是由外设来搜索同步字符,一旦搜索成功,立即给串行接口的同步输入端送来一个高电平,表示同步已实现,串行接收端开始接收数据。而内同步由串行接口本身来搜索同步字符而实现同步的。
发送格式 TxD线上的串行输出数据
同步字符1 同步字符2 数 据 字 符
接收格式 RxD线上的串行输入数据
同步字符1 同步字符2 数 据 字 符
4.双同步工作时8251A的TxD和RxD线上的数据格式为:
6.18 8251A 和CPU之间有哪些连接信号?其中C/D和RD、WR如何结合起来
完成对命令、数据的写入和状态、数据的读出?
答: 1.8251A 和CPU之间的连接信号有:片选信号—CS,数据信号—
D7~D0,读/写控制信号—RD、WR、C/D,收发联络信号—TxRDY、TxE、RxRDY、SYNDET。
2.C/D=0、RD=0、WR=1时CPU从8251A输入数据; C/D=0、RD=1、WR=0时CPU往8251A输出数据; C/D=1、RD=0、WR=1时CPU读取8251A的状态; C/D=1、RD=1、WR=0时CPU往8251A写入控制命令。
6.19 8086/8088系统中,8251A的C/D端应当和哪个信号相连,以便实现状态
端口、数据端口、控制端口的读/写?
19
微型计算机技术及应用习题解答
答:8251A的C/D端应与地址总线的A1相连。 6.20 8251A与外设之间有哪些连接信号?
答:收发联络信号—DTR、DSR、RTS、CTS,数据信号—TxD、RxD。 6.21 为什么8251A要提供DTR、DSR、RTS、CTS四个信号作为和外设的联络
信号?平常使用时是否可以只用其中两个或者全部不用?要特别注意什
么?说明CTS端的连接方法。
答:1.8251A的这四个信号是提供给CPU和外设进行联络用的,因为CPU
不能和外设直接相连。这样CPU对外设的控制信号DTR和RTS及外设给CPU的状态信号DSR和CTS必须由接口(此处为8251A)来传递。所以要提供此4个信号作为和外设的联络信号。 2.平常使用时可以只用其中两个或者全部不用。
3.要特别注意的是在某个时候CTS要输入一个低电平。否则CPU不能往8251A发送数据。
4. CTS一般接地,以确保不用它作联络信号时也维持低电平输入。
6.22 8086系统中采取什么措施来实现8位接口芯片和低8位数据线的连接且满
足对奇/偶端口的读/写?这样做的道理是什么?
答:1.将系统总线的A1与接口的A0相连接即可。软件上采用连续的偶地
址代替端口的奇/偶地址。
2.因为这样连接,从CPU这边来说,端口地址都是偶地址,传输信息时,信息总是出现在CPU的低8位数据总线上;而从端口这边来说,端口地址中既有奇地址也有偶地址,且是连续的,这又满足了许多8位接口芯片对端口地址的要求。 6.23 对8251A进行编程时,必须遵守哪些约定?
答:① 芯片复位以后,第一次用奇地址端口写入的值作为模式字进入模
式寄存器。
② 若模式字中规定了8251A工作在同步模式,则CPU接着往奇地址端口输出的1个或2个字节就是同步字符被写入同步字符寄存器。若有两个同步字符,则会按先后分别写入第一个同步字符寄存器和第二个同步字符寄存器。
③ 此后,只要不是复位命令,不管是在同步模式还是在异步模式下,由CPU用奇地址端口写入的值将作为控制字送到控制寄存器,而用偶地址端口写入的值将作为数据送到数据输出缓冲寄存器。 6.24 8251A的模式字格式如何?参照教材上给定格式编写如下模式字:异步方
式,1个停止位,偶校验,7个数据位,波特率因子为16。 答:1.8251A的模式字格式为:(含义见书240页图6.11所示)
SSEPELLBB SCESEPELL0 0
P N 2 1 2 1 S D P N 2 1 2 1
异步模式字 同步模式字
2.因是异步方式,波特率因子为16:B2B1=10;1个停止位:S2S1=01;偶校验:EP=1,PEN=1;7个数据位:L2L1=10。所以模式字为
20
微型计算机技术及应用习题解答
01111010B=7AH。
6.25 8251A的控制字格式如何?参照教材上列出的格式给出如下控制字:发送
允许,接收允许, DTR端输出低电平,TxD端发送空白字符, RTS端输出低电平,内部不复位,出错标志复位。
答:1.8251A的控制字格式为:(含义见书241页图6.12所示)
EH IR RTS ER SBRK RxE DTR TxEN
2.发送允许:TxEN=1,接收允许:RxE=1,DTR端输出低电平:DTR=1,TxD端发送空白字符SBRK=1; RTS端输出低电平:RTS=1,内部
不复位:IR=0,出错标志复位ER=1。EH=0/1则控制字为00111111B或10111111B =3FH或0BFH。
6.26 8251A的状态字格式如何?哪几位和引腿信号有关?状态位TxRDY和引
腿信号TxRDY有什么区别?它们在系统设计中有什么用处? 答:1.8251A的状态字格式为:(含义见书242页图6.13所示)
DSR SYNDET FE OE PE TxE RxRDY TxRDY
2.DSR、SYNDET、TxE、RxRDY四个状态位与其对应的引腿信号有关。
3.状态位TxRDY只要数据输出缓冲器为空就置1。而引腿TxRDY为1
的条件是:数据输出缓冲器为空、CTS为有效低电平、TxEN为1才可以,缺一不行。
4.能让CPU随时了解当前8251A的工作状态,而执行相应的操作。对查询方式的设计非常方便。
6.27 参考初始化流程,用程序对8251A进行同步模式设置。奇地址端口的地址
为66H,规定用内同步方式,同步字符为2个,用奇校验,7个数据位。 答:模式字为:00011000B=18H。两个同步字符取16H,控制字为97H,
它使8251A对同步字符进行检索;同时使状态寄存器中的3个出错标志复位;使8251A的发送器启动,接收器也启动;CPU当前已准备好进行数据传输。具体程序段如下:
MOV AL,18H ;设置模式字 OUT 66H,AL MOV AL,16H ;发送两个同步字符 OUT 66H,AL OUT 66H,AL MOV AL,97H ;设置控制字 OUT 66H,AL 6.28 设计一个采用异步通信方式输出字符的程序段,规定波特率因子为64,7
个数据位,1个停止位,用偶校验,端口地址为40H、42H,缓冲区首址为2000H:3000H。
答:模式字为:01111011B=7BH。控制字为:00110101B=35H。
MOV AL,0 ;为发复位命令作准备 OUT 42H,AL OUT 42H,AL
21
微型计算机技术及应用习题解答
OUT 42H,AL MOV AL,40H ; 发复位命令 OUT 42H,AL MOV AL,7BH ;设置模式字,异步方式,规定波特率因子为64
;7个数据位,1个停止位,偶校验
OUT 42H,AL MOV AL,35H ;设置控制字,使发送器和接收器启动,并清除
;出错标志
OUT 42H,AL PUSH DS
MOV BX,2000H ;DS:BX指向输出缓冲区首址 MOV DS,BX MOV BX,3000H ;缓冲区指针初始化 MOV CX,100H ;发送100H个字节
BEGIN: IN AL,42H ;读取状态字,测试TxRDY是否为1
TEST AL,01H JZ BEGIN ;为0表示外设还未取走字符 MOV AL,[BX] ;从输出缓冲区取数 OUT 40H,AL ;发送字符 INC BX ;修改缓冲区指针 LOOP BEGIN ;则再发送下一个字符 POP DS
┆
6.29 并行通信和串行通信各有什么优缺点?
答:并行通信的优点是信息实际传输速度快,信息率高。缺点是需多条通
信线。串行通信的优点是只用1至2条通信线,但信息传输速度较慢。 6.30 在输入过程和输出过程中,并行接口分别起什么作用?
答:简单说,并行接口只起着桥梁和联络的作用。具体如下:
① 输入过程:外设将数据送给接口,并使状态线“输出准备好”成为高电平。接口把数据接收到数据输入缓冲寄存器的同时,使“数据输入回答”线变为高电平,作为对外设的响应。外设接到此信号,便撤消数据和“数据输入准备好”信号。数据到达接口后,接口便在状态寄存器中设置“输入准备好”状态位,并发中断请求,CPU可用查询方式或中断方式来设法读取接口中的数据。CPU读取数据后,接口会自动清除状态寄存器中的“输入准备好”位,并使数据总线处于高组状态。此后又可以开始下一个输入过程。 ② 输出过程:当外设从接口取走一个数据后,接口就会将状态寄存器中的“输出准备好”状态位置1,并发中断请求,以表示CPU当前可以通过查询方式或中断方式往接口中输出数据。当CPU输出的数据到达接口的输出缓冲器中后,接口会自动清除“输出准备好”状态位,并将数据送往外设,同时,接口往外设发送一个“驱动信
22
微型计算机技术及应用习题解答
号”来启动外设接收数据。外设被启动后,开始接收数据,并往接口发一个“数据输出回答”信号。接口收到此信号,便将状态寄存器中的“输出准备好”状态位重新置1,以便CPU输出下一个数据。
6.31 8255A的三个端口在使用时有什么差别?
答:端口A和端口B常常作为独立的输入端口或者输出端口,端口C则
配合端口A和端口B工作。 6.32 当数据从8255A的端口C往数据总线上读出时,8255A的几个控制信号
CS、A1、A0、RD、WR分别是什么电平?
答:CS=0、A1=1、A0=0、RD=0、WR=1。“0”为低电平,“1”为高电平。 6.33 8255A的方式选择控制字和置1/置0控制字都是写入控制端口的,那么,它们是由什么来区分的?
答:由最高位D7位来区分。D7=1时为方式选择控制字,D7=0时为端口
C置1/置0控制字。 6.34 8255A有哪几种工作方式?对这些工作方式有什么规定?
答:1.8255A有三种工作方式:方式0、方式1、方式2。
2.端口A可以工作于方式0、方式1、方式2;端口B可以工作于方式0、方式1;端口C只能工作于方式0或者配合端口A和端口B工作。 6.35 对8255A设置工作方式,8255A的控制口地址为00C6H。要求端口A工作在方式1,输入;端口B工作在方式0,输出;端口C的高4位配合端口A工作;低4位为输入。 答: MOV DX,00C6H
MOV AL,0B1H ;取方式选择控制字为B1H(10110001B)或B9H
OUT DX,AL 6.36 设8255A的4个端口地址为00C0H,00C2H,00C4H,00C6H,要求用置
1/置0方式对PC6置1,对PC4置0。 答: MOV DX,00C6H
MOV AL,0DH ;对PC6置1的控制字为0DH OUT DX,AL MOV AL,08H ;对PC4置0的控制字为08H OUT DX,AL 6.37 8255A在方式0时,如进行读操作,CPU和8255A分别要发什么信号?对
这些信号有什么要求?据此画出8255A方式0的输入时序。
答:1.CPU要发RD、CS、A2、A1四个信号,8255A要发数据信号D7~D0。
2.对信号的要求如下: ① CPU在发出读信号前,先发出地址信号。且在整个读出期间,地
址信号保持有效。 ② 输入数据必须保持到读信号结束后才消失。
23
微型计算机技术及应用习题解答
③ 要求读脉冲的宽度至少为300ns。
3.8255A方式0的输入时序见书256页图6.24所示。
6.38 8255A在方式0时,如进行写操作,CPU和8255A分别要发什么信号?画
出这些信号之间的时序关系。
答:1.CPU要发WR、CS、A2、A1控制和地址信号及D7~D0数据信号,
8255A输出数据到外设。
2.8255A方式0的输出时序见书257页图6.25所示。 6.39 8255A的方式0一般使用在什么场合?在方式0时,如要使用应答信号进
行联络,应该怎么办?
答:1.方式0一般使用在同步传送和查询式传送中。
2.将端口A和端口B作为数据端口,把端口C的4个数位规定为输出口,用来输出一些控制信号,而把端口C的另外4位规定为输入口,用来读入外设的状态。 6.40 8255A的方式1有什么特点?参考教材中的说明,用控制字设定8255A的
A口工作于方式1,并作为输入口;B口工作于方式1,并作为输出口,用文字说明各个控制信号和时序关系。假定8255A的端口地址为00C0H,00C2H,00C4H,00C6H 答:1.方式1有如下特点:
① 端口A和端口B可分别作为两个数据口工作于方式1,并且任何
一个端口可作为输入或输出口。 ② 若只有一个端口工作于方式1,则端口C有三位被规定配合其工
作,其余共13位可工作于方式0。 ③ 若两个端口都工作于方式1,则端口C有6位被规定配合其工作,
端口C所剩2位仍可作为输入或输出。 2.控制字为10110100B=B4H。
MOV DX,00C6H MOV AL,0B4H ;取方式选择控制字为B4H(10110100B) OUT DX,AL
3.方式1输入口A口的各个控制信号和时序关系如下:
① 当外设来的输入数据出现之后,STBA接着就到,其宽度至少要求
为500ns。 ② 过tSTB时间后,IBFA有效,它可供CPU查询,为CPU工作于查
询方式提供了条件。 ③ STBA结束后,过tSIT时间,便会发出INTRA,为CPU工作于中
断方式输入数据提供了条件。 ④ 当CPU发出的RD有效后,过tRIT时间,INTRA被清除。在RD结
束之后,数据已经读到CPU的寄存器中,经过tRIB时间,IBFA变低,从而可开始下一个数据输入过程。
4.方式1输出口B口的各个控制信号和时序关系如下: ① 方式1的输出端口一般用于中断方式与CPU相联系。CPU响应
24
微型计算机技术及应用习题解答
中断后,便往8255A输出数据,并发出WR。WR的上升沿一方面清除中断请求信号INTRB,表示CPU响应了中断;另一方面,使OBFB有效,通知外设接收数据。
② 在CPU发出WR后的tWB时间后,数据就出现在端口的输出缓冲
器中。当外设接收数据后,发一个ACKB信号。一方面使OBFB无
效,表示数据已经取走,当前输出缓冲区为空;另一方面,又使INTRB有效,申请中断,从而可以开始一个新的输出过程。
6.41 8255A的方式2用在什么场合?说明端口A工作于方式2时各信号之间的
时序关系。
答:1.方式2应用于分时工作的双向外设(输入输出设备)的连接。
2.端口A工作于方式2时各信号之间的时序关系如下: ① 对于方式2的输出过程:CPU响应中断,并往8255A输出一个数
据,并使WR有效。WR一方面清除INTRA信号,另一方面使OBFA有效。外设收到OBFA后,发出ACKA信号,使8255A的输出锁存
器打开,从而数据便出现在8255A与外设之间的数据连线上。
ACKA信号也使OBFA信号无效,从而可开始下一个数据传输过程
(输入或输出)。
② 对于方式2的输入过程:当外设往8255A送来数据时,STBA也
一起来到,使数据锁存到8255A的输入锁存器中,从而使IBFA
有效。在STBA结束时,便发出INTRA请求。在CPU响应中断进行读操作时,会使RD有效将数据从8255A读到CPU中,于是IBFA又变为无效,INTRA也被清除
25
本文来源:https://www.wddqxz.cn/f16797551411cc7931b765ce05087632311274cc.html