複数のプロセッサを備えたプロセッサシステムであって、上記プロセッサに実行させる命令を読み込んで、上記命令が実行される上記プロセッサの割り当てを制御する割り当て制御手段と、上記割り当てにより各上記プロセッサに実行される上記命令に応じて、上記各プロセッサに供給するクロック信号の周波数を制御するクロック制御手段と、を備え、上記割り当て制御手段は、上記命令が、上記各プロセッサによって実行可能かどうか、および上記命令の実行タイミングの制約を解析する命令解析手段と、上記命令が上記各プロセッサによって実行される場合に要する実行時間を推定する実行時間推定手段と、上記解析結果、および上記推定された実行時間に基づいて、上記命令が実行される上記プロセッサの割り当てを決定する割り当て決定手段とを備え、上記割り当て決定手段による決定に応じて、上記命令が実行される上記プロセッサの割り当てを制御するように構成されたことを特徴とするプロセッサシステム。請求項1のプロセッサシステムであって、上記クロック制御手段は、上記推定された実行時間、および上記決定されたプロセッサの割り当てに基づいて、上記各プロセッサをそれぞれ所定の基準の周波数のクロック信号で動作させた場合に待ち時間が生じる上記プロセッサに、上記所定の基準の周波数よりも低い周波数のクロック信号を供給するように決定するクロック周波数決定手段を備え、上記クロック周波数決定手段による決定に応じて、上記各プロセッサに供給するクロック信号の周波数を制御するように構成されたことを特徴とするプロセッサシステム。請求項1または請求項2の何れか1つのプロセッサシステムであって、上記割り当て決定手段は、上記解析結果、および上記推定された実行時間に基づいて、上記命令が複数の上記プロセッサによって実行可能である場合に、上記命令の実行時間が最も短い上記プロセッサに対して、上記割り当てを決定するように構成されたことを特徴とするプロセッサシステム。請求項1または請求項2の何れか1つのプロセッサシステムであって、上記割り当て決定手段は、上記解析結果、および上記推定された実行時間に基づいて、所定数の一連の上記命令の実行に要する時間が最も短くなるように、上記割り当てを決定するように構成されたことを特徴とするプロセッサシステム。請求項2のプロセッサシステムであって、上記割り当て決定手段は、所定数の一連の上記命令についての、上記各命令と、上記各命令が実行される上記各プロセッサとの割り当ての複数種類の組み合わせのうち、上記各プロセッサをそれぞれ所定の基準の周波数のクロック信号で動作させた場合に待ち時間が生じる上記プロセッサを、上記所定の基準の周波数よりも低い周波数のクロック信号で動作させたときに、上記所定数の一連の命令の実行に要する消費電力が最も小さい組み合わせを上記割り当てとして決定する一方、上記クロック周波数決定手段は、上記割り当てについての、上記所定の基準の周波数よりも低い周波数のクロック信号を、上記プロセッサに供給するクロック信号の周波数として決定するように構成されたことを特徴とするプロセッサシステム。請求項3から請求項5の何れか1つのプロセッサシステムであって、さらに、上記各プロセッサによる上記命令の合計実行時間の比率の範囲を設定可能な処理比率設定手段を備え、上記割り当て決定手段は、上記設定された合計実行時間の比率の範囲内で、上記割り当てを決定するように構成されたことを特徴とするプロセッサシステム。請求項1から請求項6の何れか1つのプロセッサシステムであって、さらに、上記クロック制御手段による上記クロック信号の周波数の制御に対応して、上記各プロセッサに供給する電源電圧、および上記各プロセッサを構成するトランジスタの基板ノードに供給する電圧のうちの少なくとも何れか1つを制御する電圧制御手段を備えたことを特徴とするプロセッサシステム。請求項1から請求項7の何れか1つのプロセッサシステムであって、さらに、上記クロック信号の周波数、または上記クロック信号の周波数および上記電圧制御手段によって制御される電圧に応じて、冷却手段の動作を制御する冷却制御手段を備えたことを特徴とするプロセッサシステム。しかしながら、上記のように単にクロック信号の周波数を低下させる手法は、処理負荷が軽いときには用いることができるものの、高い処理能力が必要とされる場合には適用することができないため、システム全体として必ずしも大幅に消費電力を低減させることはできない。また、処理を行わないユニットの電源をオフにする手法では、処理が行われる際の消費電力自体は低減されないため、やはり、必ずしも大幅に消費電力を低減させることはできない。上記の問題点に鑑み、本発明は、特に複数のプロセッサを備えたプロセッサシステムの消費電力を大幅に低減することができ、しかも、処理能力と消費電力との両立を図ることも可能にすることを課題とする。上記の課題を解決するために、請求項1の発明が講じた解決手段は、複数のプロセッサを備えたプロセッサシステムであって、上記プロセッサに実行させる命令を読み込んで、上記命令が実行される上記プロセッサの割り当てを制御する割り当て制御手段と、上記割り当てにより各上記プロセッサに実行される上記命令に応じて、上記各プロセッサに供給するクロック信号の周波数を制御するクロック制御手段と、を備え、上記割り当て制御手段は、上記命令が、上記各プロセッサによって実行可能かどうか、および上記命令の実行タイミングの制約を解析する命令解析手段と、上記命令が上記各プロセッサによって実行される場合に要する実行時間を推定する実行時間推定手段と、上記解析結果、および上記推定された実行時間に基づいて、上記命令が実行される上記プロセッサの割り当てを決定する割り当て決定手段とを備え、上記割り当て決定手段による決定に応じて、上記命令が実行される上記プロセッサの割り当てを制御するように構成されたことを特徴とする。これにより、命令の解析に基づいてプロセッサの割り当てが決定されるので、特にプロセッサの割り当てを示す情報が含まれていないような命令コードの命令を実行させる場合でも、消費電力を低減し得るように割り当てを制御することができる。ここで、上記解析の際に参照する命令の数が多いほど、命令の実行タイミングの制約や各命令の実行時間の相互関係などが適切に判断でき、より確実に消費電力が低減されるようにすることが容易にできるが、一方上記命令の数を多くすることは、解析をする回路の規模を増大させることになるので、プロセッサシステムに必要とされる処理能力や消費電力などに応じた数の命令が解析の対象となるようにすればよい。また、プロセッサに割り当てる命令の単位は、1命令ごとに限らず、例えばまとまりを持った処理内容の一連の命令が何れかのプロセッサで高いクロック効率で実行できる場合などには、そのような一連の命令を単位として割り当てするようにしてもよい。また、上記実行時間は、文字通り時間の単位の値に限らず、例えばクロック数のように時間を種々換算して得られる値など、実質的に実行時間に対応する値であればよい。また、請求項2の発明は、請求項1のプロセッサシステムであって、上記クロック制御手段は、上記推定された実行時間、および上記決定されたプロセッサの割り当てに基づいて、上記各プロセッサをそれぞれ所定の基準の周波数のクロック信号で動作させた場合に待ち時間が生じる上記プロセッサに、上記所定の基準の周波数よりも低い周波数のクロック信号を供給するように決定するクロック周波数決定手段を備え、上記クロック周波数決定手段による決定に応じて、上記各プロセッサに供給するクロック信号の周波数を制御するように構成されたことを特徴とする。これにより、上記待ち時間に応じてクロック信号の周波数を低くすることによって、確実に、処理能力を低下させることなく消費電力を低減することができる。しかも、命令の解析に基づいてクロック周波数が決定されるので、特にクロック周波数を示す情報が含まれていないような命令コードの命令を実行させる場合でも、消費電力を低減し得るようにクロック周波数を制御することができる。また、請求項3の発明は、請求項1または請求項2の何れか1つのプロセッサシステムであって、上記割り当て決定手段は、上記解析結果、および上記推定された実行時間に基づいて、上記命令が複数の上記プロセッサによって実行可能である場合に、上記命令の実行時間が最も短い上記プロセッサに対して、上記割り当てを決定するように構成されたことを特徴とする。これにより、各命令を実行時間が最も短いプロセッサで実行させることができるので、処理効率を高くして、プロセッサを構成する素子の無駄なスイッチング回数を減少させることができ、クロック周波数を制御することによる効果に加えて、より消費電力を低減することができる。また、請求項4の発明は、請求項1または請求項2の何れか1つのプロセッサシステムであって、上記割り当て決定手段は、上記解析結果、および上記推定された実行時間に基づいて、所定数の一連の上記命令の実行に要する時間が最も短くなるように、上記割り当てを決定するように構成されたことを特徴とする。これにより、前記のようにクロック周波数の制御によって消費電力を低減するとともに、各プロセッサによる命令実行の並列度を高くして全体の処理能力を向上させることもできる。また、請求項5の発明は、請求項2のプロセッサシステムであって、上記割り当て決定手段は、所定数の一連の上記命令についての、上記各命令と、上記各命令が実行される上記各プロセッサとの割り当ての複数種類の組み合わせのうち、上記各プロセッサをそれぞれ所定の基準の周波数のクロック信号で動作させた場合に待ち時間が生じる上記プロセッサを、上記所定の基準の周波数よりも低い周波数のクロック信号で動作させたときに、上記所定数の一連の命令の実行に要する消費電力が最も小さい組み合わせを上記割り当てとして決定する一方、上記クロック周波数決定手段は、上記割り当てについての、上記所定の基準の周波数よりも低い周波数のクロック信号を、上記プロセッサに供給するクロック信号の周波数として決定するように構成されたことを特徴とする。これにより、プロセッサの割り当てを最適化して、大幅に消費電力を低減することができる。すなわち、プロセッサの割り当て方によって、各プロセッサに生じる待ち時間が異なり、その待ち時間に応じてクロック周波数を低くすることによる消費電力の低減程度が異なるので、上記のように割り当ておよびクロック周波数が決定されるようにすることによって、より確実に消費電力を低減することができる。また、請求項6の発明は、請求項3から請求項5の何れか1つのプロセッサシステムであって、さらに、上記各プロセッサによる上記命令の合計実行時間の比率の範囲を設定可能な処理比率設定手段を備え、上記割り当て決定手段は、上記設定された合計実行時間の比率の範囲内で、上記割り当てを決定するように構成されたことを特徴とする。これにより、1つのまたは少数のプロセッサに極端に多くの命令が割り当てられないようにすることができるので、各プロセッサによる処理の並列度が大幅に低下してプログラム全体の実行時間が長くなるのを防止することができる。また、一連の命令の実行に要する時間が短くなるような割り当てや消費電力が小さくなるような割り当てを決定するために考慮する場合分け割り当ての組み合わせの数を少なく抑えることができるので、割り当て等をするための回路規模を低減することもできる。また、請求項7の発明は、請求項1から請求項6の何れか1つのプロセッサシステムであって、さらに、上記クロック制御手段による上記クロック信号の周波数の制御に対応して、上記各プロセッサに供給する電源電圧、および上記各プロセッサを構成するトランジスタの基板ノードに供給する電圧のうちの少なくとも何れか1つを制御する電圧制御手段を備えたことを特徴とする。このように電源電圧や基板電圧を制御することにより、さらに消費電力を低減することができる。すなわち、前記のようにクロック周波数が所定の基準の周波数より低く設定されると、回路の遅延マージンが大きくなるので、電源電圧を低くしたり、プロセッサを構成する素子の閾値電圧を高くするように基板電圧を制御することができる。そして、電源電圧を低くすると、消費電力は電源電圧の2乗に比例して小さくなり、また、閾値電圧を高くすると素子のリーク電流が小さくなる。それゆえ、クロック周波数を低くして無駄なスイッチング回数を減少させることによる消費電力低減効果に加えて、一層、消費電力を小さくすることができる。また、請求項8の発明は、請求項1から請求項7の何れか1つのプロセッサシステムであって、さらに、上記クロック信号の周波数、または上記クロック信号の周波数および上記電圧制御手段によって制御される電圧に応じて、冷却手段の動作を制御する冷却制御手段を備えたことを特徴とする。これにより、必要充分な冷却を行って、プロセッサシステムの熱暴走などを確実に防止するとともに、冷却のために要する消費電力も小さく抑えることができる。上記の課題を解決するために、第1の例が講じた解決手段は、複数のプロセッサを備えたプロセッサシステムであって、上記プロセッサに実行させる命令を読み込んで、上記命令が実行される上記プロセッサの割り当てを制御する割り当て制御手段と、上記割り当てにより各上記プロセッサに実行される上記命令に応じて、上記各プロセッサに供給するクロック信号の周波数を制御するクロック制御手段と、を備えたことを特徴とする。これにより、命令の実行時間に余裕のあるプロセッサ、すなわち他のプロセッサによる命令の実行が終了するまで待ち時間が生じるようなプロセッサに供給するクロック信号の周波数を低くすることができ、プロセッサシステム全体の処理能力を低下させることなく消費電力を低減することができる。また、第2の例は、第1の例のプロセッサシステムであって、上記割り当て制御手段は、上記命令が、上記各プロセッサによって実行可能かどうか、および上記命令の実行タイミングの制約を解析する命令解析手段と、上記命令が上記各プロセッサによって実行される場合に要する実行時間を推定する実行時間推定手段と、上記解析結果、および上記推定された実行時間に基づいて、上記命令が実行される上記プロセッサの割り当てを決定する割り当て決定手段とを備え、上記割り当て決定手段による決定に応じて、上記命令が実行される上記プロセッサの割り当てを制御するように構成されたことを特徴とする。これにより、命令の解析に基づいてプロセッサの割り当てが決定されるので、特にプロセッサの割り当てを示す情報が含まれていないような命令コードの命令を実行させる場合でも、消費電力を低減し得るように割り当てを制御することができる。ここで、上記解析の際に参照する命令の数が多いほど、命令の実行タイミングの制約や各命令の実行時間の相互関係などが適切に判断でき、より確実に消費電力が低減されるようにすることが容易にできるが、一方上記命令の数を多くすることは、解析をする回路の規模を増大させることになるので、プロセッサシステムに必要とされる処理能力や消費電力などに応じた数の命令が解析の対照となるようにすればよい。また、プロセッサに割り当てる命令の単位は、1命令ごとに限らず、例えばまとまりを持った処理内容の一連の命令が何れかのプロセッサで高いクロック効率で実行できる場合などには、そのような一連の命令を単位として割り当てするようにしてもよい。また、上記実行時間は、文字通り時間の単位の値に限らず、例えばクロック数のように時間を種々換算して得られる値など、実質的に実行時間に対応する値であればよい。また、第3の例は、第2の例のプロセッサシステムであって、上記クロック制御手段は、上記推定された実行時間、および上記決定されたプロセッサの割り当てに基づいて、上記各プロセッサをそれぞれ所定の基準の周波数のクロック信号で動作させた場合に待ち時間が生じる上記プロセッサに、上記所定の基準の周波数よりも低い周波数のクロック信号を供給するように決定するクロック周波数決定手段を備え、上記クロック周波数決定手段による決定に応じて、上記各プロセッサに供給するクロック信号の周波数を制御するように構成されたことを特徴とする。これにより、上記待ち時間に応じてクロック信号の周波数を低くすることによって、確実に、処理能力を低下させることなく消費電力を低減することができる。しかも、命令の解析に基づいてクロック周波数が決定されるので、特にクロック周波数を示す情報が含まれていないような命令コードの命令を実行させる場合でも、消費電力を低減し得るようにクロック周波数を制御することができる。また、第4の例は、第2の例または第3の例の何れか1つのプロセッサシステムであって、上記割り当て決定手段は、上記解析結果、および上記推定された実行時間に基づいて、上記命令が複数の上記プロセッサによって実行可能である場合に、上記命令の実行時間が最も短い上記プロセッサに対して、上記割り当てを決定するように構成されたことを特徴とする。これにより、各命令を実行時間が最も短いプロセッサで実行させることができるので、処理効率を高くして、プロセッサを構成する素子の無駄なスイッチング回数を減少させることができ、クロック周波数を制御することによる効果に加えて、より消費電力を低減することができる。また、第5の例は、第2の例または第3の例の何れか1つのプロセッサシステムであって、上記割り当て決定手段は、上記解析結果、および上記推定された実行時間に基づいて、所定数の一連の上記命令の実行に要する時間が最も短くなるように、上記割り当てを決定するように構成されたことを特徴とする。これにより、前記のようにクロック周波数の制御によって消費電力を低減するとともに、各プロセッサによる命令実行の並列度を高くして全体の処理能力を向上させることもできる。また、第6の例は、第3の例の命令列最適化装置であって、上記割り当て決定手段は、所定数の一連の上記命令についての、上記各命令と、上記各命令が実行される上記各プロセッサとの割り当ての複数種類の組み合わせのうち、上記各プロセッサをそれぞれ所定の基準の周波数のクロック信号で動作させた場合に待ち時間が生じる上記プロセッサを、上記所定の基準の周波数よりも低い周波数のクロック信号で動作させたときに、上記所定数の一連の命令の実行に要する消費電力が最も小さい組み合わせを上記割り当てとして決定する一方、上記クロック周波数決定手段は、上記割り当てについての、上記所定の基準の周波数よりも低い周波数のクロック信号を、上記プロセッサに供給するクロック信号の周波数として決定するように構成されたことを特徴とする。これにより、プロセッサの割り当てを最適化して、大幅に消費電力を低減することができる。すなわち、プロセッサの割り当て方によって、各プロセッサに生じる待ち時間が異なり、その待ち時間に応じてクロック周波数を低くすることによる消費電力の低減程度が異なるので、上記のように割り当ておよびクロック周波数が決定されるようにすることによって、より確実に消費電力を低減することができる。また、第7の例は、第4の例から第6の例の何れか1つのプロセッサシステムであって、さらに、上記各プロセッサによる上記命令の合計実行時間の比率の範囲を設定可能な処理比率設定手段を備え、上記割り当て決定手段は、上記設定された合計実行時間の比率の範囲内で、上記割り当てを決定するように構成されたことを特徴とする。これにより、1つのまたは少数のプロセッサに極端に多くの命令が割り当てられないようにすることができるので、各プロセッサによる処理の並列度が大幅に低下してプログラム全体の実行時間が長くなるのを防止することができる。また、一連の命令の実行に要する時間が短くなるような割り当てや消費電力が小さくなるような割り当てを決定するために考慮する場合分け割り当ての組み合わせの数を少なく抑えることができるので、割り当て等をするための回路規模を低減することもできる。また、第8の例は、第1の例のプロセッサシステムであって、上記割り当て制御手段は、上記命令に含まれる割り当て制御情報に基づいて、上記割り当てを制御するとともに、上記クロック制御手段は、上記命令が上記各プロセッサによって実行される場合に要する実行時間を推定するとともに、上記推定された実行時間、および上記割り当て制御情報によって示されるプロセッサの割り当てに基づいて、上記各プロセッサをそれぞれ所定の基準の周波数のクロック信号で動作させた場合に待ち時間が生じる上記プロセッサに、上記所定の基準の周波数よりも低い周波数のクロック信号を供給するように決定するクロック周波数決定手段を備え、上記クロック周波数決定手段による決定に応じて、上記各プロセッサに供給するクロック信号の周波数を制御するように構成されたことを特徴とする。このように、前記第1の例について説明したように、クロック周波数を制御することによる消費電力の低減効果が得られるとともに、割り当て制御情報に基づいてプロセッサの割り当てが制御されるようにすることにより、割り当てのために命令の解析回路等を設ける必要がないので、小さな回路規模で消費電力を低減することができる。また、第9の例は、第1の例のプロセッサシステムであって、上記割り当て制御手段は、上記命令に含まれる割り当て制御情報に基づいて、上記割り当てを制御するとともに、上記クロック制御手段は、上記命令に含まれるクロック制御情報に基づいて、上記クロック信号の周波数を制御することを特徴とする。このように、プロセッサの割り当て制御と共にクロック周波数の制御もクロック制御情報に基づいて行われるようにすることにより、一層、回路規模を小さく抑えることができる。また、第10の例は、第1の例から第9の例の何れか1つのプロセッサシステムであって、さらに、上記クロック制御手段による上記クロック信号の周波数の制御に対応して、上記各プロセッサに供給する電源電圧、および上記各プロセッサを構成するトランジスタの基板ノードに供給する電圧のうちの少なくとも何れか1つを制御する電圧制御手段を備えたことを特徴とする。このように電源電圧や基板電圧を制御することにより、さらに消費電力を低減することができる。すなわち、前記のようにクロック周波数が所定の基準の周波数より低く設定されると、回路の遅延マージンが大きくなるので、電源電圧を低くしたり、プロセッサを構成する素子の閾値電圧を高くするように基板電圧を制御することができる。そして、電源電圧を低くすると、消費電力は電源電圧の2乗に比例して小さくなり、また、閾値電圧を高くすると素子のリーク電流が小さくなる。それゆえ、クロック周波数を低くして無駄なスイッチング回数を減少させることによる消費電力低減効果に加えて、一層、消費電力を小さくすることができる。また、第11の例は、第1の例から第10の例の何れか1つのプロセッサシステムであって、さらに、上記クロック信号の周波数、または上記クロック信号の周波数および上記電圧制御手段によって制御される電圧に応じて、冷却手段の動作を制御する冷却制御手段を備えたことを特徴とする。これにより、必要充分な冷却を行って、プロセッサシステムの熱暴走などを確実に防止するとともに、冷却のために要する消費電力も小さく抑えることができる。また、第12の例は、複数のプロセッサを備えたプロセッサシステムによって実行される命令列を最適化する命令列最適化装置であって、上記命令列における各命令が、各上記プロセッサによって実行可能かどうか、および上記各命令の実行タイミングの制約を解析する命令解析手段と、上記各命令が上記各プロセッサによって実行される場合に要する実行時間を推定する実行時間推定手段と、上記解析結果、および上記推定された実行時間に基づいて、上記各命令が実行される上記プロセッサの割り当てを決定する割り当て決定手段と、上記割り当て決定手段による決定に応じて、割り当て制御情報を上記命令列に付加する割り当て制御情報付加手段と、を備えたことを特徴とする。また、第20の例は、複数のプロセッサを備えたプロセッサシステムによって実行される命令列を最適化する命令列最適化プログラムであって、上記命令列における各命令が、各上記プロセッサによって実行可能かどうか、および上記各命令の実行タイミングの制約を解析する命令解析ステップと、上記各命令が上記各プロセッサによって実行される場合に要する実行時間を推定する実行時間推定ステップと、上記解析結果、および上記推定された実行時間に基づいて、上記各命令が実行される上記プロセッサの割り当てを決定する割り当て決定ステップと、上記割り当て決定ステップによる決定に応じて、割り当て制御情報を上記命令列に付加する割り当て制御情報付加ステップと、をコンピュータに実行させることを特徴とする。これにより、前記第8の例について説明したような、小さな回路規模でプロセッサの割り当てを制御し、消費電力を低減し得るプロセッサシステムによって実行可能な命令列を容易に生成することができる。また、第13の例は、第12の例の命令列最適化装置であって、さらに、上記割り当てにより上記各プロセッサに実行される上記命令に応じて、上記各プロセッサに供給するクロック信号の周波数を決定するクロック周波数決定手段と、上記クロック周波数決定手段による決定に応じて、クロック制御情報を上記命令列に付加するクロック制御情報付加手段と、を備えたことを特徴とする。また、第21の例は、第20の例の命令列最適化プログラムであって、さらに、上記割り当てにより上記各プロセッサに実行される上記命令に応じて、上記各プロセッサに供給するクロック信号の周波数を決定するクロック周波数決定ステップと、上記クロック周波数決定ステップによる決定に応じて、クロック制御情報を上記命令列に付加するクロック制御情報付加ステップと、をコンピュータに実行させることを特徴とする。これにより、前記第9の例について説明したような、より小さな回路規模でプロセッサの割り当ておよびクロック周波数を制御し、消費電力を低減し得るプロセッサシステムによって実行可能な命令列を容易に生成することができる。また、第14の例は、第13の例の命令列最適化装置であって、上記クロック周波数決定手段は、上記推定された実行時間、および上記決定されたプロセッサの割り当てに基づいて、上記各プロセッサをそれぞれ所定の基準の周波数のクロック信号で動作させた場合に待ち時間が生じる上記プロセッサに、上記所定の基準の周波数よりも低い周波数のクロック信号を供給するように決定するように構成されたことを特徴とする。また、第22の例は、第21の例の命令列最適化プログラムであって、上記クロック周波数決定ステップは、上記推定された実行時間、および上記決定されたプロセッサの割り当てに基づいて、上記各プロセッサをそれぞれ所定の基準の周波数のクロック信号で動作させた場合に待ち時間が生じる上記プロセッサに、上記所定の基準の周波数よりも低い周波数のクロック信号を供給するように決定することを特徴とする。これにより、生成された命令列を前記第9の例について説明したようなプロセッサシステムによって実行させる際に、上記待ち時間に応じてクロック信号の周波数が低くされることによって、確実に、プロセッサシステムの処理能力を低下させることなく消費電力を低減することができる。また、第15の例は、第12の例から第14の例の何れか1つの命令列最適化装置であって、上記割り当て決定手段は、上記解析結果、および上記推定された実行時間に基づいて、上記命令が複数の上記プロセッサによって実行可能である場合に、上記命令の実行時間が最も短い上記プロセッサに対して、上記割り当てを決定するように構成されたことを特徴とする。また、第23の例は、第20の例から第22の例の何れか1つの命令列最適化プログラムであって、上記割り当て決定ステップは、上記解析結果、および上記推定された実行時間に基づいて、上記命令が複数の上記プロセッサによって実行可能である場合に、上記命令の実行時間が最も短い上記プロセッサに対して、上記割り当てを決定することを特徴とする。これにより、生成された命令列を前記第8の例または第9の例について説明したようなプロセッサシステムによって実行させる際に、各命令を実行時間が最も短いプロセッサで実行させることができるので、クロック効率を高くして、プロセッサを構成する素子の無駄なスイッチング回数を減少させることができ、クロック周波数を制御することによる効果に加えて、より消費電力を低減することができる。また、第16の例は、第12の例から第14の例の何れか1つの命令列最適化装置であって、上記割り当て決定手段は、上記解析結果、および上記推定された実行時間に基づいて、所定数の一連の上記命令の実行に要する時間が最も短くなるように、上記割り当てを決定するように構成されたことを特徴とする。また、第24の例は、第20の例から第22の例の何れか1つの命令列最適化プログラムであって、上記割り当て決定ステップは、上記解析結果、および上記推定された実行時間に基づいて、所定数の一連の上記命令の実行に要する時間が最も短くなるように、上記割り当てを決定することを特徴とする。これにより、生成された命令列を前記第8の例または第9の例について説明したようなプロセッサシステムによって実行させる際に、前記のようにクロック周波数の制御によって消費電力を低減するとともに、各プロセッサによる命令実行の並列度を高くして全体の処理能力を向上させることもできる。また、第17の例は、第13の例または第14の例の何れか1つの命令列最適化装置であって、上記割り当て決定手段は、所定数の一連の上記命令についての、上記各命令と、上記各命令が実行される上記各プロセッサとの割り当ての複数種類の組み合わせのうち、上記各プロセッサをそれぞれ所定の基準の周波数のクロック信号で動作させた場合に待ち時間が生じる上記プロセッサを、上記所定の基準の周波数よりも低い周波数のクロック信号で動作させたときに、上記所定数の一連の命令の実行に要する消費電力が最も小さい組み合わせを上記割り当てとして決定する一方、上記クロック周波数決定手段は、上記割り当てについての、上記所定の基準の周波数よりも低い周波数のクロック信号を、上記プロセッサに供給するクロック信号の周波数として決定するように構成されたことを特徴とする。また、第25の例は、第21の例または第22の例の何れか1つの命令列最適化プログラムであって、上記割り当て決定ステップは、所定数の一連の上記命令についての、上記各命令と、上記各命令が実行される上記各プロセッサとの割り当ての複数種類の組み合わせのうち、上記各プロセッサをそれぞれ所定の基準の周波数のクロック信号で動作させた場合に待ち時間が生じる上記プロセッサを、上記所定の基準の周波数よりも低い周波数のクロック信号で動作させたときに、上記所定数の一連の命令の実行に要する消費電力が最も小さい組み合わせを上記割り当てとして決定する一方、上記クロック周波数決定ステップは、上記割り当てについての、上記所定の基準の周波数よりも低い周波数のクロック信号を、上記プロセッサに供給するクロック信号の周波数として決定することを特徴とする。これにより、生成された命令列を前記第8の例または第9の例について説明したようなプロセッサシステムによって実行させる際に、プロセッサの割り当てが最適化されるようにして、大幅に消費電力を低減することができる。すなわち、プロセッサの割り当て方によって、各プロセッサに生じる待ち時間が異なり、その待ち時間に応じてクロック周波数を低くすることによる消費電力の低減程度が異なるので、上記のように割り当ておよびクロック周波数が決定されるようにすることによって確実に消費電力を低減することができる。また、第18の例は、第15の例から第17の例の何れか1つの命令列最適化装置であって、さらに、上記各プロセッサによる上記命令の合計実行時間の比率の範囲を設定可能な処理比率設定手段を備え、上記割り当て決定手段は、上記設定された合計実行時間の比率の範囲内で、上記割り当てを決定するように構成されたことを特徴とする。また、第26の例は、第23の例から第25の例の何れか1つの命令列最適化プログラムであって、さらに、上記各プロセッサによる上記命令の合計実行時間の比率の範囲を設定可能な処理比率設定ステップをコンピュータに実行させるとともに、上記割り当て決定ステップは、上記設定された合計実行時間の比率の範囲内で、上記割り当てを決定することを特徴とする。これにより、生成された命令列を前記第8の例または第9の例について説明したようなプロセッサシステムによって実行させる際に、1つのまたは少数のプロセッサに極端に多くの命令が割り当てられないようにすることができるので、各プロセッサによる処理の並列度が大幅に低下してプログラム全体の実行時間が長くなるのを防止することができる。また、プロセッサシステムにおいて一連の命令の実行に要する時間が短くなるような割り当てや消費電力が小さくなるような割り当てを決定するために考慮する場合分け割り当ての組み合わせの数を少なく抑えることができるので、割り当て等をするための処理時間を低減することもでき、割り当て制御情報等の付加を高速に行わせることができる。また、第19の例は、第12の例から第18の例の何れか1つの命令列最適化装置であって、上記命令列における各命令の順序を並べ替えて、上記命令列が上記プロセッサシステムによって実行される際の消費電力が並べ替える前よりも小さくなる順序に並べ替える並べ替え手段を備えたことを特徴とする。また、第27の例は、第20の例から第26の例の何れか1つの命令列最適化プログラムであって、上記命令列における各命令の順序を並べ替えて、上記命令列が上記プロセッサシステムによって実行される際の消費電力が並べ替える前よりも小さくなる順序に並べ替える並べ替えステップをコンピュータに実行させることを特徴とする。これにより、命令の実行順序を最適化して生成された命令列を前記第8の例または第9の例について説明したようなプロセッサシステムによって実行させる際に、大幅に消費電力を低減することができる。すなわち、命令の実行順序によって、各プロセッサに生じる待ち時間が異なることがあり、その待ち時間に応じてクロック周波数を低くすることによる消費電力の低減程度が異なるので、待ち時間を有効に利用してクロック周波数を低くすることができ、したがって、一層、消費電力を低減することが容易にできる。以上のように本発明によると、プロセッサごとに、実行される命令に応じてクロック周波数を制御することにより、処理能力を低下させることなく、消費電力を低減することができる。さらに、上記クロック周波数の制御と対応させて、各プロセッサに供給される電源電圧や基板電圧を制御することにより、一層、消費電力を低減することができる。本発明の概要、および消費電力等とクロック周波数等との関係まず、本発明によって消費電力が低減されるメカニズムに関連する消費電力等とクロック周波数等との関係について説明する。消費電力と、クロック周波数、電源電圧との関係CMOSトランジスタ回路の消費電力と、クロック周波数および電源電圧との間には、リーク電流を無視すれば、概ね次のような関係がある。P∝K×C×Vdd2×f1ここで、P:消費電力K:トランジスタのスイッチング確率C:駆動される負荷容量Vdd:電源電圧f:クロック周波数トランジスタの動作周波数である。上式から解るように、電源電圧やクロック周波数を低くすることによって、消費電力を小さくすることができる。すなわち、一定の処理処理内容とデータとの組み合わせによる処理を行うために必要な実行サイクル数は一定なので、所定の時間内において、あるクロック周波数での実行サイクル数が上記一定の処理に必要な実行サイクル数よりも多い場合には、無駄なトランジスタのトグルオン、オフスイッチングが行われることになる。そこで、クロック周波数を低くして上記所定の時間内での実行サイクル数を少なくすることにより、無駄なトグル回数を減らして消費電力を低減することができる。しかも、クロック周波数を低くすると、回路遅延マージンが大きくなるため、以下に説明するように電源電圧を低下させることができ、したがって消費電力上記のように電源電圧の2乗に比例するを一層小さく抑えることができる。回路の遅延時間と、電源電圧、トランジスタの閾値電圧との関係回路の遅延時間ゲート遅延時間と、電源電圧およびトランジスタの閾値電圧との間には、次のような関係がある。td∝Vdd×C/Vdd-Vt22ここで、td:回路の遅延時間C:駆動される負荷容量Vdd:電源電圧Vt:トランジスタの閾値電圧である。すなわち、遅延時間は、駆動される負荷容量が一定だとすれば、電源電圧と閾値電圧とによって定まる。具体的には、例えば、閾値電圧が0.4Vの場合、電源電圧が2.5Vのときの遅延時間をtd1、電源電圧が1.75Vのときの遅延時間をtd2とすると、td2/td1≒1.69となる。つまり、電源電圧が2.5Vから1.75Vに低下すると、遅延時間は約1.69倍になる。そこで、電源電圧が2.5Vでクロック周波数がfのときに適切に動作する回路は、電源電圧が1.75Vに低下しても、クロック周波数が約f/1.69≒0.59×fであれば動作させることができ、逆に、約0.59×fのクロック周波数で動作させる場合には、電源電圧を1.75Vに低下させることができる。したがって、前記式1に示したように、クロック周波数を低くすることによって、そのこと自体による消費電力の低減効果に加えて、電源電圧を低下させることによる消費電力の低減効果が得られる。また、クロック周波数を低くすることによって回路遅延マージンが大きくなると、上記のように電源電圧を低くできるのと同様に、閾値電圧を高くすることによってリーク電流を小さくすることができる。すなわち、例えば、電源電圧が2.5Vの場合に閾値電圧を0.4Vから0.5Vにしたとすると、上記式2によれば遅延時間は1.1025倍になるが、このとき、リーク電流は、約一桁小さくなる。したがって、やはり、クロック周波数を低くすることによって、リーク電流を小さくすることによる消費電力の低減効果も得ることができる。上記のような閾値電圧の設定は、具体的には、半導体基板電圧を制御することによって、すなわち、トランジスタの基板ノードウェルが形成されている場合には、そのウェルとソースノードとに対して逆バイアス電圧を印加することによって行うことができる。すなわち、近年の半導体プロセスにおける回路の微細化に伴って、閾値電圧を低くスケーリングすることや、大容量のメモリを半導体チップ内に搭載することによる回路規模の増大などに応じてリーク電流の増大が顕在化しがちであるのに対して、逆に、クロック周波数を低くして遅延時間の増大を許容し得るようにすることにより、閾値電圧が高くなるように基板電圧を制御して消費電力を低減することができる。本発明においては、上記のようなクロック周波数、電源電圧、および基板電圧と、消費電力との関係を利用して、複数のプロセッサにそれぞれ実行される命令を割り当てるとともに、各プロセッサの処理内容実行される命令の処理時間に応じて、プロセッサごとにクロック周波数等を制御することにより、全体の処理能力の低下を招くことなく、大幅な低消費電力化が実現される。以下、本発明の具体的な実施の形態について説明する。実施の形態1実施の形態1として、半導体集積回路で構成されたプロセッサシステムにおいて、命令に付加されたフラグに基づいて、命令をCPUとハードウェアエンジンHWEとの何れのモジュール機能ブロックに実行させるかの割り当て、およびクロック周波数の制御が行われる例について説明する。図1は、プロセッサシステムの要部の構成を示すブロック図である。このプロセッサシステムは、記憶部100と、フラグ検出部101と、命令割り当て制御部102と、CPU103と、HWE104と、SRAM105と、クロック制御部106とを備えている。上記フラグ検出部101と命令割り当て制御部102によって割り当て制御手段が構成され、フラグ検出部101とクロック制御部106によってクロック制御手段が構成される。上記記憶部100は、実行される命令の命令コードが格納されるもので、例えばあらかじめ命令コードが記憶されたROMや、ハードディスクに記憶された命令コードがロードされるRAMなどによって構成される。上記命令コードには、CPU103およびHWE104のクロック周波数に関する動作モードを示す情報が含まれている。具体的には、例えば図2に示すように、命令コードは、命令の内容を示す命令コード本体に、その命令がCPU103またはHWE104の何れで実行されるかを示す割り当て制御フラグと、CPU103またはHWE104をそれぞれ動作させるクロック信号の周波数を示すクロック制御フラグとが付加されて成っている。上記クロック制御フラグは、より詳しくは、例えば図3に示すように、上位2ビットがCPU103に供給されるクロック信号の周波数を示し、下位2ビットがHWE104に供給されるクロック信号の周波数を示すようになっている。このようなフラグは、例えばプログラム設計者が付加することなどもできるが、後述する命令列最適化装置によって自動的に付加させることもできる。なお、必ずしも上記のようにCPU103とHWE104とで独立に全てのクロック周波数を指定し得るようにするのに限らず、所定のクロック周波数の組み合わせを指定し得るようにしてもよい。また、特にクロック周波数の指定がない場合に、最高のクロック周波数になるようにしてもよい。フラグ検出部101は、記憶部100から読み出された命令コードと、その命令コードに含まれる割り当て制御フラグに基づいた割り当て制御信号とを命令割り当て制御部102に出力するとともに、クロック制御フラグに基づくクロック制御信号をクロック制御部106に出力するようになっている。命令割り当て制御部102は、上記フラグ検出部101から出力された割り当て制御信号に応じて、CPU103またはHWE104に命令コードを転送するようになっている。CPU103は、内部に有する演算リソースやSRAM105等を用いて、一般的な種々の命令を実行する汎用のプロセッサである。なお、このCPU103には半導体集積回路全体の種々の動作を制御する機能を持たせるようにしてもよい。一方、HWE104は、例えば、1つのまたは一連の命令によるMPEG-4演算やビタビ復号演算等の特定の演算処理定型処理を高速に少ない処理サイクル数で、かつ、CPU103の処理とは独立していわゆる突き放しで行うプロセッサである。ここでは説明の簡単のために、例えば図2に示すアドレス0000~0003のようなループ処理を高速に行えるとして説明する。SRAM105は、CPU103やHWE104の処理における一時的なデータなどが格納される共有メモリである。なお、このようなメモリとしては、通常、高速な動作が可能なSRAMStaticRAMが用いられるが、これに限るものではない。クロック制御部106は、前記フラグ検出部101から出力されるクロック制御信号に応じた周波数のクロック信号を、CPU103、HWE104およびSRAM105に供給するものである。次に、上記のように構成されたプロセッサシステムの動作について説明する。図4は、記憶部100に格納された命令が実行されるときの制御動作を示すフローチャートである。なお、同図は、プロセッサシステムの制御動作を模式的に示すもので、実際には、必ずしも同図に示す各ステップが順に行われるのではなく、通常、前記各部の動作が並行して行われる。S100フラグ検出部101は、記憶部100に記憶されている命令コードまたは命令コード群を先読みし、その命令コードに含まれる割り当て制御フラグ、およびクロック制御フラグを検出する。S101~S103フラグ検出部101は、次に、上記割り当て制御フラグの検出結果に基づいたCPU103またはHWE104を示す割り当て制御信号と、上記命令コードとを命令割り当て制御部102に出力する。ここで、上記命令コードは、上記フラグが付加されたままでもよいし、またはフラグを除去してもよい。S104さらに、フラグ検出部101は、クロック制御フラグの検出結果に基づいて、クロック制御信号をクロック制御部106に出力する。S105クロック制御部106は、上記クロック制御信号に応じて、CPU103、およびHWE104に出力するクロック信号の周波数を切り替える。具体的には、図2のプログラムの例では、HWE104には、アドレス0000~0004の命令コードが実行される際に周波数fのクロック信号が供給される。一方、CPU103には、アドレス0005~0008の命令コードが実行される際に周波数f/2のクロック信号が供給され、アドレス0009の命令コードが実行される際に周波数fのクロック信号が供給される。また、SRAM105へは、CPU103またはHWE104に供給されるクロック信号の周波数のうち、高い方の周波数のクロック信号が供給される。S106命令割り当て制御部102は、上記フラグ検出部101から出力された割り当て制御信号に応じて、命令コードをCPU103またはHWE104に転送する。例えば図2に示したプログラムの例では、アドレス0000~0004の命令コードはHWE104に転送されて実行され、アドレス0005~0009の命令コードはCPU103に転送されて実行される。ここで、図2に示したプログラム例の内容について簡単に説明すると、アドレス0000~0003の命令コードは、アドレス0001~0002の命令コードの実行が4回繰り返されるループ演算が行われることを示している。アドレス0004の命令コードは、上記ループ演算が行われた結果、HWE104のレジスタAに保持されたデータが、SRAM105におけるアドレスxxxxの領域に格納されることを示している。また、アドレス0009の命令コードは、CPU103によってアドレス0005~0008の処理が行われた後、レジスタAに保持されているデータに、上記HWE104によってSRAM105に格納されたデータが加算されることを示している。このようなプログラムが実行される場合、図5に示すように、まず、アドレス0000~0004の命令コードがHWE104に転送され、実行される。一方、アドレス0005~0008の命令コードは、上記HWE104による実行と並行して、順次転送されながら実行される。そこで、例えば、HWE104によるアドレス0000~0003の命令コードループ演算の実行がCPU103の2倍の効率で1ループあたり2クロックで行われ、アドレス0004の命令コードの実行が1クロックで行われるとすると、合計で2クロック×4ループ1クロックで9クロック要することになる。一方、CPU103によるアドレス0005~0008の命令コードの実行が4クロックで行われるとすると、この所要クロック数は上記HWE104によるループ演算の所要クロック数の約1/2にあたることになる。そこで、もし、CPU103およびHWE104に同じ周波数fのクロック信号が供給されるとすると、CPU103はHWE104の約1/2の時間でアドレス0008までの命令コードの実行を完了することになる。そして、この場合、次のアドレス0009の命令コードは、HWE104によるループ演算の演算結果を参照しているので、上記ループ演算が終了するまで実行することができず、その間、CPU103では無駄に電力が消費されることになってしまう。すなわち、CPU103とHWE104の処理内容の統合が必要な場合には、どちらかが相対的に過剰な演算処理性能を有し処理能力が高いなどのために処理を早く完了したとしても、他方の演算結果が出るまでの間、内部状態を維持したまま待つ必要があり、その間アイドル状態で動作して不要なトグルによる電力を消費し続けることになる。ところが、本実施の形態のプロセッサシステムでは、前記のように、CPU103でアドレス0005~0009の命令コードが実行される際には、クロック制御フラグに基づいて、f/2の周波数のクロック信号がCPU103に供給される。このため、CPU103の消費電力を約1/2に抑えられるとともに、CPU103の処理は、周波数fのクロック信号が供給されるHWE104の処理とほぼ同時に終了する処理時間が等価になるので、プロセッサシステム全体の処理能力の低下を招くことがない。すなわち、処理能力と消費電力とを両立させ得るクロック周波数の組み合わせを最適化した動作モードで種々の処理を行わせることができる。しかも、上記のように命令コードに付加されたフラグに基づいて、プロセッサの割り当てやクロック周波数の制御をすることにより、複雑なデコード回路等を設ける必要がないので、回路規模を小さく抑えることもできる。なお、命令の所要クロック数と供給可能な周波数によっては、必ずしも待ち時間が全くなくならなくても、最高周波数より低い周波数にして少しでも待ち時間が短くなれば、処理能力を低下させることなく消費電力を低減できることになる。また、CPU103またはHWE104の一方が動作しないとき、すなわち実行する命令が割り当てられないときや、各プロセッサで実行される命令の終了タイミングが正確には一致せずに多少の待ち時間が生じるときなどには、クロック信号の供給を停止または入力されるクロック信号をディスエイブル状態にするようにしてもよい。実施の形態2次に、上記のような、各プロセッサの割り当ておよびクロック周波数を制御するためのフラグが付加された命令コードを生成する命令列最適化装置の例について説明する。この命令列最適化装置は、例えば、コンパイラやオプティマイザなどと称されるプログラムが実行されるコンピュータによって構成され、機能的な構成としては、図6に示すような構成を有している。同図において、記憶装置201は、フラグが付加される前後のソースプログラムおよびオブジェクトプログラムを記憶するものである。上記ソースプログラムとしては、例えば命令コード列から成る実行形式の機械語プログラムや、アセンブラプログラム、また、抽象度の高いC言語プログラムなどを用いることができる。ここで、アセンブラプログラムやC言語プログラムなどの場合には、機械語プログラムへの展開が行われるとともにフラグが付加されるようにしてもよいし、一旦、命令コードの付加を示す情報が埋め込まれた中間プログラムが生成された後に、フラグが付加された機械語プログラムが生成されるようにしてもよい。命令解析部202命令解析手段は、ソースプログラムを解析し、ソースプログラムに含まれる各命令一連の命令から成る命令群を含むが、何れのプロセッサで実行可能かを判定するとともに、各命令の相互関係処理内容の依存関係、すなわち、例えばある命令I1の実行結果が他の命令I2の実行にあたって参照される場合には、命令I1の実行が完了しなければ命令I2は実行できないなどの実行タイミングの制約を判定するようになっている。標準実行時間推定部203実行時間推定手段は、各命令が各プロセッサによって所定の基準のクロック周波数例えば最高周波数:以下、標準クロック周波数と呼ぶ。で実行される場合の標準実行時間を推定するようになっている。上記標準実行時間は、具体的には、例えば、各プロセッサごとに種々の命令の実行に要する所要クロック数が登録されたテーブルを参照し、これに標準クロック周波数の逆数1/fを乗算することによって得ることができる。なお、上記所要クロック数に関しては、何れかの基準とするプロセッサによって実行される際の所要クロック数を上記のようにして求め、これに他のプロセッサで実行される場合の効率基準とするプロセッサとの処理能力の比を乗算することによって、他のプロセッサによって実行される場合の所要クロック数を簡易に推定することもできる。また、プログラム中にループ演算や条件分岐が含まれている場合などには、必ずしも正確な所要クロック数を求められるとは限らないが、そのような場合には、例えばサンプルデータを用いたシミュレーションやプログラム設計者による指定などによってループ回数や分岐条件等を設定することにより、妥当な推定値や最悪値を所要クロック数として求めることなどができる。換算実行時間算出部204は、各命令が各プロセッサによって種々のクロック周波数で実行される場合に要する換算実行時間を算出するようになっている。具体的には、標準実行時間×標準クロック周波数/各クロック周波数によって換算実行時間が求められる。なお、例えば、標準実行時間と種々のクロック周波数との組み合わせに対応して、あらかじめ上記換算実行時間が登録されたテーブルを参照することによって求めるなどしてもよい。ここで、上記標準実行時間や換算実行時間としては、文字通り時間の単位の値を用いてもよいが、クロック数を用いるようにしてもよい。すなわち、標準実行時間として所要クロック数を用い、各クロック周波数に応じた換算実行時間として、所要クロック数×標準クロック周波数/各クロック周波数を用いるなどしてもよい。割り当てクロック周波数決定部205割り当て決定手段、クロック周波数決定手段は、上記命令解析部202によって判定された、各命令を実行可能なプロセッサおよび実行タイミングの制約を示す情報と、換算実行時間算出部204によって算出された各命令の換算実行時間とに基づいて、消費電力が最も小さくなるように、各命令を実行させるプロセッサの割り当て、および各命令が実行される際に供給するクロック信号の周波数を決定するようになっている。具体的には、例えば、図7abに示すように、命令a、bがプロセッサA、Bによって実行される場合において、クロック周波数がfのときに、命令aはプロセッサA、Bの何れで実行されても実行時間が同じである一方、命令bがプロセッサAで実行される実行時間はプロセッサBで実行される実行時間の1/2であるとし、また、命令a、bの実行が共に完了した後でなければ次の命令の実行が可能でないとした場合、命令bがプロセッサAによって実行されるようにすれば、プロセッサAの処理には余裕があることになる。そこで、プロセッサAのクロック周波数をf/2にすることにより、全体の処理時間に影響を与えることなく、消費電力を低減することができる。フラグ付加部206割り当て制御情報付加手段、クロック制御情報付加手段は、上記割り当てクロック周波数決定部205によって決定された割り当て、および周波数に基づいて、前記図2に示したように、各命令の命令コードに割り当て制御フラグおよびクロック制御フラグを付加するようになっている。次に、上記命令列最適化装置の動作について、図8に基づいて説明する。S1000まず、ソースプログラムが解析され、各命令を実行可能なプロセッサが判別される。また、複数の命令が並行して実行される場合に、何れの命令も実行が完了しなければ他の命令が実行できないような命令などの実行タイミングの制約が検出される。S1001次に、ソースプログラムに含まれる全ての命令が、ある1つのプロセッサだけによって実行可能であるかどうかが判定され、判定結果がYesであれば、上記全ての命令は上記1つのプロセッサによって例えば最高クロック周波数で実行させればよいので、処理は後述するS1006に移行する。S1002上記S1001の判定結果がNoであれば、各命令が各プロセッサによって標準クロック周波数で実行される場合の標準実行時間が推定される。S1003さらに、各命令が各プロセッサによって種々のクロック周波数で実行される場合に要する換算実行時間が算出される。S1004上記のようにして算出された換算実行時間、およびS1000で検出された命令間の相互関係命令の実行タイミングの制約に基づいて、消費電力が最も小さくなるように、各命令を実行させるプロセッサの割り当て、および各命令の実行時に供給するクロック信号の周波数が決定される。具体的には、例えば、まず各命令を実行可能なプロセッサへの割り当ての全ての組み合わせに対して、それぞれ、前記図7で説明したように、全てのプロセッサを例えば標準クロック周波数で動作させたときに処理に余裕のあるプロセッサ、すなわち、他のプロセッサの処理が終了するまで待ちが生じるプロセッサを求める。次に、上記余裕のあるプロセッサに対する、全体の処理時間に影響を与えることがない最も低いクロック周波数、つまり、後続する命令によって演算結果を参照される演算処理が、他のプロセッサによる演算処理よりも遅くなることなく終了し得る最も低い周波数またはそのような周波数と標準クロック周波数との比などを求める。なお、実際には、標準実行時間と各換算実行時間とを比較して、標準実行時間以下の換算実行時間のうちで最も長い換算実行時間に対応する周波数を求めるなどしてもよい。これによって、各割り当ての組み合わせごとに、各プロセッサによる各命令の実行に対して、その実行の際のクロック周波数が対応付けられるので、各割り当ての組み合わせについての消費電力実際には各命令の実行に必要なクロック数の合計などでもよいがそれぞれ求められる。そこで、上記消費電力が最も小さい割り当ての組み合わせを求めれば、処理能力を低下させることなく消費電力を低減できる各命令の割り当て、およびクロック周波数が決定される。S1005上記命令の割り当て、およびクロック周波数の決定に基づいた割り当て制御フラグとクロック制御フラグとが、ソースプログラムに含まれる命令の命令コードに付加され、オブジェクトプログラムとして記憶装置201に格納される。S1006一方、前記S1001で、ソースプログラムに含まれる全ての命令が、ある1つのプロセッサだけによって実行可能であると判定された場合には、前記のように全ての命令は上記1つのプロセッサによって例えば最高クロック周波数で実行させればよいので、ソースプログラムに含まれる命令の命令コードに、そのプロセッサへの割り当てを示す割り当てフラグと、最高クロック周波数を示すクロック制御フラグとが付加される。S1007ソースプログラムの全ての命令についての処理が終わるまで、上記S1002~S1005の処理が繰り返される。上記のようにして割り当て制御フラグおよびクロック制御フラグが付加された命令コードを生成することによって、前記実施の形態1に示したような複数のプロセッサを有するプロセッサシステムで、処理能力を低下させることなく大幅に小さな消費電力で実行させることのできるプログラムが得られる。なお、上記S1004において、全ての割り当ての組み合わせの数が多くなるなどの場合には、少数のプロセッサに極端に多くの命令が割り当てられるような組み合わせについての考慮を省略することによって、最適化装置の処理負荷を軽減し得るようにしてもよい。すなわち、例えば、プロセッサの割り当てが決定される際に、図6、8に破線で示すように、あらかじめ設定された処理比率設定情報などに基づいて各プロセッサによる処理量処理時間や所要クロック数の合計の比率を所定の範囲に制限し処理比率設定手段、その範囲の割り当ての組み合わせのうちで消費電力が最も小さい組み合わせを求めるようにすることにより、上記のようなフラグの付加を高速に行わせることができる。この場合、各プロセッサによる命令実行の並列度も高くなるので命令全体の実行速度が速くなることにもなる。特に上記処理比率を種々設定し得るようにすることにより、プロセッサシステムの消費電力および命令実行速度と、最適化装置によるフラグ付加処理の負荷とをプロセッサシステムの使用目的などに応じて調整することなどもできる。また、上記のような処理を、ソースプログラムの全ての命令について一括して行わず、所定の一連の命令ごとに行うなどしてもよい。この場合でも、上記一連の命令の長さを適切に設定して局所的な消費電力を小さくすれば、全体の消費電力も大幅に低減することができるとともに、割り当ての組み合わせの数が少なく抑えられるので、やはり、最適化装置の処理負荷を軽減することができる。また、上記消費電力を算出する際には、各プロセッサにおける消費電力の相違を考慮して所定の係数をかけるなどして、より確実に消費電力を低減し得るようにしてもよい。また、上記の例では、処理に余裕のあるプロセッサや、全体の処理時間に影響を与えない最低クロック周波数を求める際に換算実行時間を用いる例を示したが、これに限らず、標準実行時間を用いるようにしてもよい。すなわち、例えば標準実行時間の差によって余裕の有無を判別したり、標準実行時間の比などに基づいて、上記最低クロック周波数等を求めるなどしてもよい。実施の形態2の変形例上記実施の形態2の命令列最適化装置と同様に、命令コードにフラグを付加する、他の命令列最適化装置について説明する。なお、以下、前記実施の形態1、2等と同様の機能を有する構成要素については同一の符号を付して説明を省略する。この命令列最適化装置は、複数のプロセッサによって実行可能な命令が標準実行時間の最も短いプロセッサによって実行されるようにプロセッサへの命令の割り当てを決定し、その割り当てのもとに、消費電力が小さくなるようにクロック周波数が決定されるようになっている。具体的には、この装置は、例えば図9に示すように、前記実施の形態2図6と比べて、割り当てクロック周波数決定部205に代えて割り当て決定部311とクロック周波数決定部312とを備えている点が異なる。上記割り当て決定部311は、複数のプロセッサによって実行可能な命令が、標準実行時間推定部203によって算出された標準実行時間の最も短い所要クロック数が最も少ないプロセッサによって実行されるように、割り当てを決定するようになっている。また、クロック周波数決定部312は、上記のように決定された割り当てに対して、全てのプロセッサを標準クロック周波数で動作させたときに処理に余裕のあるプロセッサを、全体の処理時間に影響を与えることがない最も低いクロック周波数で動作させるように待ち時間が最も短くなるように、クロック周波数を決定するようになっている。上記のように構成された命令列最適化装置の動作は、図10に示すように、実施の形態2図8と以下の点が異なっている。S1151標準実行時間の算出S1002がなされた後、複数のプロセッサによって実行可能な命令が、それぞれ最も標準実行時間の短いプロセッサで実行されるように、プロセッサの割り当てが決定される。S1104図8のS1004と異なり、クロック周波数の決定だけがなされる。すなわち、各命令が上記S1151で割り当てられたプロセッサによって標準クロック周波数で実行される際に、他のプロセッサの処理が終了するまで待ち時間が生じる余裕があるプロセッサに対して、上記待ち時間が短くなり、かつ、全体の処理時間に影響を与えることがない最も低い周波数のクロック信号が供給されるように決定される。これによって、上記のようなプロセッサの割り当ての範囲内で、プロセッサシステムの処理能力を低下させることなく、消費電力を低減することができる。上記のようにしてプロセッサの割り当ておよびクロック周波数が決定されると、実施の形態2と同様にS1005で上記決定に応じた割り当て制御フラグおよびクロック制御フラグが命令コードに付加される。上記のように、各命令が標準実行時間の最も短いプロセッサによって実行されるようにすることにより、命令コードの実行効率を高くして合計の所要クロック数を低減することができるうえ、やはり、実行時間に余裕のあるプロセッサに供給されるクロック信号の周波数を低くすることによって、無駄なトランジスタのトグルを減少させることができるので、大幅に消費電力を低減することができる。しかも、クロック周波数の決定処理は、1組のプロセッサの割り当ての組み合わせに対してなされるだけなので、最適化装置の処理負荷を軽減し、高速にフラグの付加を行わせるようにすることもできる。なお、上記のように各命令が標準実行時間の最も短いプロセッサで実行されるように割り当てられる場合、同種の命令が多く含まれるプログラムなどの場合には、単一の、または少数のプロセッサへの割り当てが集中することも考えられる。この場合、消費電力は小さく抑えられるが、各プロセッサによる処理の並列度が低下して、プログラム全体の実行に要する時間が長くかかることになる。そこで、消費電力が多少増えてもプログラム全体の実行時間を短く抑えるためには、実施の形態2で説明したのと同様、図9、10に破線で示すように、処理比率設定情報などに基づいて、各プロセッサによる処理量の比率を所定の範囲に制限するなどすればよい。また、各命令を最も標準実行時間の短いプロセッサで実行されるように割り当てるのに代えて、例えば全てのプロセッサが標準クロック周波数で動作する場合にプログラム全体または所定の一連の命令列全体の実行時間が最も短くなるように、プロセッサを割り当てるようにしてもよい。すなわち、複数のプロセッサで実行可能な命令については、標準実行時間が最も短いプロセッサでなくても、そのプロセッサと並行して実行させ得る他のプロセッサに割り当て、各プロセッサによる処理の並列度を高くすることによって、プログラム全体の実行時間等を短くすることができる。そして、その場合でも、実行時間に余裕のあるプロセッサに供給されるクロック信号の周波数を低くすることによって、無駄なトランジスタのトグルを減少させて消費電力を低減することができる。また、この場合にも、前記のように各プロセッサによる処理量の比率を所定の範囲に制限するなどして、その範囲内で、実行時間が短くなるように割り当てを決定するようにすれば、最適化装置の処理負荷を軽減することもできる。また、さらに、例えば、割り当て決定部311並べ替え手段でプロセッサの割り当てが決定される際に命令の実行順序の並べ替えが行われるようにしてもよい。すなわち、例えば図11に示すように、前記図10の各ステップに加えて、S1251で命令の並べ替え処理が行われるようにしてもよい。具体的には、例えば図12aに示すような命令a~dがソースプログラムに記述されている場合において、命令a、cは、それぞれプロセッサAで4クロックで逐次実行可能である一方、命令bはプロセッサBに転送後、プロセッサAの動作とは独立して12クロックで実行可能であり、これらの命令a~cの実行終了後に命令dの実行が可能であるとすると、ソースプログラムに記述された通りの順序で演算処理がなされる場合には、図12bおよび以下に示すように各命令が実行されることになる。1命令aが、プロセッサAに順次転送されながら、クロック周波数f、所要クロック数4クロックで実行される。2命令aの終了後、命令bが、プロセッサBにまとめて転送された後、クロック周波数f、所要クロック数12クロックで実行される。3上記命令bの実行と並行して、命令cが、順次転送されながら、クロック周波数f/3、所要クロック数4クロッククロック周波数がfとした場合の換算実行時間は12クロック分で実行される。これに対して、命令の順序が図12cに示すように並べ替えられる場合には、図12dおよび以下に示すように実行させることができる。1命令bが、プロセッサBにまとめて転送された後、クロック周波数f×3/4、所要クロック数12クロック換算実行時間は16クロック分で実行される。2上記命令bの実行と並行して、命令aが、プロセッサAに順次転送されながら、クロック周波数f/2、所要クロック数4クロック換算実行時間は8クロック分で実行される。3続いて、命令cも、クロック周波数f/2、所要クロック数4クロック換算実行時間は8クロック分で実行される。つまり、命令の実行順序を入れ替えることによって、プロセッサによる処理の並列度を高くして実行時間の余裕を大きくすることができる。それゆえ、命令a~cの何れも低いクロック周波数で実行させることができ、消費電力を大幅に低減することができる。また、クロック周波数を低くすると、後述するように電源電圧も低くすることなどによってさらに消費電力を低減することもできるが、元の実行順序で命令cについてだけクロック周波数をf/3にするよりも、並べ替え後のように命令a、cについて共にf/2にする方が、より大きな消費電力低減効果を得ることができる。なお、上記のように命令の実行順序を並べ替えた場合でも、図12eに示すように、命令bはクロック周波数fで実行させ、命令a、bはf×2/3で実行させるようにしてもよい。この場合には、全体の処理速度を向上させることができるとともに、消費電力も、命令の実行順序を並べ替える前よりは小さくすることができる。実施の形態3次に、前記実施の形態1のように命令コードに付加されたフラグに基づいてクロック周波数等を制御するのではなく、フラグを有しない通常の命令コードを用いても、同様に消費電力を低減できるプロセッサシステムの例を説明する。すなわち、このプロセッサシステムは、命令コードに付加されたフラグを検出する代わりに、実施の形態2の命令列最適化装置のような命令の割り当ておよびクロック周波数を決定する機能を持たせて、その決定に基づいて、命令の割り当ておよびクロック周波数を制御するようになっている。具体的には、例えば図13に示すように、実施の形態1図1のフラグ検出部101に代えて、命令解析部402命令解析手段、標準実行時間推定部403実行時間推定手段、換算実行時間算出部404、および割り当てクロック周波数決定部405割り当て決定手段、クロック周波数決定手段が設けられている。これらの各部は、それぞれ、実施の形態2図6の命令解析部202、標準実行時間推定部203、換算実行時間算出部204、または割り当てクロック周波数決定部205と同じような機能を有するものである。ただし、通常、実施の形態2のような命令列最適化装置ではソフトウェアとコンピュータによって上記のような機能がもたらされるのに対し、本実施の形態のプロセッサシステムは、CPU103やHWE104による命令の実行速度に応じたタイミングで制御を行うためにハードウェアによって構成される。ただし、これに限るものではなく、例えばCPU103等よりも上位のプロセッサなどによって制御されるようにしてもよい。このプロセッサシステムの動作は、図14に示すように、概ね実施の形態1、2図4、8の動作を組み合わせたものと同様である。S1300まず、命令解析部402が、記憶部100に記憶されている所定量の一連の命令コードを先読みし、命令コードが解析される。この命令コードの解析の内容は、基本的に実施の形態2のS1000で行われるものと同様であるが、命令解析部402がハードウェアによって構成される場合には、必ずしも全ての命令コードについてまとめて解析されずに、そのハードウェア規模に応じた上記所定量の一連の命令コードごとに解析が行われるようにしてもよい。S1301次に、上記先読みされた一連の命令コード中に含まれる各命令が、何れも同一の一方のCPU103またはHWE104の一方でだけ実行可能なものであり、かつ、その実行可能な方のCPU103またはHWE104が動作状態他の命令の実行を完了しない状態である場合には、後述するS1306に移行して、上記各命令が実行可能なCPU103またはHWE104を示す割り当て信号と、例えば最高クロック周波数を示すクロック制御信号とが出力される。すなわち、上記のような場合にはCPU103とHWE104とで並列処理を行うことができず、したがって上記一連の全体の処理能力は各命令の実行時間に依存することになるので、割り当ておよびクロック周波数は上記のように設定されればよい。S1002~S1004一方、一連の命令コード中に含まれる各命令が、CPU103またはHWE104のうち互いに異なる方で実行可能である場合や、他の命令を実行中ではない方のCPU103またはHWE104で実行可能である場合には、並列処理を行わせることができるので、実施の形態2図8で説明したのと同じように、標準実行時間の推定、換算実行時間の算出がなされた後、先読みされた一連の命令コードの範囲内での実行に関して消費電力が最小になるようにプロセッサの割り当ておよびクロック周波数の決定がなされる。S1305上記命令の割り当て、およびクロック周波数の決定に基づいた割り当て制御信号とクロック制御信号とが、命令割り当て制御部102およびクロック制御部106に出力される。S1306一方、前記S1301で説明したように、先読みされた一連の命令コード中に含まれる各命令が、何れも同一の一方のCPU103またはHWE104でだけ実行可能なものであり、かつ、その実行可能なCPU103またはHWE104が他の命令の実行を完了しない状態であると判定された場合には、上記各命令が実行可能なCPU103またはHWE104を示す割り当て信号と、最高クロック周波数を示すクロック制御信号とが出力される。S105~S106クロック制御部106は、上記クロック制御信号に応じて、CPU103、HWE104、およびSRAM105に出力するクロック信号の周波数を切り替え、命令割り当て制御部102は、上記割り当て制御信号に応じて、命令コードをCPU103またはHWE104に転送し、命令の実行がなされる。上記のように、実行時に命令コードを解析してプロセッサの割り当ておよびクロック周波数を決定するようにすることによって、フラグが付加されていないような通常の命令コードが用いられる場合であっても、消費電力を低減することができる。なお、本実施の形態のプロセッサシステムにおいても、図13、14に破線で示すように、処理比率設定情報などに基づき、各プロセッサによる処理量の比率を所定の範囲に制限するなどして処理比率設定手段、その範囲の割り当ての組み合わせのうちで消費電力が最も小さい組み合わせを求めるようにすることにより、消費電力が最小となる割り当ての組み合わせを求めるためのハードウェア規模の低減を図ったり、CPU103およびHWE104の処理の並列度を高めて一連の命令全体の実行速度を速くしたりすることができる。実施の形態3の変形例上記実施の形態3のプロセッサシステムと同様に、フラグを有しない通常の命令コードを用いても消費電力を低減できる、他のプロセッサシステムについて説明する。このプロセッサシステムは、前記実施の形態3のプロセッサシステム図13が実施の形態2の命令列最適化装置図6のような命令の割り当ておよびクロック周波数の決定機能を有するのに対し、実施の形態2の変形例図9と同様の機能を有して命令の割り当ておよびクロック周波数を制御するようにしたものである。すなわち、CPU103またはHWE104の何れのプロセッサによっても実行可能な命令が、標準実行時間の短い方のプロセッサによって実行されるように命令の割り当てを決定し、その割り当てのもとに、消費電力が小さくなるようにクロック周波数を決定して、割り当ておよび周波数の制御を行うようになっている。より具体的には、例えば図15に示すように、実施の形態3図13と比べて、割り当てクロック周波数決定部405に代えて、割り当て決定部511とクロック周波数決定部512とを備えている点が異なる。上記割り当て決定部511およびクロック周波数決定部512は、それぞれ、実施の形態2の変形例図9の割り当て決定部311またはクロック周波数決定部312と同様の機能を有するものである。すなわち、割り当て決定部511は、各命令が、双方のプロセッサによって実行可能な場合、標準実行時間推定部403によって算出された標準実行時間に基づいて、上記標準実行時間が短い所要クロック数が少ない方のプロセッサによって実行されるように、割り当てを決定するようになっている。また、クロック周波数決定部512は、上記のように決定された割り当てに対して、両方のプロセッサを例えば標準クロック周波数で動作させたときに処理に余裕のある方のプロセッサを、全体の処理時間に影響を与えることがない最も低いクロック周波数で動作させるように、クロック周波数を決定するようになっている。上記のように構成されたプロセッサシステムの動作は、図16に示すように、実施の形態3図14と以下の点が異なっている。この相違点は、実施の形態2の命令列最適化装置の動作図8に対する、その変形例の動作図10の相違点と同様である。S1151標準実行時間の算出S1002がなされた後、上記標準実行時間に基づいて、双方のプロセッサによって実行可能な命令が、それぞれ標準実行時間の短い方のプロセッサで実行されるように、割り当てが決定される。S1104図14のS1004と異なり、クロック周波数の決定だけがなされる。すなわち、各命令が上記S1151で割り当てられたプロセッサによって標準クロック周波数で実行される際に、他のプロセッサの処理が終了するまで待ち時間が生じる余裕があるプロセッサに対して、上記待ち時間が短くなり、かつ、全体の処理時間に影響を与えることがない最も低い周波数のクロック信号が供給されるように決定される。これによって、上記のようなプロセッサの割り当ての範囲内で、プロセッサシステムの処理能力を低下させることなく、消費電力を低減することができる。上記のようにしてプロセッサの割り当て、およびクロック周波数が決定されると、実施の形態3と同様にS1305で上記決定に応じた割り当て制御信号とクロック制御信号とが、命令割り当て制御部102およびクロック制御部106に出力され、S105~S106で、クロック制御部106によるCPU103、HWE104、およびSRAM105に出力するクロック信号の周波数の切り替え、および命令割り当て制御部102による命令コードのCPU103またはHWE104への転送がなされ、これらの命令が実行される。上記のように、各命令が標準実行時間の短い方のプロセッサによって実行されるようにすることにより、命令コードの実行効率を高くして合計の所要クロック数を低減することができるうえ、実行時間に余裕のあるプロセッサに供給されるクロック信号の周波数を低くすることによって、無駄なトランジスタのトグルを減少させることができるので、やはり、大幅に消費電力を低減することができる。しかも、実施の形態3のように種々の割り当ての組み合わせのうちで消費電力が最も小さい組み合わせを求めるのに比べて、標準実行時間の短いプロセッサを求める方が処理は単純であり、また、クロック周波数の決定は、1組のプロセッサの割り当ての組み合わせに対してなされるだけなので、割り当て決定部511およびクロック周波数決定部512の回路規模を小さく抑えることもできる。なお、本実施の形態3の変形例においても、標準実行時間の短いプロセッサを求めるためのハードウェア規模の低減を図ったり、消費電力が多少増えても各プロセッサによる処理の並列度を高めて一連の命令コード全体の実行時間を短く抑えたりするためには、図15、16に破線で示すように、処理比率設定情報などに基づいて、各プロセッサによる処理量の比率を所定の範囲に制限するなどすればよい。また、やはり、各命令が最も標準実行時間の短いプロセッサで実行されるように割り当てるのに代えて、例えば全てのプロセッサが標準クロック周波数で動作する場合に全体の実行時間が最も短くなるように、プロセッサを割り当てるようにすることもできる。さらに、各プロセッサによる処理量の比率を所定の範囲に制限するなどし、その範囲内で実行時間が短くなるように割り当てを決定するようにして、プロセッサの割り当てを決定するためのハードウェアの規模を低減することもできる。実施の形態4前記実施の形態1では、プロセッサの割り当て、およびクロック周波数の制御が共に命令コードに付加されたフラグに基づいて行われる一方、実施の形態3では、共にプロセッサシステムによる命令コードの解析に基づいて行われる例を示したが、プロセッサの割り当てだけをフラグに基づいて行い、クロック周波数の制御は解析に基づいて行うようにしてもよい。本実施の形態のプロセッサシステムは、例えば図17に示すように、実施の形態3図13の命令解析部402、および割り当てクロック周波数決定部405に代えて、フラグ検出部601、命令解析部602、およびクロック周波数決定部512を備えている点が異なっている。上記フラグ検出部601は、命令コード含まれる割り当て制御フラグだけを検出する点が実施の形態1図1のフラグ検出部101と異なり、記憶部100から読み出された命令コードを命令割り当て制御部102に出力するとともに、割り当て制御フラグを検出して、これに応じた割り当て制御信号を命令割り当て制御部102およびクロック周波数決定部512に出力するようになっている。また、命令解析部602は、実施の形態2の変形例図9の命令解析部202が有する機能のうち、クロック周波数の決定に必要な内容、すなわち各命令の相互関係処理内容の依存関係や実行タイミングの制約を解析するようになっている。クロック周波数決定部512は、実施の形態3の変形例図15と同じもので、フラグ検出部601から出力される割り当て制御信号に基づいて、CPU103およびHWE104を例えば標準クロック周波数で動作させたときに処理に余裕のある方のプロセッサを、全体の処理時間に影響を与えることがない最も低いクロック周波数で動作させるように、クロック周波数を決定するようになっている。以下、上記のように構成されたプロセッサシステムの動作について、図18に基づいて説明する。S1400フラグ検出部601は、記憶部100に記憶されている命令コードまたは命令コード群を先読みし、その命令コードに含まれる割り当て制御フラグを検出する。また、命令解析部602は、先読みされた命令コードにおける実行タイミングの制約等を解析する。S101~S103フラグ検出部601は、次に、上記割り当て制御フラグの検出結果に基づいて、CPU103またはHWE104を示す割り当て制御信号を命令割り当て制御部102に出力する。また、上記命令コードを、上記フラグが付加されたまま、またはフラグを除去して、命令割り当て制御部102に出力する。S1002標準実行時間推定部403は、各命令が各プロセッサによって標準クロック周波数で実行される場合の標準実行時間を推定する。S1003換算実行時間算出部404は、各命令が各プロセッサによって種々のクロック周波数で実行される場合に要する換算実行時間を算出する。S1404クロック周波数決定部512は、フラグ検出部601から出力される、割り当て制御フラグに応じた割り当て制御信号に基づいて、各プロセッサに供給されるクロック信号の周波数を決定する。すなわち、各命令が上記フラグに応じたプロセッサによって標準クロック周波数で実行される際に、他のプロセッサの処理が終了するまで待ち時間が生じる余裕があるプロセッサに対して、上記待ち時間が短くなり、かつ、全体の処理時間に影響を与えることがない最も低い周波数のクロック信号が供給されるように決定される。これによって、上記のようなプロセッサの割り当ての範囲内で、プロセッサシステムの処理能力を低下させることなく、消費電力を低減することができる。S1405クロック周波数決定部512は、上記クロック周波数の決定に基づいたクロック制御信号をクロック制御部106に出力する。S105~S106クロック制御部106は、上記クロック制御信号に応じて、CPU103、HWE104、およびSRAM105に出力するクロック信号の周波数を切り替え、命令割り当て制御部102は、上記割り当て制御信号に応じて、命令コードをCPU103またはHWE104に転送し、命令の実行がなされる。上記のようにプロセッサの割り当て、およびクロック周波数の制御がなされることにより、やはり、処理能力の低下を招くことなく消費電力を低減することができる。しかも、プロセッサの割り当ては割り当て制御フラグに基づいて行われるので、命令解析部602はクロック周波数の決定に必要な実行タイミングの制約等を解析するだけでよく、また、クロック周波数決定部512は1組のプロセッサの割り当ての組み合わせに対してクロック周波数を決定するだけでよいので、実施の形態3のプロセッサシステムに比べて、命令解析部602およびクロック周波数決定部512の回路規模を小さく抑えることができる。実施の形態5上記実施の形態4のような、各プロセッサの割り当てを制御するためのフラグだけが付加された命令コードは、例えば図19に示すような命令列最適化装置によって生成することができる。すなわち、実施の形態2の変形例図9の命令列最適化装置に対して、割り当て制御フラグの付加に必要な機能だけを持たせたもので、フラグ付加部706は、割り当て決定部311の決定に応じて割り当て制御フラグだけを命令コードに付加するようになっている。この命令列最適化装置の動作は、図20に示すように、実施の形態2の変形例図10と比べて、クロック周波数を決定するための動作S1003S1104が実行されない点と、S1505S1506で割り当て制御フラグの付加だけが行われる点のみ異なる。なお、本実施の形態においても、実施の形態2の変形例で説明したのと同様、図19、20に破線で示すように、処理比率設定情報などに基づいて各プロセッサによる処理量の比率を所定の範囲に制限するようにしたり、一連の全体の実行時間が最も短くなるようにプロセッサを割り当てるようにしたり、また、命令の実行順序を並べ替えるようにしたりしてもよい。実施の形態6上記のようにクロック周波数が制御されるとともに、さらに、CPU103等に供給される電源電圧が制御されるプロセッサシステムの例について説明する。すなわち、クロック周波数が低くなると、回路の遅延マージンが大きくなるため、回路の遅延時間を長くすることができ、したがって、電源電圧を低くすることができる。そして、消費電力は電源電圧の2乗に比例するので、大幅な低消費電力化が可能になる。具体的には、本実施の形態のプロセッサシステムでは、例えば図21に示すように、実施の形態1図1の構成に加えて、電源電圧制御部701電圧制御手段が設けられている。上記電源電圧制御部701は、フラグ検出部101から出力されるクロック制御信号に応じて、あらかじめクロック周波数と対応させて設定された電源電圧、すなわち、クロック周波数が低いほど、定格電圧よりも低い電源電圧をCPU103、HWE104、およびSRAM105に供給するようになっている。このプロセッサシステムの動作は、クロック制御部106によりクロック周波数が切り替えられるのに応じて、電源電圧制御部701から出力される電源電圧が切り替えられる点を除いて、実施の形態1図4と同じである。上記のようにクロック周波数を低くするとともに電源電圧を低くすることにより、プロセッサシステムの動作や処理能力に影響を与えることなく、一層、消費電力を小さくすることができる。なお、上記のようにしてCPU103等に供給される電源電圧は、互いに同一である必要はなく、各回路特性等に応じて設定するようにしてもよい。また、電源電圧を高く切り替えるタイミングは、クロック周波数を高く切り替えるタイミングよりも早くなるようにして、クロック周波数切り替え時の回路遅延マージンが十分に確保されるようにしてもよい。また、実施の形態1で説明したように、クロック信号の供給を停止してCPU103またはHWE104の動作を停止させる際には、電源電圧の供給も停止させるようにしてもよいし、例えばHWE104に対してだけ、そのような電源電圧の供給停止がなされるようにしてもよい。また、停止された電源電圧の供給が開始されるタイミングも、クロック信号の供給開始タイミングよりも早くなるようにしてもよい。さらに、プロセッサシステム全体への電源投入時やリセット時などに、最初の命令コードがプリフェッチされてフラグの検出がなされるまでの間は、定格電圧が供給されるようにして、上記最初の命令コードを実行するプロセッサの確実な動作を容易に確保できるようにしてもよい。実施の形態7上記のように電源電圧を制御するのに代えて、CPU103等が形成される半導体基板の基板電圧を制御するようにしてもよい。すなわち、半導体基板上に形成されたトランジスタの閾値電圧が高くなるように基板電圧を制御すると、回路の遅延時間は長くなる一方、トランジスタのリーク電流が小さくなる。そこで、クロック周波数が低くなって回路の遅延マージンが大きくなる際には、これに応じて閾値電圧が高くなるように基板電圧を制御することによって消費電力を低減することができる。具体的には、本実施の形態のプロセッサシステムでは、例えば図22に示すように、実施の形態1図1の構成に加えて、基板電圧制御部801電圧制御手段が設けられている。上記基板電圧制御部801は、フラグ検出部101から出力されるクロック制御信号に応じて、あらかじめクロック周波数と対応させて設定された基板電圧、すなわち、クロック周波数が低いほど、閾値電圧が高くなるような基板電圧逆バイアス電圧をCPU103等に供給するようになっている。このプロセッサシステムの動作は、クロック制御部106によりクロック周波数が切り替えられるのに応じて、基板電圧制御部801から出力される基板電圧が切り替えられる点を除いて、実施の形態1図4と同じである。上記のようにクロック周波数を低くするとともに基板電圧を制御することにより、やはり、プロセッサシステムの動作や処理能力に影響を与えることなく、一層、消費電力を小さくすることができる。なお、上記基板電圧に関しても、実施の形態6で電源電圧について説明したのと同様に、CPU103等に供給される基板電圧を互いに異ならせるようにしたりしてもよい。また、クロック信号の供給が停止される際には、例えば電源電圧と同レベルの電圧を基板電圧として印加するなどしてもよい。実施の形態8また、例えば図23に示すように、電源電圧制御部701と基板電圧制御部801とを両方とも設けて、電源電圧および基板電圧を共にクロック周波数に応じて制御するようにしてもよい。この場合、電源電圧制御部701および基板電圧制御部801にクロック周波数と対応して設定される電源電圧と基板電圧との組み合わせを半導体集積回路の特性等に応じて最適化することができる。具体的には、例えば、クロック周波数が標準クロック周波数よりも低い場合に、リーク電流が比較的大きい場合には、クロック周波数に応じて許容される遅延時間の範囲内で電源電圧を低くするとともに閾値電圧が高くなるように基板に逆バイアス電圧を印加して何れも遅延時間は長くなり、消費電力は小さくなる、両者による消費電力の低減効果が得られるようにしてもよい。一方、リーク電流が比較的小さい場合には、電源電圧を大幅に低くする遅延時間は長くなり、消費電力は小さくなる一方、閾値電圧は低くなるように基板に順バイアス電圧を印加して遅延時間は短くなり、リーク電流は大きくなる、総じてクロック周波数に応じて許容される遅延時間を満足し、かつ、電源電圧を低くすることによる消費電力の低減効果が大きく得られるようにしてもよい。なお、本実施の形態においても、実施の形態6、7で説明したように、CPU103等に供給される電源電圧や基板電圧をそれぞれ互いに異ならせるようにしたりしてもよい。また、クロック信号の供給が停止されても電源電圧は供給される場合には、例えば電源電圧と同レベルの電圧を基板電圧として印加するなどしてもよい。さらに、クロック信号の供給が停止されて電源電圧の供給も停止される際には基板電圧の供給も停止されるようにしたりしてもよい。実施の形態9上記のようにクロック周波数が決定されると、消費電力およびプロセッサシステムの発熱量もほぼ定まることになる。そこで、例えば、図24に示すように半導体集積回路900を冷却する冷却ファンなどを有するクーリング装置901冷却手段、冷却制御手段をクロック制御信号に基づいて制御するようにしてもよい。より詳しくは、上記クーリング装置901は、例えばクロック周波数と対応させて所定の制御値が登録されたテーブルを参照して、冷却ファンの回転速度を制御することにより、クロック周波数、電源電圧これは上記のようにクロック周波数に応じて決定される。、およびリーク電流これはクロック周波数に応じて決定された基板電圧によって定まる。に応じた冷却能力で半導体集積回路900を冷却するようになっている。これにより、半導体集積回路900の熱暴走を確実に防止し、かつ、冷却のために要する消費電力を小さく抑えることができる。なお、上記各実施の形態においては、それぞれ1つずつのCPU103とHWE104とが設けられる例を示したが、これに限らず、同一のまたは異なる機能を有するHWE104やCPU103等が複数設けられるなど、種々の複数のプロセッサが設けられる場合でも同様の効果を得ることができる。また、実施の形態1等においては、命令コードにおけるプロセッサの割り当てやクロック周波数を示す情報として命令コードに付加されたフラグが用いられる例を示したが、これに限らず、例えば、命令コード自体によってCPU103またはHWE104の何れで実行される命令かが判別されるようにするなど、実質的にプロセッサの割り当て等を示す情報が命令コードに含まれていればよい。また、上記実施の形態6~9ではクロック制御信号に基づいて直接電源電圧制御部701等が制御される例を示したが、これに限らず、クロック周波数に対応して電源電圧等を適切に設定し得る制御信号に基づいて制御されるように構成されていればよい。また、上記各実施の形態で説明した各構成要素は、論理的に可能な範囲で種々組み合わせてもよい。具体的には、例えば、実施の形態6~9で説明したような電源電圧や基板電圧を制御する構成や、冷却手段を制御する構成は、実施の形態3、4図13、15、17に示したような、命令コードを解析してプロセッサの割り当てやクロック周波数を制御するプロセッサシステムに適用するなどしてもよい。また、例えば、実施の形態1図1のフラグ検出部101と実施の形態3図13の命令解析部402等を共に設けて各実施の形態の機能を併せ持つようにし、実行する命令のフラグ等の有無に係らず、プロセッサの割り当てやクロック周波数の制御を行えるようにしてもよい。