(57)【要約】【課題】  ピーク時における消費電力を低減させることが可能なプロセッサを提供すること。【解決手段】  プロセッサは、フェッチされた命令をデコードする命令デコード部１１と、命令デコード部１１によるデコード結果に応じて、演算を実行する複数の演算器１２−１〜１２−４とを含む。命令デコード部１１は、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ複数の命令の間に依存性がある場合、依存性があるデータをレジスタに退避して使用することによって、並列命令を複数の演算器１２−１〜１２−４の中の一部の演算器に逐次的に実行させる。したがって、演算器の一部を動作させる必要がなくなり、ピーク時における消費電力を低減させることが可能となる。【選択図】        図１
2005327178.tif 000002
【特許請求の範囲】
【請求項１】
複数の命令を同時に実行することが可能なプロセッサであって、
フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、
前記命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ前記複数の命令の間に依存性がある場合、依存性があるデータをレジスタに退避して使用することによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる、プロセッサ。
【請求項２】
複数の命令を同時に実行することが可能なプロセッサであって、
フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、
前記命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ前記複数の命令の間に依存性がある場合、例外を発生させて前記並列命令をソフトウェアでエミュレートすることによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる、プロセッサ。
【請求項３】
複数の命令を同時に実行することが可能なプロセッサであって、
フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段と、
命令を格納するための格納手段とを含み、
前記命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ前記複数の命令の間に依存性がある場合、前記並列命令を逐次命令群に変換して前記格納手段に格納し、該逐次命令群を順次読出すことによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる、プロセッサ。
【請求項４】
複数の命令を同時に実行することが可能なプロセッサであって、
フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、
前記命令デコード手段は、フェッチされた命令がコプロセッサ命令であれば、例外を発生させて前記コプロセッサ命令をソフトウェアでエミュレートすることによって、前記コプロセッサ命令を前記複数の演算手段に実行させる、プロセッサ。
【請求項５】
前記命令デコード手段は、前記複数の演算手段のうち使用しない演算手段へのクロックまたは電源の供給を停止させる、請求項１〜４のいずれかに記載のプロセッサ。
【請求項６】
前記使用しない演算手段を使用する命令を実行する場合、前記命令デコード手段は例外を発生させてソフトウェアでエミュレートすることによって当該命令を実行させる、請求項５記載のプロセッサ。
【請求項７】
前記使用しない演算手段を使用する命令を実行する場合、前記命令デコード手段は前記使用しない演算手段に対してクロックまたは電源の供給を再開して当該命令を実行させる、請求項５記載のプロセッサ。
【請求項８】
複数の命令を同時に実行することが可能なプロセッサによって実行されるプログラムをコンパイルするコンパイラであって、
命令が複数の命令を含んだ並列命令であり、かつ前記複数の命令の間に依存性があるか否かを判定するための条件判定手段と、
前記条件判定手段によって依存性があると判定された場合、前記並列命令を逐次命令の命令コードに変換して出力するための命令コード生成手段とを含む、コンパイラ。
【請求項９】
複数の命令を同時に実行することが可能なプロセッサによって実行されるプログラムをコンパイルするコンパイラであって、
命令が複数の命令を含んだ並列命令であり、かつ前記複数の命令の消費電力が所定値以上であるか否かを判定するための条件判定手段と、
前記条件判定手段によって消費電力が所定値以上であると判定された場合、前記並列命令を逐次命令の命令コードに変換して出力するための命令コード生成手段とを含む、コンパイラ。
【請求項１０】
複数の命令を同時に実行することが可能なプロセッサによって実行されるプログラムをコンパイルするコンパイラであって、
命令が複数の命令を含んだ並列命令であり、かつ前記複数の命令の消費電力が所定値以上であるか否かを判定するための条件判定手段と、
前記条件判定手段によって消費電力が所定値以上であると判定された場合、前記並列命令に含まれる複数の命令のいずれかを前後の命令と入替えて命令コードを生成するための命令コード生成手段とを含む、コンパイラ。
【請求項１１】
前記条件判定手段は、それぞれの命令を実行するときの消費電力をテーブルに保持し、該テーブルを参照して前記並列命令に含まれる複数の命令の消費電力の和を算出することによって、前記複数の命令の消費電力が所定値以上であるか否かを判定する、請求項９または１０記載のコンパイラ。
【請求項１２】
複数の命令を同時に実行することが可能なプロセッサと、
温度を計測するための計測手段とを含んだ情報処理装置であって、
前記プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、
前記計測手段によって計測された温度が所定値以上の場合、前記命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、該並列命令を逐次命令に変換することによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる、情報処理装置。
【請求項１３】
複数の命令を同時に実行することが可能なプロセッサと、
電流を計測するための計測手段とを含んだ情報処理装置であって、
前記プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、
前記計測手段によって計測された前記情報処理装置に供給される電流が所定値以上の場合、前記命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、該並列命令を逐次命令に変換することによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる、情報処理装置。
【請求項１４】
複数の命令を同時に実行することが可能なプロセッサを含んだ情報処理装置であって、
前記プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、
外部から入力される信号が所定の値を示す場合、前記命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、該並列命令を逐次命令に変換することによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる、情報処理装置。
【請求項１５】
複数の命令を同時に実行することが可能なプロセッサと、
書換えが可能なレジスタとを含んだ情報処理装置であって、
前記プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、
前記レジスタに所定値が格納されている場合、前記命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、該並列命令を逐次命令に変換することによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＶＬＩＷ（Very Long Instruction Word）方式やスーパースカラなどの複数の命令を同時に実行することが可能なプロセッサに関し、消費電力を低減することが可能なプロセッサ、そのコンパイラおよびそれを含んだ情報処理装置に関する。
【背景技術】
【０００２】
近年、社会の情報化に伴い、高度な情報処理を行なうためのプロセッサの性能向上が求められている。このようなプロセッサの性能向上を実現する方法の１つとして、１つのプロセッサが複数の命令を同時に実行することを挙げることができる。このようなプロセッサとして、ＶＬＩＷ方式やスーパースカラなどのプロセッサが知られている。
【０００３】
ＶＬＩＷ方式のプロセッサは、複数の演算器を有する。コンパイラがプログラムのコンパイル時に命令の並列性を検出し、並列実行可能な命令を生成する。そして、プロセッサが並列実行可能な命令を複数の演算器で並列に実行することによって、処理速度の向上を図っている。
【０００４】
また、スーパースカラは、命令を処理するパイプラインを複数有し、命令実行時にハードウェアによって逐次的な命令として記述されたプログラムから命令レベル並列性を検出する。そして、スケジューラが並列実行可能な命令をそれぞれのパイプラインに投入することによって、処理速度の向上を図っている。
【０００５】
一方、大規模な回路を集積したＬＳＩ（Large Scale Integrated circuit）が、ワークステーションやパーソナルコンピュータのみならず、テレビや携帯電話などの家庭用電気製品にも多く使用されている。このような家庭用電気製品においては、製品の消費電力を削減することが求められており、特に携帯電話などで顕著である。これに伴い、ＬＳＩにおいても低消費電力化が求められている。これに関連する技術として、ＶＬＩＷ方式のプロセッサの低消費電力化に関する非特許文献１や、マルチメディアプロセッサの低消費電力化に関する非特許文献２を挙げることができる。
【０００６】
また、特許文献１に記載のデータ処理装置においては、命令をデコードし、命令が複数の演算を実行する命令であることを検出する検出部と、検出部によって複数の演算を実行する命令であることが検出されると、予め定められた１回の演算数に基づいて、命令の一部のフィールドを演算順序に基づいて組替えるフィールド組替え部と、組替えたフィールドの順序に同期して複数サイクルで演算実行するための制御を行なう演算制御部とを含むデコーダと、演算制御部からの制御に基づいて、命令を複数サイクルに分けて演算を実行する演算部とを有する。
【特許文献１】特開平７−２５３８８８号公報
【非特許文献１】Low-Power VLIW Processors: A High-Level Evaluation. J. M. Puiatti, C. Piguet, E.Sanchez, J. Llosa. Proc. of Int. Workshop - Power and Timing Modeling, Optimization and Simulation）
【非特許文献２】Low-Power Architectures for Programmable Multimedia Processors. Takao NISHITANI. IEICE TRANS. FUNDAMENTALS, VOL.E82-A, NO.2 Feb. 1999）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したＶＬＩＷ方式のプロセッサやスーパースカラにおいては、常に複数の演算器が動作する。そのため、高い処理能力を必要としない動作条件下や、消費電力を低減したい動作条件下においても、消費電力が大きくなってしまうといった問題点があった。
【０００８】
また、特許文献１に記載のデータ処理装置においては、複数演算を有する複合命令を幾つかの実行単位に対応、または分割して処理することで、コンパクトで低消費電力のデータ処理装置を提供することができる。しかしながら、どのような条件下で複合命令を分割して処理するのかが開示されていないため、このデータ処理装置をそのままシステムに組込むことはできない。
【０００９】
本発明は、上記問題点を解決するためになされたものであり、第１の目的は、ピーク時における消費電力を低減させることが可能なプロセッサおよびそれを含んだ情報処理装置を提供することである。
【００１０】
第２の目的は、プロセッサにおけるピーク時の消費電力を低減させることができるように命令コードを生成するコンパイル装置を提供することである。
【課題を解決するための手段】
【００１１】
本発明のある局面に従えば、複数の命令を同時に実行することが可能なプロセッサであって、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ複数の命令の間に依存性がある場合、依存性があるデータをレジスタに退避して使用することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させる。
【００１２】
本発明の別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサであって、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ複数の命令の間に依存性がある場合、例外を発生させて並列命令をソフトウェアでエミュレートすることによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させる。
【００１３】
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサであって、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段と、命令を格納するための格納手段とを含み、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ複数の命令の間に依存性がある場合、並列命令を逐次命令群に変換して格納手段に格納し、逐次命令群を順次読出すことによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させる。
【００１４】
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサであって、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、命令デコード手段は、フェッチされた命令がコプロセッサ命令であれば、例外を発生させてコプロセッサ命令をソフトウェアでエミュレートすることによって、コプロセッサ命令を複数の演算手段に実行させる。
【００１５】
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサによって実行されるプログラムをコンパイルするコンパイラであって、命令が複数の命令を含んだ並列命令であり、かつ複数の命令の間に依存性があるか否かを判定するための条件判定手段と、条件判定手段によって依存性があると判定された場合、並列命令を逐次命令の命令コードに変換して出力するための命令コード生成手段とを含む。
【００１６】
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサによって実行されるプログラムをコンパイルするコンパイラであって、命令が複数の命令を含んだ並列命令であり、かつ複数の命令の消費電力が所定値以上であるか否かを判定するための条件判定手段と、条件判定手段によって消費電力が所定値以上であると判定された場合、並列命令を逐次命令の命令コードに変換して出力するための命令コード生成手段とを含む。
【００１７】
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサによって実行されるプログラムをコンパイルするコンパイラであって、命令が複数の命令を含んだ並列命令であり、かつ複数の命令の消費電力が所定値以上であるか否かを判定するための条件判定手段と、条件判定手段によって消費電力が所定値以上であると判定された場合、並列命令に含まれる複数の命令のいずれかを前後の命令と入替えて命令コードを生成するための命令コード生成手段とを含む。
【００１８】
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサと、温度を計測するための計測手段とを含んだ情報処理装置であって、プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、計測手段によって計測された温度が所定値以上の場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させる。
【００１９】
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサと、電流を計測するための計測手段とを含んだ情報処理装置であって、プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、計測手段によって計測された情報処理装置に供給される電流が所定値以上の場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させる。
【００２０】
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサを含んだ情報処理装置であって、プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、外部から入力される信号が所定の値を示す場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる。
【００２１】
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサと、書換えが可能なレジスタとを含んだ情報処理装置であって、プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、レジスタに所定値が格納されている場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させる。
【発明の効果】
【００２２】
本発明のある局面によれば、命令デコード手段が、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ複数の命令の間に依存性がある場合、依存性があるデータをレジスタに退避して使用することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させるので、演算手段の一部を動作させる必要がなくなり、ピーク時における消費電力を低減させることが可能となった。
【００２３】
本発明の別の局面によれば、命令デコード手段が、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ複数の命令の間に依存性がある場合、例外を発生させて並列命令をソフトウェアでエミュレートすることによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させるので、演算手段の一部を動作させる必要がなくなり、ピーク時における消費電力を低減させることが可能となった。
【００２４】
本発明のさらに別の局面によれば、命令デコード手段が、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ複数の命令の間に依存性がある場合、並列命令を逐次命令群に変換して格納手段に格納し、逐次命令群を順次読出すことによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させるので、演算手段の一部を動作させる必要がなくなり、ピーク時における消費電力を低減させることが可能となった。
【００２５】
本発明のさらに別の局面によれば、命令デコード手段が、フェッチされた命令がコプロセッサ命令であれば、例外を発生させてコプロセッサ命令をソフトウェアでエミュレートすることによって、コプロセッサ命令を複数の演算手段に実行させるので、コプロセッサを動作させる必要がなくなり、ピーク時における消費電力を低減させることが可能となった
本発明のさらに別の局面によれば、条件判定手段によって依存性があると判定された場合、命令コード生成手段が、並列命令を逐次命令の命令コードに変換して出力するので、プロセッサのピーク時における消費電力を低減させることが可能となるように命令コードを生成することが可能となった。
【００２６】
本発明のさらに別の局面によれば、条件判定手段によって消費電力が所定値以上であると判定された場合、命令コード生成手段が、並列命令を逐次命令の命令コードに変換して出力するので、プロセッサのピーク時における消費電力を低減させることが可能となるように命令コードを生成することが可能となった。
【００２７】
本発明のさらに別の局面によれば、条件判定手段によって消費電力が所定値以上であると判定された場合、命令コード生成手段が、並列命令に含まれる複数の命令のいずれかを前後の命令と入替えて命令コードを生成するので、プロセッサのピーク時における消費電力を低減させることが可能となるように命令コードを生成することが可能となった。
【００２８】
本発明のさらに別の局面によれば、計測手段によって計測された温度が所定値以上の場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させるので、情報処理装置の温度が必要以上に高くなることを防止でき、プロセッサの誤動作等を防止することが可能となった。
【００２９】
本発明のさらに別の局面によれば、計測手段によって計測された情報処理装置に供給される電流が所定値以上の場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させるので、情報処理装置に供給される電流が必要以上に大きくなることを防止でき、プロセッサの誤動作等を防止することが可能となった。
【００３０】
本発明のさらに別の局面によれば、外部から入力される信号が所定の値を示す場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させるので、外部から低消費電力モードの切替えを行なうことが可能となった。
【００３１】
本発明のさらに別の局面によれば、レジスタに所定値が格納されている場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させるので、プログラムによって低消費電力モードの切替えを行なうことが可能となった。
【発明を実施するための最良の形態】
【００３２】
（第１の実施の形態）
図１は、本発明の第１の実施の形態におけるＶＬＩＷ方式のプロセッサの概略構成を示すブロック図である。このＶＬＩＷ方式のプロセッサは、図示しない命令フェッチ部によってフェッチされた命令列をデコードする命令デコード部１１と、命令デコード部１１によるデコード結果に応じて命令列を実行する複数の演算器（ＰＵ）１２−１〜１２−４とを含む。
【００３３】
図２は、本発明の第１の実施の形態におけるＶＬＩＷ方式のプロセッサによって実行される命令フォーマットの一例を示す図である。この命令フォーマットは、３２ビットによって構成される。ＭＳＢ（Most Significant Bit）２１が“０”の場合には、２つの１６ビット命令によって構成され、ＭＳＢ２１が“１”の場合には、１つの３２ビット命令によって構成されることを示している。
【００３４】
また、ＭＳＢ２１が“０”であり、ＭＳＢ２２が“０”の場合には、２つの１６ビット命令が逐次実行されることを示している。また、ＭＳＢ２１が“０”であり、ＭＳＢ２２が“１”の場合には、２つの１６ビット命令が並列実行されることを示している。なお、図２においては、ＭＳＢ２１によって１つの３２ビット命令であるか、２つの１６ビット命令であるかを示しているが、命令フィールドを３つ以上のフィールドに分割し、３つ以上の命令の逐次実行／並列実行を選択できるようにしてもよい。また、命令のビット数はこれに限られるものではない。
【００３５】
図３は、本発明の第１の実施の形態におけるＶＬＩＷ方式のプロセッサの処理手順を説明するためのフローチャートである。なお、処理手順の一例として、図１に示すＶＬＩＷ方式のプロセッサによって図２に示す命令が実行される場合について説明するものとし、演算器１２−１および１２−２のみが動作するものとする。
【００３６】
まず、命令デコード部１１は、命令が２つの１６ビット命令であり（ＭＳＢ２１＝０）、かつ並列実行（ＭＳＢ２２＝１）の場合、低消費電力モード信号に応じて低消費電力モードであるか否かを判定する（Ｓ１１）。なお、命令デコード部１１は、命令が１つの３２ビット命令の場合（ＭＳＢ２１＝１）、そのデコード結果を演算器１２−１または１２−２に出力することによって、３２ビット命令を実行させる。
【００３７】
また、２つの１６ビット命令の逐次実行の場合（ＭＳＢ２１＝０，ＭＳＢ２２＝０）、命令デコード部１１は最初のサイクルで上位の１６ビット命令のデコード結果を演算器１２−１または１２−２に出力することによって最初の１６ビット命令を実行させ、次のサイクルで下位の１６ビット命令のデコード結果を演算器１２−１または１２−２に出力することによって次の１６ビット命令を実行させる。
【００３８】
低消費電力モードでない場合（Ｓ１１，Ｎｏ）、命令デコード部１１は演算器１２−１および１２−２に２つの１６ビット命令のデコード結果を同時に出力することによって、２つの１６ビット命令を並列に実行させる（Ｓ１５）。
【００３９】
また、低消費電力モードの場合（Ｓ１１，Ｙｅｓ）、命令デコード部１１は２つの１６ビット命令をデコードすることによって、２つの１６ビット命令の間に依存関係があるか否かを判定する（Ｓ１２）。
【００４０】
２つの１６ビット命令の間に依存関係がない場合、すなわち、一方の１６ビット命令のディスティネーション・オペランドが、他方の１６ビット命令のソース・オペランドになっておらず、かつ一方の１６ビット命令がコンディションビットを変更し、他方の１６ビット命令がコンディションビットを参照しない場合には（Ｓ１２，Ｎｏ）、ステップＳ１４に処理が進む。
【００４１】
また、２つの１６ビット命令の間に依存関係がある場合、すなわち、一方の１６ビット命令のディスティネーション・オペランドが、他方の１６ビット命令のソース・オペランドになっている場合、または一方の１６ビット命令がコンディションビットを変更し、他方の１６ビット命令がコンディションビットを参照する場合には（Ｓ１２，Ｙｅｓ）、命令デコード部１１はオペランドの値やコンディションビットの値をバックアップ用のレジスタに退避させる（Ｓ１３）。
【００４２】
ステップＳ１４において、命令デコード部１１はＭＳＢ２２の値を無視して“０”であるとし、２つの１６ビット命令を逐次実行させる。すなわち、命令デコード部１１は、最初のサイクルで上位の１６ビット命令のデコード結果を演算器１２−１または１２−２に出力することによって最初の１６ビット命令を実行させ、次のサイクルで下位の１６ビット命令のデコード結果を演算器１２−１または１２−２に出力することによって次の１６ビット命令を実行させる。
【００４３】
なお、２つの１６ビット命令の間に依存関係がある場合、命令デコード部１１は２番目の命令を演算器に実行させるときにバックアップ用のレジスタに退避された値を用いて演算を行なわせる。また、２つの１６ビット命令は同じ演算器によって演算が行なわれ、他方の演算器は動作しないものとする。
【００４４】
ここで、２つの１６ビット命令が共にコンディションビットを変更するような命令である場合も考えられるが、元々このような並列実行される命令が生成されるのは禁止されているので、このような場合を考慮する必要はない。
【００４５】
また、使用しなくなった演算器等に対するクロックや電源等の供給を停止することによって、さらに消費電力を低減することが可能となる。
【００４６】
また、クロックや電源等の供給を停止している演算器等のリソースを使用しようとした場合、例外を発生させてソフトウェアでそれをエミュレートするようにしてもよい。
【００４７】
また、クロックや電源等の供給を停止している演算器等のリソースを使用しようとした場合、そのリソースへのクロックや電源等の供給を再開し、これらを使用可能な状態にしてから命令を実行するようにしてもよい。
【００４８】
以上説明したように、本実施の形態におけるＶＬＩＷ方式のプロセッサによれば、低消費電力モードであり、かつ２つの１６ビット命令が並列実行されることが示される場合に、命令デコード部１１が２つの１６ビット命令を１つの演算器に逐次実行させるようにしたので、一部の演算器を動作させる必要がなくなる。これによって、演算器などの回路を同時に動作させる必要がなくなり、ピーク時における消費電力を低減させることが可能となった。
【００４９】
（第２の実施の形態）
本発明の第２の実施の形態におけるＶＬＩＷ方式のプロセッサの概略構成は、図１に示す第１の実施の形態におけるＶＬＩＷ方式のプロセッサの概略構成と同様である。したがって、重複する構成及び機能の詳細な説明は繰返さない。
【００５０】
図４は、本発明の第２の実施の形態におけるＶＬＩＷ方式のプロセッサの処理手順を説明するためのフローチャートである。まず、命令デコード部１１は、命令が２つの１６ビット命令であり（ＭＳＢ２１＝０）、かつ並列実行（ＭＳＢ２２＝１）の場合、低消費電力モード信号に応じて低消費電力モードであるか否かを判定する（Ｓ２１）。
【００５１】
低消費電力モードでない場合（Ｓ２１，Ｎｏ）、命令デコード部１１は演算器１２−１および１２−２に２つの１６ビット命令のデコード結果を同時に出力することによって、２つの１６ビット命令を並列に実行させる（Ｓ２６）。
【００５２】
また、低消費電力モードの場合（Ｓ２１，Ｙｅｓ）、命令デコード部１１は２つの１６ビット命令をデコードすることによって、２つの１６ビット命令の間に依存関係があるか否かを判定する（Ｓ２２）。
【００５３】
２つの１６ビット命令の間に依存関係がない場合、すなわち、一方の１６ビット命令のディスティネーション・オペランドが、他方の１６ビット命令のソース・オペランドになっておらず、かつ一方の１６ビット命令がコンディションビットを変更し、他方の１６ビット命令がコンディションビットを参照しない場合には（Ｓ２２，Ｎｏ）、命令デコード部１１はＭＳＢ２２の値を無視して“０”であるとし、２つの１６ビット命令を逐次実行させる（Ｓ２５）。
【００５４】
また、２つの１６ビット命令の間に依存関係がある場合、すなわち、一方の１６ビット命令のディスティネーション・オペランドが、他方の１６ビット命令のソース・オペランドになっている場合、または一方の１６ビット命令がコンディションビットを変更し、他方の１６ビット命令がコンディションビットを参照する場合には（Ｓ２２，Ｙｅｓ）、命令デコード部１１は例外を発生させて例外ハンドラを起動する（Ｓ２３）。この例外ハンドラの起動によって並列命令のエミュレートが行なわれ、並列命令が複数の逐次命令として実行される（Ｓ２４）。なお、命令メモリに予め例外ハンドラが格納されているものとする。
【００５５】
また、低消費電力モード時にコプロセッサ命令を実行する場合、コプロセッサの有無にかかわらずコプロセッサ命令例外を発生させ、例外ハンドラを起動することによってコプロセッサ命令をエミュレートするようにしてもよい。これによって、コプロセッサを動作させる必要がなくなり、消費電力を低減することが可能となる。
【００５６】
以上説明したように、本実施の形態におけるＶＬＩＷ方式のプロセッサによれば、低消費電力モードであり、２つの１６ビット命令が並列実行されることが示されており、かつ２つの１６ビット命令の間に依存関係がある場合に、命令デコード部１１が例外を発生させて例外ハンドラを起動するようにしたので、第１の実施の形態において説明した効果に加えて、レジスタの退避などが不要となり、ハードウェア構成を簡略化することが可能となった。
【００５７】
（第３の実施の形態）
本発明の第３の実施の形態におけるＶＬＩＷ方式のプロセッサの概略構成は、図１に示す第１の実施の形態におけるＶＬＩＷ方式のプロセッサの概略構成と同様である。したがって、重複する構成及び機能の詳細な説明は繰返さない。
【００５８】
図５は、本発明の第３の実施の形態におけるＶＬＩＷ方式のプロセッサの処理手順を説明するためのフローチャートである。まず、命令デコード部１１は、命令が２つの１６ビット命令であり（ＭＳＢ２１＝０）、かつ並列実行（ＭＳＢ２２＝１）の場合、低消費電力モード信号に応じて低消費電力モードであるか否かを判定する（Ｓ３１）。
【００５９】
低消費電力モードでない場合（Ｓ３１，Ｎｏ）、命令デコード部１１は演算器１２−１および１２−２に２つの１６ビット命令のデコード結果を同時に出力することによって、２つの１６ビット命令を並列に実行させる（Ｓ３６）。
【００６０】
また、低消費電力モードの場合（Ｓ３１，Ｙｅｓ）、命令デコード部１１は２つの１６ビット命令をデコードすることによって、２つの１６ビット命令の間に依存関係があるか否かを判定する（Ｓ３２）。
【００６１】
２つの１６ビット命令の間に依存関係がない場合、すなわち、一方の１６ビット命令のディスティネーション・オペランドが、他方の１６ビット命令のソース・オペランドになっておらず、かつ一方の１６ビット命令がコンディションビットを変更し、他方の１６ビット命令がコンディションビットを参照しない場合には（Ｓ３２，Ｎｏ）、命令デコード部１１はＭＳＢ２２の値を無視して“０”であるとし、２つの１６ビット命令を逐次実行させる（Ｓ２５）。
【００６２】
また、２つの１６ビット命令の間に依存関係がある場合、すなわち、一方の１６ビット命令のディスティネーション・オペランドが、他方の１６ビット命令のソース・オペランドになっている場合、または一方の１６ビット命令がコンディションビットを変更し、他方の１６ビット命令がコンディションビットを参照する場合には（Ｓ３２，Ｙｅｓ）、この依存関係がある並列命令を同じ意味の動作をする逐次命令群に変換し、高速アクセスが可能なメモリ（キャッシュメモリ、ＳＲＡＭ（Static Random Access Memory））に格納する。この高速アクセスが可能なメモリには、逐次命令群を格納するための領域が予め確保されており、命令フェッチ部がこの領域から直接逐次命令群を読出すことによって逐次命令群のフェッチが行なわれる。
【００６３】
そして、命令デコード部１１は、フェッチされた逐次命令群を順次デコードし、デコード結果を同じ演算器に出力することによって逐次実行が行なわれる（Ｓ３４）。
【００６４】
以上説明したように、本実施の形態におけるＶＬＩＷ方式のプロセッサによれば、低消費電力モードであり、２つの１６ビット命令が並列実行されることが示されており、かつ２つの１６ビット命令の間に依存関係がある場合に、並列命令を逐次命令群に変換して高速アクセスが可能なメモリに格納し、その逐次命令群を順次実行するようにしたので、第１の実施の形態において説明した効果に加えて、並列命令を逐次命令群に変換して実行するときの処理速度の低下を防止することが可能となった。
【００６５】
（第４の実施の形態）
図６は、本発明の第４の実施の形態におけるコンパイル装置の構成例を示すブロック図である。このコンパイル装置は、コンピュータ本体３１、ディスプレイ装置３２、ＦＤ（Flexible Disk）３４が装着されるＦＤドライブ３３、キーボード３５、マウス３６、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）３８が装着されるＣＤ−ＲＯＭ装置３７、およびネットワーク通信装置３９を含む。
【００６６】
コンパイルプログラム（以下、コンパイラと呼ぶ。）は、ＦＤ３４またはＣＤ−ＲＯＭ３８等の記録媒体によって供給される。コンパイラがコンピュータ本体３１によって実行されることによって、プログラムからオブジェクトコードが生成される。また、コンパイラは他のコンピュータよりネットワーク通信装置３９を経由し、コンピュータ本体３１に供給されてもよい。
【００６７】
図６に示すコンピュータ本体３１は、ＣＰＵ（Central Processing Unit）４０、ＲＯＭ（Read Only Memory）４１、ＲＡＭ４２およびハードディスク４３を含む。ＣＰＵ４０は、ディスプレイ装置３２、ＦＤドライブ３３、キーボード３５、マウス３６、ＣＤ−ＲＯＭ装置３７、ネットワーク通信装置３９、ＲＯＭ４１、ＲＡＭ４２またはハードディスク４３との間でデータを入出力しながら処理を行なう。
【００６８】
ＦＤ３４またはＣＤ−ＲＯＭ３８に記録されたコンパイラは、ＣＰＵ４０によりＦＤドライブ３３またはＣＤ−ＲＯＭ装置３７を介してハードディスク４３に格納される。ＣＰＵ４０は、ハードディスク４３から適宜コンパイラをＲＡＭ４２にロードして実行することによって、プログラムからオブジェクトコードが生成される。
【００６９】
図７は、本発明の第４の実施の形態におけるコンパイル装置の機能的構成を示すブロック図である。このコンパイル装置は、低消費電力モードであるか否かを判定するモード判定部５１と、ソースファイルから命令を１つずつ抽出し、その命令を解析して所定の条件を満たしているか否かを判定する条件判定部５２と、モード判定部５１および条件判定部５２による判定結果に応じて命令コードを生成し、オブジェクトコードとして出力する命令コード生成部５３と含む。
【００７０】
図８は、本発明の第４の実施の形態におけるコンパイル装置の処理手順を説明するためのフローチャートである。なお、本実施の形態におけるコンパイル装置は、消費電力を抑えるためのコードを出力するオプションを有しており、この低消費電力モードの設定はユーザ指定などによって行なわれる。
【００７１】
まず、モード判定部５１は、低消費電力モードが指定されているか否かを判定する（Ｓ４１）。モード判定部５１によって低消費電力モードが指定されていないと判定された場合（Ｓ４１，Ｎｏ）、命令コード生成部５３は命令からそのまま命令コードを生成して出力する（Ｓ４４）。すなわち、命令が２つの１６ビット命令の並列命令の場合には、ＶＬＩＷ方式のプロセッサによって並列に実行される命令コードを生成して出力する。また、命令が２つの１６ビット命令の逐次命令の場合には、ＶＬＩＷ方式のプロセッサによって逐次実行される命令コードを生成して出力する。また、命令が３２ビット命令であれば３２ビット命令の命令コードを生成して出力する。
【００７２】
モード判定部５１によって低消費電力モードが指定されていると判定された場合（Ｓ４１，Ｙｅｓ）、条件判定部５２は命令が２つの１６ビット命令の並列命令であれば、２つの１６ビット命令の間に依存関係があるか否かを判定する（Ｓ４２）。
【００７３】
条件判定部５２によって２つの１６ビット命令の間に依存関係がないと判定された場合、すなわち、一方の１６ビット命令のディスティネーション・オペランドが、他方の１６ビット命令のソース・オペランドになっておらず、かつ一方の１６ビット命令がコンディションビットを変更し、他方の１６ビット命令がコンディションビットを参照しない場合には（Ｓ４２，Ｎｏ）、上述したステップＳ４４の処理が行なわれる。
【００７４】
また、条件判定部５２によって２つの１６ビット命令の間に依存関係があると判定された場合、すなわち、一方の１６ビット命令のディスティネーション・オペランドが、他方の１６ビット命令のソース・オペランドになっている場合、または一方の１６ビット命令がコンディションビットを変更し、他方の１６ビット命令がコンディションビットを参照する場合には（Ｓ４２，Ｙｅｓ）、命令コード生成部５３は並列命令から逐次命令の命令コードを生成して出力する（Ｓ４３）。
【００７５】
図９は、本発明の第４の実施の形態におけるコンパイル装置によってコンパイルされたプログラムを実行するＶＬＩＷ方式のプロセッサの処理手順を説明するためのフローチャートである。なお、このＶＬＩＷ方式のプロセッサの概略構成は、図１に示す第１の実施の形態におけるＶＬＩＷ方式のプロセッサの概略構成と同様である。したがって、重複する構成及び機能の詳細な説明は繰返さない。
【００７６】
まず、命令デコード部１１は、命令が２つの１６ビット命令であり（ＭＳＢ２１＝０）、かつ並列実行（ＭＳＢ２２＝１）の場合、低消費電力モード信号に応じて低消費電力モードであるか否かを判定する（Ｓ５１）。
【００７７】
低消費電力モードでない場合（Ｓ５１，Ｎｏ）、命令デコード部１１は演算器１２−１および１２−２に２つの１６ビット命令のデコード結果を同時に出力することによって、２つの１６ビット命令を並列に実行させる（Ｓ５３）。また、低消費電力モードの場合（Ｓ５１，Ｙｅｓ）、命令デコード部１１はＭＳＢ２２の値を無視して“０”であるとし、２つの１６ビット命令を逐次実行させる（Ｓ５２）。
【００７８】
なお、低消費電力モードであり、かつ２つの１６ビット命令が並列命令の場合、その依存性はコンパイル装置によって解消されているので、プロセッサは並列命令を単に逐次実行すればよい。
【００７９】
以上説明したように、本実施の形態におけるコンパイル装置によれば、低消費電力モードであり、２つの１６ビット命令が並列命令であり、かつ２つの１６ビット命令の間に依存関係がある場合に、逐次命令の命令コードに変換して出力するようにしたので、この命令コードを実行するプロセッサは、並列命令を単に逐次命令に変換して実行すればよくなり、第１の実施の形態において説明した効果に加えて、ハードウェア構成を簡略化することが可能となった。
【００８０】
（第５の実施の形態）
本発明の第５の実施の形態におけるコンパイル装置の構成例および機能的構成は、図６および図７に示す第４の実施の形態におけるコンパイル装置の構成例および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
【００８１】
図１０は、本発明の第５の実施の形態におけるコンパイル装置の処理手順を説明するためのフローチャートである。まず、モード判定部５１は、低消費電力モードが指定されているか否かを判定する（Ｓ６１）。モード判定部５１によって低消費電力モードが指定されていないと判定された場合（Ｓ６１，Ｎｏ）、命令コード生成部５３は並列命令から逐次命令の命令コードを生成して出力する（Ｓ６４）。
【００８２】
モード判定部５１によって低消費電力モードが指定されていると判定された場合（Ｓ６１，Ｙｅｓ）、条件判定部５２は命令が２つの１６ビット命令の並列命令であれば、２つの１６ビット命令を並列に実行したときの消費電力が所定値よりも小さいか否かを判定する（Ｓ６２）。
【００８３】
たとえば、１６ビット命令を実行するときの消費電力をテーブルとして保持しておき、そのテーブルを参照して２つの１６ビット命令のそれぞれの消費電力を抽出し、それを加算することによって並列命令を実行したときの消費電力を計算することができる。
【００８４】
条件判定部５２によって２つの１６ビット命令の消費電力が所定値以上であると判定された場合（Ｓ６２，Ｎｏ）、命令コード生成部５３は並列命令から逐次命令の命令コードを生成して出力する（Ｓ６４）。また、条件判定部５２によって２つの１６ビット命令の消費電力が所定値よりも小さいと判定された場合（Ｓ６２，Ｙｅｓ）、命令コード生成部５３は並列命令の命令コードを生成して出力する（Ｓ６３）。
【００８５】
以上説明したように、本実施の形態におけるコンパイル装置によれば、低消費電力モードであり、２つの１６ビット命令が並列命令であり、かつ２つの１６ビット命令の消費電力が所定値より小さい場合にのみ並列命令の命令コードを生成して出力し、それ以外の場合には逐次命令の命令コードを生成して出力するようにしたので、プロセッサのピーク時における消費電力を低減させることが可能となるように命令コードを生成することが可能となった。
【００８６】
（第６の実施の形態）
本発明の第６の実施の形態におけるコンパイル装置の構成例および機能的構成は、図６および図７に示す第４の実施の形態におけるコンパイル装置の構成例および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
【００８７】
図１１は、本発明の第６の実施の形態におけるコンパイル装置の処理手順を説明するためのフローチャートである。まず、モード判定部５１によって低消費電力モードが指定されていると判定された場合、条件判定部５２は２つの１６ビット命令を並列に実行したときの消費電力を判定する（Ｓ７１）。たとえば、１６ビット命令を実行するときの消費電力をテーブルとして保持しておき、そのテーブルを参照して２つの１６ビット命令のそれぞれの消費電力を抽出し、それを加算することによって並列命令を実行したときの消費電力を計算することができる。
【００８８】
条件判定部５２によって２つの１６ビット命令の消費電力がしきい値よりも小さいと判定された場合（Ｓ７２，Ｎｏ）、命令コード生成部５３は２つの１６ビット命令から並列命令の命令コードを生成して出力する（Ｓ７４）。
【００８９】
また、条件判定部５２によって２つの１６ビット命令の消費電力がしきい値以上であると判定された場合（Ｓ７２，Ｙｅｓ）、意味の変わらない範囲で前後の命令と入替えを行ない、ステップＳ７１に戻って以降の処理を繰返す。たとえば、前後の命令との間で依存関係がないか否かを判定し、依存関係がなければその命令を前後の命令と入替える。
【００９０】
以上説明したように、本実施の形態におけるコンパイル装置によれば、低消費電力モードであり、２つの１６ビット命令が並列命令であり、かつ２つの１６ビット命令の消費電力がしきい値よりも大きい場合には、命令を入替えて命令コードを生成するようにしたので、プロセッサのピーク時における消費電力を低減させることが可能となるように命令コードを生成することが可能となった。
【００９１】
（第７の実施の形態）
図１２は、本発明の第７の実施の形態におけるシステム（情報処理装置）の概略構成の一例を示すブロック図である。このシステムにおいては、外部に設けられた温度センサ６１の出力が第１〜第４の実施の形態において説明したＶＬＩＷ方式のプロセッサ１に接続される。プロセッサ１は、温度センサ６１の出力を参照することにより、温度が所定値以上であるか否かを判定する。温度が所定値以上の場合には、プロセッサ１は低消費電力モードであると判定する。
【００９２】
図１３は、本発明の第７の実施の形態におけるシステム（情報処理装置）の概略構成の他の一例を示すブロック図である。このシステムは、内部に温度センサ６１が設けられる。それ以外は、図１２に示すシステムと同様である。
【００９３】
以上説明したように、本実施の形態におけるシステムによれば、温度が所定値以上の場合に低消費電力モードで動作するようにしたので、システムの温度が必要以上に高くなることを防止でき、プロセッサ１の誤動作等を防止することが可能となった。
【００９４】
（第８の実施の形態）
図１４は、本発明の第８の実施の形態におけるシステム（情報処理装置）の概略構成の一例を示すブロック図である。このシステムにおいては、外部に設けられた電流センサ６２の出力が第１〜第４の実施の形態において説明したＶＬＩＷ方式のプロセッサ１に接続される。プロセッサ１は、電流センサ６２の出力を参照することにより、システムに供給される電流が所定値以上であるか否かを判定する。電流が所定値以上の場合には、プロセッサ１は低消費電力モードであると判定する。
【００９５】
図１５は、本発明の第８の実施の形態におけるシステム（情報処理装置）の概略構成の他の一例を示すブロック図である。このシステムは、内部に電流センサ６２が設けられる。それ以外は、図１４に示すシステムと同様である。
【００９６】
以上説明したように、本実施の形態におけるシステムによれば、システムに供給される電流が所定値以上の場合に低消費電力モードで動作するようにしたので、システムに供給される電流が必要以上に大きくなることを防止でき、プロセッサ１の誤動作等を防止することが可能となった。
【００９７】
（第９の実施の形態）
図１６は、本発明の第９の実施の形態におけるシステム（情報処理装置）の概略構成を示すブロック図である。このシステムにおいては、外部から入力される低消費電力モード信号が第１〜第４の実施の形態において説明したＶＬＩＷ方式のプロセッサ１に接続され、外部入力の値によって低消費電力モードの切替えが行なわれる。
【００９８】
以上説明したように、本実施の形態におけるシステムによれば、外部入力の値に応じて低消費電力モードで動作するか否かを決定するようにしたので、システムの外部から低消費電力モードの切替えを容易に行なうことが可能となった。
【００９９】
（第１０の実施の形態）
図１７は、本発明の第１０の実施の形態におけるシステム（情報処理装置）の概略構成を示すブロック図である。このシステムにおいては、内部にレジスタ６４が設けられ、第１〜第４の実施の形態において説明したＶＬＩＷ方式のプロセッサ１に接続される。プロセッサ１などがこのレジスタ６４に値を設定することによって、低消費電力モードの切替えが行なわれる。
【０１００】
以上説明したように、本実施の形態におけるシステムによれば、レジスタ６４に設定された値に応じて低消費電力モードで動作するか否かを決定するようにしたので、プロセッサ１がこのレジスタ６４の値を設定することによって、プログラムで低消費電力の切替えを行なうことが可能となった。
【０１０１】
（第１１の実施の形態）
図１８は、本発明の第１１の実施の形態におけるスーパースカラの概略構成を示すブロック図である。このスーパースカラは、フェッチされた命令列の並列性を検出してスケジューリングを行なうハードウェア命令スケジューラ７１と、ハードウェア命令スケジューラ７１によってスケジューリングされた命令を実行する複数の演算器（ＰＵ）７２−１〜７２−４とを含む。
【０１０２】
低消費電力モードが設定されている場合、ハードウェア命令スケジューラ７１は、複数のパイプラインのうち利用するパイプラインを限定してスケジューリングを行ない、演算器７２−１〜７２−４のうち少なくとも１個の演算器が動作しないようにする。また、低消費電力モードにレベルを持たせ、これに応じて利用するパイプライン数を変化させることで、より細かく消費電力の制御を行なうようにしてもよい。
【０１０３】
なお、本実施の形態におけるスーパースカラを、図１２〜図１７に示す第７〜第１０に示すシステムに適用することも可能である。この場合、ＶＬＩＷ方式のプロセッサ１に替えて、本実施の形態において説明したスーパースカラが搭載される。
【０１０４】
以上説明したように、本実施の形態におけるスーパースカラによれば、低消費電力モードが設定されている場合には、利用するパイプライン数を制限してスケジューリングを行なうようにしたので、演算器などの回路を同時に動作させる必要がなくなり、ピーク時における消費電力を低減させることが可能となった。
【０１０５】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１０６】
【図１】本発明の第１の実施の形態におけるＶＬＩＷ方式のプロセッサの概略構成を示すブロック図である。
【図２】本発明の第１の実施の形態におけるＶＬＩＷ方式のプロセッサによって実行される命令フォーマットの一例を示す図である。
【図３】本発明の第１の実施の形態におけるＶＬＩＷ方式のプロセッサの処理手順を説明するためのフローチャートである。
【図４】本発明の第２の実施の形態におけるＶＬＩＷ方式のプロセッサの処理手順を説明するためのフローチャートである。
【図５】本発明の第３の実施の形態におけるＶＬＩＷ方式のプロセッサの処理手順を説明するためのフローチャートである。
【図６】本発明の第４の実施の形態におけるコンパイル装置の構成例を示すブロック図である。
【図７】本発明の第４の実施の形態におけるコンパイル装置の機能的構成を示すブロック図である。
【図８】本発明の第４の実施の形態におけるコンパイル装置の処理手順を説明するためのフローチャートである。
【図９】本発明の第４の実施の形態におけるコンパイル装置によってコンパイルされたプログラムを実行するＶＬＩＷ方式のプロセッサの処理手順を説明するためのフローチャートである。
【図１０】本発明の第５の実施の形態におけるコンパイル装置の処理手順を説明するためのフローチャートである。
【図１１】本発明の第６の実施の形態におけるコンパイル装置の処理手順を説明するためのフローチャートである。
【図１２】本発明の第６の実施の形態におけるシステム（情報処理装置）の概略構成の一例を示すブロック図である。
【図１３】本発明の第７の実施の形態におけるシステム（情報処理装置）の概略構成の他の一例を示すブロック図である。
【図１４】本発明の第８の実施の形態におけるシステム（情報処理装置）の概略構成の一例を示すブロック図である。
【図１５】本発明の第８の実施の形態におけるシステム（情報処理装置）の概略構成の他の一例を示すブロック図である。
【図１６】本発明の第９の実施の形態におけるシステム（情報処理装置）の概略構成を示すブロック図である。
【図１７】本発明の第１０の実施の形態におけるシステム（情報処理装置）の概略構成を示すブロック図である。
【図１８】本発明の第１１の実施の形態におけるスーパースカラの概略構成を示すブロック図である。
【符号の説明】
【０１０７】
１１  命令デコード部、１２−１〜１２−４，７１−１〜７１−４  演算器、２１，２２  ＭＳＢ、３１  コンピュータ本体、３２  ディスプレイ装置、３３  ＦＤドライブ、３４  ＦＤ、３５  キーボード、３６  マウス、３７  ＣＤ−ＲＯＭ装置、３８  ＣＤ−ＲＯＭ、３９  ネットワーク通信装置、４０  ＣＰＵ、４１  ＲＯＭ、４２  ＲＡＭ、４３  ハードディスク、５１  モード判定部、５２  条件判定部、５３  命令コード生成部、６１  温度センサ、６２  電流センサ、６３  低消費電力モード、６４  レジスタ、７１  ハードウェア命令スケジューラ。
【図１】
2005327178.tif 000003
【図２】
2005327178.tif 000004
【図３】
2005327178.tif 000005
【図４】
2005327178.tif 000006
【図５】
2005327178.tif 000007
【図６】
2005327178.tif 000008
【図７】
2005327178.tif 000009
【図８】
2005327178.tif 000010
【図９】
2005327178.tif 000011
【図１０】
2005327178.tif 000012
【図１１】
2005327178.tif 000013
【図１２】
2005327178.tif 000014
【図１３】
2005327178.tif 000015
【図１４】
2005327178.tif 000016
【図１５】
2005327178.tif 000017
【図１６】
2005327178.tif 000018
【図１７】
2005327178.tif 000019
【図１８】
2005327178.tif 000020