1、 I/O接口概述接口概述 I/O端口与其寻址方式端口与其寻址方式 CPU与外设之间的数据传送方式与外设之间的数据传送方式 掌握微型计算机接口技术的基本概念掌握微型计算机接口技术的基本概念 掌握主机与外设之间的各种数据传送方式掌握主机与外设之间的各种数据传送方式 了解了解I/O端口的寻址方式端口的寻址方式 3.1 I/O接口概述接口概述微型计算机系统可通过系统总线与外设相连,进行系统的扩展与开发,而外设必须通过接口接口才能与CPU交换信息。CPU或 系统总线I/O 接口 电路外 设一、一、I/O接口的功能接口的功能 作为接口电路,通常必须为外部设备提供几个不同地址的寄存器,每个寄存器称为一个I/
2、O端口。通常的I/O接口示意图如下图所示:I/O接口示意图 I/O接口内部一般由数据、状态、控制数据、状态、控制三类寄存器组成。数据寄存器数据寄存器在输入时,保存外设发往CPU的数据(输入寄存器)在输出时,保存CPU发往外设的数据(输出寄存器)状态寄存器状态寄存器保存状态信息,CPU可从状态口读取当前状态;控制寄存器控制寄存器用来保存CPU写入的控制字。任何接口电路均包括如下基本功能:任何接口电路均包括如下基本功能:1.地址译码和设备选择;2.数据寄存器及缓冲;3.数据格式转换。5.中断管理和DMA控制;6.接收复位信号并对端口初始化;7.可编程功能。4.联络功能;二、二、CPU 与与I/O接
3、口之间传递的信息类型接口之间传递的信息类型(1)数字量数字量 由键盘、光电输入机等输入的信息。(通常以二进制表示的数或以 ASCII 码表示的数或字符)CPU与外设交换的基本信息是数据,有三种类型:(2)模拟量模拟量非电量信息传感器电量信号处理A/DCPU(3)开关量开关量两个状态的量(可以用0、1表示)例如电机的启与停,开关的合与开等。输入时,输入设备是否准备好?(READY)输出时,输出设备是否空闲?(BUSY)反映当前外设工作状态的信息,例如:例如控制I/O 设备启动或停止等。CPUI/O设备I/O接口123ABDBCBDATASTATUSCONTROLCPU 与外设之间的接口信息 CP
4、U通过接口输出用以控制外设工作的信息。通过接口输出用以控制外设工作的信息。3.2 CPU与外设之间的数据传送方式与外设之间的数据传送方式微机与外设间的数据传送,实际上是微机与外设间的数据传送,实际上是CPU与与I/O接口间的数据传送。接口间的数据传送。CPU与外设间的数与外设间的数据传送据传送通常包括通常包括无条件传送无条件传送、查询传送、查询传送、中断传送、中断传送、以及以及DMA方式方式。一、无条件传送方式一、无条件传送方式 无条件传送一般适合于数据传送不太频繁的情况,如对开关、数码显示器等一些简单外设的操作。所谓无条件,就是假设外设已处于就绪状态,数据传送时,程序就不必再去查询外设的状态
5、,而直接执行I/O指令进行数据传输。无条件传送方式又称同步方式,即无条件传送方式又称同步方式,即CPU的动作必须的动作必须 与外设同步,否则,传送数据出错。与外设同步,否则,传送数据出错。二、查询传送方式二、查询传送方式 程序控制下的查询传送方式,又称异步传送方式。它在执行输入输出操作之前,需通过测试程序对外部设备的状态进行检查。当所选定的外设已准备“就绪”后,才开始进行输入输出操作。查询传送方式流程图 在传送前,查询一下外设的状态,当外设准备好了以后才传送,否则,等待。在传送前,查询一下外设的状态,当外设准备好了以后才传送,否则,等待。查询传送方式工作流程包括两个基本工作环节查询传送方式工作
6、流程包括两个基本工作环节(1)查询环节 主要通过读取状态寄存器的标志位来检查外设是否“就绪”。(2)传送环节 当上一环节完成后,将对数据口实现寻址,并通过输入指令从数据端口输入数据,或利用输出指令从数据端口输出数据。查询式输入时的数据和状态信息 查询式输入程序流程图 LEA SI,BUFNEXT:MOV DX,STATUS-PORT INAL,DX;从状态口输入状态信息 TESTAL,01H ;测试标志位是否为1 JZNEXT ;未就绪,继续查询 MOV DX,DATA-PORT;INAL,DX ;从数据端口输入数据 MOV SI,AL INC SILOOP NEXT 查询式输出的端口信息 查
7、询式输出程序流程图 LEA SI,BUFNEXT:MOV DX,STATUS-PORT INAL,DX;从状态口输入状态信息 TESTAL,80H ;测试标志位是否为1 JNZ NEXT ;未就绪,继续查询 MOV DX,DATA-PORT;OUTDX,AL ;从数据端口输出数据 MOV SI,AL INC SILOOP NEXT 三、三、中断传送方式中断传送方式为了进一步提高CPU的效率和使系统有实时性能,可以采用中断传送方式。在中断传送方式下,当外设准备好时,主动主动向CPU发出中断请求,请求CPU进行数据的输入输出。中断方式的数据输入 采用中断传送方式时采用中断传送方式时,外设处于主动地
8、外设处于主动地位位,无需无需CPU花费大量时间去查询外设的工花费大量时间去查询外设的工作状态。与程序方式相比,大大提高了作状态。与程序方式相比,大大提高了CPU的效率。的效率。外设请求中断 INTR有效主程序中断服务程序输入 数据外设准备数据四、四、DMA方式方式DMA(Direct Memory Access):是存储是存储器与外设或存储器之间进行大量数据传器与外设或存储器之间进行大量数据传送的方法,是在送的方法,是在DMA控制器控制器(DMAC)的控制下进行的。的控制下进行的。CPU总 线存储器外设程序控制的数据输入/输出DMADMA与程序控制数据传送路径比较DMA传送原理图DMA工作流程
9、(2)CPU 响应后,接管对总线的控制,进入响应后,接管对总线的控制,进入 DMA方式。方式。(1 1)能向能向CPU 发出发出 BUSRQ 请求信号。请求信号。(3)能发出地址信息,并对能发出地址信息,并对I/O端口或存储器寻端口或存储器寻址。址。(5)决定数据传送的地址和数据传送的长度。)决定数据传送的地址和数据传送的长度。(4 4)发出读、写控制信号。发出读、写控制信号。(6)判断)判断DMA 操作的结束,撤消总线请求信号,操作的结束,撤消总线请求信号,使使CPU 恢复正常工作。恢复正常工作。3.DMA操作方式操作方式(1)单字节方式DMADMA控制器操作每次均只传送一个字控制器操作每次
10、均只传送一个字节。节。(2)字组方式也叫请求方式或查询方式。这种方式以有也叫请求方式或查询方式。这种方式以有DMADMA请求为前提,能够连续传送一批数请求为前提,能够连续传送一批数据。据。(3)连续连续方式连续操作方式是指在数据块传送的整个过程中连续操作方式是指在数据块传送的整个过程中,不管不管DMADMA请求是否撤消,请求是否撤消,DMADMA控制器始终控制着控制器始终控制着 总线。除非传送结束或检索到总线。除非传送结束或检索到“匹配字节匹配字节”,才把总线控制权交回才把总线控制权交回CPUCPU。特点特点从从DMADMA操作角度来看,以连续方式最操作角度来看,以连续方式最快,字组方式次之,单字节方式最慢。快,字组方式次之,单字节方式最慢。从从CPUCPU的使用效率来看,则正好相反,的使用效率来看,则正好相反,以单字节方式最好,连续方式最差,以单字节方式最好,连续方式最差,字组方式居中。字组方式居中。