CPUキャッシュとは?L1・L2・L3をわかりやすく解説
|
読む時間 0 min
|
読む時間 0 min
新しいパソコンを買うとき、多くの人はプロセッサーの速度(GHz)やコア数を見ます。でも、実はCPUキャッシュという見えにくい要素も、パソコンの体感速度に大きく関わっています。キャッシュメモリがどのように動くかご存じでしょうか。ここを理解しておけば、一部のプロセッサーがゲームやマルチタスクに向いている理由が見えてきます。
目次
CPUキャッシュとは、プロセッサーチップの内部に直接組み込まれた、小容量で超高速なメモリ領域のことです。その役割はシンプルで、CPUがよく使うデータや命令のコピーを手元に置いておくことです。重要なデータを処理コアの近くに置くことで、CPUはメインメモリ(RAM)まで取りに行って、データの読み込みを待つ必要がなくなります。CPUキャッシュは目の前にある小さな作業台、RAMは部屋の向こうにある大きな本棚のようなものです。
キャッシュの重要性を理解するために、まずはプロセッサーがデータをどのように扱うかを知る必要があります。
CPUが計算を行うとき、まずは必要なデータがキャッシュ内にあるかを確認します。キャッシュからデータを取得できる状態を「キャッシュヒット」と呼び、この際プロセッサーは素早く処理を終えられます。一方、必要なデータがキャッシュにない状態が「キャッシュミス」です。この場合、CPUはRAMからデータが届くのを待たなければならず、そのぶん時間がかかります。
キャッシュメモリには、Static RAM(SRAM)と呼ばれる技術が使われています。SRAMは常時電荷をリフレッシュする必要がありません。一方、一般的なシステムRAMはDynamic RAM(DRAM)と呼ばれます。大量生産しやすく安価ですが、速度はSRAMより遅くなります。また、キャッシュとプロセッサーコアは同じシリコンダイ上にあるため、データの移動距離が短くなります。その結果、レイテンシーを非常に低く抑えられます。
昨今のプロセッサーは、複雑な予測アルゴリズムを使い、次に必要となる情報を判断しています。たとえばゲームをプレイしているとき、CPUはプレイヤーの座標や物理演算に関するデータをキャッシュに保存します。CPUが毎フレーム使う可能性が高いデータであると判断しているのです。この機構は、特にミニPCのような小型システムで重要となります。限られた温度条件の中で、各パーツが無駄なく動く必要があるためです。この点については、後ほど詳しく見ていきます。
プロセッサーのキャッシュは1つではありません。速度と容量のバランスを取るため、キャッシュは3つのレベルに分けられています。
Level 1(L1)キャッシュは、チップ内で最も小さく、最も速いメモリです。L1キャッシュは各プロセッサーコア専用に用意されています。各コアは、32KBから128KB程度のデータを保持できます。CPUが情報を必要とするとき、最初に確認するのがL1です。L1キャッシュへのアクセス時間は、およそ1〜2ナノ秒です。
Level 2(L2)キャッシュは、L1キャッシュより大きいものの、速度は少し落ちる次候補です。L1キャッシュでミスが発生すると、CPUは次にL2を確認します。最近のプロセッサーでは、各コアに専用のL2キャッシュが割り当てられており、容量は512KBから2MB程度です。L2キャッシュへのアクセス時間は、およそ3〜5ナノ秒です。
3つ目がLevel 3(L3)キャッシュです。L3は最も大きく、3つの中では最も遅いキャッシュですが、それでもRAMよりはずっと高速です。L1やL2と違い、L3キャッシュは通常、すべてのプロセッサーコアで共有されます。ハイエンドチップでは、16MBから大容量の128MBまで搭載されることがあります。共有設計にすることで、各コアがデータを素早くやり取りしやすくなります。ゲームのような複雑な処理では、この仕組みが重要になります。
メーカーが複数の階層を使う理由は、速度、コスト、チップ上のスペースのバランスを取るためです。SRAMは高価で、シリコンチップ上の面積も多く使います。100MBのL1キャッシュを持つプロセッサーを作ることは現実的ではありません。チップが大きくなりすぎ、発熱も増えてしまうからです。階層化された仕組みによって、最も重要なデータはL1に置き、追加のデータはL3に保持できます。
| 項目 | L1 キャッシュ | L2 キャッシュ | L3 キャッシュ |
|---|---|---|---|
| 速度(アクセスレイテンシー) | 最速(約1 ns / 3〜4サイクル) | 高速(約3 ns / 10〜12サイクル) | やや低速(約10〜15 ns / 40〜50サイクル) |
| 一般的な容量 | コアあたり32〜128 KB | コアあたり256 KB〜2 MB | 4 MB〜128 MB(共有) |
| 搭載場所 | 各CPUコア内部 | 各CPUコア内部 | すべてのコアで共有 |
| メモリの種類 | SRAM(最高グレード) | SRAM | SRAM(高密度だが速度はやや低い) |
| 共有方式 | 各コア専用 | 各コア専用 | 全コアで共有 |
| アーキテクチャ | 分離型:L1i(命令)+L1d(データ) | 統合型(データ+命令) | 統合型(データ+命令) |
| 1MBあたりのコスト | 非常に高い | 高い | 中程度 |
| キャッシュヒット率への影響 | シングルスレッド性能への影響が最も大きい | コア単位の処理に大きく関係 | マルチコア処理やゲーム性能に大きく関係 |
注:レイテンシーの値は、最新のx86 CPUにおける一般的な目安です。アーキテクチャやクロック速度によって多少変わる場合があります。キャッシュ容量は、L1/L2はコア単位、L3は共有容量として示しています。
CPUキャッシュとシステムRAMを混同している人も多いです。どちらも一時的にデータを保存しますが、役割が異なります。
項目 |
CPUキャッシュ(SRAM) |
システムRAM(DRAM) |
搭載場所 |
CPUチップ内部に直接搭載 |
マザーボード上に搭載 |
速度 |
非常に高速(1〜15ナノ秒) |
低速(50〜100ナノ秒) |
容量 |
非常に小さい(MB単位) |
非常に大きい(GB単位) |
製造コスト |
高価 |
比較的安価 |
役割 |
CPUコアにすぐに必要となるデータを供給 |
開いているプログラムやOSデータ全体を保持 |
ノートPCに64GBのRAMを追加しても、CPUが命令を処理する速度そのものが上がるわけではありません。RAMを増やすことは、大きな本棚を用意するようなものです。CPUの作業台、つまりキャッシュが小さいままなら、CPUはその大きな64GBの本棚まで何度もデータを取りに行く必要があります。その移動が処理の遅れにつながります。
キャッシュ容量が大きいほど、プロセッサーは負荷の高い処理をスムーズにこなしやすくなります。
はい、大きく変わります。CPUは、敵のAI、弾道、物理エンジンなど、膨大な変数を同時に処理する必要があります。L3キャッシュが大きければ、CPUはこれらの変数をチップ上に保持できます。その結果、RAMの応答待ちが減り、フレームレート(FPS)が上がり、フレーム落ちの少ない、滑らかなゲームプレイにつながります。
動画編集やローカルAIモデルの実行では、大量のデータを連続して処理します。キャッシュの大きいCPUなら、動画タイムラインやAIデータセットの大きなまとまりをチップ上に直接読み込めます。その結果、AIの応答は速くなり、レンダリング時間も短縮されます。
大型のデスクトップタワーなら、プロセッサーに多くの電力を供給し、大型ファンで冷却することができますが、ミニPCではそれができません。
ミニPCには、文庫本サイズの筐体に高性能なパーツが詰め込まれています。冷却スペースが限られるため、発熱を抑えながらプロセッサーを動作させる必要があります。
RAMから情報を取り出す際は電力が必要となり、熱も発生します。「キャッシュヒット」の割合が高いということは、そのプロセッサーのキャッシュシステムがうまく働いているということです。CPUがRAMを使わずに済むため、消費電力を抑え、システム温度を下げ、安定動作を維持しやすくなります。
GEEKOMミニPCには、最新のIntel CoreやAMD Ryzenプロセッサーが搭載されています。L2/L3キャッシュの構造もしっかりしているので、動画編集、マルチタスク、カジュアルなゲームあたりなら、デスクトップPCに近い感覚で使えます。小型PCだと熱やファン音が気になりがちですが、そこを抑えやすいのは、個人的にも大きな安心材料だと感じます。
IntelとAMDは、どちらもCPUキャッシュをうまく使うために、それぞれ別のアプローチを取っています。同じ「キャッシュ」と言っても、考え方は少し違います。
Intelは、L3キャッシュに「Smart Cache」という技術を使っています。L3キャッシュをコアごとに細かく分けるのではなく、必要に応じて各コアが全体のキャッシュ領域を共有できる仕組みです。たとえば、1つのコアが単一スレッドの重い処理を担当している場合、そのコアは空いている他のコア分のキャッシュ領域も使えます。こうすることで、処理をよりスムーズに進められます。
AMDは、キャッシュの課題に対して、物理的な工夫でアプローチしました。具体的には、キャッシュメモリをプロセッサーダイの上に縦方向に積み重ねる方式です。プロセッサーチップは横に広げられる面積に限りがあります。そこでAMDは、上に重ねるという方法を取りました。AMDの公式技術資料によると、この「3D V-Cache」によって、チップサイズを大きくせずに64MBのL3キャッシュを1つのチップに搭載できるようです。
現時点、ゲームだけを重視するならAMDの3D V-Cacheが有力です。大容量のL3キャッシュによってRAM側の待ち時間を減らしやすいため、シミュレーションゲームやオープンワールドゲームではFPS向上が期待できます。一方で、IntelのSmart Cacheは、日常的なマルチタスクや仕事向けの作業でバランスのよい性能を出します。ゲーム中心か、作業も含めて幅広く使うか。そこを見て選ぶのがよいと思います。
PCのキャッシュ容量は、専用ソフトを入れなくても確認できます。
CPUキャッシュは、あとから増やせません。メモリやSSDのように交換できるものではないので、PCを買う段階で用途に合ったプロセッサーを選ぶ必要があります。
Webブラウジング、YouTube視聴、Microsoft Officeの利用が中心なら、Intel Core i3やAMD Ryzen 3のようなシンプルなプロセッサーでも十分です。L3キャッシュは8MB〜12MB程度あれば、日常的な作業には対応できます。私なら、軽い作業用PCではこのあたりをひとつの目安にします。
最新ゲーム、写真編集、ブラウザタブを多く開く使い方をするなら、Intel Core i5やRyzen 5のようなミドルレンジのプロセッサーを選びたいところです。このクラスでは、16MB〜24MBのL3キャッシュを備えたモデルが目安になります。ゲームも作業もやるなら、このあたりから選ぶと安心です。
4K動画編集、コードのコンパイル、CPU負荷の大きいシミュレーションゲームをプレイする場合は、32MB以上のL3キャッシュを備えたハイエンドプロセッサーが候補になります。Core i7/i9やRyzen 7/Ryzen 9などが代表例です。AI関連の作業まで考えるなら、ここは少し上のクラスを見ておきたいところです。
はい、影響します。L3キャッシュが大きいと、ゲームの物理演算やエンジン関連データをプロセッサー上に置きやすくなります。そのぶんCPUがRAMを待つ時間を減らせるため、FPSの向上につながります。ゲーム中の急なフレーム落ちを抑えたい人にとっても、見逃せないポイントです。
キャッシュメモリの目的は、よく使うデータや処理をプロセッサーチップ上に直接置いておくことです。これにより、CPUはメインシステムRAMの応答を待たずに、必要なデータへすばやくアクセスできます。簡単に言えば、CPUのすぐ近くに小さな作業スペースを用意しておくイメージです。
基本的には、キャッシュが大きいほど有利です。とはいえ、限度はあります。キャッシュが大きくなりすぎると、CPUがその中から目的のデータを探す時間も増えます。そのため、容量だけでなく、検索速度とのバランスも大切です。
できません。キャッシュはプロセッサー内部の非常に小さなシリコンダイに直接組み込まれています。そのため、あとから追加したり交換したりすることはできません。より大きなキャッシュが必要な場合は、CPUそのものを交換する必要があります。
できません。CPUはハードウェアレベルでキャッシュを自動管理しており、毎秒何百万回もデータを入れ替えています。Webブラウザのキャッシュのように、ユーザーが手動で削除するものではありません。
新着記事