L1・L2・L3キャッシュとは?CPUの「超高速メモリ」を仕組みから丁寧に解説

「CPUのスペック表に書いてある”L3キャッシュ 32MB”ってどういう意味?」
「キャッシュが多いとパソコンは速くなるの?」

そんな疑問を持ったことはありませんか。
CPUキャッシュは、パソコンの体感速度を大きく左右する重要な要素ですが、クロック数やコア数と比べて理解されにくいのが現実です。
この記事ではL1・L2・L3という3段構造のキャッシュについて、仕組みから性能への影響まで、中学生でも分かるよう解説します。


スポンサーリンク

CPUキャッシュとは何か

CPUとメモリ(RAM)の違いでも触れたとおり、CPUは高速な演算装置で、RAMは「作業台」の役割を持ちます。
ところが、CPUとRAMには大きな「速度差」があります。
現代のCPUは1秒間に数十億回の演算をこなしますが、RAMからデータを読み取るには100〜270クロックサイクル前後もかかるのが実情です(クロックについてはCPUクロック数とは?も参照)。

つまり、CPUはRAMを待ちながら「手待ち」の状態になってしまうんです。

この問題を解消するために考えられたのがCPUキャッシュです。
CPUキャッシュとは、CPUチップの内部(または直近)に組み込まれた、超高速・小容量のメモリです。
頻繁に使うデータを手元に蓄えておくことで、RAMへのアクセス回数を大幅に減らし、処理速度を向上させます。

SRAMとDRAMの違い

CPUキャッシュにはSRAM(Static RAM)という種類のメモリが使われています。
一般的なメモリ(RAM)に使われるDRAM(Dynamic RAM)と比べた違いは以下のとおりです。

比較項目SRAM(キャッシュ)DRAM(一般的なRAM)
速度非常に高速(数ナノ秒)遅い(数十ナノ秒)
消費電力少ない(リフレッシュ不要)多い(常にリフレッシュが必要)
構造1ビットにつき4〜6個のトランジスタ1ビットにつき1トランジスタ+コンデンサ
コスト高コスト低コスト
容量小さい(MB〜数十MB規模)大きい(GB規模)

SRAMは高速ですが、1ビットの記憶に複数のトランジスタが必要なため、大容量化するとチップ面積を圧迫しコストが急増します。
これがキャッシュが「小さく・高価」な理由です。


L1・L2・L3の3段階構造

CPUキャッシュは3つの階層(Level 1〜3)に分かれています。
CPUコアに近い順にL1・L2・L3と呼び、近いほど高速・小容量で、遠いほど低速・大容量になります。

階層容量の目安アクセス速度コアとの関係
L132〜128KB/コア約4〜5サイクル各コアに専用
L2256KB〜数MB/コア約3〜15サイクル原則、各コアに専用
L3数MB〜64MB以上約20〜70サイクル全コアで共有
RAM(参考)数GB〜数十GB100〜270サイクル以上CPU外部

処理の流れはシンプルです。
CPUがデータを必要とするとき、まずL1を探し、なければL2、それでもなければL3、最終的にRAMへアクセスします。

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

  • キャッシュヒット:必要なデータがキャッシュ内に見つかった状態。即座にデータを取得でき、処理が速い。
  • キャッシュミス:データがキャッシュになく、次の階層またはRAMまで取りに行く状態。その分だけ待ち時間が発生する。

ヒット率が高いほどCPUの実効性能は上がります。
現代のCPUは設計上の工夫によって90%以上のキャッシュヒット率を実現するよう最適化されています。


L1キャッシュ:CPUコアのすぐ隣にある最速メモリ

L1キャッシュ(Level 1 Cache、1次キャッシュ)は、CPUコアに直接組み込まれた最速のキャッシュです。

アクセス速度はおよそ4〜5クロックサイクル
5GHzのCPUで換算すると、約0.8〜1ナノ秒という驚異的な速さです。

L1の2つの分割構造

L1キャッシュは通常、以下の2つに分かれています。

  • L1命令キャッシュ(L1i):CPUが次に実行する命令コードを保存する
  • L1データキャッシュ(L1d):演算に必要なデータを保存する

命令とデータを分けることで、両方に同時アクセスでき効率が上がります。

L1のサイズと制約

容量はコアあたり32〜128KB程度が一般的です(上位CPUやサーバー向けで1MBを超えるものもあります)。
小さいのは意図的な設計で、大きくするほど検索に時間がかかりアクセス速度が落ちるためです。
「すぐ手が届く引き出し」は小さいからこそ速い、というわけです。


L2キャッシュ:L1のバックアップ役

L2キャッシュ(Level 2 Cache、2次キャッシュ)は、L1とL3の中間に位置する階層です。

アクセス速度は3〜15クロックサイクル程度。
L1より遅いものの、RAMと比べれば圧倒的に高速です。

L2の役割

L1でミスが発生したとき、CPUはまずL2を確認します。
L2にデータがあれば、RAMまで取りに行く必要がなく、ミスによるペナルティを最小限に抑えられます。

