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

PS4とXbox Oneのアーキテクチャはなぜ似通ったのか

チップの開発にかかるコストが高騰

 米国ロサンゼルスでのゲームショウ「E3(Electronic Entertainment Expo)」で火花を散らしたソニー・コンピュータエンタテインメント(SCE)の「PlayStation 4」(PS4)と、Microsoftの「Xbox One」。しかし、両次世代ゲーム機のハードウェアスペックは、奇妙なほど似ている。どちらも28nmプロセス技術(COMPUTEXでAMD幹部が同世代だと説明)で、CPUコアはAMDの省電力x86コア「Jaguar(ジャガー)が8コア、GPUコアはAMDの最新のGPUアーキテクチャ「GCN(Graphics Core Next)」。差異は色々(例えばPS4はGCNのCUが18個でXbox Oneは12個など)とあるが、大枠で見れば、同じ技術をベースとしている。

 両ハードウェアのスペックが似通ったのは偶然ではなく、半分は必然だ。選択の幅が狭まったからだ。前世代のPLAYSTATION 3(PS3)とXbox 360の90nmプロセスの世代と、今回のPS4とXbox Oneの28nmプロセス世代では、半導体チップの設計と製造の環境が全く異なる。前世代では、半導体チップの設計にさまざまな選択肢があったが、今世代では採れる選択肢が狭まっており、そのために似た目的のチップを作ろうとすると、アーキテクチャが似通う可能性が、前世代より高まっている。

GCNのコンピュートユニットアーキテクチャ(PDF版はこちら)

 根源的な問題は、チップの開発コストが高騰し、もはやゲーム機ベンダーがゼロからチップアーキテクチャを開発することは不可能に近くなっている点にある。また「膨大なチップ開発コストをかけても、ゲーム機の出荷台数が飛躍するから償却できる」というPS3世代までの発想は、PS3が期待ほど成功しなかったことで、もう通用しなくなってしまった。そのため、現在は、チップベンダーの持つ技術をカスタマイズする方法でゲーム機向けチップを設計しなければ、コスト的に見合わなくなっている。

 ところが、ゲーム機のチップを設計・製造するに当たって、選択できるファウンダリとチップ設計ベンダーは、どちらも制約されている。

 まず、GPUコアの設計では、PC向けグラフィックス技術との親和性を考えると、ハイパフォーマンスGPUコアの選択肢はAMD、NVIDIA、そしてIntelに絞られる。シェーダグラフィックスがここまで進化すると、もはや据え置きゲーム機で、PCグラフィックスと全くかけ離れた技術を持ってくることはあまり得策ではない。

 もっとも、冒険的な選択肢もある。現状のPCシェーダグラフィックスよりもさらに先進的で、現行のグラフィックスも走るアーキテクチャを持って来ることだ。Larrabee(ララビ)のメニイコア上のソフトウェアレンダリングがそれだったが、Intel自身がLarrabeeを引っ込め(HPC向けに切り替え)たことで、その芽はなくなった。

E3でのXbox Oneの本体展示
E3でのPS4の本体展示とデモコーナー

コスト削減のためにCPUとGPUを統合したAPUを選択

 ゲーム機のコスト削減を考えるなら、次世代ではCPUとGPUを統合したAPU型のチップアーキテクチャが望ましい。前世代までのゲームコンソールのように、CPUとGPUの2チップ構成からスタートする余裕がない。Xbox 360のCPUとGPUの統合で無駄な開発コストをかけたMicrosoftや、PS3のCPUとGPUを統合できず製造コストを下げることができないSCEにとって、次世代でのAPU化は必須だ。

