目录
1、FIQ在异常向量表位于最末
2、FIQ模式有5个私有寄存器
3、FIQ的优先级高于IRQ
1、FIQ在异常向量表位于最末
一般来说,处理器跳转到异常向量表以后,会根据当前的异常源类型,执行下一次的跳转指令,但是FIQ在异常向量表的末尾,我们可以直接把异常处理程序写在异常向量表之后,这样就省去了跳转直接执行异常处理程序。
2、FIQ模式有5个私有寄存器
User模式切换到IRQ模式时,因为User模式和IRQ模式共用 r8~r12 寄存器,所以在切换到IRQ模式之前,需要先保存 r8~r12 寄存器的数据,然后再处理中断。
User模式切换到FIQ模式时,FIQ有5个私有的寄存器,所以无需备份 r8~r12 寄存器上的数据,可直接处理中断。
3、FIQ的优先级高于IRQ
FIQ是高优先级中断产生时进入的模式,IRQ是普通优先级中断产生时进入的模式,在FIQ和IRQ中断同时发生时,优先响应FIQ。
除此之外,FIQ可以打断IRQ,但IRQ不能打断FIQ。也就是说,处理IRQ异常时,如果出现了FIQ异常,这时处理器就会停止处理IRQ,转而先去处理FIQ,处理完FIQ以后,再继续处理IRQ。