(57)【要約】  本発明の一部の実施形態は、アイドル状態の機能ブロックに基づいて、要求される供給電圧を動的に低減するシステム、装置および方法を含む。【選択図】図１
2010522403.tif 000002
【特許請求の範囲】
【請求項１】
集積回路装置であって、
前記装置の動作中にアイドル状態となり得る１以上の機能ブロックと、
アイドル状態である前記１以上の機能ブロックの数に比例する量だけ低減される所定のレベルに基づいて、ＶＲＭに対して要求する供給電圧レベルを決定するロジックと
を備える集積回路装置。
【請求項２】
前記１以上の機能ブロックは、プロセッサが備えるコアである
請求項１に記載の装置。
【請求項３】
前記所定のレベルは、前記プロセッサの実行状態に基づいて決まる
請求項２に記載の装置。
【請求項４】
前記所定のレベルは、前記実行状態についての電流のコア毎パラメータを調べることによって決定される量だけ、低減される
請求項３に記載の装置。
【請求項５】
前記所定のレベルは、ＩＣ動的容量の関数として供給電流低減幅を決定することに基づいて決まる量だけ、低減される
請求項３に記載の装置。
【請求項６】
前記所定のレベルは、前記実行状態に対するコア毎ΔＶパラメータを調べることによって決定される量だけ、低減される
請求項３に記載の装置。
【請求項７】
前記１以上の機能ブロックは、アイドル状態でなく同一実行状態にある場合、消費する動的電流が略同じである
請求項１に記載の装置。
【請求項８】
前記ロジックおよび前記１以上の機能ブロックは、供給領域の一部であって、前記供給領域は、前記装置内の複数の供給領域のうちの１つである
請求項１に記載の装置。
【請求項９】
ＶＲＭに対して要求される所定の供給電圧を決定する段階と、
動作中の集積回路においてアイドル状態である機能ブロックの数を決定する段階と、
前記アイドル状態である機能ブロックの数に基づいて、前記所定の供給電圧を低減する段階と
を備える方法。
【請求項１０】
低減された前記所定の供給電圧を前記ＶＲＭに与える段階
をさらに備える、請求項９に記載の方法。
【請求項１１】
前記機能ブロックは、マルチコアプロセッサに含まれるコアである
請求項９に記載の方法。
【請求項１２】
コア毎動的電流値を決定して、前記コア毎動的電流値をアイドル状態のコアの数で乗算して、供給電流低減幅を決定して、前記所定の供給電圧をどれだけ低減するかを決定する段階
を備える、請求項９に記載の方法。
【請求項１３】
前記供給電流低減幅および負荷ライン抵抗値に基づいて、前記所定の供給電圧をどれだけ低減するかを決定する段階
を備える、請求項１２に記載の方法。
【請求項１４】
前記負荷ライン抵抗値は、前記集積回路に書き込まれている
請求項１３に記載の方法。
【請求項１５】
前記負荷ライン抵抗値は、前記集積回路の外部から取得される
請求項１４に記載の方法。
【請求項１６】
コア毎ΔＶＲ値を決定して、前記コア毎ΔＶＲ値をアイドル状態のコアの数で乗算して、前記所定の供給電圧をどれだけ低減するかを決定する段階
を備える、請求項９に記載の方法。
【請求項１７】
プロセッサであって、
複数の実行状態から選択される１の実行状態において動作可能な複数のコアと、
入力供給電圧ＶＣを前記複数のコアに対して供給するべく、供給電圧ＶＲを要求する電圧選択ロジックと
を備え、
前記供給電圧ＶＲは、前記プロセッサの動作中に前記複数のコアのうちアイドル状態にあるコアの数に比例している
プロセッサ。
【請求項１８】
前記供給電圧ＶＲは、前記選択される実行状態に基づいて、供給電流低減幅を決定することに基づいて決まる量だけ、所定のＶＲを低減することによって決定される
請求項１７に記載のプロセッサ。
【請求項１９】
前記供給電流低減幅は、実行状態データ構造からコア毎供給電流値を取得することによって決定される
請求項１８に記載のプロセッサ。
【請求項２０】
前記供給電圧ＶＲは、前記選択される実行状態に基づいて、コア毎電圧値を決定することによって決まる量だけ、所定のＶＲを低減することによって決定される
請求項１７に記載のプロセッサ。
【請求項２１】
前記コア毎電圧値は、実行状態データ構造から取得される
請求項２０に記載のプロセッサ。
【請求項２２】
前記供給電圧ＶＲは、ＶＲＭに対して要求される
請求項１７に記載のプロセッサ。
【請求項２３】
前記ＶＲＭの少なくとも一部を備える
請求項２２に記載のプロセッサ。
【請求項２４】
前記複数のコアおよび前記電圧選択ロジックは、供給領域の一部であって、前記供給領域は、前記プロセッサの複数の供給領域のうち１つである
請求項２２に記載のプロセッサ。
【請求項２５】
プロセッサと、
電圧レギュレータの少なくとも一部と、
前記プロセッサに結合されて、前記プロセッサとワイヤレスネットワークとを通信可能にリンクするアンテナと
を備え、
前記プロセッサは、
複数の実行状態から選択される１の実行状態において動作可能な複数のコアと、
入力供給電圧ＶＣを前記複数のコアに対して供給するべく、供給電圧ＶＲを要求する電圧選択ロジックと
を有し、
前記供給電圧ＶＲは、前記プロセッサの動作中に前記複数のコアのうちアイドル状態にあるコアの数に比例しており、
前記電圧レギュレータの少なくとも一部は、前記供給電圧ＶＲを生成して、前記プロセッサに前記入力供給電圧ＶＣを与える
コンピュータシステム。
【請求項２６】
前記供給電圧ＶＲは、前記選択される実行状態に基づいて、供給電流低減幅を決定することに基づいて決まる量だけ、所定のＶＲを低減することによって決定される
請求項２５に記載のコンピュータシステム。
【請求項２７】
前記供給電流低減幅は、実行状態データ構造からコア毎供給電流値を取得することによって決定される
請求項２６に記載のコンピュータシステム。
【請求項２８】
前記供給電圧ＶＲは、前記選択される実行状態に基づいて、コア毎電圧値を決定することによって決まる量だけ、所定のＶＲを低減することによって決定される
請求項２５に記載のコンピュータシステム。
【請求項２９】
前記コア毎電圧値は、実行状態データ構造から取得される
請求項２８に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一部の実施形態は概して、電力管理技術に関する。特に、一部の実施形態は、動的に供給電圧を低減することに基づく電力管理に関する。
【背景技術】
【０００２】
より多くのトランジスタを備え、より高い周波数に対応する高度なプロセッサに対する需要が増え続けるにつれて、コンピュータの設計者および製造者は、消費電力の増加という問題に度々直面する。電力管理を行わなければ、マルチコアプロセッサ等の集積回路（ＩＣ）が消費する電力は過度に大きくなってしまう。このため、新しい電力管理方法が求められている。
【図面の簡単な説明】
【０００３】
本発明の実施形態が実現するさまざまな利点は、以下の説明、請求項および添付図面を参照すれば、当業者には明らかである。添付図面は以下の通りである。
【０００４】
【図１】本発明の一部の実施形態に係る、電圧選択ロジック（ＶＳＬ）を備える集積回路を示すブロック図である。
【図２】本発明の一部の実施形態に係る、ＶＳＬが実行する電圧選択ルーチンを説明するためのフローチャートである。
【図３】本発明の一部の実施形態に係る、ＶＳＬを備えるマルチコアプロセッサを示す図である。
【図４】本発明の一部の実施形態に係る、図３に示すプロセッサの電圧選択ルーチンを説明するためのフローチャートである。
【図５】本発明の一部の実施形態に係る、負荷ラインドロップの減少幅を決定するルーチンを説明するためのフローチャートである。
【図６】本発明の一部の実施形態に係る、電圧選択ロジックを示すブロック図である。
【図７】本発明の一部の実施形態に係る、コンピュータシステムの一例を示すシステムレベルのブロック図である。
【図８】本発明の一部の実施形態に係る、複数の供給電圧領域を持つマルチコアプロセッサを示す図である。
【発明を実施するための形態】
【０００５】
一部の実施形態によると、電圧レギュレータモジュール（ＶＲＭ）から集積回路デバイス（例えば、プロセッサ）に与えるよう要求される供給電圧は、ＩＣにおいて休止中の構成要素が存在することが特定されると、ＶＲＭ電力配送ネットワーク（負荷ライン）内での電圧ドロップ量が小さくなるので、動的に低減され得る。すなわち、ＶＲＭに対して要求される供給電流が小さくなると、ＶＲＭの負荷ライン内での電圧ドロップが小さくなるので、ＶＲＭからの電圧が小さくなっても、チップに与えられる供給電圧は同一レベルとなるか、またはより高くなる。これは、例えば、電圧が低くなると通常は、電力が小さくなり信頼性が向上するので、利点と見なされる。用途の一例を挙げると、マルチコアプロセッサは、備える複数のコアのうち１以上のコアがアイドル状態であると認識すると、ＶＲＭから引き込む電流が小さくなるので、ＶＲＭに対して供給電圧を低減するよう要求する場合がある。
【０００６】
図１は、ＶＲＭ１０４に結合されて、要求されるレギュレータ電圧ＶＲに応じて、ＶＲＭ１０４から供給電圧ＶＣを受け取るＩＣデバイス１０２を示す概略図である。レギュレータ電圧ＶＲの値は、電圧選択ロジック（ＶＳＬ）１０８によって決定され、制御信号（ＶＲＣＮＴＬ）によってＶＲＭ１０４に通知される。ＩＣデバイス１０２は、例えば、システムオンチップ（ＳＯＣ）、プロセッサ、ＡＳＩＣ、ネットワーク素子、コントローラ等を実装している任意のＩＣデバイスであってよい。ＩＣデバイス１０２は、アクティブ状態またはアイドル状態を取り得る（例えば、アクティブ状態またはオフ状態の場合にはアクティブなクロックで、アイドル状態の場合は大幅に減速したクロックとなる）コア等の機能ブロックを１以上有する。ＶＳＬ１０８は、アイドル状態であるのがどの機能ブロックなのか、および／または、アイドル状態の機能ブロックの数が幾つなのかに基づいて、負荷ラインドロップ低減量および／または供給電流低減量（負荷ラインドロップに変換される）を決定する機能を持つ。（尚、本明細書で使用する場合、「決定」という用語は、計測、推定、算出、誘導、特定等の動作によって結果を取得することを意味しており、最も広い意味で用いられるものであることに留意されたい。）
【０００７】
多くの用途があるので、所望の動作性能に応じて、仕様によっては、供給電圧ＶＣがある最低レベル以上となることが要求される場合がある。しかし、ＩＣが実際に受け取る供給電圧ＶＣは、負荷ライン抵抗ＲＬＬとしてモデル化される、電力配送ネットワークにおける電圧ドロップのために、レギュレータ電圧（ＶＲ）よりも小さくなる。負荷ライン電圧ドロップは、ＲＬＬ×ＩＣとなる。このため、ＶＣはＶＲ−（ＲＬＬ×ＩＣ）となる。したがって、ＩＣにおいて許容可能な供給電圧ＶＣを得るためには、この点を考慮しておかなければならない。
【０００８】
ＶＣ要件を満足させるためには、従来の方法では、例えば、全ての機能ブロックがアクティブであってもＶＣが特定値を下回らないようにレギュレータ電圧（ＶＲ）値を選択する。すなわち、（全ての機能ブロックがアクティブである）最悪の場合の供給電流（ＩＣ）を想定して、この条件を満たすＶＣが供給されるようなＶＲが要求される。その他の公知の方法によると、ＶＳＬは、現在の実行状態に関わらず、アイドル状態である機能ブロックに応じて、一定の「安全な」量だけ、要求されるＶＲをデクリメントするとしてよい。しかし、この方法は依然として、特定の動作条件についての負荷ライン内におけるドロップの特定の低減幅を鑑みて供給電圧が実際にどの程度低減され得るのかを考慮していない。したがって、本明細書で開示する一部の実施形態では、負荷ラインドロップの低減幅を、アイドル状態のブロックの量および／または質に基づいて決定（算出、推定、計測、誘導および／または特定）して、要求されるＶＲをより最適に低減すると同時に、供給電圧要件を満たす。
【０００９】
図２は、低減レギュレータ電圧ＶＲを動的に選択するべくＶＳＬ１０８が実行するルーチン２００を概略的に示す図である。２０２において、入力される供給電圧の仕様内容を決定する。２０４において、アイドル状態にある１以上のＩＣブロックを決定する。２０６において、特定の入力値と、特定された１以上のアイドル状態のブロックに起因する負荷ラインドロップの低減幅とに基づいて、要求される供給電圧値を決定する。マルチコアプロセッサＩＣの例に関連付けて後述するが、低減量は任意の適切な方法で決定されるとしてよい。例えば、ΔＶＲ値は、動作条件およびアイドル状態のブロックの数／種類に基づいて、メモリ構造において調べることによって取得され得る。これに代えて、動作条件およびアイドル状態のブロックの数／種類に基づいて、ΔＶＲ値またはΔＩＣ値等の境界値（例えば、ＩＣに書き込まれる）を補間することから得られるとしてもよい。例えば、ΔＶＲは、（アイドル状態のブロックを鑑みた）ΔＩＣの推定値およびＲＬＬについての既知の値に基づいて算出されるΔＶであってよい。そのほかにもさまざまな方法を利用するとしてよく、それらの方法も本発明の範囲に含まれる。
【００１０】
図３は、一部の実施形態に従って、備える複数のコアのうちアイドル状態にある１以上のコアに基づいて、低減ＶＲを要求するＶＳＬを備えるマルチコアプロセッサ３０２を示すブロック図である。プロセッサ３０２は、Ｎ個のコア３０６（コア０からコアＮ−１）と、ＶＲＭ１０４に要求する供給電圧ＶＲを決定するＶＳＬ３０８とを備える。本例によると、Ｎ個のコアは、同一電力面上にあるが、クロック分配は独立している。さらに、コアは、互いのコピーであると想定され、電力特性は互いに類似している。
【００１１】
プロセッサ３０２は、複数の異なる実行状態で動作するとしてよく、実行状態は処理対象のアプリケーションによって決まる。「実行状態」という表現は概して、プロセッサまたはプロセッサ内のコアに対する動作レベルの仕様を意味する。例えば、普通の実行状態の仕様であるアドバンスト・コンフィグレーション・アンド・パワー・インターフェース（ＡＣＰＩ）仕様では、複数の異なるＰ状態を定義して、当該仕様における複数の異なる実行状態について、コア動作電圧およびコア動作周波数を規定している。この仕様では、Ｐ０は最高の実行状態で、Ｐｎが最低の実行状態である。
【００１２】
一部のプラットフォームでは、起動時に、コンピューティングプラットフォームのベーシックインプット／アウトプットシステム（ＢＩＯＳ）が、プロセッサから（一例を挙げると、プログラムされた、例えば、書き込まれた境界値から）取得するデータに基づいて、プロセッサに対してＰ状態情報を与えるべく、Ｐ状態データ構造を構築する。それぞれの実行状態について、データ構造は、特定の動作供給電圧および動作周波数を与える。一部の実施形態によると、各コアの処理について複数の異なるＰ状態が（例えば、複数の異なるオペレーティングシステムスレッドから）要求され得るが、制御ロジックは最もアクティブな状態を選定して各コアにその状態を適用する。しかし、これは、各コアが特定のＰ状態パラメータで動作することを必ずしも意味するものではない。さらに、基本的ないわゆるＣ状態という状態が定義され得る。Ｃ状態は独立してさまざまなコアに適用されるとしてよい。このため、比較的アクティブなＰ状態（例えば、Ｐ０またはＰ１）がプロセッサ３０２全体に割り当てられつつ、Ｃ状態が指定するように、一部のコアが実際にはアイドル状態であるとしてもよい（例えば、オフに制御されているか、またはクロックが大幅に減速されている）。
【００１３】
チップ供給電流（ＩＣ）は、動的成分（ＩＣＤｙ）と静的成分（ＩＣＳ）とを含み、ＩＣ＝ＩＣＤｙ＋ＩＣＳとなる。動的成分（ＩＣＤｙ）は、スイッチング電流を表し、静的成分（ＩＣＳ）は、リーク電流を表す。コアは通常、アクティブ状態であってもアイドル状態であっても関係なく静的（リーク）電流は消費するが、動的電流はコアのクロックに応じて決まる。コアのクロックがオフに制御されているか、または、大幅に減速されている場合、ＩＣＤｙ＝０と想定するのは十分理にかなっている。一部の実施形態によると、コア３０６の電力特性、つまり、所与の実行状態についての動的電流消費が互いに同一である（または十分に類似している）と想定することも十分理にかなっている。この事実を利用して、アイドル状態にあるコアの数から、所与のＰ状態について、総供給電流（ＩＣ）のうち動的成分（ＩＣＤｙ）がどの程度ドロップするかを決定することができる。
【００１４】
所与のＰ状態について、コア毎動的電流値（ＩＣＤｙｉ）をアイドル状態のコアの数「ｉ」で乗算して、動的電流の総低減量（ΔＩＣＤｙ）を求めることによって、供給電流（ＩＣ）の総低減量を求める。（この低減量は、ＶＣ要件を満たすようにＶＲ値を定めるのに利用される予め想定された値に対する相対的な値である。）このことから、要求されるＶＲが低減できる低減量ΔＶは、ΔＩＣＤｙ×ＲＬＬとなる。このΔＶＲだけ、特定の要件を満足させるべく用いられていたであろうより高い値であるＶＲを低減することができる。
【００１５】
（本明細書に記載する実施形態例によると、各コアは、アクティブ状態の場合、所与の実行状態について消費する動的電流の量が同一であると概して仮定している。このため、総電流低減量を、所与のＰ状態（実行状態）のコア毎電流値をアイドル状態のコアの数で乗算することによって、推定することができる。しかし、この仮定は必ずしも必要ではないことに留意されたい。例えば、複数の異なる種類またはクラスのコア、あるいは、各コアについて、別々のコア毎電流値を用いるとしてよく、このような別々の電流値を加算して総供給電流低減量を求めるとしてもよい。）
【００１６】
図４は、ＶＲＭ１０４に対して要求する電圧ＶＲを選択するルーチン４００を説明するための図である。ルーチン４００は、ＶＳＬ３０８によって実行されるとしてよい。４０２において、特定の実行状態に基づいて、所定のＶＲを決定する。例えば、Ｐ状態データ構造からこの値を取得できる。Ｐ状態データ構造は、プロセッサ３０２内に設けられているとしてもよいし、チップ外、例えばＢＩＯＳまたはオペレーティングシステムに用いられるメモリに設けられているとしてもよい。プロセッサチップ自体にプログラムされている（例えば、書き込まれている）としてもよい。４０４において、アイドル状態のコア３０６の数を決定する。（尚、ルーチン動作４０２および４０４は、本明細書で説明する任意のルーチン動作と同様に、明記されていない限り、または、ルーチン動作の性質上強制されない限りは、どのような順序で実行するとしてもよい。）
【００１７】
４０６において、負荷ライン抵抗におけるドロップの低減量ΔＶＲを決定する。この動作は、プロセッサ構成および特別な設計時の事情に応じて、さまざまな方法で実行するとしてよい。この点については、後述する。４０８において、決定されたΔＶＲに基づくＶＲをＶＲＭに与える。
【００１８】
図５は、一部の実施形態に係る、アイドル状態のコアの数「ｉ」に基づいてΔＶＲを決定するルーチン４０６を説明するための図である。５０２において、適用可能な実行状態について、チップの総動的容量（ＣＤｙｎ）、周波数Ｆ、供給電圧ＶＣを決定する。５０４において、式「ΔＩＣ＝（ＣＤｙｎ・Ｆ・ＶＣ）（ｉ／Ｎ）」を用いて、供給電流低減量（ΔＩＣ）を決定する。式中、ｉは、アイドル状態のコアの数で、Ｎはコアの総数である。ＦおよびＶＣは通常、実行状態の仕様において定義され、（プロセッサチップの）ＣＤｙｎはチップメーカーによって与えられるとしてもよいし、または、パラメータ評価によって決定されるとしてもよい。製造時にチップにプログラムされるとしてもよいし、または、外部メモリソースから利用可能となるとしてもよい。
【００１９】
５０６において、ΔＶＲの値は、決定されたΔＩＣにＲＬＬを乗算することによって決定される。その他のパラメータと同様に、ＲＬＬも、チップにプログラムされるとしてよいし（機械コードとしてロードされる状態で焼付けられるとしてもよい）、または、外部メモリソースから利用可能となるとしてよい。
【００２０】
ΔＶＲを決定する方法にはそのほかにもさまざまなものがあり、図５に示すルーチンに限定されないと理解されたい。例えば、適切なΔＶＲ値は、Ｐ状態と、アイドル状態のコアの数とに基づいて検索することができる（調べることができる）。このような構成は、メモリにおいてかなり大量の領域を消費してしまうが、設計事項およびどのように実装するかに応じて実現可能である。例えば、最大ΔＶＲ値および最小ΔＶＲ値をプロセッサチップに焼き付けるか、または、書き込んで、一部の実施形態でＢＩＯＳがＰ状態データを生成するのと同様の方法で、複数の異なる値を含むデータ構造をメモリ内に生成および格納するとしてよい。これに代えて、より柔軟性を持たせるべく、ΔＩＣ値（ΔＶＲ値に代えて）をテーブルにプログラムするか、または、ΔＩＣ値でテーブルを生成するかして、当該テーブルを特定の動作パラメータ（例えば、Ｐ状態）およびアイドル状態のコアの数に基づいて検索するとしてよい。このように、ΔＶＲ値は、任意のＶＲＭおよび電力配送ネットワークについて決定することができる。所与の実装におけるＲＬＬの値は、ソースからＶＳＬ３０８に、例えば起動時に、提供されるとしてよい。例えば、ＢＩＯＳレジスタに格納されているとしてもよいし、または、特定の電力ネットワーク配送構成について工場においてファームウェアに焼き付けられるとしてもよい。言うまでもなく、そのほかにも数多くの方法を実装するとしてよく、それらも本願請求項の範囲内にあるとする。
【００２１】
図６は、一部の実施形態にかかる電圧選択ロジック（ＶＳＬ）３０８を示すブロック図である。ＶＳＬ３０８は通常、さまざまなコア（コア０からコアｎ―１）用のパラメータレジスタ６０２と、Ｐ状態解決ロジック６０４と、加算器ロジック６０６と、マルチプレクサ６０８と、乗算器ロジック６１０と、Ｖ／Ｆコマンドレジスタ６１２と、減算器ロジック６１４とを備え、これらはすべて図示のように結合されている。（尚、この実施形態では、電圧低減ロジックはレガシー電圧／周波数ロジックに組み込まれており、Ｖ／Ｆコマンドレジスタ６１２からのＶＲ出力を操作して、低減ＶＲ（ＶＲ−ΔＶＲ）要求を提供する。しかしこれは必須ではない。数多くの異なる方法を利用して、既存の設計を変形してもよいし、または、新規および／または別のＶＳＬを形成してよい。図示するラインに応じて、ＶＳＬブロックは、回路素子、ロジック、および／または、機械コードを、特定の設計について所望されるように、任意に組み合わせて、実装されるとしてよい。）
【００２２】
パラメータレジスタ６０２はそれぞれ、対応するコアのＰ状態識別子と共に、要求されているＰ状態についてのΔＶＲｉ値（アイドル状態のコア毎）を受け取る。パラメータレジスタ６０２は、Ｐ状態をＰ状態解決ロジック６０４に提供し、Ｐ状態解決ロジック６０４は、コアに対するＰ状態要求を処理して、コア全てに適用すべきＰ状態を選択する。例えば、一部の実施形態によると、要求されているＰ状態のうち最もアクティブなＰ状態を選択する。さらに、パラメータレジスタ６０２は、加算器ロジック６０６に、対応するコアがアイドル状態であるか否かを指し示すデジタル値を提供する。加算器ロジック６０６は、これらの値を組み合わせて（加算して和を計算し）、アイドル状態のコアの数を示す加算結果を乗算器ロジック６１０に渡す。最後に、パラメータレジスタ６０２は、マルチプレクサ６０８に、要求されているＰ状態についてのΔＶＲｉ情報を与える。Ｐ状態解決ロジック６０４からの選択Ｐ状態信号は、選択されたＰ状態に対応付けられている電圧低減係数（ΔＶＲｉ）を選択する。この値は、乗算器６１０に与えられて、アイドル状態のコアの数によって乗算して、実質電圧低減値（ΔＶＲ）を得る。そしてこの積を、Ｖ／Ｆコマンドレジスタ６１２から与えられるＶＲ値から減算して、ＶＲＭ１０４に与える。例えば、ＶＲＭに通知されるべく、１以上の電圧選択ピンまたはオフチップインターフェースに与えられるとしてよい。
【００２３】
図７は、本発明の一部の実施形態に係る、供給電流が減少するとＶＲＭに対して動的に低減可能なＶＲ要求を与える電圧選択ロジック（ＶＳＬ）７０８を備えるコンピュータシステム７００を示すブロック図である。コンピュータシステム７００は、例えば、ラップトップ型コンピュータシステム、ノート型コンピュータシステム、またはデスクトップコンピュータシステム等の、パーソナルコンピュータシステムであってもよいし、または、法人用コンピュータシステムであってもよい。コンピュータシステム７００は、１以上のプロセッサ７０２と、ＶＳＬ７０８を有する電力管理ロジック（ＰＭＬ）７０６とを備えるとしてよい。１以上のプロセッサ７０２は、これらに限定されないが、コア７０４（コア１からコアＮ）として図示されているように１以上のコア等のサブブロックを有するとしてよい。ＶＳＬ７０８は、一部の実施形態によると、当業者が想到するように、本明細書で説明する教示内容に少なくとも基づいた同等のロジックを含むモジュールとして実装され得る。
【００２４】
１以上のプロセッサ７０２は、Ｉｎｔｅｌ（登録商標）アーキテクチャのマイクロプロセッサであってよい。その他の実施形態によると、プロセッサは異なる種類のプロセッサであってよく、例えば、グラフィクスプロセッサ、デジタルシグナルプロセッサ、埋め込み型プロセッサ等であってよく、および／または、別のアーキテクチャを実装するとしてよい。
【００２５】
１以上のプロセッサ７０２は、１以上のクロックソース７０９を用いて動作させられるとしてよく、１以上の電圧レギュレータモジュール（ＶＲＭ）１０４から電力を供給される。１以上のプロセッサ７０２はさらに、ほかのレベルのメモリ、例えば、メモリ７１２と通信するとしてよい。システム内に含まれるか、または、システムによってアクセス可能な大容量ストレージデバイスのような、システムメモリ（ＲＡＭ）７１８ａおよびストレージ７１８ｂ等の比較的高いメモリ階層レベルは、ホストバス７１４およびチップセット７１６を介してアクセスされるとしてよい。
【００２６】
さらに、その他の機能ユニット、例えばいくつか挙げると、グラフィクスインターフェース７２０およびネットワークインターフェース７２２は、適切なバスまたはポートを介して１以上のプロセッサ７０２と通信するとしてよい。アンテナ（不図示）等のその他のデバイスを、１以上のプロセッサをワイヤレスネットワークに結合するべく、ネットワークインターフェースに結合され得る。
【００２７】
さらに、当業者であれば、図７に図示されている構成を変形して、本明細書で説明している実施形態の精神または範囲を逸脱することなく、図示されている構成要素のうち一部または全てを、別のパーティション方式および／または集積化方式で実装し得ることに想到するであろう。
【００２８】
本発明の一部の実施形態によると、ストレージ７１８ｂは、例えばオペレーティングシステム７２４のようなソフトウェアを格納するとしてよい。一実施形態によると、オペレーティングシステムは、ＡＣＰＩ（アドバンスト・コンフィグレーション・アンド・パワー・インターフェース）規格に応じた特徴および機能を含み、および／または、オペレーティングシステム統括電力管理（ＯＳＰＭ）を実現するＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム（マイクロソフトコーポレーション社製、米国ワシントン州レドモンド）である。一部の実施形態では、オペレーティングシステムは、例えば、Ｌｉｎｕｘ（登録商標）オペレーティングシステムのような、ほかの種類のオペレーティングシステムであってよい。
【００２９】
システム７００はパーソナルコンピュータシステムであってよいが、その他の種類のシステム、例えば、その他の種類のコンピュータ（例えば、ハンドヘルド型、サーバ、タブレット型、ウェブ関連器具、ルータ等）、ワイヤレス通信デバイス（例えば、携帯電話、コードレス電話、ポケットベル（登録商標）、携帯情報端末（ＰＤＡ）等）、コンピュータ関連の周辺機器（例えば、プリンタ、スキャナ、モニタ等）、エンターテインメントデバイス（例えば、テレビ、ラジオ、ステレオ、テープ、およびコンパクトディスクプレーヤ、ビデオカセットレコーダ、カムコーダ、デジタルカメラ、ＭＰ３（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ、Ａｕｄｉｏ  Ｌａｙｅｒ  ３）プレーヤ、ビデオゲーム、腕時計等）等もまた、さまざまな実施形態の範囲内に含まれる。前述した複数の図面に示したメモリ回路もまた、どのような種類であってもよく、上述したシステムのうちどのシステムにおいて実装されるとしてよい。
【００３０】
ＶＳＬ７０８は、電力管理モジュール７０６等の、プロセッサ７０１のその他の特徴および機能と協働して動作するとしてよい。具体的に説明すると、一実施形態にかかる電力管理モジュールは、複数の電力状態間の遷移の制御を始めとして、プロセッサ７０１および／または個々のコア７０４の電力管理を制御するとしてよい。オペレーティングシステム７２４がＡＣＰＩをサポートしている場合、例えば、ＶＳＬ７０８はさまざまなコアのＣ状態および／またはＰ状態を制御および追跡するとしてよい。電力管理ロジック７０６は、１以上の実施形態において、動的な要求ＶＲＭ電圧を管理する場合に利用されるほかの情報を格納しているか、そのような情報に対するアクセスを有しているとしてよい。該情報は、例えば、アクティブなメモリおよび／または１以上のコアの量、最小キャッシュメモリサイズ、タイマ情報、および／または、レジスタまたはその他のデータストレージに格納されているその他の情報である。
【００３１】
さらに、当業者であれば想到するように、本発明の一部の実施形態によると、ＶＳＬ７０８は、追加で中間状態を利用するとしてもよく、同時に、より高い状態および／またはより低い状態を利用するとしてもよい。
【００３２】
１以上の実施形態について具体的な内容を数多く挙げたが、ほかの実施形態では、要求される供給電圧を動的に低減するその他の方法を実装するものと解釈されたい。例えば、上述の説明では具体的な電力状態に言及しているが、ほかの実施形態では、その他の電力状態および／またはその他の係数が実質的に要求される供給電圧を大きくするか、小さくするかを決定する際に考慮されるとしてよい。
【００３３】
さらに、例示を目的として、供給電圧が単一である（例えば、ＶＲＭから供給される）チップについてアイドル状態のコアに基づく動的な電圧供給を説明したが、１以上の実施形態に係る要求される供給電圧を調整する方法は、別の種類の電力配送ネットワークおよび／またはホスト集積回路チップおよび／またはシステムに適用され得るものと理解されたい。
【００３４】
例えば、図８に示すような、複数の供給領域において複数のコアを備えるプロセッサが、本明細書で教示するような供給低減方法を利用するとしてよい。プロセッサ８０２はＮ個の異なる供給領域８０４ｉを備えるとしてよく、各供給領域は対応するＶＲＭ１０４ｉに結合されており、各ＶＲＭ１０４は、要求されるＶＲに応じて、独立して制御可能な供給電圧ＶＣを対応する領域に提供する。各領域は、１以上のコア８０６ｉと、当該領域内でのアイドル状態のコアの数に基づいて供給電圧ＶＲｉを要求するＶＳＬ８０８ｉとを有している。
【００３５】
本明細書で「一実施形態」、「実施形態」または「実施形態例」等と言及する場合、当該実施形態に関連して説明されている特定の特徴、構造、または特性が、本発明の少なくとも１つの実施形態に含まれていることを意味する。このような表現は本明細書で何度も言及されるが、必ずしもすべてが同じ実施形態に言及しているわけではない。さらに、特定の特徴、構造、または特性を任意の実施形態と関連付けて説明する場合、そのような特徴、構造、または特性を、該実施形態のほかの特徴、構造、または特性と組み合わせて実現することは、当業者の想到範囲であると解釈されたい。本発明の別の実施形態はさらに、本発明に係る動作を実行するための命令を含む機械アクセス可能媒体を含む。そのような実施形態は、プログラム製品として言及されるとしてよい。このような機械アクセス可能媒体は、これらに限定されるわけではないが、フロッピー（登録商標）ディスク、ハードディスク、ＣＤ−ＲＯＭ、ＲＯＭ、ＲＡＭ、および、機械またはデバイスとして製造または形成された、または機械またはデバイスで検出可能な、粒子または分子から成るその他の有形の構成物等の格納媒体を含むとしてよい。命令はさらに、配信環境においても用いられるとしてよく、シングルプロセッサ機械またはマルチプロセッサ機械によってアクセスされるようにローカルおよび／またはリモートに格納されているとしてよい。
【００３６】
さらに、説明を分かりやすくする便宜上、一部の方法の手順は別々の手順として記述されているが、このように別個に記述された手順は、実行内容に応じた必須の順序と解釈されるべきではない。すなわち、一部の手順は、本明細書の教示内容に少なくとも基づいて当業者が想到し得るように、別の順序または同時に実行されるとしてもよい。
【００３７】
本発明の実施形態を、当業者が本発明を実施できる程度に十分に詳細に説明した。ほかの実施形態を利用するとしてもよいし、本発明の範囲を逸脱することなく、構造、ロジック、および知識を変更し得る。さらに、本発明のさまざまな実施形態は、互いに異なるものの、必ずしも相互に排他的ではないことを理解されたい。例えば、一実施形態において説明される特定の特徴、構造または特性は、ほかの実施形態にも含まれ得る。したがって、詳細な説明は限定的に解釈されるべきではない。
【００３８】
上述した実施形態および利点は、単に例示を目的としたものに過ぎず、本発明を限定するものと解釈されるべきではない。例えば、本教示内容は、ほかの種類のメモリに簡単に応用ができる。上述の記載を参照することによって、当業者であれば、本発明の実施形態に係る技術はさまざまな形態で実施され得ることに想到するであろう。このため、本発明の実施形態は、具体的な例を挙げて説明してきたが、本願の添付図面、明細書および請求項を参照すれば当業者には他の実施形態が明らかであるので、本発明の実施形態の真の範囲は説明したものに限定されるべきではない。
【図１】
2010522403.tif 000003
【図２】
2010522403.tif 000004
【図３】
2010522403.tif 000005
【図４】
2010522403.tif 000006
【図５】
2010522403.tif 000007
【図６】
2010522403.tif 000008
【図７】
2010522403.tif 000009
【図８】
2010522403.tif 000010
【国際調査報告】
2010522403.tif 000011
2010522403.tif 000012