Click


X-Box解析シリーズ「メモリ編」


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

PS2とX-Box、両者の性能を大きく左右するメモリアーキテクチャ


●異なるメモリアーキテクチャ

 プレイステーション2(PS2)をターゲットにしたX-Box。だが、両者のアーキテクチャには様々な違いがある。なかでも、もっとも両者の違いが際だつのが、メモリ回りだ。

 X-Boxでは、メモリはUMA(Unified Memory Architecture)構成で、CPUとグラフィックスがメインメモリを共有する仕組みになる。つまり、メインメモリとビデオメモリは一緒になるわけだ。それに対して、PS2はメインメモリとは別に、グラフィックスチップである「Graphics Synthesizer(GS)」にビデオメモリが内蔵されている。この構成のため、X-Boxではビデオメモリの量は優位だが帯域は不利、PS2ではビデオメモリの帯域は優位だが量は不利となっている。

表:PS2とX-Boxのメモリスペック
PS2X-Box
ビデオメモリメインメモリUMAメモリ
メモリ量4MB 32MB64MB
メモリ帯域 48GB/秒 3.2GB/秒6.4GB/秒
メモリ種類 混載DRDRAM DDR SDRAM
インターフェイス幅2,560bit32bit 128bit
クロック約150MHz400MHz200MHz
転送速度約150MHz800MHz400MHz
DRAMチップ数混載2個 4個?
DRAMチップ容量 128Mbit128Mbit?
テクスチャ圧縮 なしありあり


●論理的なPS2のメモリ帯域

PS2とX-Boxのメモリスペック
 X-BoxはUMA構成であるため、64MBのメモリのうち、フレームバッファやテクスチャメモリといったビデオメモリに割り当てるサイズをフレキシブルに変えられる。これは非常に有利な点で、実質的なビデオメモリのサイズは、PS2の数倍になる。しかし、帯域を比べると、PS2の48GB/秒に対してX-Boxは6.4GB/秒と、じつに7倍の開きがある。これは、PS2のビデオメモリがGSに内蔵された混載DRAMであるためだ。

 一般に、混載DRAMでは容量を大きくすることが難しい(混載DRAMのセルサイズが大きいプロセスが多いため)。その反面、メモリインターフェイスの幅を広く取ることができる。GSでは、この利点をいかして2,560bitという途方もないメモリインターフェイス幅を実現している。このバスは、リードとライトがそれぞれ1,024bit、テクスチャが512bitの構成だ。つまり、GSの16並列のピクセル処理パイプ1本あたりにリード専用バスが64bit、ライト専用バスが64bit、テクスチャ専用バスが32bit割り当てられている計算になる。

 このスペックは非常にロジカルだ。というのは、GSのピクセルデータはRGB各色とαがそれぞれ8bitづつで32bit、Zバッファ32bitと発表されている。つまり、1ピクセルのデータは64bitで、貼り込むテクスチャデータは32bitということになる。つまり、GSのビデオメモリの帯域は、レンダリングエンジンがピークで必要とする量にピッタリと合った理想型というわけだ。


●計算上足りなくなるX-Boxのメモリ帯域

 論理的なPS2のビデオメモリ帯域に対して、X-Boxのメモリ帯域は非常にアンバランスだ。X-Boxのグラフィックスチップ「X-Chip」のフィルレートは、PS2の2倍の4.8Gピクセル/秒ということになっているが、このフィルレートだと単純にフレームバッファへの書き込みと読み出しだけでも、40GB/秒近くのメモリ帯域が必要になってしまう。ところが、X-Boxのメモリ帯域は6.4GB/秒で、しかもCPUと共有するUMA構成であるため、グラフィックスが使える帯域はさらに少ない。つまり、全然足りない。でも、逆に考えれば、このフィルレートが異常に高すぎる。ただ描画するだけならHDTVの解像度でさえ、こんなレートは不要だ。これはどうなっているのだろう。

 現時点で、Microsoft側が説明しているのは、X-Box世代のゲームでは、「ピクセルを何回もプロセッシングする必要がある」(NVIDIA)ということだ。例えば、複数の光源をサポートしたり、「画面全体にアンチエイリアシングをかけて3Dグラフィックスのジャギーをなくす」ために、ピクセルパフォーマンスが必要なのだという。

 こうした説明からすると、1ピクセルにレンダリング処理を複数回かけるということになる。ピクセル処理が終わったピクセルを、メモリに書き込まずにそのまま再びピクセルパイプに流すということだ。確かに、そうした処理を繰り返すのなら、フィルレートはメモリ帯域以上に高くても不思議はない。

 だが、X-Boxのメモリ帯域だと、X-Chipのフィルレートのスペック値を出すには、ひとつのピクセルを7回もピクセルエンジンにかける必要が出てくる。逆を言えば、そうした処理をしない限り、X-Boxはフルのグラフィックス性能が出ないことになる。性能のオーバーヘッドと言えばそれまでだが、今の3Dグラフィックスを考えると、あまり現実的とは思えない。このあたりは、MicrosoftがX-Boxでどんなグラフィックスを実現しようとしているのかを、もっと知る必要がある。今後の取材で明らかにしていきたい。


