【教学课件】第六章中断与中断控制.ppt
《【教学课件】第六章中断与中断控制.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第六章中断与中断控制.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章第六章 中断与中断控制中断与中断控制6.1 6.1 中断的基本概念中断的基本概念6.2 6.2 中断源的识别与判优中断源的识别与判优6.3 82596.3 8259A A可编程中断控制器可编程中断控制器6.4 804866.4 80486CPUCPU的中断机理的中断机理6.5 806.5 80X86X86微机的硬件中断控制逻辑微机的硬件中断控制逻辑6.1 6.1 中断的基本概念中断的基本概念q中断与中断类型中断与中断类型q中断优先级与中断嵌套中断优先级与中断嵌套qCPU响应中断的条件响应中断的条件q中断处理过程中断处理过程6.1.1 6.1.1 中断与中断类型中断与中断类型中断的最初定义
2、:中断的最初定义:作为计算机与外部设备交换信息的作为计算机与外部设备交换信息的一种同步控制方式,中断是指执行当前一种同步控制方式,中断是指执行当前程序的过程中,由于某种随机出现的外程序的过程中,由于某种随机出现的外设请求,使设请求,使CPUCPU暂停暂停(即中断即中断)正在执行正在执行的程序而转去执行为外设服务的程序;的程序而转去执行为外设服务的程序;当服务完毕后,当服务完毕后,CPUCPU再返回到暂停处再返回到暂停处(即即断点断点)继续执行原来的程序。继续执行原来的程序。6.1.1 6.1.1 中断与中断类型中断与中断类型 现在所谓的中断是一种广义的中断概现在所谓的中断是一种广义的中断概念,
3、它实质上应包括两大类:念,它实质上应包括两大类:q硬中断硬中断:由:由CPUCPU外部事件引起的中断,又外部事件引起的中断,又 叫外中断。简称中断。叫外中断。简称中断。非屏蔽中断非屏蔽中断(NMI):NMI):一种为外部紧急请求提供服务一种为外部紧急请求提供服务的中断,不受的中断,不受CPUCPU内部的中断允许标志内部的中断允许标志IFIF的屏蔽;的屏蔽;可屏蔽中断可屏蔽中断(INTR):INTR):CPUCPU用来响应各种异步的外用来响应各种异步的外部硬件中断的最常用方法,受部硬件中断的最常用方法,受CPUCPU内部的内部的IFIF的控制。的控制。q软中断:软中断:由由CPUCPU内部原因内
4、部原因(指令或异常指令或异常)引起引起 的中断又叫内中断,统称为异常。的中断又叫内中断,统称为异常。失效失效(Fault)Fault)-在引起失效的指令启动之后,执行在引起失效的指令启动之后,执行之前被检测到,且在处理异常的程序执行完后退回之前被检测到,且在处理异常的程序执行完后退回该条指令重新启动并执行完毕;该条指令重新启动并执行完毕;自陷自陷(Trap)Trap)-在产生自陷的指令执行完后才被报告,在产生自陷的指令执行完后才被报告,且其中断服务程序结束后是返回到主程序中该条指令且其中断服务程序结束后是返回到主程序中该条指令的下一条指令。的下一条指令。终止终止(Abort)Abort)-对引
5、起异常的指令的确切位置无法确对引起异常的指令的确切位置无法确定的异常。这类异常用于报告严重错误,一般无法继定的异常。这类异常用于报告严重错误,一般无法继续运行,只能终止,而由中断服务程序重新启动续运行,只能终止,而由中断服务程序重新启动OSOS并并重建系统表格。重建系统表格。6.1.1 6.1.1 中断与中断类型中断与中断类型6.1.2 6.1.2 中断优先级与中断嵌套中断优先级与中断嵌套 当多个中断源同时申请中断时,当多个中断源同时申请中断时,CPUCPU同同一时刻只能响应一个中断源的申请,应按一时刻只能响应一个中断源的申请,应按各中断源的轻重缓急程度来确定它们的优各中断源的轻重缓急程度来确
6、定它们的优先级别。先级别。中断嵌套是指在优先级已定的情况下,中断嵌套是指在优先级已定的情况下,低优先级的中断服务程序可以被高优先级低优先级的中断服务程序可以被高优先级的中断源所中断,等高优先级的中断服务的中断源所中断,等高优先级的中断服务程序结束后,再返回去执行被中断的低优程序结束后,再返回去执行被中断的低优先级中断服务程序。先级中断服务程序。6.1.2 6.1.2 中断优先级与中断嵌套中断优先级与中断嵌套中断嵌套示意图:中断嵌套示意图:1#中断请求中断请求原主程序原主程序1#中断服中断服务程序务程序2#中断请求中断请求2#中断服中断服务程序务程序3#中断请求中断请求3#中断服中断服务程序务程
7、序返回返回返回返回返回返回(中断优先级:(中断优先级:3#2#1#)嵌套的级数原则上不限,只取决于堆栈深度,嵌套的级数原则上不限,只取决于堆栈深度,实际上与要求的中断响应速度也有关。实际上与要求的中断响应速度也有关。响应响应响应响应响应响应6.1.3 6.1.3 CPUCPU响应中断的条件响应中断的条件 对中断源发出的中断请求是否响应,视对中断源发出的中断请求是否响应,视CPUCPU内中断和外中断有所不同:内中断和外中断有所不同:q对内中断请求,可在当前指令执行前或执行后直对内中断请求,可在当前指令执行前或执行后直 接转入中断周期,由内部硬件自动执行预定的操作;接转入中断周期,由内部硬件自动执
8、行预定的操作;q对外中断请求,通常必须满足以下条件才能响应:对外中断请求,通常必须满足以下条件才能响应:置位了中断请求触发器置位了中断请求触发器-每个中断源对应一每个中断源对应一 个,通过它来保持请求信号,直至中断响应。个,通过它来保持请求信号,直至中断响应。6.1.3 6.1.3 CPUCPU响应中断的条件响应中断的条件中断屏蔽触发器处于非屏蔽状态中断屏蔽触发器处于非屏蔽状态-在多中断在多中断 源系统中,为增加中断控制的灵活性,一般源系统中,为增加中断控制的灵活性,一般 为每个中断源都设置一个中断屏蔽触发器。为每个中断源都设置一个中断屏蔽触发器。具有中断屏蔽具有中断屏蔽 的中断接口的中断接口
9、AB15AB150 0DB7DB70 0RDRDWRWRINTRINTRCPUCPUAB7AB70 0地址地址译码译码地址地址译码译码数据总线数据总线AB7AB70 0&CSCS控制信号控制信号端口端口1 1R RQ QD DD DQ Q+5+5V V中断中断请求请求 中断中断屏蔽屏蔽 数据数据(中断源)(中断源)外设外设READYREADY数据数据端口端口CPUCPU内部是中断开放的内部是中断开放的-CPUCPU内部有中断允许内部有中断允许 触发器,只有当它为触发器,只有当它为1 1时才能响应外部中断。时才能响应外部中断。(STISTI指令就是起这种作用的,使指令就是起这种作用的,使IFIF
10、标志位置标志位置1)1)没有更高优先级别的中断请求正在被响应或没有更高优先级别的中断请求正在被响应或 正发出、正挂起。正发出、正挂起。CPUCPU正在执行的现行指令已经结束正在执行的现行指令已经结束-因为因为CPUCPU 一定是在每条指令执行完后才采样一定是在每条指令执行完后才采样INTRINTR线而线而 响应可能提出的中断请求。响应可能提出的中断请求。6.1.3 6.1.3 CPUCPU响应中断的条件响应中断的条件6.1.4 6.1.4 中断处理过程中断处理过程响应中断请求响应中断请求保护断点和现场保护断点和现场 开中断开中断中断服务中断服务恢复现场恢复现场 开中断开中断中断返回中断返回 关
11、中断关中断6.1.4 6.1.4 中断处理过程中断处理过程q保护断点和现场保护断点和现场 为使中断处理程序不影响被中断程序运行,为使中断处理程序不影响被中断程序运行,须首先将断点处的有关各寄存器内容和标志位须首先将断点处的有关各寄存器内容和标志位的状态压入堆栈保护起来,以便中断处理完毕的状态压入堆栈保护起来,以便中断处理完毕后能返回原程序,从断点开始正确执行。后能返回原程序,从断点开始正确执行。要保护的断点现场内容通常包括:要保护的断点现场内容通常包括:vCPUCPU的标志寄存器的标志寄存器(FR)FR)内容内容v代表断点地址的程序计数器代表断点地址的程序计数器PCPC内容或代码内容或代码 段
12、寄存器段寄存器CSCS和指令指针和指令指针(E)IPE)IP内容内容v中断处理程序中将用到的各中断处理程序中将用到的各CPUCPU内部寄存器内部寄存器 内容内容q开中断开中断 以便执行中断服务程序时,能响应更高级以便执行中断服务程序时,能响应更高级别的中断源请求。别的中断源请求。完成完成I/OI/O操作或异常事件处理,是整个中操作或异常事件处理,是整个中断处理程序的核心。断处理程序的核心。q中断服务中断服务q关中断关中断目的是保证在恢复现场时不被新的中断所打扰。目的是保证在恢复现场时不被新的中断所打扰。q恢复现场恢复现场 多数多数CPUCPU是用是用POPPOP指令把保存的断点信息从指令把保存
13、的断点信息从堆栈中弹出,以达到恢复现场的目的堆栈中弹出,以达到恢复现场的目的q中断返回中断返回 使断点地址送回程序计数器或使断点地址送回程序计数器或CSCS:(E)IP(E)IP,继续执行被中断的程序。继续执行被中断的程序。6.1.4 6.1.4 中断处理过程中断处理过程中断处理过程中断处理过程响应中断请求响应中断请求保护断点和现场保护断点和现场 开中断开中断中断服务中断服务恢复现场恢复现场 开中断开中断中断返回中断返回 关中断关中断 上述一般中断处理流程中是否每步工作都要做,上述一般中断处理流程中是否每步工作都要做,取决于具体的取决于具体的CPUCPU种类。种类。保护断点和现场保护断点和现场
14、中断服务中断服务恢复现场恢复现场中断返回中断返回6.26.2 中断源的识别与判优中断源的识别与判优 凡有多中断源存在时,都存在一个中凡有多中断源存在时,都存在一个中断源的识别与判优问题。断源的识别与判优问题。q如果如果CPUCPU或或CPUCPU模块提供了多根中断请求线,且多模块提供了多根中断请求线,且多于外部中断源数目,则由于它们之间的识别和判优于外部中断源数目,则由于它们之间的识别和判优已由芯片或模块内部逻辑按一定优先级算法已由芯片或模块内部逻辑按一定优先级算法(一般一般为固定优先级算法为固定优先级算法)设计好了,用户只需按要求将设计好了,用户只需按要求将不同中断源接至不同中断请求输入线上
15、即可。不同中断源接至不同中断请求输入线上即可。q如果系统只有一根中断请求线或者虽有多根中断如果系统只有一根中断请求线或者虽有多根中断请求线但仍比中断源数目少时,就需要多中断源合请求线但仍比中断源数目少时,就需要多中断源合用一根中断请求线,这种情况下就需要用户自己来用一根中断请求线,这种情况下就需要用户自己来设计中断源的识别与判优逻辑。设计中断源的识别与判优逻辑。6.2 6.2 中断源的识别与判优中断源的识别与判优q多中断源的识别与判优,要解决两大问题:多中断源的识别与判优,要解决两大问题:1)1)判别哪个中断请求源的优先权最高;判别哪个中断请求源的优先权最高;2)2)将程序转移到相应的中断处理
16、程序入口。将程序转移到相应的中断处理程序入口。完成这一任务的方法通常有两种:完成这一任务的方法通常有两种:v程序查询式识别与判优程序查询式识别与判优v中断向量式识别与判优中断向量式识别与判优程程序序查查询询式式识识别别与与判判优优 软件识别与判优方法。所需的硬件支持最软件识别与判优方法。所需的硬件支持最少,主要需要一个中断请求锁存器作为状态输少,主要需要一个中断请求锁存器作为状态输入口,以供入口,以供MPUMPU查询用。查询用。MPUMPU中断处中断处理器理器INTINTD7D7D6D6D0D0:IACKIACK11中断中断请求请求锁存锁存器器中断接口中断接口CSCSINT0INT0INT1I
17、NT1INT7INT70#=0#=I/OI/O1#=1#=I/OI/O7#=7#=I/OI/O 中断响应时,中断响应时,MPUMPU用软件程序读入中断请求锁存器状用软件程序读入中断请求锁存器状态,按确定的次序逐位查询,以识别中断请求源,当查到态,按确定的次序逐位查询,以识别中断请求源,当查到某位状态有效时,便转入相应某位状态有效时,便转入相应I/OI/O服务程序,为该外设服服务程序,为该外设服务。查询各位的次序就决定了各外设的中断优先级。务。查询各位的次序就决定了各外设的中断优先级。6.2 6.2 中断源的识别与判优中断源的识别与判优中断处理程序中断处理程序保护现场保护现场读中断请求状态读中断
18、请求状态N NN N恢复现场恢复现场Y Y7#7#I/OI/O请求?请求?7#7#I/OI/O服务程序服务程序Y Y6#6#I/OI/O请求?请求?6#6#I/OI/O服务程序服务程序N NY Y0#0#I/OI/O请求?请求?0#0#I/OI/O服务程序服务程序中断返回中断返回查询式中断流程图查询式中断流程图6.2 6.2 中断源的识别与判优中断源的识别与判优程程序序查查询询式式识识别别与与判判优优程序查询式识别与判优的优缺点:程序查询式识别与判优的优缺点:优点:优点:硬件简单,程序层次分明,只要改变程硬件简单,程序层次分明,只要改变程序中查询的顺序而不必改变硬件连接,序中查询的顺序而不必改
19、变硬件连接,即可方便地改变外设的中断优先即可方便地改变外设的中断优先级。级。缺点:缺点:中断源较多时,中断响应速度慢,中断源较多时,中断响应速度慢,CPUCPU使使用效率降低。用效率降低。6.2 6.2 中断源的识别与判优中断源的识别与判优程程序序查查询询式式识识别别与与判判优优中中断断向向量量式式识识别别与与判判优优 硬件识别与判优方法。主要用硬件电路对硬件识别与判优方法。主要用硬件电路对中断源进行优先级排队,并将程序引导到有关中断源进行优先级排队,并将程序引导到有关I/OI/O的中断服务程序入口。的中断服务程序入口。具体实现方案有菊花链优先级仲裁和并行具体实现方案有菊花链优先级仲裁和并行优
20、先级仲裁两种。优先级仲裁两种。MPUMPU中中断断处处理理器器数据总线数据总线(DB)DB)中断向量中断向量发生器发生器1中断向量中断向量发生器发生器2中断向量中断向量发生器发生器nIACKIACKIN1IN1OUT1OUT1OUT2OUT21#1#I/OI/O2#2#I/OI/On#I/On#I/OIN2IN2IN3IN3 INnINnIR1IR1IR2IR2IRnIRnINTINT中断请求线中断请求线每个中断请求源对应有一个向量发生器。每个中断请求源对应有一个向量发生器。6.2 6.2 中断源的识别与判优中断源的识别与判优并行优先级仲裁并行优先级仲裁 其核心部件是一个优先级编码器和各中断源
21、公用的中其核心部件是一个优先级编码器和各中断源公用的中断向量发生器。当断向量发生器。当IACKIACK有效时,中断向量发生器将把与最有效时,中断向量发生器将把与最高优先级中断请求源对应的中断向量号送上数据总线高优先级中断请求源对应的中断向量号送上数据总线DBDB。无论菊花链还是并行结构,当无论菊花链还是并行结构,当MPUMPU在中断响应周期中在中断响应周期中收到中断向量号后,便通过计算或查表得到中断向量收到中断向量号后,便通过计算或查表得到中断向量(即即中断服务程序入口地址中断服务程序入口地址),并自动进入和执行相应的中断,并自动进入和执行相应的中断服务程序。服务程序。6.2 6.2 中断源的
22、识别与判优中断源的识别与判优中中断断向向量量式式识识别别与与判判优优MPUMPU数据总线数据总线(DB)DB)IACKIACKINTINT中断向量发生器中断向量发生器优先级编码器优先级编码器n nIRIR0 0IRIR1 1中中断断处处理理器器 例如在例如在8086/8088/80186/802868086/8088/80186/80286微机中,都微机中,都在内存的最低在内存的最低10241024个字节专门建立了一个中断向个字节专门建立了一个中断向量表,用来存放量表,用来存放256256个中断向量,每个中断向量个中断向量,每个中断向量占用占用4 4字节,低字节,低2 2字节装中断服务程序入口
23、地址的字节装中断服务程序入口地址的偏移量,高偏移量,高2 2字节装其段基址。字节装其段基址。MPUMPU收到中断向量收到中断向量号号(8(8位位)后,乘以后,乘以4 4作为查表索引,即可查得对应作为查表索引,即可查得对应的中断向量,并将它装入的中断向量,并将它装入CS:IPCS:IP,从而控制程序从而控制程序转移到中断处理程序去执行。转移到中断处理程序去执行。6.2 6.2 中断源的识别与判优中断源的识别与判优中中断断向向量量式式识识别别与与判判优优 这种向量式中断结构的最大优点是中断响这种向量式中断结构的最大优点是中断响应速度快,应速度快,CPUCPU使用效率高,原因是其中断源识使用效率高,
24、原因是其中断源识别、判优和中断向量提供都是由硬件完成的。别、判优和中断向量提供都是由硬件完成的。实际中应用最多的典型中断控制器芯片有:实际中应用最多的典型中断控制器芯片有:vi8214-i8214-不可编程不可编程(8080(8080等等8 8位机中采用位机中采用)6.2 6.2 中断源的识别与判优中断源的识别与判优中中断断向向量量式式识识别别与与判判优优vi8259A-i8259A-可编程可编程(PCPC系列微机中广泛采用系列微机中广泛采用)6.3 82596.3 8259A A可编程中断控制器可编程中断控制器q内部结构与引脚功能内部结构与引脚功能q中断工作过程中断工作过程q应用编程应用编程
25、6.3.1 82596.3.1 8259A A的内部结构与引脚功能的内部结构与引脚功能D7D7D0D0数据总线数据总线缓冲器缓冲器RDRDWRWRA0A0CSCSCAS0CAS0CAS1CAS1CAS2CAS2SP/ENSP/ENICW1ICW1ICW2ICW2ICW3ICW3ICW4ICW4读写电路读写电路级联缓冲器级联缓冲器/比较器比较器初始化初始化命令寄命令寄存器组存器组内内部部总总线线中断中断服务服务寄存寄存器器(ISR)优先优先级分级分析器析器中断中断请求请求寄存寄存器器(IRR)INTAINTAIR0IR0IR1IR1IR2IR2IR7IR7中断屏蔽寄存器中断屏蔽寄存器(IMR)操
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 第六 中断 控制
限制150内