ARM工作模式
ARM工作模式:
1、 工作状态:ARM状态(32位的字对齐的ARM指令),Thumb状态(16位的半字对齐的Thumb指令);区别ARM指令的长度不一样;
2、 (理解!!!)ARM存储器格式:从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字(32位)数据,依次排列;32位成的微处理器,ARM体系结构所支持的最大寻址空间为4GB。
ARM体系结构可以用两种方式存储字数据,称为:大端格式和小端格式。(ARM11和ARM9采用的是小端存储)
.大端格式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。
.小端格式:字数据的低字节存储在低地址中,而字数据的高字节则存放在高地址中。
逻辑高位 80 |
逻辑低位 70 |
例如图:
0x8070
80 |
70 |
1
(物理地址)0 (小端格式) 数据的逻辑高位放在地 址高位,数据的逻辑低位放在地址低位; 大端格式是相反的;
ARM微处理器的指令长度可以是32位(ARM状态),也可以是16位(Thumb状态);
4字节对齐:
如图:
OK |
NO |
NO |
NO |
OK |
4
3
2
1
0 满足4的倍数处才可以存储数据
3、工作模式:(死记硬背!!!)
1. 用户模式(Usr)
用于正常执行程序
2. 快速中断模式(FIQ)(处理优先级高一些)
用于高速数据传输
3. 外部中断模式(IRQ)
用于通常的中断处理
4. 管理模式(svc)
操作系统使用的保护模式
5. 数据访问终止模式(abt)
当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护;
6. 系统模式(sys)
运行具有特权的操作系统任务;
7 .未定义指令中止模式(und)
未定义的指令执行时进入该模式,可用于支持硬件;
工作模式的切换:1.通过程序员编写软件去控制切换,2.外部的原因引起,例如:在处于Usr模式下运行突然产生串口中断,从Usr模式切换到IRQ模式;
除用户模式以外,其余的所有的6种模式称为非用户模式或特权模式;
除用户模式和系统模式以外的5种模式又称为异常模式;