第九章8259-PPT课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中断的基本概念
不论哪种中断都遵循同样的中断处理过程 当 前 中 断 源
中断请求 中断判优 中断响应 中断处理 中断返回
中断响应 中断 服务 程序断点
中断
请求 程 序
程序 中断返回
中断:处理器暂停执行当前程序,转而处理随机发生的事件,处理 完毕后再返回到断点处继续执行原来程序的过程
中断系统的功能
1. 设置优先权方式
普通全嵌套方式
8259A 的中断优先权顺序固定不变,从高到低 依次为IR0、IR1、IR2、……IR7 中断请求后, 8259A 对当前请求中断中优先权 最高的中断 IRi 予以响应,将其向量号送上数 据总线,对应 ISR 的 Di 位置位,至到中断结束 (ISR的Di位复位) 在 ISR 的 Di 位置位期间,禁止再发生同级和低 级优先权的中断,但允许高级优先权中断的嵌 套
第九章 8086CPU的中断系统
教学内容
8086/8088 CPU的中断系统 8259A的中断控制器 中断服务程序的编写
中断的基本概念
中断最初是作为处理器与外部设备交换信息的一种控制方式 提出的。由此,最初的中断全部是对外部设备而言的,称为 外部中断或硬件中断。 随着计算机技术的发展,中断的范围也随之扩大,出现了内 部 / 软件中断的概念,它是为解决机器内部运行时出现的异 常以及为编程方便而提出的。 外部中断或硬件中断通常称为中断,软件中断或异常中断通 常称为异常(Exception)。
1. 设置优先权方式
特殊全嵌套方式:
能响应同级中断嵌套; 用于多片级联,只对主片编程设置在特殊全 嵌套方式;
8259(主片) IR0 IR1 CPU IR7 8259(从片) IR0 IR1
…
IR7
…
1. 设置优先权方式
优先级自动循环方式: 优先级是循环变化的: 一个设备的中断服务完 成后,其优先级自动降 为最低,而将最高优先 级赋给原来比它低一级 的中断请求。 初始优先级队列是: IR0->IR7 ,
9.1.1 8086/8088的中断类型
非屏蔽中断源 内部中断
NMI
可屏蔽中断源
CPU
除法错中断 指令中断 INTR 8259A 溢出中断 中断逻辑 中断 单步中断
外部中断
INTA 控制器
INT N INTO 指令 指令
断点 中断
除法 单步 非屏蔽中断 错误 中断
可屏蔽中断
9.2.3 8259A的工作方式
普通全嵌套方式 优先权固定方式 特殊全嵌套方式 设置优先权方式 自动循环方式 优先权循环方式 特殊循环方式 自动中断结束方式 结束中断处理方式 普通中断结束方式 非自动中断结束方式 特殊中断结束方式 普通屏蔽方式 屏蔽中断源方式 特殊屏蔽方式 边沿触发方式 中断触发方式 电平触发方式 缓冲方式 数据线连接方式 非缓冲方式
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
外 设 中 断 源
9.1.2 8086/8088的中断优先权
软件中断
除法错中断 指令中断 溢出中断
高
非屏蔽中断 可屏蔽中断 单步中断
低
9.1.3 8086/8088的中断向量表
中断类型号:用来区别每一个中断类型的号码。 0~255。 中断向量:中断服务程序的入口地址(首地址)
可屏蔽中断响应总线周期
第一个中断响应周期 第二个中断响应周期
9.2 8259A中断控制器
Intel 8259A是可编程中断控制器 可用于管理 Intel 8080/8085、 8086/8088、 80286/80386的可屏蔽中断 8259A的基本功能
一片8259A可以管理8级中断,可扩展至64级 每一级中断都可单独被屏蔽或允许 在中断响应周期,可提供相应的中断向量号 8259A设计有多种工作方式,可通过编程选择
9.2.1 8259A的内部结构和引脚
INTA 控制逻辑 D7~D0 数据 总线 缓冲器 读 /写 控制 逻辑 级联 缓冲器 比较器 INT 中 断 请 求 寄 存 器
RD WR A0 CS CAS0 CSA1 CAS2 SP/ຫໍສະໝຸດ N中 断 服 务 寄 存 器
优 先 权 判 别 电 路
IR0
IR7
中断屏蔽寄存器
能实现中断响应、中断服务和中断返回。 能实现中断优先级排队。 能实现中断嵌套。
9.1 8086/8088中断系统
PC系列微机最多可以支持256种中断,它们被分为 四种类型:
• • • • 内部中断和异常 软件中断 外部可屏蔽中断 外部非屏蔽中断
每个中断和异常都指定了一个类型号代表不同的 优先级。用中断向量号 0 ~ 255 区别。类型 0 表示 最高优先级的中断,类型255最低优先级的中断。 可 屏 蔽 中 断 还 需 要 借 助 专 用 中 断 控 制 器 Intel 8259A实现优先权管理。
1. 设置优先权方式
优先级特殊循环方式: 可以设置开始的最低优先级。 例如,设定IR4为最低优先级,那么IR5就 是最高优先级,其余各级按循环方法类推。
2. 结束中断处理方式
什么是8259A的中断结束?
8259A利用中断服务寄存器ISR判断: 某位为1,表示正在进行中断服务; 该位为0,就是该中断结束服务。
每个中断向量占4字节:CS(高)IP(低)
中断向量表:存放中断向量的地址表。在内存 0 段的0~3FFH区域。中断向量表
中断向量在中断向量表 的地址 = 中断类型号N ×4
• 例.中断类型号为20H,中断服务程序的入口地 址存放在0000:0080H开始的4个单元中。若: – – – – (0080H)=10H (0081H)=20H (0082H)=30H (0083H)=40H
则:中断服务程 序的入口地址为:
4030:2019H
可屏蔽中断响应流程
响应的条件:IF=1,INTR为高电平,当前指令执行完。
① CPU发INTA应答信号 ②将标志寄存器的值推入堆栈 ③ 把IF和TF清零 ④ 将当前指令的地址推入堆栈,保护断点。 ⑤ 由中断类型码,查找中断表,找到中断服务程序入口。 ⑥ 执行中断服务程序。 ⑦ 中断服务程序执行完后,返回断点处继续执行原程序。