微机原理第6章中断

上传人:E**** 文档编号:91691109 上传时间:2019-07-01 格式:PPT 页数:64 大小:2.96MB
返回 下载 相关 举报
微机原理第6章中断_第1页
第1页 / 共64页
微机原理第6章中断_第2页
第2页 / 共64页
微机原理第6章中断_第3页
第3页 / 共64页
微机原理第6章中断_第4页
第4页 / 共64页
微机原理第6章中断_第5页
第5页 / 共64页
点击查看更多>>
资源描述

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

1、NMI INTR,第6章 微机中断系统,6.1 中断的基本概念 6.2 8086/8088的中断系统 6.3 8259A中断控制器 6.4 8259A的综合应用举例,6.1.1 中断的定义 。中 断: CPU停止运行程序,转去执行请求要服务的程序。 。中断服务程序组成:保护现场、中断服务程序、恢复现场、中断返回。 。中断源: 能引起中断的事件,称为中断源。 。中断源种类:外部(硬件)、内部(软件) -外部:由外部设备或协处理器向CPU发出的中断请求; -软件:由程序预先安排的中断指令引起(INT n),或因CPU运算产生 的错误(除法、溢出)引起。 。中断的分类:非屏蔽中断、可屏蔽中断 -非屏

2、蔽中断(NMI)CPU必须无条件响应; -可屏蔽中断(INTR) CPU可以响应,也可以不响应。 。中断管理器件:可编程中断控制器,功能有: - 中断请求、中断屏蔽 、中断判优、中断源类型提供。,6.1 中断的基本概念,非屏蔽中断请求,中断逻辑,INT n 指令,INT o 指令,除法 出错,单步 TF=1,INTR,NMI(不可屏蔽),CPU,中 断 控 制 器,可 屏 蔽 中 断 请 求,(可屏蔽),内、外部中断示意图,内部中断,外部中断,1 中断请求 CPU在每条指令最后一个T周期检查INTR引脚,若信号有且 满足中断响应条件(IF=1),CPU响应中断。 2 中断响应(三个过程) 关中

3、断:CPU向外设发中断响应信号(INTA),同时至IF0; 保护现场:断点地址及程序状态字PSW值入栈,CS和IP值入栈; 形成中断入口地址,转向中断服务子程序。 恢复现场:中断程序结束,用出栈指令恢复保存寄存器内容; 执行中断返回指令IRET,从堆栈中弹出IP、CS和PSW。 在中断响应周期的第二个总线周期中,读取中断类型号,找到中断服务程序的入口地址,自动将程序转移到该中断源设备的中断处理程序的首地址。 当有多个中断请求时,CPU识别其优先权并按优先权处理,同时实现中断嵌套功能。,6.1.2 中断的处理过程,3 中断服务程序 所谓中断服务程序,就是为实现中断源所期望达到的功能而编写的程序中

4、断服务程序一般由4部分组成:保护现场、中断服务程序、恢复现场、中断返回。有的程序在中断服务执行完后还要发出中断结束(EOI)命令,中断处理程序的最后是一条中断返回指令(IRET)。 4中断返回 中断服务程序结束,执行中断返回指令IRET,使原先压入堆栈的断点值及程序状态字依次弹回CS、IP及FLAGS中,继续执行原程序。,6.1.2 中断的处理过程,6.1.3 中断源、中断识别及其优先级,1中断源 所谓中断源,是指发出中断申请的外部设备或引起中断的内部原因。CPU响应中断后,找到发出中断申请的入中断源,这就是所谓的中断识别。中断识别的目的是要形成该中断源的中断服务程序的入口地址,主要分向量中断

5、和程序查询。 向量中断:CPU响应中断时,发出中断响应信号INTA,由中断控制器(例如8259A)送出中断类型号,CPU根据中断类型号从中断向量表中找到中断服务程序的入口地址。 查询中断:是指采用软件查询方法来确定发出中断申请的中断源。因此,把多个中断源根据轻重缓急按优先处理权从高到低的顺序排列,这些高低级别排列被称为中断优先级。,CPU处理中断的一般原则如下: 不同级的中断同时发生时,按优先级别高低依次处理。 中断嵌套。当CPU在处理级别低的中断过程中,又出现级别高的中断请求,应立即暂停低级别中断的处理程序而去优先处理优先级高的中断,等优先级高的中断处理完毕后,再返回处理低级的原来未处理完的

