收藏 分享(赏)

输入输出接口.ppt

上传人:无敌 文档编号:1359332 上传时间:2018-07-03 格式:PPT 页数:77 大小:1.60MB
下载 相关 举报
输入输出接口.ppt_第1页
第1页 / 共77页
输入输出接口.ppt_第2页
第2页 / 共77页
输入输出接口.ppt_第3页
第3页 / 共77页
输入输出接口.ppt_第4页
第4页 / 共77页
输入输出接口.ppt_第5页
第5页 / 共77页
点击查看更多>>
资源描述

1、第6章,输入输出接口,第6章 输入输出接口,教学重点 I/O接口电路的典型结构 无条件传送 查询传送 中断传送,6.1 I/O接口概述,为什么需要I/O接口(电路)?微机的外部设备多种多样工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大它们不能与CPU直接相连必须经过中间电路再与系统相连这部分电路被称为I/O接口电路,多种外设,6.1 I/O接口概述(续1),什么是I/O接口(电路)?I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路,6.1 I/O接口概述(续2),什么是微机接口技术?处理微

2、机系统与外设间联系的技术注意其软硬结合的特点根据应用系统的需要,使用和构造相应的接口电路,编制配套的接口程序,支持和连接有关的设备,6.1.1 I/O接口的典型结构,1. 内部结构2. 外部特性3. 基本功能4. 软件编程,1. 内部结构,CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部: 数据寄存器输入数据寄存器:保存外设给CPU的数据输出数据寄存器:保存CPU给外设的数据 状态寄存器保存外设或接口电路的状态 控制寄存器保存CPU给外设或接口电路的命令,2. 外部特性,主要体现在引脚上,分成两侧信号面向CPU一侧的信号:用于与CPU连接主要是数据、地址和控制信号面向外

3、设一侧的信号:用于与外设连接提供的信号五花八门功能定义、时序及有效电平等差异较大,3. 基本功能,数据缓冲匹配快速的处理器与相对慢速的外设的数据交换缓冲:实现接口双方数据传输的速度匹配信号变换把信号相互转换为适合对方的形式计算机直接处理的信号数字量(0和1组成的信号编码)开关量(只有两种状态的信号)脉冲量(低脉冲信号,高脉冲信号),4. 软件编程,接口具有可编程性(Programmable)命令字(控制字)写入接口芯片、选择工作方式、控制数据传输初始化程序选择I/O接口工作方式、设置原始工作状态等驱动程序操纵I/O接口完成具体工作,硬件接口电路需要软件编程配合工作,6.1.2 I/O端口的编址

4、,I/O端口I/O地址,对应I/O接口的寄存器一个接口电路可以具有多个I/O端口,每个端口用来保存和交换不同的信息数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、状态端口和控制端口输入、输出端口可以是同一个I/O地址,如何编排存储器地址和I/O地址?,端口?,1. I/O端口与存储器地址独立编址,优点:I/O端口的地址空间独立控制和地址译码电路相对简单专门的I/O指令使程序清晰易读缺点:I/O指令没有存储器指令丰富,80x86支持I/O端口独立编址,2. I/O端口与存储器地址统一编址,优点:不需要专门的I/O指令I/O数据存取与存储器数据存取一样灵活缺点:I/O端口要

5、占去部分存储器地址空间程序不易阅读(不易分辨访问存储器和访问外设),3. I/O地址译码,与存储器地址译码在原理和方法上完全相同I/O地址不太强调连续,多采用部分译码,6.1.3 输入输出指令,输入指令(IN:将外设数据传送给CPU内的AL/AX)IN AL,i8;字节输入 (i8-8位端口地址)IN AL,DX;字节输入(端口地址放在DX)IN AX,i8;字输入IN AX,DX;字输入输出指令(OUT:将CPU内的AL/AX数据传送给外设)OUT i8,AL;字节输出 (i8-8位端口地址)OUT DX,AL;字节输出(端口地址放在DX)OUT i8,AX;字输出OUT DX,AX;字输出

