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

今のPSPが2/3の性能しか発揮できていない理由




●動作周波数は333MHzではなく222MHzだった

 PSPチップは実はスペックの2/3のクロックでしか動作していなかった。今のPSPは、まだフルパフォーマンスを発揮できていないことになる。また、PSPのOSカーネルは32MBのメインメモリのうち、8MBものエリアを占有していた。これは、ゲーム機のOSカーネルエリアとしては、異例に大きい。

PSPのマザーボード

 3月中旬に開催された「GDC(Game Developers Conference)」では、PSPについて、これまで一般にはあまり知られていなかった側面が明らかにされた。SCEA(Sony Computer Entertainment America)は、GDCで「PSP Advanced Software Overview」と題したセッションを行なった。その中で、SCEAのMark DeLoura氏(Manager of Developer Relations)は、PSPハードウェアスペックのアップデートと、ソフトウェア層とツールの全体像を説明した。

 これまでの公式発表では、PSPのCPUコアの動作周波数はコンフィギュラブルで、最大333MHzで動作するはずだった。しかし、GDCでは、PSPのCPUコアは、現状は222MHzに制約されていると説明された。ちょうどスペックの2/3のクロックに抑えられていることになる。また、バススピードも、一昨年のスペック発表時の166MHz(帯域から逆算)から最大111MHzへと後退している。

 「CPUは333MHzまでのレンジがあるが、現状では222MHzにロックされている。バスは典型的にはCPUの半分(のクロック)なので、111MHzとなっている。CPUを333MHzまで引き上げると決定した時には、バスも166MHzまで引き上げられるだろう」とDeLoura氏は説明する。

 222MHzへのダウングレードは暫定的な仕様で、将来的には333MHzに引き上げる可能性があると示唆している。今後、65nmプロセスやそれ以降の製造プロセスに移行して消費電力が下がった段階で、333MHzまで向上可能にするのかもしれない。

 SCEAは、222MHzに制限されている理由を細かくは説明しなかった。しかし、この仕様変更が省電力のコーナーで説明されていることからもわかるように、低周波数化は電力節減のためであるのは明らかだ。PSPは、222MHzの現状で、1,800mAhのリチウムイオンバッテリで4〜6時間の動作と、ゲーム機として快適に使うにはギリギリのラインだ。そのため、CPU周波数をこれ以上上げて消費電力を増やして、バッテリ駆動時間を削ることができなかったと推測される。現状の半導体技術での現実解は、333MHzではなく222MHzだったようだ。

CPUコアの概要。周波数はデフォルトで222MHzとなっている グラフィックスエンジンは現状では111MHzで動作

●苦労が多いPSPの消費電力低減

 PSPの周波数ロックから明かなのは、SCEIもまた、消費電力低減に苦労しているということだ。特に、PSPの場合には問題になるのはTDP(Thermal Design Power:熱設計消費電力)だけでなく平均消費電力だ。平均消費電力は、リーク(漏れ)電流が大きく響くため、現在の微細化したプロセスでは引き下げることが非常に難しい。プロセス技術や回路設計などの改良で、どれだけリーク電力を削減できるかは、PSPの今後の技術ハードルのひとつだ。

 もっとも、PSP全体を見ると、電力を食うのはむしろメインチップセット以外のデバイスのようだ。GDCでの説明では、UMDドライブのシーク、無線LAN(Wi-Fi)、液晶ディスプレイの高輝度設定などが、非常に電力を消費するオペレーションだと説明された。逆に、電力消費が少ないのは、メディアエンジン、バス、メモリースティックだという。

 AVCデコードを含むメディアエンジンはかなりハードワイヤード化されているため、電力消費が少ない。2004年8月のHotChipsカンファレンスではAVCデコード時の平均消費電力は500mW以下と説明された。バスは、こまめにOFFすることで省電力化ができるためだと見られる。

 PSPは今後、UMDドライブや無線LANモジュールなどの省電力化も必要となる。GDCではUMDへのアクセスを抑えるように呼びかけていた。また、無線LANモジュールの省電力化は、無線LAN対応タイトルが増えるにつれて重要な要素になるだろう。

 222MHzロックは、ソフトウェア開発にもある程度の影響を与える。例えば、333MHzまでの周波数が利用できるようになった時点で、フルCPUクロックを使う負荷の高いソフトウェアを作った場合には、222MHzの現行機種との互換性が問題になるケースが出てくる可能性はある。しかし、ポジティブに見ると、PSPはスペック的にはまだパフォーマンスを向上させる余地があることになる。

PSPの最大の難関省電力。CPUは現状では222MHzにロック 開発時に消費電力を最適化するためのバッテリエミュレータツール

●8MBと巨大なOSカーネルエリア

PSPのOSの概要

 GDCでは、PSPのOSについても概要が説明された。もっとも大きな話題は、OSカーネルが8MBを占有することだった。ゲーム機のOSカーネルは数百KB単位と極めて薄いことが多く、8MBもの量を確保するのは極めて異例だ。PSPの32MBのメインメモリのうち、ユーザー(ゲームデベロッパ)には24MBしか残されていないことになる。

 カーネル占有メモリが大きいのは、多機能なPSPの制御のためだ。PSPは基本的にはAPIベースのプログラミングモデルを取っている(ただし、グラフィックスレジスタリストなどは公開されている)ため、ライブラリ層やドライバの割合が相対的に大きいと推測される。ハードウェアの抽象化の度合いが高い分、ソフトウェア層が厚くなるのは道理だ。

 8MB空間には、各種OSカーネルモジュールやローレベルドライバがロードされ、PSPのユーティリティ アプレットも走る。モジュールには、ネットワーク、オーディオ、ムービー再生といったエンジンも含まれる。アプレットには、セーブデータ管理、ネットワークコンフィギュレーション、オンスクリーンキーボード、各種メッセージダイアログなどがある。

 つまり、PSPのカーネル本体が8MBのサイズがあるわけではなく、各種エンジンやプロトコルスタック、アプレットなどの空間も確保した結果8MBになったというわけだ。アプレットの空間を確保しておくことは、ゲーム中に、ゲームプログラムを走らせながら、アプレットに迅速に切り替えできるという利点がある。

