第六章输入输出和中断技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第六章输入/输出和中断技术本章学习目标输入输出、接口和端口概念输入和输出的传送方式中断技术和8086/8088中断系统可编程中断控制器8259A中断服务程序设计1、I/O接口输入输出(I/O)是微机系统与外部设备进行信息交换的过程。输入输出设备称为外设,微机通过它们与外界进行数据交换。因I/O设备种类繁多,CPU并不与I/O设备直接进行信息交流,而是通过I/O接口进行。I/O接口是连接CPU和I/O设备之间的桥梁。它不仅包括接口的电路,还包括接口电路的管理驱动程序。1)接口的功能2)接口传递的信息3)I/O端口的编址方法接口的功能设置I/O接口的必要性——I/O设备的多样性使CPU与I/O设备交换信息比CPU与存储器交换信息更为复杂,表现在:1)I/O设备工作速度不同;2)数据字长多样;3)处理的信号不同(模拟或数字信号、并行或串行);4)所需的控制信号不同。I/O接口在它连接的CPU与I/O设备之间起转换作用。I/O接口I/O的功能–输入输出数据的缓冲和锁存输出接口有锁存环节输入接口有缓冲环节–信号形式和数据格式的变换–I/O端口寻址、控制信号产生–电气特性匹配I/O信息•数据信息:数字量、模拟量、开关量•状态信息•控制信息接口传递的信息接口传递的基本信息是数据信息,除此之外,还传递状态信息和控制信息。不同的信息用不同的I/O端口区分。端口:端口是构成I/O接口的基本单元。数据信息:CPU与I/O设备传递的基本信息。状态信息:反映I/O设备当前工作状态的信息,如输出设备是否空闲,输入设备是否数据准备好等。控制信息:CPU通过接口传递给I/O设备的命令信息,用以控制I/O设备的工作,如启动、停止等。I/O接口的构成端口的分类:数据端口状态端口控制端口端口:I/O接口通常设置有若干个寄存器,用来暂存CPU和外设之间传输的数据、状态和控制信息,接口内的寄存器通常被称为端口。I/O端口的编址存储器映象编址I/O单独编址属性统一编址单独编址应用motorola的M6800系列,iMCS51系列80X86,MCS96系列,Z80系列特点1.I/O端口相当于内存的一部分,使内存容量减小2.对I/O端口的读/写与对存储器的读/写相同,所有可对内存操作的指令对I/O端口均可使用3.指令系统中不专设I/O指令1.端口与存储器分别独立编址,端口不占用内存空间2.设有专门的I/O指令对端口进行读写,内存操作的指令不能用于I/O端口因CPU要访问I/O接口,必须对I/O端口进行编号,即给予I/O端口不同地址以区分它们。I/O接口的编址独立编址统一编址80X86CPUI/O端口编址•在80X86CPU中,可用的端口地址线:A0~A15,可以寻址216=64K个端口。•在IBMPC/XT中,实际参与端口寻址地址线:A0~A9,可以寻址1K个I/O端口。参见P341表8-1:PC/XT的I/O空间分配。•在PC/XT中采用的系统总线标准:PC总线,参见P348。其中:AEN引脚信号表示:当为高电平时,CPU让出总线控制权,给DMA控制器掌管系统总线。I/O端口的地址分配举例[例]设计端口地址为218H的译码电路[分析]CPU执行IN/OUT指令时,发出端口的地址信号MOVDX,218HINAL,DX或OUTDX,AL对应218H端口的地址信号为(只取A9~A0):A9A8A7A6A5A4A3A2A1A0(地址信号)1000011000B218H只要满足此地址取值的译码电路均可利用门控电路和译码器当端口地址信号为:A9A8A7A6A510000A4A3A2A1A011000即218H时,Y0输出0。简单I/O接口三态缓冲器输入设备通过数据总线向CPU传送数据,首先需通过缓冲器进行缓冲隔离,当CPU选通缓冲器时,才将数据送到数据总线上,而其他的输入设备此时与总线隔离。数据锁存器当CPU把数据送给输出设备时,只在总线周期的T2~T4时间内数据总线上送出数据,而外设的读取数据的速度比较慢,因此必须利用锁存器及时地把数据总线上的数据锁存起来。总线周期结束后,CPU将去做后续的工作。简单输入接口举例MOVDX,218HINAL,DX简单输出接口举例MOVDX,219HOUTDX,AL在硬件上保证:只在CPU执行向219H端口输出数据时,锁存器处于触发状态,其输出随输入变化,而CPU执行其它指令时,锁存器均处于锁存状态,其输出不随输入变化,I/O指令累加器AL/AX与I/O端口间的数据传送。输入指令IN:直接寻址INAL,PORT;(AL)←(PORT)INAX,PORT;(AL)←(PORT);(AH)←(PORT+1)间接寻址INAL,DX;(AL)←(DX)INAX,DX;(AL)←(DX);(AH)←(DX+1)输出指令OUT:MOVAL,[2000H];存储器读操作INAL,48H;I/O读操作MOV[4000H],ALOUT48H,AL最小模式下,I/O端口的读、写周期与读、写存储器的过程相似,不同之处:1.IO/M变高,CPU操作I/O端口。2.端口的地址信号出现在A15~A0上,A19~A16全为低电平。8088CPU最小模式下,I/O端口读写周期时序MOVDX,218HMOVDX,219HINAL,DX;读操作OUTDX,AL;写操作2、I/O传送方式不同的传送方式适用不同的I/O设备、不同的工作环境:程序控制的输入与输出中断控制的输入与输出直接存储器访问方式(DMA)程序控制的输入与输出程序传送方式以CPU为中心,数据传送的控制来自CPU,通过执行预先编制的输入/输出程序实现数据传输。程序传送方式可分为无条件传送和查询传送方式。1.无条件传送方式要求:输入操作时,指定的I/O端口已准备好数据;输出时,指定的I/O端口已空。操作:直接执行IN/OUT指令从输入设备读取数据或将数据送出到输出设备。适用:开关、发光二极管、数码管、继电器等设备。[例]如图示,外设为8个发光二极管,与其相连的I/O端口地址80H,欲使发光二极管全亮,执行指令:MOVAL,0OUT80H,AL+5V…I/O接口(80H)CPUDBABCB程序控制的输入与输出2.条件传送方式在传送数据前先查询外设的状态,确定外设准备好时才传送数据;若未准备好,则CPU等待。NEXT:INAL,20H;读状态信息TESTAL,80H;判断JZNEXT;未准备好,等INAL,21H;准备好,输入此例中,状态端口20H,状态位D7=1为准备好。数据端口21H。输入状态信息输入/输出数据NYREADY?查询式输入接口电路Ready=1,表示输入设备数据准备好查询式输出接口电路Busy=0,表示输出设备准备好接收数据。中断控制的输入与输出当外设准备好后,外设接口便主动向CPU发“中断请求”信号。CPU响应这一请求,则暂停正在执行的程序,而转入与外设操作有关的中断服务程序。在中断服务程序中完成数据的输入或输出,中断服务程序执行完毕,CPU返回到原来程序的断点继续执行。主程序中断请求→中断服务程序中断传送方式的接口电路直接存储器访问DMA基本思想:在存储器和外设之间建立起直接的数据传送通路,即不经由CPU,而由专门的DMA控制器实现存储器和外设之间的操作。特别适合于高速度大批量数据传送的场合。但是,这种方式要增设DMA控制器,硬件电路比前两种方式更为复杂。DMA控制原理(工作过程)(1)外设向DMA控制器发出DMA请求;(2)DMA控制器向CPU发出总线请求信号;(3)CPU执行完现行的总线周期后,向DMA控制器发出响应请求的回答信号;(4)CPU将控制总线,地址总线及数据总线让出,由DMA控制器进行控制;(5)DMA控制器向外部设备发出DMA请求回答信号;(6)进行DMA传送;(7)数据传送完毕,CPU重新控制总线。3、中断技术•中断——由于外设的请求或某事件的发生使CPU暂停执行现行程序,转去执行处理相应请求或事件的中断服务程序,处理完毕再返回运行原程序,这样的过程为中断。•中断源——能够引起中断的原因、来源。•中断源:内部与外部之分◆一般的I/O设备。如键盘、打印机等;◆数据通道中断源。如磁盘、磁带机等;◆实时时钟;◆故障引起的中断。如电源掉电;◆中断指令或软件故障。如系统功能调用INT21H、除数为0等。中断基本概念•中断系统——为实现中断功能而设置的各种软件和硬件。应具备:◆中断源的识别、响应及返回:完成一次中断过程;◆中断优先权排队:给中断源按轻重缓急排队;◆中断嵌套:优先权高的中断源能中断优先权低的中断处理。中断处理过程中断请求→中断排队→中断响应→中断服务→中断返回(1)中断请求——中断源向CPU发出的请求中断服务的信号。中断请求信号是随机发生的,因此,CPU一般隔一定时间检测一次中断请求信号,确定是否有中断请求。(2)中断排队及中断响应——系统中有多个中断源,当两个以上中断源同时向CPU发出中断请求信号,则CPU必须先响应重要的、紧急的中断,即优先权高的中断源。这就是中断排队的工作。中断响应是指CPU在接到中断请求信号后,确定可以响应时自动完成的操作,大概包括:注意:CPU响应中断是有条件的,如内部允许中断、中断未被屏蔽、当前指令执行完等。中断处理过程*保护FR、断点;*关中断;*形成中断入口地址,转入中断服务程序。注意:IF:中断允许位,当CPU复位时,IF清零。(3)中断服务及中断返回——CPU执行中断服务程序,中断服务结束时,应将在中断响应时保护的断点恢复,回到被中断的主程序,即中断返回的操作。中断服务程序保护有关寄存器内容开中断关中断中断处理恢复有关寄存器内容中断返回图7-1中断服务程序的结构(1)保护现场;(2)开中断——为实现中断嵌套,必须设置开中断。(3)中断处理——这是中断服务程序的核心;(4)关中断——为保证下一步恢复现场的操作不被打断;(5)恢复现场;(6)中断返回。中断优先权管理问题的提出:当系统中有多个设备提出中断请求时,就有一个该响应谁的问题,也就是一个优先级的问题,解决优先级的问题一般可有三种方法:软件查询法、简单硬件方法及专用硬件方法。下面分别介绍:①软件查询法只需用简单的硬件电路。进入中断服务子程序后,用软件查询的方式分别对不同的设备进行依次查询:外设是否提出中断申请,查询程序的设计思想同查询式,查询的前后顺序就确定了设备的优先级。软件排优三态缓冲器端口地址0#外设...7#外设D0...D7INTR简单硬件方法以链式中断优先权排队电路为例,基本设计思想:将所有的设备连成一条链,靠近CPU的设备优先级最高,越远的设备优先级别越低,则发出中断响应信号,若级别高的设备发出了中断请求,在它接到中断响应信号的同时,封锁其后的较低级设备使得它们的中断请求不能响应,只有等它的中断服务结束以后才开放,允许为低级的设备服务。CPUINTAINTR设备1接口1菊花链逻辑电路设备2接口2菊花链逻辑电路菊花链+5V专用硬件方法采用可编程的中断控制器芯片,如Intel8259A。外设的中断请求信号通过IR0~IR7进入中断控制器,内部有中断优先级管理电路,在整个过程中,优先级较低的中断请求都受到阻塞,直到较高级的中断服务完毕之后,较低级的中断请求才有可能被响应。4、80X86中断系统80X86微机系统的中断的分类:内部中断和外部中断。内部中断内部中断(软件中断):即根据某条指令或者对标志寄存器中某个标志的设置而产生,它与外部硬件无关。•除法错误中断(n=0)由计算结果引起,不对应指令•单步中断(n=1)条件:TF=1,不对应指令•断点中断(n=3)由INT3指令引起•溢出中断(n=4)条件:OF=1,由INTO指令引起•中断指令INTn除法错误中断执行除法指令时,若发现除数为0或商超过了寄存器所能表示的范围,就立即产生了一个类型为0的内部中断,CPU转入除法错误中断处理程序(由操作系统安排)。除法错误中断是由CPU内部电路自动生成的。——中断类型码n=0单步中断•由CPU

1 / 96
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功