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

任天堂の次世代ゲーム機「Wii U」のCPUとGPUアーキテクチャの謎



●マルチコアCPUにシェーダGPUでHD表示のWii U

 任天堂は、いよいよ次世代据え置きゲーム機(ゲームコンソール)「Wii U」を来年(2012年)投入する。Wiiからハードウェアを一新した次世代機となる。では、Wii Uでは、本体ハードウェアのメインチップセットは、どういう構成になるのか。

 Wii Uのチップ構成でアナウンスされているのはCPUがPowerアーキテクチャのマルチコアであること、GPUがシェーダグラフィックスでフルHD(1080p)表示であること。つまり、「マルチコアCPU+シェーダGPU+HD表示」という、PS3/Xbox 360の構成と基本的には同じスタイルを取ることになる。「シングルコアCPU+固定パイプGPU+SD表示」のWiiから進化して、ある意味、現世代と同列に並ぶことになる。

 任天堂はE3時のカンファレンスで、Wii Uのグラフィックス機能を示すためにデモを公開した。これは、京都の寺と庭園の周りを鳥が飛び回るデモ。いつもの任天堂のコミカルでカラフルなデモとはまったくテイストが異なる、任天堂のプレゼンテーションでは非常に違和感のあるデモだった。しかし、このデモは、IT業界では非常に馴染みがある。なぜなら、GPUメーカーが新GPUの度に公開するグラフィックスデモのパターンにそっくりだからだ。ムービーの中で、シェーダなどのグラフィックスフィーチャを1つ1つ見せるデモだ。おそらく、これはGPUの開発を担当するAMDが作成したと推測される。

 このデモやゼルダのリアルタイムムービーは、E3ショーフロアのWii Uの体験コーナーでも見ることができた。ここでポイントは、任天堂が果たしてどの程度の性能と機能のCPUコアとGPUコアをWii Uに搭載するつもりなのか、という点にある。明瞭にシェーダグラフィックスであるが、そのシェーダ機能のレベルとプロセッシングパフォーマンスはどのレベルなのか。CPUサイドのパフォーマンスはどのレベルなのか。

 これはある程度予想ができる。目安となるのは、チップのダイサイズと消費電力の予測だ。それはつまり、チップコストと本体の筐体サイズとなる。CPUとGPUのプロセッシングパフォーマンスは、チップのダイサイズと消費電力にある程度比例する。つまり、任天堂がハードウェアコストと筐体本体の容積を抑えようとすればするほど、パフォーマンスは低いレベルになる。そして、ハードウェアコストと筐体サイズは、任天堂の戦略と密接に結びついている。


●任天堂の基本戦略がチップの機能と性能を決める

 伝統的に任天堂はゲーム機の中核チップのダイサイズをかなり抑えて来た。特に、Wiiでは、ダイサイズと電力消費を極度に抑えた。それは、任天堂のWiiの戦略の中核は、家庭で邪魔にならないマシンであり、そのために徹底した小型化と静音化と低消費電力化を追求したからだ。

 任天堂は、Wii Uでも同じ戦略を継承すると見られる。つまり、小型&静音の上で、マルチコアCPUとシェーダGPUを持って来ようとしていると推定される。任天堂は、コアゲーマーの取り込みは宣言したものの、家庭に浸透できるゲームコンソールという路線を破棄するとは言っていない。任天堂の岩田聡代表取締役社長は、これまでゲーム人口の拡大を任天堂の大きな戦略として打ち出しており、その路線自体が変わるとは思えない。実際、E3のカンファレンスでもWii Uを全てのプレイヤーのためのマシンと位置づけていた。

 そのため、Wii Uでは、まずTDP(Thermal Design Power:熱設計消費電力)の枠が制約されるはずだ。また、ゲーム機ではマシンの販売価格を一定の水準以下に抑えることが強く求められる。そして、Wii Uでは任天堂はコントローラで大幅なコスト増を見込まなければならない。必然的に、本体コストは抑えなければならなくなる。この面でも、任天堂は、チップのダイサイズ(チップ製造コストに影響)と、チップの電力(排熱とEMIの機構のコストに影響)を抑えなければならない。

 こうして見ると、任天堂の戦略が、Wii Uのチップセットについてかなり制約しており、そのためにチップの性能水準などがある程度推測できる。ちなみに、任天堂はCPUチップと、GPUコアを含んだシステムチップの2チップ構成を取ってきた。これは、2つのチップのIPの関係からワンチップで製造委託ができないためだと推定される。それがWii Uでも引き継がれるとすると、2チップ構成になる可能性がある。ただし、現在は外部バスの電力消費が相対的に大きいため、ワンチップ構成の方が消費電力的には有利だ。


