第1章80x86微处理器体系结构1.微处理器、微型计算机和微型计算机系统三者之间有什么不同?2.CPU在内部结构上由哪几部分组成?各部分具备哪些主要功能?8086/8088CPU在内部结构上设计为两个独立的功能部件:执行部件EU和总线接口部件BIU。EU负责全部指令的执行,向BIU提供数据和所需访问的内存或I/O端口的地址,并对通用寄存器、标志寄存器和指令操作数进行管理。BIU是CPU同存储器和I/O设备之间的接口部件,负责CPU与存储器和I/O端口传送信息。3.8086状态标志和控制标志分别有哪些?程序中如何利用这些标志?6位状态标志为:⑴符号标志SF:若运算结果的最高位为1。则SF=1,否则为0。⑵零标志ZF:若运算结果为零,则ZF=1,否则ZF=0。⑶奇偶标志PF:若指令的执行结果低8位中1的个数为偶数,则PF=1,否则为0。⑷进位标志CF:当执行一个加法运算使最高位(字节操作的D7或字操作的D15)产生进位,或执行减法运算使最高位产生借位时,则CF=1,否则CF=0。⑸辅助进位标志AF:当执行加法运算时,D3位向D4有进位,或作减法运算时,D3位向D4有借位,则AF=1,否则为0。⑹溢出标志OF:在算术运算中,当补码运算结果超出了带符号数的表达范围,即字节运算的结果超出-128~+127,或者字运算结果超出-32768~+32767时,OF=1,否则为0。3位控制标志为:⑴方向标志DF:这是处理串操作指令中信息方向的标志。若DF=1,则串操作指令按自动减址操作,即串操作从高地址向低地址方向进行处理;若DF=0,则使串操作指令按自动增量修改地址指针,即串操作从低地址向高地址方向进行处理。⑵中断允许标志IF:该标志用于对可屏蔽中断进行控制,若IF=0,则CPU拒绝外部INTR中断请求,本标志对内部中断和不可屏蔽中断不起作用。⑶跟踪标志TF:若设置TF=1,则CPU按单步方式执行指令,以调试程序。4.简述8086主要控制信号M/IO,WR,RD,ALE,INTR,INTA,NMI的意义。M/IO为高电平时,是存储器周期;M/IO为低电平时,是I/O周期。WR:写作中在T2~T3周期为低电平RD:读操作中在T2~T3周期为低电平ALE:地址锁存允许信号(输出),这是8086CPU在总线周期的第一个时钟周期内发出的正脉冲信号,其下降沿用来把地址/数据总线(AD15~AD0)以及地址/状态总线(A19/S6~A16/S3)中的地址信息锁存入地址锁存器中。INTR:可屏蔽中断请求信号。在每条指令的最后一个时钟周期,8086CPU将采样该引脚信号,若INTR为高电平,且8086CPU的IF为1,则8086CPU将执行一个中断响应时序,控制转移到相应的中断服务程序。如果IF=0,则8086不响应该中断请求,继续执行下一条指令。即INTR信号可由软件复位CPU内部的IF位而加以屏蔽。INTA:为中断响应信号(输出、三态),当8086CPU响应来自INTR引脚的可屏蔽中断请求时,在中断响应周期内,INTA变为低电平。NMI:不可屏蔽中断请求信号(输入)。当NMI从低电平变为高电平时,该信号有效,8086CPU在完成当前指令后,转移到不可屏蔽中断服务程序。5.中断响应过程中,8086向8259发两个INTA信号,分别起什么作用?8086CPU在响应中断时CPU执行两个中断响应周期INTA,在第一个中断响应周期INTA负脉冲作为对中断请求设备的响应;第二个中断响应周期INTA负脉冲,通知中断请求设备把中断类型码送到数据/地址总线的低8位AD7~AD06.根据8086存储器读、写时序图,回答如下问题(1)地址信号在哪段时间内有效?(2)读操作与写操作的区别?(3)存储器读、写时序同I/O读、写时序的区别?(1)地址信号A0~A19在T1周期有效。(2)读操作与写操作的主要区别为:①DT/控制信号在读周期中为低电平,在写周期中为高电平。②在读周期中控制信号在T2~T3周期为低电平(有效电平),信号始终为高电平(无效电平);在写周期中控制信号在T2~T3周期为低电平(有效电平),信号始终为高电平(无效电平)。③在读周期中,数据信息一般出现在T2周期以后,双重总线AD0~AD15上的地址信号有效和数据信息有效之间有一段高阻态,因为AD0~AD15上的数据必须在存储芯片(或I/O接口电路)的存取时间后才能出现。而在写周期中数据信息在双重总线上是紧跟在地址总线有效之后立即由CPU送上两者之间无一段高阻态。(3)存储器操作同I/O操作的区别是:7.简述8086的最小方式和最大方式。8086微处理器有两种工作方式。最小方式是当MN/MX引脚接高电平时,对内存储器和I/O接口所需的控制信号都由CPU直接提供的单处理器方式。而最大方式则是当MN/MX引脚接地时,对内存储器和I/O接口所需的控制信号要由专用的总线控制器8288提供的多处理器(或协处理器)方式。三第3章微型计算机接口技术概述1.接口电路的作用是什么?I/O接口应具备哪些功能?所谓接口(Interface)就是微处理器CPU与外设的连接电路,是CPU与外界进行信息交换的中转站。具有如下功能:(1)数据缓冲功能;(2)接受和执行CPU命令的功能;(3)信号转换功能;(4)设备选择功能(即可寻址);(5)中断管理功能;(6)数据宽度变换功能;(7)可编程功能;(8)可复位(Reset)2.计算机与外设交换信息有几种方式?各有什么特点?传送控制方式一般有四种,即程序控制方式、中断方式、DMA方式和处理机方式。特点是:1.程序控制方式通常又分为无条件传送和条件传送两种方式。无条件传送方式所需的条件就是:CPU与外设能准确同步。无条件传送方式一般只需要数据端口。查询方式是先检查后传送,采用查询方式的接口一般需要两个端口,即数据端口和状态端口。2.中断方式具有实时性。适于CPU任务较忙,I/O设备速度不太高的系统中,尤其是实时控制和紧急事件的处理。3.DMA方式把I/O操作过程中外设与内存交换信息的控制交给了DMA控制器,实质上是在硬件控制下完成数据传输,大大提高了传输速率,这对大批量数据高速传送特别有用。4.处理机方式专用I/O处理器能够直接存取系统主存储器,当CPU需要进行I/O操作时,就在内存中建立一个信息块,将所需要的操作和有关参数按规定列入,然后通知I/O处理器来读取。专用I/O处理器读得操作控制信息后,自动完成全部I/O操作。3.什么是I/O端口,CPU如何访问I/O端口?通常把I/O接口电路中能被CPU直接访问的寄存器或某些特定的器件称之为端口。I/O端口是CPU与I/O设备直接通信的地址。CPU可以通过这些端口发送命令、读取状态和传送数据。在统一编址方式中,可以将I/O端口看作是内存单元来访问。独立编址方式中,处理器有专门的I/O指令访问I/O端口。4.I/O寻址方式有几种?在地址译码电路中设AEN=0,这有何意义?00~FFH范围内的端口,用端口直接寻址。端口地址大于255(FFH)的端口用DX间址,此时DX中内容是端口地址,称为端口间接寻址。AEN参加译码,只有当AEN=0时,即不是DMA操作时,译码才有效;当AEN=1时,即DMA操作时,译码无效。从而避免了在DMA周期,由DMA控制器对这些外部设备进行读/写操作。5.总结各种地址译码电路的优缺点。若接口电路中需要多个端口地址时,则采用译码器译码比较方便。门电路译码是一种最简单最基本的端口地址译码方法。如果用户要求端口地址能适应不同的地址分配场合,或为系统以后扩充留有余地,则可以使用可选端口地址译码。6.I/O端口地址译码一般原则是什么?端口地址译码信号同IOR或IOW结合起来一同控制对I/O端口的读或写操作。7.图3.6中,通过DIP开关设定Q7~Q0为01110000B,写出当Y0=0时,读写端口地址。当Q7~Q0为01110000B,Y7=0呢?当DIP开关设定Q7~Q0为01110000B,Y0=0时,端口地址是380H。开关设定Q7~Q0为01110000B,Y1=0时,端口地址是387H。8.图3.5所示PC机系统板上的地址译码电路有何特点?写出PC机系统板上8259,8253,8255,8237的端口地址范围。8259端口地址范围:20H~21H8253端口地址范围:40H~43H8255端口地址范围:60H~63H8237端口地址范围:00H~0FH9.PC机可访问的I/O端口有1024个,为什么?因为PC机I/O端口地址译码使用10根地址线A0~A9,所以PC机可访问的I/O端口有1024个(000H~3FFH)。10.图3.8所示电路,若地址线A9~A2为11001010B,所选单元存储数据为0H,则74LS138译码器输出地址有效地址范围是什么?若地址线A9~A2为11001000B,所选单元存储数据为6H呢?若地址线A9~A2为11001010B,所选单元存储的数据为06H,则74LS138译码器,有效地址范围是328H~32BH11.I/O端口寻址方式分两种,一种是存储器映射方式,即把统一编址,所以这种编址方式也称之为统一编址方式;另一种是I/O映射方式,即把分别进行独立编址,也称之为独立编址。(1)端口地址与存储器地址;(2)I/O端口地址与存储器地址。12.统一编址和独立编址的优缺点各是什么?统一编址:独立编址:统一编址不设专门的I/O指令,内存指令均可用于外设,能提供极大的方便;但I/O端口占用了内存地址,就相对减少了内存可用范围。独立编址中内存地址和I/O端口地址相对独立,易于辨认内存和I/O端口的指令;但用于I/O端口的指令功能较弱,在I/O操作中必须通过CPU寄存器进行中转才能完成。13.程序查询I/O的流程总是按()次序完成一个字符的传输。A)读状态端口,写数据端口,读控制端口B)写数据端口,读状态端口,写控制端口C)读状态端口,读/写数据端口D)随I/O接口具体要求而定14.CPU对DMA控制器提出的总线请求响应要比中断请求响应快,其原因是()。A)只需完成访问内存操作B)只需释放总线控制权C)无须保留断点现场D)有硬件控制器15.PC系列微机系统支持的端口数目是个,其端口地址空间是从,其有效的译码地址是这根地址线。(1)1024;(2)000~3FFH;(3)A0~A9;(3)10。16.在设计I/O设备接口卡时,选用I/O端口地址应注意些什么?(1)被系统配置占用了的端口地址一律不能使用;(2)未被系统占用的地址用户都可以使用,但对计算机厂家申明保留的地址不要使用;(3)用户可使用300H~31FH,这是PC系列微机留作实验卡用的。17.I/O端口地址译码电路除了要受A0~A9这10根地址线所限定的地址范围之外,还要考虑下面的一些控制信号,请举两例:(1)利用IOR、IOW信号控制对端口的读写。(2)用OCS16信号控制是8位还是16位的I/O端口。(3)用SBHE(或BHE)信号控制端口奇偶地址。(4)用AEN信号控制非DMA传送。18.按照I/O地址译码电路采用的元器件来分,可分为译码、译码和译码;按译码电路的形式来看,又可分为译码和译码。门电路;译码器;PLD;固定式;可选式。19.用门电路进行端口地址译码是一种最以简单最基本的端口地址译码方法。AEN参加译码,它对端口地址译码进行控制,只有当AEN=时,即时译码才有效,反之使译码无效。从而避免了在DMA周期,由DMA控制器对这些I/O端口地址的非DMA传送方式的外部设备进行读/写操作。20.3-8译码器74LS138是最常用的译码电路之一,它的3个输入控制端是G1、G2A、G2B,只有当G1=1,G2A=G2B=0时,才允许对输入端A、B、C进行译码。(请判断这段话的正误)正确。21.若接口电路中需要使用多个端口地址时,则采用来译码比较方便。如果用户要求接口卡的端口地址能适应不同的地址分配场合,或为系统以后扩充留有余地,则可以使用来译码。A、门电路端口地址译码B、译码器端口地址译码C、开关式可选端口地址译码B;C。22.下图