第11章微机的中断系统_第1页
第11章微机的中断系统_第2页
第11章微机的中断系统_第3页
第11章微机的中断系统_第4页
第11章微机的中断系统_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第1111章章 微机系统的中断系微机系统的中断系统统 11.1 中断系统概述中断系统概述 11.2 微机系统的中断类型及机构微机系统的中断类型及机构 11.3 微机系统的中断过程微机系统的中断过程 11.4 中断优先级管理器中断优先级管理器8259A PIC 11.5 8259A在在 PC/AT及及80386微机系统中的应用微机系统中的应用 本章学习目标本章学习目标l l 中断与异常的概念及中断的用途中断与异常的概念及中断的用途l l 中断类型及中断向量中断类型及中断向量l l 中断过程中断过程l l 8259A中断原理中断原理l l 中断在微机系统中的应用中断在微机系统中的应用11.1 1

2、1.1 中断系统概述中断系统概述11.1.1 11.1.1 计算机采用中断控制技术的主要用途计算机采用中断控制技术的主要用途11.1.2 11.1.2 中断过程与中断技术中断过程与中断技术11.1.1 11.1.1 计算机采用中断控制技术的主要用途计算机采用中断控制技术的主要用途 计算机采用中断控制技术主要用在以计算机采用中断控制技术主要用在以下三个方面:下三个方面: (1)故障处理)故障处理 (2)分时操作)分时操作 (3)实时处理)实时处理 11.1.2 11.1.2 中断过程与中断技术中断过程与中断技术 一个完整的中断过程由中断请求、中断一个完整的中断过程由中断请求、中断判优及屏蔽、中断

3、响应、中断处理及中断返判优及屏蔽、中断响应、中断处理及中断返回五个部分组成。微机系统中使用的中断技回五个部分组成。微机系统中使用的中断技术有单线中断、多级中断、矢量中断三种。术有单线中断、多级中断、矢量中断三种。图图1为微处理器的为微处理器的3种中断技术示意图。一个种中断技术示意图。一个完整的中断过程,如图完整的中断过程,如图2所示。所示。图图1 微处理器的微处理器的3种中断技术示意图种中断技术示意图外设中断请求 外设提供 1# 1# 设备 2# 2# 标志码 3# 3# 外设中断请求 外设中断请求 (a)单线中断 (b)多级中断 (c)矢量中断 CPU INTR INTR1 INTR2 IN

4、TR3 CPU D0 D1 . . CPU . D7 INTR 图图2 一个完整的向量中断过程一个完整的向量中断过程 中断请求 中断判优 中断响应 N Y N Y中断处理 中断返回 Y N 各个设备异步实时提出中断请求中断控制器按判优原则选中当前优先级最高的中断请求CPU 执行完当前一条指令向中断控制器输出 INTA 表示中断应答中断控制器给 CPU 输出选中的中断信号CPU 将中断号乘 4 做为中断向量地址到中断向量表获取相应的中断向量CPU 执行中断服务程序完成设备请求服务CPU 发中断结束命令给中断控制器CPU 执行中断返回指令 IRET 返回到断点现场,继续执行原程序CPU 取下一条指

5、令允许中断?中断有效?自动结束?CPU 禁止中断(置标志 IF=0)并保护断点现场(返回地址)转向中断服务程序11.2 微机系统的中断类型及机构 11.2.1 11.2.1 中断源中断源 11.2.2 11.2.2 中断类型中断类型 11.2.3 11.2.3 异常异常 11.2.4 11.2.4 中断的优先权及其管理中断的优先权及其管理 11.2.5 11.2.5 中断向量表中断向量表11.2.1 11.2.1 中断源中断源图图3 微机系统中的各种中断源微机系统中的各种中断源 单步 (tf=1) 除数 0 溢出 INT n 指令 INT 指令 8259A 中断 控制器 中断控制逻辑 非屏蔽中

6、断 11.2.2 11.2.2 中断类型中断类型1 1外部中断外部中断 (1)可屏蔽中断)可屏蔽中断INTR(2)非可屏蔽中断)非可屏蔽中断NMI2内部中断内部中断(1)除数零中断、()除数零中断、(2)单步执行中断、)单步执行中断、(3)溢出中断、()溢出中断、(4)指令中断)指令中断3软件中断软件中断11.2.3 11.2.3 异常异常 异常是在指令执行期间检测到的不正常的异常是在指令执行期间检测到的不正常的或非法的状态,使指令不能成功执行。异常分或非法的状态,使指令不能成功执行。异常分为:故障、陷阱和中止(或失败)。故障是引为:故障、陷阱和中止(或失败)。故障是引起该故障的程序可被恢复执