PS2からPS4のチップシュリンク全体図(PDF版はこちら)
Xbox 360のCPUとGPUの統合

 最初からワンチップ構成で、プロセス微細化でダイをシュリンクするのが、将来的なコスト削減の近道となる。メモリの統合や消費電力の削減の点でもAPU化が有利だ。そして、PC系のグラフィックス技術を選択した上で、APU(Accelerated Processing Unit)型のCPUとGPUの統合を前提とするなら、現状ではIntelとAMDの二択に狭まる。

 NVIDIAは、Denver 64-bit CPUコアを統合できるようになるまで、ゲーム機向けCPU+GPU統合チップとして選択できない。NVIDIAはGPUコアのIPだけを切り売りする気がない(売るとしたら高くつけると推測される)ため、NVIDIAのGPUコアを、他社のCPUコアと組み合わせたチップを開発することができない。

 AMDのGPUコアのIPを買って、IBMなどのCPUコアを組み合わせてワンチップにする選択肢(Xbox 360のXCGPUがこれ)もあるが、現在のIBMは手頃なパフォーマンスと電力のCPUコアを持っていない。もし、CPUコアをフルカスタム化またはゼロから開発するとなると、設計コストと開発期間がかかる。特に、SCEやMicrosoftが当初求めていたような、ハイパフォーマンスなCPUコアとなると難しい。

 現行世代ではPS3もXbox 360も特殊なゼロから開発したCPUコアだが、Xbox 360については、IBMはPS3のCell B.E.のPPU(Power Processor Unit)の基本設計を流用してXbox 360のCPUコアを開発するという荒技を使うことで、開発期間を抑えている。現行世代でさえ、CPUコアの開発では流用を行なう必要があった。

 そのため、APU化を前提するとCPUとGPUの両IPを最初から持っているAMDとIntelが望ましくなる。そして、開発の自由度を考えると、IntelよりAMDの方がやりやすい相手となる。AMDはPC市場で劣勢であるため、カスタムチップビジネスに乗り気だが、Intelはそうではないからだ。

 実際、SCEはPS4で、当初はIntelと組んで開発(Haswell+Larrabee3)する計画だったが、AMDに切り替えた。カスタムチップビジネスに慣れていないIntelでは、ゲーム機ベンダーが満足できるカスタム化のプロセスが提供できなかったと見られる。そして、IntelがLarrabeeのグラフィックス路線を切り捨ててしまったことで、Intelでの選択肢は内蔵グラフィックスコアだけになってしまっている。

AMDの技術は次世代ゲーム機全てに搭載

ファウンダリのプロセス技術に制約される

 このように現状では、ゲーム機向けチップの開発を依頼できるチップベンダーが制約されている。そして、その上に、ファウンダリとプロセス技術の制約がある。

 PS3やXbox 360を立ち上げた90nmプロセス当時と比べると、現在の28nmプロセスでは、先端プロセスのファウンダリの選択肢は極めて限られるようになってしまった。90nm以降の高いハードルをくぐり抜けることができず、日本の半導体ベンダーを含む大半のファウンダリが脱落してしまったからだ。

 現在のAMDは、パフォーマンスCPUコアを使った製品はGLOBALFOUNDRIES、低消費電力CPUコアの製品はTSMCへと製造委託している。ただし、低消費電力CPUコアはシンセサイザブルなので、ファウンダリ間やプロセス技術間のマイグレーションが容易だ。やろうと思えばGLOBALFOUNDRIESやそのほかのTSMC以外のベンダーへと持って行くこともできる。ただし、28nmでは持って行くことができるファウンダリが極めて限られてしまっているが。

AMD CPUアーキテクチャ開発(PDF版はこちら)

 一方、パフォーマンスCPUコアはカスタム回路設計なので、マイグレーションが非常に難しい。他のファウンダリに持って行くには時間とコストがかかる。そのため、事実上、CPUコアとファウンダリの関係は固定されてしまっている。ただし、GLOBALFOUNDRIESは、IBMを中心としたプロセス技術の共同開発体であるCommon Platformのメンバーなので、Common Platformの他のファウンダリへと持って行くことができる可能性がある。

GLOBALFOUNDRIESからTSMCへの転換

 このように、現在のAMDではCPUコアとファウンダリ&プロセス技術の関係が、ある程度固定化されてしまっている。この状況で、ゲーム機ベンダーは、少なくとも当初はGLOBALFOUNDRIESに乗っているCPUコアか、そのカスタマイズコアを当初は選択していたと見られる。

 SCEはBulldozerコアを発展させた「Steamroller(スチームローラ)」コアをPS4に載せようとしていたと推測される。SteamrollerはBulldozerのシングルスレッド性能を主に強化した28nm世代のコアだ。SCEは、当初はシングルスレッドパフォーマンスの高いCPUコアを望み、そのため、AMDでもパフォーマンスCPUコアを選択していた。AMDはSteamrollerコアを使った「Kaveri(キャヴェリ)」は、GLOBALFOUNDRIESの28nmのバルクプロセスで製造すると説明しているため、Steamroller版のPS4はGLOBALFOUNDRIES製造の予定だったはずだ。

