当前位置:文档之家› 微机原理中断.ppt

微机原理中断.ppt


Y 有中断请求
N
Y 响应中断
返回
关中断
恢复现场
保护断点 寻找中断源
转中断服务程序
中断服务 保护现场
可屏蔽中断处理流程图 14
第九章
一、CPU响应可屏蔽中断过程
1、CPU响应可屏蔽中断的条件 (1)外设提出中断申请; (2)本中断未被中断控制器屏蔽; (3)本中断优先级最高; (4)CPU允许中断;
5
第九章
4、与中断相关的基本概念
中断源 中断类型号 中断请求 中断响应 中断服务程序 中断返回
中断向量 中断向量表 中断优先级 中断嵌套 中断屏蔽
6
第九章
5、中断系统的基本功能 (1)中断响应,中断服务,中断返回,中断屏蔽; (2)中断优先级排队; (3)中断嵌套。
注意: 这些功能是由软件与硬件共同构成的系统完成的。 本章讨论与8086/8088CPU相配合的中断系统
7
第九章
二、中断的分类(中断源的分类)
8086/8088可以处理256种不同的中断。 两类:内部中断和外部中断。 中断源示意图如下图:
非屏蔽中断请求 NMI
中断逻辑
外部中断 非屏蔽中断
INTR 8259A
可屏蔽 中断请求
INT n INTO 指令 指令
8086/8088CPU
除法 出错
单步 (TF=1)
9
第九章
2、内部中断(软件中断) 由三种情况引起:
由软中断指令INT n引起 INT n指令,类型号n(0-255)。
由CPU运算错误引起 ① 除法错中断:类型号0 ② 溢出中断:类型号4,由INTO指令引起的中断;
10
第九章
2、内部中断(软件中断)(续) 由调试程序debug设置的中断 ① 单步中断:
19
第九章
1、中断向量表 又称:中断服务程序的入口地址表。 中断服务程序的入口地址又称中断向量
8086在存储器最低的1KB(00000H~003FFH)空间内 ,存放256个中断的中断向量。
每个类型号的中断向量占4字节,高2字节存放段 基址,低2字节存放偏移地址;
按照中断类型号的顺序依次将其中断向量存在1K 的内存表中,格式如下:
指令 INT n、INTO、IRET
12
第九章
9-2 中断处理过程
不同类型的中断处理过程略有不同,本节所介绍的 内容主要针对可屏蔽中断的处理过程。 可屏蔽中断处理过程步骤: 中断请求 中断响应 保护现场 转入执行中断服务子程序 恢复现场 中断返回
13
第九章
执行指令
N
指令结束
取下一条指令
从堆栈中弹出断点的地址和flags的内容,返回主程 序的断点处,继续执行主程序。
17
第九章பைடு நூலகம்
18
第九章
二、中断向量表
确定中断源的方法:查询中断和矢量中断。 ① 查询中断:一种软件查询法,中断响应后,启动中断查询
程序,依次查询哪个外设申请了中断,检测以后,转到此 设备预先设置的中断服务程序处执行。这种中断处理过程 称为查询中断。 特点:速度慢,且后检测的设备服务机会少。 ② 矢量中断:中断响应后,外设中断接口电路将中断类型号 送给CPU,CPU根据中断类型号找到对应的中断服务程序的 入口地址送入CS或IP,然后转入相应的中断服务程序处执行 。这种中断处理过程称为矢量中断,也叫向量中断。 特点:速度快。
2
第九章
2、中断的定义 CPU正常运行程序时,由于CPU的内部事件或外
设请求,引起CPU暂时中断正在运行的程序,转 去执行相应的外设(或内部事件)的服务程序 ,程序执行完后又返回到原先的程序继续执行 ,这一过程称为中断。 中断流程如下页图所示
3
第九章
4
第九章
3、使用中断的好处 分时操作 提高效率
类型号1,TF=1时产生(当前指令需执行完); Debug状态下的T命令执行时产生; ② 断点中断: 类型号3,INT 3指令引起的中断,属于软件中断 Debug状态下由G命令设置,相当于是在程序的某个 位置设置了一条INT 3 。
11
第九章
三、与中断有关的引脚和指令
引脚 INTR、INTA#、NMI
CPU在启动外设后与外设同时工作。当外设的数据准备 好向CPU发中断请求,CPU响应处理。CPU可让多个外设 同时工作,这将加快数据传送速度、提高CPU的效率。 实现实时处理 实时控制时,现场各种信息可随时发出中断请求 故障自行处理 将计算机在运行的过程中常遇到的意外情况,如:电源 突跳,存储器出错,运算溢出等设计成中断,计算机可 利用中断系统自行处理或告警。
8
内部中断
可屏蔽中断
第九章
1、外部中断(硬件中断) 不可屏蔽中断NMI
不能用软件屏蔽,CPU必须响应; 上升沿触发; 中断的类型号为2。 可屏蔽中断INTR IF=1,CPU响应中断;IF=0,CPU不响应; 高电平触发,高电平维持到CPU响应中断时结束; 中断类型号由中断控制器8259A或硬件电路提供。
15
第九章
CPU响应中断的过程
2、CPU响应可屏蔽中断的过程 CPU在每条指令的最后一个T周期,检测INTR,若为
高电平,且IF=1,则CPU响应中断。 响应过程中自动依次完成以下工作: ① CPU向外设发两个/INTA ,外设收到第2个/INTA 后
,立即往数据线上给CPU送中断类型号。 ② CPU从数据线上读取中断类型号; ③ 将flags入栈;
保护现行程序运行结果产生的状态和控制标志。
16
第九章
CPU响应中断的过程
④ 关中断(清IF和TF) 为了防止在进入中断处理,但并未执行中断程序这 段时间内又响应新的中断。
⑤ 保护断点 将当前指令的下一条指令的CS和IP压入堆栈,使中 断处理完成后能正确的回到原程序继续执行。
⑥ 转入相应的中断服务子程序; ⑦ 中断返回
教材第七章内容
第九章 微型计算机中断系统
9-1 概述 9-2 中断处理过程 9-3 中断优先级和中断嵌套 9-4 可编程中断控制器8259A
1
第九章
9-1 概述
一、中断概念
1、中断思想的提出 CPU与外设数据传送时的矛盾:高速CPU与慢速外设; 数据传送方式:无条件方式、查询方式
缺点: 外设有限制或处理器运行时间极大浪费,工作效率低。 解决办法: 一方面设法提高外设的工作速度; 另一方面提出设想: 外设主动提出请求,处理器响应处理--中断思想
相关主题