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

Hot Chipsで公開されたXbox 360のシステム構成




●ノースブリッジの構成が明らかに

Xbox 360 CPU構成図
 Microsoftは、次世代ゲームコンソール「Xbox 360」システムについて、これまで明らかにしていなかった部分の技術概要を公開した。その中には、主要チップのダイ(半導体本体)写真も含まれる。これらは、米パロアルトで、8月14〜16日に開催されたチップ関連シンポジウム「Hot Chips 17」で発表された。

 Xbox 360では現行Xboxと同様GPUにノースブリッジ機能が統合されている。ノースブリッジ機能も従来より詳細が公開された。

 CPUのFSB(Front Side Bus)と接続する「BIU(Bus Interface Unit)」は、GPUコアとサウスブリッジなどに接続するI/Oユニットと接続する他、メインメモリであるGDDR3のコントローラに直結されている。これは、CPUからのメモリアクセスレイテンシを短くするためだという。CPUではパイプラインがストールした場合のペナルティが大きく、メモリレイテンシのパフォーマンスに対する影響が大きいからだ。

 CPUからのアクセスはメモリコントローラに直結されているが、GPUコアとサウスブリッジチップからのアクセスは、メモリHubまたはメモリI/Fと呼ばれるハブユニットに接続、アクセスを調停される。グラフィックスパイプからのアクセスなどは、レイテンシが長くても性能への影響が小さいため、こうした構成になったと見られる。

 共有のメインメモリ上のフレームバッファからディスプレイコントローラへの読み出しも、メモリHubを経由する。Xbox 360では、アナログ変換はGPUに内蔵されておらず、外部チップを使う。

 2チャネル128bitのGDDR3のメモリコントローラは、1チャネル64bitずつ2つに分離されている。ダイ写真を見ても、この2つは明確に分かれている。また、ダイでは、GDDR3インターフェイスは1チャネルで1エッジをまるまる使い、2チャネルで2エッジを占めている。2チャネルGDDR3はピン数が多いためと見られる。

●サウスブリッジチップはPCI Expressで接続

 Xbox 360 GPUは、GPUのメインダイ(半導体本体)と組み込みDRAM(eDRAM)ダイの2つに分かれている。eDRAM側には、アンチエイリアシング(AA)、アルファ/Zテストなど、固定ピクセル処理のプロセッサのアレイを載せている。広帯域メモリアクセスが必要なこれらの処理を分離、実効256GB/secのeDRAM広帯域アクセスを活かすことで、メインメモリの帯域圧迫を減らす。

 両チップは、同じサブストレート上に載っていて同じパッケージ内に封止されている。eDRAMのダイは、3つの辺(エッジ)がGPUメインダイとの接続用の高速インターフェイスHSIO(High Speed I/O?)に占められている。これは、HSIOのピン数が非常に多いことを示唆している。GPUメインダイとeDRAMチップは、同じサブストレート上にあるため、多ピン接続による広帯域化ができる。GPUメインダイ側も、少なくとも1エッジはHSIOに当てられているように見える。

 FSBの帯域は、片方向10.8GB/secで双方向21.6GB/secの広帯域。これは今までの発表通りだが、Hot Chipsでは転送レートは5.4Gbpsと説明された。ただし、ピン当たり5.4Gbpsとすると、計算上FSBは16bit幅となる。PowerPC 970などIBMの現在のPowerPC系のFSBは32bitなので、高速化のためにインターフェイス幅を狭めた可能性もある。

 ダイ写真を見ると、FSBのPHYの面積は広く、その割に占めるエッジの長さは少ない。複雑な割にピン数が少ないインターフェイスであることを示している。PLAYSTATION 3のCellプロセッサのインターフェイスであるFlexIO(Redwood:レッドウッド)は、5Gbps/pin(最初のスペックでは6.4Gbps/pinだったが変わった)なので、同等のPCI Express 2.0クラスということになる。もっとも、Xbox 360 FSBの数字は、上り下りの転送レートを合計している可能性もある。

 サウスブリッジチップとの接続はPCI Expressで行なう。片方向500MB/secずつ、合計で1GB/secという帯域から、PCI Express x2であることが推測される。今となっては、それほど広帯域ではないが、かといって、通常のI/Oで問題が出るような帯域ではない。ちなみに、初代XboxではGPU−サウスブリッジ間接続はHyperTransportだった。

 サウスブリッジチップにはオーディオフォーマットXMAの伸張用ハードウェアデコーダが内蔵されている。CPU側のデコード負担を小さくすることが狙いと見られる。ディスクドライブとの接続はSATA、メモリユニット(MU)を含む外部機器接続はUSBを使う。標準インターフェイス化は、PLAYSTATION 3と共通している。

Xbox 360 CPUシステム構成推定図
PDF版はこちら

●GPUの各ダイの写真も公開

