【手続補正書】
【提出日】平成19年4月3日(2007.4.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリに格納されている複数のレジスタ値群を用いて、これらレジスタ値群それぞれに対応するプログラムを逐次実行するプロセッサであって、
複数のレジスタ群と、前記複数のレジスタ群のうちいずれか１つを、プログラム実行の基礎とする実行対象レジスタ群として選択し、当該選択先を所定時間毎に切り替える選択先切り替え手段と、
前記切り替えがなされる毎に、前記複数のレジスタ群のうち前記選択がなされていない１のレジスタ群に前記レジスタ値群を復帰する復帰手段と、
前記切り替えがなされる毎に、前記復帰に先行して、当該復帰の対象となったレジスタ群にある各レジスタ値を、これらレジスタ値に対応する前記メモリ中のレジスタ値群に上書きすることにより退避する退避手段と、
前記切り替えがなされる毎に、前記実行対象レジスタ群にあるプログラムカウンタ値を含むレジスタ値群によりプログラムを特定し、前記特定したプログラムを実行するプログラム実行手段と、
プログラム実行手段を占有する時間を配分するために定められる、プログラムの実行時間枠となるタイムスロットを特定する順序情報を取得する順序情報取得手段とを備え、
前記所定時間は、所望の処理時間が異なるプログラムに応じて、前記タイムスロットを介して、複数のカウント値がそれぞれのプログラムに対応づけられて格納されたテーブル情報にもとづいて、前記カウント値により特定される時間であり、
さらに、前記復帰の候補となる優先順位が対応づけられた候補レジスタ値群が複数存在し、
前記復帰手段は、前記順序情報を参照して、前記タイムスロットを所定の順番で周期的に切り替えるために、現在実行対象となっているタイムスロット及び次の実行対象とすべきタイムスロットを特定した後、前記カウント値と複数の候補レジスタ値群とをタイムスロットと関連づけた時間割付情報を参照して、
前記特定したタイムスロットに割り当てられているプログラムの実行時間枠を取得し、前記特定したタイムスロットに割り当てられている複数の候補レジスタ値群のうちから、前記優先順位にもとづいて、前記復帰の対象とするレジスタ値群を決定して前記復帰を実施し、
前記プログラム実行手段は、前記切り替えがなされたとき、前記実行を開始することを特徴とするプロセッサ。
【請求項２】
前記所定時間は、タイムスロットを介して前記カウント値により特定される時間であって、前記プログラム実行手段が前記特定したプログラムを実行する時間の合計に対して、所定の割合となるべくタイムスロット毎に決められていることを特徴とする請求項１記載のプロセッサ。
【請求項３】
前記順序情報は、レジスタ値群毎に固有な識別情報が所定の順番に配列されたテーブルであり、前記順序は、前記識別情報の配列の順番により示されることを特徴とする請求項２記載のプロセッサ。
【請求項４】
前記順序情報は、前記配列中に同一の識別情報を１以上含み、当該配列中における同じ識別情報の数は、各識別情報により特定されるレジスタ値群に対応するプログラム毎に固有であることを特徴とする請求項３記載のプロセッサ。
【請求項５】
前記複数のプログラムは、前記テーブルの変更の要否を判断して前記テーブルを変更するための管理プログラムを含み、前記配列中における、前記管理プログラムに対応するレジスタ値群の所在を特定する識別情報の数は１つのみであることを特徴とする請求項４記載のプロセッサ。
【請求項６】
前記所定時間は、前記複数のプログラム毎に固有の時間であり、さらに、各識別情報は、当該識別情報により特定されるレジスタ値群に対応するプログラムの前記固有の時間を示す時間情報が付加されており、前記管理プログラムは、各識別情報に付加されている時間情報により示される前記固有の時間の合計が前記所定の割合以内となるように前記変更を実施することを特徴とする請求項５記載のプロセッサ。
【請求項７】
前記プログラム実行手段は、前記管理プログラムの実行中において、前記テーブルの変更が必要と判断した場合、前記テーブルに対して前記変更がなされた状態のダミーテーブルを生成し、当該ダミーテーブルと前記テーブルとを入れ替えることにより前記変更を実施することを特徴とする請求項６記載のプロセッサ。
【請求項８】
前記複数のプログラムは、映像処理を実行するための映像処理プログラムを含み、前記配列中における、当該映像処理プログラムに対応するレジスタ値群の所在を特定する識別情報の数は、他のプログラムよりも多いことを特徴とする請求項４記載のプロセッサ。
【請求項９】
前記識別情報は、レジスタ値群が記憶されている領域を示すアドレス値であり、前記復帰手段は、前記アドレス値により復帰すべきレジスタ値群の所在を特定し、前記復帰を実施することを特徴とする請求項４記載のプロセッサ。
【請求項１０】
前記順序情報は、レジスタ値群毎に固有な識別情報それぞれに他の識別情報を指し示すポインタが付されているテーブルであり、前記順序は、前記ポインタを辿っていくことにより示されていることを特徴とする請求項３記載のプロセッサ。
【請求項１１】
前記複数のレジスタ群は、２つであり、前記選択先切り替え手段は、前記２つのレジスタ群に対して、交互に前記切り替えを実施することを特徴とする請求項１記載のプロセッサ。
【請求項１２】
前記プログラム実行手段は、Ｎ段のパイプライン処理を実行し、前記退避手段は、前記選択先切り替えが実施された時点より、（Ｎ−１）クロック以降に前記退避を実施することを特徴とする請求項１１記載のプロセッサ。
【請求項１３】
前記選択先切り替え手段は、前記複数のレジスタ群から所定の順序で前記選択先を決定し、前記切り替えを実施し、前記復帰手段は、前記複数のレジスタ群から所定の順序でレジスタ値群の復帰先を決定し、前記復帰を実施することを特徴とする請求項１記載のプロセッサ。
【請求項１４】
前記復帰手段は、前記メモリ内に記憶されている前記レジスタ値群をコピーして前記復帰を実施し、前記プログラム実行手段は、プログラムの実行に伴って、実行対象レジスタ群にあるレジスタ値を変更する場合があり、前記退避手段は、前記プログラム実行手段による前記変更がなされた場合にのみ前記退避を実施することを特徴とする請求項１記載のプロセッサ。
【請求項１５】
前記複数のレジスタ群の各レジスタは、それぞれのレジスタに復帰されているレジスタ値が変更されたか否かを示す変更情報が付されており、前記退避手段は、前記変更情報にもとづいて、変更がなされたレジスタ値のみを、これらレジスタ値が変更される前の値が記憶されている前記メモリ内の場所にそれぞれ書き込むことにより、前記退避を実施することを特徴とする請求項１４記載のプロセッサ。
【請求項１６】
前記変更情報は、１ビットのフラグであることを特徴とする請求項１５記載のプロセッサ。
【請求項１７】
前記テーブル情報は、前記各カウント値に前記複数のレジスタ値群のいずれかを特定する特定情報が対応づけられており、
前記復帰の対象は、前記特定情報により復帰するレジスタ値群を前記順番にもとづいて、前記順番で前記カウント値により前記選択の都度特定されたものであり、
前記特定情報により復帰されたレジスタ値群を含むレジスタ群が実行対象レジスタ群として選択されてから他のレジスタ群が実行対象レジスタ群として選択されるまでの前記所定時間は、当該復帰に用いられた特定情報に対応づけられていたカウント値が示す時間であることを特徴とする請求項３記載のプロセッサ。
【請求項１８】
前記所定時間は、前記複数のタイムスロット毎に固有であることを特徴とする請求項１記載のプロセッサ。
【請求項１９】
さらに、プログラムの実行に必要な実行データを格納するための複数のキャッシュと、前記復帰手段による前記復帰に伴って、当該復帰がなされたレジスタ値群を参照して、当該レジスタ値群に対応するプログラムの実行データを特定する実行データ特定手段と、
前記複数のキャッシュのうち、プログラムの実行に用いられていないいずれか１つのキャッシュに、特定された前記実行データを書き込むキャッシュ書き込み手段とを備えることを特徴とする請求項１記載のプロセッサ。
【請求項２０】
複数のレジスタ群を備え、メモリに格納されている複数のレジスタ値群を用いて、これらレジスタ値群それぞれに対応するプログラムを逐次実行するプロセッサにおいて、プログラムを実行するプログラム実行方法であって、
前記複数のレジスタ群のうちいずれか１つを、プログラム実行の基礎とする実行対象レジスタ群として選択し、当該選択先を所定時間毎に切り替える選択先切り替えステップと、
前記切り替えがなされる毎に、前記複数のレジスタ群のうち前記選択がなされていない１のレジスタ群に前記レジスタ値群を復帰する復帰ステップと、
前記切り替えがなされる毎に、前記復帰に先行して、当該復帰の対象となったレジスタ群にある各レジスタ値を、これらレジスタ値に対応する前記メモリ中のレジスタ値群に上書きすることにより退避する退避ステップと、
前記切り替えがなされる毎に、前記実行対象レジスタ群にあるプログラムカウンタ値を含むレジスタ値群によりプログラムを特定し、前記特定したプログラムを実行するプログラム実行ステップと、
プログラム実行ステップを占有する時間を配分するために定められる、プログラムの実行時間枠となるタイムスロットを特定する順序情報を取得する順序情報取得ステップとを含み、
前記所定時間は、所望の処理時間が異なるプログラムに応じて、前記タイムスロットを介して、
複数のカウント値がそれぞれのプログラムに対応づけられて格納されたテーブル情報にもとづいて、前記カウント値により特定される時間であり、
さらに、前記復帰の候補となる優先順位が対応づけられた候補レジスタ値群が複数存在し、
前記復帰ステップは、前記順序情報を参照して、前記タイムスロットを所定の順番で周期的に切り替えるために、現在実行対象となっているタイムスロット及び次の実行対象とすべきタイムスロットを特定した後、前記カウント値と複数の候補レジスタ値群とをタイムスロットと関連づけた時間割付情報を参照して、前記特定したタイムスロットに割り当てられているプログラムの実行時間枠を取得し、前記特定したタイムスロットに割り当てられている複数の候補レジスタ値群のうちから、前記優先順位にもとづいて、前記復帰の対象とするレジスタ値群を決定して前記復帰を実施し、
前記プログラム実行ステップは、前記切り替えがなされたとき、前記実行を開始することを特徴とするプログラム実行方法。
【請求項２１】
複数のレジスタ値群を用いて、これらレジスタ値群それぞれに対応するプログラムを逐次実行するプロセッサであって、
前記レジスタ値群のそれぞれを格納する複数のレジスタ群と、
前記複数のレジスタ群のうちいずれか１つを、プログラム実行の基礎とする実行対象レジスタ群として選択し、当該選択先を所定時間毎に切り替える選択先切り替え手段と、
前記切り替えがなされる毎に、前記実行対象レジスタ群にあるプログラムカウンタ値を含むレジスタ値群によりプログラムを特定し、前記特定したプログラムを実行するプログラム実行手段と、
プログラム実行手段を占有する時間を配分するために定められる、プログラムの実行時間枠となるタイムスロットを特定する順序情報を取得する順序情報取得手段とを備え、
前記所定時間は、所望の処理時間が異なるプログラムに応じて、前記タイムスロットを介して、複数のカウント値がそれぞれのプログラムに対応づけられて格納されたテーブル情報にもとづいて、前記カウント値により特定される時間であり、
さらに、前記復帰の候補となる優先順位が対応づけられた候補レジスタ値群が複数存在し、
前記復帰手段は、前記順序情報を参照して、前記タイムスロットを所定の順番で周期的に切り替えるために、現在実行対象となっているタイムスロット及び次の実行対象とすべきタイムスロットを特定した後、前記カウント値と複数の候補レジスタ値群とをタイムスロットと関連づけた時間割付情報を参照して、前記特定したタイムスロットに割り当てられているプログラムの実行時間枠を取得し、前記特定したタイムスロットに割り当てられている複数の候補レジスタ値群のうちから、前記優先順位にもとづいて、前記復帰の対象とするレジスタ値群を決定して前記復帰を実施し、
前記プログラム実行手段は、前記切り替えがなされたとき、前記実行を開始することを特徴とするプロセッサ。
【請求項２２】
複数のレジスタ群を備え、複数のレジスタ値群を用いて、これらレジスタ値群それぞれに対応するプログラムを逐次実行するプロセッサにおいて、プログラムを実行するプログラム実行方法であって、
前記複数のレジスタ群のうちいずれか１つを、プログラム実行の基礎とする実行対象レジスタ群として選択し、当該選択先を所定時間毎に切り替える選択先切り替えステップと、
前記切り替えがなされる毎に、前記実行対象レジスタ群にあるプログラムカウンタ値を含むレジスタ値群によりプログラムを特定し、前記特定したプログラムを実行するプログラム実行ステップと、
プログラム実行ステップを占有する時間を配分するために定められる、プログラムの実行時間枠となるタイムスロットを特定する順序情報を取得する順序情報取得ステップとを含み、
前記所定時間は、所望の処理時間が異なるプログラムに応じて、前記タイムスロットを介して、複数のカウント値がそれぞれのプログラムに対応づけられて格納されたテーブル情報にもとづいて、前記カウント値により特定される時間であり、
さらに、前記復帰の候補となる優先順位が対応づけられた候補レジスタ値群が複数存在し、
前記復帰ステップは、前記順序情報を参照して、前記タイムスロットを所定の順番で周期的に切り替えるために、現在実行対象となっているタイムスロット及び次の実行対象とすべきタイムスロットを特定した後、前記カウント値と複数の候補レジスタ値群とをタイムスロットと関連づけた時間割付情報を参照して、前記特定したタイムスロットに割り当てられているプログラムの実行時間枠を取得し、前記特定したタイムスロットに割り当てられている複数の候補レジスタ値群のうちから、前記優先順位にもとづいて、前記復帰の対象とするレジスタ値群を決定して前記復帰を実施し、
前記プログラム実行ステップは、前記切り替えがなされたとき、前記実行を開始することを特徴とするプログラム実行方法。