7、行的异常。陷阱是起该故障的程序可被恢复执行的异常。陷阱是在指令执行期间被检测到的,并在引起异常的在指令执行期间被检测到的,并在引起异常的指令执行之后向系统报告的一种异常。中止指令执行之后向系统报告的一种异常。中止(失败)是微处理器面临严重错误时产生的异(失败)是微处理器面临严重错误时产生的异常。常。表表1为异常一览表为异常一览表11.2.4 11.2.4 中断的优先权及其管中断的优先权及其管理理1优先权概念优先权概念 根据中断源提出中断申请的轻重缓急为每个中断根据中断源提出中断申请的轻重缓急为每个中断源确定源确定CPU对它们响应的优先权。对它们响应的优先权。CPU在分配优先权在分配优先权时,一

8、般是按照提出中断的外设的速度和它们在微机时,一般是按照提出中断的外设的速度和它们在微机系统中所处的地位来进行分配的。在系统中所处的地位来进行分配的。在8086/8088微机系微机系统中,中断源的优先权由高到低的顺序依次为:除零统中,中断源的优先权由高到低的顺序依次为:除零数、数、INT n、INT o、NMI、INTR、单步执行中断。、单步执行中断。 2中断权的优先管理中断权的优先管理(1)用硬件实现中断优先权的管理)用硬件实现中断优先权的管理最常用的方法是采用、所示的排队链优先最常用的方法是采用、所示的排队链优先 权的控制方法。如图权的控制方法。如图4、5所示。所示。(2)用软件实现中断优先

9、权的管理)用软件实现中断优先权的管理最常用的方法是软件查询方法,它要借助最常用的方法是软件查询方法,它要借助一些简单的接口电路来实现,如图一些简单的接口电路来实现,如图6所示。所示。 图图4 排队链优先权的控制方法排队链优先权的控制方法中断请求信号外调 A外设 B外设 C中断响应信号允许 中断 允许 中断 允许 中断接收 请求接收 请求 接收 请求CPU图图5 矢量中断优先权的控制系统矢量中断优先权的控制系统中央处理器CPU中断控制器中断请求允许接受中 断 请 求允许接受中 断 请 求允许接受外设 A 外设 B外设 C图图6 软件查询方法流程图软件查询方法流程图 中断程序入口 Y N Y N

10、Y N保护现场是A设备是B设备是C设备恢复现场开中断,返回A中断服务程序B中断服务程序C中断服务程序用软件查询的程序如下:用软件查询的程序如下:INTER PROC PUSH AXPUSH BXPUSH CXPUSH DX ;现场保护;现场保护IN AL,100H ;查询;查询SAL AL,1 ;寄存器逻辑左移;寄存器逻辑左移1JC SERV A;为;为1则执行则执行A服务程序服务程序SAL AX,1 ;寄存器逻辑左移;寄存器逻辑左移1JC SERV B;为;为1则执行则执行B服务程序服务程序. SAL AL,1;寄存器逻辑左移;寄存器逻辑左移1JC SERV H;为;为1则执行则执行H服务程

11、序服务程序SERV H ;H服务程序服务程序.SERV A ;A服务程序服务程序 .SERV B;B服务程序服务程序.CLI ;关中断;关中断POP DX ;恢复现场;恢复现场POP CX POP BX POP AX STI ;开中断;开中断IRET ;中断返回原断点;中断返回原断点 INTER ENDP11.2.5 中断向量表中断向量表由三部分组成,如图中断向量表由三部分组成,如图7所示。地址如表所示。地址如表2所示。所示。( 1 ) 中 断 类 型 号) 中 断 类 型 号 0 4 为 专 用 中 断 指 针 , 占 用为 专 用 中 断 指 针 , 占 用0000H0013H的的20个字

12、节,并且用户不能对其修改。个字节,并且用户不能对其修改。( 2 ) 中 断 类 型 号) 中 断 类 型 号 5 1 3 为 保 留 中 断 指 针 , 占 用为 保 留 中 断 指 针 , 占 用0013H007FH的的108个字节,这是个字节,这是Intel公司保留的中断公司保留的中断指针,用户不应使用。指针,用户不应使用。(3)中断类型号)中断类型号32255为用户使用的中断指针,占用为用户使用的中断指针,占用0080H03FFH的的896个字节,它可由用户指定。个字节,它可由用户指定。图图7 中断向量指针表中断向量指针表0000H 0004H0008H 000CH0010H0014H0

