中断系统和中断控制器A.ppt
《中断系统和中断控制器A.ppt》由会员分享,可在线阅读,更多相关《中断系统和中断控制器A.ppt(125页珍藏版)》请在三一办公上搜索。
1、微机原理及应用,主讲教师 陈 玮,2023/6/10,微机原理及应用,2,第7章 中断系统和中断控制器8259A,一、中断的基本概念二、8086/8088的中断系统三、中断控制器8259A,2023/6/10,微机原理及应用,3,一、中断的基本概念,1、中断及中断源2、中断处理过程3、中断优先权管理,2023/6/10,微机原理及应用,4,1、中断及中断源,中断是一种让CPU挂起正在执行的程序而转去处理特殊事件的操作。CPU暂时停止执行原来的程序而转去中断处理,处理好中断服务后再返回继续执行原来的程序,这样一个过程就是一个中断过程。能够引起CPU中断的事件称为中断源。CPU中断系统的基本功能。
2、,2023/6/10,微机原理及应用,5,中断源,(1)一般的输入输出设备。如键盘,打印机等;(2)数据通道中断源。如磁盘,磁带机等直接与存储器交换数据所要求的中断;(3)实时时钟。在控制系统中使用外部硬件电路实现时间控制,当定时时间到时向CPU发出中断申请;(4)故障引起的中断。如电源掉电等;(5)由中断指令或软件故障引起的中断。如系统功能调用,除数为0,或者在程序调试时设置断点等引起的中断。,2023/6/10,微机原理及应用,6,中断分类,根据中断与CPU的相对关系,中断分为内部中断和外部中断。内部中断可以是中断指令设置的中断,调试程序时设置的中断,或是程序运行过程中发生的非预期情况而产
3、生的中断;外部中断则是由直接连到CPU引脚上的信号引起的中断,如外部设备请求服务中断,实时时钟定时到中断,电源掉电等等。,2023/6/10,微机原理及应用,7,CPU中断系统的功能,(1)实现中断及返回(2)实现优先权排队,以确定优先处理的中断源。(3)优先权高的中断源能中断优先权低的中断处理,2023/6/10,微机原理及应用,8,(1)实现中断及返回,当有一中断源提出中断请求时,CPU首先判断是否响应该中断?*如果CPU正在执行的是重要的程序,可以暂不响应,即关中断;*当CPU完成了当前的重要程序后,开中断予以响应,同时,保存断点,转入中断处理;*当中断处理完后,恢复断点从而回到被中断运
4、行的原程序继续执行;,2023/6/10,微机原理及应用,9,(1)实现中断及返回,*通过设置CPU内部的中断允许触发器(IFF),开关中断。当IFF1,使中断允许(开中断);当IFF0,使中断不允许(关中断)。注意:不可屏蔽中断,要求CPU立即处理。不受中断允许触发器(IFF)的控制。可屏蔽中断,受中断允许触发器(IFF)的控制。,2023/6/10,微机原理及应用,10,(2)实现优先权排队,以确定优先处理的中断源,一个系统中有多个中断源,存在着几个中断源同时请求的可能;因此,必须事先根据中断源的重要性,给每个中断源确定一个中断优先级别优先权。中断响应时,CPU应能首先响应优先权级别高的中
5、断源。,2023/6/10,微机原理及应用,11,在中断服务处理过程中:若新的中断申请其优先级别更高,则CPU应再一次中断,转去优先权更高的中断源服务。处理完后,再回到原来的中断服务中,这也称为中断嵌套。若新的中断源优先权级别为同级或低级,则CPU暂不理会,继续正在处理的中断服务,直到当前中断处理结束后再去处理新的中断申请。,(3)优先权高的中断源能中断优先权低的中断处理,2023/6/10,微机原理及应用,12,2、中断处理过程,一个中断过程应该包含以下五个过程:(1)中断请求(2)中断排队(3)中断响应(4)中断服务(5)中断返回,2023/6/10,微机原理及应用,13,(1)中断请求,
6、当中断源需要CPU为其服务时,首先送出中断请求信号。中断信号可以由中断指令或是某些特定条件产生,也可以是通过CPU引脚(INTR)向CPU发出中断请求信号而产生。实际系统中一般都有多个中断源,为了增加控制的灵活性,每个中断源接口电路中,设置一个中断请求触发器和一个中断屏蔽触发器。,2023/6/10,微机原理及应用,14,(1)中断请求,当中断源有请求时,将中断请求触发器置1:*若中断屏蔽触发器为“0”状态,表示允许该中断源向CPU发出中断请求“信号”;*若中断屏蔽触发器为“1”状态,表示禁止该中断源向CPU发出中断请求“信号”。尽管该中断源有中断请求,也不能被送出,称该中断请求被屏蔽了。,2
7、023/6/10,微机原理及应用,15,(2)中断排队和(3)中断响应,中断排队是确定当前所有中断请求中优先级最高的那个中断源。因为CPU一次只能响应一个中断,所以必须首先处理最紧急最重要的中断。根据中断源的轻重缓急给予一个中断优先权级别,优先权级别最高的中断源将首先得到响应。,2023/6/10,微机原理及应用,16,(2)中断排队和(3)中断响应,CPU通过中断排队确定了要响应的中断源后,进入中断响应,自动完成以下步骤:关中断;保护断点,将正在执行的程序地址(断点)入栈;保护现场,标志寄存器FR自动入栈;形成中断服务程序入口地址。,2023/6/10,微机原理及应用,17,(4)中断服务和
8、(5)中断返回,中断服务是指CPU执行中断服务程序。中断服务程序应包括:保护现场,CPU响应中断时自动保护断点,寄存器则由程序员决定是否要入栈;开中断,CPU响应中断时,自动执行关中断操作。要实现中断嵌套,必须在中断服务程序中开中断;,2023/6/10,微机原理及应用,18,(4)中断服务和(5)中断返回,中断处理,对中断源作相应的处理,是中断服务程序的核心;关中断,若中断服务程序设置了开中断,则此时应该关中断,以保证恢复现场的操作不被打断;恢复现场,按后进先出的原则,PUSH和POP应配对使用;中断返回,从堆栈中弹出断点,返回主程序。,2023/6/10,微机原理及应用,19,3、中断优先
9、权管理,中断优先权是事先根据中断源的重要性给每个中断源确定一个中断优先级别优先权。中断优先权管理就是判别和确定各个中断源的中断优先权。中断优先权判别方法有软件和硬件两种方法。,2023/6/10,微机原理及应用,20,3、中断优先权管理,(1)软件确定中断优先权 软件法是在CPU响应中断后,用软件查询确定哪个中断源申请中断,先被查询的先响应。查询次序决定了中断优先权次序,最先被查询的中断源具有最高的优先权。,2023/6/10,微机原理及应用,21,3、中断优先权管理,如图,8个外设只要有中断请求,CPU检测到中断请求信号,响应中断;,读入端口80H的内容,逐位判别确定当前申请中断的优先权最高
10、的中断源,从而进入相应的中断服务程序。,2023/6/10,微机原理及应用,22,3、中断优先权管理,(1)软件确定中断优先权,软件查询流程图,软件查询程序:IN AL,80H;端口读入状态TEST AL,80H;JNZ SERVE_ATEST AL,40HJNZ SERVE_B TEST AL,01HJNZ SERVE_HHLT,*软件查询次序就是优先权高低的次序;*软件确定中断优先权不需复杂的硬件电路,简单易实现;*中断源较多时,查询时间较长,中断响应较慢。,2023/6/10,微机原理及应用,23,3、中断优先权管理,(2)硬件确定中断优先权 由硬件实现中断优先权的判别。*常用的硬件电路
11、有:中断优先权编码电路,链式优先权排队电路及专用硬件电路等。*利用中断控制器8259A,它具有8个优先权控制,可以通过级联,扩展至64级优先权控制,且每级中断都可设置为允许或屏蔽。,2023/6/10,微机原理及应用,24,二、8086/8088的中断系统,8086/8088CPU具有一个功能很强、管理高效且简便灵活的中断系统,可以处理多达256种中断源。采用向量中断方法,对256种中断只需一次间接访问就可获得任一中断源的中断服务程序的入口地址,中断响应快速。8086/8088CPU有两类中断:*内部中断 由执行中断指令或特殊事件引起;*外部中断 由外围设备接口向CPU的中断请求引脚INTR和
12、NMI发出中断请求信号而引起的。,2023/6/10,微机原理及应用,25,二、8086/8088的中断系统,1、8086/8088的中断指令2、8086/8088的中断分类3、中断向量表4、8086/8088中断处理过程,2023/6/10,微机原理及应用,26,1、8086/8088的中断指令,(1)中断指令指令格式:INT n;n=0255,中断类型码指令操作:SP2 SP(修改堆栈指针),FR入栈,IF=0(中断标志置0,关中断,CPU不响应可屏蔽中断),TF=0(陷阱标志,TF0,CPU正常执行程序),SP2 SP(修改堆栈指针),CS入栈SP2 SP(修改堆栈指针),IP入栈 n4
13、 IP n4+2 CS,2023/6/10,微机原理及应用,27,1、8086/8088的中断指令,中断向量就是中断服务程序的入口地址;中断类型码 n4 即为该中断向量的存放地址;低字是IP,高字是CS,CPU取出CS和IP,转去执行中断服务程序。INT n 指令除了使IF0和TF0,对其他标志位没有影响;INT指令(即n=3),称为断点中断指令,用于软件调试。,2023/6/10,微机原理及应用,28,1、8086/8088的中断指令,(2)溢出中断指令指令格式:INTO;与INT 4等价指令操作:溢出中断指令用于带符号数加减法运算后,由于运算溢出而产生中断。通常,写在一条算术运算指令后:若
14、运算结果使OF=1,进入中断类型码为4的中断;否则,按顺序执行下一条指令。,n4 0010H,中断向量存放地址为:,2023/6/10,微机原理及应用,29,1、8086/8088的中断指令,(3)中断返回指令指令格式:IRET指令操作:IP,CS,FR依此出栈,SP+6SP 所有中断服务程序,无论是软件中断,还是硬件中断,最后执行的指令一定是IRET,用以退出中断,返回断点。,2023/6/10,微机原理及应用,30,2、8086/8088的中断分类,8086/8088的中断系统可以处理256种不同的中断。所有可能产生的中断源有:可屏蔽中断INTR、非屏蔽中断NMI、指令中断INT n和特定
15、条件下的中断,分为两类:,内部中断,外部中断,2023/6/10,微机原理及应用,31,2、8086/8088的中断分类,内部中断 CPU不是通过外部中断请求而是通过内部逻辑进入中断,调用相应的中断服务程序,是CPU自启动的中断。除单步中断外,所有内部中断为非屏蔽型的。内部中断主要用于解决程序运行中发生的一些意外情况、程序调试、用户定义的中断或者调用系统提供的一些标准中断服务程序。(1)除法出错中断(类型0);(2)单步中断(类型1);(3)断点中断(类型3);(4)溢出中断(类型4);(5)软件中断,返回,2023/6/10,微机原理及应用,32,2、8086/8088的中断分类,内部中断,
16、(1)除法出错中断(类型0)CPU在执行触发指令DIV和IDIV时,若发现除数为0,或商超过了寄存器所能表达的范围,就立即产生一个类型为0的内部中断,CPU转入除法错误中断处理程序。注意:此中断是由CPU自身产生,并没有对应的中断指令。,2023/6/10,微机原理及应用,33,2、8086/8088的中断分类,内部中断,(2)单步中断(类型1)此中断也是由CPU自身产生,没有对应的中断指令,它是由CPU对状态标志寄存器中的陷阱标志TF的测试而引起的。TF1,自动单步中断,用于程序调试。,2023/6/10,微机原理及应用,34,2、8086/8088的中断分类,内部中断,(3)断点中断(类型
17、3)执行INT指令就产生一个类型为3的内部中断,称为断点中断。和单步中断类似,用于程序调试。,2023/6/10,微机原理及应用,35,2、8086/8088的中断分类,内部中断,(4)溢出中断(类型4)溢出中断是由CPU执行一条INTO指令实现的:当OF1时,执行INTO就会进入类型码为4的内部中断;否则,按顺序执行。,2023/6/10,微机原理及应用,36,2、8086/8088的中断分类,内部中断,(5)软件中断 当执行INT n指令时,形成中断,类型码由指令提供。从功能上来说,类似于调用子程序,但入口地址在中断向量表里。,2023/6/10,微机原理及应用,37,2、8086/808
18、8的中断分类,外部中断 通过外部的硬件产生,由送至CPU引脚NMI和INTR上的信号引起中断。分为两类:(1)非屏蔽中断(n=2)一旦在NMI引脚有中断请求,CPU立即响应。,返回,2023/6/10,微机原理及应用,38,2、8086/8088的中断分类,(2)可屏蔽中断,从INTR脚引入,必须满足IF=1,且没有非屏蔽中断,CPU可以响应中断。中断请求信号是由电平触发,必须保存到CPU响应中断请求后才能撤除。中断允许标志IF的标志,可由指令设置:STI 开中断,将IF置1;CLI 关中断,将IF置0。当系统复位,或CPU响应中断后,都使IF置0。,2023/6/10,微机原理及应用,39,
19、3、中断向量表,中断向量即中断服务程序的入口地址,用两个字表示,低字是IP,高字是CS。将所有中断源的中断向量集中存储在内存的指定空间内,这样一个指定的存储区称为中断向量表;8086/8088的中断类型码用8位二进制表示,共有从n=0FFh,256个中断向量;中断向量表建立在内存空间最低1K地址;地址范围:00000H 003FFH(即CS=0000H)。注意:中断类型码只能决定存放中断向量的地址,并不能决定中断向量本身和中断服务程序的功能。,2023/6/10,微机原理及应用,40,3、中断向量表,在IBMPC/XT机中,n=40H0FFH,可以供用户设置中断向量。向中断向量表中写入中断向量
20、,就是中断向量表的设置。(1)使用INT 21H(2)用传送指令,2023/6/10,微机原理及应用,41,(1)使用INT 21H,设置中断向量,操作步骤:AH中预置功能号,AH=25H;AL中预置要设置的中断类型码;DS:DX中预置中断服务程序的入口地址;(DS内是段地址,DX内是偏移地址)执行INT 21H 例题,2023/6/10,微机原理及应用,42,使用INT 21H,设置中断向量,设中断服务程序的入口地址标号为INTSUB,中断类型码为40H,编写程序段设置中断向量。解:PUSH DS;将DS入栈,保存DS MOV DX,OFFSET INTSUB;取INTSUB的偏移地址 MO
21、V AX,SEG INTSUB;取INTSUB的段基址 MOV DS,AX;段基址送DS MOV AL,40H;送中断类型码 MOV AH,25H;送功能号 INT 21H;系统功能调用 POP DS;恢复DS,2023/6/10,微机原理及应用,43,用传送指令设置中断向量,设中断服务程序的入口地址标号为INTSUB,中断类型码为40H,编写程序段设置中断向量。解:数据段 DATA SEGMENT AT 0000;设置数据段DATA段;从最低内存开始 ORG 100H;确定中断向量的位置在;40H4=100HINT_SUB DW 2DUP(?);预留两字内存 DATA ENDS,2023/6
22、/10,微机原理及应用,44,用传送指令设置中断向量代码段,CODE SEGMENT CLI;设置IF=0,关中断 PUSH DS;DS入栈 MOV AX,DATA MOV DS,AX;取DATA的段基址 MOV INT_SUB,OFFSET INTSUB;取INTSUB的偏移;地址送到INT_SUB MOV INT_SUB+2,SEG INTSUB;取INTSUB的段基址;送到INT_SUB+2 POP DS;恢复DS STI;设置IF=1,开中断CODE ENDS,2023/6/10,微机原理及应用,45,4、8086/8088的中断处理过程,8086/8088中断处理过程包含:中断请求、
23、中断排队、中断响应、中断服务和中断返回。讨论:(1)中断响应条件(2)中断处理顺序(3)中断类型码的获取(4)中断响应过程,2023/6/10,微机原理及应用,46,(1)中断响应条件,任何一种中断,都要待CPU执行完当前指令后方能响应中断。当CPU执行LOCK时,要等后面的指令完成后才能响应中断;设置段寄存器内容的指令和下条指令之间不允许中断;在等待指令和重复串操作指令执行过程中,可响应中断,但必须在一个基本操作完成以后。当上述情况满足后,有内部中断、NMI、INTR(且IF1),CPU将暂时终止现行程序,进入中断响应。,2023/6/10,微机原理及应用,47,(2)中断处理顺序,中断处理
24、顺序即按中断优先权从高到低的排队顺序对中断源进行响应。8086/8088系统的中断处理次序如下:除法错误中断、溢出中断、INT n;NMI(非屏蔽中断);INTR(可屏蔽中断,需判断IF1?);单步中断。,2023/6/10,微机原理及应用,48,(2)中断处理顺序,当CPU进入中断响应时,保护FR,TF送暂存TEMP,然后清除IF和TF,以保护本中断服务不被可屏蔽中断打断;中断返回时,FR恢复;NMI的请求拥有最高优先权,需要立即处理;没有NMI,查看TEMP,以确定是否单步执行?一个中断被响应,CPU进入中断服务程序;在中断服务程序中,设置了开中断,即设置IF1,则不但可以响应NMI,也可
25、响应优先权更高的INTR;多个中断同时发生,按优先权从高到低响应。,2023/6/10,微机原理及应用,49,(3)中断类型码的获取,8086/8088的中断系统是根据中断类型码从中断向量表中取得中断服务程序的入口地址的。专用中断0 4,由硬件逻辑电路自动提供;INT n指令的第二字节为中断类型码,因而软件中断指令是从指令中直接获得;外部可屏蔽中断由外部硬件电路在中断响应时向CPU提供中断类型码。,2023/6/10,微机原理及应用,50,(4)中断响应过程,2023/6/10,微机原理及应用,51,(4)中断响应过程,INTR被响应时,CPU实际执行的过程如下:CPU取得中断类型码后,左移两
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中断 系统 控制器
链接地址:https://www.31ppt.com/p-5170592.html