第六章中断系统.ppt
《第六章中断系统.ppt》由会员分享,可在线阅读,更多相关《第六章中断系统.ppt(68页珍藏版)》请在三一文库上搜索。
1、第六章 中断系统,第一节 基本概念,一、中断 1、中断的定义 当CPU正常运行时,由于随机事件(内部或外部)引 起CPU暂时中止正在运行的程序,转去执行请求中断的外 设(或内部事件)的中断服务程序,中断服务程序结束后 再返回被中止的程序,这一过程称为中断。 2、中断源和中断请求 能够向CPU发出中断请求的中断来源称为中断源。I/O设 备(CRT、打印机等)、数据设备(磁盘、磁带等)、实 时时钟、故障信号、软件中断等都是中断源。 中断源能发出中断请求信号到CPU,所以中断源中一般 要求有中断请求触发器,请求信号有边沿请求和电平请求 两种。,3、中断系统的目的 维持系统正常工作,提高系统效率; 实
2、时处理; 为故障处理作准备。 4、中断分类 中断分外部中断和内部中断两大类;其中外部 中断分为两类: 可屏蔽中断INTR,由标志寄存器中的 IF位 控制; 不可屏蔽中断NMI,不受IF位控制。 5、中断系统功能 中断处理:发现中断请求、响应中断请求、 执行中断服务程序、中断返回。, 中断控制:中断优先权排队、中断嵌套 当系统中有多个中断时,有可能出现两个或两 个以上的中断源同时提出中断请求,这时要求 CPU根据中断优先权由高到低依次处理。 中断嵌套如图6.1所示。假定有两个中断源A和 B,A的级别高于B,当CPU正在处理B中断时, 允许A能中断B的中断处理,转去执行A的中断服 务程序,在高级中
3、断A处理完后,返回到原来打 断处,继续处理B的中断服务程序。图中为两级 中断,还可以进行多级中断。,图6.1中断嵌套示意图,二、中断处理过程 1、中断检测 中断源向CPU发中断请求是随机的,大多数CPU在现 行指令周期结束时检测有无中断请求。8086CPU在每条指 令的最后一个机器周期的最后一个时钟周期检测中断请求 信号输入线INTR。 2、CPU响应中断的条件 CPU检测到INTR上有中断请求,要响应它需满足以下 条件: CPU开放中断,即CPU内部设置的中断允许触发器=1 ,此触发器可用开中断指令(STI)置1,用关中断指令(CLI) 清0。实际上就是标志寄存器中的IF位=1,表示开放可屏
4、蔽 中断。参见图6.2。 CPU在现行指令结束后响应中断,图6.2 CPU内设置中断允许触发器IFF 3、中断请求与中断屏蔽触发器 图6.3是具有中断请求与中断屏蔽的接口电路。每一个中断源都有一个中断请求触发器和一个中断屏蔽触发器。只有当该中断源不屏蔽时,它的中断请求信号才能发给CPU。,图6.3 具有中断请求与中断屏蔽的接口电路,3、CPU响应中断及处理过程 满足上述条件后,CPU响应中断,转入中断周期,完 成以下操作,其时序如图6.4所示。 关中断:CPU响应中断时,发出中断响应信号INTA ,同时内部自动地关中断(IF=0),以禁止接受其他的中 断请求,以免破坏当前中断服务的现场。 保留
5、断点:把断点处的指令指针IP值和CS值压入堆 栈,以便中断处理完成后正确地返回主程序断点。 识别中断源:识别中断源一般有查询和向量中断(类 型号)两种方法。 保护现场:把断点处的有关寄存器内容压入堆栈。 中断服务:执行中断服务程序,图6.4 中断时序流程图,图6.5 中断响应服务 及返回流程图, 恢复现场:将压入堆栈的有关寄存器的内容弹出。 开中断:在中断服务的最后要开中断,以便CPU能 响应新的中断请求。 如果实现中断嵌套,可以在中断服务程序中,在适当 时候重新开放中断,以便允许响应较高级的中断。 中断返回:将堆栈内的断点值弹出。上述过程如图 6.5所示。 三、中断优先级和中断嵌套 1、中断
6、优先级:中断优先级一般采用软件查询或硬件 中断优先级编码电路。 2、中断嵌套:当CPU执行优先级较低的中断服务时, 而允许响应比它优先级高的中断请求,而将正在处理的 中断暂时挂起,这就是中断嵌套。,第二节 8086/8088的中断系统,一、中断分类 8086/8088的中断系统如图6.6所示。 1、外部中断 8086/8088CPU有两条引脚提供外部中断源请求中断:一 条是高电平有效的可屏蔽中断INTR;另一条是正跳变有效 的非屏蔽中断NMI。外部中断又称硬件中断。 可屏蔽中断:可屏蔽中断是由用户定义的外部硬件中断 ,受中断标志位IF的控制。 非屏蔽中断:不受中断标志位IF的控制。,图6.6
7、8086/8088的中断系统,TF=1,硬件中断,软件中断,2、内部中断 内部中断又称软件中断,主要来自CPU内部的软 件中断。 图6.6中,上部是外部的硬件中断;下部是内部 的软件中断。 二、中断向量表 1、中断向量的定义 所谓中断向量实际上就是中断服务程序的入口地 址。每个中断类型号对应一个中断向量。中断向量 占4个字节存储单元,其中前两个字节放中断向量 的偏移地址(IP),且低字节在前,高字节在后;后 两个字节放中断向量的段地址(CS),也是低字节 在前,高字节在后。,2、中断向量表 存放中断向量的存储区称为中断向量表。通 常在存储器的低地址区。 3、8086/8088的中断向量表 80
8、86/8088有256种中断类型,类型号为0-255 (或0-FFH),共有256个中断向量,每个占4个 存储单元,所以需要1024个字节,在存储器的最 低端,地址从00000H-003FFH,这块地址空间就 是中断向量表。 如图6.7所示。,图6. 7 8086/8088中断向量表,从表中,知道了中断类型号,便可计算出相应的中断向量 在表中存放的位置,称为中断向量表地址,或称为中断向量 指针。从中断向量表地址中取出中断向量,便得到了该中断 类型号的中断服务程序入口地址。即 中断类型号4 = 中断向量指针的低地址 中断类型号4+2 = 中断向量指针的高地址 (中断向量指针的低地址) (IP)
9、(中断向量指针的高地址) (CS) 例1:中断类型号为27H 则中断向量指针的低地址= 27H 4= 9CH 中断向量指针的高地址= 27H 4+2= 9EH 即该中断向量存放在0000H:009CH开始的4个连续单元中。 如果这4个单元中的内容如下:,0000:009C 2AH 0000:009D 43H 0000:009E 65H 0000:009F 87H 则该中断类型号27H的中断向量(中断服务程序 入口地址)的逻辑地址是8765H:432AH,即 (CS)=8765H,(IP)=432AH;物理地址是8B97AH。 4、8086/8088中断的分类 前5个是专用中断(类型0-4) 类
10、型0:除数为0中断 类型1:单步中断 类型2:NMI中断,类型3:断点中断 类型4:溢出中断 保留的中断(类型号05-3FH):这是Intel公司 为软件、硬件开发保留的中断类型,大部分用于 系统中断,如20H-3FH为DOS中断调用。 供用户定义的中断(类型号40H-FFH):使用 用户自己定义的中断,用户必须把该中断的中断 向量填写到中断向量表中。 填写方法有两种: 用指令填写,例2:为中断类型N设置中断向量,该中断的中断服务程 序的符号地址是INTHAND。 mov ax, 0 mov es, ax ;中断向量表的段地址 mov bx, N*4 ;中断向量表的偏移地址 mov ax, o
11、ffset INTHAND ;得到INTHAND的偏 移地址 mov ES:word PTRbx, ax ;放到中断向量表中 mov ax, seg INTHAND ;得到INTHAND的段 地址 mov ES:word PTRbx+2, ax;放到中断向量表中 INTHAND: ;中断服务处理程序 IRET, 用DOS功能调用来设置中断向量 、设置中断向量 入口参数: AH=25H AL=类型号 DS:DX=中断向量 执行 INT 21H 、取中断向量 入口参数: AH=35H AL=类型号 执行 INT 21H 返回时ES:BX=中断向量,例3:使用DOS功能调用存取中断向量 mov al
12、, N mov ah, 35H ;取原中断向量 int 21H push es ;保存原中断向量的段地址 push bx ;保存原中断向量的偏移地址 push ds mov ax, seg INTHAND ;得到INTHAND的段地址 mov ds, ax mov dx, offset INTHAND;得到INTHAND的偏移地址 mov al, N ;类型号,mov ah, 25H ;设置中断向量 int 21H pop ds pop dx ;恢复原中断向量 pop ds ; mov al, N ;将原中断向量写回去 mov ah, 25H ; int 21H ret INTHAND: ir
13、et,三、外部中断 1、非屏蔽中断(NMI):不受中断标志位的控制,中 断类型号为2,所以中断向量放在0000:0008开始的4个 单元中。NMI中断一般用于紧急情况的处理。 2、可屏蔽中断(INTR):受中断标志位的控制,IF =1,CPU才能响应INTR中断。CPU响应INTR中断时,往 INTA引脚上发两个负脉冲,外设接到第二个负脉冲后, 立即往数据总线上送出中断类型码,供CPU读取。 中断响应需要两个机器周期,参见图6.9。 四、内部中断 内部中断即软件中断,它不受IF标志的控制,但单步中 断受TF标志的控制。8086/8088的中断如下表6.1所示:,8086/8088中断响应需要两
14、个总线周期,图6.9 8086/8088中断响应总线周期,表6.1 8086/8088的中断优先级,五、中断响应和中断处理过程 参见图6.8所示。从图中可知,可屏蔽中断要多两个步骤,即 要先判断IF是否为1,若IF=1则进入中断响应,此时CPU要读 取中断类型码,然后进入所有中断都要做的事。 将标志寄存器FR的内容压入堆栈 将中断允许标志IF和单步标志TF清零 将断点保护到堆栈中。所谓断点就是指响应中断时,主程 序中当前指令下面的一条指令的段寄存器CS的值和指令指针寄 存器IP的值压入堆栈,先压CS,再压IP的值。 根据当前中断的中断类型码查中断向量表,得到中断向量 (中断服务程序入口地址)分
15、别装入CS和IP,从而转到相应的 中断服务程序。 执行中断服务程序,结束后恢复断点,从而继续执行原来 的程序。, 图中在得到中断服务程序入口地址后,查看NMI是否有,接 着查看TEMP,若TEMP=1,则在中断前CPU已处于单步方式, 就和NMI一样重新保护现场和断点,转入单步中断服务程序。 若TEMP=0,即中断前CPU处于非单步方式,则CPU转去执行最 先引起中断的中断服务程序。 最后举一个例说明中断操作过程。 例4:某中断类型号为72H,图6.10示出了中断操作过程。 取中断类型号72H; 计算中断向量地址72H4=1C8H; 72H4+2=1CAH; 取中断服务程序入口地址的偏移量送I
16、P,IP=2050H, 段地址送CS,CS=A000H; 转入中断服务程序A000H:2050H; 中断返回到INT 72H指令的下一条指令MOV AX , BX。,六、可屏蔽中断的过程 1、INTR中断的全过程 首先中断请求信号INTR由外部设备产生,并送到8086的INTR 引脚上。 如果IF=1,则在CPU完成正在执行的指令后,便开始响应中 断,步骤如下: CPU读取中断类型号n。CPU 通过INTA发中断响应信号给接 口,并启动中断过程。这个响应信号将使发中断请求的接口把一 个字节的中断类型号通过数据总线送给CPU; 按先后顺序把PSW(即FR)、CS和IP压入堆栈; 清除IF和TF标
17、志; 把4n +2的字存储单元中的内容读入 CS中,把4n 的字存 储单元中的内容读入 IP中,即得到中断向量; CPU 从新的CS:IP值开始执行中断服务程序,,若允许中断嵌套,则一般在中断服务程序中保存寄存器 后,就安排一条STI指令,以便响应优先权较高的中断。 在中断服务程序末尾安排一条IRET返回指令。 至于不可屏蔽NMI中断,与上述操作基本类似,只是不需 要读取中断类型码,因为它的中断类型码由CPU内部自动产 生。 2、中断类型号的获得 除法错误,单步中断,非屏蔽中断。断点中断和溢出中 断分别由CPU内部自动提供中断类型号(0-4)。 软件中断则是从指令流中,即在第2个字节中读得中断
18、 类型号。 外部中断INTR可以用不同的方法获得中断类型号,通 常由硬件提供,如8259A芯片可以将中断类型号送到数据总 线上,由CPU读取而获得。,七、中断服务子程序的设计 设计中断服务子程序的步骤如下: (1)选择一个中断矢量。如果是硬件中断,则要使用硬件 决定的中断矢量。如果是采用软件中断,即用INT n指令的方 式,则可在系统保留给用户的中断矢量号中选一个中断矢量。 例如选50H号中断矢量。 (2)将中断子程序的入口地址置入中断矢量表的相应表项 中,其置入方法有两种: 一种是用数据传送指令将中断服务子程序的入口的偏移地 址放在中断矢量表4 n的字单元中,将中断服务子程序的入口 的段地址
19、放在中断矢量表4 n+2的字单元中。 二是采用DOS功能调用,这在前面已讲过。 (3)编写中断服务子程序,第三节 可编程中断控制器8259A,8259A是一个可编程中断控制器,能控制8级向量中断, 通过级联方式(用9片8259A),最多可构成64级向量中 断系统。在8259A中能判断一个中断请求输入是否有效, 是否被屏蔽和进行优先级判决,并在CPU响应中断后, 将中断类型码发给CPU。 一、 8259A的引脚 如图6.11所示,它有28个引脚,为标准芯片,即左下角 为地,右上角为电源。,二、8259A的内部结构,1、数据总线缓冲器 2、读写控制电路,一片8259A只占用两个端口地址,由 A0来
20、选择,其它高位地址译码输出作为片选信号CS。WR RD分别为写信号和读信号。 、级联缓冲器/比较器,扩充中断用。 、中断请求寄存器IRR,位寄存器,每一位对应IR0- IR7,某根线上有中断请求,则IRR中对应位置。 、中断服务寄存器ISR,CPU当前正处理的IRi中断请求 时,该寄存器i位置1(i = 0- 7)。 6、中断屏蔽寄存器IMR,当IMR的第i位为1时,禁止IRi来 的中断请求。 7、优先级判别器PR,当有多个中断同时请求中断时,判 别当前优先级最高的中断请求进入系统。 8、控制电路,控制芯片内个部件协调一致地工作。,三、8259A的工作方式 1、中断触发方式,电平触发方式或边沿
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 中断 系统
链接地址:https://www.31doc.com/p-3123840.html