
中断由异步的来自外部事件引起。外部事件及中断响应与正在执行的指令不存在关系。80386有两根引脚INTR和NMI接受外部中断请溶管病帝剧不求信号,INTR接受可屏360百科蔽中断请求。在80386中,标志寄存器EFLAGS中的IF标志决定是否屏蔽可屏蔽中断请求。
- 中文名称 中断屏蔽
- 处理器 接受和处理来自NMI的中断请求
- 中断向量号 固定为2
- 结束以 IRET指令
简介
处理器必须接受和处理来自NMI的中断请求。在80386系统来自中,处理器在响应NMI的中断向量号固定为2。为了避免不可屏蔽中断的嵌套,当接受到一个NMI中断请求时,处理器自动屏蔽所有的N著星脸限银错顺着稳MI的中断请求,直360百科到执行中断指令IRET后才重新开放NMI中断请求,所以,NMI处理指吗有养镇状攻程序应以IRET指令结束。
什么叫屏蔽中断?允许中断?怎样实现?
按照是否可以被屏蔽,可将中断分为两大类:不可屏蔽中断(又叫非屏蔽中断)和可屏渐太那要你花化蔽中断。不可屏蔽中断源一旦提出请求,CPU必须无条件响应,而对可屏蔽中断源的请求,CPU可以响应,也可以不响应。CPU一般设置两根中断请求输入线:可屏蔽率试将他分绝办中断请求INTR(In如谁压月一收terrupt Re法脚封晶笔鸡或觉类突quire)和不可屏蔽中断请求NMI(NonMaskable Inter天清包灯统非台rupt)。对于可屏蔽中断,画音管坐掉晶问除了受本身的屏蔽位控制外,还都要受一个总的控制英听亮际,即CPU标志寄存器中的中断允许标志位IF(Interrupt Flag)的控制,IF位为1,可以得到CPU的响应,否则,得速挥金导不到响应。IF位可以由用户控制,指令STI或Tu轮盾查号伯始rbo c的Enable()函数,将IF位置1(开中断),指令CLI或Turbo_c 的Disable()函数,将IF位清0(关中断)。
示例
典型的非屏蔽中断源的例子是电源掉电,一旦出现,必须立即无条件地响应,否则进行其他任何工作都是植找正来没有意义的。
典型的可屏蔽中断源的例子是打印机中断,CPU对打印机中断请求的响应可以快一些,也可以慢一些,因为让打印机等待会儿是完全可以的。
注意,可屏蔽中断和非可屏蔽中断都属于硬件中断(外部中断)。软中断既不属于可屏蔽中断,也不属于非可屏蔽中断。