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

なぜXbox 360は45nm化でPS3に後れを取ったのか



●ゲームのためのメモリ帯域がコスト削減の障壁となる

 Microsoftは新Xbox 360 250GB(Valhalla)で、CPUとGPUを統合するフュージョン型のプロセッサへと移行した。メインの2つのチップを1つにまとめることで、Xbox 360の低コスト化、省スペース化、低消費電力化を実現する。XCPU(Xbox 360のCPU)とXGPU(Xbox 360のGPU)をワンチップに統合したことで、Xbox 360はハードウェア的にも新しいステージに入った。

 しかし、Xbox 360の45nm化は簡単ではなかった。ライバルPLAYSTATION 3(PS3)が45nm版Cell B.E.搭載のスリム筐体マシンへと移行したのは2009年9月。Xbox 360の45nm化は約6カ月遅れた。それは、Xbox 360の場合はチップの統合化をしなければ、45nmプロセスに移行しても経済的なチップにならないからだ。それは、Xbox 360のアーキテクチャの優位性のトレードオフでもある。

Xbox 360システムの進化
PDF版はこちら
Xbox 360のプロセス移行
PDF版はこちら

 Xbox 360では、ゲームマシンに求められる優れたグラフィックス性能のために必要なメモリ帯域と、家電として求められる低コストの両立のために、特殊なメモリアーキテクチャを採用した。通常は、メモリ帯域を広く取ろうとすると、外付けのDRAMメモリへのインターフェイス幅を広く取る必要がある。そうすると搭載DRAMの個数も増やさねばならず、製造コストが押し上げられてしまい、将来のコストダウンも効きにくくなる。例えば、512-bit幅のメモリインターフェイスを採用すると、GDDR3でも100GB/secのメモリ帯域を実現できるが、一般的なDRAMは通常32-bit幅インターフェイスまでなので、16個ものDRAMチップが必要となってしまう。

 そこで、Xbox 360ではGPUにカスタムのeDRAMメモリチップをオンパッケージで載せることで、この問題を解決した。カスタムeDRAMチップで高速転送を実現することで、メモリチップ個数を抑えながら超広帯域メモリを実現するというアイデアだ。

●GPUのピクセルプロセッシングをeDRAM側に移す

 Xbox 360のXGPUのパッケージの中に搭載されているeDRAMは、単なるメモリではなく、インテリジェントメモリとなっている。80M-bit(10MB)のマルチバンク化されたeDRAMに加えて、固定機能のピクセル処理プロセッサを合計で192個混載している。このプロセッサで、アルファ/Z/マルチサンプルアンチエイリアシングといった、いわゆるROPの処理を行なう。

Xbox 360 GPUブロック図
PDF版はこちら

 アルファやZテスト、アンチエイリアシングといった処理は、メモリアクセスが頻発するため、メモリ帯域への負担が大きい。そこで、Xbox 360では、ピクセル処理プロセッサ群とeDRAMブロックの間を、チップ内の超広帯域インターフェイスで結んでいる。eDRAMへのチップ内部のメモリ帯域は256GB/secと極めて広い。こうしたインテリジェントグラフィックスメモリは、以前、三菱電機が製品化していたが、Xbox 360は類似の技術のメモリをGPUとパッケージ内に納めることで、より有効な技術にした。

 XGPU本体とeDRAM+ピクセルプロセッサチップは、サブストレート上で専用インターフェイス「HSIO」で接続されている。チップ間のインターコネクト帯域は32GB/secと、相対的に広いため、無理なくGPUからeDRAMチップへとピクセルデータの転送ができる。

 しかし、このHSIOは広帯域であるため、インターフェイス幅が比較的広く、ピン数もそれなりに多い。オンパッケージで2Gbpsでインターフェイスを駆動するとしても、128-bit幅になる。下は、2005年にCPUカンファレンスHotChipsで公開されたXGPUのダイ写真だ。これを見ればわかるとおり、XGPU本体とeDRAMチップの両方とも、かなりのエッジ長をHSIOに割いている。XGPU本体は2エッジをGDDR3インターフェイスに、1エッジをHSIOに割り当てている。

Xbox 360 GPUダイ

