MESI プロトコルの略称と各状態の説明
MESI プロトコルとは
「MESI」は Modified(修正済み)・ Exclusive(排他)・ Shared(共有)・ Invalid(無効)の頭文字を取った略称で、マルチプロセッサシステムにおけるキャッシュコヒーレンシープロトコルです。複数のキャッシュが同じデータのコピーを保持する際に、一貫性を保つ仕組みを提供します。
1. Modified(M)状態
・キャッシュラインがローカルで変更され、最新のデータを保持している状態。
・この状態になると、同じデータのコピーを保持していた他のキャッシュは無効化されます。
・Modified 状態はデータの排他所有権を意味し、他のキャッシュに有効なコピーは存在しません。
2. Exclusive(E)状態
・キャッシュラインが有効なコピーを保持していますが、ローカルでの変更は行われていない状態。
・他のキャッシュは無効または共有コピーしか持っておらず、Modified コピーは存在しません。
3. Shared(S)状態
・複数のキャッシュが同じデータの有効なコピーを保持しており、いずれも変更していない状態。
・Shared 状態では、すべてのコピーが相互に一致しています。
4. Invalid(I)状態
・キャッシュラインに有効なデータが存在しない状態。
・Invalid なキャッシュラインがアクセスされた場合、プロセッサは主記憶または有効なコピーを持つ他のキャッシュからデータを取得しなければなりません。
MESI プロトコルは、同時に一つのキャッシュだけが Modified コピーを保持できるようにし、データ不整合を防止します。また、データが複数キャッシュ間で共有される際には、状態遷移に伴う適切な操作により全てのコピーを一貫させます。
