Cortex-A8存储器管理

一.ARM的基本数据类型

  1. 字节(Byte):8bit
  2. 半字(Halfword):16bit
  3. 字(Word):32bit
  4. 双字(Doubleword):64bit

无符号数据,二进制格式存储,范围:0~(2^N)-1,N为数据类型长度;

有符号,二进制补码格式,数据范围:-2^(N-1)~2^(N-1)-1,N为数据类型长度。

ARM的体系结构将存储器看作是从0x00000000地址开始的按字节编码的线性存储结构,每个字节都有对应的地址编码。

  1. 以字为单位,4字节对齐,地址最后俩位为00
  2. 以半字为单位,按2字节对齐,地址末位为0
  3. 以字节为单位,按1字节对齐

二.浮点数据类型

浮点运算使用在ARM硬件指令集中未定义的数据类型。在协处理器指令空间定义了一系列浮点指令,这些指令全部可以通过未定义指令异常在软件中实现。

三.大/小端存储模式

Cortex-A8处理器支持大端和小端模式,同时还支持混合大小端模式和非对齐数据访问。可以通过硬件的方法设置端模式。

大端:高字节存储在低地址,低字节存储在高地址;

小端:高字节存储在高地址 ,低字节存储在低地值

0x12345678

 

四.寄存器组

Cortex-A8处理器共有40个32位寄存器,33(16+7+2+2+2+2+2)个通用寄存器,7个状态寄存器。其中状态寄存器包括1个CPSR(Current Program Status Register 当前程序状态寄存器),6个SPSR(Saved Program Status Register 备份程序状态寄存器)

这些寄存器不能同时访问,在不同的寄存器工作模式下只能访问一组相应的寄存器组。

 

1.通用寄存器组

R0~R7是不分组的通用寄存器,R8~R15是分组的通用寄存器。在ARM状态下,任何时刻,16个数据寄存器R0~R15和1~2个状态寄存器是可访问的。在特权模式下,特定模式下的寄存器阵列才是有效的。

16位指令对某些寄存器的额访问存在限制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值