中断处理的全过程分为中断检测中断响应中断处理3个阶段。

1.中断检测

中断检测在每条指令结束时进行,检测是否有中断请求或是满足异常条件。

 

2.中断响应

中断响应是由处理器内部硬件完成的中断序列,而不是由程序执行的。在Intel 80x86中,中断响应过程的操作如下:

●对可屏蔽中断,从8259中断控制器芯片读取中断向量号;

●将标志寄存器EFLAG,CS和IP压栈;

●对于硬件中断,复位标志寄存器中的IF和TF位,禁止可屏蔽外部中断和单步异常;

●根据中断向量号,查找中断向量表,根据中断服务程序的首址转移到中断服务程序执行。

 

3.中断处理即执行中断服务程序。中断服务程序的主要内容如下:

●保存中断服务程序将要使用的所有寄存器的内容,以便于在退出中断服务程序之前进行恢复;

●如果中断向量被多个设备所共享,为了确定产生该中断信号的设备,需要轮询这些设备的中断状态寄存器;

●获取中断相关的其他信息;

●对中断进行具体的处理;

●恢复保存的上下文;

●执行中断返回指令,使CPU的控制返回到被中断的程序继续执行。