微机原理伍-中断

上传人:仙*** 文档编号:244093830 上传时间:2024-10-02 格式:PPT 页数:50 大小:1.58MB
返回 下载 相关 举报
微机原理伍-中断_第1页
第1页 / 共50页
微机原理伍-中断_第2页
第2页 / 共50页
微机原理伍-中断_第3页
第3页 / 共50页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第七章,中断,第七章 中 断,7.1,中断与中断控制,7.2,可编程中断控制器,8259A,7.3,中断向量表的建立方法,7.4 CPU,的中断处理顺序,7.1,中断与中断控制,1.,中断的概念,中断 (中断,/,异常),中断源 中断请求 中断响应 中断处理 中断返回,2.,中断分类,按中断源的性质可以把中断分类,:,(1).,外部硬件中断,中断源是外部硬电路。通过,CPU,的,NMI,引脚或,INTR,引脚向,CPU,提出中断请求。,INTR:,可屏蔽中断,受,CPU,内标志寄存器中,IF,位的屏蔽,NMI:,非屏蔽中断,不受,IF,位的屏蔽。,CPU,每执行完,一条指令,,检测,NMI,和,INTR,引脚上有无中断请求。,(2).,内部异常中断,中断源是,CPU,内部正在执行的过程发生的异常情况。,如除法操作时结果太大,(,分母太小,),;,访问某个页或段时,该页或段正好不在内存;,系统的硬件 、软件,(,各种系统用表,),发生错误。,3.,中断优先顺序,CPU,的中断优先权排列从高到低为:,(,1,)除法出错中断,溢出中断,,INT n,(,2,),NMI,(非屏蔽),(,3,),INTR,(可屏蔽),(,4,)单步中断,4.,中断类型码,中断类型码是连接中断源和中断处理程序的,唯一桥梁,。,80X86,可处理,256,级中断,,中断类型码可以是,0,255,,,一部分由系统占用,一部分用户可以支配。,比如:除法错误(,n=0,) 调试异常(,n=1,),NMI,中断(,n=2,) 断点中断(,n=3,),溢出中断(,n=4,),5.,中断处理顺序,6.,中,断向量表和中断描述符表,每个中断都分配有中断类型码,,CPU,通过中断类型码,经过处理要找到对应的中断服务程序的,入口地址,。,.,实模式: 由,中断向量表,将中断类型码和中断服务,程序的入口地址联系起来;,.,保护模式:是由,中断描述符表,来对二者进行联系。,实模式下几个重要概念:,中断向量表,:设置在系统,RAM,的最低端,00000H,003FFH,的,1K,字节内,表中共有,256,个中断类型码对应的向量,值。(,256*4=1K,),中断向量,:每个向量占用,4,个字节,称为中断向量。,前,2,个字节为中断服务程序入口地址的,偏移地址,IP,,,后,2,个字节为服务程序的,段基址,CS,。,向量地址,:这,4,个单元的地址中的,最小地址,称为向量地址。,规定,:中断向量表中各向量,等长,,且处理程序入口地址在,向量表中按中断源的,类型码排序,。,重要公式,:,向量地址 向量表的首地址,+,中断类型码*,4,讨论,:,已知中断类型码,n,,如何得到中断服务程序入口地址,?,保护模式,:,.,中断描述符表(,IDT,):在内存中的首地址保存在,CPU,内部的,IDTR,系统寄存器中。,.CPU,响应中断过程中,,CPU,把中断类型码,乘以,8,,与,IDTR,中的,基地址相加,,指示,中断描述符表中的某一中断门或陷阱门,(8,个字节组成,),。,.CPU,将,门描述符,中的,选择符,送,CS,寄存器,并根据选择符中,TI,位从,LDT,或,GDT,中选择一个,段描述符,,送入,CS,的段描述符寄存器中。,.,由,段描述符,中的,基地址,和,门描述符,中的,偏移地址,确定中断服务程序的入口地址。,7.3,中断向量表的建立方法,7.3.1,绝对地址置入法,AT,指定段地址,(16,位,),,,ORG,指定偏移地址,用,DD,伪指令将中断服务程序的首地址装入。,INTTBL SEGMENT AT 0,ORG n*4,DD,INT_VCE,INTTBL ENDS,MCODE SEGMENT,;主程序,INT_VCE,PROC FAR,;中断服务程序,IRET,7.3.2,使用串指令装入法,ES,设定为,0,,,DI,中设定为,n*4,,使用,STOSW,指令、即可完成中断服务程序首地址的装入。,CLI,;禁止中断,MOV AX,,,0,MOV ES,,,AX,;置向量表,段地址,MOV DI,,,n*4H,;置向量表,偏移地址,MOV AX,,,OFFSET INT_VCE,;中断服务程序,偏移地址,CLD,STOSW,MOV AX,,,SEG INTV_CE,;中断服务程序,段地址,STOSW,STI,7.3.3,使用,DOS,调用法,利用,DOS,中断,21H,以及专门为更新中断服务程序地址的,25H,号功能来设置中断地址。,使用,25H,功能时要求:,AL=,中断类型号,,DSDX=,中断服务程序首地址的段、偏移地址。,PUSH DS,;保存当前数据段,MOV DX,,,SEG INT60H,MOV,DS,,,DX,MOV,DX,,,OFFSET INT60H,MOV,AL,,,60H,;设中断类型号为,60H,MOV AH,,,25H,INT 21H,POP DS,7.3.4,直接接入法,例:外设的中断类型号为,6BH,,设中断服务程序,段地址,为,1000H,,,偏移地址为,2000H,。建立中断向量表。,重要概念,中断向量表,:设置在系统,RAM,的最低端,00000H,003FFH,的,1K,字节内,表中共有,256,个中断类型码对应的,向量值。(,256*4=1K,),中断向量,:每个向量占用,4,个字节,称为中断向量。,前两个字节,为中断服务程序入口地址的,偏移地址,IP,,,后两个字节,为服务程序的,段基址,CS,。,中断向量表,将中断类型码和中断服务程序的,入口地址联系起来,中断类型号(,6BH,)对应的中断向量表地址为:,从,001ACH,开始的,4,个存储单元,6BH4,001ACH,00H,20H,00H,10H,001ACH,中断向量表,IP,地址,CS,地址,中断类型号,n4,中断服务程序,IP,、,CS,地址,编程建立中断向量表:,XOR AX,,,AX,MOV DS,,,AX,;指向,0,段,MOV AX,,,2000H,MOV WORD PTR 01ACH,AX,;置,偏移地址,MOV AX,,,1000H,MOV WORD PTR 01ACH+2,AX,;置,段地址,7.2,可编程中断控制器,8259A,7.2.1 8259A,的内部结构及管脚分配,特点:可编程、八级向量优先中断、级连、优先权动态地改变。,1.,中断请求寄存器,(IRR),中断请求,IR7-IR0,,当某个为高电平时,,IRR,相应位置,“,1,”,。,2.,中断服务寄存器,(ISR),任何一级中断被响应,执行其中断服务程序,,ISR,相应位置,“,1,”,。多重中断情况下,,ISR,中多位被同时置,“,1,”,。,3.,优先权判别器,(PR),当,IR7-IR0,中有多个中断请求信号同时产生时,,PR,判定哪个,中断请求具有最高优先权,并把它置入,ISR,的相应位。,4 .,中断屏蔽寄存器,(IMR),通过,IMR,可实现对各级中断的有选择的屏蔽。,5.,级联,(中断最多扩展到,64,级),一片,8259A,只能接收,8,级,中断,当超过,8,级时,可用多片,8259A,级联,使用,构成主从关系。,连线要求:,.,主,8259A,:级联信号,CAS,2,-CAS,0,是输出信号;,SP,端为,“,1,”,.,从,8259A,:级联信号,CAS,2,-CAS,0,是输入信号;,SP,端为,“,0,”,.,从,8259A,的,INT,输出接到主的中断输入端,IR,上,例:,3,片级联,6.,控制电路,根据,IRR,的置位情况和优先权判别器,PR,的判定结果,向,8259A,内部其它部件发出控制信号,并向,CPU,发出,中断请求,INT,和接收来自,CPU,的,中断响应,INTA,。,7.,读,/,写控制逻辑,A,0,:,8259A,占两个,I/O,端口地址,用,A,0,来选,CS,:端口地址的其它高位由片选信号端输入。,RD,:读信号,WR,:写信号,8.,数据总线缓冲器,双向,8,位三态缓冲器,构成,8259A,与,CPU,之间的数据接口。,二、,8259A,的管脚分配,4,类:,与外部设备连接的中断请求输入管脚,IR,0,-IR,7,;,与,CPU,连接的数据通路和控制信号:,D,0,-D,7,WR,,,RD,INTA,INT,;,用于,8259A,级联的管脚,CAS,0,-CAS,2,SP/,EN,;,端口地址选择信号,CS,A,0,。,7.2.2 8259A,的中断管理方式,一、中断优先权管理,(4,种,),1.,完全嵌套方式,固定,优先权,:IR,0,IR,1,IR,7,。,高优先级的中断可进入低优先级,但低优先级不能,进入高优称级或同等优先级。,2.,自动循环方式,IR,0,-IR,7,轮流,具有最高优先权。,当任何一级中断被处理完,它的优先级别就被改变,为最低,而最高优先级分配给该中断的下一级中断。,3.,中断屏蔽方式,普通屏蔽,:,在中断屏蔽寄存器,IMR,中,将某一位或几位,置,“,1,”,来屏蔽掉相应级别的中断请求。,特殊屏蔽,:,可使低优先级别的中断进入正在服务的,高优先级别中。,4.,特殊完全嵌套方式,(,用于级联情况,),接在,主片,IR3,上的从片比接在,IR4,上的从片,具有高的优先权;,而,主片上,IR0,IR1,IR2,上的中断比从片具有高优先权。,二、,8259A,中断结束的管理方式,中断结束的管理就是用不同的方式使,ISR,的相应位清,“,0,”,,,并确定下面的优先排队。,.,完全嵌套情况,.,自动循环情况,.,特殊完全嵌套情况,8259A,的内部结构,7.2.3 8259A,的编程,8259A,是一个可编程器件,在正常操作之前,用程序规定,其优先权管理方式、中断结束方式、级联的引入等,这段程序称为可编程器件的,初始化,8259A,的初始化,预置命令字,ICW,1,-ICW,4,操作命令字,OCW,1,-OCW,3,但:不是任何情况下都需要设置,4,个预命令,,可根据,8259A,的使用情况而定。,预置命令字(,4,个字,ICW1-ICW4,),是要按规定,顺序,写入,8259A,中的。,8259A,的初始化,预置命令字,ICW,1,-ICW,4,操作命令字,OCW,1,-OCW,3,预置命令字顺序流程,(级联时用,ICW,3,),预置命令字,功能:,ICW,1,8259A,是单一式还是主从式;,ICW,2,设置,8,个中断请求设备的类型号;,ICW,3,若为主从式则规定主,8259A,中每个,IR,端是否带,从,8259A,,从,8259A,则要规定从主,8259A,的哪个,IR,端引入;,ICW,4,完成中断管理方式的设定。,第二部分称操作命令字,OCW,1,-OCW,3,,,8259A,通过,预置命令字初始化后(即,ICW1-ICW4,初始化),,自动进入操作模式。无需按顺序写入。,8259A,占两个端口地址(用,A,0,选择),,每个命令字写入,8259A,后被存入相应的寄存器中,一、预置命令字,1.,ICW,1,的格式,D,1,=1,,使用单片,8259A,;,D,1,=0,,,8259A,级联。,D,3,=1,电平触发方式;,D,3,=0,上升沿有效的边缘触发方式。,1,LTIM,1,0,A,0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,SNGL,2. ICW,2,的格式,(提供中断类型号),中断类型号的,高,5,位,由用户指定,,低,3,位,由,8259A,的,中断请求输入端,IR,7,-IR,0,的编码决定。,ICW,2,提供的,中断类型码是,连续,的。,(,在,ICW,2,中,用户指定高,5,位后,当,8259A,的某个,IR,端有,中断请求,就自动填入相应,IR,的编码到,ICW,2,的低,3,位),T,7,T,6,T,5,T,4,T,3,IR,编码,1,A,0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,3. ICW,3,的格式,只有在,8259A,有,级联,的情况下使用,主片和从片的,ICW,3,格式不同,,主片的,ICW,3,表明主,8259A,的哪个,IR,端接有从,8259A,。,从片的,ICW,3,表明它接在主,8259A,的哪个,IR,端。,主,8259A,的,ICW,3,格式为:,每位对应一个相应的,IR,端,若某个,IR,上,接有从,8259A,,则该位为,1,,否则为,0,。,S,3,S,4,S,5,S,6,S,7,A,0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,1,S,2,S,1,S,0,从,8259A,的,ICW,3,格式为:,ID,2,-ID,0,为该从,8259A,接入主,8259A,的,IR,端的编码,。,A,0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,1,ID,2,ID,1,ID,0,4. ICW,4,的格式,.AEOI:,定义是否采用自动中断结束方式。,D1=1,为自动,EOI,,,D1=0,为正常,EOI,。,.SFNM:,有级联时定义,,D4=1,为特殊完全嵌套方式,,D4=0,为 非特殊完全嵌套方式。,.BUF,及,M/S,:,0X,非缓冲方式;,10,缓冲方式从片;,11,缓冲方式主片。,BUF,SFNM,0,0,0,A,0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,1,M/S,AEOI,1,二、操作命令字,1.OCW,1,的格式,实现,屏蔽,功能,,OCW,1,的内容被置入中断屏蔽寄存器,IMR,中,,D,i,为,“,1,”,:,禁止,对应的,IR,端的中断请求,.,D,i,为,“,0,”,:,允许,对应的,IR,端的中断请求,.,OCW,1,的格式如下:,M,3,M,4,M,5,M,6,M,7,A,0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,1,M,2,M,1,M,0,2. OCW,2,的格式,控制,中断结束,,优先权循环等操作。,L,2,-L,0,:编码指定相应的,IR,端为当前结束中断。,R SL EOI,功能,0 0 1,一般,EOI,命令,0 1 1,特殊,EOI,命令,1 0 1,自动循环的一般,EOI,命令,1 0 0,设置自动循环,AEOI,方式,0 0 0,清除自动循环,AEOI,方式,1 1 1,自动循环特殊,EOI,命令,1 1 0,置位优先权命令,0 1 0,无效,0,0,EOI,SL,R,A,0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,0,L,2,L,1,L,0,3. OCW,3,的格式,控制,8259A,的,中断屏蔽,和读取寄存器的状态。,.ESMM,及,SMM,:,0X-,无用;,10-,清除特殊屏蔽;,11-,设置特殊屏蔽,.P=1,,查询中断;,P=0,,非查询中断;,.RR,及,RIS,:,0X-,无用;,10-,随后读,IRR,;,11-,随后读,ISR,1,0,SMM,ESMM,X,A,0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,0,P,RR,RIS,单片,8259A,初始化程序格式:(端口地址为,8,位),MOV AL,ICW1,命令字,OUT,端口地址(,A,0,=0,),,AL,MOV AL,ICW2,命令字,OUT,端口地址(,A,0,=1,),,AL,MOV AL,ICW4,命令字,OUT,端口地址(,A,0,=1,),,AL,例,7.1,在某个,8086,最小方式系统中接有,一片,8259A,,有一外设,中断请求从,IR,7,引入,,8259A,的端口地址及外设申请中断,的中断类型号由图给出,试写出,8259A,的初始化程序。,端口地址分析:,84H,、,86H,中断类型号分析:,初始化程序:,INTRRUP SEGMENT AT 0,ORG 0C7H*4,DD INTC7,INTRRUP ENDS,INTC7 ,MAIN SEGMENT, ,CLI,;关中断,MOV AL,,,13H ; ICW1,OUT 84H,,,AL,MOV AL,,,0C7H ; ICW2,OUT 86H,,,AL,MOV AL,,,01 ; ICW4,OUT 86H,,,AL,STI,;开中断,MAIN ENDS,例,7.2,8259A,的级联使用。某系统有两片,8259A,,,.,从片,8259A,接主片的,IR4,,,主片,的,IR2,和,IR5,有外部中断引入,从片,IR0,和,IR3,上也分别有外设中断引入。,.,主片中断类型号分别为,62H,,,65H,,中断服务程序在同一段中,段地址为,2000H,,两个中断服务的偏移地址为,2500H,和,2600H,。,.,从片中断类型号分别为,40H,,,43H,,中断服务程序也在同一段中,段地址为,4000H,,偏移地址为,2640H,和,4620H,试分别写出主,8259A,和从,8259A,的初始化程序。,级联图,主片,8259A,,设定如下要求:,(1),主,8259A,有级联,从,IR4,引入;,(2),中断请求信号以边沿触发;,(3),中断类型号为,60H-67H,;,(4),采用特殊完全嵌套方式;,(5),采用非自动结束,EOI,,非缓冲方式,,SP=1,;,(6),采用一般,EOI,结束方式;,(7),屏蔽,IR2,IR4,和,IR5,以外的中断源,。,主片,8259A,的初始化程序如下:,MOV AL,,,11H,;,ICW1, A0=0,MOV DX,,,MPORT0,OUT DX,,,AL,MOV AL,,,62H,;,ICW2, A0=1,MOV DX,,,MPORT1,OUT DX,,,AL,MOV AL,,,10H,;,ICW3, A0=1,OUT DX,,,AL,MOV AL,,,11H,;,ICW4, A0=1,OUT DX,,,AL,MOV AL,,,0CBH,;,OCW1, A0=1,OUT DX,,,AL,MOV AL,,,20H,;,OCW2, A0=0,MOV DX,,,MPORT0,OUT DX,,,AL,从片,8259A,的要求为:,(1),从片,8259A,接在主片,IR4,上;,(2),中断请求信号为边沿触发;,(3),中断类型号分别为,40H,47H,;,(4),采用特殊完全嵌套方式;,(5),采用非自动结束,EOI,,非缓冲方式,,SP=0,;,(6),采用一般,EOI,结束;,(7),屏蔽掉,IR0,和,IR3,以外的中断源。,从片,8259A,的初始化程序为:,MOV AL,,,11H,;,ICW1,A0=0,MOV DX,,,SPORT0,OUT DX,,,AL,MOV AL,,,40H,;,ICW2,A0=1,MOV DX,,,SPORT1,OUT DX,,,AL,MOV AL,,,04,;,ICW3,A0=1,OUT DX,,,AL,MOV AL,,,11H,;,ICW4,A0=1,OUT DX,,,AL,MOV AL,,,0F6H,;,OCW1,A0=1,OUT DX,,,AL,MOV AL,,,20H,;,OCW2,A0=0,MOV DX,,,SPORT0,OUT DX,,,AL,将中断服务程序地址置入中断地址入口表中:,SEGMENT AT 0,ORG 40H*4,SINTR0 DW 2640H,;从片,IR0,中断服务地址,DW 4000H,ORG 43H*4,SINTR3 DW 4620H,;从片,IR3,中断服务地址,DW 4000H,ORG 62H*4,MINTR2 DW 2500H,;主片,IR2,中断服务地址,DW 2000H,ORG 65H*4,;主片,IR5,中断服务地址,MINTR5 DW 2600H,DW 2000H,例,7.3,系统正在处理由,8259A,的,IR3,引入的中断,而,临时有一个,低优先级别,的中断要紧急处理,,一般情况下是不允许的,但,8259A,利用设置,操作命令字,(OCW3),可以做到这点,对,8259A,设置特殊屏蔽方式,(SMM,位,),使运行的中断暂时,停止,一直维持到,SMM,复位。,IR3,服务程序,CLI,;关中断,MOV AL,,,08H,;屏蔽,IR3,,,OCW1,MOV DX,,,PORT1,OUT DX,,,AL,MOV AL,,,68H,;,OCW3,SMM,位置“,1”,MOV DX,,,PORT0,OUT DX,,,AL,STI,;开中断,.,;低优先级中断处理,CLI,;关中断,MOV AL,,,48H,;,OCW3,SMM,复位,MOV DX,,,PORT0,OUT DX,,,AL,MOV AL,,,00H,;,OCW1,,开放,IR3,MOV DX,,,PORT1,OUT DX,,,AL,STI,;开中断,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!