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

コストとの戦いとなる次世代ゲームコンソールのメモリ




●あとになるほど重くなるDRAMのコスト

 次世代の据え置き型ゲーム機(ゲームコンソール)のアーキテクチャはどうなって行くのか。まず、もっとも不明点が多いメモリから見て行こう。

 次世代ゲームコンソールの搭載する外付けDRAMメモリは、メモリ帯域が20GB/secから最大でも40GB/sec、メモリ容量は256MBから最大で512MBとなりそうだ。

 容量は、コストを考えて計算すれば穏当なラインは256MBだ。しかし、256MBでは足りないというデベロッパの声も多い。現行世代のコンソールでも、メモリ量の制約への不満の声は多い。そのため、次世代PlayStation(PS3?)や次世代Xbox「Xenon(ゼノン)」といった次世代マシンは、E3でフタを開けたらメモリは512MBという可能性も非常に高い。

 ゲームコンソールベンダーは、なぜメモリ容量を増やすことに慎重なのか。

 基本的な部分から説明すると、ゲームコンソールでは、コスト削減のためにチップ個数を減らすことが大命題となっている。これは、最終的にハードの小売価格を、100ドル台前半にまで落とさなければならないからだ。そのためには、1ドル2ドルといったコストも惜しんで削る必要がある。

現在もっともシュリンクされたPlaystation 2(SCPH-70000)の基板 搭載されている2個のRDRAMチップ

 CPUやGPUといったロジックチップは、最初はダイ(半導体本体)が大きくて1個当たり数十ドルと非常に高コストでも、プロセス技術が進むとチップサイズが小さくなり、コストが急激に下がる。同じFabで製造しているチップセットなら、2チップを1チップにまとめてさらにコストを下げることもできる(SCEのEE+GSがその例)。つまり、微細化で、コストが大きくスケールダウンする。

 それに対してDRAMは、最初から1チップのコストはそれほど高くないものの、そのためにCPUやGPUほどスケールダウンしない。DRAMチップもプロセスの微細化でチップサイズは小さくなる。現行のPS2などを開けると、RDRAMが極めて小さなダイ(半導体本体)にシュリンクしていることがよくわかる。

 しかし、実際のチップのコストは、ダイ(半導体本体)とパッケージとテストにかかる。そのため、もともとダイが小さめのDRAMは、ある程度までダイが小さくなると、それ以上はコストが下がりにくくなる。そこで、汎用DRAMの場合、ビットクロスと呼ぶ現象が起き、ある時期からは次の世代の倍(または4倍)容量のDRAMチップの方がビット当たりの単価が安くなる。つまり、DRAMはCPUやGPUほど、微細化によるスケールダウンが効かない。

 こうした事情から、ゲームコンソールでは、最初はCPUやGPUが総コストに占める割合が多いが、数年するとDRAMの占める割合が相対的に大きくなる。安くなれば1個数ドルのDRAMチップはたいしたコストではないとも言えるが、ゲームコンソールでは問題になる。コンソールの販売価格をギリギリの100ドル台にまで下げなければならなくなると、DRAM個数が多いとコストがそれなりに重荷になる。もちろん、実際のコストはDRAMベンダーとの契約によるが、コンソールベンダーもDRAMを値切りにくい。

 この問題を回避するには、プロセスが進むにつれて、DRAMの容量を倍容量あるいは4倍容量のものへと切り替えて行けばいいわけだが、それも問題がある。DRAMの容量を2倍にしたら、DRAM 1チップ当たりの帯域も2倍にしなければならないからだ。そうしないと、同じメモリ帯域が保てない。ところが、DRAMの転送レートは1世代で2倍にはとてもならない。そのため、DRAMチップを大容量品へと置き換えて行くことは比較的難しい。そうなると、DRAMチップ個数だけは変わらず、それが次第にコスト上の重荷になって行く。

 唯一の解決策は、最初にx16(16bitインターフェイス)のDRAMチップを積み、それをあとでx32のDRAMチップに切り替えるといった方法だ。インターフェイスが倍になればチップ当たりの帯域も2倍になる。その代わり、最初の世代はチップ当たりの帯域は最大にはならない。標準的なコモディティDRAMではx16までが低コストのメインメモリ用に、x32が主にグラフィクス用などに提供されている。

