キャッシュの容量はトランジスター数と演算性能との
トレードオフで決まる
ここまでで、大雑把にキャッシュそのものの動作原理の説明は終わったので、ここからは性能改善という観点で論じていこう。
x86系で最初にキャッシュを内蔵した「Intel 486」シリーズの場合、8KBのユニファイドキャッシュを内蔵した(その後ライトバックをサポートした時点で、16KBに増量)。前回触れたとおり、キャッシュはメモリーアクセスの遅さを遮蔽する働きがある一方で、トランジスター数に大きなインパクトを与える問題もある。
特にIntel 486は、当初1.5μm(1500nm)という大きなプロセスを使っていたから、利用できるトランジスター数は限られていた。こうなると、キャッシュに大量のトランジスターを割くのと、それを減らして演算器の性能を高めるのとで、どちらが賢明かというのは非常に難しい問題となる。
x86の歴史を見る限り、少なくとも「Coppermine」(Pentium III)とか「Thunderbird」(Athlon)の時代までは、「キャッシュは最小限に留め、演算性能を高めるほうにトランジスターを割く」という方向性が明確だった。実際、Intel 486は8KBないし16KBのユニファイドキャッシュのみ。次の「Pentium」の時代でも、合計16KB(命令8KB/データ8KB)のままだった。
「MMX Pentium」になって、プロセスの微細化もあって若干利用できるトランジスターが増えたために、ようやく合計32KB(命令16KB/データ16KB)に増えるが、これに先立ってリリースされた「Pentium Pro」は、16KB(命令8KB/データ8KB)のまま。これがMMX Pentiumと同じ合計32KBに増量されるのは、「Pentium II」になってからだ。つまりこのあたりまでは、CPU内部に大容量のキャッシュを搭載するよりも、演算パイプラインの充実にトランジスターを費やすほうが、性能が上がりやすかったということになる。
とは言っても、8KB~32KB程度の1次キャッシュでは効果が知れているのも事実。これを補うために、マザーボード側に2次/3次キャッシュを搭載するとか、CPUパッケージ内ながらオフチップで2次キャッシュを搭載するといった形で補うことが、「Katmai」ベースのPentium IIIや「K7/K75」コアのAthlonの時代までは続いた。実はこの方式は、コンピューターの世界では昔からある「記憶装置の階層構造」という考え方にもかなう方式である。
これは元々メインフレームなどの話で、図5-1のようなものである。ピラミッドの下の階層ほど容量が大きいが、低速である。階層が上がるにつれてどんどん速度は向上するが、その分容量が減り、かつしばしば高価になる。
PCの場合は図5-2のように置き換えて考えるとわかりやすい。光学ドライブはメディアを入れ替えれば理論上無限の容量があり、対してHDDはどんなに大容量といっても限界がある。SSDはHDDよりずっと高速だが容量はHDDにまだ及ばないし、価格面では勝負にならないほど高い。メモリーはSSDと比べてもさらに高速かつ高価であるが、容量は数桁少なくなる。キャッシュはさらに少ないが高速である。
この階層構造は、「こうした特性を踏まえてシステム設計を考えましょう」ということでもある。大量のデータを処理するにしても、何度も全データを総なめするような処理の仕方をすると、結局一番遅い記憶装置の速度で処理時間が決まってしまう。だがこれを細かく分割して、その中でなるべく処理すれば、より高速な記憶装置が利用できるから、処理性能が上がることになる。
図5-3 CPU内~仮想メモリー(ストレージ)の階層
これはCPUの内部でも同じ話である。CPUの場合は図5-3のような構成になるだろう。1番下にHDD/SSDがあるのは、昨今のx86 CPUでは間違いなく仮想メモリーをサポートしたOS上で動作するので、プログラムから見ればメモリーとHDD(仮想メモリー)はほぼ等価である。
もちろん速度は大違いだ。毎回CPUがストレージにアクセスしていたら、例えSSDであろうとも、その動作ははてしなく遅くなる。そこで、HDDなりSSDから内容をメモリー上に展開して、普段はそこへアクセスする。しかしこれでもまだ遅いので、そのうち一部をオフチップキャッシュに、さらにその一部をオンチップキャッシュにそれぞれ展開し、その中で今まさに処理に利用するもののみを、レジスターに移してアクセスするわけだ。
この図式からもわかるとおり、必要なデータの移し変えをうまくやれば、必ずしも巨大なキャッシュをCPU内部に持つ必要はないことになる。
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第881回
PC
同一周波数で消費電力18%削減! 進化した「Intel 18A-P」はどこが変わったのか? -
第880回
PC
次世代NVLinkの布石か? TSMCの光電融合技術「COUPE」がもたらすAIサーバーの光接続 -
第879回
PC
なぜAIには「光」が必要なのか? NVIDIAが解説するスケールアップネットワークの低遅延・省電力化戦略 -
第878回
PC
もはや銅配線は限界? 3200Gイーサネット実現に立ちはだかる200GT/秒の壁 -
第877回
PC
「不良品ゼロ」と「水冷NG」の狭間で。ルネサスが明かした車載チップレットSoCのリアル -
第876回
PC
このままではメモリーが燃える! HBM4/5世代に向けた電力供給の限界と、Samsungが示すパッケージ協調設計の解 -
第875回
PC
1000A超のAIプロセッサーをどう動かすか? Googleが実践する垂直給電(VPD)の最前線 -
第874回
PC
AIの未来は「電力」で決まる? 巨大GPUを支える裏面給電とパッケージ革命 -
第873回
PC
「銅配線はまだ重要か? 答えはYesだ」 NVIDIA CEOジェンスンが語った2028年ロードマップとNVLink 8の衝撃 -
第872回
PC
NVIDIAのRubin UltraとKyber Rackの深層 プロトタイプから露見した設計刷新とNVLinkの物理的限界 -
第871回
PC
GTC 2026激震! 突如現れたGroq 3と消えたRubin CPX。NVIDIAの推論戦略を激変させたTSMCの逼迫とメモリー高騰 - この連載の一覧へ











