(* 这里仅讨论三级流水线结构的ARM处理器,采用ARM指令)
1、 在进入异常时,处理器完成以下工作(由硬件完成):
u 保存相应的地址到LR(参见上表)
u 保存CPSR到SPSR
u 修改CPSR中的:
2 T位:强制进入ARM状态(相对于THUMB状态)
2 I位:禁止IRQ
2 M[4:0](模式位):进入相应的处理器模式
2 F位:在复位异常和快速中断请求异常发生时,需要禁止FIQ
2、 在退出异常时,程序完成以下工作(由软件完成):
u 恢复保护的寄存器(if necessary)
u 复制SPSR到CPSR
u 开启屏蔽的中断(if necessary)
u 从LR中获取返回地址(可能需要进行相应的计算),并赋给PC,返回
|
|