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

Microsoftが次世代ゲーム機「Xbox One」のベールを剥いだ

SCEと対照的にホームエンターテイメントにフォーカスしたMicrosoft

 米Microsoftの次世代ゲーム機「Xbox One」が、ついにそのベールを脱いだ。Microsoftは5月21日(米国時間)に開催したカンファレンスをWeb配信し、次世代Xboxの概要と方向性を世界に示した。MicrosoftはXbox Oneを世界で2013年中に発売する。同じく年内に登場するPlayStation 4(PS4)とスケジュール的にはぶつかることになる。

 Microsoftは、Xbox Oneが、ホームエンターテイメントの要素をオールイン“ワン”で備えるコンソールであると説明。ワンと名付けた意味を強調した。ちなみに、Xbox Oneという発音は、英語的には「Xbox Won(Xboxが勝った)」とほぼ同じだ。

 Microsoftのカンファレンスは、先行するソニー・コンピュータエンタテインメント(SCE)のPS4の発表カンファレンスとは対照的だった。SCEはPS4のゲーム機としての側面を強調し、ゲーム体験を豊にする機能とゲームコンテンツの説明に時間を割いた。それに対して、Microsoftはホームエンターテイメントを統合するマシンとしての側面を強調し、ゲーム以外のTVコンテンツとの連携などの機能や再設計されたKinectによるナチュラルインターフェイスなどの説明に時間を割いた。

 昨年(2012年)、MicrosoftはXbox OneをCATV(ケーブルTV)のSTB(セットトップボックス)のオプションとして売り込んでいるというウワサが流れていた。また、次世代Xboxは、ゲームだけでなく、汎用のエンターテイメントコンソールにしようとしているとも言われていた。今回のXbox Oneの発表は、昨年から流れていた、こうしたウワサを肯定するような印象だった。ちなみに、Xbox OneはHDMIの入力も備えており、CATVなどのTV系デバイスとの連携もできる。

 米国では、現在、CATVのSTBが草刈り場になろうとしており、AppleやGoogleなども、その市場を睨んだ動きを始めている。スマートTV化に合わせて、STBもさらにスマート化させようという動きだ。そのため、先述のウワサも、違和感がなく受け止められていた。皮肉なのは、ホームエンターテイメントの中心にするというビジョンは、かつてPlayStation 3(PS3)の時に、SCEが掲げたビジョンだった。前世代とは、MicrosoftとSCEの立場がすっかり入れ替わった雰囲気がある。

 面白いのは、Xbox Oneに複数のOSを載せたこと。ゲーム向けのXbox OSと、汎用のWindowsカーネル、そしてKinectなどのためのOSの3つが載っているという。3番目のOSの役割はバックグラウンドタスクの制御など。カンファレンスでは、OSの瞬時の切り替えなどもデモした。仮想化でOSを切り替えると見られる。仮想化による複数の異種OSのサポートも、PS3の初期の計画にあったものだ。

スペック的にはほぼそっくりのXbox OneとPS4

 AMDのAPUを使い、8個のAMDのx86/x64系CPUコアにAMD GPUコア、8GBのシステムメモリを搭載し、BDドライブとHDDを搭載する。これは、PS4のスペックではなく、Xbox Oneのスペックだ。路線は対照的ながら、アーキテクチャ的には、Xbox OneとPS4は、まるで兄弟のように似ている。最適化手法に至るまで共通化できるなら、PS4とXbox Oneでも、クロスプラットフォームタイトルが繁栄するだろう。

Xbox Oneの仕様

 Xbox OneとPS4が似たアーキテクチャになった背景には、現在のチップベンダーとプロセス技術の制約が反映されている。現状では、ゲーム機の中核チップの開発を委託できるメーカーが限られており、ワンチップソリューションにしようとすると、ほぼAMDしか選択肢がない。また、製造ファウンドリは、AMDが使うTSMCとGLOBALFOUNDRIESに、ある程度縛られる。こうしたきつい制約の中で設計しなければならないため、ゲーム機はある程度似通ったアーキテクチャにならざるを得ない。現在は、市場ドリブンではなく、技術の制約に縛られた時代で、チップアーキテクチャはその制約の下にある。例えば、2013年に立ち上げるゲーム機では、一部の28nmプロセスバリエーションは使えない。そのため、そのプロセスバリエーションを使うCPUコアは選択できない。

