中断处理的全过程


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

1.中断检测

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

 

2.中断响应

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

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

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

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

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

 

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

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

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

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

对中断进行具体的处理

恢复保存的上下文

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM