嵌入式每日八股1.8
Arm有多少个寄存器?:heart:
Arm架构有多个不同的版本和变体,每个版本和变体都有不同的寄存器数量和类型。以下是一些常见寄存器数量:
ARM处理器共有37个寄存器。
(1) 1个状态寄存器cpsr (2) 5个异常模式下的cpsr状态寄存器的影子寄存器spsr (3)16个通用寄存器r0 ~ r15 (4)10个异常模式下的r13和r14的影子寄存器 (5) 5个FIQ模式下的r8 ~ r12的影子寄存器
程序计数器PC为R15、程序链接寄存器LR为R14、堆栈指针寄存器SP为R13。
- SP 堆栈指针。
- LR ARM处理器相应异常时,或者函数调用时,会自动完成将当前的PC的值-4保存到LR寄存器,便于返回时回到原来的运行地址
- PC 指向下一条要执行的指令。
- CPSR 程序状态寄存器,记录当前程序的状态。
- SPSR 状态切换时保存CPSR的值,便于返回时回到原来的状态。
- 带三角的是独有的影子寄存器,状态转换的时候原来的不用保存一直在,不带的都是各模式共用的寄存器。
- FIQ多个影子寄存器是用空间换时间,处理更快。
【嵌入式八股】精华版 https://www.nowcoder.com/creation/manager/columnDetail/0rOeJm
【嵌入式八股】一、语言篇https://www.nowcoder.com/creation/manager/columnDetail/mwQPeM
【嵌入式八股】二、计算机基础篇https://www.nowcoder.com/creation/manager/columnDetail/Mg5Lym
【嵌入式八股】三、硬件篇https://www.nowcoder.com/creation/manager/columnDetail/MRVDlM
【嵌入式八股】四、嵌入式Linux篇https://www.nowcoder.com/creation/manager/columnDetail/MQ2bb0