版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第8 8章章 中断系统中断系统 当当CPUCPU与外设用查询方式传送数据时,与外设用查询方式传送数据时,CPUCPU将大量将大量时间花在等待上,降低了工作效率。因此在计算机技时间花在等待上,降低了工作效率。因此在计算机技术中引入了中断的概念。中断是现代计算机必须具备术中引入了中断的概念。中断是现代计算机必须具备的重要功能,也是计算机发展史上的一个重要里程碑,的重要功能,也是计算机发展史上的一个重要里程碑,它的出现给计算机结构与应用带来了新的突破。它的出现给计算机结构与应用带来了新的突破。 本章介绍微机中断系统的功能、中断过程、中断本章介绍微机中断系统的功能、中断过程、中断管理,管理,8086
2、8086的中断系统,可编程中断控制器的中断系统,可编程中断控制器8259A8259A的的工作原理及应用工作原理及应用 1 1中断中断 所谓所谓“中断中断”是指是指CPUCPU执行程序过程中,由于某种事件发执行程序过程中,由于某种事件发生,迫使生,迫使CPUCPU暂时暂时中止正在执行的程序,转去执行该事件的处中止正在执行的程序,转去执行该事件的处理程序,待处理完毕后,又理程序,待处理完毕后,又返回返回到原程序的断点处,继续往下到原程序的断点处,继续往下执行的过程。执行的过程。 2中断源中断源 引起中断的原因或发出中断请求的来源称为中断源。引起中断的原因或发出中断请求的来源称为中断源。8 8.1
3、.1 中断概述中断概述 8 8.1.1 .1.1 中断的基本概念中断的基本概念中断过程中断过程继续执行断点主程序中断服务程序有中断请求中断处理返回断点8 8.1.1 .1.1 中断的基本概念中断的基本概念8.1.1 中断的基本概念中断的基本概念中断系统的功能:中断系统的功能: 1)实现中断及返回)实现中断及返回 包括发现中断请求,相应中断请求,中断处理与包括发现中断请求,相应中断请求,中断处理与中断返回。中断返回。 2)实现优先权排队)实现优先权排队 通常,在系统中有多个中断源,会出现两个或多通常,在系统中有多个中断源,会出现两个或多个中断源同时提出中断请求的情况。个中断源同时提出中断请求的情
4、况。 3)高级中断源能中断低级的中断处理)高级中断源能中断低级的中断处理 当当CPU响应某一个中断源的请求,在中断处理时,响应某一个中断源的请求,在中断处理时,若有优先级别更高的中断源发出中断申请。若有优先级别更高的中断源发出中断申请。 (3) (3) 能实现中断的嵌套能实现中断的嵌套 中断的嵌套是指高级别的中断能中断较低级别的中断处理,中断的嵌套是指高级别的中断能中断较低级别的中断处理,它类似于子程序嵌套。它类似于子程序嵌套。8 8.1.1 .1.1 中断的基本概念中断的基本概念 中断最初的目的是为了解决高速中断最初的目的是为了解决高速CPUCPU与低速外设之间的与低速外设之间的速度速度矛盾
5、矛盾。实际上,中断的功能远远。实际上,中断的功能远远超出预期超出预期的设计,被广泛地应的设计,被广泛地应用于多方面,大大提高了用于多方面,大大提高了CPUCPU的工作效率。中断的优点有下面三的工作效率。中断的优点有下面三点。点。 ( 1 1) 分时操作分时操作 中断技术实现了中断技术实现了CPUCPU和外部的并行工作,从而消除和外部的并行工作,从而消除CPUCPU的等的等待时间,提高了待时间,提高了CPUCPU的利用率。另外,的利用率。另外,CPUCPU可同时管理多个外部可同时管理多个外部设备的工作,提高了输入设备的工作,提高了输入/ /输出数据的吞吐量。输出数据的吞吐量。 8 8.1.1 .
6、1.1 中断的基本概念中断的基本概念 (2 2) 实时处理实时处理 在实时控制系统中,现场定时或随机地产生各种参数、信在实时控制系统中,现场定时或随机地产生各种参数、信息,要求息,要求CPUCPU立即响应。利用中断机制,计算机就能实时地进行立即响应。利用中断机制,计算机就能实时地进行处理,特别是对紧急事件的处理。处理,特别是对紧急事件的处理。 (3 3)故障处理)故障处理 计算机运行过程中,如果出现某些故障,如电源掉电、运计算机运行过程中,如果出现某些故障,如电源掉电、运算溢出等,计算机可以利用中断系统自行处理算溢出等,计算机可以利用中断系统自行处理。8 8.1.1 .1.1 中断的基本概念中
7、断的基本概念 2 2中断源中断源 所谓所谓中断源中断源,就是引起中断的原因或者发出中断请求的设,就是引起中断的原因或者发出中断请求的设备。中断源一般分为两类:内部中断源和外部中断源。备。中断源一般分为两类:内部中断源和外部中断源。 内部中断源内部中断源即中断源在微处理器内部。如计算溢出、中断即中断源在微处理器内部。如计算溢出、中断指令的执行、程序调试中指令的单步运行等都是内部中断源。指令的执行、程序调试中指令的单步运行等都是内部中断源。 外部中断源外部中断源即引起中断的原因是处理机的外部设备。如外即引起中断的原因是处理机的外部设备。如外设的设的I/OI/O请求、定时时间到、设备故障、电源掉电等
8、都是外部中请求、定时时间到、设备故障、电源掉电等都是外部中断源。断源。8 8.1.1 .1.1 中断的基本概念中断的基本概念(1 1)外部设备请求中断)外部设备请求中断 (2 2)故障强迫中断)故障强迫中断 (3 3)实时时钟请求中断。)实时时钟请求中断。 (4 4)数据通道中断。)数据通道中断。 (5 5)程序中断。)程序中断。 8 8.1.1 .1.1 中断的基本概念中断的基本概念 3. 3. 中断控制的功能中断控制的功能 (1) (1) 中断请求中断请求 中断请求就是中断源向中断请求就是中断源向CPUCPU发出的请求中断的要求。这个中发出的请求中断的要求。这个中断请求信号通常加到断请求信
9、号通常加到CPUCPU的中断请求输入端。的中断请求输入端。 (2) (2) 能实现中断判优功能能实现中断判优功能 中断判优,即根据中断源的优先级进行排队。当系统中出中断判优,即根据中断源的优先级进行排队。当系统中出现多个中断源同时提出中断请求的情况时,中断控制电路能根现多个中断源同时提出中断请求的情况时,中断控制电路能根据各中断源的优先级进行响应,优先级最高的中断请求先响应。据各中断源的优先级进行响应,优先级最高的中断请求先响应。8 8.1.2 .1.2 中断处理过程中断处理过程 (3) (3) 中断响应中断响应 CPUCPU接收到中断申请后,从中止现行程序到转向中断服务程接收到中断申请后,从
10、中止现行程序到转向中断服务程序入口的过程,称为中断响应。必须满足两个条件:序入口的过程,称为中断响应。必须满足两个条件:1.1.中断是开发的。中断是开发的。2.CPU2.CPU在现行指令结束后响应中断。在现行指令结束后响应中断。中断响应过程中,中断响应过程中,CPUCPU自动执行以下操作:自动执行以下操作:关中断。关中断。保护断点和标志。保护断点和标志。转入中断服务程序。转入中断服务程序。 8 8.1.2 .1.2 中断处理过程中断处理过程8.1.2 中断处理过程中断处理过程(4) 中断处理中断处理 中断处理就是执行中断服务程序。中断处理就是执行中断服务程序。通常,在中断服务程序中都可根据需要
11、完成以下工作:通常,在中断服务程序中都可根据需要完成以下工作:l保护现场保护现场l开中断开中断l中断服务中断服务l关中断关中断l恢复现场恢复现场8 8.2 8086.2 8086中断系统中断系统 8086 CPU8086 CPU可以处理可以处理256256种不同类型的中断,每一种中断都种不同类型的中断,每一种中断都给定一个编号给定一个编号(0(0 255)255),称为,称为中断类型号中断类型号,CPUCPU根据中断类型号根据中断类型号来识别不同的中断源。中断源可分为两大类:一类来自来识别不同的中断源。中断源可分为两大类:一类来自CPUCPU的外的外部,由外设的请求引起,称为硬件中断部,由外设
12、的请求引起,称为硬件中断( (又称又称外部中断外部中断) );另一类;另一类来自来自CPUCPU的内部,由执行指令时引起,称为软件中断的内部,由执行指令时引起,称为软件中断( (又称又称内部中内部中断断) )。 1. 1. 非屏蔽中断非屏蔽中断NMINMI( (中断类型号为中断类型号为2)2) 整个系统整个系统只有一个只有一个非屏蔽中断,它不受非屏蔽中断,它不受IFIF标志位的屏蔽。标志位的屏蔽。出现在出现在NMINMI上的请求信号是上升沿触发的,一旦出现,上的请求信号是上升沿触发的,一旦出现,CPUCPU将将予以响应。非屏蔽中断一般用于予以响应。非屏蔽中断一般用于紧急故障处理紧急故障处理。
13、8 8.2.1 .2.1 外部中断外部中断 2.2.可屏蔽中断可屏蔽中断INTRINTR 可屏蔽中断请求信号从可屏蔽中断请求信号从INTRINTR引脚送往引脚送往CPUCPU,高电平有效,高电平有效,受受IFIF标志位屏蔽标志位屏蔽,IFIF0 0时,对于所有从时,对于所有从INTRINTR引脚进入的中断请求,引脚进入的中断请求,CPUCPU均不予响应;另外,也可以在均不予响应;另外,也可以在CPUCPU外部的中断控制器外部的中断控制器(8259A)(8259A)中以及各个中以及各个I/OI/O接口电路中对某一级中断或某个中断源单独进行接口电路中对某一级中断或某个中断源单独进行屏蔽。屏蔽。 8
14、 8.2.1 .2.1 外部中断外部中断 1.1.内部中断内部中断( (软件中断软件中断) ) CPU CPU内部请求信号引起的中断均为内部中断,内部中断根据内部请求信号引起的中断均为内部中断,内部中断根据引起中断的原因不同可分为以下几种:引起中断的原因不同可分为以下几种: (1 1)除法错中断)除法错中断(类型号为(类型号为00H00H) 当当CPUCPU执行除法指令执行除法指令(DIV/IDIV)(DIV/IDIV)时,若除数为时,若除数为0 0或所得的商或所得的商超过了寄存器所能表示的最大值,则立即产生一个除法错中断。超过了寄存器所能表示的最大值,则立即产生一个除法错中断。CPUCPU响
15、应中断后转去执行除法错中断处理程序。响应中断后转去执行除法错中断处理程序。8.2.2 .2.2 内部中断内部中断 (2 2)单步执行中断)单步执行中断(类型号为(类型号为01H01H) 当当TF=1TF=1时,每执行一条指令,时,每执行一条指令,CPUCPU会自动产生一个单步中断。会自动产生一个单步中断。单步中断处理子程序显示各个寄存器及使用的存储单元内容,单步中断处理子程序显示各个寄存器及使用的存储单元内容,以便分析单条指令执行的结果。单步中断又称为陷阱中断,主以便分析单条指令执行的结果。单步中断又称为陷阱中断,主要用于程序调试。要用于程序调试。 (3 3)断点中断)断点中断(类型号为(类型
16、号为03H03H) 提供给用户一个调试手段,通常在提供给用户一个调试手段,通常在DEBUGDEBUG调试程序时,可通调试程序时,可通过命令在程序中任意指定断点地址,当过命令在程序中任意指定断点地址,当CPUCPU执行到断点时便产生执行到断点时便产生中断,同时显示当前各寄存器的内容和标志位的值以及下一条中断,同时显示当前各寄存器的内容和标志位的值以及下一条要执行的指令,供用户检查在断点以前的程序运行是否正常。要执行的指令,供用户检查在断点以前的程序运行是否正常。8 8.2.2 .2.2 内部中断内部中断 (4 4)溢出中断)溢出中断INTOINTO(类型号为(类型号为04H04H) CPUCPU
17、进行带符号数的算术运算时,若发生了溢出,则标志位进行带符号数的算术运算时,若发生了溢出,则标志位OF=1OF=1,如果此时执行,如果此时执行INTOINTO指令,会产生溢出中断。若指令,会产生溢出中断。若OF=0OF=0,则,则INTOINTO不产生中断,不产生中断,CPUCPU继续执行下一条指令。继续执行下一条指令。INTOINTO指令通常安排指令通常安排在算术指令之后,以便在溢出时能及时处理。在算术指令之后,以便在溢出时能及时处理。 (5 5)指令中断)指令中断 CPUCPU执行执行INT nINT n指令后,会立即产生一个类型码为指令后,会立即产生一个类型码为n n的中断,的中断,中断指
18、令的操作数中断指令的操作数n n就是中断类型码,转入相应的中断处理程序。就是中断类型码,转入相应的中断处理程序。 8.2.2 .2.2 内部中断内部中断 2. 2. 内部中断的特点内部中断的特点 (1 1)除单步中断外,所有内部中断的优先权都比外部中断)除单步中断外,所有内部中断的优先权都比外部中断的优先权高。的优先权高。80868086的中断优先级由高到低的顺序排列如下:的中断优先级由高到低的顺序排列如下: 除法出错中断、除法出错中断、INTOINTO、INT nINT n 非屏蔽中断非屏蔽中断NMINMI 可屏蔽中断可屏蔽中断INTRINTR 单步中断单步中断 (2 2)除单步中断外其它内
19、部中断均无法禁止。)除单步中断外其它内部中断均无法禁止。 (3 3)由于中断类型码已确定,所以不用执行中断响应周期)由于中断类型码已确定,所以不用执行中断响应周期取中断类型码。取中断类型码。 (4 4)由于内部中断均处于程序的固定位置处,所以无随机)由于内部中断均处于程序的固定位置处,所以无随机性。性。8 8.2.2 .2.2 内部中断内部中断NMI(17号引脚)中 断 逻 辑非屏蔽中断请求INT 2硬件(外部)中断软件(内部)中断可屏蔽中断请求中断类型号32255INTR(18号引脚)中断指令INT nN32255溢出中断INTOINT 4断点中断INT 3单步中断(TF1)INT 1除法错
20、误INT 08086/8088中断源 8.2 8086.2 8086中断中断 8086/8088 8086/8088最多可以处理最多可以处理256256个中断,将这些中断处理子个中断,将这些中断处理子程序的程序的入口地址入口地址统一存放在内存的一个固定区域。每个中断统一存放在内存的一个固定区域。每个中断处理子程序的入口地址占用处理子程序的入口地址占用4 4字节字节存储单元:低地址的两字节存储单元:低地址的两字节存放中断处理子程序入口地址的偏移量存放中断处理子程序入口地址的偏移量(IP)(IP);高地址的两字;高地址的两字节存放段地址节存放段地址(CS)(CS)。这些中断处理子程序的入口地址,称
21、为。这些中断处理子程序的入口地址,称为中断向量中断向量。256256个中断向量要使用个中断向量要使用10241024个字节的内存区域,称个字节的内存区域,称中断向量表中断向量表。8086/80888086/8088系统的中断向量表位于内存的前系统的中断向量表位于内存的前10241024字节,地址范围为字节,地址范围为00000H00000H003FFH003FFH。每个中断源分配一个。每个中断源分配一个中中断类型码断类型码。 12_内部中断过程 标清.flv17_int9写键盘缓冲区 标清.flv8 8.2.3 .2.3 中断向量表中断向量表8086/80888086/8088的中断向量表的中
22、断向量表 8 8.2.3 .2.3 中断向量表中断向量表 中断服务程序入口地址在中断向量表中是按中断类型码中断服务程序入口地址在中断向量表中是按中断类型码顺序存放的,位置可由顺序存放的,位置可由“中断类型码中断类型码4 4”计算出来。计算出来。CPUCPU响响应中断时,把中断类型码应中断时,把中断类型码n n乘以乘以4 4,得到对应地址,得到对应地址4n(4n(该中断该中断服务程序入口地址所占服务程序入口地址所占4 4个字节的个字节的第一个字节第一个字节的地址的地址) ),然后,然后把由此地址开始的两个把由此地址开始的两个低字节低字节单元的内容装入单元的内容装入IPIP寄存器,再寄存器,再把两
23、个把两个高字节高字节单元的内容装入单元的内容装入CSCS寄存器,寄存器,CPUCPU即转向中断类即转向中断类型码为型码为n n的中断服务程序。的中断服务程序。8 8.2.3 .2.3 中断向量表中断向量表 中断向量表中有中断向量表中有5 5个个专用中断专用中断( (中断类型码为中断类型码为0 04)4),它们,它们的用途已经确定;的用途已经确定;2727个系统个系统保留的中断保留的中断( (中断类型码为中断类型码为5 531)31)供系统使用,不允许用户自行定义;供系统使用,不允许用户自行定义;224224个个用户自定义中断用户自定义中断( (中断类型码为中断类型码为3232255)255),
24、这些中断类型码可供软中断,这些中断类型码可供软中断INT n INT n 或可屏蔽中断或可屏蔽中断INTRINTR使用使用 ( (中断类型码中断类型码21H21H的中断已用作的中断已用作DOSDOS的的系统功能调用系统功能调用) ) 。由用户确定了中断类型码后,还应先将相。由用户确定了中断类型码后,还应先将相应的中断处理子程序入口地址填入中断向量表,以便应的中断处理子程序入口地址填入中断向量表,以便CPUCPU根据根据提供的中断类型码找到相应的中断向量。提供的中断类型码找到相应的中断向量。8 8.2.3 .2.3 中断向量表中断向量表8 8.4 .4 可编程中断控制器可编程中断控制器 8259
25、A 8259A 8259A8259A具有如下功能具有如下功能: : 以以接收多个接收多个外部中断源的外部中断源的中断请求中断请求,并进行,并进行优先级别判优先级别判断断,选中当前优先级别最高的中断请求,再将此请求送到微,选中当前优先级别最高的中断请求,再将此请求送到微处理器的中断输入端。处理器的中断输入端。 具有提供具有提供中断向量中断向量、 屏蔽中断输入等功能。屏蔽中断输入等功能。 可用于管理可用于管理8 8级优先权中断级优先权中断,最多构成,最多构成6464级优先权中断管级优先权中断管理系统。中断服务程序入口地址构成的中断向量表存放在内理系统。中断服务程序入口地址构成的中断向量表存放在内存
26、固定区域。存固定区域。 有有多种工作方式多种工作方式,自动提供中断服务程序,自动提供中断服务程序入口地址入口地址8 8.4.2 8259A.4.2 8259A的内部结构及外部引脚的内部结构及外部引脚内部总线CAS0D7D0数据总线缓冲器控制电路INT读/写控制逻辑RDWRA0CS级联缓冲/比较器CAS1CAS2EN/SPINTA中断服务寄存器(ISR)优先权判别器(PR)中断请求寄存器(IRR)中断屏蔽寄存器(IMR)IR7IR1IR0 18259A的内部结构的内部结构 (1 1)数据总线缓冲器)数据总线缓冲器 8 8位双向三态缓冲器,是位双向三态缓冲器,是8259A8259A与系统数据总线的
27、接口。与系统数据总线的接口。8259A8259A通过数据总线缓冲器接收微处理器发来的各种命令控制通过数据总线缓冲器接收微处理器发来的各种命令控制字、有关寄存器状态的读取,字、有关寄存器状态的读取,8259A8259A也通过数据总线缓冲器向也通过数据总线缓冲器向微处理器送出中断类型码等。微处理器送出中断类型码等。 (2 2)读)读/ /写控制逻辑写控制逻辑 该部件接收来自该部件接收来自CPUCPU的读的读/ /写命令,配合片选信号、读信写命令,配合片选信号、读信号、写信号和地址线号、写信号和地址线A A0 0共同实现控制,完成规定的操作。共同实现控制,完成规定的操作。8 8.4.2 8259A.
28、4.2 8259A的内部结构及外部引脚的内部结构及外部引脚 (3 3)级联缓冲器)级联缓冲器/ /比较器比较器 8259A8259A既可工作于单片方式,也可工作于多片级联方式。这既可工作于单片方式,也可工作于多片级联方式。这个部件在级联方式下用于标识主从设备,在缓冲方式下控制收个部件在级联方式下用于标识主从设备,在缓冲方式下控制收发器的数据传送方向。发器的数据传送方向。 (4 4)中断请求寄存器)中断请求寄存器IRRIRR 8 8位寄存器,用来锁存外部设备送来的位寄存器,用来锁存外部设备送来的IRIR7 7IRIR0 0中断请求信中断请求信号。每位对应着号。每位对应着8259A8259A的的8
29、 8个外部中断请求输入端中的一位,当个外部中断请求输入端中的一位,当某引脚上有中断请求信号时,某引脚上有中断请求信号时,IRRIRR对应位置对应位置1 1,当该中断请求被,当该中断请求被响应时,该位复位。响应时,该位复位。INTA8 8.4.2 8259A.4.2 8259A的内部结构及外部引脚的内部结构及外部引脚 (5 5)中断屏蔽寄存器)中断屏蔽寄存器IMRIMR 8 8位寄存器,用于设置中断请求的屏蔽信号。每位对应着输位寄存器,用于设置中断请求的屏蔽信号。每位对应着输入端入端IRIR7 7IRIR0 0中的一位。如用软件将中的一位。如用软件将IMRIMR的某位置的某位置“1”1”,则其,
30、则其对应引脚上的中断请求将被对应引脚上的中断请求将被8259A8259A屏蔽,即使对应屏蔽,即使对应IRIRi i引脚上有引脚上有中断请求信号也不会产生中断请求输出中断请求信号也不会产生中断请求输出 (6 6)中断服务状态寄存器)中断服务状态寄存器ISRISR 8 8位寄存器,记录当前正在被服务的所有中断级,包括尚未位寄存器,记录当前正在被服务的所有中断级,包括尚未服务完而中途被更高优先级打断的中断级。每位对应输入端服务完而中途被更高优先级打断的中断级。每位对应输入端IRIR7 7IRIR0 0中的一位。若某个引脚上的中断请求被响应,则中的一位。若某个引脚上的中断请求被响应,则ISRISR中中
31、对应位被置对应位被置1 1。ISRISR的置位也允许嵌套。的置位也允许嵌套。8 8.4.2 8259A.4.2 8259A的内部结构及外部引脚的内部结构及外部引脚 (7 7)优先权分析器)优先权分析器PRPR 用于识别和管理各中断请求信号的优先级别。当在用于识别和管理各中断请求信号的优先级别。当在IRIR输输入端中断请求信号通过入端中断请求信号通过IRRIRR送到送到PRPR。PRPR检查检查ISRISR的状态,判的状态,判别有无优先级更高的中断正在被服务,若无,则将别有无优先级更高的中断正在被服务,若无,则将IRRIRR中优中优先级最高的中断请求送入先级最高的中断请求送入ISRISR,并通过
32、控制逻辑向,并通过控制逻辑向CPUCPU发出发出中断请求信号中断请求信号INTINT,并且将,并且将ISR ISR 中的相应位置中的相应位置“1”1” (8 8)控制逻辑)控制逻辑 8259A8259A全部功能的控制核心。它包括一组初始化命令字全部功能的控制核心。它包括一组初始化命令字寄存器寄存器ICW1ICW1ICW4ICW4和一组操作命令字寄存器和一组操作命令字寄存器OCW1OCW1OCW3OCW3,以及有关的控制电路。以及有关的控制电路。8 8.4.2 8259A.4.2 8259A的内部结构及外部引脚的内部结构及外部引脚CAS28259AD7CAS0GNDVCCA0IR7INT1234
33、5678910111213142827262524232221201918171615INTAIR6IR5IR4IR3IR2IR1IR0EN / SPCSWRRDD6D5D4D3D2D1D0CAS12 28259A8259A的外部引脚的外部引脚8 8.4.2 8259A.4.2 8259A的内部结构及外部引脚的内部结构及外部引脚 1 1中断优先级管理方式中断优先级管理方式 (1) (1) 全嵌套方式全嵌套方式 全嵌套方式也称全嵌套方式也称固定优先级方式固定优先级方式。在这种方式下,由。在这种方式下,由IRIR端引端引入的中断请求具有固定的优先级,入的中断请求具有固定的优先级,IRIR0 0最高
34、,最高,IRIR7 7最低。在对最低。在对8259A8259A初始化后若没有设置其他优先级方式,则初始化后若没有设置其他优先级方式,则默认默认为全嵌套方为全嵌套方式。式。 8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 (2) (2) 特殊全嵌套方式特殊全嵌套方式 在主从结构的在主从结构的8259A8259A系统中,将系统中,将主片主片设置为特殊全嵌套方设置为特殊全嵌套方式,可以在处理某一级中断时,不但允许优先级更高的中断式,可以在处理某一级中断时,不但允许优先级更高的中断请求进入,也允许同级的中断请求进入。请求进入,也允许同级的中断请求进入。 8 8.4.3 8259A.
35、4.3 8259A的工作方式的工作方式 (3) (3) 优先级自动循环方式优先级自动循环方式 各中断源优先级是循环变化的,主要用在系统中各中断各中断源优先级是循环变化的,主要用在系统中各中断源优先级相同的情况下。一个设备的中断服务完成后,其优源优先级相同的情况下。一个设备的中断服务完成后,其优先级自动降为最低,而将最高优先级赋给原来比它低一级的先级自动降为最低,而将最高优先级赋给原来比它低一级的中断请求。中断请求。8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 (4) (4) 优先级特殊循环方式优先级特殊循环方式 该方式与优先级自动循环方式相比,只有一点不同,该方式与优先级
36、自动循环方式相比,只有一点不同,即可以设置开始的最低优先级。例如,最初设定即可以设置开始的最低优先级。例如,最初设定IRIR4 4为最低为最低优先级,那么优先级,那么IRIR5 5就是最高优先级,而优先级自动循环方式就是最高优先级,而优先级自动循环方式中,最初的最高优先级一定是中,最初的最高优先级一定是IRIR0 0。 8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 2 2中断屏蔽方式中断屏蔽方式 (1) (1) 普通屏蔽方式普通屏蔽方式 通过对通过对中断屏蔽寄存器中断屏蔽寄存器(IMR)(IMR)的设定,实现对中断请求的屏的设定,实现对中断请求的屏蔽。中断屏蔽寄存器的蔽。
37、中断屏蔽寄存器的每一位对应了一个级别的中断请求每一位对应了一个级别的中断请求,当,当某一位为某一位为1 1时,与之相应的某一级别的中断请求被屏蔽。时,与之相应的某一级别的中断请求被屏蔽。 (2) (2) 特殊屏蔽方式特殊屏蔽方式 当一个优先级当一个优先级较高的中断请求较高的中断请求正在被处理时,若设置了特正在被处理时,若设置了特殊屏蔽方式,则殊屏蔽方式,则允许优先级较低的中断进入允许优先级较低的中断进入正在处理的高级别正在处理的高级别中断。中断。8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 3 3中断触发方式中断触发方式 (1) (1) 电平触发方式电平触发方式 该方式以
38、该方式以IRIR端上出现的高电平作为中断请求信号。请求一旦端上出现的高电平作为中断请求信号。请求一旦被响应,该高电平信号应及时撤除。被响应,该高电平信号应及时撤除。 (2) (2) 边沿触发方式边沿触发方式 该方式以该方式以IRIR端上出现由低电平向高电平的跳变作为中断请求端上出现由低电平向高电平的跳变作为中断请求信号,跳变后高电平一直保持信号,跳变后高电平一直保持,直到被响应,直到被响应。 8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 4 4中断结束方式中断结束方式 (1)(1)自动结束方式自动结束方式(AEOI)(AEOI) 自动结束方式在第二个负脉冲的后沿将对应的自
39、动结束方式在第二个负脉冲的后沿将对应的ISRISR位清位清0 0。该方式是在中断响应后,而不是在中断处理结束时将该方式是在中断响应后,而不是在中断处理结束时将ISRISR位清位清0 0。在中断处理过程中,就没有在中断处理过程中,就没有“正在处理正在处理”的标识。此时若有中的标识。此时若有中断请求出现,没有屏蔽且断请求出现,没有屏蔽且IFIF1 1,则无论其优先级如何,都将得,则无论其优先级如何,都将得到响应。所以,中断自动结束方式是一种最简单的结束方式,到响应。所以,中断自动结束方式是一种最简单的结束方式,只适合于中断请求信号的持续时间有一定限制、系统中只有只适合于中断请求信号的持续时间有一定
40、限制、系统中只有1 1片片8259A8259A且不会出现中断嵌套的场合。且不会出现中断嵌套的场合。8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 (2)(2)非自动结束方式非自动结束方式(EOI)(EOI) 从中断程序返回前,需通过程序向从中断程序返回前,需通过程序向8259A 8259A 输出一个中断结输出一个中断结束命令束命令(EOI)(EOI),将,将ISRISR中的相应位清中的相应位清0 0。具体方法有以下两种:。具体方法有以下两种: 一般结束方式一般结束方式。此方式由。此方式由8259A8259A自动选择自动选择ISRISR中优先权中优先权最高位清最高位清0 0。
41、此方式常用于完全嵌套方式下的中断结束。在级。此方式常用于完全嵌套方式下的中断结束。在级联系统中均采用一般结束方式或特殊结束方式。在中断处理联系统中均采用一般结束方式或特殊结束方式。在中断处理程序结束时,必须发两次中断结束命令,一次发给主片,另程序结束时,必须发两次中断结束命令,一次发给主片,另一次发给从片。一次发给从片。 特殊结束方式特殊结束方式。此方式需由用户指明将。此方式需由用户指明将ISRISR中的哪一位中的哪一位清清0 0,常用于特殊全嵌套方式。,常用于特殊全嵌套方式。8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 5.5.与系统总线的连接方式与系统总线的连接方式
42、(1)(1)缓冲方式缓冲方式 在缓冲方式下,在缓冲方式下,8259A8259A通过总线收发器和数据总线相连。通过总线收发器和数据总线相连。8259A8259A的的SP/ENSP/EN作为输出端,作为输出端,ENEN有效,使总线收发器使能。有效,使总线收发器使能。 (2)(2)非缓冲方式非缓冲方式 非缓冲方式主要用于单片非缓冲方式主要用于单片8259A8259A或片数不多的或片数不多的8259A8259A级联级联的系统中。在该方式下,的系统中。在该方式下,8259A8259A直接与数据总线相连,直接与数据总线相连,8259A8259A的的SP/ENSP/EN为输入为输入(SP(SP有效有效) )
43、。只有单片。只有单片8259A8259A时,时, 接高电平;接高电平;有多片有多片8259A8259A时,该引脚用于区分主从芯片。时,该引脚用于区分主从芯片。 接高电平则表接高电平则表示该示该8259A8259A为主片;接低电平,则表示该为主片;接低电平,则表示该8259A8259A为从片。为从片。8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 8259A 8259A的工作方式在对其进行初始化编程或操作编程中的工作方式在对其进行初始化编程或操作编程中设置。设置。8259A8259A有两类命令字有两类命令字: :初始化命令字初始化命令字ICWICW1 1ICWICW4 4和和
44、操作操作命令字命令字OCWOCW1 1OCWOCW3 3。相应地。相应地, ,在在8259A8259A内部有两组命令字寄存内部有两组命令字寄存器组器组, ,分别用来接收这分别用来接收这7 7个命令字。系统开机时个命令字。系统开机时, ,由初始化程由初始化程序将序将ICWICW1 1ICWICW4 4分别写入分别写入4 4个初始化命令字寄存器个初始化命令字寄存器, ,称为称为8259A8259A的的初始化编程初始化编程。初始化命令字一经写入。初始化命令字一经写入, ,系统在整个中断工系统在整个中断工作过程中就作过程中就不再改变不再改变。如果希望选择或改变初始化设定的。如果希望选择或改变初始化设定
45、的8259A8259A的工作方式的工作方式, ,则可在应用程序中将则可在应用程序中将OCWOCW1 1OCWOCW3 3分别写入分别写入3 3个操作命令字寄存器中。所以操作命令字可以被个操作命令字寄存器中。所以操作命令字可以被多次设置多次设置, ,以便对中断处理方式进行动态控制。以便对中断处理方式进行动态控制。8 8.4.4 8259A.4.4 8259A的编程设置的编程设置 1 1初始化命令字初始化命令字 初始化主要完成以下功能:初始化主要完成以下功能: 设定中断请求信号触发方式,即边沿或电平触发方式;设定中断请求信号触发方式,即边沿或电平触发方式; 设定设定8259A8259A工作方式,即
46、缓冲与非缓冲方式;工作方式,即缓冲与非缓冲方式; 设定设定8259A8259A中断类型号基值,对应中断类型号基值,对应IR0IR0的类型号;的类型号; 设定优先级方式,即完全嵌套或特殊全嵌套方式;设定优先级方式,即完全嵌套或特殊全嵌套方式; 设定中断处理结束方式,即自动设定中断处理结束方式,即自动AEOIAEOI或非自动或非自动EOIEOI方式。方式。8 8.4.4 8259A.4.4 8259A的编程设置的编程设置 初始化命令字共预置初始化命令字共预置4 4个命令个命令字:字: ICWICW1 1-ICW-ICW4 4,但并不是任何情,但并不是任何情况下都要预置这况下都要预置这4 4个命令字
47、,用户个命令字,用户可根据具体情况而定。由于可根据具体情况而定。由于ICWICW1 1 必须写入低地址端口必须写入低地址端口A0=0(A0=0(偶端偶端口口) ),因而,因而ICWICW2 2、ICWICW3 3、ICWICW4 4必须必须写入高地址端口写入高地址端口A0=1(A0=1(奇端口奇端口) ),为此为此8259A 8259A 在进行初始化时,利在进行初始化时,利用写入的顺序来区分不同的寄存用写入的顺序来区分不同的寄存器,即必须严格地按规定的初始器,即必须严格地按规定的初始化顺序依次写入。化顺序依次写入。8 8.4.4 8259A.4.4 8259A的编程设置的编程设置 (1 1)芯
48、片初始化命令字)芯片初始化命令字ICW1ICW1 ICW1 ICW1命令字的格式如图所示,命令字的格式如图所示,D4=1D4=1为为ICW1ICW1的特征位的特征位( (标志标志位位) ),用来与写入同一地址的,用来与写入同一地址的OCW2OCW2、OCW3OCW3区别。其他命令字区别。其他命令字的含义如图所示。的含义如图所示。8 8.4.4 8259A.4.4 8259A的编程设置的编程设置 (2 2)中断类型号初始化命令字)中断类型号初始化命令字ICW2ICW2 ICW2 ICW2命令字的格式如图所示,命令字的格式如图所示,T7T7T3T3为决定中断类型号的为决定中断类型号的高高5 5位,
49、位,D2D2D0D0不需编程通常为全不需编程通常为全0 0,表示中断请求输入端,表示中断请求输入端IR0IR0的中断类型号,在中断响应时由中断源的序号的中断类型号,在中断响应时由中断源的序号000000111111自动填自动填入相应值,因此用一个初始化命令字入相应值,因此用一个初始化命令字ICW2 ICW2 就可决定就可决定8 8个中断源个中断源的中断类型号,的中断类型号,ICW2ICW2也可以称为中断类型号基值寄存器。也可以称为中断类型号基值寄存器。8 8.4.4 8259A.4.4 8259A的编程设置的编程设置 (3 3)标识主)标识主/ /从片初始化命令字从片初始化命令字ICW3ICW
50、3 ICW3 ICW3命令字的格式如图所示,对主片、从片分别写入命令字的格式如图所示,对主片、从片分别写入ICW3ICW3,对主片写入是为确定哪个中断请求输入端接的是从片,对主片写入是为确定哪个中断请求输入端接的是从片,由于一片由于一片8259A8259A有有8 8个中断请求输入端,因此最多可接个中断请求输入端,因此最多可接8 8个从片;个从片;对从片写入是为确定该从片的中断请求输出端接入主片的哪对从片写入是为确定该从片的中断请求输出端接入主片的哪个输入端。个输入端。8 8.4.4 8259A.4.4 8259A的编程设置的编程设置 (4 4)方式控制初始化命令字)方式控制初始化命令字ICW4
51、ICW4 ICW4 ICW4命令字的格式如图所示,在命令字的格式如图所示,在ICW1ICW1中,若中,若D0D01 1才写入才写入ICW4ICW4,用来指定中断嵌套方式及缓冲方式,对,用来指定中断嵌套方式及缓冲方式,对80X86(80X86(包括包括8086/8088)8086/8088)系统必须预置系统必须预置ICW4ICW4。8 8.4.4 8259A.4.4 8259A的编程设置的编程设置 【例】例】 8259A8259A采用两片级联方式,主片设定为:上升沿触采用两片级联方式,主片设定为:上升沿触发、在发、在IR2IR2引脚连接从片、需写入引脚连接从片、需写入ICW4ICW4、非、非AEOI AEOI 方式、中断类方式、中断类型码应设为型码应设为08H08H 0FH0FH、采用一般的中断嵌套方式、主片、采用一般的中断嵌套方式、主片8259A 8259A 端口地址是端口地址是20H20H、21H21H;从片定义为:上升沿触发、级联到主片;从片定义为:上升沿触发、级联到主片的的IR2IR2引脚、需设置引脚、需设置ICW4ICW4、非、非AEOIAEOI方式、中断类型码为方式、中断类型码为70H70H 78H78H、采用一般的中断嵌套方式、从片、采用一般的中断嵌套方式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 砖头废料购买合同
- 汽车维护保养合同
- 国有土地房屋交易合同协议范本
- 沙石购销合同示例定制
- 商务委托印刷合同协议样本
- 房产营销策划项目合作合同
- 校园草坪采购合同
- 活动摄像服务合同
- 食品添加剂购买合同
- 品牌年度服务合同保险理赔
- 2024年文化版:含有文物保修责任的文化遗址租赁合同
- 高校教师职称答辩演讲稿
- 保健按摩师(高级)技能理论考试题库(含答案)
- 大学生职业发展与就业指导22-23-2学习通超星期末考试答案章节答案2024年
- 古代文学及古诗文鉴赏(一)学习通超星期末考试答案章节答案2024年
- 公民科学素质大赛参考试题库600题(含答案)
- 上海市四校2024-2025学年高一上学期期中联考英语试卷(含答案无听力原文及音频)
- 2024-2030年全球及中国岸电行业发展现状与未来前景预测报告
- 三年级上册心理健康课件-第十四课-尊重他人-尊重自己|北师大版
- 招投标管理招聘面试题及回答建议(某大型国企)2025年
- 耳鸣的认知治疗干预
评论
0/150
提交评论