6

ポリシーとそれに続くメモリシステムについての基本的な質問があります。

プライベートL1およびL2キャッシュを備えたコアについて考えてみます。L2キャッシュの後、コヒーレンストラフィックが実行されるバスがあります。ここで、address(X)のキャッシュラインがL2キャッシュから削除された場合、そのアドレスをL1キャッシュから削除する必要がありますか?

排除の理由は、コヒーレンスプロトコルの不変条件を維持するのに役立つ可能性があります[l2の行が無効を示している場合、このコアにはこのアドレスが含まれていません]。

4

1 に答える 1

14

3つの異なるデザインがあり、すべてが使用されます。

  1. 排他的:L1キャッシュ内のデータがL2キャッシュ内にあることはありません。L2キャッシュ内のデータがL1キャッシュ内にあることはありません。

  2. 包括的:L1キャッシュ内のデータもL2キャッシュ内にある必要があります。

  3. どちらでもない:L1キャッシュ内のデータは、L2キャッシュ内にある場合とない場合があります。

これらにはそれぞれ長所と短所があります。包括的スキームにより、キャッシュコヒーレンシプロトコルはL1キャッシュを無視できます。データがL2キャッシュにない場合、データはL1キャッシュにありません。ただし、排他的スキームは、貴重なキャッシュメモリを最も効果的に使用します。

有効なキャッシュサイズをわずかに大きくするよりも高速なコア間同期が重要になるため、包括的設計の人気が高まっています。

于 2013-02-05T10:58:36.437 に答える