OSカーネルは8MBを占有エリアとして確保する カーネルエリアにロードされるユーティリティ
グラフィックスライブラリは3階層で、LibGUはOpenGLライク(100%互換ではない) オーディオライブラリの階層

●元々8MBだったPSPのメインメモリ

 8MBのOSカーネルエリアで興味深いのは、SCEIが当初予定していたPSPのメインメモリの量が8MBであった点だ。つまり、フタを開けたら、SCEI側のOSカーネルだけで元々の計画のメインメモリ量を使い切ってしまったわけだ。SCEIが本来の計画通りの8MBメモリのスペックでPSPを進めてしまっていたら、SCEI側のOS開発も非常に難しいものになってしまっていた可能性が高い。

 PSPのメインメモリについては、PSPのスペックの最終すりあわせの段階で、かなりの軋轢があったという。半導体製造の見地からeDRAM(組み込みDRAM)オンリーで8MBに抑えたいSCEIと、ゲーム開発の見地からPS2クラスのメモリ量を欲しいゲームデベロッパの間で意見がぶつかった。最終的にはSCEI側がゲームデベロッパ側に、望ましいメモリ量についての意見を聴取。32MBという意見が圧倒的に多かったため、256MbitのDDRメモリを外付けにして32MBメインメモリを実現したという経緯がある。

 ゲームデベロッパ側が32MBを望んだのは、32MBメモリのPS2からの移植を容易にしたかったためだ。だが、実際にはOSカーネルが8MBを占有するため、32MBをほぼフリーに使えたPS2のようにはメモリは使えない。もっとも、PS2ではデベロッパ側で用意しなければならなかったモジュールは、ある程度はOS側にあるため、ソフトウェアによってはメモリ必要量がPS2よりも減る。

 PSPのメモリ量の件が示すのは、SCEIのハードウェア設計が、ソフトウェアアーキテクチャの開発とうまくリンクできていない可能性があることだ。ハード設計の段階でソフトウェアアーキテクトが密接に関わっていれば、メモリ量での紆余曲折はなかっただろうと推測される。ソフトウェアによる抽象化を厚くするなら、メモリ量はより多く必要となる。

 このハードとソフトの設計の不一致が時に見られることが、SCEIの弱点だ。特にソフトウェアアーキテクト側がハードの仕様を決めるMicrosoftとの大きな違いとなっている。もっとも、SCEIの、自前の半導体技術をベースにしたデバイス開発自体は大きな強みだ。それがなければ、PSPのようなゲーム機を作ることは難しい。

●UMDゲームにはリージョンコードなし

 GDCではUMDのプロファイルやファイルフォーマットなどについても説明された。UMDは、現状ではPSPゲームとUMD AudioとUMD Videoの3種類のプロファイルがある。このうちPSPゲームについては、リージョンコードは設定されない。しかし、オーディオとビデオは、制約される見込みだ。

 GDCではPSPのCPUコアの「VFPU(ベクタ浮動小数点演算ユニット)」についても、概要が明らかにされた。PSPのCPUコアはMIPS32系命令セットのR4000系コアで、拡張演算ユニットとしてVFPUが付属されている。VFPUは、ベクタとマトリックス演算向けに設計されており、IEEE 754の32bit単精度浮動小数点フォーマットをサポートする。4x4のマトリックス/ベクタの積和演算は22サイクルレイテンシとなっている。

 VFPUは128本のコンフィギュラブルな32bitレジスタを備え、ベクタとマトリックスだけでなくスカラオペレーションも可能となっている。ベクタとマトリックス時には、複数レジスタを組み合わせると見られる。また、32/16/8bit整数とハーフサイズの浮動小数点データも扱うことができる。つまり、PSPは比較的パワフルで汎用性の高いVFPUを積んでいる。

UMDフォーマット ゲーム中に利用可能なビデオのスペック CPUコアに付属するベクタ浮動小数点ユニットの概要

□関連記事
【2004年9月7日】【海外】PSPチップの消費電力は500mW
http://pc.watch.impress.co.jp/docs/2004/0907/kaigai117.htm
【2004年5月27日】【海外】大きく異なるPSPとNintendo DS
http://pc.watch.impress.co.jp/docs/2004/0527/kaigai091.htm
【2003年8月8日】【海外】PSPでもシステムオンチップにこだわるSCEI
http://pc.watch.impress.co.jp/docs/2003/0808/kaigai010.htm
【2003年8月4日】【海外】PlayStation 2に迫るPSPのグラフィックスコア
http://pc.watch.impress.co.jp/docs/2003/0804/kaigai009.htm
【2003年8月1日】【海外】PSPチップは第3のPlayStationアーキテクチャ
http://pc.watch.impress.co.jp/docs/2003/0801/kaigai008.htm

バックナンバー

(2005年3月23日)

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