マルチコアと同期

MESIプロトコルでキャッシュのラインがModified(M)状態にあるときの意味として正しいものはどれか。

  1. Aこのコアだけがそのラインを持ち、内容は主記憶と違う(書き戻しが必要)
  2. B複数のコアが同じ内容を持ち、主記憶とも一致している
  3. Cこのラインの内容は使えず、読むにはもう一度取ってくる必要がある
答えと解説を見る

正解:A. このコアだけがそのラインを持ち、内容は主記憶と違う(書き戻しが必要)

M状態は、このコアが書き込みをして、最新の値を自分だけが持っている状態です。主記憶の値は古いので、このラインを追い出すときや、ほかのコアが読もうとしたときには、最新の値を書き戻すか直接渡す必要があります。M状態のラインには、ほかのコアに知らせずにそのまま何度でも書き込めるので、同じコアが続けて書き込むときは速く処理できます。

  • A. 正しい。追い出すときは主記憶へ書き戻します。
  • B. それはShared(S)状態です。
  • C. それはInvalid(I)状態です。
この分野を解く 分野ページへ

マルチコアと同期のほかの問題

  1. MESIプロトコルで、Exclusive(E)状態のラインにそのコアが書き込むときの動作として正しいものはどれか。
  2. 無効化型のコヒーレンシプロトコルで、あるコアがShared(S)状態のラインに書き込むときに行われることはどれか。
  3. MESIプロトコルで、コア0がModified(M)状態で持っているラインを、コア1が読もうとしたときの一般的な動作はどれか。
  4. キャッシュコヒーレンシのスヌーピング方式の説明として正しいものはどれか。
  5. コアの数が多いシステムで、スヌーピング方式の代わりにディレクトリ方式のコヒーレンシが使われる理由として正しいものはどれか。