応用情報技術者 2009年 春期 午前2 問13
問題文
CPU主記憶との間に置かれるキャッシュメモリにおいて、主記憶のあるブロックを、キャッシュメモリの複数の特定ブロックに対応付ける方式はどれか。
選択肢
ア:セットアソシアティブ方式(正解)
イ:フルアソシアティブ方式
ウ:ダイレクトマッピング方式
エ:ライトスルー方式
CPU主記憶とキャッシュメモリの対応方式【午前2 解説】
要点まとめ
- 結論:主記憶の1ブロックを複数のキャッシュブロックに対応付けるのはセットアソシアティブ方式です。
- 根拠:セットアソシアティブ方式はキャッシュを複数のセットに分け、各セット内で複数のブロックを保持可能なため柔軟な対応が可能です。
- 差がつくポイント:フルアソシアティブは全キャッシュブロックに対応、ダイレクトマッピングは1対1対応、ライトスルーは書き込み方式であり混同しないことが重要です。
正解の理由
ア: セットアソシアティブ方式は、キャッシュを複数のセットに分割し、主記憶の1ブロックが特定のセット内の複数ブロックに対応付けられます。これにより、ヒット率が向上しつつ管理が容易になるため、問題文の条件に合致します。
よくある誤解
フルアソシアティブ方式は「複数の特定ブロックに対応付ける」と誤解されがちですが、実際は全キャッシュブロックに対応可能です。ライトスルー方式はキャッシュの書き込み方法であり、対応付け方式とは異なります。
解法ステップ
- キャッシュメモリの対応付け方式の種類を確認する。
- 「主記憶の1ブロックが複数のキャッシュブロックに対応」とある点に注目。
- フルアソシアティブは全ブロック対応、ダイレクトは1対1対応であることを思い出す。
- セットアソシアティブは「複数の特定ブロックに対応」する方式であると判断。
- ライトスルーは書き込み方式なので除外。
選択肢別の誤答解説
- イ: フルアソシアティブ方式
→ 全キャッシュブロックに対応付けるため「複数の特定ブロック」ではなく範囲が広すぎる。 - ウ: ダイレクトマッピング方式
→ 主記憶の1ブロックはキャッシュの1ブロックにしか対応しない1対1対応方式。 - エ: ライトスルー方式
→ 書き込み時のデータ更新方法であり、対応付け方式とは無関係。
補足コラム
キャッシュメモリの対応付け方式は性能に大きく影響します。ダイレクトマッピングは単純で高速ですが衝突が多く、フルアソシアティブは衝突が少ない反面検索コストが高いです。セットアソシアティブは両者の中間でバランスが良く、多くの実用システムで採用されています。
FAQ
Q: セットアソシアティブ方式の「セット」とは何ですか?
A: キャッシュを複数のグループ(セット)に分割し、その中で複数のブロックを保持する単位です。
A: キャッシュを複数のグループ(セット)に分割し、その中で複数のブロックを保持する単位です。
Q: ライトスルー方式はキャッシュのどの動作に関係しますか?
A: 主にキャッシュへの書き込み時に、同時に主記憶にも書き込む方式です。
A: 主にキャッシュへの書き込み時に、同時に主記憶にも書き込む方式です。
関連キーワード: キャッシュメモリ、セットアソシアティブ方式、ダイレクトマッピング、フルアソシアティブ、ライトスルー

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

