問題本文
CPUに搭載された1次と2次のキャッシュメモリに関する記述のうち,適切なものはどれか。
選択肢
- ア.1次キャッシュメモリは,2次キャッシュメモリよりも容量が大きい。
- イ.2次キャッシュメモリは,メインメモリよりも読み書き速度が遅い。
- ウ.CPUがデータを読み出すとき,まず1次キャッシュメモリにアクセスし,データが無い場合は2次キャッシュメモリにアクセスする。
- エ.処理に必要な全てのデータは,プログラム開始時に1次又は2次キャッシュメモリ上に存在しなければならない。
正解
ウ. CPUがデータを読み出すとき,まず1次キャッシュメモリにアクセスし,データが無い場合は2次キャッシュメモリにアクセスする。
解説
キャッシュメモリは1次・2次(・3次)の階層構造を持つ。1次キャッシュはCPUに最も近く最高速・最小容量、2次キャッシュは1次より低速だが大容量、主記憶(DRAM)より高速という階層関係がある。CPUがデータ読み出し時のアクセス順序は1次キャッシュ→2次キャッシュ→主記憶(メインメモリ)の順。目的データが上位キャッシュに存在すれば高速アクセス(ヒット)、なければ次の階層を探索(ミス)する仕組み。階層が深くなるほど速度は遅いが容量は大きくなる関係を正確に把握することが重要。
選択肢ごとの解説
- ア.誤り。1次キャッシュは2次キャッシュより高速だが容量は小さい(速度と容量の関係が記述と逆)。CPUに近いほど速度は速くなるが容量は小さくなるという原則がある。2次キャッシュは1次より低速だが大容量であり、1次が2次より大容量とする選択肢は誤りである。
- イ.誤り。2次キャッシュメモリはメインメモリ(主記憶:DRAM)よりも高速である。キャッシュメモリ(SRAM等)全般がメインメモリより高速なのがキャッシュを設ける理由であり、2次キャッシュがメインメモリより遅いとすると設置目的を果たせなくなる。
- ウ.正解。CPUはデータ読み出し時、まず1次キャッシュにアクセスし(ヒットすれば最高速)、なければ2次キャッシュを参照し(ミスなら次の階層へ)、それでもなければ主記憶(メインメモリ)にアクセスする階層的なアクセス方式。この順序による速度差がシステム全体の処理性能に大きく影響する。
- エ.誤り。全てのデータをプログラム開始時に一括してキャッシュに格納する必要はない。キャッシュは頻繁にアクセスするデータをCPUの動的な使用パターンに応じてコピーして置く仕組みで、OS・CPUのキャッシュ制御アルゴリズム(LRU等)が参照局所性を利用して自動管理する。
ITパスポート 2018年 (平成30年 秋期) の過去問一覧へ戻る・問65