微机原理与接口技术课件第六章.ppt
,第六章 I/O接口和总线,主要内容,一、I/O接口及简单I/O接口芯片,二、I/O端口及其编址方式,三、CPU与外设间的数据传送方式,四、总线的基本概念,一、I/O接口及简单I/O接口芯片,1.I/O接口 将外设连接到总线上的一组逻辑电路的总称。,CPU I/O接口 外设,控制数据地址,控制数据状态,2.I/O接口的主功能,速度匹配(Buffer)信号的驱动能力(电平转换器、驱动器)信号形式和电平的匹配(A/D、D/A)信息格式(字节流、块、数据包、帧)时序匹配(定时关系)总线隔离(三态门,三态锁存器),3.几种简单I/O接口芯片,单向缓冲器接口芯片(74LS244),输出锁存器接口芯片(74LS273和74LS373),二、I/O端口及其编址方式,1.I/O端口 I/O接口芯片内部的寄存器或缓冲器。连接不同设备的I/O接口芯片,其功能往往差别很大,但是其中至少会有一个寄存器或缓冲器。即其中至少会有一个端口。,2.I/O端口的类型,3.I/O端口的编址方式,端口与内存的统一编址,特点:指令及控制信号统一内存地址资源减少,内存地址960KB,端口的独立编址,特点:内存地址资源充分利用能够应用于端口的指令较少,内存地址,I/O端口地址,00000H,FFFFFH,FFFFH,0000H,8088/8086的I/O端口编址,采用I/O独立编址方式(但地址线与存储器共用)地址线上的地址信号用IO/M来区分I/O操作只使用20根地址线中的16根:A15A0可寻址的I/O端口数为64K(65536)个I/O地址范围为0FFFFHIBM PC只使用了1024个I/O地址(03FFH),三、CPU与外设间的数据传送方式,1 无条件传送,适用于总是处于准备好状态的外设优点:软件及接口硬件简单缺点:只适用于简单外设,适应范围较窄,2、查询工作方式,外设应提供设备状态信息接口应具备状态端口,优点:软件相对简单缺点:CPU效率低,数据传送 的实时性 差,速度较慢,适用场合:,外设并不总是准备好;对传送速率和效率要 求不高。,对外设及接口的要求:,READY?,与外设进行数据交换,读入并测试外设状态,Y,N,Finish?,N,Y,单一外设时的工作流程,初始化,查询工作方式例(输出),外设状态端口地址为03FBH,第5位(bit5)为状态标志(=1忙,=0准备好)外设数据端口地址为03F8H,写入数据会使状态标志置1;外设把数据读走后又把它置0。试画出其电路图,并编程将DATA单元开始100字节数输出。,程序段?,3、中断控制方式,特点:外设在需要时向CPU提出请求,CPU再去为它服务。服务结束后或在外设不需要时,CPU可执行自己的程序。优点:CPU效率高,实时性好。缺点:需要相应的硬件和软件资源。,以上三种I/O方式的共性,均需CPU作为中介:软件:外设与内存之间的数据传送是通过CPU执 行程序来完成的(PIO方式);硬件:I/O接口和存储器的读写控制信号、地址信 号都是由CPU发出的;缺点:程序的执行速度限定了传送的最大速度(约 为几十KB/秒)。,4、DMA控制方式,特点:外设直接与存储器进行数据交换,CPU不再担当数据传输的中介者;总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。,CPU DMAC RAM/ROM I/O,总线,DB,AB,CB,CPU,外设,存储器,总线,:执行程序指令的数据传送路径;:DMA方式的数据传送路径,外设,外设,DMAC,内存,内存,DMAC,DMA传送的几种形式,ABDBCB,CPU DMAC Memory I/O,HOLD,HLDA,(1)DMAC接收I/O接口的DMA请求,并向CPU发出总线请求信号HOLD;,DMA的基本功能和工作步骤,(2)当CPU发出总线回答信号HLAD后,接管对总线的控制,进入DMA传送过程;,(3)能实现有效的寻址,即能输出地址信息并在数据传送过程中自动修改地址;,(4)能向存储器和I/O接口发出相应的读/写控制信号;,(5)能控制数据传送的字节数,控制DMA传送是否结束;,(6)在DMA传送结束后,能释放总线给CPU,恢复CPU对总线的控制。,四、总线的基本概念,总线分类,片级总线:元件级总线,用于芯片 一级的互连;,系统总线:板级总线,计算机中各插 件板间的互连;,外部总线:通信总线,用于计算机之 间或系统与计算机间的互连。,本章小结,在这一章中我们重点讨论了和I/O接口相关的一般概念。主要包括什么是I/O接口及I/O接口的功能、什么是I/O端口、I/O端口的编址方式以及CPU与外设间的数据传送方式等等。重点掌握:1.I/O接口与I/O端口两概念的区别和联系;2.CPU与外设间常用的数据传送方式;3.查询式输入和输出电路的硬件和软件原理。,作业1:某个微机系统中,有8块I/O接口芯片,每个芯片占有8个端口地址,若起始地址为9000H,8块芯片的地址连续分布,用74LS138作译码器,试画出端口译码电路,并说明每块芯片的端口地址范围。,作业2:简述查询式输入和查询式输出电路原理,编写相应的程序以查询方式从外设输入100个数据以及将100个数从外设输出。所需端口地址由自己假设。,