AMDのSteamrollerコア

 一方、Microsoftは当初はIBM/GLOBALFOUNDRIESで製造を立ち上げるといった情報が出ていたため、こちらもCommon Platform系での生産計画だった可能性がある。試作チップは40nmという情報もあったからTSMCという見方もできるが、ややこしいことにGLOBALFOUNDRIESも一応40nmのライン(ハイパフォーマンスプロセスではない)は持っている。ちなみに、MicrosoftにはXCGPU(Xbox 360のチップ)の32nm版の計画「Oban」もあり、それが一時Xbox Oneのチップと混同されていた。XCGPUはCommon PlatformのSOIプロセスに乗っている。Xbox Oneについては、32MBというサーバーCPU並の内蔵SRAMの量を考えると、28nmプロセスが当初から量産の本命だったと推測される。

Intelとファウンダリのプロセスロードマップ(PDF版はこちら)

 ゲーム機チップについては、このようにCommon Platform系のプロセスと見られていた。ところが、プロセス技術については、90nm以降は開発の難度がぐっと上がったため、量産の立ち上げでもたつくことが多くなってしまった。そして、28nmプロセスではTSMCは当初は製造キャパシティ不足に苦しみ、GLOBALFOUNDRIESは28nmの立ち上げ自体に苦しんだ。GLOBALFOUNDRIESの28nmには、複数のプロセス技術(ハイパフォーマンスや低消費電力など)があるが、特にパフォーマンスの高いプロセスの立ち上げがもたついたとあるCPUメーカー業界関係者は言う。

 ゲーム機にとって問題は、本体発売時に、一気に大量出荷を行なうこと。そのため、ゲーム機では、ローンチに先行してかなりの個数のチップを生産できていなければならない。つまり、2013年の中盤までに、安定したチップの生産が確保できていなければならない。ところが、2012年頭の時点でも、GLOBALFOUNDRIESは28nmのパフォーマンスプロセスで、2013年後半までに、十分なチップ数を生産できるかどうか、目処が立っていなかったとある業界関係者は言う。そのまま行くと、2013年末をスキップすることになりかねない。それを避ける手段は、ファウンダリを28nmの生産量が安定してきたTSMCに切り替えることだった。

 AMDにとって不幸なことに、この時期(2011年夏から2012年頭)、同社はトップエグゼクティブを総入れ替えしていた。カスタムビジネスを含むグローバルビジネスを統括するLisa Su氏(Senior Vice President and General Manager, Global Business Units)は2012年1月にAMDに加わったばかりだった。おそらく、Su氏の最初の重要な仕事の1つは、PS4のファウンダリ切り替えで、かなりバタバタしたはずだ。

ファウンダリの変更でCPUコアアーキテクチャも変わる

 こうした事情で、PS4については、2012年の早い時期に、ファウンダリがGLOBALFOUNDRIESからTSMCへと変わった。そして、それと同時に、CPUコアもGLOBALFOUNDRIESでしか使えないSteamrollerコアから、TSMCにすでに乗っているJaguarコアに変わった。いわゆるObis CPUコアの部分が、Steamroller 2モジュール4コアから、Jaguar 2 CU(Compute Unit) 8コアになった。つまり、ファウンダリ変更の影響で、CPUコアが全く異なる発想のアーキテクチャへと切り替わってしまった。

Jaguarのブロックダイヤグラム(PDF版はこちら)

 実は、28nmのSteamroller 4コアとJaguar 8コアは、ダイ(半導体本体)上に占める面積がほとんど同じであるため、チップ全体のダイサイズ(半導体本体の面積)がほとんど変わらない。下の図は、28nmのJaguar 4コアCUと、32nmのBulldozer 2コアモジュールを比較したものだが、Steamrollerは28nmで微細化するがコアが大きくなるため、やはりJaguar 4コアとあまりサイズが変わらなくなる。

