第7章 中 断 和 异 常

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第7章 中 断 和 异 常
7.2.2
经由NMI信号线(边沿触发)请求的中断称为非屏蔽中断。它 是不被 IF禁止的中断。非屏蔽中断被响应时,其中断矢量号不 由外部中断源提供,而是由系统固定分配。 80X86 系统中,非
屏蔽中断的矢量号为 2,它的优先级别高于可屏蔽中断, 但当
正执行加载SS寄存器指令时产生NMI信号,则中断要等其后的 指令执行完才能识别和响应。 非屏蔽中断通常用来处理应急事件,如总线奇偶错、电源 故障或电网掉电等。
7.2 中 断
7.2.1
经由 INTR 信号 ( 高电平有效 ) 请求的中断称为可屏蔽中断。 它受中断允许标志位 IF 的影响和控制。当 IF 被软件采用 STI 指令
置1时, 表明可屏蔽中断被允许,CPU响应可屏蔽中断。当IF被
软件采用CLI指令置0时,表明可屏蔽中断被禁止,CPU不响应可 屏蔽中断,并将该中断信号挂起,直到IF被置位或外部事件撤消
第7章 中 断 和 异 常 7.3.1
7.3 异 常
产生异常后,系统根据引起异常的程序是否可被恢复这一原
则,进一步又把异常分为故障 (Fault) 、陷阱(Trap)和中止(Abort) 3
类。 故障是引起该故障的程序可被恢复执行的异常,它也是在引 既可在引起故障的指令之前进行,也可在微处理器恢复成故障指
提供中断源的设备标志码,将程序转向相应中断源设备的中断处
理程序, 或中断源提供中断处理程序的入口地址。由于矢量中断 不需要查询中断源, 故中断处理速度较快。
第7章 中 断 和 异 常
异常是在指令执行期间检测到的不正常的或非法的状态, 使指令不能成功
执行。它与所执行指令有直接的联系。例如指令执行期间检测到段异常或页异 常时, 指令便不能执行下去。异常的发生源于微处理器内部,且总是与微处理
第7章 中 断 和 异 常
第7章 中 断 和 异 常
7.1 概述
7.2 中断 7.3 7.4 中断及异常的暂时屏蔽 7.5 中断及异常的优先级
7.6
7.7 保护方式下的中断和异常
7.8 中断优先级管理器8259A PIC
第7章 中 断 和 异 常
ห้องสมุดไป่ตู้
7.1 概 述
原程序 中断处理程序
中断 请求
断 中 应 响 U CP
300个字节中查找一个字符,在查找到250个字节时,仍未找到给定字符,且产
生异常。 这时第250步是该指令成功执行的最后一个执行步。 因而,产生异常 时,处理器将保存第250执行步的指针及计数值。异常原因排除之后,便可恢复
该指令的执行,完成最后50
第7章 中 断 和 异 常 80386、 80486 中,采用矢量中断技术,每种中断或异常 都有它自己的中断矢量,用8位二进制数表示。矢量号(或称中
断时, 微处理器就能识别中断源及其优先级别。这种中断技术的
中断响应速度快, 结构简单, 但受微处理器封装引脚数的限制, 通常为2~3条, 最多也不过5~6条。例如8085-CPU有5条中断请求 线, 而80X86系列CPU有2条中断请求线。 在矢量(亦称向量)中断技术中,由每个中断源(经接口)向CPU
第7章 中 断 和 异 常
在单线中断技术中,多个外设的中断请求必须用“或”逻辑
连接在一起, 共同接到微处理器的一条中断请求线上。由于共用 一条中断请求线, 以下几个问题须予以解决: (1) 中断源的识别。所谓中断源是指引起中断的原因或发出 中断申请的来源。 当中断请求信号INTR有效时,CPU必须判断
器操作同步。因而,通常将软中断指令INTn及INT0等也归类于异常。此外,排
错机制也是异常的一个例子。 处理器对中断和异常的处理通常在两条指令之间进行。当执行一条带重复
前缀的串操作指令时,为保证处理器对中断的及时响应, 80386等设计成每条
串指令都允许在每次重复操作后响应中断,且重复的串指令也允许报告一个异 常,而不丢失已完成各步的结果。 例如,一条带重复前缀的查找指令, 需要在
起故障的指令执行之前就报告给系统的一种异常。对故障的检测,
令执行之前的状态时进行。一旦故障被检测出,便在保护断点地
址(指向引起故障的指令)后,将程序转入故障处理程序。故障处理 程序执行完,故障也排除了,这样由IRET指令将程序返回有故障
中断请求为止。 IF位可禁止可屏蔽中断的这一特性可用来在程序
代码的某一特定区域(常称为程序的临界区)设置成禁止中断,以 保证该区域内程序段的可靠执行。
第7章 中 断 和 异 常 80X86 系统中,可屏蔽中断源产生的中断请求信号,通常 通过 8259A 可编程中断控制器进行优选权控制后,由 8259A 向 CPU 送中断请求信号 INTR 和中断标识码 ( 中断矢量 ) 。采用 9 个 8259A芯片,可支持 64个中断源,给每个中断源分配不同的中 断矢量, 并可对每个中断源分配和判断它们的中断优先级。
是哪一个中断源发出的中断请求,这就是中断源的识别问题。
(2) 中断请求的优先权排队问题。当有多个中断源同时请求 中断时,需根据轻重缓急先后次序予以处理,这就是优先权排队 问题。
(3) 中断的多级嵌套。在优先权级别较低的中断源被服务时,
允许比它优先级别高的中断源请求中断。
第7章 中 断 和 异 常 在多级中断技术中,微处理器有几条优先级别不同的中断请 求线,若每一个中断源都有其对应的一条中断请求线,则发生中
断类型号)用来从中断描述符表(保护虚地址方式时)或中断矢量
表(实地址方式时)中选择给定中断的处理程序首地址。 80386 及80486已将矢量号0~31 分配给异常;中断及软中断指令的矢 量号可在0~255范围内选择,但为避免与异常矢量号冲突,最 好在32~255的范围内选择。
第7章 中 断 和 异 常
中 断 返 回
图 7.1 中断过程
第7章 中 断 和 异 常
外设中断请求 1# 2# + 3#
I NT R
外设中断请求 1# 2# 3#
I NT R1 I NT R2 I NT R3 C PU
外设提供 设备标志码
D0 D1 C PU D7
C PU 外设中断请求 (c)
IN TR
(a)
(b )
图 7.2 微处理器3种中断技术示意图 (a) 单线中断; (b) 多级中断; (c) 矢量中断
相关文档
最新文档