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

予想を超えるモンスターだったXbox 360のGPU




●GPUのShader演算性能は216GFLOPS

 ロサンゼルスで開催されているE3(Electronic Entertainment Expo)では、Microsoftが次世代ゲームコンソール「Xbox 360(Xenon)」を前面に押し出した。また、Xenonの概要も、いくつか明らかになった。

 まず、明らかになった最大のポイントは、ATI Technologiesが開発したXenonのGPUが予想を大きく超えるモンスターであることだ。

 Xenon GPUのShaderは以前のレポートで48ALUで4wayのベクタユニットの通常のShader 12個分と書いたが、これは間違いだった。実際には48個のShaderユニットを搭載しており、各Shaderがそれぞれ4wayのベクタ演算ユニット1基とスカラ演算ユニット1基を搭載している。これは、R300以降のATIのVertex Shaderと同じ構造を継承している。

 以前、Shader 12個分と計算した根拠は、Shaderのオペレーション性能がMicrosoftのスペック表で48Gops/secとなっていたからだ。各ShaderがSIMDで4wayで毎サイクル8オペレーションとして出した。しかし、Microsoftは、XenonのShaderはそれぞれベクタとスカラの2つのオペレーションを同時にできるため、ベクタで24Gops/sec、スカラで24Gops/sec、この2つを足した数字を記載したという。

 では、正確な演算パフォーマンスはどうなっているのか。ベクタユニットは1サイクルスループットで積和算の2オペレーションが可能、スカラユニットは1サイクルで加算の1オペレーションが可能。そのため1 Shaderで1サイクル当たり最大9の浮動小数点演算オペレーションが可能になる。(4way×2ops)+1ops=9ops/cycleというわけだ。

 Shader個数は48で500MHz動作なのでShaderアレイの演算パフォーマンスは216GFLOPSとなる。9ops/cycle×48units×500MHz=216GFLOPSというわけだ。

 つまり、結論から言えば、Xenon GPUは、かつてないモンスターGPUだ。現在のハイエンドGPUの2倍のShader構成となる。しかも、Shaderはフレキシブルに構成ができる。ただし、Unified-Shaderアレイを効率的に動作させることは、新しいチャレンジとなる。スケジューラベースのShader制御は、今回のXenon GPUが初の試みなのだ。

 ちなみに、Xenon GPUではShaderのスケジューリングは完全にハードウェアベースで行なう。GPU設計では、スケジューリングをハードウェアスケジューラとドライバソフトの組み合わせで行なうことも考えられるが、Xenonは違う。また、ポストShaderのピクセル処理は32系統持つと推定される。

 Microsoft関係者によると、Xenon GPUはNECで製造する。これはeDRAMを使うためで、90nmのeDRAM混載プロセスをXenonは使う。NECのeDRAMプロセスは、通常のDRAMプロセスベースではなく、CMOSロジックプロセスをベースにしたもので、ロジック部分の高速動作が可能となっている。また、NECのeDRAMはSRAMインターフェイスを使う、いわゆる疑似SRAM型のDRAMとなっている。これは、同じNECが製造するGAMECUBEのメディアプロセッサである「Flipper(フリッパ)」に搭載したのと同種のeDRAMだ。GPUコア側から見ると、SRAMと同じように簡単に扱うことが利点だ。

 ちなみに、NECの90nm eDRAMのアクセス性能は、ワースト条件で250MHz。なので、500MHzのGPUコアの1/2クロックとなっている可能性があるが、Microsoft関係者によると、eDRAMは同期だという。いずれにせよ、高速アクセスが可能だ。

Xbox 360のGPU
PDF版はこちら

●計算上は巨大ダイとなるXenon GPU

 XenonのモンスターGPUの最大の懸念は、消費電力(=熱)とダイサイズ(=コスト)だ。

 まず、ダイサイズを考えると、これがかなりの巨大チップになることがわかる。

 過去のATIの現行のGPUではShaderは、Vertex Shaderが6、Pixel Shaderが16の最大で合計22となる。それが、Xenonでは、Shader数は2倍以上になり、さらにPixel Shaderでは24bitと低かった内部演算精度は32bitに揃えられた。つまり、単純に考えれば、Shaderの規模は2倍以上になったことになる。

 90nmになると、0.13μm時と比較して同じダイエリアに2倍のトランジスタ数を載せられるようになる。

 ATI GPUのダイサイズは、0.13μmのRADEON X800(R420)は293平方mm、0.11μmのR430は同じShader数で238平方mm。半分として約146平方mmで、Shader部分は2倍以上になる。Shaderが70%を占めるとするならダイは少なく見ても250平方mm以上となる。さらに、10MB(80Mbit)のeDRAM部分が加わる。

 NECの90nm eDRAMは15mm角(225平方mm)のチップの半分のダイに256Mbitの容量を搭載できるという。そうすると、80MbitのeDRAMは35平方mmのダイエリアに収まることになる。もちろん、バンク構成によってメモリエリアは変わるが、おそらく、Xenon GPUのeDRAMの面積は35平方mmからそれほど大きくは変わらないと推定される。ここまでで、もう300平方mm弱となる。

 ただし、バスインターフェイスエリアは小さくなる。シリアルバスのPCI Express x16から高速パラレルのFSB(フロントサイドバス)へと置き換わるからだ。また、メモリインターフェイスは128bit幅となるため、この部分のダイエリアも減少する。

 もっとも、こうした要素を加味しても、Xenon GPUのダイは巨大だ。おそらく、200平方mm台後半で、初代のGraphics Synthesizer(279平方mm)クラスのダイと推定される。だとしたら、製造コストは極めて高い。また、1枚のウェハから採れるチップ数が少ないため、ローンチに数量を確保するためには、ラインをきっちり確保し、かなりの数のウェハを流す必要がある。

 このコラムでは、コスト面からXenonでもGPUのダイサイズを、最大でも初代XboxのXGPU程度に抑えると推定していた。しかし、実際にははるかに巨大なチップだったわけで、そこには、ますます性能競争に突っ走って行くMicrosoftの姿が見える。

 こうして見ると、Xenonは全然低コストになっていないように見える。PlayStation 3(PS3)と比べると、BD-Driveの分などのコストが少ないが、XenonはHDDをデフォルトで搭載するため、その部分のコストがかかる。ちなみに、XenonではHDDを2.5インチにすることで、筐体厚と熱を減らすことを可能にしている。

