第1页共70页微型计算机技术及应用习题答案第一章微型计算机概述1.1微处理器、微型计算机和微型计算机系统三者之间有什么不同?答:①微处理器是微型计算机的核心,是微型计算机的一部分。它是集成在一块芯片上的CPU,由运算器和控制器组成。②微型计算机包括微处理器、存储器、I/O接口和系统总线,是微型计算机系统的主体。③微型计算机系统包括微型计算机、外设及系统软件三部分。1.2CPU在内部结构上由哪几部分组成?CPU应具备哪些主要功能?答:1.CPU在内部结构上由以下几部分组成:①算术逻辑部件(ALU);②累加器和通用寄存器组;③程序计数器(指令指针)、指令寄存器和译码器;④时序和控制部件。2.CPU应具备以下主要功能:①可以进行算术和逻辑运算;②可保存少量数据;③能对指令进行译码并执行规定的动作;④能和存储器、外设交换数据;⑤提供整个系统所需要的定时和控制;⑥可以响应其他部件发来的中断请求。1.3累加器和其他通用寄存器相比,有何不同?答:许多指令的执行过程以累加器为中心;输入/输出指令一般也以累加器来完成。1.4微处理器的控制信号有哪两类?答:一类是通过对指令的译码,由CPU内部产生的。这些信号由CPU送到存储器、I/O接口电路和其他部件。另一类是微型机系统的其他部件送到CPU的。通常用来向CPU发出请求。如中断请求、总线请求等。1.5微型计算机采用总线结构有什么优点?答:首先是系统中各功能部件之间的相互关系变为各个部件面向总线的单一关系。其次是一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中,使系统功能第2页共70页得到扩充。1.6数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么,要靠什么来区分地址或数据?答:1.数据总线是双向三态;地址总线是单向输出三态。2.数据和地址复用时,必须有一个地址选通信号来区分该总线上输出的是地址还是数据。1.7控制总线传输的信号大致有哪几种?答:包括CPU送往存储器和I/O接口的控制信号,如读信号、写信号、中断响应信号、存储器和I/O接口区分信号等。还包括其他部件送到CPU的信号,如时钟信号、中断请求信号、准备就绪信号等。第二章8086微处理器2.1总线接口部件有哪些功能?请逐一进行说明。答:1.总线接口部件的功能是负责与存储器、I/O端口传送数据。2.具体讲:①总线接口部件要从内存取指令送到指令队列;②CPU执行指令时,总线接口部件要配合执行部件从指定的内存单元或者外设端口中取数据,将数据传送给执行部件,或者把执行部件的操作结果传送到指定的内存单元或外设端口中。2.28086的总线接口部件由哪几部分组成?答:4个段地址寄存器CS、DS、ES、SS;16位的指令指针寄存器IP;20位的地址加法器;6字节的指令队列。2.3段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗?答:1.该指令的物理地址=CS×10H+IP=21F00H。2.指向这一物理地址的CS值和IP值不是唯一的。2.48086的执行部件有什么功能?由哪几部分组成?答:1.8086的执行部件的功能是负责指令的执行。2.4个通用寄存器AX、BX、CX、DX;4个专用寄存器BP、SP、SI、DI;标志寄存器FLAGS和算术逻辑单元ALU。2.5状态标志和控制标志有何不同?程序中是怎样利用这两类标志的?8086的状态标志和控第3页共70页制标志分别有哪些?答:1.不同之处在于:状态标志由前面指令执行操作的结果对状态标志产生影响,即前面指令执行操作的结果决定状态标志的值。控制标志是人为设置的。2.利用状态标志可进行计算和判断等操作。利用控制标志可对某一种特定功能(如单步操作、可屏蔽中断、串操作指令运行的方向)起控制作用。3.8086的状态标志有:SF、ZF、PF、CF、AF和OF计6个。8086的控制标志有:DF、IF、TF计3个。2.68086/8088和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?答:1.传统的计算机在执行指令时,指令的提取和执行是串行进行的。8086/8088CPU的总线接口部件和执行部件在提取和执行指令时是并行同时工作的。2.8086/8088CPU的设计思想有力地提高了CPU的工作效率,这也正是8086/8088成功的原因之一。2.7总线周期的含义是什么?8086/8088的基本总线周期由几个时钟组成?如一个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发一个“数据未第4页共70页准备好的信号”,于是CPU会在T3之后插入一个或多个附加的时钟周期TW。3.TW插在T3状态之后,紧挨着T3状态。4.插入的TW状态时的总线上的信息情况和T3状态的信息情况一样。当CPU收到存储器或外设完成数据传送时发出的“准备好”信号时,会自动脱离TW状态而进入T4状态。2.9从引腿信号上看,8086和8088有什么区别?答:①8086有16根数据/地址复用总线,8088只有8根,称AD7~AD0。②8086的第28腿为M/IO,8088的第28腿为M/IO(为兼容8080等)。③8086的第34腿为BHE/S7,8088的第34腿为0SS。2.10在对存储器和I/O设备读写时,要用到IOR、IOW、MR、MW信号,这些信号在最大模式和最小模式时分别可用怎样的电路得到?请画出示意图。答:1.最小模式(以8086为例):2.最大模式:用8288总线控制器来实现。2.11CPU启动时,有哪些特征?如何寻找8086/8088系统的启动程序?答:1.CPU启动时,有以下特征:①内部寄存器等置为初值;②禁止中断(可屏蔽中断);③从FFFF0H开始执行程序;④三态总线处于高阻状态。2.8086/8088系统的启动程序从FFFF0H单元开始的无条件转移指令转入执行。2.12CPU在8086的微机系统中,为什么常用AD0作为低8位数据的选通信号?答:因为每当CPU和偶地址单元或偶地址端口交换数据时,在T1状态,AD0引腿传送的地址信号必定为低电平。而CPU的传输特性决定了只要是和偶地址单元或偶地址端口交换数据,则CPU必定通过总线低8位即AD7~AD0传输数据。可见AD0可以用来作为接于数据总线低8位上的8位外设接口芯片的选通信号。2.138086和8088在最大模式或最小模式时,引腿信号分别有什么不同?M/IORDIORM/IOWRIOWM/IORDMRM/IOWRMW第5页共70页答:在此两种模式中,只有第24~31腿的信号不同。引腿号2425262728293031最小模式信号INTAALEDENDT/RM/IOWRHLDAHOLD最大模式信号QS1QS00S1S2SLOCKRQ/1GTRQ/0GT另外8088的第34腿在最大模式时为高电平,最小模式时为SS0状态信号。8088的第28腿在最小模式时为M/IO信号。2.148086和8088是怎样解决地址线和数据线的复用问题的?ALE信号何时处于有效电平?答:1.在总线周期的T1状态,复用总线用来输出要访问的存储器或I/O端口的地址给地址锁存器8282(3片)锁存;在其他状态为传送数据或作传送准备。地址锁存器8282在收到CPU发出的地址锁存允许信号ALE后,锁存地址。2.ALE信号在每个总线周期的T1状态为有效高电平。2.15BHE信号和A0信号是通过怎样的组合解决存储器和外设端口的读/写的?这种组合决定了8086系统中存储器偶地址体及奇地址体之间应该用什么信号来区分?怎样区分?答:1.组合情况如下:BHEA0操作所用的数据引腿00从偶地址开始读/写一个字AD15~AD010从偶地址单元或端口读/写一个字节AD7~AD001从奇地址单元或端口读/写一个字节AD15~AD801从奇地址开始读/写一个字(在第一个总线周期,将低8位数送AD15~AD8,在第二个总线周期,将高8位数送AD7~AD0)AD15~AD8AD7~AD0102.用A0信号来区分偶地址体和奇地址体。3.当A0=0时选中偶地址体,A0=1时选中奇地址体。2.16RESET信号来到后,CPU的状态有哪些特点?答:复位信号来到后,CPU便结束当前操作,并对处理器标志寄存器FR、IP、DS、SS、ES、其他寄存器及指令队列清0,而将CS设置为FFFFH。当复位信号变为低电平后,CPU从FFFF0H单元开始执行程序。第6页共70页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又获得了地址/数据总线和控制状态线的占有权。2.时序图为:2.198086系统在最小模式时应该怎样配置?请画出这种配置并标出主要信号的连接关系。答:1.8086系统在最小模式时的配置是:8086CPU一片,8284A时钟发生器一片,8282地址锁存器三片,8286总线收发器二片。2.连接关系为:采样高阻T4/TI采样三态引腿HLDAHOLDCLKCLKRESETREADYALEBHEA19~A16AD15~AD0DEN8284ARESETREADY控制总线8282(3片)STB8286(2片)OET地址总线数据总线BHE第7页共70页2.20时钟发生器的功能是什么?画出它的线路图。答:1.时钟发生器的功能是:提供频率恒定占空比符合标准的时钟信号,对准备好(READY)和复位(RESET)信号进行同步。2.线路图见书21页图2.7所示。2.218086在最大模式下应当怎样配置?最大模式时为什么一定要用总线控制器?总线控制器的输入信号是什么?输出信号是什么?答:1.8086在最大模式下的配置是:8086CPU一片,8284A时钟发生器一片,8282地址锁存器三片,8286总线收发器二片,8288总线控制器一片,