接口PPT课件第3章中断技术.ppt
《接口PPT课件第3章中断技术.ppt》由会员分享,可在线阅读,更多相关《接口PPT课件第3章中断技术.ppt(153页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中断技术中断技术中断是计算机中一个重要且实用的技术。中断是计算机中一个重要且实用的技术。采用中断技术主要为解决两个问题采用中断技术主要为解决两个问题:1.在输入输出过程中在输入输出过程中,解决快速的解决快速的CPU与慢速与慢速的外设之间速度不匹配的问题,实现的外设之间速度不匹配的问题,实现CPU与外设与外设并行工作并行工作,提高提高CPU的利用率。的利用率。2.确保确保CPU在运行过程中具有实时响应和处在运行过程中具有实时响应和处理随机事件的能力。理随机事件的能力。1中断实例中断实例n每按一下键盘,就产生一个键盘中断,每按一下键盘,就产生一个键盘中断,CPU就要就要停下手边的工作来处理,记录下
2、来哪个键被按下停下手边的工作来处理,记录下来哪个键被按下了,如果按下这个键要对应某一个操作,就赶快了,如果按下这个键要对应某一个操作,就赶快先做这个操作,做完之后,才恢复刚才的工作。先做这个操作,做完之后,才恢复刚才的工作。对于接在串口上的对于接在串口上的MODEM也是一样,从电话线也是一样,从电话线上传来数据了,这个串口就会产生一个中断,上传来数据了,这个串口就会产生一个中断,CPU就要停下来,先将数据收下来,放到一个安就要停下来,先将数据收下来,放到一个安全的地方。我们能够一边写文章,一边从网上下全的地方。我们能够一边写文章,一边从网上下载数据,就全靠中断的正常工作。载数据,就全靠中断的正
3、常工作。2第第3 3章章 中断技术中断技术3.1中断及中断处理过程中断及中断处理过程3.2中断优先权中断优先权3.38086中断系统中断系统3.4可编程中断控制器可编程中断控制器8259A3.5中断程序设计中断程序设计33.1 中断及中断处理过程中断及中断处理过程3.1.1中断源及分类中断源及分类3.1.2中断处理过程中断处理过程4CPU在正常执行程序的在正常执行程序的过程中,由于某些事件过程中,由于某些事件(外部外部或内部或内部)发生,引起发生,引起CPU暂时暂时中止当前程序的执行,而转中止当前程序的执行,而转去执行一段特殊程序(称中去执行一段特殊程序(称中断服务子程序),以处理该断服务子程
4、序),以处理该事件。该事件处理完后,再事件。该事件处理完后,再返回原被中断的程序继续执返回原被中断的程序继续执行。行。一、中断一、中断CPU执行程序执行程序事件发生事件发生中中断断服服务务子子程程序序中断响应中断响应中断返回中断返回继继续续执执行行K:DK:处处理理事事件件断点断点3.1.1 中断源及分类中断源及分类5正在看书正在看书电话铃响电话铃响接电话接电话继续看书继续看书执行程序执行程序事件发生事件发生事件处理事件处理继续执行程序继续执行程序生活场景中生活场景中的中断的中断计算机中计算机中的中断的中断对比对比6中断源:中断源:能够向能够向CPU发出中断请求的设备或事件。发出中断请求的设备
5、或事件。1.外部中断源外部中断源 一般的一般的I/O设备,如显示器、打印机、键盘等。设备,如显示器、打印机、键盘等。数据通道中断源,如磁盘直接与内存交换数据所要数据通道中断源,如磁盘直接与内存交换数据所要求的中断。求的中断。实时时钟,如外部所需的定时电路等实时时钟,如外部所需的定时电路等 计算机内部故障引起的中断,如电源掉电、存储出计算机内部故障引起的中断,如电源掉电、存储出错等。错等。二、中断源二、中断源3.1.1 中断源及分类中断源及分类72.内部中断源内部中断源CPU指令执行异常。如运算结果溢出、除法错指令执行异常。如运算结果溢出、除法错等。等。在程序调试过程中由程序员所设置的中断。如在
6、程序调试过程中由程序员所设置的中断。如单步中断、软中断指令单步中断、软中断指令INTn等。等。微机系统中,中断分为微机系统中,中断分为内部中断和外部中断内部中断和外部中断两两大类。大类。3.1.1 中断源及分类中断源及分类8中断系统应具有以下功能中断系统应具有以下功能:1.1.能实现中断响应、中断服务和中断返回能实现中断响应、中断服务和中断返回 2.2.能实现中断优先级排队能实现中断优先级排队 3.3.能实现中断嵌套能实现中断嵌套3.1.1 中断源及分类中断源及分类93.1.2 中断处理过程中断处理过程一个完整的中断处理过程包括:一个完整的中断处理过程包括:1.中断请求中断请求2.中断优先级的
7、判别(中断判优)中断优先级的判别(中断判优)3.中断响应中断响应4.中断处理中断处理5.中断返回中断返回10中断中断请求请求中断响应中断响应中断处理中断处理中断返回(断点恢复)中断返回(断点恢复)注意:中断过程由硬件和软件共同实现的。注意:中断过程由硬件和软件共同实现的。识别中断源识别中断源禁止中断禁止中断保护断点保护断点并并进入中断子进入中断子程序程序保护现场保护现场(开启中断以实现(开启中断以实现中断嵌套中断嵌套STI)中断服务中断服务(关中断(关中断CLI)恢复现场恢复现场中断中断判优判优3.1.2 中断处理过程中断处理过程11n确定中断优先级的方法确定中断优先级的方法1.软件排优:软件
8、排优:由由硬件电路硬件电路和和软件查询软件查询程序配合起来才能程序配合起来才能实现优先级的排队。各中断源的优先权由软件安排,实现优先级的排队。各中断源的优先权由软件安排,与硬件关系不大。与硬件关系不大。2.硬件排优:硬件排优:用专门的硬件电路或中断控制器对各中断用专门的硬件电路或中断控制器对各中断源的优先权进行安排。如源的优先权进行安排。如菊花链电路菊花链电路、可编程中断控可编程中断控制器制器(如(如8259A)3.2 3.2 中断优先权中断优先权123.3 80X863.3 80X86中断系统中断系统硬件中断硬件中断(外部中断)(外部中断)软件中断软件中断(内部中断)(内部中断)除法错中断除
9、法错中断溢出中断溢出中断断点中断断点中断单步中断单步中断软件中断软件中断非屏蔽中断非屏蔽中断可屏蔽中断可屏蔽中断中断分类中断分类中断类型码中断类型码133.3 80X863.3 80X86中断系统中断系统3.3.180X86中断结构中断结构NMIINTR中断逻辑中断逻辑软件中断软件中断INT nINT n溢出中断溢出中断除法错中断除法错中断单步中断单步中断非屏蔽中断非屏蔽中断中断控中断控制器制器8259A断点中断断点中断n40312定时器定时器键盘键盘保留保留串行通信接口串行通信接口串行通信接口串行通信接口硬盘硬盘打印机打印机软盘软盘可可屏屏蔽蔽中中断断IR0IR1IR2IR3IR4IR5IR
10、6IR7内部中断内部中断外部中断外部中断80X86中断结构图中断结构图外部硬件设备引起的外部硬件设备引起的中断,又称硬件中断。中断,又称硬件中断。又称软件中断又称软件中断CPU根据软件的根据软件的某些指令或者软件对标志寄存器某某些指令或者软件对标志寄存器某个标志位的设置而产生的,与外部个标志位的设置而产生的,与外部中断电路完全无关。中断电路完全无关。148086的中断源分类的中断源分类一、外部中断一、外部中断8086CPU提供两条引脚提供两条引脚INTR、NMI接受中断请求接受中断请求信号信号从从NMI引脚进入的中断引脚进入的中断非屏蔽中断非屏蔽中断从从INTR引脚进入的中断引脚进入的中断可屏
11、蔽中断可屏蔽中断8086CPUNMIINTR非屏蔽中断请求输入端非屏蔽中断请求输入端可屏蔽中断请求输入端可屏蔽中断请求输入端INTA中断响应信号输出端中断响应信号输出端151.非屏蔽中断(非屏蔽中断(NMI中断)中断)中断类型码中断类型码2上升沿触发申请中断上升沿触发申请中断不不受受中中断断允允许许标标志志IF的的控控制制与与影影响响(即即不不可可屏屏蔽蔽),一一旦旦NMI引引脚脚出出现现中中断断请请求求,CPU在在当当前前指指令令执执行行完完后,必须立即响应。后,必须立即响应。由由计计算算机机内内部部硬硬件件出出错错而而引引发发,一一般般用用于于处处理理紧紧急急事事件件。如如:PC机机中中内
12、内存存奇奇偶偶校校验验出出错错和和系系统统主主要要故故障障(如电源断电等)。(如电源断电等)。8086CPUNMI8086的中断源分类的中断源分类162.可屏蔽中断(可屏蔽中断(INTR中断)中断)外设申请的中断外设申请的中断电平触发电平触发受中断允许标志受中断允许标志IF控制控制8086CPUINTRINTA8086的中断源分类的中断源分类IF=1(STI),开中断,允许响应),开中断,允许响应INTR中断中断IF=0(CLI),关中断,禁止响应,关中断,禁止响应INTR中断中断当外设对当外设对CPU有服务请求,会向有服务请求,会向INTR发来一个发来一个高电平信号,并且高电平信号,并且IF
13、=1时,时,CPU在当前指令执在当前指令执行完后,响应可屏蔽中断。行完后,响应可屏蔽中断。178086CPU只有一个可屏蔽中断请求输入引脚,只有一个可屏蔽中断请求输入引脚,8086中断系中断系统设计中断控制器统设计中断控制器(8259A)管理各种外设提出的中断请求。所有管理各种外设提出的中断请求。所有外设的中断请求信号都可送至外设的中断请求信号都可送至8259A的中断请求输入端的中断请求输入端IRQ0IRQ7任何一个,任何一个,8259A选择其中优先级最高的中断请求,送至选择其中优先级最高的中断请求,送至CPU的的INTR引脚,向引脚,向CPU申请可屏蔽中断。申请可屏蔽中断。可屏蔽中断源的中断
14、类型码由可屏蔽中断源的中断类型码由8259A提供。提供。INTRINTA8086CPUINTINTA8259AIRQ0IRQ1IRQ2IRQ7可屏蔽可屏蔽中断请求中断请求输入端输入端8259A可对多个可屏蔽中断源可对多个可屏蔽中断源进行优先级控制,一片进行优先级控制,一片8259A可管理可管理8级可屏蔽中断。级可屏蔽中断。18n286以上系统使用两片以上系统使用两片8259A级联管理级联管理15级可屏蔽中断。级可屏蔽中断。比较常见的分配方式:比较常见的分配方式:IRQ0 系统定时器系统定时器IRQ1 键盘键盘IRQ2 可编程中断控制器可编程中断控制器8259AIRQ3 COM2(串口)(串口)
15、IRQ4 COM1(串口)(串口)IRQ6 软盘控制器软盘控制器IRQ7 并行口并行口LPT1IRQ8 系统系统CMOS/实时钟实时钟IRQ12 PS/2鼠标鼠标IRQ13 数学协处理器数学协处理器IRQ14 第一第一IDE控制器(硬盘)控制器(硬盘)IRQ15 第二第二IDE控制器控制器(CDROM)IRQ5 可用可用 (如声卡)(如声卡)IRQ9 可用可用 (如网卡)(如网卡)IRQ10 可用可用 (如(如USB)IRQ11 可用可用 (如(如SCSI主适配器)主适配器)PC机机外部中断外部中断分配分配可以给用户可以给用户的新添设备的新添设备使用使用系统系统隐含隐含要想计算机正常工作,要想
16、计算机正常工作,必须把中断合理分配必须把中断合理分配给外设,让它们没有给外设,让它们没有冲突。冲突。Win98以上的操作系以上的操作系统已支持统已支持PNP“即插即插即用即用”技术,它可以技术,它可以将中断进行自动分配,将中断进行自动分配,简化用户操作。简化用户操作。19二、内部中断二、内部中断不不需需要要外外部部硬硬件件支支持持,不不受受中中断断标标志志IF的的影影响响,中断类型码或包含在指令中,或预先规定。中断类型码或包含在指令中,或预先规定。8086/8088内部中断有以下内部中断有以下5种:种:n除法出错中断除法出错中断n断点中断断点中断n单步中断单步中断n溢出中断溢出中断n软件中断软
17、件中断8086的中断源分类的中断源分类208086的中断源分类的中断源分类1.除法出错中断除法出错中断类型码类型码0,CPU执行除法指令时,除数为执行除法指令时,除数为0或商或商溢出(超出规定范围,寄存器不能存放)时产生。溢出(超出规定范围,寄存器不能存放)时产生。2.溢出中断溢出中断类型码类型码4,执行执行INTO指令,且指令,且OF=1时产生。时产生。常放在带符号数加减指令后,可对溢出及时告警。常放在带符号数加减指令后,可对溢出及时告警。218086的中断源分类的中断源分类3.断点中断断点中断类型码类型码3,执行指令,执行指令INT3时产生。用于程序调时产生。用于程序调试时设置断点。试时设
18、置断点。利用断点中断的中断处理程序可进行某些特殊利用断点中断的中断处理程序可进行某些特殊处理,如显示有关寄存器或存储单元内容。断处理,如显示有关寄存器或存储单元内容。断点中断也是一种调试程序的方法。点中断也是一种调试程序的方法。228086的中断源分类的中断源分类4.单步中断单步中断类型码类型码1,TF=1时产生(当前指令需执行完)。时产生(当前指令需执行完)。用于调试程序,跟踪程序执行过程。用于调试程序,跟踪程序执行过程。单步中断的中断处理程序可显示单步中断的中断处理程序可显示CPU执行完当前指令后,执行完当前指令后,各个寄存器及有关存储单元内容。利用单步中断可一条一各个寄存器及有关存储单元
19、内容。利用单步中断可一条一条指令地跟踪程序的流程,观察条指令地跟踪程序的流程,观察CPU执行指令后,各个寄执行指令后,各个寄存器及有关存储单元内容的变化,从而指出和确定程序出存器及有关存储单元内容的变化,从而指出和确定程序出错的地方和产生错误的原因。单步中断是一种调试程序的错的地方和产生错误的原因。单步中断是一种调试程序的方法,用方法,用T命令也可实现。命令也可实现。238086的中断源分类的中断源分类说明:说明:1.处理中断时,处理中断时,CPU把标志寄存器压栈,清除把标志寄存器压栈,清除TF和和IF。当当CPU进入单步处理程序时,不再处于单步工作方式,进入单步处理程序时,不再处于单步工作方
20、式,单步工作方式结束时,恢复原标志,单步工作方式结束时,恢复原标志,CPU返回单步方返回单步方式。式。2.80X86中没有设置或清除中没有设置或清除TF的指令。的指令。PUSHFPOPAXORAX,0100HPUSHAXPOPF248086的中断源分类的中断源分类5.软中断软中断由设置在程序中的由设置在程序中的INTn指令产生(指令产生(n类型码类型码)PC机机中中,用用不不同同类类型型码码编编成成标标准准中中断断服服务务子子程程序序,用用户户可可使使用用INTn调调用用。因因此此软软件件中中断断相相当当于于调调用用子程序。子程序。主主要要用用于于实实现现ROMBIOS中中断断、DOS中中断断
21、调调用用、用户自定义中断。用户自定义中断。25内部中断内部中断(除法错中断、溢出(除法错中断、溢出中断、断点中断、中断、断点中断、软件中断)软件中断)NMI中断中断INTR中断中断单步中断单步中断8086中断源优先级顺序中断源优先级顺序优优先先级级由由高高至至低低对同时产生的中断:对同时产生的中断:首先处理优先级别较高首先处理优先级别较高的中断;若优先级别相的中断;若优先级别相同,则按先来先服务的同,则按先来先服务的原则处理;原则处理;对非同时产生的中断:对非同时产生的中断:允许低优先级别的中断允许低优先级别的中断处理程序被高优先级别处理程序被高优先级别的中断源所中断的中断源所中断中中断嵌套。
22、断嵌套。263.3.2 中断向量表中断向量表中断向量中断向量中断服务程序的中断服务程序的入口地址入口地址。段地址和偏移地址段地址和偏移地址每个每个每个每个中断处理程序中断处理程序中断处理程序中断处理程序都有一个都有一个都有一个都有一个唯一唯一唯一唯一的的的的中断向量中断向量中断向量中断向量。INT_PROCPROCPUSHDXPUSHAXIRETINT_PROCENDPINC_PROCPUSH DXPUSH AXIRET中断服务程序中断服务程序入口地址入口地址27u在内存的在内存的00000H003FFH地址范地址范围内围内,大小为,大小为1KB。中断向量地址中断向量地址 类型类型0中断向量中
23、断向量00000H类型类型1中断向量中断向量00008H00004H段地址段地址偏移地址偏移地址003FFH类型类型2中断向量中断向量FFFFFH类型类型255中断向量中断向量003FCH内存内存3.3.2 中断向量表中断向量表IVTu按中断类型码从小到大顺序依次按中断类型码从小到大顺序依次存放各类中断(存放各类中断(256种)的中断种)的中断向量(中断服务程序入口地址)。向量(中断服务程序入口地址)。u每个中断向量占用每个中断向量占用4 Bytes,低字为段内偏移地址(低字为段内偏移地址(IP),),高字为段基址(高字为段基址(CS)。)。u中断类型码中断类型码与中断向量地址的与中断向量地址
24、的关系关系:设某类中断的设某类中断的中断类型码中断类型码为为n 中断向量在中断向量在IVT中的存放地中的存放地址(向量地址)址(向量地址)4n28IP中断类型码与中断向量所在位置(中断向量地址指针)中断类型码与中断向量所在位置(中断向量地址指针)之间的对应关系为:之间的对应关系为:中断向量地址指针中断向量地址指针=4*中断类型码中断类型码CS5 5个个2727个个224224个个3FC294 n向量地址向量地址CPU获得中断类型码后,如何转去执行相应获得中断类型码后,如何转去执行相应 的中断服的中断服务程序?务程序?入口地址的入口地址的偏移地址偏移地址入口地址的入口地址的段基址段基址IPCS假
25、设假设CPU响应中断类型码为响应中断类型码为n的中断的中断由于所有中断服务程序的入口地址都放在中断向量表中,首由于所有中断服务程序的入口地址都放在中断向量表中,首先需将类型码转换为向量地址先需将类型码转换为向量地址即可转入相应中断服务程序执行。即可转入相应中断服务程序执行。查表取得中断向量查表取得中断向量字单元(字单元(4n,4n+1)字单元(字单元(4n+2,4n+3)3.3.2 中断向量表中断向量表30例、例、某系统中键盘中断的类型码为某系统中键盘中断的类型码为09H,试问其对,试问其对应中断服务程序的入口地址?应中断服务程序的入口地址?1)中断向量的存放地址)中断向量的存放地址由由4 n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 接口 PPT 课件 中断 技术
限制150内