情報処理試験を勉強していると、「レジスタ、キャッシュ、主記憶、補助記憶……結局どれがどれ?」と混乱しがちです。この記事では、記憶階層の全体像を日常の例え話と図解で整理し、試験で得点できるレベルまで一気に引き上げます。
対象試験と出題頻度
記憶階層は、ITパスポート・基本情報技術者・応用情報技術者のすべてで出題されるテーマです。
「各記憶装置の速度・容量の順序」を問う知識問題と、「キャッシュメモリのヒット率から実効アクセス時間を求める」計算問題の2パターンが定番化しています。
詳細をクリックして確認
ITパスポート
基本情報技術者
応用情報技術者
★★★★☆
ランクA(重要)必ず覚えておくべき
用語の定義
記憶階層(Memory Hierarchy)とは、一言で言うと
「コンピュータの記憶装置を、速度・容量・コストの異なる複数の層に分けて組み合わせる設計思想」
のことです。
イメージとしては、「料理人の作業動線」です。
料理人は「手元のまな板(すぐ使える・ごく少量)」→「作業台の食材トレー(少し多い・手を伸ばせば届く)」→「冷蔵庫(大量に入る・取りに行く手間がかかる)」→「倉庫(大量保管・往復に時間がかかる)」の順に食材を取り出します。よく使う材料ほど手元に置き、使用頻度が低いものほど遠くに保管するのが効率的です。
コンピュータも同じ原理で、CPUに近いほど高速・小容量・高コスト、遠いほど低速・大容量・低コストの記憶装置を段階的に配置しています。
📊 記憶階層の基本情報
| 項目 | 内容 |
|---|---|
| 英語名 | Memory Hierarchy / Storage Hierarchy |
| 階層の構成 | レジスタ → キャッシュメモリ → 主記憶(メインメモリ) → 補助記憶(ストレージ) |
| 設計の原則 | CPUに近いほど高速・小容量・高コスト、遠いほど低速・大容量・低コスト |
| 目的 | コストを抑えつつ、全体として高速に見せるメモリシステムの実現 |
解説
CPUの演算速度は年々高速化していますが、主記憶(メインメモリ)のアクセス速度はCPUほど伸びていません。この速度差を放置すると、CPUが計算のたびにメモリの応答を待ち続ける「ボトルネック」が発生します。
この問題を解消するために考案されたのが、速度・容量・コストが異なる複数の記憶装置を階層的に組み合わせる構造です。
4つの階層とその特徴
記憶階層を構成する4つの層について、それぞれの役割と代表的なデバイスを整理します。
| 階層 | 代表デバイス | 速度 | 容量 | 役割 |
|---|---|---|---|---|
| レジスタ | フリップフロップ | 最速(〜1ns) | 数十〜数百B | CPU内部で演算データや命令アドレスを一時保持する |
| キャッシュメモリ | SRAM | 非常に速い(数ns) | 数KB〜数十MB | CPUと主記憶の速度差を埋める緩衝役 |
| 主記憶 | DRAM | 中速(数十ns) | 数GB〜数十GB | 実行中のプログラムとデータをCPUが直接読み書きする |
| 補助記憶 | HDD / SSD | 低速(ms単位) | 数百GB〜数TB | 電源を切ってもデータを保持する長期保管用 |
図解:記憶階層のピラミッド
記憶階層は「ピラミッド型」で覚えるのが鉄板です。上に行くほど高速・小容量・高コスト、下に行くほど低速・大容量・低コストになります。
記憶階層ピラミッド
アクセス速度
記憶容量
キャッシュメモリの仕組みとヒット率
記憶階層の中で、CPUと主記憶の速度差を埋める「緩衝材」として最も重要なのがキャッシュメモリです。
CPUがデータを必要としたとき、まずキャッシュを探し、あればそこから読み出します(キャッシュヒット)。なければ主記憶から読み出します(キャッシュミス)。
「キャッシュに目的のデータが見つかる確率」をヒット率と呼び、この値を使って実効アクセス時間を計算できます。
実効アクセス時間の計算公式
アクセス時間 × ヒット率 + 主記憶の
アクセス時間 × 1 − ヒット率
▼ 計算例
SRAM と DRAM の違い
記憶階層を理解するうえで、キャッシュに使われるSRAMと主記憶に使われるDRAMの特性差を押さえておくことは不可欠です。
| 比較項目 | SRAM(Static RAM) | DRAM(Dynamic RAM) |
|---|---|---|
| 速度 | 高速 | SRAMより低速 |
| 容量あたりのコスト | 高い | 安い |
| リフレッシュ | 不要 | 必要(定期的に再書き込み) |
| 主な用途 | キャッシュメモリ | 主記憶(メインメモリ) |
| 揮発性 | 揮発性(電源OFFで消える) | 揮発性(電源OFFで消える) |
何となくで覚えたい人向け:ざっくり整理
レジスタ → 料理人の「手元のまな板」。超高速だが載る量はごくわずか。
キャッシュメモリ → 「作業台の食材トレー」。手を伸ばせばすぐ取れる。SRAMを使用。
主記憶 → 「冷蔵庫」。大量に入るが取りに行く時間がかかる。DRAMを使用。
補助記憶 → 「倉庫」。大量保管できるが往復に時間がかかる。HDD / SSDを使用。
では、このテーマが試験でどのように出題されるか見ていきましょう。
💡 記憶階層の核心を3行で
・レジスタ → キャッシュ(SRAM)→ 主記憶(DRAM)→ 補助記憶(HDD/SSD)の順に速度が下がり容量が増える
・キャッシュはCPUと主記憶の速度差を埋める緩衝役で、ヒット率と実効アクセス時間の計算が頻出
・SRAMは高速・高コスト・リフレッシュ不要、DRAMは低速・低コスト・リフレッシュ必要
試験ではこう出る!
記憶階層に関連する問題は、IP・FE・APのいずれでも定期的に出題されています。出題パターンは大きく3つに分かれます。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| IP R1秋 問60 |
キャッシュメモリ・主記憶・補助記憶に用いられる記憶装置の組合せを選ぶ | ・正解は「SRAM、DRAM、SSD」の組合せ ・HDD=主記憶やDRAM=補助記憶の入れ替えがひっかけ |
| FE H14春 問25 |
記憶装置をアクセス速度の速い順に並べる | ・正解は「レジスタ > 主記憶 > ディスクキャッシュ > ハードディスク」 ・レジスタと主記憶の順序入れ替えがひっかけ |
| FE 科目A サンプル問12 |
キャッシュメモリの有無・アクセス時間・ヒット率が異なる4パターンを実効アクセス時間の短い順に並べる | ・実効アクセス時間の計算公式を正しく適用できるかを問う計算問題 |
| FE H26春 問10 |
実効アクセス時間からキャッシュメモリのヒット率を逆算する | ・公式を変形してヒット率を求める応用計算 |
📝 IPA試験での出題パターン
パターン1:「速度順に並べよ」(IP・FE)
記憶装置の速度順を問う基本知識問題。「レジスタ → キャッシュ → 主記憶 → 補助記憶」の順番を即答できればOK。レジスタと主記憶の順序が入れ替わった選択肢がひっかけの定番。
パターン2:「デバイスの組合せを選べ」(IP)
「キャッシュメモリ=SRAM、主記憶=DRAM、補助記憶=SSD(またはHDD)」の対応を正しく選ばせる形式。SRAMとDRAMが入れ替わった選択肢に注意。
パターン3:「実効アクセス時間の計算」(FE・AP)
ヒット率とアクセス時間が与えられ、実効アクセス時間を求める。公式に数値を代入するだけなので、公式さえ覚えていれば確実に得点できる。ここだけは確実に押さえてください。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. コンピュータの記憶階層に関する説明として、最も適切なものはどれでしょうか?
- A. 記憶階層では、CPUに近い装置ほどアクセス速度が速く容量が小さい。キャッシュメモリにはSRAMが、主記憶にはDRAMが用いられる。
- B. 記憶階層では、CPUから遠い装置ほどアクセス速度が速くなる。補助記憶装置はCPUから最も遠いため、最もアクセス速度が速い。
- C. キャッシュメモリにはDRAMが、主記憶にはSRAMが用いられる。DRAMはリフレッシュが不要であるため、キャッシュに適している。
正解と解説を見る
正解:A
解説:
記憶階層はCPUに近いほど高速・小容量・高コストという原則で構成されます。キャッシュメモリにはリフレッシュ不要で高速なSRAMが、主記憶には大容量化しやすく低コストなDRAMが使われます。
選択肢Bは誤りです。CPUから遠い装置ほどアクセス速度は「遅く」なります。補助記憶(HDD/SSD)は階層の最下層であり、速度は最も遅い層です。選択肢Cも誤りです。SRAMとDRAMの用途が逆になっています。リフレッシュが不要なのはSRAMであり、DRAMは定期的なリフレッシュが必要です。
よくある質問(FAQ)
Q. ディスクキャッシュとは何ですか?記憶階層のどこに位置しますか?
ディスクキャッシュは、主記憶と補助記憶(HDD等)の間に置かれる緩衝用の記憶領域です。主記憶の一部を利用して、補助記憶からの読み出しデータを一時的に保持します。CPUキャッシュ(SRAM)がCPUと主記憶の速度差を埋めるのと同じ原理で、主記憶と補助記憶の速度差を緩和する役割を果たします。FE H14春 問25では選択肢に「ディスクキャッシュ」が含まれており、主記憶と補助記憶の間に位置づけられていました。
Q. L1キャッシュ・L2キャッシュ・L3キャッシュの違いは何ですか?
キャッシュメモリはさらに複数レベルに分かれています。L1(1次キャッシュ)はCPUコアに最も近く、最小容量・最高速です。L2はL1より大容量でやや低速、L3は全コアで共有される最大容量の層です。IPA試験の範囲では「キャッシュメモリ」とひとくくりに出題されることがほとんどなので、L1〜L3の細かい容量まで暗記する必要はありません。「上位ほど速くて小さい」という原則がキャッシュ内部にも適用されている、という理解で十分です。
Q. SSDはHDDと比べて記憶階層上の位置は変わりますか?
SSDもHDDも「補助記憶」という同じ階層に分類されます。ただし、SSDはフラッシュメモリを使用するためHDD(磁気ディスク)より読み書きが高速で、衝撃にも強い特徴があります。IP R1秋 問60では補助記憶としてSSDが正解の組合せに含まれていました。試験では「SSDかHDDか」よりも「補助記憶の位置づけ」の方が重要です。
Q. 仮想記憶(仮想メモリ)は記憶階層とどう関係しますか?
仮想記憶は、主記憶の容量が不足したときに補助記憶の一部を主記憶の延長として使う仕組みです。OSがアドレス変換を行い、プログラムからは実際より大きな主記憶があるように見せます。記憶階層そのものとは別の概念ですが、「主記憶と補助記憶の間でデータを入れ替える(ページング)」という動作は、階層間のデータ移動の応用例と捉えることができます。FE・APでは仮想記憶単独の出題も多いため、別途しっかり学習してください。