CPUのL1キャッシュメカニズムを理解しようとしています。L1キャッシュラインでデータ構造のキャッシュアライメントが無効になる方法
のCPUが4つのコアを有し、L1キャッシュラインサイズがMESIプロトコルを用いて、各コアのN個のエントリを有する64バイトであると仮定してみよう。
したがって、メモリ参照はキャッシュラインサイズに合わせてロードされます(参照は64バイトを正確に保持する何らかの種類のデータ構造です)。
- このとき、コア0は、このキャッシュラインに(で0オフセット)4つのバイトを修正します。
次に、コア-1は同じメモリ位置を参照します。したがって、キャッシュ・コヒーレンス・プロトコルはこの動作を識別し、コア0のキャッシュ・ラインをコア1にコピーする(メイン・メモリからの読み出しを避ける)。
コア1従って、このキャッシュラインに(で15オフセット)4つのバイトを変更します。
私の質問はこれです:キャッシュコヒーレンスプロトコルは、コア0のキャッシュラインを無効化またはないのだろうか?変更は異なるオフセットにありますが。
また、この時点で、誰かがこのキャッシュライン参照のキャッシュ整合性プロトコル(MESI)状態を知ることができますか?