"複数の相互に接続された被エミュレーション側プロセシングユニットを備えた被エミュレーション側プロセッサの動作をエミュレートするように配列された複数の相互に接続されたエミュレーション側プロセシングユニットを有するデータプロセッサであって、少なくとも1つの被エミュレーション側プロセシングユニットが、2つ以上のエミュレーション側プロセシングユニットの寄与によってエミュレートされ、少なくとも1つのエミュレーション側プロセシングユニットが、2つ以上の被エミュレーション側プロセシングユニットのエミュレーションに寄与する、ことを特徴とするデータプロセッサ。請求項1に記載のデータプロセッサであって、エミュレーション側プロセシングユニットが、メッセージ受け渡し通信プロトコルによって互いに通信することを特徴とするデータプロセッサ。請求項2に記載のデータプロセッサであって、エミュレーション側プロセシングユニットは、エミュレートされる動作を前記メッセージ受け渡し通信プロトコルを介して同期させるように、構成されていることを特徴とするデータプロセッサ。請求項2あるいは3に記載のデータプロセッサであって、エミュレーション側プロセシングユニットが循環データバスによって相互接続されていることを特徴とするデータプロセッサ。請求項4に記載のデータプロセッサであって、前記データバスは双方向バスであることを特徴とするデータプロセッサ。上に記載された請求項のいずれか1つに記載のデータプロセッサであって、監視プロセッサを有し、前記監視プロセッサは被エミュレーション側プロセッサに関する命令を翻訳し、翻訳された命令が実行できるように、エミュレーション側プロセシングユニットに情報を提供することを特徴とするデータプロセッサ。請求項6に記載のデータプロセッサであって、被エミュレーション側プロセシングユニットに供給される前記情報が、エミュレーション側プロセシングユニットにネイティブなオブジェクトコードを有することを特徴とするデータプロセッサ。請求項6あるいは請求項7に記載のデータプロセッサであって、前記監視プロセッサは、どの被エミュレーション側プロセシングユニットがあるエミュレーション側プロセシングユニットによりエミュレートされるかを変更するために、エミュレーションタスクのエミュレーション側プロセシングユニットへのアロケーションを変化させるように動作できることを特徴とするデータプロセッサ。複数の相互に接続された被エミュレーション側プロセシングユニットを備えた被エミュレーション側プロセッサの動作をエミュレートするように配列された複数の相互に接続されたエミュレーション側プロセシングユニットを有するシステムに関するデータ処理方法であって、前記方法は、2つ以上のエミュレーション側プロセシングユニットの寄与によってある被エミュレーション側プロセシングユニットをエミュレートするステップと、1つのエミュレーション側プロセシングユニットで2つ以上の被エミュレーション側プロセシングユニットをエミュレートするステップと、を有することを特徴とするデータ処理方法。請求項9に記載の方法を実行するためのコンピュータソフトウェア。請求項10に記載のコンピュータソフトウェアを提供する媒体。請求項11に記載の媒体であって、記憶媒体であることを特徴とする媒体。請求項11に記載の媒体であって、伝送媒体であることを特徴とする媒体図を参照すると、図1はプレイステーション2コンピュータゲーム機の全体的なシステムアーキテクチャを概略的に示したものである。システムユニット10が設けられており、様々な周辺デバイスをシステムユニットに接続することができる。システムユニット10は、エモーションエンジン100と、グラフィックスシンセサイザ200と、ダイナミックランダムアクセスメモリDRAMを有するサウンドプロセッサユニット300と、読取り専用メモリROM400と、コンパクトディスクCD/DVDディスクDVD読取り装置450と、ラムバスDRAMRDRAMユニット500と、専用RAM750を備えた入出力プロセッサIOP700とを有している。オプションとして、外部ハードディスクドライブHDD390を接続することができる。入出力プロセッサ700は、2つのユニバーサルシリアルバスUSBポート715と図示していないiLinkあるいはIEEE1394ポートiLinkはソニーによってIEEE1394規格を実現したものであるとを有している。IOP700は、すべてのUSB、iLinkおよびゲームコントローラのデータトラフィックを処理する。例えば、ユーザがゲームをプレイしているとき、IOP700はゲームコントローラからデータを受け取り、受け取ったデータをエモーションエンジン100に向けて送信し、エモーションエンジン100はそれに応じてゲームの現在状態を更新する。IOP700は、速いデータ転送速度を達成するために、直接メモリアクセスDMAアーキテクチャを有している。DMAは、データをCPUを介して渡さずに、メインメモリから装置にデータを転送することが関係している。USBインタフェースはオープンホストコントローラインタフェースOHCIに準拠しており、1.5Mbpsないし12Mbpsのデータ転送速度を処理することができる。これらのインタフェースを設けることにより、プレイステーション2は、カムコーダーなどのディジタルビデオカセットレコーダVCR、ディジタルカメラ、マイク、プリンタ、キーボードやマウスやジョイスティックなどの入力装置などの周辺デバイスに適合できる可能性を有している。一般に、USBポート715に接続された周辺デバイスとのデータ通信を成功裏に実現するためには、デバイスドライバなどの適切なソフトウェアを提供する必要がある。デバイスドライバ技術は良く知られているので、ここでは詳しく説明しないが、ここに記載された実施例においてデバイスドライバや類似のソフトウェアが必要とされるであろうことは、当業者には知られている。本実施例では、USBマイク730がUSBポートに接続されている。USBマイク730は手持ち式のマイクでもよいし、オペレータが装着するヘッドセットの一部をなしていてもよいことは理解されるであろう。ヘッドセットを装着することの利点は、オペレータの手が自由に他の動作ができることである。マイクはアナログ-ディジタル変換器ADCと基本的なハードウェアベースのリアルタイムデータ圧縮符号化装置とを含んでいるので、マイク730によってオーディオデータはプレイステーション2システムユニット10で復号するのに適切なフォーマットで、例えばストリーミング圧縮オーディオフォーマットで、USBポート715に送信される。USBポートを別にすると、他の2つのポート705、710は独自仕様のソケットであり、ゲーム関連の情報を記憶するための独自仕様の不揮発性RAMメモリカード720や、手持ち式のゲームコントローラ725、あるいは手持ち式コントローラを模倣するダンスマットなどのデバイス図示されていないを接続することができる。システムユニット10は、ネットワークへのインタフェース例えば、イーサネットインタフェースを提供するネットワークアダプタ805に接続することができる。このネットワークは、例えば、LAN、WAN、あるいはインターネットとすることができる。ネットワークは一般のネットワークでもよいし、ゲーム関連の通信専用のネットワークでもよい。ネットワークアダプタ805により、データを同じネットワークに接続された他のシステムユニット10へ送信し、また他のシステムユニット10から受信することができる他のシステムユニット10も対応するネットワークアダプタ805を備えている。エモーションエンジン100は、ゲームアプリケーション用の3次元3Dグラフィックスの効率的なシミュレーションのために特別に設計された128ビットの中央演算処理装置CPUである。エモーションエンジンの構成要素には、データバス、キャッシュメモリCPUコアの一部、およびレジスタが含まれており、そのすべては128ビットタイプである。これにより、大量のマルチメディアデータの高速処理が容易となる。比較として、従来のPCは64ビットの基本データ構造を有している。プレイステーション2の浮動小数点計算の性能は6.2ギガフロップスGFLOPSである。エモーションエンジンはまたMPEG2デコーダ回路を有しており、それにより3DグラフィックスデータとDVDデータの同時処理が可能である。エモーションエンジンは、数学的変換および平行移動を含む幾何学的な計算を実行し、また、シミュレーション物体の物理に関連した計算、例えば、2つの物体間の摩擦の計算、を実行する。エモーションエンジンは、画像レンダリングコマンドのシーケンスを生成し、それらのシーケンスは、後に、グラフィックスシンセサイザ200により利用される。画像レンダリングコマンドは、ディスプレイリストの形で出力される。ディスプレイリストは、グラフィックスシンセサイザに対して画面上でどの基本グラフィックスオブジェクト例えば、点、線、三角形、スプライトをどの座標位置に描くべきかを指定する描画コマンドのシーケンスである。それで、典型的なディスプレイリストは、頂点を描くコマンド、多角形ポリゴンの面に陰影付けするコマンド等を有している。エモーションエンジン100は複数のディスプレイリストを非同期的に生成することができる。グラフィックスシンセサイザ200は、エモーションエンジン100により生成されたディスプレイリストのレンダリングを実行するビデオアクセラレータである。グラフィックスシンセサイザ200はグラフィックスインタフェースユニットGIFを含んでおり、GIFは複数のディスプレイリストを処理し、追跡し、管理する。グラフィックスシンセサイザ200のレンダリング機能は幾つかの代替的な標準出力画像フォーマット即ち、NTSC/PAL、高品位テレビおよびVESAに適合した画像データを生成することができる。一般に、グラフィックスシステムのレンダリング性能は、ピクセルエンジンとビデオメモリどちらもグラフィックスプロセッサ内に配置されているの間のメモリ帯域幅によって定義されている。従来のグラフィックスシステムは外部ビデオランダムアクセスメモリVRAMを用いており、そのVRAMはオフチップバスによってピクセルロジックに接続されているので、利用できる帯域幅は制限されがちである。しかし、プレイステーション2のグラフィックスシンセサイザ200は単一の高性能チップ上にピクセルロジックとビデオメモリを設けているので、毎秒38.4ギガバイトという比較的大きなメモリアクセス帯域幅が可能である。グラフィックスシンセサイザは、理論的には、毎秒7千5百万ポリゴンというピーク描画性能を達成することができる。テクスチャ、照明および透明度など一そろいの効果を用いる場合でも、持続的に毎秒2千万ポリゴンの速度で連続的に描画することができる。したがって、グラフィックスシンセサイザ200はフィルム品質の画像を描くことができる。サウンドプロセッサユニットSPU300は、事実上、本システムのサウンドカードであり、ディジタルシアターサラウンドDTS、登録商標サウンドや、DVD用のサウンドフォーマットであるAC-3ドルビーディジタルとしても知られているなどの3Dディジタルサウンドを扱うことができる。付属スピーカ装置310を備えたビデオモニタやテレビなどのディスプレイ/サウンド出力デバイス305が接続されており、グラフィックスシンセサイザ200およびサウンド処理ユニット300からのビデオ信号およびオーディオ信号を受信する。エモーションエンジン100をサポートするメインメモリは、ラムバス社RambusIncorporatedからライセンスされたRDRAMラムバスダイナミックランダムアクセスメモリモジュール500である。このRDRAMメモリサブシステムは、RAMと、RAMコントローラと、RAMをエモーションエンジン100に接続するバスとを有している。図2は、図1のエモーションエンジン100のアーキテクチャを概略的に示す図である。エモーションエンジン100は、相互に接続されて所望の機能集合を実現する幾つかの処理ユニットの総称である。この文脈の観点からすれば、エモーションエンジンは、浮動小数点演算ユニットFPU104と、中央演算処理装置CPUコア102と、ベクトル演算ユニット0VU0106と、ベクトル演算ユニット1VU1108と、グラフィックスインタフェースユニットGIF110と、割り込みコントローラINTC112と、タイマーユニット114と、直接メモリアクセスコントローラ116と、画像データプロセッサユニットIPU118と、ダイナミックランダムアクセスメモリコントローラDRAMC120と、サブバスインタフェースSIF122とを有しており、これらすべての個々の処理ユニットは128ビットのメインバス124によって接続されている。CPUコア102は、300MHz実際には294.912MHzであるが、この数字の略記として300MHzが用いられる傾向があるのクロックで動作する128ビットプロセッサである。CPUコアはDRAMC120を介して32MBのメインメモリにアクセスできる。CPUコア102の命令セットはMIPSIIIRISCに基づいており、幾らかのMIPSIVRISC命令と付加的なマルチメディア命令を備えている。MIPSIIIおよびIVは、MIPSテクノロジーズ社MipsTechnologies,Incの所有する縮小命令セットコンピュータRISC命令セットアーキテクチャである。標準命令は64ビットの2ウェイスーパースケーラーであり、これは2つの命令が同時に実行できることを意味している。他方、マルチメディア命令は、2つのパイプラインを介して128ビット命令を利用する。CPUコア102は、16KBの命令キャッシュと、8KBのデータキャッシュと、16KBのスクラッチパッドRAMとを有しており、スクラッチパッドRAMは専用バスでCPUに接続されたキャッシュの一部であり、メインバスからは独立してデータアクセスが可能である。FPU104はCPUコア102に対して第一のコプロセッサとしての役割を果たす。ベクトル演算ユニット106は第二のコプロセッサとして機能する。FPU104は、浮動小数点除算計算器FDIVを有している。ベクトル演算ユニット106および108は数学演算を実行するが、本質的に、ベクトル方程式の乗算および加算の評価が非常に高速な特化したFPUである。それらベクトル演算ユニットは、加算および乗算の演算用の浮動小数点乗加算器FMACと除算および平方根演算用の浮動小数点除算器FDIVとを用いている。FMACは32ビット値に対して演算を行い、従って、演算が4個の32ビット値からなる128ビット値に対して実行される場合、演算は4部分について同時に実行することができる。例えば、2つのベクトルの加算を同時に行なうことができる。ベクトル演算ユニットVUは、マイクロプログラムを格納するための内蔵メモリを有しており、また、ベクトルインタフェースユニットVIF対応するベクトル演算ユニットと同じ番号で参照されるを介して、本システムの残りの部分とのインタフェースを取る。ベクトル演算ユニット0106は、専用の128ビットバスを介してCPUコア102に対するコプロセッサとして機能することができるので、本質的に、第二の特化したFPUである。他方、ベクトル演算ユニット1108は、グラフィックスシンセサイザ200に対する専用バスを有しており、従って、完全に別個のプロセッサと考えることができる。2つのベクトル演算ユニットを設けることにより、ソフトウェアの開発者は作業をCPUの異なる部分の間で分割することができ、ベクトル演算ユニットは直列接続でも並列接続でも用いることができる。ベクトル演算ユニット0106は、4個のFMACと1個のFDIVとを有している。ベクトル演算ユニット0は、コプロセッサ接続によってCPUコア102に接続されている。ベクトル演算ユニット0は、データ用の4KBのベクトル演算ユニットメモリと、命令用の4KBのマイクロメモリとを有している。ベクトル演算ユニット0106は、表示する画像に関連した物理計算を実行するのに有用である。ベクトル演算ユニット0106はCPUコア102と共に、主に、パターン化されていない幾何学的処理を実行する。ベクトル演算ユニット1108は5個のFMACと1個のFDIVとを有している。ベクトル演算ユニット1はCPUコア102への直接的な経路を有していないが、GIFユニット110への直接的な経路を有している。ベクトル演算ユニット1は、データ用の16KBのベクトル演算ユニットメモリと、命令用の16KBのマイクロメモリとを有している。ベクトル演算ユニット1108は変換を実行するのに有用である。ベクトル演算ユニット1は、パターン化された幾何学的処理を主に実行し、生成されたディスプレイリストを直接GIF110に出力する。GIF110はグラフィックスシンセサイザ200へのインタフェースユニットである。GIF110は、ディスプレイリストパケットの最初にあるタグスペシフィケーションに従ってデータを変換し、描画コマンドをグラフィックスシンセサイザ200に転送すると共に、相互に複数の転送のアービトレーションを行なう。割り込みコントローラINTC112は、DMAC116を除く周辺デバイスからの割り込みのアービトレーションを行なう。タイマーユニット114は、16ビットカウンタを備えた4個の独立したタイマーを有している。これらのタイマーはバスクロック1/16あるいは1/256の間隔あるいは外部クロックによって駆動される。DMAC116は、メインメモリとスクラッチパッドRAMとの間の、あるいはメインメモリかスクラッチパッドRAMと周辺装置との間のデータ転送を処理する。同時に、DMAC116はメインバス124のアービトレーションを行なう。DMAC116の性能の最適化はエモーションエンジンの性能を向上するための主要な方法である。画像処理ユニットIPU118は、圧縮された動画およびテクスチャ画像を展開するために用いられる画像データプロセッサである。画像処理ユニット118はマクロブロックの復号、色空間の変換、そしてベクトル量子化を実行する。最後に、サブバスインタフェースSIF122は、IOP700へのインタフェースユニットである。IPUは、サウンドチップや記憶装置などのI/Oデバイスを制御するために、自分自身のメモリとバスを有している。図3は、グラフィックスシンセサイザ200の構成を概略的に示す図である。グラフィックスシンセサイザは、ホストインタフェース202と、ピクセルパイプライン206と、メモリインタフェース208と、フレームページバッファ214およびテクスチャページバッファ216を含むローカルメモリ212と、ビデオ変換器210とを有している。ホストインタフェース202は、ホストこの場合はGIF110との間でデータを転送する。ホストからの描画データおよびバッファデータはどちらもこのインタフェースを通過する。ホストインタフェース202からの出力はグラフィックスシンセサイザ200に供給され、グラフィックスシンセサイザ200は、グラフィックスを展開して、エモーションエンジン100から受信した頂点情報に基づいてピクセルを描き、各ピクセルについてRGBA値、デプス値Z値、テクスチャ値およびフォグ値などの情報を計算する。RGBA値は、赤、緑、青RGBの色成分および画像オブジェクトの不透明度を示すA成分アルファ成分を指定する。アルファ値は完全な透明から完全な不透明までの範囲の値を取り得る。ピクセルデータはピクセルパイプライン206に供給され、ピクセルパイプライン206はテクスチャマッピング、フォギング、およびアルファブレンディングなどの処理を実行し、計算されたピクセル情報に基づいて最終的な描画色を決定する。ピクセルパイプライン206は16個のピクセルエンジンPE1,PE2,...,PE16を有しているので、最大で16個のピクセルを同時に処理することができる。ピクセルパイプライン206は150MHz実際には294.912/2MHzで動作し、32ビットカラーで、32ビットZバッファを備えている。メモリインタフェース208はローカルグラフィックスシンセサイザメモリ212に対してデータの読み書きを行なう。メモリインタフェース208は、ピクセル演算の最後に描画ピクセル値RGBAおよびZをメモリに書き込み、フレームバッファ214のピクセル値をメモリから読み出す。フレームバッファ214から読み出されたこれらのピクセル値は、ピクセルテストあるいはアルファブレンディングに用いられる。メモリインタフェース208はまた、ローカルメモリ212からフレームバッファの現行内容に関するRGBA値を読み出す。ローカルメモリ212は、グラフィックスシンセサイザ200に内蔵された32Mビット4MBメモリである。ローカルメモリ212は、フレームバッファ214とテクスチャバッファ216とZバッファ215とに構成することができる。フレームバッファ214はビデオメモリの一部であり、色情報などのピクセルデータが格納される。グラフィックスシンセサイザは、2D-3Dテクスチャマッピング工程を用いて3D図形に対して視覚的ディテールを付与する。各テクスチャは3D画像オブジェクトの周りに巻きつけて、伸縮させ、歪ませることにより3Dグラフィック効果を与えることができる。テクスチャバッファは、画像オブジェクト用のテクスチャ情報を格納するために用いられる。Zバッファ215デプスバッファとしても知られているは、ピクセルのデプス情報を格納するために用いることのできるメモリである。画像は、グラフィックス基本要素あるいはポリゴン多角形として知られる基本的なビルディングブロックから構成されている。ポリゴンがZバッファリングによってレンダリングされる場合、そのピクセルの各々のデプス値はZバッファに格納されている対応値と比較される。Zバッファに格納されている値が新しいピクセル値のデプス値以上であれば、ピクセルは可視であると判断され、そのピクセルはレンダリングされ、Zバッファは新しいピクセルデプス値によって更新される。しかし、Zバッファのデプス値が新しいピクセルデプス値より小さい場合は、その新しいピクセル値は既に描画されているものに隠されているので、レンダリングされない。あるいは、Zバッファテストを利用することができ、a新しいピクセルは常に以前の値に取って代わるか、b新しいピクセルのデプスがZバッファに格納されている以前の値以上であれば、新しいピクセルが以前のピクセル値に取って代わる。ローカルメモリ212は、フレームバッファとZバッファにアクセスするための1024ビットの読み出しポートと1024ビットの書き込みポート、そしてテクスチャの読み出しのための512ビットのポートを備えている。ビデオ変換器210は、フレームメモリの内容を指定された出力フォーマットで表示するように動作することができる。次に、図1ないし図3を参照して説明された本システムのエミュレーションを可能とする構成について説明する。注意すべき点として、便宜上、図1ないし図3に示された処理ユニットを被エミュレーション側処理ユニットとして言及し、一方、以下に説明されるエミュレーションシステムでは、そのエミュレーションシステムの処理ユニットはエミュレーション側処理ユニットとして言及することにする。生じ得るどんな混同をも避けるために、処理ユニットのどちらの種類も被エミュレーション側ユニットもエミュレーション側ユニットも物理的な処理ユニットであって、それらの処理ユニットに適切なネイティブなソフトウェアをそれぞれ実行できることに注意すべきである。図4は、ソニー登録商標のプレイステーション3登録商標娯楽装置の全体的なシステムアーキテクチャを概略的に示す図である。システムユニット910には、そのシステムユニットに接続可能な様々な周辺デバイスが提供されている。システムユニット910は、セルプロセッサ1100と、ラムバス登録商標ダイナミックランダムアクセスメモリXDRAMユニット1500と、専用ビデオランダムアクセスメモリVRAMユニット1250を備えたリアリティシンセサイザグラフィックスユニット1200と、I/Oブリッジ1700とを有している。システムユニット910はまた、ディスク1440を読み取るためのブルーレイ登録商標ディスクBD-ROM登録商標光ディスク読取り装置1430と、取外し可能スロットインハードディスクドライブHDD1400とを有しており、それらにはI/Oブリッジ1700を介してアクセスすることができる。オプションとして、システムユニットはまた、コンパクトフラッシュメモリカード、メモリスティック登録商標メモリカードなどを読み取るためのメモリカード読取装置1450を有しており、同様にI/Oブリッジ1700を介してアクセスすることができる。I/Oブリッジ1700はまた、6個のユニバーサルシリアルバスUSB2.0ポート1710と、ギガビットイーサネットポート1720と、IEEE802.11b/gワイヤレスネットワークWi-Fiポート1730と、7つのブルートゥース接続をサポートできるブルートゥース登録商標ワイヤレスリンクポート1740とに接続されている。動作の際に、I/Oブリッジ1700はすべてのワイヤレス、USBそしてイーサネット登録商標のデータを扱うが、それには1つ以上のゲームコントローラ1751からのデータが含まれる。例えば、ユーザがゲームをプレイしている場合、I/Oブリッジ1700はブルートゥースリンクを介してゲームコントローラ1751からデータを受信し、そのデータをセルプロセッサ1100へと向け、セルプロセッサ1100はそれに従ってゲームの現在状態を更新する。ワイヤレスポート、USBポート、そしてイーサネット登録商標ポートによって、ゲームコントローラ1751のほかに他の周辺デバイスが接続できるが、そのような周辺デバイスとして、リモコン1752、キーボード1753、マウス1754、ソニープレイステーションポータブル登録商標娯楽装置などのポータブル娯楽装置1755、アイトイ登録商標ビデオカメラなどのビデオカメラ1756、マイクヘッドセット1757などがある。従って、そのような周辺デバイスは、原理的には、システムユニット910に無線で接続できる。例えば、ポータブル娯楽装置1755はWi-Fiアドホック接続により通信することができ、マイクヘッドセット1757はブルートゥースリンクによって通信することができる。これらのインタフェースが設けられていることは、プレイステーション3装置が、ディジタルビデオレコーダDVR、セットトップボックス、ディジタルカメラ、ポータブルメディアプレイヤー、ボイスオーバーIP電話、携帯電話、プリンタ、スキャナなどの他の周辺デバイスにも対応できる可能性があることを意味する。それに加えて、USBポート1710を介してレガシーメモリカード読取装置1410をシステムユニットに接続し得るので、プレイステーション登録商標あるいはプレイステーション2登録商標装置によって使用される種類のメモリカード1420の読み取りが可能になる。本実施形態では、ゲームコントローラ1751は、ブルートゥースリンクによってシステムユニット910と無線通信を行なうことができる。しかし、その代わりとして、ゲームコントローラ1751をUSBポートに接続してもよく、それによればゲームコントローラ1751のバッテリを充電する電源を供給できる。1個以上のアナログジョイスティックや従来のコントロールボタンに加えて、ゲームコントローラは、各軸での平行移動および回転に対応する6自由度の動きを感知できる。その結果、従来のボタンあるいはジョイスティックによるコマンドに加えあるいは替えて、ゲームコントローラのユーザによるジェスチャーおよび動作をゲームに対する入力に変換することができる。オプションとして、プレイステーションポータブル装置などワイヤレスで使用可能な他の周辺デバイスをコントローラとして使用することができる。プレイステーションポータブル装置の場合、付加的なゲーム情報あるいは制御情報例えば、制御命令あるいはゲームオーバーまでリトライできる数を装置の画面上に提供することができる。他の代替的あるいは補助的なコントロール装置を用いることもでき、例えば、ダンスマット図示されていない、ライトガン図示されていない、ステアリングホイールとペダル図示されていない、あるいは迅速応答クイズゲーム用の1個あるいは数個の大きなボタンなどのオーダーメイドのコントローラなどを用いることもできる。リモコン1752もブルートゥースリンクによってシステムユニット910との無線通信を行なうことができる。リモコン1752は、ブルーレイディスクBD-ROM読取り装置1430の操作およびディスクコンテンツの操作に適切なコントロールを有している。ブルーレイディスクBD-ROM読取り装置1430は、従来の記録済みのあるいは追記型のCDならびにいわゆるスーパーオーディオCDに加えて、プレイステーションおよびプレイステーション2装置に適合したCD-ROMの読み取りを行なうことができる。読取り装置1430はまた、従来の記録済みのあるいは追記型のDVDに加えて、プレイステーション2およびプレイステーション3装置に適合したDVD-ROMの読み取りを行なうこともできる。更に、読取り装置1430は、従来の記録済みのあるいは追記型のブルーレイディスクに加えて、プレイステーション3に適合したBD-ROMの読み取りを行なうことができる。システムユニット910は、表示画面1305および1以上のスピーカ1310を有するモニタやテレビなどのディスプレイ/サウンド出力デバイス1300にオーディオコネクタおよびビデオコネクタを介してオーディオおよびビデオを提供することができる。それらのオーディオおよびビデオは、プレイステーション3装置がリアリティシンセサイザグラフィックスユニット1200によって生成あるいは復号したものである。オーディオコネクタ1210は従来のアナログならびにディジタル出力を含むことができ、他方、ビデオコネクタ1220はコンポーネントビデオ、S-ビデオ、複合ビデオ、1以上の高精細度マルチメディアインタフェースHDMI出力を様々に含むことができる。その結果、ビデオ出力は、PAL方式あるいはNTSC方式、あるいは720p、1080i、1080pでの高精細度のフォーマットとすることができる。オーディオ処理生成、復号などはセルプロセッサ1100によって実行される。プレイステーション3装置のオペレーティングシステムはドルビー登録商標5.1サラウンドサウンド、ドルビー登録商標シアターサラウンドDTS、およびブルーレイ登録商標ディスクからの7.1サラウンドサウンドの復号をサポートしている。本実施形態では、ビデオカメラ1756は1個の電荷結合素子CCDと、LEDインジケータと、ハードウェアベースのリアルタイムデータ圧縮符号化装置とを有しているので、圧縮されたビデオデータを、画像内ベースのMPEGmotionpictureexpertgroup規格など、システムユニット910による復号に適したフォーマットで送信することができる。カメラのLEDインジケータはシステムユニット910からの適切な制御データに応じて光を照らすようにされており、例えば、照明条件が悪いことなどを知らせる。ビデオカメラ1756の実施形態は、USB、ブルートゥース、あるいはWi-Fi通信ポートを介してなど、様々な仕方でシステムユニット910に接続できる。ビデオカメラの実施形態は、関連したマイクを含むことができ、オーディオデータを送信することもできる。ビデオカメラの実施形態では、CCDの解像度は高精細ビデオキャプチャに適したものとすることができる。使用時に、ビデオカメラによりキャプチャされた画像をゲーム内に組み込んだり、ゲームを制御する入力として解釈したりすることができる。一般に、システムユニット910の通信ポートの1つを介してビデオカメラやリモコンなどの周辺デバイスとのデータ通信が成功裏に実現されるためには、デバイスドライバなどの適切なソフトウェアが提供されなければならない。デバイスドライバ技術は良く知られているので、ここでは詳細に説明しないが、上記本実施形態においてデバイスドライバあるいは同様のソフトウェアインタフェースが必要であることは当業者には既知であろう。次に図5を参照すると、セルプロセッサ1100のアーキテクチャは、4つの基本構成要素、すなわち、メモリコントローラ1160およびデュアルバスインタフェースコントローラ1170A,1170Bを有する外部入出力構造と、パワープロセシングエレメントPPE1150として言及されるメインプロセッサと、シナジスティックプロセシングエレメントSPE1110A-1110Hとして言及される8個のコプロセッサと、エレメントインターコネクトバス1180として言及され、前記構成要素を接続する循環データバスとを有している。セルプロセッサの全体としての浮動小数点演算性能は218GFLOPSであり、これに比較してプレイステーション2装置のエモーションエンジンは6.2GFLOPSである。パワープロセシングエレメントPPE1150は、3.2GHzの内部クロックで動作する両方向同時マルチスレッディングパワー970対応パワーPCコアPPU1155をベースにしたものである。PPE1150は、512kBの二次L2キャッシュと32kBの一次L1キャッシュとを有している。PPE1150は、クロックサイクル毎に単精度演算を8回実行でき、言い換えれば、3.2GHzでは25.6GFLOPSとなる。PPE1150の主な役割はシナジスティックプロセシングエレメント1110A-1110Hに対するコントローラとして機能することであり、シナジスティックプロセシングエレメント1110A-1110Hが計算の作業負荷の大部分を扱う。動作の際に、PPE1150はジョブ待ち行列を保持し、シナジスティックプロセシングエレメント1110A-1110Hのためのジョブをスケジュールし、その進展をモニタする。その結果、シナジスティックプロセシングエレメント1110A-1110Hの各々はカーネルを実行するが、カーネルの役割はジョブをフェッチし、実行し、PPE1150と同期することである。各シナジスティックプロセシングエレメントSPE1110A-1110Hは、それぞれのシナジスティックプロセシングユニットSPU‘-これは、上記サウンドプロセシングユニットと区別するため1120A-1120Hと、それぞれのメモリフローコントローラMFC1140A-1140Hとを有しており、各メモリフローコントローラMFCの方は、それぞれのダイナミックメモリアクセスコントローラDMAC1142A-1142Hと、それぞれのメモリマネジメントユニットMMU1144A-1144Hと、バスインタフェース図示されていないとを有している。各SPU’1120A-1120Hは、3.2GHzのクロックで駆動されるRISCプロセッサであり、256kBのローカルRAM1130A-1130Hを有しているが、そのローカルRAMは原理的には4GBまで拡張可能である。各SPEは、理論的に25.6GFLOPSの単精度演算性能を実現できる。SPU‘は、単一クロックサイクルで、4つの単精度浮動小数点数、あるいは4つの32ビット数、あるいは8つの16ビット整数の演算ができる。同じクロックサイクルで、SPU’はメモリオペレーションも実行できる。SPU‘1120A-1120HはシステムメモリXDRAM1500に直接アクセスすることはない。SPU’1120A-1120Hにより作成された64ビットアドレスはMFC1140A-1140Hに引き渡され、MFC1140A-1140HがそのDMAコントローラ1142A-1142Hに対してエレメントインターコネクトバス1180ならびにメモリコントローラ1160を介してメモリにアクセスするように命令する。エレメントインターコネクトバスEIB1180はセルプロセッサ1100内の論理的に循環する通信バスであり、前述のプロセッサエレメント、即ち、PPE1150と、メモリコントローラ1160と、デュアルバスインタフェース1170A,1170Bと、8個のSPE1110A-1110Hとを、すなわち全部で12の関与エレメントを、接続している。関与エレメントは毎クロックサイクル8バイトの速度でバスに対して同時に読み書きすることができる。各SPE1110A-1110Hは、長い読み出しあるいは書き込みシーケンスをスケジュールするために、先に述べたようにDMAC1142A-1142Hを有している。EIBは4つのチャネルを有しており、2つずつ時計回りと反時計回りの方向である。従って、12の関与エレメントに関して、任意の2つの関与エレメント間の最長のステップワイズデータフローは適切な方向に6ステップである。従って、12スロットに対する理論的にピークの瞬時EIB帯域幅は毎クロック96Bバイトであり、それは関与エレメント間のアービトレーションによってフルに利用した場合である。これは、3.2GHzのクロック速度の場合の理論的ピーク帯域幅307.2GB/sギガバイト/秒に等しい。メモリコントローラ1160は、ラムバス社RambusIncorporatedにより開発されたXDRAMインタフェース1162を有している。メモリコントローラは、ラムバスXDRAM1500に対して理論的ピーク帯域幅25.6GB/sでインタフェース接続する。デュアルバスインタフェース1170A,Bは、ラムバスFlexIO登録商標システムインタフェース1172A,Bを有している。インタフェースは12チャネルに組織され、各チャネル8ビット幅であり、5つの経路はインバウンドで、7つの経路はアウトバウンドである。これによって、コントローラ1170Aを介してセルプロセッサとI/Oブリッジ1700との間に、またコントローラ1170Bを介してリアリティシミュレータグラフィックスユニット1200との間に、62.4GB/sアウトバウンド36.4GB/s、インバウンド26GB/sの理論的ピーク帯域幅が提供される。セルプロセッサ1100によりリアリティシミュレータグラフィックスユニット1200に送信されるデータは、通常、ディスプレイリストから成っており、ディスプレイリストは頂点を描画するコマンド、テクスチャをポリゴンに適用するコマンド、照明条件を指定するコマンドなどのシーケンスである。次に、図6を参照すると、リアリティシミュレータグラフィックスRSXユニット1200はNVidia登録商標G70/71アーキテクチャをベースにしたビデオアクセラレータであり、セルプロセッサ1100により生成されたコマンドのリストを処理し、レンダリングする。RSXユニット1200は、セルプロセッサ1100のバスインタフェースコントローラ1170Bと通信できるホストインタフェース1202と、8個のバーテックスシェーダ1205を備えたバーテックスパイプラインVP1204と、24個のピクセルシェーダ1207を備えたピクセルパイプラインPP1206と、8個のレンダー出力ユニットROP1209を備えたレンダーパイプラインRP1208と、メモリインタフェース1210と、ビデオ出力を生成するビデオ変換器1212とを有している。RSX1200は256MBのダブルデータレートDDRビデオRAMVRAM1250により補完されており、このVRAM1250は600MHzのクロックで動作し、理論的ピーク帯域幅25.6GB/sでRSK1200とインタフェース接続できる。動作の際には、VRAM1250はフレームバッファ1214とテクスチャバッファ1216を保持する。テクスチャバッファ1216はピクセルシェーダ1207にテクスチャを提供し、フレームバッファ1214は処理パイプラインの結果を格納する。RSXは、例えばテクスチャをVRAM1250にロードするために、EIB1180を介してメインメモリ1500にアクセスすることができる。バーテックスパイプライン1204は、主として、レンダリングされる画像内のポリゴンを定義する頂点バーテックスの変形および変換を処理する。ピクセルパイプライン1206は、主として、それらポリゴンに対する色、テクスチャ、照明の適用を処理するが、それにはピクセルの透明度も含まれる。ピクセルパイプラインはまた、処理される各ピクセルに対する赤、緑、青およびアルファ透明度の値を生成する。テクスチャマッピングは、単にグラフィックス画像を表面に適用することでもよいし、バンプマッピング表面の概念上の向きをテクスチャ値に応じて摂動させることによって照明モデルにハイライトや陰を生成する方法あるいは変位マッピング適用されるテクスチャが更に頂点の位置を摂動させることにより、テクスチャと調和する変形された表面を生成する方法を含んでもよい。レンダーパイプライン1208はピクセル間のデプスを比較して、最終画像においてどちらをレンダリングすべきかを決定する。オプションとして、途中のピクセル工程がデプス値に影響しない場合例えば、透明度や変位マッピングが無い場合、レンダーパイプラインおよびバーテックスパイプライン1204は互いにデプス情報を通知して、見えないエレメントをピクセル処理の前に取り除くことにより、全体としてのレンダリングの効率性を向上できる。それに加えて、レンダーパイプライン1208はまた、結果として得られた画像に対して、フルスクリーンのアンチエイリアス処理のような、その後の効果を適用する。バーテックスシェーダ1205およびピクセルシェーダ1207のどちらもシェーダモデル3.0規格に基づいている。クロックサイクル毎に136シェーダ演算まで実行でき、連結されたパイプラインは毎秒748億シェーダ演算を実行でき、毎秒8億4千万個の頂点および100億個のピクセルまでを出力することができる。RSX1200の全体としての浮動小数点演算性能は1.8TFLOPSである。通常、RSX1200はセルプロセッサ1100と密接に連携して動作する。例えば、爆発や雨や雪などの気象効果を表示する際に、多数の粒子の跡をたどり、更新し、場面内でレンダリングしなければならない場合である。この場合、セルプロセッサのPPU1155は、粒子のそれぞれの群れの軌跡を計算するために、1つ以上のSPE1110A-1110Hをスケジュールしなければならない。その間に、RSX1200は、ビデオRAM1250に現在保持されていないテクスチャデータ例えば、雪片があれば、エレメントインターコネクトバス1180、メモリコントローラ1160およびバスインタフェースコントローラ1170を介してメインシステムメモリ1500からそのテクスチャデータを読み出す。そのあるいは各SPE1110A-1110Hは、計算した粒子のプロパティ典型的には、位置および姿勢を示す座標および法線をビデオRAM1250に直接出力するが、そのあるいは各SPE1110-1110HのDMAコントローラ1142A-1142Hはバスインタフェースコントローラ1170Bを介してビデオRAM1250をアドレス指定する。このように、割り当てられたSPEは、タスクの存続期間中は、事実上ビデオ処理パイプラインの一部となる一般に、PPU1155は利用できる8つのSPEのうち6個に対してこのようにしてタスクを割り当てる。すなわち、1つのSPEをオペレーティングシステムのために取っておき、一方、1つのSPEは任意に使用禁止とする。1つのSPEを使用禁止とする場合、1つのSPEによる製造工程の失敗を許容できるので、セルプロセッサの製造の際の許容値のレベルを大きくできる。あるいは、8個すべてのSPEが動作可能な場合、8番目のSPEは、後にセルプロセッサの寿命中に他のSPEのうちの1個により障害が生じた場合のための冗長性を提供できる。PPU1155は様々な仕方でSPEにタスクを割り当てることができる。例えば、SPEを互いに連鎖させることにより、DVDのアクセスやビデオならびにオーディオの復号、エラーマスキングなどのような複雑な動作の各ステップをそれぞれ別個のSPEに割り当てて、扱うようにさせることができる。それとは別に、あるいはそれに加えて、上記の粒子のアニメーションの例の場合など、2個以上のSPEで入力データをパラレルに扱うように割り当てることができる。セルプロセッサ1100および/またはRSX1200により実行されるソフトウェア命令は、製造時に供給してHDD1400に記憶してもよいし、および/または、光ディスクや固体状態記憶装置などのデータキャリヤあるいは記憶媒体によって、あるいは有線あるいは無線ネットワークやインターネット接続のような伝送媒体によって、あるいはそれらの組み合わせによって供給してもよい。製造時に供給されるソフトウェアには、システムファームウェアとプレイステーション3装置のオペレーションシステムOSとが含まれる。動作の際、OSはユーザが様々な機能から選択するためのユーザインタフェースを提供するが、それらの機能にはゲームをプレイすること、音楽を聴くこと、写真を見ること、あるいはビデオを観ることが含まれる。このインタフェースはいわゆるクロスメディアバーXMBの形を取って、様々な種類の機能が水平に配列されている。ユーザは、ゲームコントローラ1751、リモコン1752、あるいは他の適切なコントロール装置を用いて所望の機能をハイライトするように機能間を水平に移動することにより操作するが、ハイライトされた機能の個所では、その機能に関係するオプションがその機能を中心にした位置に垂直方向にスクロールできるリストとして現れ、そのリストを類似の仕方で操作することができる。しかし、ゲーム、オーディオ、あるいは映画のディスク1440がBD-ROM光ディスク読取り装置1430に挿入されると、プレイステーション3装置は適切な選択肢を自動的に選択する例えば、ゲームを開始するようにしてもよいし、あるいは、適切な選択肢例えば、オーディオディスクの再生とそのコンテンツのHDD1400への圧縮との間の選択を提供するようにしてもよい。更に、OSはオンライン機能を提供するが、それには、ウェブブラウザや、追加のゲームコンテンツ、デモ版、および他のメディアをダウンロードできるオンラインストアとのインタフェースや、当該装置のユーザにより指名された他のプレイステーション3装置のユーザとのオンライン通信を提供するフレンド管理機能が含まれ、利用できる周辺デバイスに応じて、テキスト、オーディオ、ビデオを用いるものとすることができる。オンライン機能はまた、適切に設定したゲームをプレイしているときにオンライン通信、コンテンツダウンロード、コンテンツ購入に対応しており、プレイステーション3装置それ自身のファームウェアおよびOSの更新に対応している。図4ないし図6のエミュレーション側プロセシングユニットが、図1ないし図3の被エミュレーション側プロセシングユニットと比較して大まかな言って異なるアーキテクチャ、速度、メモリアクセス機能などを有しているという事実にも拘らず、図1ないし図3を参照して説明したPS2の構成の動作は、図4ないし図6の構成の上で実行されるソフトウェアにより再現されるあるいは殆ど再現される。PS2構成の動作の再現は、シミュレーションというよりはエミュレーションである。すなわち、PS2の機能に寄与する動作のすべてが、融通性のない仕方でクロック毎にエミュレーション側システムで再現されるというわけではない。むしろ、ある機能は単一のエミュレーション側プロセシングユニット上で時分割で実行してもよく、一般に被エミュレーション側システム内で必要がある場合にだけプロセシングユニットは互いに通信し合う。PPE1150はエミュレーション側システムの全体的な動作を制御し、エミュレーション側システム用のオペレーティングシステムOSを実行する。PPE1150はまた、1つのスレッドで、ネイティブなエモーションエンジンPS2命令をネイティブなSPE命令に翻訳し、エミュレーションの各部分を実行するのに必要な関連情報エミュレーション機能のアロケーションなど-下の説明を参照と共にEIBを介して適切なSPEに供給する。一方、他のスレッドは、エミュレーション側システムにネイティブな新しいコードを再コンパイルする機能を提供して、翻訳されたPS2コードにより定義される特定の機能を提供する。上に説明されたPS2システムの様々な部分のエミュレーションは、エミュレーション側プロセシングユニットの役割をする8つのSPEに移譲され、それらSPEが下に示すPS2の機能をエミュレートする。個々のSPEの正確な識別は単に表記上の便宜のためであって、SPE間のメッセージの受け渡しの本質からして、技術的な重要性がないことを理解できるであろう。それで、例えば、SPE1110Aと1110Bとに割り当てられた演算は、全体としてのエミュレーションプロセスに技術的な影響を及ぼすことなく、そっくり交換することが可能である。また、上に述べたように1つのSPEを使用禁止とすることができるので、タスクは実際には残り7個のSPEの間で分割されることも理解されるであろう。SPE1110AIPU118SPE1110BエモーションエンジンCPU102およびベクトル演算ユニット0SPE1110CVIF0、VIF1、GIF110SPE1110Dベクトル演算ユニット1SPE1110EGS200即ち、GS200の動作のうちPS2に特有の部分;SPE1110Gはまた、PS2に特有でないグラフィックス演算に関して、エミュレーション側グラフィックスコントローラ図示されていないとのインタフェースを取るSPE1110F一般に使用されないが、上記PPE1150の1つのスレッドの負荷を軽減するために、コードを再コンパイルしてベクトル演算ユニット1をエミュレートすることができるSPE1110GSPU300SPE1110HIOP700およびSIF122PS2は、様々な被エミュレーション側プロセシングユニット間の通信のために従来のバスを使用する。エミュレーション側システムは、SPE間でまたSPEとPPE1150とI/Oブリッジ1700そして/またはRSX1200などの他のシステムデバイスとの間でメッセージを受け渡すためにEIB1180を使用する。PS2システムはRDRAM500にアクセスするために従来のメモリアクセス構成を有している。エミュレート側システムは分散型DMAシステムDMAコントローラ1142A-1142Hを使用する。メインシステムメモリ1500は共通メモリプールとして扱われ、すべてのSPEがそれに対してアクセスできる。SPEの各々はローカルに、自分自身のタイムクロックで、動作する。SPEはソフトウェアを実行して、PS2システムの機能の一部のエミュレーションを可能にする。EPU間に関して、同期が必要なのは、EPUによってエミュレーションされる被エミュレーション側プロセシングユニットが互いに通信する必要がある場合だけである。そのとき、同期は関係するデバイス間の間だけで行なわれ、EIBを介してメッセージ転送機構を用いてなされる。これを達成するために、2つのSPE間で被エミュレーション側の機能の同期が必要な場合、SPEの1つがSPEの他方をアドレス指定したメッセージをEIB上に発行するソースSPE識別子、デスティネーションSPE識別子などを含める。このメッセージはあるデータに対する請求を含めることができ、あるいはその特定の同期に関係する前記他のSPEに送信されるデータ項目を含めることができる。前記他のSPEから確認応答が返信されると、このトランザクションは完了する。これは、被エミュレーション側プロセッサ間を同期させる信頼できる方法ではあるが、かなり遅い方法である。SPEが論理的に配列される仕方は、図5に概略的に示されている。SPE間の論理的な通信の経路の例も示されているが、これらは網羅的なものではない。幾つかの機能が同一のSPEを共用すれば、通信するためのメッセージ受け渡し機構を用いる必要を全く回避できる。それで、単一のSPE上で2個あるいはそれ以上の被エミュレーション側プロセシングユニットのエミュレーションを提供すれば、SPE間の必要な通信量を減少することによってシステムの性能を向上することができる。図の明瞭さのために図5に網羅的に示されていない他の特徴として、2つの異なるSPEによりエミュレートされる被エミュレーション側プロセシングユニットがPS2の特定の機能を実行するために互いに大量に通信する必要がある場合、1つの実際のプロセッサの機能の一部を他のプロセッサのSPEによって実行することができる。例えば、PS2のサウンドプロセシングユニットはほとんど1つのSPEによってエミュレートされる。そのSPEはサンプルを処理し、それらをミックスして出力のための最終サンプルとする。それはまた、そのレジスタマップへのアクセスを処理する。しかし、サウンドプロセシングユニットのサンプルメモリに書き込むために用いられるレジスタをエミュレートするのはIOP上のSPEであり、それはアクセスの待ち行列を管理し、メインメモリのサンプルメモリイメージに直接アクセスし、それらが生じさせ得る割り込みを、あたかもサウンドプロセシングユニットから送られたかのように、発生させる。2つ以上のSPEで実現されるPS2システムのデバイスの他の例はDMACであり、その機能は、エモーションエンジン、VIF、GIF、IPUなどのために主に用いられるエミュレーション側の構成要素に分配される。1つのエミュレーション側SPEで複数のPS2システムデバイスのエミュレーションを扱う場合の例は、単一のエミュレーション側デバイスをPS2のIOPのエミュレーションとCDディスクコントローラのエミュレーションの大分分とが共用する場合である。被エミュレーション側プロセシングユニットのエミュレーションを2つのあるいはそれ以上のSPEエミュレーション側プロセシングユニットで分割するこのことは、それら被エミュレーション側プロセシングユニットのエミュレーションの間の通信を実現するために必要なメッセージトラフィックをやはり減少させることができる。PPEは、どのSPEが特定の被エミュレーション側プロセシングユニットをエミュレートするか、および/または、どの被エミュレーション側プロセシングユニットが特定のSPEによってエミュレートされるかを変更するために、エミュレーションオペレーション全体にわたるSPE間のエミュレーションタスクの分配を変えることができる。上に記載された本発明の実施形態が、ソフトウェア制御されるデータプロセシング装置を少なくとも部分的にでも用いて実現される場合、そのようなソフトウェア制御を提供するコンピュータプログラム、そのようなコンピュータプログラムが記憶される記憶媒体、そしてそのようなコンピュータプログラムを伝送する伝送媒体が本発明の特徴として想定されていることは理解されるであろう。そのようなソフトウェアは、光ディスクあるいはハードウェアメモリなどの記憶媒体、および/または、ネットワーク接続やインターネットなどの伝送媒体によって提供できることに留意されたい。"