●45nmプロセス化でのMicrosoftの2つの選択肢

 eDRAMによるメモリ帯域の拡張は、ゲームコンソールのグラフィックスでは極めて有効だ。しかし、そのために、Xbox 360はチップの微細化で困難を抱えてしまった。メインチップを微細化するにつれて、eDRAMをどうするかを考慮しなければならないからだ。

 PS3を産み出した、ソニー・コンピュータエンタテインメント(SCE)の久夛良木健氏(現ソニー・コンピュータエンタテインメント名誉会長)は、以前、Xbox 360のeDRAMについて、将来の微細化の際に障壁になる可能性があると指摘していた。Microsoftはその通りの状況になっていたと推測される。

 まず、そもそも、メインプロセッサ回りで、CPUとGPU、それにeDRAMの3チップがあることは、製造コストを押し上げる。チップダイコストだけでなく、アセンブリやテストのコストが上がるからだ。また、XGPUチップを微細化で小さくして行くと、インターフェイスのためのパッド領域が確保しにくくなってしまう問題もある。XGPUは、128-bit幅のGDDR3インターフェイスの他に、eDRAMのインターフェイス、そしてXCPUと結ぶFSB、サウスブリッジチップとのPCI Expressなどを備える。45nmプロセスでチップ面積が100平方mmを切るようになると、これら全てのインターフェイスを低コストに実装できるパッド配置が難しくなり始める。

 こうした事情から、Microsoftは45nm化に当たって、チップの統合化を始めから考えていたと推測される。しかし、Microsoftには、45nmでのチップ統合化で2つの選択肢があった。CPUとGPUを統合するか、GPUとeDRAMを統合するか、この2つの選択だ。

Xbox 360の進化の選択肢
PDF版はこちら

●GPUにeDRAMを統合する可能性にも触れる

 GPU側にeDRAMを内蔵しても、パッド問題の解決と低コスト、低消費電力化などを実現できる。実際、初代Xbox 360のGPUについて、開発元だったATI Technologies(現AMD)が2005年のE3で開いた説明会では、将来的にeDRAMをGPUに取りこむ可能性にも触れた。当初は、eDRAM統合も検討していた可能性がある。しかし、これは簡単には行かない。

 それは、容量密度の高いeDRAMは、高速ロジックチップとの相性が悪いからだ。チップ製造コストが上がったり、歩留まりに影響を与える可能性もある。また、製造できるファウンドリも限られる。実際、Xbox 360のeDRAMは、ロジックプロセスのファウンドリとしてはPCの世界では決して強くはないNECの製造だった。

 Microsoftは、優れたeDRAM技術を持つIBM Fab(ハイエンドCPU Power7にeDRAMキャッシュを搭載した)を使って、eDRAM統合XGPUを製造するという選択肢も持つ。しかし、その場合はNECチップのIPをIBMプロセスに移植しなければならない。その場合のIP権利の関係がどうなっているかはわからない。また、製造できるFabが限られるため、XCPUで行なったようなFabのマイグレーション(IBM→Chartered)も難しくなる。

 いずれにせよ、やっかい事が多いのが、XGPUへのeDRAMの統合だ。MicrosoftはそのためにXCPUとXGPUの統合を選んだと見られる。

新型Xbox 360のXCGPU ヒートスプレッダを外した状態

 XCPUとXGPUを統合したXCGPUは、チップパッケージのプリントから推定するとIBMで製造されていると見られる。もともとTSMCの高速ロジックプロセスで製造されていたXGPUを、同じく高速ロジックを得意とするIBMに移すことは比較的容易だろう。カスタム回路設計やプロセスへのチューニングを含むと見られるCPUコアをIBM SOI(silicon-on-insulator)プロセスからTSMCに移すより、バルクCMOSのスタンダードセルのGPUをIBMに移す方が相対的に楽だと推測される。

 ちなみに、XCPUの製造をIBMからCharteredに移すことができたのは、CharteredがIBMのプロセス技術開発連合(Joint Development Alliance:JDA)の1社であり、プロセス技術のベースを共有しているからだ。同じ理由で、IBMからGLOBALFOUNDRIESに製造を移転することも、比較的容易だ。IBMのJDAのおかげで、Microsoftは広いファウンドリの選択肢を持つことが可能だ。

