已阅读5页,还剩76页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第7章 中断系统,7.1 中断概述7.2 8086中断系统7.3 可编程中断控制器8259A,7.1.1 中断的基本概念 1中断 在CPU执行程序的过程中,出现了某种紧急或异常的事件(中断请求),CPU需暂停正在执行的程序,转去处理该事件(执行中断服务程序),并在处理完毕后返回断点处继续执行被暂停的程序,这一过程称为中断。中断过程如图7-1所示。为实现中断功能而设置的硬件电路和与之相应的软件,称为中断系统。,7.1 中断概述,图7-1 中断过程,中断最初的目的是为了解决高速CPU与低速外设之间的速度矛盾。实际上,中断被广泛地应用,大大提高了CPU的工作效率。中断的优点有下面三点。,(1) 分时操作 (2) 实时处理 (3) 故障处理,2中断源 所谓中断源,就是引起中断的原因或者发出中断请求的设备。中断源一般分为两类:内部中断源和外部中断源。 (1)外部设备请求中断 (2)故障强迫中断 (3)实时时钟请求中断。 (4)数据通道中断。 (5)程序中断。,8086引脚图,. NMI(Non-Maskable Interrupt,引脚17) NMI为非屏蔽中断请求,输入,高电平有效。NMI不受中断允许标志的影响。当CPU检测到NMI有一个上升沿的信号以后,CPU执行完当前指令便响应中断类型码为2的非屏蔽中断请求。 . INTR(Interrupt Request,引脚18) INTR为可屏蔽中断请求,输入,高电平有效。如果INTR信号有效,当CPU的中断允许标志IF=1时,CPU结束当前指令后,响应INTR中断请求。,IF(中断允许标志):控制外部可屏蔽中断是 否可以被CPU响应。IF1允许中断,IF0禁 止中断。, 控制标志,3. 中断控制的功能 (1) 能实现中断并返回 当某一中断源发出中断请求时,CPU能决定响应或是屏蔽它。当响应中断请求时,CPU在执行完当前指令后,把现场信息压入堆栈,然后自动转到中断源的服务程序。当中断处理完成后,能自动返回,并恢复中断前的状态继续原程序的执行。 (2) 能实现中断判优功能 中断判优,即根据中断源的优先级进行排队。当系统中出现多个中断源同时提出中断请求的情况时,中断控制电路能根据各中断源的优先级进行响应,优先级最高的中断请求先响应。,(3) 能实现中断的嵌套 中断的嵌套是指高级别的中断能中断较低级别的中断处理,它类似于子程序嵌套。,7.1.2 中断处理过程,1.中断请求 2.中断响应 3.保护断点 4.中断处理 5.中断返回,7.1.2 中断处理过程,1.中断请求 中断请求是中断源向CPU发出的请求中断的要求。 软件中断源:中断指令或程序出错 硬件中断源:NMI或INTR引脚输入 CPU在执行完每条指令后,都要检测中断请求输入引脚,看是否有外设的中断请求信号。 NMI:不可屏蔽中断请求 INTR:可屏蔽中断请求,IF1为允许中断,2.中断响应 若CPU接收到了中断请求信号,且中断允许触发器的状态为1,则CPU在现行指令执行完后,发出INTA信号响应中断。 3.保护断点 CPU一旦响应中断,需要进行断点保护,以便在中断处理结束后仍能回到该断点处继续执行。保护断点的过程由硬件自动完成,主要工作是关中断、将标志寄存器内容入栈保存以及将CS和IP内容入栈保存。,4.中断处理 中断处理就是CPU执行中断服务程序的过程。如在中断服务程序中用到了寄存器,则需要在中断程序中保护现场和恢复现场。 5.中断返回 执行完中断服务程序,返回到原先被中断的程序,称为中断返回。在中断服务程序的最后放置中断返回指令(IRET指令)。中断返回指令的作用实际上是恢复断点。,1中断优先级 中断请求是随机发生的,当系统具有多个中断源时,有时会同时出现多个中断请求,CPU只能按一定的次序予以响应和处理,这个响应的次序称为中断优先级。 对于不同级别的中断请求,一般的处理原则是:,7.1.3 多级中断管理,多个中断源同时请求,按优先级由高到低依次处理中断处理时,出现高优先级请求,应转去处理高级请求,服务结束后再返回原中断服务程序继续高优先中断正处理,不响应低级请求同级别请求,应在当前中断处理结束以后再处理,2中断优先级的确定 (1) 软件查询法,实现软件查询的接口电路,如果设定该接口的端口号为20H,查询程序如下:INAL,20H;读取中断请求触发器的状态TESTAL,80H;检查“设备7”是否有请求JNESUB7;是,则转至“设备7”的处理程序7TESTAL,40H;否,检查“设备6”是否有请求JNESUB6;是,则转至“设备6”的处理程序6TESTAL,20H;否,检查“设备5”是否有请求JNESUB5;是,转至“设备5”的处理程序5,软件查询法的优缺点: (1) 优点:利用软件完成中断优先权的检测,不需要硬件判优电路。另外,优先权由查询的次序来决定,首先查询的即为优先级最高的。 (2) 缺点:不管外设是否有中断请求都需要按次序逐一询问,因而效率较低。特别是在中断源较多的情况下,转至中断服务程序的时间较长。,(2) 硬件优先权排队电路 1中断优先权编码电路 中断优先权编码电路是用硬件编码器和比较器组成的优先权排队电路,如图当8个中断源中某一个有中断请求时,便在其中断请求线上产生“1”,并在“或”门的输出端形成一个中断请求信号,但它能否送至CPU的中断请求线INTR,还受到比较器的控制。8条中断输入线的任一条,经过编码器可以产生三位二进制优先权编码A2A1A0,多个中断源只输出优先权最高的编码。,中断优先权编码电路,优先权寄存器中存放的是CPU正在服务的中断编码, A2A1A0与B2B1B0在比较器中进行比较,如果A2A1A0级别较低或与B2B1B0相同,则比较器输出为“0”,与门1被封锁;如果A2A1A0级别较高,比较器输出为“1”,则与门1打开,中断请求就被送至CPU的INTR输入端。CPU将中断正在进行的中断服务程序,转去响应更高级别的中断。,2. 链式优先权排队电路 当响应信号沿链式电路进行传递时,最靠近CPU并发出中断请求的接口将首先拦截住响应信号,CPU进入相应外设的中断处理程序,在服务完成后,该外设撤消其中断请求,解除对下一级外设的封锁。 若1号外设有中断请求,则发出应答信号,同时封锁2号、3号的中断请求,转去对1号服务;若1号没有中断请求,而2号有中断请求时,响应信号便传递给2号外设,向2号发出应答信号,封锁3号的中断请求,若CPU在为2号外设进行中断服务时1号外设发出了中断请求,CPU会挂起对2号的服务转去对1号服务,1号处理结束后,再继续为2号外设服务。 链式优先级排队电路不仅能够确定各中断源的优先级,而且在相应软件的配合下,可实现高级别的请求中断低级别的服务(即中断的嵌套)。,链式中断优先级电路,7.2 8086中断系统,8086/8088 CPU可以处理256种不同类型的中断,每一种中断都给定一个编号(0255),称为中断类型号,CPU根据中断类型号来识别不同的中断源。中断源可分为两大类:一类来自CPU的外部,由外设的请求引起,称为硬件中断(又称外部中断);另一类来自CPU的内部,由执行指令时引起,称为软件中断(又称内部中断)。,7.2.1 外部中断 1. 非屏蔽中断NMI(中断类型号为2) 整个系统只有一个非屏蔽中断,它不受IF标志位的屏蔽。出现在NMI上的请求信号是上升沿触发的,一旦出现,CPU将予以响应。非屏蔽中断一般用于紧急故障处理。,2.可屏蔽中断INTR 可屏蔽中断请求信号从INTR引脚送往CPU,高电平有效,受IF标志位屏蔽,IF0时,对于所有从INTR引脚进入的中断请求,CPU均不予响应。 系统中可屏蔽中断引入引脚只有一条,而CPU要管理多个外设,在PC系统中使用了中断控制器8259A芯片。,7.2.2 内部中断 1.内部中断(软件中断) CPU内部请求信号引起的中断均为内部中断,内部中断根据引起中断的原因不同可分为以下几种: (1)除法错中断(类型号为00H) 当CPU执行除法指令(DIV/IDIV)时,若除数为0或所得的商超过了寄存器所能表示的最大值,则立即产生一个除法错中断。CPU响应中断后转去执行除法错中断处理程序。,(2)单步执行中断(类型号为01H) 当TF=1时,每执行一条指令,CPU会自动产生一个单步中断。单步中断处理子程序显示各个寄存器及使用的存储单元内容,以便分析单条指令执行的结果。 (3)断点中断(类型号为03H) 在DEBUG调试程序时,可通过命令在程序中任意指定断点地址,当CPU执行到断点时便产生中断,同时显示当前各寄存器的内容和标志位的值以及下一条要执行的指令,供用户检查断点以前的程序运行是否正常。,(4)溢出中断INTO(类型号为04H) CPU进行带符号数的算术运算时,若发生了溢出,则标志位OF=1,如果此时执行INTO指令,会产生溢出中断。INTO指令通常安排在算术指令之后,以便在溢出时能及时处理。 (5)指令中断 CPU执行INT n指令后,会立即产生一个类型码为n的中断,中断指令的操作数n就是中断类型码,转入相应的中断处理程序。,2. 内部中断的特点(1)8086的中断优先级由高到低的顺序排列如下: 除法出错中断、INTO、INT n 非屏蔽中断NMI 可屏蔽中断INTR 单步中断(2)除单步中断外其它内部中断均无法禁止。(3)由于中断类型码已确定,所以不用执行中断响应周期取中断类型码。(4)由于内部中断均处于程序的固定位置处,所以无随机性。,8086/8088CPU的中断结构体系,8086/8088的中断源,内部中断,硬件中断,7.2.3 中断向量表 8086/8088最多可以处理256个中断,将这些中断处理子程序的入口地址统一存放在内存的一个固定区域。每个中断处理子程序的入口地址占用4字节存储单元:低地址的两字节存放中断处理子程序入口地址的偏移量(IP);高地址的两字节存放段地址(CS)。,7.2.3 中断向量表中断向量:中断处理子程序的入口地址。中断向量表:256个中断向量要使用的1024个字节的内存区域。8086/8088系统的中断向量表位于内存的前1024字节,地址范围为03FFH。中断向量表中04 为5个专用中断; 531 是27个系统保留的中断; 32255 为224个用户自定义中断,这些中断类型码可供软中断INT n 或可屏蔽中断INTR使用。,8086/8088的中断向量表,中断服务程序入口地址在中断向量表中是按中断类型码顺序存放的,位置可由“中断类型码4”计算出来。CPU响应中断时,把中断类型码n乘以4,得到对应地址4n(该中断服务程序入口地址所占4个字节的第一个字节的地址),然后把由此地址开始的两个低字节单元的内容装入IP寄存器,再把两个高字节单元的内容装入CS寄存器,CPU即转向中断类型码为n的中断服务程序。,7.3 可编程中断控制器 8259A,8259A具有如下功能: 接收多个外部中断源,并进行优先级别判断。 具有提供中断向量、 屏蔽中断输入等功能。 可用于管理8级优先权中断,最多构成64级优先权中断管理系统。 有多种工作方式,自动提供中断服务程序入口地址,7.3.1 8259A的内部结构及外部引脚 18259A的内部结构,8259A内部结构框图,(1)数据总线缓冲器 8259A与CPU数据总线的接口。各种命令控制字、有关寄存器状态,中断类型码等通过该部件传送。 (2)读/写控制逻辑 接收来自CPU的读/写命令,配合片选信号、读信号、写信号和地址线A0共同实现控制,完成规定的操作。 (3)级联缓冲器/比较器 这个部件在级联方式下用于标识主从设备,在缓冲方式下控制收发器的数据传送方向。,(4)中断请求寄存器IRR 8位寄存器,用来锁存IR7IR0中断请求信号。当某引脚上有中断请求信号时,IRR对应位置1,当该中断请求被响应时,该位复位。 (5)中断屏蔽寄存器IMR 用于对IRR某些位进行屏蔽。IMR的某位置“1”,则其对应引脚上的中断请求将被8259A屏蔽。 (6)中断服务状态寄存器ISR 若某个引脚上的中断请求被响应,则ISR中对应位被置1。ISR的置位也允许嵌套。,(7)优先权分析器PR 用于识别和管理各中断请求信号的优先级别。 (8)控制逻辑 8259A全部功能的控制核心。它包括一组初始化命令字寄存器ICW1ICW4和一组操作命令字寄存器OCW1OCW3,以及有关的控制电路。,8259A引脚,28259A的外部引脚,7.3.2 8259A的工作方式 (8259A工作原理)INTA第一个负脉冲到达时,8259A做到: 1)使IRR的锁存功能失效。 2)使当前中断服务寄存器ISR中的相应位置1。 3)便IRR寄存器中的相应位清零。INTA第二个负脉冲到达时,8259A完成: 1)将中断类型寄存器中的内容ICW2,送到数据总 线的D7D0,CPU将此作为中断类型码。 2)第二个脉冲结束时,8259A会将第一个脉冲到来 时设置的当前中断服务寄存器ISR的相应位清零。,7.3.2 8259A的工作方式 1中断优先级管理方式 (1) 全嵌套方式 全嵌套方式也称固定优先级方式。在这种方式下,由IR端引入的中断请求具有固定的优先级,IR0最高,IR7最低。在对8259A初始化后若没有设置其他优先级方式,则默认为全嵌套方式。,(2) 特殊全嵌套方式 在主从结构的8259A系统中,将主片设置为特殊全嵌套方式,可以在处理某一级中断时,不但允许优先级更高的中断请求进入,也允许同级的中断请求进入。 (3) 优先级自动循环方式 各中断源优先级是循环变化的,主要用在系统中各中断源优先级相同的情况下。一个设备的中断服务完成后,其优先级自动降为最低,而将最高优先级赋给原来比它低一级的中断请求。,(4) 优先级特殊循环方式 该方式与优先级自动循环方式相比,只有一点不同,即可以设置开始的最低优先级。例如,最初设定IR4为最低优先级,那么IR5就是最高优先级,而优先级自动循环方式中,最初的最高优先级一定是IR0。,2中断屏蔽方式 (1) 普通屏蔽方式 通过对中断屏蔽寄存器(IMR)的设定,实现对中断请求的屏蔽。中断屏蔽寄存器的每一位对应了一个级别的中断请求,当某一位为1时,与之相应的某一级别的中断请求被屏蔽。,(2) 特殊屏蔽方式 当一个优先级较高的中断请求正在被处理时,若设置了特殊屏蔽方式,则允许优先级较低的中断进入正在处理的高级别中断。,3中断触发方式 (1)电平触发方式 该方式以IR端上出现的高电平作为中断请求信号。请求一旦被响应,该高电平信号应及时撤除。 (2)边沿触发方式 该方式以IR端上出现由低电平向高电平的跳变作为中断请求信号,跳变后高电平一直保持,直到被响应。,4中断结束方式 所谓的中断结束是指8259A结束中断的处理,而不是CPU结束执行中断服务程序。,中断结束方式,自动结束方式(AEOI)一般结束方式特殊结束方式,非自动(EOI),4中断结束方式 (1)自动结束方式(AEOI) 自动结束方式在第二个负脉冲的后沿将对应的ISR位清0。使用这种方式时应注意,该方式是在中断响应后,而不是在中断处理结束时将ISR位清0。 中断自动结束方式是一种最简单的结束方式,只适合于中断请求信号的持续时间有一定限制、系统中只有1片8259A且不会出现中断嵌套的场合。,(2)非自动结束方式(EOI) 从中断程序返回前,需通过程序向8259A 输出一个中断结束命令(EOI),将ISR中的相应位清0。具体方法有以下两种: 一般结束方式。此方式由8259A自动选择ISR中优先权最高位清0。此方式常用于完全嵌套方式下的中断结束。 特殊结束方式。此方式需由用户指明将ISR中的哪一位清0,常用于特殊全嵌套方式。,三种结束方式小结:一般EOI方式:不需要在指令中说明已结束的哪一种中断的优先级别,指令形式简单。特殊EOI方式:由于说明了结束的中断优先级别。因此,当无法确定当前正在处理的是哪级中断时,用它最理想。自动EOI方式:不需要在中断服务程序中安排EOI指令的。,5.与系统总线的连接方式 (1)缓冲方式 8259A通过总线驱动器和数据总线相连,这就是缓冲方式。 (2)非缓冲方式 当系统中只有单片8259A时,一般将它直接与数据总线相连。,1.初始化命令字及其编程 (1)ICW1 (2)ICW2 (3)ICW3 (4)ICW4 (5)初始化命令字的编程顺序2.操作命令字及其编程 (1)OCW1 (2)OCW2 (3)OCW3,7.3.3 8259A的编程,1初始化命令字 初始化主要完成以下功能: 设定中断请求信号触发方式; 设定8259A工作方式,即缓冲与非缓冲方式; 设定8259A中断类型号基值,对应IR0的类型号; 设定优先级方式; 设定中断处理结束方式。,8259A由于只有一根地址线,因此它在系统中只占用两个端口地址。8259A内部的7个命令寄存器和3个状态寄存器的寻址是将这两个端口地址结合操作命令、特定数据位、严格的写入次序等来实现对8259A内部寄存器的寻址。,初始化流程,写入ICW1、OCW2、OCW3时,由控制寄存器的D4、D3特征位来区分; 写入ICW2、ICW3、ICW4、OCW1时,由8259A片内顺序逻辑决定; 读取IRR、ISR、查询字时,由OCW3的内容决定。,8259A的端口地址分配表,图7-17 PC/XT中8259A连接,(1)芯片初始化命令字ICW1 ICW1命令字的格式如图所示,D4=1为ICW1的特征位(标志位),用来与写入同一地址的OCW2、OCW3区别。其他命令字的含义如图所示。,(2)中断类型号初始化命令字ICW2 ICW2命令字的格式如图所示,T7T3为决定中断类型号的高5位,D2D0不需编程通常为全0,表示中断请求输入端IR0的中断类型号,在中断响应时由中断源的序号000111自动填入相应值,因此用一个初始化命令字ICW2 就可决定8个中断源的中断类型号,ICW2也可以称为中断类型号基值寄存器。,高5位是由用户编程写入ICW2的D7-D3位,低3位对应中断源IR0-IR7的编码,响应中断时由8259A芯片硬件电路自动产生。,(2) 初始化命令字ICW2 是中断类型码,写人奇地址(A0=1)。格式为:,例如:若ICW2为40H,则中断类型码的高五位为01000,8259A的8个中断请求IR0IR7对应的中断类型码为40H47H。,(3)标识主/从片初始化命令字ICW3 ICW3命令字的格式如图所示,对主片、从片分别写入ICW3,对主片写入是为确定哪个中断请求输入端接的是从片,由于一片8259A有8个中断请求输入端,因此最多可接8个从片;对从片写入是为确定该从片的中断请求输出端接入主片的哪个输入端。,(4)方式控制初始化命令字ICW4 ICW4命令字的格式如图所示,对80X86(包括8086/8088)系统必须预置ICW4。,初始化命令字的顺序,(5)初始化命令字的编程顺序,例7-1 8259A采用两片级联方式,主片设定为:上升沿触发、在IR2引脚连接从片、需写入ICW4、非AEOI方式、中断类型码应设为08H0FH、采用一般的中断嵌套方式、主片8259A端口地址是20H、21H;从片定义为:上升沿触发、级联到主片的IR2引脚、需设置ICW4、非AEOI方式、中断类型码为70H77H、采用一般的中断嵌套方式、从片8259A 端口地址是A0H、A1H。初始化过程如下:,初始化主片:MOV AL,11H ;置ICW1OUT 20H,ALMOV AL,08H ;置ICW2OUT 21H,ALMOV AL,04H ;置ICW3OUT 21H,ALMOV AL,01H ;置ICW4OUT 21H,AL,初始化从片:MOV AL,11H ;置ICW1OUT 0A0H,ALMOV AL,70H ;置ICW2OUT 0A1H,ALMOV AL,02H ;置ICW3OUT 0A1H,ALMOV AL,01H ;置ICW4OUT 0A1H,AL,2.操作命令字及其编程 对8259A 进行初始化编程后,8259A作好了接收中断请求输入的准备,在8259A 工作期间可由操作命令字OCW1OCW3 规定其各种工作方式。 8259A共有3个操作命令字:OCW1、OCW2和OCW3。 OCW1写入奇地址端口(8259A的A0=1), OCW2、OCW3写入偶地址端口(8259A的A0=0)。 操作命令字在初始化后可以随时写入和修改,对写入顺序无要求。,(1)中断屏蔽命令字OCW1 OCW1的功能是设置和清除中断屏蔽寄存器的相应位,用于设定对8259A输入引脚IR7 IR0的屏蔽状态。其格式。,(2)中断模式设置命令字OCW2 OCW2用于对8259A设置中断结束命令以及确定优先级循环的方式。其中D4=0、D3=0为OCW2 的特征位(标志位),用来与写入同一地址的ICW1和OCW3区别。,(3)特殊屏蔽和查询命令字OCW3 OCW3命令字有3个功能: 设置或撤销特殊屏蔽方式; 设置中断查询方式; 设置读8259A内部寄存器方式。,3.8259A应用实例【例7-2】如图7-17所示,在以8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 18015.6-2025数字通信用对绞或星绞多芯对称电缆第6部分:具有1 000 MHz及以下传输特性的对绞或星绞对称电缆工作区布线电缆分规范
- 2026年中国真空泵制动器行业市场规模及未来投资方向研究报告
- 2025中国疾病预防控制中心人事处招聘工作人员笔试考试备考试题及答案解析
- 2026中国铁路呼和浩特局集团有限公司招聘高校毕业生1261人(二)考试笔试模拟试题及答案解析
- 2025中国华电科工集团有限公司部分基层企业社招16人笔试考试备考试题及答案解析
- 《电力安全事故调查报告编制指南》
- 2025年客运班线承包经营合同签订流程图解
- 福建泉州旅游攻略
- 2026年西安思源学院单招职业技能测试必刷测试卷附答案
- 2026年宁夏体育职业学院单招职业技能考试题库新版
- 2025至2030废旧手机行业项目调研及市场前景预测评估报告
- 2025设备租赁合同补充协议范本设备租赁合同补充协议书
- 2025年内蒙古能源行业分析报告及未来发展趋势预测
- 浙江省杭州市2026届高三上学期11月一模试题 语文 含解析
- 2025-2026学年苏少版七年级综合实践活动上册(全册)教学设计(附目录)
- 全国大学生职业规划大赛《运动训练》专业生涯发展展示【高职(专科)】
- 腰椎骨折康复与护理
- 2025年物理湖南中考试题及答案
- 2025年韶关市(中小学、幼儿园)教师招聘考试题库及答案
- 小学法制教育及安全课件下载
- 2025至2030全球及中国油气田设备和服务行业产业运行态势及投资规划深度研究报告
评论
0/150
提交评论