【教学课件】第7章中断技术.ppt
《【教学课件】第7章中断技术.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第7章中断技术.ppt(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7章章 中断技术中断技术7.1 中断的基本概念中断的基本概念n什么是中断什么是中断?n与生活场景的比较与生活场景的比较正在看书正在看书电话铃响电话铃响接电话接电话继续看书继续看书执行程序执行程序事件发生事件发生事件处理事件处理继续执行程序继续执行程序中断处理中断处理中断请求及响应中断请求及响应实际场景实际场景计算机计算机中断返回中断返回中断的定义中断的定义 nCPU执行程序时,由于发生了某种随机执行程序时,由于发生了某种随机的事件的事件(外部或内部外部或内部),引起,引起CPU暂时中暂时中断正在运行的程序,转去执行一段特殊断正在运行的程序,转去执行一段特殊的服务程序的服务程序(称为中断服务
2、程序或中断处称为中断服务程序或中断处理程序理程序),以处理该事件,该事件处理完,以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一后又返回被中断的程序继续执行,这一过程称为中断。过程称为中断。中断源中断源n引起引起CPU中断的事件中断的事件中断源。例如:中断源。例如:n外设外设请求输入输出数据,报告故障等请求输入输出数据,报告故障等n事件事件掉电、硬件故障、软件错误、非法操作、定时掉电、硬件故障、软件错误、非法操作、定时时间到等时间到等n中断源分为:外部中断、内部中断中断源分为:外部中断、内部中断n内部中断:内部中断:CPU内部执行程序时自身产生的中断内部执行程序时自身产生的中断n外
3、部中断:外部中断:CPU以外的设备、部件产生的中断以外的设备、部件产生的中断n 8086/8088的外部中断信号:的外部中断信号:INTR、NMInINTR可屏蔽中断请求,高电平有效,受可屏蔽中断请求,高电平有效,受IF标志的控标志的控制。制。IF=1时,执行完当前指令后时,执行完当前指令后CPU对它作出响应。对它作出响应。nNMI非屏蔽中断请求,上升沿有效,任何时候非屏蔽中断请求,上升沿有效,任何时候CPU都要响应此中断请求信号。都要响应此中断请求信号。为何计算机中要引入中断?为何计算机中要引入中断?n提高数据传输率;提高数据传输率;n避免了避免了CPU不断检测外设状态的过程,提不断检测外设
4、状态的过程,提高了高了CPU的利用率。的利用率。n实现对特殊事件的实时响应。如多任务系实现对特殊事件的实时响应。如多任务系统操作系统中:统操作系统中:n缺页中断n设备中断n各类异常n实时钟,。等中断过程中断过程n五个步骤:五个步骤:n中断请求n中断判优(有时还要进行中断源识别)n中断响应n中断服务n中断返回以下以外部中断外部中断为主介绍这五个步骤。1)中断请求)中断请求n外设接口(中断源)发出中断请求信号,送到外设接口(中断源)发出中断请求信号,送到CPU的的INTR或或NMI引脚;引脚;n中断请求信号:边沿请求,电平请求中断请求信号:边沿请求,电平请求例如,例如,NMI为边沿请求,为边沿请求
5、,INTR为电平请求为电平请求n中断请求信号应保持到中断被处理为止;中断请求信号应保持到中断被处理为止;nCPU响应中断后,中断请求信号应及时撤销。响应中断后,中断请求信号应及时撤销。n在在8086/8088系统中,外设的中断要经过系统中,外设的中断要经过8259A可编程中断控制器可编程中断控制器(PIC)的排队判优后向的排队判优后向CPU发出:发出:(I/O接口接口)PICCPU2.1)中断源识别)中断源识别n计算机中的中断源有很多,计算机中的中断源有很多,CPU必须识别是必须识别是哪一个设备产生中断。识别中断源有两个方哪一个设备产生中断。识别中断源有两个方法:法:n软件查询。将中断信号从数
6、据总线读入,用程序软件查询。将中断信号从数据总线读入,用程序进行判别,如教材图进行判别,如教材图7-3和图和图7-4。n中断矢量法。由中断源提供中断类型号,中断矢量法。由中断源提供中断类型号,CPU根根据类型确定中断源。(据类型确定中断源。(8086/8088即采用此种即采用此种方法)方法)2.2)中断判优)中断判优n多个中断源产生中断,多个中断源产生中断,CPU首先为谁服务?首先为谁服务?中断优先级排队问题。中断优先级排队问题。n中断优先级控制要处理两种情况:中断优先级控制要处理两种情况:n对同时产生的中断:应首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则处理;n对非同时产
7、生的中断:低优先级别的中断处理程序允许被高优先级别的中断源所中断即允许中断嵌套。n中断优先级的控制方法中断优先级的控制方法n硬件判优硬件判优链式判优、并行判优(中断向量法)链式判优、并行判优(中断向量法)n软件判优软件判优顺序查询中断请求,先查询的先服务(即先查询的优顺序查询中断请求,先查询的先服务(即先查询的优先级别高)先级别高)n通常将通常将中断判优中断判优与与中断源识别中断源识别合并在一起进行处理。合并在一起进行处理。nx86系统中,这项任务由系统中,这项任务由PIC和和CPU共同完成。共同完成。INTAinCPUINTAINTR外设外设1 1外设外设2 2外设接口外设接口1 1菊花链菊
8、花链逻辑电路逻辑电路外设接口外设接口2 2外设外设3 3外设接口外设接口3 31 1菊花链菊花链逻辑电路逻辑电路菊花链菊花链逻辑电路逻辑电路IREQIREQIREQ中断确认中断确认链式判优电路原理图(教材图链式判优电路原理图(教材图7-5)INTAinINTAin中断确认中断确认中断确认中断确认菊花链逻辑电路菊花链逻辑电路INTAinIREQINTR&=1 1INTAoutDB三态门中断向量码E外设接口外设接口中断确认中断确认菊花链菊花链逻辑电路逻辑电路3)中断响应)中断响应n在每条指令的最后一个时钟周期,在每条指令的最后一个时钟周期,CPU检测检测INTR或或NMI信号。若以下条件成立,则信
9、号。若以下条件成立,则CPU响应中断:响应中断:n当前指令执行完。对INTR,还应满足以下条件n当前指令是STI和和IRET,则下条指令也要执行完。n当前指令带有LOCK、REP等指令前缀时,则把它们看成一个整体,要求完整地执行完;n对INTR,CPU应处于开中断状态,即IF=1;n当前没有复位(RESET)和保持(HOLD)信号。n若NMI和 INTR 同时发生,则首先响应NMI。3)中断响应(续)中断响应(续)nCPU中断响应时,要做下述三项工作:中断响应时,要做下述三项工作:n向中断源发出INTA中断响应信号;n断点保护,包括CS、IP和PSW(FLAGS)。这主要是保证中断结束后能返回
10、被中断的程序。n获得中断服务程序首地址(入口)。如何得到中断处理程序的首地址?n固定入口法n中断向量法常用4)中断处理(中断服务)中断处理(中断服务)n中断服务子程序特点中断服务子程序特点n为”远”过程(类型为FAR)n要用IRET指令返回n中断服务子程序要做的工作中断服务子程序要做的工作n保护现场(PUSH regs)n开中断(STI)n进行中断处理 n恢复现场(POP regs)n中断返回(IRET)5)中断返回)中断返回n执行中断返回指令执行中断返回指令IRETnIRET指令将使CPU把堆栈内保存的断点信息弹出到IP、CS和FLAG中,保证被中断的程序从断点处能够继续往下执行。IPLIP
11、HCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG进入中断服务程序时中断返回后8088的中断系统的中断系统 n与中断有关的控制线为:与中断有关的控制线为:NMI、INTR、INTA#n8088系统的中断源系统的中断源n内部中断n除法溢出:类型号0,商大于目的操作数所能表达的范围时产生。n单步中断:类型号1,TF=1时产生(当前指令需执行完)n断点中断:类型号3,这是一个软件中断,即INT 3指令。n溢出中断:类型号4,这是一个软件中断,即INTO指令。n软件中断:即INT n指令,类型号n(0-255)。n外部中断n非屏蔽中断NMI:类型号2
12、,不可用软件屏蔽,CPU必须响应它。n可屏蔽中断INTR:类型号由PIC提供。IF=1时CPU才能响应。NMIINTR中断逻辑中断逻辑软件中断指令软件中断指令溢出中断溢出中断除法错除法错单步中断单步中断非屏蔽中断请求非屏蔽中断请求中断控中断控制器制器8259APIC8086/8088CPU8086/8088CPU内部逻辑内部逻辑断点中断断点中断8086/8088中断源类型中断源类型可可屏屏蔽蔽中中断断请请求求n43012中断源的识别中断源的识别n8088系统采用中断类型码来识别不同的中断系统采用中断类型码来识别不同的中断源,源,每个中断源都有一个与它相对应的中断每个中断源都有一个与它相对应的中
13、断类型码类型码。n溢出、断点、除法溢出、单步、非屏蔽中断的类型码为固定值固定值n软件中断的类型码由指令给出由指令给出n可屏蔽中断的类型码由由PIC给出给出nCPU响应响应INTR中断时,会产生两个中断响中断时,会产生两个中断响应总线周期应总线周期(教材图教材图6.24),要求,要求PIC在第在第2个个中断响应总线周期把中断类型码放到数据总中断响应总线周期把中断类型码放到数据总线上,供线上,供CPU读入。读入。中断向量表(中断向量表(IVT)n存放各类中断的存放各类中断的中断服务程序的入口地址中断服务程序的入口地址(段和偏移)(段和偏移)中断向量中断向量 n表的地址位于内存的表的地址位于内存的0
14、0000H003FFH,大,大小为小为1KB,共,共256个中断向量个中断向量n每个中断向量占用每个中断向量占用4Bytes,低字为段内偏移,低字为段内偏移,高字为段基址高字为段基址n根据中断类型号根据中断类型号获得中断服务程序入口的方获得中断服务程序入口的方法法:(n为为中断类型号中断类型号)n中断向量在中断向量在IVT中的存放地址中的存放地址4n中断向量表的初始化中断向量表的初始化n初始化初始化将中断服务程序的入口地址放入将中断服务程序的入口地址放入向量表向量表 例:中断类型码为例:中断类型码为48H的中断处理子程序的的中断处理子程序的名字为名字为int48h,编写程序段将该中断处理子,编
15、写程序段将该中断处理子程序的入口地址放入向量表。程序的入口地址放入向量表。中断向量表的初始化中断向量表的初始化 CLI MOV AX,0 MOV DS,AX MOV SI,48H*4 MOV AX,OFFSET int48h MOV SI,AX MOV AX,SEG int48h MOV SI+2,AX STI8086/8088 CPU的中断响应过程的中断响应过程 n内部中断响应过程内部中断响应过程 n无INTA#周期n中断类型码固定或由指令给出n响应过程主要步骤:PUSH FLAG IF=0 PUSH CS PUSH IP 取中断向量送入取中断向量送入IP和和CS中断响应过程(续)中断响应过
16、程(续)n外部中断响应过程外部中断响应过程n非屏蔽中断,与内部中断响应过程类似 n可屏蔽中断(时序见教材图6.24)INTA#(1),),PIC进行优先级排队判优处理进行优先级排队判优处理 INTA#(2),),PIC把中断类型码放到把中断类型码放到DB上,上,CPU读入读入 PUSH FLAG IF=0 PUSH CS PUSH IP 取中断向量送入取中断向量送入IP和和CS与内部中断一样与内部中断一样8088系统中各中断的优先级系统中各中断的优先级n优先级从高到低顺序如下:优先级从高到低顺序如下:n内部中断nNMInINTRn单步中断NYNYNNNNNYY执行指令执行完否?取指令IF=1?
17、内部中断?NMI?INTR?TF=1?类型码=0255类型码=2类型码=1中断响应,读回类型码FLAG入栈TEMPTFTF=TF=0CS、IP入栈计算向量表地址高字CS低字IP执行中断服务程序NMI?TEMP=1?转入中断服务程序恢复CS和IP恢复FLAGS返回被中断的程序YYYYNIRET指令的操作8086/8088的的中断处理流程中断处理流程NMI、INTR、单步和除法错单步和除法错中断同时产生中断同时产生时的中断处理时的中断处理过程过程DIVTF=1IF=1INTRNMIPUSH FLAGS、CS、IPCLEAR IF&TF,中断入口CS:IP除法错除法错NMI(IF、TF=0)PUSH
18、 FLAGS、CS、IPCLEAR IF&TF,中断入口CS:IPNMI中断处理程序除法错中断处理程序(IF、TF=0)返回返回执行下条指令识别出INTR(IF、TF=1)返回返回INTR仍然有效仍然有效继续单步执行程序继续单步执行程序INTR中断处理程序INTRPUSH FLAGS、CS、IPCLEAR IF&TF,中断入口CS:IP单步单步(IF、TF=0)PUSH FLAGS、CS、IPCLEAR IF&TF,中断入口CS:IP单步中断处理程序(IF、TF=0)返回返回(IF、TF=1)返回返回7.3 可编程中断控制器可编程中断控制器8259AnPIC,Programmable Inte
19、rrupt Controllern可对可对8个中断源实现优先级控制个中断源实现优先级控制 n可扩展至对可扩展至对64个中断源实现优先级控制个中断源实现优先级控制 n可编程设置不同工作方式可编程设置不同工作方式n根据中断源向根据中断源向x86提供不同中断类型码提供不同中断类型码n引脚分配及功能见教材图引脚分配及功能见教材图7-78259A的内部结构的内部结构n8259A的内部结构(的内部结构(教材图教材图7.6)n中断请求寄存器中断请求寄存器IRRn保存从保存从IR0IR7来的中断请求信号,某位来的中断请求信号,某位=1表示对应的表示对应的IRi有中有中断请求断请求 n中断服务寄存器中断服务寄存
20、器ISR n保存所有正在服务的中断源,某位保存所有正在服务的中断源,某位=1表示对应的表示对应的IRi中断正在被中断正在被服务服务 n中断屏蔽寄存器中断屏蔽寄存器IMRn存放中断屏蔽字,某位存放中断屏蔽字,某位=1表示对应的表示对应的IRi输入被屏蔽输入被屏蔽 n中断优先权判别电路中断优先权判别电路 n确定是否向确定是否向CPU发出中断请求,中断响应时确定发出中断请求,中断响应时确定ISR的哪位应置的哪位应置位及把相应中断的类型码放到数据总线上位及把相应中断的类型码放到数据总线上 8259A的工作过程的工作过程n8259A对中断请求的处理过程如下:对中断请求的处理过程如下:n当某IRi有效时,
21、IRR相应位置1n若有效的IRi未被屏蔽,则向CPU发出中断请求n检测到第1个INTA#信号后,置ISRi=1,IRRi=0 n检测到第2个INTA#信号后,把ISRi=1中最高优先级的中断类型码放到DB上n若工作在AEOI方式,在第2个INTA#结束时,使ISRi复位;否则由CPU发出EOI命令使ISRi复位8259A的工作方式的工作方式n8259A的工作方式有如下几类:的工作方式有如下几类:n中断优先方式与中断嵌套n中断结束处理方式 n屏蔽中断源的方式n中断触发方式n级联工作方式中断优先方式与中断嵌套中断优先方式与中断嵌套n中断优先方式中断优先方式 两类优先级控制方式:固定优先级固定优先级
22、和循环优先级循环优先级n固定优先级方式n所有中断请求IRi的中断优先级固定不变n优先级排列顺序可编程改变n加电后8259A的默认方式,默认优先级顺序从高到低为IR0IR7IR7IR6IR5IR4IR3IR2IR1IR07654321032107654最低级最高级最高级最低级优先级优先级IR7IR6IR5IR4IR3IR2IR1IR0默认优先级默认优先级优先级可编程改变优先级可编程改变中断优先方式与中断嵌套(续)中断优先方式与中断嵌套(续)n循环优先级方式 n中断源轮流处于最高优先级,即自动中断优先级循环n初始优先级顺序可用编程改变n某中断请求IRi被处理后,其优先级别自动降为最低,原来比它低一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 中断 技术
限制150内