文档介绍:第五章中断技术
一、80x86的中断类型
硬件中断(外部中断) ——由外部设备引起的中断
软件中断(内部中断)——由CPU指令引起的中断
中断的概念
原程序
中断请求
响应中断
中断返回
中断
处理
子程序
2)非屏蔽中断(NMI)
由引脚NMI输入,上升沿有效。不受IF标志位控制。非屏蔽中断一般用于非常事件
1、外部中断
1)可屏蔽中断(INTR)
中断申请输入端为INTR,高电平有效,由8259管理。受IF标志位影响。用于外部设备
2、内部中断
INT指令——INT N 0H~0FFH (0H~077H是系统指供)
CPU错误——除法错、溢出中断(OF=1,执行INTO指令)
断点——单步中断(TF=1)、断点中断
高
低
中断优先顺序
软件中断
除法错中断
指令中断
溢出中断
非屏蔽中断
可屏蔽中断
单步中断
非屏蔽中断
中断逻辑
INTO
指令
单步
中断
除法
错误
INT N
指令
CPU
INTR
NMI
可屏蔽中断
8259A
中断
控制器
IR0
IR1
IR2
IR3
IR4
IR5
IR6
IR7
外
设
中
断
源
INTA
二、INTR中断的优先权
80286
INTR
CPU
8259A
中断控制器
(主)
IRQ0系统时钟
IRQ1键盘
IRQ2
…
…
…
IRQ7保留
8259A
中断控制器
(从)
IRQ8实时钟
IRQ9 保留
IRQ10 保留
…
…
…
IRQ15保留
80286以上的计算机系统中,两片8259A组成主从方式,可管理16级中断,优先权顺序为:IRQ0→ IRQ1→ IRQ2→ IRQ8→…… IRQ15→ IRQ3→…… IRQ7
三、中断向量表
1 .中断向量:是中断处理程序的入口地址。由段地址和段内偏移构成。每个中断向量都对应一个中断类型号。
2 .中断向量表:保存中断向量,位于内存的的开始处,长度为1KB。一个中断向量占用4个内存单元,对应256个中断。中断号乘以4得到中断向量的地址
实方式下,CPU采用中断向量表的方法,转向中断服务处理程序
高位2字节
低位2字节
段地址(CS)
段内偏移地址(IP)
0000H
0004H
0008H
000CH
0010H
0014H
0080H
除数零中断
单步中断
NMI
中断
断点中断
溢出中断
中断向量地址
中断向量表
中断类型号
0
1
2
3
4
5
四、8259A中断控制器
1、功能
Intel 8259是与8080/8085系列以及8086/8088系列兼容的可编程的中断控制器。
(1)具有8级优先权控制,通过级联可扩展至64级优先权控制(9片8259组成两级)。
(2)每一级中断都可以屏蔽和允许。
(3)中断响应时提供中断向量。
(4)中断申请可以由电平触发,也可由边沿触发。
(5)有多种工作方式。
INTA
INT
数据总线
缓冲器
读/写
控制
逻辑
级连
缓冲
比较
SP/EN
控制电路
控制逻辑
初始化命令
寄存器组
操作命令
寄存器组
中断
请求
寄存
器
(IRR)
IR0
IR1
IR2
IR7
中断
服务
寄存器
(ISR)
中断
优先
判别
中断屏蔽寄存器
(IMR)
D7
~
D0
RD
WR
CS
A0
CAS1
CAS2
CAS0
2、引脚及结构
连接到CPU的INTR
0:允许 1:被屏蔽
若有中断请求,相应位置1