(57)【要約】  安定した仮想動作点を作成するために複数の離散動作点を管理するためのシステムおよび方法。プロセッサ内の１つまたは複数の機能ブロックが、それぞれの機能ブロックに関連付けられた活動レベルに応じてデータを生成する。電力マネージャが、所与のサンプル間隔ごとに一度、データに基づいて電力消費値を決定する。さらに、電力マネージャが、熱設計電力（ＴＤＰ）と電力消費値との間で、長い期間をかけて、符号付き累算差分を決定する。電力マネージャは、符号付き累算差分と所与の閾値との比較に基づいて、次の電力性能状態（Ｐ状態）を選択する。作業負荷が著しく変化しない間、このようにＰ状態間で遷移すると、プロセッサが、サポートされる離散動作点間の仮想操作点で動作するようになる。【選択図】図５
2013533548.tif 000002
【特許請求の範囲】
【請求項１】
各々がそれぞれのブロックの活動レベルに応じてデータを生成するように構成された、１つまたは複数の機能ブロックと、
前記データに少なくとも一部基づき、前記１つまたは複数の機能ブロックのうちの１つの機能ブロックに対して、所与の時間間隔中に平均電力消費を決定し、
前記平均電力消費が所望の電力消費を超えているという判断に応じて、現在の電力性能状態（Ｐ状態）よりも低いＰ状態を選択し、
前記平均電力消費値が前記所望の電力消費より少ないという判断に応じて、現在のＰ状態よりも高いＰ状態を選択するように構成された電力マネージャと、
を備えるコンピューティングシステム。
【請求項２】
前記所望の電力消費が、前記より高いＰ状態よりも低く、かつ前記より低いＰ状態よりも高い、仮想Ｐ状態に対応し、前記電力マネージャが、前記より高いＰ状態または前記より低いＰ状態のいずれかよりも前記所望の電力消費にもっと厳密に一致する平均電力消費を長い期間をかけて生成するために、前記より高いＰ状態および／またはより低いＰ状態を交互に選択するように構成された、請求項１に記載のコンピューティングシステム。
【請求項３】
前記電力マネージャが、
前記平均電力消費が前記所望の電力消費を、少なくとも、ゼロよりも大きい絶対値をもつ第１の変化量だけ超えているという判断にさらに応じて、前記より低いＰ状態を選択し、
前記平均電力消費が前記所望の電力消費を、少なくとも、ゼロよりも大きい絶対値をもつ第２の変化量だけ下回っているという判断にさらに応じて、前記より高いＰ状態を選択するように構成された、請求項１に記載のコンピューティングシステム。
【請求項４】
前記所望の電力消費が、前記１つまたは複数の機能ブロックに対する熱設計電力に対応する、請求項３に記載のコンピューティングシステム。
【請求項５】
前記電力マネージャが、対応する閾値に達する率に基づき、前記現在のＰ状態から２状態以上離れたＰ状態を選択するようにさらに構成された、請求項２に記載のコンピューティングシステム。
【請求項６】
新しいＰ状態を選択する前に、前記電力マネージャが、前記１つまたは複数の機能ブロックが所与の期間、現在のＰ状態で動作していることを判断するようにさらに構成された、請求項１に記載のコンピューティングシステム。
【請求項７】
前記電力マネージャが、
前記所望の電力消費と複数の機能ブロックの電力消費値との間で、長い期間をかけて、符号付き累算差分を決定し、
前記符号付き累算差分が、ゼロよりも大きい絶対値をもつ第１の変化量より大きいという判断にさらに応じて、前記低いＰ状態を選択し、
前記符号付き累算差分が、絶対値がゼロよりも大きい第２の変化量より少ないという判断にさらに応じて、前記より高いＰ状態を選択するようにさらに構成された、
請求項１に記載のコンピューティングシステム。
【請求項８】
前記時間間隔がＮ個の機能ブロックサンプル間隔の最大カウントを含み、前記電力マネージャが、前記符号付き累算差分の符号が変わったか、または前記カウントがＮに達したかの検出に応じて、どちらが最初に起こったかにより、前記カウントをリセットするようにさらに構成された、請求項７に記載のコンピューティングシステム。
【請求項９】
安定した仮想動作点を作成するために複数の離散動作点を管理するための方法であって、
１つまたは複数の機能ブロックの活動レベルに応じてデータを生成することと、
前記データに少なくとも一部基づき、前記１つまたは複数の機能ブロックのうちの１つの機能ブロックに対して、所与の時間間隔中に平均電力消費を決定することと、
前記平均電力消費が所望の電力消費を超えているという判断に応じて、現在の電力性能状態（Ｐ状態）よりも低いＰ状態を選択することと、
前記平均電力消費値が前記所望の電力消費よりも少なくとも第２の変化量だけ少ないという判断に応じて、現在のＰ状態よりも高いＰ状態を選択することと
を含む方法。
【請求項１０】
前記所望の電力消費値が、前記より高いＰ状態よりも低く、かつ前記より低いＰ状態よりも高い、仮想Ｐ状態に対応し、前記方法が、前記より高いＰ状態または前記より低いＰ状態のいずれかよりも前記所望の電力消費レベルにもっと厳密に一致する平均電力消費レベルを長い期間をかけて生成するために、前記より高いＰ状態および／またはより低いＰ状態を交互に選択することをさらに含む、請求項９に記載の方法。
【請求項１１】
前記平均電力消費が前記所望の電力消費を、少なくとも、ゼロよりも大きい絶対値をもつ第１の変化量だけ超えているという判断にさらに応じて、前記より低いＰ状態を選択することと、
前記平均電力消費が前記所望の電力消費を、少なくとも、ゼロよりも大きい絶対値をもつ第２の変化量だけ下回っているという判断にさらに応じて、前記より高いＰ状態を選択することとをさらに含む、請求項９に記載の方法。
【請求項１２】
前記所望の電力消費値が、前記１つまたは複数の機能ブロックに対する熱設計電力に対応する、請求項１１に記載の方法。
【請求項１３】
対応する閾値に達する率に基づき、前記現在のＰ状態から２状態以上離れたＰ状態を選択することをさらに含む、請求項１０に記載の方法。
【請求項１４】
新しいＰ状態を選択する前に、前記方法が、前記１つまたは複数の機能ブロックが所与の期間、前記現在のＰ状態で動作していることを判断することをさらに含む、請求項９に記載の方法。
【請求項１５】
前記所望の電力消費値と複数の機能ブロックの電力消費値との間で、長い期間をかけて、符号付き累算差分を決定することと、
前記符号付き累算差分が、ゼロよりも大きい絶対値をもつ第１の変化量より大きいという判断にさらに応じて、前記より低いＰ状態を選択することと、
前記符号付き累算差分が、絶対値がゼロよりも大きい第２の変化量より少ないという判断にさらに応じて、前記より高いＰ状態を選択することとをさらに含む、
請求項９に記載の方法。
【請求項１６】
前記時間間隔がＮ個の機能ブロックサンプル間隔の最大カウントを含み、前記方法が、前記符号付き累算差分の符号が変わったか、または前記カウントがＮに達したかの検出に応じて、どちらが最初に起こったかにより、前記カウントをリセットすることをさらに含む、請求項１５に記載の方法。
【請求項１７】
安定した仮想動作点を作成するために複数の離散動作点を管理するように機能するプログラム命令を格納するコンピュータ可読記憶媒体であって、
前記プログラム命令が、
１つまたは複数の機能ブロックの活動レベルに応じてデータを生成し、
前記データに少なくとも一部基づき、前記１つまたは複数の機能ブロックのうちの１つの機能ブロックに対して、所与の時間間隔中に平均電力消費を決定し、
前記平均電力消費が所望の電力消費を超えているという判断に応じて、現在の電力性能状態（Ｐ状態）よりも低いＰ状態を選択し、
前記平均電力消費値が前記所望の電力消費値よりも少なくとも第２の変化量だけ少ないという判断に応じて、現在のＰ状態よりも高いＰ状態を選択するために実行可能な、
記憶媒体。
【請求項１８】
前記所望の電力消費値が、前記より高いＰ状態よりも低く、かつ前記より低いＰ状態よりも高い、仮想Ｐ状態に対応し、前記方法が、前記より高いＰ状態または前記より低いＰ状態のいずれかよりも前記所望の電力消費レベルにもっと厳密に一致する平均電力消費レベルを長い期間をかけて生成するために、前記より高いＰ状態および／またはより低いＰ状態を交互に選択することをさらに含む、請求項１７に記載の記憶媒体。
【請求項１９】
前記プログラム命令が、
前記平均電力消費が前記所望の電力消費を、少なくとも、ゼロよりも大きい絶対値をもつ第１の変化量だけ超えているという判断にさらに応じて、前記より低いＰ状態を選択し、
前記平均電力消費が前記所望の電力消費を、少なくとも、ゼロよりも大きい絶対値をもつ第２の変化量だけ下回っているという判断にさらに応じて、前記より高いＰ状態を選択するためにさらに実行可能な、
請求項１７に記載の記憶媒体。
【請求項２０】
新しいＰ状態を選択する前に、前記プログラム命令が、前記１つまたは複数の機能ブロックが所与の期間、前記現在のＰ状態で動作していることを判断するためにさらに実行可能な、請求項１９に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューティングシステムに関し、より詳細には、プロセッサ離散動作点の効率的な管理に関する。
【背景技術】
【０００２】
（関連技術の説明）
最新の集積回路（ＩＣ）の電力消費は、各世代の半導体チップに関して深刻化する設計問題になっている。電力消費が増加するにつれて、余分な熱を除去して、ＩＣ障害を防ぐために、より大きなファンおよび放熱板などの、より費用のかかる冷却システムが利用される。しかし、冷却システムはシステム費用を増大させる。ＩＣの電力散逸制約は、ポータブルコンピュータおよびモバイル通信装置に関してのみならず、複数のプロセッサコア、またはコア、および１コア内に複数のパイプラインを含み得る、高性能のスーパースカラー(superscalar)マイクロプロセッサに関しても問題である。
【０００３】
最新の相補型金属酸化膜半導体（ＣＭＯＳ）チップなどのＩＣの電力消費は、少なくとも式ｆＶ２に比例する。記号ｆは、チップの動作周波数である。記号Ｖは、チップの動作電圧である。最新のマイクロプロセッサでは、両方のパラメータｆおよびＶは、ＩＣの動作中に変動し得る。例えば、動作中、最新のプロセッサは、ユーザーが、最大性能状態と最小電力状態との間の、１つまたは複数の中間電力性能状態を選択できるようにする。最大性能状態は最大動作周波数を含み、最小電力状態は最小動作周波数を含む。中間離散電力性能状態（Ｐ状態）は、動作周波数と動作電圧の組合わせに対する所与の目盛りの付けられた値を含む。
【０００４】
オペレーティングシステムもしくはファームウェアなどのソフトウェア、またはハードウェアは、少なくとも状態が変わる推定時間、選択した電力制限、作業負荷特性、および現在の作業負荷に対応するオンチップ（on-chip）電力モニターからの入力に基づいて、特定のＰ状態を選択し得る。しかし、動作周波数および動作電圧の計算された組合わせは、通常、所与の離散Ｐ状態に対応する組合わせと一致しない。従って、厳密に一致する所与のＰ状態が選択される。通常、この選択されたＰ状態は、計算された電力制限よりも低い電力消費に相当し得る。その結果、選択されたＰ状態の性能は、計算された電力制限よりも低い。動作周波数および電圧のより細かい粒度の組合わせを提供するために、さらにいくつかの離散Ｐ状態が追加されると、プロセッサの設計および検査費用が増大する。
【０００５】
前述を考慮すると、プロセッサの離散動作点を管理するための効率的な方法および機構が望まれる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
安定した仮想動作点を作成するために複数の離散動作点を管理するためのシステムおよび方法が検討される。
【課題を解決するための手段】
【０００７】
一実施形態では、プロセッサは、いくつかの機能ブロックおよび電力マネージャを含む。機能ブロックの各々は、それぞれの機能ブロックに関連した活動レベルに対応するデータを生成する。電力マネージャは、所与のサンプル間隔ごとに一度、そのデータに基づいて電力消費値を決定する。さらに、電力マネージャは、所与の電力目標と電力消費値との間で、長い期間をかけて符号付き累算差分を決定する。一実施形態では、電力目標は、プロセッサに対する熱設計電力（ＴＤＰ：ｔｈｅｒｍａｌ  ｄｅｓｉｇｎ  ｐｏｗｅｒ）に対応し得る。様々な実施形態では、非生産的なＰ状態遷移を回避するために、ヒステリシスが使用され得る。かかる実施形態では、電力マネージャは、符号付き累算差分が、負の閾値よりも所与の変化量以上少ない場合、現在のＰ状態よりも低い電力性能状態（Ｐ状態）を選択する。符号付き累算差分が、正の閾値よりも所与の変化量以上大きい場合、電力マネージャは、現在のＰ状態よりも高いＰ状態を選択する。別のＰ状態への遷移が許可される前に、あるＰ状態での最低限の滞在が必要とされ得る実施形態が検討される。
【０００８】
これらおよび他の実施形態は、以下の説明および図を参照すると、さらに理解されるであろう。
【図面の簡単な説明】
【０００９】
【図１】半導体チップに対する電力性能状態遷移の一実施形態の一般化ブロック図である。
【図２】コア電力管理の一実施形態の一般化ブロック図である。
【図３】安定した仮想動作点を作成するために複数の離散動作点を管理するための方法の一実施形態の流れ図である。
【図４】コア電力管理システムの一実施形態の一般化ブロック図である。
【図５】安定した仮想動作点を作成するために複数の離散動作点を管理するための方法の一実施形態の流れ図である。
【発明を実施するための形態】
【００１０】
本発明は、様々な修正および代替形態の影響を受けやすいが、特定の実施形態が例として図に示され、本明細書で詳述される。しかし、図およびそれらの詳細な説明は、本発明を開示した特定の形態に制限することを意図するものではなく、それとは逆に、本発明は、添付の特許請求の範囲によって定義されるように、本発明の精神および範囲に含まれる全ての修正、相当物および代替手段をカバーすることが理解されるべきである。
【００１１】
以下の説明では、本発明の完全な理解を提供するために、多数の具体的詳細が明記されている。しかし、当業者は、これらの具体的詳細なしでも本発明が実施され得ることを認識すべきである。いくつかの場合には、本発明を分かり難くするのを回避するために、周知の回路、構造、および技術が詳細には示されていない。
【００１２】
図１を参照すると、半導体チップに対する電力性能状態遷移１００の一実施形態が示されている。２本の曲線が、電力対電圧と周波数対電圧との間の非線形（例えば、三次または二次）関係を示す図に示されている。５つの離散電力性能状態（Ｐ状態）が、Ｐ０〜Ｐ４として図に示されている。図を簡略化するため、少数の離散Ｐ状態を示す。５つの離散Ｐ状態のみを示しているが、他の数の離散Ｐ状態もサポートされ得る。
【００１３】
図に示すように、Ｐ状態Ｐ４は、サポートされる全離散状態のうちの最低性能の離散状態に対応し得、最低の動作周波数を含む。さらに、Ｐ状態Ｐ４は、サポートされる全離散状態のうちの最低電力消費の離散状態に対応し得、最低の動作電圧を含む。他方、Ｐ状態Ｐ０は、サポートされる全離散状態のうちの最高性能の離散状態に対応し得、最高の動作周波数を含む。さらに、Ｐ状態Ｐ０は、サポートされる全離散状態のうちの最高電力消費の離散状態に対応し得、最高の動作電圧を含む。通常、Ｐ状態Ｐ０およびＰ４によって表される終点離散状態は、予測可能な性能の範囲を定義する。従って、非線形の周波数対電圧曲線に沿って、複数のＰ状態または動作点をサポートするようにプロセッサを構成すると、プロセッサなどの半導体チップに対して、安定した、電力の最適利用および性能の供給を提供し得る。Ｐ状態の管理は、元々はＩｎｔｅｌ  Ｃｏｒｐ．、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．、および株式会社東芝によって開発された、電力制御インタフェース（ＡＣＰＩ）規格などの業界標準に準拠し得る。
【００１４】
図に示すように、電力目標１（所望の電力消費レベル）が、チップに対して選択され得る。一実施形態では、選択した電力目標１が、そのチップの熱設計電力（ＴＤＰ）に対応し得る。熱設計電力（ＴＤＰ）は、熱設計点（ｔｈｅｒｍａｌ  ｄｅｓｉｇｎ  ｐｏｉｎｔ）とも呼ばれ得、コンピュータ内の冷却システムが散逸することができる最大電力量を表す。ラップトッププロセッサ用の冷却システムは、２０ワットＴＤＰに合わせて設計され得る。従って、その冷却システムは、プロセッサ内でトランジスタに対する最高接合部温度を超えることなく、２０ワットを散逸することができるということが決定されている。ＴＤＰ値は、チップを製造する半導体メーカーによって異なり得る。例えば、あるメーカーは、ＴＤＰ値を、所与の最悪の場合の温度条件下で、既定の電圧レベルで測定した電力値として定義し得る。別のメーカーは、チップが通常のアプリケーション対高電力のウィルスアプリケーションを実行するので、ＴＤＰ値を、所与の間隔に渡って測定した最大電力値として定義し得る。別の測定定義も可能であり検討される。
【００１５】
一実施形態では、ダイ１０２のプレシリコン（ｐｒｅ−ｓｉｌｉｃｏｎ）モデル上で実行される電力モデルが、電力測定を実行し得る。設計段階の後半で、電力測定は、テスト段階およびデバッグ段階中に、実際の製造されたシリコンダイ上で実行され得る。一実施形態では、チップに対するピーク電力値が、コア上で高電力アプリケーションを実行するチップの機能的な不具合によって定義され得る。ＴＤＰ値は、通常、ピーク電力値よりも低い。ＴＤＰ値は、ビニング（ｂｉｎｎｉｎｇ）目的のため、チップの動作電圧および動作周波数を設定するために使用され得る。
【００１６】
図１の値電力目標１は、割り当てられたＴＤＰ値を表し得る。図１に示すように、電力目標１は、電力対電圧の非線形曲線上のデータ点Ａに対応する。データ点Ａは、動作電圧Ｖ２に対応する。動作電圧Ｖ２に関して、非線形の周波数対電圧曲線上のデータ点Ａを突き出ると、データ点Ａ´が提供される。データ点Ａ´は、動作周波数Ｆ２に対応する。動作電圧Ｖ２と動作周波数Ｆ２の組合わせによって表される動作点は、チップに対して、電力の最適利用および性能の供給を提供し得る。
【００１７】
前述し、図に示すように、電力目標１に対する動作点は、データ点Ａ´によって識別される。しかし、この動作点は、電力対周波数曲線上の離散Ｐ状態によって表されない。データ点Ａ´は、Ｐ状態Ｐ１とＰ２との間に位置する。電力消費を削減するため、Ｐ状態Ｐ２は、対応するチップに対する最初の動作点として選択され得る。動作電圧Ｖ１と動作周波数Ｆ１の対応する組合わせは、結果として選択された動作点であり得る。この動作点は、値電力目標１より低い電力消費値に対応する。値電力Ｐ２は、Ｐ状態Ｐ２に対応する動作点の低い電力消費値を示す。
【００１８】
プロセッサなどのチップは、最初に割り当てられたＰ状態を利用して、（ｉ）作業負荷が著しく変化して、報告された活動レベルにおいて著しい変化を引き起こすか、または（ｉｉ）電力モニタリングソフトウェアもしくはファームウェアによって調整されているような、最初のＴＤＰ値が変化して、図に示す電力目標値を変更するかのいずれかまで、作業負荷の処理を継続し得る。例えば、プロセッサが、やがて所与の時点で半分になる作業負荷に対する命令を実行している場合、結果として生じる全ての引き出された電流および熱エネルギーは著しく削減されるであろう。一実施形態では、当プロセッサ内に配置され得る、電力マネージャは、この状態を検出し得、それに応じて、より高い電力性能動作点に対応する異なるＰ状態を選択し得る。例えば、電力マネージャは、現在のＰ状態Ｐ２をより高い性能のＰ状態Ｐ１に増大つまりブーストすることを決定し得る。議論を進めるために、より高い性能のＰ状態は、より小さい数字をもち得る。例えば、Ｐ０は、Ｐ１より高い電力性能状態を表し得る。しかし、指定は、Ｐ０が、Ｐ１より低い電力性能状態を表すために使用されるように、逆にできる。指定のために選択されたアプローチは、単に好みの問題であり得る。
【００１９】
Ｐ状態の「スロットル」は、現在選択されているＰ状態を１つ（または複数）のＰ状態だけ、低い電力消費のＰ状態に下げることを含む。Ｐ状態の「ブースト」は、現在選択されているＰ状態を１つ（または複数）のＰ状態だけ、高い性能のＰ状態に高めることを含む。Ｐ状態Ｐ２のスロットル調整は、現在選択されているＰ状態Ｐ２をより低い電力性能状態Ｐ３へ遷移することを含む。一例としてのＰ状態Ｐ２など、所与のＰ状態のブーストおよびスロットル調整の単純な図を図１に示す。いくつかの実施形態では、各ブースト操作および各スロットル操作は、論理回路がこの追加された複雑さをサポートする場合、現在選択されているＰ状態を２つ以上のＰ状態だけ、遷移させ得る。Ｐ状態遷移は、プロセッサ内の論理回路によって制御され得、従って、自己完結システムである。しかし、プロセッサまたはプロセッサの外部に配置されたラックコントローラ上で実行する電力管理ソフトウェアは、プロセッサに対するＴＤＰ値を変更し得、それは、図における電力目標値を変える。
【００２０】
図１においてＰ状態Ｐ２によって示される動作点は、電力目標１値よりも少ない電力を消費するが、Ｐ２によって示される動作点は、性能もより低い。測定された活動レベルにおいて著しい変化が生じるまで、より低い性能のＰ状態を維持するよりもむしろ、プロセッサは、現在の作業負荷に対して平均的な「仮想」動作点を達成するために、２つの離散Ｐ状態間でトグルで切り換え得る。例えば、電力マネージャは、Ｐ状態Ｐ１へブーストする前に、同一の作業負荷に対してＰ状態Ｐ２を利用する時間を決定し得る。同様に、電力マネージャは、Ｐ状態Ｐ２へスロットルする前に、同一の作業負荷に対してＰ状態Ｐ１を利用する時間を決定し得る。このプロセスは、作業負荷が著しく変化するまで何度も起こり得る。動作電圧および周波数に加えて、特定のＰ状態で費やした時間の平均は、図１においてデータ点Ａ´によって表される「仮想」動作点をプロセッサが利用していた結果をもち得る。かかる方法は、任意の電力制限設定を有する柔軟な電力管理が、任意の作業負荷に対して、安定した仮想動作点（または仮想Ｐ状態）を、既存の離散Ｐ状態上に構築することにより、達成できるようにする。
【００２１】
ここで図２を参照すると、コア電力管理システム２００の一実施形態が示されている。長期間にわたる動作電圧２１０および測定された活動レベル２２０に対する変化が示されている。さらに、電力目標２３５および平均電力対電力目標比率２３０が長期間にわたって示されている。図２に示すように、活動レベルが著しい変化を経験する場合および活動レベルが一定の場合の両方で、Ｐ状態遷移がある。図では、Ｐ状態遷移は動作電圧２１０における変化と関連がある。いくつかのＰ状態値が、図でラベルを付けられている。例えば、一定の活動レベル２２０で、Ｐ状態Ｐ１が、図に示すように低い動作電圧を有する、Ｐ状態Ｐ２へ遷移する。測定された活動レベルが一定の場合のＰ状態値間でのトグル切替えは、Ｐ状態ディザリングと呼ばれ得る。Ｐ状態ディザリングは、ＴＤＰ値などの、チップ上で消費される平均電力と電力目標との間で１（ｕｎｉｔｙ）に近い比率を維持するために使用され得る。１に近いかかる比率を維持することにより、チップは、所望の量の電力（例えば、対応する冷却システムによって散逸される電力量）を消費しながら、性能を最大限にしようとし得る。
【００２２】
ここで図３を参照すると、相対的に安定した仮想動作点を作成するために、複数の離散動作点を管理するための方法３００の一実施形態が示されている。議論を進めるために、この実施形態および後述する方法の後続の実施形態におけるステップは、連続した順序で示されている。しかし、いくつかのステップは、示された順序とは異なる順序で起こり得、いくつかのステップは同時に実行され得、いくつかのステップは他のステップと組み合わされ得、またいくつかのステップは別の実施形態では欠けている可能性がある。
【００２３】
ブロック３０２では、チップのダイ（die）に対する電力使用目標が初期化される。前述した方法を含めて、電力使用目標を選択するための様々な方法のいずれかが使用され得る。ブロック３０４では、そのダイに対する初期の離散電力性能状態（Ｐ状態）が所与の作業負荷において決定される。ファームウェアなどのソフトウェアおよび／またはハードウェアは、Ｐ状態を決定し得る。図に示されるようなプロセスが、Ｐ状態を決定するために使用され得る。そのダイに対する平均電力消費が、次いでブロック３０６で測定される。かかる測定の詳細な説明が後で提供される。ブロック３０８で、測定された平均電力消費が、電力目標と比較されて、差分が決定される。一実施形態では、この差分は他の決定された差分と累算され得る。例えば、累算差分値は保持され得る。別のＰ状態への遷移は、目標電力と測定された電力との間の差分の検出に応じて開始され得るが、かかるアプローチは、Ｐ状態間の非生産的な遷移を引き起こし得る。それ故、一実施形態では、かかる不要な遷移を防ぐために、様々な技術が利用される。一実施形態では、累算差分がＰ状態遷移を引き起こすのに十分な場合を判断するために、所与の変化量（ｄｅｌｔａ）が使用される。例えば、測定された平均電力が目標電力を所与の変化量以上に超えると、高いＰ状態への遷移が開始され得るか、または許可され得る。同様に、測定された平均電力が目標電力を少なくとも所与の変化量だけ下回ると、低いＰ状態への遷移が開始され得るか、または許可され得る。前述した変化量は、必要に応じて、超えるかまたは単に満足する必要がある値として利用できることに留意されたい。いくつかの場合には、高いか、または低い状態への遷移の両方に対する所与の変化量は、（絶対値に関して）同じであり得る。他の実施形態では、高い状態への遷移に対して、低い状態への遷移とは異なる変化量値が使用できる。かかる全ての実施形態が検討される。さらに、変化量値は、様々な実施形態において、プログラム可能であり得るか、またはそうではない。前述に加えて、Ｐ状態遷移が起こり得るか否かを判断するために、さらなる条件が利用され得る。例えば、いくつかの実施形態では、遷移が許可される前に、Ｐ状態における最低限の滞在が必要とされ得る。さらに、かかる最低限の滞在に関する考察が、図５についての議論で提供される。ブロック３１０では、累算差分が所与の変化量に達すると、別のＰ状態への遷移が起こり得る。例えば、電力マネージャは、長期間に渡る前述の比較に対応する符号付き累算差分が所与の閾値を下回る場合、現在のＰ状態よりも低い電力性能状態（Ｐ状態）を選択し得る。より低いＰ状態は、通常、電力目標よりも低い電力消費値に相当し得る。同様に、電力マネージャは、長期間に渡る前述の比較に対応する符号付き累算差分が所与の変化量を上回る場合、現在のＰ状態よりもより高いＰ状態を選択し得る。
【００２４】
再度、図２を参照すると、活動レベル２２０は作業負荷を追跡し得る。図２の実施形態に示すように、平均電力の電力目標に対する比率が１から変動するときに、Ｐ状態遷移が起こる。様々な実施形態では、Ｐ状態遷移がいつ起こるかを判断するために、所与の閾値分散が使用され得る。あるいは、符号付き累算差分が、比率よりむしろ、測定された平均電力と電力目標との間で見つかり得る。さらなる詳細を提供する前に、作業負荷を追跡するために活動レベルを測定する一実施形態について説明する。
【００２５】
図４を参照すると、コア電力管理４００の一実施形態が示されている。ここで、コア１０２は、任意の集積回路（ＩＣ）であり得る。一実施形態では、コア１０２は、プロセッサコアであり得る。プロセッサコアは、オンダイ（on −die） 命令およびデータキャッシュをもち得る。プロセッサコアは、単一のパイプラインまたは複数のパイプラインを備えたスーパースカラープロセッサであり得る。別の実施形態では、コア１０２は特定用途向けＩＣ（ＡＳＩＣ）であり得る。コア１０２を実装するために、任意のトランジスタファミリーが使用され得る。例には、金属酸化膜半導体電界効果トランジスタ（ＭＯＳＦＥＴ）およびバイポーラ接合トランジスタ（ＢＪＴ）を含む。
【００２６】
機能ブロック１１０は、論理関数を実行するように構成されたトランジスタ、データ記憶、またはその他を含み得る。電力管理目的のため、機能ブロック１１０は、ユニット１３２ａ〜１３２ｄに分割され得る。本明細書では、後ろに英字の付いた参照番号で参照される要素は、まとめて番号だけで参照され得る。例えば、ユニット１３２ａ〜１３２ｄは、まとめてユニット１３２と呼ばれ得る。一実施形態では、ユニット１３２は、リオーダ（ｒｅｏｒｄｅｒ）バッファ、メモリ管理ユニット、実行ユニットなどの、プロセッサの機能コンポーネントに相当しない可能性がある。むしろ、ユニット１３２は、電力管理目的用にサンプリングする信号の種類に基づいて選択され得る。例えば、一実施形態では、サンプリングするために選択された信号は、ローカルクロック分配ブロックにルーティングされるクロックイネーブル信号を含む。
【００２７】
特定のクロックサイクル中にどの信号をサンプリングするかの選択は、その選択をユニット１３２内のスイッチングノード容量とどのようにうまく関連付けるかに対応し得る。クロックイネーブル信号など、サンプリングするために選択された信号は、フロアプラン内の機能ブロックと重複し得る。したがって、例えば、ユニット１３２ａおよび１３２ｂを分離する区分は、フロアプラン内の区分に対応しない可能性がある。ユニット１３２は、電力を消費するユニットであり、この電力はリアルタイムで測定される。現在の作業負荷に関連付けられたダイの活動レベルは、選択されたサンプリングする信号に関連付けられた値または重みに対応し得る。
【００２８】
一実施形態では、電力モニター１３０が、所与のサンプリングされた信号全ての論理値など、ユニット１３２からデータを収集するために使用され得る。一実施形態では、サンプリングされた信号の値が、連続的にスキャンアウトされ得る。したがって、選択された信号が、ユニット１１２の各々から単一のクロックサイクル内でサンプリングされ、次のサンプリングが実行される前に、連続してスキャンアウトされ得る。データの収集後、電力モニター１３０は、電力消費推定値を計算し得る。１つのモニター制御１３２が、各ユニット１３２に対応し得る。代替実施形態では、モニター制御１３２は、２つ以上のユニット１１２に対してデータを収集し、それらのユニット１１２に対する総電力消費推定値を計算し得る。さらに別の実施形態では、１つのモニター制御１３２（すなわち、制御１３２ａ）が、１つまたは複数のモニター制御１３２（すなわち、制御１３２ｂ〜１３２ｄ）からデータを収集するために、１つまたは複数の他のモニター制御１３２（すなわち、制御１３２ｂ〜１３２ｄ）との信号インタフェースを有し得る。次いで、１つまたは複数のモニター制御１３２に対する電力消費推定値が計算され得る。
【００２９】
信号サンプル１２０およびデータアウト１２２は、電力管理目的用に使用される制御およびデータ信号であり得る。電力モニター１１０と機能ブロック１３０との間のインタフェース信号は、任意の必要な数の信号および通信プロトコルを含み得る。一実施形態では、制御信号サンプル１２０は、１００クロックサイクル毎など、選択した繰返し間隔中に、単一のクロックサイクルに対してのみ行使され得る。一実施形態では、制御信号サンプル１２０が行使された後、所与の数のクロックサイクルで、データ信号データアウト１２２が、各クロックサイクルの異なるサンプリングされた信号に対して、論理値の提供を開始し得る。言い換えれば、データ信号データアウト１２２は、特定のサイクルでサンプリングされた信号の論理値を含む一連の値を完全にスキャンするために使用され得る。また、他の実施形態では、モニター制御１３２とユニット１１２の各対の間に、単一対の信号がない可能性がある。代替実施形態では、モニター制御１３２がユニット１１２をポーリング（poll)するため、ユニット１１２が出力データを伝達する準備ができていることをモニター制御１３２に対して肯定応答するために、追加の信号が含まれ得る。
【００３０】
所与の時間間隔中に複数のサンプルが取得され得る。活動レベルを計算する前に使用する断続的なクロックサイクル数の決定は、サンプリングされたデータの所望の精度および信頼性によって決まり得る。スプレッドシートまたはルックアップテーブルが、アプリケーションの実際の電力消費およびサンプリングからの推定電力消費の両方の統計分析および測定の両方を用いて、生成され得る。統計分析をさらに展開するために、信頼性レベルおよび誤り率が選択され得る。リアルタイム電力推定方法の一例に、２００８年４月１１日に出願された「Ｓａｍｐｌｉｎｇ  Ｃｈｉｐ  Ａｃｔｉｖｉｔｙ  ｆｏｒ  Ｒｅａｌ  Ｔｉｍｅ  Ｐｏｗｅｒ  Ｅｓｔｉｍａｔｉｏｎ」という名称の出願整理番号第１２／１０１，５９８号があり、その内容全体が参照により本明細書に組み込まれる。
【００３１】
電力モニター１３０が、機能ブロック１１０から繰返し間隔にわたって受信したデータから電力消費推定値を計算するとき、電力モニター１３０は、現在実行しているアプリケーションの電力プロファイルを決定している。この決定は、電力マネージャ１４０に伝達される。電力マネージャ１４０は、アプリケーションが閾値制限を上（下）回っている場合に電力を削減（または増加）するために、機能ブロック１１０の動作点を変更し得る。例えば、電力マネージャ１４０は、現在のＰ状態をブーストまたはスロットルさせて、別の所与のＰ状態へ遷移させ得る。
【００３２】
一実施形態では、上記した特定の期間中、電力マネージャ１４０は、電力モニター１３０によって提供された電力プロファイルと電力目標との間で符号付きの継続的な累算差分を計算し得る。この場合も、電力目標は熱設計点（ＴＤＰ）であり得る。累算差分は、各所与の時間間隔の終わりに、ＡｃｃＴｄｐＤｅｌｔａ＝ＡｃｃＴｄｐＤｅｌｔａ＋（ＴＤＰ−ＲｃｖｄＰｗｒ）として計算され得る。ここで、変数ＡｃｃＴｄｐＤｅｌｔａは、符号付きの継続的な累算差分である。変数ＴＤＰは、割り当てられた熱設計電力、または相当数の熱クレジット（ｔｈｅｒｍａｌ  cｒｅｄｉｔ）である。変数ＲｃｖｄＰｗｒは、電力モニター１３０から受信した電力消費推定値である。この値は、機能ブロック１１０内のサンプリングされた信号を測定することにより、ダイの活動レベルを追跡し得る。
【００３３】
変数ＲｃｖｄＰｗｒによって表される測定された活動レベルがＴＤＰより高ければ、累算値ＡｃｃＴｄｐＤｅｌｔａは、負の値の方へ押される。累算値が負の所与の閾値に達すると、電力マネージャは、現在のＰ状態をスロットル調整することを決定し得る。再度、図１を参照すると、現在のＰ状態をスロットル調整する一例は、Ｐ状態Ｐ１からＰ状態Ｐ２へ遷移することであろう。かかる状況は、コア内で活動レベルが高い場合に起こり得る。活動レベルが高い値のままである場合、電力マネージャが徐々に現在のＰ状態をスロットル調整し続け得る。
【００３４】
測定された活動レベルがＴＤＰより低ければ、累算値ＡｃｃＴｄｐＤｅｌｔａは、正の値の方へ押される。累算値が正の所与の閾値に達すると、電力マネージャ１４０は、現在のＰ状態をブーストすることを決定し得る。再度、図１を参照すると、現在のＰ状態をブーストする一例は、Ｐ状態Ｐ２からＰ状態Ｐ１へ遷移することであろう。かかる状況は、コア内で活動レベルが低い場合に起こり得る。活動レベルが低い値のままである場合、電力マネージャが徐々に現在のＰ状態をブーストし続け得る。
【００３５】
電力マネージャ１４０は、電力モニター１３０から送信された情報が、温度情報ではなく、コア１０２内の実際の活動レベルおよび電力消費に相当する場合、コア１０２内の潜在的な熱的問題に対してより素早い対応を提供することができ得る。半導体チップダイのダイ全体に配置されているアナログまたはデジタルの熱センサーが、長い期間をかけて温度波形を決定し得る。熱センサーは、増大した計算活動に起因して、特定の領域でいつダイが熱くなるかに関する時の情報を提供する。しかし、これらのセンサーは、熱に関する各変化が、コア１０２内での計算に関連した電力消費の増加によるか、または周囲温度の上昇などの外部の環境要因によって駆動されたかにかかわらず、応答する。例えば、データセンター内のラックシステム内の周囲のサーバーが、周囲温度の上昇を引き起こし得る。特定のコア内のスイッチング容量は、時間間隔にわたって変化しないかもしれないが、センサーは、周囲温度の上昇に起因した高い熱エネルギー消費を報告し得る。さらに、計算に関連した電力消費の増加と温度上昇との間に時間遅延がある。それ故、平均電力消費と電力目標との間で１の比率を維持しようとしながら、コア内の活動レベルとスイッチング容量に関連した測定値を温度の測定値と対比して、より良い結果が提供され得る。
【００３６】
ここで、図５を参照すると、安定した仮想動作点を作成するために、複数の離散動作点を管理するための方法５００の別の実施形態が示されている。議論を進めるために、この実施形態および後述する方法の後続の実施形態におけるステップは、連続した順序で示されている。しかし、いくつかのステップは、示された順序とは異なる順序で起こり得、いくつかのステップは同時に実行され得、いくつかのステップは他のステップと組み合わされ得、またいくつかのステップは別の実施形態では欠けている可能性がある。
【００３７】
ブロック５０２では、半導体チップが１つまたは複数のソフトウェアアプリケーションの命令を実行する。所与のサンプリング間隔の終わりに達すると（条件ブロック５０４）、ブロック５０６で、電力消費推定値が決定され、電力マネージャに伝達される。電力消費推定値は、前述したように、機能ブロック内で選択した信号をサンプリングすること、および対応する重みをサンプリングされた信号に関連付けることにより見つかり得る。決定した電力推定値のカウントに対応するカウンタの値が増加され得る。ブロック５０８では、電力マネージャが、ＴＤＰなどの所与の電力目標と、受信した電力消費値との間で符号付き累算差分を計算し得る。その計算は、前述したように、ＡｃｃＴｄｐＤｅｌｔａ＝ＡｃｃＴｄｐＤｅｌｔａ＋（ＴＤＰ−ＲｃｖｄＰｗｒ）であり、式中、変数ＲｃｖｄＰｗｒは、受信した電力消費値を表す。
【００３８】
Ｐ状態遷移が起こる場合、符号付き累算差分ＡｃｃＴｄｐＤｅｌｔａは、別のサンプル間隔が起こる時まで、所与の閾値をまだ超えていることに留意されたい。例えば、Ｐ状態Ｐ２からＰ状態Ｐ１へのブーストは、ＡｃｃＴｄｐＤｅｌｔａが正のブースト閾値よりも大きい値に起因して起こり得る。Ｐ状態遷移の後、次の時間間隔で、符号付き累算差分ＡｃｃＴｄｐＤｅｌｔａは、正のブースト閾値よりもより大きい可能性がある。測定された電力消費値がＴＤＰ値を超えるのに十分な時間がなかった可能性がある。したがって、現在のＰ状態が所与の時間に最良の電力性能動作点を提供すると判断される前に、現在のＰ状態を素早くブーストし続けることは可能である。
【００３９】
前述のとおり、迅速なＰ状態遷移を防ぐため、次のＰ状態遷移は、現在のＰ状態遷移後の所与の間、起こるのが許可されない可能性がある。所与の期間は、最低限の滞在と呼ばれ得る。一実施形態では、現在のＰ状態遷移の後に許容可能な期間が経過しているかを判断するために、カウンタが使用され得る。そのカウンタ値は、所与の閾値と比較され得る。あるいは、カウンタが、所与の閾値と共にロードされ、ゼロの値まで減少され得る。この許容可能な期間が経過すると、別のＰ状態遷移が起こり得る。
【００４０】
さらに、累算差分ＡｃｃＴｄｐＤｅｌｔａに関して熟成値（ｖａｌｕｅ  ａｇｉｎｇ）が使用され得る。熟成値は、チップダイの加熱を防ぐのに役立ち得る。熟成された累算差分は、長い間、高い電力Ｐ状態間での遷移またはディザリング（dithering）のままであり得る。累算差分ＡｃｃＴｄｐＤｅｌｔａは、Ｐ状態がスロットル調整される場合、累算し続け得る。しばらくすると、累算差分は、ブースト用に利用可能な実際の熱エネルギーの上方空間をもはや表していない可能性がある。したがって、時々、累算差分ＡｃｃＴｄｐＤｅｌｔａは、所与の期間の終わりに、リセット値に設定され得る。リセット値は、累算差分ＡｃｃＴｄｐＤｅｌｔａの現在の値の何分の１からゼロまで異なり得る。構成レジスタに格納された値が、リセット値を決定するために使用され得る。例えば、第１の格納された値は、累算差分ＡｃｃＴｄｐＤｅｌｔａに等しいリセット値に相当し得る。第２の格納された値は、シフトされた（例えば、２による除算、４による除算など）累算差分ＡｃｃＴｄｐＤｅｌｔａに等しいリセット値に相当し得る。第３の格納された値は、ゼロに等しいリセット値に相当し得る。
【００４１】
一例では減少され得るカウンタが、前述した所与の期間を設定し得る。そのカウンタは、値Ｎをロードし得、それは、構成レジスタに格納される。累算差分ＡｃｃＴｄｐＤｅｌｔａが各サンプルの終わりに更新される、Ｎ個のサンプルが生じた後、または時間間隔の後、累算差分ＡｃｃＴｄｐＤｅｌｔａがリセットされ得る。値Ｎと共にロードされたカウンタは、累算差分ＡｃｃＴｄｐＤｅｌｔａの符号が変わるたびにリセットされ得る。
【００４２】
再度、図５の方法５００を参照すると、Ｐ状態の最低限の滞在期間に達していない場合（条件ブロック５１０）、Ｎ個のサンプルが生じているか否かに関して、チェックが実行される。各サンプル間隔の終わりに、ダイに対して新しい電力消費値が決定され、新しい値が、累算差分ＡｃｃＴｄｐＤｅｌｔａに対して計算される。Ｎ個のサンプルのカウントが生じている場合（条件ブロック５１６）には、ブロック５１８で、累算差分ＡｃｃＴｄｐＤｅｌｔａが、前述のように、所与のリセット値に設定される。
【００４３】
Ｐ状態の最低限の滞在期間に達した場合（条件ブロック５１０）には、ブーストおよびスロットル閾値に関するチェックが実行される。符号付き累算差分ＡｃｃＴｄｐＤｅｌｔａが閾値を超えているか否かを判断するために比較が実行され得る。例えば、累算差分ＡｃｃＴｄｐＤｅｌｔａは、正のブースト閾値よりも大きい可能性がある。あるいは、累算差分ＡｃｃＴｄｐＤｅｌｔａは、負のスロットル閾値よりも小さい可能性がある。累算差分ＡｃｃＴｄｐＤｅｌｔａが閾値を超えている場合（条件ブロック５１２）には、ブロック５１４で、対応する次のＰ状態が、チップダイに対して選択される。例えば、符号付き累算差分ＡｃｃＴｄｐＤｅｌｔａが正の（ブースト）閾値よりも大きい場合は、現在のＰ状態よりも高い電力性能のＰ状態への遷移が起こり得る。あるいは、符号付き累算差分ＡｃｃＴｄｐＤｅｌｔａが負のスロットル閾値よりも小さい場合には、現在のＰ状態よりも低い電力性能のＰ状態への遷移が起こり得る。
【００４４】
一実施形態では、プロセッサが複数のコアを含む場合、電力消費推定値が各コア内で計算され得る。さらに、各コアが、符号付き累算差分ＡｃｃＴｄｐＤｅｌｔａを決定し得る。複数のコアのいずれかがブーストまたはスロットル閾値を超える場合、プロセッサ全体に対するＰ状態がそれに応じて遷移し得る。その後、方法５００の制御フローが条件ブロック５１６に進む。
【００４５】
前述の実施形態は、ソフトウェアを含み得ることに留意されたい。かかる実施形態では、説明したシステムおよび／または方法を表すプログラム命令および／またはデータベース（その両方とも「命令」と呼ばれ得る）は、伝達されるか、またはコンピュータ可読媒体上に格納され得る。一般的に、コンピュータアクセス可能記憶媒体は、使用中にコンピュータに命令および／またはデータを提供するために、コンピュータによってアクセス可能な任意の記憶媒体を含み得る。例えば、コンピュータアクセス可能記憶媒体には、磁気または光媒体などの記憶媒体、例えば、ディスク（固定または取外し可能）、テープ、ＣＤ−ＲＯＭ、もしくはＤＶＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、もしくはブルーレイなどを含み得る。記憶媒体には、ＲＡＭ（例えば、シンクロナスダイナミックＲＡＭ（ＳＤＲＡＭ）、ダブルデータレート（ＤＤＲ、ＤＤＲ２、ＤＤＲ３など）ＳＤＲＡＭ、低電力ＤＤＲ（ＬＰＤＤＲ２など）ＳＤＲＡＭ、Ｒａｍｂｕｓ  ＤＲＡＭ（ＲＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）など）、ＲＯＭ、フラッシュメモリ、ユニバーサルシリアルバス（ＵＳＢ）インタフェースなどの周辺インタフェースを介してアクセス可能な不揮発性メモリ（例えば、フラッシュメモリ）などの、揮発性または不揮発性の記憶媒体をさらに含み得る。記憶媒体には、微小電気機械システム（ＭＥＭＳ）ならびに、ネットワークおよび／または無線リンクなどの通信媒体を介してアクセス可能な記憶媒体を含み得る。
【００４６】
さらに、命令は、Ｃなどのプログラム言語、またはＶｅｒｉｌｏｇ、ＶＨＤＬなどの設計言語、またはＧＤＳ  ＩＩストリーム形式（ＧＤＳＩＩ）などのデータベース形式において、ハードウェア機能の動作レベル記述またはレジスタ転送レベル（ＲＴＬ）記述を含み得る。これらの命令は、次いで、システム（またはシステムの一部）を含むハードウェアを製作するために、読み取られ、使用され得る。いくつかの場合には、記述は、設計の実装を形成するために、合成ツール（例えば、コンピューティング装置上で実行するプログラムコード）によって読み取られ得る。例えば、かかるツールは、合成ライブラリ（ｓｙｎｔｈｅｓｉｓ  ｌｉｂｒａｒｙ）からのゲートのリストを含むネットリストを生成するため、記述を合成するために使用され得る。ネットリストは通常、システムを含むハードウェアの機能も表すゲートのセットを含み得る。ネットリストは、次いで、マスクに適用される幾何学的形態を記述するデータセットを生成するために配置およびルーティングされ得る。マスクは、次いで、システムに対応する半導体回路または回路を生産する様々な半導体製造ステップで使用され得る。あるいは、コンピュータアクセス可能記憶媒体上の命令は、必要に応じて、ネットリスト（合成ライブラリの有無に関わらない）またはデータセットであり得る。さらに、命令は、ＣａｄｅｎｃｅＲ、ＥＶＥＲ、およびＭｅｎｔｏｒ  ＧｒａｐｈｉｃｓＲの各ベンダーからのものなど、ハードウェアベースタイプのエミュレータによるエミュレーションのために利用され得る。例えば、かかる実施形態では、命令は、設計に従って実行するため、ＦＰＧＡベースのハードウェアを構成するために利用され得る。多数のかかる実施形態が可能であり、検討される。
【００４７】
前述の実施形態はかなり詳細に説明しているが、前述の開示を十分に理解すると、多数の変形および修正が当業者には明らかになるであろう。以下の特許請求の範囲が、かかる全ての変形および修正を包含するものと解釈されることを意図する。
【図１】
2013533548.tif 000003
【図２】
2013533548.tif 000004
【図３】
2013533548.tif 000005
【図４】
2013533548.tif 000006
【図５】
2013533548.tif 000007
【手続補正書】
【提出日】平成25年2月25日(2013.2.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
各々がそれぞれのブロックの活動レベルに応じてデータを生成するように構成された、１つまたは複数の機能ブロックと、
前記データに少なくとも一部基づき、前記１つまたは複数の機能ブロックのうちの１つの機能ブロックに対して、所与の時間間隔中に平均電力消費を決定し、
前記平均電力消費が所望の電力消費を超えているという判断に応じて、現在の電力性能状態（Ｐ状態）よりも低いＰ状態を選択し、
前記平均電力消費値が前記所望の電力消費より少ないという判断に応じて、現在のＰ状態よりも高いＰ状態を選択するように構成された電力マネージャと、
を備えるコンピューティングシステム。
【請求項２】
前記所望の電力消費が、前記高いＰ状態よりも低く、かつ前記低いＰ状態よりも高い、仮想Ｐ状態に対応し、前記電力マネージャが、前記高いＰ状態または前記低いＰ状態のいずれかよりも前記所望の電力消費にもっと厳密に一致する平均電力消費を長い期間をかけて生成するために、前記高いＰ状態および／または低いＰ状態を交互に選択するように構成された、請求項１に記載のコンピューティングシステム。
【請求項３】
前記電力マネージャが、
前記平均電力消費が前記所望の電力消費を、少なくとも、ゼロよりも大きい絶対値をもつ第１の変化量だけ超えているという判断にさらに応じて、前記低いＰ状態を選択し、
前記平均電力消費が前記所望の電力消費を、少なくとも、ゼロよりも大きい絶対値をもつ第２の変化量だけ下回っているという判断にさらに応じて、前記高いＰ状態を選択するように構成された、請求項１に記載のコンピューティングシステム。
【請求項４】
前記所望の電力消費が、前記１つまたは複数の機能ブロックに対する熱設計電力に対応する、請求項３に記載のコンピューティングシステム。
【請求項５】
前記電力マネージャが、対応する閾値に達する率に基づき、前記現在のＰ状態から２状態以上離れたＰ状態を選択するようにさらに構成された、請求項２に記載のコンピューティングシステム。
【請求項６】
新しいＰ状態を選択する前に、前記電力マネージャが、前記１つまたは複数の機能ブロックが所与の期間、現在のＰ状態で動作していることを判断するようにさらに構成された、請求項１に記載のコンピューティングシステム。
【請求項７】
前記電力マネージャが、
前記所望の電力消費と複数の機能ブロックの電力消費値との間で、長い期間をかけて、符号付き累算差分を決定し、
前記符号付き累算差分が、ゼロよりも大きい絶対値をもつ第１の変化量より大きいという判断にさらに応じて、前記低いＰ状態を選択し、
前記符号付き累算差分が、絶対値がゼロよりも大きい第２の変化量より少ないという判断にさらに応じて、前記高いＰ状態を選択するようにさらに構成された、
請求項１に記載のコンピューティングシステム。
【請求項８】
前記時間間隔がＮ個の機能ブロックサンプル間隔の最大カウントを含み、前記電力マネージャが、前記符号付き累算差分の符号が変わったか、または前記カウントがＮに達したかの検出に応じて、どちらが最初に起こったかにより、前記カウントをリセットするようにさらに構成された、請求項７に記載のコンピューティングシステム。
【請求項９】
安定した仮想動作点を作成するために複数の離散動作点を管理するための方法であって、
１つまたは複数の機能ブロックの活動レベルに応じてデータを生成することと、
前記データに少なくとも一部基づき、前記１つまたは複数の機能ブロックのうちの１つの機能ブロックに対して、所与の時間間隔中に平均電力消費を決定することと、
前記平均電力消費が所望の電力消費を超えているという判断に応じて、現在の電力性能状態（Ｐ状態）よりも低いＰ状態を選択することと、
前記平均電力消費値が前記所望の電力消費よりも少なくとも第２の変化量だけ少ないという判断に応じて、現在のＰ状態よりも高いＰ状態を選択することと
を含む方法。
【請求項１０】
前記所望の電力消費値が、前記高いＰ状態よりも低く、かつ前記低いＰ状態よりも高い、仮想Ｐ状態に対応し、前記方法が、前記高いＰ状態または前記低いＰ状態のいずれかよりも前記所望の電力消費レベルにもっと厳密に一致する平均電力消費レベルを長い期間をかけて生成するために、前記高いＰ状態および／または低いＰ状態を交互に選択することをさらに含む、請求項９に記載の方法。
【請求項１１】
前記平均電力消費が前記所望の電力消費を、少なくとも、ゼロよりも大きい絶対値をもつ第１の変化量だけ超えているという判断にさらに応じて、前記低いＰ状態を選択することと、
前記平均電力消費が前記所望の電力消費を、少なくとも、ゼロよりも大きい絶対値をもつ第２の変化量だけ下回っているという判断にさらに応じて、前記高いＰ状態を選択することとをさらに含む、請求項９に記載の方法。
【請求項１２】
新しいＰ状態を選択する前に、前記方法が、前記１つまたは複数の機能ブロックが所与の期間、前記現在のＰ状態で動作していることを判断することをさらに含む、請求項９に記載の方法。
【請求項１３】
前記所望の電力消費値と複数の機能ブロックの電力消費値との間で、長い期間をかけて、符号付き累算差分を決定することと、
前記符号付き累算差分が、ゼロよりも大きい絶対値をもつ第１の変化量より大きいという判断にさらに応じて、前記低いＰ状態を選択することと、
前記符号付き累算差分が、絶対値がゼロよりも大きい第２の変化量より少ないという判断にさらに応じて、前記高いＰ状態を選択することとをさらに含む、
請求項９に記載の方法。
【請求項１４】
安定した仮想動作点を作成するために複数の離散動作点を管理するように機能するプログラム命令を格納するコンピュータ可読記憶媒体であって、
前記プログラム命令が、
１つまたは複数の機能ブロックの活動レベルに応じてデータを生成し、
前記データに少なくとも一部基づき、前記１つまたは複数の機能ブロックのうちの１つの機能ブロックに対して、所与の時間間隔中に平均電力消費を決定し、
前記平均電力消費が所望の電力消費を超えているという判断に応じて、現在の電力性能状態（Ｐ状態）よりも低いＰ状態を選択し、
前記平均電力消費値が前記所望の電力消費値よりも少なくとも第２の変化量だけ少ないという判断に応じて、現在のＰ状態よりも高いＰ状態を選択するために実行可能な、
記憶媒体。
【請求項１５】
前記所望の電力消費値が、前記高いＰ状態よりも低く、かつ前記低いＰ状態よりも高い、仮想Ｐ状態に対応し、前記方法が、前記高いＰ状態または前記低いＰ状態のいずれかよりも前記所望の電力消費レベルにもっと厳密に一致する平均電力消費レベルを長い期間をかけて生成するために、前記高いＰ状態および／または低いＰ状態を交互に選択することをさらに含む、請求項１４に記載の記憶媒体。
【国際調査報告】
2013533548.tif 000008
2013533548.tif 000009
2013533548.tif 000010