キャッシュコヒーレンシとMESIプロトコルとは?きゃっしゅこひーれんしとめしぷろとこる
キャッシュコヒーレンシとMESIプロトコルとは、複数のコアが同じ番地の写しを各自のキャッシュに持つ状況で、写し同士の食い違いを起こさせない仕組みがキャッシュコヒーレンシ。代表方式のMESIは、キャッシュラインごとに Modified/Exclusive/Shared/Invalid の4状態を持たせ、バススヌープで他コアの写しを無効化して整合を保つ。
最終更新:2026-10-06
エンベデッドSPを最短で暗記・合格する →背景
単一コアの時代は写しが1つしかなく、整合は問題にならなかった。性能を周波数ではなくコア数で稼ぐ方向へ振った時点で、同じ番地の写しが複数生まれ、ハードウェアが自動で辻褄を合わせる仕組みが必須になった。マルチコアMCUを採る判断は、この機構が持つバス帯域の消費と、期待できる並列度を突き合わせて決まる。
具体例
車載のマルチコアMCUで、2つのコアが同じキャッシュライン上の別々の変数を頻繁に書き換えると、論理的には無関係でも無効化通知が往復してスループットが落ちる(フォルスシェアリング)。制御周期のばらつきとして表に出るため、変数をキャッシュライン境界へ整列させて分離する。
試験での引っ掛け
コヒーレンシが保つのは値の一致だけで、実行順序(メモリオーダリング)は別問題。ハードが自動で揃えるから排他制御は要らない、とはならない。さらにDMAはキャッシュを通らない構成が多く、コヒーレンシ機構の外にあるバッファはソフト側で無効化と書き戻しを明示する必要がある。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。