●排熱問題を解決するために電源を筐体外に

 初代Xboxより、大型ダイでコスト増となったXenonのGPU。しかし、コスト以上に問題は、トランジスタの増加による消費電力だ。現在のハイエンドGPUを見ればわかる通り、500MHz程度の中クロックであってもトランジスタ数の多いGPUの熱は多い。

 今回、Xenon GPUが想定よりはるかに規模が大きいことが判明したため、XenonのCPUコアはもう少し大人しい構成である可能性が増えてきた。CPUもPowerPC 970並のリッチコアを3個にすると、両方とも非常に高コストかつ高発熱のチップになってしまう。しかし、3コアCPUであるため、こちらも初代XboxのPentium IIIと比べると格段に消費電力が大きいはずだ。

 そこで、排熱の問題を解決するためにMicrosoftが取ったのは、想像通り、電源の外付けだった。Xenonでは、電源は筐体の外に追い出された。Microsoftがこの件について迷っていた証拠は、Xenon背面の電源プラグ部分の形状を見れば一目瞭然だ。どう見てもACプラグを挿すためのスペースに、DCのプラグを挿すようになっている。

 Xenonでは、電源を筐体外に出すことで、電源の発熱分を削減した。また、筐体内のスペースを開けたことで、よりエアーフローを容易にした。Xenonは、冷却ファンを背面に2連で備えている。筐体の上下の吸気口からエアーを取り入れ、筐体内をフローさせて、2個のファンで背面から排熱する仕組みだ。うるさいE3会場では、まだファンノイズなどはわからない。

Xbox 360のシステム構成
PDF版はこちら

●やっかいなXboxとの互換性維持

 Xenonの最大のサプライズは、Microsoftが現行Xboxとの互換性維持を宣言したことだ。Xenonではソフトウェアエミュレーションにより互換性を取る。MicrosoftがConnectixから2003年2月に買収したバーチャルマシンマネージャ(VMM:Virtual Machine Manager)ソフトウェア「Virtual PC」の技術がここで活きることになりそうだ。もし、Xenon CPUが、CellやIntelの90nm版Pentium 4(Prescott:プレスコット)のように、VMM支援のパーティショニング機能を備えているなら、より安定した高パフォーマンスのエミュレーションが可能だ。もっとも、Microsoftが互換性確保を決心したのはCPU設計が進んでからと推定される。

 XenonでのXboxソフトウェアエミュレーションにはハードルがある。まず、エンディアンの違いがある。XBOXのx86 CPUのバイトオーダ(データの格納順番)はリトルエンディアン、XenonのPowerPCはビッグエンディアン。並び順が逆なので、並べ替えのためだけでも、パフォーマンスが削がれる。

 XboxはAPIでかなりラップしてあるため、他のマシンと比べるとエミュレーションはしやすい。しかし、ゲームプログラムの場合は作法に沿わない場合も多く、また、グラフィックス側はハードウェア機能が異なるために難しい。そのため、Microsoftも全てのソフトウェアタイトルで互換を取るとは言っていない。おそらく、売れ筋タイトルから1本づつ検証して行くことになるだろう。

 Microsoftの場合は、コスト面からハードウェア互換性を取ることができない。そのため、当初は互換性は諦めていた節がある。しかし、次世代ゲームコンソールでは、互換性の維持は必須事項となりつつある。そのため、Microsoftも苦労を承知で、互換性の確保に踏み出したと見られる。

□関連記事
【5月16日】【海外】Xbox 360のGPUはUnified-Shaderアレイを実装
http://pc.watch.impress.co.jp/docs/2005/0516/kaigai179.htm
【5月14日】【海外】ベールを脱いだ「Xbox 360」
http://pc.watch.impress.co.jp/docs/2005/0514/kaigai178.htm
【5月13日】Microsoft、新ゲームコンソール「Xbox 360」
http://pc.watch.impress.co.jp/docs/2005/0513/ms.htm

バックナンバー

(2005年5月20日)

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


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp ご質問に対して、個別にご回答はいたしません

Copyright (c) 2005 Impress Corporation, an Impress Group company. All rights reserved.