6、,演示,8088/8086的I/O端口,8086只能通过输入输出指令与外设进行数据交换;呈现给程序员的外设是端口(Port),即I/O地址8086用于寻址外设端口的地址线为16条,端口最多为21665536(64K)个,端口号为0000H FFFFH每个端口用于传送一个字节的外设数据,1. I/O寻址方式,8088/8086的端口有64K个,无需分段,设计有两种寻址方式直接寻址:只用于寻址00H FFH前256个端口,操作数i8表示端口号间接寻址:可用于寻址全部64K个端口,DX寄存器的值就是端口号对大于FFH的端口只能采用间接寻址方式,2. I/O数据传输量,如果输入输出一个字节,利用AL寄

7、存器如果输入输出一个字,利用AX寄存器输入一个字,实际上是从连续两个端口输入两个字节,分别送AL(对应低地址端口)和AH(对应高地址端口)输出一个字,实际上是将AL(对应低地址端口)和AH(对应高地址端口)两个字节的内容输出给连续两个端口,IN指令实例(从20H端口输入一个字节和一个字),82H,4CH,地址译码,A0,A9,端口20H,端口21H,4CH,82H,824CH,AX,IN AX,20H,IN AL,20H,A,AH,AL,IN指令实例(从20H端口输入一个字),;方法1:直接寻址,字量输入IN AX,20H;方法2:间接寻址,字量输入MOV DX,20HIN AX,DX,;方法

8、3:直接寻址,字节量输入IN AL,21HMOV AH,ALIN AL,20H;方法4:间接寻址,字节量输入MOV DX,21HIN AL,DXMOV AH,ALDEC DXIN AL,DX,OUT指令实例(向300H端口输出一个字节),;唯一的方法:间接寻址,字节量输出MOV AL,BVAR;BVAR是字节变量MOV DX,300HOUT DX,AL,读取CMOS RAM中的数据,CMOS RAM芯片中存放PC机的配置信息和时钟,有64个字节,以8位I/O口与CPU相联,占用两个口地址70H,71H. 访问CMOSRAM,首先向70H端口输出(OUT指令)字节编号,然后用IN和OUT指令从7

9、1H端口读写。,例6.1 读取CMOS RAM数据程序,; 数据段DATEDB 2000-01-01,$; 代码段MOV BX,OFFSET DATE+2;年月日首地址MOV CL,4MOV AL,9;准备从9号单元获取年代数据OUT 70H,AL;选择CMOS RAM的9号单元IN AL,71H;获取9号单元的内容,例6.1 读取CMOS RAM数据程序(续1),MOV AH,AL ; 转存AHSHR AH,CL ; 处理年代高位ADD AH,30H ; 转换为ASCII码MOV BX,AH ; 存入数据区INC BX ; 指向下位AND AL,0FH ; 处理年代低位ADD AL,30H

10、; 转换为ASCII码MOV BX,AL ; 存入数据区ADD BX,2 ; 指向下位,例6.1 读取CMOS RAM数据程序(续2),MOV AL,8; 从8号单元获取月份数据OUT 70H,ALIN AL,71H ;也转换成ASCII码MOV AL,7;从7号单元获取日期数据 ;也转换成ASCII码MOV DX,OFFSET DATEMOV AH,9INT 21H; 显示日期,2018-07-03,显示结果,6.1.4 数据传送方式,附加硬件控制,软件程序控制,无条件传送查询传送中断传送,直接存储器存取(DMA传送)I/O处理器控制传送,6.2 无条件传送,在CPU与慢速变化的设备交换数据

11、时,可以认为它们总是处于“准备好”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送适合于简单设备,如LED数码管、按键或按钮等无条件传送的接口和操作均十分简单这种传送有前提:外设必须随时就绪,三态门和D触发器,三态门和以D触发器形成的锁存器是微机接口电路中最常使用的两类逻辑电路三态门的作用:功率放大、导通开关器件共用总线时,一般使用三态电路:需要使用总线的时候打开三态门;不使用的时候关闭三态门,使之处于高阻D触发器的作用:信号保持,导通开关,1. 三态缓冲器(三态门),T为低电平时:输出为高阻抗(三态)T为高点平时:输出为输入的反相,三态门具有单向导通和三态的特性,输入缓冲

