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

ベールを脱いだ「Xbox 360」




●CPUの動作クロックは3.2GHz

Xbox 360外観
 Microsoftが、いよいよ次世代Xbox(Xenon:ゼノン)のベールをはいだ。ブランド名は「Xbox 360」。米国では「スリーシックスティ」、日本では「サンロクマル」と読ませる。

 Microsoftは、MTVでのXbox 360特別番組放送に合わせて、日本でもXenonのお披露目イベントを行なった。イベントではスペックの説明はほとんどなかったものの、Xenonのスペック資料を配付。Xenonの大まかな姿は明らかになった。

 まず、XenonのCPUから。CPUの動作周波数は3.2GHz。これは、かなりがんばったスペックだ。ゲーム機のCPUの周波数は、PCのCPUのそれとは意味が異なる。半導体製品の場合、1枚のウェハから、高速で駆動できるチップから低速でないと動かないチップまで、様々なチップが採れる。PCのCPUの場合は、周波数の異なる数種類のスキューを用意し、高クロック品は高価格で、低クロック品は低価格で販売する。

 しかし、ゲーム機の場合は、ターゲット周波数に達しないCPUは、使いようがないため捨てるしかない。そのため、ゲーム機では、歩留まりを上げるために、できるだけ多くのチップが、ターゲット周波数以上で動作するようにしなければならない。したがって、ターゲット周波数は、大半のチップが動作する低めの周波数に設定する。つまり、簡単に言えば、XenonのCPUのスペックが3.2GHzということは、製造するチップの大半が3.2GHz以上で動作することを意味する。

 動作周波数が3.2GHzであることから、Xenon CPUの製造プロセス技術は90nmであることが類推できる。これは、現在、安定して使用可能なプロセス技術で、Power系を3GHzで動作させることができるのは90nmプロセスだからだ。

●115.2 GFLOPSの演算性能のXenon CPU

 CPUコアはワンチップに3個で、共有のL2キャッシュを1MB持つ。ISAは基本的にはPowerPC互換。シンメトリックなマルチコア構成で各CPUコアの構成は全く同じだと言う。CPUコア自体の概要はまだわからないが、3つのCPUコアにそれぞれベクタ演算ユニットである「VMX(MotorolaのAltiVec相当のSIMDユニット)」が1基ずつ搭載されている。

 公開されているXenon CPUの浮動小数点演算性能は115.2GFLOPS。3コア分なので、悪くない演算性能だ。もちろん、マルチスレッドでこの性能を使い切ることができればの話だが。計算上の理論性能は、Intelのデュアルコア「Smithfield」の4倍程度になる。ちなみに、Cellプロセッサは4GHz時に、アプリケーション用CPUコアの「SPE(Synergistic Processor Element)」の演算性能で256GFLOPS。Xenonは、理論値では約半分程度となるが、CellもPS3搭載時には周波数が下がると見られるため、差はもう少し縮まるだろう。

 ではXenonの115.2 GFLOPSの内容はどうなっているのだろう。まずVMXのSIMD演算性能は計算では下のようになる

VMX(SIMD演算)ユニット3(3コア×1ユニット)
単精度オペレーション/サイクル24(3ユニット×4way×2オペレーション/サイクル)
動作周波数3.2GHz
ピーク性能76.8GFLOPS(24オペレーション×3.2GHz)

 となると残りは38.4GFLOPS分。こちらは、非ベクタのFPU(浮動小数点演算ユニット)の性能だと推測される。CPUコアがPowerPC 970(G5)系だとしたらFPUは各2基ずつあるので、おそらく下のようになる。

浮動小数点演算ユニット6(3コア×2ユニット)
単精度オペレーション/サイクル12(6ユニット×2オペレーション/サイクル)
動作周波数3.2GHz
ピーク性能38.4GFLOPS(12オペレーション×3.2GHz)

 逆を言えば、このことは、Xenon CPUコアがPowerPC 970系と似た構成であることを示唆している。VMXとFPUのイシューポートも分離されていて、並列に命令発行できることも示している。もっとも、Xenonでは1基の倍精度FPUだけを各CPUコアに載せて、1基のFPUで2wayの単精度浮動小数点演算をできるようにした可能性も残ってはいる。ゲームの場合は、倍精度の浮動小数点演算性能はあまり必要とされていないからだ。FPUは必要なトランジスタ数が多く、高コストなので、ここを節約するのは合理的だ。