13、080H用 户 使用 的 中断 指 针备 用的 中断 指针除 数 零 中 断 单 步 中 断 NM I中 断单 字 节 中 断 溢 出 中 断专用的中断指针表表2 中断向量地址一览表中断向量地址一览表表表2 中断向量地址一览表续表中断向量地址一览表续表11.3 微机系统的中断过程 11.3.1 11.3.1 中断请求中断请求 11.3.2 11.3.2 中断响应中断响应 11.3.3 11.3.3 现场保护现场保护 11.3.4 11.3.4 执行中断服务程序执行中断服务程序 11.3.5 11.3.5 恢复现场恢复现场 11.3.6 11.3.6 中断返回中断返回 微型计算机系统的中断过程大

14、致分为:微型计算机系统的中断过程大致分为:中断请求中断请求:由需要提供中断服务程序的设:由需要提供中断服务程序的设备提出;备提出;中断响应中断响应:CPU给设备发出一个中断应答给设备发出一个中断应答信号;信号;现场保护现场保护:保护执行中断服务程序前的各:保护执行中断服务程序前的各种信息;种信息;执行中断服务程序执行中断服务程序:完成特定的操作;:完成特定的操作;退出中断服务程序退出中断服务程序:恢复现场。:恢复现场。图图8 中断过程中断过程 中断处理程序CPU 响应中断中断请求中断返回原程序中断11.3.1 中断请求 此过程由欲提出中断的外部设备或内部此过程由欲提出中断的外部设备或内部系统提

15、出。当外部设备需要完成某种特定的系统提出。当外部设备需要完成某种特定的操作或者处理器系统内部出错时,需要操作或者处理器系统内部出错时,需要CPU进行处理,外部设备可以向进行处理,外部设备可以向CPU提出中断申提出中断申请,请求请,请求CPU进行处理。进行处理。 11.3.2 中断响应 CPU给设备发出一个中断应答信号;当给设备发出一个中断应答信号;当外设提出的中断申请被外设提出的中断申请被CPU接收并认可后,接收并认可后,首先解决的是必须关中断,其次是微处理器首先解决的是必须关中断,其次是微处理器在处理中断、实现控制权的转移前必须把当在处理中断、实现控制权的转移前必须把当前程序状态保存起来,最

16、后是查找中断源,前程序状态保存起来,最后是查找中断源,即查找提出中断请求的是外围设备还是内部即查找提出中断请求的是外围设备还是内部系统。系统。 11.3.3 现场保护 为了确保在中断完成之后,程序能正确为了确保在中断完成之后,程序能正确地返回到原来的断点处,继续执行原程序的下地返回到原来的断点处,继续执行原程序的下一条指令,必须对断点处的各种数据进行现场一条指令,必须对断点处的各种数据进行现场保护,主要是标志寄存器和保护,主要是标志寄存器和CS、IP的值,我的值,我们可以将其压入堆栈中,利用堆栈来进行保护。们可以将其压入堆栈中,利用堆栈来进行保护。同时还要清除中断标志同时还要清除中断标志IF和

17、和TF,关闭中断。,关闭中断。 11.3.4 执行中断服务程序 根据中断类型号根据中断类型号N,可以在中断向量表中,可以在中断向量表中查出要执行中断服务程序的入口地址,从而执查出要执行中断服务程序的入口地址,从而执行相应的中断处理程序,该程序可以是用户自行相应的中断处理程序,该程序可以是用户自己编写的程序,也可以是系统提供的程序。己编写的程序,也可以是系统提供的程序。11.3.5 恢复现场 在中断处理程序完成后,应当对现场进在中断处理程序完成后,应当对现场进行恢复。此时可以将保存在堆栈中的内容弹行恢复。此时可以将保存在堆栈中的内容弹出,即按照出,即按照“后进先出后进先出”的原则将相应的值的原则

18、将相应的值弹出到原来的寄存器中,从而恢复中断前的弹出到原来的寄存器中,从而恢复中断前的状态。状态。11.3.6 11.3.6 中断返回中断返回 任何一个中断都必须在中断服务程任何一个中断都必须在中断服务程序的末尾并在中断服务程序指令返回之序的末尾并在中断服务程序指令返回之前重新开中断。前重新开中断。11.4 11.4 中断优先级管理器中断优先级管理器8259A8259A 11.4.1 8259A11.4.1 8259A芯片的功能芯片的功能 11.4.2 8259A11.4.2 8259A芯片的外部特性芯片的外部特性 11.4.3 8259A11.4.3 8259A的内部结构及其功能的内部结构及

