Click


X-Box解析シリーズ「OSとCPU編」


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

Pentium IIIはバス帯域を拡張、Windows 2000カーネルは500KBに

●X-Box版Pentium IIIの正体は?

 X-Boxに搭載されるPentium IIIは、おそらく133MHzより高速なFSB(フロントサイドバス)を持つ一方、2次キャッシュ容量は現状の256KBより小さくなる。また、OSはWindows 2000カーネルをベースとするが、大幅にカスタマイズされカーネルサイズは500KBと小さくなる。また、OSはHDDではなくDVD-ROMに搭載される。こうした概要が、X-Box開発チームへのショートインタビューで明らかになった。

 X-BoxのCPUは、現段階ではIntelのPentium IIIのカスタマイズ品で600MHz以上になるとアナウンスされている。問題はこの“カスタマイズ”の部分だが、東京ゲームショウで来日したMicrosoftのケビン・バッカスディレクタ(Console Gaming, Third Party Relations)によると、それはバス帯域とキャッシュメモリの量になるという。以下がバッカス氏の説明だ。

 「X-Boxの場合、システムの構成(コンフィギュレーション)はグラフィックスチップを中心に行なう。メモリコントローラはグラフィックスチップに搭載されていて、UMA(Unified Memory Architecture)構成でCPUとシェアする仕組みだ。カスタマイズはこのUMAに最適化することが主眼となっている。X-Boxのメインメモリは非常に高速(6.4GB/secの帯域)なので、それにFSBを合わせる。また、(メイン)メモリが高速な分、キャッシュの量も多分異なることになるだろう」

--それは、より小さいキャッシュとワイドなFSB(フロントサイドバス)になるということか?」

 「その通りだ」

 これは非常にロジカルな“カスタマイズ”だ。というのは、Pentium IIIの改変が最小で済むからだ。まず、バス帯域に関しては、バス幅の変更ではなくクロックの向上で果たすことができる。これは、X-Boxがシングルプロセッサ構成で、CPUとチップセットの組み合わせも限定されているため、133MHzよりも高い、例えば150MHzといったクロックに引き上げても、まだマージンが見込める可能性が高いからだ。キャッシュの量も、減らすのであれば、0.18μm版Celeron(Coppermine-128k)のように半分を殺してしまえばすぐに実現できる。こうしたカスタマイズなら、シリコンに手を加えるとしても最小で済むだろう。

●Windows 2000を裸にしてカーネルに

 X-Boxでは、CPUのカスタマイズは最小だが、OSは大幅に変える。今のPCと大きく違うのは、OSがHDD上にないことだ。Microsoftでゲームソフトを担当するジェネラルマネージャのエド・フライズ氏は「X-BoxのOSはHDDではなく、ゲームのDVD-ROMディスクに格納されており、DVDからブートする。OSはMicrosoftから各ゲームメーカーにディストリビュートする」と説明する。また、OSの少なくともカーネル部分は、メモリイメージとして格納されているらしい。それから、基本的にはゲームはHDD側からはブートしない。

 Microsoftは、X-BoxのOSはWindows 2000カーネルをベースにすると発表している。ゲーム機にWindows 2000は突飛に聞こえるかもしれないが、バッカス氏は、X-BoxのOSがWindows 2000とは別物であることを強調する。

 「これ(Windows 2000カーネルを使うという表現)は、誤解を生みやすい。実際には、われわれは二つのコンポーネントでOSを構成する。一つはカーネル、もう一つはランタイムライブラリだ。カーネルは二つの目的でデザインされている。一つは、システムを走らせることができるようにすることで、デバイスを初期化しセットアップする。二つめはディスクアクセスなどのローレベルサービスを提供することだ」

 「われわれは、このカーネル(を作る作業)をWindows 2000カーネルでスタートしたが、非常に多くの改変を行なった。X-Boxでいらない機能を取り去った。例えば、パワーマネジメントやPlug and PlayはX-Boxでは必要がない。また、異なるタイプのPCを認識するための機能はすべていらない。Windows 2000から実に多くのコードを取り去った結果、OSカーネルのサイズは500KB以下になった。非常に小さく非常に効率的だ」

 「もう一つのコンポーネントであるランタイムライブラリは、DirectXとWin32のAPIをサポートするものだ。これもDVDに格納されている」

 このランタイムライブラリは、APIレベルではPCと互換性がある。しかし、実際のランタイムモジュールは、PCのものとは異なるという。

 「PCの場合は、異なるハードウェアを抽象化して吸収する必要がある。これがやっかいな問題で、そのためにライブラリは厚くなる。しかし、ゲームコンソールではハードウェアは一種類なので、そうした心配はしなくてすむ。だからレイヤーはできる限り薄くし、パフォーマンスを重視している」(フライズ氏)

 このことは、同じDirectXゲームであっても、X-BoxとPCでマシンのパワーが同じなら、X-Boxの方がパフォーマンスが高くなることを意味している。