●プロセス技術の進歩の恩恵を受ける任天堂Wii U

 過去の任天堂のハードウェアを振り返ると、WiiのCPUである「Broadway(ブロードウェイ)」のダイは90nmプロセスで約19平方mmと、これ以下に小型化できない限界に近い。WiiのGPU「Hollywood(ハリウッド)」のGPUコア「Vegas」は90nmプロセスで約72平方mmと、これもPlayStation 3(PS3)やXbox 360よりはるかに小さい。もっとも、Vegasのダイサイズは機能から予想できるサイズよりもかなり大きかったため、隠された機能があると話題になった。

BroadwayのチップHollywoodのチップ

 Vegasが大き過ぎると言われたのは、Wiiはチップマイクロアーキテクチャ的には、前世代のゲームキューブを拡張したものだったからだ。ゲームキューブのCPU「Gekko(ゲッコ)」は180nmプロセスで約43平方mm、GPU「Flipper(フリッパ)」も180nmで約109平方mm。ゲームキューブの時から任天堂のチップセットは比較的小さかった。180nmプロセスから90nmプロセスでは微細化でチップサイズを単純計算では4分の1にできるはずなので、WiiのVegasのダイが大きいと見られた。ただし、ゲームキューブからWiiでは、GPU面でも機能強化はされている。

 今回、Wii Uでは、対PS3対Xbox 360において有利な面がある。それは、Wii登場から5~6年を経て登場するため、その分、進んだプロセス技術を使える点だ。PS3/Xbox 360は、スタート時点では90nmプロセスで登場したため、それに合わせてCPUとGPUのアーキテクチャを設計した。対して任天堂は、2012年の時点では45/40nmまたは32/28nmのロジックプロセスを使うことができる。

 その時点での、ファウンドリのプロセス技術は最先端では32/28nm。しかし、任天堂はプロセス技術でもあまりリスクは踏まない上に、日本ファウンドリを選ぶことが多い(NECなど)ため、45/40nmプロセス世代に留まる可能性は高い。それでも、90nmプロセスに対しては4分の1のダイサイズに同程度の機能を納めることができる。もし、任天堂が32/28nmプロセスを使うなら、理論上は、さらに半分のチップサイズにできる計算だ。

●プロセス微細化によるコスト低減

 45/40nmプロセスと仮定して比較すると、Wii Uの可能性が見えてくる。例えば、Xbox 360の45nmプロセスの統合チップXCGPUでは、3個のPowerコアとGPUコアを統合してダイサイズは約168平方mm程度となっている。ダイコストで考えるなら、このレベルか一回り小さい程度のダイサイズは任天堂も可能かも知れない。だとしたら、理論上はXbox 360と同程度かちょっと下回る程度の規模のCPUとGPUをWii Uに載せることができることになる。

 ただし、消費電力となると話は違ってくる。XCGPUでは初代Xbox 360のCPU+GPUより60%以上省電力化した。しかし、このレベルの電力ではWiiのような小型筐体には収まらないし、コストをかけずに静音化も難しい。任天堂がアナウンスしているようなスリムサイズの筐体に、静音で納めるためには、TDP(Thermal Design Power:熱設計消費電力)を抑えなければならない。そのために、CPUとGPUは、一定の規模に抑える必要があり、それが任天堂のアーキテクチャ選択での制約要素となる。

 実際には、Xbox 360ではCPUアーキテクチャを高クロックへと振っていることも高消費電力の一因となっている。任天堂はより電力効率のいいCPUアーキテクチャを選択することで、一定の電力の枠の中で、効率よくCPUパフォーマンスを得ることができる。また、任天堂がもし32/28nmプロセスを使うのなら、リーク電流(Leakage)低減の効果も望むことができる。多くのファウンドリが32/28nmプロセスから、High-k/Metal Gate(HKMG)を採用するためで、それによって急増しているリーク電流のうちゲートリーク電流をある程度抑制できる。

 とはいえプロセスの微細化にはネガティブな面もある。それは電力密度(Power Density)の上昇だ。プロセス技術が1世代進むとトランジスタのサイズは約50%にシュリンクする。一方、電力消費はキャパシタンス×電圧の2乗に比例するのだが、現在は電圧がほとんど下がらなくなっている。そのため、1世代でキャパシタンスの減少分の約70%と駆動電圧を数%下げる分の電力しか削減できない。結果としてトランジスタ当たりの電力は6x%にしか下がらず、面積当たりの電力は上昇してしまう。

 今のプロセス技術では世代毎にダイ面積当たりの電力密度が上がる傾向にあり、それを抑えるためにCPUやGPUのアーキテクチャは制約を受けている。具体的には、ロジック回路を増やしにくくSRAMなど“クール”な部分を増やさなければならなかったり、ホットスポット(熱が上昇する場所)に気を配った設計をする必要があったりする。例えば、NVIDIAやIBMは、自社のプロセッサの電力密度が一定になるように設計している。スリム筐体では排熱が課題となるため、電力密度はやっかいな問題で、そのため、単純にダイサイズを小さくできない。

