【コンピュータの構成と設計】-第5章 メモリ階層(3)

5.4 キャッシュのパフォーマンスの測定と改善

キャッシュの関連付け

キャッシュラインのマッピング方法には、主にディレクテッドマッピング、フルアソシアティブ、セットアソシアティブの3つがあります。

ミス率の削減は、柔軟なマッピングによって実現できます。

ディレクテッドマッピング:

各メモリ ブロックは、キャッシュ内の 1 つのキャッシュ ラインにのみ存在できます。

新しいメモリ ブロックがロードされるたびに、特定のキャッシュ ラインを置き換える必要があり、ミス率が比較的高くなります。

フルアソシアティブ:

各メモリ ブロックは、キャッシュ内のすべてのキャッシュ ラインを格納できます。

キャッシュがヒットしたかどうかを判断する場合、より多くのハードウェア リソースが必要になります。これは通常、キャッシュ ライン数が少ないキャッシュに適用されます。

セットアソシアティブグループが接続されました

一般的には、n ウェイ セット アソシアティブ (n ウェイ グループ接続) です。

各セットは n 個のキャッシュ ラインで構成され、各メモリ ブロックは特定のセットの任意のキャッシュ ラインに配置できます。

Way は、メモリ ブロックを複数のキャッシュ ラインに配置できることを意味します。

別の観点から見ると、3 つのマッピング方法はすべてセットアソシアティブですが、方法が異なります。

セットアソシアティブキャッシュ内のブロックの検索

セット アソシアティブ キャッシュでは、アドレスのインデックス フィールドはどのセットにインデックスを付けるために使用され、セット内のどのキャッシュ ラインはタグを比較することによって決定されます。タグを比較するプロセスは同時に実行されます。4 ウェイの場合は、4 つのコンパレータが必要です。

以下の図は、合計 256 セットの 4way キャッシュを示しています。

ブロック戦略の置き換え

通常は LRU (最も最近使用されていないもの)

マルチレベルキャッシュを使用してミスペナルティを軽減する

 特に、2 レベルのキャッシュ構造により、1 次キャッシュはヒット時間の最小化に重点を置いてクロック サイクルを短縮するか、パイプライン ステージの数を減らすことができます。一方、2 次キャッシュはミス率に重点を置き、長いメモリ アクセス時間によるペナルティを軽減できます。

マルチレベル キャッシュの 1 次キャッシュは、 多くの場合、より小さいです。さらに、一次キャッシュは、キャッシュ サイズの縮小に合わせて、ミス ペナルティを軽減するために、より小さなブロック サイズを使用する場合があります。

比較すると、2次キャッシュのアクセス時間はそれほど重要ではないため、2次キャッシュはシングルレベルキャッシュよりもはるかに大きくなります。合計サイズが大きくなると、2次キャッシュは単一レベルのキャッシュで適切なブロックサイズよりも大きなブロックサイズを使用する可能性があります。 -レベルのキャッシュ。ミス率の削減に重点を置くため、多くの場合、1 次キャッシュよりも高い連想性が使用されます。

参考:

1. コンピュータの構成と設計 第 5 版 ARM 編

おすすめ

転載: blog.csdn.net/m0_38037810/article/details/126640457