第7章中断控制器(改版)课件.ppt
《第7章中断控制器(改版)课件.ppt》由会员分享,可在线阅读,更多相关《第7章中断控制器(改版)课件.ppt(54页珍藏版)》请在三一办公上搜索。
1、第7章 中断控制器,2023/3/28,2,7.1 中断基本概念,一、中断和中断源,2023/3/28,3,7.1 中断基本概念,中断 CPU接到请求,暂停正在执行的程序而转向请求的处理程序,处理结束后又回到被中止的程序继续执行,这一过程称中断;中断源的分类;内部中断:由处理器内部产生的中断;外部中断:外部设备在中断申请引脚上产生的中断;可屏蔽中断与不可屏蔽中断 可屏蔽中断:能被处理器屏蔽掉而不被响应的中断(INTR)。不可屏蔽中断:不能被处理器屏蔽掉的中断(NMI)。,二、中断的处理过程,2023/3/28,4,7.1 中断基本概念,中断请求 在INTR上外设给出高电平,1)持续到被CPU响
2、应;2)CPU响应后及时撤消。中断承认(中断响应的条件)满足下列条件进入中断响应周期:a,INTR有中断请求;b,IF=1开中断;c,无RESET、HOLD和NMI或更高级的中断;d,一条指令执行结束。,中断响应,2023/3/28,5,7.1 中断基本概念,(1)关中断:CPU硬件自动清IF(关中断,禁止其它中断)。(2)断点保护:CPU硬件自动将PSW、CS、IP依次压栈,以便中断结束能 够返回断点。(3)中断源识别:1)软件查询(软件做)2)中断向量表(硬件自动做)软件查询方法:CPU收到INTR 读入D0D7 测试哪一位 确 定中断源 对其中断服务。,2023/3/28,6,7.1 中
3、断基本概念,中断响应(1)保护现场:断点保护未保护的&主程序用的&中断服务也用的 寄存器 堆栈(2)开中断(指令STI):采用软件查询方法的中断源识别。(3)中断服务:对中断事件的处理。(4)关中断(指令CTI)(5)现场恢复:保护现场的逆过程,堆栈 寄存器(6)开中断(指令STI):允许新的中断。(7)中断返回(指令IRET):从堆栈中依次弹出IP、CS、PSW,返回 原断点处,断点保护逆过程。,2023/3/28,7,7.1 中断基本概念,多个中断源同时请求中断,先响应中断优先级高的中断优先级 根据各中断源的重要性确定其响应的优先次序。中断优先级控制原则:(1)多个同时请求,先响应高优先级
4、,再响应低优先级;(2)当CPU执行某中断服务程序时,出现新的高优先级请求 中断,则:暂停低 处理高,高服务结束返回低,继续 低服务。,三、中断优先级及中断嵌套,2023/3/28,8,7.2 8086/8088的中断系统,一、中断源,2023/3/28,9,7.2 8086/8088的中断系统,二、中断优先级除法错、INT n、INTO优先级最高NMI次之INTR较低单步最低,三、中断源识别,中断类型码 每一中断都有一个表示中断源编号的8位二进制数称中断类 型码(号),从0255,共256个。,2023/3/28,10,7.2 8086/8088的中断系统,中断向量 每一中断类型码对应一个中
5、断向量,该中断向量指明了该类型码所对应的中断服务程序的入口地址中断向量表 8086/8088系统将内存前1024个单元作为中断向量表,存放256个中断向量,每一中断向量占4个单元,前二字节是中断服务程序入口地址的偏移地址,后二字节是段地址。中断向量表地址:4*中断类型码n。中断向量表的中断源识别方法(1)CPU收到中断请求 获取中断类型码 查中断向量表 得到该中断源的中断服务子程序入口地址 转向服务子程序进行中断服务,2023/3/28,11,7.2 8086/8088的中断系统,(2)查表方法:中断类型码n*4(左移2位)得到表地址从表地址所指单元连续取4个字节数据得到IP、CS该CS:IP
6、即为该中断源的中断服务子程序入口地址,2023/3/28,12,7.2 8086/8088的中断系统,【例7.2】设用户自定义中断的类型号为24H,已编好的中断服务子程序为ISUB,试完成中断向量表初始化。解:中断向量表存放首地址为24H4,中断服务子程序段地址为SEG ISUB,偏移地址为OFFSET ISUB。所以中断向量表初始化程序段如下。MOV AX,00HMOV DS,AX;向量表段地址置0000HMOV BX,24HSHLBXSHLBX;向量表存放首址MOV AX,OFFSET ISUB;中断服务程序入口偏移MOV BX,AX;偏移地址存入向量表MOV AX,SEG ISUB;中断
7、服务子程序MOV BX+2,AX;段地址存入向量表,2023/3/28,13,7.2 8086/8088的中断系统,四、中断响应过程,不可屏蔽中断NMI(1)上升沿提出中断请求。(2)不受IF=0的影响。(3)不要中断响应总线周期,自动进入中断类型2。(4)其它同INTR。内部中断(1)中断类型号或是指令码给出,或由硬件决定,都不要中断响应总线周期。(2)不受IF控制,但单步中断受TF控制。(3)其它同INTR,但要考虑优先级,2023/3/28,14,7.2 8086/8088的中断系统,五、中断与中断返回指令中断指令 INTO 测试OF,若OF=1执行中断,否则不操作。INT n 执行中断
8、类型号为n的中断,n=00HFFH。(1)断点保护:SP-2 SP,PSW SP+1:SP;清PSW的 IF与TF;SP-2 SP,CS SP+1:SP;SP-2 SP,IP SP+1:SP。(2)中断源识别与跳转:n*4+1:n*4 IP;n*4+3:n*4+2 CS;程序将自动跳转到CS:IP处执行该中断服务子程序中断返回指令:IRET 执行中断返回时,CPU自动做恢复断点:SP+1:SP IP,SP+2 SP;SP+1:SP CS,SP+2 SP;SP+1:SP PSW,SP+2 SP,2023/3/28,15,7.3 可编程中断控制器8259A,一、外部引线和内部结构,引脚:D0D7:
9、双向数据线/WR、/RD:写读控制信号,/CS片选 A0:地址线,选择内部寄存器 INT:中断请求输出/INTA:中断响应输入线 IR0IR7:是外接中断源输入线。CAS0CAS2:级联时用。SP/EN:作输入是/SP,控制8259作 主片或从 片,1主0从。用作输出是/EN,控制三态门,大系统中用。,2023/3/28,16,7.3 可编程中断控制器8259A,结构框图 中断请求寄存器IRR:存放IR0 IR7中断请求 服务寄存器ISR:存放IR0 IR7中正在服务的源 中断屏蔽寄存器IMR(interrupt mask)4个8位初始化命令字ICW 3个8位操作命令字OCW,2023/3/2
10、8,17,7.3 可编程中断控制器8259A,二、中断处理过程,(1)中断外设在IR0IR7上产生n条中断请求8259,8259将相应的IRR位置1;(2)IRR中断请求+设定的IMR屏蔽 优先级分析器,最高优先级的请求送到INT CPU;(3)CPU收到INT响应:发送连续二个总线周期的/INTA;8259在第一个/INTA,该中断源对应的IRR位复位,ISR位置位,从而禁止较低优先级的中断。8259在第二个/INTA:送出8位的中断类型码 D0D7。(4)8259中断结束 自动结束方式:第二个/INTA结束时ISR复位相应位;非自动方式:收到EOI命令才复位,以开放低级中断申请(5)CPU
11、读取中断类型码查中断向量表转服务子程序,2023/3/28,18,7.3 可编程中断控制器8259A,三、中断优先级管理方式,优先级管理(1)固定优先级(完全嵌套排序方式):IR0 IR1 IR7(2)自动循环优先级(等优先级方式):优先级循环,刚服务过的最低,下一个变为最高。如5级刚服务过,6级变为最高,7级次之。(3)特殊循环优先级:优先级循环,通过命令字指定最低优先级。屏蔽方式(1)一般屏蔽方式:一个中断请求被响应 8259禁止所有同级、低级的请求(2)特殊屏蔽方式:解除这种禁止,允许同级、低级的请求,即 IRi被响应 ISR、IMR设置的位对应的IR禁止请求,其他所有级别的IR允许请求
12、,2023/3/28,19,7.3 可编程中断控制器8259A,中断结束方式(1)非自动EOI:软件发EOI命令字结束 普通EOI:清除ISR中已置位的优先级最高的位,适用于固定优 先级、自动循环优先级;特殊EOI:清除命令字指定的ISR位,适用于所有优先级方式,特别是特殊循环优先级(2)自动EOI:硬件自动EOI CPU响应中断请求后,向8259发连续2个/INTA周期,在第二个/INTA结束时8259自动执行普通EOI的工作(复位ISRi).中断触发方式(1)电平触发方式(2)边沿触发方式,2023/3/28,20,7.3 可编程中断控制器8259A,四、初始化命令字ICW,初始化命令字I
13、CW1,2023/3/28,21,7.3 可编程中断控制器8259A,【例7.3】某8086系统中,使用单片8259A,中断请求信号为高电平触发,需要设置ICW4,8259A端口地址为20H、21H,写出初始化命令字ICW1以及设置ICW1的 命令。解:高电平触发、单片8259A以及需要设置ICW4,初始化命令字为00011011B=1BH。写ICW1的命令如下。MOV AL,1BHOUT 20H,AL;写ICW1用偶地址,2023/3/28,微机原理,22,7.3 可编程中断控制器8259A,初始化命令字ICW2,【例7.4】某PC机中有8个可屏蔽中断(IR0IR7),其中IR0的中断类型号
14、为18H,8259A端口地址为20H、21H,请问ICW2是怎样设置的?用指令设置ICW2。解:由于IR0的中断类型号是18H,所以ICW2的内容是00011000B=18H。写ICW2的命令如下。MOV AL,18H OUT 21H,AL;写ICW2用奇地址,2023/3/28,23,7.3 可编程中断控制器8259A,初始化命令字ICW3,2023/3/28,24,7.3 可编程中断控制器8259A,初始化命令字ICW4,2023/3/28,25,7.3 可编程中断控制器8259A,初始化命令字的设置过程,2023/3/28,26,7.3 可编程中断控制器8259A,【例7.5】IBM P
15、C机的ROM BIOS关于8259A的初始化程序段如下。INTA00EQU20H;8259A偶地址INTA01EQU21H;8259A奇地址MOV AL,13H;单片8259A,边沿触发,需要ICW4OUT INTA00,ALMOV AL,08H;中断类型号8HOUT INTA01,ALMOV AL,09H;8086/8088,缓冲,从片8259A,非自动结束,正常全嵌套OUT INTA01,AL,2023/3/28,27,7.3 可编程中断控制器8259A,【例7.6】某微机系统中有8259A,满足下列条件:工作在8086系统,单片8259A,中断请求信号为电平触发。中断类型码为40H47H



- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中断 控制器 改版 课件

链接地址:https://www.31ppt.com/p-3950775.html