字对齐和半字对齐


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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM