版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章 中断技术,8.1 中断概念 8.2 多级中断管理 8.3 中断向量表的建立方法 8.4 可编程中断控制器8259A,1. 中断 (中断/异常)中断过程 中断源 中断请求 中断响应 中 断处理 中断返回 2. 中断分类:按中断源的性质可以分类:,8.1 中断的概念,(1).外部中断源: 外电路产生通过CPU的NMI引脚或INTR引脚向CPU提出中断请求。 INTR:可屏蔽中断,受CPU内标志寄存器中IF位 的屏蔽 NMI:非屏蔽中断,不受IF位的屏蔽。 (2).内部异常中断: 是CPU内部执行程序的过程发生的异常情况。 如除法操作时结果太大 (分母太小) ;系统的硬件、 软件 (各种系统
2、用表)发生错误。,3.中断优先级 中断优先权排队从高到低为: (1)除法出错中断,溢出中断,INT n, (2)NMI (3)INTR (4)单步中断 4.中断类型码 中断类型码是形成中断向量的依据。80X86可处理256级中断,中断类型码可以是0255,其中一部分由系统占用,一部分用户可用。比如: 除法错误(n=0) 调试异常(n=1) NMI中断(n=2) 断点中断(n=3) 溢出中断(n=4) ,5. 中 断 处 理 顺 序,6. 中断向量表和中断描述符表 每个中断都分配有中断类型码,CPU通过中断类型码处理可找到对应的中断服务程序的入口地址。 .实模式: 由中断向量表将中断类型码和中断
3、服务 程的入口地址联系起来; .保护模式:是由中断描述符表来对二者进行联系。,实模式下几个重要概念: .中断向量表: 在系统RAM的00000H003FFH的1K字节地址内,表中共有256个中断类型码对应的向量值。(256*4=1K) .中断向量: 每个中断向量占用4个字节。前2个字节为中断服务程序入口地址的偏移地址IP,后2个字节为服务程序的段基址CS。 .向量地址: 这4个单元地址中的最小地址称为向量地址。,规定: 中断向量表中各向量等长,且处理程序入口地址在向量表中按中断源的类型码排序。 重要公式: 向量地址=向量表的首地址 + 中断类型码*4 讨论: 已知中断类型码n,如何得到中断服务
4、程序入口地址?,保护模式: .中断描述符表(IDT):在内存中的首地址保存在CPU内部的IDTR系统寄存器中。 .CPU响应中断过程中,CPU把中断类型码乘以8,与IDTR中的基地址相加,指示中断描述符表中的某一中断门或陷阱门(8个字节组成)。 .CPU将门描述符中的选择符送CS寄存器,并根据选择符中TI位从LDT或GDT中选择一个段描述符,送入CS的段描述符寄存器中。 .由段描述符中的基地址和门描述符中的偏移地址确定中断服务程序的入口地址。,8.2 中断向量表的建立方法,8.2.1 绝对地址置入法 AT指定段地址(16位) ,ORG指定偏移地址,用DD伪指令将中断服务程序的首地址装入。 IN
5、TTBL SEGMENT AT 0 ORG n*4 DD INT_VCE INTTBL ENDS MCODE SEGMENT ;主程序 INT_VCE PROC FAR ;中断服务程序 IRET,8.2.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 ;(E
6、S:)(DI)=AX STI,8.2.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,8.2.4 直接接入法 例:外设的中断类型号为6BH,则对应的中断向量表地址为从001ACH开始的4个存储单元。 设中断服务程序段地址在100
7、0H,偏移地址为2000H。 XOR AX,AX MOV DS,AX ;指向0段 MOV AX,2000H MOV WORD PTR 01ACH,AX ;置偏移地址 MOV AX,1000H MOV WORD PTR 01ACH+2,AX ;置段地址 ,8.3 可编程中断控制器8259A,8.3.1 8259A的内部结构及管脚功能,特点:可编程、八级优先中断、可级连、优先权动态改变 1.中断请求寄存器(IRR) IR7-IR0:输入端某个为“1”时,IRR相应位置“1”。 2.中断服务寄存器(ISR) 任何一个中断被响应,ISR相应位置“1”,执行其中断服务程序,多个中断情况下,ISR中多位被
8、同时置“1”。 3.优先权判别器(PR) 当IR7-IR0中有多个中断请求同时产生时,PR判定哪个中断请求具有最高优先权,并把它置入ISR的相应位。,4 .中断屏蔽寄存器(IMR) 通过IMR可实现对各级中断的有选择的屏蔽。,5.级联(中断最多扩展到64级) 一片8259A只能接收8级中断,当超过8级时,可用多片8259A级联使用,构成主从关系。连线要求: .主8259A:级联信号CAS2-CAS0是输出信号; SP端为“1” .从8259A:级联信号CAS2-CAS0是输入信号; SP端为“0” .从8259A的INT输出接到主片的中断输入IR上。,例子:3片级联,6.控制电路的作用 根据I
9、RR的IR端置“1”的情况和优先权判别器PR的判定结果,向CPU发出中断请求INT,并接收来自CPU的中断响应INTA。 7.读/写控制逻辑,8.数据总线缓冲器 双向8位三态缓冲器,构成8259A与CPU之间的数据接口。,二、8259A的管脚分配 分4类: . IR0-IR7:与外设连接的中断请求输入管脚; . D0-D7,WR,RD,INTA,INT:与CPU连接的数据 通路和控制信号. . CAS0-CAS2,SP/EN:用于8259A级联的管脚 . CS,A0:端口地址选择信号,8.3.2 8259A的中断管理方式,一、中断优先权管理(4种) 1.完全嵌套方式 固定优先权 : IR0 I
10、R1 IR7。 高优先级的中断可进入低优先级,但低优先级不能进入高优称级或同等优先级。 2.自动循环方式 IR0-IR7 轮流具有最高优先权。 当任何一级中断被处理完,它的优先级别就被改变为最低,而最高优先级分配给该中断的下一级中断。,3.中断屏蔽方式 .普通屏蔽: 在中断屏蔽IMR中,将某一位或几位置 “1”来屏蔽掉相应级别的中断请求。 .特殊屏蔽:可使低优先级别的中断进入正在服务的高 优先级别的中断。 4.特殊完全嵌套方式(用于级联情况) 接在主片IR3上的从片优先级高于接在IR4上的从片;而主片上IR0,IR1,IR2上的优先权高于从片的优先权。,二、8259A中断结束的管理方式 中断结
11、束的管理就是用不同的方式使ISR的相应位清“0”,并确定下面的优先排队。 .完全嵌套的固定优先权 .自动循环的高、低优先权 .特殊完全嵌套(级联)的优先权,8.4.1 8259A的编程,ICW1-ICW4:4个初始化命令字按规定顺序写入 8259A中. ICW1: 初始化是单片8259A,还是主-从级联; ICW2: 设置8个设备的请求中断类型号; ICW3: 若为主-从级联,则规定主8259A中哪些个 IR端连接有从8259A。而从8259A的INT端 要接到主8259A的哪个IR端; ICW4: 完成中断管理方式的设定。,8259A初始化命令字的顺序步骤(单片8259A不需要ICW3),O
12、CW1-OCW3:操作方式命令字 ,先用ICW1-ICW4初始化8259A后,任何时间均可以写入OCW1-OCW3的操作方式命令字,无需按顺序写。,D1=1,单片8259A; D1=0, 8259A级联。 D3=1,电平触发方式; D3=0,边缘触发方式。,ICW1:初始化命令字:,A7A6A5-8080系统 中断向量,中断类型号的高5位由用户使用高地址指定,低3位由8259A的中断请求输入端IR7-IR0的编码决定(系统自动填入,一般先置000)。 注意:中断类型码是连续的。,2.ICW2:提供中断类型号,3.ICW3 只有在级联的情况下使用,主片和从片的ICW3格式不同,主片的ICW3说明
13、哪个IR端接有从8259A。从片的ICW3说明其接在主8259A的哪个IR端。,D7-D0的每位对应一个相应的IR端,若某个IR上接有从8259A,则该位为1,否则为0。,主8259A的ICW3格式为:,从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缓冲方式主片。,二、操作方式命令字,实现屏蔽功能,OC
14、W1的内容被置入中断屏蔽寄存器IMR中, Di为“1”:禁止对应的IR端的中断请求. Di为“0”:允许对应的IR端的中断请求.,1. OCW1 的格式:,2. OCW2的格式 控制中断结束,优先权循环等操作。,L2-L0:编码指定相应的IR端为当前结束中断。,3.OCW3的格式 控制8259A的中断屏蔽和读取寄存器的状态。,.ESMM及SMM:0X-无用;10-清除特殊屏蔽; 11-设置特殊屏蔽 .P=1,查询中断; P=0,非查询中断; .RR及RIS:0X-无用;10-随后读IRR; 11-随后读ISR,例7.1 在8086最小方式系统中接有一片8259A,有一外设中断请求接到IR7,8
15、259A的端口地址及外设申请中断的中断类型号由图给出,试写出8259A的初始化程序。(端口:84H/86H),端口地址分析:84H/86H 中断类型号:IR7的类型号 为0C7H。 初始化程序: 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的级联使用。
16、 某系统有两片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) 中断类型号为62H 65H; (4) 采用特殊
17、完全嵌套方式; (5) 采用非自动结束EOI,非缓冲方式,SP=1; (6) 采用一般EOI结束方式; (7) 屏蔽IR2,IR4和IR5以外的中断源。,主片8259A的初始化程序如下: MOV AL,11H ;ICW1,A0=0 MOV DX,MPORT0 ;A0=0的口地址 OUT DX,AL MOV AL,62H ;ICW2,A0=1 MOV DX,MPORT1 ;A1=0的口地址 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,
18、AL MOV AL,20H ;OCW2,A0=0 MOV DX,MPORT0 OUT DX,AL,从片8259A的要求为: (1) 从片8259A接在主片IR4上; (2) 中断请求信号为边沿触发; (3) 中断类型号分别为40H 43H; (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 O
19、UT 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 0000 ORG 40H*4 ;从IR0的向量地址 SINTR0 DW 2640H ;从片IR0中断服务IP地址 DW 4000H ; CS段地址 ORG 43H*4 ; 从IR3的向量地址 SINTR3 DW 4620H ;从片IR3中断服务IP地址 DW 4000H ;CS段地址 ORG 62H*4 ;主IR2的向量地址 MINTR2 DW 2500H ;主片IR2中断服务IP地址
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐桌礼仪课程设计
- 铁钉技术装和课程设计
- 铣床类课程设计
- 革命传统类课程设计
- 生化检验课程设计
- 轧制课程课程设计方案
- 送水泵站课程设计泵站图
- 跆拳道海报特色课程设计
- 计算机网络系统课程设计
- 闪烁的led课程设计
- 外呼合作协议
- 小学二年级100以内进退位加减法800道题
- 2025年1月普通高等学校招生全国统一考试适应性测试(八省联考)语文试题
- 《立式辊磨机用陶瓷金属复合磨辊辊套及磨盘衬板》编制说明
- 保险公司2025年工作总结与2025年工作计划
- 育肥牛购销合同范例
- 暨南大学珠海校区财务办招考财务工作人员管理单位遴选500模拟题附带答案详解
- DB51-T 2944-2022 四川省社会组织建设治理规范
- 2024北京初三(上)期末英语汇编:材料作文
- 2023年辅导员职业技能大赛试题及答案
- 礼仪服务合同三篇
评论
0/150
提交评论