(57)【要約】【解決手段】  一つの集積回路デバイスの電力削減についての一つの取組み法。一つの集積回路デバイスに結び付く一つの動作強度が、一つの第一動作強度から一つの第二動作強度へ一つの変化をするのが検知されるのに応答して、前記第二動作強度に基づき前記集積回路デバイスに結び付く一つの供給電圧及び一つのボディバイアスを調整して、電力消費を削減する。一つの様態において、前記供給電圧及びボディバイアスは、前記集積回路デバイスに対し一つの実質的に定常な動作周波数を維持するように調整される。
2006510121.tif 000002
【特許請求の範囲】
【請求項１】
一つの方法であって、
一つの集積回路デバイスに結び付く一つの動作強度が、一つの第一動作強度から一つの第二動作強度へ一つの変化をするのを検知すること、及び
前記集積回路に結び付く一つの供給電圧及び一つのボディバイアスを、前記第二動作強度に基づき、第一供給電圧及びボディバイアス値から第二の異なった供給電圧及びボディバイアス値へダイナミックに調整すること
を含む方法。
【請求項２】
請求項１の前記方法であって、前記動作強度の前記変化を検知することは、前記集積回路デバイスに結び付く一つの電流を監視することを含む方法。
【請求項３】
請求項２の前記方法であって、前記電流を監視することは、一つの電圧供給源から前記集積回路へ流れる一つの電流を監視することを含む方法。
【請求項４】
請求項１の前記方法であって、前記動作強度の前記変化を検知することは、前記集積回路デバイス上のイネーブル状態のいくつかのユニットを監視することを含む方法。
【請求項５】
請求項１の前記方法であって、前記供給電圧及び前記ボディバイアスを調整することは、実質的に定常な動作周波数を維持することを含む方法。
【請求項６】
請求項５の前記方法であって、前記供給電圧及び前記ボディバイアスを調整することは、一つの参照テーブルにアクセスし、前記第二動作強度に基づいて、前記供給電圧及びボディバイアス値を設定することを含む方法。
【請求項７】
請求項６の前記方法であって、前記第二動作強度が前記第一動作強度より高い場合において、前記供給電圧及び前記ボディバイアスを調整することは、前記供給電圧及び前記ボディバイアスを低減させることを含む方法。
【請求項８】
請求項６の前記方法であって、前記第二動作強度は前記第一動作強度より高く、前記参照テーブルは関連する供給電圧値の順序に区分されている場合において、前記参照テーブルにアクセスすることは、前記第一供給電圧及びボディバイアス値に関連する複数の数値を格納する前記参照テーブル中の一つの第二記入欄に隣接した前記参照テーブル中の一つの第一記入欄へアクセスすることを含み、前記第一記入欄は、前記第二記入欄より低い一つの供給電圧を表示する、方法。
【請求項９】
請求項８の前記方法であって、前記第一記入欄に示された前記供給電圧及びボディバイアス値が、前記集積回路の前記電力消費を削減するかどうかを判定することをさらに含む方法。
【請求項１０】
請求項６の前記方法であって、前記第二動作強度は、前記第一動作強度より低い場合において、前記供給電圧及び前記ボディバイアスを調整することは、前記供給電圧及び前記ボディバイアスを増大させることを含む方法。
【請求項１１】
請求項６の前記方法であって、前記第二動作強度が前記第一動作強度より低く、前記参照テーブルが関連する供給電圧値の順序に区分されている場合において、前記参照テーブルにアクセスすることは、前記第一供給電圧及びボディバイアス値に関連する複数の数値を格納する前記参照テーブル中の一つの第二記入欄に隣接した前記参照テーブル中の一つの第一記入欄へアクセスすることを含み、前記第一記入欄は、前記第二記入欄より高い一つの供給電圧を表示する、方法。
【請求項１２】
一つの方法であって、
一つの第一周波数で動作する一つの集積回路デバイスに結び付く一つの動作強度の変化を検知すること、
前記集積回路の一つの供給電圧及び一つのボディバイアスを、前記検知された動作強度の変化に基づいて、一つの第一供給電圧及びボディバイアスから一つの第二供給電圧及びボディバイアスへ、前記第二供給電圧及びボディバイアスが前記集積回路デバイスに前記第一周波数での動作を継続させるように、ダイナミックに調整すること
を含む方法。
【請求項１３】
請求項１２の前記方法であって、前記ボディバイアスをダイナミックに調整することは、前記集積回路デバイス上のｎ型及びｐ型双方の複数のトランジスタの前記ボディバイアスをダイナミックに調整することを含む、方法。
【請求項１４】
請求項１２の前記方法であって、前記ボディバイアスをダイナミックに調整することは、前記集積回路デバイス上のｎ型及びｐ型いずれかの複数のトランジスタの前記ボディバイアスをダイナミックに調整することを含む、方法。
【請求項１５】
請求項１２の前記方法であって、前記第二供給電圧及びボディバイアスを印加することは、前記第一供給電圧及びボディバイアスに比較して、前記集積回路デバイスの前記電力消費を削減するかどうかを判定することをさらに含む方法。
【請求項１６】
請求項１５の前記方法であって、他の利用可能な供給電圧及びボディバイアスの複数の組合せと比べ、前記集積回路デバイスの前記電力消費をより低くする一つの供給電圧及びボディバイアスの組合せが識別されるまで、前記供給電圧及びボディバイアスのダイナミックな調整を継続すること
をさらに含む方法。
【請求項１７】
請求項１６の前記方法であって、ダイナミックに調整することは、一つの参照テーブルへアクセスすることを含む、方法。
【請求項１８】
一つの装置であって、
一つの参照テーブル、及び
一つの集積回路デバイスの一つの供給電圧及び一つのボディバイアスのダイナミック調整を、前記集積回路デバイスに結び付く一つの動作強度に基づいて制御する一つの供給電圧及びボディバイアス制御ユニットであって、前記集積回路デバイスに対し一つの実質的に定常的な動作周波数を維持するため、前記参照テーブルへアクセスし、前記供給電圧及びボディバイアスへの複数の調整を決定する、前記供給電圧及びボディバイアス制御ユニット
を含む装置。
【請求項１９】
請求項１８の前記装置であって、前記供給電圧及びボディバイアス制御ユニットは、前記集積回路の一つの動作強度を示す一つの信号を受信するための一つの入力を含む、装置。
【請求項２０】
請求項１９の前記装置であって、前記供給電圧及びボディバイアス制御ユニットは、一つのボディバイアス発生器へ一つの制御信号を供給する一つの第一出力と、一つの電圧レギュレータ・モジュールへ一つの制御信号を供給する一つの第二出力を含む、装置。
【請求項２１】
請求項１８の前記装置であって、前記集積回路デバイス上に、少なくとも一つの前記参照テーブルと前記供給電圧及びボディバイアス制御ユニットとを備えた、装置。
【請求項２２】
一つのシステムであって、
一つの交流電源を提供する一つのバッテリー、
一つの第一周波数で動作する一つのプロセッサ、
前記プロセッサに一つの供給電圧を供給する一つの電圧レギュレータ・モジュール、
前記プロセッサ上の複数のトランジスタの一つの第一セットへ一つのボディバイアスを供給する一つの第一ボディバイアス発生器、及び
前記プロセッサに結び付く一つの動作強度の変化の検知に応答し、前記供給電圧及び前記ボディバイアスを、第一供給電圧及びボディバイアス設定から第二供給電圧及びボディバイアス設定へダイナミックに調整して、前記プロセッサに前記第一周波数で動作を継続させる一つのダイナミック供給電圧及びボディバイアス制御ユニット
を含むシステム。
【請求項２３】
請求項２２の前記システムであって、前記電圧レギュレータから前記プロセッサへ流れる一つの電流に基づいて、前記プロセッサに結び付く前記動作強度を表示する一つの電流モニタをさらに含むシステム。
【請求項２４】
請求項２２の前記システムであって、少なくとも一つの前記第一ボディバイアス発生器及び前記ダイナミック供給電圧及びボディバイアス制御ユニットは、前記プロセッサ上に具備されている、システム。
【請求項２５】
請求項２４の前記システムであって、前記ダイナミック供給電圧及びボディバイアス制御ユニットは、前記プロセッサからの一つの信号に基づいて、前記プロセッサに結び付く動作強度の変化を検知する、システム。
【請求項２６】
請求項２２の前記システムであって、一つの第二ボディバイアス発生器をさらに含み、前記第一ボディバイアス発生器は、前記プロセッサ上の複数のｐ型及びｎ型トランジスタ中の一つの側の前記ボディバイアスを制御し、前記第二ボディバイアス発生器は、複数のｐ型及びｎ型トランジスタ中の他の側の前記ボディバイアスを制御する、システム。
【請求項２７】
請求項２６の前記システムであって、前記ダイナミック供給電圧及びボディバイアス制御ユニットは、前記プロセッサが前記第一周波数で動作できるようにする、供給電圧とボディバイアスとの複数の組合せに関連する複数の値を格納するための一つの参照テーブルを含み、前記ダイナミック供給電圧及びボディバイアス制御ユニットは、前記参照テーブルの中から、前記プロセッサに対しより低電力の動作をもたらす一つの記入欄を選定する、システム。
【請求項２８】
請求項２２の前記システムであって、前記ダイナミック供給電圧及びボディバイアス制御ユニットは、前記プロセッサが前記第一周波数で動作できるようにする、供給電圧とボディバイアスとの複数の組合せに関する複数の値を格納するための一つの参照テーブルを含み、前記ダイナミック供給電圧及びボディバイアス制御ユニットは、前記参照テーブルの中から、前記プロセッサに対しより低電力の動作をもたらす一つの記入欄を選定する、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の集積回路の分野にかかるものであり、さらに具体的には、複数の集積回路の電力消費を削減するための一つの取組み法に関する。
【背景技術】
【０００２】
複数の集積回路、特に複数のマイクロプロセッサのような複数の複雑な集積回路の電力消費は、一つの重要な問題になりつつある。リーク電力消費が全電力の一つの大きな比率を占める現在及び将来の複数の技術世代にとって特にそうである。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のいくつかの取組み法においては、この問題に対処するため、一つのプロセッサの周波数及び供給電圧の双方を、前記プロセッサの動作レベルに従って変化させ、一つの相対的に定常と見られる処理能力を維持しながら電力を削減する。しかしながら、この取組み法方法では、いつ高周波動作が必要となるかを予測するために、一般的に、オペレーティングシステムの複数の変更が必要となる。それと同時に、クロック周波数を絶えず変化させるため設計が複雑になる。
【課題を解決するための手段】
【０００４】
供給電圧及びボディバイアスのダイナミック制御を通して電力消費を削減するための一つの方法と装置を説明する。以下の説明において、例証目的のため、複数の集積回路デバイス、複数の回路及び複数のシステムの特定な複数のタイプ及び／又は複数の構成を説明する。但し、他の複数の実施形態を、他の複数の集積回路デバイス、複数の回路及び複数のシステムの特定な複数のタイプ及び／又は複数の構成に応用できることは自明であろう。
【０００５】
本明細書に記載するように、一つの集積回路デバイス又はチップの合計電力消費は動作強度の一つの関数であり、これは、例えば、一つの所定時間に、活発に複数の計算又は複数の作業を実行している前記チップ上のユニットの数、もしくは、前記チップの前記動作レベル他の指標に関連していよう。一つの集積回路デバイスの前記動作強度が比較的低いときには、前記合計電力消費の一つのより大きいパーセントは、リーク電力によるものであり、前記動作強度が比較的に高いときには、前記合計電力消費の一つのより大きいパーセントは、複数の回路コンデンサの充電及び放電によるスイッチング電力消費である。スイッチング電力は対象となる前記集積回路の前記供給電圧に強く影響されるが、リーク電力は、対象の前記集積回路のトランジスタの閾値電圧に強く影響される。
【発明を実施するための最良の形態】
【０００６】
そこで、図１の一つの実施形態を参照すると、ブロック１０５における、一つの集積回路デバイスに結び付く一つの動作強度の変化検知に応じて、ブロック１１０において、前記集積回路デバイスに結び付く一つの供給電圧及び一つのボディバイアスは、前記新しい動作強度に基づいてダイナミックに調整される。前記供給電圧及び一つ又は複数のトランジスタ閾値電圧（ボディバイアスを介して）の両方は、新しい複数の値に対しダイナミックに調整されて、ユーザ及び前記オペレーティングシステムに事実上見えないようなやり方で、性能を維持しながら（例、動作周波数）前記集積回路の前記全体的な電力消費を削減する。この、及び他の複数の実施形態の複数の詳細を以下の説明の中で提示する。
【０００７】
図２は、一つの実施形態に従って、供給電圧及びボディバイアスのダイナミック制御を使って電力削減を実施することのできる一つの典型的なシステム２００の一つのブロック図である。前記典型的システム２００は、一つのプロセッサ２０５、一つのダイナミック供給及びボディバイアスコントローラ２１０、一つの電圧レギュレータ・モジュール（ＶＲＭ）２１５、及び一つの電流モニタ２２０を含む。
【０００８】
前記典型的システム２００において、前記プロセッサ２０５は、一つ以上のバス２３０を介して、例えば、一つのメモリ・コントローラ、一つの入力／出力コントローラ、一つ以上の大量記憶装置、一つ又は複数の入力及び／又は出力装置、一つ又は複数の画像関連装置、メモリなどのような他の複数の装置にも結合されている。
【０００９】
また、一つのバッテリ２３５を前記システム２００に含め（図２中に接続を示さず）、いくつかの実施形態において、特に、前記システム２００が、一つのラップトップ、ノートブック、手持ち型、又は他のタイプの移動式又は携帯式のコンピュータ・システムなど、一つの移動システムである場合に、一つの交流電源を備えることができる。
【００１０】
前記ＶＲＭ２１５は、詳細を後記するように、前記プロセッサ２０５の前記動作強度によって変更可能な一つの供給電圧Ｖｃｃを前記プロセッサ２０５に供給するための一つの出力を有する。一つの実施形態において、前記ＶＲＭ２１５は、さらなる詳細を後記するように、一つの所望の分解能及び電流を備え、一つの所望範囲内でいろいろな電圧を供給することのできるどのような利用可能な電圧レギュレータであってもよい。前記ＶＲＭ２１５が供給する前記供給電圧は、一つのバス２１７を介した一つ以上の入力への制御情報の受信に応じて、又は別のやり方で、これを変化させることができる。
【００１１】
一つの実施形態の前記電流モニタは、前記プロセッサ２０５へ流れる前記電流を定期的に監視するため前記ＶＲＭ２１５の一つの出力に結合された一つの入力、及び、前記プロセッサ２０５へ前記供給電圧Ｖｃｃを供給するため結合された一つの出力を有する。前記電流モニタ２２０は、一つの所望の分解能により一つの所望のサンプリング頻度で電流の複数の変化を検知することを含め、後記する複数の能力を備えるどのような利用可能な電流モニタを使っても実行することができる。いくつかの実施形態において、前記電流モニタ２２０は一つの独立した装置として示されているが、他の実施形態において、前記電流モニタを、例えば、前記電圧レギュレータ・モジュール２１５、前記ダイナミック供給及びボディバイアス・コントローラ２１０、又は前記プロセッサ２０５に組み込むことができる。
【００１２】
前記供給電圧及びボディバイアス・コントローラ２１０は、図示するように、前記電流モニタ２２０、前記ＶＲＭ２１５及び前記プロセッサ２０５に結合される。一つの実施形態の前記ダイナミック供給及びボディバイアス・コントローラ２１０は、一つの制御ユニット２４０、一つの参照テーブル（ＬＵＴ）２４５及び一つ以上のボディバイアス電圧（Ｖｂ）発生器２５０を含む。
【００１３】
一つの実施形態の前記制御ユニット２４０を、例えば後記のような方式で動作する一つの状態機械として実行することができる。一つ以上の動作強度データ記憶装置２２５及び一つのコンパレータ２６０を、前記制御ユニット２４０の一部に含めるか、あるいは前記制御ユニット２４０に結合することができる。他の実施形態として、他の複数のタイプの複数のユニットをコントローラ２１０に含めることができ、及び／又は、一つ以上の前記ユニット２４０、２４５、２５０、２５５及び／又は２６０を、他の一つの装置（例えば、前記ＶＲＭ２１５など）や他の一つの集積回路デバイスの一部として具備することができ、及び／又はこれらを独立した一つの集積回路デバイスにすることができることは、自明であろう。
【００１４】
前記ＬＵＴ２４５を、前記した複数の能力を備えるどのようなタイプのプログラム可能なメモリを使っても実行できる。例えば、一つの実施形態において、前記ＬＵＴ２４５を、複数のヒューズを使ってプログラム可能な一つの読取り専用メモリ構造を使って実行することができる。前記ＬＵＴ２４５を備えるための他の複数のタイプの複数のメモリ及び複数のプログラミング方式は、多様な複数の実施形態の範囲内である。
【００１５】
一つ又は複数の前記ボディバイアス発生器２５０は、前記プロセッサ２０５へ一つのボディバイアス電圧Ｖｂを供給するため結合された一つの出力を有し、前記プロセッサ２０５の前記動作強度に応じてＶｂを変化させることができる。一つの実施形態として、複数のｎ型又はｐ型トランジスタの一つだけの前記ボディバイアスを変化させるため、単一のＶｂ発生器２５０が具備される。前記プロセッサ２０５が、一つの相補型金属酸化物半導体（ＣＭＯＳ）上に又は複数のｎ型及びｐ型トランジスタ両方を含む他のプロセスで製作されている場合、複数のｎ型又はｐ型トランジスタの前記ボディバイアスを変えるかどうかを決めるために、一つの特性設定を実施することができる。この例として、本明細書に記載した前記ダイナミック供給電圧及び閾値電圧変更取組み法を使って、複数の最大電力節減が得られる選択を行う。
【００１６】
別の実施形態として、後記のように、前記プロセッサ２０５上の複数のｎ型及びｐ型トランジスタ双方の複数の前記閾値電圧がダイナミックに調整されるように、Ｎ及びＰ双方の複数のボディバイアス発生器が複数の前記Ｖｂ発生器２５０として具備される。このような実施形態において、前記Ｎボディバイアス発生器は一つの出力電圧ＶｂＮを供給し、前記Ｐボディバイアス発生器は一つのＶｂＰを供給する。後記の、複数のＮ及びＰボディバイアス発生器両方を使用する複数の実施形態において、前記複数のボディバイアス発生器は実質的に同じような一つの方法で制御され、動作する。単一のＶｂ発生器が記載されている箇所も、複数のＶｂ発生器を制御し動作させるために、同じような技法が使えることは自明であろう。
【００１７】
一つの実施形態において、前記ＶＲＮ２１５の分解能と同じ又は異なる一つの所望の分解能を持ち、一つの所望範囲内のボディバイアス電圧及び電流レベルを供給することのできる既存のいずれかのＶｂ発生器に基づいて、一つ又は複数の前記Ｖｂ発生器２５０を構成し動作させることができる。一つの実施形態において、前記ボディバイアス電圧Ｖｂを、例えば、一つのバス２５２を経由して前記制御ユニット２４０から制御情報を受信するのに応じて変化させることができる。個別の実施状況によって一つ以上の実施形態に適した複数のボディバイアス発生器の複数の例が、例えば、米国特許第６，１００，７５１号、第６，３００，８１９号、第６，３６６，１５６号、及び第６，４２９，７２６号に記載、又は参照されている。他の複数のタイプの複数のボディバイアス発生器を様々な実施形態のために使用することができる。
【００１８】
引き続き図２を参照すると、一つの実施形態において、前記プロセッサ２０５は、一つの所定クロック周波数で動作することを狙いとした一つのマイクロプロセッサである。前記プロセッサ２０５はほとんどの複数のトランジスタに対し、一つの規定公称供給電圧Ｖｃｃｉ及び関連する閾値電圧Ｖｔｈｉ（又は、ｐ及びｎ型双方の複数のトランジスタが用いられている場合には、ｐ型についてはＶｔｈｉｐ、ｎ型については、Ｖｔｈｉｎ）を有し、前記供給電圧Ｖｃｃｉ及び一つ又は複数の閾値電圧Ｖｔｈｉは、一般的には、例えば、前記プロセッサ２０５に対する最大電力の制約により定まる。前記供給電圧Ｖｃｃｉは、前記プロセスに対し規定された最大供給電圧を超えないようにして、前記Ｖｃｃレベルを後記のように調整することできるように、前記プロセッサ２０５の製造に使われた前記プロセスに対する前記最大供給電圧より一つの十分な量だけ小さい。一つのプロセスに対する前記最大供給電圧は、一般的には、当業者によく知られたやり方で、品質及び信頼性の複数の要因の一つのバラツキに基づいて決められる。
【００１９】
前記プロセッサ２０５は、例証目的で、一つのマイクロプロセッサとして記載されているが、他の複数の実施形態において、前記プロセッサ２０５は、一つのディジタル信号プロセッサ、一つのマイクロコントローラ、一つの内蔵型プロセッサ、画像プロセッサ等のような一つの異なったタイプのプロセッサであってもよい。他の複数の実施形態において、一つの同様な取組み法を使用し、他の複数の集積回路の複数の種類の電力を削減できることは自明であろう。
【００２０】
さらに、他の複数のシステムの複数の種類及び／又は一つの異なるやり方で構成された複数のシステムを、他の複数の実施形態に使用できることも自明であろう。
【００２１】
図２及び５を参照すると、動作中、前記プロセッサ２０５（又は他の複数の実施形態において対象となる他の集積回路）の前記動作強度は監視されている（ブロック５０５）。動作強度は、本明細書で使われる用語として、対象の前記集積回路デバイスの動作レベルをいい、いろいろな複数の取組み法のどれか一つを使って測定される。動作レベル、動作指標等といった他の用語を代わりに使用することができる。
【００２２】
一つの実施形態において、前記プロセッサ２０５を流れる前記電流が、前記プロセッサ２０５の前記動作強度の一つの指標として使われており、前記プロセッサ２０５の動作強度のいっさいの変化を識別するために、例えば、前記電流モニタ２２０によって定期的サンプル間隔で監視される。前記電流モニタ１２０が各サンプル時点において検知した前記電流を、前記コンパレータは、一つの動作強度データ記憶装置１５５に格納されている一つの前回の動作強度と比較し、直近のサンプル時点から前記動作強度に一つの変化があつたかどうかを判定することができる（ブロック５１０）。例えば、一つの新しい動作強度が、一つの前回の動作強度から一つのあらかじめ定められた量だけ異なる場合は、一つの変化を検知することができる。このあらかじめ定められた量は、ユーザ及び／又は設計者の決定によるか、又は前記電流モニタ２２０及び／又は前記コンパレータ２６０の分解能による。
【００２３】
動作強度に一つの変化が検知された場合、前記コントローラ２１０は、性能を維持しつつ電力消費を最適化するために、前記供給電圧（Ｖｃｃ）及びトランジスタ閾値電圧（一つ又は複数のボディバイアス電圧（Ｖｂ）を介して）をダイナミックに調整する。Ｖｃｃ及びＶｂを調整する前記の仕方は、前記動作強度が増大したのか、低減したのかによる（ブロック５１５）。
【００２４】
本明細書で使用する前記「ボディバイアス」という用語は、一般にｎ型又はｐ型いずれかの、一つのトランジスタ本体のバイアスをいう。一つのｎ型トランジスタに対して、前記ボディバイアスは、前記本体電圧ＶｂＮ（ｐサブストレート又はｐウエルの電圧）と供給電圧低位側（例、接地電圧）との間の差異として定義される。一つのｐ型トランジスタに対して、前記ボディバイアスは、供給電圧高位側（Ｖｃｃ）と前記本体電圧ＶｂＰ（ｎサブストレート又はｎウエルの電圧）との間の差異として定義される。したがって、前記ボディバイアスを増大させると、いずれのタイプのトランジスタも、順バイアスが増大、又は逆バイアスが低減し、これにより前記閾値電圧Ｖｔｈが低減され、一方、前記ボディバイアスを低下させると、複数のｎ型及びｐ型トランジスタの閾値電圧の一つの増大がもたらされる。
【００２５】
一般に、一つの低い動作強度においては、前記プロセッサ２０５の大部分はアイドル状態にある。このような一つの状態において、前記プロセッサ２０５の全体電力消費のひとつの大きな部分は、リーク電力によるものである。リーク電力は、前記プロセッサ２０５を構成する複数の前記トランジスタの一つ又は複数の閾値電圧に、一つの指数的依存をしている。
【００２６】
そこで、一つの実施形態において、比較的低い複数の動作強度に対し、一つの逆方向のボディバイアスを印加して前記プロセッサ２０５の複数のトランジスタの閾値電圧を上昇させることによって、リーク電力を大幅に削減することができる。前記プロセッサ２０５の性能を一つの実質的に定常なレベルに維持し、前記プロセッサ２０５が実質的に同じクロック周波数（すなわち、前記プロセッサの狙い動作周波数）で正しく動作することを確実にするために、前記プロセッサの前記供給電圧Ｖｃｃも上昇させて、前記閾値電圧の増大の影響を相殺する。このようにして、複数の低動作強度において、前記プロセッサ２０５電力消費の最大の比率を占める前記電力リークは削減されるが、一方でスイッチング電力は増加する。
【００２７】
対照的に、一つの比較的高い動作強度において、前記プロセッサ２０５の一つの相当な部分は、動作中で前記プロセッサ２０５の複数の回路の一つの大きな割合はスイッチングしている。このような状態においては、前記プロセッサ２０５の前記電力消費の大部分をスイッチング電力が占める。スイッチング電力は、前記供給電圧Ｖｃｃに一つの二次関数的な依存をしており、したがって、Ｖｃｃを低下させることによって削減できる。同様に、前記プロセッサ２０５の前記性能を実質的に定常な一つのレベルに維持するために、前記逆ボディバイアス電圧を低下させるか、あるいは一つの順方向ボディバイアスを印加するかのいずれかによって、前記プロセッサ２０５上の前記複数のトランジスタの前記複数の閾値電圧を低下させる。このようにして、前記スイッチング電力は低減するが、一方で、リーク電力は、より高い複数の動作強度においては電力消費全体中の一つの小さな比率であるが、これは増加する。
【００２８】
このような方法で、前記供給電圧Ｖｃｃ及びボディバイアス電圧Ｖｂをスイッチング電力とリーク電力とのトレードオフに使えるので、一つの所定周波数又は性能レベルにおいて、識別可能な各々の動作強度に対し電力消費が実質的に最小化されるＶｃｃとＶｂとの一つの組合せがある。本明細書で用いる「実質的に最小化」という表現は、前記一つ又は複数のＶｂ発生器２５０及び前記電圧レギュレータ・モジュール（ＶＲＭ）２１５が備える前記特定な複数の分解能において、利用可能なＶｃｃ及びＶｂの複数の組合せ中の、一つの特定なＶｃｃ及びＶｂ（すなわちＶｂＮ及びＶｂＰ）の組合せが、前記プロセッサ２０５に対して、他の可能なＶｃｃとＶｂとの複数の組合せから得ることのできる複数の電力消費レベルと比較してより低い一つの電力消費レベルを生成する、ということを意味する。
【００２９】
一つの実施形態において、前記コントローラ２１０は、前記参照テーブル（ＬＵＴ）２４５に格納されたデータにアクセスすることによって、Ｖｃｃ及びＶｂに加える前記複数の調整を決定する。前記ＬＵＴ２４５中に格納するＶｃｃ及びＶｂの値を決定するために、一つの特性設定作業を実施することができる。この特性設定作業は、一つの代表的なプロセッサに対して一度これを実施すればよく、そこで、前記特性設定の結果を、類似のすべてのプロセッサに対する前記複数の参照テーブルをプログラムするために使うことができる。前記特性設定は、例えば、各製造ロットからの一つのプロセッサ、又は一つの特定な工程で製造された一つのプロセッサに対して実施すればよい。他の複数の実施形態において、一つの代表的なプロセッサを識別するための他の複数の取組み法を用いることができる。
【００３０】
前記特性設定作業には、例えば、Ｖｃｃ及びＶｂ（すなわちＶｂＮ及びＶｂＰ）を変化させ、関連する性能を測定して、一つの所望の性能目標（すなわち、前記所望の周波数において前記プロセッサ２０５の適切な動作を提供すること）を満たすすべての可能なＶｃｃ及びＶｂの複数の組合せを識別することが必然的に含まれよう。そこで、各類似プロセッサの前記参照テーブル２４５をプログラムして、決定した前記Ｖｃｃ及びＶｂの複数の値を格納することができる。
【００３１】
一つの実施形態において、前記Ｖｃｃ及びＶｂの複数の値（又は前記ＶＲＭ２１５及びＶｂ発生器２５０に前記所望のＶｃｃ及びＶｂの複数の値を供給させる複数のコード）は、Ｖｃｃレベルの上昇方向順に格納される。例証目的のため、前記ＬＵＴ２４５として使用できる一つの代表的な参照テーブル編成を図３に示す。Ｖｂは一列しか示されていないが、ＶｂＮ及びＶｂＰがダイナミックに調整される複数の実施形態において、一つの追加列を加えることができるのは自明のことであろう。様々な複数の実施形態において、前記ＬＵＴ２４５を編成するために他の取組み法を用いることができる。
【００３２】
用いられるいっさいの取組み法について、前記ＬＵＴ２４５の記入欄の数は、利用できる記憶領域、前記一つ又は複数のＶｂ発生器及び／又はＶＲＭの複数の分解能を含む各種複数の要素、及び／又は他の複数の要素による。
【００３３】
引き続き図２及び図５を参照すると、動作強度の一つの減少が検知されると、電力を節減するために、前記供給電圧及び閾値電圧が上昇されることになる（ブロック５２０）。例証目的のため、前記ＬＵＴ２４５の複数の記入欄はＶｃｃ値の上昇順の複数の値に分類されていると想定すれば、前記制御ユニット２４０は、前記テーブル中の現在位置の後に続くＶｃｃ／Ｖｂの複数の組合せを試みるだけでよい（すなわちＶｃｃが前記現在のＶｃｃより大きな箇所）。
【００３４】
この例において、前記プロセッサ２０５の供給電圧Ｖｃｃは、まず、前記プロセッサ２０５の前記供給電圧を上昇させるために、前記ＶＲＭ２１５によって前記ＬＵＴ２４５が表示する値に変更される。この変更が安定したならば、前記プロセッサ２０５の前記ボディバイアスは、前記ＬＵＴ２３５の表示にそって増大される。前記複数の電圧をこの順序で変更することによって、性能劣化は実質的に回避される。
【００３５】
一つの実施形態において、前記供給電圧（又は前記後段の場合にはボディバイアス）安定化のため一つのあらかじめ定められた期間が設けられる。他の複数の実施形態において、いろいろな既知の取組み法のいずれか一つを用いて、安定電圧の複数のレベルを検知することができる。
【００３６】
そこで、前記新規のＶｃｃ及びボディバイアス設定が、前記今までの設定に比べてより低い電力消費をもたらすかどうかが判定される（ブロック５２５）。一つの実施形態において前記電力消費が低下したかどうかは、前記電流モニタ２２０が検知した前記プロセッサ２０５へ流れる前記電流に照らして判定される。前記新規設定の結果が、前記今までのＶｃｃ及びＶｂ（すなわちＶｂＮ及びＶｂＰ）設定よりも低い電力消費をもたらすならば、前記ＬＵＴ２４５中の次の組合せが適用される。このプロセスは、前記次の組合せが一つのより高い電力消費レベルをもたらすまで繰り返され、それが生じた点において、同じ性能レベルを提供する前記利用可能な設定のうち最も低い電力消費を提供する組合せとして、その直前の入力が選定される（ブロック５３０）。そこで、これらの新規Ｖｃｃ及びＶｂ設定は、前記プロセッサ２０５に対し前記新しい動作点を提供する。
【００３７】
対照的に、ブロック５１５において、動作強度の一つの増大が検知された場合には、前記供給電圧及び閾値電圧を低下させてリークを低減することになる。再度、前記ＬＵＴ２４５はＶｃｃの上昇順の複数の値で分類されていると想定すると、前記制御ユニット２４０は、前記テーブル２３５中の現在の位置の直前の一つのＶｃｃ／Ｖｂ組合せを選択する（ブロック５３５）。供給電圧及びボディバイアスが低減される場合、まず、前記ボディバイアスが低減され、前記プロセッサ２０５上の前記複数のトランジスタの複数の閾値電圧が低下される。前記ボディバイアスが安定すると、前記供給電圧が変更される。そこで前記プロセスは、上記のように、前記ＬＵＴ２４５が表示した前記他の可能な複数の組合せと比較して最も低い電力を提供する前記組合せが識別されるまで続行する（ブロック５４０及び５３０）。
【００３８】
別の実施形態において、前記ＬＵＴ２４５に一つの追加欄を含め、前記Ｖｃｃ及びＶｂ値が一つの所定の性能目標に対して一つのより低い電力消費を提供する対象となる、一つの電流又は動作強度の値を収納することができる。これにより、動作強度の一つの変化の検知に応じて、前記ＶＲＭ２１５及び前記一つ又は複数のＶｂ発生器２５０が供給すべき前記複数の電圧を選定するために、前記検知された電流／動作強度、又は、前記検知された電流／動作強度に近い一つの電流／動作強度につながるＶｃｃ及びＶｂ値が使われる。
【００３９】
他の複数の実施形態において、前記で論じた複数のユニットの一つ以上を、前記プロセッサ又は電力管理対象となる別のタイプの集積回路に組み込むことができる。例えば、図４を参照すると、一つのプロセッサ４０５は基本的に前記プロセッサ２０５と同様なものであるが、これに一つの制御ユニット４２０、一つの参照テーブル（ＬＵＴ）４４５及び一つのボディバイアス（Ｖｂ）発生器１５０を含めることができ、これら各々の構成及び動作は、前に論じた対応する複数のユニットと同様である。
【００４０】
図４に示す前記実施形態において、一つの電流モニタを備えないでおくことができる。その代わりに、前記内蔵制御ユニット４２０は、一つの動作レベル指標信号４２２を、前記プロセッサ４０５上の他の回路（図示せず）から受信することができる。前記動作レベル指標信号（又は複数の信号）４２２は、例えば、前記プロセッサ４０５上の現在動作中の（例、イネーブル状態）複数の機能ユニットの数、及び／又は、前記プロセッサ４０５上のどの複数のユニットが現在動作中になっているかを表示することができる。一つの実施形態において、前記一つ又は複数の動作レベル指標信号４２２を、例えばクロックゲーティングのような他の複数の目的のため使用されている複数の信号に基くようにするか、又はこれらに提供させるようにすることができる。
【００４１】
図４に示す前記実施形態において、前記一つ又は複数の動作レベル指標信号を、前記プロセッサ４０５の前記動作強度を表示するために使うことができる。前記一つ又は複数の動作レベル指標信号４２２の表示によって前記プロセッサ４０５の動作強度の一つの変化を検知するのに応答し、前記制御ユニット４１０は、前に記載したように、前記プロセッサ４０５の前記供給電圧及び前記一つ又は複数のボディバイアスに対し一つのダイナミック調整を行って電力を削減する。
【００４２】
図４に示す前記実施形態において、複数の数値を、前に記載した図２中の前記ＬＵＴ２４５に対するのと同様な方式で前記ＬＵＴ４４５中に格納することができる。さらに、一つの実質的に定常な性能レベルを維持するため、一つの特定の動作強度に対し使用する前記特定のＶｃｃ／Ｖｂ組合せも、図２に示す前記実施形態に対するのと同様な仕方で決定することができる。
【００４３】
前記した複数の取組み法の一つ以上を使って、前記オペレーティングシステムを変更する一つの必要なしに、かつ、ユーザが認知できるような性能への一つの影響なしに、従来の電力削減の複数の取組み法と比較して全体的な電力消費を削減することができる。
【００４４】
前記の詳述において、複数の特定の典型的実施形態を参照しながら本発明を説明してきた。しかしながら、添付の請求範囲に示すように、本発明の大局的精神及び範囲から逸脱せずに、本発明に様々な修正及び変更を加えることができるのは自明であろう。例えば、特定な、複数の回路モジュール、複数の参照テーブル配列、及び複数のシステム実現が示されているが、他の複数の実施形態において、異なる、複数の回路モジュール、複数の参照テーブル配列、及び複数のシステム実現を使用することができる。したがって、前記明細内容及び複数の図面は、一つの制限的意図でなく、一つの説明的意図を持つとみなされるものである。
【図面の簡単な説明】
【００４５】
実施例を使って本発明を説明するが、複数の添付図面中の複数の図に限定はされない、なお、図中の複数の同一用語は複数の同様要素を示し、これらの図は以下のとおりである。
【００４６】
【図１】供給電圧及びボディバイアスのダイナミック制御を用いる一つの集積回路デバイスの電力削減に関する一つの実施形態の一つの方法の一つの流れ図を示す。
【図２】一つの実施形態の前記電力削減取組み法を、有益に実行できる一つの典型的なシステムの一つのブロック図である。
【図３】図２に示した前記電力削減取組み法に使用することのできる、一つの典型的な参照テーブル構成の一つの表現である。
【図４】一つの実施形態の前記ダイナミック供給電圧及びボディバイアス制御取組み法を実行することができる、別の実施形態の一つの典型的システムの一つのブロック図である。
【図５】ダイナミック供給電圧及びボディバイアス制御を用いた一つの実施形態の前記電力削減取組み法を示す一つの流れ図である。
【図１】
2006510121.tif 000003
【図２】
2006510121.tif 000004
【図３】
2006510121.tif 000005
【図４】
2006510121.tif 000006
【図５】
2006510121.tif 000007
【国際調査報告】
2006510121.tif 000008
2006510121.tif 000009
2006510121.tif 000010
2006510121.tif 000011
2006510121.tif 000012
2006510121.tif 000013