微型计算机原理与接口技术教学课件杨立第7章 中断控制技术

上传人:w****i 文档编号:94647922 上传时间:2019-08-10 格式:PPT 页数:56 大小:591KB
返回 下载 相关 举报
微型计算机原理与接口技术教学课件杨立第7章 中断控制技术_第1页
第1页 / 共56页
微型计算机原理与接口技术教学课件杨立第7章 中断控制技术_第2页
第2页 / 共56页
微型计算机原理与接口技术教学课件杨立第7章 中断控制技术_第3页
第3页 / 共56页
微型计算机原理与接口技术教学课件杨立第7章 中断控制技术_第4页
第4页 / 共56页
微型计算机原理与接口技术教学课件杨立第7章 中断控制技术_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《微型计算机原理与接口技术教学课件杨立第7章 中断控制技术》由会员分享,可在线阅读,更多相关《微型计算机原理与接口技术教学课件杨立第7章 中断控制技术(56页珍藏版)》请在金锄头文库上搜索。

1、本章主要教学内容 中断的概念及中断处理过程 8086的中断结构和中断类型 8086的中断矢量、中断优先权及中断管理 可编程中断控制器8259A的结构、工作方式及编程应用,第7章 中断控制技术,7.1 中断技术概述 7.1.1 中断的概念 当计算机的CPU正在执行程序时,由于内、外部事件或程序的预先安排引起CPU暂时终止执行现行程序,转去执行该事件的特定程序(也称为中断处理程序或中断服务程序),待中断服务程序执行完毕,能够自动返回到被中断的程序继续执行原来的程序,这个过程称为中断。在各种微型计算机系统中,常利用中断机构来处理CPU与外部设备之间的数据传送,以最少的响应时间和内部操作来实现外设的服

2、务请求。此外,中断也是处理来自内部异常故障的重要手段。,1. 中断技术的特点 现代微型计算机采用中断技术后具备以下的主要特点: (1)可实现同步操作 (2)可进行实时处理行处理 (3)能及时处理各种故障 2. 中断源的种类 能引起中断的外部设备或内部原因称为中断源。对于不同的计算机系统中断源的设置有所不同,通常按照CPU与中断源的位置关系可分为内部中断和外部中断。,内部中断是CPU在处理某些特殊事件时所引起或通过内部逻辑电路自己去调用的中断。外部中断是由于外部设备要求数据输入/输出操作时请求CPU为之服务的一种中断。 通常,中断源可以有以下几种: (1)外部设备请求中断 (2)故障强迫中断 (

3、3)实时时钟请求中断 (4)数据通道中断 (5)软件中断,3. 中断系统的功能 为实现中断而设置的各种中断控制逻辑以及管理相应中断的指令有机组合后称为中断系统。中断系统为了实现规定的中断控制,一般应具有以下功能: (1)中断处理功能 (2)中断优先权排队功能 (3)中断嵌套功能 图7-2所示为3层中断嵌套结构,该系统中3个中断源的优先权安排为:中断3为最高,其次为中断2,中断1为最低。,图 7-2 中断嵌套示意图,7.1.2 微机系统中的中断处理过程 微机系统的中断处理从开始到结束包括以下几个主要步骤: (1)识别中断源 (2)保护现场 (3)开中断 (4)中断服务 (5)中断返回,7.1.3

4、 中断优先级的排队及判别 系统中多个中断源的中断请求信号都是送到CPU同一引脚上申请中断服务,这就要求CPU能识别出是哪些中断源在申请中断,同时比较它们的优先权,从而决定先响应哪一个中断源的中断请求。另外,CPU正在处理中断时,也可能要响应更高级的中断请求,并屏蔽同级或较低级的中断请求,这些都需要分清各中断源的优先权。 中断源的优先级判别一般可采用软件优先级排队和硬件优先级排队两种方法。,1. 软件优先级排队 软件优先级排队是指各个中断源的优先权由软件安排。图7-4 所示电路是一种配合软件优先级排队使用的电路,图中各中断源的优先权不是由硬件电路安排,而是由软件安排。 图中若干个外设的中断请求信

5、号相“或”后,送至CPU的中断接收引脚(如INTR)。这样,只要任一外设有中断请求,CPU便可响应中断。在中断服务子程序前可安排一段优先级的查询程序,即CPU读取外设中断请求状态端口,然后根据预先确定的优先级级别逐位检测各外设的状态,若有中断请求就转到相应的处理程序入口。,图7-4 软件优先级排队电路,2. 硬件优先级排队 硬件优先级排队是指利用专门的硬件电路或中断控制器对系统中各中断源的优先权进行安排。 链式优先权排队电路是一种简单的中断优先权硬件排队电路,又称为菊花环式优先权排队电路,它是利用外设连接在排队电路的物理位置来决定其中断优先权的,排在最前面的优先权最高,排在最后面的优先权最低,