●GPUコアは

 では、具体的にはどの程度のコアを載せることができるのか。AMDアーキテクチャを採用するGPUコアでは、AMDの製品がある程度の目安となる。

 例えば、AMDの40nmプロセスAPU(Accelerated Processing Unit)「Zacate/Ontario」では、全体が75平方mmで、CPUコア以外の部分のダイ面積が約58平方mm(PHYを除いたGPUコア部分は35平方mm)。ここに、AMDの昨年(2010年)のローエンドディスクリートGPU「Radeon HD 5450(Ceder)」とほぼ同等の80プロセッサ(実際には16個のVLIWプロセッサ)を入れ込んでいる。これにx86 CPUコアを2つ加えてTDPレンジは9~18W。スリム筐体に収まるTDPだ。GPU製品ではRadeon HD 6450が40nmで70平方mmを切るダイサイズで5450の倍の160プロセッサ(32 VLIW)を載せている。

Zacateのブロックダイヤグラム

 任天堂のWii Uに採用されるAMDアーキテクチャが、PC向けグラフィックスと同じになるかどうかはわからない。しかし、AMDは面積当たりのプロセッシングユニット数を増やす方針を採る可能性は高く、AMD製品のGPUのプロセッサ密度はある程度参考になる。もし、任天堂がGPUコアとメモリコントローラのTDPを10W台に抑えようとするなら、80~160プロセッサか、多くてもそこから大きく出ない程度のGPU規模に納めるだろう。32/28nmなら、それより増えるが、いずれにせよ水準としては、PC向けビデオカードのローエンドからメインストリームのクラスである可能性が高い。ゲームコンソールの場合は、低電圧駆動ができるダイだけを選別するわけに行かないので、ノートPC向けGPUのように低電圧に振ることも難しい。

 ちなみに、Wii UのGPUアーキテクチャの世代については、DirectX 10世代である可能性が高い。これは、E3のデモで、かなりポリゴンを抑えた、ピクセルシェーディングでカバーするDirectX 10世代までの映像を見せているからだ。最近のDirectX 11ハイエンドGPUのデモにあるような、ポリゴンリッチな絵とは趣が異なる。

 もし任天堂がテッセレータの実装を避けたとすれば、その理由は電力だと推測される。テッセレータ自体の電力消費は大きくはないが、AMDアーキテクチャではテッセレータを搭載した場合にメモリ帯域を圧迫する可能性がある(Wii Uではキャッシュで拾えるようにすることもできるが)上に、頂点爆発によってプロセッシング量が増えるため、望ましくないと考えたのかもしれない。

●Wiiとの後方互換性はどうやって実現するのか

 Wii Uでは、GPUに求められるパフォーマンスは、マルチスクリーンによって高くなる。Wii UではフルHDのTVスクリーンへのレンダリング以外に、コントローラ側のスクリーンへのレンダリングも行なわなければならないからだ。逆を言えば、メインのTV画面への表示以外にもパフォーマンスを割かなければならない。もし、複数のタッチスクリーンコントローラもサポートするなら、さらに負荷は高くなる。もっとも、実際にはコントローラ側へと別画面をレンダリングする場合は、かなり制約が課せられると推測される。複数ディスプレイへの表示に関しては、ディスプレイコントローラは複数持つことになるが、これはAMDが得意とする分野だ。

 また、任天堂はWiiとの後方互換性を維持するためにもシリコンを割かなければならない。GPUでは、固定パイプラインのゲームキューブ/Wiiから、シェーダGPUへと移行する。いずれもAMD(ゲームキューブはAMDに買収されたArtX)が開発を担当するため、継承性がある。

 固定パイプラインはシェーダGPUでエミュレートできるが、ゲーム機に求められるハードウェアのふるまいの完全に近い一致は難しい。ゲーム機では、ハードウェアの挙動を完全に一致させるため、新プロセスで製造するGPUの機能の一部を落として旧プロセスのGPUと一致させるといったことまでしている。そうした事情を考えると、WiiのGPUコアのある程度の部分のIPはそのままWii UのGPUにも載せてしまうかも知れない。ゲーム機の後方互換性では、常にCPUよりもGPUが問題になる。

