(57)【要約】【課題】マイクロプロセッサの発熱と電力消費の少なくとも一方を削減する。【解決手段】少なくとも２つの機能ユニット１０８、１１０、１１２、１１４を有するスーパースカラマイクロプロセッサで電力消費と発熱の少なくとも一方を低減させる方法で、マシンコード命令を解読し、マシンコード命令を実行するために機能ユニットのうちのどれが必要であるかを決定し、必要な機能ユニットに対する順不同の実行のため、マシンコード命令のスケジュールを定め、必要な機能ユニットがマシンコード命令を実行することを要求される前に、解読と順不同のマシンコード命令のスケジュール決定の段階に応じて必要な機能ユニットをオンし、必要な機能ユニットがマシンコード命令を受け、その実行を完了できる時間の間、必要な機能ユニットをオンし続け、必要な機能ユニットがマシンコード命令の実行を完了したあと、必要な機能ユニットをオフする。【選択図】　　　図１
2004054943.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つの機能ユニットを有するスーパースカラマイクロプロセッサで電力消費と発熱の少なくとも一方を低減させる方法であって、マシンコード命令を解読し、前記マシンコード命令を実行するために前記機能ユニットのうちのどれが必要であるかを決定する段階と、
前記必要な機能ユニットに対する順不同の実行のため、前記マシンコード命令のスケジュールを定める段階と、
前記必要な機能ユニットが前記マシンコード命令を実行することを要求される前に、前記解読と前記順不同の前記マシンコード命令のスケジュール決定の段階に応じて前記必要な機能ユニットをオンする段階と、
前記必要な機能ユニットが前記マシンコード命令を受け、その実行を完了できる時間の間、前記必要な機能ユニットをオンし続ける段階と、
前記必要な機能ユニットが前記マシンコード命令の実行を完了したあと、前記必要な機能ユニットをオフする段階と
を含むことを特徴とする方法。
【請求項２】
前記オンする段階が、前記必要な機能ユニット内で状態変化を可能とするように前記必要な機能ユニットにクロックを供給する段階を含み、前記オンし続ける段階が、前記必要な機能ユニットにクロックを供給し続ける段階を含み、
前記オフする段階が、前記必要な機能ユニットのクロックを止める段階を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記オンする段階が、前記必要な機能ユニットへの入力に対して変化を可能とする段階を含み、
前記オンし続ける段階が前記必要な機能ユニットへの入力に対して変化を可能とし続ける段階を含み、
前記オフする段階が前記必要な機能ユニットへの入力に対して変化を不可能とする段階を含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記オンする段階が、前記必要な機能ユニットの作動を可能とするために、前記必要な機能ユニットへ電力を供給する段階を含み、
前記オンし続ける段階が、前記必要な機能ユニットへ電力を供給し続ける段階を含み、
前記オフする段階が、前記必要な機能ユニットへの電力の供給をやめる段階を含むことを特徴とする請求項１に記載の方法。
【請求項５】
少なくとも２つの機能ユニットを有するスーパースカラマイクロプロセッサにおける電力消費と発熱の少なくとも一方を低減させる方法であって、
順不同の実行のためマシンコード命令を発する段階と、
前記順不同に前記マシンコード命令を発する段階に応じて、前記マシンコード命令の実行のために、どの機能ユニットが必要であるかを示す監視情報を提供する段階と、
前記監視情報に応じて、前記マシンコード命令を実行するためにどの機能ユニットが必要であるかを決定する段階と、
前記決定する段階に応じて、前記必要な機能ユニットが前記マシンコード命令を実行するよう要求される前に、前記必要な機能ユニットをオンする段階と、
前記必要な機能ユニットが前記マシンコード命令を受け、その実行を完了できる時間の間、前記必要な機能ユニットをオンし続ける段階と、
前記必要な機能ユニットが前記マシンコード命令の実行を完了したあと、前記必要な機能ユニットをオフする段階と
を含むことを特徴とする方法。
【請求項６】
前記オンする段階が、前記必要な機能ユニット内で状態変化を可能とするように前記必要な機能ユニットにクロックを供給する段階を含み、前記オンし続ける段階が、前記必要な機能ユニットにクロックを供給し続ける段階を含み、
前記オフする段階が、前記必要な機能ユニットのクロックを止める段階を含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記オンする段階が、前記必要な機能ユニットへの入力に対して変化を可能とする段階を含み、
前記オフする段階が、前記必要な機能ユニットへの入力に対して変化を不可能とする段階を含むことを特徴とする請求項５に記載の方法。
【請求項８】
前記オンする段階が、前記必要な機能ユニットの作動を可能とするために、前記必要な機能ユニットへ電力を供給する段階を含み、
前記オンし続ける段階が、前記必要な機能ユニットへ電力を供給し続ける段階を含み、
前記オフする段階が、前記必要な機能ユニットへの電力の供給をやめる段階を含むことを特徴とする請求項５に記載の方法。
【請求項９】
少なくとも２つの機能ユニットを有するスーパースカラマイクロプロセッサで電力消費と発熱の少なくとも一方を低減させる方法であって、マイクロプロセッサが、マシンコード命令のストリームの順不同の実行を行うように構成され、前記方法が、
マシンコード命令を生成するため、前記ストリームからマシンコード命令を解読する段階と、
前記解読された命令を順不同に実行する段階と、
前記解読段階に応じて、機能ユニットのうちのどれが前記解読された命令の前記順不同の実行のために必要であるかを決定する段階と、
前記実行する段階に応じて、前記解読された命令の前記順不同の実行のために前記必要な機能ユニットがいつ必要とされるかを監視する段階と、
前記決定する段階と、前記監視する段階とに応じて、前記解読された命令の前記順不同の実行のために前記必要な機能ユニットにクロックを供給する段階と、
前記必要な機能ユニットが、前記解読された命令の実行を完了するまでは、前記必要な機能ユニットの前記クロックを供給し続ける段階と、
前記必要な機能ユニットが、前記解読された命令の実行を完了したあとは前記必要な機能ユニットの前記クロックを止める段階と
を含むことを特徴とする方法。
【請求項１０】
前記実行する段階が、順不同の実行のために前記解読された命令のスケジュールを定める段階を含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記スケジュールを定める段階が、前記監視段階へ命令を発する情報を与えることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記スケジュールを定める段階が前記監視段階へデータ従属性情報を与えることを特徴とする請求項１０に記載の方法。
【請求項１３】
前記実行する段階が、前記監視段階へ、近く予定されている命令実行の指示を与えることを特徴とする請求項９に記載の方法。
【請求項１４】
前記実行する段階が、前記監視段階へ、命令待ち時間の指示を与えることを特徴とする請求項９に記載の方法。
【発明の詳細な説明】
【０００１】
【関連出願の引照】
下記の出願は同一承継人の出願に係る、同時係属中の出願特許である。
＊　「スーパースカラＲＩＳＣ命令スケジューリング」、出願番号０７／８６０，７１９号（代理人整理番号ＳＰ０３５）
＊　「ハードウェア・エミュレーション・アクセレレータ及び方法」、出願番号０７／８３１，　２７２号（代理人整理番号ＳＰ０４６）
上記出願特許の開示は参考文献として本出願に組み込まれているものとする。
【０００２】
【産業上の利用分野】
本発明は一般に単一のマイクロエレクトロニック装置による発熱及び電力消費の少なくとも一方を削減させるシステム及び方法に関するものであり、特に、斯かるマイクロエレクトロニック装置による電力消費の動的な制御及び、その結果として斯かるマイクロエレクトロニック装置に必要とされる発熱処理に関するものである。
【０００３】
【関連技術】
マイクロエレクトロニック装置（半導体デバイス、半導体チップ、または集積回路とも呼ばれる）の発熱処理はその設計、製造、及び使用上重要な問題である。これは典型的には百万個以上のトランジスタ（アクティブとパッシブ）が一つの半導体ダイに集積された超集積回路（ＶＬＳＩ）および超超集積回路（ＵＬＳＩ）デバイスに於いて殊に重要な問題である。アクティブなデバイスは必要なシステムの機能性と実行速度を可能とするために通常非常な高速で作動する（クロックで駆動され）（２５ＭＨｚと３３ＭＨｚは今や普通で、例えば２５０ＭＨｚ以上の非常な高速も考えられている）ものである。どのような製造技術が利用されたかという点とは無関係に、周知の如く、高クロックレートおよび多数のアクティブ・デバイスにより、マイクロエレクトロニック装置のダイの実際の寸法に比し、大きな発熱の問題が生じるのである。
【０００４】
例えば、百万個のアクティブ・デバイスを含む代表的なダイは１５ｍｍ角のダイで作成され、１３２以上のピンアウトを必要とする。斯かるマイクロエレクトロニック装置は１マイクロン（ａｅｍ）ＣＭＯＳ技術では３０ＭＨｚのシステムクロック速度で作動し得るものである。ダイは適切なハウジングまたはパッケージに恒久的に収められてなくてはならないが、斯かるハウジングまたはパッケージは、ピンアウト、環境保護、物理的な保護の他に、デバイスの故障の防止のために十分な発熱処理能力を持つものでなければならない。
【０００５】
通常の動作に於いて上記のマイクロエレクトロニック装置一個当たり、５乃至１０ワットの処理を要する発熱が生じることは希でない。その結果、熱のシンクの措置なしには、斯かるマイクロエレクトロニック装置のダイの接合温度はセラミックパッケージで、そして商業用環境温度許容範囲の上限近くである摂氏７０度では、摂氏１００度に達することがある。更に、紀元２０００年までに出現が予想される、一個のダイ当たり１億個のアクティブデバイスを含む、更に強力な、新しい世代のマイクロエレクトロニック装置の発熱処理要求に比べれば５乃至１０ワットの発熱量はものの数にもならないのである。将来のダイの寸法は２５ｍｍ角になるであろうと予想される。
【０００６】
多量の発熱に対処するためのパッケージ作成の方策が開発されてきた。全ての方策に於いて、マイクロエレクトロニック装置を物理的な故障及び性能の劣化から保護するために、不要な熱を迅速に引き出すためのヒートシンクまたは熱グリース措置が取られている。通常のヒートシンク以外に、空気などのガス、あるいは水、フレオン、または更に効率の良い冷却剤などの液体が使用されるが、ヒートシンク手法は物理的なサイズの増大、コストの増加、機械的複雑さの増加、及びパッケージとしてのマイクロエレクトロニック装置の重量の増加をうながす。更に、発熱処理（すなわち熱応力）の必要上、パッケージ当たりのダイの寸法に自ずから上限が生ずるのである。
【０００７】
発熱処理要求の代表的なものは５０ＭＨｚのクロック速度で動作する通常のマイクロプロセッサで、それは通常の動作で５ワットの発熱を生じる。この発熱処理のために特別なヒートシンクが設置されている。エレクトロニックス上の絶えざる動向は、より小さく、より軽量なコンピュータ製品の製造を目指してのマイクロエレクトロニック装置のサイズ削減である。この微小化の傾向は更に進み、毎年劇的なサイズの削減が起こるのである。
【０００８】
【発明が解決しようとする課題】
発熱処理の要請はしかし乍らエレクトロニック及びコンピュータ装置の微小化の過程に於いて障害となる。換言すれば、マイクロエレクトロニック装置からの発熱を取り除かなければならない物理学上の要請により、達成し得るエレクトロニック及びコンピュータ装置のサイズ及び重量をどこ迄削減し得るか、について自ずから限度が生ずるのである。そして、これはマイクロエレクトロニック装置の寿命にも関連する問題である。例えば、ソリドステート・レーザーの寿命がＬＥＤの寿命より短いのは、小面積に於ける熱の密度が原因である。
【０００９】
エレクトロニックスでの更なる顕著な動向は、エレクトロニック及びコンピュータ装置に於ける機能及び特性の増加と、それに伴う応答時間の短縮である。これは更に複雑で強力なマイクロエレクトロニック装置の使用により達成されるもので、ダイ一個当たりのアクティブ・デバイスの集積度の向上の結果である。併し、ダイ上に更に多数のアクティブ・デバイスを形成するには、発熱処理の必要の増加が伴ない、従って、達成し得るマイクロエレクトロニック装置パッケージのサイズ削減に自ずから限度が生じる。例えば、ＤＥＣのアルファＣＭＯＳチップでは、電源電圧を低下させても２００ＭＨｚで３０ワットもの発熱があるという。
【００１０】
その計算能力、機能、および特性に比し、マイクロエレクトロニック装置の物理的サイズの劇的な削減は、ラップトップ、ノートブック、パームトップ等と呼ばれる非常に小型のパソコンを生むに至った。これは、現行の、強力な機能と特性を持つコンピュータのサイズ縮小の典型的な例である。
【００１１】
３８６ＳＸマイクロプロセッサ内蔵の、代表的携帯用コンピュータの寸法は３０センチ×４０センチで、その重量は６．７キロであり、そのうち４５０グラムは充電可能な電池の重量である。今日の代表的な、３８６ＳＸＬ型マイクロプロセッサ内蔵ラップトップ・コンピュータの寸法は２０×２７×５センチで、その重量は２乃至３キロである。このうち約２００グラムが充電可能な電池の重量である。
【００１２】
斯かるノートブックコンピュータ（及びラップトップあるいはパームトップコンピュータ）の重要な制約事項の一つはその機械の駆動に必要な電池である。電池は使用者の要求を満たすためにコンピュータを長時間に渡って駆動するのに十分な電力を供給するものでなければならない。現在のノートブックコンピュータの代表的な駆動範囲は一回の充電ごとに３乃至４時間である。重量とサイズの点で、電池はコンピュータ・システムの最大の部品の一つである。使用者にとって、必要なコンピュータ操作が十分な時間行なえるように電池の電力容量が十分に大きいものであることは極めて重要である。併し、この操作性の必要から、コンピュータ・システム全体のサイズが増加するのである。
【００１３】
その理由は、これらの要請を満たすために電池の物理的サイズを拡大させる必要があるからである。故に、所定のサイズと重量当たり更に効率の良い電池を開発するために多大な研究開発の努力が為されている。その目的は、所定のサイズとスペース当たりより多くの電力とより長時間の操作を可能ならしめるために、充電容量の面に於いて電池技術の向上を図ることである。その結果、電池を使用するコンピュータ・システムのサイズの削減につながるものである。
【００１４】
電池のサイズ削減以外に、電力消費の点でコンピュータ・システムの性能を向上させる努力が多々為されている。インテル社によって使用された従来の手法の一つは、使用されていない周辺チップの電源を止めることである。これはインテル８０３８６チップセットで行なわれている手法である。周辺チップは非常に電力を消耗するものである故に、使用されていない周辺チップの電源を止めることによって電池の寿命が著しく向上するのである。ＡＭＤのＡＭ３８６ＤＸＬマイクロプロセッサで実施されている更なる手法では、省電のためにクロック速度を下げることである（例えば４０−０ＭＨｚより）。
【００１５】
上記に説明された如く、マイクロエレクトロニック装置の発熱及び電力消費量の格段なる向上が必要とされている。そしてこれはマイクロエレクトロニック装置がコンピュータ・システムで使用される時に、パッケージのサイズ及び複雑性を削減し、マイクロエレクトロニック装置を電子的に駆動させる目的で電池が使用される場合、システムの操作時間を増加するために特に切実な問題である。
【００１６】
【課題を解決するための手段】
そのために本発明は、少なくとも２つの機能ユニットを有するスーパースカラマイクロプロセッサで電力消費と発熱の少なくとも一方を低減させる方法であって、
マシンコード命令を解読し、前記マシンコード命令を実行するために前記機能ユニットのうちのどれが必要であるかを決定する段階と、
前記必要な機能ユニットに対する順不同の実行のため、前記マシンコード命令のスケジュールを定める段階と、
前記必要な機能ユニットが前記マシンコード命令を実行することを要求される前に、前記解読と前記順不同の前記マシンコード命令のスケジュール決定の段階に応じて前記必要な機能ユニットをオンする段階と、
前記必要な機能ユニットが前記マシンコード命令を受け、その実行を完了できる時間の間、前記必要な機能ユニットをオンし続ける段階と、
前記必要な機能ユニットが前記マシンコード命令の実行を完了したあと、前記必要な機能ユニットをオフする段階と
を含むことを特徴とする。
【００１７】
また、本発明は、少なくとも２つの機能ユニットを有するスーパースカラマイクロプロセッサにおける電力消費と発熱の少なくとも一方を低減させる方法であって、
順不同の実行のためマシンコード命令を発する段階と、
前記順不同に前記マシンコード命令を発する段階に応じて、前記マシンコード命令の実行のために、どの機能ユニットが必要であるかを示す監視情報を提供する段階と、
前記監視情報に応じて、前記マシンコード命令を実行するためにどの機能ユニットが必要であるかを決定する段階と、
前記決定する段階に応じて、前記必要な機能ユニットが前記マシンコード命令を実行するよう要求される前に、前記必要な機能ユニットをオンする段階と、
前記必要な機能ユニットが前記マシンコード命令を受け、その実行を完了できる時間の間、前記必要な機能ユニットをオンし続ける段階と、
前記必要な機能ユニットが前記マシンコード命令の実行を完了したあと、前記必要な機能ユニットをオフする段階と
を含むことを特徴とする。
【００１８】
また、本発明は、少なくとも２つの機能ユニットを有するスーパースカラマイクロプロセッサで電力消費と発熱の少なくとも一方を低減させる方法であって、マイクロプロセッサが、マシンコード命令のストリームの順不同の実行を行うように構成され、前記方法が、
マシンコード命令を生成するため、前記ストリームからマシンコード命令を解読する段階と、
前記解読された命令を順不同に実行する段階と、
前記解読段階に応じて、機能ユニットのうちのどれが前記解読された命令の前記順不同の実行のために必要であるかを決定する段階と、
前記実行する段階に応じて、前記解読された命令の前記順不同の実行のために前記必要な機能ユニットがいつ必要とされるかを監視する段階と、
前記決定する段階と、前記監視する段階とに応じて、前記解読された命令の前記順不同の実行のために前記必要な機能ユニットにクロックを供給する段階と、
前記必要な機能ユニットが、前記解読された命令の実行を完了するまでは、前記必要な機能ユニットの前記クロックを供給し続ける段階と、
前記必要な機能ユニットが、前記解読された命令の実行を完了したあとは前記必要な機能ユニットの前記クロックを止める段階と
を含むことを特徴とする。
【００１９】
【発明の要約】
本発明に関わるマイクロエレクトロニック装置は二個以上の機能ユニットで構成され、それらの機能ユニットは全て一個のチップ、すなわちダイ上に形成されている。本発明はマイクロエレクトロニック装置を制御するコンピュータ・プログラムの実行に於いて、全ての機能ユニットが同時に動作することはなく、またそれらが同時に動作する必要もない、という着想に基づいているものである。
【００２０】
従って、本発明は、実行中のプログラムの要請に従って、非常に高速に（通常クロックサイクルの半分で）各機能ユニットをつけたり消したりさせるものである。本発明の作用により、従来の全ての機能ユニットを常時オンにして置く手法に比較し、マイクロエレクトロニック装置の電力消費量が著しく改善され、それに応じて発熱量も低下するのである。
【００２１】
コンピュータ・プログラムの実行中全ての機能ユニットを常時オンにして置く従来の標準的手法に比較し、本発明の、本明細書で説明される代表的実施例では電力消費量と発熱量が３０％削減されるのである。マイクロエレクトロニック装置のアーキテクチャ及び実行されるコンピュータ・プログラムの種類によって、０％乃至５０％の削減が達成し得るのである。スーパースカラＣＰＵに比して、より多くのブロックがより頻繁に遊休状態にあるため、単一スカラＣＰＵに於ける削減度は低い。
【００２２】
機能ユニットが更に細かいブロックに分割されるならば、そしてスイッチングを行なうために必要な制御論理によるオーバーヘッドの増加が甚大なものではないと仮定するならば、更に多くのパーセントのユニットまたはブロックをオフとすることが可能である。
【００２３】
マイクロエレクトロニック装置の機能ユニットを何時つけたり消したりするか、を判別するために本発明では幾つかの手法が採用されている。一つの手法では、ソースコードをマイクロエレクトロニック装置のオペレーションを制御するマシンコードに翻訳するコンパイラが使用されている。実行中、論理ユニットがマシンコードを評価し（即ち、解読または監視し）、コンパイラから得られた利用度情報に基づき、コンピュータ・プログラムの実行の各ステップに於いて、どの機能ユニットがプログラムの実行のために必要であるか、そして従ってどの機能ユニットがオンあるいはオフされるべきか、を判別するのである。例えば、非グラフィック・オペレーションの実行中はグラフィック・ユニットの駆動は必要でないかも知れないのである。同じく、通常のワークステーションでは浮動小数点ユニット（ＦＰＵ）は実行時間の２０％乃至３０％のみ動作するもので、その遊休期間中はオンである必要はない。キャッシュメモリユニットも本発明に基づく制御でコントロールし得るものである。
【００２４】
機能ユニットを何時つけたり消したりするか、を判別する目的で本発明で、採用されているもう一つの手法は、機能ユニットの実行とオペレーションを評価（監視）するダイ上の論理ユニットを使用して行なわれる手法である。この監視機能は次のオペレーション（送出された命令の実行及び遅延を含む）の指示を生成するもので、そのような指示を使用して本発明のオン／オフオペレーションの制御が可能である。例えば、コンパクトな低コスト、オンチップＦＰＵでは、衝突の可能性の故に、全てのユニットを同時に使用することは不可能である。ＦＡＬＵオペレーションの実行中、乗算器や除算器の動作は許可されない。従って、それらのユニットへ供給される電力を止めても構わないのである。
【００２５】
実行中のコンピュータ・プログラムの要請に応じて、本発明では機能ユニットのオン／オフのためにどのような適切な、事前に選択された時間量でも使用できる。必要ならば最大の発熱量及び電力消費量の少なくとも一方の削減を得るためにオン／オフは１／２クロックサイクルの速度でも構わないが、オン／オフの目的で他のクロックサイクルを使用することも可能である。更に他の方法として、選択された一個のブロックまたは複数のブロックに対して動力線をオン／オフする方法もある。
【００２６】
本発明では機能ユニットをオン／オフするための如何なる電子的手法をも意図するものである。相補型金属酸化膜半導体（ＣＭＯＳ）回路では、好ましい手法は（１）オフにされている機能ユニットヘのクロック信号を停止させるか、（２）オフにされている機能ユニットヘの入力を変化させない、かのどちらかである。どちらの手法でも、機能ユニットをオフにするという、所望の結果が得られる。後に、機能ユニットはそれをオフにした手法の逆の手法を用いることによってオンにできるのである。
【００２７】
本発明は、状態変化が起こらない限り回路によって消費される電力は常に無であるというＣＭＯＳの特性を十分に利用しているが故に、ＣＭＯＳ回路に特に適用性のあるものである。コンピュータ・プログラムの実行中のある時点で使用されていない機能ユニットの状態変化を抑制することにより、本発明は目的とする発熱の減少及び電力消費量の削減の少なくとも一方を達成し得るものである。パワーベースをオン／オフする必要はなく、制御用に占めるチップ面積も最小限で済むものである。
【００２８】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しつつ説明する。本発明はマイクロエレクトロニック装置を制御するコンピュータ・プログラムの実行の必要に応じて機能ユニットをオン／オフできるように、マイクロエレクトロニック装置の各機能ユニットに供給される電力を選択的に制御するシステム及び方法である。実行中のプログラム・ステップの要請に従った、機能ユニットのダイナミックなオン／オフ化により、機能ユニットの消費電力量が大幅に削減（１０％〜３０％）　され、その結果マイクロエレクトロニック装置の発熱量及び電力消費量の少なくとも一方の大幅な削減が達成される。本発明では、マイクロエレクトロニック装置の発熱及び電力消費量の少なくとも一方の大幅な削減をもたらす。従って、非常に望ましい結果として、ヒートシンクの必要性が削減され電池放電サイクルが長くなるのである。更に、パワーバス線の幅も縮小でき、その結果、ＶＬＳＩチップでは面積が大幅に節約される。
【００２９】
図１は本発明に基づいた、代表的なマイクロエレクトロニック装置のフロアープランである。図示される如く、参照番号１００で一般的に示されるマイクロエレクトロニック装置には、例えばシリコンで作成されたダイ１０２が含まれ、それにはダイ１０２上に製造された電子回路のアーキテクチャを構成する種々の機能ユニットが形成されている。図示される如く、代表的実施例中のこれらの機能ユニットには次のものが含まれる：システムクロック１０４、中央処理装置（ＣＰＵ）１０６、キャッシュ制御ユニット（ＣＣＵ）１０８、浮動小数点ユニット（ＦＰＵ）１１０、整数ユニット（ＩＮＴ）１１２、及びメモリ制御ユニット（ＭＣＵ）１１４である。図１に示される機能ユニットはあくまでも説明のためのものである。本発明はマイクロエレクトロニック装置１００のダイ１０２上の機能ユニットの如何なる配置をも考慮の対象とする。例えば、マイクロエレクトロニック装置１００には論理機能ユニットの他にメモリを含むこともできる。本発明は単一の半導体ダイまたは基板で実現される現在のコンピュータ・アーキテクチャも将来のコンピュータ・アーキテクチャをも考慮の対象とする。
【００３０】
図１に示す如く、論理ユニット１１６はマイクロエレクトロニック装置１００の一部である。下記の詳細の説明にあるように、論理ユニット１１６はシステムクロック１０４と共に動作し、本発明の一実施例に従った機能ユニットへのクロック信号の供給を何時オン／オフするかを判別し、そして実際にオン／オフを行なう。
【００３１】
図２は本発明のシステム及び方法の高レベルオペレーションを示す高レベルフローチャートである。図２を参照するならば、本発明は４つの基本的オペレーション・ステップを用いる。
【００３２】
最初に、本発明ではマイクロエレクトロニック装置１００で実行されている（制御している）コンピュータ・プログラムのマシンコード命令（ソースコードから翻訳されたもの）が解読される（さもなくば評価される）。この最初のステップに於いて、本発明では、マシンコード命令が監視され、実行のために送出された次のマシンコード命令を実行するためにはどの特定の機能ユニットが必要であるかを判別する。送出される次のマシンコード命令を実行するために機能ユニットが必要とされる前の、事前に選択されたクロックサイクル量（便宜上ＣＣＡと呼ぶ）が、次のマシンコード命令が送出されるか実行される前に、次のマシンコード命令を調べるために本発明で使用するタイムフレームとして使用される。このＣＣＡによって、本発明では、適切な論理的ステップが取られ、機能ユニットを適時にオンすることが可能となり、その結果、送出されたマシンコード命令を順序通りに実行することができる。この第一ステップまたはブロックは参照番号２０２で示されている。
【００３３】
ステップまたはブロック２０４に於いて、本発明では、送出されたマシンコード命令を実行するために機能ユニットが準備完了の状態になる、事前に選択されたクロックサイクル期間（便宜上クロックパワーアップ、ＣＫＰＷＲＵＰと呼ぶ）の長さだけ前に、機能ユニットからスイッチ抑制制御信号が取り除かれる。ＣＫＰＷＲＵＰタイムフレーム中、スイッチング能力が供給され、その結果、該当するマシンコード命令が機能ユニットに送出された時にこの機能ユニットが完全に機能できる。従って、この第二ステップに於いては、本発明で、該当する機能ユニットはマシンコード命令を実行するのに必要とされる充分前に起動され、その結果実行が行なわれるべき時に機能ユニットが完全に動作可能である。
【００３４】
ＣＫＰＷＲＵＰ用にはどのクロックサイクル量でも選択できる。本発明の好ましい実施例では、一個の１／２クロックサイクルが使用される。換言するならば、送出されたマシンコード命令の実行のために機能ユニットが必要とされる前、一個の１／２クロックサイクル内で、機能ユニットが起動される。従って、マシンコード命令の実行のために必要とされる寸前まで機能ユニットはオフ状態すなわち「待機」モードの状態（すなわち、電力消費量ゼロの、「無」入力状態をいう）にある。
【００３５】
第三ステップあるいはブロック２０６に於いて、本発明では、事前に選択されたクロックサイクル期間（便宜上クロックパワーオン　ＣＫＰＷＲＯＮと呼ぶ）中、機能ユニットにスイッチング能力が継続的に供給される。ＣＫＰＷＲＯＮは送出されたマシンコード命令の実行のために機能ユニットが要する時間（クロックサイクル数）である。斯かるものとして、ＣＫＰＷＲＯＮには送出されたマシンコード命令を受け取るのに要するクロックサイクル、及び、このマシンコード命令の実行を完了させるための機能ユニットの遅延時間に等しいクロックサイクルが含まれている。
【００３６】
本発明の最後である第四ステップあるいはブロックは参照番号２０８で示される。この第四ステップに於いては、コンピュータ・プログラムのマシンコード命令の実行である、要求されたタスクを機能ユニットが完了した後、事前に選択されたクロックサイクル期間（クロックパワーダウン、ＣＫＰＷＲＤＮと呼ぶ）の後、スイッチング能力は機能ユニットに供給されない。すなわち、機能ユニットは必要なタスクを実行した後、オフにされる（停止される）のである。斯くして、機能ユニットはその必要がなくなった後もオンすなわちアクティブであることはない。ＣＫＰＷＲＤＮの代表的な値は一個の１／２クロックサイクルである。斯かる起動／停止実施例は、メモリ、状態の保存、等を必要とする機能ユニットに適切なものであるが、他の手法も充分に本発明の範囲内である。
【００３７】
電源バスの結合／切り離しも考慮の対象となる。ＶＤＤと各機能ユニットの間に接続される電源スイッチを追加することによって、上記のＣＫＰＷＲＯＮ制御信号その他を使用して電源スイッチ（例えばＦＥＴ）を制御することにより、機能ユニットへの電源をオン／オフにすることができる。この電源停止のケースに於いてはある量のＤＣ電力は電源スイッチを通して消費されるが、機能ユニットが切り離されているので全体的な電力節約が生じる。
【００３８】
本発明のこれら４ステップの最終的な結果として、マイクロエレクトロニック装置１００が消費する電力の大幅な削減が達成される。この削減は、不要の時には機能ユニットはオンでない、という事実に基づく。下記で詳細に説明される如く、ＣＭＯＳ技術が使用される故、機能ユニットが状態を変化させる（すなわち、スイッチの作動中）場合にのみ電力の消費が起こる。機能ユニットの状態変化が抑制されると該当する機能ユニットは「オフ」であるので、その機能ユニットが消費する電力は僅少である。斯くして、オフの機能ユニットは電力を消費せず、従って電力消費の削減が達成される。
【００３９】
電力消費量の削減が生じるので、ダイ１０２およびそれに付随するマイクロエレクトロニック装置１００のパッケージング（図示せず）の発熱量も削減される。更に、電池が使用される場合、動作時間当たりに必要とされる電池の大きさも縮小される。そして更に、電力消費量の削減によって、電源バスの線幅も縮小できる。
【００４０】
ここでは、図２のフローチャートに従った本発明の代表的な動作例を図３を参照して説明する。図３に、各トレースが横軸において同じタイムフレームを持つ４個のトレースを示す。各トレースの縦軸は信号の振幅、あるいは機能ユニットの状態、あるいは下記に説明する、本発明に基づくオペレーションの状態、を示す。最上トレース３０１は波形３０２を示し、この波形はマイクロエレクトロニック装置１００を構成する全ての機能ユニット用のクロックであるシステムクロック１０４（図１）の出力である。二つのシステムクロックはお互いに１８０度位相の差がある。
【００４１】
本説明用に選ばれた図３の代表的機能ユニットは浮動小数点ユニット（ＦＰＵ）１１０である。下記に実施例の部分で説明する如く、多くのコンピュータシステムでＦＰＵ１１０は時間的に約１０％だけしか使用されないのである。従って、後により明らかになる如く、ＦＰＵ１１０に関しては、本発明は大幅な発熱と電力消費量の少なくとも一方の削減を達成するものである。
【００４２】
第三トレース３０５は二つの浮動小数点オペレーションの実行を示す。Ａと印される第一の浮動小数点オペレーションはボックス３０６で示される。ボックス３０６は浮動小数点オペレーションＡを実行するのに必要なクロックサイクルの数を示すものである。同じく、ボックス３１８で示される浮動小数点オペレーションＢも描かれその浮動小数点オペレーションを実行するために必要なクロックサイクルの数を示す。すなわち、浮動小数点オペレーションＡを実行するためには５と１／２クロックサイクルが必要であり、浮動小数点オペレーションＢを実行するためには２クロックサイクルが必要である。これらのタイムフレームは言うまでもなく単に説明のためのものである。実際に於いては、浮動小数点オペレーションの実行に何十のクロックサイクルを要することもある。更に、各浮動小数点オペレーションの間に数千のサイクルが経過することもある。しかしながら、図３では紙面の都合上それを図形で表わすことはできない。従って、図示の目的上、浮動小数点オペレーションＡ及びＢ間の間隔と、各オペレーションの長さは便宜上縮小されている。
【００４３】
図３の第四トレース３０７では、浮動小数点オペレーションＡ及びＢのそれぞれに対して行なわれる４つのステップを図示する。浮動小数点オペレーションＡに対して、ＣＣＡ期間は３個の１／２サイクルを要するものとして表わされている。このＣＣＡ期間は参照番号３０８で表わされている。浮動小数点オペレーションＡのＣＫＰＷＲＵＰ期間は一個の１／２クロックサイクルで、時間ブロック３１０に示されている。浮動小数点オペレーションＡの実行に要する時間は時間ブロック３１２で表わされるＣＫＰＷＲＯＮ期間に相当する。最後に、ＣＫＰＷＲＤＮ期間は１／２クロックサイクルであり、これは時間ブロック３１４で表わされている。
【００４４】
浮動小数点オペレーションＡを実行するＦＰＵ１１０の実際のオペレーションは、本発明に基づいて次のように制御される。すなわち、トレース３０３の参照番号３０４で示されるクロックサイクルの期間に、システムクロック３０２をＦＰＵ１１０のクロック入力へ供給することにより制御される。トレース３０３で明らかな如く、ＦＰＵクロック入力で供給されるシステムクロックは、浮動小数点オペレーションＡの実行の開始より１／２クロックサイクル前に供給され、浮動小数点オペレーションＡの完了後１／２クロックサイクルの期間オン状態を継続する。
【００４５】
浮動小数点オペレーションＢの場合にも同じような例が示されている。ここでもトレース３０７を参照して説明するならば、ＣＣＡ期間は時間ブロック３２０で示され、説明の便宜上この期間は３個の１／２サイクルを要するものとする。ＣＫＰＷＲＵＰ時間ブロック３２２は１／２クロックサイクルであり、ＣＫＰＷＲＯＮ時間ブロック３２４は２クロックサイクルである。この２クロックサイクルは浮動小数点オペレーションＢを実行するためにＦＰＵ１１０が要する時間である。最後に、ＣＫＰＷＲＤＮ時間ブロック３２６は１／２クロックサイクルである。
【００４６】
本発明のオペレーションの結果もたらされる省電効果を図３に示す。すなわち、トレース３０３を参照して言うならば、ＦＰＵクロック入力に対して適用されるクロック信号が存在する時のみ、ＦＰＵ１１０の状態は変化できる。換言すれば、この例のＦＰＵ１１０は期間３０４及び期間３１６に於いてのみ動作するもので、それ以外の時間帯では動作しない。斯くして、本発明に基づいて如何に省電効果が起こるかが明らかである。
【００４７】
斯くしてマイクロエレクトロニック装置１００の全ての機能ユニットは本発明によって同様に制御されており、その結果最新のマシンコード命令の実行に必要な機能ユニットだけがスイッチオンされる。他の全ての不要な機能ユニットはオフにされ、斯くして、本発明によれば大幅な省電効果が達成されるのである。
【００４８】
本発明はＣＭＯＳ集積回路に対して特に適用牲を持つものである。その理由は、ＣＭＯＳ回路はその状態が変化する時のみ電力を消貴するからである。すなわち、スイッチングが行なわれる時のみ電力の消費が起こる。過渡あるいは交流（ＡＣ）ドメインの観点からは、一つのノードをスイッチするために消費される電力はＣＶ２　に比例する。ただし、Ｃはスイッチされるノードの容量（ｆａｒａｄ）であり、ＶはレールＶＳＳからレールＶＤＤの電圧である。定常あるいは直流（ＤＣ）の観点からは、消費される電力は、製造プロセス変数および入力回転率（ｓｌｅｗ　ｒａｔｅ）に左右されるが、５−１５％となる。
【００４９】
ＣＭＯＳをＢｉＣＭＯＳと比較するならば、後者に於いては、デバイスのベースを通しての「低」入力抵抗と、使用される電流制御機構のために、パイポーラ回路の電力消費はオフにし得ない。これと対照的に、ＣＭＯＳ（そして一般的にＭＯＳデバイス）はゲートオキサイドの電気的絶縁特性のため、ゲート電極で高入力インピーダンスを持っ。
【００５０】
ＣＭＯＳをパイポーラトランジスタ回路とも同様に比較せねばならない。パイポーラトランジスタはスイッチングが行なわれているか否かに関わらず電力を消費する。すなわち、スイッチングが全く行なわれていない状態でも回路中を電流が流れている。これが、ＣＭＯＳの低電力消費と電荷のスケールダウン（例えば携帯用コンピュータの電池）が可能であるためにＣＭＯＳ技術が集積回路で優位性を認められる理由である。
【００５１】
本発明は、殊にＣＭＯＳ回路に適用性のあるものであるが、ＢｉＣＭＯＳ、ＮＭＯＳ、ＭＥＳＦＥＴ、Ｉ２　Ｌ、ＧａＡｓ回路にも同様に適用し得るものである。本発明は、機能ユニットの状態を変化させるべきか否かを制御するための如何なる適切な手法も考慮の対象とするものである。状態変化の制御によって機能ユニットがオン／オフされ、本発明に従って所望の省電効果が達成されるのである。
【００５２】
図４を参照するならば、本発明に従った機能ユニットの状態を制御するための代表的な手法が示されている。この手法では、該当する機能ユニットへのシステムクロック信号３０２の供給が制御される。機能ユニットは本発明がシステムクロック信号３０２を供給する時のみ電力を消費する。図４を参照するならば、本発明の論理ユニット１１６は、下記で説明する適切な手法のどれかに従って、パス４０２を通してのマシンコード命令の送出を（例えば、解読により）評価する。パス４０２によって供給される情報によって論理ユニット１１６は、本発明に従って種々の機能ユニットを何時オンにし、何時オフにするべきかを知ることができる。
【００５３】
システムクロック１０４はシステムクロック信号３０２を論理ユニット１１６に供給する。説明の便宜上、＃１、＃２、＃３、＃４と印された４個の機能ユニットが図示されている。参照番号４０６は機能ユニット１に対応し、参照番号４１０は機能ユニット２に対応し、参照番号４１４は機能ユニット３に対応し、参照番号４１８は機能ユニット４に対応する。各機能ユニット４０６、４１０、４１４、及び４１８にはそれぞれ対応するクロック入力線４０４、４０８、４１２、及び４１６が存在する。
【００５４】
オペレーションに於いて、論理ユニット１１６はオンにされる機能ユニットの適切なクロック入力線上のシステムクロック信号３０２を供給する。その機能ユニットがオフにされる可き時、論理ユニット１１６はシステムクロック３０２の供給を停止する。クロック信号なしには機能ユニットは状態を変化し得ないので、クロック信号３０２を受けない機能ユニットは電力を消費しない。斯くして、クロック信号３０２をオン／オフすることによって機能ユニットをオン／オフすることができるのである。
【００５５】
図５にもう一つの、機能ユニットをオン／オフにさせる手法を示す。図５を参照するならば、この実施例では機能ユニット４０６、４１０、４１４、及び４１８はこれらの機能ユニットの入力の状態変化を制御することによってオン／オフされる。オフである機能ユニットの入力の状態を変化させないことにより、この手法は斯かる機能ユニットを効果的にオフにさせるのである。オンである機能ユニットの入力のみがその状態を変化し得る。
【００５６】
図５にこの手法を達成する一実施例を示す。入力がスイッチしないようにする手法の一つは、公知のゲートラッチデバイス（例えば、ラッチ５０４、５１０、５１６、及び５２２）を使用して、先行する入力（５０２で示す）をラッチして保持することである。ラッチ５０４、５１０、５１６、及び５２２は制御ライン５０８、５１４、５２０、及び５２６を通してラッチされた入力をパスするように制御されている。当業者に明らかな如く、制御ライン５０８、５１４、５２０、及び５２６は信号４０２に基づいて論理ユニット１１６によって生成できるものである。その他の方法として、入力を制御信号と論理的にＡＮＤすることによって、入力を高インピーダンス値に強制することができる。他にも、様々な機能的に同等な手法が当業者に明らかであろう。
【００５７】
同様の構造とオペレーションが機能ユニット４１０、機能ユニット４１４、及び機能ユニット４１８に適用可能である。従って、それらの説明は不要の故、省略する。本発明では、論理ユニット１１６によって機能ユニットをオン／オフにする他の手法も考慮の対象となる。図４及び５の実施例はあくまでも説明のためのものである。本発明では、論理ユニット１１６によって使用される線４０２上の監視情報を得るための幾つかの手法を利用して、マシンコード命令の実行中各機能ユニットをいつオン／オフにするのかを判別することができる。
【００５８】
代表的な手法を図６に示す。参照番号６０２で示される、ソースコードの形のコンピュータプログラムがコンパイラ６０４に供給され、ソースコード６０２がマシンコード命令に翻訳される。コンパイラ６０４はソースコードの翻訳後、マシンコード命令を生成する。説明の目的で、６個のマシンコード命令６０６、６１０、６１４、６１８、６２２、及び６２６が示されている。各マシンコード命令６０６、６１０、６１４、６１８、６２２、及び６２６には、対応する機能ユニットデータブロック（ＦＵＤ）６０８、６１２、６１６、６２０、６２４、及び６２８があり、この機能ユニットデータブロック６０８、６１２、６１６、６２０、６２４、及び６２８にはパス４０２を通して論理ユニット１１６に供給される監視情報が含まれている。一つのマシンコード命令に対応する機能ユニットデータブロックは斯くして、本発明に従って論理ユニット１１６がマイクロエレクトロニック装置１００を作動し得るようにせしめるのである。
【００５９】
図７に線４０２で監視情報を供給する別の実施例を示す。ここでは、本発明の典型的な応用である限定命令セット計算機（ＲＩＳＣ）スーパースカラマイクロプロセッサの実際のオペレーションは次のように監視情報を線４０２で供給する。ソースコード・コンピュータプログラム６０２がコンパイラ７０２に供給され、コンパイラ７０２はマシンコード命令７０４を生成する。マシンコード命令は最初に命令解読ユニット（ＩＤＵ）７０６に供給される。ＩＤＵ７０６からのデコードされた命令は命令実行ユニット（ＩＥＵ）７０８に供給される。
【００６０】
順不同の実行を行なうに際し、ＩＤＵ７０６及びＩＥＵ７０８は解読された情報４０２を図示のように供給する。この解読された情報はデータ依存性情報、命令送出情報、等の形をとることができる。この情報は命令スケジューリング論理から取得可能である。命令スケジューリング論理の一例は「スーパースカラＲＩＳＣ命令スケジューリング」、出願番号０７／８６０．７１９号（代理人整理番号ＳＰＯ３５）という題名の同一承継人の出願に係る同時係属中の特許出願に説明されている。
【００６１】
図８に、本発明で達成される省電効果を最大化するようにマシンコード命令を順序付ける最適化コンパイラ８０２を使用するところの本発明の一実施例を示す。この省電効果はソースコードから得られたマシンコード命令の順序を変えることによって達成される。この順序変えは、コンピュータプログラム６０２を実行するに当たりマイクロエレクトロニック装置１００による電力消費の削減を最適化するようになされる。
【００６２】
図８は斯かる最適化を示す代表的ブロック図である。図示せる如く、最適化コンパイラ８０２は順序が変更されたマシンコード命令の形で出力を生成する。説明の便宜上、順序変更の概念を示すために、図６に於ける機能ユニットと対応するマシンコード命令と同じマシンコード命令が使用されている。マシンコード命令６０６、６１０、６１４、６１８、６２２、及び６２６と、対応するＦＵＤ６０８、６１２、６１６、６２０、６２４、及び６２８が並べ変えられることは明らかである。この例の目的は、電力消費の削減という点で、順序変更が最適化を達成することを示すことである。
【００６３】
並べ変えられたマシンコード命令は次に機能ユニットに対して送出される。機能ユニットは図８に示されるオペレーションに従って論理ユニット１１６によって制御される。最適化コンパイラ８０２が、マシンコード命令１の後、幾つかのサイクル分、一個または複数の機能ブロックが使用されていないと判別すると、最適化コンパイラ８０２は無効化あるいはパワーダウン信号をそれらの機能ブロックに送り、一つあるいは複数のブロックが将来必要になるまでクロックを止めるか、入力をブロックするか、電源を止めるか、を行なうことができる。
【００６４】
本発明から期待できる省電効果を示すために、次に実施例のマイクロエレクトロニック装置１００を示す。これは単に説明の目的で示すものであるが、本発明が如何にして大幅な省電効果をもたらすかを示すものである。本発明で達成可能な省電効果の代表的な値の範囲を示すために、図９のフロアープランを有する機能ユニットを持つマイクロエレクトロニック装置１００が使用される。この実施例では、７Ｗのチップに於いて代表的な利用度と省電効果を表１に示す。全体的なパワーダウン省電効果は４６％である（２．３／５）。
【００６５】
【表１】
2004054943.tif 000003
本発明の「選択的パワーダウン」手法は同一承継人の出願に係る、同時係属中の特許出願である「ハードウェア・エミュレーション・アクセレレータ及び方法」、出願番号０７／８３１，２７２号（代理人整理番号ＳＰＯ４６）で公開された高度に構造化された機能ユニット／モジュールにも容易に適用できる。この同時係属中の特許出願の開示はここに参照することによって含まれているものとする。
【００６６】
〔ラップトップ・ノートブック及びパームトップコンピュータの最適化手法〕
上述の如く、本発明は大幅な省電効果をもたらすものである。これはユーザにとっては重量が非常に重要な評価項目であるラップトップ及びパームトップコンピュータに大きな影響を及ぼすものである。重量が０．２５ｋｇでも軽いと、ユーザは重いコンピュータよりもこの軽いコンピュータを選ぶことが珍しくない。大幅な重量の削減という点でバッテリ技術において進歩が見られるが、省電は一定の電池および充電量に於いてより長い寿命を意味することから、電力消費量の削減は如何なる削減でも非常に重要である。
【００６７】
図１０は本発明に従った使用可能な手法のブロック図である。図示せる如く、ラップトップまたはパームトップコンピュータを操作するに当たり、ユーザは長い電池寿命の選択肢を選ぶことができる。これは１００１で示されている。この選択肢が選ばれると、本発明では参照番号１００４で示される最適化スキームが使用される。このスキームはマイクロエレクトロニック装置の電力消費量を最少にする役割を果す。これは、マシンコード命令の順序を変える、特定の機能ユニットを他の機能ユニットと別個のものとして作動させる、等、様々な形をとることができる。
【００６８】
この手法は、ラップトップまたはパームトップコンピュータが通常の電源から離れた所で長時間操作されるような場合、すなわち、完全に電池で駆動される場合、特に有効である。ユーザはこの場合、ラップトップまたはパームトップコンピュータの操作時間を最大限に伸ばしたいが、この最適化手法によってこれが達成し得るのである。
【００６９】
本発明の種々の実施例が説明されたが、これらはあくまで説明の目的であって、もとより本発明を限定するものではない。従って、本発明の範囲は上記のどの実施例によっても限定されるものではなく、下記の特許の請求範囲及びそれと同等のもののみに基づいて定義されるべきである。
【図面の簡単な説明】
【図１】本発明に基づいて一個のダイ１０２上に製造されたマイクロエレクトロニック装置１００の代表的な機能ユニットを示すフロアープランの高レベルブロック図である。
【図２】本発明の高レベルオペレーションズチップを示す高レベルフローチャートである。
【図３】本発明に基づく機能ユニットの代表的オペレーションを示す４つのトレースをグラフしたものである。
【図４】ゲート付き制御信号を持つシステムクロックを使用しての、機能ユニットをオン／オフにする本発明の実施例を示すブロック図である。
【図５】機能ユニットヘの入力の状態を制御することによって機能ユニットをオン／オフにする本発明の実施例を示すブロック図である。
【図６】各マシンコード命令のコンパイルと共に監視情報４０２がコンパイラによって生成される、本発明の実施例を示すブロック図である。
【図７】監視情報４０２が、命令解読ユニット及び、マシンコード命令によってオペレーションを行なう命令実行ユニットによって生成される、本発明の実施例を示すブロック図である。
【図８】本発明に従って最大の電力節約を達成するためにマシンコード命令を並び替えるために使用される最適化コンパイラの、本発明の実施例を示すブロック図である。
【図９】本発明の実施例で使用される代表的マイクロエレクトロニック装置１００を示すフロアープランの高レベルブロック図である。
【図１０】本発明に従ってラップトップまたはパームトップ・コンピュータへ適用された電力最適化スキームを示すブロック図である。
【符号の説明】
１００…マイクロエレクトロニック装置、１０２…ダイ、１０４…システムクロック、１０６…中央処理装置（ＣＰＵ）、１０８…キャッシュ制御ユニット（ＣＣＵ）、１１０…浮動小数点ユニット（ＦＰＵ）、１１２…整数ユニット（ＩＮＴ）、１１４…メモリ制御ユニット（ＭＣＵ）、１１６…論理ユニット
【図１】
2004054943.tif 000004
【図２】
2004054943.tif 000005
【図３】
2004054943.tif 000006
【図４】
2004054943.tif 000007
【図５】
2004054943.tif 000008
【図６】
2004054943.tif 000009
【図７】
2004054943.tif 000010
【図８】
2004054943.tif 000011
【図９】
2004054943.tif 000012
【図１０】
2004054943.tif 000013