版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 8.1 8.1 引引 言言当当CPUCPU与外设交换信息时,若用查询的方式,则与外设交换信息时,若用查询的方式,则CPUCPU就要浪费很多时间去等待外设。这样就存在一个快速的就要浪费很多时间去等待外设。这样就存在一个快速的CPUCPU与慢速的外设之间的矛盾,这也是计算机在发展过程与慢速的外设之间的矛盾,这也是计算机在发展过程中遇到的严重问题之一。为了解决这个问题,一方面要中遇到的严重问题之一。为了解决这个问题,一方面要提高外设的工作速度;另一方面发展了中断的概念。实提高外设的工作速度;另一方面发展了中断的概念。实现了中断,就有以下好处:现了中断,就有以下好处: 1.1.同步操作同步操作 2.
2、2.实现实时处理实现实时处理 3.3.故障处理故障处理 为什么要用中断为什么要用中断引起中断的原因,或能发出中断请求的来引起中断的原因,或能发出中断请求的来源,称为源,称为中断源中断源。 中断系统应具有如下功能:中断系统应具有如下功能: (1)实现中断及返回)实现中断及返回 (2)能实现优先权排队)能实现优先权排队 (3)高级中断源能中断低级的中断处理)高级中断源能中断低级的中断处理 8.2 8.2 最简单的中断情况最简单的中断情况 响应中断的条件响应中断的条件 (1 1)设置中断请求触发器)设置中断请求触发器 (2 2)设置中断屏蔽触发器)设置中断屏蔽触发器 (3 3)中断是开放的)中断是开
3、放的注注:CPU:CPU复位时复位时, ,中断允许触发器为中断允许触发器为“0”,0”,即关中断即关中断, ,所以必须用所以必须用STISTI指令开中断指令开中断. .当中断响应后当中断响应后,CPU,CPU就自动关中断就自动关中断, ,所以必须在中断服所以必须在中断服务程序中用务程序中用STISTI指令来开中断指令来开中断. . (4 4)CPUCPU在现行指令结束后响应中断在现行指令结束后响应中断设置中断请求的情况设置中断请求的情况(1 1)设置中断请求触发器)设置中断请求触发器具有中断屏蔽的接口电路具有中断屏蔽的接口电路(2 2)设置中断屏蔽触发器)设置中断屏蔽触发器中断响应流程图中断响
4、应流程图对中断的响应对中断的响应当满足上述条件后,当满足上述条件后,CPUCPU就响应中断,转入中断周就响应中断,转入中断周期,期,CPUCPU做以下几种事:做以下几种事:(1 1)关中断)关中断(2 2)保留断点)保留断点(3 3)保护现场)保护现场(4 4)给出中断入口,转入相应的中断服务程序)给出中断入口,转入相应的中断服务程序在中断服务程序执行完毕后,还要进行下述的在中断服务程序执行完毕后,还要进行下述的(5 5)、()、(6 6)两步操作。)两步操作。(5 5)恢复现场)恢复现场(6 6)开中断与返回)开中断与返回中断响应中断响应, ,服务及返回流程图服务及返回流程图 8.3 8.3
5、 中断优先权中断优先权当有多个中断源同时请求时,当有多个中断源同时请求时,CPU就要识别出是哪些就要识别出是哪些中 断 源 有 中 断 请 求 , 辨 别 和 比 较 它 们 的 优 先 权中 断 源 有 中 断 请 求 , 辨 别 和 比 较 它 们 的 优 先 权(Priority),先响应优先权级别最高的中断申请。另外,),先响应优先权级别最高的中断申请。另外,当当CPU正在处理中断时,也要能响应更高级的中断申请,正在处理中断时,也要能响应更高级的中断申请,而屏蔽掉同级或较低级的中断请求。而屏蔽掉同级或较低级的中断请求。要判别和确定各个中断源的中断优先权,可以用软件要判别和确定各个中断源
6、的中断优先权,可以用软件和硬件两种方法。和硬件两种方法。软件采用查询技术。当软件采用查询技术。当CPU响应中断后,就用软件查响应中断后,就用软件查询以确定是哪些外设申请中断,并判断它们的优先权。询以确定是哪些外设申请中断,并判断它们的优先权。软件查询方式的接口电路软件查询方式的接口电路软件查询程序流程图软件查询程序流程图 用软件确定中断优先权用软件确定中断优先权查询程序有两种方式:查询程序有两种方式: (1) 屏蔽法屏蔽法INAL,20H;输入中断请求触发器的;输入中断请求触发器的状态状态TESTAL,80H ;检查最高位;检查最高位(电源故障电源故障)是否是否有请求有请求JNEPWF ;有,
7、则转至电源故障处理程序;有,则转至电源故障处理程序TESTAL, 40H ;否,检查磁盘是否有请求;否,检查磁盘是否有请求JNEDISS ;有,转至磁盘服务程序;有,转至磁盘服务程序TESTAL ,20H ;否,检查磁带是否有请求;否,检查磁带是否有请求JNEMT ;有,转至磁带服务程序;有,转至磁带服务程序 (2) 移位法移位法XORAL,ALINAL,20HRCLAL,1JCPWFRCLAL,1JCDISS 查询方法的查询方法的优点优点是:是: (1) 询问的次序即是优先权的次序。显然,最先询问的次序即是优先权的次序。显然,最先询问的,优先权的级别最高。询问的,优先权的级别最高。(2) 省
8、硬件。不需要有判断与确定优先权的硬件省硬件。不需要有判断与确定优先权的硬件排队电路。排队电路。但随之而来的但随之而来的缺点缺点是:是: 由询问转至相应的服务程序入口的时间长,由询问转至相应的服务程序入口的时间长,尤其是在中断源较多的情况下。尤其是在中断源较多的情况下。 硬件优先权排队电路硬件优先权排队电路 1.中断优先权编码电路中断优先权编码电路用硬件编码器和比较器的优先权排队电路,如图所用硬件编码器和比较器的优先权排队电路,如图所示。示。若有若有8个中断源,当任一个有中断请求时,通过个中断源,当任一个有中断请求时,通过“或或”门,即可有一个中断请求信号产生,但它能否送至门,即可有一个中断请求
9、信号产生,但它能否送至CPU的中断请求线,还要受比较器的控制的中断请求线,还要受比较器的控制(若优先权失若优先权失效信号为低电平,则与门效信号为低电平,则与门2关闭关闭)。8条中断输入线的任一条,经过编码器可以产生三位条中断输入线的任一条,经过编码器可以产生三位二进制优先权编码二进制优先权编码A2A1A0,优先权最高的线的编码为,优先权最高的线的编码为111,优先权最低的线的编码为,优先权最低的线的编码为000。而且若有多个输。而且若有多个输入线同时输入,则编码器只输出优先权最高的编码。入线同时输入,则编码器只输出优先权最高的编码。 编码器和比较器的优先权排队电路编码器和比较器的优先权排队电路
10、2. 雏菊花环雏菊花环(Daisy Chain)式或称为链式优先权排队电路式或称为链式优先权排队电路另一种常用的硬件排队电路,如图所示。另一种常用的硬件排队电路,如图所示。当多个输入有中断请求,则由中断输入信号的当多个输入有中断请求,则由中断输入信号的“或或”电路产生电路产生INTR信号,送至信号,送至CPU。当。当CPU在现行指令执在现行指令执行完后,响应中断,发出中断响应信号。但行完后,响应中断,发出中断响应信号。但CPU转向哪转向哪一个中断服务程序的入口呢一个中断服务程序的入口呢?这要由图这要由图8-8所示的链式优所示的链式优先权排队电路确定。先权排队电路确定。当中断响应为高电平,若当中
11、断响应为高电平,若F/F-A有中断请求,则它有中断请求,则它的输出为高,于是与门的输出为高,于是与门A1输出为高,由它控制转至中输出为高,由它控制转至中断断1的服务程序的入口;且门的服务程序的入口;且门A2输出为低电平;因而使输出为低电平;因而使门门B1、B2和和C1、C2所有下面各级门的输入和输出所有下面各级门的输入和输出全为低电平,即屏蔽了所有别的各级中断。全为低电平,即屏蔽了所有别的各级中断。 中断响应流程图链式优先权排队电路中断响应流程图链式优先权排队电路8.4 中断控制器中断控制器Intel 8259A Intel 8259A是与是与8080/8085系列以及系列以及8088/808
12、6系列兼系列兼容的可编程的中断控制器。它的主要功能为:容的可编程的中断控制器。它的主要功能为: (1) 具有具有8级优先权控制,通过级连可扩展至级优先权控制,通过级连可扩展至64级优先权级优先权控制。控制。(2) 每一级中断都可以屏蔽或允许。每一级中断都可以屏蔽或允许。(3) 在中断响应周期,在中断响应周期,8259A可提供相应的中断向量,从可提供相应的中断向量,从而能迅速地转至中断服务程序。而能迅速地转至中断服务程序。(4) Intel 8259A有多种工作方式,可以通过编程来进行选有多种工作方式,可以通过编程来进行选择。择。 8259A8259A的方框图的方框图859A的结构的结构一片一片
13、8259A有有8条外界中断请求线条外界中断请求线IR0IR7,每一,每一条请求线有一个相应的触发器来保存请求信号,从而条请求线有一个相应的触发器来保存请求信号,从而形成了形成了中断请求寄存器中断请求寄存器IRR(Interrupt Request Register)。正在服务的中断,由)。正在服务的中断,由中断服务寄存器中断服务寄存器ISR(IN Service Register)保存。)保存。优先权电路优先权电路对保存在对保存在IRR中的各个中断请求,经中的各个中断请求,经过判断确定最高的优先权,并在中断响应周期把它选过判断确定最高的优先权,并在中断响应周期把它选通至中断服务寄存器。通至中断
14、服务寄存器。中断屏蔽寄存器中断屏蔽寄存器IMR(Interrupt Mask Register)的每一位,可以对的每一位,可以对IRR中的相应的中断源进行屏蔽。中的相应的中断源进行屏蔽。数据总线缓冲器数据总线缓冲器是是8259A与系统数据总线的接口,与系统数据总线的接口,它是它是8位的双向三态缓冲器。位的双向三态缓冲器。读读/写控制逻辑写控制逻辑。CPU能通过它实现对能通过它实现对8259A的读的读出(状态信号)和写入(初始化编程)。出(状态信号)和写入(初始化编程)。级连缓冲器级连缓冲器,实现,实现8259A芯片之间的级连,使得中芯片之间的级连,使得中断源可由断源可由8级扩展至级扩展至64级
15、。级。控制逻辑部分控制逻辑部分,对芯片内部的工作进行控制,使,对芯片内部的工作进行控制,使它按编程的规定工作。它按编程的规定工作。 8259A的引脚的引脚 双列直插式芯片,双列直插式芯片,28个引脚个引脚 方方 波波键键 盘盘保保 留留串串 口口2 硬硬 盘盘软软 盘盘打印机打印机IOW18.2HzA0CS8259A总线总线A0数数 据据 线线 IORRDWR片片选选译译码码IR0IR1IR2IR3IR4IR5IR6IR7A1A7D0D7D0D7VccSP/ENCAS0CAS1CAS2GND+ 5V用于多片用于多片8259A级连情况级连情况INTAINT INTA INTR串串 口口1 定时器
16、定时器8259A8259A的中断顺序的中断顺序 (1) 当有一条或若干条中断请求输入线当有一条或若干条中断请求输入线(IR7IR0)变变高,则使中断请求寄存器高,则使中断请求寄存器IRR的相应位置位。的相应位置位。 (2) 若中断请求线中至少有一条是中断允许的,则若中断请求线中至少有一条是中断允许的,则8259A由由INT引脚向引脚向CPU送出中断请求信号。送出中断请求信号。 (3) 若若CPU是处在开中断状态,则在当前指令执行完是处在开中断状态,则在当前指令执行完以后,用以后,用INTA信号作为响应。信号作为响应。 (4) 8259A在接收到在接收到CPU的的INTA信号后,使最高优先信号后
17、,使最高优先权的权的ISR位置位,而相应的位置位,而相应的IRR位复位。位复位。 (5) CPU(5) CPU将启动另一个中断响应周期,输出另一个将启动另一个中断响应周期,输出另一个INTAINTA脉冲。在这个周期脉冲。在这个周期8259A8259A向数据总线输送一个向数据总线输送一个8 8位的位的指针指针( (向量向量) )。CPUCPU在此周期中,读取此向量把它乘以在此周期中,读取此向量把它乘以4 4,就可以从中断服务程序入口地址表中取出中断服务程序就可以从中断服务程序入口地址表中取出中断服务程序的入口地址的入口地址 (6) (6) 这样中断响应周期就完成了,这样中断响应周期就完成了,CP
18、UCPU就可以转至中就可以转至中断服务程序。断服务程序。8259A8259A的编程的编程8259A8259A的编程可以分为两种:的编程可以分为两种:(1 1)初始化编程)初始化编程:由:由CPUCPU向向8259A8259A送送2 24 4个字节的初个字节的初始化命令字始化命令字ICWICW(Initialization Command WordInitialization Command Word)。在)。在8259A8259A开始正常工作之前,必须先送初始化命令字。开始正常工作之前,必须先送初始化命令字。(2 2)工作方式编程)工作方式编程:由:由CPUCPU向向8259A8259A送三个
19、字节的工送三个字节的工作命令字作命令字OCWOCW(Operation Command WordOperation Command Word)。以规定)。以规定8259A8259A的工作方式,例如:的工作方式,例如: 中断屏蔽中断屏蔽 结束中断结束中断 优先权旋转优先权旋转 中断状态中断状态工作命令字可在工作命令字可在8259A8259A已经初始化以后的任何时间写已经初始化以后的任何时间写入。入。1 18259A8259A的初始化编程的初始化编程对对8259A8259A的初始化编程是向它输送的初始化编程是向它输送2 24 4个字节的初个字节的初始化命令字,其顺序如图所示。始化命令字,其顺序如图
20、所示。ICW1ICW1和和ICW2ICW2是必须送的,而是必须送的,而ICW3ICW3和和ICW4ICW4是由工作是由工作方式来选择的。方式来选择的。 8259A 8259A初始化顺序初始化顺序 ICW1 ICW1的功能的功能 ICW2 ICW2的功能的功能 ICW3 ICW3的功能的功能 ICW4 ICW4的功能的功能2 28259A8259A的工作命令字的工作命令字在对在对8259A8259A进行了初始化编程(输送了适当的初始进行了初始化编程(输送了适当的初始化命令字)之后,芯片已作好了接收中断请求输入的化命令字)之后,芯片已作好了接收中断请求输入的准备。在准备。在8259A8259A的工
21、作期间可由工作命令字以规定其各的工作期间可由工作命令字以规定其各种工作方式。种工作方式。 OCW1 OCW1的功能的功能 中断屏蔽命令字中断屏蔽命令字OCW1OCW1 OCW2 OCW2的功能的功能 OCW3 OCW3的功能的功能 1 1查询方式查询方式 2 2中断屏蔽中断屏蔽 3 3缓冲模式缓冲模式 4 4中断嵌套模式中断嵌套模式 5 5中断优先权旋转中断优先权旋转 6 6中断结束命令中断结束命令 7 7读读8259A8259A的状态的状态 8 88259A8259A的级连的级连1. 查询方式查询方式当系统的中断源很多,超过了当系统的中断源很多,超过了64个时,则个时,则8259A芯片可以工
22、作在查询方式。此时,在芯片可以工作在查询方式。此时,在8259A的编的编程中,使程中,使OCW3的的D2位位P置为置为1。程序中令。程序中令CPU关中断,关中断,用查询方式对外设进行服务。用查询方式对外设进行服务。在令在令OCW3的的D2位位P置为置为1后的下一个读命令,被后的下一个读命令,被8259A看作是中断响应信号,使最高优先权的看作是中断响应信号,使最高优先权的ISR的相的相应位置位。读命令从数据总线上读取一个字节,其内应位置位。读命令从数据总线上读取一个字节,其内容为:容为: 其中其中I=1,表示此片,表示此片8259A有中断请求,有中断请求,I=0则无中则无中断,可查询别的芯片。在
23、断,可查询别的芯片。在I=1时,时,W2W0即为有中断即为有中断请求的最高优先权源的编码。请求的最高优先权源的编码。 2. 2. 中断屏蔽中断屏蔽8259A8259A的的8 8个中断请求线的每一条都可根据需要单独个中断请求线的每一条都可根据需要单独屏蔽,屏蔽,OCW1OCW1写入主屏蔽字寄存器,它的每一位可对相应写入主屏蔽字寄存器,它的每一位可对相应的请求线实现屏蔽。的请求线实现屏蔽。在某些应用场合,可能要求能在软件的控制下动态在某些应用场合,可能要求能在软件的控制下动态地改变系统的优先权结构。也就是若地改变系统的优先权结构。也就是若CPUCPU正处在中断服正处在中断服务过程中,希望能屏蔽一些
24、较低优先权的中断源的中断,务过程中,希望能屏蔽一些较低优先权的中断源的中断,而允许一些优先权更低的中断源申请中断。而允许一些优先权更低的中断源申请中断。 8259A8259A中有一种特殊屏蔽模式。若在中有一种特殊屏蔽模式。若在OCW3OCW3中的中的D6D6位位ESMM=1ESMM=1,且,且D5D5位位SMM=1SMM=1,则使,则使8259A8259A工作在特殊的屏蔽模工作在特殊的屏蔽模式。此时,由式。此时,由OCW1OCW1写入的屏蔽字中为写入的屏蔽字中为“1”1”的这些位的的这些位的中断被屏蔽,而为中断被屏蔽,而为“0”0”的这些位的中断不管其优先权的这些位的中断不管其优先权如何,在任
25、何情况下都可以申请中断。如何,在任何情况下都可以申请中断。3. 缓冲模式缓冲模式当当8259A在一个大的系统中使用,且在一个大的系统中使用,且8259A要求级连,要求级连,则要求数据总线有总线驱动缓冲器,也就要求有一个缓则要求数据总线有总线驱动缓冲器,也就要求有一个缓冲器的允许信号。当编程规定使冲器的允许信号。当编程规定使8259A工作在缓冲模式,工作在缓冲模式,则则8259A送出一个允许信号送出一个允许信号SP/EN,每当,每当8259A的数据总的数据总线输出是允许的,线输出是允许的,SP/EN输出变为有效。输出变为有效。在缓冲器模式,必须在初始化编程时规定此片在缓冲器模式,必须在初始化编程
26、时规定此片8259A是主还是从。是主还是从。以上的工作方式是由以上的工作方式是由ICW4决定的。决定的。 4. 4. 中断嵌套模式中断嵌套模式在在8259A8259A中有两种中断嵌套模式:中有两种中断嵌套模式: 全嵌套模式和特全嵌套模式和特殊全嵌套模式。殊全嵌套模式。(1) (1) 全嵌套模式全嵌套模式当工作在全嵌套模式时,在初始化编程以后,中断当工作在全嵌套模式时,在初始化编程以后,中断优先权是固定的,且优先权是固定的,且IR0IR0优先权最高,优先权最高,IR7IR7优先权最低优先权最低( (除除非用优先权旋转的办法来改变非用优先权旋转的办法来改变) )。(2) (2) 特殊全嵌套模式特殊
27、全嵌套模式若在一个大的系统中,若在一个大的系统中,8259A8259A用在级连情况下,就需用在级连情况下,就需要采用特殊的全嵌套模式。在这种模式下与全嵌套模式要采用特殊的全嵌套模式。在这种模式下与全嵌套模式的工作情况基本上是相同的,只有以下两点不同。的工作情况基本上是相同的,只有以下两点不同。 5. 5. 中断优先权旋转中断优先权旋转在实际应用中,中断源的优先权的情况是比较复杂在实际应用中,中断源的优先权的情况是比较复杂的,不一定有明显的等级,而且优先权还有可能改变。的,不一定有明显的等级,而且优先权还有可能改变。所以,不能总是规定所以,不能总是规定IR0IR0优先权最高,而优先权最高,而IR
28、7IR7优先权最低,优先权最低,而要能根据情况来改变。在而要能根据情况来改变。在8259A8259A中有两种改变优先权中有两种改变优先权的办法。的办法。 (1) (1) 自动旋转自动旋转 (2) (2) 特殊旋转方式特殊旋转方式 6. 6. 中断结束命令中断结束命令 当某一个中断源的服务完成时,必须给当某一个中断源的服务完成时,必须给8259A8259A一个一个中断结束命令,使这个源在中断结束命令,使这个源在ISRISR中的相应位复位。在不中的相应位复位。在不同的工作情况下,同的工作情况下,8259A8259A可以有几种不同的给出中断结可以有几种不同的给出中断结束命令的方法。束命令的方法。(1
29、) (1) 自动中断结束模式自动中断结束模式(AEOI)(AEOI) (2) (2) 非自动中断结束方式非自动中断结束方式(EOI)(EOI)7. 7. 读读8259A8259A的状态的状态 8259A8259A内部几个寄存器的状态,可以读至内部几个寄存器的状态,可以读至CPUCPU中,以中,以供用户了解供用户了解8259A8259A的工作状况。的工作状况。 在读命令之前,输出一个在读命令之前,输出一个OCW3OCW3,令其中,令其中RR=1,RIS=0RR=1,RIS=0,则用读命令可以读入中断请求寄存器,则用读命令可以读入中断请求寄存器IRRIRR的状态。的状态。 在一个读命令之前,输出一
30、个在一个读命令之前,输出一个OCW3OCW3,其中,其中RR=1,RIS=1RR=1,RIS=1,则用读命令可以读入正在服务的中断寄,则用读命令可以读入正在服务的中断寄存器存器ISRISR的状态。的状态。当用读命令,而地址总线的当用读命令,而地址总线的A0A0为为0 0,则可读入中断,则可读入中断屏蔽寄存器屏蔽寄存器IMRIMR的状态。的状态。 8. 8259A8. 8259A的级连的级连 在一个系统中,在一个系统中,8259A8259A可以级连,有一个主可以级连,有一个主8259A8259A,若干个从若干个从8259A8259A,最多可以有,最多可以有8 8个从个从8259A8259A,把中
31、断源,把中断源扩展到扩展到6464个。个。8259A8259A级连的典型情况如图所示。主级连的典型情况如图所示。主8259A8259A的三条的三条级连线级连线CAS0CAS0、CAS1CAS1、CAS2CAS2作为输出线,连至每一个从作为输出线,连至每一个从8259A8259A的的CAS0CAS0、CAS1CAS1、CAS2CAS2。每个从。每个从8259A8259A的中断请求的中断请求信号信号INTINT,连至主,连至主8259A8259A的一个中断请求输入端。主的一个中断请求输入端。主8259A8259A的的INTINT线连至线连至CPUCPU的中断请求输入端。的中断请求输入端。 8259
32、A 8259A的级连的级连 8.5 8086 8.5 8086微处理器的中断方式微处理器的中断方式 一、一、80868086的中断源的中断源 80868086中断系统有两大类型的中断源,一类是由外部中断系统有两大类型的中断源,一类是由外部设备产生的中断,我们称之为设备产生的中断,我们称之为硬件中断硬件中断,硬件中断有,硬件中断有时又称外中断。另一类是由指令在某种运行结果时产时又称外中断。另一类是由指令在某种运行结果时产生的中断,我们称之为生的中断,我们称之为软件中断软件中断。另外对于硬件中断,。另外对于硬件中断,又分为不可又分为不可( (非非) )屏蔽中断和可屏蔽中断,硬件中断是屏蔽中断和可屏
33、蔽中断,硬件中断是通过通过CPUCPU芯片的芯片的INTRINTR管脚或管脚或NMINMI管脚从外部引入的。管脚从外部引入的。 中断类型号和中断服务子程序的入口地址之间的关中断类型号和中断服务子程序的入口地址之间的关系:系: 中断类型号n40000:4n+00000:4n+10000:4n+20000:4n+30010002010002000IPCS内存二、不可屏蔽中断二、不可屏蔽中断 所谓不可屏蔽中断就是用户不通过所谓不可屏蔽中断就是用户不通过CPUCPU内内的中断允许触发器的中断允许触发器IFIF控制的中断,由控制的中断,由8086CPU8086CPU的的NMINMI管脚引入。管脚引入。N
34、MINMI中断请求采用上升沿触发中断请求采用上升沿触发方式,这种中断一旦产生,在方式,这种中断一旦产生,在CPUCPU内部直接生内部直接生成中断类型号成中断类型号0202。 0000:4*2+00000:4*2+10000:4*2+20000:4*2+30010002010002000IPCS内存IF0IP,CS,FR进栈IP=2*4+0CS=2*4+2三、三、 可屏蔽中断可屏蔽中断 可屏蔽中断就是用户可以控制的中断,其可屏蔽中断就是用户可以控制的中断,其途径是通过对途径是通过对CPUCPU内的中断允许触发器内的中断允许触发器IFIF的设的设置来禁止和允许置来禁止和允许CPUCPU响应中断。可
35、屏蔽中断由响应中断。可屏蔽中断由8086CPU8086CPU的的INTRINTR管脚引入。管脚引入。这种中断请求需要这种中断请求需要设备提供中断类型号设备提供中断类型号,CPUCPU响应中断后,取中响应中断后,取中断类型号的断类型号的4 4倍作为中断服务入口地址表的地倍作为中断服务入口地址表的地址,通过查表得到相应的中断服务程序首地址,址,通过查表得到相应的中断服务程序首地址,转去执行相应的中断服务程序。转去执行相应的中断服务程序。 0000:4*n+00000:4*n+10000:4*n+20000:4*n+30010002010002000内存IF0IP,CS,FR进栈IP=2*n+0CS
36、=2*n+2取中断类型号n四、四、80868086中断系统中断系统1 1、软件中断、软件中断 软件中断是由中断指令引起的。软件中断是由中断指令引起的。 中断指令的指令格式为中断指令的指令格式为 INT nINT n,操作数,操作数n n就就是中断类型号。当是中断类型号。当CPUCPU执行完毕中断指令执行完毕中断指令INT nINT n后,后,就会立即产生一个中断类型号为就会立即产生一个中断类型号为n n的中断。的中断。(1)(1)除法中断除法中断 当进行除法运算时,若除数为当进行除法运算时,若除数为0 0或除数太小,使或除数太小,使得商数大于相应寄存器所能表示的最大值,被称作得商数大于相应寄存
37、器所能表示的最大值,被称作除法出错。这时除法指令就相当于一个中断源,它除法出错。这时除法指令就相当于一个中断源,它向向CPUCPU发出发出类型类型0 0中断。中断。 (2) (2) 溢出中断溢出中断 当算术运算产生溢出时,将在当算术运算产生溢出时,将在INTOINTO指令控制下指令控制下向向CPUCPU发出发出类型类型4 4的中断,即溢出中断。的中断,即溢出中断。(3)(3)单步中断单步中断当当8086CPU8086CPU的标志寄存器中的的标志寄存器中的TFTF标志为标志为1 1时时8086CPU8086CPU处于单步工作方式,这时处于单步工作方式,这时CPUCPU在每条指令在每条指令执行后自
38、动产生执行后自动产生类型类型l l的中断。的中断。五、中断概念的再讨论五、中断概念的再讨论1 1、中断与调子程序之间的关系、中断与调子程序之间的关系 (1)(1)中断过程实际上是中断过程实际上是CPUCPU从执行当前主程序转到从执行当前主程序转到执行为外设服务的子程序,因此从这个角度来看,执行为外设服务的子程序,因此从这个角度来看,中断过程是一个调用子程序的过程。中断过程是一个调用子程序的过程。(2)(2)中断过程与子程序调用还是有很大差别的,首中断过程与子程序调用还是有很大差别的,首先调用子程序的过程是一个先调用子程序的过程是一个无条件过程无条件过程,但中断,但中断过程的中断服务程序的调用一
39、般是过程的中断服务程序的调用一般是有条件有条件的。其的。其次次, ,子程序调用在整个程序执行中的子程序调用在整个程序执行中的位置是固定位置是固定的。但对于硬件中断过程,只要条件满足,在整的。但对于硬件中断过程,只要条件满足,在整个程序执行的任意一时间点都有可能发生从主程个程序执行的任意一时间点都有可能发生从主程序向中断服务子程序的转移事件,也就是说硬件序向中断服务子程序的转移事件,也就是说硬件中断产生的调用过程是中断产生的调用过程是随机的随机的,不可预测的。,不可预测的。 2 2、外部中断和、外部中断和 INT n INT n 之间的关系之间的关系 结合中断指令结合中断指令INT nINT n
40、,我们可以这样理解外部中,我们可以这样理解外部中断:当外部中断源发中断给断:当外部中断源发中断给CPUCPU时,如果时,如果CPUCPU满足一满足一定的条件,处于开中断状态,定的条件,处于开中断状态,CPUCPU就可以响应中断,就可以响应中断,这时外设在这时外设在CPUCPU正在执行指令与其下一个指令之间,正在执行指令与其下一个指令之间,等效等效“插入插入”了一个了一个INT nINT n指令,这里的指令,这里的n n就是外设就是外设提供的中断类型号。注意这里用提供的中断类型号。注意这里用“等效等效”两字表示两字表示实际过程中是不存在插入实际过程中是不存在插入INT nINT n指令的操作,但指令的操作,但CPUCPU确实完成了类似确实完成了类似INT nINT n指令的功能,实现了主程序指令的功能,实现了主程序向中断程序的转移。向中断程序的转移。 8086CPU 8086CPU的中断管理的中断管理一、一、8086CPU8086CPU的中断处理顺序的中断处理顺序 8086CPU8086CPU的中断优先权排列从高到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老师免责协议书(2篇)
- 南京工业大学浦江学院《新能源汽车》2022-2023学年第一学期期末试卷
- 南京工业大学浦江学院《设计思维与方法》2022-2023学年第一学期期末试卷
- 分式通分说课稿
- 启东市安置房城东村高层住宅小区施工组织总设计方案
- 【初中化学】课题2 原子的结构第二课时-2024-2025学年九年级化学人教版上册
- 《雨点儿》说课稿
- 南京工业大学浦江学院《发动机原理》2022-2023学年第一学期期末试卷
- 私人迁坟协议书(2篇)
- 南京工业大学《信息检索6:艺术法学马克思外语体育》2022-2023学年期末试卷
- 医学课件老年共病概述及处理策略
- 安全风险评价风险矩阵法L-S、LEC法
- 第九版外科学课件泌尿系统损伤
- 2019年度第四次经济普查项目绩效自评表
- 污水处理池 (有限空间)作业安全告知牌及警示标志
- 三年级下册信息技术课件-3.争当打字小能手|人教版 (共12张PPT)
- 中央电视台公益广告30年大盘点
- 高级社会工作师直接服务个案分析六
- 国四部分重型柴油车排气后处理系统型号
- 钢筋保护层和钢筋间距质量控制学习体会
- FURUNO雷达使用说明书0001
评论
0/150
提交评论