なぜNehalemのCPUからL3キャッシュを追加した?

最終更新日 2023年09月07日

レイテンシ問題を解決するために Nehalem の CPU から L3 キャッシュを追加したのか

モバイルにもL3キャッシュをもたらすNehalem 後藤弘茂のWeekly海外ニュース には、以下のとおり書かれています。(この記事の公開年月日は2008年3月21日)
 キャッシュメモリは大ざっぱに言えば、容量が大きくなるに従って、アクセスレイテンシが長くなる。また、アクセスするコア数が増えることでも、レイテンシが伸びる可能性がある。L2アクセスに必要なサイクル数は、以前は1桁台だったのが、L2の大容量化とマルチコア化によって2桁台の10数サイクルになり、さらに伸びつつあった。つまり、CPUから見て、L2は次第に遠く(アクセスに時間がかかる)なりつつあった。

 とはいえ、キャッシュにヒットしなければ、もっとはるかに遠い外部DRAMにアクセスしなければならない。その場合は、何百サイクルもムダになってしまう。そのため、これまでは、“より遅くなる”のを覚悟で“より大容量”のキャッシュを載せる方向へ進んで来た。

 Nehalemの今回の3層キャッシュは、こうした問題に対する回答だと推定される。Intelは、これ以上、L2キャッシュが遅くなると、パフォーマンスに影響が出てしまうと判断したようだ。新しいキャッシュ構成のアプローチで、レイテンシ問題を解決する。すなわち、低レイテンシの小さな占有L2キャッシュと、レイテンシは長いが容量が大きな共有L3キャッシュの組み合わせだ。
データアクセス速度が遅くなるのはやむを得ないとして L2 キャッシュメモリー容量を増やしてきましたが、これ以上増やすと CPU の性能への悪影響が出てしまうと判断し、Nehalem の CPU では L3 キャッシュメモリーを追加したようです。

アクセス速度の低下を抑えるために L3 キャッシュを追加したのか

どんなメモリーを使うのか? - 日経トレンディネット には、以下のとおり書かれています。(この記事の公開年月日は2008年12月22日)
 キャッシュメモリーが大きくなると、アクセスが遅くなる。逆にキャッシュメモリーを小さくすると、保持できるデータ量が少なくなってメーンメモリーにアクセスしなければならなくなる。するとさらに処理の遅延が発生してしまう。そこでCore i7では2次キャッシュメモリーは容量を小さくして各コア専用として、新たに容量の大きい共有3次キャッシュメモリーを搭載した。小さいメモリーと大きなメモリーを上手く組み合わせて、アクセス速度の低下を抑えているのだ。
Nehalem の CPU より前は、各コア専用に小容量 L1 キャッシュメモリー、全コアが共有する大容量 L2 キャッシュメモリーを搭載でした。

このまま L3 キャッシュメモリーなしで L2 キャッシュメモリー容量をさらに大きくするとデータアクセスが遅くなり、L2 キャッシュメモリー容量を大きくしないとメインメモリーへのデータアクセス頻度が高くなり、さらにデータアクセスに時間がかかるようになるので、Nehalem の CPU では各コア専用の小容量 L1 キャッシュメモリー、各コア専用の中容量 L2 キャッシュメモリー、全コア共有の大容量 L3 キャッシュメモリーを搭載としたようです。

レイテンシの増大を避けるために Nehalem の CPU から L3 キャッシュを追加したのか

Core i7のアーキテクチャ徹底分析 1/4 DOS/V POWER REPORT | Impress Japan には、以下のとおり書かれています。(この記事は2009年1月号の記事)
 Core i7ではキャッシュ構造も大きく変更され、1次キャッシュ(命令32KB+データ32KB)と256KBの2次キャッシュを各コアに内蔵し、さらに4コアで共有する8MBの3次キャッシュを備える3レベルのキャッシュ構造が採用された。もともとCore 2シリーズのキャッシュ構造はデュアルコアが前提であり、同じ構造のままコアを増やせば共有型キャッシュへの負荷が高くなり、レイテンシの増大は避けられない。それでなくとも2次キャッシュのレイテンシはCore 2の時点で14サイクルまでに増えており、これ以上は演算性能の上でデメリットが大きい。比較的小容量でも低レイテンシ(10サイクル)の2次キャッシュを各コアに内蔵しつつ、共有型の3次キャッシュで容量をフォローするCore i7の構造は、ネイティブクアッドコアになったことを考えれば自然なアプローチだ。
L2 キャッシュメモリー容量を増大させると CPU の性能向上に問題が出てきますので、Nehalem の CPU から L3 キャッシュメモリーを追加したようです。

Nehalem の CPU で L3 キャッシュメモリーを追加せずに L1 キャッシュメモリーと L2 キャッシュメモリーだった場合、コア数の増加等により L2 キャッシュメモリーの容量も増え、L2 キャッシュメモリーへのデータアクセス速度が遅くなるというデメリットが大きく、CPU の性能は L3 キャッシュメモリーを追加した場合と比べて低かったと考えられます。


キャンペーン情報(PR)
マウスコンピューター
・春のパソコンセール
最大70,000円OFF!!
(4月24日迄)
DELL
・今週のおすすめ製品
対象製品が最大20%OFF
(キャンペーン実施中)
パソコン工房
・WEB開催!スプリングセール
ゲーミング・クリエイター向けパソコンなどをご用意
(4月23日迄)