嵌入式系统开发技术(自我学习)——嵌入式处理器(3)

  1. ARM存储器格式及数据类型

  2. ARM处理器中的MMU和MPU

  3. ARM 指令分类及指令格式

ARM的存储字格式

1)大端模式

32位数据字的高字节存储在低地址中,数据字的低地址存放在高地址中

一个32位数据字0x12345678存放在起始地址位0x30001000,大端模式下:

0x30001000存放0x12;
0x30001001存放0x34;

2)小端模式(系统复位默认小端模式)

32位数据字的高字节存储在高地址中,数据字的低地址存放在低地址中

(ARM 体系结构将存储器看做从0x00000000开始以字节为单位的线性阵列,最大寻址空间为4GB)

ARM数据类型

除Cortex-A50外,32位ARM处理器支持:

字节(6);
半字(16);
字(32)

字需要4字节对齐,地址的低两位为0;半字需要2字节对齐,地址最低位为0

ARM处理器中的MMU和MPU

MMU:存储器管理单元

功能:
1)虚拟地址到物理地址的映射

当使能MMU后,ARM处理器产生的地址是虚拟地址

2)存储器访问权限控制

从TLB中查到地址转换信息和访问权限信息,这些信息被用于:

访问权限控制信息用来控制访问是否被允许;
对没有高速缓存的系统,转换得到的物理地址将被用作访问主存储器的地址

MPU:存储器保护单元

ARM指令分类

所有ARM指令都使用4位条件编码来决定指令是否执行

ARM处理器是RISC结构,无论对外部设备还是系统存储器的访问都需要通过加载/存储指令完成

ARM指令分类:

1)分支指令
2)数据处理指令
3)程序状态存储器CPSR处理指令
4)加载/存储指令
5)协处理器指令
6)异常产生指令

助记符 指令功能描述
ADC 带进位加法
ADD 加法
AND 逻辑与
B 跳转
BIC 位清零
BKPT 断点中断
BL 带返回跳转
BLX 带返回和状态切换跳转
BX 带状态切换跳转
CMP 比较
EOR 异或
MOV 数据传送
MRS 传送CPSR或SPSR到通用寄存器
MSR 传送通用寄存器到CPSR或SPSR
ARM指令格式

一般格式:

< opcode >{ < cond > } {S} < Rd>,< Rn>{ ,< op2>}

ARM指令操作数符号:
1)#:立即数
2)0x:十六进制
3)!:更新基址寄存器符号
4)^ :复制SPSR到CPSR
5)-:指示寄存器列表范围

ARM指令中的移位操作符

移位操作符 操作含义
LSL 逻辑左移
ASL 算术左移
LSR 逻辑右移
ASR 算术右移
ROR 循环右移
RRX 扩展循环右移

移位操作格式:
Rm , < opsh >#< shift >

猜你喜欢

转载自blog.csdn.net/weixin_44513969/article/details/87091378