メインコンテンツへ

コンピュータの中身を1枚の地図に — CPU・メモリ・キャッシュ

公開 2026年8月2日・約6分で読めます

CPU、レジスタ、キャッシュ、主記憶、割り込み、パイプライン…。 コンピュータ構成の用語は、バラバラに覚えると事故ります。 でも実はこの分野、「速さと容量はトレードオフ」という1つの原理から ほとんどの用語が説明できます。1枚の地図として通して読んでみてください。

CPUの仕事は3拍子 — 取ってくる・解読する・実行する

CPUは命令を1つずつ処理する装置で、基本動作は3つの繰り返しです。 主記憶から命令を取ってくる(フェッチ)、 何をする命令か解読する(デコード)、 そして実行する。 この繰り返しのテンポを刻むのがクロックで、 クロック周波数が高いほど1秒あたりの拍の数が多い、つまり処理の回転が速いことを意味します。

記憶のピラミッド — 速いものほど小さい

記憶装置は1種類ではなく、速さと容量が違うものを階層にして使います。

  • レジスタ — CPU内部の作業台。最速だが数個〜数十個しかない
  • キャッシュメモリ — CPUのそばの手元の引き出し。速いが小さい
  • 主記憶(メインメモリ) — 机の上。実行中のプログラムとデータを置く
  • 補助記憶(SSD/HDD) — 倉庫。大容量だが遅い。電源を切っても消えない

なぜこんな階層を作るのか。速いメモリは高価で大容量にできないからです。 全部を最速のメモリで作れないので、「よく使うものだけ手元に置く」構造で 速さと容量を両立させています。

キャッシュが効く理由 — 局所性

キャッシュが小さいのに効果絶大なのは、プログラムのアクセスに 偏り(局所性)があるからです。 一度使ったデータは近いうちにまた使われやすく(時間的局所性)、 使ったデータの近くのデータも使われやすい(空間的局所性)。 だから「最近使ったあたり」を手元に置くだけで、大半のアクセスが手元で済みます。 手元で済んだ割合がヒット率です。 ヒット率を使った実効アクセス時間の計算は 計算問題の型の記事で 例題つきで扱っています。

割り込み — 作業中にかかってくる電話

CPUが処理の途中で外部の出来事(キー入力、タイマ、機器のエラー)に 対応する仕組みが割り込みです。 作業中に電話が鳴ったら、今の作業のしおりを挟んで(状態を退避)、 電話に出て(割り込み処理)、終わったらしおりの場所から再開する。 「今の状態を保存してから対応し、あとで正確に戻る」という流れを押さえれば、 割り込みの問題はほぼ読めます。

パイプライン — 工場の流れ作業

フェッチ・デコード・実行という3拍子を、1命令ずつ順番にやると 各装置に待ち時間が生まれます。そこで流れ作業にする。 1つ目の命令をデコードしている間に、2つ目の命令をフェッチする — 工程をずらして重ねることで、全体の処理量を増やす仕組みがパイプラインです。 速くなるのは流れ全体の処理量で、1つ1つの命令にかかる時間そのものは縮みません — 流れ作業にしても、1台あたりの組み立て時間が変わらないのと同じです。 ただし「次にどの命令が来るか」が分岐で変わると流れが乱れる(分岐ハザード)、 という弱点もセットで問われます。

頻出ミスまとめ

  • 速さの序列があいまい — レジスタ > キャッシュ > 主記憶 > 補助記憶。迷ったら「CPUに近いほど速い」
  • 揮発と不揮発の混同 — 主記憶(RAM)は電源を切ると消える。SSD/HDDは残る
  • クロック周波数=性能と即断 — 1命令に何クロックかかるか(CPI)でも性能は変わります
  • パイプラインで1命令が速くなると誤解 — 速くなるのは全体の処理量。1命令の所要時間は変わりません

地図が頭に入ったら、コンピュータ構成要素カテゴリで 演習してみてください。用語が「ピラミッドのどこの話か」で整理できていれば、 初見の問題文でも迷子になりません。

読んだら、解いて確かめるのがいちばん定着します。

問題を解いてみる ほかの記事を読む