問題タブ [mesi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - MESI アルゴリズムが誤ったデータを RAM に書き戻すのはなぜですか?
私の教授はこの質問に答えることを拒否しており、私は彼が答えを知らないのではないかと疑い始めています.
並列 CPU で実行されている 2 つのスレッドがあるとします (RAM 内の同じデータ ブロックからの書き込みと読み取り)。最初のキャッシュは状態 M です。2番目は不明な状態です(私が理解したことによると、I状態でなければなりません)
問題は、BusWrite が 2 番目のキャッシュから送信された場合、最初のキャッシュが RAM に書き戻され、最新の更新ではなく、2 番目のキャッシュの最新の変更された値が RAM に書き戻される可能性はありますか?
私の教授はそう言っています。私の質問は、なぜ更新されていないデータを RAM に書き戻すのでしょうか?
caching - Intel 64 および IA-32 での MESI のポイントは何ですか
- MESI のポイントは、共有メモリ システムの概念を保持することです。
- ただし、ストア バッファーの場合は複雑です。
- データが MESI 実装キャッシュにヒットすると、メモリはダウンストリームでコヒーレントになります。
- ただし、その上流では、各コアのローカル ストア バッファーの内容に応じて、各コアがメモリ位置 X の内容に同意しない場合があります。
- そのため、各コアの観点からは、メモリの状態が異なり、一貫性がないように見えます。
- では、なぜ MESI との一貫性を「部分的に」強化する必要があるのでしょうか。
編集:私を本当に混乱させていたものをさらに絞り込んだ後、大幅な編集が行われました。受け取った素晴らしい回答の関連性を維持するために、質問の一般的な概念を同じに保つように努めました.