2000年 9月
1999年 < 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 > 2001年
9月30日・・・・・任天堂GameCubeを追う
8月の終わりごろ、ようやくと言って良いほど待たされた任天堂の新ハード「Dolphin改めGameCube」が発表されました。
これまでの任天堂は、安いものの寄せ集め的ファミコン、スーパーファミコンなどのイメージも有り、あまり期待していなかったのです。NINTENDO64もRambusで帯域を稼いでいるように見せて、実際のところはメイン基板上の配線を少なくしてコストを稼いでいたように思います。複雑な構造の上、サードパーティの締め出しなどゲーム機としての魅力も少なかったですね。対象年齢を低めに設定しすぎていたせいもあるのでしょうか?
もっとも、さすが任天堂。出てくるソフトに外れは少なかったようですが(^^;)
ゼルダはやりたかったし...(笑)
そこに来ての新ハードです。
本当にどうでもよかったのです。
所が、そのスペック表をみてびっくり。これは面白い。ゲーム機としてではなく、純粋なハードとして興味が湧いてきました。
発表当時に配られた資料には、詳しいスペックが記載されていたにもかかわらず、ほとんど説明らしい説明も無い状態だったそうです。「ピーク性能ではなく、持続性能を重視した」とのコメントが印象的でした。
ピーク性能とは、そのハードが出せる最高の性能です。ある条件下で測定し、最高の数値が得られるようになっていると考えて良いでしょう。理論値にもっとも近い数値になります。PCで一般的なPCIバス。これは理論値133MB/秒です。ピーク性能(バスを占有し、バースト転送を行った場合)おおよそ120~130MB/秒となります。
持続性能とは、一般的な状況下での性能を意味します。PCIバスを普通に使用した場合の性能は100MB/秒程度といわれています。ピーク性能との間には20%程度の誤差が有るのです。もっともPCIは比較的持続性能のよいバスですので、あまり参考にならないかもしれませんが、一時期のビデオカードのポリゴン性能など、すごい数値をうたっているにもかかわらず、コマ落ちが発生したりした経験のある方は少なくないと思います。
スペックを見てみましょう。
CPU IBM PoewrPC ”Gecko”0.18ミクロン銅配線 405MHz 外部バス帯域 1.6GB/秒(ピーク時) キャッシュ
L1:命令32k データ32k(8way)
L2:256k システムLSI ”Flipper”
0.18ミクロン DRAM混載 202.5MHz
フレームバッファ 2MB(1T-SRAM)
テクスチャキャッシュ 1MB(1T-SRAM)テクスチャリード帯域 12.8GB/秒
メインメモリ帯域 3.2GB/秒
メインメモリ 24MB(1T-SRAM)
Aメモリ 16MB(100MHz DRAM)
CPUは、ご存知IBMのPowerPC系ですね。これにカスタマイズを施したものだと思われます。もっともゲームマシンに搭載されるCPUは大概カスタム化されているので驚くに値しないです。キャッシュ容量も標準的ですね。
システムLSIは、凶悪にPS2のエモーションエンジンを意識していますね。LSI上にDRAMを乗せて、帯域を稼ぐ作戦に出ています。
メインメモリの容量も、多少は多いものの、それほどぱっとしません。が、なんがこの1T-SRAMってのは?
本当にSRAMなんでしょうか?
それだったらすごいですね。
その後のAメモリってのも謎です。何に使うんでしょうか?何かのワーク領域なんでしょうか?これまた気になる存在です。
それ以外の面では、8cmのCD-ROMを採用したてんです。1.5GBということで、記録密度は現行のDVDと同等ぐらいと考えられます。それに、オリジナルの認証技術が付加されてくるでしょう。これは、任天堂が海賊版などを大変嫌うからです。コピーの容易なCD-ROMや、規格の統一されたDVDなどを用いずに、オリジナルで行くのは昔からの癖みたいなものですね。ファミコンのディスクシステムがQuickDiskにオリジナルのメディアを利用していたのと一緒です。
コントローラーに3Dスティックが継承されたとか、ボタンが大きくなったとか、データカードが4MBしかないとか、ゲームボーイアドバンスが繋がるとか、ネットワークアダプタや、モデムが出るとか、いろいろあるみたいですけど、それ以外の部分は、割愛(^^)
現在のメモリは、CPUとの速度差は開く一方なものの、それでも着実に帯域を上げてきているように見えます。ファストページ→EDO→SDRAM→DDRSDRAM→RDRAM?って感じでしょうか?(途中にバーストEDOなんてのもありましたね)
ピーク時の帯域は確かに上がってきています。
最近のRambus2チャネルでは、実に3.2GB/秒という数字になっています。一般的なSDRAMでも、600MB/秒程度はあるのでしょうか。昔に比べれば十分な速度だと思えます。
ただ、見落としがちなのは、ピーク性能と言う事です。
ピークと言う事は、ある一定条件下での最高速度だと上記しました。100MHz駆動のSDRAMの場合7-2-2-2-(5-2-2-2)程度で動くので、1回のバースト転送に130ナノ秒かかる訳です。ということは、1秒間に76,923,076回転送できる訳ですね。1回のバースト転送が8バイトになりますから、8で掛け合わせると615,384,608ですので、615MB/秒という計算になります。(すごい適当っす。SDRAMって、7-1-1-1だったっけ? いや、7-1-1-1-5-1-1-1だったから、帯域800んB/sのハズ)
ま、こんなもんと、思ってください。思い出したときに訂正します)
でも、本当にそんな速度が出るのでしょうか?
DRAMにはリフレッシュ動作といって、定期的に内容を更新しておく必要があります。でないと、放電により内容を保持できないからです。これは、数十ミリ秒に一度起こります。また、上記のようにリードを行うには、完全にシーケンシャルでないとDRAM内のアドレス生成が間に合わないですから、ランダムアクセスでは更に低下していきます。
実質的な帯域は300MB/s程度ではないでしょうか?
通常のSRAMは、セル構成に4つのトランジスタを用いており、リフレッシュの動作が必要ありません。また、レイテンシやリードライムも低く、バーストSRAMでは、2-1-1-1、パイプラインバーストSRAMでも3-1-1-1となります。
全体のアクセス速度も速いのですが、データ要求が来てから、その最初のデータが送り返されるまでの時間が驚異的に短い(理論上これよりは短く出来ない)のです。これがランダムアクセス性能が高いといわれるゆえんです。
任天堂Gamecubeに採用された1T-SRAMは、実体は通常のDRAMです。しかし、徹底的に性能にこだわるため内部的に複数のバンクを持ち、それを複数個集めて1つのバスに接続されます(インターリーブ状態)。また、内部的にSRAMを持ち、そこでキャッシュすることによりリフレッシュ動作すら見かけ上隠匿することが出来るのです。
ピーク時の帯域は変わらなくても、実質的な帯域は、かなり広くなっていると思います。これを、ぜひPCのメインメモリにして欲しいです。ホント。
面白いには、CPUがPowerPCに変わったと言う事。
プレイステーション以来、ゲーム機といえばMIPS系のCPUと定説になっていたのです。NINTENDO64も例に漏れずカスタムのMIPSでした。
なんというか、MIPSはもう、新しいCPUの話も聞きませんし、高速化に乗り遅れた感じがします。400MHzクラスを安定して供給できて安いのは、PowerPCぐらいしかないのかもしれませんね。
というわけで、徹底的に安定的性能にこだわったGamecube。
久々に心動かされませんか?
というわけで、来年の7月は、徹夜で並んで買うぞOFFを決行予定です。秋葉原へ行ってGO!です。