第6章输入输出接口技术微型计算机原理与应用第6章输入输出接口2【知识点】CPU与接口之间传送信息的方式总线技术第6章输入输出接口3重点:掌握同步,异步的I/O传输硬件设计掌握程序控制方式的接口软件设计难点:接口电路及软件设计的配合第6章输入输出接口4【主要内容】6.4CPU与外部数据传输的方式6.5总线技术第6章输入输出接口56.4.1概述CPU与外设交换的数据信息从广义上来讲包括数据信息、状态信息、控制信息。这三者都用IN和OUT指令来传送的,只不过是分别送入不同的部件,起不同的作用。数据信息:是I/O设备和CPU真正要交换的信息。外设和接口之间的数据信息可以是串行的,也可以是并行的,相应的要使用串行接口或并行接口。不同的I/O设备要求传送的数据类型也是不同的,例如向显示器传送的数据必须是ASCⅡ码,而不能是二进制形式的数。数字量、开关量、模拟量。状态信息:从I/O接口输入到CPU,表示I/O设备当前所处的状态。对于输入设备,通常用准备好(READY)信号来表示外设已准备好输入数据。对于输出设备,通常用忙(BUSY)信号表示设备是否处于空闲状态,如为空闲状态,外设则接收CPU送来的信息,如为忙状态,CPU则要等待。。控制信息:输出到I/O接口,通知接口和设备要做什么动作。例如,CPU向I/O接口发出启动信号或停止信号以控制外设的启停。6.4CPU与外设数据传送的方式第6章输入输出接口66.4.2CPU与外设数据传送的三种方式无条件传送程序方式查询方式(条件传送)中断方式存储器直接存取方式(DMA方式)...6.4CPU与外设数据传送的方式第6章输入输出接口76.4.2CPU与外设数据传送的三种方式(1)程序方式(a)无条件传送在该方式中,外设总被任为已处于准备就绪和准备接收状态,程序不必查验外设的状态当需要与之交换数据时,直接执行输入输出指令,就开始接收和发送数据。例1:无条件输入(如下图所示)6.4CPU与外设数据传送的方式第6章输入输出接口8OOOOO+5VK与非与非或&&D0A0A7A8A15IOR…...三态缓冲器MOVDX,0FFF7HINAL,DXTESTAL,01JZ………….D0=0K闭合,D0=1K打开A2A3A4.....O6.4CPU与外设数据传送的方式第6章输入输出接口9例2无条件输出D0~D7A0A7A8A15…..…...IOWOOOO+5V+5VD0~D7CPO0O774LS273(8D触发器锁存功能)跟随锁住不动MOVAL,81HMOVDX,0000HOUTDX,AL第6章输入输出接口10无条件传送:输入示例IOR三态缓冲器OEI/O装置地址译码器CSD7~D0A15~A1A00160HMOVDX,160HINAL,DX第6章输入输出接口11无条件传送:输入实例MOVDX,160HINAL,DX74LS244+5V10Kx8G1G2数据总线CSRD第6章输入输出接口12无条件传送:输出示例地址译码器数据锁存器A15~A1IOWA0CS0160H输出设备D7~D0MOVDX,160HMOVAL,[BX]OUTDX,AL第6章输入输出接口13无条件传送:输出实例MOVDX,160HMOVAL,[BX]OUTDX,AL+5V74LS373300x8LEOE数据总线CSWR第6章输入输出接口14无条件传送:输入输出接口K7K1K0+5VD0~D7A0~A15CLKLS06反相驱动器LS2738D锁存器LS244三态缓冲器8000H译码+5VLED0LED7……GIOWIORnext:movdx,8000h;DX指向数据端口inal,dx;从输入端口读开关状态notal;反相outdx,al;送输出端口显示calldelay;调子程序延时jmpnext;重复第6章输入输出接口15无条件传送方式(小结)三态缓冲器地址译码器O&OOO地址总线M/IORD去CPU数据(来自外设)输入加三态缓冲器锁存器地址译码器OOOO数据总线数据(来自CPU)地址总线M/IOWR到外设去输出加锁存器&第6章输入输出接口16(b)查询方式(条件传送)查询方式输入过程的流程图开始初始化数据是否准备好?输入一个字节到CPU数据处理并送内存缓冲区操作完成否?处理缓冲区数据否是是否后续处理(1)(2)第6章输入输出接口17查询输入接口IOR+5V8D锁存器8位三态缓冲器译码1位三态缓冲器RQA0~A158000H8001HD0~D7D0D输入设备IORSTBmovdx,8000h;DX指向状态端口status:inal,dx;读状态端口testal,01h;测试标志位D0jzstatus;D0=0,未就绪,继续查询incdx;D0=1,就绪,DX指向数据端口inal,dx;从数据端口输入数据第6章输入输出接口18查询输出接口8D锁存器译码1位三态缓冲器RQA0~A158000H8001HD0~D7D7D+5V输出设备ACKIOWIORmovdx,8000h;DX指向状态端口status:inal,dx;读取状态端口的状态数据testal,80h;测试标志位D7jnzstatus;D7=1,未就绪,继续查询incdx;D7=0,就绪,DX指向数据端口moval,buf;变量buf送ALoutdx,al;将数据输出给数据端口第6章输入输出接口196.3.2CPU与外设数据传送的三种方式(1)CPU从接口(状态口)中读取状态字(2)CPU检测状态字,满足条件,CPU从数据口输入输出)数据(3)不满足条件,CPU重新读取状态字(4)输入数据查外设是否“准备就绪”。输出数据时查外设是否处于“忙”或“空闲”6.4CPU与外设数据传送的方式外设74273&..D0~D7D0IORA0A7A8A15IOWO…..….74244CPD0D7~O0O7~BUSYO8位缓冲/总线驱动器8位D锁存器CP负脉冲输出上升沿锁存状态数据CPU向外设输出数据,先查状态BUSY(BUSY=0外设忙,不能输出数据)只有BUSY=1时,才能由数据口输出数据MOVDX,00FFHA1:INAL,DXANDAL,01HJZA1MOVAL,BLOUTDX,AL例1:设计一个输出接口,控制8个发光二极管,每隔1秒钟点亮一只(只有一只亮),从左到右循环往复。+5V+5VGG12A2BGCBAIOW74LS13874LS32A0A3A2A174LS13374LS04A13A15A14A10A12A11A7A9A8A6A5A4LED300D7D6D5D4D3D2D1D0CLKQ0Q1Q2Q3Q4Q6Q7Q574LS273右X8D7D6D5D4D3D2D1D0+5V输入输出实例输入输出实例说明:(1)74LS273为上升沿锁存的锁存器,其输出灌电流可达8mA,能够点亮发光二极管。(2)74LS133为13输入的“与非”门,由它和反相器74LS04及三—八译码器74LS138对地址线A15~A0进行译码,决定端口地址。(3)A0接74LS138的片选G2B,仅偶地址选中,数据输入由数据总线的低8位传输。(4)端口地址输出范围0160HA15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0方向0000000101100000程序:DISPLAYPROCMOVAL,7FHMOVDX,0160HDISPLAY1:OUTDX,AL;显示CALLD1S;延时1SRORAL,1JMPDISPLAY1RETDISPLAYENDP输入输出实例第6章输入输出接口246.4.2CPU与外设数据传送的三种方式DMA方式即直接存储器存取(DirectMemoryAccess)方式,也称为成组数据传送方式。DMA控制器:一般包括四个寄存器:控制寄存器,状态寄存器,地址寄存器和字节计数器,这些寄存器在信息传送之前应进行初始化,即系统程序在地址寄存器中设置要传送的数据块的首地址,在字节寄存器中设置要传送的数据长度(字节数),在状态控制寄存器中设置控制字,指出数据是输入还是输出,并启动DMA操作。每个字节传送后地址寄存器增1,字节计数器减1。(2)DMA方式和DMA控制器6.4CPU与外设数据传送的方式第6章输入输出接口25(a)DMA工作过程(1)外设DMACCPU(HOLD=1请求占有总线)CPU(HLDA=1同意让出总线)DMAC(2)CPU将地址、数据、控制总线的管理权交DMAC(3)DMAC回答外设。(4)进行DMA传送。传送的内存地址,字节数由DMAC控制。(5)传送完毕,DMAC交出总线管理权,CPU重新占有总线。DMA请求请求回答6.4CPU与外设数据传送的方式6.4.2CPU与外设数据传送的三种方式(2)DMA方式和DMA控制器第6章输入输出接口26HLDAHOLDHLDAHRQCPUDACKDREQDMAC地数控地数控M外设(1)DMA请求(2)总线请求(3)总线允许(4)DMA回答EOP计数结束DMAC初始化:工作方式地址基与当前寄存器计数值基与当前寄存器此时DMAC是接口(从摸块)。称DMAC空闲周期。进入DMA方式:DMAC管理总线,此时DMAC相当于CPU(主摸块)。称DMAC工作周期数据D0~D7内存或反之。6.4CPU与外设数据传送的方式6.4.2CPU与外设数据传送的三种方式第6章输入输出接口27(c)缺点(1)DMA期间,CPU不占总线,因而不能做其它工作。(2)CPU对DMAC初始化占有额外时间。(3)增加硬件,提高成本,使电路复杂。因此对于数据块短,需频繁DMAC初始化的场合,对于CPU来得及处理的情况就不必采用DMA方式。(1)硬盘和软盘的输入/输出(2)快速通信通道输入/输出(3)多处理机和多程序数据块传送(4)扫描操作(图象显示)(5)高速数据采集(b)在什么情况下用DMA6.4CPU与外设数据传送的方式6.4.2CPU与外设数据传送的三种方式第6章输入输出接口28DMA传送的工作过程⑴CPU对DMA控制器进行初始化设置⑵外设、DMAC和CPU三者通过应答信号建立联系:CPU将总线交给DMAC控制⑶DMA传送DMA读存储器:存储器→外设DMA写存储器:存储器←外设⑷自动增减地址和计数,判断传送完成否第6章输入输出接口29DMA传送流程HLDA发存储器地址传送数据传送结束?DMA结束修改地址指针第6章输入输出接口30传送方式的比较无条件传送:慢速外设需与CPU保持同步查询传送:简单实用,效率较低中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送第6章输入输出接口316.5系统总线1总线基本概念2总线原理3微机系统总线标准4总线新技术第6章输入输出接口32本节学习目标总线的基本概念、总线的分类、总线控制原理总线标准的发展历程、主流技术和最新发展动态PC/XT总线结构及其特点PC/ATISA总线结构及其特点EISA总线的结构和特点PCI总线结构特点和基本参数AGP高速图形接口总线的结构特点第6章输入输出接口331总线基本概念1.1什么是总线1.2面向总线的体系结构1.3总线分类和性能指标第6章输入输出接口341.1什么是总线总线的作用:能为多个部件服务。总线的基本工作方式:通常是由发送信息的部件分时地将信息发往总线,再由总线将这些信息同时发往各个接收信息的部件。究竟由哪个部件接收信息,要由CPU给出的设备地址经译码产生的控制信号来决定。第6章输入输出接口351.2面向总线的体系结构(1)使各部件之间的关系转化为面向总线的单一关系,即设计和使用某一部件,无须考虑该部件和其他相应部件间的复杂关系,只要满足它和总线之间的关系即可。(2)标准总线可以得到多个厂商的广泛支持,便于生产与之兼容的硬件板卡和软件。(3)模块结构方式便于系统的扩充和升级。(4)便于故障诊断和维修,同时也降低了成本。第6章输入输出接口361.3总线分类和性能指标1.总线有多种分类方法2.性能指标第6章输入输出接口