5.31 自然なデータ境界整列のメリット

使用可能なストレージを最大にし、ARM 命令セットによる高速で効率的なメモリアクセスを実現するために、さまざまな C データ型が特定のバイト境界で整列されます。

たとえば、ARM アーキテクチャでは、オブジェクトが 4 の倍数のアドレスに格納されているときに 1 つの命令を使用するだけで 4 バイトの変数にアクセスできるため、4 バイトのオブジェクトは 4 バイト境界に配置されます。
ARM プロセッサおよび Thumb プロセッサは、自然な境界で整列されたデータ(つまり、8 の倍数であるアドレスに配置されたダブルワード、4 の倍数であるアドレスに配置されたワード、2 の倍数であるアドレスに配置されたハーフワード、および任意のバイトアドレスに配置された 1 バイト)に効率的にアクセスするよう設計されています。これらのデータは、データ自身と同じサイズの境界上に配置されます。
関連する概念
5.30 データ境界整列のタイプ
5.34 C および C++ コードでの非境界整列データアクセス
5.35 C および C++ コードでの __packed 修飾子と非境界整列型のデータアクセス
関連する参考文書
5.32 コンパイラによる自然なバイト境界整列でのデータオブジェクトの格納
5.33 コンパイル時の自然なデータ境界整列の関連性
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.