6、电路如图7-6所示。,图7-6 链式优先权排队电路,3. 中断优先权的判别 在多个中断源同时请求中断时,CPU必须首先确定为哪一个中断源服务。采用软件查询中断方式时,中断优先权由查询顺序决定,最先查询的中断源具有最高的优先权。该方法的优点是电路比较简单,缺点是当中断源个数较多时,由逐位检测查询到转入相应的中断服务程序所耗费的时间较长,中断响应速度较慢,服务效率低。,7.2 8086的中断系统 Intel 8086微型计算机的中断系统简单而且灵活,最多可处理256种不同的中断类型,每个中断源都有相应的中断类型码(0255)供CPU识别。中断可以由外部设备启动,也可以由软件中断指令启动,在某些情况

7、下还可由CPU自身启动。8086采用了矢量型的中断结构,这种中断结构响应速度快。 7.2.1 中断的类型 一般情况下,中断源可以来自CPU外部,也可以来自CPU内部,按引起中断事件所处的地点可分为外部中断和内部中断两种,如图7-7所示。,图 7-7 8086系统中断的分类,1. 硬件中断 硬件中断由外部硬件产生,8086CPU有两条外部中断请求信号线:NMI和INTR,分别接收非屏蔽中断和可屏蔽中断请求信号。 2. 软件中断 软件中断是CPU根据某条指令或者对标志寄存器的某个标志位的设置而产生的,由于它与外部电路无关,故也称为内部中断。 在8086系统中,内部中断主要有以下几种: (1)除法出

8、错中断 (2)INTO溢出中断 (3)INT n指令 (4)断点中断 (5)单步中断,概括来讲,软件中断具有以下几方面的特点: 中断由CPU内部引起,中断类型码的获得与外部无关,CPU不需要执行中断响应周期去获得中断类型码,中断矢量号由CPU自动提供。 除单步中断外,内部中断无法用软件禁止,不受中断允许标志位的影响,即都不能通过执行CLI指令使IF位清零来禁止对它们的响应。 除单步中断外,任何内部中断的优先权都比外部中断高。8086CPU的中断优先权顺序为:内部中断(除法出错中断、INT n指令中断、INTO溢出中断、断点中断)、NMI中断、INTR中断和单步中断。 内部中断没有随机性,这一点

9、与调用子程序非常相似。,7.2.2 中断的响应过程 1. 软件中断响应过程 对于专用中断,中断类型码是自动形成的,而对于INT n指令,其类型码即为指令中给定的n。在取得了类型码后的处理过程如下: (1)把类型码乘4,作为中断向量表的指针; (2)把CPU的标志寄存器入栈,保护各个标志位; (3)清除IF和TF标志,屏蔽新的INTR中断和单步中断; (4)保存断点,即把断点处的IP和CS值压入堆栈,先压入CS值,再压入IP值; (5)从中断向量表中取出中断服务程序的入口地址,分别送至CS和IP中; (6)按新的地址指针执行中断服务程序。,2. 硬件中断响应过程 (1)非屏蔽中断响应:当CPU采

10、样到非屏蔽中断请求时,自动提供中断类型码2,然后根据中断类型码查到中断向量表指针,其后的中断处理过程与内部中断一样。 (2)可屏蔽中断响应:当INTR信号有效时,如果中断允许标志IF=“1”,则CPU就会在当前指令执行完毕后响应外部的中断请求,转入中断响应周期。,7.2.3 中断向量表 所谓中断向量,实际上就是中断服务程序的入口地址。通常在内存的最低1 KB区域(00000H003FFH)建立一个中断向量表,分成256个组,存放着256个中断服务程序入口地址(即中断向量),每个中断向量为4个字节,分别存放中断服务程序的段地址和段内偏移量。两个高字节用于存放中断服务程序的段地址,两个低字节用于存

11、放中断服务程序的偏移量。在执行INT指令时,CPU对断点、状态进行保护之后,将中断指令中的中断类型号乘上4,便为中断向量表的入口地址。取出相继的4个字节单元的内容,即为中断服务程序入口地址,并送入IP 和CS,以完成中断调用。 中断向量表如图7-9所示。,7.2.4 中断管理 8086CPU可管理256种中断。在8086中断系统中,无论是外部中断还是内部中断,系统都分配给每一个中断源一个确定的中断类型码,其长度为一个字节,故系统中最多允许有256个中断源。每一种中断类型码都可以与一个中断服务程序相对应。中断服务程序存放在存储区域内,而中断服务程序的入口地址存放在内存储器的中断向量表内。当CPU

