第六章中断控制器、DMA控 制器和计数器/定时器
第六章 中断控制器、DMA控 制器和计数器/定时器
§6.1中断控制器8259A 8259A的引脚信号,编程结构和工作原理 1、8259A的外部引脚信号 和CPU相连 DO~D7:数据线 INT:中断请求(8259A→CPU INTA:中断响应信号 RD:读信号 WR:写信号 CS:片选信 A0:片内端口选择
§6.1 中断控制器8259A 一、8259A的引脚信号,编程结构和工作原理 1、8259A的外部引脚信号 ◼ 和CPU相连 D0~D7:数据线 INT:中断请求(8259A→CPU) A0:片内端口选择 INTA:中断响应信号 RD:读信号 WR:写信号 CS:片选信号
和外设相连 IR7~IR0:中断请求(外设→8259A) 和同类芯片相连 CAS0~CAS2:指出具体从片 SP/EN:主/从片选择(输入)或启动总线驱动器 (输出) 2、8259A的编程结构和工作原理 编程结构 7个寄存器1作命令字WwB控制部件 IRR:中断请求寄存器 PR:中断优先级裁决器处理部件 ISR:中断服务寄存器
◼ 和外设相连 IR7~IR0:中断请求(外设→8259A) ◼ 和同类芯片相连 CAS0~CAS2:指出具体从片 SP/EN:主/从片选择(输入)或启动总线驱动器 (输出) 2、8259A的编程结构和工作原理 ◼ 编程结构 7个寄存器 初始化命令字ICW1~ICW4 操作命令字OCW1~OCW3 控制部件 IRR:中断请求寄存器 PR:中断优先级裁决器 ISR:中断服务寄存器 处理部件
INTA WR SP/ AD,AD D、-D IR 如为8086 当前中 IR 则连总线的A 优先级 屮断请求 断服务 8086或如为88 拔决器 寄存器 TR 连总线的A L寄子器 IR 【R 7CW1(芯片控制) IR LI.TIM:ADI SNGL IC,匚中断屏蔽齐作乔 CW2(类型 请求级别区Fm0 ICW (F/ 译码器P+cS OESMMISMMO1PRRRISH ICW4(方式控制 oooSFNM BU TM/SAEoI INTR INT 图6.38259A的编程结构
8259A对外部中断的处理过程 ①IRR接收中断请求并锁存; ②IMR决定是否此请求通过; ③中断优先级裁决器把新请求和正在处理的中断进行 比较,如新中断优先级高,则向CPU发中断请求 若IF=1,则CPU执行完当前指令后响应此中断,即 从INTA引脚回送两个负脉冲; 二个空喇状念 T,I T2T TITIITIIT T2t,ta CLK 几L ALE INTA AD-"ADo 中断 图2.188086的中断响应总线周期
◼ 8259A对外部中断的处理过程: ① IRR接收中断请求并锁存; ② IMR决定是否此请求通过; ③ 中断优先级裁决器把新请求和正在处理的中断进行 比较,如新中断优先级高,则向CPU发中断请求; ④ 若IF=1,则CPU执行完当前指令后响应此中断,即 从INTA引脚回送两个负脉冲;
8259A的工作方式 1、设置优先级的方式: ①全嵌套方式:优先级固定,次序由高到低依次为 0~7 ②特殊全嵌套方式:可响应同级中断; INT 主片: 8259A 01234567 优先级次序: 主片:0,1 从片:8~15 从片 8259A 主片:3~7 8101214 9111315
二、8259A的工作方式 1、设置优先级的方式: ① 全嵌套方式:优先级固定,次序由高到低依次为 0~7; ② 特殊全嵌套方式:可响应同级中断; 8259A 8259A INT 主片: 从片: 0 1 2 3 4 5 6 7 8 10 12 14 9 11 13 15 优先级次序: 主片:0,1 从片:8~15 主片:3~7
③优先级自动循环方式:某中断被响应后,优 先级自动降为最低,初始状态IR0为最高优先级; ④优先级特殊循环方式:初始状态优先级由编 程设定; 2、屏蔽中断源的方式 ①普通屏蔽方式:8259A的每个中断请求输入端 都可以通过对应屏蔽位的设置被屏蔽; ②特殊屏蔽方式:应用于中断服务程序中,可在 某一段区域内响应低级中断;
③ 优先级自动循环方式:某中断被响应后,优 先级自动降为最低,初始状态IR0为最高优先级; ④ 优先级特殊循环方式:初始状态优先级由编 程设定; 2、屏蔽中断源的方式 ① 普通屏蔽方式:8259A的每个中断请求输入端 都可以通过对应屏蔽位的设置被屏蔽; ② 特殊屏蔽方式:应用于中断服务程序中,可在 某一段区域内响应低级中断;
3、结束中断处理的方式 问题:为什么要进行结束中断处理? 具体动作:对应ISn位清0 ①中断自动结束方式:只有一片8259A,且不允许嵌 套,对应的ISn位在第二个INTA脉冲结束时被请除 般的中断结束方式:用于全嵌套方式,中断结 束时自动清除优先级最高的ISn位 特殊的中断结束方式:用于非全嵌套方式;中断 结束时清除指定的ISn位 4、连接系统总线的方式 ①缓冲方式:通过总线驱动器和数据总线相连; ②非缓冲方式:直接和数据总线相连;
3、结束中断处理的方式 问题:为什么要进行结束中断处理? 具体动作:对应ISn位清0 ① 中断自动结束方式:只有一片8259A,且不允许嵌 套,对应的ISn位在第二个INTA脉冲结束时被请除; ② 一般的中断结束方式:用于全嵌套方式,中断结 束时自动清除优先级最高的ISn位; ③ 特殊的中断结束方式:用于非全嵌套方式;中断 结束时清除指定的ISn位; 4、连接系统总线的方式 ① 缓冲方式:通过总线驱动器和数据总线相连; ② 非缓冲方式:直接和数据总线相连;
缓冲方式: 非缓冲方式: 数据总线 数据总线 B0~7 SP/EN DON7 8286 8259A OE (从片) 0~7 +5V 数据总线 SP/EN DON7 8259A SP/EN DO7 +5V 8259A (主片或单片)
B0~7 8286 T OE A0~7 SP/EN D0~7 8259A +5V 数据总线 缓冲方式: SP/EN D0~7 8259A (从片) 数据总线 非缓冲方式: SP/EN D0~7 8259A (主片或单片) 数据总线 +5V
5、引入中断请求的方式: ①边沿触发方式:上升沿触发; 电平触发方式:高电平触发 ③中断查询方式:CPU靠查询确定为哪个设备服务; 关中断 工作过程:输出OCW3 输入査询字 查询字格式: W2 W1 WO 1:有请求 0:无请求 当前中断请求 的最高优先级
5、引入中断请求的方式: ① 边沿触发方式:上升沿触发; ② 电平触发方式:高电平触发; ③ 中断查询方式:CPU靠查询确定为哪个设备服务; 工作过程: 关中断 输出OCW3 输入查询字 查询字格式: I — — — — W2 W1 W0 当前中断请求 的最高优先级 1:有请求 0:无请求