●VMXのレジスタを128本に拡張

 VMX自体も拡張されている。PowerPC系のVMXは、もともと128bitレジスタを32本備えていた。しかし、Xenon CPUのVMXは、各CPUコアに128本のVMXレジスタ(VRF)がある。明記されていないが、これは物理レジスタだけでなく論理レジスタも128本になっていると見られる。また、Xenon CPUコアはそれぞれ2wayのマルチスレッドで、レジスタリソースを2重に備えるため、物理的なVMXレジスタ数は各CPUコア256本ずつとなる。

 面白いことに、このレジスタ本数は、PS3のCellプロセッサの、アプリケーション用CPUコア「SPE(Synergistic Processor Element)」のSIMD演算ユニットのレジスタ本数と同じだ。Cellでは、ループアンローリング(ループの展開)による処理高速化のためには、レジスタ本数をここまで増やす必要があると説明していた。レジスタ競合を避けるために、ループ内のレジスタを、コンパイラレベルで多くの論理レジスタに割り振る必要があるためだ。Xenonも同じ思想でレジスタ本数を増やした可能性がある。だとしたら、Xenon CPUについても、SPEのコンパイラと似たようなループアンローリングによる最適化を行なうコンパイラが提供されていることになる。

 ゲームアプリケーションプログラムのような場合、ループで大量データを処理する場合が多いと推測される。プログラムの場合は、小さなコード部分が、CPUの処理時間のほとんどを占める(パレートの法則)ため、局所性の強いプログラム部分に多いループを最適化することは、性能上大きな意味がある。

 現実問題、現在のCPUでは、トランジスタ資産自体は豊富にあるので、レジスタ本数を増やすことは、製造面ではそんなに大きな問題ではない。レジスタ本数を増やす場合の問題は、スレッドを切り替える場合、コンテクストスイッチングに時間がかかるようになってしまうことだ。このペナルティを軽減するために、Xenon CPUではマルチスレッディングをサポートしているのかもしれない。

 もっとも、VMXを使うタスクが限られているとすれば、方策は他にもあると、CPUに詳しいライターの塩田紳二氏は指摘する。例えば、VMXを特定のタスクにバインドして、VMXレジスタだけは通常は待避しないようにブロックすることもできる。そうすれば、待避する必要があるのは32本ずつの64bitのGPRとFPRだけで済むので、コンテクストスイッチングは軽くなる。

 ゲーム機の場合、特定のプログラミングコミュニティに特定のプログラムを書いてもらうだけなので、こうしたアーキテクチャの拡張は、比較的やりやすい。

●2wayのマルチスレッドアーキテクチャ

 すでに説明したように、Xenon CPUでは各CPUコアが2スレッドを並列実行できる。そのため、3CPUコアでは合計6スレッドの並列度となる。ただし、2つのスレッドを完全に同時実行できるHyper-ThreadingライクなSMT(Simultaneous Multithreading)かどうかはまだわからない。

 例えば、CellのPowerPCコアであるPPE(Power Processor Element)は、2スレッドの命令を1サイクル毎に切り替えて実行する「Fine-Grain」型のマルチスレッディングを行なっている。これは、CellのPPEが比較的シンプルコアで、複雑な命令スケジューリングをハードウェアで行わないからだ。通常は、out-of-order型のスケジューラで、SMTの管理も行なう。

 しかし、Xenon CPUがPowerPC 970系と同等のCPUコアなら、当然out-of-order型のスケジューリングも行なうはずだ。そのため、SMT型のマルチスレッド制御を、比較的容易に実装することができる。

 Xenon CPUのFSB(フロントサイドバス)は21.6GB/secの帯域。バスアーキテクチャが現在のPowerPC 970系と同じだとすれば、高速パラレルのユニダイレクションバスで、片方向が10.8GB/secずつということになる。XDR DRAMメモリインターフェイスをCPUに内蔵するCellと異なり、メモリインターフェイスはCPU側には持っていない。CPU側に接続されたメモリを共有するPS3とは構成が異なる。

 XenonのCPUについては、まだマイクロアーキテクチャの詳細がわからないため、パフォーマンスも不明部分が多い。PowerPC 970系とどの程度近似なのかもわからない。ただし、予想できるのは、CellのPowerPCコアであるPPEほどシンプルアーキテクチャではない可能性が高い。Cellは9コアを集積するために、各CPUコアをシンプル化した。それに対して、Microsoftのフィロソフィは、汎用コンピューティングの性能は維持することで、そのために、Xenon CPUは、比較的リッチなCPUコアを備えていると推測される。集積するコア数も3個と少ないため、複雑度の高いコアでも、Cellと同程度のコストのダイ(半導体本体)に納められるかもしれない。

