可以看看这个视频:
讨论中断时,该不该考虑不可屏蔽中断?_哔哩哔哩_bilibili
首先要知道一个概念:可屏蔽中断和不可屏蔽中断
可屏蔽中断:
可屏蔽中断是可通过中断屏蔽字来启用或禁用的中断。对于多级中断而言,能通过中断屏蔽字寄存器的中断一定比当前运行的指令的处理优先级高。
分不清中断处理优先级和中断响应优先级可以看:
查缺补漏----I/O中断处理过程-CSDN博客
能通过中断屏蔽字寄存器的中断,只能说没有被屏蔽,他依然是可屏蔽中断。也就是说他是可以通过修改屏蔽字来修改处理优先级的。
不可屏蔽中断:
对于不可屏蔽中断(Non-Maskable Interrupt, NMI)。无论中断屏蔽字的设置如何,这种中断都能立即引发处理器的响应。
在看真题的时候:
45题A选项
52题C选项
54题B,C选项
以上选项默认说的范围都是可屏蔽中断。对于中断响应的三个条件:
① 中断源有中断请求 ② CPU允许中断即开中断 ③ 一条指令执行完毕,且没有更紧迫的任务
对于不可屏蔽中断,在指令执行过程中检测到不可屏蔽中断会立即处理,所以对于中断响应的三个条件,这里默认是针对可屏蔽中断的。
注意区别这一道题,这一道题“响应外部设备的中断请求”,这里的中断请求是普通外设发来的中断请求,都是可屏蔽中断,所以C项正确。