MESIプロトコル
古典的なキャッシュコヒーレンシプロトコル。名前は各キャッシュラインがとる4状態、Modified・Exclusive・Shared・Invalidの頭文字から。状態を追跡することで、コピーをいつ書き戻し、いつ無効化すべきかがわかる。
各状態の意味は次のとおり。Modified(このコアがラインを変更済みで、他に持つ者はなくメモリは古い)、Exclusive(このコアだけが未変更のラインを持つ)、Shared(複数のコアが同じ未変更のコピーを持つ)、Invalid(コピーは使えない)。コアが書き込むときは他のコピーをInvalidにしなければならず、他のコアがModifiedで持つデータを読む場合は先に書き戻される。派生形にはOwnedを加えたMOESI(AMD)や、Forwardを加えたMESIF(Intel)があり、コア間の共有を最適化する。これがキャッシュコヒーレンシを支える仕組みである。「偽共有」の問題が起きるのも、MESIが変数ではなくキャッシュライン単位で動くからだ。コンピューターアーキテクチャの基礎知識である。