ARM 的指令结构和寄存器结构
扫描二维码
随时随地手机看文章
ARM 微处理器的在较新的体系结构中支持两种指令集: ARM 指令集和 Thumb 指令集。其中,ARM 指令为 32 位的长度, Thumb 指令为 16 位长度。 Thumb 指令集为 ARM 指令集的功能子集,但与等价的 ARM 代码相比较,可节省 30 %~ 40 %以上的存储空间,同时具备 32 位代码的所有优点
ARM 处理器共有 37 个寄存器,被分为若干个组( BANK ),这些寄存器包括:
- 31 个通用寄存器,包括程序计数器( PC 指针),均为 32 位的寄存器。
- 6 个状态寄存器,用以标识 CPU 的工作状态及程序的运行状态,均为 32 位,目前只使用了其中的一部分。
同时, ARM 处理器又有 7 种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器包括 15 个通用寄存器( R0 ~ R14 )、一至二个状态寄存器和程序计数器。在所有的寄存器中,有些是在 7 种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。