タグ

ブックマーク / fromnand.hatenadiary.jp (1)

  • 【C言語】アライメントについて【便利なマクロあり!】 - FromNandの日記

    アライメントの勉強をしていて、気になったので実験してみた。 この記事の内容は、下の記事からほとんど抜粋してまとめたもの。めちゃくちゃいい記事だった。 でも、写しているので(僕が)カッコ悪い。 データ型のアラインメントとは何か,なぜ必要なのか? まず、アライメントとはCPUのメモリにおける制約である。 アライメントに従わないデータにCPUがアクセスする際には、幾分かのオーバーヘッドが発生する。 アライメントを跨ぐデータを読む際には二度メモリにアクセスせねばならんし、読む際なんかは四度もアクセスしないといけない。(かもしれない。) アライメントを揃えなかったことによって、キャッシュラインをまたいだりしたら大変。 キャッシュ全体(通常、32~256byteらしい)をキャッシュメモリに読み込むという大きなオーバーヘッドが発生する。 また、アライメントに寛容なCPUとそうでないCPUが存在する。 x

    【C言語】アライメントについて【便利なマクロあり!】 - FromNandの日記
  • 1