CPUのキャッシュレベルとそれぞれの役割

※当ページはアフィリエイトプログラムによる収益を得ています。

CPUには複数の「キャッシュ」と呼ばれる領域があります。簡単にいえば作業領域なのですが、それぞれの具体的な内容を知っていますか?

今回は、CPUのキャッシュレベルとそれぞれの役割について解説します。

CPUのキャッシュは主に3つ

CPUのキャッシュは「データを一時的にためておく高速なメモリ領域」を指します。キャッシュの役割は「メインメモリとCPU内部の演算のギャップを埋める」ことです。

一般的にメインメモリへのアクセスは、CPU内部の演算処理よりも遅いため、どうしてもタイミングのズレが発生します。

このズレを調節するために、CPU内部に設けられたデータ保管領域がキャッシュです。

主に「1次キャッシュ」「2次キャッシュ」「3次キャッシュ」という3段階に分かれていて、それぞれ役割が異なります。

1次キャッシュ

1次キャッシュは、CPU内部の演算器に最も近く、容量が小さい場所です。キャッシュの中では最もデータアクセスが速く、CPU演算器と頻繁にデータのやり取りを行っています。

CPUの性能に対する影響が大きいものの、あとから容量を大きくできるような場所ではないため、1次キャッシュの容量を追求するならばCPUごと買い替える必要があります。

2次キャッシュ

1次キャッシュよりは遅いものの、容量が大きいキャッシュ領域です。CPUに使われるアーキテクチャによってCPUコアの外側だったり内側だったりと、場所がマチマチなことが特徴でしょうか。

一般的には、2次キャッシュ領域の大きさがCPU性能を左右すると言われていましたが、近年は以前よりも影響力が落ちてきています。

これは、CPUに使われるマイクロアーキテクチャが多様化していることが原因です。

3次キャッシュ

2次キャッシュよりもさらに容量が大きい領域で、速度は遅いです。Intel製のCore iシリーズでは「LLC(Last Level Cache)」という独自の名称が使われることもあります。

マイクロアーキテクチャが同じであれば、3次キャッシュ容量が大きいほうが性能的に有利です。

キャッシュは大きければ大きいほどいい?

どのキャッシュレベルであっても、容量が大きいほうが有利なのは間違いありません。ただし、キャッシュの容量を大きくしたことで製造コストや消費電力が大きくなってしまうと、そのCPUは製品力が低くなってしまいます。

また、キャッシュは容量が大きくなるほど読み書きのスピードが遅くなるため、単に大きくしただけでは性能が向上していかないのです。

要はバランスなのですが、IntelやAMDはさまざまな試行錯誤の末に最適なキャッシュ容量を決定しています。したがって、キャッシュ容量だけを見て性能を評価するのはおすすめしません。

また、「キャッシュ容量以外の要素がすべて同じで、キャッシュ容量のみが異なる」というCPUは珍しいです。つまり、キャッシュ容量が異なればクロック数やTDPも異なるため、過度に気にしても仕方がない場所と言えるのです。

CPUの世代が進んだタイミングで参考程度にチェックする、といったレベルで十分だと思います。