Xbox 360システム図
PDF版はこちら
Xbox 360のバス帯域
PDF版はこちら

●Xbox 360とPS3に共通する悩みは製造コスト低減

 微細化と統合化によって、Xbox 360の製造コスト削減を図るMicrosoft。しかし、純粋に半導体のコストで見ると、Xbox 360のコスト低減は目覚ましいとは言えない。これは、Xbox 360だけでなくPLAYSTATION 3(PS3)にも共通している。このことは、PlayStation 2(PS2)のメインチップと比較するとよくわかる。

 PlayStation 2(PS2)では、最初の250nm(0.25μm)プロセスではCPU「Emotion Engine(EE)」とGPU「Graphics Synthesizer(GS)」ともに200平方mm台の巨大チップだった。しかし、5年後にプロセスノードが3世代進んだ90nmになると、GSとEEをワンチップに統合して86平方mmにまでダイサイズが縮小した。元のEEとGSから約1/6に小型化したことになる。PS2の価格を大きく引き下げながら、ハードウェアで充分な利益を上げることができた最大の理由はここにある。

 しかし、Xbox 360とPS3は、どちらもPS2ほどの急激なチップコストの低減は見込みにくい。IBM 90nmプロセスでのXCPUのダイサイズ(半導体本体の面積)は168平方mmだが、これは65nmプロセスになっても70%台までにしか縮小しなかった。そして、プロセスノードが2世代進んだ45nmでは、XCPUとXGPUを合わせて168平方mm程度のサイズになった。XCGPUの半分をXCPUと見積もるなら、90nm世代から50%程度にしか縮小していないことになる。ムーアの法則から期待できるダイサイズの低減は1世代で50%なので、2世代で50%ということは半分のペースだ。つまり、チップが期待されるほど小さくなっていない。

Xbox 360とCell B.E.とEEのシュリンク
PDF版はこちら

 面白いのは、PS3のCell B.E.のダイ縮小もほぼ同じペースであることだ。初代90nmプロセスのCell B.E.(235.48平方mm)から、次の65nm世代で約70%台にシュリンクし、45nm世代でようやく約半分になった。微細化によるシュリンクが効きにくい理由はさまざまだが、高速I/Oの部分が微細化しにくいことの影響は大きい。少なくともCell B.E.の場合は、それが大きく影響している。

 こうして見ると、Xbox 360とPS3のどちらも、微細化によるチップコスト低減は、PS2の時のペースにははるかに及ばない。にも関わらずコストが大きく下がったと見られるのは、消費電力が下がったことで、CPUに付帯する排熱や電力設計などのコストが下がった要素が大きいと推定される。つまり、今世代ゲームコンソールは、最初に消費電力が大きく、排熱と静音とEMIと電力供給に膨大なコストがかかっていたので、微細化によるコスト低減が大きく見えるわけだ。

●簡単ではないプロセス世代毎の電力削減

 もっとも、プロセス世代毎の電力低減も、実は、簡単には行っていない。微細化しただけでは、電源電圧もほとんどスケールダウンしないし、リーク電流(Leakage)は増える一方なので、電力が一向に下がらないからだ。論文が公開されているCell B.E.を見ると、回路設計や低電圧駆動化などさまざまなテクニックを駆使して、ようやく各世代30%ずつの低消費電力化を成し遂げている。

 例えば、電源電圧(Vdd)を下げるために、SRAMセルアレイに対して電源電圧(Vdd)とは別なSRAM電圧(Vcs)を導入した。SRAMの安定性を保ちながら、低電圧駆動を可能にするためだ。SRAMセルには超高しきい電圧トランジスタが使われている。また、回路のほとんどは電力効率のいいスタティック回路になった。リーク電流(Leakage)の少ない高しきい電圧(High Vt)のトランジスタの使用をデフォルトとし、通常しきい電圧(Regular Vt)トランジスタの使用はクリティカルパスのみに限定した。

 こうした省電力技術を駆使した上で、PS3では同じ動作周波数でCell B.E.を駆動しながら、電源電圧を下げてTDP(Thermal Design Power:熱設計消費電力)を、1ランクずつ下げていった。言ってみれば、90nm版Cell B.E.は通常電圧版、65nm版Cell B.E.はSFF(Small Form Factor)版、45nm版Cell B.E.はLV(低電圧)版のようになっている。おそらく、Xbox 360も似たような工夫をしていると推測される。

