アラインメント
読み:アラインメント
外語:alignment

 整列。提携。
目次

概要
 メモリー上のデータのアドレスは、nの倍数でなければならない。この時のnがアラインメントであり、このような制限をバウンダリという。
 アラインメントは一般に2の冪乗(1、2、4、8、16…)である。

特徴

挙動
 アラインメントに厳格なCPU(RISCなど)は、アラインメントを守らないメモリーアクセスをするとアドレスエラーとなる。
 アラインメントに寛容なCPU(x86など)は、アラインメントを守らなくてもエラーにはならないが、内部的に複数回のメモリーアクセスが発生することになるため、その分処理が遅くなる。

特殊なサイズ
 プロセッサーによっては、2の冪乗ではないサイズのデータ型を用いるものもある。
 例えば、24ビット整数/浮動小数、48ビット整数/浮動小数、80ビット浮動小数などが実際にある。
 これを、どのような境界にアラインメントを合わせるかはプロセッサーによる。例えばx86系のFPUで使う80ビット浮動小数は、128ビット(16バイト)にアラインメントを合わせる。

再検索