応用情報技術者 2012年 春期 午前2 問10
問題文
キャッシュメモリにおけるダイレクトマップ方式の説明として、適切なものはどれか。
選択肢
ア:アドレスが連続した二つ以上のメモリブロックを格納するセクタを、キャッシュ内の任意のロケーションに割り当てる。
イ:一つのメモリブロックをキャッシュ内の単一のロケーションに割り当てる。(正解)
ウ:メモリブロックをキャッシュ内の任意のロケーションに割り当てる。
エ:メモリブロックをキャッシュ内の二つ以上の配置可能なロケーションに割り当てる。
キャッシュメモリにおけるダイレクトマップ方式の説明【午前2 解説】
要点まとめ
- 結論:ダイレクトマップ方式は一つのメモリブロックをキャッシュ内の単一のロケーションに割り当てる方式です。
- 根拠:この方式はメモリアドレスの一部を使ってキャッシュ内の位置を一意に決定し、単純で高速なアクセスを実現します。
- 差がつくポイント:連想マップ方式との違いを理解し、割り当て可能なロケーション数の違いを正確に把握することが重要です。
正解の理由
選択肢イは「一つのメモリブロックをキャッシュ内の単一のロケーションに割り当てる」とあり、これはダイレクトマップ方式の定義に合致します。ダイレクトマップ方式では、メモリアドレスの特定のビットを使ってキャッシュ内の格納位置を決定し、必ず一つの場所にしか割り当てられません。これにより、アクセスが高速で実装が簡単ですが、競合が起きやすいという特徴があります。
よくある誤解
- 「複数のロケーションに割り当てられる」と誤解しがちですが、それはセットアソシアティブやフルアソシアティブ方式の特徴です。
- セクタ方式は連続した複数ブロックをまとめて扱うため、ダイレクトマップとは異なります。
解法ステップ
- キャッシュメモリの基本構造と方式(ダイレクトマップ、セットアソシアティブ、フルアソシアティブ)を理解する。
- ダイレクトマップ方式の特徴として「一つのメモリブロックが一つのキャッシュロケーションに対応する」ことを確認する。
- 選択肢の説明と照らし合わせ、単一ロケーション割り当てのものを選ぶ。
- 他の方式の特徴(複数ロケーション割り当てやセクタ方式)と混同しないよう注意する。
選択肢別の誤答解説
- ア: セクタ方式の説明であり、ダイレクトマップ方式とは異なります。
- イ: 正解。ダイレクトマップ方式の基本的な割り当て方法を正しく表しています。
- ウ: 任意のロケーションに割り当てるのはフルアソシアティブ方式の特徴で、ダイレクトマップではありません。
- エ: 複数の配置可能なロケーションがあるのはセットアソシアティブ方式の説明であり、ダイレクトマップとは異なります。
補足コラム
ダイレクトマップ方式はキャッシュの実装が簡単で高速ですが、同じキャッシュラインに複数のメモリブロックが割り当てられると競合が発生しやすい欠点があります。これに対し、セットアソシアティブ方式は複数のロケーションを使い競合を減らしますが、実装が複雑になります。キャッシュの性能向上にはこれらの方式の特性を理解し、適切に選択することが重要です。
FAQ
Q: ダイレクトマップ方式はなぜ高速なのですか?
A: メモリアドレスの一部でキャッシュ位置が一意に決まるため、探索が不要でアクセスが高速です。
A: メモリアドレスの一部でキャッシュ位置が一意に決まるため、探索が不要でアクセスが高速です。
Q: セットアソシアティブ方式との違いは何ですか?
A: セットアソシアティブ方式は複数のロケーションに割り当て可能で競合が減りますが、ダイレクトマップは単一ロケーションに固定されます。
A: セットアソシアティブ方式は複数のロケーションに割り当て可能で競合が減りますが、ダイレクトマップは単一ロケーションに固定されます。
関連キーワード: キャッシュメモリ、ダイレクトマップ方式、セットアソシアティブ、フルアソシアティブ、メモリブロック割り当て、コンピュータアーキテクチャ

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

