《【教学课件】第7章输入输出接口和中断技术.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第7章输入输出接口和中断技术.ppt(51页珍藏版)》请在三一办公上搜索。
1、第7章 输入输出接口和中断技术,本章内容基本概念 I/O端口的编址 输入输出的基本方法:无条件、查询、中断、DMA中断中断基本概念8086/8088中断系统8259中断控制器*,7.1 输入输出接口概述,什么是I/O接口(电路)?I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路,7.1.1 CPU与外设间的连接,外设与CPU的连接必须通过相应的专用接口。接口电路(芯片)分可编程、不可编程。不同外设有不同编号,类似存储器单元的编号,即外设有地址。,输入输出端口的编址方式,两种端口编址方式一、与存储器统一
2、编址:外设端口作为存储器的一个单元,占据存储器的一个地址。访问存储器和 访问外设使用一样的指令。如MOTOROLA的产品二、独立编址:外设端口与存储器独立编址。有专门的输入输出指令。如INTEL8088/8086、ZILOG的产品。,8088/8086的输入输出指令,输入指令IN AL,i8/DX;字节输入IN AX,i8/DX;字输入输出指令OUT i8/DX,AL;字节输出OUT i8/DX;字输出,功能演示,功能演示,7.1.2 接口电路的基本功能 I/O接口的典型结构,控制总线CB,地址总线AB,I/O接口电路,数据,控制,状态,数据总线DB,CPU,外设,控制寄存器,状态寄存器,数据
3、寄存器,中断控制,命令寄存器,接口信息,一、CPU和I/O设备之间的接口信息1、数据信息 1)、数字量 2)、模拟量 3)、开关量 4)、脉冲量2、状态信息反映当前外设所处的工作状态,是否准备好。3、控制信息 CPU 通过接口向外设传送控制信息,控制外设的启动、停止。,接口电路的内部结构,CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部:数据寄存器保存外设给CPU和CPU发往外设的数据 状态寄存器保存外设或接口电路的状态 控制寄存器保存CPU给外设或接口电路的命令,理解端口,I/O接口的主要功能,对输入输出数据进行缓冲和锁存输出接口有锁存环节输入接口有缓冲环节 对信号的
4、形式和数据的格式进行变换微机直接处理:数字量、开关量、脉冲量 对I/O端口进行寻址 与CPU和I/O设备进行联络,7.2 数据传送方式,程序控制下的数据传送通过CPU执行程序中的I/O指令来完成传送,又分为:无条件传送查询传送中断传送直接存储器存取(DMA)传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线来完成外设和存储器间的数据传送I/O处理机CPU委托专门的I/O处理机来管理外设,完成传送和相应的数据处理,7.2.1 无条件传送方式,在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称
5、立即传送、同步传送。适合于简单设备,如LED 数码管、按键/按纽等无条件传送的接口和操作均十分简单这种传送有前提:外设必须随时处于就绪状态,传送流程,接口实例,无条件传送:输入示例,IOR,三态缓冲器,OE,I/O装置,地址译码器,CS,D7D0,A15A1,A0,0160H,MOV DX,160HIN AL,DX,无条件传送:输入实例,MOV DX,160HIN AL,DX,74LS244,+5V,10K x 8,G1 G2,数据总线,CS,RD,无条件传送:输出示例,地址译码器,数据锁存器,A15,A0A14,CS,0160H,输出设备,D7D0,MOV DX,160HMOV AL,BXO
6、UT DX,AL,无条件传送:输出实例,MOV DX,160HMOV AL,BXOUT DX,AL,+5V,74LS373,300 x 8,LE OE,数据总线,CS,WR,无条件传送:输入输出接口,K7,K1,K0,+5V,D0D7,A0A15,CLK,LS06反相驱动器,LS2738D锁存器,LS244三态缓冲器,8000H,译码,+5V,LED0,LED7,-G,IOW,IOR,无条件传送:输入输出接口,next:mov dx,8000h;DX指向数据端口in al,dx;从输入端口读开关状态not al;反相out dx,al;送输出端口显示call delay;调子程序延时jmp n
7、ext;重复P248 例,就绪?,2.程序 查询传送,CPU先了解(查询)外设的工作状态,在外设就绪(可以交换信息的情况下)实现数据的输入或输出对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换查询传送的特点是:工作可靠,适用面宽,但传送效率低,查询传送的两个环节,查询环节寻址状态口读取状态寄存器的标志位若不就绪就继续查询,直至就绪传送环节寻址数据口是输入,通过输入指令从数据口读入数据是输出,通过输出指令向数据口输出数据,输入状态,就绪?,数据交换,Y,N,传送流程,接口实例,1)查询输入 P249,IOR,+5V,8D锁存器,8位三态缓冲器,译码,1位三态缓
8、冲器,A0A15,20H,21H,D0D7,D7,输入设备,IOR,STB,R,Q,D,查询输入,Poll:in al,20H;读状态端口test al,80h;测试标志位D7je poll;D70,未就绪,继续查询in al,21H;D71,就绪,从数据口输入数据,2、查询输出,8D锁存器,译码,1位三态缓冲器,R,Q,A0A15,30H,31H,D0D7,D7,D,+5V,ACK,IOW,IOR,输出设备,查询输出,status:in al,30H;读取状态端口的状态数据test al,80h;测试标志位D7jnz status;D71,未就绪,继续查询 mov al,buf;D70,就绪
9、,变量buf送AL out 31H,al;将数据输出给数据端口P251 例:一个采用查询方式的数据采集系统,例:一个采用查询方式的数据采集系统,一个有个模拟量输入的数据采集系统,用查询方式与传送信息,电路如图。,8个输入模拟量,经过多路开关它由端口4输出的3位二进制码(D2、D1、D0)控制(000相应于UA0输入相应于UA7输入),每次送出一个模拟量至转换器;同时,转换器由端口4输出的4位控制启动与停止。转换器的信号由端口2的0输至数据总线;经转换后的数据由端口3输入至数据总线。所以,这样的一个数据采集系统,需要用到3个端口,它们有各自的地址。,数据采集过程的程序为:STARE:MOV DL
10、,0F8H;设置启动A/D转换的信号,且低位选通多路 开关通道 MOV AX,SEG DSTOR;设置输入数据的内存单元地址指针 MOV ES,AX LEA DI,DSTOR AGAIN:MOV AL,DL AND AL,0EFH;使D4 OUT 04,AL;停止A/D转换 CALL DELAY;等待停止A/D转换操作的完成 MOV AL,DL OUT 04,AL;选输入通道并启动A/D转换 POLL:IN AL,02;输入状态信息 SHR AL,1;查AL的D0 JNC POLL;判READY=1?若D0=0,未准备好,则循环再查 IN AL,03;若已准备就绪,则经端口将采样数据输入至A
11、STOSB;输入数据转送内存单元 IN CDL;输入模拟量通道增1 JNE AGAIN;8个模拟量未输入完则循环;输入已完,执行别的程序,查询方式的EEPROM编程,next:mov al,55h;写入内容55Hmov bx,al;写入存储单元nop;空操作指令,起延时作用nopnext1:in al,dx;查询状态口test al,01h;测试D0jz next1;D00,芯片还在写入inc bx;D01,写毕,指针移动loop next;循环至全部字节写完,7.2.2 中断传送 P252,程序断点,主程序,中断请求,为外设,继续执行,返回断点,传送流程,CPU执行程序时,由于发生了某种随机
12、的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。,提供服务,中断服务程序入口,中断传送与接口,中断传送是一种效率更高的程序传送方式进行传送的中断服务程序是预先设计好的中断请求是外设随机向CPU提出的CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚本书主要论述中断在输入和输出方面的应用中断还有着非常广泛的应用,三态缓冲器,中断传送与接口(续),D0D7,+5V,8D锁存器,8位三态缓冲器,R,Q,译码,8001H,中断向量号,D0D
13、7,INTR,D,输入设备,中断允许触发器,A0A15,中断请求触发器,IOR,INTA,STB,DMA传送方式,希望克服程序控制传送的不足:外设CPU存储器外设CPU存储器直接存储器存取DMA:不经CPU,不用指令 外设存储器(DMA写)外设存储器(DMA读)扩展:外设 外设CPU出让系统总线(输出高阻),由DMA控制器(DMAC)接管系统总线,DMA传送的工作过程,CPU对DMA控制器进行初始化设置 外设、DMAC、CPU,3者通过应答信号建立联系:CPU将总线暂交DMAC控制,事后再将控制权返还。DMA传送DMA读:存储器 外设DMA写:存储器 外设 DMAC的功能:对存储器寻址地址动加
14、1/减1计数器减1判断传送是否完成,传送流程,DMA传送(以DMA 写为例),-MEMW,-IOR,数据总线,地址总线,输入设备,存储器,DMAC,CPU,HOLD,HLDA,DMA传送流程,HLDA,发存储器地址,传送数据,传送结束?,DMA结束,修改地址指针,DMA操作的基本方法,周期挪用:把CPU不访问存储器的那些周期挪用来进行DMA操作。周期扩展:DMAC发出请求信号,时钟电路把供给CPU的时钟周期加宽,CPU在加宽的时钟周期内不向下操作,以便进行DMA操作。CPU停机:最常用、简便。DMAC发出请求,CPU在当前总线周期结束,让出总线,由DMAC控制总线进行DMA。,DMA传送方式(
15、两种),单字节方式:每次DMA请求只传送1个字节。字节组传送方式:每次DMA请求连续传送1个数据块。,传送方式的比较,无条件传送:慢速外设需与CPU保持同步查询传送:简单实用,效率较低中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送,第6章教学要求,1.掌握I/O端口编址方法2.掌握CPU与外设交换信息的方式:无条件、查询传送方式、中断、DMA3.理解中断方式5.理解DMA传送的工作过程,掌握DMA操作的基本方法、两种DMA传送方式。,多种多样的外设,工作原理不同机械、电子、机电、电磁传送信息
16、类型多样数字量、模拟量、开关量传送速度差别极大传送方式不尽相同串行、并行编码方式不同二进制、BCD码、ASCII码,输出接口的锁存环节,输出接口的锁存、缓冲环节,输入接口的缓冲环节,输入接口的锁存、缓冲环节,端口(PORT),I/O端口通常以其地址为标识,1个端口一般对应1个可以被用户访问的寄存器数据寄存器保存数据(芯片中可能含多个)控制寄存器保存控制信息(芯片中可能含多个)状态寄存器保存状态信息(芯片中可能含多个)1个接口电路可以具有多个I/O端口,每个端口保存不同的信息(用以与CPU或外设进行信息交换)输入端口和输出端口可以使用同一个I/O地址,IN AL,21H,OUT 43H,AL,无条件传送流程,“就绪(Ready)”的含义,在输入场合:“就绪”说明输入接口已准备好送往CPU的数据,正等着CPU来读取该状态也可用接口中数据缓冲器已“满”来描述在输出场合:“就绪”说明输出接口已做好准备,等待接收CPU要输出的数据该状态也可用接口数据缓冲器已“空”、或者用接口(外设)“闲”或“不忙”来描述,“就绪”满、空、闲、不忙,查询传送流程,中断传送流程,DMA传送流程,