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

本文详细介绍了ARM处理器的存储器格式,包括大端模式和小端模式的数据存储方式,以及ARM支持的数据类型。同时,深入探讨了MMU和MPU的功能,如虚拟地址到物理地址的映射和存储器访问权限控制。此外,还讲解了ARM指令分类和格式,如分支、数据处理、加载/存储等指令,以及移位操作符的使用。
  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 >

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值