12、,常用集成电路芯片 74LS244,双4位单向缓冲器分成4位的两组每组的控制端连接在一起控制端低电平有效输出与输入同相,每一位都是一个三态门,每4个三态门的控制端连接在一起,双向三态缓冲器,OE*0,导通 T1 AB T0 ABOE*1,不导通,双向三态门具有双向导通和三态的特性,Intel 8286,OE*0,导通 T1 AB T0 ABOE*1,不导通,每一位都是一个双向三态门,8位具有共同的控制端,8位双向缓冲器控制端连接在一起,低电平有效可以双向导通输出与输入同相,常用集成电路芯片 74LS245,8位双向缓冲器控制端连接在一起,低电平有效可以双向导通输出与输入同相,E*0,导通 DI

13、R1 AB DIR0 ABE*1,不导通,74LS245与Intel 8286功能一样,2. 锁存器(D触发器),电平锁存:高电平通过,低电平锁存上升沿锁存:通常用负脉冲触发锁存,输出锁存,D Q,常用集成电路芯片 74LS273,具有异步清零的TTL上升沿锁存器,每一位都是一个D触发器,8个D触发器的控制端连接在一起,三态缓冲锁存器(三态锁存器),T,A,D Q C,B,输出锁存缓冲,输入锁存缓冲,Intel 8282,具有三态输出的TTL电平锁存器STB 电平锁存引脚OE* 输出允许引脚,每一位都是一个三态锁存器,8个三态锁存器的控制端连在一起,常用集成电路芯片 74LS373,具有三态输

14、出的TTL电平锁存器LE 电平锁存引脚OE* 输出允许引脚,74LS373与Intel 8282功能一样,无条件传送:输入示例,MOV DX, 160HIN AL, DX,从160H端口读入数据,无条件传送:输入实例,MOV DX, 160HIN AL, DX,从160H端口小键盘读入数据,无条件传送:输出示例,MOV DX, 160HMOV AL, BXOUT DX, AL,向160H端口写入数据,无条件传送:输出实例,MOV DX, 160HMOV AL, BXOUT DX, AL,向160H端口发光二极管写入数据,无条件传送:输入输出接口,MOV DX,6000H;DX指向数据端口IN

15、AL,DX;从输入端口读开关状态NOT AL;反相OUT DX,AL;送输出端口显示CALL DELAY;调子程序延时,6.3 查询传送,CPU需要先了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(准备好)实现数据输入或输出对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换查询传送的特点是:工作可靠,适用面宽,但传送效率低,准备好?,查询传送的两个环节, 查询环节寻址状态口读取状态寄存器的标志位若不就绪就继续查询,直至准备好 传送环节寻址数据口是输入,通过输入指令从数据端口读入数据是输出,通过输出指令向数据端口输出数据,N,超时,状态口,数据口,M

16、OV DX,5001H ;DX指向状态端口STATUS:IN AL,DX ;读状态端口TEST AL,01H ;测试标志位D0JZ STATUS ;D00,未准备好,继续查询DEC DX ;D01,准备好,DX指向数据端口IN AL,DX ;从数据端口输入数据,2. 查询输入接口,状态口,数据口(5002),MOV DX,5001H;DX指向状态端口STATUS:IN AL,DX ;读取状态端口的状态数据TEST AL,80H ;测试标志位D7JNZ STATUS ;D71,未就绪,继续查询INC DX;D70,就绪,DX指向数据端口MOV AL,BUF;变量BUF送ALOUT DX,AL;将

17、数据输出给数据端口,3. 查询输出接口,6.4 中断传送,外设主动提出请求处理器响应请求执行中断服务程序,完成一次数据传送中断处理结束,继续执行原来程序,6.4.1 中断工作过程,中断请求中断响应 中断关闭 断点保护 中断源识别 现场保护中断服务 恢复现场 中断开放中断返回,中断流程,中断接口,1. 中断请求和响应,中断请求外设以硬件信号的形式、向处理器发送有效信号,应保持有效到被响应中断传送过程由外设的中断请求启动,获得处理器认可,才真正进入中断传送过程处理器需要满足一定条件,才能响应中断请求:(1)指令执行结束后才能响应外设的中断请求(2)处理器处于开放中断的状态(3)中断请求的同时,没有

