1995年
SEGA SATURN
1995年
SEGA SATURN
セガ・エンタープライゼス CSハードウェア研究開発 ゼネラル・マネージャー 浜田和彦氏インタビュー
サターンの開発目標
―サターンの開発に取り掛かった時点でのスペック的な目標というのは、どのあたりにあったのでしょう?
ー16bitのメガドライブをやっていて、能力的に発色数などの点でいろいろ要望がありました。それと32bitへの切り替えの時期だったわけです。そこで1991年末ごろに、何点かのキーワードを持って32bitに変えていきましょうということで開発にとりかかりました。それともうCISCの時代じゃない、RISCだということでRISCのプロセッサをいろいろ探し始めました。
メガドライブの反省から、1677万色という目標がありました、ラインバッファからフレームバッファに変えることにより、スプライトの数に関する制限もなくしました、背景画面数なども今までよりははるかに上のものを実現しました。
バーチャレーシングをその当時出してましたので、今後はこのような3Dのゲームが増えてくると見たんです。これに特化しちゃってもよかったんですが、その当時すべてのゲームが3D CGになるかについてリサーチを行なったところ、せいぜい20~30%という結果だったので、やはり従来型のゲームも大切だということで、「メガドライブより桁違いに性能のよいシステム」という側面も伸ばしていこうと考えました。
また当時やっと決まった動画再生の規格、MPEGをサポートすることも決めました。これに加えしていくつか細かい目標もありますが、このような大枠のコンセプトをもって、開発を始めたのです。
目標はどこまで実現できたか
―ー目標は妥当だったとお考えですか? 目標は実現できたのでしょうか?
ーいま振り返ってみると、もう少しパワーが欲しかったかというところです。特にポリゴン関係ですが。
―ー3D CGを使ったゲームが20~30%を占めるようになるという当時の予測が低過ぎたということでしょうか?
ー低かったとは思いません。ゲーム全体に占める3D CGの比率としてはあまり変わっていないと思います。ただし、マシンの処理能力としてはもっと上を狙ったほうがよかった。
―ー業務用アーケードゲームでの経験をふまえて、高いポリゴン能力を持ったもののほうがよく受け入れられたということですね。
ーサターン企画当時には、MODEL2の基板はまだなかったですから。逆に、その時点からMODEL 2と同じ能力のあるものを目指すのはコスト的に無理でしたからね。
――やはり業務用のほうの進化を追いかけていくという体制になるわけですね。
ーはい。
――サターンの場合、MODEL 1との相対性能はどんなものですか?
ーポリゴンカウントは同程度。あとはテクスチャでカバーするというところでしょう。
――MODEL 2との相対性能は?
ーポリゴンカウントがちょっと厳しい。
――テクスチャの量の不足はないですか?
ー当面、足りないということはないと思います。あと2,3年してソフトを作りこんでいくと厳しくなるかもしれない。
――すると今後の可能性としては、カートリッジスロットに何かDSPのようなチップを付け加えていくということもあるわけですね。
ーあり得ますね、サターンはスロットを残しましたからね。
――その場合、ソフトウェアの互換性をとることは可能ですか?
ー当然ながら、そのカートリッジを使わないソフトウェアは、下のレベルでそのまま動きますし、使うソフトウェアは特殊になるということです。現行のメガドライブ用バーチャレーシングのカートリッジがありますが、ああいう形になると思います。
日立製RISCプロセッサSH2
――CISCでなくてRISCというのは、いわば消極的な選択だったのでしょうか。それともプロセッサ能力などに数値的目標があって、その必然からRISCを選ばれたのでしょうか。
ーCPUのMIPS値という面では、今のSH2の性能は当初予定していた『10MIPSから20MIPS程度』という値を大きく上回り、25MIPSとなりました。その当時、3DOが採用しているARM、Intelのi960、NECのV810など10~15MIPSのプロセッサが幅を効かしていたんです。SH1も10数MIPSしかなく、いろいろ評価していくと処理能力が足りない、そこでSH2を選んだというわけです。
――他社さんではR3000、R4000といったワークステーション用クラスのプロセッサを33MHzから100MHzといったクロックで使ったり、使おうとしたりしていますが、その点はどうお考えになりますか?
ーR3000はさほど能力は高くないです。もう枯れたプロセッサですから値段的にも安くなっていますし、コンパイラもいいところまでいっているさほど恐くはないですけれど、任天堂さんのR4000(Ultra 64)は本当にできるのかなあ(笑)、本当にできたら恐いですね。
なぜツインCPUなのか
――SH2チップを2個搭載するデュアルプロセッサ構成になっていますが、これはどういう分担をしているのでしょうか?
ーいろいろできます。分担はプログラマーが決めることで、如何ようにも使えます。
――キャッシュとメモリの共有/非共有はどうなっているのでしょうか?
ーキャッシュは非共有です。ワークメモリとビデオメモリは共有で、どちらのプロセッサからもアクセスできます。
――そうすると、キャッシュコヒーレンシやアービトレーションの問題が出てきますね。
ー当初われわれが考えたことですが、SH2のオンチップキャッシュはキャッシュ以外にも使用できるのです。1Kbytes単位でプログラム領域にも使えます。4Kbytesのキャッシュをフルに使ってプログラムを組んでしまえば、アービトレーションの必要はなくなり、コプロセッサ的に答だけを返すようにすることができるわけです。
――キャッシュコヒーレンシの機構はあるのでしょうか? あるとしたら、Write-Updateですか?
ー独立したバスがありますから、連想パージによってコヒーレンシを保ちます。
――ソフトウェアによるアービトレーションということですね、アービトレーションのためのハードウェアは用意しているのでしょうか?
ーあります。ただし、同じところを両方からアクセスしていたのでは、アクセス待ちになって時間が倍かかりますから、デュアルプロセッサの意味がない、バーチャファイターの場合ですと、キャラクター単位に分割してそれぞれに処理を行なっています。演算が一様に重いですから、キャッシュ上で演算して答を出している。
――バーチャファイターの例ですが、プレイヤーの入力のほうは帯域も狭いですから問題なく各プロセッサに分けられるとして、ビデオプロセッサへのポリゴンの頂点座標などの書き込みはどのようにして、競合が起きないように行なうのでしょうか?
ーCPUが直接ビデオプロセッサに書き込みを行なうのではなくDMAを使うのです。
――あらかじめ各CPUに領域を割り当てておいて、それぞれから独立にDMA転送するため、競合はおきないということですね、ワークメモリは、プロセッサ側とビデオプロセッサ側とからどのように共用されるのですか、デュアルポートになっているのでしょうか?
ーデュアルポートというより、プロセッサ側とビデオプロセッサ側とは別のバスになっているのです。バスは何本もあるのです。ワークをアクセスしているとビデオ側がアクセスできないとか、といったことはないのです。
――CPUはメモリコントローラか何かを介してメモリと接続しているのですか?
ーSH2はメモリインターフェイスを持っているので、直接接続されています。
――そうするとメモリ側にDMAまで統合されているわけですか。
ーそうです。
――プロセッサ上のDMAコントローラを使用しているのでしょうか? それとも、別にコントローラを持っているのでしようか?
ープロセッサ上はもちろん、別にも用意しています。
Synchronous DRAMを採用した理由
――Synchronous DRAMを使われているのは帯域幅をかせぐためですね。
ーSH2はSynchronous DRAMのインターフェイスを持っているので、何も考えなくても接続できる。もっともセガがくっつけてもらえるようにしたんですけどね。
――それはやはりセカンドキャッシュなどを付けるわけにはいかないからですね。
ーSH2は28MHzのクロックでノーウェイトで動作します。つまり1クロックに1命令実行できます。当然ワークメモリ以外に書く場合は、それぞれのアービトレーションが必要なので、もっと遅くなります。
――ワークメモリを実質的に非共有で使う場合の話ですか?
ーそうです。
――それにしてもすごいですね、ワークメモリ以外のメモリもすべてSDRAMですか?
ーノーコメント。買って開けて見てください(笑)。われわれの使っているクロック周波数は100MHzといったものではないですから。でもレーテンシは非常に小さいです。
――つまり、アドレスを出力すると次のクロックにデータが得られる。
ーもちろんバーストで読む場合のサイクルタイムはSRAMなどに比べると速いです。
――ワークメモリからビデオプロセッサのメモリへのDMA転送を行なう場合、どのような転送能力があるのですか?
ーDMAの転送能力は最大50Mbytes/secです。
――3Dで頂点座標などを流すだけなら十分な性能ですが、2Dでプロセッサ側からビットマップを流そうと思うと辛いですね。
ーコマンドをもらって絵を描くビデオプロセッサが2個付いていて、それぞれにメモリが用意されていて、ビデオプロセッサのプログラムを書く領域もあれば、データを書く領域もある。そのまま展開をする機構、拡大、縮小など絵を描くうえで必要な機能がすべてビデオプロセッサ側で用意されていて、メインCPUからはコマンドだけ送ればいい。
――動画のデコンプレッション(圧縮ファイルの解凍)などもビデオプロセッサ側でできるのですか?
ーデコンプレッションはソフトが行ないます。
――そうすると動画表示の場合はDMAがボトルネックになりませんか?
ーボトルネックになるかどうかは分かりませんが、今ソフトでやっているのは、Cinepakとフルモーションですから。これで毎秒60枚表示が必要かというと、そうではなくて30枚から24枚、MPEGはオプションですから、専用のハードウェアを持ってきて別系統でビデオプロセッサに入れるんです。
――メモリ容量はどうなってますか?
ーワークRAMは2Mbytes、ビデオは全部で1.5Mbytes。カラーパレットはこれらとは別に用意されています。
ビデオプロセッサのアーキテクチャ
――2個のビデオプロセッサのメモリはそれぞれ独立しているのですね。
ーそうです。
――この2つはメモリを共有していないわけですが、間に何かDMAのような機構があるのですか?
ーDMAといえばDMAですが、ハードウェア的にはデータを読みだしながら送る機構とカウンタがあるだけです。
――方向だけですからね。ビデオプロセッサ2つの役割分担はどのようになっているのですか?
ー単純な分け方ですと、背景が一つ、スプライトとポリゴンが一つ。パレットがついているほうが背景。
――背景は動画なりスクロールなり、DAC(D/Aコンバータ)がついているほうが重ね合わせのようなことをしているわけですね。これはDACなどが表示時点で合成するのでしょうか?
ーいいえ。
――すると、フレームバッファそのものにスプライトの描き込みが行なわれるのでしょうか。
ーそうですね。
――3Dの場合も同じですね。バーチャファイターならキャラクターを描画するグラフィックプロセッサが、結果を背景表示するビデオプロセッサに転送するわけですね。そうすると、冒頭に能力不足といわれたのは、スプライト側のビデオプロセッサの能力が足りなかったということですね。
ーもう少し欲しかった。
――どこの能力が不足したのですか? 座標変換ですか?
ーいや、レンダリングのほうです。
――レンダリングというのはテクスチャを貼った場合ですか?
ーテクスチャを貼った/貼らないは関係ないです。われわれのサターンは、テクスチャによる性能低下はほとんどないです。
――サターンの公開スペックを見ると、グローシェーディングできるということになっているのですが、実際にグローシェーディングしているソフトはほとんどないようですね。
ーグローをかけると確かに性能が落ちるんです。グローは面倒くさいんですよね。
――グーローはそれほど重くないと思いますが、どの部分の処理がきついのですか?
ー単純な話なんですよ。グローの演算時間のオーバーヘッドがあるんですよ。
――テクスチャのほうもきついのではないかと思いますが。
ーそこにはノウハウがありまして、テクスチャ貼ろうが貼るまいが変わらないんですよ。
――それはスプライトの拡大・縮小・変形を行なって転送するハードウェアを別途用意しているからですか。
ーそれに近いです。テクスチャはテクスチャで別にメモリを持っている。フラットシェーディングであれば読まなくてもよいし、テクスチャメモリから読んで書く分にはトラフィックが生じない。
――テクスチャ領域は高速のSRAMなどに載っているわけですね、
ーそのあたりは、まぁサターンを買って開けて見てみてください(笑)。たくさん載ってますから。びっくりすると思いますよ。
――テクスチャ領域のサイズはどんなものですか。
ーフルに使えば0.5Mbytes。SRAMは載せてません、買った人は『儲けた』と思いますよ、たぶん。
プレイステーションとの座標変換能力対決
――陰面消去はどのようにしているのですか?
ーこれは黙っていてもどうせばれるので、言ってしまうとZソートです。Zバッファではないです。
――ポリゴンの位置関係に制限があるのですね、光源などは?
ーソフト次第で如何ようにもできますが、2光源までできるのじゃないかな。
――ポリゴンの座標変換能力についてソニーはプレイステーションの公称値を出していますね。
ーサターンは座標変換のレベルでソニーさんのプレイステーションの半分よりちょっと上かな、といったところ。ただし、座標変換はソフト次第で大幅な性能向上も考えられます。しかし、これは背景を別にした場合の話だから、表示能力では背景分を合わせると同等でしょう。
――ピクセルの塗りつぶしのほうは?
ー純粋のピーク値だとだいたい60分の1秒あたり40万ピクセル。もちろん、こちらが都合のいいポリゴンサイズでバーッと描いていった場合の値ですが。
――それはどこのメーカーさんも同じですから(笑)、解像度は320×220という前提ですね。
ーデフォルト値は320×224ドット。あとは640×224とインターレースの640×448。
ーーレンダリング能力などを考えれば、320×224ということになるわけですね。
ーまあ、一番描きやすいでしょうね、それ以外に横352や704というモードも持っていますけども。
――ソニーさんでプレイステーションの話を伺ったときに、「うちのは羽田方面のS社さんと違って、ユーザーのコントローラ操作が画面に反映されるまでのレーテンシが少ない」というようなことを言われたのですが、どんなものでしょうか?
ー基本的にはサターンもプレイステーションもダブルバッファのフレームバッファですから、変わらないはずですよ。
ーーCPU、ビデオプロセッサ、フレームバッファとパイプラインが長いため、パイプラインの各段階でVSYNC時間の遅れが生じると、遅れが長くなるということだと思うのですが。当然ですがビデオプロセッサはVSYNC時間で各フレームを書かなければいけない。VSYNCの間でメインプロセッサからコマンドをとって動作するという構造だと、VSYNC時間の遅れが各段階で起きてしまいます。
ーそういうことはやってないです。それは間抜けですよ。ダブルバッファを使う以上、1フレームの遅れは避けられない。
――それ以上に遅れを増やさないためには、メインCPUとビデオプロセッサが完全に非同期に動作しなければならないですね。
ー完全に非同期に動作していますよ、もちろん。
――間にビデオプロセッサのメモリを置くことによって非同期に動作しているわけですね。
32bit RISCが2個、メモリと演算器がいっぱいで4万4800円
――メモリがあちこちにいっぱいあるようですが、そうなるとサターンの原価はいったいいくらなのかという興味がわいてきます(笑) メモリが合計4.5Mbytesで価格が4万4800円というだけでもう尋常じゃないですよね、32bit RISC CPUもタダじゃないですからね。
ータダじゃないですね(笑)。
――チップ数とか全体でのトランジスタ数はどのくらいなのですか?
ーロジックはCPUを除いて200万個、チップ数はCPUを含めて9つです。小さいのも1チップですからね。
――ビデオプロセッサは、処理の多くを担っているようですが、内部的には積和などの演算器をたくさん持っているんですね。
ー今回ほど演算器をたくさん積んだのは初めてですね。私は今までずっと業務用ゲームをやってましたけど、せいぜい2、3個です。今回たくさん積んじゃいましたね。
――16個とかじゃないということですね。
ー(笑)
ーー255個とか、
ーいや、そこまではいってないですけど、それにしてもプレイステーションのGTEですか、あれは素晴らしいですね、演算能力としては、多分すごいんじゃないですか?
サターンの動画処理
――動画形式としては今のところCinepakをサポートしているということでしたね、プレイステーションの場合は動画をテクスチャとして使用できるのですが、そういった機能は用意しているのですか?
ーサターンも楽勝でできますよ。
――ワークメモリにCPUが動画の展開結果を書くと、これをDMAしてグラフィックスプロセッサがテクスチャとして使うということですね、
ーワークのものを直接使うというのは効率が悪いから、やらないですね。
――Cinepakの展開がソフトウェアだと言われましたが、その場合はCPUがワークメモリに展開するわけですね。
ーCinepakを今使っているのは主に背景ですよ、スプライトやポリゴンを担当するビデオプロセッサには渡してませんね。
――ということは、今はやっていないということですね。
ー今後出ますよ、一番きれいなのはMPEGの映像をテクスチャで貼りつけた場合。最高ですよ。
――MPEGの専用プロセッサがあれば、それを直接ビデオプロセッサが読みにいくというのもできるわけですけど、メインCPUを使って展開しているようではきついかなと思うんですが。
ーいや、Cinepakはそんなに重くないですよ。
サターンはサウンド回りも凝っている
――サウンド関係は比較的枯れた感じですか。
ー枯れてないんですよ、これが。凝りました。高くつきましたよ(笑)。
――3次元空間での音像の定位ができるんですね。
ーできます。DSPを積んでますからね。
――コントロール用の68000が3次元座標をもらってDSPに指示を出し、これをもとに音を作るわけですね。
ーその分、そこで自由に動けますから。あとはコマンドレベルで音を定義する。メインメモリとサウンドメモリのどこに定義するかということで。
ソフトウェア開発環境について
――ソフトウェア開発環境ですが、ソニーさんはIBM PC/AT互換機にボードを差しただけで開発できて、CD-ROMのプレスも少ない枚数からやれるということで、今まで家庭用ゲーム機に参入できなかったような小さなソフトハウスにもチャンスがあると言われてますが、ビデオプロセッサのプログラムなどが必要になるとしんどいですね。
ーいや、サターンはビデオプロセッサのプログラムは必要ないです。OSがかんでいませんから、その分プログラマは苦労されるんじゃないですか。でも苦労すればしただけ、パフォーマンスは出る。ハードをしゃぶりつくせる。ソフトさんしだいですね。
――サターンはメインメモリにも余裕がありますから、ライブラリなんかもロードできますね。
ー今あるツールはライブラリを使うようになっています。ただ、ライブラリがまだ不十分なところもあるようなので・・・。メモリに関しては、2Mbytesは標準だとソフトの担当者に言われましたからね、ハード屋は泣いていますけど。
――SH2もRISCですから、CISCのようなプログラムサイズでは収まりませんね。
ーコンパイラもまだ改良の余地は残っているし、これからまだいろいろ苦労することになるでしょうね、開発ツールの値段は他メーカーとそんなに変わりません、われわれはまだICEを推奨してますから。ICEが高いんですよ。今後はICEレスという形で開発キットを出していきますが。
――ICEなしで大丈夫ですか?
ー逆に今じゃICEなしじゃないとできません。今までだとICEがあると非常に便利でしたし、何かと役に立ちましたが、高いですからね。
サターンの周辺機器
――ビデオ出力ですが、コンポジットとS-VIDEOに対応ということですが。
ーRGBは予定には入っています。
――HDTVは非サポート。
ー15kHzだけではなく、31kHzにも対応できるようにしていますから、VGAモニタに表示することも可能です。
――VGAですか。そういえば、サターン用OSの開発でMicrosoftと提携という話がありましたね。
ーそれはノーコメント。
――通信への対応はどうでしょうか? 通信カラオケですとか、ゲームソフトの通信ダウンロードですとか、すでに始めておられますが、今後どういう恰好で入ってくるのでしょうか?
ーこればっかりはインフラが先ですからね、一番はじめはモデムになっちゃいますね。ISDNを使いたいんだけれども、すぐには無理でしょう。
――ISDNはまだ先、次のシステムということですね。当面モデムをスロットに差して通信ゲームということですか。
ーまあ、そんなところでしょう。
――ソニーはマシンを直接つなげる対戦ケーブルを出してますね。
ー企画は進めていますが、ただモードを付けるだけだとソフト開発に負担がかかりますから。
任天堂の“Ultra 64”をどう見るか
――もう一方の競合相手である任天堂ですが、64bitのUltra64ではアンチエイリアシングなどかけていますよね。あれが出てくると、サターンは見劣りする部分もあるのではないかと思うのですが。
ーあれ、どうなんでしょうね、ぜんぜんまだ見えませんからね、業務用でも買って開けてみたいですね。巨大なヒートシンクがついていたりして(笑)。
――そういえば、サターンのほうも冷却ファンの穴が空いてるようですが。
ーあれはダミーです。当初つけようかと思ったんですけれど、付けなくてもいいということになりましたので。
――ファンなしでも十分クーリングできるということですね。家庭用マシンでファンをつけるというのは、止まったときのことを考えるとリスクが大きいですからね。消費電力は何Wですか?
ー15Wです。
――今までのゲーム機とは桁が違いますね。対プレイステーションにおけるポジショニングは分かったのですが、問題はやはり対任天堂ですね。2万5000円で出すということですから、それが'95年の秋などに本当に出ると・・・
ーそれがもし本当なら厳しいですね。ものすごく太っ腹な社長のいるチップメーカーとかがあったりすると(笑)。
――いつ出るかによりますね。
ー私は'97年に出るというのなら、少しはリアリティがあると思いますが。
ーーありがとうございました。
ASCII 1995.1