第六章中断控制器、DMA控制器和计数器/定时器
§ 中断控制器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个寄存器
初始化命令字ICW1~ICW4
操作命令字OCW1~OCW3
控制部件
IRR:中断请求寄存器
PR:中断优先级裁决器
ISR:中断服务寄存器
处理部件
8259A对外部中断的处理过程:
① IRR接收中断请求并锁存;
② IMR决定是否此请求通过;
③中断优先级裁决器把新请求和正在处理的中断进行比较,如新中断优先级高,则向CPU发中断请求;
④若IF=1,则CPU执行完当前指令后响应此中断,即从INTA引脚回送两个负脉冲;
二、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的每个中断请求输入端都可以通过对应屏蔽位的设置被屏蔽;
②特殊屏蔽方式:应用于中断服务程序中,可在某一段区域内响应低级中断;
3、结束中断处理的方式
问题:为什么要进行结束中断处理?
具体动作:对应ISn位清0
①中断自动结束方式:只有一片8259A,且不允许嵌套,对应的ISn位在第二个INTA脉冲结束时被请除;
②一般的中断结束方式:用于全嵌套方式,中断结束时自动清除优先级最高的ISn位;
③特殊的中断结束方式:用于非全嵌套方式;中断结束时清除指定的ISn位;
4、连接系统总线的方式
①缓冲方式:通过总线驱动器和数据总线相连;
②非缓冲方式:直接和数据总线相连;
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
输入查询字
查询字格式:
I
—
—
—
—
W2
W1
W0
当前中断请求的最高优先级
1:有请求
0:无请求
第六章 中断控制器、DMA控制器和 来自淘豆网m.daumloan.com转载请标明出处.