第07章中断控制技术ppt课件.pptx





《第07章中断控制技术ppt课件.pptx》由会员分享,可在线阅读,更多相关《第07章中断控制技术ppt课件.pptx(209页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、汇编语言与微机接口1第7章 中断控制技术第第7章章 中断控制技术中断控制技术中断系统概述8086中断系统中断控制器8259A8259A的应用234总目录总目录137.1.1 中断基本概念7.1.2 中断过程7.1.3 中断优先权中断系统概述4中断主程序中断服务子程序断点中断识别中断接口中断类型码中断源 7.1.1 中断的基本概念现场中断向量表5 当某事件发生时,为了对该事件进行处理,CPU中止现行程序的执行,转去执行处理该事件的程序(称中断处理程序或中断服务程序)。待中断服务程序执行完毕,再返回断点继续执行原来的程序,这个过程称为中断。中断处理主程序KK 1返回N m 7.1.1 中断的基本概
2、念6中断方式下,CPU无需完全服务于某个外设,效率高。71.中断中断指CPU正在执行某程序的过程中,由于出现了某些异常或外设提出了某种请求。CPU暂暂停停当前程序,转去转去处理异常或外设请求的程序。执行完后再返回返回原来被终止的程序处继续执行。该过程称为中断。2.主程序主程序未发生中断时,CPU正在执行的程序称为主程序。83.中断服务程序中断服务程序 ISR处理中断事件的程序,又称中断子程序。不同的中断对应不同的ISR。4.断点断点中断时,主程序中被终止指令的下一条指令的地址下一条指令的地址CPU转去执行ISR时,断点被压入栈压入栈中进行保护;ISR执行完毕后,CPU通过出栈出栈操作从栈顶获得
3、中断断点,确保能返回到主程序处继续执行。9是指CPU转去执行中断服务程序前的运行状态,包括CPU内部各寄存器、断点地址以及标志寄存器等。10引起中断的原因或发出中断请求的来源,称为中断源。一般的输入、输出设备:KB 打印机数据通道中断源:硬盘 光驱 U盘实时时钟:控制中使用故障源:为调试而设置的中断源11内部中断内部中断:在CPU的内部产生。例:CPU执行程序时遇到的特殊情况,如:除法错。外部中断外部中断:在CPU的外部产生。例:外设提出的中断,如电源故障。7. 中断类型号中断类型号微机系统中有多个中断源。为便于区分,为每个中断源分配一个编号编号,即中断类型号。128. 中断接口中断接口当中断
4、源向CPU发中断请求时,需由一个电路来进行管理管理,如:接收中断请求、屏蔽/打开中断请求、中断优先级排队、中断嵌套和中断结束等。实现中断管理的逻辑电路逻辑电路称为中断接口。本章使用8259A可编程中断控制器对系统的中断进行管理。139. 中断识别中断识别指CPU确定确定哪一个中断源发出中断请求的过程。目的目的:最终形成该中断源所对应的中断服务程序的入口地址入口地址,实现程序的转移。中断识别的2种方法:查询法查询法:采用软件或硬件查询技术来确定发出中断请求的中断源。硬件法硬件法:由可编程中断控制器来提供中断类型号。1410. 中断向量和中断向量表中断向量和中断向量表中断向量:指中断服务程序的入口
5、地址入口地址。每个ISR都有一个确定确定的入口地址。入口地址 = 段基址段基址CS : 偏移地址偏移地址IP,共4个字节。中断向量表:将系统中所有的中断向量集中起来将系统中所有的中断向量集中起来,按中断类型号从小到大的顺序按中断类型号从小到大的顺序存放在内存某区域。该存储区域称为中断向量表。PC机中共有256个中断(0255),每个中断向量占4个字节,共占1KB的存储区域。用 000003FFH 的内存单元存储中断向量表。1516若有若有更高级别的新中断源更高级别的新中断源发出发出请求,且新中断源请求,且新中断源满足响应条件满足响应条件,则,则CPU中止当前的中断服务程序,转而响应高级中止当前
6、的中断服务程序,转而响应高级中断。这种多级(重)中断的处理方式称中断。这种多级(重)中断的处理方式称为为“嵌套嵌套”。11.中断嵌套:17中断嵌套中断嵌套 主程序主程序外设1中断服务程序外设1中断服务程序外设2中断服务程序外设2中断服务程序IRETIRET外设1外设1中断请求中断请求外设2外设2中断请求中断请求响应中断1响应中断1响应中断2响应中断2中断返回中断返回中断返回中断返回18CPU执行流程中断服务程序1非预料事件1中断服务程序2非预料事件2新到来的中断应比原中断的优先级高;19中断嵌套必须具备的几个条件中断嵌套必须具备的几个条件l正处于响应状态的中断服务程序中,应开放总正处于响应状态
7、的中断服务程序中,应开放总中断(中断(IF位置位置1)l新中断应具有比原中断有新中断应具有比原中断有高的优先级;高的优先级;同级或同级或低级均不能嵌套低级均不能嵌套l为保护各级中断服务程序的数据不被破坏,所为保护各级中断服务程序的数据不被破坏,所有服务程序中均应有有服务程序中均应有保护现场、恢复现场保护现场、恢复现场的指的指令令l每个中断服务程序末尾必须有每个中断服务程序末尾必须有IRET指令指令以示以示结束,从而返回被中断的程序地址处。结束,从而返回被中断的程序地址处。20。中断屏蔽标志系统在处理优先级别比较高的中断请求时,不会理睬后来的级别较低的中断请求。12.中断屏蔽217.1.2 中断
8、过程中断过程22 从中断源请求请求中断到完成ISR后返回返回主程序的过程,称为中断过程。包含4个阶段。1.中断源请求中断中断源请求中断u外设发出中断请求时。中断接口电路需设置中断请求触发器中断请求触发器。保持保持外设的中断请求信号,直到CPU响应该中断后才清除它。中断接口电路应设置中断屏蔽寄存器中断屏蔽寄存器。CPU可通过对其进行设置,使得某些中断源的中断请求不能提交到CPU2324由于同一时刻可能会有多个中断源同时请求中断服务,因此接口电路需对这些中断源进行优先级优先级判别判别和优先级排队优先级排队。这个过程称为中断判优。2.中断判优中断判优中断优先级中断优先级,是为使系统能及时响应并处理发
9、生的所有中断,系统根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干个级别,称作中断优先级。CPU按照优先级的高低顺序来响应中断。253.中断响应中断响应收到中断请求后,若CPU满足响应条件,则进入中断响应周期。CPU响应中断的条件条件:CPU当前指令执行结束。没有更高级的中断请求在执行。CPU处于开中断状态 (IF=1)。可用指令改变IF的状态:STI开中断;CLI关中断。26中断响应及处理过程示意图中断响应周期需完成的操作(CPU硬件自动完成)清IF和TF单步陷阱标志,以免在响应过程中被新的中断源中断,破坏了当前中断处理的现场。将标志寄存器FLGAS和中断断点 (CS:IP) 压栈保
10、存。查找中断向量表,获得ISR的入口地址,转去执行ISR。27将将FLAGS和断点地址压栈和断点地址压栈IPLIPHCSLCSHFLAGLFLAGHSP进入中断服务程序时284.中断服务中断服务CPU转入ISR后,需做以下几件事情:保护现场保护现场:ISR将要用到的寄存器压栈压栈,以免其数据破坏。开中断开中断:以便在执行ISR时,能响应更高级的中断请求。中断处理中断处理:处理中断请求所要求的操作。关中断关中断:保证在恢复现场时不被新的中断打断。恢复现场恢复现场:在ISR结束前,执行出栈出栈操作,恢复各寄存器的内容,以便主程序正确执行。开中断开中断:保证返回主程序后仍能响应中断。中断返回中断返回
11、:ISR的最后一条指令为IRET,它将IP、CS和FLAGS的内容依次弹出,以便恢复到主程序的断点处。297.1.3 中断优先权中断优先权30l多个中断源产生中断,多个中断源产生中断,CPUCPU首先为谁服务?首先为谁服务?中断优先级排队问题。中断优先级排队问题。 1、中断优先权概念u中断优先级控制要处理两种情况:对同时产生的中断对同时产生的中断:应首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则处理;对非同时产生的中断对非同时产生的中断:低优先级别的中断处理程序允许被高优先级别的中断源所中断即允许中断嵌套。31软件查询方法简单硬件方法专用硬件方法中断优先级的控制方法:32在中
12、断服务程序的开始部分安排一段查询程序在中断服务程序的开始部分安排一段查询程序,通过软件查询,通过软件查询“中断寄存器中断寄存器”的状态。的状态。查询的顺序反映了各个中断源的优先权的高低查询的顺序反映了各个中断源的优先权的高低。显然,。显然, 最先查询的外设,其优先权级别最最先查询的外设,其优先权级别最高。高。 2、软件查询方式33软件优先权查询流程图 中断程序入口 Y N Y N Y N保护现场是A设备是B设备是C设备恢复现场开中断,返回A中断服务程序B中断服务程序C中断服务程序34优点:节省硬件,优先权安排灵活; 缺点:查询需要耗费时间, 在中断源较多的情况下,查询程序较长,可能影响中断响应
13、的实时性。软件查询方法3536+5V 外设 +5V +5V +5V +5V +5V +5V +5V 外设 外设 外设 外设 外设 外设 外设 中断寄存器中断请求触发器INTR37INTER PROC PUSH AXPUSH BX PUSH CXPUSH DX ;现场保护STI ;开中断用软件查询的程序例子:38MOV DX, 0100HIN AL, DX ;查询SHR AL,1 ;寄存器逻辑右移1JC SERV_A;为1则执行A服务程序SHR AL,1 ;寄存器逻辑右移1JC SERV_B;为1则执行B服务程序. SHR AL,1;寄存器逻辑右移1JC SERV_H;为1则执行H服务程序JMP
14、DONE用软件查询的程序例子:39.SERV A ;A服务程序JMPDONE .SERV B;B服务程序JMPDONE.SERV_H;H服务程序JMPDONE40DONE:CLI ;关中断 POP DX ;恢复现场 POP CX POP BX POP AX STI ;开中断 IRET ;中断返回原断点INTER ENDP返回本节41INTAinCPUINTAINTR外设1外设2外设接口1菊花链逻辑电路外设接口2外设3外设接口31菊花链逻辑电路菊花链逻辑电路IREQIREQIREQ中断确认INTAinINTAin中断确认中断确认 3、菊花链中断优先权排队42菊花链逻辑电路INTAinIREQIN
15、TR&=1 1INTAoutDB三态门中断向量码E外设接口中断确认菊花链逻辑电路431 无0 有中断响应INTAINTR中断请求1 有0 无1 封锁后一级0 开放后一级接口1设备1接口2设备2 优先级由设备的位置决定,越靠近CPU的设备其优先级越高。44每一个8259A芯片都能直接管理8级中断最多可以用9片8259A芯片级连,由其构成级连机构可以管理64级中断。Intel 8259A是可编程中断控制器可用于管理Intel 8080/8085、8086/8088、80286/80386的可屏蔽中断 4、专用硬件中断优先权排队45典型的中断控制器结构(课本典型的中断控制器结构(课本P170 图图7
16、-12)INTAINT中断请求寄存器中断屏蔽寄存器数据总线缓冲器IR0IR7读/写控制逻辑级联缓冲器比较器优先级管理逻辑电路当前中断服务寄存器控制逻辑46包括的主要部件:包括的主要部件: 中断请求寄存器IRR保存8条外界中断请求信号IR0IR7的请求状态Di位为1表示IRi引脚有中断请求;为0表示无请求 中断屏蔽寄存器IMR保存对中断请求信号IR的屏蔽状态Di位为1表示IRi中断被屏蔽(禁止);为0表示允许 当前中断服务寄存器ISR保存正在被8259A服务着的中断状态Di位为1表示IRi中断正在服务中;为0表示没有被服务 优先级管理逻辑电路(优先级裁决器) 判断中断请求的优先级高低477.2
17、8086中断系统中断系统48 Intel80X86系列微机有一个灵活的中断系统,可以处理256个不同的中断源,每个中断源都有相应的中断类型码(0255)供CPU识别。 中断源可以来自CPU外部,也可以来自CPU内部,可分成两大类: 硬件中断 软件中断 7.2.1 外部中断49 8086/8088中断分类 INTn指令(软件中断)中断逻辑INT3指令INTO指令单步中断除数为0中断非屏蔽中断请求中断控制系统(8259A)硬件中断可屏蔽中断请求NMIINTR软件中断50 7.2.1 外部中断(续)NMI NMI 非屏蔽中断非屏蔽中断INTR INTR 可屏蔽中断可屏蔽中断p由由NMI引脚出现中断请
18、求信号产生的中断称引脚出现中断请求信号产生的中断称为非屏蔽中断请求,它不受中断允许标志为非屏蔽中断请求,它不受中断允许标志IF的限制。的限制。p其中断类型码为其中断类型码为2。p当当NMI引脚上出现上升沿触发时,表示非屏引脚上出现上升沿触发时,表示非屏蔽中断请求信号有效,蔽中断请求信号有效,CPU内部会把该信号内部会把该信号锁存起来,但要求该信号的有效高电平持续锁存起来,但要求该信号的有效高电平持续2个时钟周期以上。个时钟周期以上。51 7.2.1 外部中断(续)NMI NMI 非屏蔽中断非屏蔽中断INTR INTR 可屏蔽中断可屏蔽中断p从从CPU的的INTR引脚上引入的中断为可屏蔽中引脚上
19、引入的中断为可屏蔽中断。断。INTR信号是高电平触发的。可屏蔽中断信号是高电平触发的。可屏蔽中断受中断标志受中断标志IF的影响。的影响。p只有在只有在IF=1的情况下,的情况下,CPU才会在执行当前才会在执行当前指令后响应可屏蔽中断请求信号。指令后响应可屏蔽中断请求信号。 p如果如果IF=0,即使中断源有中断请求,即使中断源有中断请求, CPU也不会响应,也称为中断被屏蔽。也不会响应,也称为中断被屏蔽。52 软件中断是软件中断是CPUCPU根据软件的某条指令或者软件根据软件的某条指令或者软件对标志寄存器的某个标志位的设置而产生的。对标志寄存器的某个标志位的设置而产生的。由于它与外部硬件电路完全
20、无关,故也称为内部中断。在80X86系统中,内部中断主要有以下几种: 7.2.2 内部中断除法出错中断0型中断单步中断1型中断断点中断3型中断溢出中断4型中断指令中断n型中断53除法出错中断0号中断。 当执行除法指令时, 若发现除数为0或商超过了机器所能表达数的范围,则立即产生一个中断类型码为0的内部中断, 该中断称为除法出错中断。一般该中断的服务处理都由操作系统安排。 54单步中断1号中断。 若TF=1,则CPU处于单步工作方式,即每执行完一条指令之后就自动产生一个中断类型码为1的内部中断,使得指令的执行成为单步执行方式。 单步执行方式为系统提供了一种方便的调试手段,成为能够逐条指令地观察系
21、统操作的一个窗口。如DEBUG中的跟踪命令,就是将标志TF置1,进而去执行一个单步中断服务程序,以跟踪程序的具体执行过程,找出程序中的问题或错误所在。 55 断点中断3号中断。 56 插入INT 3指令之处便是断点。 在断点中断服务程序中,可显示有关的寄存器、存储单元的内容,以便程序员分析到断点为止程序运行是否正确。 57 溢出中断4号中断。 若算法操作结果产生溢出(OF=1),则执行INTO指令后立即产生一个中断类型码为4的中断。4型中断为程序员提供了一种处理算术运算出现溢出的手段,它通常和算术指令功能配合使用。 58注意指令中断n型中断。 指令INT n的执行也会引起内部中断,其中断类型码
22、由指令中的n指定。该指令就称为软中断指令,通常指令的代码为两个字节代码,第一字节为操作码,第二字节为中断类型码。 MOVAH ,01H INT21H ; CD 21 内部中断的类型码是预定好的或包含在软中断指令中,除单步中断外,其他的内部中断不受状态标志影响,中断后的服务处理须由用户定义。 59 7.2.3 中断向量表中断类型码中断向量表指针中断向量表60实际上就是中断处理程序的入口实际上就是中断处理程序的入口地址(段地址、偏移地址)。地址(段地址、偏移地址)。p 中断向量表:中断向量表:通常在内存的最低通常在内存的最低1 KB1 KB(00000H00000H003FFH003FFH)建立一
23、个中断向量表。)建立一个中断向量表。用于存放中断向量。用于存放中断向量。p 分成256个组,每组占4个字节,用以存放256个中断向量。 7.2.3 中断向量表61p 每个中断向量占每个中断向量占4 4个字节。个字节。 前前2 2个字节个字节:存放中断处理程序入口地址的偏移量偏移量(IP,16位), 后后2 2个字节:个字节:存放中断处理程序入口地址的段地址段地址(CS,16位)。p 按照中断类型码的序号,对应的中断向量在中断向量表中按规则顺序排列。 如图: 7.2.3 中断向量表62类型0中断入口(除法出错)类型1中断入口(单步中断)类型2中断入口(NMI)类型3中断入口(断点中断)类型4中断
24、入口(溢出中断)类型5中断入口类型31中断入口类型32中断入口类型255中断入口1587000000400800C01001407F0803FC供用户使用系统备用专用中断IPCSIPCSIPCS 中断向量表 63 中断类型码与中断向量在向量表中的位置之间的对应关系为: 中断向量表地址指针地址指针=中断类型码中断类型码4 例如,中断类型码为20H的中断源对应的中断向量存放在0000:0080H(420H=80H)开始的4个单元中。64问题1 如果在00080H00083H这4个单元中存放的内容分别为10H、20H、 30H、 40H,那么,在该系统中, ( )号中断所对应的中断向量为( ) 。
25、20H4030H:2010H0000:005CH70563412问题2 若系统中对应于中断类型码为17H的中断处理程序存放在1234:5670H开始的内存区域中,则对应于17H类型码的中断向量存放在( )开始的4个字节中。这4个单元中的值分别为:( H、 H、 H、 H)。 65 80X86中的各种中断响应过程是不相同的, 其主要区别在于如何获取相应的中断类型码。获取中断类型码之后无论那种中断类型,其后的中断响应过程和处理过程都是一样。 (1)中断类型码的获取方式中断类型码的获取方式(2)可屏蔽中断的响应过程可屏蔽中断的响应过程(3)可屏蔽中断的处理过程可屏蔽中断的处理过程 7.2.4 中断响
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 07 中断 控制 技术 ppt 课件

限制150内