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

Xbox 360のキーパースンJ Allard氏に聞く(前編)




J Allard氏
 E3で華々しくデビューを飾ったMicrosoftの新ゲームコンソール「Xbox 360」。

 Microsoftで、XboxプラットフォームとXNA(Microsoftのゲームプログラミングフレームワーク)を担当するJ Allard(J・アラード)氏(Corporate Vice President, Chie XNA Architect)に、Xbox 360とライバルのPlayStation 3について伺った。


●Xbox1とほぼ同じペースのハードウェア開発ペース

【Q】 Xbox 360の開発キットは、「βキット」がGDC(Game Developers Conference)のしばらく後に提供される予定だと聞いていた。若干遅れているようだが。

【Allard】 開発キットは、まだ(E3時点では)「αキット」の状態だ。αキットはPowerPC G5のデュアルプロセッサベースのシステムだ。だが、(E3後)早いうちに、βハードウェアへと移行する。βキットは、最終ハードウェアコンポーネントに非常に近い。

 現時点でのシステムとしての完成度は、Xbox1の時とそれなりに似た状態だと思う。2001年のE3では我々はまだXbox1のαキット段階だった(Xbox1は2001年秋に発売)。だからXbox1と同様、ローンチは成功すると確信している。

 また、キットを提供する前から、我々は、開発者が必要とする情報は全て提供しようと務めている。彼らが、ターゲットとするスペック、移行を容易にするソフトウェアも提供しつつある。αキットを早期に提供したため、コンテンツ開発もとてもうまく行っている。現在、約160タイトルが開発されている。非常にいい数字だ。

●シリコンコストの削減を織り込んだ戦略

【Q】 Xbox 360はかなりの高コストに見える。例えば、メモリチップの個数は4個から8個に増えた。GPUは以前は150平方mm程度のダイサイズだったのが、今回ははるかに大きなチップとeDRAM(組み込みDRAM)チップの組み合わせだ。CPUは枯れたPentium IIIを安く仕入れたのが、今回は3コアの新設計のカスタムCPUだ。これでコスト的に見合うのか。

【Allard】 その指摘はある意味で正しい。Xbox 360はXbox1と比べると、ローンチ時のダイエリアのシリコンコストはかなり高い。その分、パフォーマンスもインプレッシブだが……。

 我々の今回のアプローチを説明しよう。今回のポイントは、製造と設計をよりコントロールすることで、もっとシリコンにコストをかけられるようにすることにある。シリコンコストは、(ゲームコンソールの)他のどの要素よりコストを削減しやすい。だから最初はコストが高くてもOKだ。(チップを微細化することで)後で下げられるからだ。

 将来的には、DRAMの容量も上げるし、プロセス技術も90nmから65nmや45nmに微細化(してチップを小さく)できる。さらに、我々はまた、マザーボード上の複数のチップを統合することもできる。また、(微細化や統合化の結果)消費電力も下がり、電力供給のコストも下がる。だから、我々は今世代(Xbox 360)では、価格とコストの(下降)カーブが、非常に望ましいものになると確信している。

【Q】 CPUはシンメトリックな3コアのCPUと発表されている。このCPUコアは、PowerPC 970(G5)と同等なのか。それとも、シンプル化したのか。

【Allard】 よりシンプルで、かつ、より先進的だ。基本的に、我々はPowerPC G5と同じCPUコアを採用した。ベースとなっているのはPowerPC G5だが、そこから、それほど重要でない機能を省いていった。例えば、各CPUコアに独立したL2キャッシュを備える代わりに、3コアで共有するL2キャッシュを採用した。

【Q】 ゲームコンソールでは、2個の倍精度浮動小数点演算器も必要ないだろう。

【Allard】 その通りだ。我々は汎用コードを走らせるわけではないので、(汎用の設計のG5には)他にも、我々が必要としない機能がいくつもあった。それらを取り去った後に、いくつか機能を加えた。例えば、キャッシュ共有のためのクロスバーを備えた。セキュリティのための特殊なハードも備えた。また、ターゲットとする3.2GHzを達成できるように改良も加えた。PowerPC G5チップは、まだ3.2GHzに達していないが、我々のCPUは3.2GHzで出せる。

●XboxのOSカーネルをPowerPCに移植

【Q】 MicrosoftはPowerPC向けWindows NTから手を引いて久しい。Xbox 360のOSカーネルは新規に起こしたのか、それとも以前のPowerPC版Windows NTカーネルをベースにしているのか。

【Allard】 我々は最初のXboxプロジェクトを始めたときに、NTカーネルの一部をXbox1に移植した。今回は、そのカーネルをPowerPCに移植した。(PowerPC用の)Windowsコードベースに戻ったのではない。最初から、Xboxコードベースを適用した。これが開発者にとって重要なのは、Xbox1で慣れ親しんだAPIと同タイプのAPIが使えることだ。

 もちろん、ただ移植しただけでなく、カーネル自体もかなり進化させた。Xbox 360カーネルでは、マルチプロセスで6つのハードウェアスレッドをサポートしている。I/Oシステムも進歩させた。だが、そうした拡張にもかかわらず、Xbox 360のOSは、依然として小さく収まっており、(レイヤーが薄いため)非常にハイパフォーマンスだ。

