《第一讲中断系统PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第一讲中断系统PPT讲稿.ppt(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一讲中断系统第一讲中断系统第1页,共21页,编辑于2022年,星期一中断的基本概念中断的基本概念u什么是中断 生活中的中断生活中的中断生活中的中断生活中的中断 社会中的中断社会中的中断社会中的中断社会中的中断 计算机中的中断计算机中的中断计算机中的中断计算机中的中断 上课时手机响了上课时手机响了 印度洋发生海啸印度洋发生海啸 日本袭击珍珠港日本袭击珍珠港 美国发生美国发生 911 鼠标点击新的图标鼠标点击新的图标 QQ 有新的消息有新的消息 突突发发性性第2页,共21页,编辑于2022年,星期一实际场景实际场景计算机计算机正在看书正在看书电话铃响电话铃响接电话接电话继续看书继续看书执行程序执
2、行程序事件发生事件发生事件处理事件处理继续执行程序继续执行程序中断处理中断处理中断请求及响应中断请求及响应中断返回中断返回中断处理过程第3页,共21页,编辑于2022年,星期一中断的定义中断的定义 uCPU执行程序时,由于发生了某种随机的事执行程序时,由于发生了某种随机的事件件(外部或内部外部或内部),引起,引起CPU暂时中断正在运行暂时中断正在运行的程序,转去执行一段特殊的服务程序的程序,转去执行一段特殊的服务程序(称为称为中断服务程序或中断处理程序中断服务程序或中断处理程序),以处理该事,以处理该事件,该事件处理完后又返回被中断的程序继件,该事件处理完后又返回被中断的程序继续执行,这一过程
3、称为中断。续执行,这一过程称为中断。第4页,共21页,编辑于2022年,星期一中断控制方式的特点中断控制方式的特点u可以实现可以实现实时故障处理实时故障处理u可以实现可以实现CPU与外设及外设与外设之间的与外设及外设与外设之间的并行工作并行工作CPU处理流程处理流程中断服务程序中断服务程序非预料事件非预料事件中中断断请请求求中中断断响响应应中中断断返返回回启启动动启启动动外部设备外部设备现行现行主程序主程序中断服务中断服务子程序子程序CPU中中断断请请求求启启动动中中断断响响应应中中断断返返回回第5页,共21页,编辑于2022年,星期一CPU执行流程执行流程中断服务程序中断服务程序1非预料事件
4、非预料事件1中断服务程序中断服务程序2非预料事件非预料事件2中中 断断 嵌嵌 套套 中断嵌套的条件:中断嵌套的条件:中断嵌套的条件:中断嵌套的条件:1 1)中断服务子程序)中断服务子程序)中断服务子程序)中断服务子程序1 1执行过程中执行过程中执行过程中执行过程中允许中断允许中断允许中断允许中断;2 2)新到来的中断应比原中断的)新到来的中断应比原中断的)新到来的中断应比原中断的)新到来的中断应比原中断的优先级高;优先级高;优先级高;优先级高;注注注注:为为为为保保保保护护护护主主主主程程程程序序序序及及及及各各各各级级级级中中中中断断断断服服服服务务务务程程程程序序序序的的的的数数数数据据据
5、据不不不不被被被被破破破破坏坏坏坏,所所所所有有有有中中中中断断断断服服服服务程序均应进行务程序均应进行务程序均应进行务程序均应进行保护及恢复保护及恢复保护及恢复保护及恢复操作;操作;操作;操作;第6页,共21页,编辑于2022年,星期一8086 的中断系统的中断系统uu8086 的中断源 内部中断源内部中断源内部中断源内部中断源(软中断源)(软中断源)(软中断源)(软中断源)外部中断源外部中断源外部中断源外部中断源(硬中断源)(硬中断源)(硬中断源)(硬中断源)由执行中断指令由执行中断指令由执行中断指令由执行中断指令 INT INT 产生的中断产生的中断 由内部事件产生的中断由内部事件产生的
6、中断由内部事件产生的中断由内部事件产生的中断INTR INTR INTR INTR 可屏蔽中断源可屏蔽中断源可屏蔽中断源可屏蔽中断源 8086 8086 8086 8086 引脚引脚 INTR INTR INTR INTR 获得高电平触发获得高电平触发获得高电平触发获得高电平触发NMI NMI NMI NMI 非屏蔽中断源非屏蔽中断源非屏蔽中断源非屏蔽中断源 8086 8086 8086 8086 引脚引脚引脚引脚 NMI NMI 获得上升沿触发获得上升沿触发获得上升沿触发获得上升沿触发借用概念借用概念仅异常仅异常真实概念真实概念真中断真中断第7页,共21页,编辑于2022年,星期一8086
7、的中断系统的中断系统u自动产生的内部中断 除法出错中断除法出错中断除法出错中断除法出错中断 0 0 号中断号中断号中断号中断 单部中断单部中断 1 1 号中断号中断号中断号中断 断点中断断点中断断点中断断点中断 3 3 号中断号中断 溢出中断溢出中断溢出中断溢出中断 4 4 号中断号中断号中断号中断 系统内部特殊事件中断,对应相应中断类型号系统内部特殊事件中断,对应相应中断类型号系统内部特殊事件中断,对应相应中断类型号系统内部特殊事件中断,对应相应中断类型号除数为除数为除数为除数为 0 0 产生中断产生中断产生中断产生中断控制标志控制标志控制标志控制标志 TF=1 TF=1 TF=1 TF=1
8、 产生中断产生中断产生中断产生中断程序运行到调试点产生中断程序运行到调试点产生中断程序运行到调试点产生中断程序运行到调试点产生中断中断指令中断指令中断指令中断指令 INTO+INTO+INTO+INTO+标志标志 OF OF OF OF 判断产生中断判断产生中断判断产生中断判断产生中断第8页,共21页,编辑于2022年,星期一8086 的中断系统的中断系统u执行中断指令产生的内部中断 INT nINT n DOS DOS 中断中断中断中断 BIOS BIOS 中断中断中断中断 借用中断概念,中断指令应有中断类型号借用中断概念,中断指令应有中断类型号借用中断概念,中断指令应有中断类型号借用中断概
9、念,中断指令应有中断类型号对应多数中断类型号对应多数中断类型号对应多数中断类型号对应多数中断类型号操作系统提供大量功能中服程序操作系统提供大量功能中服程序操作系统提供大量功能中服程序操作系统提供大量功能中服程序中断类型号中断类型号 20H 3FH20H 3FH20H 3FH20H 3FH操作系统提供较多功能中服程序操作系统提供较多功能中服程序操作系统提供较多功能中服程序操作系统提供较多功能中服程序05H05H05H05H、10H 1FH10H 1FH10H 1FH10H 1FH第9页,共21页,编辑于2022年,星期一8086 的中断系统的中断系统u可屏蔽外部中断 中断请求中断请求中断请求中断
10、请求 输入输入 INTR=HINTR=H 中断屏蔽中断屏蔽 清中断屏蔽控制标志位清中断屏蔽控制标志位清中断屏蔽控制标志位清中断屏蔽控制标志位 IF=0IF=0 中断允许中断允许 置中断屏蔽控制标志位置中断屏蔽控制标志位 IF=1IF=1 中断无响应中断无响应 若若若若 IF=0IF=0,输出,输出,输出,输出 /INTA=HH 中断有响应中断有响应中断有响应中断有响应 若若若若 IF=1IF=1,输出,输出,输出,输出 /INTA=L 执行执行执行执行 08H 0FH 08H 0FH 中服程序中服程序 真实的外部真实的外部真实的外部真实的外部有条件有条件有条件有条件突发中断突发中断突发中断突发
11、中断第10页,共21页,编辑于2022年,星期一8086 的中断系统的中断系统u不可屏蔽外部中断真实的外部真实的外部真实的外部真实的外部无条件无条件无条件无条件突发中断突发中断突发中断突发中断 中断请求中断请求中断请求中断请求 输入输入 NMI=NMI=上升沿上升沿上升沿上升沿 中断响应中断响应中断响应中断响应 执行执行执行执行 2 2 号中服程序号中服程序 第11页,共21页,编辑于2022年,星期一u8086系统中断源的定义系统中断源的定义u8086系统中断优先级的定义系统中断优先级的定义8086系统中中断源及其优先级的定义系统中中断源及其优先级的定义其它可能自动产其它可能自动产生的中断生
12、的中断执行中断指令执行中断指令INT n、INTO等等除法错中断(被除法错中断(被0除)除)单步中断单步中断断点中断断点中断溢出中断溢出中断可屏蔽中断可屏蔽中断NMI不可屏蔽中断不可屏蔽中断INTR 8086系统中规定中断源的优先级顺序为(优先权依次系统中规定中断源的优先级顺序为(优先权依次降低):被降低):被0除中断、除中断、INT n指令、指令、INTO指令、指令、NMI中中断、断、INTR中断、单步中断。中断、单步中断。外中断外中断(硬件中断)(硬件中断)内中断内中断(软件中断)(软件中断)中断中断异常异常第12页,共21页,编辑于2022年,星期一CPU内的中断控制逻辑内的中断控制逻辑
13、NMI中断接口中断接口自动产生的自动产生的软件中断软件中断用户调用的用户调用的软件中断软件中断CPU内部内部INTR中中断断接接口口IRQ1键盘键盘IRQ2彩色彩色/图形接口图形接口IRQ3保留保留(串口串口)IRQ4串口串口IRQ5保留保留(并口并口)IRQ0系统定时器系统定时器IRQ7 并口并口IRQ6软盘软盘 RAM校验错校验错I/O校验错校验错电源故障电源故障INT n除法错除法错断点断点单步(单步(TF)溢出(溢出(OF)第13页,共21页,编辑于2022年,星期一u8086系统采用系统采用向量式中断向量式中断,8086系统中系统中主存最主存最低的低的1KB空间空间(000H 3FF
14、H)被用来存放各)被用来存放各中断向量,这就是中断向量表。中断向量,这就是中断向量表。u中断向量表中内容分为中断向量表中内容分为256项,分别对应项,分别对应256个中断类型号;表中每一项为个中断类型号;表中每一项为一个中断向量,一个中断向量,占用占用4个字节个字节,其中高两个字节存放段基址、低,其中高两个字节存放段基址、低两个字节存放偏移量。两个字节存放偏移量。u中断类型号中断类型号n与对应的中断向量存放地址与对应的中断向量存放地址m之间之间的关系,即的关系,即m4*n。u中断索引中断索引过程:根据中断类型号找到中断向量过程:根据中断类型号找到中断向量的过程。的过程。8086系统的中断向量表
15、系统的中断向量表第14页,共21页,编辑于2022年,星期一04号为号为8086CPU专用中断专用中断05H3FH号包括号包括DOS及及BIOS中断中断40H0FFH号为号为用户可用中断用户可用中断地址地址地址地址内存单元内存单元内存单元内存单元 说明说明说明说明00000H00000H003FFH003FFH中断类型号中断类型号n3FH中断类型号中断类型号中断类型号中断类型号n n0 0中断类型号中断类型号中断类型号中断类型号n n1 1中断类型号中断类型号中断类型号中断类型号n n2 2中断类型号中断类型号中断类型号中断类型号n n0FFH0FFH000FCH000FFH被被0除中断除中断
16、单步中断单步中断NMI中断中断 00004H00007H00008H0000BH003FCH00003H第15页,共21页,编辑于2022年,星期一8086系统的中断全过程系统的中断全过程u中断请求的检测中断请求的检测u中断优先级的判决中断优先级的判决 u中断响应中断响应(索引索引)过程过程u 中断处理过程中断处理过程u 中断返回过程中断返回过程 可用硬件或软件实现;可用硬件或软件实现;8086CPU内部的中断优先级判断由硬件电路自内部的中断优先级判断由硬件电路自动完成。动完成。指指CPU从确定响应目标到转到中断服务子程序入口的过程从确定响应目标到转到中断服务子程序入口的过程。这个。这个过程是
17、由过程是由CPU内部的硬件电路自动完成的,主要包括内部的硬件电路自动完成的,主要包括获取中断类型码,获取中断类型码,保护现场和断点,获取中断向量保护现场和断点,获取中断向量三个步骤。三个步骤。三个步骤。三个步骤。中断服务子程序的执行过程中断服务子程序的执行过程 执行执行IRET指令的过程,包括指令的过程,包括断点恢复和现场恢复断点恢复和现场恢复。该过程是由。该过程是由CPU自动自动完成的。完成的。当前指令执行完毕当前指令执行完毕中断响应的中断响应的3个基本条件个基本条件第16页,共21页,编辑于2022年,星期一8086中断响应的三个基本条件中断响应的三个基本条件u当前指令执行完毕当前指令执行
18、完毕:一般情况下,:一般情况下,CPU总是在当总是在当前指令执行完毕并且没有更紧迫的任务时才能响前指令执行完毕并且没有更紧迫的任务时才能响应中断请求。应中断请求。u接受到中断请求信号接受到中断请求信号:其隐含的意义是,中断请:其隐含的意义是,中断请求信号要能够送到求信号要能够送到CPU,并可能需要,并可能需要维持维持直到直到CPU检测或响应。检测或响应。u允许中断允许中断:对:对INTR中断来说有两方面的含义,一中断来说有两方面的含义,一是中断允许位是中断允许位IF被置被置1,二是没有更高级的中断,二是没有更高级的中断正在被响应。正在被响应。第17页,共21页,编辑于2022年,星期一8086
19、中中断断全全过过程程结束当前指令结束当前指令内部中断?内部中断?N NY YTF=1TF=1?Y YN N执行下一条指令执行下一条指令从总线上取中断类型号从总线上取中断类型号保护现场:保护现场:FLAGFLAG压栈压栈TEMPTEMPTFTF;IF=0IF=0,TF=0TF=0保护断点:保护断点:CSCS、IPIP压栈压栈设置新设置新CSCS、IPIP值,进入值,进入中断处理过程中断处理过程恢复断点:恢复断点:CSCS、IPIP出栈出栈恢复现场:恢复现场:FLAGFLAG出栈出栈中中断断响响应应过过程程中断返回过程中断返回过程NMINMI中断?中断?Y YN N中中断断优优先先级级判判决决IN
20、TRINTR中断?中断?N NIF=1IF=1?Y YN NY Y根据中断类型号查向量表根据中断类型号查向量表指令中的指令中的n21第18页,共21页,编辑于2022年,星期一8086中中断断处处理理过过程程中断处中断处 用户编写用户编写理过程理过程 的服务程序的服务程序 中断检测及优先级判断中断检测及优先级判断中断响应,获取中断向量中断响应,获取中断向量保存保存CPUCPU内部其它各寄存器,以便在中断服务子程内部其它各寄存器,以便在中断服务子程序中使用这些寄存器而不致破坏原信息序中使用这些寄存器而不致破坏原信息开总中断(开总中断(IF=1IF=1),以便在该中断服务期间仍然),以便在该中断服
21、务期间仍然能响应更高级的中断请求,即允许中断嵌套能响应更高级的中断请求,即允许中断嵌套用户中断服务的具体处理过程用户中断服务的具体处理过程恢复恢复CPUCPU内部各寄存器内容内部各寄存器内容 执行执行IRETIRET语句,中断返回语句,中断返回第19页,共21页,编辑于2022年,星期一INTR中断响应周期中断响应周期80868086在在在在第第第第一一一一个个个个总总总总线线线线周周周周期期期期的的的的T2T2时时时时刻刻刻刻发发发发出出出出有有有有效效效效的的的的中中中中断断断断响响响响应应应应信信信信号号号号(/INTA/INTA),通知接口电路准备中断类型号;),通知接口电路准备中断类
22、型号;),通知接口电路准备中断类型号;),通知接口电路准备中断类型号;80868086在在在在第第第第二二二二个个个个总总总总线线线线周周周周期期期期的的的的T2T2时时时时刻刻刻刻再再再再次次次次发发发发出出出出有有有有效效效效的的的的中中中中断断断断响响响响应应应应信信信信号号号号(/INTA/INTA),并于),并于),并于),并于T4T4时刻从时刻从时刻从时刻从DBDB获取中断类型号;获取中断类型号;获取中断类型号;获取中断类型号;中断类型号中断类型号 INTACLKAD7AD0T1T2T3T4第一个第一个总线周期总线周期T1T2T3T4第二个第二个总线周期总线周期 8086CPU通过
23、通过两个总线周期两个总线周期从接口电路获取最从接口电路获取最高优先级的高优先级的INTR中断类型号。中断类型号。第20页,共21页,编辑于2022年,星期一8086系统中系统中INTR中断的优先级判决中断的优先级判决一个系统中可能有很多外设,而一个系统中可能有很多外设,而CPU只有一个只有一个INTR引脚。在可能有多个外设同时发出中断请求信号引脚。在可能有多个外设同时发出中断请求信号的系统中,应该设置外设的优先级判断机制。的系统中,应该设置外设的优先级判断机制。1.软件查询软件查询2.硬件排队硬件排队3.可编程中断管理芯片可编程中断管理芯片 简单易修改,先查询的优先级别就高。但占用简单易修改,先查询的优先级别就高。但占用CPU时间,且中断源较多时响应慢。时间,且中断源较多时响应慢。中断响应速度快,中断响应速度快,CPU利用率高;但成本高,且硬件一利用率高;但成本高,且硬件一旦确定后中断源的优先级别不可更改。旦确定后中断源的优先级别不可更改。(如(如中断优先权编码电路中断优先权编码电路和和雏菊花链式排队电路雏菊花链式排队电路)结合了软件判优和硬件判优的特点。结合了软件判优和硬件判优的特点。(如(如Intel8259)第21页,共21页,编辑于2022年,星期一
限制150内