6、程序。 处理某一中断的过程中,若出现比它级别低的或同级的中断请求,则应处理完当前的中断后再响应新的中断请求。 中断级相同的不同设备同时请求中断时,则按事先规定的次序逐个处理。 多中断源的中断优先级控制逻辑要解决: 不同优先级的多个中断源同时提出中断请求时,CPU应首先响应最高优先级的中断源提出的请求; CPU正在对某中断源服务时,若有优先级更高的中断源提出请求,则CPU应对高优先级的中断做出响应,即高优先级的中断请求可以中断低优先级的中断服务。,6.1.3 中断源、中断识别及其优先级,2中断识别及优先级 (1)软件查询 采用软件识别中断源的方法,以软件查询的顺序确定中断源优先级的高低,即先查询

7、的优先级高,后查询的优先级低。,6.1.3 中断源、中断识别及其优先级,(2)硬件菊花链式优先级排队电路 它是在每个外设的对应接口上连接一个逻辑电路构成一个链,控制了中断响应信号的通路。,6.1.3 中断源、中断识别及其优先级,(3)矢量中断优先级 矢量中断优先级的设置是采用中断优先级控制器。,6.1.3 中断源、中断识别及其优先级,(4)硬件优先级编码比较电路,6.1.3 中断源、中断识别及其优先级,1中断向量与中断向量表 中断向量就是中断服务程序的入口地址。它包括中断服务程序的段基地址CS和偏移地址IP。把系统中所有的中断向量集中起来存放到存储器的某段区域内,这个存放中断向量的存储区就叫中

8、断向量表。 2中断向量指针与中断类型号 通常设置一种指针用于指出中断向量存放在中断向量表的具体位置,它实际上就是中断向量的地址。,6.1.4 中断向量,3中断向量的装入 中断向量并非常驻内存,而是开机上电时由程序装入指定的存储区内。填写中断向量表常用的3种方法。 (1)采用MOV指令填写中断向量表,6.1.4 中断向量,(2)将中断服务程序的入口地址直接写入中断向量表中,6.1.4 中断向量,(3)采用DOS功能调用INT21H,功能号AH25H,装入中断向量,中断控制逻辑可以确保高优先级的中断请求中断低优先级的中断服务,使得CPU在对某个中断源服务期间有可能转向对另一个中断源的服务。 (1)

9、在中断处理程序中要有开中断指令 (2)要设置足够大的堆栈 (3)要正确地操作堆栈,6.1.5 中断嵌套,6.2.1 8086/8088的中断系统结构 1. 中断源的类型 8086CPU系统中的中断源类型分为两大类,分别是外部中断和内部中断,8086CPU共有两条外部中断请求线INTR和NMI。,6.2 8086/ 8088的中断系统,中断源类型 。80X86最多管理256种中断,管理类型编号(0255); 。256种中断分两类:硬件中断(外部)和软件中断。 硬件中断(外部中断) - NMI(非屏蔽中断)_连接到CPU的NMI端,不受IF影响; - INTR(可屏蔽中断)_连接到CPU的INTR

10、端,受IF影响。 软件中断 -INT n 软中断,不受IF位的影响,属于非屏蔽中断范畴。 。优先级(高 低):除法错、INT n、溢出中断、NMI、INTR、单步中断。,6.2.1 8086/8088的中断系统结构,2 8086中断向量表 中断向量及存放地点 。中断向量是中断处理程序的入口地址,它存放于中断向 量表中,一个中断向量由四个字节组成; - 2个高地址字节,存放中断服务程序的代码段的段值; - 2个低地址字节,存放中断服务程序的偏移地址; 。8086系统有256个类型中断源,每一个类型源对应一个 中断向量,中断向量表存放段地址:00000H03FFFH; 。中断向量地址=中断类型号4

