输入与输出中断

上传人:无*** 文档编号:243948137 上传时间:2024-10-01 格式:PPT 页数:35 大小:2.27MB
返回 下载 相关 举报
输入与输出中断_第1页
第1页 / 共35页
输入与输出中断_第2页
第2页 / 共35页
输入与输出中断_第3页
第3页 / 共35页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,6.1,输入输出接口概述,6.2 CPU,与外设数据传送的方式,6.3,中断技术,6.4 8086/8088,的中断系统和中断处理,第,6,章 输入输出与中断,6.1,输入输出接口概述,计算机在应用中,必然同各种各样的外设打交道,.,外设与计算机的连接不能像存储器那样,直接挂到总线,(DB,、,AB,、,CB),上,而必须通过各自的专用接口电路(接口芯片,),与主机连接,.,一、,CPU,与外设间的连接,速度匹配,(Buffer),信号电平和驱动能力,(,电平转换器、驱动器,),信号形式匹配,(A/D,、,D/A),信息格式,(,字节流、块、数据包、帧,),时序匹配,(,定时关系,),总线隔离,(,三态门,),I/O,接口要解决的问题,接口电路的信息可分为,3,类:数据信息;状态信息,;,控制信息。,(一)数据信息,数据信息包括:,1),数字量,2),模拟量,3),开关量:,(二)状态信息,反映外设当前所处工作状态的信息,以作为,CPU,与外设间可靠交换数据的条件。,(,三,),控制信息,用于控制外设的启动或停止。,二、接口电路的基本结构,(1)3,种信息应通过不同的,端口,分别传送。如数据输入,/,输出寄存器,(,缓冲器)、状态寄存器与命令控制寄存器各占一个端口,,每个端口都有自己的端口地址,(2),外设的状态,作为一种输入数据,而,CPU,的控制命令,是作为一种输出数据,从而,可通过数据总线,来分别传送。,(3),端口地址由,CPU,地址总线的,低,8,位或低,16,位,地址信息来确定,,CPU,根据,I,O,指令提供的端口地址来寻址端口,然后同外设交换信息。,不同外设具有的端口数各不相同,计算机中为每一个端口都赋予一个惟一编号,称为端口地址,数据线,控制线,状态线,DB,CB,AB,数据输入寄存器,(or,三态门,),数据输出寄存器,(,锁存器,),状态寄存器,(or,三态门,),命令寄存器,译码,电路,控制,逻辑,6.2 CPU,与外设之间数据传送的方式,CPU,与外设之间的数据传送,通常采用以下,3,种,I/O,传送方式,程序传送,中断传送,DMA,传送,一、程序传送,CPU,与外设间的数据交换在程序控制(即,IN,或,OUT,指令,控制,),下进行,I/O,数据传送指令,(1)IN,累加器,端口号 端口号可以用,8,位立即数直接给出;也可以将端口号事先安排在,DX,寄存器中,间接寻址,16,位长端口号,(,可寻址的端口号为,0,65535),。,IN,指令是将指定端口中的内容输入到累加器,AL/AX,中。,其指令如下:,IN AL,,,PORT,;,AL(,端口,PORT)IN AX,,,PORT,;,AX(,端口,PORT)IN AL,,,DX,;,AL(,端口,(DX)IN AX,,,DX,;,AX(,端口,(DX),(2)OUT,端口号,累加器 与,IN,指令相同,端口号可以由,8,位立即数给出,也可由,DX,寄存器间接给出。,OUT,指令是将累加器,AL/AX,中的内容输出到指定的端口。,OUT PORT,,,AL,;端口,PORTAL OUT PORT,,,AX,;端口,PORTAX OUT DX,,,AL,;端口,(DX)AL OUT DX,,,AX,;端口,(DX)AX,适用于总是处于准备好状态的外设,以下外设可采用无条件传送方式:,开关,发光器件,(,如发光二极管、,7,段数码管、灯泡等,),继电器,步进电机,优点:软件及接口硬件简单,缺点:只适用于简单外设,适应范围较窄,(一)无条件传送(又称同步传送),输入输出,(,无条件程序传送,),原理图,输入缓冲与输出锁存,RD,当,CPU,执行,IN,指令时,外设的数据是已准备好的,否则就会读错。,在,CPU,执行,OUT,指令时,必须确信所选外设的锁存器是空的,例:一个采用同步传送的数据采集系统如图,6.4,所示。,采集过程要求:,(1),先断开所有的继电器线圈及触头,不采集数据。,(2),延迟一段时间后,使,K0,闭合,采集第,1,个通道的模拟,量,并保持一段时间,以使数字电压表能将模拟电压转换为,16,位,BCD,码。,(3),分别将高,8,位与低,8,位,BCD,码存入内存,完成第,1,个模,拟量的输入与存。,(4),利用移位与循环实现,8,个模拟量的依次采集、输入,与转存,。,数据采集程序如下:,START:,MOV DX,0100H ;01HDH,置吸合第,1,个继电器代码,;00HDL,置断开所有继电器代码,LEA BX,DSTOR ;,置输入数据缓冲器的地址指针,XOR AL,AL ;,清,AL,及进位位,CF,AGAIN:MOV AL,DL,OUT 20H,AL ;,断开所有继电器线圈,CALL NEAR DELAY1 ;,模拟继电器触点的释放时间,MOV AL,DH,OUT 20H,AL ;,先使,P0,吸合,CALL NEAR DELAY2 ;,模拟触点闭合及数字电压表的转换时间,IN AX,10H ;,输入,MOV BX,AX ;,存入内存,INC BX,INC BX,RCL DH,1 ;DH,左移,(,大循环,)1,位,为下一个触点吸合,作准备,JNC AGAIN ;8,位都输入完了吗?没有,则循环,DONE,:,;,输入已完,则执行别的程序段。,适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。,CPU,在与外设交换数据前必须询问外设状态,“,你准备好没有?,”,对外设的要求:应提供设备状态信息,对接口的要求:需要提供状态端口,优点:软件比较简单,缺点:,CPU,效率低,数据传送的实时性差,,速度较慢,此条件是,:,在执行输入,(IN,指令,),或输出,(OUT,指令,),前,要先查询接口中状态寄存器的状态。输入时,由该状态信息指示要输入的数据是否已“,准备就绪,”;而输出时,又由它指示输出设备是否“,空闲,”,由此条件来决定执行输入或输出。,(,二,),程序查询传送,(,条件传送,异步传送,),查询方式的流程图,超时,?,READY?,与外设进,行数据交换,超时错,读入并测试外设状态,Y,N,Y,N,传送完?,防止死循环,复位计时器,N,Y,程序查询输入,图,6.6,查询式输入时的数据 和状态信息,查询输入部分的程序:,POLL:,IN AL,STATUSPORT;,读状态端口的信息,TEST AL,80,;,设“准备就绪”,(READY),信息,在,D7,位,JE POLL ;,未“准备就绪”,则循环再查,IN AL,DATA_PORT ;,已“准备就绪”,(READY=1),则,读入数据,.,程序查询输出,查询输出部分的程序:,POLL:IN AL,STATUS_PORT;,查状态端口中的状态信息,D7,TEST AL,,,80H,JNE POLL,;,;D7,1,即忙线,1,则循环再查,MOV AL,,,STORE;,否则,外设空闲,由内存读取数据,OUT DATA_PORT,AL ;,输出到,DATA,地址端口单元,.,一个采用查询方式的数据采集系统,采集过程要求:,(1),初始化。,(2),先停止转换。,(3),启动转换,查输入状态信息。,(4),当输入数据已转换完(,REA,1,即准备就绪),则经,由端口输入至,CPU,的累加器,AL,中,并转送内存。,(5),设置下一个内存单元与下一个输入通道,循环次,。,数据采集过程的程序为:,STARE:MOV DL,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,STOSB ;,输入数据转送内存单元,IN CDL ;,输入模拟量通道增,1,JNE AGAIN ;8,个模拟量未输入完则循环,;,输入已完,执行别的程序,总结上述程序查询输入,/,输出传送方式的执行过程,其步骤是:,(,)CPU,从,I/O,接口的状态端口中读入所寻址的外设,的状态信息“,READY”,或“,BUSY”,。,(,),根据读入的状态信息进行判断。,程序查询输入时,若状态信息,READY,0,,,则外设数据未准备好,,CPU,继续等待查询,直至,READY,,,外设已准备好数据,执行下一步操作,;,程序查询输出时,若状态信息,BUSY,,,则外设正在忙”,CPU,继续等待查询,直至外设“空闲”,BUSY,0,时,执行下一步操作。,(,),执行输入,/,输出指令,进行,I/O,传送。完成数据的,输入输出,同时将外设的状态信息复位,一个位的数据,传送结束。,当计算机工作任务较轻或,CPU,不太忙时,可以应用程序,查询输入输出传送方式,它能较好地协调外设与,CPU,之间定,时的差别;程序和接口电路比较简单。其主要缺点是,:CPU,必,须作程序等待循环,不断测试外设的状态,直至外设为交换数,据准备就绪时为止。这种循环等待方式很花费时间,大大降,低了,CPU,的运行效率。,中断,是外设或其他中断源中止,CPU,当前正在执行的,程序,而转向为,该外设服务,(,如完成它与,CPU,之间传送一个数据)的程序,一旦服务结束,又,返回原程序,继续工作。,CPU,在每一条指令执行的结尾阶段,均查询是否有中断请求信号,若有,则暂停执行现行的程序,转去为申请中断的某个外设服务,以完成数据传送。,二、中断传送,CPU,无需循环查询,外设状态,而是外部设备在需要进行数据传送时才中断,CPU,正在进行的工作,让,CPU,来为其服务。,大大提高了,CPU,的利用率。,优点:,CPU,效率高,实时性好,速度快。,缺点:程序编制较为复杂。,特点:,三、直接存储器存取()传送,前面三种,I/O,方式都需要,CPU,作为中介:,外设,CPU,内存,两个含义:,1,)软件:外设与内存之间的数据传送是通过,CPU,执行程序来完成的;,2,)硬件,:,I/O,接口和存储器的读写控制信号、地址信号都是由,CPU,发出的(总线由,CPU,控制)。,缺点:程序的执行速度限定了传送的最大速度(约为几十,KB/,秒),解决:,DMA,传输,(,Direct Memory Access,),方式即,直接存储器存取,,或称为数据通道方式,是一种由专门的硬件电路执行交换的传送方式,它让外设接口可直接与内存进行高速的数据传送,而不必经过,这样就不必进行保护现场之类的额外操作,可实现对存储器的直接存取。这种专门的硬件电路就是,DMA,控制器,简称为。,DMAC,外设,接口,CPU,DRQ,MEM,DACK,HOLD,HLDA,BUS,控制信号,DMA,传输,:,外设,内存,外设直接与存储器进行数据交换,,,CPU,不再担当数据传输的中介者;,总线由,DMA,控制器(,DMAC,),进行控制(,CPU,要放弃总线控制权),内存,/,外设的地址和读写控制信号均由,DMAC,提供。,优点:数据传输,由,DMA,硬件来控制,数据,直接在内存和外设之间交换,可以达到很高的传输速率(可达几,MB/,秒),DMA,控制器的功能:,向,CPU,发总线请求信号,实现对总线的控制,修改所用的 存储器或接口的地址指针,发读写控制信号,存放数据长度,交还总线控制权,综上所述,,DMA,控制器的工作特点如下:,是一个接口电路,能够控制系统总线,操纵外设和存
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!