《微型计算机技术及应用习题答案.docx》由会员分享,可在线阅读,更多相关《微型计算机技术及应用习题答案.docx(70页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微型计算机技术及应用习题答案第一章微型计算机概述1.1微处理器、微型计算机和微型计算机系统三者之间有什么不同?答:微处理器是微型计算机的核心,是微型计算机的一部分。它是集成在一块芯片上的 CPU,由运算器和控制器组成。微型计算机包括微处理器、存储器、I/O接口和系统总线,是微型计算机系统的主体。微型计算机系统包括微型计算机、外设及系统软件三部分。1.2 CPU在内部结构上由哪几部分组成? CPU应具备哪些主要功能?答:1.CPU在内部结构上山以下几部分组成:算术逻辑部件(ALU);累加器和通用寄存器组;程序计数器(指令指针)、指令寄存器和译码器:时序和控制部件。2.CPU应具备以下主要功能:可
2、以进行算术和逻辑运算;可保存少量数据;能对指令进行译码并执行规定的动作;能和存储器、外设交换数据;提供整个系统所需要的定时和控制;可以响应其他部件发来的中断请求。1.3 累加器和其他通用寄存器相比,有何不同?答:许多指令的执行过程以累加器为中心;输入/输出指令一般也以累加器来完成。1.4 微处理器的控制信号有哪两类?答:一类是通过对指令的译码,由CPU内部产生的。这些信号由CPU送到存储器、I/O接口电路和其他部件。另一类是微型机系统的其他部件送到CPU的。通常用来向CPU 发出请求。如中断请求、总线请求等。1.5 微型计算机采用总线结构有什么优点?答:首先是系统中各功能部件之间的相互关系变为
3、各个部件面向总线的单一关系。其次是一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中,使系统功能得到扩充。1.6 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么,要靠什么来区分地址或数据?答:1.数据总线是双向三态;地址总线是单向输出三态。2.数据和地址复用时,必须有一个地址选通信号来区分该总线上输出的是地址还是数据。1.7控制总线传输的信号大致有哪几种?答:包括CPU送往存储器和I/O接口的控制信号,如读信号、写信号、中断响应信号、存储器和I/O接口区分信号等。还包括其他部件送到CPU的信号,如时钟信号、中断请求信号、准备就绪
4、信号等。第二章8086微处理器2.1 总线接口部件有哪些功能?请逐一进行说明。答:1.总线接口部件的功能是负责与存储器、I/O端口传送数据。2.具体讲:总线接口部件要从内存取指令送到指令队列;CPU执行指令时,总线接口部件要配合执行部件从指定的内存单元或者外设端口中取数据,将数据传送给执行部件,或者把执行部件的操作结果传送到指定的内存单元或外设端口中。2.2 8086的总线接口部件由哪几部分组成?答:4个段地址寄存器CS、DS、ES、SS:16位的指令指针寄存器IP;20位的地址加法器:6字节的指令队列。2.3 段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多
5、少?指向这一物理地址的CS值和IP值是唯一的吗?答:1.该指令的物理地址=3乂10H+IP=21F00H。2.指向这一物理地址的CS值和1P值不是唯一的。2.4 8086的执行部件有什么功能?由哪几部分组成?答:1.8086的执行部件的功能是负责指令的执行。2.4个通用寄存器AX、BX、CX、DX;4个专用寄存器BP、SP、SI、DI;标志寄存器FLAGS和算术逻辑单元ALU。2.5 状态标志和控制标志有何不同?程序中是怎样利用这两类标志的?8086的状态标志和控制标志分别有哪些?答:1.不同之处在于:状态标志由前面指令执行操作的结果对状态标志产生影响,即前面指令执行操作的结果决定状态标志的值
6、。控制标志是人为设置的。2.利用状态标志可进行计算和判断等操作。利用控制标志可对某一种特定功能(如单步操作、可屏蔽中断、串操作指令运行的方向)起控制作用。3.8086的状态标志有:SF、ZF、PF、CF、AF和OF计6个。8086的控制标志有:DF、IF、TF计3个。2.6 8086/8088和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?答:1.传统的计算机在执行指令时,指令的提取和执行是串行进行的。8086/8088 CPU的总线接口部件和执行部件在提取和执行指令时是并行同时工作的。2.8086/8088 CPU的设计思想有力地提高了 CPU的工作效率,这也正是808
7、6/8088成功的原因之一。2.7 总线周期的含义是什么?8086/8088的基本总线周期由几个时钟组成?如一个CPU的时钟频率为24MHz,那么,它的一个时钟周期为多少?一个基本总线周期为多少?如主频为15MHz 呢?答:1.总线周期的含义是总线接口部件完成一个取指令或传送数据的完整操作所需的最少时钟周期数。2.8086/8088的基本总线周期由4个时钟周期组成。3 .当主频为24MHz 时,T=l/24MHz41.7ns, T 总=41-167睦。4 .当主频为15MHz 时,Te=l/15MHz=66.7ns, T 点=4T,-267ns。2.8在总线周期的TI、T2、T3、T4状态,C
8、PU分别执行什么动作?什么情况下需要插入等待状态Tw? Tw在哪儿插入?怎样插入?答:1.在总线周期的Ti、T2, T3、T4状态,CPU分别执行下列动作:状态:CPU往多路复用总线上发出地址信息,以指出要寻找的存储单元或外设端口的地址。T2状态:CPU从总线上撤销地址,而使总线的低16位浮置成高阻状态,为传输数据做准备。总线的高4位(A.Aw)用来输出本总线周期的状态信息。T3状态:多路总线的高4位继续提供状态信息。低16位(8088为低8位)上由现由CPU写出的数据或者CPU从存储器或端口读入的数据。T4状态:总线周期结束。2 .当被写入数据或者被读取数据的外设或存储器不能及时地配合CPU
9、传送数据。这时,外设或存储器会通过READY”信号线在T3状态启动之前向CPU发一个“数据未准备好的信号,于是CPU会在T3之后插入一个或多个附加的时钟周期Tw。3 .Tw插在T3状态之后,紧挨着T3状态。4 .插入的Tw状态时的总线上的信息情况和T3状态的信息情况一样。当CPU收到存储器或外设完成数据传送时发出的“准备好”信号时,会自动脱离Tw状态而进入T4状态。2.9 从引腿信号上看,8086和8088有什么区别?答:8086有16根数据/地址复用总线,8088只有8根,称AD7AD。8086的第28腿为M/IO ,8088的第28腿为M/记(为兼容8080等)。8086的第34腿为曲/S
10、7,8088的第34腿为sso。2.10 在对存储器和I/O设备读写时,要用到标、IOW, MR,而W信号,这些信号在最大模式和最小模式时分别可用怎样的电路得到?请画出示意图。答:1.最小模式(以8086为例):2.最大模式:用8288总线控制器来实现。2.11 CPU启动时,有哪些特征?如何寻找8086/8088系统的启动程序?答:1.CPU启动时,有以下特征:内部寄存器等置为初值; 禁止中断(可屏蔽中断); 从FFFF0H开始执行程序; 三态总线处于高阻状态。2.8086/8088系统的启动程序从FFFF0H单元开始的无条件转移指令转入执行。2.12 CPU在8086的微机系统中,为什么常
11、用AD作为低8位数据的选通信号?答:因为每当CPU和偶地址单元或偶地址端口交换数据时,在TI状态,AD。引腿传送的地址信号必定为低电平。而CPU的传输特性决定了只要是和偶地址单元或偶地址端口交换数据,则CPU必定通过总线低8位即AD7AD。传输数据。可见AD。可以用来作为接于数据总线低8位上的8位外设接口芯片的选通信号。2.13 8086和8088在最大模式或最小模式时,引腿信号分别有什么不同?答:在此两种模式中,只有第2431腿的信号不同。引腿号2425262728293031最小模式信号INTAALEDENDT/RM/ioWRHLDAHOLD最大模式信号QS,QSo1LOCKRQ/GT|R
12、Q/GTo另外8088的第34腿在最大模式时为高电平,最小模式时为SS。状态信号。8088的第28腿在最小模式时为M/IO信号。2.14 8086和8088是怎样解决地址线和数据线的复用问题的? ALE信号何时处于有效电平?答:1.在总线周期的Ti状态,复用总线用来输出要访问的存储器或I/O端口的地址给地址锁存器8282(3片)锁存;在其他状态为传送数据或作传送准备。地址锁存器8282在收到CPU发出的地址锁存允许信号ALE后,锁存地址。2.ALE信号在每个总线周期的T,状态为有效高电平。2.15 靛信号和A。信号是通过怎样的组合解决存储器和外设端口的读/写的?这种组合决定了8086系统中存储
13、器偶地址体及奇地址体之间应该用什么信号来区分?怎样区分?答:1.组合情况如下:BHEAo操作所用的数据引腿00从偶地址开始读/写一个字AD|5AD()10从偶地址单元或端口读/写一个字节AD7-AD001从奇地址单元或端口读/写一个字节ADyADx0110从奇地址开始读/写一个字(在第一个总线周期,将低8位数送AD15AD8,在第二个总线周期,将高8位数送AD7ADo)AD15AD8AD7-AD02.用A。信号来区分偶地址体和奇地址体。3.当A()=0时选中偶地址体,Ao=l时选中奇地址体。2.16 RESET信号来到后,CPU的状态有哪些特点?答:复位信号来到后,CPU便结束当前操作,并对处
14、理器标志寄存器FR、IP、DS、SS、 ES、其他寄存器及指令队列清0,而将CS设置为FFFFH。当复位信号变为低电平后, CPU从FFFF0H单元开始执行程序。2.17 在中断响应过程中,8086往8259A发的两个INTA信号分别起什么作用?答:第-个负脉冲通知外部设备的接口,它发出的中断请求已经得到允许;外设接口收到第二个负脉冲后,往数据总线上放中断类型码,从而CPU得到了有关此中断请求的详尽信息。2.18总线保持过程是怎样产生和结束的?画出时序图。答:1.当系统中CPU之外的另一个主模块要求占用总线时,通过HOLD引腿向CPU发一个高电平的请求信号。如果CPU此时允许让出总线,就在当前
15、总线周期完成时,于 T4状态从HLDA引腿发出一个应答信号,对刚才的HOLD请求做出响应。同时, CPU使地址/数据总线和控制状态线处于浮空状态。总线请求部件收到HLDA信号后,就获得了总线控制权,在此后一段时间,HOLD和HLDA都保持高电平。在总线占有部件用完总线之后,会把HOLD信号变为低电平,表示现在放弃对总线的占有。8086/8088收到低电平的HOLD信号后,也将HLDA变为低电平,这样,CPU 又获得了地址/数据总线和控制状态线的占有权。2.时序图为:2.198086系统在最小模式时应该怎样配置?请画出这种配置并标出主要信号的连接关系。一片,8284A时钟发生器一片,8282答:
16、1.8086系统在最小模式时的配置是:8086CPU地址锁存器三片,8286总线收发器二片。2.连接关系为:RESET2.20时钟发生器的功能是什么?画出它的线路图。答:1.时钟发生器的功能是:提供频率恒定占空比符合标准的时钟信号,对准备好(READY)和复位(RESET)信号进行同步。2.线路图见书21页图2.7所示。2.218086在最大模式下应当怎样配置?最大模式时为什么一定要用总线控制器?总线控制器的输入信号是什么?输出信号是什么?答:1.8086在最大模式下的配置是:8086CPU 一片,8284A时钟发生器一片,8282地址锁存器三片,8286总线收发器二片,8288总线控制器一片
17、,8259A中断优先级管理部件一片。2 .因为在最大模式下,需要用外加电路来对CPU发出的控制信号进行变换和组合,以得到对存储器和I/O端口的读/写信号和对锁存器8282及总线收发器8286的控制信号。8288总线控制器就是完成上述这些功能的专用芯片。所以必须用总线控制器。3 .总线控制器的输入信号是:来自CPU的$2、S、So状态信息,时钟CLK信号,及决定本身工作方式的信号IOB、AEN, CEN。4 .总线控制器的输出信号是:用来作为CPU进行中断响应的信号而X,两组读/写控制信号MRDC、MWTC、IORC, IOWC ,两个提前的写控制信号AMWC、AIOWC,送给地址锁存器的信号A
18、LE,送给数据收发器的信号DEN和DT/记。2.22 在编写程序时,为什么通常总要用开放中断指令来设置中断允许标志?答:因为在复位时,标志寄存器FR被清0,则IF=0,禁止从INTR进入的可屏蔽中断,所以必须在编写程序时,用指令来设置中断允许标志。2.23 状态下,数据/地址复用总线上是什么信息?用哪个信号将此信息锁存起来?数据信息是在什么时候给出的?用时序图表示出来。答:状态下,数据/地址复用总线上是地址信息。2 .用ALE信号的下降沿将此地址信息锁存在三片8282中。3 .数据信息的给出时间分两种:总线读周期时,数据信息在T3、Tw、T4中间给出;BHE输出2.24 画出8086最小模式时
19、的读周期时序。答:见书27页图2.11所示。2.25 8086最多可有多少个中断?按照产生中断的方法分为哪两大类?答:1.8086最多可有256个中断。2.按照产生中断的方法分为硬件中断和软件中断两大类。2.26非屏蔽中断有什么特点?可屏蔽中断有什么特点?分别用在什么场合?答:1.非屏蔽中断的特点有:中断请求从NMI引腿进入,不受中断允许标志IF的影响。非屏蔽中断只有一个,其中断类型码为2。2 .可屏蔽中断的特点有:中断请求从INTR引腿进入,只有在IF=1时CPU才响应该中断。可屏蔽中断有若干个,其中断类型码可以是5255。3 .非屏蔽中断用来处理系统的重大故障,如掉电等。可屏蔽中断用在一般
20、外部设备申请的中断中。2.27什么叫中断向量?它放在那里?对应于1CH的中断向量存放在哪里?如果1CH的中断处理子程序从5110H:2030H开始,则中断向量应怎样存放?答:1.中断处理子程序的入口地址就是中断向量。2 .中断向量放在。段的。3FFH区域的中断向量表中。3 .对应于类型号为1CH的中断向量应放在00070OOO73H的4个单元中。4 .若1CH的中断向量为5110H:2O3OH,则中断向量的存放方法为:00070H存放30H,00071H 存放20H (IP):00072H 存放10H,00073H 存放51H (CS)。2.28 从8086/8088的中断向量表中可以看到,如
21、果一个用户想定义某个中断,应该选择在什么范围?答:应该选择在中断类型码为32Q0H)255(FFH)范围。2.29 非屏蔽中断处理程序的入口地址怎样寻找?答:CPU在响应NMI引腿的中断请求时,CPU并不需要从中断类型码计算中断向量的地址,而是直接从中断向量表中读取00008OOOOBH这4个单元对应于中断类型2的中断向量就行了。CPU将00008H、0(X)09H两个单元的内容装入IP,而将0000AH、OOOOBH 两个单元的内容装入CS,于是就转入了对非屏蔽中断处理程序的执行。2.30 叙述可屏蔽中断的响应过程,一个可屏蔽中断或者非屏蔽中断响应后,堆栈顶部四个单元中为什么内容?答:首先在
22、CPU的INTR引腿上有可屏蔽中断请求输入,且IF=1在当前指令执行完后, CPU发两个而X中断响应负脉冲,外设接到第二个负脉冲后,立即往数据线上给CPU 送来中断类型码。然后CPU取中断类型码,将标志FR推入堆栈,清除IF和TF,再将CS和IP推入堆栈来保护断点,进入中断处理子程序并执行,最后弹出IP和CS及标志而中断返回。中断响应后,堆栈顶部四个单元的内容分别是:IPl、IPh、CSl、CSh.2.31 一个可屏蔽中断请求来到时,通常只要中断允许标志为1,便可在执行完当前指令后响应,在哪些情况下有例外?答:1.正好遇到CPU执行封锁指令时,必须等下一条指令执行完后才响应中断。2 .正好执行
23、往段寄存器传送数据的指令,必须等下一条指令执行完后才响应中断。3 .执行WAIT或串操作指令时,可在指令执行中响应中断。2.32在对堆栈指针进行修改时,要特别注意什么问题?为什么?答:1.必须先修改堆栈段寄存器SS的值,接着修改堆栈指针SP的值。2.因为,CPU在修改段寄存器值时不响应中断,待下一条指令执行后才响应中断。这样时SS、SP的修改是一个完整的过程。否则先修改SP后修改SS则可能中断响应而分开修改,导致堆栈指针的错误,因此CS、IP、FR进入错误的堆栈区域而破坏该单元的数据或程序。2.33在编写中断处理子程序时,为什么要在子程序中保护许多寄存器?有些寄存器即使在中断处理子程序中并没有
24、用到也需要保护,这又是为什么(联系串操作指令执行时遇到中断这种情况来回答)?答:1.因为中断处理子程序运行时需耍使用CPU内部的寄存器,这些寄存器的值发生了改变。因此若不加保护在返回原程序时就修改了断点处的现场,而使程序不能正常运行。2.因为串操作指令允许在执行过程中进入中断,若与串操作有关的寄存器未保护好,中断返回时串操作指令就不能正常继续运行。而且还有隐含寻址问题。2.34一个可屏蔽中断响应时,CPU要执行哪些读/写周期?对一个软件中断又如何?答:1.对可屏蔽中断响应,CPU要执行的读/写周期如下:执行两个中断响应总线周期。并取得中断类型码。执行一个总线写周期。标志寄存器FR值入栈。执行一
25、个总线写周期。CS值入栈。执行一个总线写周期。IP值入栈。执行一个总线读周期。读取中断处理子程序入口地址的偏移量一IP。执行一个总线读周期。读取中断处理子程序入口地址的段地址一CS。1.1 是一个软件中断,则跳过上述第步,而执行步。2.35 中断处理子程序在结构上一般是怎样一种模式?答:保护中断时的现场,即保护CPU各寄存器的值。一般应置IF=1来开放中断,以允许级别较高的中断请求进入。中断处理的具体内容。恢复中断时的现场。中断返回指令。2.36 软件中断有哪些特点?在中断处理子程序和主程序的关系匕软件中断和硬件中断有什么不同之处?答:1.软件中断有如下特点:用一条中断指令进入中断处理子程序,
26、并且,中断类型码由指令提供。进入中断时,不需要执行中断响应总线周期。不受中断允许标志IF的影响。软件中断的优先级最高。软件中断没有随机性。2.软件中断允许在主程序和中断处理子程序之间传递数据。而硬件中断由于是随机的,所以不能传递数据。2.37 系统中有多个总线模块时,在最大模式和最小模式下分别用什么方式来传递总线控制权?答:1.8086/8088在最小模式下用总线控制联络信号(HOLD和HLDA)来传递总线控制权。2.8086/8088在最大模式下用总线请求/总线允许信号及释放信号血/的。和部/所i 来传递总线控制权。2.38 8086存储空间最大为多少?怎样用16位寄存器实现对20位地址的寻
27、址?答:1.8086存储空间最大为2?=1MB。2 .采用分段的方法实现16位寄存器实现对20位地址的寻址。物理地址=段基址X 10H+偏移地址2.39 IBM PC/XT系统中,哪个区域为显示缓冲区?哪个区域用来存放中断向量?在FFFF0H到 FFFFFH单元中存放什么内容?答:l.B0000HB0F9FH约4KB为单色显示器的显示缓冲区:B8000BBF3FH约16KB为彩色显示器的显示缓冲区。2.OOOOOH-OO3FFH共1KB区域用来存放中断向量。3 .在FFFF0H到FFFFFH单元中存放条无条件转移指令,转到系统的初始化程序。第三章8086的寻址方式和指令系统略第四章存储器和高速
28、缓存技术4.1 计算机的内存有什么特点?内存由哪两部分组成?外存一般指哪些设备?外存有什么特点?答:1.内存可被CPU直接访问,内存的存取速度快,内存的空间大小受到地址总线位数的限制。2 .内存由ROM和RAM两部分组成。3 .外存一般指软盘、硬盘、磁带机上的磁带及光盘。4 .外存的特点是大容量,所存信息即可修改,又可长期保存。但外存速度慢,要配置专用设备。4.2 用存储器件组成内存时,为什么总是采用矩阵形式?请用一个具体例子进行说明。答:1.为了简化选择内存内部单元的地址译码电路及减少译码线数量。2.例如,要组成1K字节的内存,若不用矩阵组织这些单元,而是将它们一字排开,就要1024条译码线
29、才能实现对这些单元的寻址。译码电路也因此而很复杂。若用32 X32来实现排列,就只要32条行选择线和32条列选择线就可以了。因此其译码电路也将变得较为简单。4.3 为了节省存储器的地址译码电路,一般采用哪些方法?答:存储器件按矩阵排列;内存按模块结构设计;模块内再进行分组处理。4.4 在选择存储器件时,最重要的考虑因素是什么?此外还应考虑哪些因素?答:1.最重要的考虑因素是:易失性、只读性、位容量和速度。2.此外还应考虑:功耗、可靠性和价格等因素。4.5什么叫静态RAM?静态RAM有什么特点?答:1.在电源不断电的情况下,信息一旦写入后不会丢失的RAM就叫静态RAM。2.静态RAM的特点有:不
30、需刷新,因此简化了外部电路:但位容量较类似方法设计的动态RAM少,且功耗较大。4.6静态RAM芯片上为什么往往只有写信号而没有读信号?什么情况下可以从芯片读得数据?答:1.因为在存储器中,当允许信号有效之后,一定是进行读/写操作,非写即读。因此,只用写信号丽就可以即控制写操作,又控制读操作。在写操作时,写脉冲发生器送来一个负脉冲作为写入信号;在读操作时,写脉冲发生器不产生负脉冲,而是使祈端处于高电平,此高电平就用来作为读出信号。2.当芯片允许信号国=0及写信号羽=1时,可以从芯片上读得数据。4.7分?分别产生什么信号?答:1.地址信号分为二个部分。如:A|9A4) A|3A2 An Aq o2
31、.例中A|9AI4用来作为模块选择信号,地址译码器判断A|9A|4给出的模块选择信号和本模块的约定信号是否匹配,如匹配,则再根据MRDC或MWTC产生内部的模块选择信号:A13AI2产生4个矩阵的芯片允许信号;AltA0则作为矩阵内部的行地址和列地址。4.8动态RAM工作时有什么特点?和静态RAM比较,动态RAM有什么长处?有什么不足之处?动态RAM 一般用在什么场合?答:1.动态RAM工作时需要对其存储的信息定时(约2ms)刷新一次。因此需要刷新控制电路来支持。2 .动态RAM的优点(长处)为:动态RAM的位密度高;动态RAM的功耗较低;动态 RAM的价格低廉,适合于大容量使用。3 .动态R
32、AM的缺点(不足之处)为:要配置刷新逻辑电路;在刷新周期中,内存模块不能启动读周期或写周期。4 .动态RAM 一般用在大容量、低功耗场合。4.9动态RAM为什么要进行刷新?刷新过程和读操作比较有什么差别?答:1.因为动态RAM是利用电容的存储作用来保存信息的,但电容由于放电或泄漏,电荷保存时间较短(约2ms),若不及时补充电荷会使存放的数据丢失,因此需定时刷新以补充所需要的电荷。2.刷新过程是由刷新逻辑电路定时完成的,且每次对所有模块的一行同时刷新,数据不输出,数据总线处于高阻状态。读过程是随机的,每次选中一个存储单元(8位),且数据输出到数据总线上。4.10动态RAM控制器完成什么功能? I
33、ntel 8203从功能上分为哪两部分?叙述这两部分的工作原理。答:1.动态RAM控制器要完成的功能有:刷新定时器产生刷新周期并提供各种时序信号,并对CPU的读/写操作及刷新操作进行仲裁:刷新地址计数器提供刷新用的行地址,并通过多路转换器进行地址切换。2.1ntel 8203从功能上分为:地址处理部分和时序处理部分两个。3.地址处理部分用来处理动态RAM正常读/写时的地址信号(正常的行/列地址合用一组地址线的区分)和刷新过程中的地址信号(区分正常的行地址及刷新周期的行地址)。时序处理部分通过一个基准时钟来产生各种时序;通过一个仲裁器来解决刷新请求和内存正常读/写请求之间的矛盾。内部有两级同步电
34、路用来对外部请求信号实现同步。4.11 ROM、PROM、EPROM分别用在什么场合?答:ROM用在一个计算机系统完成开发以后,容纳不再修改的程序和数据。且批量产量要大的场合。PROM用于非批量的场合。EPROM用于软件或系统的开发阶段及批量很小的场合。第五章微型计算机和外设的数据传输5.1 外部设备为什么要通过接口电路和主机系统相连?存储器需要接口电路和总线相连吗?为什么?答:1.因为外设的功能多种多样,对于模拟量信息的外设必须要进行A/D和D/A转换,而对于串行信息的外设则必须转换为并行的信息,对于并行信息的外设还要选通。而且外设的速度比CPU慢的多,必须增加缓冲功能。只有这样计算机才能使
35、用这些外设。而所有这些信息转换和缓冲功能均由接口电路才能完成。2 .存储器不需要接口电路和总线相连。3 .因为存储器功能单一,且速度与CPU相当。因此可直接挂在CPU总线上。5.2是不是只有串行数据形式的外设需要接口电路和主机系统连接?为什么?答:1.不是。并行数据形式的外设也需要接口电路和主机系统连接。2.因为,CPU每次只能访问一个外设,因此并行信息的外设需增加选通功能,才能满足CPU的访问要求,必须用接口电路。5.3接口电路的作用是什么?按功能可分为几类?答:1.接口电路的作用就是在外设和CPU之间起信息变换和缓冲功能。2.按功能可分为两类:种是使微处理器正常工作所需要的辅助电路。另一种
36、是输入/输出接口电路。5.4数据信息有哪几类?举例说明它们各自的含义。答:1.数据信息有四类:数字量、模拟量、开关量、脉冲量。2.如键盘、磁带机等就是数字量信息;温度、湿度、压力等转换的电信号就是模拟量;电机的起停、发光设备的亮灭等都是开关量;计数脉冲、定时脉冲等都是脉冲量。5.5 CPU和输入/输出设备之间传送的信息有哪儿类?答:有数据信息、控制信息、状态信息三类。5.6 什么叫端口?通常有哪几类端口?计算机对I/O端口编址时通常采用哪两种方法?在8086/8088系统中,用哪种方法对I/O端口进行编址?答:1.CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为
37、I/O端口。2 .有数据端口、控制端口、状态端口三类。3 .在微型计算机中通常用两种I/O端口编址方式:存储器映象寻址和I/O端口单独寻址。4 .在8086/8088系统中,用I/O端口单独寻址方式编址。5.7 为什么有时候可以使两个端口对应一个地址?答:因为这两个端口一个是只读端口,一个是只写端口。而CPU对一个I/O端口地址可进行读/写两种访问。如果将这两个只读和只写端口编为一个地址,则CPU对该端口地址读操作对应的是只读端口; CPU时该端口地址写操作则对应的是只写端口,互不影响。因此可以使两个单向的只读和只写端口对应一个端口地址。5.8 CPU和外设之间的数据传送方式有哪几种?实际选择
38、某种传输方式时,主要依据是什么?答:1.CPU和外设之间的数据传送方式有三种:程序方式、中断方式、DMA方式。2.主要依据是外设的情况(外设的速度和外设提供信息的方式)。5.9无条件传送方式用在哪些场合?画出无条件传送方式的工作原理图并说明。答:1.无条件传送方式只用在对一些简单外设进行操作的场合。如开关、LED显示等。2.无条件传送方式的工作原理图:(见书203页图5.2所示)在无条件输入时:CPU执行一条输入指令,使函和M/记信号为有效低电平,并对应送出该端口地址,因此选中输入缓冲器,打开其三态门,使输入缓冲器的数据经数据总线送到CPU的累加器中。在无条件输出时:CPU执行一条输出指令,使
39、而和M/记信号为有效低电平,并对应送出该端口地址,因此选中输出锁存器,将由累加器送到数据总线上的数据打入输出锁存器中供外设使用。5.10条件传送方式的工作原理是怎样的?主要用在什么场合?画出条件传送(查询)方式输出过程的流程图。答:1.条件传送方式的工作原理是:外设给CPU提供一个状态信息,当CPU要访问外设时,必须先检测该状态信息是否合乎要求,不停检测直至合乎要求时才进行CPU对外设的访问。2 .查询方式主要用在外设较少,数据交换不频繁的非实时系统的场合。3 .查询式输出过程的流程图如右:5.11 设一个接口的输入端口地址为0100H,而它的状态端口地址为0104H,状态口中第5位为1表示输
40、入缓冲区中有一个字节准备好,可输入。设计具体程序实现查询式输入。答:DATA SEGMENTBUFFER DB 20 DUP(?);接收数据缓冲区DATA ENDS后续处理CODE SEGMENTASSUME DS:DATA, CS:CODESTAT:MOVAX, DATA;对DS初始化MOVDS, AXMOVDI, OFFSET BUFFERMOVDX,0104HSTATIN:INAL, DXTESTAL,20H;测试第5位JZSTATIN;第5位为0继续测试MOVDX,0100HINAL, DX;输入数据MOVDI, ALCODEENDSENDSTAT5.12 查询式传送方式有什么缺点?中
41、断方式为什么能弥补查询方式的缺点?答:1.查询式传送方式缺点是:花费CPU的时间作等待循环,大大降低了 CPU的运行效率。2.中断方式是在外设准备就绪时向CPU申请中断,再进行传送,因而CPU无需花费时间作等待循环,弥补了查询方式的缺点。5.13 画一个用中断方式进行输出传输的接口电路。答:中断方式输出的接口电路如下:中断屏蔽 触发器ttHIABINTR (中断请求)5.14 叙述可屏蔽中断的响应和执行过程。答:接口发中断请求信号。CPU的IF=1时,当前指令执行完后,CPU进行中断回答,发两个而负脉冲。接口将中断类型号n送CPU。当前的PSW、CS和IP推入堆栈,并清除IF和TF。(4Xn)
42、作为IP,(4Xn+2)作为CS,即取中断向量。执行中断子程序,并开中断。中断返回IRET指令使IP、CS和PSW弹出堆栈。返回被中断的程序。5.15通常解决中断优先级的方法有哪几种?各有什么优缺点?答:1.有软件查询方式、简单硬件方式菊花链法、专用硬件方式三种。2.软件查询方式的优点是节省硬件,缺点是中断响应时间长;简单硬件方式的优点是中断响应时间短,硬件较简单,缺点是优先级固定,变动起来很麻烦:专用硬件方式优点是对优先级可编程修改,中断管理非常方便,缺点是硬件复杂的多,好在有专用的中断控制器。5.16 和DMA比较,中断传输方式有什么不足之处?答:CPU执行一次传送要花费许多与传送操作无关
43、的指令执行等时间,另外中断传送方式不能进行数据块传送,而是按字节或字传送。5.17 叙述用DMA方式传送单个数据的全过程。答:接口准备就绪,发DMA请求信号给DMA控制器。DMA控制器向CPU转发总线请求信号HOLDoCPU向DMA控制器发总线请求允许信号HLDA, DMA控制器得到总线控制权。DMA控制器把地址送地址总线。DMA控制器向接口发DMA请求确认信号。内存和接口通过数据总线传送数据。DMA控制器撤销总线请求信号HOLD。8086 CPU收回总线控制权。5.18 DMA控制器的地址线为什么是双向的?什么时候往DMA控制器传输地址?什么时候DMA控制器往地址总线传输地址?答:1.因为D
44、MA控制器要接受CPU的控制,接收CPU发来的初始化等信息,这要求地址线来寻址各端口,地址线为输入线。又因为DMA控制器可控制总线,这要求地址线为输出。所以地址线必须为双向才行。2 .CPU要对DMA控制器发初始化信息时,必须往DMA控制器传输地址。3 .DMA控制器得到总线控制权后,向地址总线传输地址。5.19在设计DMA传输程序时,要有哪些必要的模块?设计一个启动数据块输出的程序段。答:1.要有DMA的初始化模块:对字节计数器、地址寄存器和控制寄存器置初值。还要有对接口部件设置控制字的模块:指出数据传输方向,并启动I/O操作。2.启动数据块输出的程序段如下:IDLO: INAL, INTS
45、TAT;接口状态寄存器的状态位(2)是否忙TESTAL,04JNZIDLO;忙,则等待MOVAX, COUNT;不忙,则设置计数初值OUTBYTE.REG, AX;对字节计数器BYTE_REG初始化LEAAX, BUFFER;设置地址初值OUTADD.REG, AX;对DMA地址寄存器ADD_REG初始化MOVAL, DMAC;取原DMA控制字ORAL,08H;设置方向为输出OUTDMACON, AL;置DMA控制字MOVAL, INTC;取原接口控制字ORAL,04H;设置传输方向为输出及允许OUTINTCON, AL;置接口控制字后续处理5.20在查询方式、中断方式和DMA方式中,分别用什
46、么方法启动数据传输过程?答:查询方式:通过程序来检测接口中状态寄存器中的“准备好”位,以确定当前是否可以进行数据传输。中断方式:当接口中已经有数据要往CPU输入或者准备好接收数据时,接口会向 CPU发一个外部中断请求。CPU响应中断后,便通过运行中断处理程序来实现输入/输出。DMA方式:外设要求传送数据时,接口会向DMA控制器发DMA请求信号,DMA 控制器转而向CPU发一个总线请求信号,以请求得到总线控制权,如果得到CPU 允许,那么,就可在没有CPU参与的情况下,实现DMA传输。第六章串并行通信和接口技术6.1 接口部件为什么需要有寻址功能?设计一个用74LS138构成的译码电路,输入为A3、N、A5, A8,输出8个信号以对8个接口部件进行选择。想一想如果要进一步对接口中的寄存器进行寻址,应该怎样实现?答:1.因为,首先接口要对选择M和I/O的信号能够做出解释;此外,要对送来的片选信号进行识别,以便判断当前本接口是