コンピュータの全体像 — 横蓋を開けて部品の地図を持つ

概要 — まず全体をつかむ

初級では部品を「料理店」にたとえました。中級では、速さと容量の階層・つなぐ仕組みを見ます。

詳細 — 1段階ずつ追う

記憶は「階層」でできている

アニメーション『コンピュータの中身(部品マップ)』を開く
電源(PSU)マザーボード(土台)CPU(頭脳)メモリ(作業机)ストレージ(保管庫)GPU(描画)部品をクリックすると、その解説へ移動します

コンピュータの記憶は、速いが小さいものから、遅いが大きいものまで階層になっています。

アニメーション『記憶の階層(速さと容量)』を開く
速い・小さい遅い・大きい記憶の階層レジスタCPU直近で最速・最小L1キャッシュコアごとの最速メモリL2・L3キャッシュやや大きい高速メモリメモリ(RAM)作業机・電源で消える(揮発)SSD倉庫・速い(消えない)HDD倉庫・大容量(消えない)速さと容量はトレードオフ。よく使うものを上へ置き、全体を速く見せる
  • レジスタ/キャッシュ(CPU内) — 最速・最小
  • メモリ(RAM) — 速い・中容量(電源で消える=揮発性
  • ストレージ(SSD/HDD) — 遅い・大容量(消えない=不揮発性

用語では、動作中に使うメモリを主記憶、消えずに残すストレージを補助記憶とも呼びます。

速さと容量はトレードオフ。よく使うものを上の階層に置いて、全体を速く見せます。キャッシュが効くのは、直前に使ったデータや近くのデータがまた使われやすいから(参照の局所性=時間的・空間的)。

この部分をもっと深く(上級

各記憶の速さは桁で違います(目安)。

  • レジスタ 〜1ns、L1 数ns、L2/L3 数〜数十ns
  • メモリ 〜100ns、SSD 数十μs、HDD 〜10ms
  • ネットワーク ms 級

上の階層に「いかによく使うものを当てるか(局所性)」が、体感速度を決めます。

やさしく言うと(初級
アニメーション『コンピュータの中身(部品マップ)』を開く
電源(PSU)マザーボード(土台)CPU(頭脳)メモリ(作業机)ストレージ(保管庫)GPU(描画)部品をクリックすると、その解説へ移動します

中に並ぶ主な部品と、その役割です。各部品をクリックすると、その解説へ移動します(このあと1つずつ作っていきます)。

つなぐ仕組み

  • バス — 部品間のデータの通り道(幹線道路)。bit幅=一度に運べる線の本数(幅が広いほど一度に多く運べる)
  • クロック — 動作のリズム(速さの目安。ただし数字だけでは決まらない)。GHz=1秒あたりの動作回数
  • キャッシュ階層(L1/L2/L3) — CPUの近くに置く高速メモリ
  • チップセット — マザーボード上で各部品の橋渡しをする
この部分をもっと深く(上級
  • フォンノイマンボトルネック — 命令もデータも同じメモリを通す構造の限界
  • バス — PCIe(拡張・GPU・NVMe)、メモリバス。帯域が効く
  • NUMA — 複数CPUで、ノード(ソケット)ごとにメモリまでの距離が違う(近い方が速い。同一ノード内のコアは同距離)
  • 周辺 — USB/NVMe/ネットワークのI/O
やさしく言うと(初級
  • CPU — 料理人(計算と指示を担う頭脳)
  • メモリ — 作業台(今すぐ使うものを広げておく場所)
  • ストレージ — 冷蔵庫(電源を切っても残る保管庫)
  • マザーボード — キッチンの土台(部品どうしをつなぐ)
  • GPU — 盛り付け職人(画面描画や大量の並列計算)
  • 電源(PSU)・ファン — 電気を配る/冷やす、縁の下の力持ち
PCの内部
1台の中に部品が配置されている

電源ONから(もう少し正確に)

  1. 電源投入 → ファームウェア(BIOS/UEFI)が起動
  2. ストレージからOSのローダを読み、メモリ
  3. CPUが命令をフェッチ→デコード→実行(後述のCPU記事へ)
  4. 必要なデータをメモリ・キャッシュ経由でやり取り
  5. 描画はGPUが担い、フレームバッファから画面へ
この部分をもっと深く(上級
  1. 電源投入 → UEFI(ファームウェア)が初期化
  2. ブートローダを読み、カーネルをメモリへ
  3. カーネルが init を起動、各サービスが立ち上がる
  4. 以降、CPUはストアドプログラム方式で命令を取り込み実行し続ける
  5. 入出力は割り込み駆動、大量転送はDMAでCPUを介さず
やさしく言うと(初級
  1. 電源を入れる(電力が各部品に届く)
  2. ストレージからOS(基本ソフト)を読み出す
  3. それをメモリに広げる(作業台に載せる)
  4. CPUが命令を次々に実行する
  5. 表示はGPUを通して画面に描かれる

「保管(ストレージ)→ 作業台に載せる(メモリ)→ 料理人が動く(CPU)」という流れが基本です。

⚠️ ボトルネックの見方

  • メモリ不足 — 足りないとストレージを代用(スワップ)し激遅に
  • ストレージI/O — 読み書き待ちが全体を律速する
  • 発熱・サーマルスロットリング — 熱で自動的に性能を落とす
  • 数字の罠 — クロックやコア数だけでは実性能は決まらない
この部分をもっと深く(上級
  • メモリ帯域律速 — 計算より、データ移動が全体を決めることが多い
  • NUMAの遅延 — 遠いメモリへのアクセスで性能低下
  • I/Oボトルネック — ストレージ・ネットワーク待ち
  • TDP(熱設計電力) — 冷やせる範囲でしか性能を出せない
  • 数字の罠 — クロック・コア数・GB だけでは実性能は測れない(局所性・帯域・並列度が効く)
やさしく言うと(初級
  • 全体的に遅い — メモリ不足(作業台が狭い)/ストレージが遅い
  • 起動しない — ストレージやマザーボードの不調
  • 熱くて止まる — ファン・冷却の不調

理解度チェック

そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。

1. 電源を切ると内容が消える「揮発性」の記憶はどれ?

2. キャッシュが効く理由となる「参照の局所性」の説明として正しいのは?

3. クロックの「GHz」が表しているものはどれ?

4. 「サーマルスロットリング」とは何か?

5. メモリが足りないとき、ストレージをメモリの代わりに使って動作が急に遅くなる仕組みを何と呼ぶ?

6. CPUのすぐ近くに置く、L1やL2などの高速で小容量のメモリを何と呼ぶ?

7. 部品どうしがデータをやり取りする「通り道」を何と呼ぶ?

8. CPU・メモリ・ストレージを「速さと容量」で並べると、一般的に正しいのは?