微机原理伍-中断

上传人:wt****50 文档编号:54793831 上传时间:2018-09-19 格式:PPT 页数:50 大小:1.58MB
返回 下载 相关 举报
微机原理伍-中断_第1页
第1页 / 共50页
微机原理伍-中断_第2页
第2页 / 共50页
微机原理伍-中断_第3页
第3页 / 共50页
微机原理伍-中断_第4页
第4页 / 共50页
微机原理伍-中断_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《微机原理伍-中断》由会员分享,可在线阅读,更多相关《微机原理伍-中断(50页珍藏版)》请在金锄头文库上搜索。

1、第七章 中 断,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内

2、部正在执行的过程发生的异常情况。 如除法操作时结果太大 (分母太小) ; 访问某个页或段时,该页或段正好不在内存; 系统的硬件 、软件 (各种系统用表)发生错误。,3. 中断优先顺序 CPU的中断优先权排列从高到低为: (1)除法出错中断,溢出中断,INT n (2)NMI(非屏蔽) (3)INTR(可屏蔽) (4)单步中断 4. 中断类型码 中断类型码是连接中断源和中断处理程序的唯一桥梁。 80X86可处理256级中断,中断类型码可以是0255, 一部分由系统占用,一部分用户可以支配。 比如:除法错误(n=0) 调试异常(n=1) NMI中断(n=2) 断点中断(n=3) 溢出中断(n=4)

3、 ,5.中断处理顺序,6. 中断向量表和中断描述符表 每个中断都分配有中断类型码,CPU通过中断类型码 经过处理要找到对应的中断服务程序的入口地址。 .实模式: 由中断向量表将中断类型码和中断服务 程序的入口地址联系起来; .保护模式:是由中断描述符表来对二者进行联系。,实模式下几个重要概念: 中断向量表:设置在系统RAM的最低端00000H003FFH的1K 字节内,表中共有256个中断类型码对应的向量 值。(256*4=1K) 中断向量:每个向量占用4个字节,称为中断向量。 前2个字节为中断服务程序入口地址的偏移地址IP, 后2个字节为服务程序的段基址CS。 向量地址:这4个单元的地址中的

4、最小地址称为向量地址。 规定:中断向量表中各向量等长,且处理程序入口地址在 向量表中按中断源的类型码排序。 重要公式: 向量地址 向量表的首地址 + 中断类型码*4 讨论:已知中断类型码n,如何得到中断服务程序入口地址?,保护模式: .中断描述符表(IDT):在内存中的首地址保存在CPU内部的IDTR系统寄存器中。 .CPU响应中断过程中,CPU把中断类型码乘以8,与IDTR中的基地址相加,指示中断描述符表中的某一中断门或陷阱门(8个字节组成)。 .CPU将门描述符中的选择符送CS寄存器,并根据选择符中TI位从LDT或GDT中选择一个段描述符,送入CS的段描述符寄存器中。 .由段描述符中的基地

5、址和门描述符中的偏移地址确定中断服务程序的入口地址。,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 ;置向量表段地址 M

6、OV 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,2

7、5H INT 21H POP DS,7.3.4 直接接入法 例:外设的中断类型号为6BH,设中断服务程序段地址 为1000H,偏移地址为2000H。建立中断向量表。,重要概念 中断向量表:设置在系统RAM的最低端00000H003FFH的 1K字节内,表中共有256个中断类型码对应的 向量值。(256*4=1K) 中断向量:每个向量占用4个字节,称为中断向量。 前两个字节为中断服务程序入口地址的偏移地址IP, 后两个字节为服务程序的段基址CS。,中断向量表将中断类型码和中断服务程序的 入口地址联系起来,中断类型号(6BH)对应的中断向量表地址为: 从001ACH开始的4个存储单元,6BH4 0

8、01ACH,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.中断服务寄存器

9、(ISR) 任何一级中断被响应,执行其中断服务程序,ISR相应位置 “1” 。多重中断情况下,ISR中多位被同时置“1”。 3.优先权判别器(PR) 当IR7-IR0中有多个中断请求信号同时产生时,PR判定哪个 中断请求具有最高优先权,并把它置入ISR的相应位。,4 .中断屏蔽寄存器(IMR) 通过IMR可实现对各级中断的有选择的屏蔽。,5.级联(中断最多扩展到64级) 一片8259A只能接收8级中断,当超过8级时,可用多片 8259A级联使用,构成主从关系。 连线要求: .主8259A:级联信号CAS2-CAS0是输出信号; SP端为“1” .从8259A:级联信号CAS2-CAS0是输入信

