後藤弘茂のWeekly海外ニュース

Prescottは64bitアドレッシングを実装?




●Prescottのサーバー版Potomacはアドレス機能を拡張する

 Intelは次世代CPU「Prescott(プレスコット)」系コアで、メモリアドレス機能の拡張の実装を計画している。Intelの現在のIA-32 CPUは、64GBの物理メモリまでしかアクセスできない。つまり、DRAM容量が増えて64GBを超えるメモリを搭載できるようになっても、CPUがアクセスできない。しかし、Prescottでは、64GBより上、おそらく40bit=1TB(テラバイト)の物理メモリアドレス機能を備えると推定される。つまり、Prescott以降のIntel CPUは、アーキテクチャ的には1TBのメモリを搭載できると思われる。そして、このアドレス機能拡張は、64bit拡張「Yamhill(ヤムヒル)」である可能性もある。

 Prescottファミリにはデュアルプロセッサ版「Nocona(ノコーナ)」とマルチプロセッサ版「Potomac(ポトマック)」がある。このうち、少なくともPotomacでは、新アドレス拡張機能が“イネーブル”にされることは確実だ。というのは、Intelが2004年後半のPotomac向けに計画している4way対応チップセット「Twin Castle(ツインキャッスル)」で、128GBまでのメモリ容量をサポートしようとしているからだ。

 Twin Castleは8チャネルメモリ型のチップセットと見られ、最大で32DIMM、1Gbit DRAMで最大128GBを搭載できるという。サーバー向けのRegistered DIMMの場合最大32DRAMチップを搭載できる。そのため、1Gbitチップの場合1DIMMの容量は4GBになる。1チャネル4DIMMとすると、1チャネル当たりの容量は最大16GB。だから、8チャネルチップセットの場合、システムの最大搭載容量は128GBになる。1Gbitチップは現在複数ダイを積層した「Stacked Die」から、ワンチップ製品への移行期で、2004年にはサーバー向けではポピュラーなチップになると見られている。つまり、4wayサーバーでは、128GB化は避けられない道なのだ。

●Intelのアドレス拡張の周期は8~10年?

ムーアの法則とメモリアドレス空間の関係
PDF版はこちら
 現在のIntelのIA-32系CPUは、「PAE(Physical Address Extention) 36」によるページングで、32bit CPUコアで36bitまでのメモリアドレスを可能にしている。PAE 36では、仮想メモリ空間は32bit(4GB)のままだが、物理メモリ空間は36bit(64GB)に拡張される。そのため、OS/チップセットが対応していれば、64GBまでのメモリを搭載してもアクセスができる。

 しかし、Twin Castleがサポートするメモリ搭載量は128GBなので、Twin Castleに対応するCPUでは、明瞭にPAE以上のメモリアドレス機能が必要になる。だから、PotomacがPAE 36以上のアドレス機能を備えるのは確実だ。そして、CPUコア部分のデザインが同じと見られるPrescott/Noconaにも、その機能が搭載されている(イネーブルにされるかどうかはわからないが)と考えるのが自然だろう。

 Prescott世代でメモリアドレス機能を拡張するのは、Intelのアドレス拡張の周期とも一致している。Intelは、CPUのメモリアドレス機能を8~10年毎に拡張するからだ。前回のメモリアドレス機能の拡張は'95年のPentium ProのPAE 36で、その前の大幅な拡張は'85年のIntel 386の32bitだった。つまり、386→Pentium Proでは、10年で4bit拡張した。

 これには理由がある。それは「ムーアの法則」が生きているからだ。ムーアの法則により半導体デバイスの集積度は2年毎に2倍になっていく。そのため「(DRAM容量は)約2年毎に2倍になり、(CPUには)2年毎に1bit分のアドレス能力が必要となる」とIntelのPatrick Gelsinger(パット・ゲルシンガー)CTO兼上級副社長は説明する。Intelは'95年にはPAE36で4bit分アドレス機能を拡張した。つまり、4bit×2年=8年分伸ばしたことになる。そうすると、計算上、今度は2003年に再びアドレス機能を拡張しなければならないことになる。

 こうして見ると、2003~2004年が、IntelにとってIA-32系CPUのアドレス機能を拡張する節目の年であるのがわかる。Prescottでアドレス機能を拡張するのは、意外な展開でも何でもない、必然なのだ。


●PrescottはYamhillを実装?

 そうなると、あとはPrescottコアに実装されるアドレス拡張機能の内容だ。まず、物理アドレスをどれだけ拡張するか。これは前回同様に4bit程度と考えるのが自然だ。4bitアドレスを拡張すれば、計算上、8年アーキテクチャを延命できるからだ。

 IntelのCPUアーキテクチャの開発サイクルは4年。つまり、4bit伸ばすことは、CPUアーキテクチャで2世代分カバーできることを意味する。実際、8年なら、Prescott/Tejas(テハス)系だけでなく、その次のNehalem(ネハレム)系CPUもカバーできる。Nehalemの次のアーキテクチャ世代の中盤までは40bitで保たせることができる。

 実際、AMDのHammerアーキテクチャも、物理アドレスは40bit。それを考えると、4bit拡張した40bitというあたりが妥当な線だろう。40bitなら1TBまでのメモリ容量をサポートできる。

 問題は、仮想アドレス空間だ。現行のPAEのようなアプローチを取るなら仮想アドレス空間は32bitのまま、物理的にサポートできるメモリ空間を広げることになる。この方法の問題点は、OSは1TBまでの物理メモリにアクセスできるようになるが、リニアには取れないため、アプリケーションの使うメモリ空間は3GBに制約されることだ。Windowsでは「Address Windowing Extension (AWE) API」を通じてアプリケーションがアドレスを拡張する道があるが、AMDのDirk Meyer(ダーク・メイヤー)上級副社長(Senior Vice President、Computation Products Group)は「PAEでは特別なコーディングが必要で、オーバーヘッドも大きいので誰も使わない」と指摘している。

 つまり、PAEは少なくとも、データベースのように大きな仮想メモリを求めるアプリケーションには向いていないことになる。だから、大きな仮想メモリを必要とするアプリケーションが増えていくと、8年後までPAEタイプの拡張で行けるかどうかはかなり微妙だ。ユーザーが、64bit(仮想メモリ空間は実際には48bit程度)拡張を切に求め、それがAMDの64bitアーキテクチャ「AMD64(x86-64)」を後押ししてしまうかもしれない。

 そう考えると、慎重なIntelが、拡張PAEタイプの選択肢だけしか実装しないとは思えない。自然なのは、むしろ64bit拡張を実装する方だろう。Intelは拡張版PAEとYamhillと両方を実装し、状況に応じてYamhillをイネーブル(停止)して来るのかもしれない。

□関連記事
【5月2日】AMDのサーバー進出に対抗するIntelの対Opteron戦略
http://pc.watch.impress.co.jp/docs/2003/0502/kaigai01.htm

バックナンバー

(2003年5月6日)

[Reported by 後藤 弘茂(Hiroshige Goto)]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp 個別にご回答することはいたしかねます。

Copyright (c) 2003 Impress Corporation All rights reserved.