一、中断分类
x86系统支持256个中断源,每个中断源使用0~255数字标识,该标识称作中断向量号(即CPU中断源的中断号,要与外部中断的中断号IRQ n相区别),CPU通过获取中断向量号识别中断源。256个中断源可以分为:
其中:
1)内部中断:由CPU内部事件及执行软中断指令产生,由除法中断、溢出中断、单步中断、断点中断、软件中断组成;
2)外部中断:x86 CPU为外部中断只提供了NMI、INTR两个引脚;其中外部不可屏蔽中断如总线错误、电源错误、内存错误等引起的中断,通过NMI引脚提供给CPU;外部可屏蔽中断通过INTR引脚向CPU传递中断。
二、中断向量及中断源
CPU中断向量
I/O ADDR |
INT TYPE(中断向量) |
FUNCTION |
00 ~ 03 |
0 |
除法溢出中断 |
04 ~ 07 |
1 |
单步(用于DEBUG) |
08 ~ 0B |
2 |
非屏蔽中断(NMI) |
0C ~ 0F |
3 |
断点中断(用于DEBUG) |
10 ~ 13 |
4 |
溢出中断 |
14 ~ 17 |
5 |
打印屏幕 |
18 ~ 1F |
6,7 |