アライメント
Alignment
ここでは、「データ構造アライメント」のことの説明をする。
主に CPU のデータバスの幅に合うようにデータを配置すること。
データ型の幅に合うようにすることもある。
データバスの幅に合わせてあると、読み書きが早くなる。
データバスの幅を跨がるようなアクセスをすると、アクセスが二度必要となる。それに伴いロックが発生することもある。
CPUによっては、データバスの幅を跨がるようなアクセスが禁止されていることがある。
この場合、コンパイラはバイト単位アクセスをしてエミュレートするようなコードを出力する。
詳細は以下
データ型のアラインメントとは何か,なぜ必要なのか?http://www5d.biglobe.ne.jp/~noocyte/Programming/Alignment.html
https://ja.wikipedia.org/wiki/データ構造アライメント