19、其功能 11.4.4 8259A11.4.4 8259A的中断处理过程的中断处理过程 11.4.5 8259A11.4.5 8259A的工作方式的工作方式 11.4.6 8259A11.4.6 8259A的编程的编程11.4.1 8259A芯片的功能 8259A作为一种可编程中断控制器,是一作为一种可编程中断控制器,是一种集成芯片。它用来管理输入到种集成芯片。它用来管理输入到CPU的各种中的各种中断申请,主要外围设备,能提供中断向量、屏断申请,主要外围设备,能提供中断向量、屏蔽各种中断输入等功能。每一个蔽各种中断输入等功能。每一个8259A芯片都芯片都能直接管理能直接管理8级中断,最多可以用级

20、中断,最多可以用9片片8259A芯芯片级连,由其构成级连机构可以管理片级连,由其构成级连机构可以管理64级中断。级中断。11.4.2 8259A11.4.2 8259A芯片的外部特征芯片的外部特征18259A芯片的外部引脚说明芯片的外部引脚说明(结构图如图结构图如图9所示)所示)(1)片选取信号()片选取信号(CS) (2)写信号()写信号(WR)(3)读信号()读信号(RD) (4)D0D7:8条数据总线条数据总线(5)GND:地信号:地信号(6)Vcc:+5V电源电源(7)INT:中断请求信号:中断请求信号(8)中断响应信号)中断响应信号(9)IR0IR7:8个中断请求输入信号个中断请求输

21、入信号(10)A0:地址选择信号:地址选择信号(11)SP/EN:从片编程:从片编程/允许缓冲器信号允许缓冲器信号(12)CAS0CAS2:这三条信号是:这三条信号是8259A级连时构成级连时构成8259A的主从式级连的主从式级连结构结构图图9 8259A的外部引脚特性的外部引脚特性28259A的外部特性的外部特性(1)编程方面:由于)编程方面:由于8259A是一种可编程的是一种可编程的中断控制芯片。当有中断请求时,总线控制中断控制芯片。当有中断请求时,总线控制器发出器发出IOR或或IOW信号,而信息的传递则是信号,而信息的传递则是通过数据总线通过数据总线D7D0来完成的。来完成的。(2)操作

22、方面:当)操作方面:当CPU完成对完成对8259A的初始的初始化操作后,化操作后,8259A即进入操作状态,通过即进入操作状态,通过INT端口向端口向CPU提出中断申请,提出中断申请,8259A从数据总从数据总线线D7D0输出当前服务对象的中断类型号输出当前服务对象的中断类型号N,CPU截获该中断向量并响应该中断,完成一截获该中断向量并响应该中断,完成一次中断操作。次中断操作。11.4.3 8259A11.4.3 8259A的内部结构及其功能的内部结构及其功能8259A芯片的内部逻辑结构如图芯片的内部逻辑结构如图10所示。所示。8259A内部结构逻辑主要由以下三部分组成:内部结构逻辑主要由以下

23、三部分组成: (1)控制逻辑)控制逻辑 (2)中断优先权判优及其屏蔽)中断优先权判优及其屏蔽 (3)辅助电路)辅助电路图图 10 8259A芯片的内部逻辑结构图芯片的内部逻辑结构图 内 部 数 据 总 线 内部控制逻辑 控制电路 初始化命令 寄存器组 操作命令 寄存器组 当前中断服务程序 ISR 中断优先级分析器 RP 中断请求寄存器 IRR 中断屏蔽寄存器 IMR 数据 总线 缓冲 器 读写 控制 逻辑 级连 缓冲 比较 INTA INT D7 D0 RD WR A0 IR0 CS SP/EN IR7 CAS0 CAS1 CAS2 11.4.4 8259A11.4.4 8259A的中断处理过

24、程的中断处理过程1 1设置中断请求设置中断请求2 2中断判优和中断屏蔽中断判优和中断屏蔽3 3中断应答中断应答4 4中断响应中断响应5 5执行中断服务程序执行中断服务程序11.4.5 8259A11.4.5 8259A的工作方式的工作方式1全嵌套方式全嵌套方式2特殊全嵌套方式特殊全嵌套方式3结束中断的方式结束中断的方式4中断请求触发方式中断请求触发方式5数据缓冲方式数据缓冲方式6多片级连方式多片级连方式7查询方式查询方式11.4.6 8259A11.4.6 8259A的编程的编程 对对8259A的各种操作者是由的各种操作者是由CPU来控制来控制的。的。 CPU的命令分为两大类:一类是初始的命令