【Xbox 360 仕様一覧表】 by GAME Watch
CPU IBM PowerPCカスタム 3.2GHz 対称型3コア
1MB L2キャッシュ
各コア2スレッド(計6スレッド)
各コアにVMX-128ベクトルユニット(計3ユニット)
各スレッドに128個のVMX-128レジスタ
CPUゲーム演算性能 90億内積処理実行/秒
グラフィックプロセッサ ATIカスタムグラフィックプロセッサ 500MHz
10MB内蔵DRAM(EDRAM)
シェーダーパイプラインへ動的に割り当て可能な並列48基の浮動小数点演算器
統合型シェーダーアーキテクチャ
ポリゴン描画能力 5億トライアングル/秒
ピクセルフィルレート 16Gサンプル/秒 MSAA(マルチサンプルアンチエイリアシング)4X使用時
シェーダー演算性能 480億回/秒
システムメモリ 512MB GDDR3 RAM 700MHz DDR
UMA(統合型メモリアーキテクチャ)
メモリ帯域 メインメモリ : 22.4GB/秒
EDRAM : 256GB/秒
フロントサイドバス : 21.6GB/秒
浮動小数点演算性能(システム全体) 1T FLOPS
記憶装置 20GB HDD(取り外し、アップグレード可能)
12倍速 DVD-ROMドライブ(2層対応)
64MB メモリユニット(発売時の容量)
I/O 最大4台のワイヤレスコントローラ対応
USB2.0端子 ×3
メモリユニットスロット ×2
オンライン対応 Xbox Live
Xbox Liveマーケットプレース(コンテンツダウンロード)
ゲーマープロファイル(全ゲーム共通)
ボイスチャット
イーサネット端子内蔵
IEEE 802.11a/b/g対応ワイヤレスLAN(オプション)
ビデオカメラ(オプション対応予定)
デジタルメディア対応 DVDビデオ、DVD-ROM、DVD-R/RW、DVD+R/RW、音楽CD(CD-DA)、CD-ROM、CD-R、CD-RW、WMA CD、MP3 CD、JPEG Photo CDの各フォーマットに対応
Windows Media Center Extender機能内蔵
携帯音楽プレーヤーやデジタルカメラ、Windows XP対応PCに保存されているデータの再生
HDDへの音楽の取り込み
全てのゲームで使用可能なカスタム再生リスト
音楽再生時の3D視覚エフェクト
ハイビジョンゲーム対応 全てのゲームで16:9のワイド画面、D4(720p)およびD3(1080i)表示、アンチエイリアシング対応
ハイビジョンビデオ出力
標準ビデオ映像出力
オーディオ サラウンド音声出力
48KHz 16ビットオーディオ対応
320チャンネルの音声を同時デコード
32ビットオーディオ処理
256以上の同時発音数
本体の設置方向 縦置き、横置きに対応
フェイスプレート 交換可能(オプション)

□関連記事
【5月13日】Microsoft、新ゲームコンソール「Xbox 360」
http://pc.watch.impress.co.jp/docs/2005/0513/ms.htm
【5月12日】【海外】次世代ゲーム機ウィークにいよいよ突入
http://pc.watch.impress.co.jp/docs/2005/0512/kaigai177.htm

バックナンバー

(2005年5月14日)

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