Advertisement

第2章 ARM体系结构及其技术基础—存储方式及存储器映射机制

阅读量:

ARM处理器地址空间大小为4GB2^{32}=4,294,967,296),每个单元地址由一个无符号32位整数表示,其取值范围计算得到的结果为4,294,967,296

0~2^32-1。各存储单元地址作为32位无符号数,可以进行常规的整数运算。

在程序正常运行期间,在每条ARM指令的执行过程中,对应的计数器会累加4个字节;每当一条Thumb指令被正确处理时,在相应的计数器上会累加2个字节。

ARM处理器对存储器操作的数据单元涉及8bit, 16bit, 和32bit的操作存取。

一、数据存储格式

在ARM中,内存地址A是字对齐的,有下面几种:

地址为A的字单元包括字节单元A,A+1,A+2,A+3。

地址为A的半字单元包括字节单元A,A+1。

地址为A+2的半字单元包括A+2,A+3。

地址为A的字单元包括半字单元A,A+2。

根据字节在内存单元中高低地址的分配次序将存储格式分为两种:

1、小端存储格式(低位存储低地址、高位存储高地址)

在小端存储架构下运行时,在数据块起始地址定位于位置A的情况下(即内存起始位块位于位置A),其内部位块按从低到高的顺序依次排列于从位置A开始的四个连续的位置:即依次位于位置A、A+1、A+2以及 A+3处;而对于起始地址同样位于位置 A 的半数据块,则仅在其对应的最低有效位块处定位即可。如图 2-11 所示展示

全部评论 (0)

还没有任何评论哟~