基本情報技術者 2016年 春期 午前(科目A) 問11
問題文
キャッシュメモリの効果として、適切なものはどれか。
選択肢
ア:主記憶からキャッシュメモリへの命令の読出しと、主記憶からキャッシュメモリへのデータの読出しを同時に行うことによって、データ転送を高速に行う。
イ:主記憶から読み出したデータをキャッシュメモリに保持し、CPUが後で同じデータを読み出すときのデータ転送を高速に行う。(正解)
ウ:主記憶から読み出したデータをキャッシュメモリに保持し、命令を並列に処理することによって演算を高速に行う。
エ:主記憶から読み出した命令をキャッシュメモリに保持し、キャッシュメモリ上でデコードして実行することによって演算を高速に行う。
🔒 解説は解答すると表示されます
キャッシュメモリの効果【午前解説】
正解の理由
正解: イ
キャッシュの基本的な役割は「主記憶から読み出したデータ(や命令)のコピーを高速なメモリに保持し、後で同じデータにアクセスするときの転送時間を短縮する」ことです。選択肢イはこの役割を正確に表現しており、CPUが後で同じデータを参照する際にキャッシュから高速に供給される点を述べています。キャッシュは主に読み出し遅延の短縮と平均メモリアクセス時間の低減を目的とした階層的メモリ構成要素です。
キャッシュの基本的な役割は「主記憶から読み出したデータ(や命令)のコピーを高速なメモリに保持し、後で同じデータにアクセスするときの転送時間を短縮する」ことです。選択肢イはこの役割を正確に表現しており、CPUが後で同じデータを参照する際にキャッシュから高速に供給される点を述べています。キャッシュは主に読み出し遅延の短縮と平均メモリアクセス時間の低減を目的とした階層的メモリ構成要素です。
解法ステップ
- 各選択肢が述べている動作を「キャッシュの本質(コピー保持・高速供給)」に照らして確認する。
- 「命令のデコードや実行をキャッシュが担う」「並列処理を実現する」など誤った役割を示す選択肢を除外する。
- 「主記憶から読み出したデータを保持し、後続の同一データ参照を高速化する」記述を含む選択肢を正解とする。
選択肢別の誤答解説
- ア:主記憶から命令読み出しとデータ読み出しを同時に行うことで高速化、という説明はキャッシュの効果ではなく、パイプラインやバス幅・コントローラ設計の話であり誤り。キャッシュはあくまでコピー保持と高速参照の仕組み。
- イ:正しい。主記憶から読み出したデータをキャッシュに保持し、CPUが後で同じデータを読み出す際に高速に供給する、これがキャッシュの典型的な効果。
- ウ:主記憶から読み出したデータ保持と「命令を並列に処理することによって演算を高速に行う」は因果が逆・別機能であり誤り。命令並列化はCPU内部の実行ユニットやスケジューラの仕事で、キャッシュ自体が並列化を行うわけではない。
- エ:命令をキャッシュで「デコードして実行する」という記述は誤り。キャッシュはデコードや実行を行う処理装置ではなく、データや命令の高速コピー保管領域に過ぎない。
よくある誤解
- キャッシュは命令を「キャッシュ上で実行する」わけではない:キャッシュはデータや命令のコピーを保持するだけで、実行はCPUコアで行われます。
- キャッシュがプログラムを並列化するわけではない:キャッシュは並列処理や命令の並列実行(パイプラインやスーパースカラ)を直接生み出す機構ではありません。
- キャッシュ=バスの同時転送装置ではない:キャッシュはデータ配置とヒットで高速化するが、主記憶から同時に複数転送することを本質とはしません。
補足コラム
- 基本式:平均メモリアクセス時間(AMAT)は一般に と表され、ヒット率を改善するとAMATが下がります。
- キャッシュ構成:L1(コア近傍、高速小容量)、L2/L3(共有・中容量)といった階層を持ち、命令キャッシュ(I-cache)とデータキャッシュ(D-cache)を分離する設計も一般的です。
- 書込みポリシー:write-through(書込み時にすぐ主記憶へ反映)とwrite-back(まずキャッシュに書き、追い出し時に主記憶へ書く)で性能と一貫性に差があります。
- 性能要因:ヒット率、ブロックサイズ、連想度(アソシアティビティ)、置換アルゴリズム(LRUなど)が実効性能に大きく影響します。
FAQ
Q1. キャッシュはソフトウェアで管理されますか?
A1. 通常はハードウェア(キャッシュコントローラ)で自動的に管理されます。OSが明示的に操作することは限定的です(キャッシュの無効化やフラッシュなどはOSが制御)。
A1. 通常はハードウェア(キャッシュコントローラ)で自動的に管理されます。OSが明示的に操作することは限定的です(キャッシュの無効化やフラッシュなどはOSが制御)。
Q2. 命令もデータも同じキャッシュに入りますか?
A2. システムによっては統合キャッシュ(Unified)を使いますが、L1では命令とデータを分離するHarvard的設計(I-cache、D-cache)が性能上有利な場合が多いです。
A2. システムによっては統合キャッシュ(Unified)を使いますが、L1では命令とデータを分離するHarvard的設計(I-cache、D-cache)が性能上有利な場合が多いです。
Q3. ヒット率が低いとどうなる?
A3. ヒット率が低いと主記憶アクセス(ミス)頻度が増え、遅延が大きくなりCPUの待ち時間が増加します。設計・最適化でヒット率改善が重要です。
A3. ヒット率が低いと主記憶アクセス(ミス)頻度が増え、遅延が大きくなりCPUの待ち時間が増加します。設計・最適化でヒット率改善が重要です。
関連キーワード: キャッシュメモリ、キャッシュヒット、キャッシュミス、局所性、メモリ階層、書き込みポリシー、アソシアティビティ、レイテンシ

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

