アラインメント
読み:アラインメント
外語:alignment
整列。提携。
概要
メモリー上のデータのアドレスは、nの倍数でなければならない。この時のnがアラインメントであり、このような制限をバウンダリという。
アラインメントは一般に2の冪乗(1、2、4、8、16…)である。
特徴
挙動
アラインメントに厳格なCPU(RISCなど)は、アラインメントを守らないメモリーアクセスをするとアドレスエラーとなる。
アラインメントに寛容なCPU(x86など)は、アラインメントを守らなくてもエラーにはならないが、内部的に複数回のメモリーアクセスが発生することになるため、その分処理が遅くなる。
特殊なサイズ
プロセッサーによっては、2の冪乗ではないサイズのデータ型を用いるものもある。
例えば、24ビット整数/浮動小数、48ビット整数/浮動小数、80ビット浮動小数などが実際にある。
これを、どのような境界にアラインメントを合わせるかはプロセッサーによる。例えばx86系のFPUで使う80ビット浮動小数は、128ビット(16バイト)にアラインメントを合わせる。
再検索