Skip to the content.

最終更新日:2026年7月20日

まず結論

キャッシュメモリは、CPUと主記憶の速度差を埋めるための、高速で小容量な記憶装置です。

基本情報技術者試験では、記憶装置を「どこにあり、何のために使うか」で切り分けます。

記憶装置 主な役割
レジスタ CPUが演算や命令処理で直接使う
キャッシュメモリ よく使う命令やデータを高速に取り出す
主記憶 実行中のプログラムやデータを置く
補助記憶 プログラムやデータを長期保存する

試験では、次の一文を判断軸にします。

CPUと主記憶の速度差を埋めるのがキャッシュメモリ。

直感的な説明

キャッシュメモリは、机の上に置いた「よく使う資料」のようなものです。

必要な資料を毎回書庫まで取りに行くと時間がかかります。

そこで、よく使う資料だけを机の上に置いておけば、すぐに取り出せます。

机の上
→ キャッシュメモリ

書庫
→ 主記憶

CPUも同じです。

主記憶はレジスタやキャッシュより遅いため、よく使う命令やデータをキャッシュメモリへ置いておきます。

CPU
↓
キャッシュメモリ
↓
主記憶

必要な情報がキャッシュにあれば、主記憶まで読みに行かずに済みます。

定義・仕組み

記憶階層

一般的な記憶階層は次のように整理できます。

高速・小容量・高価

レジスタ
↓
キャッシュメモリ
↓
主記憶
↓
補助記憶

低速・大容量・安価

上にあるほど高速ですが、容量は小さくなります。

種類 速度 容量 主な用途
レジスタ 最も速い 非常に小さい 命令、アドレス、演算データ
キャッシュメモリ 速い 小さい よく使う命令やデータ
主記憶 中程度 大きい 実行中のプログラムやデータ
補助記憶 遅い 非常に大きい 長期保存

キャッシュヒットとキャッシュミス

CPUが必要とする情報がキャッシュ内にある場合を、キャッシュヒットといいます。

必要なデータがキャッシュにある
→ キャッシュヒット
→ すぐに読み出せる

キャッシュ内にない場合を、キャッシュミスといいます。

必要なデータがキャッシュにない
→ キャッシュミス
→ 主記憶から読み出す

ヒット率

キャッシュヒットした割合を、ヒット率といいます。

ヒット率
= キャッシュヒット回数 ÷ 全アクセス回数

ヒット率が高いほど、平均アクセス時間は短くなります。

実効アクセス時間

キャッシュと主記憶を組み合わせた平均的なアクセス時間を、実効アクセス時間といいます。

FE試験では、次の考え方を使います。

実効アクセス時間
= ヒットしたときの時間 × ヒット率
+ ミスしたときの時間 × ミス率

例えば、キャッシュアクセスが10ナノ秒、主記憶アクセスが100ナノ秒、ヒット率が90%なら、概算は次のようになります。

10 × 0.9 + 100 × 0.1
= 9 + 10
= 19ナノ秒

問題文によっては、ミス時に「キャッシュ確認時間+主記憶アクセス時間」とする場合があります。

そのため、式を暗記するより、ヒット時とミス時に実際に何ナノ秒かかるかを読み取ることが大切です。

命令キャッシュとデータキャッシュ

キャッシュメモリには、命令とデータを分けて扱うものがあります。

種類 格納するもの
命令キャッシュ 実行する命令
データキャッシュ 演算に使うデータ
命令を高速に読む
→ 命令キャッシュ

データを高速に読む
→ データキャッシュ

科目Aでどう出る?

科目Aでは、キャッシュメモリの役割や、他の記憶装置との違いを問われます。

用語の切り分け

問題文・選択肢の表現 選びたい用語
CPUと主記憶の速度差を埋める キャッシュメモリ
次に実行する命令のアドレスを保持 プログラムカウンタ
現在の命令を保持 命令レジスタ
演算結果を保持 アキュムレータ
実行中のプログラムを置く 主記憶
長期保存する 補助記憶

図での判断

次のような位置関係なら、キャッシュメモリを疑います。

CPU
↓
キャッシュメモリ
↓
主記憶

一方、命令デコーダの直前にあり、主記憶から取り出した命令を保持するなら命令レジスタです。

主記憶
↓
命令レジスタ
↓
命令デコーダ

実効アクセス時間の計算

問題では、次の順で整理します。

1. ヒット率を確認する
2. ミス率を求める
3. ヒット時の時間を確認する
4. ミス時の時間を確認する
5. 加重平均を計算する

どんな場面で使う?

CPUの待ち時間を減らす

CPUは非常に高速です。

主記憶から毎回データを読むと、CPUが待たされます。

キャッシュメモリは、よく使う情報を近くに置くことで待ち時間を減らします。

繰り返し使うデータを高速化する

同じ命令やデータを繰り返し使う場合、キャッシュが有効です。

繰り返しアクセスする
↓
キャッシュに残りやすい
↓
高速に読み出せる

局所性を利用する

キャッシュメモリは、プログラムに次の性質があることを利用します。

局所性 意味
時間的局所性 最近使ったものを、また使いやすい
空間的局所性 近くのアドレスも続けて使いやすい

よくある誤解・混同

キャッシュメモリとレジスタは同じ

同じではありません。

レジスタ
→ CPUが命令処理や演算で直接使う

キャッシュメモリ
→ 主記憶へのアクセスを減らす

レジスタの方が一般に高速で、容量はさらに小さいです。

キャッシュメモリは主記憶より大容量

誤りです。

キャッシュメモリは高速ですが、小容量です。

キャッシュ
→ 高速・小容量

主記憶
→ キャッシュより低速・大容量

データキャッシュは命令を格納する

データキャッシュは主にデータを格納します。

命令を格納するのは命令キャッシュです。

ヒット率が高いほど遅くなる

逆です。

ヒット率が高いほど、主記憶へアクセスする回数が減り、平均アクセス時間は短くなります。

キャッシュミスなら処理できない

誤りです。

キャッシュにない場合は、主記憶から読み出します。

ただし、キャッシュヒット時より時間がかかります。

キャッシュは長期保存に使う

誤りです。

長期保存にはSSDやHDDなどの補助記憶を使います。

キャッシュは高速化のための一時的な記憶です。

まとめ(試験直前用)

  • キャッシュメモリは、CPUと主記憶の速度差を埋める
  • レジスタより遅く、主記憶より速い
  • キャッシュヒットなら高速に読み出せる
  • キャッシュミスなら主記憶から読み出す
  • ヒット率が高いほど、実効アクセス時間は短くなる
  • 命令キャッシュは命令、データキャッシュはデータを格納する

試験直前には、次の一文を思い出してください。

レジスタはCPUが直接使う場所、キャッシュは主記憶を待たないための高速な控え。

© 2024-2026 stemtazoo. All rights reserved.