Gekkoのブロック図
PDF版はこちら

●CPUコアでは時期的にミートするのはPowerPC 476FP

 CPUコアでは、任天堂は過去ゲームキューブとWiiでもPowerベースのコアを使ってきた。そのため、Powerコアを搭載するWii Uでも、スタンダードな命令セットでは後方互換を取りやすい。ただし、任天堂はゲームキューブのGekkoにおいてPowerPC 750CXeをベースにトリッキーなカスタマイズをかなり行なっていた。そうした任天堂の特殊化をソフトウェアエミュレートすることが互換性の上でリスクが高いと判断するなら、Wii CPUコアをそのまま微細化してWii UのCPUにコアの1つとして載せてしまう可能性もある。例えば、よりハイパフォーマンスなPowerコアと従来Powerコアの非対称マルチコアの構成すら考えられる。

 新CPUコアを使うとしたら、ベースはPowerPC系で新しい「PowerPC 476FP」あたりが想定される。これは組み込み系の400番台の型番がついているが、内部アーキテクチャはPowerPC 750系に近い。Out-of-Order実行のスーパースカラパイプラインで5発行/実行のコアだ。45nmプロセスでコアのダイエリアはわずか3.6平方mm。動作クロックは最高1.6GHz以上で、コア自体の電力消費は1.6Wとなっている。

PowerPC 476FPの特徴

 任天堂のWii Uのチップセットが、もしCPUとGPUに分かれているとすると、CPU側はマルチコアにせざるを得ないだろう。CPUコア自体が非常に小さいため、経済的なダイサイズにするにはコア数を増やす方が得策だからだ。電力面で見ても、マルチコア化しても十分低消費電力に抑えられる。初期設計は2009年10月に上がっているため、任天堂がカスタマイズを望んだとしても、時間的になんとか間に合う。チップの開発から製造までは、通常2年以上の時間が必要だ。短期間で綱渡り的に開発したXbox 360ですら、CPUの設計コンセプト固めから製造まで24カ月が必要だった。逆を言えば、Wii Uのチップ設計は、遅くとも2010年中にはスタートしていたことになる。

 もし、Wii UがPowerPC 476FPクラスのコアをデュアルで搭載しているとすれば、ゲーム機としての相対的な性能はどのレベルなのか。アーキテクチャが大きく異なるため比較は難しい。Xbox 360はよりシンプルなIn-Order実行パイプライン2発行のPowerコア3個を3.2GHzで駆動する。PS3は、ヘテロジニアスマルチコアのCell Broadband Engine(Cell B.E.)でXbox 360のコアに近いコアが1個と、SPU(Synergistic Processor Unit)コアが7個で3.2GHz。相対的には、やはりWii Uの方がプロセッシングパフォーマンスは低くなる可能性が高い。しかし、パフォーマンス/電力では、任天堂が優れる可能性は高い。

●はたして現在のWii Uハードの仕上がり状況は

 Wii Uに向けてダッシュする任天堂。Wii Uの現在の仕上がり状況はどのレベルなのか。現段階では、Wii Uの実チップのサンプルができているのかどうかわからない。もし、発売が2012年遅くだとすると、まだ実チップができていないかも知れない。

 通常、シリコンチップは最初のサンプルができあがってから、バリデーションを行ない、いったん設計をFabに戻し、またサンプルを出す。このプロセスにおよそ1四半期が必要で、通常では2サイクルつまり2四半期をサンプルに費やしてから量産となる。ゲーム機は、発売時にある程度の量を揃える必要があるため、チップの量産がスタートしてから発売まで一定の時間が必要となる。また、ゲーム機では、ハードウェアの発売とともにタイトルが揃っている必要があるため、ローンチパートナー企業には使えるサンプルの段階で開発をスタートしてもらう。1年前にチップのサンプルができていれば、対応ができる。

 しかし、任天堂はE3でWii Uデモを行なっている。これは、どうなのか。実は、任天堂は実チップがなくてもデモを行なうことができる。PowerPCのリファレンスボードと、AMDのグラフィックスカードがあれば、Wii Uを想定したハードウェアを仕立てることができるからだ。例えば、Xbox 360の時は、あまりにシリコンのスケジュールがタイトだったため、MicrosoftはデベロッパにMacintosh G5ベースの開発キットを渡していた。

 いずれにせよ、すでにWii Uのチップの開発は最終段階かその一歩手前の段階に入っているはずだ。今秋には、より具体的な姿が見えてくるだろう。