11、,6.2.1 8086/8088的中断系统结构,6.2.1 8086/8088的中断系统结构,1内部硬件中断 (1)0号中断 除数零中断 (2)1号中断 单步执行中断 (3)3号中断 断点处理中断 (4)4号中断 溢出中断 2软件中断 INT n中断 3内部中断的处理过程及特点 (1) 程序状态字(标志寄存器内容)压入堆栈。 (2) 断点地址压入堆栈。 (3) IF、TF标志位清零,禁止可屏蔽中断和单步中断。 (4) 根据中断类型号计算出中断向量地址,并获得相应的中断服务程序的入口地址。 (5) 执行中断处理程序。这主要包括保护现场、中断服务和恢复现场等操作。 (6) 执行中断返回指令IRET

12、,将程序返回断点处继续执行原程序。,6.2.2 内部中断,除法错中断,执行除法指令时,若除数为0或商超过了寄存器所能表达的范围,产生的一个向量号为0的内部中断 例题8-2产生除法错中断的程序。 ;数据段 MSG DB 0DH,0AH, No divide overflow ! ,$ ;代码段 CALL READUIW MOV BL,1 DIV BL MOV AH,9 MOV DX,OFFSET MSG INT 21H,溢出中断,执行溢出中断指令INTO时,若溢出标志OF为1,产生的一个向量号4的内部中断。 例题8-3产生溢出中断的程序 ;数据段 MSG DB 0DH,0AH,No overfl

13、ow !,$ ;代码段 CALL READUIW ADD AL,100 JNO NOFLOW INTO JMP DONE,1不可屏蔽中断 不可屏蔽中断为类型2号中断,在NMI引脚有一个从低到高的上升沿触发有效。,6.2.3 外部中断,2可屏蔽中断,6.2.3 外部中断,3中断响应过程 (1)中断请求 (2)中断响应 (3)中断处理,6.2.3 外部中断,6.2.3 外部中断, 中断指令 INT n (软件中断指令) 如: INT 20H IRET (中断返回指令) - 执行后,先从堆栈弹出断点送IP、CS,后弹程序状态字PSW。 标志位操作指令 CLI (中断标志位清0) - 使PSW中IF位

14、置0,禁止响应外界中断请求(关中断); STI (中断标志位置1) - 使PSW中IF位置1,允许响应外界中断请求(开中断)。,4 8086中断指令系统,6.3 可编程中断控制器8259A,6.3.1 8259A的外部特性和内部结构 8259A的特点及功能: 28个引脚,双列直插,工作电压+5V; 具有中断源识别、优先权排队、中断屏蔽、中断 向量提供等功能; 一片8259A可管理8级中断(优先权控制),通过9 片级联可管理64级中断源; 每一级都可编程进行屏蔽或开放; 在中断响应周期,可提供相应中断类型号; 通过编程实现不同工作方式的选择。,18259A芯片引脚 8086CPU系统中的中断源类

15、型分为两大类,分别是外部中断和内部中断,8086CPU共有两条外部中断请求线INTR和NMI。,6.3.1 8259A的外部特性和内部结构,6.3.1 8259A的外部特性和内部结构,2 8259A内部结构,3 8259A系统总线的连接方式,8259的级联是通过初始化命令字ICW1的(SNGL=0)和ICW3 主/从片初始化命令字的设置而完成。 (1)缓冲方式连接 多片8259A级连系统,8259通过外部总线驱动器和数据 总线相连,这就是缓冲方式。在缓冲方式下,8259的SP/NE 输出信号作为缓冲器的启动信号,用来启动总线驱动器。 (2)非缓冲方式 当系统中只有一片或几片8259芯片时,可将

16、数据总线 直接与系统数据总线相连,此时8259处于非缓冲方式下。 在这种方式下,8259的SP/NE作为输入端设置,主片应接高 电平,从片应接低电平。,6.3.1 8259A的外部特性和内部结构, 读/写控制逻辑和级联 方式,6.3.1 8259A的外部特性和内部结构,3 中断响应过程,6.3.1 8259A的外部特性和内部结构,4 多个中断同时发生 的处理过程,8259编程是通过对8259中的四个初始化命令字(ICW) 寄存器和三个操作命令字(OCW)寄存器的设置加以实现。 初始化命令字(ICW)设定8259A的工作方式; 操作命令字(OCW)完成动态控制CPU处理中断的过程。,6.3.3 8259A的编程,中断控制举例,(1)ICW1:芯片控制初始化命令字(必须写入偶地址端口),1:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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