●Rambusの技術で配線が整然としたPS3マザーボード
ソニー・コンピュータエンタテインメント(SCE)のPLAYSTATION 3(PS3)ハードに見えるのは、高コストをかけても、スマートに筐体に入れ込もうという思想だ。PCの世界では考えられない冷却システムを搭載し、基板もコストをかけてすっきりとまとめている。デザイン優先でハード設計が難しそうな筐体に、ドライブや電源も積み木細工のように巧妙にはまっている。製造/開発コストは高いが、完成度も高い美しいシステムだ。 PS3のマザーボードは、心臓部であるCPU「Cell Broadband Engine(Cell)」と、GPU「RSX(Reality Synthesizer)」を中央に配置し、巨大な冷却機構をかぶせた構造となっている。基板自体は、コンデンサとコイルが並ぶXbox 360のマザーボードと比べると、整然としている。もっとも、チップ自体はXbox 360よりPS3の方が多い。PS3用のチップセットだけでなく、PS2チップも搭載するためだ。
基板が整然としている理由の1つは、PS3が採用したRambusの新しいバス技術にある。PS3は、RDRAMのメモリ「XDR DRAM(Yellowstone)」とI/O技術「FlexIO(Redwood)」を採用している。どちらもパラレル伝送技術だが、ピン間の伝送タイミングのずれであるスキューを解決する特殊な技術を使っている。インターフェイスの伝搬遅延に合わせて、各ピン毎に異なるタイミングでデータの伝送を行なう。 そのため、各ピン間の配線長を厳密に等しくしてスキューをなくす「等長配線」の必要がない。等長配線を行なうと、配線を複雑に曲折させて長さを無理矢理合わせなければならない。しかし、XDR DRAMとFlexIOではそうした必要がなく、配線数も少ないため、CellとRSXの間、CellとXDR DRAMまたはI/Oチップの間の配線は非常にすっきりとしている。 一方、Xbox 360のマザーボードを見ると、Xbox 360 GPU(Xenos)とメインメモリであるGDDR3の間の配線が非常に複雑になっていることがよくわかる。これは、128bit幅で結ぶGDDR3が等長配線を必要とするからだ。
もっとも、実際には、PS3も、等長配線が必要なDDR3メモリをRSXのグラフィックスメモリとして載せている。しかし、PS3ではDDR3メモリはRSXと同じサブストレートに載せて、配線はその上で行なっている。そのため、マザーボード上にGDDR3の複雑な配線がない。モバイルGPUでよくある、DRAMを載せたパッケージと同じスタイルだ。 ●G80と比べると半分の規模のRSXチップ SCEがGPUでこうしたパッケージ技術を使ったことは、将来的にビデオメモリDRAMの個数を減らす可能性も示唆している。現在512Mbit品のGDDR3 4個で構成しているビデオメモリを、プロセスの微細化によって1Gbit品2個に減らすと、標準品ならメモリ帯域が減ってしまう。GDDR系はx32までしかないから、DRAMインターフェイスが128bit幅から64bit幅に半減してしまうからだ。しかし、同サブストレートに載せて配線するなら、Xbox 360 GPUのように専用の広幅高速インターフェイスでDRAMを接続することも容易になる。PS3が数千万台単位で出荷されるようになれば、そうしたメモリ個数の削減も可能になる。 RSXのダイサイズ(半導体本体の面積)は、約280平方mm程度と予想より少しだけ大きかった。200平方mmを切るXbox 360 GPU(Xenos)より二回りほど大きい。ただし、XenosはeDRAMチップをオンパッケージに載せているため、コスト的にRSXよりそれほど有利ではない。また、次のバージョンのXbox 360 GPUが、eDRAMをワンチップに統合した場合は、ダイサイズ的にはRSXとそれほど大きな違いがなくなる。
CellもXbox 360 GPUとほぼ同サイズなので、RSXはCPUであるCellよりも大きい。つまり、PS3の中でもっとも大きなチップということになる。それでも、RSXは、同じNVIDIA設計のGPU「GeForce 8800(G80)」と比べると半分程度のダイサイズとトランジスタ数だ。つまり、PCグラフィックスの最先端と比べると、約半分の規模となる。これは、PC向けGPUの肥大化がまだ止まらないからで、RSXは追い抜かれてしまった。 アーキテクチャも同様だ。RSXはG80のようにシェーダコンピューティングインテンシブなアプリに最適化された設計ではなく、ベースとなったNV40/G70系(GeForce 6/7)と同様、テクスチャアクセスが比較的多いシェーダプログラムに適した設計となっている。実装するフィーチャもDirectX 9相当でDirectX 10相当ではない。つまり、テクノロジ的にはこれまでのPC GPUの最先端と同レベルだが、今後のGPUの最先端と比べると見劣りがする。3DグラフィックステクノロジではPCが有利というこれまでの状況に変わりはない。
ちなみに、SCEは当初550MHzで走らせるはずだったRSXを500MHzに落としたと言われる。約10%のスペックダウンだが、その影響はほとんどないと見られる。それは、RSXで不足しているのはメモリ帯域であって、プロセッシングパフォーマンスではないからだ。GDDRメモリはSamsung ElectronicsのGDDR3 512Mb x32の「K4J52324QC-SC14」。Samsungのカタログにはこれと同じ型番がないが、型番規則からすると1.4Gbps品だと推定される。 ●EE/GSワンチップとRDRAMを搭載
PS3の基板で目立つのは、PS2の心臓である「EE(Emotion Engine)/GS(Graphics Synthesizer)」チップが載っていること。これは、初代PS2のCPU「EE」とグラフィックスチップ「GS」をワンチップに集積したものだ。基板を見ると、EE/GSとPS3チップセットの間には太いデータバスは通っておらず、EE/GSがPS2タイトルのためだけの、独立したユニットとして実装されていることが基板からもよくわかる。PS2で、PSのチップセット機能を一応I/Oプロセッサとして載せていたのとは話が違う。 EE/GSに直結する2個のRDRAMメモリもそのまま載っている。PS2ゲームを立ち上げた時は、PS2チップセットに処理を渡す格好になると見られる。EE/GSやRDRAMは、言ってみれば、PS3の盲腸、下位互換を取るつもりがなければ全く不要のパーツだ。もちろん、盲腸チップセットがSCEにとって製造コスト増になっていることは言うまでもない。 EE/GSはワンチップに統合したからまだしもだが、RDRAMは初代PS2と同じ2チップ構成のまま。これは、メモリ帯域を維持するために統合化ができないからだ。半導体プロセス技術の微細化のため、RDRAMチップは写真の通り約35平方mm程度のダイへとすっかり小型化している。チップは、ダイサイズ(半導体本体の面積)が小さくなるとダイコストは下がるが、パッケージングなどのコストは変わらない。そのため、この先、ダイサイズ(半導体本体の面積)が一定以下になっても、コストがほとんど下がらない。そもそも、パッドリミットのためにダイサイズ自体は一定以下にシュリンクしなくなる。 しかし、PS2の場合、互換性をソフトウェアだけで取ることは比較的難しいため、しばらくはEE/GSやRDRAMなどは残るだろう。将来的にSCEが取ることができるコスト削減法は、大きく分けて2つ。ソフトウェアエミュレーションへ移行するか、EE/GSをさらに他のチップと統合化してコストダウンを図るか。統合化するとしたら、RDRAMをEE/GSと融合させてeDRAMベースのワンチップにするか、PS3のI/Oチップに統合してしまう、といった選択がある。 いずれにせよ、SCEがPS2との下位互換性をきっちり維持しようとしたら、EE/GSのハード機能を残すことになる。EE/GSを載せても、互換性でこぼれる旧タイトルが出るあたりに、PS2互換の難しさが見える。このPS2互換性もPS3のアラ探しの対象となってしまっているが、互換性の難しさを考えれば悪い成績ではない。
●難しいPS2タイトルの下位互換性の維持 なぜ、PS2タイトルの互換性を完全に実現することが難しいかというと、PS2ではSCEがデベロッパに対してハードウェアをローレベルまで公開してしまったからだ。SCEは初代PSでは、ライブラリである程度までハードを吸収して抽象化、ローレベルへの直接アクセスをほぼ禁止した。ところが、PS2では逆にランタイムライブラリでのハードウェアの抽象化はほとんど行なわず、レジスタマップまで全て見せてしまった。 PS2ではハードは裸に見えるため、ゲームデベロッパは、徹底的にローレベルでハードを叩いて性能を追求した。ドキュメント化されていない部分のグレーな使い方も、最初はかなりあったという。そのため、SCEはローレベルまで全く挙動が同じ動作をするプラットフォームを用意しないと、PS2タイトルの互換性を確保することができない。6年前、PS2の立ち上げを急いだあまり、ソフトウェア開発で近道してしまったツケが、回ってきたとも言える。 複雑なハードをギリギリのタイミングで叩くソフトウェアを、ソフトウェアエミュレータ上で、十分な互換性を確保しながら走らせるのは極めて難しい。あれだけソフトウェアでラップしたXbox上のタイトルでさえ、ソフトウェアエミュレーションのXbox 360では互換を取るのに苦労している。 また、Cellもハードのエミュレーションのような処理には最適なアーキテクチャとは言い難い。エミュレーションをするなら、シリアルタスクが高速なCPUの方が適しているからだ。Cellのように、スレッドレベルの並列性(TLP:Thread-Level Parallelism)とデータレベルの並列性(DLP:Data-Level Parallelism)を徹底的に追求していて、どちらかと言うとシリアルなタスクは比較的低速なCPUは、原理的にはエミュレーションが苦手だ。リアルタイムのバイナリトランスレーションでは、動的にスレッドに分割したりSIMD化して、TLPとDLPを活かすことが難しいからだ。どちらかと言えば、1対1でバイナリトランスレートしたオブジェクトコードを、高速に走らせることができる高クロックまたは高ILP(Instruction-Level Parallelism)のCPUが向いている。 こうした事情から、SCEはEE/GSを載せている。それだけ、PS2互換はやっかいだ。
●巨大なヒートシンクと巨大なファンで効率よく冷却 高速かつ大規模なCellとRSXを載せるPS3で、最大の懸念の1つは熱だった。 ゲームコンソールの場合、熱の問題はPCよりもクリティカルだ。通常のPCよりも筐体サイズが小さく、リビングに置くために騒音を抑える必要があり、家電としてEMI(Electro-Magnetic Interference)も抑える必要があるからだ。排熱、筐体サイズ、騒音、EMIはトレードオフの関係にある。筐体サイズを抑えると、エアフローを確保するためにファンの高速化が必要になりノイズが増える。エアフローのためにエアインテークを増やすと、EMIが家電としての各国の規定値を超えやすい。これらの複合する問題を同時に低コストに解決するのは、かなり難しい。もちろん、チップの動作周波数を抑えてしまえば、発熱は減るのだが、それでは元も子もない。 しかし、実際には難しいのは低コストに解決することであって、コストをかければある程度まではこの問題は解決できる。PCの場合の冷却の問題は、これらの問題を極めて限られた予算で解決しなければならないために生じている。PS3の場合、熱設計やEMI対策にコストをかけることで、スマートに解決している。 PS3では、CPUとGPUのそれぞれのヒートスプレッダから、何本ものヒートパイプで巨大なヒートシンクに熱を伝導。積層型のヒートシンクの中心に直径16cmの大型のファンを据えて冷却している。フィン面積を増やして、そこに高効率のヒートパイプで伝道すれば排熱効率が上がる。ファンは大型にすれば、エアフローを確保しながら騒音を抑えられる。PS3では、このセオリーに忠実に、巨大フィンのヒートシンクと大型ファンを筐体の下面に据えて静音化を図っている。マザーボードにはシールドをかぶせEMIを抑え、開口部は右側面と背面に設けた。
こうしてPS3の全体を眺めると、コストをかけても美しく整然とした設計にするという思想が貫かれていることがわかる。このあたりは、ハードを作り慣れたソニーグループと、ハードは初心者のMicrosoftの違いが見える。もっとも、ソフトウェアスタックや開発環境になると両社の関係は逆転する。 □関連記事 (2006年11月16日) [Reported by 後藤 弘茂(Hiroshige Goto)]
【PC Watchホームページ】
|
|