18、更高级别的其他请求,中断流程,2. 中断关闭和开放,中断开放允许可屏蔽中断被响应中断允许、开中断中断关闭不允许可屏蔽中断被响应中断被屏蔽了、被禁止了,关中断2级(多级)中断响应控制处理器的中断屏蔽位:控制所有可屏蔽中断外设接口电路的中断屏蔽位:灵活控制某个外设,中断流程,中断屏蔽位用于实现中断的灵活控制,3. 断点保护和中断返回,断点是指被中断执行的指令位置断点保护保护断点指令所在的存储器地址断点保护一般由处理器自动完成有的处理器还可能自动保护程序状态中断返回处理器返回断点继续执行原来的程序中断服务程序最后的一条中断返回指令实现,中断流程,5. 现场保护和恢复,现场:对处理器执行程序有影响的工

19、作环境进入中断后需要保护现场中断返回前需要恢复现场断点地址(或加上程序状态)由处理器硬件自动保护其他需要由中断服务程序进行保护和恢复(通常是处理器的通用寄存器AX,BX。)具体的编程方法可以类似子程序编程,中断流程,中断源的识别,4. 中断源识别,问题1:系统有多个中断请求,CPU如何识别中断源?,解答1:中断向量(图6-12)解答2:中断查询(图6-13),中断向量接口,中断查询接口,中断流程,中断优先权排队,6.4.2 中断优先权管理,问题2:有多个中断同时请求,CPU如何应对?,解答1:软件查询:逐个判断解答2:硬件电路:编码电路、链式排队电路,中断嵌套,6.4.2 中断优先权管理(续)

20、,问题3:中断处理过程中,又有中断提出请求,怎么办?,原则1:优先权低于或等于,不予理会原则2:优先权高于,中断嵌套,6.5 DMA传送,希望克服程序控制传送的不足:外设CPU存储器外设CPU存储器直接存储器存取DMA:外设存储器外设存储器CPU释放总线,由DMA控制器管理,DMA传送的工作过程, DMA预处理:CPU对DMA控制器进行初始化设置 DMA请求和应答:外设、DMAC和CPU三者通过应答信号建立联系,CPU将总线交给DMAC控制 DMA数据传送DMA读存储器:存储器 外设DMA写存储器:存储器 外设 自动增减地址和计数,判断传送完成否,DMA传送流程,DMA请求和应答,发出存储地址

21、发出控制信号,数据交换,传送结束?,地址增量,请求应答,DMA预处理,Y,N,传送方式的比较,无条件传送慢速外设需与CPU保持同步查询传送 简单实用,效率较低中断传送外设主动,可与CPU并行工作,效率较高。DMA传送DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送,多种多样的外设,工作原理不同机械、电子、机电、电磁传送信息类型多样数字量、模拟量、开关量传送速度差别极大传送方式不尽相同串行、并行编码方式不同二进制、BCD码、ASCII码,返回,端口(PORT),端口泛指I/O地址,通常对应接口电路的寄存器一个接口电路可以具有多个I/O端口(寄存器),每个端口用来保存和交换不同的

22、信息数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、状态端口和控制端口,用于保存数据、状态和控制信息输入、输出端口可以是同一个I/O地址,一定要理解,返回,输入输出指令,返回,输入接口的缓冲环节,返回,输出接口的锁存环节,返回,输入接口的锁存、缓冲环节,返回,输出接口的锁存、缓冲环节,返回,准备好(Ready),在输入场合“准备好”说明输入接口已准备好送往CPU的数据,正等着CPU来读取该状态也可用接口中数据缓冲器已“满”来描述 在输出场合“准备好”说明输出接口已做好准备,等待接收CPU要输出的数据该状态也可用接口数据缓冲器已“空”、或者用接口(外设)“闲”或不“忙(Busy)”来描述,返回,准备好:满,空、闲、不忙,含超时判断的查询传送流程图,返回,中断传送工作过程,返回,中断输入接口,返回,中断标识,中断查询接口,返回,中断查询的流程,返回,中断优先权编码电路,返回,链式中断优先权排队电路,返回,中断嵌套,返回,DMA请求和应答,返回,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经济财会 > 贸易

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报