第2章 ARM体系结构及其技术基础—存储方式及存储器映射机制
发布时间
阅读量:
阅读量
ARM处理器地址空间大小为4GB(2^{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)
还没有任何评论哟~
