版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第8 8章章 中断系统中断系统为何计算机中要引入中断?为何计算机中要引入中断?n提高数据传输率;提高数据传输率;l避免避免CPU不断检测外设状态,提高不断检测外设状态,提高CPU的的利用率。利用率。l实现对特殊事件的实时响应。实现对特殊事件的实时响应。n什么是中断什么是中断? ?n与生活场景的比较与生活场景的比较正在看书正在看书电话铃响电话铃响接电话接电话继续看书继续看书事件发生事件发生事件处理事件处理继续执行程序继续执行程序实际场景实际场景执行程序执行程序计算机计算机 中断请求及响应中断请求及响应 中断处理中断处理中断返回中断返回8.1. 8.1. 中断的基本概念中断的基本概念中断服务程序
2、中断服务程序发申请发申请中断服务程序中断服务程序发发 申申 请请外外设设外设准备数据,外设准备数据,CPUCPU执行程序执行程序, ,此时,此时,CPUCPU与外设并行工作;与外设并行工作; 外设准备就绪,向外设准备就绪,向CPUCPU发中断发中断申请,申请,CPUCPU暂停原程序执行,响暂停原程序执行,响应中断,进行数据传输。此时,应中断,进行数据传输。此时,CPUCPU与外设是串行工作。与外设是串行工作。中断传送方式中断传送方式1.中断的定义中断的定义断点断点主程序主程序中断服务程序中断服务程序中断请求中断请求 对外设对外设进行处理进行处理返回断点返回断点CPUCPU在执行程序在执行程序中
3、,被内部或外中,被内部或外部的事件所打断,部的事件所打断,转去执行一段预转去执行一段预先安排好的中断先安排好的中断服务程序;服务服务程序;服务结束后,又返回结束后,又返回原来的断点,继原来的断点,继续执行原来的程续执行原来的程序序. .1000:150H 主程序主程序 、 、 、MOV AX, 0ADD AX, DXMOV DI , AX、CPU在执行此指令时,在执行此指令时,某中断源发申请中断某中断源发申请中断;CPU在执行完该指令后在执行完该指令后,转去执行中断子程转去执行中断子程.断点概念断点概念: :PUSH AX 、 、 IRET断点断点中断服务程序中断服务程序中断源中断源n引起引起
4、CPU中断的事件中断的事件中断源。中断源。n外设外设请求输入输出数据,报告故障等请求输入输出数据,报告故障等n事件事件掉电、硬件故障、软件错误、非法操作、定时到掉电、硬件故障、软件错误、非法操作、定时到l中断源分为:外部中断、内部中断中断源分为:外部中断、内部中断l内部中断:内部中断:CPU内部执行程序时自身产生的中断内部执行程序时自身产生的中断l外部中断:外部中断:CPU以外的设备、部件产生的中断以外的设备、部件产生的中断l8086/8088的外部中断信号:的外部中断信号:INTR、NMIlINTR可屏蔽中断请求,高电平有效,受可屏蔽中断请求,高电平有效,受IF标志的控制。标志的控制。IF=
5、1时,执行完当前指令后时,执行完当前指令后CPU对它作出响应。对它作出响应。 lNMI非屏蔽中断请求,上升沿有效,任何时候非屏蔽中断请求,上升沿有效,任何时候CPU都要都要响应此中断请求信号。响应此中断请求信号。8086的引脚图的引脚图12345678910111213141516171819204039383736353433323130292827262524232221 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GNDVCCAD15A16 / S3A17 / S4A1
6、8 / S5A19 / S6SS0* (HIGH)MN / MX*RD*HOLD (RQ*/ GT0*)HLDA (RQ1* /GT1*)WR* (LOCK*)M* / IO ( S2* )DT / R* ( S1* )DEN* ( S0* )ALE (QS0)INTA* (QS1)TEST*READYRESET80863. 中断请求和响应引脚中断请求和响应引脚INTR(Interrupt Request) n可屏蔽中断请求可屏蔽中断请求,输入、高电平有效,输入、高电平有效n有效时,表示请求设备向有效时,表示请求设备向CPU申请可屏申请可屏蔽中断蔽中断n该请求的优先级别较低,并可通过关中该请求
7、的优先级别较低,并可通过关中断指令断指令CLI清除标志寄存器中的清除标志寄存器中的IF标志、标志、从而对中断请求进行屏蔽从而对中断请求进行屏蔽3. 中断请求和响应引脚中断请求和响应引脚(续(续1)INTA*(Interrupt Acknowledge) n可屏蔽中断响应可屏蔽中断响应,输出、低电平有效,输出、低电平有效n有效时,表示来自有效时,表示来自INTR引脚的中断请求引脚的中断请求已被已被CPU响应,响应,CPU进入中断响应周期进入中断响应周期n中断响应周期是连续的两个,每个都发中断响应周期是连续的两个,每个都发出有效响应信号,以便通知外设他们的出有效响应信号,以便通知外设他们的中断请求
8、已被响应、并令有关设备将中中断请求已被响应、并令有关设备将中断向量号送到数据总线断向量号送到数据总线 3. 中断请求和响应引脚中断请求和响应引脚(续(续2)NMI(Non-Maskable Interrupt) n不可屏蔽中断请求不可屏蔽中断请求,输入、上升沿有效,输入、上升沿有效n有效时,表示外界向有效时,表示外界向CPU申请不可屏蔽申请不可屏蔽中断中断n该请求的优先级别高于该请求的优先级别高于INTR,并且不能,并且不能在在CPU内被屏蔽内被屏蔽n当系统发生紧急情况时,可通过他向当系统发生紧急情况时,可通过他向CPU申请不可屏蔽中断服务申请不可屏蔽中断服务主机与外设进行数据交换通常采用可屏
9、蔽中断主机与外设进行数据交换通常采用可屏蔽中断不可屏蔽中断通常用于处理掉电等系统故障不可屏蔽中断通常用于处理掉电等系统故障2. 中断传送方式的特点中断传送方式的特点n效率更高的程序传送方式效率更高的程序传送方式l中断服务程序是预先设计好的中断服务程序是预先设计好的l中断请求是随机的中断请求是随机的lCPU对请求的检测是有规律的:一般是在对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请每条指令的最后一个时钟周期采样中断请求输入引脚求输入引脚3. 中断处理过程中断处理过程n五个步骤:五个步骤:n中断请求中断请求n中断排队中断排队n中断响应中断响应n中断服务中断服务n中断返回中断
10、返回中断服务是进行数据中断服务是进行数据交换的实质性环节交换的实质性环节中断请求中断请求中断排队中断排队中断响应中断响应中断服务中断服务中断返回中断返回1)中断请求)中断请求n外设接口(中断源)发出中断请求信号,送到外设接口(中断源)发出中断请求信号,送到CPU的的INTR或或NMI引脚;引脚;n中断请求信号的类型:边沿请求,电平请求中断请求信号的类型:边沿请求,电平请求例如,例如,NMI为边沿请求,为边沿请求,INTR为电平请求为电平请求l中断请求信号应保持到中断被处理为止;中断请求信号应保持到中断被处理为止;lCPU响应中断后,中断请求信号应及时撤销。响应中断后,中断请求信号应及时撤销。系
11、统中有多个中断源,当两个以上中断源同时系统中有多个中断源,当两个以上中断源同时向向CPUCPU发出中断请求信号,则发出中断请求信号,则CPUCPU必须先响应重必须先响应重要的、紧急的中断,即优先权高的中断源,这要的、紧急的中断,即优先权高的中断源,这就是中断排队。就是中断排队。2)中断排队)中断排队把从接到中断请求到中断处理之前,这一段把从接到中断请求到中断处理之前,这一段时间称为中断响应阶段或中断响应过程。时间称为中断响应阶段或中断响应过程。中断响应是指中断响应是指CPUCPU在确定中断源后,响应时自在确定中断源后,响应时自动完成的操作。动完成的操作。3)中断响应)中断响应n中断响应是指中断
12、响应是指CPU在确定中断源后,响应在确定中断源后,响应时自动完成的操作,时自动完成的操作, CPU中断响应时,要中断响应时,要做以下工作:做以下工作:3)中断响应)中断响应l断点保护:断点保护:CS、IP和和PSWl获得中断服务程序入口地址,转入中断获得中断服务程序入口地址,转入中断服务程序。服务程序。l关中断关中断中断标志IF的状态nIF0:可屏蔽中断不会被响应:可屏蔽中断不会被响应n关中断、禁止中断、中断屏蔽关中断、禁止中断、中断屏蔽n系统复位,使系统复位,使IF0n任何一个中断被响应,使任何一个中断被响应,使IF0n执行指令执行指令CLI,使,使IF0lIF1:可屏蔽中断会被响应:可屏蔽
13、中断会被响应l开中断、允许中断、中断开放开中断、允许中断、中断开放l执行指令执行指令STI,使,使IF1l执行中断返回指令执行中断返回指令IRET恢复原恢复原IF状态状态n中断服务子程序要做的工作中断服务子程序要做的工作n保护现场保护现场(PUSH regs) n开中断开中断(STI) 允许中断嵌套允许中断嵌套n进行中断处理进行中断处理 n关中断关中断(CLI)n恢复现场恢复现场(POP regs) 4)中断处理(中断服务)中断处理(中断服务)CPUCPU响应中断以后,就会中止当前的程序,转去执行一个响应中断以后,就会中止当前的程序,转去执行一个中断服务子程序中断服务子程序,以完成为相应的服务
14、。,以完成为相应的服务。l中断服务子程序特点中断服务子程序特点l为为”远远”过程(类型为过程(类型为FAR)l要用要用IRET指令返回指令返回5)中断返回)中断返回n执行中断返回指令执行中断返回指令IRETnIRET指令将使指令将使CPU把堆栈内保存的断点信息弹出到把堆栈内保存的断点信息弹出到IP、CS和和FLAG中,保证被中断的程序从断点处能够继续往下执行。中,保证被中断的程序从断点处能够继续往下执行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG进入中断服进入中断服务程序时务程序时中断返回后中断返回后CPUCPU执行中断服务
15、程序结束时,应将在中断响应时保护的断点恢复,执行中断服务程序结束时,应将在中断响应时保护的断点恢复,回到被中断的主程序,即中断返回的操作。回到被中断的主程序,即中断返回的操作。4.中断优先级及中断嵌套中断优先级及中断嵌套n多个中断源产生中断,多个中断源产生中断,CPU首先为谁服务?首先为谁服务?中断优先级排队问题。中断优先级排队问题。l中断优先级控制要处理两种情况:中断优先级控制要处理两种情况:l对同时产生的中断:应首先处理对同时产生的中断:应首先处理优先级别优先级别较高的较高的中断;若优先级别相同,则按先来先服务的原则中断;若优先级别相同,则按先来先服务的原则处理;处理;l对非同时产生的中断
16、:低优先级别的中断处理程对非同时产生的中断:低优先级别的中断处理程序允许被高优先级别的中断源所中断序允许被高优先级别的中断源所中断即允许即允许中断嵌套中断嵌套。n中断优先级的控制方法中断优先级的控制方法4.中断判优(续)中断判优(续)可编程的中断控制器可编程的中断控制器 中断优先权中断优先权判别方法判别方法软件查询软件查询硬件排队硬件排队链式优先权排队电路链式优先权排队电路n通常将通常将中断判优中断判优与与中断源识别中断源识别合并处理。合并处理。nx86系统中,该任务由中断控制器和CPU共同完成。用软件查询哪个中断源有中断用软件查询哪个中断源有中断请求,先查询到的先响应。即:请求,先查询到的先
17、响应。即:查询次序确定各中断优先权次查询次序确定各中断优先权次序序,先查询的优先权最高。,先查询的优先权最高。将所有的设备连成一条链,将所有的设备连成一条链,靠近靠近CPUCPU的设备优先级最高,的设备优先级最高,越远的设备优先级别越低。越远的设备优先级别越低。用硬件电路实现中用硬件电路实现中断源的优先级排队。断源的优先级排队。与与CPUCPU配合来管理和处理配合来管理和处理中断优先级,对多个中断中断优先级,对多个中断请求进行优先级判优。请求进行优先级判优。 8.2 80888.2 8088的中断系统的中断系统n8088的中断系统采用向量中断机制的中断系统采用向量中断机制n能够处理能够处理25
18、6个中断,用中断向量号个中断,用中断向量号0255区别区别n可屏蔽中断还需要借助专用中断控制器可屏蔽中断还需要借助专用中断控制器Intel 8259A实现优先权管理实现优先权管理n与中断有关的控制线为:与中断有关的控制线为:NMI、INTR、INTA*1.8086/80881.8086/8088的中断类型的中断类型NMIINTR中断中断逻辑逻辑软件中断指令软件中断指令溢出中断溢出中断除法错除法错单步中断单步中断非屏蔽中断请求非屏蔽中断请求中断控中断控制器制器8259APIC8086/8088CPU8086/8088CPU内部逻辑内部逻辑断点中断断点中断n43012可屏蔽中断请求可屏蔽中断请求外
19、部中断外部中断n是由于是由于8086外部提出中断请求引起的外部提出中断请求引起的l利用外部中断,微机系统可以实时响应外设利用外部中断,微机系统可以实时响应外设的数据传送请求,及时处理外部意外或紧急的数据传送请求,及时处理外部意外或紧急事件事件l外部中断的原因是处理器外部外部中断的原因是处理器外部随机随机产生的,产生的,所以是真正的中断(所以是真正的中断(Interrupt)l内部中断的原因是处理器执行程序出现异常,内部中断的原因是处理器执行程序出现异常,所以经常被称为异常(所以经常被称为异常(Exception)非屏蔽中断非屏蔽中断中断类型码中断类型码n n2 2可屏蔽中断可屏蔽中断中断类型码
20、中断类型码n n由申请中断的中断源提供由申请中断的中断源提供 非屏蔽中断非屏蔽中断NMIn通过非屏蔽中断请求信号通过非屏蔽中断请求信号NMI向微处理器向微处理器提出的中断请求,微处理器无法禁止,将提出的中断请求,微处理器无法禁止,将在当前指令执行结束予以响应,这个中断在当前指令执行结束予以响应,这个中断被称为非屏蔽中断被称为非屏蔽中断l8086的非屏蔽中断的向量号为的非屏蔽中断的向量号为2l非屏蔽中断主要用于处理系统的意外或故非屏蔽中断主要用于处理系统的意外或故障。例如:障。例如:l电源掉电前的数据保护电源掉电前的数据保护l存储器读写错误的处理存储器读写错误的处理 可屏蔽中断n外部通过可屏蔽中
21、断请求信号外部通过可屏蔽中断请求信号INTR向微处向微处理器提出的中断,微处理器在允许可屏蔽中理器提出的中断,微处理器在允许可屏蔽中断的条件下,在当前指令执行结束予以响应断的条件下,在当前指令执行结束予以响应INTA* ,同时输出可屏蔽中断响应信号,这,同时输出可屏蔽中断响应信号,这个中断就是可屏蔽中断个中断就是可屏蔽中断IF 控制可屏蔽中断的响应控制可屏蔽中断的响应lIF1,允许中断;,允许中断;IF0,禁止中断。,禁止中断。l8086通常需要配合中断控制器通常需要配合中断控制器8259A共同处共同处理可屏蔽中断理可屏蔽中断l可屏蔽中断主要用于主机与外设交换数据可屏蔽中断主要用于主机与外设交
22、换数据 内部中断内部中断n8086内部执行程序出现异常引起的内部执行程序出现异常引起的n利用内部中断,微处理器为用户提供了发现、利用内部中断,微处理器为用户提供了发现、调试并解决程序执行时异常情况的有效途径调试并解决程序执行时异常情况的有效途径n例如,例如,ROM-BIOS和和DOS系统利用内部中断系统利用内部中断为程序员提供了各种功能调用为程序员提供了各种功能调用内部中断的中断向量号已定内部中断的中断向量号已定 除法错中断除法错中断n在执行除法指令时,若除数为在执行除法指令时,若除数为0或商超过了寄存或商超过了寄存器所能表达的范围,则器所能表达的范围,则CPU会会自动产生自动产生一个向一个向
23、量号为量号为0的内部中断,称为除法错中断的内部中断,称为除法错中断n0号中断没有对应的中断指令号中断没有对应的中断指令例如:例如:mov bl,0idiv bl;除数;除数BL0,产生除法错中断,产生除法错中断mov ax,200hmov bl,1div bl;商;商200H,不能用,不能用AL表达表达;产生除法错中断;产生除法错中断(2) 单步中断单步中断n若若TF1,则在每条指令执行结束后产,则在每条指令执行结束后产生生1号内部中断,称为单步中断号内部中断,称为单步中断n类似类似0号(除法错)中断:不是由外部号(除法错)中断:不是由外部硬件或者软件指令产生,是由硬件或者软件指令产生,是由C
24、PU对标对标志位志位TF的测试而产生的。的测试而产生的。例如:例如:DEBUG.EXE调试程序的单步命令调试程序的单步命令T就利就利用单步中断实现对程序的单步调试用单步中断实现对程序的单步调试由由CPU对状态标志寄存器中的陷阱标志对状态标志寄存器中的陷阱标志TF的测试而产生的的测试而产生的1号中断。号中断。(3) 断点中断断点中断例如:例如:DEBUG.EXE调试程序的运行命令调试程序的运行命令G设置设置的断点,就是利用的断点,就是利用INT 3指令实现的指令实现的这是这是CPU执行执行INT指令而产生的指令而产生的3号中断(生成号中断(生成一个字节的指令代码:一个字节的指令代码:110011
25、00)。)。这也是这也是8086提供给用户使用的一种调试程序手段。提供给用户使用的一种调试程序手段。对较长程序,通过设置断点(插入对较长程序,通过设置断点(插入INT指令),使程指令),使程序运行一段后进入断点中断,检查程序是否达到要序运行一段后进入断点中断,检查程序是否达到要求。求。(4) 溢出中断溢出中断mov ax,2000hadd ax, 7000h;2000H7000H9000H,溢出:,溢出:OF1into;因为;因为OF1,所以产生溢出中断,所以产生溢出中断由于由于CPU本身不能判别当前处理的数据是否带本身不能判别当前处理的数据是否带符号,因此,它提供了符号,因此,它提供了INT
26、O指令给用户。指令给用户。在带符号运算后安排一条在带符号运算后安排一条INTO指令,当运算指令,当运算后后OF1,则,则产生产生4号号内部中断(溢出中断),内部中断(溢出中断),进入溢出中断服务程序进行处理。进入溢出中断服务程序进行处理。(5) 软件中断软件中断n在执行中断调用指令在执行中断调用指令INT n时产生的一个时产生的一个向量号为向量号为n(0 255)的内部中断,)的内部中断, n为为一个字节的中断类型码,称为指令中断。一个字节的中断类型码,称为指令中断。l用用INT n指令来产生中断,运行用户自行指令来产生中断,运行用户自行设计的一些中断服务程序,这与段间调设计的一些中断服务程序
27、,这与段间调用子程序相似。用子程序相似。如:系统功能调用如:系统功能调用INT 21H。2. 8086的中断向量表中断向量即中断向量即中断服务程序的入口地址中断服务程序的入口地址,用,用3232位逻辑地址表示。位逻辑地址表示。中断向量表中断向量表是一个存储区,是一个存储区,该存储区存放了所有的中断向量。该存储区存放了所有的中断向量。表内容:表内容:所有中断服务程序的入口地址,即所有中断服务程序的入口地址,即256个个中断中断向量。向量。表长度:表长度:一个中断向量一个中断向量4个字节个字节,256256个中断向量共个中断向量共2562564 410241024字节,即占用字节,即占用1K1K存
28、储空间。存储空间。表位置:表位置:物理地址物理地址00000H 00000H (03FFH)开始,依次安开始,依次安排各个中断向量,向量号也从排各个中断向量,向量号也从0 0开始开始存放次序:存放次序:按中断类型码从小到大依次存放。每个中按中断类型码从小到大依次存放。每个中断向量占用的断向量占用的4 4个单元中,个单元中,小地址存放偏移地址小地址存放偏移地址,大地址大地址存放段地址存放段地址。向量号为向量号为N的中断向量的物理地址的中断向量的物理地址N4003FFH向量号向量号255的的CS值值用户中断用户中断(向量号(向量号FFH)003FCH向量号向量号255的的IP值值(中断向量)(中断
29、向量)向量号向量号2的的CS值值非屏蔽中断非屏蔽中断(向量号(向量号2)00008H向量号向量号2的的IP值值向量号向量号1的的CS值值单步中断单步中断(向量号(向量号1)00004H向量号向量号1的的IP值值向量号向量号0的的CS值值除法错中断除法错中断(向量号(向量号0)00000H向量号向量号0的的IP值值中断向量地址中断类型码中断类型码 FEH3 34H 3F8H 8086的中断向量表如果在如果在00080H00080H00083H00083H这这4 4个单元中存放的个单元中存放的内容分别为内容分别为 10H10H、20H20H、30H30H、40H40H,那么,那么,在该系统中在该系
30、统中, , 号中断所对应的中断向号中断所对应的中断向量为量为 。 20H4030H:2010H问题问题1 100084H00083H00082H00081H00080H(CSH) 40H(CSL) 30H(IPH) 20H(IPL) 10H若系统中对应于中断类型码为若系统中对应于中断类型码为17H17H的中断的中断处理程序存放在处理程序存放在1234:5670H开始的内开始的内存区域中,则对应于存区域中,则对应于17H17H类型码的中断向类型码的中断向量存放在量存放在 开始的开始的4 4个字节个字节中。这中。这4 4个单元地址由低到高,每个单元个单元地址由低到高,每个单元中的值分别为中的值分别为: : H H、 H H、 H H、 H H。 0000:005CH70563412问题问题2 2练练 习习
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年冀教新版选择性必修1生物下册阶段测试试卷含答案
- 2025年浙科版七年级生物上册阶段测试试卷
- 二零二五年度城市综合体夜间安全管理打更合同3篇
- 房屋出租做旅社合同(2篇)
- 2025版城市轨道交通沿线商铺租赁合同示范文本4篇
- 个人资金借给公司合同范本(2024版)版B版
- 2025版南宁国际学校教育设施租赁合同及学生教育服务协议3篇
- 个性化离婚合同模板2024年版B版
- 2025年度门窗配件专业供应商合同4篇
- 2025技术员派遣及系统集成服务合同3篇
- 南通市2025届高三第一次调研测试(一模)地理试卷(含答案 )
- 2025年上海市闵行区中考数学一模试卷
- 2025中国人民保险集团校园招聘高频重点提升(共500题)附带答案详解
- 重症患者家属沟通管理制度
- 法规解读丨2024新版《突发事件应对法》及其应用案例
- IF钢物理冶金原理与关键工艺技术1
- 销售提成对赌协议书范本 3篇
- 劳务派遣招标文件范本
- EPC项目阶段划分及工作结构分解方案
- 小学二年级数学口算练习题1000道
- 家谱、宗谱颁谱庆典讲话
评论
0/150
提交评论