全称:程序状态保存寄存器(saved program status register) 每一种处理器模式下都有一个状态寄存器SPSR,用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。 当特定的异常中断发生时,这个寄存器存放CPSR的内容。 在异常中断退出时,可以用SPSR来恢复CPSR。 由于用户模式和系统模式不是异常中断模式,所以他没有SPSR。
在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。 CPSR和SPSR的格式 Thumb状态下的寄存器组织 Thumb状态下的寄存器集是ARM状态下寄存器集的子集。程序员可以直接访问8个通用的寄存器(R0~R7),程序计数器PC、堆栈指针...
CPSR(当前程序状态寄存器)在任何处理器模式下被访问。它包含了条件标志位、中断禁止位、当前处理器模式标志以及其他的一些控制和状态位。每一种处理器模式下都有一个专用的物理状态寄存器,称为SPSR(备份程序状态寄存器)。当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容。在异常中断退出时,可以用SPSR...
解析 答:CPSR:是程序状态寄存器[1],所有模式共享一个程序状态寄存器。它包括条件标志位、中断禁止位、当前处理器模式标志位,以及其他一些相关的控制和状态位。(2分)SPSR:程序状态保存寄存器,每个异常模式都有自己的SPSR。当进入异常时,它保存CPSR的当前值,从异常退出时恢复CPSR。(3分)...
ARM处理器中含有5个存储程序状态寄存器SPSR (Saved Program Status Register),他们分别为 SPSR_svc、SPSR_abt、SPSR_und、SPSRJrq、SPSR.fiq,分别隶属 于ARM处理器的5种异常模式。当处理器因某种异常发生而进入到对应的异常模式时,相应模式的SPSR 将自动地备份CPSR的原值,将来可使用此SPSR中保存的备份值恢夏CPSRo...
ARM指令集提供了两条指令,可直接控制程序状态寄存器(Program State Register,PSR)。MRS指令用于把CPSR或SPSR的值传送到一个寄存器;MSR与之相反,把一个寄存器的内容传送到CPSR或SPSR。这两条指令相结合,可用于对CPSR和SPSR进行读/写操作。程序状态寄存器指令如表所示。
处理器状态保存到目标异常级别的SPSR_ELx中。 返回地址保存到目标异常级别的ELR_ELx中。 如果异常是同步异常或SError中断,异常的表征信息将保存在目标异常级别的ESR_ELx中。 如果是指令止异常(Instruction Abort exception),数据中止异常(Data Abort exception,),PC对齐错误异常(PC alignment fault exception),故障的...
在ARM体系结构中,异常中断用来处理软件中断、未定义指令陷阱及系统复位功能和外部事件,这些“不正常”事件都被划归“异常”,因为在处理器的控制机制中,它们都使用同样的流程进行异常处理。 ARM的异常中断响应过程 ARM处理器对异常中断的响应过程如下 将CPSR的内容保存到将要执行的异常中断对应的SPSR中 设置当前状态寄存器...
解析 答:ARM内核包括1个CPSR和5个仅供异常解决模式使用SPSR。 由于所有模式所有共享一种程序状态寄存器CPSR,因而解决器所有状态所有都保存在CPSR中,也就是ARM内核是通过CPSR来监视和控制内部操作。 每种异常模式均有一种相应程序状态保存寄存器SPSR,用于保存任务在异常发生之前CPSR状态当前值。
ARM架构中处理器有不同的运行模式,因此同一个功能的寄存器在不同的运行模式下可能对应不同的物理寄存器,这些寄存器被称为备份寄存器。如SPSR_svc表示svc模式下使用的SPSR寄存器。ARM架构中常用的运行模式如下表所示[9]: ARMv8-A架构还有Monitor(mon)工作模式,用于处理器安全状态与非安全状态的切换,Hypervisor(hyp)模式...