25、分为两大类:一类是初始化命令字化命令字ICW,另一类是操作命令字,另一类是操作命令字OCW。 CPU对对8259A的的ICW操作,是由操作,是由A0、RD、WR、CS等信号来共同控制的,其等信号来共同控制的,其I/O端口端口地址分配如表地址分配如表3所示。所示。表表3 8259A I/O端口地址分配表端口地址分配表1初始化命令字编程初始化命令字编程其命令的具体格式如下:其命令的具体格式如下:(1)ICW1(设置工作状态(设置工作状态)(2)ICW2(选择中断向量字节)(选择中断向量字节) (3)ICW3(设置单片或级连方式)(设置单片或级连方式)如表如表4所示。对于从片所示。对于从片8259A

26、,在,在ICW3中的各个中的各个位中,位中,D2D0位表示从设备标志代码,其余位位表示从设备标志代码,其余位未使用,其格式如下:未使用,其格式如下:表表4 ID2ID0对应的从设备状态标志对应的从设备状态标志(4)ICW4(设定工作状态)(设定工作状态)图图11 初始化流程图初始化流程图开始 初始化ICW1 初始化ICW2 是否用级连方式? 初始化ICW3 是否用ICW4? 初始化ICW4 准备接近中断请求 结束 Y Y Y N N 2操作命令编程操作命令编程(1)OCW1(中断屏蔽寄存器操作数(中断屏蔽寄存器操作数)OCW1用于设置用于设置8259A的屏蔽中断操作,的屏蔽中断操作,它可以直接

27、对中断屏蔽寄存器它可以直接对中断屏蔽寄存器IMR的相的相应屏蔽位进行操作。其格式如下:应屏蔽位进行操作。其格式如下:(2)OCW2(如表(如表5所示)所示) 其具体格式如下:其具体格式如下:表表5 OCW2的组合控制方式的组合控制方式(3)OCW3(如表(如表6、7所示)所示)OCW3主要有三个主要有三个方面的功能:控制方面的功能:控制8259A的中断屏蔽;设置中断的中断屏蔽;设置中断查询方式;设置读查询方式;设置读8259A内部寄存器命令。其具内部寄存器命令。其具体格式如下:体格式如下: 表表6 COW3的组合控制方式的组合控制方式表表7 RR和和RIS组合控制逻辑组合控制逻辑3编程注意事项

28、编程注意事项(1)具有自我保护能力,以防中断程序出)具有自我保护能力,以防中断程序出故障。故障。(2)在接管中断向量之前,首先要进行关)在接管中断向量之前,首先要进行关中断,在初始化后再开中断。中断,在初始化后再开中断。(3)在中断程序的入口处要立即开中断,)在中断程序的入口处要立即开中断,并在程序结束之前予以恢复。并在程序结束之前予以恢复。(4)硬件中断程序执行)硬件中断程序执行IRET指令前,应向指令前,应向8259A发出中断结束命令发出中断结束命令EOI。(5)硬件中断服务程序不要使用)硬件中断服务程序不要使用DOS系统功系统功能调用即能调用即INT 21H,服务程序若要控制,服务程序若

29、要控制I/O设设备,最好调用备,最好调用ROM-BIOS功能或对功能或对I/O直接编直接编程。程。(6)修改中断向量表时应避免使用)修改中断向量表时应避免使用MOV命令命令传送命令。传送命令。 4中断控制编程应用中断控制编程应用程序如下:程序如下:;程序开始;程序开始 ;定义段代码;定义段代码ORG 100H ;COM文件入口地址文件入口地址CODE SEGMENTASSUME CS:CODE,DS:CODESTART: JMP INITIALIZE ;转向初始化;转向初始化SERVE-P PROC FAR ;常驻中断服务程序开始;常驻中断服务程序开始STI ;开中断;开中断PUSH AX ;

30、保护现场;保护现场PUSH BX PUSH CXPUSH DX ;中断服务程序主体(开始);中断服务程序主体(开始)MOV AH,7 ;使屏幕下卷一行;使屏幕下卷一行MOV AL,1 MOV BH,7MOV CH,0 MOV CL,0MOV DH,24 MOV DL,79INT 10H ;中断服务程序主体(结束);中断服务程序主体(结束)POP DX ;恢复现场;恢复现场POP CX POP BXPOP AXIRET ;中断返回;中断返回SERVE_P ENDP ;常驻中断服务程序结束;常驻中断服务程序结束 INITIALIZE: ;初始化部分;初始化部分MOV DX ,OFFSET SERVE_PMOV AL ,05H MOV AH ,25HINT 21H MOV DX ,OFFSET INITIALIZEINT 27HCOD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论