また、L2はプリフェッチ(先読み)の役割も担っています。
CPUが次に必要にしそうなデータを予測して先読みし、L1に渡す前に準備しておく仕組みです。

L2のサイズと配置

容量はコアあたり256KB〜数MBが一般的です。
たとえばAMD Zen 4アーキテクチャでは1コアあたり1MB、Intel Raptor Lakeの高性能コアでは2MBを搭載しています。
近年のCPUはAIワークロードや高フレームレートゲーミングへの対応からL2容量を増やす傾向にあります。


L3キャッシュ:全コアで共有する大容量の”最後の砦”

L3キャッシュ(Level 3 Cache、3次キャッシュ)は、CPUに搭載されるキャッシュの中で最も大容量です。
LLC(Last Level Cache)とも呼ばれ、RAMにアクセスする前の最後の砦として機能します。

アクセス速度は20〜70クロックサイクル程度。
L1・L2より遅いとはいえ、RAMの100〜270サイクル以上と比べれば大幅に高速です。

L3の特徴:全コアで共有する

L1・L2が各コア専用なのに対し、L3は全コアで共有する設計が一般的です。

たとえばゲームが複数のCPUコアを使って並列処理するとき、あるコアがL3に書き込んだデータを別のコアが読み取れます。
コア間でのデータ受け渡しをRAMを経由せずに行えるため、マルチスレッド処理の効率が大きく上がります。

コア間の一貫性(同じデータを別のコアが古いまま持ち続けないようにすること)は、MESIプロトコルなどのキャッシュコヒーレンシ技術によって管理されています。

L3のサイズ

容量は数MB〜64MB以上と幅があります。
高性能CPUでは大容量化が進んでおり、AMDのEPYCやXeonといったサーバー向けCPUでは96MB以上を搭載するモデルもあります。

AMD 3D V-Cache:L3の革新技術

2022年以降、AMDが投入したのが3D V-Cache(3D縦積みキャッシュ)技術です。
L3キャッシュを横(2D)ではなく縦方向に積み重ねることで、チップ面積を増やさずにL3容量を大幅に拡大しています。
たとえばRyzen 7 7800X3Dは通常32MBのL3を96MBまで拡張しており、ゲーミング性能の大幅な向上が確認されています(CPUとGPUの違いも参考に)。


なぜ1つの大きなL1にしないのか

「L1・L2・L3をまとめて大容量のL1にすればいいのでは?」と思うかもしれません。

答えは「物理的に無理だから」です。

キャッシュは容量が増えるほど、データの検索に時間がかかります。
150MBのL1を想像してみてください。検索時間だけで現在のL2以上の時間がかかってしまいます。

また、L1はコアごとに専用である必要があります。
4コアが1つの巨大なL1を共有すると、順番待ちが発生して逆に遅くなります。
小さな専用L1で高速アクセスを確保しつつ、大きなL3を共有することで容量も確保する、この2段構えが合理的な設計なのです。


CPUキャッシュが性能に与える影響

用途別の影響度

用途L3キャッシュの影響備考
ゲーム大きいデータの局所性が高くヒット率が上がりやすい
動画編集・エンコード中程度処理量が大きくキャッシュから外れやすい
Web閲覧・Office小さい処理量が少なくキャッシュが余りやすい
データベース大きい繰り返しアクセスするデータが多い

特にゲームはL3キャッシュの恩恵を受けやすい用途です。
ゲームデータ(マップ情報・キャラクターデータなど)がL3に収まる範囲であれば、RAMへのアクセスを減らせるため、フレームレートの安定性が向上します。

CPUスペック表での確認方法

メーカーのCPUスペックページでは以下のように記載されています。

  • Intelの場合:「キャッシュ」=L3容量、「合計L2キャッシュ」=全コアのL2の合計
  • AMDの場合:L1・L2・L3それぞれの合計容量を記載することが多い

RAM容量の確認方法はWindowsでメモリ(RAM)を確認する方法を参照してください。


まとめ

L1・L2・L3キャッシュは、CPUとRAMの速度差を埋めるために設けられた3段階の高速メモリです。
ポイントを整理すると以下のとおりです。

  • L1:最高速・最小容量。各コア専用で、命令とデータを分けて保存する
  • L2:速度と容量のバランス役。L1ミス時のバックアップ兼先読み担当
  • L3:最大容量・全コア共有。RAMへのアクセスを減らす「最後の砦」

特にゲームや繰り返しアクセスの多いデータベース処理では、L3キャッシュ容量が体感速度に直結します。
CPUを選ぶ際はクロック数やコア数だけでなく、キャッシュ容量も確認してみてください。

CPUの総合的な性能の見方についてはCPUのコア数とスレッド数の違いとは?、クロック周波数との関係はクロック周波数完全ガイドもあわせてご覧ください。


参考情報源:

コメント

タイトルとURLをコピーしました