一、ARM技术特征
1、体积小、低功耗、低成本、高性能
2、支持Thumb(16位)/ARM(32位)双指令集
3、使用大量寄存器,执行速度更快
4、指令长度固定(RISC)
5、寻址方式灵活简单,执行效率高
RISC:精简指令集
RISC选取了使用频率高的简单指令,抛弃了复杂指令,固定指令长度,减少指令格式和寻址方式。极其适合嵌入式处理器。
CISC:复杂指令集
CISC更侧重于硬件执行指令的功能性,因此CISC指令及处理器的硬件结构较为复杂。这些会导致成本以及芯片体积的增大,影响其在嵌入式中的使用。
存储器模式
1、大端模式:高位在低地址,低位在高地址;
2、小端模式:高位在高地址,低位在低地址;
二、工作模式
1、用户模式(Usr):用于正常执行程序;
2、快速中断模式(FIQ):用于高速数据传输;
3、外部中断模式(IRQ):用于通常的中断处理;
4、管理模式(svc):操作系统使用的保护模式;
5、数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储以及存储保护;
6、系统模式(sys):运行具有特权的操作系统任务;
7、未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件;
除了用户模式之外,其余六种模式都是特权模式。在特权模式下,程序可以访问所有的系统资源,也可以任意进行处理器模式切换。
除了用户模式和系统模式之外,其余五种模式都是异常模式。
ARM的工作模式切换方法:
被动切换:在ARM运行的时候产生一些异常或者中断来自动进行模式切换;
主动切换:通过软件改变,即软件设置寄存器来经行ARM的模式切换,因为ARM的工作模式都是可以通过相应寄存器的赋值来切换的。