マルチコアと同期
MESIプロトコルでキャッシュのラインがModified(M)状態にあるときの意味として正しいものはどれか。
- Aこのコアだけがそのラインを持ち、内容は主記憶と違う(書き戻しが必要)
- B複数のコアが同じ内容を持ち、主記憶とも一致している
- Cこのラインの内容は使えず、読むにはもう一度取ってくる必要がある
答えと解説を見る
正解:A. このコアだけがそのラインを持ち、内容は主記憶と違う(書き戻しが必要)
M状態は、このコアが書き込みをして、最新の値を自分だけが持っている状態です。主記憶の値は古いので、このラインを追い出すときや、ほかのコアが読もうとしたときには、最新の値を書き戻すか直接渡す必要があります。M状態のラインには、ほかのコアに知らせずにそのまま何度でも書き込めるので、同じコアが続けて書き込むときは速く処理できます。
- A. 正しい。追い出すときは主記憶へ書き戻します。
- B. それはShared(S)状態です。
- C. それはInvalid(I)状態です。