3

キャッシュ コヒーレンシ プロトコルに関する講義のスライドを読んでいるときに、次の質問に出くわしました。

I (Invalid)S (Shared Unmodified)という答えも与えられました。

いずれにせよ、ライトスルー ポリシーのキャッシュは変更をメイン メモリに伝達するため、状態M (Modified Exclusive)は関係ないことを理解しています。

状態E (Exclusive Unmodified)は関係ありません。置換を伴う排他的読み取りミスが発生した場合にのみ発行されるためです (さらに読み取りヒットが発生しても保持されます)。

誰かが与えられた答えを説明できますか?

4

1 に答える 1

2

あなたが言及したように、変更されたデータをキャッシュに保持することは決してないため、M 状態は明らかに役に立ちません。

排他的状態については、WB キャッシュでは、その行への書き込みが所有権を取得して他のコピーを無効にする必要がなく、代わりに書き込みできることが保証されるため、ある意味では共有状態よりも「強い」ことに注意してください。ローカルキャッシュから出なくても、その行に直接アクセスできます。つまり、E から M への移行は単純ですが、S から M への移行はより複雑で、最初にコピーされた他のすべてを無効にする必要があります。

一方、WTキャッシュでは、他の誰も行の変更バージョンを保持していないという保証がすでにあり、さらに重要なことに、ローカルキャッシュで単純な遷移を行う利点はありません(とにかくデータを外部に書き込む必要があります)、したがって、排他的な状態は実際には必要ありません。実際には、E 状態を持つと、同じ行を読み取る他のコアにスヌープを送信する必要があるため (E -> S 遷移)、実際には負ける可能性があります。

もちろん、外部に何かを書き込むときは、他のすべてのコピーを無効にする必要がありますが、E と S が存在するかどうかを区別する必要はありません。通常は、スヌープ フィルターまたはその他のリストで通知されます。スヌープするコア。

于 2015-08-01T12:58:58.443 に答える