【手続補正書】
【提出日】平成17年3月22日(2005.3.22)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサ装置内で、前記プロセッサ装置によって受信されるデータを処理するために一時的に専用パイプラインを設定する方法であって、前記プロセッサ装置は、複数のプログラマブル処理ユニットと、前記複数のプログラマブル処理ユニットを制御するための制御ユニットとを有し、かつ、前記プログラマブル処理ユニットのそれぞれは、複数のソフトウェアプログラムの任意の一つを実行可能なものであるものにおいて、
前記制御ユニットが、前記複数のプログラマブル処理ユニットのうち第１プログラマブル処理ユニットに対して、前記複数のソフトウェアプログラムのうち第１ソフトウェアプログラムを実行して、前記プロセッサ装置で受信された前記データを処理して付加データを生成するように命令するステップと、
前記制御ユニットが、前記第１処理ユニットに対して、前記第１プログラマブル処理ユニットによって前記データが受信されていない期間は、予約状態に入るように指示するステップと、
前記制御ユニットが、前記複数のプログラマブル処理ユニットのうち第２プログラマブル処理ユニットに対して、前記複数のソフトウェアプログラムのうち第２ソフトウェアプログラムを実行して、前記付加データを受信して前記付加データに追加処理を実行するように命令するステップと、
前記制御ユニットが、前記第２プログラマブル処理ユニットに対して、前記第２プログラマブル処理ユニットによって前記付加データが受信されていない期間は、予約状態に入るように指示するステップと、を有することを特徴とする方法。
【請求項２】
請求項１に記載の方法において、前記プロセッサ装置が、メイン・メモリへのアクセスを制御するためのメモリ・コントローラを有し、前記制御ユニットが、前記メモリ・コントローラへの指示において、前記データを格納するための前記メイン・メモリの第１メモリ・ロケーション及び前記付加データを格納するための前記メイン・メモリの第２メモリ・ロケーションを指定するステップをさらに有することを特徴とする方法。
【請求項３】
請求項２に記載の方法において、前記制御ユニットが、前記メモリ・コントローラに指示して、前記第１メモリ・ロケーションへの転送と同時に、前記データを前記第２プログラマブル処理ユニットへ自動的に読み込むように、前記第１メモリ・ロケーションの状態を設定するステップをさらに有することを特徴とする方法。
【請求項４】
請求項１に記載の方法において、前記データが、前記プロセッサ装置が接続されているネットワークから受信されるストリーミング・データであることを特徴とする方法。
【請求項５】
請求項４に記載の方法において、前記ストリーミング・データが、ＭＰＥＧデータであることを特徴とする方法。
【請求項６】
請求項４に記載の方法において、前記ストリーミング・データが、ＡＴＲＡＣデータであることを特徴とする方法。
【請求項７】
請求項４に記載の方法において、前記第１プログラムが、前記ネットワークのネットワーク・プロトコルを処理するネットワーク・プログラムであることを特徴とする方法。
【請求項８】
請求項７に記載の方法において、前記データが、ＴＣＰ／ＩＰデータ・パケットから成ることを特徴とする方法。
【請求項９】
請求項１に記載の方法において、前記第２プログラムが、復号化プログラムであることを特徴とする方法。
【請求項１０】
請求項９に記載の方法において、前記復号化プログラムが、ＭＰＥＧデータを複合することを特徴とする方法。
【請求項１１】
請求項９に記載の方法において、前記復号化プログラムが、ＡＴＲＡＣデータを復号することを特徴とする方法。
【請求項１２】
請求項１に記載の方法において、前記データが、３次元オブジェクトを有し、前記付加データが２次元表示リストを有することを特徴とする方法。
【請求項１３】
請求項１２に記載の方法において、レンダリング・プログラムによる付加処理のために、前記第２プログラムが、前記２次元表示リストを調整することを特徴とする方法。
【請求項１４】
請求項１２に記載の方法において、前記第２プログラムが、レンダリング・プログラムであることを特徴とする方法。
【請求項１５】
処理システムにおいて、
それぞれが複数のソフトウェアプログラムのうち任意の一つを実行可能である複数のプログラマブル処理ユニットと、
前記複数のプログラマブル処理ユニットの処理を制御する制御ユニットであって、前記制御ユニットが、前記複数のプログラマブル処理ユニットの第１プログラマブル処理ユニットに対して、前記複数のソフトウェアプログラムのうち第１ソフトウェアプログラムを実行して前記データを処理して付加データを生成するように指示することによって、前記処理システムにおいて前記処理システムによって受信されるデータを処理するために一時的に専用パイプラインを設定することが可能であって、前記制御ユニットが、前記第１プログラマブル処理ユニットに対して、前記第１プログラマブル処理ユニットによって前記データが受信されていない期間は、予約状態に入るように指示し、前記制御ユニットが、前記複数のプログラマブル処理ユニットのうち第２プログラマブル処理ユニットに対して、前記複数のソフトウェアプログラムのうち第２ソフトウェアプログラムを実行して、前記付加データを受信して前記付加データに追加処理を実行するように指示し、前記制御ユニットが、前記第２プログラマブル処理ユニットに対して、前記第２プログラマブル処理ユニットによって前記付加データが受信されていない期間は、予約状態に入るように指示するように構成する制御ユニットと、を有することを特徴とする処理システム。
【請求項１６】
請求項１５に記載の処理システムにおいて、前記処理システムが、メイン・メモリへのアクセスを制御するためのメモリ・コントローラをさらに有し、前記制御ユニットが、前記メモリ・コントローラへさらに指示可能であって、前記データを格納するために前記メイン・メモリの第１メモリ・ロケーション、及び前記付加データを格納するために前記メイン・メモリの第２メモリ・ロケーションを指定可能であることを特徴とする処理システム。
【請求項１７】
請求項１６に記載の処理システムにおいて、前記制御ユニットが、前記メモリ・コントローラに指示し、前記第１メモリ・ロケーションに対して、前記第１メモリ・ロケーションへの転送と同時に、前記データを前記第２プログラマブル処理ユニットへ自動的に読み込む状態とする指示がさらに可能であることを特徴とする処理システム。
【請求項１８】
請求項１５に記載の処理システムにおいて、前記データが、前記プロセッサ装置が接続されているネットワークから受信されるストリーミング・データであることを特徴とする処理システム。
【請求項１９】
請求項１８に記載の処理システムにおいて、前記ストリーミング・データが、ＭＰＥＧデータであることを特徴とする処理システム。
【請求項２０】
請求項１８に記載の処理システムにおいて、前記ストリーミング・データが、ＡＴＲＡＣデータであることを特徴とする処理システム。
【請求項２１】
請求項１８に記載の処理システムにおいて、前記第１プログラムが、前記ネットワークのネットワーク・プロトコルを処理するネットワーク・プログラムであることを特徴とする処理システム。
【請求項２２】
請求項２１に記載の処理システムにおいて、前記データが、ＴＣＰ／ＩＰデータ・パケットを有することを特徴とする処理システム。
【請求項２３】
請求項１５に記載の処理システムにおいて、前記第２プログラムが、復号化プログラムであることを特徴とする処理システム。
【請求項２４】
請求項２３に記載の処理システムにおいて、前記復号化プログラムが、ＭＰＥＧデータを復号することを特徴とする処理システム。
【請求項２５】
請求項２３に記載の処理システムにおいて、前記復号化プログラムが、ＡＴＲＡＣデータを復号することを特徴とする処理システム。
【請求項２６】
請求項１５に記載の処理システムにおいて、前記データが、３次元オブジェクトを有し、前記付加データが２次元表示リストを有することを特徴とする処理システム。
【請求項２７】
請求項２６に記載の処理システムにおいて、レンダリング・エンジンによる付加処理のために、前記第２プログラムが、前記２次元表示リストを調整することを特徴とする処理システム。
【請求項２８】
請求項２６に記載の処理システムにおいて、前記第２プログラムが、レンダリング・プログラムであることを特徴とする処理システム。
【請求項２９】
プロセッサ装置内において、前記プロセッサ装置によって受信されるデータを処理するために一時的に専用パイプラインを設定するシステムであって、前記プロセッサ装置が、それぞれが複数のソフトウェアプログラムのうち任意の一つを実行可能である複数のプログラマブル処理ユニットと、前記複数のプログラマブル処理ユニットの処理を制御するための制御プロセッサと、を有する前記システムにおいて、
前記制御プロセッサを含むとともに、前記複数のプログラマブル処理ユニットのうち第１プログラマブル処理ユニットに対して、前記複数のソフトウェアプログラムのうち第１ソフトウェアプログラムを実行し、前記プロセッサ装置で受信される前記データを処理して付加データを生成するように指示をする手段と、
前記制御プロセッサを含むとともに、前記第１プログラマブル処理ユニットに対して、前記第１プログラマブル処理ユニットによって前記データが受信されていない期間は、予約状態に入るように指示する手段と、
前記制御プロセッサを含むとともに、前記複数の処理ユニットの第２プログラマブル処理ユニットに対して、前記複数のソフトウェアプログラムのうち第２ソフトウェアプログラムを実行して、前記付加データを受信して前記付加データに追加処理を実行するように指示する手段と、
前記制御プロセッサを含むとともに前記第２プログラマブル処理ユニットに対して、前記第２プログラマブル処理ユニットによって前記付加データが受信されていない期間は、予約状態に入るように指示する手段と、を有することを特徴とするシステム。
【請求項３０】
請求項２９に記載のシステムにおいて、前記プロセッサ装置が、メイン・メモリを有し、前記データを格納するために前記メイン・メモリの第１メモリ・ロケーション、及び前記付加データを格納するために前記メイン・メモリの第２メモリ・ロケーションを指示する手段をさらに有することを特徴とするシステム。
【請求項３１】
請求項３０に記載のシステムにおいて、前記第１メモリ・ロケーションへの転送と同時に、前記第１メモリ・ロケーションの状態を指定して、前記データが前記第２プログラマブル処理ユニットに自動的に読み込まれるような手段をさらに有することを特徴とするシステム。
【請求項３２】
請求項２９に記載のシステムにおいて、前記データが、前記プロセッサ装置が接続されているネットワークから受信されるストリーミング・データであることを特徴とするシステム。
【請求項３３】
請求項３２に記載のシステムにおいて、前記ストリーミング・データが、ＭＰＥＧデータであることを特徴とするシステム。
【請求項３４】
請求項３２に記載のシステムにおいて、前記ストリーミング・データが、ＡＴＲＡＣデータであることを特徴とするシステム。
【請求項３５】
請求項３２に記載のシステムにおいて、前記第１プログラムが、前記ネットワークのネットワーク・プロトコルを処理するネットワーク・プログラムであることを特徴とするシステム。
【請求項３６】
請求項３５に記載のシステムにおいて、前記データが、ＴＣＰ／ＩＰデータ・パケットを有することを特徴とするシステム。
【請求項３７】
請求項２９に記載のシステムにおいて、前記第２プログラムが、復号化プログラムであることを特徴とするシステム。
【請求項３８】
請求項３７に記載のシステムにおいて、前記復号化プログラムが、ＭＰＥＧデータを復号することを特徴とするシステム。
【請求項３９】
請求項３７に記載のシステムにおいて、前記復号化プログラムが、ＡＴＲＡＣデータを復号することを特徴とするシステム。
【請求項４０】
請求項３９に記載のシステムにおいて、前記データが、３次元オブジェクトを有し、前記付加データが２次元表示リストを有することを特徴とするシステム。
【請求項４１】
請求項４０に記載の処理システムにおいて、レンダリング・エンジンによる付加処理のために、前記第２プログラムが、前記２次元表示リストを調整することを特徴とする処理システム。
【請求項４２】
請求項４０に記載のシステムにおいて、前記第２プログラムが、レンダリング・プログラムであることを特徴とするシステム。
【請求項４３】
請求項１５に記載のシステムにおいて、前記プログラマブルな処理ユニットがローカルメモリを有することを特徴とする処理システム。
【請求項４４】
請求項１５又は４３記載のシステムにおいて、前記プロセッシングシステムが、更にＤＭＡＣを有することを特徴とする処理システム。
【請求項４５】
請求項１５，４３又は４４に記載のシステムにおいて、前記処理システムが同一プロセッサ内に構成されていることを特徴とする処理システム。
【請求項４６】
それぞれ並列的かつ独立にデータ処理する複数の処理ユニットと、前記複数の処理ユニットを制御するための制御ユニットと、メイン・メモリと、メイン・メモリへのアクセスを制御するためのメモリ・コントローラとを有するプロセッサ装置において、受信したデータを処理する所定のタスクを実行するに際し、一時的に専用パイプラインを設定する方法であって、
前記制御ユニットが、前記メモリ・コントローラに対して、前記所定のタスクを実行する間、前記複数の処理ユニットのうちの少なくとも一つの第１処理ユニットに関連して排他的に設けられる第１保護エリアと、前記複数の処理ユニットのうちの前記第１処理ユニット及び第２処理ユニットに関連して排他的に設けられる第２保護エリアと、を指定するステップと、
前記制御ユニットが、前記メモリ・コントローラに指示して、前記第１保護エリアに前記データが転送されると同時に前記第１処理ユニットへ自動的に読み込むように、前記第１保護エリアの状態を設定するステップと、
前記制御ユニットが、前記第１処理ユニットに対して、前記所定のタスクを実行する間、前記データを受信すると第１プログラムを実行して前記データを処理することにより付加データを生成し、生成した付加データを前記第２保護エリアに格納するように命令し、前記データが受信されていない期間は待機する予約状態に入るようにするよう指示するステップと、
前記制御ユニットが、前記複数の処理ユニットのうちの少なくとも一つの第２処理ユニットに対して、前記所定のタスクを実行する間、前記第２保護エリアに格納された前記付加データを受信して第２プログラムを実行して追加処理するよう命令し、前記付加データが受信されていない期間は待機する予約状態に入るよう指示するステップと、
を有することを特徴とする方法。
【請求項４７】
請求項４６に記載の方法において、前記第１処理ユニットは、前記データに基づいて、当該データを処理する第２処理ユニットの選択を行う方法。
【請求項４８】
請求項４６記載の方法において、前記プロセッサ装置は、ネットワークに接続されるとともに前記ネットワークから受信されるデータを当該プロセッサ内で処理するものである方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
ＰＥのＰＵはＡＰＵへ割り当てられるサンドボックスの制御を行う。ＰＵは、オペレーティング・システムのような信頼のおけるプログラムだけしか通常作動させないので、本方式によってセキュリティが危険にさらされることはない。本方式に従って、ＰＵはキー管理テーブルの構築と維持とを行う。図３７にこのキー管理テーブルが例示されている。この図に示すように、キー管理テーブル１９０２内の各エントリには、ＡＰＵ用の識別子 (ＩＤ)１９０４と、そのＡＰＵ用のＡＰＵキー１９０６と、キー・マスク１９０８とが含まれる。このキー・マスクの用途について以下説明する。キー管理テーブル１９０２は、スタティック・ランダム・アクセス・メモリ(ＳＲＡＭ)のような比較的高速のメモリに好適に格納され，ＤＭＡＣと関連付けられる。キー管理テーブル１９０２へのエントリはＰＵによって制御される。ＡＰＵが、ＤＲＡＭの特定の格納位置（ストレージロケーション）へのデータの書き込みあるいはＤＲＡＭの特定の格納位置からのデータの読み出しを要求すると、ＤＭＡＣは、その格納位置と関連付けられたメモリ・アクセス・キーに対して、キー管理テーブル１９０２内のそのＡＰＵへ割り当てられたＡＰＵキー１９０６の評価を行う。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１０５
【補正方法】変更
【補正の内容】
【０１０５】
図４４に、専用パイプラインを設定するためのステップを例示する。ステップ２６１０で、ＰＵ２５０４は、ネットワーク・アプレットを処理するようにＡＰＵ２５０８を割り当てる。ネットワーク・アプレットは、ネットワーク１０４のネットワーク・プロトコルの処理用プログラムを有する。この場合、このプロトコルは  伝送制御プロトコル／インターネット用プロトコル(ＴＣＰ／ＩＰ)である。このプロトコルに従うＴＣＰ／ＩＰデータ・パケットはネットワーク１０４を介して伝送される。受信時に、ＡＰＵ２５０８はこれらのパケットを処理し、パケット内のデータを組み立て、ソフトウェア・セル１０２の中へ入れる。ステップ２６１２で、ＰＵ２５０４は、ネットワーク・アプレットの処理の完了時に常駐終了を実行するようにＡＰＵ２５０８に指示する。ステップ２６１４で、ＰＵ２５０４は、ＡＰＵ２５１０及び２５１２がＭＰＥＧアプレットの処理を行うように割り当てる。ステップ２６１５で、ＰＵ２５０４は、ＭＰＥＧアプレットの処理の完了時に常駐終了を実行するようにＡＰＵ２５１０及び２５１２に指示する。ステップ２６１６で、ＰＵ２５０４は、ＡＰＵ２５１０によるアクセス用ソース・サンドボックス及びＡＰＵ２５０８によるアクセス用宛先サンドボックスとしてサンドボックス２５２０を指定する。ステップ２６１８で、ＰＵ２５０４は、ＡＰＵ２５１０によるアクセス用宛先サンドボックス及びＡＰＵ２５１２によるアクセス用ソースサンドボックスとしてサンドボックス２５２２を指定する。ステップ２６２０で、ＰＵ２５０４は、ＡＰＵ２５１２によるアクセス用宛先サンドボックス及びパイプライン内の後段のＡＰＵによるアクセス用ソースサンドボックスとしてサンドボックス２５２４を指定する。ステップ２６２２で、ＰＵ２５０４は、パイプライン内の後段のＡＰＵによるアクセス用宛先サンドボックス及びアクセス用ソースサンドボックスとしてサンドボックス２５２６を指定する。ステップ２６２４で、ＡＰＵ２５１０とＡＰＵ２５１２とは、それぞれ、ソース・サンドボックス２５２０とソース・サンドボックス２５２２の範囲内のメモリ・ブロックへ同期読取りコマンドを送り、これらのメモリ・ブロックをブロッキング状態に設定する。最後に、処理はステップ２６２８へ移り、そこで、専用パイプラインの設定が完了し、パイプ・ライン専用のリソースが予約される。このようにして、ＡＰＵ２５０８、２５１０、２５１２等およびそれらと関連するサンドボックス２５２０、２５２２、２５２４および２５２６は予約状態に入る。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１０７
【補正方法】変更
【補正の内容】
【０１０７】
一方、ソフトウェア・セルがＭＰＥＧデータを含む場合、ステップ２６３８で、ＡＰＵ２５０８はそのセルの前のセルのＩＤ２３３０(図４１)をチェックし、そのセルが属するＭＰＥＧデータ・ストリームを識別する。ステップ２６４０で、ＡＰＵ２５０８はセルの処理用の専用パイプラインのＡＰＵを選択する。この場合、ＡＰＵ２５０８は、これらのデータを処理するＡＰＵ２５１０を選択する。この選択は前回のセルＩＤ２３３０とロード・バランシング・ファクタ（負荷平衡係数）とに基づく。例えば、そのソフトウェア・セルが属するＭＰＥＧデータ・ストリームの前回のソフトウェア・セルが処理用としてＡＰＵ２５１０へ送られたことが前のセルＩＤ２３３０によって示されている場合、現在のソフトウェア・セルも通常の処理用としてＡＰＵ２５１０へ送られる。ステップ２６４２で、ＡＰＵ２５０８は、サンドボックス２５２０へＭＰＥＧデータを書き込む同期書き込みコマンドを出す。このサンドボックスは予めブロッキング状態に設定されているので、ステップ２６４４で、ＭＰＥＧデータは、サンドボックス２５２０からＡＰＵ２５１０のローカル・ストレージへ自動的に読み出される。ステップ２６４６で、ＡＰＵ２５１０はそのローカル・ストレージでＭＰＥＧデータを処理してビデオ・データを生成する。ステップ２６４８で、ＡＰＵ２５１０はサンドボックス２５２２へビデオ・データを書き込む。ステップ２６５０で、ＡＰＵ２５１０はサンドボックス２５２０へ同期読取りコマンドを出し、このサンドボックスに追加ＭＰＥＧデータの受信を準備させる。ステップ２６５２で、ＡＰＵ２５１０は常駐終了処理を行う。この処理によってこのＡＰＵは予約状態に入り、この予約状態の間ＡＰＵは、ＭＰＥＧデータ・ストリームの中で追加ＭＰＥＧデータの処理を行うべく待機する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１１０
【補正方法】変更
【補正の内容】
【０１１０】
システム１０１のプロセッサは絶対タイマーも使用する。この絶対タイマーはＡＰＵとＰＥの他のエレメントへクロック信号を出力する。このクロック信号はこれらのエレメントを駆動するクロック信号に依存せず、かつ、このクロック信号より高速である。この絶対タイマーの利用が図４７に例示されている。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１１４
【補正方法】変更
【補正の内容】
【０１１４】
将来、ＡＰＵによる処理速度はさらに高速になる。しかし、絶対タイマーによって設定されるタイム・バジェットは同じままである。例えば、図４７に示すように、将来のＡＰＵは、さらに短時間でタスクを実行することになり、したがって、スタンバイ時間はさらに長くなるであろう。したがって、ビジー時間２８０８はビジー時間２８０２より短くなり、スタンバイ時間２８１０はスタンバイ時間２８０６より長くなる。しかし、絶対タイマーによって設定された同じタイム・バジェットに基づいて処理を行うようにプログラムが書かれているので、ＡＰＵ間での処理結果の調整が維持される。その結果、さらに高速のＡＰＵが、その処理の結果が予想される時点でコンフリクトを生じることなく、低速のＡＰＵ用として書かれたプログラムの処理を行うことが可能となる。
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図１５
【補正方法】変更
【補正の内容】
【図１５】
2004046861.tif 000001
【手続補正８】
【補正対象書類名】図面
【補正対象項目名】図１７
【補正方法】変更
【補正の内容】
【図１７】
2004046861.tif 000002
【手続補正９】
【補正対象書類名】図面
【補正対象項目名】図１９
【補正方法】変更
【補正の内容】
【図１９】
2004046861.tif 000003
【手続補正１０】
【補正対象書類名】図面
【補正対象項目名】図３６
【補正方法】変更
【補正の内容】
【図３６】
2004046861.tif 000004
【手続補正１１】
【補正対象書類名】図面
【補正対象項目名】図３９
【補正方法】変更
【補正の内容】
【図３９】
2004046861.tif 000005
【手続補正１２】
【補正対象書類名】図面
【補正対象項目名】図４４
【補正方法】変更
【補正の内容】
【図４４】
2004046861.tif 000006