您好,欢迎访问三七文档
第六章输入和输出内容提要:1.外设接口功能、一般结构;2.I/O端口编址方式、端口地址形成;3.I/O数据传送方式:程序控制传送方式:无条件传送方式、查询传送方式;中断传送方式;DMA方式。4.8086CPU的I/O。5.8237DMA控制器学习目标:1.掌握CPU寻址外设的方式、外设端口种类、编址方式、CPU与外设间传送信息的种类2.理解程序控制传送方式、中断传送方式3.了解DMA方式的特点4.掌握8086CPUI/O特点难点:DMA方式。学时:6作业:一、填空1.对I/O端口的编址一般有方式和方式。PC机采用的是方式。2.在PC系列微机中,I/O指令采用直接寻址方式的I/O端口有个。采用DX间接寻址方式可寻址的I/O端口有个。3.一个称为一个端口,8086共有个端口。4.接口的基本功能是和。5.数据的输入/输出指的是CPU与进行数据交换。6.数据输入/输出的三种方式是、和。7.CPU在执行OUTDX,AL指令时,寄存器的内容送到地址总线上,寄存器的内容送到数据总线上。8.当CPU执行INAL,DX指令时,M/IO引脚为电平,RD为,WR为。二、应用题1.有一个CRT终端,其输入/输出数据端口地址为01H,状态端口地址为00H,其中D7状态位为TBE,若其为1,则表示缓冲区为空,CPU可向数据端口输出新的数据,D6状态位为RDA,若其为1,则表示输入数据有效,CPU可从数据端口输入数据。1.编程从CRT终端输入100个字符,送到RES开始的内存单元中;2.编程从BUF开始的100个字节单元中的数据,送到CRT终端。一、概述1.外设接口的一般结构通常含有数据端口、状态端口、控制端口,分别存放数据信息、状态信息、控制信息。1)数据信息:按一次传送数据的位数分为并行传送和串行传送两种方式;2)状态信息:外设或I/O接口表明当前的状态。CPU只能读。3)控制信息:CPU向外设发出的控制信号或CPU写到可编程外设接口电路芯片的控制字等。CPU只能写。2.外设接口的功能外设接口:为使CPU与外设相连接而专门设计的逻辑电路和相关的软件(如初始化),它是CPU与外设进行信息交换的桥梁。功能如下:1)转换信息格式:如正负逻辑转换,串并行数据转换等;2)提供有关数据传送的联络信号;3)一个输入接口必须具有三态缓冲功能,一个输出接口应具有数据锁存功能,以供外设分时复用或协调CPU与外设数据处理速度上的差异;4)进行地址译码或设备选择;5)进行中断管理;6)实现电平转换;7)提供时序控制功能。三、I/O端口编址方式和寻址方式1)统一编址方式及其对应的寻址方式:①定义:统一编址方式是指把I/O端口和存储单元统一编址,即把I/O端口看成是存储器的一部分,一个I/O端口的地址就是一个存储单元的地址;②优点:CPU访问存储单元的所有指令都可用于访问I/O端口,CPU访问存储单元的所有寻址方式也就是CPU访问I/O端口的寻址方式;③缺点:a.I/O端口占用了内存空间;b.是访问存储器还是访问I/O端口在程序中不能一目了然。2)独立编址方式①定义:是指把I/O端口和存储单元各自编址,即使地址编号相同也无妨。②优点:a.I/O端口不占用内存空间;b.访问I/O端口指令仅需两个字节,执行速度快;c.读程序时只要是I/O指令,即知是CPU访问I/O端口。③缺点:a.要求CPU有独立的I/O指令;b.CPU访问I/O端口的寻址方式少。(仅有端口直接寻址和DX寄存器间接寻址两种寻址方式)。二、输入/输出数据传送方式主机(CPU+内存)和外设之间数据传送的方式通常有三种:程序控制传送方式、中断传送方式和DMA(直接存储器存取方式)。一、程序控制传送方式是由程序来控制CPU和外设之间的数据传送,可分为无条件传送和查询传送。1)无条件传送方式(又称同步传送方式)假设外设已作好传送数据的准备,因而CPU直接与外设传送数据而不必预先查询外设的状态。适用场合:适用于外部控制过程的各种动作时间是固定的且是已知的场合。优点:无条件传送是最简便的传送方式,它所需的硬件和软件都很少,且硬件接口电路简单。缺点:这种传送方式必须在已知且确信外设已准备就绪的情况下才能使用,否则出错。1)查询传送方式(又称异步传送方式)进行数据传送前,程序首先检测外设状态端口的状态,只有在状态信息满足条件时,才能通过数据端口进行数据传送,否则程序只能循环等待或转入其它程序段。适用场合:CPU与外设工作不同步。①查询式输入实现查询式输入的接口电路见图6.3。当输入设备数据准备好,就发低电平有效的选通信号,其作用有二:a.作为8位锁存器的控制信号,当=0时,输入设备的数据被送入锁存器;b.使D触发器的输出端Q端变成高电平,表示外设已准备好,接口电路已有外设送来的数据。当CPU要从外设输入数据时,先从状态口读READY状态(在CPU数据总线的D0上),当READY=1,从数据端口读入数据,同时把D触发器清零(即READY=0),以准备接收下一个数据。注意点:数据和状态端口的地址是不同的,状态信息往往是1位的。①查询式输出当CPU将数据输出到外部设备时,由于CPU传送数据速度很快,如果外设不及时将数据取走,CPU就不能再向外设输出数据,否则,数据会丢失。因此,外设取走一个数据就要发一个状态信息,告诉CPU数据已被取走,可以输出下一个数据。实现查询式输出的接口电路见图6.4。①查询传送方式的缺点:CPU要不断地查询外设,当外设没有准备好时,CPU要等待,而许多外设的速度比CPU要慢得多,CPU的利用率不高。二、中断传送方式通常是在程序中安排好在某一时刻启动外设,然后CPU继续执行其程序,当外设完成数据传送的准备后,向CPU发出中断请求信号,在CPU可以响应中断的条件下,CPU暂停正在运行的程序,转去执行中断服务程序,在中断服务程序中完成一次CPU与外设之间的数据传送,传送完成后立即返回,继续执行原来的程序。中断接口电路参见图6.5。一、DMA方式是在外设和内存之间以及内存与内存之间开辟直接的数据通道,CPU不干预传送过程,整个传送过程由硬件来完成而不需要软件介入。在DMA方式中,对数据传送过程进行控制的硬件称为DMA控制器。DMA控制器必须具有以下功能:1)能接收外设的DMA请求DREQ,并能向外设发出DMA响应信号DACK;2)能向CPU发出总线请求信号HOLD,当CPU发出总线响应信号HLDA后,能接管对总线的控制,进入DMA方式;3)能发出地址信息,对存储器寻址并修改地址指针;4)能发出读、写等控制信号,包括存储器读写信号和I/O读写信号;5)能决定传送的字节数,并能判断DMA传送是否结束;6)能发出DMA结束信号,释放总线,使CPU恢复正常工作。具有上述功能的DMA控制器工作示意图见图6.6。三、8086CPU的输入/输出一、8086的I/O端口采用独立编址时,由专门设置的IN和OUT指令最多可访问64K个8位端口或32K个16位端口;二、8086CPU和I/O接口电路之间的数据通路是分时复用的地址/数据总线;三、8086CPU与外设交换数据可以字或字节进行。当以字节进行时,偶地址端口的字节数据在低8位数据线D7~D0上传送,奇地址端口的字节数据在高8位数据线D15~D8上传送。若外设的数据线只有8根,应使同一台外设的所有端口地址都是偶地址或都是奇地址。此时,地址线A0不能用作寻址同一外设接口的不同端口的地址位。四、DMA控制器8237主要技术特性1)有四个完全独立的DMA通道,它们可以分别编程控制4个不同的DMA操作对象;2)能分别允许或禁止各通道的DMA请求;3)每一个通道的DMA请求有不同的优先权,优先权可以是固定的,也可以是旋转的(由命令寄存器的D4位设定);4)可以在存储器与外设之间进行数据传送,也能进行存储器到存储器之间的数据传输;5)存储器的寻址范围为64KB,能在每传送一个字节后地址自动加1或减1;6)对于时钟为5MHz的8237-5,其传输速率高达1.6MB/s;7)可以用级连的方法无限地扩展DMA通道数;8)具有控制DMA结束传送的输入信号引脚,允许外界用此输入信号结束DMA传送;9)DREQ和DACK信号的有效性可以用软件分别设置;10)8237的DMA传送方式可以用软件设置为单字节传送方式、成组传送方式、请求成组传送方式和级连方式。五、8237的工作周期有空闲周期和有效周期,每个周期又由若干个时钟周期组成。1)空闲周期当8237的四个通道中任一个通道无DMA请求时,8237就进入空闲周期,在空闲周期,8237始终执行SI状态,并且在每一个时钟周期都采样通道的请求输入线DREQ。若无请求就始终停留在SI状态。在空闲周期,8237就作为CPU的一个外设。在SI状态。可由CPU对8237编程,或从8237读取状态,只要信号有效并且HRQ为无效,则CPU可对8237进行读/写操作。2)有效周期当8237在SI状态采样到外设有请求,就脱离SI而进入S0状态。①S0状态是DMA服务的第一个状态,在这个状态,8237已接收了外设的请求,向CPU发出了DMA请求信号HRQ,但尚未收到CPU的DMA响应信号HLDA。②当接收到HLDA就使8237进入工作状态,开始DMA传送,此时,8237就作为系统总线的主控设备。在通常情况下,工作状态由S1、S2、S3、S4组成以完成数据传送,若外设的数据传送速度较慢,不能在S4之前完成,则可由READY线在S3或S2与S4之间插入Sw状态。在存储器与存储器之间的传送,则需8个时钟周期。前4个时钟周期S11~S14完成从存储器读,后4个时钟周期S21~S24完成对存储器写。六、8237的引脚采用双列直插式。1)与DMA有效周期有关的引脚①CLK:时钟输入信号;②READY:就绪输入信号,这是外设输给8237的高电平有效的信号,这是为慢速的存储器或外设准备的信号;③DREQ0~DREQ3,DACK0~DACK3:DMA请求及响应信号a.DMA请求信号是由外设输入的信号,它要求进行一次DMA传送。其有效极性是可编程的,在芯片总清除后,它以高电平为有效;b.DACK则是8237控制器对外设DMA请求的响应信号,其有效极性也是可编程的,在芯片总清除后,它以低电平为有效;a.这是一对应答信号,DREQ必须保持到DACK有效值出现后才能撤除;d.四个通道的DMA请求可以通过编程安排不同的优先级,在固定方式下,DREQ0具有最高优先级。①HRQ、HLDA:保持请求和响应信号a.这是8237与CPU联系的一对应答信号;b.当8237接到外设的DREQ信号,如果芯片没有对它屏蔽,就会向CPU发出HRQ信号,CPU采样到该信号有效后,CPU发HLDA应答信号;c.当HLDA有效时,表明CPU已经让出了总线。⑤A0~A7:低位地址。三态,从8237输出,在DMA有效周期中,由它输出要访问的存储单元的低8位地址。注意:在有效周期是输出引脚,在空闲周期其中A0~A3是输入引脚。⑥DB0~DB7:数据总线在DMA有效周期中,作为高8位地址与数据的复用线。⑦ADSTB:地址选通信号,高电平有效只是在当DB0~DB7上出现地址的那段时间内(S1)有效,在这个信号作用下,将DB0~DB7输出的存储单元高8位地址信号A8~A15锁存到外部地址锁存器中。⑧AEN:地址使能信号,高电平有效,其有效时间应保持到足够一个DMA周期,这段时间中使8237输出的内存单元16位地址都能保持有效地送到地址总线上。⑨:输入输出写,在DMA有效周期,这是一条输出控制信号,与相配合,控制数据从存储器传送到外设(DMA读传送)。:输入输出读,在DMA有效周期,这是一条输出控制信号,与相配合,控制数据从外设传送到存储器(DMA写传送)。⑩:在DMA读传送时,它与配合,把数据从存储器传送到外设,当从存储器到存储器时,信号也有效,控制从源单元读出数据。:只用于DMA有效周期,在DMA写传送时,与信号配合,把数据从外设写入存储器;在存储器到存储器传送时,信号也有效,控制把数据写入目的单元。:过程结束信号,是低电平有效的双向
本文标题:第六章输入与输出
链接地址:https://www.777doc.com/doc-2160404 .html