●PS2のビデオメモリ量はエンジニアにはきつい制約

 狭いメモリ帯域は、X-Boxの性能の制約になる可能性が高い。しかし、メモリサイズになると立場は逆転する。64MBのメモリを好きなだけビデオメモリに割り当てられるX-Boxに対して、PS2は4MBのビデオメモリしか持たない。これは、Dreamcastの8MBよりも少ない。PS2の大きな弱点になっているように見える。

 少ないビデオメモリで、まず制約を受けるのはテクスチャデータの格納に取れるメモリサイズだ。フレームバッファ、ダブルバッファ、Zバッファと取ってゆくと、インターレースで描画するとしても半分近くまでビデオメモリを使ってしまう。つまり、テクスチャの格納に使えるメモリの量は極めて少ない。おまけにテクスチャを圧縮してビデオメモリ上に置いておくこともできない。

 X-Chipは、8対1で圧縮ができる圧縮テクスチャの伸張機能を持つことになっているので、テクスチャを実メモリ以上に詰め込める。ところが、PS2の場合は、圧縮テクスチャの伸張機能を持つのはGSではない。CPU+ジオメトリである「Emotion Engine(EE)」が内蔵するIPU(イメージプロセッシングユニット)がメインメモリ上にある圧縮テクスチャデータを展開する仕組みになっている。そのため、ビデオメモリ上ではテクスチャの圧縮ができない。

 こうしたアーキテクチャのため、PS2ではテクスチャを多用するゲームはメインメモリ上にテクスチャを置いておき、EEからビデオメモリに小出しに転送するというテクニックが、必要になる場合があるという。つまり、ビデオメモリ上のテクスチャメモリは、キャッシュのように使うわけだ。その場合、エンジニアは、ビデオメモリ上にあるテクスチャを把握し、EEから次々にテクスチャを送り込むことに神経を使わなければならない。

 それに対して、X-Boxでは気兼ねなく大きなテクスチャをビデオメモリに置いて、自由に貼ることができる。Microsoftでもこの利点をよく承知しているため、X-Boxの説明会ではひたすら大きなテクスチャを貼ったデモを見せていた。

 また、ビデオメモリの少なさは、HDTVのような高解像度に将来対応する場合にも制約になる。単純計算ではHDTVの1080i(1,920x1,080ドット/インターレース)や720p(1,280x720ドット/プログレッシブ)に出力するには、フレームバッファだけで4MB近くが必要になる。ダブルバッファやZバッファ、テクスチャメモリにビデオメモリを割く余裕はほとんどない。ゲームにはちょっと苦しそうだ。とは言え、これが問題になるのはHDTVが普及し、HDTV向けのソフトが必要となってからなので、現状では問題ではない。


●メモリアーキテクチャの違い

 この他、メモリ回りで重要なのは、メインメモリにPS2がDirect Rambus DRAM(DRDRAM)を、X-BoxがDDR SDRAMを採用する点だ。両者を比較するとメモリ帯域でX-BoxがPS2の約2倍のように見えるが、実際はそうではない。このメモリ帯域のスペックはあくまでもピーク性能で、実効帯域ではDDR SDRAMはぐっと落ちる。X-Boxが4.xGB/秒に対してPS2が3GB/秒だろう。これは、DRDRAMの方が、1チップ当たりのバンク数がずっと多いことが影響している。メモリ搭載量が少ない組み込み向けには、DRDRAMの方が向いている。

 メインメモリの量は、ビデオメモリを差し引いてもX-Boxの方が有利だが、メモリの制約がきついゲーム機に慣れた日本のゲーム開発者にとっては、32MBあれば十分だろう。しかし、PCゲームに慣れた米国の開発者にとっては、64MBはかなり嬉しいかもしれない。

 ちなみに、X-Boxはx32(32bitインターフェイス)の128Mbit DRAMチップを4個搭載すると見られる。x32にするのは、帯域を広くしながらチップ個数を減らせるからだ。DDR SDRAMではグラフィックスと通信向けに、x32の方が先行している。コスト的な比較は、両DRAMアーキテクチャの普及と価格低下にかかっているので、現状ではまだ見えない。

□関連記事
プレイステーション2 関連記事リンク集
http://pc.watch.impress.co.jp/docs/article/20000221/ps2i.htm
X-Box関連記事リンク集
http://pc.watch.impress.co.jp/docs/article/link/xbox_i.htm


バックナンバー

(2000年4月21日)

[Reported by 後藤 弘茂]


【PC Watchホームページ】


ウォッチ編集部内PC Watch担当pc-watch-info@impress.co.jp