收藏 分销(赏)

第15讲 中断与中断系统.ppt

上传人:s4****5z 文档编号:13965541 上传时间:2026-05-18 格式:PPT 页数:41 大小:436KB 下载积分:10 金币
下载 相关 举报
第15讲 中断与中断系统.ppt_第1页
第1页 / 共41页
第15讲 中断与中断系统.ppt_第2页
第2页 / 共41页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,15,讲 中断与中断系统,本讲主要内容,(,1,)中断概念及其中断分类;,(,2,)中断处理过程;,(,3,)中断优先级和中断嵌套;,一、概述,1,、相关概念,CPU,正常运行程序时,由于微处理器内部事件或外设请求,引起,CPU,中断,正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,中断服务程序执行完毕,再返回被中止的程序,这一过程称为中断。,利用中断可以避免不断检测外部设备状态,提高,CPU,的效率。,(,1,)中断源:,引起程序中断的事件。,中断源有外部中断和内部中断。,(,2),中断响应:,中断请求发生是随机的。,CPU,在每条指令最后一个,T,状态,检测,INTR,,如有请求且,IF=1,,,CPU,响应中断,向外设发出,INTA,,保护断点,执行中断服务程序后返回。,(3),中断向量表:,存放中断服务程序入口地址的内存区域。,(4),中断优先级:,中断被响应的顺序。,(5),中断屏蔽:,可由软件设置当中断源申请中断时使之不被响应,称为中断屏蔽。,2,、中断的分类,外部中断,内部中断,可屏蔽中断,不可屏蔽中断,8086,系统的中断分类,INT n,指令,中 断 逻 辑,断点中断,(,INT 3,),溢出中断,(,INTO,OF=1,),单步中断,(TF=1,),除法错,中断,软件中断,非屏蔽中断请求,中,断,控,制,器,(,8259A,),NMI,INTR,IRQ,0,.,.,.,IRQ,7,可 屏 蔽 中 断,硬件中断,(,1,)外部中断,也称作,硬件中断,,由外部硬件产生。分为不可屏蔽中断和可屏蔽中断。,不可屏蔽中断,由,NMI,引脚引入,边沿触发,上升沿之后维持两个时钟高电平有效。,三种原因,引起:,DRAM,奇偶校验错;,I/O,通道扩展板奇偶校验错;,8087,有中断请求。,中断类型号为,2,。即中断服务程序入口地址在,00008H-0000BH,。,可屏蔽中断,由,INTR,引脚引入,电平触发,高电平有效,且必须维持到,CPU,响应。,受到,IF,位,影响,,IF=1,,允许中断,否则禁止。,用以,管理外设,的中断请求。,外设中断请求连接到,8259,,,8259,中断输出接到,INTR,。,中断屏蔽,优先权,类型号可通过对,8259,编程设置。,(,2,)内部中断,也称作软件中断,由三种情况引起:,由,INT,指令,引起;,由,CPU,的某些,运算错误,引起;,由调试程序,Debug,设置的中断。,原因:,由中断指令,INT,引起的中断,CPU,执行,INT n,,立即产生一个中断。,中断服务程序入口地址存放在中断向量表中,位置,n*4,。,由,CPU,某些运算错误引起的中断,除法错中断:,中断类型号,0,;,除法运算除数为,0,或商超过寄存器范围时产生。,溢出中断:,中断类型号,4,;,专用指令,INTO,。,例:测试加法的溢出,ADDAX,,,1000,INTO,单步中断:,由,Debug T,命令产生。,TF=1,,每条指令执行后,,CPU,自动产生此中断。,中断类型号,1,。,断点中断:,由,Debug G,命令产生,;,中断类型号为,3,。,由调试程序,Debug,设置的中断,内部中断的特点是:,中断类型码由,CPU,内部自动,提供,不需要执行中断响应总线周期(,INTA,总线周期)去读取中断类型码。,除,单步中断,外,所有内部中断都,不可以,用软件的方法来,禁止,(屏蔽)。单步中断可以通过软件将,TF,标志置,1,或清,0,来予以允许或禁止。,除单步中断外,所有内部中断的,优先级,都比外部中断,高,。,二、中断处理过程,1,、,CPU,响应中断的过程,中断请求,中断响应,保护现场,转入执行中断服务子程序,恢复现场和中断返回,可屏蔽中断全过程,INTR,_,INTA,IP,CS,PSW(FR),中断类型码寄存器,CPU,完成现行指令,,发出中断响应信号,Q,中断,请求,中断,屏蔽,接口发中断请求信号,INTR,CPU,读取中断类型码,N,新的(,IP,),新的(,CS,),旧的(,IP,),旧的(,CS,),旧的(,PSW,),被中断,的程序,.,.,.,.,.,STI,.,.,.,IRET,中断服务程序,.,.,.,存储器,中断向量表,16,位,4N,4N+2,清除,IF,和,TF,转入,中断服务,程序,返回被中,断的程序,开放中断,(可选),现行,PSW,、,CS,、,IP,压栈,IRET,指令使,旧的,IP,、,CS,、,PSW,弹出堆栈,CPU,外设接口,取,CS,、,IP,新值,8086,中断响应和中断处理过程,结束当前指令,除法错,,INTO,INT n?,NMI,INTR?,TF=1?,执行下一条指令,N,N,N,N,IF=1?,N,Y,Y,Y,Y,Y,内部自动形成中断类型码,N,读中断类型码,N,标志压入堆栈,清除,IF,和,TF,CS,和,IP,压入堆栈,(4N,4N+1),IP,(4N+2,4N+3),CS,执行用户中断处理程序,IP,、,CS,出栈,标志寄存器出栈,返回被中断的主程序,NMI?,Y,N,执行,IRET,指令,2,、中断向量表,寻找中断源可以用,查询中断,和,矢量中断,两种方法。,查询中断,采用,软件查询,方法,中断响应后启动中断查询程序,依次查询哪个设备的中断请求触发器为,1,,检测到后,转向此设备的中断服务程序入口地址。,矢量中断:,将每个设备的,中断服务程序的入口地址,集中,依次存放在,中断向量表,中。,当,CPU,响应中断后,根据提供的,中断类型号,查找,中断向量表,,然后,CPU,转入,中断服务子程序,。,(,1,)中断向量表,所谓,中断向量,,实际上就是,中断服务程序的入口地址,,每个中断类型对应一个中断向量。,每个中断向量占,4,字节的存储单元。,8086,系统允许处理,256,种类型的中断,对应,中断类型号,0-FFH,。在存储器,00000H-003FFH,,用来存放中断向量。这一存储空间就叫,中断向量表。,实模式系统的中断向量表,CS,IP,CS,IP,CS,IP,CS,IP,CS,IP,CS,IP,CS,IP,类型,255,(十进制),类型,32,类型,31,(十进制),供用户定义的中断,(共,224,个),类型,5,类型,4,类型,3,类型,2,类型,1,类型,0,保留的中断,(共,27,个),专用的中断,(共,5,个),0000:03FFH,0000:007FH,0000:007EH,0000:0014H,0000:0013H,0000:0010H,0000:000FH,0000:000CH,0000:000BH,0000:0008H,0000:0007H,0000:0004H,0000:0003H,0000:0000H,溢出中断,断点中断,非屏蔽中断,单步中断,除数为,0,中断,由于,中断向量,在,中断向量表,中是按,中断类型号,顺序存放的,所以,中断向量地址,=,中断类型号,4,例,若,中断类型码,为,3,,则由,中断类型号,取得,中断服务程序入口地址,的过程如图所示。,00H(IP,L,),0AH(IP,H,),00H(CS,L,),1EH(CS,H,),中断服务程序,00000H,00001H,0000CH,(0000:000CH),1EA00H,(1E00:0A00H),FFFFFH,高地址,低地址,中断类型号,34,000CH,(,中断向量表地址),中断向量表,思考,:区分以下概念:,中断向量,中断类型号,中断服务程序入口地址,中断向量地址,中断向量表,(,2,)中断向量的设置,IBMPC,机对,256,种中断类型已进行地址分配:,中断类型号,04,:专用中断;,中断类型号,531,:系统使用中断;,中断类型号,10H3FH,:,DOS,中断调用;,用户定义中断,软中断,(INT n),可屏蔽硬件中断,(8259,引入,),使用时用户要自己将,中断服务程序入口地址,置入,中断向量表,中,中断类型号,所对应的位置。,方式一:用指令来设置中断服务程序的入口地址到中断类型号,n,所对应的中断向量表中。,MOVAX,0,MOVES,AX,MOVDI,N*4,MOVAX,OFFSET INTRAD,CLD,STOSW,MOVAX,SEG INTRAD,STOSW,STI,INTRAD:PUSHAX,STI,POPAX,IRET,方式二:用,DOS,功能调用实现,设置中断向量:,预设,:,AL=,中断类型号,DS,:,DX=,中断服务程序入口地址,AH=25H,执行:,INT 21H,功能:,把由,AL,中指定的中断类型号的中断向量,DS,:,DX,放置在中断向量表中。,取中断向量:,预设,:,AL=,中断类型号,AH=35H,执行:,INT 21H,返回:,ES,:,BX=,中断服务程序入口地址,功能:,把由,AL,中指定的中断类型号的中断向量从中断向量表取到,ES:BX,中。,例,2,:,利用,DOS,功能调用设置中断向量和取中断向量,MOV AL,N ;,取中断向量,MOV AH,35H,INT 21H,PUSH ES,;存中断向量,PUSH BX,PUSH DS,MOV AX,SEG INTRAD,;设置中断向量,MOV DS,AX,MOV DX,OFFSET INTRAD,MOV AL,N,MOV AH,25H,INT 21H,POP DX,;恢复原中断向量,POP DS,MOV AL,N,MOV AH,25H,INT 21H,RET,(,3,)中断类型号的获取,对于除法中断,单步中断,不可屏蔽中断,NMI,,断点中断和溢出中断,,CPU,分别自动提供中断类型号,04,。,对于用户自己确定的软件中断,INT,n,(包括系统定义使用的),中断类型号由,n,决定。,对外部可屏蔽中断,INTR,,由,8259A,获得中断类型号。,3,、中断服务子程序,保护现场,若允许中断嵌套,则用,STI,开中断。,执行中断处理程序。,用,CLI,关中断。,发中断结束命令(针对,8259,)。,恢复现场。,用,IRET,返回。,三、中断优先级和中断嵌套,在实际系统中,,多个中断请求,可能同时出现,但中断系统只能按一定的次序来响应和处理,这时,CPU,必须确定服务的次序。这个响应次序称为,中断优先级,。,80 x86,实模式中断优先级,中断,优先级,除法错,,INT n,,,INTO,最高,NMI,INTR,单步,最低,对,可屏蔽中断,的优先级设定有两种方法。,(,1,)软件查询中断优先级,磁盘,磁带,CRT,显示,键盘输入,打印输出,电,源,故,障,纸带输入,保留,INTR,1,、中断优先级,保护现场,恢复现场,A,申请服务?,B,申请服务?,C,申请服务?,外设,A,中断服务程序,N,N,N,外设,B,中断服务程序,外设,C,中断服务程序,Y,Y,Y,(,2),硬件查询优先方式,菊花链法,中断请求,CPU,INTR,接口,设备,3,接口,设备,2,接口,设备,1,菊花链,逻辑,菊花链,逻辑,菊花链,逻辑,中断响应信号,集电极开路门,+5V,中断,请求,信号,(,高电平有效,),中断响应信号,(低电平有效),INTR,2,、中断嵌套,当,CPU,正在执行优先级较低的中断服务程序时,允许响应比它优先级高的中断请求,而将正在处理的中断暂时挂起,这就是,中断嵌套,。,此时,,CPU,首先为级别高的中断服务,待优先级高的中断服务结束后,再返回到刚才被中断的较低的那一级,继续为它进行中断服务。,.,.,.,.,.,STI,(EOI),IRET,STI,(EOI),IRET,.,STI,(EOI),IRET,主程序,IR2,处理程序,IR1,处理程序,IR4,处理程序,IR3,处理程序,IR2,中断清除,IR4,中断请求,IR1,中断请求,IR2,和,IR4,中断请求,.,STI,(EOI),IRET,主程序必需有开中断指令,才能允许其他中断进入实现中断嵌套。,中断结束返回前要有,EOI,中断结束命令,允许低级中断进入。,中断返回时要执行,IRET,指令,使程序返回到被中断的程序断点处。,如果在中断服务程序中没有开中断,返回主程序后是否允许中断?,说明:,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服