ふくふくHukuhuku Inc.
EP.05CS Basics対象: 中2以上 9分公開: 2026-05-10

メモリと記憶階層:レジスタ・キャッシュ・RAM・SSD

CPU の隣にあるレジスタ (1ns) から、ハードディスク (10ms) まで、コンピュータの記憶装置は 1000 万倍の速度差がある。なぜ階層構造になっているか、各層の役割と容量・速度のトレードオフ。

#メモリ#RAM#SSD#キャッシュ#情報I
CO📔 Google Colab で開く(上から順にセルを実行)
シェア

コンピュータの記憶装置は 1 種類ではない。CPU の隣にある超高速だが小さい記憶から、TB クラスだが遅い HDD まで、5-7 段階の階層構造になっています。

1. 記憶階層のピラミッド

階層アクセス速度容量コスト/GB揮発/不揮発
レジスタ1 サイクル (0.3ns)数 KB(計算不能)揮発
L1 キャッシュ4 サイクル (1ns)32-64KB10 万円揮発
L2 キャッシュ12 サイクル (3ns)256KB-1MB1 万円揮発
L3 キャッシュ40 サイクル (10ns)8-32MB1000 円揮発
RAM (DRAM)100ns8-128GB100 円揮発
NVMe SSD10-100μs0.5-8TB10 円不揮発
SATA SSD100μs0.5-4TB8 円不揮発
HDD5-10ms1-20TB2 円不揮発
テープ (LTO)数十秒〜分12-45TB0.5 円不揮発

速度差は 5000 万倍、コスト差は 20 万倍。これが階層化の理由。

2. キャッシュの役割

「同じデータを近くに繰り返し使うことが多い」 (時間的局所性)「あるデータの近くにあるデータも使うことが多い」 (空間的局所性) という性質を利用して、頻繁に使うデータを CPU の隣に置く。これが キャッシュ

キャッシュ友好的なコード vs 非友好的なコード
Python
import numpy as np
# 連続メモリ配置 (キャッシュ友好的)arr = np.arange(10_000_000)%timeit arr.sum()  # 速い
# ランダムアクセス (キャッシュ非友好的)indices = np.random.permutation(10_000_000)%timeit arr[indices].sum()  # 遅い (10 倍以上)

3. RAM の容量目安

用途推奨 RAM理由
メールと Web ブラウジング8GBChrome 数タブ + Office 程度
プログラミング (Python・Web)16GBIDE + ブラウザ + Docker
動画編集 / 機械学習32-64GB大きな画像/動画/モデル
仮想マシン / 大規模データ64GB+VM 同時起動、メモリ DB

4. SSD と HDD の使い分け

  • OS とアプリは SSD: 起動・読込みが劇的に速い
  • データ保管は HDD or 大容量 SSD: コスト次第
  • 最近は SSD のみ: 価格が下がり HDD は撤退方向 (デスクトップ用途)
  • バックアップ: 別の物理ドライブ + クラウドの 2 重化

5. メモリ不足のサイン

  • アプリ切替時に「待ち」が頻発する
  • ディスクアクセス LED が常時点灯
  • ファンが常時高速回転 (スワップで CPU が忙しい)
  • 「メモリが不足しています」のシステム警告
  • 対処: 不要なアプリを閉じる → メモリ増設 → SSD 化 (HDD ならスワップが地獄)

6. 次の話

EP.06 では OS の役割 へ。CPU・メモリ・ディスクという物理的な資源を、複数のアプリでどう共有して動かすかの仕組みを覗きます。

シェア

この記事の感想を教えてください

あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。

シリーズの外も探す:

まずは、現状を聞かせてください。

要件が固まっていなくて大丈夫です。現状診断と方針提案までを無料でお手伝いします。

無料相談フォームへ hello [at] hukuhuku [dot] co [dot] jp