Skip to main content

メモリコヒーレンスとは何ですか?

memoryメモリコヒーレンスは、プロセッサがメモリセクターを調べようとするときにコンピューターで発生する問題です。この問題は、マルチコアシステム、または複数の中央処理ユニット(CPU)を持つコンピューターでのみ発生します。複数のプロセッサが同じメモリセクターを見て、1つがセクターを更新すると、もう1つはコンピューターメモリの古いバージョンを残すことができます。この問題を修正するために、一貫性ルールを使用して、プロセッサが同じメモリにアクセスしないか、更新がそれらの間で一貫していることを確認します。いくつかの異なる一貫性モデルがあるため、プログラマーとコンピューター開発者は使用される正確なモデルを知っている必要があります。1つのCPUがメモリセクターにアクセスしている場合、メモリを競う他のハードウェアピースがないため、競合なしにメモリを取得、使用、変更することができます。2つのCPUを使用すると、2つのCPUが同じメモリセクターをつかむことができます。メモリを共有する2つのCPUに問題はありませんが、1つのCPUがメモリを更新すると問題が発生します。これにより、2番目のCPUには、チェックされていない場合、コンピューター全体にコンピューターメモリの2つのバージョンと矛盾するバージョンを持つことができる時代遅れのメモリが残ります。それらはまとめてメモリの一貫性ルールとして知られており、多くのバージョンがあります。全体として、各バージョンは複数のCPUに、メモリコヒーレンスの問題を引き起こすことなくコンピューターメモリを適切に共有する方法を伝えます。これは、1つのバージョンが変更されたときに両方のバージョンのメモリを更新するか、CPUが同じメモリに同時にアクセスしないようにすることで実行できます。各一貫性セットには異なるプログラミングと異なるルールがあるため、CPUを直接扱うプログラムまたは執筆コードを作成しているプログラマーは、正確な一貫性ルールのコーディングを調整する必要があります。そうでない場合、これは一貫性をオーバーライドするか、プログラマーのコーディングと一貫性ルールの間に大きな競合を引き起こし、コンピューターが機能しなくなる可能性があります。