JaguarのCU、Bulldozerモジュールの比較(PDF版はこちら)

 SteamrollerからJaguarに変わると、スレッド当たりのパフォーマンス面では不利になるが、消費電力はずっと低くなる。ただし、SCEはJaguarコアをカスタマイズするだけの時間の余裕はなかったと見られる。もっとも、PS4では、CPUコア側は元々カスタマイズせず、そのまま使う計画だったため、問題はなかったと見られる。

 GPUコアについては、SCEは当初からGPUコンピューティングを重視していたため、GCN(Graphics Core Next)を選択していた。GPUコンピュートのために、コンピュートのWavefrontを生成するACEs (Asynchronous Compute Engines)も8ユニット搭載し、最大64コンピュートタスクキューをハンドルできるように拡張した。また、CPU側のクロスバーに接続しているメモリバス「Onion(オニオン)」も、GPUキャッシュをバイパスするONION+へと拡張した。GCNコアはシンセサイザブルで、TSMCとGLOBALFOUNDRIESの両方に乗るため、こうしたSCEの独自拡張も、そのままGLOBALFOUNDRIESからTSMCへと移行できたと見られる。ちなみに、AMDの次のAPU「Kaveri」はhUMA(heterogeneous Uniform Memory Access:ヒューマ)をサポートし、1系統に統合されたGPUからのメモリバス経路になるため、PS4のObisチップとはバスアーキテクチャが異なる。逆を言えば、PS4はhUMAではない。

PS4のGPU全体図(PDF版はこちら)
PS4のAPUアーキテクチャ(PDF版はこちら)

 Microsoftについては、まだファウンダリが最終的にどうなったのか見えていない。しかし、AMDがGLOBALFOUNDRIESの28nmで製造するKaveriを2013年末まで出すことができない現状で、MicrosoftがXbox OneのチップをGLOBALFOUNDRIESで、100万個単位で揃えられるとは考えにくい。もちろん、Microsoftがラインを確保したから、AMDがPCチップを製造できないという可能性はないわけではない。

 しかし、Xbox Oneも低消費電力CPUコアであることは、こちらのチップもTSMC製造である可能性が高いことを示唆している。JaguarはTSMCとGLOBALFOUNDRIESのどちらでも製造できるが、MicrosoftがTSMCを選んだのならJaguarしか選択肢がない。

 また、28nmプロセスなら、必然的にGPUコアはGCNが最適となる。AMDでは28nmに載せているGPUコアのIPがGCNなので、物理設計がそのまま使えるからだ。

 つまり、両社ともゲーム機に向いたAPUという選択肢で、AMDに絞り込まれ、AMDの28nmプロセスという時点でファウンダリやコアアーキテクチャの選択肢が狭まった。結果としてSCEとMicrosoftは、望む望まないに関わらず、似た構成のチップを載せるようになったと見られる。

ゲーム機ベンダーにとって難しいチップの差別化

 こうして概観すると、ゲーム機ベンダーにとって、チップ設計・製造の選択肢がどんどん狭まって行く様子がわかる。今振り返ると、PS3とXbox 360を立ち上げた90nmプロセスは分岐点で、90nm以降、急速に状況が変わり、現在の選択肢が少ない状態へと遷移して来た。現世代のPS3/Xbox 360は、ちょうど分岐点からスタートした。

 PS3の開発時点で、SCEを代表取締役社長兼グループCEOとして率いていた久夛良木健氏は、ゲーム機用チップでソニーをロジックチップのIDM(Integrated Device Manufacturer:垂直統合型デバイスメーカー)として成功させるという構想を持っていた。その当時は、この構想も現実味があった。しかし、プロセス技術の開発が困難になりプロセス移行とFab立ち上げのコストがこれだけかさむようになった今では、そうした構想は描きようがない。

 プロセス技術とコア技術がここまで限定された今、チップレベルの差別化は難しい。にもかかわらず、PS4とXbox Oneには、チップ設計のレベルでいくつもの違いがある。そこには、アーキテクト達のアイデアと努力が反映されており、この状況でも特色あるハードウェアを作ろうとしている。

(後藤 弘茂 (Hiroshige Goto) E-mail