●OSはゲームごとにカスタマイズ可能

 また、Microsoftはゲームコンソールという新市場に合わせて、OSで二つの新しいアプローチを行なっている。バッカス氏は次のように説明する。

 「一つめはX-BoxのOSはカスタムテラーするということだ。つまり、ゲーム毎にモディファイを行なう。もし、一つのゲームのためにOSをモディファイすることが必要なら、われわれはそれを行なう。これが可能なのは、OSがDVD側にあり、ゲームと一緒にメモリにロードされるからだ」

 「二つめは、X-Boxのゲームは非常に安定しているということだ。それは、各ゲームが常に同じOSコンフィギュレーションで走るからだ。PCの場合は、HDDにOSがあり、DirectXがアップグレードされていたり、様々なコンフィギュレーションがユーザーごとに異なる。しかし、X-Boxの場合には、同じDVDディスクにあるOSで走るので、常に同じ環境にできる。そのために、ゲームコンソールに必要な安定性を実現できる」

 後者は、現在のゲームコンソールが共通して備えている特長だ。つまり、1枚のディスクの上のコードで、つじつまを合わせて落ちないようにすればすむので、PCよりずっと安定しやすい。ゲームコンソールでは、PCのように頻繁に落ちたり、環境が崩れてOSをインストールし直すといったトラブルは受け入れられないので、これはX-Boxでは必須の措置だったと言えるだろう。

●Windows CEを採用しなかったわけ

 ところで、Microsoftはセガ・エンタープライゼスのDreamCastではWindows CEを移植した。ローレベルサービスやファイルシステムはWindows CEカーネルが提供していた。ゲームコンソールではWindows CEの方が実績があったわけだ。なのになぜ、今回はWindows 2000だったのだろう?

 「Windows CEでスタートしなかったのは、その場合は様々な機能を加えなければならないからだ。例えば、HDDをサポートしたり、大量のメモリをサポートしたり。ところが、Windows 2000を使うと、機能自体はすでにあるので、取り去るだけで済む。Windows CEは、DCやSTB(セットトップボックス)や携帯電話には向いているが、X-BoxではWindows 2000がいいと結論した」とバッカス氏は語る。

 また、CPUに関しては、安価でそこそこパワフルな組み込みRISCプロセッサという選択肢もあった。それが、わざわざ高価なx86チップを選んだ。それはなぜだったのか?

 「実際、多くの人はMicrosoftの選択に驚いたろうと思う。だが、この決定は、安易に下されたのではなく、RISCチップも含めてじつに様々なアプローチを検討した結果だ。その結果、x86に戻ってきた。それは、開発者にとってアドバンテージを得るのが非常に簡単だからだ。なぜかと言うと、かれらはx86を知っているからだ。Intelプロセッサは、もっとも成熟して、ベストサポートされた、もっとも参考文献の多いプロセッサだ。開発者は、CPUがx86で600MHzだと聞けば『OK、それならわかった。われわれはそのCPUの利点も弱点も知り抜いている』と言うだろう」(バッカス氏)

 こうして見ると、Microsoftが今回のX-Box戦略では、意外によく考え、ゲームコンソールを研究していることがわかる。次回は、X-BoxのCPU以外のハードウェアと全体の戦略を解説したい。

□関連記事
X-Box関連記事リンク集
http://pc.watch.impress.co.jp/docs/article/link/xbox_i.htm


バックナンバー

(2000年4月5日)

[Reported by 後藤 弘茂]


【PC Watchホームページ】


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