キャッシュメモリのアドレスマッピング方式とは?#
主記憶上の格納位置とキャッシュメモリ上の格納位置とをどのように対応させるかを決める方式として、ダイレクトマップ、フルアソシエイティブ、セットアソシエイティブがある。
ダイレクトマップ#
主記憶のアドレスからキャッシュメモリ上の格納位置(ブロック番号)が一意に決まる方式
- 主記憶のアドレスからキャッシュメモリのブロック番号が一意に定まる
- ハッシュ演算など利用
- 回路構成が単純でコストが低い
- 主記憶上の異なるアドレスが、キャッシュメモリ上の同じ場所に割り当てられる「コンフリクト」が発生する可能性がある
- コンフリクトはキャッシュヒット率が低下する原因にもなる
フルアソシエイティブ#
主記憶のブロックをキャッシュメモリ上のどのブロックにも格納することができる方式
- 回路が非常に複雑で高コスト
セットアソシエイティブ#
キャッシュメモリをいくつかの「セット」と呼ばれるグループに分け、主記憶のアドレスからはまず特定のセットが決定される。そのセットの中であれば、どのブロックにでも格納することができる。
- 現在の主流の方式
- コストとパフォーマンスのバランスが取れた方式
- ダイレクトマップとフルアソシエイティブの中間的な存在