キャッシュを制するものはCPUを制す(その2)





その1では、現状ではキャッシュ+DRAMという組み合わせが、現実的なプライスで パソコンを構成する唯一の方法であることを述べた。 しかし、CPUの駆動周波数とDRAMの駆動周波数が乖離する現象は、 今後拡大することはあっても縮小することはないと思われる。 何か良い対策はないのであろうか?

たるさんでも考え得る候補を下記に示してみよう。

部分的な改良
1.メモリチップのレイテンシ改善
2.チップセットのレイテンシ改善

抜本的な改善
3.大容量低レイテンシメモリの開発とプリント基板に代わる高密度実装法の開発
4.プリフェッチ機構の開発

  
●1.メモリチップのレイテンシ改善   
まず1.について考えてみよう。
まず、この方法はFSB改善には効果がない。その事を前提にして欲しい。 SDRAMをセットするに当たり、CL=3とCL=2で実効性能にほとんど差が出ない ことはよく知られている。 つまり1.のメモリチップのレイテンシ改善を単独で行ったとしても、 チップセットのレイテンシに足を引っ張られてしまうという事だ。

もちろん1T-SRAMの様にSDRAM比1/6という低レイテンシを達成したメモリもある。 しかし、チップセットのレイテンシがメモリのレイテンシと同程度とするならば、 もし仮にメモリのレイテンシが0となっても、トータルでは1/2にしか 改善されないということを意味する。

現状で1T-SRAMがパソコン用にリリースされたとしても、その効果は 限定的となってしまうことは想像に難くない。
  
●2.チップセットのレイテンシ改善   
では2.はどうだろうか?
実は2.を実現する方針のチップがある。AMDの次世代CPUハマーである。 えっ、ハマーはチップセットではなくて、CPUだろうって?

その通り、CPUである。ハマーの偉いところはチップセットとCPUが別チップ である限りはレイテンシの削減は不可能であると見抜き、CPUに一部の ノースブリッジ機能を内蔵させた事にある。 これにより、ハマーはキャッシュミス時の レイテンシ大幅削減に成功しているのである。

ただし、肝心のDRAMが高レイテンシでは、実力を発揮できない。 CPUから見たレイテンシとはチップセットのレイテンシ+メモリのレイテンシ である事を忘れてはならない。 極めて野心的なアーキテクチャではあるが、現状ではその潜在能力を 生かし切ることはできないだろう。

では、1.2.の技術を同時に用いたらどうであろうか?
実は低FSBの問題を別にすれば、現状ではかなり最適解に近くなる。 つまり、ハマー+低レイテンシメモリの組み合わせは、 パソコンメモリシステムに一石を投じる可能性があると言うことだ。

ただし、FSBが改善されない事をなめてはいけない。 CPUとメモリの周波数の乖離はそのままなのである。 従って、CPUの周波数向上に伴い、いずれこの問題は再燃するだろう。

●3.大容量低レイテンシメモリの開発とプリント基板に代わる高密度実装法の開発   
今度は3.について考えてみよう。
これは、すべてを抜本的に解決する方法である。 実現できればすばらしいのだが、まず、「言うは易く行うは難し」の典型例 であろう。

今でも、DRAMに代わる高性能高容量メモリの開発は続けられている。 ざっと思いつくだけでも、FeRAM、MRAM、相転移RAM、等がある。

しかし潜在能力は高いとしても、現状での格差は大きく、 今すぐDRAMを置き換えられるものではない。 DRAMは数々の他メモリを抑えてメモリ界の帝王となった。 DRAMを追う新メモリにとって、集積度、アクセスタイム、信頼性、 価格、消費電力など、そのハードルは意外に高い。

しかも、もし仮に新メモリが開発されたとしても、マウント方法が 高周波対応とならなければ、すべてが水泡に帰すのである。

CPUとメモリのマウント方法を現状のガラスエポキシ基板とした場合、 基板自体が高いFSB周波数に耐えられないため、 接続方法を根本的に考え直さねばならない。 DRDRAMがPentium4に採用された時、ガラスエポキシ基板の層数を4層から6層に しなければならないという問題が発生したことがあった。 この時でさえマザーボード価格のコストUPにつながり、DRDRAMの高価格と相まって、 Pentium4の人気はいやが上にも盛り下がったのである。

しかし、低レイテンシメモリの接続はDRDRAMの比ではない。 たった400MHz駆動のDRDRAMでさえこのザマである。 FSBが1GHzともなれば、その苦労は計り知れないであろう。

基板技術というと、一見、半導体技術に比べてローテクの様に感じられる。 しかし、高周波駆動可能で、価格が安く、高信頼性で、 高密度実装可能な基板というのは、半導体技術以上のハイテクを要求する のである。

そんなバカなと思われるかもしれない。 しかし、スーパーコンピュータにおけるセラミック・ガラス・ コンポジット基板と、テフロン基板、アルミナ基板以外に、 この分野で実用化された基板が無いという事実が、 その難しさを如実に物語っている。 (しかも、これらの基板は性能面では優れているが、 価格面でガラスエポキシ基板にかなわない。) だから、その実現には今しばらくの時間がかかるものと思われる。
  
●4.プリフェッチ機構の開発   
では、4.はどうであろうか?
プリフェッチというのは、メインメモリ上にある必要な情報を、事前に アクセスすることでレイテンシ0で入手しようとする技術である。 つまり、プリフェッチの予測機構が高いヒット率を持つ限り、 メインメモリのレイテンシを気にしなくて良いと言うことだ。

もちろん、CPUと周波数の乖離が大きくなればなるほど、プリフェッチ機構が メインメモリにアクセスしている最中に、次のアクセス要求が来る可能性は高くなる。 従って、プリフェッチ機構を使用することでレイテンシを低減しようとする場合、 キャッシュがメインメモリへのアクセスを減らすことと、メインメモリが 素早くアクセスを終了させることが重要となる。

メインメモリが素早くアクセスを終了させる事はすでに目星がついていると言えよう。 現代の高速メモリは、レテンシこそ大きいものの、バンド幅は 極めて高くなっているからである。 アクセスのバッティングは、アクセス終了までの時間間隔を縮める事が重要だから、 例えレイテンシが大きくても、バンド幅が高ければカバーできるのだ。 この点が、キャッシュミスによるCPUのパイプラインストールとは 事情の異なるところだ。

だから、あと重要なのはキャッシュによってメインメモリへのアクセス頻度を プリフェッチの障害にならないレベルにまで下げることである。 キャッシュではカバーしきれないメインメモリへのアクセスが プリフェッチ機構の導入を招いたわけであるが、そのプリフェッチ機構が キャッシュの助力を必要とする事実は興味深い。

キャッシュでカバーできないアクセスをプリフェッチで行うために、 キャッシュでできる範囲はキャッシュ自身で確実にやり遂げる必要があるわけである。 両者は相補的な関係であると言えるのではなかろうか?

と言うわけで、プリフェッチ機構の発達に期待しているたるさんなのであるが、 そのためにはキャッシュ自身の性能向上も地味ながら 確実に行ってゆく必要があると言えるのだ。

CPUとメインメモリとの周波数の乖離をキャッシュで埋めるのは、 限界に達したと言われて久しい。しかし、これを新技術で乗り越える場合にも、 やはりキャッシュの能力向上が欠かせないのである。 今日でも、「キャッシュを制するものはCPUを制す。」 と言えるのでは無かろうか?