平成26年度 春期 ITパスポート試験 公開問題 問65 解説 CPUのキャッシュメモリ
CPUのキャッシュメモリに関する記述のうち,適切なものはどれか。
- ア 1次キャッシュには,2次キャッシュよりも低速なメモリが使われる。
- イ 1次キャッシュは演算処理の高速化のために使われ,2次キャッシュは画像描画の高速化のために使われる。
- ウ 1次キャッシュは最初にアクセスされ,2次キャッシュは1次キャッシュにデータがないときにアクセスされる。 ✓ 正答
- エ 1次キャッシュは主記憶アクセスの高速化のために使われ,2次キャッシュは仮想記憶の実現のために使われる。
解説
正解へのアプローチ
この問題は、CPU内部のメモリ階層構造(キャッシュメモリ)の役割と優先順位を理解していれば即答できます。
判断のポイントは「CPUに近いほど高速で容量が小さく、遠いほど低速で容量が大きい」というヒエラルキーです。CPUはまず一番近くにある1次キャッシュを確認し、そこに目的のデータがなければ次に2次、3次と階層を遡って探しに行きます。この「順次探索」というルールを押さえておけば、他の選択肢が誤りであることが明確にわかります。
キャッシュメモリの階層構造
CPUの処理速度に比べ、メインメモリ(主記憶)の読み書き速度は非常に遅いため、そのままではCPUは常に待ち状態になってしまいます。この速度差を埋めるために配置されるのがキャッシュメモリです。
キャッシュメモリはCPU内部(あるいは直近)に配置され、以下のような階層構造を成しています。
- 1次キャッシュ(L1):CPUに最も近く、極めて高速だが容量は非常に小さい
- 2次キャッシュ(L2):L1より低速だが容量は大きい
- 3次キャッシュ(L3):さらに低速だが容量は大きい(搭載されない場合もある)
CPUはデータを読み出す際、必ずL1から順に探しに行きます。これを「キャッシュアクセス」と呼びます。L1にあれば即座に使用し、なければL2へ、それでもなければL3へ、最終的にメインメモリへとアクセスします。目的のデータがキャッシュ内に見つかることを「キャッシュヒット」、見つからずに下の階層まで探しに行くことを「キャッシュミス」と呼びます。
なぜこの知識が重要なのか
ITパスポートの試験において、この知識は単なる暗記項目ではなく「コンピュータがなぜ効率的に動けるのか」という仕組みの根本を理解するために重要です。
実際のIT現場では、プログラミングやシステム設計において「処理の局所性(Temporal Locality)」という概念が重要視されます。一度使ったデータは短期間のうちに繰り返し使われる可能性が高いという性質です。この性質があるからこそ、少量の高速メモリ(キャッシュ)を挟むだけでシステム全体のパフォーマンスが劇的に向上します。
システムエンジニアが「なぜ特定の処理が遅いのか」を分析する際や、性能要件を満たすためのハードウェア選定を行う際、キャッシュメモリが効率的に活用されているかを意識することは非常に重要です。
誤った選択肢の考え方
- ア:1次キャッシュの方が2次キャッシュよりも高速である必要があるため、逆の説明です。
- イ:キャッシュは特定の「機能」ではなく、CPUの「読み込み処理全体」を高速化するためのものです。画像描画専用のキャッシュといった特定の役割分担ではありません。
- エ:主記憶アクセスの高速化は正しいですが、仮想記憶を実現するのはキャッシュメモリではなく、OSとメモリ管理ユニット(MMU)の役割です。