《IO接口的基本概念.ppt》由会员分享,可在线阅读,更多相关《IO接口的基本概念.ppt(60页珍藏版)》请在三一办公上搜索。
1、第 8 章,第8章 基本输入输出接口,教学重点 I/O接口电路的典型结构 无条件传送方式 查询传送方式 中断工作过程,第8章:8.1 I/O接口概述,为什么需要I/O接口(电路)?微机的外部设备多种多样工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大它们不能与CPU直接相连必须经过中间电路再与系统相连这部分电路被称为I/O接口电路,多种外设,第8章:8.1 I/O接口概述(续1),什么是I/O接口(电路)?I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路,第8章:8.1 I/O接口概述(续2
2、),什么是微机接口技术?处理微机系统与外设间联系的技术注意其软硬结合的特点根据应用系统的需要,使用和构造相应的接口电路,编制配套的接口程序,支持和连接有关的设备,第8章:8.1.1 I/O接口的主要功能,对输入输出数据进行缓冲和锁存输出接口有锁存环节;输入接口有缓冲环节实际的电路常见:输出锁存缓冲环节、输入锁存缓冲环节 对信号的形式和数据的格式进行变换微机直接处理:数字量、开关量、脉冲量 对I/O端口进行寻址 与CPU和I/O设备进行联络,第8章:8.1.2 I/O接口的典型结构,1.接口电路的内部结构2.接口电路的外部特性3.接口电路芯片的分类4.接口电路的可编程性,第8章:1.接口电路的内
3、部结构,CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部:数据寄存器输入数据寄存器:保存外设给CPU的数据输出数据寄存器:保存CPU给外设的数据 状态寄存器保存外设或接口电路的状态 控制寄存器保存CPU给外设或接口电路的命令,第8章:2.接口电路的外部特性,主要体现在引脚上,分成两侧信号面向CPU一侧的信号:用于与CPU连接主要是数据、地址和控制信号面向外设一侧的信号:用于与外设连接提供的信号五花八门功能定义、时序及有效电平等差异较大,第8章:3.接口电路芯片的分类,接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片):通用接口芯片支持通用的数据输入输出和控制
4、的接口芯片面向外设的专用接口芯片针对某种外设设计、与该种外设接口 面向微机系统的专用接口芯片与CPU和系统配套使用,以增强其总体功能,第8章:4.接口电路的可编程性,许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种接口需进行物理连接,还需编写接口软件接口软件有两类:初始化程序段设定芯片工作方式等数据交换程序段管理、控制、驱动外设,负责外设和系统间信息交换,第8章:8.1.3 I/O端口的编址,接口电路占用的I/O端口有两类编排形式I/O端口单独编址I/O地址空间独立于存储地址空间如8086/8088I/O端口与存储器统一编址它们共享一个地址空间如M6800,第8章:I/O端口
5、单独编址,优点:I/O端口的地址空间独立控制和地址译码电路相对简单专门的I/O指令使程序清晰易读缺点:I/O指令没有存储器指令丰富,80 x86采用I/O端口独立编址,第8章:I/O端口与存储器统一编址,优点:不需要专门的I/O指令I/O数据存取与存储器数据存取一样灵活缺点:I/O端口要占去部分存储器地址空间程序不易阅读(不易分清访存和访问外设),第8章:8.1.4 8088/8086的输入输出指令,输入指令(IN:将外设数据传送给CPU内的AL/AX)IN AL,i8;字节输入IN AL,DX;字节输入IN AX,i8;字输入IN AX,DX;字输入输出指令(OUT:将CPU内的AL/AX数
6、据传送给外设)OUT i8,AL;字节输出OUT DX,AL;字节输出OUT i8,AX;字输出OUT DX,AX;字输出,演示,演示,第8章:8088/8086的I/O端口,8088只能通过输入输出指令与外设进行数据交换;呈现给程序员的外设是端口(Port),即I/O地址8086用于寻址外设端口的地址线为16条,端口最多为21665536(64K)个,端口号为0000H FFFFH每个端口用于传送一个字节的外设数据,第8章:I/O寻址方式,8088/8086的端口有64K个,无需分段,设计有两种寻址方式直接寻址:只用于寻址00H FFH前256个端口,操作数i8表示端口号间接寻址:可用于寻址
7、全部64K个端口,DX寄存器的值就是端口号对大于FFH的端口只能采用间接寻址方式,第8章:数据交换方式,如果输入输出一个字节,利用AL寄存器如果输入输出一个字,利用AX寄存器输入一个字,实际上是从连续两个端口输入两个字节,分别送AL(对应低地址端口)和AH(对应高地址端口)输出一个字,实际上是将AL(对应低地址端口)和AH(对应高地址端口)两个字节的内容输出给连续两个端口,第8章:IN指令实例(从20H端口输入一个字),方法1:直接寻址,字量输入in ax,20h;方法2:间接寻址,字量输入mov dx,20hin ax,dx,第8章:OUT指令实例(向300H端口输出一个字节),唯一的方法:
8、间接寻址,字节量输出mov al,bvar;bvar是字节变量mov dx,300hout dx,al,第8章:8.1.5 I/O地址的译码,I/O地址的译码方法与存储器地址的译码方法一样,但有它的特点:部分译码时,通常是中间地址线不连接部分译码也有最低地址线不连接的情况每个接口电路通常只占用几个I/O地址,这时可以利用基本逻辑门电路进行地址译码除采用译码器、门电路进行译码外,I/O地址译码还经常采用可编程逻辑器件PLD为了给系统一定的选择余地,有些接口电路利用比较器、开关或跨接器等进行多组I/O地址的译码,第8章:IBM PC/AT主机板的I/O译码电路,第8章:逻辑门电路进行I/O地址译码
9、,第8章:8.1.6 数据传送方式,程序控制下的数据传送通过CPU执行程序中的I/O指令来完成传送,又分为:无条件传送、查询传送、中断传送直接存储器存取(DMA)传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线来完成外设和存储器间的数据传送,第8章:8.2 无条件传送方式及其接口,在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送适合于简单设备,如LED数码管、按键或按纽等无条件传送的接口和操作均十分简单这种传送有前提:外设必须随时就绪,流程,第8章:无条件传送:输入示
10、例,MOV DX,160HIN AL,DX,第8章:无条件传送:输入实例,MOV DX,160HIN AL,DX,第8章:无条件传送:输出示例,MOV DX,160HMOV AL,BXOUT DX,AL,第8章:无条件传送:输出实例,MOV DX,160HMOV AL,BXOUT DX,AL,第8章:无条件传送:输入输出接口,next:mov dx,8000h;DX指向数据端口in al,dx;从输入端口读开关状态not al;反相out dx,al;送输出端口显示call delay;调子程序延时jmp next;重复,第8章:8.3 查询传送方式及其接口,CPU需要选了解(查询)外设的工作
11、状态,然后在外设可以交换信息的情况下(就绪)实现数据输入或输出对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换查询传送的特点是:工作可靠,适用面宽,但传送效率低,就绪?,第8章:查询传送的两个环节,查询环节寻址状态口读取状态寄存器的标志位若不就绪就继续查询,直至就绪 传送环节寻址数据口是输入,通过输入指令从数据端口读入数据是输出,通过输出指令向数据端口输出数据,流程,第8章:8.3.1 查询输入接口,mov dx,8000h;DX指向状态端口status:in al,dx;读状态端口test al,01h;测试标志位D0jz status;D00,未就绪,继
12、续查询inc dx;D01,就绪,DX指向数据端口in al,dx;从数据端口输入数据,第8章:8.3.2 查询输出接口,mov dx,8000h;DX指向状态端口status:in al,dx;读取状态端口的状态数据test al,80h;测试标志位D7jnz status;D71,未就绪,继续查询inc dx;D70,就绪,DX指向数据端口mov al,buf;变量buf送ALout dx,al;将数据输出给数据端口,第8章:8.4 中断传送方式,CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序,流程,第8
13、章:8.4.1 中断传送与接口,中断传送是一种效率更高的程序传送方式进行传送的中断服务程序是预先设计好的中断请求是外设随机向CPU提出的CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚本书主要论述中断在输入和输出方面的应用中断还有着非常广泛的应用,第8章:中断输入接口,第8章:8.4.2 中断工作过程,中断请求,中断响应,关中断,断点保护,中断识别,现场保护,中断服务,恢复现场,开中断,中断返回,中断服务是进行数据交换的实质性环节,中断源的识别,第8章:8.4.3 中断优先权,问题1:系统有多个中断请求,CPU如何识别中断源?,解答1:向量中断(图4-20)
14、解答2:中断查询(图4-21),第8章:中断查询接口,中断优先权排队,第8章:8.4.3 中断优先权(续1),问题2:有多个中断同时请求,CPU如何应对?,解答1:链式优先权排队电路(图6-13)解答2:优先权编码电路(图6-14),中断嵌套,第8章:8.4.3 中断优先权(续2),问题3:中断处理过程中,又有中断提出请求,怎么办?,解答1:链式优先权排队电路(图6-13)解答2:优先权编码电路(图6-14),第8章:8.5 DMA传送方式,希望克服程序控制传送的不足:外设CPU存储器外设CPU存储器直接存储器存取DMA:外设存储器外设存储器CPU释放总线,由DMA控制器管理,第8章:DMA传
15、送的工作过程,CPU对DMA控制器进行初始化设置 外设、DMAC和CPU三者通过应答信号建立联系:CPU将总线交给DMAC控制 DMA传送DMA读存储器:存储器 外设DMA写存储器:存储器 外设 自动增减地址和计数,判断传送完成否,第8章:DMA传送流程,流程,第8章:传送方式的比较,无条件传送:慢速外设需与CPU保持同步查询传送:简单实用,效率较低中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送,第8章:教学要求,1.了解I/O接口电路的主要功能、内部和外部特点、端口编址方法、I/O地址译码
16、特点2.掌握输入输出指令3.掌握无条件、查询传送方式4.理解中断、中断源、中断工作过程、中断源识别、优先权排队和中断嵌套,多种多样的外设,工作原理不同机械、电子、机电、电磁传送信息类型多样数字量、模拟量、开关量传送速度差别极大传送方式不尽相同串行、并行编码方式不同二进制、BCD码、ASCII码,返回,输出接口的锁存环节,返回,输出接口的锁存、缓冲环节,返回,输入接口的缓冲环节,返回,输入接口的锁存、缓冲环节,返回,端口(PORT),端口泛指I/O地址,通常对应接口电路的寄存器一个接口电路可以具有多个I/O端口(寄存器),每个端口用来保存和交换不同的信息数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、状态端口和控制端口,用于保存数据、状态和控制信息输入、输出端口可以是同一个I/O地址,一定要理解,返回,IN AL,21H,返回,OUT 43H,AL,返回,无条件传送流程,返回,就绪(Ready),在输入场合“就绪”说明输入接口已准备好送往CPU的数据,正等着CPU来读取该状态也可用接口中数据缓冲器已“满”来描述 在输出场合“就绪”说明输出接口已做好准备,等待接收CPU要输出的数据该状态也可用接口数据缓冲器已“空”、或者用接口(外设)“闲”或不“忙(Busy)”来描述,返回,就绪:满,空、闲、不忙,查询传送流程,返回,中断传送流程,返回,DMA传送流程,返回,