Xbox 360のGPUダイ写真
 Xbox 360 GPUの2つのダイ(半導体本体)のうち、GPUメインダイはTSMCの90nm GTプロセスで製造する。GTはハイスピードロジックのプロセスだ。eDRAMはNECの90nm eDRAMプロセス。

 今回はGPUのトランジスタ数の内訳も公開された。GPUメインダイは232M(2億3,200万)トランジスタ、eDRAMは100M(1億)トランジスタ。eDRAMチップは容量10MB(80Mbits)なので、DRAMセルアレイで80M(8,000万)トランジスタが最低限必要となる。逆を言えば、残りの20M(2,000万)トランジスタ弱がピクセル処理ユニットのロジックとHSIOということになる。

 GPUメインダイの232Mトランジスタという数字は、同じATIのRADEON X800(R420/423)系の160M(1億6,000万)トランジスタの約50%増。222M(2億2,200万)トランジスタのNVIDIAのGeForce 6800(NV40)系とほぼ同等となる。

 48個のUnified-Shaderというスペックからすると、232Mというトランジスタ数が少ないように見える。eDRAM側のロジックを加えても252M(2億5,200万)に過ぎない。R420/423系は22個のShaderだったので、50%強のトランジスタ増量で、Shader数を2倍以上にしたことになる。Shader数の割に少ないトランジスタ数は、ATIのUnified-Shader設計では、なんらかの方法でShaderの実装を軽くしていることを示している。おそらく、この点はPC向けGPUでも共通するだろう。

 ちなみに、NVIDIAのGeForce 7800 GTX(G70)は、合計32個のShaderを備え302M(3億200万)トランジスタ(320MとあったのはNVIDIAの間違い)だ。NVIDIAの場合、24個のPixel Shaderが極めて複雑なので、G70は実質的にはATIの48 Shaderと同等かそれ以上の複雑さを持つ。PLAYSTATION 3に搭載されるGPU「RSX(Reality Synthesizer)」も、G70とほぼ同様の構成と見られる。

 Xbox 360 GPUのダイを見ると、SRAMアレイと思われるエリアもかなり多いことがわかる。GPUは、通常CPUほど大規模なキャッシュメモリは備えない。実際、Xbox 360 GPUを見ても、単体で大きなメモリエリアとなっているのは2〜3カ所ほど(これはテクスチャや頂点のキャッシュと見られる)で、あとは分散している。GPU全体に分散された形で、多くのバッファが散らばっていることがわかる。

Xbox 360 GPU詳細構成図(一部推定)
PDF版はこちら

●CPUのトランジスタ数は1億6,500万

 Xbox 360 CPUのダイ(半導体本体)も公開された。

 Xbox 360 CPUのトランジスタ数は165M(1億6,500万)。およそPentium 4 6xx(Prescott 2M)クラスの規模のCPUということになる。もっとも、ロジック部分はずっと多い。L2キャッシュは1MBで、6T SRAMだとすると48M(4,800万)トランジスタ。差し引くとL2以外の部分は117M(1億1,700万)トランジスタとなる。およそ、Pentium 4系のCPUコアのロジック+L1が3個分程度の規模のCPUとなる。

 PLAYSTATION 3のCellプロセッサは、Hot Chipsの論文では若干数値が変わり、241M(2億4,100万)トランジスタ、235平方mmダイサイズとなっている。ラフに言えば、Cellは、Xbox 360 CPUの約1.5倍のトランジスタ規模となる。

 CellとXbox 360 CPUはどちらも現在は同じIBMの90nm SOIプロセスを使っている(CellはIBMとプロセス技術で提携するSCEのFabでも製造される)。ほぼ同じプロセスであるため、トランジスタ数の少ないXbox 360 CPUの方が、ダイサイズも小振りだと推定される。Xbox 360の方がPLAYSTATION 3に先行する分、歩留まり的には不利になるが、ダイが小さい分は有利となる。しかし、CellはサブCPUコアのSPE(Synergistic Processor Element)を1個ディセーブル(無効)にすることで、歩留まりを上げている。

 Xbox 360 CPUの3個のCPUコアは写真の上に2コア、下に1コア。L2クロスバー&キューイングを挟んで配置されている。CPUコアはほぼ矩形で整然としている。3コアは対称で、コア1とコア0が左右対称、コア1とコア2が上下対称となっている。対称にするのは、ほぼセオリーだ。

 ダイ上ではデバッグとテスト回路とそのバスが、まだ大きな面積を占めており、これが初代のダイであることをうかがわせる。マスクチェンジをすると、これらのブロックのかなりの部分は消えていくと見られる。

 デバッグ&テスト部分を除いたダイのうち、3つのCPUコアは約50%強を占めている。L2キャッシュは20%程度、FSBと内部バスやクロスバなどが合計で20%弱。残りが、PLLやPICなどとなる。FSBはエッジの半分程度しか占めていないため、インターフェイス幅が狭いことが推測できる。

Xbox 360 CPU詳細構成図(一部推定)
PDF版はこちら

□HOT CHIPS 17のホームページ(英文)
http://www.hotchips.org/hc17/
□関連記事
【8月22日】【海外】ゲーム向けに独自拡張されたXbox 360のCPU
http://pc.watch.impress.co.jp/docs/2005/0822/kaigai204.htm

バックナンバー

(2005年8月23日)

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