AMDのCPU/GPUアーキテクチャの変遷(PDF版はこちら)

 Xbox OneのCPUコアのプランは紆余曲折があったと言われているが、2013年に入ってからは、AMDのローパワーCPUコアを8個載せていると業界関係者の間で言われるようになった。8個というコア数は、ローパワーコアでなければ難しい。SCEのCPUコアも、AMDのローパワーCPUコア「Jaguar」(ジャギュア)であり、MicrosoftもJaguarなら、CPUマイクロアーキテクチャまで揃うことになる。

 Jaguarは、AMDの第2世代ローパワーCPUコアで、SIMD(Single Instruction, Multiple Data)演算パフォーマンスが倍増したほか、パフォーマンス/電力やIPC(Instruction-per-Clock)も向上している。また、仮想化の切り替え性能なども向上しており、仮想化を使うと見られるMicrosoftにとって好材料だ。

Jaguarのブロックダイヤグラム(PDF版はこちら)
Jaguarの命令セット、機能の概要

正体がまだ明らかにならないXbox OneのGPUコア

 JaguarはCPUコアが小さく低消費電力であるため、多数のCPUコアを搭載できる。MicrosoftはOSの切り替えやバックグラウンドタスクも重視しているため、OSを異なるCPUコアに割り当てられるようにコア数が多い方が有利だ。Xbox OneのCPUコアは、Jaguarより1世代前のBobcat(ボブキャット)の可能性もある。CPUコアアーキテクチャはプロセス技術にもある程度依存する。

 Jaguarは4コアで1個のコンピュートユニットを構成しており、PS4はこれを2ユニット搭載して8コアにする。Xbox OneもJaguarだとしたら、PS4と似たような構成になるだろう。

JaguarのCPUダイ(PDF版はこちら)

 CPUコアが似通うXbox OneとPS4だが、現行世代もメインのCPUコアアーキテクチャは両者で似通っていた。これは、Cell Broadband Engine(Cell B.E.)のPPU(Power Processor Unit)の設計が、Xbox 360のCPUコアに流用されたためだ。Powerアーキテクチャからx86/x64アーキテクチャへと、CPUのISA(Instruction Set Architecture)が変わったことで、両者とも現行世代とのハードウェア互換性は失われた。

 SCEはPS4ではPS3に対するハードウェア後方互換を持たせないと説明しているが、Microsoftも公式Q&Aサイトで、Xbox OneがXbox 360と互換性を持たないことを明らかにしている。ハードウェア互換性の維持を切り捨てるのは、CPUアーキテクチャを切り替えなければならないという事情から来ており、両社に共通している。

 Xbox OneのGPUコアについては、今回、ほとんど明らかにされなかった。Xbox OneのGPUコアは、生演算パフォーマンスでは、PS4より低いと業界関係者の間では言われていた。しかし、グラフィックス機能は、生演算パフォーマンスだけでは決まらないため、まだ実ゲームでの状況は分からない。

8GBのメインメモリを持つXbox One

 Xbox Oneのメインメモリは8GB。これは、ライバルメーカーもかなり早い段階から掴んでおり、そのためにPS4は無理をしてメモリ量を4GBから8GBに倍増させた(PS4オリジナルプランでは2GB)。下は、PS4のAPUの構成で、GDDR5チップを16個搭載する。

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

 メインメモリとしてグラフィックス向けのGDDR5を使うPS4に対して、Xbox Oneのメインメモリは通常のDDR3であると予想される。実際に、リーク情報ベースではDDR3と報じられている。MicrosoftがDDR3を使う理由は3つ考えられる。

 1つ目は、GDDR5がDDR3に対して、非常に割高であること。同じ8GBの容量を実現するなら、DDR3の方が通常なら2分の1以下のコストで済む。逆を言えば、PS4は8GBのGDDR5で、コスト的にはかなりの無理をしている。

 2つ目は、Microsoftがメモリの容量を必要としていること。Xbox Oneは、オールインワンのエンターテイメントコンソールを目指し、仮想化でOSの切り替えも行なうと見られる。そのため、大容量のメインメモリが必須で、容量を最優先するとコスト面からDDR3を選択する方が合理的となる。

 3つ目は、MicrosoftがGPUコアに必要なメモリ帯域を、メインメモリの帯域拡張以外の方法で確保しようとしていること。Xbox 360でもMicrosoftはeDRAMチップをパッケージに封止することで、メモリ帯域を稼いだ。今回はESRAM(Embedded SRAM)として、GPUコアに近いところに広帯域メモリを持って来る方法を採った。ESRAMを搭載していることは、MicrosoftのXbox One公式ホームページで明らかにされている。この点は、Xbox Oneのチップの異様に多いトランジスタ数という謎とも絡んでくる。

