arm是一种处理器架构,同为处理器架构的还有powerpc,alpha,mips等等。

arm(advanced risc machines)是一个32位的RISC(精简指令集)处理器架构,arm64则为64位的。

arm处理器的特点是:指令长度固定,执行效率高,成本低。

指令集特点——使用RISC精简指令集,指令集的总类少,通常一个周期一条指令,采用固定长度的指令格式。编译器能够通过多条指令去完成一个操作。

寄存器特点——arm有较多的通用寄存器,寄存器操作较多。以Cortex—A7为例子,A7有16个通用寄存器R0—R15,这些寄存器当中的某些在不同工作模式下对应不同的物理地址。

总共是有43个物理寄存器。组成如下:

①34个通用寄存器,包括R15程序计数器(PC),这些寄存器为32位;

②8个状态寄存器,包括CPSR和SPSR;

③Hyp模式下独有一个ELR_Hyp寄存器。

R0—R7在所有工作模式下这8个寄存器都对应同一个物理寄存器,所以模式切换会被覆盖。

R8—R14,部分模式独有的寄存器,可以不用执行保存和恢复中断现场。比如FIQ快速中断模式下就有自己独有的R8—R14寄存器。这样切换到FIQ模式时就不用去保存和回复这一部分寄存器,这也是FIQ模式比IRQ模式更快的原因。

R13(SP指针)指向该模式下专用的栈地址。

R14(LR链接寄存器)存放当前子程序的返回地址,BL或者BLX指令会把R14设置为子函数的返回地址。

R15(PC),又称为程序计数器。保存着当前执行的指令地址再加8个字节地址处的指令。以三级流水线为例子。取指—译码—执行,PC指针总是指向“正在取指”的指令。

CPSR,当前程序状态寄存器。

SPSR,备用程序状态寄存器。

arm架构cpu品牌 主流arm架构_学习

Load/Store结构特点——使用加载存储指令批量从内存中读写数据,提高运行效率。

数据类型特点

双字(DouWord):64位,占8个字节

字(word):在ARM体系结构中,字的长度位32位,字节的长度为8位

ARM处理器的存储特点:

ARM体系结构中将存储器看成是从0地址开始的线性组合。

大端模式:高存储地址用来存放低字节数据

小端模式:低存储地址用来存放低字节数据

内核的工作模式:

1.USR(User)用户模式,非特权模式,大部分程序都运行于这种模式

2.FIQ 快中断模式,进入FIQ中断异常

3.IRQ 一般中断模式

4.SVC(Supervisor)超级管理者模式,特权模式,供操作系统使用

5.MON(Monitor)监视模式,这个模式用于用于安全扩展模式

6.ABT(Abort)数据访问终止模式,当访问的数据不合法时会进入这种模式,用于虚拟存储以及存储保护

7.HYP(Hpy)超级监视模式,用于虚拟化扩展

8.UND(Undef)未定义指令终止模式,访问未定义的指令时会进入这种模式

9.SYS(System)系统模式,用于特权级的操作系统任务