ITパスポート 2010年 春期 問66
問題文
PCのキャッシュメモリを説明したものはどれか。
選択肢
ア:CPUコアと主記憶の間にあって、データを高速に読み書きするためのメモリ(正解)
イ:同じ内容のデータを同時に2か所に記録して、信頼性を高めるためのメモリ
ウ:主記憶容量を超える大きさのプログラムでも動作させることができる仕組みをもつメモリ
エ:主記憶を複数のブロックに分割することによって、同時アクセスを可能にするメモリ
🔒 解説は解答すると表示されます
キャッシュメモリ【ITパスポート解説】
正解の理由
CPU(Central Processing Unit:中央演算処理装置、コンピュータの頭脳)と主記憶(メインメモリ、RAM)の間に置かれ、よく使うデータや命令を高速に置いておく小さなメモリが「キャッシュメモリ」です。選択肢アはこの役割を簡潔に表しています。キャッシュは主記憶よりも高速で、CPUが必要とするデータの平均アクセス時間を下げます。したがってアが正解です。
解法ステップ
- 選択肢の語句ごとに「何の説明か」を一言で把握する。
- 「CPUの近くで速度を上げる目的か」「信頼性や容量を上げるものか」「ディスクや仮想化の説明か」を分ける。
- 「CPUと主記憶の間で高速にデータをやり取りする」はキャッシュの定義に当てはまるので選ぶ。
具体的には:
- 「高速に読み書きするため、CPUと主記憶の間にある」はキャッシュ(→ア)。
- 他の選択肢はミラーリング、仮想記憶、メモリインタリーブなど別概念なので除外する。
選択肢別の誤答解説
-
ア(正解)
CPUと主記憶の間にあり、頻繁に使うデータを置いてアクセス時間を短くする装置。L1/L2/L3など階層(レベル)で構成されることが多いです。 -
イ(誤り)
「同じ内容を2か所に記録して信頼性を高める」はミラーリング(例えばRAID1のようなディスク冗長)や冗長化の説明であり、キャッシュの主目的ではありません。キャッシュは性能向上が主目的で、信頼性(冗長化)のために二重保存する仕組みとは異なります。 -
ウ(誤り)
「主記憶容量を超えるプログラムを動かす仕組み」は仮想記憶(スワップやページング)の説明です。仮想記憶はディスクを一時記憶として使って見かけ上のメモリ容量を増やす仕組みで、キャッシュとは別です。 -
エ(誤り)
「主記憶を複数ブロックに分けて同時アクセスを可能にする」はメモリのインタリーブ(メモリバンクを使った並列化)やチャネル分割の説明です。これも性能向上に関係しますが、CPUと主記憶の間に置かれる小容量・高速キャッシュの説明ではありません。
よくある誤解
-
キャッシュと仮想記憶を混同する
仮想記憶は容量を増やす仕組み(ディスクを使う)で、キャッシュは速度を上げる仕組み(小さくて速いメモリを使う)です。 -
キャッシュは「元データの完全なコピー」と思う
キャッシュは必要なデータのコピーを一時的に置きますが、常に最新とは限らないため整合性(整合を保つ仕組み)が重要です。 -
書き込みの挙動(write-back等)を混同する
「書き込み時に主記憶へすぐ書くか遅延するか」や「書き込みミス時にキャッシュ割り当てするかどうか」は別々の方針で、混同すると誤解します(補足参照)。
補足コラム
-
キャッシュの階層と速度
キャッシュはL1(最速で極小)、L2(中間)、L3(大きめで遅め)といった階層で構成されます。CPUはまずL1を探し、見つからなければ下位へ順に探します。 -
ヒット率と平均アクセス時間
キャッシュの性能はヒット率(必要なデータがキャッシュにある割合)で決まります。平均アクセス時間は次で表せます:ここで はキャッシュアクセス時間、 は主記憶アクセス時間です。 -
書き込みポリシー(重要な区別)
書き込みに関する考え方は2軸に分けます。必ず区別してください。- 書き戻し(write-back)と書き込み即時(write-through)
- write-back(ライトバック): キャッシュ内のデータを書き換えても、主記憶にはすぐ書かず、後でまとめて書き戻す。主記憶への書き込み回数を減らせる。
- write-through(ライトスルー): キャッシュに書き込む際、同時に主記憶にも書き込む。整合性が保ちやすい。
- 書き込みミス時の扱い:write-allocate と no-write-allocate
- write-allocate(ライトアロケート): 書き込みミス(キャッシュにそのブロックがない)発生時に、そのブロックをキャッシュに割り当ててから書き込む。
- no-write-allocate(ライト非割当): 書き込みミス時にキャッシュを割り当てず、直接主記憶へ書き込む。
補足すると、write-back と write-allocate が組み合わされることが多く、write-through は no-write-allocate と組み合わせられることが多いですが、これらは独立した設計判断です。
- 書き戻し(write-back)と書き込み即時(write-through)
FAQ
Q. CPUキャッシュはソフトウェアで操作できますか?
A. 一般的にハードウェアが自動で管理します。特別な場合や組み込み系ではソフトで制御するキャッシュもあります。
A. 一般的にハードウェアが自動で管理します。特別な場合や組み込み系ではソフトで制御するキャッシュもあります。
Q. スマホにもキャッシュはありますか?
A. はい。スマホのSoC(System on Chip:複数機能を一つにまとめた半導体)にもCPUキャッシュがあります。アプリやOSの動作を高速化しています。
A. はい。スマホのSoC(System on Chip:複数機能を一つにまとめた半導体)にもCPUキャッシュがあります。アプリやOSの動作を高速化しています。
Q. キャッシュのサイズが大きければ良いですか?
A. 大きいほどヒット率は上がりやすいですが、コストや速度(大きくなると遅くなる)とのトレードオフがあります。階層構成でバランスを取ります。
A. 大きいほどヒット率は上がりやすいですが、コストや速度(大きくなると遅くなる)とのトレードオフがあります。階層構成でバランスを取ります。
関連キーワード: キャッシュメモリ、CPU、主記憶、キャッシュヒット、キャッシュミス、ライトバック、ライトスルー、ライトアロケート、仮想記憶、メモリインタリーブ

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

