微机原理课件8输入输出技术.ppt
I/O接口概述,I/O端口与其寻址方式,CPU与外设之间的数据传送方式,掌握微型计算机接口技术的基本概念,了解主机与外设之间的各种数据传送方式,了解I/O端口的寻址方式,8.1 I/O接口概述,微型计算机系统可通过系统总线与外设相连,进行系统的扩展与开发,而外设必须通过接口才能与CPU交换信息。,外设不同:工作原理、驱动方式、信息格式、工作速度,输入:键盘,鼠标,扫描仪,声音、各种传感器输入的模拟量:温度,压力,流量等。输出:打印机,绘图仪,声音,各种开关控制量。,一、I/O接口的功能,作为接口电路,通常必须为外部设备提供几个有对应编址的寄存器,每个寄存器称为一个I/O端口。通常的I/O接口示意图如下图所示:,I/O接口示意图,I/O接口内部一般由数据、状态、控制三类寄存器组成。其作用如下:,状态寄存器保存状态信息,CPU可从状态口读取外设当前状态;控制寄存器用来保存CPU发的控制命令。,任何接口电路均包括如下基本功能:,作为微型机与外设间传递数据的中间缓冲站;输入口:三态门,缓冲/隔离;输出口:锁存器,数据锁存,2.正确寻址与微机交换数据的外设;外设多设备,各设备多种端口,各端口地址需译码产生,3.提供微型机与外设间交换数据所需的控制逻辑 与状态信号。,二、CPU 与I/O之间的接口信号,1.数据信息(DATA),(1)数字量,由键盘、光电输入机等输入的信息。(通常以二进制表示的数或以 ASCII 码表示的数或字符),其数位有8、16和32位。,CPU与外设交换的基本信息是数据,有三种类型:,(2)模拟量(如压力、声音、流量、温度等),(3)开关量(如电机的启与停,开关的合与开等),两个状态的量(可以用0、1表示),2.状态信息(STATUS),输入时,输入设备是否准备好?(READY),输出时,输出设备是否空闲?(BUSY),反映当前外设工作状态的信息,例如:,3.控制信息(CONTROL),例如控制I/O 设备启动或停止等。,CPU 与外设之间的接口信息,CPU通过接口输出对以外设的控制命令信号。,注:状态和控制信息也必须作为数据来传送到相应端口,常占1或2位,可共用端口,外部设备与微处理器进行信息交换必须通过访问该外设相对应的端口来实现。具体访问这些外设端口的过程叫做寻址。,通常有两种寻址方式:存储器映像的I/O寻址方式和I/O端口单独寻址方式。,8.2 I/O 端口及其寻址方式,一、存储器映像的I/O寻址方式,端口地址与存储器地址统一编址,存储器映像的I/O端口寻址连接方式,例如:Motorola公司的MC6800/68000系列CPU,1.端口寻址手段丰富,且不需要专门的I/O指令。,2.I/O寄存器数目与外设数目不受限制,而只受总存储容量的限制。,3.读写控制逻辑比较简单。,I/O端口要占用存储器的一部分地址空间,使可用的内存空间减少。,二、I/O端口单独寻址方式,I/O端口和存储器分开寻址,有专用I/O指令,I/O端口单独寻址方式示意图,CPU访问I/O端口必须采用专用I/O指令,故也叫 专用I/O指令方式(Special I/O Instruction Mode)。这些专用的I/O指令通常有两类,即输 入指令IN、输出指令OUT及其相关指令组。对于 不同的微处理器,具有各不相同的指令格式。,8086/8088等就采用了I/O端口单独寻址方式。这些指令包含直接寻址和寄存器间接寻址两种 类型。,对于8086,采用直接寻址,则其指令格式为:输入指令:IN AL,PORT 输出指令:OUT PORT,AL 直接寻址方式的端口地址为一个字节长,可寻址256个端口,采用间接寻址,则其指令格式为:输入指令:IN AL,DX 输出指令:OUT DX,AL 其端口地址为两个字节长,由DX寄存器间接给出,可寻址64K个(8位宽)字节端口地址,或32K个(16位宽)字端口。,1.I/O口的地址空间独立,且不占用存储器地址空间。,2.地址线较少,且寻址速度相对较快。,3.专门I/O指令的使用,使编制的程序清晰,便于理解和检查。,1.I/O指令较少,导致程序设计的灵活性较差;,2.需要存储器和I/O端口两套控制逻辑,增加了控制逻辑的复杂性。,8.3 CPU与外设之间的数据传送方式,一、无条件传送方式,无条件传送一般适合于数据传送不太频繁的情况,如对开关、数码显示器等一些简单外设的操作。所谓无条件,就是假设外设已处于就绪状态,数据传送时,程序就不必再去查询外设的状态,而直接执行I/O指令进行数据传输。,输入操作:IN AL,PORT,无条件传送接口示意图,这种传送方式的输入输出接口电路最简单.只需要设置数据缓冲寄存器和外设端口地址译码器即可。,输入,输出,应用条件:输入时外设必须已准备好数据,输出时接口锁存器必须为空(即数据已送到锁存器出口,且外设已接收),即接口和I/O设备必须保持“就绪”状态。如下例:,二、查询传送方式,查询传送方式流程图,查询传送方式工作流程包括两个基本工作环节,(1)查询环节,通过读取状态寄存器的标志位来检查外设是否“就绪”。多端口可设多标志位,加入超时判断可防死循环。,(2)传送环节,当上一环节完成后,将对数据口实现寻址,并通过输入指令从数据端口输入数据,或利用输出指令从数据端口输出数据。,优点:易实现数据准确传送,控制编程容易,适应面宽缺点:浪费CPU时间,传送效率低,应用场合:外设对象不多,CPU负担不重,实时性要求不高。,1.查询式输入,查询输入接口电路,当输入设备的数据已经准备好后,一方面将数据送入8位锁存器,另一方面对D触发器触发,使状态信息标志位D0为1。当CPU要求外设输入信息时,先检查状态信息。若数据已经准备好,则输入相应数据,并使状态信息清“0”。否则,等待数据准备“就绪”。,工作过程,查询式输入时的数据和状态信息,查询式输入程序流程图,NEXTIN:INA,STATUS-PORT;从状态口输入状态信息 TESTAL,01H;测试标志位是否为1 JZNEXTIN;未就绪,继续查询 INAL,DATA-PORT;从数据端口输入数据,2.查询式输出,查询输出接口电路,工作过程:当输出设备将数据接收并输出后,会发出一个ACK信号,使D触发器翻转为0,表明输出设备“空闲”。CPU查询到这个状态信息后,执行输出指令,将新的输出数据发送到数据总线上,同时把数据口地址发送到地址总线上。由地址译码器产生的译码信号和相“与”后,发出选通信号,将输出数据送至8位锁存器;同时,将D触发器置为1,并通知外设进行数据输出操作,此时外设为“忙”,CPU不能继续发送数据。,查询式输出的端口信息,查询式输出程序流程图,NEXTOUT:IN AL,STATUS_PORT;从状态口输入状态信息 TEST AL,80H;测试标志位D7 JNZ NEXTOUT;未就绪,继续查询 MOV AL,BUF;从缓冲区BUF取数据 OUT DATA_PORT,AL;从数据端口输出,三、中断传送方式,为了进一步提高CPU的效率和使系统有实时性能,可以采用中断传送方式。在中断传送方式下,当外设准备好时,主动向CPU发出中断请求,请求CPU进行数据的输入输出。,特点:传送数据时,外设主动申请,CPU“被动”响应,可节省大量CPU的时间,实现外设和CPU并行工作。,中断传送方式的输入接口电路,中断方式的数据输入,采用中断传送方式时,外设处于主动地位,无需CPU花费大量时间去查询外设的工作状态。与程序方式相比,大大提高了CPU的效率。,四、DMA方式,DMA(Direct Memory Access):是存储器与外设或存储器之间进行大量数据传送的方法,是在DMA控制器(DMAC)的控制下进行的。,DMA与程序控制数据传送路径比较,DMA与程序控制数据传送路径的比较,1.DMA传送的工作原理,DMA传送原理图,DMA工作流程,(1)能向CPU 发出 BUSRQ 请求信号。,2.DMA 控制器的基本功能,(5)决定数据传送的地址和数据传送的长度。,(4)发出读、写控制信号。,3.DMA操作方式,(1)单字节方式,DMA控制器操作每次均只传送一个字节。,(2)字组方式,也叫请求方式或查询方式。这种方式以有DMA请求为前提,能够连续传送一批数据。,(3)连续方式,连续操作方式是指在数据块传送的整个过程中,不管DMA请求是否撤消,DMA控制器始终控制着 总线。除非传送结束或检索到“匹配字节”,才把总线控制权交回CPU。,从DMA操作角度来看,以连续方式最快,字组方式次之,单字节方式最慢。,从CPU的使用效率来看,则正好相反,以单字节方式最好,连续方式最差,字组方式居中。,