《【教学课件】第六章微型计算机的输入输出.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第六章微型计算机的输入输出.ppt(43页珍藏版)》请在三一办公上搜索。
1、第六章 微型计算机的输入/输出,I/O接口功能 I/O端口及其寻址方式 输入/输出方式 及CPU与外设通信的接口 8086CPU的输入/输出总线简述,6.1 I/O接口功能一、CPU与外设通信特点需要有接口作为CPU与外设通讯的桥梁;需要有数据信息传送之前的“联络”;要传递的信息有三方面内容:状态、数据及控制信息。,CPU I/O接口 外设,地址数据控制,控制数据状态,接口电路通常包含一组能够与处理器交换信息的寄存器或缓冲器,称为I/O端口 数据端口 存放数据信息 状态端口 存放状态信息,即反映外设 当前工作状态的信息 控制端口 存放控制信息,二、接口的功能进行地址译码或设备选择,以便使CPU
2、能与某一指定的外部设备通讯;状态信息的应答,以协调数据传送之前的准备工作;进行中断管理,提供中断信号;,进行数据格式转换,如正负逻辑的转换,串行与并行数据转换等;进行电平转换,如TTL电平与MOS电平间的转换;协调速度;时序控制,提供实时时钟信号。,6.2 I/O端口及其寻址方式,一、存储器映像的I/O寻址 存储单元和I/O端口的地址统一编址,I/O 端口,存储单元,I/O 地址空间,存储器地址空间,整个地址空间,举例:键盘及发光二极管接口 使用两个芯片74LS244(8BIT三态门)和74LS273(8BIT 寄存器发器),74LS244,74LS273,这种编址方式的优点:可以用访向存储器
3、的指令来访问I/O端口,而访问存储器的指令功能比较强,不仅有一般的传送指令,还有算术、逻辑运算指令,以及各种移位、比较指令等,并且可以实现直接对I/O端口内的数据进行处理。缺点是:由于I/O端口占用了一部分存储器地址空间,因而使用户的存储地址空间相对减小。另外不利于程序阅读。,2、I/O映像的I/O寻址 I/O端口地址与存储单元地址分开编址,存储单元,存储地址空间,I/O 端口,I/O 地址空间,特点,1、地址线:A15A02、M/IO=13、用I/O指令,这种编址方式的优点是:第一,I/O端口不占用存储器地址,故不会减少用户的存储器地址空间;第二,采用单独的I/O指令,使程序中I/O操作和其
4、他操作层次清晰,便于理解。这种编址方式的缺点是:第一,单独I/O指令的功能有限,只能对端口数据进行输入/输出操作,不能直接进行移位、比较等其他操作;第二,由于采用了专用的I/O操作时序及I/O控制信号线,因而增加了微处理器本身控制逻辑的复杂性。,6.3 输入/输出方式及CPU与外设通 信的接口 1、同步传送方式2、异步查询方式 程序控制传送方式3、中断方式 4、直接存储器存取方式,一、程序控制传送方式(一)、同步传送方式(无条件方式)CPU直接与外设传送数据并不需要了解外设状态,认为外设已经准备就绪,直接与外设传送数据,CPU,译码,数据线,M/IO,WR,或门,地址线,接口,外设,输 出,C
5、PU,译码,数据线,M/IO,RD,或门,地址线,接口,外设,输 入,(二)、异步查询方式 在执行输入输出前,要先查询接口中状态寄存器的状态。,输入时,状态寄存器的状态指示要输入的数据是否已经准备就绪;,常用的状态线有IBF,READY功能:1、输入设备准备好数据,状态线有效;2、CPU读数据端口,取走数据后,状态线转换为无效,1、STB有效,(1)、输入设备数据进入锁存器;(2)、IBF 有效2、CPU读状态端口3、CPU读数据端口,同时清IBF,输出时,状态寄存器的状态指示输出设备是否空闲。,常用的状态线有empty,busy功能:1、输出设备空闲,BUSY无效;2、CPU写数据端口,输出
6、设备输出数据,状态线转换为有效,/CS1,/CS2,1、CPU读状态端口,查BUSY线2、CPU写数据,(1)、数据进入数据锁存器;(2)、BUSY 有效3、输出设备工作完毕,busy无效,优点:电路简单缺点:降低CPU效率,实时性不强,(三)、中断方式 当外设作好传送准备后,主动向CPU请求中断,CPU响应中断后在中断处理程序中与外设交换数据。在中断未发生时,CPU可以执行其他程序,这样可以提高CPU的利用率。,主程序,中断服务子程序,中断信号,与程序查询方式相比,中断控制方式的数据交换具有如下特点:(1)提高了CPU的工作效率;(2)CPU具有控制外围设备服务的主动权;(3)CPU可以和外
7、设并行工作;(4)可适合实时系统对I/O处理的要求。,二、直接存储器存取方式(DMA)(Direct Memory Access)。在高速的外设或成块交换数据的情况,采用程序控制方式进行数据的传输,是无法满足要求的。在这种情况下,采用DMA方式。,DMA方式是在外设与内存间建立起直接的通道,CPU不再直接参加外设和内存间的数据传输。当系统需要进行DMA传输时,将CPU对地址和数据及控制线的管理权交由DMA控制器进行控制,当完成了一次DMA数据传输后,再将这个控制权还给CPU,这些工作都是由硬件自动实现的,并不需要程序进行控制。,CPU,外设,存储器,总线,:执行程序指令的数据传送路径;:DMA
8、方式的数据传送路径,外设,外设,DMAC,内存,内存,DMAC,DMA传送的几种形式,8086CPU为DMA提供两根信号线1、HOLD 总线保持请求2、HLDA 总线保持响应,DMA控制器的基本功能(1)能接收I/O接口的DMA请求,并向CPU发出总线请求信号;(2)当CPU发出总线回答信号后,接管对总线的控制,进入DMA传送过程;(3)能实现有效的寻址,即能输出地址信息并在数据传送过程中自动修改地址;(4)能向存储器和I/O接口发出相应的读/写控制信号;(5)能控制数据传送的字节数,控制DMA传送是否结束;(6)在DMA传送结束后,能释放总线给CPU,恢复CPU对总线的控制。,6.4 808
9、6CPU的输入/输出1、I/O 寻址64K2、8086CPU的IO指令(1)直接寻址输入输出指令(八位端口地址)IN AL,n(字节输入)IN AX,n(字输入)OUT n,AL(字节输出)OUT n,AX(字输出),(2)DX寄存器间接寻址输入(十六位端口地址)IN AL,DX(字节输入)IN AX,DX(字输入)OUT DX,AL(字节输出)OUT DX,AX(字输出),3、有关端口地址问题 a、8086CPU与外设交换数据可以字或字节进行,b、当以字节进行时,偶地址端口的字节数据由低8位数据线D7D0位传送,奇地址端口的字节数据由高8位数据线D15D8传送,c、当用户在安排外设的端口地址时,如果外设是以8位的方式与CPU连接,就只能将其数据线或者与CPU的低八位或者与高八位连接,这样同一台外设的所有寄存器端口地址都只能是偶地址或是奇地址,这时设备的端口地址就会是不连续的。,