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