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

PSPチップは第3のPlayStationアーキテクチャ




●究極の携帯機のためのPSPチップ

 ソニー・コンピューターエンタテインメント(SCEI)が2004年に投入するポータブルメディアプレーヤー「PSP」。SCEIは、このPSPのために90nmプロセスを使って、ワンチップで全機能を提供する「マルチメディアプレーヤーオンチップ」を作る。SCEIが明かしたこのPSPチップの概要は、かなり驚きのものだった。

 PSPチップのポイントは次の3点だ。

  • 3Dグラフィックスだけでなくメディアデコードにも力点を置いたメディアプロセッサを新たに開発
  • 専用ハードウェアユニットに処理を分散する
  • MPEG-4 AVCデコーダ、AES暗号化、高次サーフィス、リコンフィギュラブルDSPといった新奇な機能ブロックを盛り込む

 つまり、PSPチップは、PlayStationチップセットの拡張ではなく、全く新しく開発した“PlayStation 1.5”または“3つ目の新PlayStation”と呼ぶべき、強力なマルチメディアプロセッサになっている。内部の構造的にはPlayStation(PS)よりPlayStation 2(PS2)に近い。性能的にもPSとPS2の中間的で、スペックは部分的にはPS2を上回る。そして、そのアーキテクチャの上にライブラリを敷いて、PSの資産を受け継ぐソフトを移植できるようにする。

 PS2的という意味は、PSPチップが異なるハードウェアコアを用意、各ユニットに処理を割り振る構造になっているからだ。PSPでは、PS2よりさらに各処理に特化した専用ハードウェアエンジンを集積している。これは、SCEIの(Cellと思われる)CPU技術の特許申請にあったような、汎用プロセッサをベクタープロセッサの集合にして、なんでもやらせようという発想とは、根本的に異なる。むしろ、(推定される)Cellとは対極にあるアーキテクチャだ。

 SCEIがこうしたアーキテクチャを採ったのは、携帯機器という制約があるためだと推測される。一般に、専用ハードウェアに処理させた方が、トランジスタ当たりの性能が高くなるからだ。つまり、限られたトランジスタ数と消費電力の中で、性能を出そうとするなら、専用ハードウェアの方が有利だ。

 さらに、SCEIはかなり意表を突いたコアをPSPチップに搭載する。MPEG-4のAVCフォーマットのデコーダ、AES暗号処理ユニット、リコンフィギュラブルDSPといった最先端ユニットや、3Dグラフィックスの高次サーフィス処理ハードウェアのようなこれまであまり実装されていなかった要素を詰め込む。「盛り込む技術はPS1、2の発表と同じく、ここまでやるかという最先端を入れ込みたい」と久夛良木健氏(ソニー副社長/ソニー・コンピュータエンタテインメント社長兼CEO)は説明する。

●多数の専用ユニットが内部バスで接続

 下がPSPチップに搭載される主なコアだ。これらのコアがチップ内のバスに接続された形となる。

  • CPUコア(ベクタエンジンを含む)
  • メディアエンジン
  • グラフィックスコア(サーフィスエンジンとレンダリングエンジン)
  • VME(サウンドコア)
  • AVCデコーダ
  • セキュリティシステム
  • I/O群

PSPチップのブロックダイヤグラム(一部推定)
PDF版はこちら

 PSPチップのメモリは、全てEmbedded DRAM(eDRAM)、つまりチップ内に組み込まれたDRAMとなっている。つまり、外付けのDRAMメモリを持たない、SCEIが注力するeDRAM技術を活用したチップだ。日本半導体メーカーの持ち味であるeDRAMを活かしたという点では、日本らしいシステムオンチップと言える。

 eDRAM容量は合計で12MBだが、内部接続でバス幅を低コストに広げられるためメモリ帯域は合計10.5GB/sec(デュアルチャネルDDR400の1.6倍)と非常に高い。また、メモリは各ユニット毎に分散して持たせる構造になっている。個別のメモリ空間を持つと思われる。もっとも、ブロック図を見ると、CPUコアとメディアエンジンのメモリは他のユニットからもアクセス可能になっているようだ。

 CPUコアの動作周波数は可変で最大333MHz。後述するが、グラフィックスコアとeDRAM部は最大166MHzと見られるため、PSPチップは、CPUコアだけを2倍クロックで動作させ、複雑なロジック部とeDRAMは166MHzで動作させていると見られる。グラフィックスコアなどは、CPUコアよりも高周波数の設計はしにくいので、これは不思議はない。

 供給電圧は1.2V。携帯機器向けチップで、90nmで1.2Vというと高いように見えるが、この電圧だけからでは、消費電力はわからない。というのは、0.13μm以降のプロセスでは、リーク電流が消費電力を大きく左右するようになっているからだ。供給電圧が高いと、しきい電圧を高くしてリーク電流を抑えるといったことがしやすくなる。例えば、TSMCの低消費電力版の90nmプロセス「CLN90LP」は1.2Vで、高速プロセス(1.0V)より高電圧となっている。

 各コアを個別に見て行こう。

●独自拡張されたCPUコア

