字对齐和半字对齐

  ARM处理器对存储器空间的访问分辨率以字节为最小单位;ARM处理器还支持16bit数据(2字节)的存储器访问和32bit数据(4子节)的存储器访问.在ARM中将32位的数据称之为'字',将16位的数据称之为'半字'。

  ARM处理器在对于"字"/"半字"数据进行访问时,对数据的存储格式是有要求的[文档中讲到若不按照如此要求:可能存储器系统的实现更加困难;可能给ARM系统的移植带来麻烦(缺少统一标准);标准软件(编译器和软件工具)在不遵守规则的系统中可能不工作.]在存储器紧邻的两个字节单元,并且首字节地址必须能被2整除,这样存储的16bit数据称为'半字对齐'存储数据,16bit数据这样的存储方式称为'半字对齐'存储。类似的,ARM 处理器在进“字”数据访问时,要求被访问的'字'必须存放在存储器紧邻的4个字节单元,并且首字节地址必须能被4整除,这样存储的32bit数据称为'字对齐'存储数据,32bit数据这样的存储方式称为'字对齐'存储。

posted @ 2018-11-13 11:09  dongry  阅读(1850)  评论(0编辑  收藏  举报