6.1输入输出接口概述第六章输入输出与中断输入输出设备(I/O,又称外设)是计算机系统的基本组成部分,是实现人—机联系的主要手段。外设必须通过接口电路与CPU相连接数据总线控制总线地址总线接口电路外部设备数据线控制线状态线I/O接口是建立在CPU与外设之间,使两者动作协调的一组逻辑电路的总称。接口电路的分类和功能接口电路按通用性分为两类:通用接口和专用接口通用接口:可供多种外部设备使用的标准接口,目的是使微机正常工作,通用接口通常制造成集成电路芯片,称为接口芯片。最初的IBM-PC使用了6块接口芯片:8284、8288、8255、8259、8237、8253后来的微机将这些芯片集成为大规模集成电路芯片,称为芯片组。如82430TX芯片组,由两片芯片组成:北桥:82439TX南桥:82371AB专用接口:为某种用途或某类外设而专门设计的接口电路,目的在于扩充微机系统的功能。专用接口通常制造成接口卡,插在主板总线插槽上使用。通用接口和专用接口的界限并不严格。按照可编程性,接口芯片分成硬步线逻辑接口芯片和可编程接口芯片。可编程接口芯片的功能可以由指令来控制。接口电路的功能:1)数据缓冲功能2)联络功能3)寻址功能4)数据转换功能5)中断管理功能接口电路中传递的信息通常包含:*数据信息*控制信息*状态信息CPU数据端口控制端口状态端口外部设备接口6.1.2接口电路的基本结构从含义和功能上来看,数据信息、控制信息和状态信息是各不相同的,必须分别传送,各有通路和处理信息交换的寄存器,我们称这些通路为端口(PORT),这些寄存器为IO端口寄存器,简称为I/O端口。1)数据端口——存放数据信息2)状态端口——存放状态信息即反映外设当前工作状态的信息。外设的状态一般采用编码表示,编码值称为外设的状态字3)控制端口——存放控制命令控制命令采用编码表示,编码值称为外设的控制字或命令字状态信息与控制信息可以广义地看作数据信息,可以通过数据总线传送CPU对外设的各种操作(向外设发出控制命令、查询外设的状态、向外设输出数据、从外设获得数据),均归结为对接口电路中各端口的读/写操作(IN/OUT指令)。中断二、接口电路的基本结构数据总线控制总线地址总线数据缓冲器读/写/控制逻辑数据端口控制端口状态端口端口地址译码外部设备接口电路数据线控制线状态线I/O端口的编址方式•I/O端口与存储单元统一编址•I/O端口独立编址PC系列机主要采用I/O端口独立编址方式Port65535Port255Port3Port2Port1Port0地址线与存储器共用地址线上的地址信号用IO/M来区分端口地址是一种重要资源I/O接口控制方式1)程序传送方式2)中断传送方式3)DMA传送方式无条件传送程序查询传送(条件传送)6.2CPU与外设之间数据传送的方式6.2.1.1无条件传送CPU与外设间的数据交换在程序控制下进行不查询外设状态,认为外设已经准备就绪,直接与外设传送数据由于不查询外设状态,接口电路不需要状态寄存器6.2.1程序传送6.2.1.1程序查询传送在执行输入输出前,要先查询接口中状态寄存器的状态。输入时:状态寄存器的状态指示要输入的数据是否已经准备就绪;输出时:状态寄存器的状态指示输出设备是否空闲使用查询方式,CPU必须检测接口电路的状态寄存器,如果设备未准备好,CPU就要不断地查询,降低了CPU的运行效率①程序查询输入若CPU需要外设输入数据时,首先应从状态端口读入状态信息,判断数据是否准备好?D_PORTS_PORT接口READY(1位)数据端口(8位)状态端口(1位)数据端口地址状态端口地址NY输入状态信息READY?输入数据查询输入程序段:LT:INAL,S_PORT;从状态口S_PORT读入状态ANDAL,80H;检查READY=1?JZLT;READY=0,返回继续等待INAL,D_PORT;READY=1,从数据口;D_PORT读入数据②程序查询输出CPU输出数据前,先查询外设的状态端口的状态信息,若为“空”(如BUSY=0,表示空闲),则执行输出指令把数据送入I/O接口的数据端口。D_PORTS_PORT接口BUSY(1位)数据端口(8位)状态端口(1位)数据端口地址状态端口地址查询输出程序段:WT1:INAL,S_PORT;从状态端口S_PORT读入状态ANDAL,01H;BUSY=0?JNZWT1;BUSY=1,返回继续等待MOVAL,DOUT;BUSY=0,取准备传送的数据OUTD_PORT,AL;从数据端口D_PORT输出数据NY输入状态信息BUSY?取数并输出数据准备输出数据6.2.2中断传送方式中断方式:当外设作好传送准备后,主动向CPU请求中断,CPU响应中断后在中断处理程序中与外设交换数据。若外设未准备好,CPU可以执行其他程序,提高了CPU的利用率每条指令完成后,CPU均可响应中断,因此当设备准备好时,可及时与CPU交换数据,提高了实时性6.2.3DMA传送方式对于高速外设(如磁盘、高速A/D),中断方式不能满足数据传输速度的要求。DMA=DirectMemoryAccess——直接存储器访问DMA方式是一种由专门的硬件电路执行I/O的数据传送方式,它可以让外设接口直接与内存进行高速的数据传送,而不必经过CPU。这种专门的硬件电路称为DMA控制器,简称DMAC。