![处理器如何知道发生 IRQ 或 FIQ 以及如何转变为特定的中断请求模式?](https://linux22.com/image/1440672/%E5%A4%84%E7%90%86%E5%99%A8%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E5%8F%91%E7%94%9F%20IRQ%20%E6%88%96%20FIQ%20%E4%BB%A5%E5%8F%8A%E5%A6%82%E4%BD%95%E8%BD%AC%E5%8F%98%E4%B8%BA%E7%89%B9%E5%AE%9A%E7%9A%84%E4%B8%AD%E6%96%AD%E8%AF%B7%E6%B1%82%E6%A8%A1%E5%BC%8F%EF%BC%9F.png)
假设处理器处于用户模式并且发生 IRQ,则它会转变为 IRQ 模式。
但是用户模式对 cpsr 的控制字段没有写权限,那么模式如何改变?可能我错了,请解释一下。
ARCH = ARM。
提前致谢。
答案1
中断实际上中断用户模式代码,将处理器改为IRQ模式。这就是它被称为中断的原因。硬件可以做任何事情,中断机制是在硬件中实现的。
假设处理器处于用户模式并且发生 IRQ,则它会转变为 IRQ 模式。
但是用户模式对 cpsr 的控制字段没有写权限,那么模式如何改变?可能我错了,请解释一下。
ARCH = ARM。
提前致谢。
中断实际上中断用户模式代码,将处理器改为IRQ模式。这就是它被称为中断的原因。硬件可以做任何事情,中断机制是在硬件中实现的。