加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

ARM寄存器概括

发布时间:2021-12-18 18:32:58 所属栏目:PHP教程 来源:互联网
导读:ARM处理器共有37个寄存器: 1) 31个通用寄存器,包括程序计数器(PC)。这些寄存器都是32位的; 2)6个状态寄存器。这些寄存器也是32位的,但是只使用了其中的12位。 ARM通用寄存器 通用寄存器(R0-R15)可分为三类:不分组寄存器R0~R7;分组寄存器R8~R14;程

ARM处理器共有37个寄存器:
      1) 31个通用寄存器,包括程序计数器(PC)。这些寄存器都是32位的;
 
      2)6个状态寄存器。这些寄存器也是32位的,但是只使用了其中的12位。
 
ARM通用寄存器
 
          通用寄存器(R0-R15)可分为三类:不分组寄存器R0~R7;分组寄存器R8~R14;程序计数器PC。
 
          1)不分组寄存器R0~R7
 
           不分组寄存器R0~R7在所有处理器模式下,它们每一个都访问一样的32位寄存器。它们是真正的通用寄存器,没有体系结构所隐含的特殊用途。
 
           2)分组寄存器R8~R14
 
           分组寄存器R8~R14对应的物理寄存器取决于当前的处理器模式。若要访问特定的物理寄存器而不依赖当前的处理器模式,则要使用规定的名字。
 
          寄存器R8~R12各有两组物理寄存器:一组为FIQ模式,另一组为除了FIQ以外的所有模式。寄存器R8~R12没有任何指定的特殊用途,只是在作快速中断处理时使用。寄存器R13,R14各对应6个分组的物理寄存器,1个用于用户模式和系统模式,其它5个分别用于5种异常模式。寄存器R13通常用做堆栈指针,称为SP;寄存器R14用作子程序链接寄存器,也称为LR。
 
          3)程序计数器PC
 
           寄存器R15用做程序计数器(PC)。
 
ARM程序状态寄存器
 
        在所有处理器模式下都可以访问当前的程序状态寄存器CPSR。CPSR包含条件码标志,中断禁止位,当前处理器模式以及其它状态和控制信息。每种异常模式都有一个程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存CPSR的状态。
 
           CPSR和SPSR的格式如表所示:
 
                                                                                                                                    CPSR和SPSR的格式
 
31
 
30
 
29
 
28
 
27
 
26~8
 
7
 
6
 
5
 
4
 
3
 
2
 
1
 
0
 
N
 
Z
 
C
 
V
 
Q
 
DNM ( RAZ )
 
I
 
F
 
T
 
M
 
M
 
M
 
M
 
M
 
         1)条件码标志:
 
                N,Z,C,V大多数指令可以检测这些条件码标志以决定程序指令如何执行。
 
         2)控制位:
 
                 最低8位I,F,T和M位用做控制位。当异常出现时改变控制位。当处理器在特权模式下也可以由软件改变。
 
                中断禁止位:I置1则禁止IRQ中断;F置1则禁止FIQ中断。
 
              T位:T=0指示ARM执行;T=1指示Thumb执行。在这些体系结构系统中,可自由地使用能在ARM和Thumb状态之间切换的指令。
 
               模式位:M0,M1,M2,M3和M4(M[4:0])是模式位,这些位决定处理器的工作模式,如表所示。
 
                                                                                                          表ARM工作模式M[4:0]
 
M[4:0]
 
模式
 
可访问的寄-存器
 
0b10000
 
用户
 
PC,R14~R0,CPSR
 
0b10001
 
FIQ
 
PC,R14_fiq~R8_fiq,R7~R0,CPSR,SPSR_fiq
 
0b10010
 
IRQ
 
PC,R14_irq~R8_fiq,R12~R0,CPSR,SPSR_irq
 
0b10011
 
管理
 
PC,R14_svc~R8_svc,R12~R0,CPSR,SPSR_svc
 
0b10111
 
中止
 
PC,R14_abt~R8_abt,R12~R0,CPSR,SPSR_abt
 
0b11011
 
未定义
 
PC,R14_und~R8_und,R12~R0,CPSR,SPSR_und
 
0b11111
 
系统
 
PC,R14~R0,CPSR
 
               3)其他位
 
                               程序状态寄存器的其他位保留,用作以后的扩展。
 
    
 
    ARM核工作在用户模式,R0~R15可用。
 
        存储器格式
 
               ARM体系结构将存储器看作是从零地址开始的字节的线性组合。字节零到字节三放置第一个字(WORD),字节四到字节七存储第二个字,以此类推。
 
              ARM体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。
 
       大端格式
 
             在这种格式中,字数据的高位字节存储在低地址中,而字数据的低位字节则存放在高地址中
 
       小端格式
 
             在这种格式中,字数据的高位字节存储在高地址中,而字数据的低位字节则存放在低地址中

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读