AMDの7800X3Dと7950X3Dは、ゲーム用CPUとしてトップの座を維持していますが、それはコア数やクロック速度が最も多いからではなく、キャッシュ容量が最も大きいからです。ところで、CPUキャッシュとは一体何でしょうか?チップ自体に内蔵された、超高速でアクセスしやすい少量のメモリで、超高速処理に必要なデータを取得するのに役立ちます。
ただし、その効果は必ずしも直線的ではありません。7950X3Dがすべてのコアに追加キャッシュを搭載していないのには理由があります。実際、ゲームパフォーマンスの向上には役立つものの、大量の追加キャッシュにはデメリットも存在します。CPUキャッシュについて知っておくべきことをすべてご紹介します。
おすすめ動画
CPU キャッシュとは何ですか?

キャッシュとは、CPU自体に搭載されているメモリ容量のことで、個々のコアに統合されているか、一部またはすべてのコアで共有されています。これはプロセッサ上に直接搭載されている小さな専用メモリであり、PCで何か操作を行うたびにCPUがシステムRAMから情報を取得する必要がありません。すべてのプロセッサには少量のキャッシュが搭載されており、小型のCPUでは数キロバイト程度ですが、大型のCPUでは数メガバイト規模のキャッシュが搭載されることもあります。
しかし、既に高速なSSDストレージと、さらに高速なRAMがあるのに、なぜキャッシュが必要なのでしょうか? すべてはパフォーマンスの問題です。1990年代、RAMの速度はCPUのニーズに追いつかず、CPU設計者にとって大きな問題となっていました。解決策は、チップ自体にローカルキャッシュを追加することでした。
キャッシュはRAMに比べて容量が限られていますが、その高速性でそれを補っています。唯一の欠点は、小さなチップにメモリを詰め込むにはコストがかかるため、通常は大量に使用されていませんでした。しかし、AMDは3D V-Cacheによってこの問題を解決し、より高性能なゲームチップを実現しました。
キャッシュの仕組み L1、L2、L3 の説明
キャッシュの主流化に伴い、キャッシュとRAMの実装はより細分化され、最終的にキャッシュを最上位、RAMを中間、ストレージを最下位に配置するメモリ階層構造が生まれました。この階層化アプローチにより、CPUにとって重要なデータが物理的にプロセッサに近い位置に配置され、レイテンシが低減され、PCの動作が軽快になります。

キャッシュには独自の階層、つまりキャッシュレベルがあり、L1、L2、L3キャッシュに分かれています。これらはすべてキャッシュの種類ですが、それぞれ機能が若干異なります。
L1キャッシュはキャッシュの最上位層であり、最も小さいキャッシュです。通常、L1命令キャッシュ(L1i)とL1データキャッシュ(L1d)に分かれています。CPU内の各コアはそれぞれ専用のL1キャッシュ領域を持ち、そのサイズは通常数キロバイト程度です。L1キャッシュに保存されるデータは、CPUが直前に使用したデータ、またはすぐに使用すると予想されるデータです。CPUがL1キャッシュにないデータを必要とする場合は、次のレベルであるL2キャッシュにデータが送られます。
L1キャッシュと同様に、L2キャッシュも通常は単一のCPUコア専用ですが、一部のCPUでは複数のコア間で共有されます。また、L2キャッシュの容量ははるかに大きく、例えばCore i9-12900Kの各Pコアには80キロバイトのL1キャッシュと1.25メガバイトのL2キャッシュが搭載されており、これはL1キャッシュの約16倍に相当します。しかし、キャッシュの容量が大きいほどレイテンシが大きくなり、CPUコアとキャッシュ間の通信に時間がかかります。CPUがマイクロ秒、あるいはナノ秒単位で処理を実行したい場合、L2キャッシュのレイテンシがわずかに高いことは問題となります。CPUが要求されたデータをL2キャッシュ内で見つけられない場合、次のレベルであるL3キャッシュに問い合わせます。
L3キャッシュは非常に重要です。CPU内の一部またはすべてのコアで共有され、容量も大きいのです。例えば、7950X3Dは、3D V-Cacheを内蔵した128MBのL3キャッシュを搭載していますが、 L2キャッシュはわずか16MBしかありません。L3キャッシュのレイテンシはL2キャッシュよりもさらに大きくなりますが、CPUが必要なデータをRAMに取得する必要がなくなるため、大容量のL3キャッシュを持つことは非常に重要です。ストレージを除けば、RAMはメモリ階層の中で最も速度とレイテンシが遅く、CPUが必要なデータを取得するためにRAMにアクセスする必要があるたびに、処理が停止してしまう可能性があります。
一部のCPUにはL4キャッシュが搭載されていますが、通常はCPUパッケージに搭載されたRAMとして機能します。IntelのBroadwellアーキテクチャに基づく最初の14nm CPUの一部には、128MBの組み込みDRAMが搭載されており、同社のSapphire RapidsサーバーCPUにはHBM2が搭載される場合があり、これはいわば追加レベルのキャッシュとして使用されます。
CPU キャッシュはゲームにとって重要ですか?

CPUキャッシュはゲームにおいて大きな違いをもたらします。シングルスレッド性能、IPC(クロックあたりの命令数)、そしてクロック速度は、従来、ゲームパフォーマンスにおいて最も重要な要素と言われてきましたが、AMDとIntelの競争においては、キャッシュがおそらく最も重要な要素であることが非常に明確になっています。
今日のゲーム設計の仕組み上、キャッシュはゲームにとって非常に重要です。現代のゲームはランダム性が非常に高く、CPUは常に単純な命令を実行する必要があります。十分なキャッシュがないと、命令が山積みになりボトルネックが発生するため、グラフィックカードはCPUの処理を待たなければなりません。AMDの3D V-Cacheテクノロジーがどれほど大きな違いをもたらすかは、以下のゲームにおけるCPUパフォーマンスグラフで確認できます。

近年、ゲーム向けキャッシュメモリの増強がトレンドとなっています。AMDは長年にわたりCPUキャッシュメモリの増強に取り組んでおり、Ryzen 7 5800X3DとRyzen 7000世代の後継機種では3D V-Cache技術を採用することでその強化を図っています。
IntelはAMDに追いつこうと躍起になっており、最新世代のCPUはこれまで以上に大容量のキャッシュを搭載することで、ゲーム業界での競争力を維持しています。今後数年間、キャッシュ容量はさらに増加し、ゲームパフォーマンスの限界をさらに押し上げる可能性が高いでしょう。