●メモリ帯域を広げるにはDRAM個数が必要

 こうした背景を踏まえて、ゲームコンソールのメモリを見てみよう。

 ゲームコンソールのメモリは、大枠の流れで言うと、eDRAMのビデオメモリ+広帯域DRAMによる共有メモリ(CPUとGPUで共有する)の組み合わせへと向かっている。もちろん例外はあるものの、典型的にはこうした形態を取る。現行ではPS2とGCがこのスタイルだ。eDRAMを使うコンソールが多いのは、上記の理由でコンソールでは搭載できるDRAMチップ数が限られるため、比較的少ないDRAMチップ数で広メモリ帯域を実現しなければならないからだ。

 メモリ帯域とメモリ個数は、ある程度比例関係にある。メモリのピーク帯域は「転送レート×メモリインターフェイス幅」で計算できる。このうち、転送レートは基板上の伝送技術の制約で、なかなかリニアには上がらない。つまり、メモリインターフェイス幅を広げないと、メモリの高速化を加速できない。

 メモリインターフェイス幅は、「DRAMチップのインターフェイス幅×DRAM個数」で決まる。DRAMのインターフェイス幅はPS2/3が使うRambus系メモリが最大x16(16-bit)、Xboxが使うDDR系メモリが最大x32(32-bit)で、これ以上は汎用品では広げにくい。そのため、メモリインターフェイス幅を広げようとしたら、メモリ個数を増やすしかない。逆を言えば、DRAMチップ個数が少ないと、メモリ帯域はある程度限られてしまう。

 PCやワークステーションの場合は、DRAM個数を増やせるので広メモリ帯域を実現しやすい。例えば、2005年末のハイスペックゲームPCを考えると、メインメモリではデュアルチャネル(128bit)インターフェイスDDRかDDR2で最大8.5GB/secをx16のDRAMチップ8個で、ビデオメモリでは256bitインターフェイスGDDR3で最大40GB/sec程度をx32のDRAMチップ8個で実現する。つまり、合計16個のDRAMチップで、最大50GB/sec弱の帯域にするわけだ。同様に16個のDRAMチップを使うことは、コンソールではできない。

 もっとも、ポジティブな要素もある。ゲームコンソールはDRAMインターフェイス高速化の面ではPCより有利だ。それは、メモリモジュールを使わないうえに、大容量化の必要がないからだ。PCの場合は1チャネルに現在なら2枚のDIMM(4ロード)を接続する必要がある。そうなると、SDRAM/DDR系のメモリアーキテクチャの場合は、メモリチャネル上に分岐が生じるため、高速化が難しくなる。また、物理的なコネクタが間に挟まれるモジュールを使うことも、高速化をやりにくくしている。

 それに対してゲームコンソールの場合は、帯域が最優先であるため、1チャネル1ロードでDRAMを接続する。また、モジュールを使わずマザーボードにDRAMを直づけする。そのため、DRAMの高速化はPCと比べて容易になる。実際、XboxではPCでDDR400を使えるようになる前に、DDRメモリ(x32)を400MHzで駆動していた。PS2もスピードイールドの悪かった量産初期のRDRAMを800MHzで駆動していた。

 こうした利点はあるものの、総合的に見れば、コンソールではPC&ワークステーションと比べると、メモリ帯域がボトルネックになりかねない。CPUとグラフィックスの性能がムーアの法則かそれ以上のペースで伸びる一方、メモリ帯域はそれに見合うほど伸びない可能性がある。もしそうなると、プロセッシングデバイスが処理するデータを、メモリからフィードし続けることができず、CPUもGPUも性能を発揮することができなくなってしまう。

●eDRAMで広メモリ帯域を確保する

 そのため、ゲームコンソールではeDRAMを組み合わせるケースが多い。eDRAMでは、DRAMメモリをGPU内部に備えるため、メモリインターフェイスを非常に広くできる。外付けDRAMを増やさなくてもメモリ帯域を大きく広げることができるわけだ。また、メモリセルサイズの大きなSRAMではなくDRAMであるため、比較的大容量のメモリを搭載できる。

 もっとも、eDRAMはロジックチップに混載するためメモリ量は制約される。また、高速かつ高密度なeDRAM技術を持つファウンドリは限られるため、製造委託先が限定される。現行世代のゲーム機ではPS2とGC、PSPがeDRAMを使っている。このトレンドは、まだ継続されると見られる。

 ただし、次世代ゲームコンソールではeDRAMを使ってもまだメモリ帯域が足りないと見られる。最大の問題は、メモリの転送レートがムーアの法則ほどのペースでは伸びないことだ。次世代ゲームコンソールの搭載するメモリのピン当たり転送レートは、現行世代コンソールの3.5〜4倍程度にしかならない。それに対してプロセッシング能力の方はより大きく伸びる。CPUがマルチコアになり、GPUもより多くのパイプラインを備えるようになるためだ。

 物理的に演算ユニット数がトランジスタ数の増大と並行して増え、さらに動作周波数も上がるため、プロセッシング能力はムーアの法則以上に増える。CPU上のスレッドレベル、GPU上のシェーダレベルの並列性が高まると、リニアにプロセッシングパフォーマンスが上がる。すると、増えるプロセッシングパワーに見合うメモリ帯域の拡大が必要になる。バランス上、よりメモリ帯域が必要になるというわけだ。

 また、アプリケーション側からのメモリ帯域のニーズも増える。要因のひとつは、次の世代のゲーム機ではHDTV対応が必須になることだ。これまでは最大でも640×480に対応していればよかったのが(Xboxでは720Pもあり)、今後は、最低でも「720P」(1,280×720プログレッシブ)、可能なら「1080P(1,920×1,080プログレッシブ)」が求められる。高解像度化による直接の帯域ニーズは1080Pですらフレームバッファのフレームアップデートとスキャンアウトで1GB/sec程度しか取らない。しかし、3Dグラフィックスはメモリ帯域イーターで、高解像度化によるテクスチャや頂点データ、Zバッファの増加やピクセルの浮動小数点データ化によるデータ肥大化など諸々の要因が、メモリ帯域を圧迫する。

 そのため、帯域のニーズから次世代ゲームコンソールでは、DRAM個数を増やさざるをえない。コスト増には、多少目をつぶり、現行のコンソールよりも搭載するDRAM個数を増やすと見られる。その結果、ゲームコンソールの搭載メモリ量は相対的に増える。

□関連記事
【4月6日】【海外】見えてきた次世代ゲームコンソールの姿
http://pc.watch.impress.co.jp/docs/2005/0406/kaigai168.htm

バックナンバー

(2005年4月8日)

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