【Q】 Xbox1では内蔵のROMに小さなローダーがあり、OS本体は光ディスクからブートしていたはずだ。Xbox 360の場合は、OSの各コンポーネントはどこにあるのか。やはり、光ディスクからロードするのか。

【Allard】 今回は、Xbox1の時とはちょっと違う。Xbox1では、ROM上にスモールカーネル程度の、単純なブートローダーよりもう少し大きいファイルを持っていた。今世代は、より多くのテクノロジーをROM上に載せる予定だ。例えばネットワーキングスタックも、ディスクではなくROMに載せる。ユーザーインターフェイスなどもROMだ。多くの重要なソフトと機能がROMに載ることになる。

 基本的にはXbox1と同様の戦略だが、より規模が大きくなる。RAMにロードするソフトウェアを、できるだけ少なくすることも目的だ。しかし、ゲーム用ライブラリは依然としてゲームディスクに載せて出荷される。互換性のためだ。

【Q】 GPUアーキテクチャを見る限り、グラフィックスAPI側もDirectX 9より拡張する必要がある。PCグラフィックスとの互換性はどうやって確保するのか。

【Allard】 2つのプラットフォームの互換性をフルに保つのは難しい。PCプラットフォームとXboxプラットフォームには基本的な違いが常にある。とはいえ、我々はパートナーに対して、この2つが、できる限り似たものになるように、努力している。少なくとも、Xbox 360とPCの2プラットフォームに向けてゲームを書くのは、他のどの次世代ゲームプラットフォームとの組み合わせに対して書くよりもシンプルになると信じている。我々は、できる限り容易になるように務めるが、決してフリーではない。

●難しいグラフィックスやLiveの互換性

【Q】 Xbox 360と初代Xboxの互換性をソフトウェアベースで取るとときいた。しかし、ソフトウェアエミュレーションでは性能が大きく削がれる。特に、x86とPowerPCのように、CPUのバイトオーダ(データの格納順番)が逆だと性能は上げにくい。

【Allard】 互換性のためのソリューションは、部分的にはシリコンにある。だが大半のソリューションはソフトウェアだ。Microsoftの製品「Virtual PC」は、Macintosh上でWindowsが動くようにするエミュレータで、x86コードをPowerPC上で走らせている。この製品を開発したチームは、Microsoft内部にある。だから、我々は、この問題については、最初からある程度の経験がある。そして、Xbox 360では非常にパフォーマンスに余裕がある。だから、ソフトウェアエミュレーションでも問題はないだろう。

 有り体に言ってしまうと、x86シミュレーションはむしろ簡単な部類だ。単純な命令セットのエミュレーションだからだ。それよりも、グラフィックス、Xbox Live、I/O回り、これらの方がずっとエミュレーションは難しい。

【Q】 グラフィックスは、ソフトウェアがハードを直接叩くケースも多いため、かなり難しいのでは。

【Allard】 まず、我々はボードコストを抑えなければならない(から互換性のためだけにチップを搭載することはできない)。そのため、我々は、(新旧の2つのGPUで)異なるグラフィックスパイプや圧縮技術をどう扱うかという課題に直面している。我々は、ゲームデベロッパに対して、(Xbox1向けタイトル開発で)NVIDIAチップをレジスタレベルでどのように扱うことも許した。そのため、我々は、(Xbox 360 GPUでは)レジスタコンパイナなどに関して、(互換性のために)ちょっと特殊な工夫をしなければならなかった。

【Q】 NVIDIAはシャドウバッファなどについて特許を持っており、ATIはその技術を使えない。これはどう解決するのか。

【Allard】 それについてはNVIDIAから合意を得た。ソフトウェアエミュレーションで、開発者がNVIDIAアーキテクチャーで使っている機能をフルに利用することが可能になった。

 グラフィックスだけでなく、Liveの互換性もかなりやっかいだ。特に今回は、コアシステム上にLiveの機能を統合したため、さらに複雑になっている。

□関連記事
【5月26日】【海外】Xbox 360から見えるUnified-Shader時代のGPUの姿
http://pc.watch.impress.co.jp/docs/2005/0526/kaigai183.htm
【5月14日】【海外】ベールを脱いだ「Xbox 360」
http://pc.watch.impress.co.jp/docs/2005/0514/kaigai178.htm
【3月29日】【海外】キーパースンが語る次世代Xbox“Xenon”と開発環境
http://pc.watch.impress.co.jp/docs/2005/0329/kaigai167.htm

バックナンバー

(2005年6月2日)

[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.