アーキテクチャMIPS32 R4000
バス128bit
動作周波数1〜333MHz
電圧333MHz時に1.2V
メインメモリ8MB(eDRAM)
命令キャッシュあり(容量不明)
データキャッシュあり(容量不明)
その他浮動小数点演算ユニット
ベクタ浮動小数点演算ユニット
3D-CG向け拡張命令

 CPUコアのアーキテクチャは同じMIPS 32bit系でもPSのR3000系からR4000系になった。R4000ではパイプラインが深くなる(5段→8段)分、無理せずに高周波数化が容易になる。CPUのアーキテクチャ世代としてはPS2と同世代だが、64bitのMIPS64ベースのPS2と異なり、PSPは32bitのMIPS32ベースで命令セットが異なっている。PS2のCPUコアは64bit整数演算ユニットを2基備えていたので、動作周波数はほぼ同じ(PS2は約300MHz)でも、PS2のCPUの方が性能的には高くなる。

 このR4000コアに、SCEIは、さらに独自のアーキテクチャ上の拡張を加えている。浮動小数点演算ユニット群の付加と、3D-CG向け拡張命令の実装(浮動小数点演算中心と思われる)が、現在明らかにされている拡張だ。

 浮動小数点系では、浮動小数点演算ユニット(FPU)とベクター浮動小数点演算ユニット(VFPU)が付属する。しかしこれらの、内部構成や命令セットはわからない。「PS2のとコンセプトが一緒の浮動小数点ベクトルエンジン」(久夛良木氏)とあっただけだ。

 ちなみに、PS2のベクターユニット(VU)は、内部に4並列の浮動小数点積和算ユニット(FMAC)と1個の浮動小数点除算ユニット(FDIV)を持っており、命令セットはVLIW(Very Long Instruction Word:超長命令語)型だった。このVUのプログラミングが難しく、CPUと別個に扱わなければならないことがPS2のネックだった。しかし、今回は、CPUにぶら下がる形でVFPUが設置され、VFPU命令はCPU命令セットの拡張になったと見られる。PS2の反省からか、より扱いやすくしたように見える。

●高い浮動小数点演算性能

 PSPのCPUコアの浮動小数点演算のピークパフォーマンスは2.6Gflopsと発表されている。PS2のEmotion Engineは6.2Gflopsで、比較するとPSPの方が低い。しかし、PSPではジオメトリ処理を別ユニットで行なうのに対して、PS2ではEmotion Engineがジオメトリ処理を担当するため、汎用的に利用できる浮動小数点演算の性能ではかなり迫る。

 2.6Gflopsを動作周波数の333MHzで割ると、PSP CPUコアの浮動小数点演算の並列度は8オペレーションになる。積和算の処理は1命令で2オペレーションとカウントするとユニットの並列度は4となる。

 先日の発表では、2.6Gflopsという性能は、ニュアンスとしてはFPUとVFPUを合わせた数字に受け止められた。しかし、FPUとVFPUを合わせて4命令/クロックとすると計算が合わない。常識的に考えればVFPUの並列度は2か4であって、3ということはまずないので、この性能はVFPU単体の性能ではないかと想定される。あるいは、VFPUとFPUの両方に同時に命令発行ができないアーキテクチャで、ピーク性能=VFPUの性能なのかもしれない。素直に考えれば、PS2のVUのFMACの部分のように、IEEE単精度(32bit)フォーマットのデータ4個の並列演算ができると想定するのが自然だ。

 32bit×4の浮動小数点演算は、3D CGではジオメトリ処理で重要となる。3D CG用の命令拡張は、ここに絡んでいると推定される。しかし、PSPでは、ジオメトリ処理は次回のレポートで説明するグラフィックスコアで行なうと説明されている。そのため、CPU側の3D処理は、何を想定しているのか、まだわからない。ジオメトリ処理をCPU側にも分担させるような使い方を想定しているのかもしれない。もちろん、この浮動小数点演算部は、シミュレーションなどにも効果を発揮する。

 CPUのメインメモリ(eDRAM)のバス帯域は2.6GB/sec。メモリバスは128bitと見られるため、eDRAM部の駆動周波数は計算上166MHzとなる。前述したように、CPUコアのロジック部の半分の周波数になっていると想定される。DRAM部の歩留まりを考えるとこのあたりの周波数が限界なのかもしれない。

□関連記事
【7月29日】PSPは2004年のE3で公開。出荷は2004年暮れを予定(GAME)
http://www.watch.impress.co.jp/game/docs/20030729/psp.htm
【7月30日】【本田】ゲーム機を越えた携帯型エンターテイメントプラットフォームを目指す?
明らかになったPSPのハードウェアスペック
http://pc.watch.impress.co.jp/docs/2003/0730/mobile211.htm
【5月16日】【海外】SCEIの次世代携帯ゲーム機「PSP」は“スーパープレステ”だ
http://pc.watch.impress.co.jp/docs/2003/0516/kaigai01.htm
【5月21日】【海外】SCEIの携帯ゲーム機「PSP」は携帯マルチメディアプレーヤーか?
http://pc.watch.impress.co.jp/docs/2003/0521/kaigai01.htm

バックナンバー

(2003年8月1日)

[Reported by 後藤 弘茂(Hiroshige Goto)]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp 個別にご回答することはいたしかねます。

Copyright (c) 2003 Impress Corporation All rights reserved.