(57)【要約】電力消費を制御する回路配置及び方法は電力消費制御機能を有するレジスタファイル（６０）を用いる。このレジスタファイルはレジスタバンク区分設計とされ、各レジスタバンクはエネーブルロジック（６２，８２）と結合され、該エネーブルロジックは不使用のレジスタバンク（７０）を、これに供給されクロック（７４）、アドレス（７６）及びデータ（７８）入力を選択的にゲートオフすることによって選択的にディセーブルするように構成されている。
2006509290.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）複数のバンクに区分されたレジスタファイルであって、各バンクが少なくとも1つのレジスタを含むとともに少なくとも1つのクロック入力、アドレス入力及びデータ入力を含むレジスタファイルと、
（ｂ）前記レジスタファイルに結合されたエネーブルロジックであって、前記複数のバンクの中から少なくとも１つの不使用のバンクを、そのクロック、アドレス及びデータ入力をゲートオフすることによって選択的にディセーブルするよう構成されているエネーブルロジックとを具えることを特徴とする回路配置。
【請求項２】
前記レジスタファイル内の各レジスタはＣＭＯＳフリップフロップ及びＣＭＯＳラッチの少なくとも一つを具えることを特徴とする請求項１記載の回路配置。
【請求項３】
前記エネーブルロジックは複数のエネーブル回路を含み、各エネーブル回路は前記レジスタファイルの各レジスタバンクに結合され、エネーブル信号に応答して関連するバンクに供給される各クロック、アドレス及びデータ入力をゲートオフするように構成されていることを特徴とする請求項１記載の回路配置。
【請求項４】
前記各エネーブル回路は複数のゲートトランジスタを含み、各ゲートトランジスタはクロック、アドレス及びデータ入力の一つに結合され、当該エネーブル回路に供給されるエネーブル信号に応答することを特徴とする請求項３記載の回路配置。
【請求項５】
前記複数のレジスタバンクの各々に結合された出力選択ロジックを更に具えることを特徴とする請求項１記載の回路配置。
【請求項６】
前記エネーブルロジックは、どのレジスタバンクが不使用であるかをダイナミックに決定し、このダイナミックな決定に応答して各バンクに対するエネーブル信号を発生するように構成されていることを特徴とする請求項１記載の回路配置。
【請求項７】
前記エネーブルロジックはアドレスデコーダを具え、該アドレスデコーダが前記レジスタファイルに供給されるアドレス入力で指定される少なくとも１つのアドレスに応答してエネーブル信号を発生するように構成されていることを特徴とする請求項６記載の回路配置。
【請求項８】
前記エネーブルロジックは格納電力モード状態情報に応答して各バンクに対するエネーブル信号を発生するように構成されていることを特徴とする請求項１記載の回路配置。
【請求項９】
前記電力モード状態情報を格納するステータスレジスタを更に具え、該ステータスレジスタはプロセッサにより実行中のプログラムコードに存在する電力制御命令に応答して更新されるように構成されていることを特徴とする請求項８記載の回路配置。
【請求項１０】
前記ステータスレジスタは電力モードレジスタを具えることを特徴とする請求項９記載の回路配置。
【請求項１１】
前記ステータスレジスタは電力消費制御に関係のないステータス情報も付加的に格納することを特徴とする請求項９記載の回路配置。
【請求項１２】
前記回路配置は集積回路上に配置されていることを特徴とする請求項１記載の回路配置。
【請求項１３】
前記回路配置は前記集積回路内のプロセッサに配置されていることを特徴とする請求項１記載の回路配置。
【請求項１４】
請求項１に記載の回路配置を定義するハードウエア定義プログラムを保持する信号保持媒体を具え、該信号保持媒体は伝送媒体及び記録可能媒体の少なくとも一つを含むこと特徴とするプログラム製品。
【請求項１５】
レジスタファイルの電力消費を制御する方法であって、該方法は、
（ａ）前記レジスタファイル内の各々が少なくとも１つのレジスタと少なくとも１つのクロック入力、アドレス入力及びデータ入力を含む複数のレジスタバンクのうちの第１及び第２のレジスタバンクにそれぞれ向けられた第１及び第２のエネーブル信号を受信し、
（ｂ）前記第１のエネーブル信号に応答して、前記第１のレジスタバンクを、そのクロック、アドレス及びデータ入力をゲートオフすることによって選択的にディセーブルすることを特徴とするレジスタファイルの電力消費制御方法。
【請求項１６】
前記レジスタファイル内の各レジスタはＣＭＯＳフリップフロップ及びＣＭＯＳラッチの少なくとも一つを具えることを特徴とする請求項１５記載の方法。
【請求項１７】
前記第１のレジスタバンクの選択的ディセーブルは、前記第１のレジスタバンクのクロック、アドレス及び電力入力にそれぞれ結合された複数のゲートトランジスタにエネーブル信号を供給することにより行うことを特徴とする請求項１５記載の方法。
【請求項１８】
前記第１のレジスタバンクが不使用であることをダイナミックに決定し、これに応答して前記第１のエネーブル信号を発生することを特徴とする請求項１５記載の方法。
【請求項１９】
前記レジスタファイルに供給されるアドレス入力により指定される少なくとも１つのアドレスをデコーダすることによって前記第１のレジスタバンクが不使用であることをダイナミックに決定することを特徴とする請求項１８記載の方法。
【請求項２０】
前記第１及び第２のエネーブル信号を格納電力モード状態情報に応答して発生することを特徴とする請求項１５記載の方法。
【請求項２１】
前記格納電力モード状態情報をサポートレジスタに格納し、該サポートレジスタをプロセッサにより実行中のプログラムコードに存在する電力制御命令に応答して更新することを特徴とする請求項２０記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、集積回路、例えば低電力その他のパワーセンシティブアプリケーション用の集積回路の電力消費の制御に関するものである。
【背景技術】
【０００２】
電力消費はしばしば多くの集積回路（ＩＣ）又は「チップ」に対して主な設計制約になっている。集積回路は、例えば、携帯電話やその他の無線通信デバイス、携帯コンピュータ、携帯機器及びゲーム機などのような多種多様の携帯及び電池式アプリケーションにどんどん使用されている。更に、電池寿命の心配のない非携帯アプリケーションにおいても、集積回路は過度の熱を発生しやすく、高価でかさばる冷却構成要素を必要とし、またＩＣの信頼度を低下することになる。
【０００３】
更に、ＩＣはもっと複雑に、もっと高速になるとともに、もっと多数のトランジスタを含むものとなるので、これらのＩＣにより消費される電力量は比例して増大する。それゆえ、大きな開発努力がＩＣ電力消費の低減に向けられている。
【０００４】
例えば、いくつかの努力がＩＣ内の個々のトランジスタの電力消費を、例えばトランジスタのレイアウトの変更及び／又は電源電圧の低減により減少させることに向けられている。トランジスタ設計の変更及び電源電圧レベルの低減はより複雑で高性能のＩＣの使用により生ずる電力消費の増大をある程度抑えることができるが、多くのパワーセンシティブアプリケーションに対しては追加の低減が要求されている。
【０００５】
例えば、モバイルアプリケーションに使用されているマイクロプロセッサのようなＩＣは電源電圧及び／又はクロック周波数を低減し、従って総電力消費を低減するために電圧及び／又は周波数スケーリングを用いている。しかし、このような低減は典型的にはＩＣ-wideに適用され、処理性能の対応する低減を伴う。
【０００６】
他の設計はスリープモードを組み込み、ＩＣを特定のコマンド又は命令に応答して又は外部割込みのようなイベントに応答して低電力状態に置くことができる。例えば、いくつかのマイクロプロセッサはマイクロプロセッサ全体を低電力スリープモードにおくＷＡＩＴ又はＨＡＬＴ命令をサポートする。しかし、このようなモードでは、マイクロプロセッサが割り込み又は他のトリガイベントにより復活されるまでマイクロプロセッサ内のすべての有効処理活動が休止されるのが典型的である。
【０００７】
更に他の設計では、ＩＣは種々の回路を含み得るので、総電力消費を低減するためにこれらの回路を使用中でないときに選択的にディセーブルすることができる。これらの回路は、特にある種のプロセッサ又はプロセッシングコアを内蔵するＩＣのためのコンピュータプログラムの実行と関連して出合う特定の命令の実行に応答してエネーブル又はディセーブルされるのが典型的である。
【０００８】
例えば、いくつかの低電力マイクロプロセッサ設計は個々の機能ユニットを、これらの機能ユニットに特定の「パワーダウン」命令を送ることによって、選択的にディセーブルすることができる。パワーダウン命令は、コンピュータプログラムのコンパイル中にコンパイラにより挿入され、これらの命令はマイクロプロセッサによるコンピュータプログラムの実行中に個々の機能ユニットにより処理される。しかし、このような方法の一つの欠点は、個々の機能ユニットへの個々の命令の送出がこれらの機能ユニットの処理リソースを占有し、従ってこれらの機能ユニット及び他の多数の計算処理のためのプロセッサパイプラインの残部の可用性を低減する点にある。
【０００９】
上述したパワーダウン命令に関しては、マイクロプロセッサにより処理される各命令と関連して、マイクロプロセッサ内の各機能ユニットのエネーブル状態をダイナミックに制御する制御ビットを使用する。しかし、このタイプの設計では、各命令の絶え間ないデコーディングが必要とされ、これにより個々の機能ユニットの選択的ディセーブルで得られる電力消費の低減が相殺され得る。更に、特定の機能ユニットを特定の制御ビットセットに応答してディセーブル又はエネーブルするのに要する時間がマイクロプロセッサの実現可能な動作周波数を制限し、従ってマイクロプロセッサの総合性能を制限する。更に、各命令に制御ビットを付加することはコードのサイズを増大し、従ってメモリ要件を増大する、或いは、サポートし得る命令の数を減少することになる。
【００１０】
上述した命令ベースの制御手法の他の欠点は、これらの手法はマイクロプロセッサ内の機能ユニットを制御するものに限定される点にある。機能ユニット、例えば実行ユニット、演算論理ユニット、浮動小数点ユニット、固定小数点ユニットなどはマイクロプロセッサの総電力消費の大きな割合を占めるが、殆どの設計のものはかなり多量の追加の回路、例えばキャッシュ、レジスタファイルなどを内蔵しており、これらの回路も電力消費をもたらすが、これらの電力消費は上述した制御手法により対処されない。
【００１１】
更に他の設計のものは、マイクロプロセッサの種々の電力動作をサポートする多数の命令セットを内蔵することができる。典型的には、この設計では、１つの命令セットはマイクロプロセッサ全体を利用しうるが、他の命令セットはマイクロプロセッサの一部しか使用できず、従って電力消費を低減することができる。しかし、この手法の一つの欠点は、限定数のプロセッサ利用モード、即ちフル及び限定モードしかサポートされない点にある。更に、コードの複雑化、従ってプロセッサ内のデコーディングロジックの複雑化が増し、その回路自体が電力消費を増大し得る。
【００１２】
関連分野では、種々の電力消費能力をサポートするために複数のバージョンのプログラムを使用することができる。しかし、複数のバージョンのプログラムを格納するには、現在電力要求に基づいて、実行のためのコードバージョンを選択するランタイムスケジューラの使用を必要とするとともに、複数のコードバージョンを格納するにはもっと大きなプログラムメモリとスケジューラの実行を必要とし、これが電力消費を更に増大し得る。
【００１３】
ＩＣ内の個々の回路を選択的にエネーブルする場合には、これらの回路をディセーブルしてそれらの電力消費を最小にする種々の方法が使用可能である。例えば、回路へのクロッキングをディセーブルし、回路内のトランジスタのスイッチングを有効に制限するために多くの場合クロックゲートが使用されている。これは、多くの場合回路内の電力消費の最大量を占めるのはトランジスタの状態スイッチングであるためである。
【００１４】
マイクロプロセッサ内の機能ユニットに対しては、回路をディセーブルする他の方法は回路への電力供給を遮断する方法である。更に他の方法は回路への入力信号を不活性化する方法である。
【００１５】
また、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス内のメモリアレイのような他の回路に対しては、クロック信号及びセンス増幅器を選択的にゲートオフしてアレイ内のメモリセルのバンクをディセーブルし、全アレイの電力消費を低減することができる。
【００１６】
マイクロプロセッサ等のようなＩＣの電力消費の制御に関連して大きな利点が得られているにもかかわらず、当該分野では更なる改善が引き続き要求されている。
【００１７】
例えば、選択的な回路ディセーブルの分野では、ＩＣ内のプロセッサ又はプロセッシングコアにより使用されるレジスタと関連する電力消費の制御に改善の見込みがある。レジスタは多くの場合レジスタファイルに編成され、ＣＭＯＳラッチやフリップフロップを用いて実現され、比較的大きな電力消費特性を有する。しかし、多くのプログラムの実行中のレジスタの使用は比較的低いことがあり、レジスタファイル内に多数の不使用レジスタが生じ、これらがＩＣの電力を不必要に消費する。場合によっては所定のレジスタをディセーブルするのが望ましいかもしれないが、例えばＤＲＡＭ等と関連して使用されている慣例のメモリセルディセーブル方法はクロックゲーティング及び／又はセンス増幅器のディセーブリングを用いてメモリセル又はメモリセルバンクをディセーブルしている。このような技術はレジスタファイル内のレジスタをディセーブルするために使用できるが、このような技術で低減される電力消費の程度は限界がある。
【００１８】
本発明は、従来技術と関連するこれらの問題及び他の問題を解決する電力消費制御回路配置及び方法を提供する。本発明では、レジスタファイルをエネーブルロジックと結合されたバンク設計とし、該エネーブルロジックは不使用のレジスタバンクをこれに供給されるクロック、アドレス及びデータ入力を選択的にゲートオフすることによって選択的にディセーブルにするように構成する。具体的には、レジスタファイル内のレジスタを複数のバンクに区分し、各バンクを各バンクへの種々のクロック、アドレス及びデータ入力を選択的にゲートオフするエネーブルロジックによって選択的にディセーブル可能にする。
【００１９】
レジスタファイルに設けられた種々のレジスタバンクに供給されるクロック入力に加えてアドレス及びデータ入力をゲートオフすることによって、クロック入力のみをゲートオフする場合より大きな電力消費の低減が得られる。更に、レジスタファイルを比較的高いワイヤキャパシタンスで特徴付けられるＣＭＯＳラッチ又はフリップフロップを用いて実現する場合には、電力消費の低減が一層顕著になる。その理由は、通常ゲーティングによりレジスタファイルバンク内部の長いワイヤ上でのスイッチング活動が禁止されるからである。
【００２０】
本発明を特徴付けるこれらの及び他の利点及び特徴は特許請求の範囲に記載されている。しかし、本発明の特徴及び本発明によって達成される利点及び目的のより良い理解のためには、図面及び図面を参照して以下に記載する本発明の模範的実施例の説明を参照されたい。
【００２１】
本発明によるダイナミック電力消費制御は、慣例の電力消費技術より大きな利点を提供する２つのコンセプトの何れか一方又は両方を取り入れることができる。第１のコンセプトは、プロセッサ又はプロセッシングコアにより使用されるレジスタファイルの電力消費制御を実現するために一意に適用する。本発明によれば、レジスタファイルは多数のレジスタバンクに区分され、各レジスタバンクはクロック、データ及びアクセス入力ラインを含んでいる。エネーブルロジックがこのようなレジスタファイルに結合され、レジスタファイル内の不使用のレジスタバンクに対するクロック、データ及びアドレス入力ラインを選択的にゲートオフ又はディセーブルする。
【００２２】
第２のコンセプトは、もっと一般的に、ソフトウエア命令を処理するプロセッサ又は他のプログラマブル回路を含む集積回路の電力消費を制御するソフトウエアベースの方法に適用する。特に、プロセッサにより実行されるプログラムコードに組み込まれる電力制御命令を用いて、２以上の電力モードに選択的に構成可能な多数のハードウエアリソースの電力モードを制御する。ハードウエアリソースの各電力モードは当該ハードウエアリソースに特有の電力消費状態を有している。
【００２３】
各電力制御命令は、そのオペランド内に配置された、多数のハードウエアリソースの電力モードを設定することができる電力制御情報を含む。更に、電力モードが特定の電力制御命令により設定されたら、設定された電力モードがプロセッサによる後続の命令の処理中使用され、この電力モードは別の電力制御命令又は特別のイベント（例えば外部割込み）によりリセットされるまで続く。
【００２４】
これらの各コンセプトは、レジスタファイルのソフトウエアベース電力消費制御を用いるプロセッサ集積回路の模範的実施例の説明と関連して詳細に説明される。しかし、この特定の実施例について説明する前に、模範的なハードウエア及びソフトウエア環境について以下に詳細に説明する。
【００２５】
図面に戻り説明すると、いくつかの図には同一の部分が同一の番号で示されている。図１は、データ処理システム１０の模範的なハードウエア及びソフトウエア環境を示し、本発明によるダイナミック電力消費制御を実現するメディアプロセッサ１２を含んでいる。メディアプロセッサ１２は、例えばフィリップスセミコンダクタ社から入手しうるPNX1300 Series TriMedia-compatible media processorとして実現することができ、また他のEquator MAP1000, TI TMS320C6xxx, BOPS Man Array等として実現することもできる。メディアプロセッサ１２はシステムオンチップ（ＳＯＣ）集積回路デバイスであり、内部バス１６を介して当集積回路デバイスに内蔵されている複数の付加回路要素に結合された中央演算処理装置（ＣＰＵ）又はプロセッシングコア１４を含んでいる。
【００２６】
ＣＰＵ１４は、例えば３２ビットのアドレス空間と１２８個の３２ビット汎用レジスタを内蔵する例えばＶＬＩＷプロセッサコアとして実現することができる。プロセッサコアは５つのイシュースロットを介してアクセスし得る２７個の機能ユニットと、１６ＫＢデータキャッシュ及び３２ＫＢ命令キャッシュとを具え、データキャッシュはデュアルポートであり、且つ両キャッシュとも６４バイトブロックサイズを有する8-way associativeキャッシュである。
【００２７】
プロセッサ１２のワーキングメモリはメインメモリ入力／出力インターフェースブロック２０を介してアクセスされる外部メモリ１８（例えばＳＤＲＡＭ）により供給されるるとともに、周辺バス２２（例えばＰＣＩバス）を経る外部周辺要素への接続が外部バスインターフェースブロック２４により与えられている。
【００２８】
種々のメディア処理機能をサポートするために、メディアプロセッサ１２はビデオ入力／出力ブロック２６，２８；オーディオ入力／出力ブロック３０，３２；ＳＰＤＩＦ出力ブロック３４；１２Ｃインターフェースブロック３６；同期シリアルインターフェースブロック３８；画像圧縮ブロック４０；ＤＶＤデスクランブラ（ＤＶＤＤ）ブロック４２；可変長デコーディング（ＶＬＤ）圧縮ブロック４４；及びタイマブロック４６を含む種々の専用メディア処理回路を含んでいる。
【００２９】
次に図２を参照すると、図２にはＣＰＵ１４が詳細に示されており、内部バス１６を命令キャッシュ５２及びデータキャッシュ５４に結合するバスインターフェースユニット（ＢＩＵ）５０を含んでいる。命令キャッシュ５２からの命令は１以上の命令デコーダ５６に供給され、該デコーダは命令を１以上の機能ユニット５８、例えば種々の論理演算ユニット、浮動小数点ユニット、サブワード並列処理ユニット、ロード／ストアユニット、ＳＩＭＤマルチメディア処理ユニット、ベクトルマルチメディア処理ユニット、マルチプライヤ、ブランチユニット等に出力する。上述したように、ＣＰＵ１４はＶＬＩＷ命令をサポートすることができるので、ＶＬＩＷ命令の処理時には多数（例えば５つ）の命令スロットを用いてＶＬＩＷ命令に符号化された多数の命令を多数の機能ユニットに同時に送ることができる。
【００３０】
ＣＰＵ１４は典型的にはロード／ストアアーキテクチャとして実現されるので、機能ユニット５８は本例では１２８個の３２ビット汎用レジスタを含むレジスタファイル６０にアクセスする。追加のサポートされたレジスタはプログラム制御及びステータスワード（ＰＣＳＷ）レジスタ６１であり、このレジスタはＣＰＵを、例えば例えば浮動小数点処理、バイトセックス（ビッグ／リトルエンディアン）、割り込みエネーブル、例外処理等に対して種々のコンフィギュレーション設定に設定するために使用される。本発明によるダイナミック電力消費制御を付与するために、ＣＰＵ１４は更に電力制御回路６２を含み、この回路内にはサポートレジスタ６４（ここでは電力モードレジスタという）が示され、このレジスタにはメディアプロセッサ１２の電力消費を最小にするために選択的にディセーブルすることができるメディアプロセッサ１２内の種々のハードウエアリソースに対する電力モード状態情報を格納する。ある実現例では、電力モード状態情報をＣＰＵ内のＰＣＳＷレジスタ又は別のサポートレジスタに記憶することをサポートするのも望ましく、この場合には電力モード状態情報が電力消費制御と関係のない他のステータス情報と組み合わされる。
【００３１】
電力制御回路６２は、ＣＰＵ１４及び／又はメディアプロセッサ１２内の種々のハードウエアリソース内に埋め込まれたエネーブルロジックに１以上のエネーブル信号をアサートすることにより、ＣＰＵ１４全体の電力消費及びオプションでメディアプロセッサ１２内の他の部分の電力消費を制御する。これに関連して、ハードウエアリソースは、実際上、集積回路の電力消費を低減するためにディセーブルできる及び／又はディセーブルするのが望ましい集積回路内の任意の電子回路を表すものとすることができる。ＣＰＵ１４では、例えばＢＩＵ５０、キャッシュ５２，５４、命令デコーダ５６、機能ユニット５８及びレジスタファイル６０のそれぞれのブロックにエネーブルロジック（参照記号「Ｅ」で示されている）が存在することにより、これらのすべてが選択的にディセーブルできるハードウエアリソースとして示されている。
【００３２】
図示の実施例では、電力制御回路６２は電力モードレジスタ６４に格納されている電力モード状態情報に応答してエネーブル信号６６を選択的にアサートする。この状態情報はＣＰＵ１４により実行されるプログラムに埋め込まれている電力制御命令に応答してレジスタ６４にセットされる。これらの電力制御命令は、当業界で一般に使用されている他の慣例のレジスタストア命令とほぼ同様に、命令デコーダ５６によりデコードされ、電力モードレジスタ６４を更新するのに使用される。
【００３３】
エネーブル信号６６はブロック又はハードウエアリソース全体を完全にエネーブル／ディセーブルするために用いることができ、またこのようなブロック／リソースの一部分のみをエネーブル／ディセーブルするために用いることができ、且つ又このようなブロック／リソースのすべて又は一部のみに対する多くの使用可能な電力消費状態の中から選択することができる。例えば、ハードウエアリソースは２以上の電力モード、例えばスリープ又はフルオフモード、２以上の低電力又はエネルギー節約モード及びフルパワーモードをサポートすることができる。図２には各エネーブル信号６６に対して単線を示しているが、複数の信号路を用いて各ハードウエアリソースの複数部分を種々の精度に選択的にエネーブルすることもできる。また、ハードウエアリソースは、実際上、従来知られている任意のエネルギー節約又は電力消費低減技術を使用することもできるが、ここに記載する電力制御回路の制御の下で選択的にエネーブルすることができる必要がある。
【００３４】
以下に記載する実施例では、例えばレジスタファイルのようなハードウエアリソースを電力消費が低減されるように制御することができる。このために本発明ではレジスタファイルを複数のレジスタバンクに編成し、これらのバンクをプログラムにより実行されるプログラム内の電力制御命令に応答して選択的に個別にディセーブル可能にする。この点に関し、各レジスタバンクはそれ自体個別のハードウエアリソースを表すものとみなすことができる。
【００３５】
図示の実施例では、各レジスタバンクは、ディセーブルするレジスタバンクに対してクロック信号のみならず、アドレス及びデータ入力信号もゲートオフするエネーブルロジックを用いる。汎用レジスタに使用されるＣＭＯＳラッチ又はフリップフロップは高いワイヤキャパシタンスにさらされるので、以下の説明から明らかになるように、クロック、アドレス及びデータ入力信号のゲートオフは全体で最適なエネルギー節約を提供する。しかし、本発明のいくつかの実施例ではレジスタファイルをディセーブルする他の方法を使用することもできる。
【００３６】
更に、電力制御回路６２はＣＰＵ１４内に配置されたハードウエアリソースのみを制御するために使用するように示されているが、電力制御回路は他のハードウエアリソース、例えば同一の集積回路上の他の場所に配置されたリソース（例えば図１に示す機能ブロックのすべて又は何れかの一部分）並びに別の集積回路上に配置されたハードウエアリソースを制御するのに使用することもできる。本発明の電力制御回路は、実際上、多種多様のハードウエアリソース、例えばレジスタファイル、メモリ、キャッシュ、イシュースロット、バス、機能ユニット、機能ブロック、ＩＯパッド又はピン、バッファ、命令レコーダロジック、埋め込みフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コプロセッサ、又はディセーブル可能及び／又は低電力消費レベルの状態に設定可能な任意のタイプの電子回路に対して、電力消費を制御するのに使用することもできる。また、上述した回路は個別に制御し得る多数のハードウエアリソースを含むものとみなせ、例えばこのような回路の個々の部分（例えばレジスタファイルの個々のバンク又はレジスタ、キャッシュの個々のセット又はバスの個々のライン又はライン群）も選択的にディセーブルできるものとみなすことができる。
【００３７】
更に、電力制御回路６２はＣＰＵ１４内に配置されているように示されているが、電力制御回路はＣＰＵ又は他のプロセッッシングコアから機能的に分離させることができる。一般に、電力制御機能を集積回路上に割り付ける方法は実施例によって相違させることができるので、本発明はここに記載する特定の実施例に限定されない。
【００３８】
付加的な事項として、メディアプロセッサ内の電力制御回路６２の実現例をここに例示する。本発明によれば、ここに記載する電力消費制御及び特に電力制御命令の使用は多種多様の代替集積回路に使用することもできる。電力制御命令は、例えばＶＬＩＷ、ＥＰＩＣ、ＲＩＳＣ、ＣＩＳＣ、ＤＳＰ、スーパースカラ等を含む種々のプロセッサアーキテクチャと関連して使用することができる。更に、本発明はＳＯＣアーキテクチャや、プロセッシングコアが他のサポート回路と一緒に集積されている他のアーキテクチャに使用するものに限定されない。
【００３９】
多くの場合、電力消費低減の大きな利点は、並列ハードウエアリソースをプログラム実行中常時使用下におくことができるＬＶＩＷ、ＥＰＩＣ、スーパースカラ又は他のワイドイシューアーキテクチャと関連して実現される。これは、使用下にある並列ハードウエアリソースはしばしばプログラム使用コマンドに応答して選択的にディセーブルすることができるからである。しかし、本発明はワイドイシューアーキテクチャ等と関連して適用されるものにのみ限定されない。
【００４０】
一般に、ここに記載するハードウエアベース電力制御機能はどれも１以上の集積回路に組み込まれた回路配置に実現するのが典型的であり、追加のサポート電子要素はオプションで含む。更に、従来よく知られているように、集積回路はデバイス上の回路配置のレイアウトを定義する１以上のデータファイル（ここではハードウエア定義プログラムという）を用いて設計され製造されるのが典型的である。これらのプログラムは通常は設計ツールにより発生され、その後製造時に半導体ウエファに付与する回路配置を決定するレイアウトマスクを生成するために使用される。一般に、これらのプログラムはＶＨＤＬ、verilog、ＥＤＩＦ等のようなハードウエア定義言語（ＨＤＬ）を用いて所定のフォーマットで与えられる。本発明はこれまで正しく機能する集積回路に実現された回路配置及びこれを用いるデータ処理システムと関連して説明し、これからも説明するが、当業者であれば、本発明に係る回路配置はプログラム製品として種々の形で配布することもできること、及び本発明は配布を実際に行うために使用する信号保持メディアのタイプと無関係に等しく適用し得ることが認識される。信号保持メディアの例には、揮発性及び不揮発性メモリデバイス、フロッピー（登録商標）その他のリムーバブルディスク、ハードディスク、磁気テープ、光ディスク（例えばＣＤ−ＲＯＭ、ＤＶＤ等）等のような記録可能型メディア及びディジタル及びアナログ通信リンクのような伝送型メディアがあるが、これらに限定されない。本発明のいくつかの実施例では、ＦＰＧＡ等の他の集積回路技術を用いてここに記載するいくつかのハードウエアベース機能を実現することもできる。
【００４１】
上述したように、電力制御回路６２はＣＰＵ１４により実行されるプログラムに埋め込まれた電力制御命令により制御することができる。これらの電力制御命令はプログラマが生成することができ、またコンパイラ、リンカ、オプティマイザ等により自動的にプログラムに付加することもできる。更に、このようなプログラム制御命令の自動付加は、いくつかの実施例では、ランタイム前に生起するのが普通であるが、プログラム制御命令のランタイム付加は、例えばジュストインタイムコンパイレイション／オプティマイゼーション又はランタイム割り込み／命令デコーディングと関連して使用することができる。
【００４２】
プログラム制御命令の自動付加は、（即ちランタイム前又は中、コンパイラ又はオプティマイザ等において）実行される特定の方法と無関係に、以下に詳述する１以上のルーチンを用いて実行するのが典型的である。これらのルーチンは、オペレーティングシステム又は特定のアプリケーション、コンポーネント、プログラム、オブジェクト、命令のモジュール又は列、又はそのサブセットで実行されようと、ここでは「コンピュータプログラムコード」又は単に「プログラムコード」という。プログラムコードは、通常は種々の時間にコンピュータ又はデータ処理システム内の種々のメモリ又は記憶装置に存在する１以上の命令を具え、該命令はコンピュータ内の１以上のプロセッサにより読み出され実行されるとき、該コンピュータに、本発明の種々の態様を具体化するステップ又は要素を実行するのに必要なステップを実行させる。更に、本発明のソフトウエア関連態様についてコンピュータ及びデータ処理システムと関連してこれまで説明し、これからも説明するが、当業者であれば、本発明の種々の実施例はプログラム製品として種々の態様で配布することができること、及び本発明は配布を実際に行うために使用する信号保持メディアのタイプと無関係に等しく適用し得ること明らかである。
【００４３】
更に、後述する種々のプログラムは、本発明の特定の実施例で実行されるアプリケーションに基づいて識別することができる。しかし、以下では便宜上特定のプログラム名を使用するが、本発明はこのような名前で識別される及び／又は暗示される特定のアプリケーションに使用するものにのみ限定されない点に注意されたい。更に、コンピュータプログラムをルーチン、プロシージャ、方法、モジュール、オブジェクト等に編成することができる多数の態様並びにプログラム機能を典型的なコンピュータに常駐する種々のソフトウエア層（例えばオペレーティングシステム、ライブラリ、ＡＰＩ、アプリケーション、アプレット等）に割り付けることができる種々の態様が考えられるので、本発明はここに記載するプログラム機能の特定のプログラム編成及び割付に限定されない点に注意されたい。
【００４４】
本発明は図１及び２に示す代表的な環境に限定されないことは当業者に認識される。更に、本発明の範囲を逸脱することなく他のハードウエア及び／又はソフトウエア環境を使用しうることも当業者に認識される。
【００４５】
上述したように、本発明によるダイナミック電力消費制御は、慣例の電力消費制御技術より大きな利点を提供する２つのコンセプトの何れか一方又は両方を含むものとし得る。第１のコンセプトはプロセッサ又はプロセッシングコアにより使用されるレジスタファイルの電力消費制御を実行するために一意に適用する。第２のコンセプトはもっと一般的に集積回路の電力消費を制御するソフトウエア制御方法に適用する。これらの各コンセプトのよりよい理解のために、両コンセプトを含む模範的な実施例を図３−６と関連して以下に記載する。しかし、以下に記載する２つのコンセプトは他の実施例では個別に独立に使用することができるので、本発明は以下に記載する特定の実施例に限定されない。
【００４６】
図３−６は、特にTriMedia-compatibleメディアプロセッサに使用されているレジスタファイルの電力消費のソフトウエアベース制御を示す。例えば、多くのプログラマブルアーキテクチャ（例えばＶＬＩＷ，ＥＰＩＣ及びスーパースカラ）では、レジスタファイルは総電力消費に大きく寄与する。あるアプリケーションでは、レジスタファイルはプロセッシングコアにより消費される電力の２０％にのぼることが確かめられている。特にメディアプロセッサでは、レジスタファイルは多くの場合比較的大きく、多数のポート及びレジスタを含む。例えば、あるTriMedia-compatibleプロセッサは１２８のレジスタと２０の個別のポートを有するレジスタファイルを使用する。レジスタファイル設計は配線支配であり、スケール拡大にともない電力消費が増大する。従って、レジスタファイルの電力消費の低減は多くの場合メディアプロセッサのエネルギー消費の大きな節約をもたらす。
【００４７】
任意のプログラマブルアーキテクチャにおけるレジスタファイルのサイズは、通常レジスタファイルに格納される最多数のアクティブ変数を要求するアプリケーションにより決まる場合が多い。しかし、少数のアクティブ変数を有する他のアプリケーションの実行中も、レジスタファイル内の多くのレジスタが使用されないままとなる。また、特定のアプリケーションでは、レジスタファイルの使用がアプリケーションの種々のポイントで大きく変化し得る。一例としては、TriMedia-compatibleプロセッサはＡＣ３デコーディング中にレジスタ利用が比較的高いピークを示す、典型的なアプリケーションにおける他の演算の実行中は平均レジスタ利用率は多くの場合比較的低い。従って、総電力消費を低減するためには、実行中のアプリケーションの現在の要求に応じてレジスタファイルの不使用部分をディセーブルするのが極めて望ましい。
【００４８】
特に図３に示すように、レジスタフィルを部分的に選択的にディセーブルする一つの方法は、レジスタファイルをアドレス空間に沿っていくつかのバンク７０に区分し、次いでこれらのバンクを、例えば電力制御回路６２（図２）からこれらのバンクに供給されるエネーブル信号６６に応答して、条件付でエネーブル又はディセーブルすることによって達成される。
【００４９】
各バンク７０は複数のレジスタを含み、レジスタファイルで表されるレジスタ空間は複数のレジスタセットに区分される。例えば、１２８のレジスタを含むレジスタファイルに対しては、レジスタ空間を各１６レジスタの８バンクに区分するのが望ましい。レジスの他の区分方法を使用してもよいが、一例としては、最上位アドレス入力をバンク選択信号として使用し、最下位アドレス入力を選択されたバンクから特定のレジスタを選択するのに使用するのが望ましい。例えば、レジスタファイルが各１６レジスタの８バンクに区分されている場合、８つのアドレス入力を使用することができ、３つの上位入力をバンク選択信号として使用し、４つの下位入力をレジスタ選択信号として使用することができる。
【００５０】
従来よく知られているように、レジスタファイル６０はクロック入力７４、アドレス入力７６及びデータ入力７８のような種々の入力に加えて、出力選択ロジック７２も含んでいる。更に、レジスタファイル６０はデータをデータ出力ライン８０に出力する。レジスタファイルによりサポートされる入力／出力ポートの数とレジスタの数及び各レジスタの幅に依存して、種々のアドレス入力、データ入力及びデータ出力信号をレジスタファイルに供給することができる。更に、入力選択ロジック（図示せず）も用いて多数の機能ユニットによる多数のレジスタの同時アクセスをサポートすることもできる。
【００５１】
レジスタバンクを選択的にディセーブルするために、クロック、アドレス入力及びデータ入力は各バンクに配置されたエネーブル回路８２を経て各バンクに供給される。更に、関連するレジスタバンクに対するクロック、アドレス入力及びデータ入力を選択的にゲートオフする又はガードするために電力制御回路からのエネーブル信号６６が各エネーブル回路８２に付加的に供給される。
【００５２】
各バンク内のエネーブル回路８２は本発明によれば多くの方法で実現することができる。例えば、エネーブル回路を実現する一つの方法はレジスタバンクへの各クロック、アドレス入力及びデータ入力にそれぞれ結合され当該レジスタバンクのためのエネーブル信号６６によりゲートされるトランジスタの列を用いるものである。
【００５３】
かなり高いワイヤキャパシタンスがＣＭＯＳラッチ又はフリップフロップ（合成）レジスタの実装と関連するのために各バンクへのクロック入力だけでなくアドレス入力及びデータ入力もゲートオフすることによって比較的大きなエネルギー節約が一般に得られる。その理由は、このゲートオフはレジスタファイルバンク内に使用されている比較的長いワイヤへのスイッチング活動を一般に禁止するからである。しかし、実装によっては、追加のゲートロジックは追加の遅延を導入するので、性能を少し抑制するおそれがあるが、本発明は種々のレジスタ実装を用いて実現されたレジスタファイルと関連して使用することができる点に注意されたい。
【００５４】
レジスタファイル６０のソフトウエアベース電力消費制御を実現するために、電力制御命令はＣＰＵ１４の命令セットアーキテクチャでサポートされるものとする。電力制御命令に対する一つの模範的フォーマットを図4に９０で示す。図に示すように、電力制御命令９０は、命令を電力制御命令（PWR_CONTROL）
として識別するオペコード９２、レジスタファイル６０の種々のバンクに対する電力モードをセットするために使用する電力制御情報を指定するオペランド９４を含む。オペランド９４は、例えば、ビットマスクを含む即値オペランドとして実現することができ、このビットマスクはレジスタファイル内の各レジスタバンクに割り当てられたエネーブル／ディセーブルビット９６を含むものとする。従って、例えば、レジスタファイル内の８つのバンクに対して、８ビットの即値オペランドが命令９０内にサポートされる。
【００５５】
もっと一般的のレベルでは、オペランド９４のサイズは次式で指定することができる。
【数１】
2006509290.tif 000003
ここで、ｊは制御すべきハードウエアリソース（ここではレジスタバンク）の数及びModes(i)はハードウエアリソースｉの電力モードの数である。
【００５６】
他の命令フォーマットを使用することもできる。例えば、図４に示すように、電力モード状態情報を格納するレジスタを指定するオプションのソースレジスタオペランド９７をサポートするようにしてもよい。このようにすると、電力モード状態情報を電力制御命令に直接格納し即値演算を実行させる代わりに、電力モード状態情報を別個のレジスタに保持し、レジスタ操作を用いて所望の電力モード状態情報を取り出すことができる。他のアドレスモードをサポートすることもできる。
【００５７】
更に図４に示すように、電力制御命令により指定された電力モード状態情報を使用する前に満足すべき条件を指定するのに使用しうるガードオペランド９８をサポートするようにしてもよい。実際には任意の既知の条件を本発明に従って使用することができる。
【００５８】
図２に戻り説明すると、図示の実施例では、電力制御命令はＣＰＵ１４により処理され、電力モードレジスタ６４を該電力制御命令内に指定されている電力制御情報で更新する。このため、電力モードレジスタ６４は、電力制御命令が電力モードレジスタへの即値書込みとして簡単に処理されるように、電力制御命令のための即値オペランドに対して同一マッピングを有するものとするのが望ましい。
【００５９】
また、上述したように、場合によっては、ＰＣＳＷレジスタのような既存のレジスタを電力モード状態情報を格納するのに利用することもできる。このような場合には、電力制御命令は別個のオペコードを必要としない。その代わりに、適切なレジスタへの書込みに使用される既存のオペコードを、電力モード状態情報の格納と関連して使用されるビットを更新するオペランドと一緒に使用することができる。
【００６０】
本発明では電力制御命令を実行可能なプログラムコードに種々の方法で組み込むことができる。例えば、電力制御命令は開発時にプログラマがソースコードに付加することができる。或いは又、コンパイラ、オプティマイザ、リンカ等によって開発中のプログラムのシミュレーション又は静的解析を実行して電力制御命令を挿入する適切な位置を予測リソース利用率に基づいて決定することもできる。
【００６１】
更に、プログラムのプロファイリング、静的解析又はシミュレーションを用いて、プログラムの所定のセクションにおいてどのハードウエアリソースを使用すべきか、どのリソースをディセーブルすべきかを決定することができる。例えば、プログラムの所定のセクションでは１０個のレジスタを必要とするのみでありどの１０個のレジスタを使用するかはプログラム動作に重要でない場合には、コンパイラは限られた数のレジスタバンクのみからレジスタを使用し、不使用のレジスタバンクをディセーブルするように適切な電力制御命令をプログラムコードに挿入するのが望ましい。更に、これらの１０個のレジスタが最初にいくつかのレジスタバンクに分散される場合には、これらのレジスタをリマップして少数のレジスタバンクに集中させるのが望ましい。
【００６２】
図５は、例えば、コンピュータプログラムのコンパイレーション及びオプティマイゼーション（最適化）中にコンピュータプログラムのセクションを最適電力消費のために最適化すべく実行し得る電力消費最適化ルーチン１００を示す。プログラムの特定のセクション毎に、ルーチン１００は最初に、ブロック１０２において当該セクションを解析して当該セクションのプログラムコードが使用するリソースを決定する。次に、ブロック１０４がオプションで実行され、リソースのリマップを試みて使用するリソースをハードウエアリソースの限定セットに集める（例えばレジスタを限られた数のレジスタバンクに制限する）。次に、ブロック１０６が不使用リソースをディセーブルするように適切な電力制御命令を生成しプログラムコードに挿入する。次いで当該セクションの処理は完了する。
【００６３】
ルーチン１００又はこれに類似のルーチンはランタイム中、例えば翻訳中又はジュストインタイムコンパイレーションと関連して、使用することもできる。更に、ルーチン１００は、例えばスーパースカラアーキテクチャにおいて、ランタイム中にパラレル及び／又はアウトオブオーダオペレーションに対してスケージュールされた命令の生成と関連して使用することができる点を認識されたい。このような実施では、コンパイラ及びランタイムハードウエアは、例えば電力制御命令にランタイム推測を制限する副作用を割り当てることにより、電力制御命令のリオーダリングを制限して他の推測命令への影響を最小にする。更に他の実施例では、オペレーティングシステムは、ＣＰＵ／プロセッサに計算がフルにロードされていなければ、電力制御命令をスケージューリング／発行することができる。
【００６４】
或いは又、ルーチン１００はＶＬＩＷ又はＥＰＩＣコードのようなパラレル命令セットアーキテクチャと明示的に関連して使用することもでき、この場合にはパラレル命令の検出はコンパイレーション中に行う。このような実施では、電力制御命令の挿入は多数のオペレーションを具える大きなＶＬＩＷ又はＥＰＩＣ命令内への電力制御オペレーションの挿入を含むものとみなすことができる。
【００６５】
コンパイル中又はランタイム中に電力制御命令が埋め込まれたプログラムコードは使用するハードウエアリソースの変更が望れる時点にのみプログラムコード内に散在されたプログラム制御命令を含むのが好ましい。また、多くの場合、シングル電力制御命令の場合に対しては多数のハードウエアリソースのエネーブル／ディセーブルステータスを制御可能にするのが望ましい。従って、本発明によれば電力制御命令と関連する追加の処理オーバヘッドが通常最小になり、従ってプログラムコードへの追加の命令の挿入による不利な性能影響が最小になる。
【００６６】
図６は、例えばTriMedia-compatibleメディアプロセッサと関連して使用されるような、例えば上述した方法でコンパイルされたプログラムの模範的部分の実行を概略的に示すものである。本例では、１１０，１１２，１１４，１１６及び１１８で示す５つのイシュースロットがあるものとし、各サイクル（サイクル０−４）中に各イシュースロットで実行される命令が各サイクルのそれぞれのイシュースロットに示されている。更に、レジスタファイルは８つのバンクに区分された１２８のレジスタ（r0−r127として示されている）を含み、電力制御命令は即値オペランドを使用し、選択されたバンクと関連するオペランドビットマスク位置に２進値「１」が入っているときに選択されたバンクがエネーブルされるものとする。本例では、電力制御命令の呼び出し時間は１サイクルであるが、電力制御命令の呼び出し時間は実施によっては１サイクルより大きくしてもよい点に注意されたい。
【００６７】
更に、サイクル０中、ＣＰＵで処理されている命令の１つ（ここではスロット１１２内）は電力制御命令であり、0x1b（２進値00011011）の即値オペランドを有し、レジスタファイルのバンク１，２，４及び５（即ち、レジスタr0-r31及びr48-r79）をエネーブルするものとする。この命令の実行の結果として、電力制御モードレジスタ６４（図２）が更新されて01xb（２進値00011011）を格納する。その結果、後続のサイクル中、レジスタバンク３，６，７及び８がディセーブルされる。しかし、サイクル０における電力制御命令の実行中は、すべてのレジスタバンクは他の命令によるアクセスに使用可能である（すべてのバンクが既にエネーブルされているものとする）点に注意されたい。
【００６８】
サイクル１及び２中、他の電力制御命令に出合わない。その結果として、レジスタバンク３，６，７及び８はディセーブルされたままであり、すべての命令はバンク１，２，４及び５（r0-r31及びr48-r79）のレジスタへのアクセスに限定される。
【００６９】
サイクル３中、電力モードレジスタ６４内に格納された電力モード状態情報がレジスタバンク３，６，７及び８をディセーブル状態に維持し続けている。しかし、このサイクル中に実行される命令の1つ（イシュースロット１１８に発行される）は電力制御命令で、0xff（２進値11111111）の即値オペランドを有し、サイクル４で実行される命令に対して全8個のレジスタバンクをエネーブルする。
【００７０】
上述したダイナミック電力消費制御技術は慣例の設計のものに対して多数の利点を提供する。命令を特定の機能ユニットに送る必要がある、又はエネーブル／ディセーブルコマンドをすべての命令に付加し常にデコードする必要がある慣例の設計に比べて、最小の処理オーバヘッドで多種多様のハードウエアリソースを制御する点で大きなフレキシビリティが与えられる。
【００７１】
更に、上述した技術は種々の電力消費関連問題に対処するために性能と電力消費を種々の有用な方法で適切にバランスさせるフレキシビリティを与える。例えば、上述の技術を用いて、プロセッサ性能を、例えばレジスタ又は機能ユニットを付加するが追加のリソースを不使用にするコードで電力消費を増大させないことによって高めることができる。また、性能が重要でないアプリケーションに対しては、例えば限定されたリソースに対するオペレーションを他のリソースをディセーブルしている間に予定することによって、電力制御命令を用いて低電力消費のために性能を犠牲にすることもできる。
【００７２】
ソフトウエアベース電力消費制御に対して、本発明の他の実施例では、他の命令フォーマット、他のコンパイレーション、最適化及び／又はスケジューリングルーチン及び他のプロセッサアーキテクチャを使用することができる。また、ここに記載したバンク区分レジスタファイル設計と関連して上述したリソースディセーブル回路と異なるリソースディセーブル回路を本発明によるソフトウエアベース電力消費制御と関連して使用することもできる。
【００７３】
更に、ここに記載したバンク区分レジスタファイル設計に対して、ここに記載したソフトウエアベース制御機構と異なる制御機構を本発明と関連して使用することができる点にも注意されたい。例えば、ハードウエアベース制御機構は所定のハードウエアリソースをリード／ライトアドレスのダイナミックデコーディングに基づいてダイナミックにエネーブルするのに使用することができる。例えば、図7は他のレジスタファイル設計１２０を示し、このレジスタファイルは複数のレジスタバンク１２２を含み、各バンクは図３のレジスタファイル６０と同様にレジスタファイルに供給されるクロック入力１２６、データイン入力１２８及びアドレス入力１３０を選択的にゲートオフするゲートロジックを１２４を含む。しかし、ソフトウエアベース制御回路からエネーブル信号を供給するのではなく、レジスタファイル１２０は種々の不使用レジスタバンクを選択的にディセーブルする個々のバンクエネーブル信号１３６をダイナミックに発生するアドレスデコーダ１３４を含むハードウエアベースエネーブルロジック回路１３２を含んでいる。
【００７４】
アドレスデコーダ１３４は、例えば、バンク内のどのレジスタも現在アクセスされていない任意のサイクル中にこのようなレジスタバンクを選択的にディセーブルすることができる。特に多数の入力ポートをサポートするレジスタファイルに対しては、どのレジスタが所定のサイクル中にアクセスされているか決定することは容易であり、従ってコンパイラ及び／又は特定のプロセッサ設計により使用される命令セットアーキテクチャを変更することなくレジスタファイルの電力消費を選択的に低減する能力を付与することができる。
【００７５】
本明細書の記載の助けを借りれば種々の追加の変更が当業者に可能である。従って、本発明の要旨は添付の特許請求の範囲にある。
【図面の簡単な説明】
【００７６】
【図１】本発明によるダイナミック電力消費制御回路を内蔵するメディアプロセッサのブロック図である。
【図２】本発明によるダイナミック電力制御消費制御回路を含む、図1に示すＣＰＵのブロック図である。
【図３】レジスタバンクを選択的にディセーブルするエネーブルロジックを内蔵する、図２に示すレジスタファイルのブロック図である。
【図４】図1のメディアプロセッサの電力消費を制御するのに公的な電力制御命令の模範的な命令フォーマットのブロック図である。
【図５】本発明による電力消費最適化ルーチンのプログラムフローを示すフローチャートである。
【図６】図１のメディアプロセッサによる模範的プログラムの処理を示すブロック図である。
【図７】図２に示す方法と異なるレジスタファイルの電力消費制御方法のブロック図である。
【図１】
2006509290.tif 000004
【図２】
2006509290.tif 000005
【図３】
2006509290.tif 000006
【図４】
2006509290.tif 000007
【図５】
2006509290.tif 000008
【図６】
2006509290.tif 000009
【図７】
2006509290.tif 000010
【国際調査報告】
2006509290.tif 000011
2006509290.tif 000012
2006509290.tif 000013