増えた10数億のトランジスタはどこに使われているのか

Xbox Oneのトランジスタ数は5B(50億)

 MicrosoftはXbox Oneのトランジスタ数が5B(Billion、50億)であると明かした。これがAPU単体のトランジスタ数なのか、周辺チップを含んだものなのかはっきりしない。しかし、明確なことは、ロジックチップとしては異様に多いトランジスタ数であることだ。周辺チップのロジックトランジスタがそれほど食うとは思えないので、このトランジスタ数はほとんどがAPUのものだと見られる。もちろん、MicrosoftがXbox 360と互換を取るためにXbox 360のXCGPUとeDRAMなどを載せていれば、そこでトランジスタが必要となるので話は別だが、Xbox Oneは後方互換性を持たない。

 Xbox Oneと構成が似ているPS4のOrbis APUのトランジスタ数は、おそらく3.xB(30数億)で、50億のXbox Oneと比べると大きな隔たりがある。この差分の1.xB(10数億)ものトランジスタはどこに使われているのか。答えは簡単。今年(2013年)頭頃から流れていた、Xbox Oneのリークスペックにある。それによると、Xbox OneのAPUは、32MBのESRAMをグラフィックス用に積んでいるとされている。

 MicrosoftはXbox OneにESRAMを搭載していると明かしているが、容量は明らかにしていない。しかし、容量が32MBで、メモリセルが標準的な6T SRAMだとすれば、トランジスタ数は計算上は約1.6B(16億)となる。ちょうどぴったりと、PS4とXbox Oneの差分を埋めるトランジスタ数となる。逆を言えば、トランジスタ数の計算からすると、組み込まれたグラフィックスSRAMが32MB程度であることが分かる。ちなみに、ESRAMとわざわざ呼んでいることから、1T-SRAMのような疑似SRAM系の技術も想定されるが、トランジスタ数を考えると通常のSRAMの可能性が高そうだ。

Xbox 360と共通するXbox Oneのメモリに対する考え方

 こうして見ると、Microsoftのメモリ戦略は、GPUに近いところに必要量の広帯域メモリを持ち、汎用メモリは容量重視にする方針ということになる。また、GPUコアに近い配置のESRAMは、メモリ帯域を食うROP(Rendering Output Pipeline)と密に接続されていると推測される。Xbox 360のeDRAMが、まさにそうした構成になっていたからだ。

 Microsoftが前回のような外付けeDRAMチップを使わなかったのはなぜなのか。答えは簡単で、メインチップの微細化を進めて行くと、外付けeDRAMチップがコストとして重くのしかかって来るからだ。eDRAMをロジックチップに統合すればワンチップ化ができるが、そのためにはeDRAMが使えるファウンドリにロジックチップの製造委託先が限定されてしまう。また、eDRAMが今後、ロジックプロセスに沿って微細化できる可能性は低いので、特に、今後の20nm台以降のプロセスを考えるとeDRAM統合は得策ではない。

 それに対して、SRAMセルはプロセスの微細化でシュリンクする。特に、あと数年でFinFET 3Dトランジスタが使えるようになることを考えると、SRAMの方が得策と判断したことも納得できる。FinFETでは、ロジック部分よりSRAMの方が縮小しやすいからだ。

 とはいえ、もしXbox Oneが32MBもの大容量SRAMを載せているとしたら、ダイ(半導体本体)のかなりの面積がSRAMで食われることになる。同じプロセス技術であっても、PS4のAPUと比べてダイサイズ(半導体本体の面積)が大きくなる。これは、立ち上げ時のXbox Oneの製造コストにのしかかる。

 ただし、Xbox Oneのメモリ部分はDDR3だとすると、4G-bit品のGDDR5を16チップも使うPS4に比べてかなり安く収まる。コスト的には、APUのダイでコストが膨らむXbox Oneと、GDDR5の金額がかさむPS4で、ちょうどトレードオフの関係となる。シンプルに言えば、同じメモリ帯域を稼ぐのに、どこにコストをかけるかという選択が、MicrosoftとSCEで分かれたことになる。

 Xbox One APUの製造プロセス技術とファウンドリは、まだ明らかになっていない。50億というトランジスタ数を考えると28nmプロセスの可能性が高いが、昨年の段階ではMicrosoftのサンプルチップは40nmプロセスだと言われていた。もっとも、Microsoftが、もし40nmで立ち上げたとしても、すぐに28nmプロセスへと移行するだろう。50億という規模は、明らかに28nm以下のプロセスを前提とした設計だ。

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