简单的对比FIQ比IRQ快的原因
发布时间:2023-01-20 19:57:00
发布人:wjy
ARM的FIQ模式提供了更多的寄存器,r8到r14还有SPSR,而IRQ模式就没有那么多;
R8,R9,R10, R11,R12对应的banked的寄存器就没有,这就意味着在ARM的IRQ模式下,中断处理程序自己要保存R8到R12这几个寄存器,然后退出中断处理时程序要恢复这几个寄存器,而FIQ模式由于这几个寄存器都有banked寄存器,模式切换时CPU自动保存这些值到banked寄存器,退出FIQ模式时自动恢复,所以这个过程FIQ比IRQ快。
FIQ比IRQ有更高优先级,如果FIQ和IRQ同时产生,那么FIQ先处理。
另外FIQ在异常向量表的最下边,不需要进行跳转。