我有以下问题(关于x86
架构):
当不可屏蔽中断(例如NMI
)中断正在进行的可屏蔽中断时会发生什么?当可屏蔽中断被服务或服务中寄存器中的所有位被清除时,预留中断的相应ISR(服务中寄存器)标志是否仍设置在中断控制器的ISR寄存器中?
提前谢谢。
在最初的IBM PC硬件设计中,NMI信号没有以任何方式涉及中断控制器,因此它对在用寄存器没有影响。尽管已经过去了大约30年,但我猜情况仍然如此;现代芯片制造商或多或少都被这些核心遗留行为束缚住了手脚。
必须通过向中断控制器发送EOI命令(中断结束),在中断处理程序中清除ISR。