中断和异常的区别

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
4.内部中断和异常 4.内部中断和异常 属性:软件,不可屏蔽,向量. 属性:软件,不可屏蔽,向量. 中断请求:指令执行中产生. 中断请求:指令执行中产生. 中断类型号: 规定. 中断类型号:CPU规定. 规定 失效(故障):错误在指令完成前,错误指令的CS: 失效(故障):错误在指令完成前,错误指令的 : ):错误在指令完成前 EIP压栈.该指令会重做. 压栈. 压栈 该指令会重做. 陷阱:错误在指令完成后,错误指令下一指令的CS: 陷阱:错误在指令完成后,错误指令下一指令的 : EIP压栈. 压栈. 压栈 中止:不保存,重启机器. 中止:不保存,重启机器. CPU不需要进行中断识别,直接处理中断. 不需要进行中断识别, 不需要进行中断识别 直接处理中断.
17
级联结构
4.8259A的操作功能及命令 4.8259A的操作功能及命令 I/O端口地址:只提供二个端口(使用 区别 ; I/O端口地址:只提供二个端口 使用 区别); 使用A0区别 端口地址 命令:初始化--ICW1~ICW4, 命令:初始化 , 操 作--OCW1~OCW3. . 状态: 状态:IRR,ISR,IMR,查询字. , , ,查询字. I/O端口操作冲突时解决方法: I/O端口操作冲突时解决方法: 端口操作冲突时解决方法 信息字节中有空闲位时:特征位方法; 信息字节中有空闲位时:特征位方法; 信息字节中无空闲位时:时序方法, 写区 信息字节中无空闲位时:时序方法,读/写区 分法. 分法.
16
嵌套方式: 嵌套方式: 全嵌套:禁止同优先级和低优先级请求发生; 全嵌套:禁止同优先级和低优先级请求发生; 特殊全嵌套:禁止低优先级请求发生. 特殊全嵌套:禁止低优先级请求发生. 应用:级联时主片特殊全嵌套,从片全嵌套. 应用:级联时主片特殊全嵌套,从片全嵌套. 结束方式(ISR复位方式): 复位方式): 结束方式(ISR复位方式 自动:中断响应后ISR中最高优先级位自动复位; 中最高优先级位自动复位; 自动:中断响应后 中最高优先级位自动复位 非自动:中断服务程序返回前, 非自动:中断服务程序返回前,需要处理程序 发出对ISR中相应位复位的中断结束命令; 中相应位复位的中断结束命令; 发出对 中相应位复位的中断结束命令 不指定方式: 中最高优先级位复位; 不指定方式:ISR中最高优先级位复位; 中最高优先级位复位 指定方式:命令中指定的ISR中相应位复位. 中相应位复位. 指定方式:命令中指定的 中相应位复位 PC机初始化为全嵌套,非自动结束方式 PC机初始化为全嵌套 机初始化为全嵌套,
中断请求 中断响应 中断服务 中断结束 中断处理
中断处理的隐操作: 中断处理的隐操作:程序状态及程序断点地址 的进栈及出栈. 的源自文库栈及出栈.
2
中断系统其他功能: 中断系统其他功能: 支持多中断源和多种中断源. 支持多中断源和多种中断源. 支持中断屏蔽处理. 支持中断屏蔽处理. 支持中断嵌套处理. 支持中断嵌套处理. 支持中断优先级修改. 支持中断优先级修改. 支持中断结束方式选择. 支持中断结束方式选择.
IRQx
SERIRQ SIO LPC47B27X 中断类型号
EFLAGS寄存器的 位影响 寄存器的IF位影响 对中断请求的响应. 寄存器的 位影响CPU对中断请求的响应. 对中断请求的响应 处理器在当前指令执行结束的时候启动中断识别INTA 当前指令执行结束的时候启动中断识别 处理器在当前指令执行结束的时候启动中断识别 总线周期. 总线周期.
9
2.8259A内部结构 2.8259A内部结构
10
电路: 电路:CPU ,I/O . 内部逻辑: 及控制电路. 内部逻辑:IRR,IMR,PR,ISR及控制电路. , , , 及控制电路 中断请求过程:IR->INT. 中断请求过程: .
D0

D7
ISR编码 编码 中 断 请 B0 B1 B2
第7章 中断与异常 章
张明武
scauzhang@hotmail.com
华南农业大学信息(软件)学院 华南农业大学信息(软件)
1
7.1 中断基本概念
7.1.1 中断基本概念 定义: 暂停现行程序, 定义:CPU暂停现行程序,转而处理随机到来 暂停现行程序 的事件, 的事件,待处理完后再回到被暂停的程序继续 执行,这个过程就是中断. 执行,这个过程就是中断. 中断过程: 中断过程:
14
连接总线与级联方式: 连接总线与级联方式: 非缓冲方式:小系统中, 非缓冲方式:小系统中,8259A数据线直接连 数据线直接连 系统数据总线,不需要总线缓冲器, 系统数据总线,不需要总线缓冲器,此时 SP#/EN#表示级联时主 从关系. 表示级联时主/从关系. 表示级联时主 从关系 主片: 接高电平; 主片:SP#/EN#接高电平; 接高电平 从片: 接低电平. 从片:SP#/EN#接低电平. 接低电平 缓冲方式:大系统中,数据总线都具有总线 缓冲方式:大系统中, 缓冲器,此时SP#/EN#表示数据传送方向,级联 表示数据传送方向, 缓冲器,此时 表示数据传送方向 时主/从关系通过软件设定 从关系通过软件设定ICW4来决定. 来决定. 时主 从关系通过软件设定 来决定 PC机初始化为非缓冲方式 PC机初始化为非缓冲方式
8
7.2.2 8259A引脚及内部结构 8259A引脚及内部结构
1.8259A引脚 1.8259A引脚 CPU侧 CPU侧: CS#; ; DB0~DB7; RD#,WR#,A0; , , INT,INTA#; , ; 外设侧: 外设侧: IR0~IR7; 级联: 级联: SP#/EN#, , CAS0~CAS2.
15
屏蔽方式: 屏蔽方式: 缺省特性:自动屏蔽低于自己优先级的IR. 缺省特性:自动屏蔽低于自己优先级的IR. 正常屏蔽: 中相应位置位; 正常屏蔽:IMR中相应位置位; 中相应位置位 特定屏蔽:开放比自己优先级低的IR. 特定屏蔽:开放比自己优先级低的 . 优先级管理方式: 优先级管理方式: 缺省特性: 的优先级为一循环队列. 缺省特性:IR0~IR7的优先级为一循环队列. 固定优先权: 降序; 固定优先权:从IR0~IR7降序; 轮转优先权: 轮转优先权: 自动轮转:刚被服务的IR的优先级降至最低 的优先级降至最低; 自动轮转:刚被服务的 的优先级降至最低; 指定轮转:指定的IR的优先级降至最低 的优先级降至最低. 指定轮转:指定的 的优先级降至最低. PC机初始化为缺省屏蔽特性,固定优先权 PC机初始化为缺省屏蔽特性, 机初始化为缺省屏蔽特性
18
8259A命令关系表(地址以PC机中为例 8259A命令关系表(地址以PC机中为例): 机中为例): 命令关系表
PIC1 20H PIC2 0A0H 操作 写 内容 ICW1 OCW2 OCW3 ICW2~ICW4 特征位 D4D3D2 1×× ×× 00× × 01× × 无 无 时序
12
回ICW3
级联方式结构: 级联方式结构:
级联1
13
级联2
级联3
3.8259A工作方式 3.8259A工作方式 中断请求方式: 中断请求方式: 边沿触发方式:正跳变向8259A请求中断. 请求中断. 边沿触发方式:正跳变向 请求中断 电平触发方式:高电平向8259A请求中断,响应 请求中断, 电平触发方式:高电平向 请求中断 中断后要及时清除高电平. 中断后要及时清除高电平. 查询中断方式:外设向8259A请求中断,但 请求中断, 查询中断方式:外设向 请求中断 8259A不向 8259A不向CPU发中断请求信号 不向CPU发中断请求信号 INT.而是将请求状态保存等待 . CPU来查询. 来查询. 来查询 PC机初始化为边沿触发 PC机初始化为边沿触发
A>B
≥1
中断 & & & & & & & &
IMR IR0
中 断 请 求 寄 存 器 IRR
求 优 先 级 编 码 器
… …
INT
&
A0 A1 A2
IR7
11
CPU响应可屏蔽中断条件: CPU响应可屏蔽中断条件: 响应可屏蔽中断条件 当前指令执行完毕; 当前指令执行完毕; EFLAGS中IF=1; 中 ; INTR信号有效. 信号有效. 信号有效 中断响应过程:8259向CPU送中断类型号. 送中断类型号. 中断响应过程: 向 送中断类型号 第一个INTA#,CPU封锁总线 , 封锁总线(LOCK#有效 ,8259A 有效), 第一个 封锁总线 有效 最高优先级请求对应ISR位置位,对应 位置位, 复位. 最高优先级请求对应 位置位 对应IRR复位. 复位 第二个INTA#,总线解锁,ALE无效,8259A将当前 ,总线解锁, 无效, 第二个 无效 将当前 中断服务程序对应中断类型号送到数据总线上. 中断服务程序对应中断类型号送到数据总线上. ISR的复位在自动结束 非自动结束时不一致. 的复位在自动结束/非自动结束时不一致 的复位在自动结束 非自动结束时不一致. DMA传送方式比中断方式速度快 响应与传送) DMA传送方式比中断方式速度快(响应与传送). 传送方式比中断方式速度快(
3
7.1.2 中断与异常类型
1.外部硬件(如键盘,鼠标,串口,并口打印机等)中断 1.外部硬件 如键盘,鼠标,串口,并口打印机等) 外部硬件( 属性:硬件,可屏蔽,向量. 属性:硬件,可屏蔽,向量. 中断请求: 中断请求:多个中断请求的排队和判优由中断控制器完 产生的有无中断请求的信号送到CPU的INTR引脚. 引脚. 成,产生的有无中断请求的信号送到 的 引脚 中断类型号:通过数据总线送到CPU中. 中断类型号:通过数据总线送到 中
5
3.软件中断 3.软件中断 属性:软件,不可屏蔽,向量. 属性:软件,不可屏蔽,向量. 中断请求:指令执行中或程序调用产生. 中断请求:指令执行中或程序调用产生. 中断类型号: 规定或指令给出. 中断类型号:CPU规定或指令给出. 规定或指令给出 CPU专用中断: CPU专用中断:除0错(0),单步 ,断点中断 ,溢 专用中断 错 ,单步(1),断点中断(3), 出(O(4)),边界越界中断 . ,边界越界中断(5). BIOS中断 BIOS中断:I/O设备控制,实用服务,特殊中断,专 中断: 设备控制 实用服务,特殊中断, 设备控制, 用参数中断. 用参数中断. DOS中断:公开 未公开,可调用,系统功能. DOS中断:公开/未公开,可调用,系统功能. 中断 未公开 自由中断:未定义 中未使用的中断). 自由中断:未定义(20H~3FH中未使用的中断 . 中未使用的中断 CPU不需要进行中断识别,直接处理中断. 不需要进行中断识别,直接处理中断. 不需要进行中断识别
7
7.2 Intel 8259A
7.2.1 8259A主要任务 8259A主要任务
接受外部的中断请求; 接受外部的中断请求; 管理所有外部的中断请求(排队 判优,屏蔽,嵌套); 排队, 管理所有外部的中断请求 排队,判优,屏蔽,嵌套 ; 产生中断请求INTR信号及中断类型号; 信号及中断类型号; 向CPU产生中断请求 产生中断请求 信号及中断类型号 进行中断结束处理; 进行中断结束处理; 接受CPU命令及返回状态. 命令及返回状态. 接受 命令及返回状态
4

82801HB
82G965
PIRQx
INTR
Pentium 4/Conroe
2.不可屏蔽中断 2.不可屏蔽中断 属性:硬件,不可屏蔽,向量. 属性:硬件,不可屏蔽,向量. 中断请求:中断请求的信号送到 引脚. 中断请求:中断请求的信号送到CPU的NMI引脚. 的 引脚 中断类型号:固定为 . 中断类型号:固定为2. CPU不需要进行中断识别,直接处理中断. 不需要进行中断识别,直接处理中断. 不需要进行中断识别 NMI由0跳变到 以后要维持至少 个连续的处理 由 跳变到 以后要维持至少4个连续的处理 跳变到1以后要维持至少 器时钟周期的高电平才被识别. 器时钟周期的高电平才被识别. NMI由1跳变到 以后要维持至少 个连续的处理 跳变到0以后要维持至少 由 跳变到 以后要维持至少4个连续的处理 器时钟周期的低电平,新的NMI中断才能被识别. 中断才能被识别. 器时钟周期的低电平,新的 中断才能被识别
相关文档
最新文档