メモリバリアとは?
メモリバリアとは、プロセッサやコンパイラによるメモリアクセスの並べ替えを、指定した位置で禁止する命令や指示。書き込みが他コアや周辺デバイスから見える順序を保証する。試験ではマルチコアやDMA、レジスタ操作での不具合原因として問われる。
めもりばりあ
メモリバリアの意味
プロセッサやコンパイラによるメモリアクセスの並べ替えを、指定した位置で禁止する命令や指示。書き込みが他コアや周辺デバイスから見える順序を保証する。試験ではマルチコアやDMA、レジスタ操作での不具合原因として問われる。
メモリバリアの具体例
DMAへ渡すバッファへデータを書いてから起動レジスタを叩く処理で、両者の順序が入れ替わると空のバッファを転送してしまう。書き込みの完了を保証するバリア命令を間に挟む。ロックの取得・解放時にも必要になる。
メモリバリアは試験でどう引っ掛けられる?
volatileは並べ替え禁止をコンパイラにしか要求せず、CPUのアウトオブオーダ実行やライトバッファによる並べ替えは防げない。単一コアでは表面化せず、マルチコア化して初めて露見しやすい。
メモリバリアと関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。