10、号; SP端为“0” .从8259A的INT输出接到主的中断输入端IR上,例:3片级联,7.2.2 8259A的中断管理方式,一、中断优先权管理(4种) 1.完全嵌套方式 固定优先权:IR0IR1IR7。 高优先级的中断可进入低优先级,但低优先级不能 进入高优称级或同等优先级。 2.自动循环方式 IR0-IR7轮流具有最高优先权。 当任何一级中断被处理完,它的优先级别就被改变 为最低,而最高优先级分配给该中断的下一级中断。,3.中断屏蔽方式 普通屏蔽:在中断屏蔽寄存器IMR中,将某一位或几位 置“1”来屏蔽掉相应级别的中断请求。 特殊屏蔽:可使低优先级别的中断进入正在服务的 高优先级别中。 4

11、.特殊完全嵌套方式(用于级联情况) 接在主片IR3上的从片比接在IR4上的从片具有高的优先权; 而主片上IR0,IR1,IR2上的中断比从片具有高优先权。 二、8259A中断结束的管理方式 中断结束的管理就是用不同的方式使ISR的相应位清“0”, 并确定下面的优先排队。 .完全嵌套情况 .自动循环情况 .特殊完全嵌套情况,8259A的内部结构,7.2.3 8259A的编程,8259A是一个可编程器件,在正常操作之前用程序规定其优先权管理方式、中断结束方式、级联的引入等 这段程序称为可编程器件的初始化,但:不是任何情况下都需要设置4个预命令, 可根据8259A的使用情况而定。,预置命令字(4个字

12、ICW1-ICW4)是要按规定顺序写入8259A中的。,预置命令字顺序流程,(级联时用ICW3),预置命令字功能: ICW1 8259A是单一式还是主从式; ICW2 设置8个中断请求设备的类型号; ICW3 若为主从式则规定主8259A中每个IR端是否带 从8259A,从8259A则要规定从主8259A的哪个 IR端引入; ICW4 完成中断管理方式的设定。,第二部分称操作命令字OCW1-OCW3 ,8259A通过 预置命令字初始化后(即ICW1-ICW4初始化), 自动进入操作模式。无需按顺序写入。,8259A占两个端口地址(用A0选择), 每个命令字写入8259A后被存入相应的寄存器中,

13、一、预置命令字 1. ICW1的格式,D1=1,使用单片8259A; D1=0,8259A级联。 D3=1, 电平触发方式; D3=0, 上升沿有效的边缘触发方式。,2. ICW2的格式 (提供中断类型号),中断类型号的高5位由用户指定,低3位由8259A的 中断请求输入端IR7-IR0的编码决定。 ICW2提供的中断类型码是连续的。 (在ICW2中,用户指定高5位后,当8259A的某个IR端有 中断请求,就自动填入相应IR的编码到ICW2的低3位),1,A0 D7 D6 D5 D4 D3 D2 D1 D0,3. ICW3的格式 只有在8259A有级联的情况下使用,主片和从片的ICW3格式不同

14、,主片的ICW3表明主8259A的哪个IR端接有从8259A。从片的ICW3表明它接在主8259A的哪个IR端。 主8259A的ICW3格式为:,每位对应一个相应的IR端,若某个IR上接有从8259A,则该位为1,否则为0。,从8259A的ICW3格式为:,ID2-ID0为该从8259A接入主8259A的IR端的编码。,4. ICW4的格式,.AEOI:定义是否采用自动中断结束方式。 D1=1为自动EOI, D1=0为正常EOI。 .SFNM:有级联时定义,D4=1为特殊完全嵌套方式, D4=0为 非特殊完全嵌套方式。 .BUF及M/S:0X非缓冲方式;10缓冲方式从片; 11缓冲方式主片。,

15、BUF,SFNM,0,0,0,A0 D7 D6 D5 D4 D3 D2 D1 D0,1,M/S,AEOI,1,二、操作命令字,1.OCW1的格式 实现屏蔽功能,OCW1的内容被置入中断屏蔽寄存器 IMR中,Di为“1”:禁止对应的IR端的中断请求. Di为“0”:允许对应的IR端的中断请求. OCW1的格式如下:,2. OCW2的格式 控制中断结束,优先权循环等操作。,L2-L0:编码指定相应的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 无效,3. OCW3的格式 控制8259A的中断屏蔽和读取寄存器的状态。,.ESMM及SMM:0X-无用;10-清除特殊屏蔽; 11-设置特殊屏蔽 .P=1,查询中断; P=0,非查询中断; .RR及RIS:0X-无用;10-随后读IRR; 11-随后读ISR,单片8259A初始化程序格式:(端口地址为8位),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号