ARM微处理器第一弹:工作状态,存储器格式,指令长度,工作模式

工作状态:

从编程角度看,ARM微处理器的工作状态一般有两种,并可在这两种状态下可随时切换:

第一种是ARM状态,此时处理器执行的是32位的字对齐的ARM指令;

第二种是Thumb状态,此时处理器执行的是16位的、半字对齐的Thumb指令。


存储器格式:

ARM体系结构将存储器看做从零地址开始的字节线性组合。即:从零字节到三字节放置第一个存储的字(32位)数据,从第四字节到第七字节放置第二个存储的字数据,依次排列。ARM作为32位的微处理器,ARM体系结构所支持的最大寻址空间为4GB

用两种方式来存储数据,分别称之为大端格式小端格式

大端格式:字数据的高字节存储在低地址中,而字数据的低字节存储在高地址中;

小端格式:字数据的低字节存储在低地址中,而字数据的高字节存储在高地址中;

指令长度:

ARM微处理器的指令长度可以是32位的(ARM状态下),也可以是16位(在Thumb状态下)。ARM微处理器支持字节(8位),半字(16位),字(32位)三种数据类型,

注意区别于80x86微处理器中的字节(8位),字(16位),双字(32);

其中,字需要4字节对齐(地址的低两位为0,),半字需要2字节对齐(地址的最低位为0)。

工作模式:

ARM微处理器支持7种工作模式,分别是:

1)用户模式(Usr) 用于正常执行程序;

2)快速中断模式(FIQ) 用于高速数据传输;

3)外部中断模式(IRQ)用于通常的中断处理;

4)管理模式(svc)操作系统使用的保护模式;

5)数据访问终止模式(abt) 当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护;

6)系统模式(sys)运行具有特权的操作系统任务;

7)未定义指令中止模式(und)未定义的指令执行时进入该模式可用于支持硬件。

说明:ARM微处理器的工作模式可以通过软件改变,也可以通过外部中断或异常处理改变。应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的新系统资源是不能被访问的。

上述7种工作模式除了用户模式外,其余的6种模式又称为非用户模式,或特权模式(Privileged Modes)

其中除去用户模式和系统模式外的5种又称为异常模式(Exception Modes),常用于才处理中断或异常以及需要访问受保护的系统资源等情况。

你可能感兴趣的:(Linux运维,ARM,嵌入式)