Memcon07で示されたXbox 360 CPUの資料

 ちなみに、Xbox 360の場合は、最初はかなり乱暴なテクニックで、電力消費を犠牲にして歩留まりを上げていた。具体的には、規定電圧でターゲット動作周波数に達しないXCPUは、電圧を上げて周波数を上げるといった手法を取っていた。周波数歩留まりを上げるためだ。この事実は、2007年のメモリカンファレンス「Memcon」でIBMによって明かされたが、そのため、Xbox 360は個体によって電力がかなり異なっていた可能性がある。無理をしたために、消費電力が大きかったのが、第1世代のXbox 360だった。

 チップのダイコストは以前ほど下がらず、消費電力の低減は、知恵を絞ってようやく30%ずつ達成できるレベル。前世代のように、うまく半導体のスケールダウンを利用すれば、簡単に低コスト化と低電力化を達成できた時代は終わった。電力消費の低減も、以前と比べると緩やかなペースだ。CMOSのスケーリング則が揺らいでいる影響が、ゲームコンソールにも出ていると見ることもできる。

●現行世代マシンのカンフル剤としてKinectが必要

 電力消費の低減の問題は、実は、ダイのシュリンクの問題にも関係している。電力消費が大きいチップは、不用意にシュリンクすると、電力密度(Power Density)が上がってしまい、低コストに排熱ができなくなる。電力を30%しか削減できなければ、ダイサイズを30%以上削減すると、電力密度が上がってしまう。熱も、ダイシュリンクの際の障壁となっていると考えられる。Cell B.E.が、プロセス世代毎に、約30%ずつ電力を下げ、約30%ずつダイを小さくしているのは偶然ではなさそうだ。同じことは、おそらくXCPUにも当てはまりそうだ。

 いずれにせよ、現在は、チップのダイコストは以前ほど低減しない。しかし、チップコストは、製品のライフサイクルの後半になると大きな比重を占め始める。そのため、コストへは、徐々に影響が出てくる。また、今世代は、Xbox 360とPS3のどちらもHDD搭載必須か、HDD搭載版が主流であるため、HDDレスが基本のPS2のようなコスト低減カーブは描けない。HDDのコストは半導体のようには下がらないからだ。

 こうした事情から、少なくともMicrosoftとSCEは、簡単に次の世代を開発して移行しにくい状況にあると見られる。以前なら、ゲームコンソールを出して5年も経てば、製造コストはギリギリにまで下がった。すると、現行世代をバリュー機として維持したまま、次世代機を投入することができた。しかし、今回は、まだしばらくは現行世代のコストがボトムにまで下がらない。つまり、現行世代側が、まだしばらくは、世代交代の準備が整っていない。

 そのため、Microsoftとソニー・コンピュータエンタテインメント(SCE)の2社は、現世代ゲームコンソールのより長い延命を図ると推測される。有効な手段は、現世代機に何らかの付加価値を加えて、リフレッシュをかけることだ。

 そう考えると、MicrosoftとSCEの現在の戦略も納得ができる。両社とも、ユーザーインターフェイスの改革で、現行機をリフレッシュしようとしているからだ。SCEは立体視もテコにしようとしている。いずれにせよ、ロジカルな選択としてはカンフル剤で現行マシンの魅力を維持して持たせておいて、現行機のコスト低減を平行して進めることになるだろう。そのためにも、MicrosoftはKinect、SCEはPlayStation Moveのユーザーインターフェイス拡張を成功させなければならない。

 また、こうした事情を考えると、SCEの次世代機のプランとして、現行マシンの拡張版的なアイデアがウワサに上がってきた理由もよくわかる。従来の世代交代のメソッドが効きにくいのなら、現行機のアーキテクチャを拡張して、資産を引き継ぐというアイデアが合理的だからだ。