問題 No.2727
主記憶装置上の連続した複数のブロックをキャッシュメモリ内のグループごとに複数用意された格納場所に自由に割り当てることができる方式であり、ダイレクトマップ方式とフルアソシアティブ方式の中間に位置するキャッシュの方式はどれか。
【正解の解説】
セットアソシアティブ方式
これは、大きなロッカーをいくつかのグループに分け、各グループ内ならどこに荷物を入れても良いとする仕組みです。すべて自由だと探すのが大変ですが、完全な指定席だと空いていても置けないというジレンマを、グループごとの自由席でバランスよく解決しているため、実際のCPUキャッシュで最もよく使われています。
スポンサーリンク
【その他の選択肢の解説】
ダイレクトマップ方式
これは学校の席が完全に一対一で固定されているようなもので、同じグループの別の場所が空いていても、自分の指定席が埋まっていれば追い出されてしまいます。構造がシンプルで安価に作れる反面、衝突しやすく効率が落ちるというデメリットがあるため、セットアソシアティブ方式の中間的な特徴を持つという点が誤りです。
フルアソシアティブ方式
これは社内のフリーアドレス制のようなもので、空いている席ならどこに座っても自由という状態です。配置の自由度が最大であるため効率的ですが、どこに何があるかを探すためにキャッシュ内の全場所を一斉に確認する必要があり、回路が複雑化して高コストになるという点が、グループ分けを行うセットアソシアティブ方式とは異なります。
ダイレクトアソシアティブ方式
受験者や初学者の用語の曖昧さを突くために作られたダミーの選択肢です。ダイレクトマップという言葉とアソシアティブという言葉を適当に合体させてそれらしく見せていますが、キャッシュメモリの方式として正式に定義されているわけではないため、初見の用語に惑わされないように基本用語の正確な組み合わせを覚える必要があります。