12、处理中断时,就需要指向中断服务程序的入口地址。8086以中断向量为索引号,从中断向量表中取得中断服务程序的入口地址。,1. 中断服务入口地址的确定 按照中断类型码的序号,对应的中断向量在中断向量表中按规则顺序排列,中断类型码与中断向量在向量表中的位置之间的对应关系为:中断向量地址指针=4中断类型码 当发生中断向量号为n的中断请求时,CPU首先把向量号乘以4,得到中断向量表的地址,然后把中断向量表4n地址开始的两个低字节单元内容装入IP寄存器,再把两个高字节单元内容装入CS寄存器,这样就把控制引导到类型n的中断服务程序的起始地址,开始类型n的中断处理过程。,2. 中断和异常 80X86及Pent

13、ium等高档微处理器不仅具有前面讲到的所有中断类型,而且大大丰富了内部中断的功能,把许多执行指令过程中产生的错误情况也纳入了中断处理的范围,这类中断称为异常中断,简称异常(Exception)。有时也将软中断指令INT n纳入异常中断的范围。 异常分为三类:失效(Faults)、 陷阱(Traps)和中止(Abort)。三类异常的差别表现在两个方面:一是发生异常的报告方式,二是异常中断服务程序的返回方式。,3. 中断描述符表 为了管理各种中断,80X86和Pentium等高档微处理器都设立了一个中断描述符表IDT(Interrupt Descriptor Table)。表中最多可包含256个描

14、述符项,对应256个中断或异常。描述符中包含了各个中断服务程序入口地址的信息。 当高档微处理器工作于实地址方式时,系统的IDT变为80X86系统中的中断向量表,置于系统物理存储器的最低地址区中,共1 KB。每个中断向量占4 个字节, 即2个字节的CS值和2个字节的IP值。当高档微处理器工作于保护方式时,系统的IDT可以置于内存的任意区域,其起始地址存放在CPU内部的IDT基址寄存器中。,7.3 8259A中断控制器及其应用 专门管理中断源的控制电路就是中断控制器。可编程中断控制器8259A就是常用的中断优先级管理电路,它具有如下功能: (1)它可以接收多个外部中断源的中断请求,并进行优先级别判

15、断,选中当前优先级别最高的中断请求,再将此请求送到微处理器的中断输入端。 (2)具有提供中断向量、屏蔽中断输入等功能。可用于管理8级优先权中断,也可将多片8259A通过级连方式构成最多可达64级优先权中断管理系统。8259A管理的8级中断对应的服务程序入口地址构成的中断向量表存放在内存固定区域。 (3)8259A使用单+5V电源供电,有多种中断管理方式,自动提供中断服务程序的入口地址,使用灵活方便。可通过编程来进行选择,能适应各种系统的要求。,7.3.1 8259A的内部结构及引脚 1. 内部结构 8259A的内部结构示意框图如图7-10所示。8259A由中断服务寄存器、优先权电路、中断屏蔽寄

16、存器、中断请求寄存器、中断控制逻辑、数据总线缓冲器、级连缓冲器/比较器和读/写控制逻辑等8个部分构成。,图7-10 8259A的内部结构示意框图,8259A引脚 如图7-12所示:,7.3.2 8259A的中断管理 中断优先级的管理是中断管理的核心问题,而8259A具有非常灵活的中断管理方式,能够满足用户的各种不同要求。8259A对中断的管理主要有对优先权的管理和对中断结束的管理。 1. 中断优先权的管理 8259A对中断优先权的管理可分为以下4种情况: (1)完全嵌套方式 (2)自动循环方式 (3)中断屏蔽方式 (4)特殊完全嵌套方式,2. 中断结束(EOI)的管理 当8259A响应某一级中断而为其服务时,中断服务寄存器ISR的相应位置“1”,当有更高级的中断请求进入时,ISR的相应位又要置“1”。因此,中断服务寄存器ISR中可有多位同时置“1”。在中断服务结束时,ISR的相应位应清零,以便再次接收同级别的中断。中断结束的管理就是用不同的方式使ISR的相应位清零,并确定随后的优先权排队顺序。8259A中断结束的管理有以下3种方式: (1)自

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号