(57)【特許請求の範囲】
【請求項１】
複数の電圧レベルをデバイスに供給する電圧源と、
前記電圧源と接続され、前記デバイスの過渡イベントを参照する過渡負荷イベントインジケータを受信する過渡制御ロジックとを備え、
前記過渡制御ロジックは、前記過渡負荷イベントインジケータを受信すると、前記電圧源に、前記複数の電圧レベルの公称電圧から外れたパルスを一定期間供給させる装置。
【請求項２】
前記デバイスの前記過渡イベントに応答して前記過渡負荷イベントインジケータを生成する過渡イベントロジックを更に備え、
前記過渡イベントは、前記デバイスの電流需要の測定された変化、前記デバイスの電力状態遷移を示す情報、及び、前記デバイスの電流需要が変化するであろうことを示す情報からなる一群から選択される請求項１に記載の装置。
【請求項３】
前記公称電圧から外れた前記パルスは、
前記デバイスの電流需要の増加を含む過渡イベントに応じて、前記公称電圧を上回るパルスを含み、
前記デバイスの電流需要の減少を含む前記過渡イベントに応じて、前記公称電圧を下回るパルスを含む請求項１又は２に記載の装置。
【請求項４】
前記過渡制御ロジックは、
パルスの電圧レベル及び時間の長さと関連付けられた前記過渡イベントを保持するエントリを有する過渡パルステーブルを保持し、前記過渡負荷イベントインジケータを受信すると前記過渡イベントに対応する前記過渡パルステーブル内の前記エントリを特定し、前記パルスの電圧レベル及び前記時間の長さを表す情報を前記電圧源に供給し、
前記電圧源は、前記パルスの電圧レベル及び前記時間の長さを前記過渡制御ロジックから受信したことに応答して、前記公称電圧から外れた前記電圧レベルの前記パルスを前記デバイスに供給する請求項１から３の何れか一項に記載の装置。
【請求項５】
前記過渡イベントは、前記デバイスの電力状態遷移を含み、
前記エントリは更に、前記デバイスの前記電力状態遷移に対応する前記パルスの開始時間を表す情報を保持する請求項４に記載の装置。
【請求項６】
電圧をプロセッサに供給する電圧源と、
前記プロセッサの負荷の変化を検出する過渡負荷センサと、
前記過渡負荷センサが前記プロセッサの前記負荷の前記変化を検出したことに応答して、前記プロセッサの前記負荷の前記変化を補償するべく、前記電圧源に、動的パルスを前記電圧に生成させる過渡制御ロジックと
を備え、
前記過渡制御ロジックは、前記動的パルスの振幅及び前記動的パルスの継続時間を、前記プロセッサの同じ大きさの前記負荷の変化の過去のプロファイル、及び、前の動的パルスの振幅及び継続時間の前記プロセッサの前記電圧に対する影響に基づいて、動的に調整する
装置。
【請求項７】
前記過渡制御ロジックは、前記プロセッサの前記負荷の前記変化の大きさと関連付けられた前記動的パルスの振幅及び前記動的パルスの継続時間をルックアップテーブルに保持し、
前記過渡制御ロジックは、前記過渡負荷センサが前記プロセッサの前記負荷の変化の前記大きさを検出したことに応答して、前記動的パルスの振幅及び前記動的パルスの継続時間を前記電圧源に供給する請求項６に記載の装置。
【請求項８】
前記過渡負荷センサは、前記プロセッサの電流需要の変化の大きさ及び前記プロセッサの電流需要の前記変化が測定された期間を検出し、
前記動的パルスの振幅が、前記プロセッサの電流需要の前記変化の前記大きさの関数であり、前記動的パルスの継続時間が、前記プロセッサの電流需要の前記変化の前記測定された期間の関数である請求項６に記載の装置。
【請求項９】
前記過渡負荷センサは、前記プロセッサの前記負荷の前記変化による前記プロセッサに供給される前記電圧の変化を検出し、
前記過渡制御ロジックは、前記過渡負荷センサが前記プロセッサに供給される前記電圧の前記変化の開始を検出するとすぐに、前記電圧源に、前記電圧に前記動的パルスを生成させる請求項６から８の何れか一項に記載の装置。
【請求項１０】
電圧をプロセッサに供給する電圧源と、
前記プロセッサの負荷の変化を検出する過渡負荷センサと、
前記過渡負荷センサが前記プロセッサの前記負荷の前記変化を検出したことに応答して、前記プロセッサの前記負荷の前記変化を補償するべく、前記電圧源に、動的パルスを前記電圧に生成させる過渡制御ロジックと
を備え、
前記過渡制御ロジックは、前記動的パルスの仕様を、前記プロセッサの同じ大きさの前記負荷の変化の過去のプロファイル、及び、前の動的パルスの仕様の前記プロセッサの前記電圧に対する影響に基づいて、動的に調整し、
前記動的パルスの仕様は、前記動的パルスの振幅及び前記動的パルスの継続時間の少なくとも一方を含む
装置。
【請求項１１】
電圧をプロセッサに供給する電圧源と、
前記プロセッサの負荷の変化を検出する過渡負荷センサと、
前記過渡負荷センサが前記プロセッサの前記負荷の前記変化を検出したことに応答して、前記プロセッサの前記負荷の前記変化を補償するべく、前記電圧源に、動的パルスを前記電圧に生成させる過渡制御ロジックと
を備え、
前記過渡制御ロジックは、前記動的パルスの仕様を、前の動的パルスの仕様の前記プロセッサの前記電圧に対する影響に基づいて、動的に調整し、
前記動的パルスの仕様は、前記動的パルスの振幅及び前記動的パルスの継続時間の少なくとも一方を含む
装置。
【請求項１２】
電圧をプロセッサの少なくとも一部分に供給する電圧源と、
前記プロセッサの前記少なくとも一部分の負荷の変化を予測する負荷予測器と、
前記負荷予測器及び前記電圧源と接続され、前記プロセッサの前記負荷の前記変化を補償するべく、前記電圧源に、動的パルスを前記電圧に生成させる過渡制御ロジックと
を備え、
前記過渡制御ロジックは、
前記プロセッサの前記負荷の前記変化に対して、時間軸上で複数の異なる大きさ及び継続時間を有する前記動的パルスを、前記電圧源に生成させ、
時間軸上で前記複数の異なる大きさ及び継続時間のそれぞれについて、前記電圧に対する影響を特定し、
時間軸上で前記複数の異なる大きさ及び継続時間のそれぞれについての前記電圧に対する前記影響に基づいて、前記複数の異なる大きさ及び継続時間のうちから、最適な大きさ及び継続時間を特定し、
前記複数の異なる大きさ及び継続時間のうちの前記最適な大きさ及び継続時間を有する前記動的パルスを、前記電圧源に生成させる
装置。
【請求項１３】
前記負荷予測器は、前記プロセッサの電力状態遷移のリクエストを検出し、前記電力状態遷移の前記リクエストに基づいて、前記プロセッサの前記少なくとも一部分の負荷の前記変化を予測する請求項１２に記載の装置。
【請求項１４】
前記過渡制御ロジックは、
前記プロセッサの前記電力状態遷移と前記電圧における前記動的パルスの複数の仕様とを関連付けるエントリを有するルックアップテーブルを保持し、
前記負荷予測器が前記プロセッサの前記電力状態遷移の前記リクエストを検出したことに応答して、前記ルックアップテーブル内の前記エントリから前記動的パルスの前記複数の仕様を、前記電圧源に供給し、
前記動的パルスの前記複数の仕様は、前記動的パルスの大きさ及び前記動的パルスの継続時間を含む
請求項１３に記載の装置。
【請求項１５】
前記動的パルスの前記複数の仕様は、前記動的パルスの開始時間をさらに含む請求項１４に記載の装置。
【請求項１６】
前記負荷予測器は、前記プロセッサの前記少なくとも一部分の電流需要のプロファイルを動的に追跡し、前記電流需要のプロファイルに基づいて、前記プロセッサの前記少なくとも一部分の前記負荷の前記変化を予測する
請求項１２から１５の何れか一項に記載の装置。
【請求項１７】
電力制御ユニットを有するプロセッサと、
前記プロセッサに電圧を供給する電圧源と、
前記電力制御ユニット及び前記電圧源に接続された過渡制御ロジックと
を備え、
前記電力制御ユニットは、前記プロセッサが電力状態間を遷移することを通知し、
前記電力制御ユニットが、前記プロセッサの電力状態間の遷移を示したことに応じて、前記過渡制御ロジックは、前記プロセッサに供給される前記電圧に動的パルスを、前記電圧源に供給させ、
前記過渡制御ロジックは、前記動的パルスの振幅及び前記動的パルスの継続時間を、前記プロセッサの電力状態間の同じ遷移の過去のプロファイル、及び、前の動的パルスの振幅及び継続時間の前記プロセッサの前記電圧に対する影響に基づいて、動的に調整する
システム。
【請求項１８】
前記電力制御ユニットは、前記プロセッサの電力状態間を遷移させるリクエストをソフトウェアエンティティから受信し、前記ソフトウェアエンティティからの前記リクエストに基づいて前記プロセッサが前記電力状態間で遷移すると判断したことに応じて、前記プロセッサが前記電力状態間を遷移することを示す請求項１７に記載のシステム。
【請求項１９】
前記過渡制御ロジックは、前記電力状態間の前記遷移と関連付けられた前記動的パルスの複数の仕様を保持し、前記電力制御ユニットが前記プロセッサが前記電力状態間を遷移することを通知したことに応答して、前記動的パルスの前記複数の仕様を前記電圧源に供給し、
前記動的パルスの前記複数の仕様は、前記動的パルスの振幅及び継続時間を含む請求項１７又は１８に記載のシステム。
【請求項２０】
前記電力状態間の前記遷移は、深いスリープ電力状態から動作電力状態への遷移を含む
請求項１７から１９の何れか一項に記載のシステム。
【請求項２１】
プロセッサの負荷の変化が発生するかを判断する段階と、
前記プロセッサの前記負荷の前記変化が発生するとの判断に応答して、前記プロセッサに供給される電圧に一時的パルスを生成する段階と
を備え、
前記プロセッサに供給される前記電圧に生成される前記一時的パルスの大きさは、前記プロセッサの前記負荷の前記変化に基づき、
前記プロセッサの前記負荷の前記変化が発生するとの判断に応答して、前記プロセッサに供給される電圧に一時的パルスを生成する段階は、
前記プロセッサの電力状態遷移が低い電力から高い電力への遷移であることに応答して、前記プロセッサに供給される前記電圧を上回り、前記電力状態遷移のハイ（ｈｉｇｈ）状態の大きさに対応する大きさを有するハイ状態の一時的パルスを、前記電圧に生成する段階と、
前記電力状態遷移が高い電力から低い電力への遷移であることに応答して、前記プロセッサに供給される前記電圧を下回り、前記電力状態遷移のロー（ｌｏｗ）状態の大きさに対応する大きさを有するロー状態の一時的パルスを、前記電圧に生成する段階と
を含む
方法。
【請求項２２】
前記プロセッサに供給される前記電圧に生成される前記一時的パルスの前記大きさは、前記プロセッサの前記負荷の前記変化に基づくことは、
前記一時的パルスの前記大きさが、前記プロセッサの負荷電流における変化に比例することを含む請求項２１に記載の方法。
【請求項２３】
前記プロセッサの前記負荷の変化が発生するかを判断する段階は、
前記プロセッサの電力状態遷移のリクエストを検出する段階と、
前記プロセッサの前記電力状態遷移の前記リクエストが検出されたことに応答して、前記プロセッサの前記負荷の変化が発生すると判断する段階と
を含む請求項２１又は２２に記載の方法。
【請求項２４】
前記プロセッサの前記負荷の変化が発生するかを判断する段階は、
前記プロセッサの前記負荷の前記変化の開始を測定する段階と、
前記プロセッサの前記負荷の前記変化の前記開始が測定されたことに応答して、前記プロセッサの前記負荷の前記変化の発生を判断する段階と
を含む請求項２１から２３の何れか一項に記載の方法。
【請求項２５】
プロセッサの負荷の変化が発生するかを判断する段階と、
前記プロセッサの前記負荷の前記変化が発生するとの判断に応答して、前記プロセッサに供給される電圧に一時的パルスを生成する段階と
を備え、
前記プロセッサに供給される前記電圧に生成される前記一時的パルスの大きさは、前記プロセッサの前記負荷の前記変化に基づき、
前記プロセッサの前記負荷の前記変化が発生するとの判断に応答して、前記プロセッサに供給される電圧に一時的パルスを生成する段階は、
前記プロセッサの電流需要の増加の開始が測定されると、前記プロセッサに供給される前記電圧を上回り、前記プロセッサの電流需要の前記増加の測定された大きさに対応する大きさを有するハイ（ｈｉｇｈ）状態の一時的パルスを直ちに、前記電圧に生成する段階と、
前記プロセッサの電流需要の減少の開始が測定されると、前記プロセッサに供給される前記電圧を下回り、前記プロセッサの電流需要の前記減少の測定された大きさに対応する大きさを有するロー（ｌｏｗ）状態の一時的パルスを直ちに、前記電圧に生成する段階とを含む
方法。
【請求項２６】
前記プロセッサに供給される前記電圧に生成される前記一時的パルスの前記大きさは、前記プロセッサの前記負荷の前記変化に基づくことは、
前記一時的パルスの前記大きさが、前記プロセッサの負荷電流の変化を補償するべく動的に調整されることを含む請求項２１から２５のいずれか一項に記載の方法。
【請求項２７】
前記プロセッサに供給される前記電圧の前記一時的パルスの前記大きさ及び継続時間が、前記プロセッサの前記負荷の前記変化に基づく請求項２１から２６のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路の分野に関し、より詳細には、電源供給に関する。
【背景技術】
【０００２】
半導体プロセス及びロジック設計の技術の発展に伴い、より多くの数のロジックを集積回路（ＩＣ）デバイスに組み込むことができるようになってきた。その結果、マイクロプロセッサのような集積回路の電力要求が大幅に増大している。解決策として、現在の多くのプロセッサは、複数の電力／動作状態をサポートしている。そして、性能状態間の遷移が起きると、プロセッサが必要とする電流も同様に変動し、電源供給にも大きな変化が生じる。一例として、非常に短い期間に、プロセッサが必要とする電流が、動作／性能状態の過渡により、１倍から５０倍に増えることが考えられる。この場合、電源は、電流需要が変化する結果、公称電圧から大幅にオーバーシュート又はアンダーシュートすることになり、電源が重度に劣化する。
【０００３】
このような電源の劣化に対処するには、主に２つの方法が存在する。設計後の一対処法として、多量のデカップリングコンデンサをプロセッサパッケージ及び／又はマザーボードに組み込んで、電圧降下を低減させることが挙げられる。しかしながら、コンデンサを付加すると、金銭的コストがかさみ、また、物理的に更なるスペースが必要となる（コンデンサを配置することにより、重要な信号ルート／配置のスペースがなくなる）。設計前の一対処法として、ガードバンド（プロセッサがまだ適切に動作可能である許容帯）を付加することによって、電源の問題を考慮に入れたプロセッサ設計にすることが挙げられる。しかしながら、設計者は最悪のシナリオ考慮して設計する必要があるため、ガードバンドを増やすと、更なる電力損失及び性能低下につながる。
【０００４】
例えば、図２には、電流需要の変化の一実施形態が示されている。２０５では、プロセッサが必要とする電流需要が増加している。その結果、電源では、電流需要の増加に対応して、２１０で、アンダーシュート（又は電圧降下）が発生している。ここで、プロセッサの動作電圧が減少する。そして、プロセッサの性能も同様に低下する。更に、２１５において、電流需要が低下し、その結果、２２０においてオーバーシュートが発生する。アンダーシュート２１０とオーバーシュート２２０との間の大きさ変位は、一般的にガードバンド２２５と称される。上記したように、ガードバンド２２５が大きくなると、使用しなければならないコンデンサの数が増える又は最悪値設計の値が大きくなることから、コストが増大し、配線スペースが減少し、性能低下及び消費電力増大につながる。
【０００５】
本発明を添付図面及び実施例を参照して説明するが、図面は例示しているに過ぎず、本発明は図面の内容に限定されない。
【図面の簡単な説明】
【０００６】
【図１】マルチ処理要素プロセッサの論理的表現の一実施形態示した図である。
【図２】電流需要に応答した電源の影響の一実施形態を示した図である。
【図３】プロセッサの過渡電流の変化を補償する動的電源パルス方式の論理的表現の一実施形態を示した図である。
【図４】動的電源パルス方式を利用した場合の電流需要に応答した電源の影響の一実施形態を示した図である。
【図５】プロセッサの過渡電流の変化を補償する動的電源パルス方式の論理的表現の別の実施形態を示した図である。
【図６】プロセッサの過渡電流の変化を補償する動的電源パルス方式の論理的表現の別の実施形態を示した図である。
【図７】供給された電圧に一時的なパルスを生成する方法を示したフローチャートの一実施形態を示した図である。
【図８】供給された電圧に一時的なパルスを生成する方法を示したフローチャートの別の実施形態を示した図である。
【図９】供給された電圧に一時的なパルスを生成する方法を示したフローチャートの別の実施形態を示した図である。
【発明を実施するための形態】
【０００７】
以下の詳細な説明では、特定の種類のプロセッサ構成、特定の電力状態、特定のハードウェア構造、特定のテーブルフォーマット、特定の電圧等が記載されるが、これらは、本発明の完全な理解を提供するためのものである。しかしながら、これらの特定の詳細事項を採用しなくとも、本発明を実行可能であることは、当業者にとって明らかである。また、特定の又は代替のプロセッサアーキテクチャ、機能及びアルゴリズムを記載するための特定の論理回路／コード、特定の電圧制御詳細、及び、その他の特定の動作の詳細等の、よく知られている要素又は方法については、本発明を不明瞭にすることを防ぐため、記載を省略する。
【０００８】
以下に説明する方法及び装置は、電源供給性能を改善する動的電圧パルス印加方法を提供する。より詳細には、動的パルス印加方法は、マイクロプロセッサに供給される電圧に関して説明される。しかしながら、本明細書に記載される装置及び方法はこれに限定されず、任意のデバイス又はその部品に供給される電源に同様に実装可能である。例えば、動的パルス印加方法は、プロセッサのオンダイで利用されてもよく、プロセッサ全体というよりも、電源供給回路全体にわたって適用されて、プロセッサの特定のユニット又はコアへの電源供給を改善させてもよい。又は、動的パルス印加方法を、ＰＤＡ及び形態電話のような、埋め込み小型装置で利用してもよい。
【０００９】
図１には、複数のコアを含むプロセッサの一実施形態が示されている。プロセッサ１００は、マイクロプロセッサ、埋め込みプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサのようなあらゆるプロセッサ、又は、コードを実行するその他のデバイスを含む。一実施形態において、プロセッサ１００は、少なくとも２つのコア、コア１０１及びコア１０２を含み、これらコアは、非対称コア又は対称コア（図示の例）を含む。しかしながら、プロセッサ１００は、対称又は非対称である処理要素を幾つ含んでもよい。
【００１０】
一実施形態において、処理要素とは、スレッド単位、スレッドスロット、処理単位、コンテキスト、論理プロセッサ、ハードウェアスレッド、コア、及び／若しくは実行状態又はアーキテクチャ状態のようなプロセッサの状態を保持可能な他の要素のことを指す。すなわち、ある実施形態では、処理要素とは、ソフトウェアスレッドのようなコード、ＯＳ、アプリケーション又はその他のコードに独立して関連付けることが可能なあらゆるハードウェア指す。物理的プロセッサとは、典型的には、コア又はハードウェアスレッド等の他の処理要素を１以上含む集積回路（ＩＣ）のことを指す。
【００１１】
コアとは、多くの場合、独立して保持されるアーキテクチャの状態がそれぞれ、少なくとも幾つかの専用実行リソースと関連付けられる独立アーキテクチャ状態を保持可能なＩＣに位置する論理を指す。コアに対して、ハードウェアスレッドとは、典型的には、独立して保持されている複数のアーキテクチャ状態が実行リソースへのアクセスを共有する独立アーキテクチャ状態を保持可能なＩＣに位置する論理を指す。このように、あるリソースは共有され、他のリソースは１つのアーキテクチャ状態に占有されている場合には、ハードウェアスレッド及びコアという命名の境界線が重複することとなる。しかしながら、やはりコアとハードウェアとは、ＯＳから見れば個別の論理プロセッサであり、ＯＳは、各論理プロセッサに対して独立してオペレーションをスケジュールすることができる。
【００１２】
図１に示すように、プロセッサ１００は、２つのコア１０１及び１０２を含む。ここで、コア１０１及び１０２は、対称なコアである、すなわち、同じ構成、機能単位及び／又はロジックを有するコアである。別の実施形態では、コア１０１は、アウト・オブ・オーダー・プロセッサコアを含み、コア１０２は、イン・オーダー・プロセッサコアを含む。しかしながら、コア１０１及び１０２は、ネイティブコア、ソフトウェア管理コア、ネイティブ命令セットアーキテクチャ（ＩＳＡ）を実行するコア、変換された命令セットアーキテクチャ（ＩＳＡ）を実行するコア、共同設計されたコア、又は、その他のコアといったあらゆる種類のコアから別々に選択されてもよい。コア１０１内に図示されている機能単位については、以下に詳細に説明されるが、コア１０２内の機能単位も同様な態様で動作する。
【００１３】
図に示すように、コア１０１は、２つのハードウェアスレッド１０１ａ及び１０１ｂを含み、これらは、ハードウェアスレッドスロット１０１ａ及び１０１ｂとも称される。したがって、ＯＳのようなソフトウェア実体は、一実施形態においては、プロセッサ１００を４つの別個のプロセッサとして見なすこともでき、すなわち、４つのソフトウェアスレッドを並列に実行可能な４つのプロセッサ又は処理要素として見なすことができる。第１のスレッドは、複数のアーキテクチャ状態レジスタ１０１ａと関連付けられており、第２のスレッドは、複数のアーキテクチャ状態レジスタ１０１ｂと関連付けられており、第３のスレッドは、複数のアーキテクチャ状態レジスタ１０２ａと関連付けられており、第４のスレッドは、複数のアーキテクチャ状態レジスタ１０２ｂと関連付けられている。図に示すように、複数のアーキテクチャ状態レジスタ１０１ａは、複数のアーキテクチャ状態１０１ｂに複製されており、個々のアーキテクチャ状態／コンテキストは、論理プロセッサ１０１ａ及び論理プロセッサ１０１ｂに格納可能である。コア１０１では、命令ポインタのようなその他の小さなリソース及びリネーム割り当てロジック１３０におけるリネームロジックも、スレッド１０１ａ及び１０１ｂについて複製されていてもよい。リオーダー／リタイアメントユニット１３５におけるリオーダーバッファ、ＩＬＴＢ１２０、読み込み／格納バッファのようなリソース及びキューは、パーティショニングを通じて共有されてもよい。汎用内部レジスタ、ページ−テーブルベースレジスタ、低階層データキャ主及びデータ−ＴＬＢ１１５、実行ユニット１４０、及び、アウト・オブ・オーダーユニット１３５の部分のようなその他のリソースは、完全に共有されてもよい。
【００１４】
プロセッサ１００は、完全に共有される、パーティショニングを通じて共有される、又は、処理要素に専用となるその他のリソースをしばしば含む。図１には、単純に例示することだけを目的としたプロセッサの論理単位／リソースを有するプロセッサの一実施形態が示されている。プロセッサは、これら機能単位の何れを含む又は省略してもよく、図示されていないその他の周知の機能単位、ロジック又はファームウェアを含んでもよい。図に示されるように、コア１０１は、単純化して表示されているアウト・オブ・オーダー（ＯＯＯ）プロセッサコアを含む。ＯＯＯコアは、実行される／選択される分岐先を予測する分岐先バッファ１２０（Ｂｒａｎｃｈ  Ｔａｒｇｅｔ  Ｂｕｆｆｅｒ：ＢＴＢ）及び命令についてのアドレス変換エントリを記憶する命令変換バッファ（Ｉ‐ＴＬＢ）１２０を含む。
【００１５】
コア１０１は更に、フェッチされた要素をデコードするべく、フェッチユニット１２０と連結されたデコードモジュール１２５を含む。一実施形態において、フェッチロジックは、それぞれスロット１０１ａ、１０１ｂと関連付けられたシーケンサを含む。通常、コア１０１は、プロセッサ１００で実行可能な命令を規定／特定する第１命令セットアーキテクチャ（ＩＳＡ）と関連付けられている。ＩＳＡによって認識される機械コード命令は、一般的に、実行すべき命令又はオペレーションを参照する／特定するオペコード（ｏｐｃｏｄｅ）と呼ばれる命令の一部を含む。デコードロジック１２５は、オペコードから命令を認識し、第１ＩＳＡによって規定されるように処理を行うために、デコードされた命令をパイプラインに渡す。例えば、以下で詳細に説明するように、一実施形態において、デコーダ１２５は、条件コミット命令及び予測チェックポイント命令のような新しい特定の命令を認識するのに使用される又は設計されたロジックを含む。その結果、デコーダ１２５の認識により、アーキテクチャ又はコア１０１は、特定の予め定められたアクションを起こし、適切な命令と関連付けられたタスクを実行する。
【００１６】
一例において、アロケータ及びリネーマブロック１３０は、命令処理結果を格納するレジスタファイルのようなリソースを保存するアロケータ（allocator）を含む。しかしながら、スレッド１０１ａ及び１０１ｂは、アウト・オブ・オーダー実行可能であり、アロケータ及びリネーマブロック１３０は、命令の結果を追跡するために並び替え（ｒｅｏｒｄｅｒ）バッファのような、その他のリソースも備える。ユニット１３０は、プログラム／命令参照レジスタを、プロセッサ１００の他の内部レジスタにリネームするレジスタリネーマーを含んでもよい。並べ替え／リタイアメントユニット１３５は、アウト・オブ・オーダー実行及びアウト・オブ・オーダーで実行される順番が最後の方の命令のリタイアメントをサポートするために、上述のような並び換えバッファ、読み込み（ｌｏａｄ）バッファ、及び、格納（ｓｔｏｒｅ）バッファのような要素を含んでもよい。
【００１７】
ある実施形態では、スケジューラ及び実行ユニットブロック１４０は、実行ユニットに対して命令／オペレーションをスケジューリングするスケジューラユニットを含んでもよい。例えば、浮動小数点命令は、利用可能な浮動小数点実行ユニットを持つ実行ユニットの一部にスケジュールされる。また、情報命令処理結果を記憶するために、実行ユニットに関連付けられたレジスタファイルが含まれている。実行ユニットの例としては、浮動小数点実行ユニット、整数実行ユニット、ジャンプ実行ユニット、ロード実行ユニット、記憶実行ユニット、及びその他の既知の実行ユニットが挙げられる。
【００１８】
下位層データキャッシュ及びデータ変換バッファ（Ｄ‐ＴＬＢ）１５０は、実行ユニット１４０に接続されている。データキャッシュは、メモリコヒーレンシ状態で保持されているデータオペランドのような最近利用／処理されたものを、要素に記憶する。Ｄ‐ＴＬＢは、最近の仮想／線形アドレスから物理アドレスへの変換を記憶する。具体的な一例として、プロセッサは、物理メモリを複数の仮想ページに分割するためのページテーブル構造を持つとしてよい。
【００１９】
ここで、コア１０１及びコア１０２は、最近フェッチされた要素をキャッシュする上位層に位置する又はより離れたところに位置するキャッシュ１１０へのアクセスを共有する。ここで、上位層又はより離れた位置とは、キャッシュレベルがより高い又は実行ユニットからより離れていることを指す。一実施形態では、上位層キャッシュ１１０は、プロセッサ１００のメモリ階層の最後のキャッシュであるラストレベルデータキャッシュであり、例えば、第２レベル（２次）データキャッシュ、又は第３レベル（３次）データキャッシュである。上位層キャッシュ１１０はこれに限定されず、命令キャッシュに関連付けられてもよいし、命令キャッシュを含んでもよい。命令キャッシュの一種であるトレースキャッシュを、替わりに、デコーダ１２５の後に連結して、最近デコードされたトレースを記憶してもよい。
【００２０】
図示されている構成では、プロセッサ１００は、システムメモリ１７５、チップセット、ノースブリッジ又はその他の集積回路のような、プロセッサ１００外部のデバイスと通信を行うバスインターフェースモジュール１０５を含む。メモリ１７５は、プロセッサ１００に専用のメモリであってもよいし、システム内のその他のデバイスと共有されるメモリであってもよい。メモリ１７５の典型的な例には、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、不揮発性メモリ（ＮＶメモリ）、及びその他の周知の記憶デバイスが含まれる。
【００２１】
また、図に示すように、プロセッサ１００に電圧（電力又は電流とも称される）を供給する電源１８０が設けられる。一実施形態では、（ワークロードの変化、電力状態の変化、又は、その他の負荷需要の変化）プロセッサ１００の電流重要が変化すると、電源１８０は、動的パルスロジック１８５と連動して、供給された電圧に動的パルスを提供して、電流需要の変化を保障する。例えば、過渡負荷イベント（電流需要の変化を示すインジケータ）が検出されると、動的パルスロジック１８５は、パルスの仕様を電源１８０に提供する。電源１８０は、提供された仕様に従ってパルスを生成し、電流需要の過渡の影響を相殺する。過渡パルスのようなパルスは、一実形態では、一時的に、公称電圧（通常電圧、ベースライン電圧）を基準として、そこから外れた供給電圧レベルを指すことがあり、これは、公称電圧又はベースライン電圧を変化させる電源電圧の一時的でない変化（すなわち、公称電圧が次に変化するまでは恒常的となることを意図した変化）と区別するためである。
【００２２】
例えば、プロセッサ１００の負荷要求が、低い値から高い値へと遷移すると、公称電圧レベルを上回る振幅のパルスが供給される。具体的な例として、プロセッサ１００に供給される公称電圧又はベースライン電圧が１Ｖである場合、公称電圧レベルを、例えば、１００ｍＶ上回る振幅のパルスが供給されて、パルスが継続する期間は、すなわち全体で１．１Ｖの供給電圧となる。１．１Ｖの全体電圧は、電圧レベルを１Ｖから１．１Ｖへと周知の方法で上げることにより得られてもよい。一例として、公称電圧を設定するのに電圧識別子（Voltage Identifier：ＶＩＤ）ビットが使用され、ＶＩＤビットは、パルスの期間、１．１Ｖの公称電圧を表すべく変更される。その後、ＶＩＤビットは、通常のＶＩＤプロトコルに従うリターン要求がなくても、１Ｖの公称電圧設定に戻る。したがって、電流需要の変化からアンダーシュートが発生した場合には、一時的に上昇する電圧レベルが生成され、その結果、パルスを生成しない場合と比較して、公称電圧に近い電圧レベルが実現される。基本的には、このプロセスで供給される電圧レベルは、プロセッサから電圧源への負荷需要フィードバックループに基づいて、動的及び一時的に調整される。
【００２３】
図１に示すように、動的パルスロジック１８５は、プロセッサ１００のロジック境界を横断する。ここで、ダイナミックパルスロジック１８５は、プロセッサ１００内及びプロセッサ外部のその他の部分に、電流需要の変化を検出／予測するロジックのような部分を有してもよく、パルスの仕様を電圧源１８０に提供するロジックのようなロジックが、プロセッサ１００の外側に位置してもよい。フィードバックループの任意の部分は、どのような場所に配置されてもよい（プロセッサ１００上、プロセッサ１００の外部、又は、上記の組みあわせ）。更に、上記の説明及び以下の説明では、主に、プロセッサに電源を供給する電圧源における動的パルス印加に注目して説明がなされる。しかしながら、別の実施形態では、プロセッサ１００は、コア又はそのユニットに対する同様な動的パルス印加方法を含んでもよい。例えば、コア１０１及び１０２は、独立した電力状態で動作可能である、又は、異なる負荷を有してもよい。このような場合、上記したのと同様なパルス方式を利用して、それぞれのコアに電圧を分配してもよい。さらに、トレースキャッシュ又は分岐予測器のような個々のユニットへの電力供給が低下した場合にも、動的パルスをユニット又はロジックレベルで利用して、電流需要の局所的な変化を補償してもよい。
【００２４】
図１は簡略化して示されており、異なる複数のモジュール、ユニット及び／又はロジックの表現を含むプロセッサの一例の論理的表現が示されている。しかしながら、本明細書に説明される方法及び装置を利用するプロセッサは、図示されているユニットを必ず含む必要はない。プロセッサは、図示されているユニットのうちの一部又は全てを省略してもよい。加えて、図１には、コアが２つのみ示されているが、プロセッサは、いかなる数のコアを含んでもよく、同じ種類の複数のコアを含んでもよいし、種類の異なる３つ以上のコアを含んでもよい。
【００２５】
図１には、外部のメモリ制御装置（制御ハブ１７０）とインターフェースを使用してポイント・ツー・ポイントで連結されているプロセッサの実施形態が示されている。しかしながら、現在のプロセッサの多くは、オンプロセッサ・メモリインターフェースモジュールを含むようになっており、複数のコアを相互接続するようなリング構造のような様々な相互接続アーキテクチャ、及び、共有キャッシュ及びその他のインターフェースを有するオンチップモジュールを含むようになっている。図示されていないが、一実施形態では、プロセッサ１００は、コア、キャッシュ及びメモリ制御コンポーネントを連結するリングインターコネクトを有する。
【００２６】
この場合、キャッシュエージェントを利用して、物理的に分配されたキャッシュのスライスの管理が行われる。一例として、キャッシュコンポーネントのそれぞれは、配列されたコアについて、分配されたスライスを管理する目的でキャッシュエージェントが関連付けられたコアに対するキャッシュのスライスを管理する。リングインターコネクトにおけるトラフィックを扱い、キャッシュスライスと接続されるキャッシュエージェントの大半と同様に、コアエージェント／コンポーネントは、トラフィックを扱い、コアと接続される。また、リングインターコネクトは、メモリ制御インターフェースロジック（ＭＣＩＬ）及びその他のコントローラと接続されて、メモリ及び／又はグラフィックプロセッサのようなその他のモジュールとインターフェース接続されてもよい。
【００２７】
図３には、プロセッサの電流需要の変化を補償するべく動的パルスを供給するモジュールの論理的表現の一実施形態が示されている。電圧源３０５は、電圧３１０をプロセッサ３１５に供給する。電源３０５は、電圧を供給可能な周知の任意のハードウェア、モジュール又は電子部品を含んでもよく、例えば、電源、電圧調整器、配電モジュール、電力ゲートモジュール、電圧レール、電圧特定ユニット、負荷に供給される出力電圧を制御する閉ループフィードバック制御ユニット等を含んでもよい。
【００２８】
具体的な一実施形態では、電圧源３０５は、複数の電圧のうちの任意の１つをプロセッサ３１５に供給する電圧調整器（voltage regulator：ＶＲ）を有する。このような設計では、Voltage Identification Digital（ＶＩＤ）ビットを利用して、複数の電圧のうち、プロセッサに供給すべき電圧を特定する。したがって、記憶素子が新たなＶＩＤビットで（多くの場合、プロセッサ又はその他の電源ユニットによって）更新されると、電源は、それに従って、供給電圧３１０を更新する。例えば、８個のＶＩＤビット（又はデジタル信号線）が使用される場合、２５６個の固有の電圧レベルのうちの１つが、ＶＩＤビットによって特定される。電圧の範囲が、０Ｖから１．５Ｖである場合、この例では、電圧レベルが、６ｍＶのステップに分割されてもよい。ＶＲ３０５及びプロセッサ３１５の上記の説明は、一実施形態例に過ぎない。別のシナリオでは、プロセッサ３１５が、プロセッサのコア又はユニットに置き換えられる。そして、電圧源３０５は、コア／ユニットに電圧／電力を分配するロジックを含む。
【００２９】
一実施形態において、過渡ロジック３２５は、プロセッサ３１５と電圧源３０５との間のフィードバックループ（３２０、３２５、３３０）を提供し、動的パルスが電源３０５によって生成されて、フィードバックループで示されるプロセッサ３１５における負荷需要の変化を補償する。一例として、過渡ロジック３２５は、プロセッサ３１５から、過渡負荷イベントインジケータ（負荷／電流需要の変化のような、供給電圧に影響を与える任意の変化を示すインジケータ）を受け取る。過渡イベントの例としては、デバイスが必要とする電流の測定値の変化、デバイスの電力状態遷移の情報、及び、変化する予定のデバイスの変化するであろう電流需要の情報（予測）が挙げられる。
【００３０】
第１例のシナリオ（電流需要の変化が測定された場合）では、負荷／電流需要の変化は、プロセッサ３１５のようなデバイス内の任意の数の変化を表していていもよい。一例として、プロセッサの電流需要の変化は、電力状態の変化、ワークロードの変化、又は、その他の電流使用の変化を表してもよい。したがって、周知の電流（負荷）需要の変化を測定するあらゆる装置及び方法を利用可能である。例えば、プロセッサに関連する任意の点において、電流又は電圧の変化を測定するのに、センサを使用することができる。図には、フィードバックループが、プロセッサ３１５から開始するように描かれている。電圧源３０５によって実際に供給される電圧に対するプロセッサ３１５の需要の変化による影響を測定することにより、電圧源３０５において、プロセッサ３１５の需要の変化を測定してもよい。電流需要を直接プロセッサ３１５で測定しなくても及びプロセッサ３１５から信号通知を受けなくても、この例の場合、フィードバックループは論理的にプロセッサ３１５から開始される。これは、電圧源３０５での測定値は、プロセッサ３１５での負荷の変化の影響を表したものであるからである。
【００３１】
上記したように、一部の実施形態では、動的パルス方式を、ユニット毎／コア毎に適用する。プロセッサ全体（プロセッサ３１５）について、電流需要の変化が測定／決定される場合、動的パルス方式は、より包括な実装となりうる。一例として、８個のコアを有するプロセッサの１つコアが、深いスリープ状態からアクティブ／動作電力状態へと入った場合、電流需要は増加する。ここで、需要の変化を補償するべく、動的パルスをコアで生成してもよい。プロセッサ全体の電流需要は、残りのプロセッサの負荷に応じて変化する場合もあるし、変化しない場合もある。従って、全体の負荷が変化せず同じであれば、電圧源全体でアンダーシュートは発生しない。そして、プロセッサ全体において、性能低下は生じない。このように、実装に応じて、動的パルス方式
（測定及び生成）を、プロセッサの任意の階層（プロセッサ全体、コア毎、スレッド毎、ユニット毎、ロジックモジュール毎、トランジスタ毎等）に実装してもよい。
【００３２】
第２の例として、過渡イベント（電力状態遷移を示す情報）が発生するシナリオでは、電力状態の遷移を検出又は予測する任意の周知の装置又は方法を利用してもよい。一実施形態では、ソフトウェアエンティティ（オペレーティングシステム又はユーザープログラム）が、プロセッサ３１５（又はその一部）に、電力状態を遷移するように要求する。アドバンスト・コンフィグレーション・アンド・パワー・インターフェイス（ＡＣＰＩ）規格では、グローバル電力状態、デバイス状態、及び、プロセッサ状態といったように、複数の異なる電力状態が規定されている。プロセッサ３１５のようなデバイスが、このような電力状態間で遷移すると、プロセッサ３１５の需要も変化する場合が多い。一実施形態では、このような変化は、プロセッサ電力管理／制御ユニットによって制御及び／又は調整される。過渡イベントは、ソフトウェアエンティティからのリクエストの発行又は検出から、電力状態間の実際の遷移までのあらゆるイベントを含む。電力状態遷移を要求するソフトウェアリクエストについて上記で記載されたが、ハードウェアによって開始される電力状態間の遷移についても、過渡イベントとして同様に考えられる。
【００３３】
過渡イベントが検出される（過渡イベントインジケータが過渡ロジック３２５によって受信される）と、過渡イベントロジック３２５は、動的パルスの適切な仕様を、過渡イベントを補償する目的で、電圧源３０５に供給する。パルスの仕様は、パルスの大きさ／振幅、継続長さ、開始時間、遅延、期間、その他の波形の特性、又は、これらの組み合わせを特定してもよい。一実施形態では、過渡ロジック３２５は、同じ過渡イベントに対しては、同じパルス仕様を提供する。例えば、過渡ロジック３２５が、過渡イベントのインデックスが付与されたエントリを有するパルステーブルを保持する。この場合、過渡イベントはそれぞれ、電圧源３０５に供給されるべきパルスの特定の仕様と関連付けられている。したがって、過渡イベントを参照する過渡イベントインジケータが過渡ロジック３２５によって受信されると、同じ過渡イベントを参照する対応するエントリが特定される。そして、関連付けられているパルスの仕様が、電圧源３０５に提供される。
【００３４】
例として、ルックアップテーブルのエントリには、パルス電圧レベル（パルスの大きさ）、パルスが維持される時間の長さ（パルス継続時間）、パルスの開始時間、パルスの遅延量、又はこれらの組み合わせ、と関連付けられた過渡イベントが含まれる。パルスの仕様は、パルス全体の電圧大きさのように絶対的なものであっても、公称電圧又はその他のエントリにインクリメントして付加される値のように相対的なものであってもよい。更に詳細に例示すると、プロセッサ３１５には、７つの電力状態が存在すると仮定する。そして、プロセッサ３１５は、任意の１つの電力状態から、任意の別の電力状態へと遷移してもよい。ここで、パルスの大きさのような、絶対値を使用した仕様を有するテーブルに、５０４０個のエントリが存在（遷移１つに対して、１つのエントリ）してもよい。
【００３５】
これに替えて、各電力状態に対して、相対的な大きさの値を有する７個のエントリが存在してもよい。この場合、電力状態が電力状態エントリを通過するたびに、大きさが合算される。例えば、各電力状態が２０ｍＶの大きさに関連付けられている場合、最も高い電力状態から最も低い電力状態への遷移では、１４０ｍＶ（７ステート×２０ｍＶ）の大きさのパルスになる。このように合算された大きさは、公称電圧を基準としてもよい。供給される電圧が１Ｖである場合、パルスが継続している期間は、パルスの大きさにより、供給される電圧の合計３１０は１．１４Ｖとなる。上記の例から分かるように、過渡ロジック３２５は、電圧源３０５を使用して絶対値パルス電圧を生成するのに利用される大きさを表す任意の周知の表現を使用してもよい。そして、個々の電力状態又は電力需要遷移はそれぞれ、異なる複数の相対的な又は絶対的な仕様を含んでもよい。
【００３６】
同様に、パルスの継続時間は、電圧源３０５に供給される期間に限定されない。一実施形態では、電圧源３０５は、ＶＩＤビットによって特定される電圧を供給する電圧調整器にすぎない。この例では、電圧源３０５にパルスの継続時間の情報を供給しても何も起きない。過渡ロジック３２５が、パルスの継続時間と共にパルス／電圧の大きさを示した（絶対的な又は相対的な）ＶＩＤビットを有してもよい。上記の例に戻り、電圧源３０５は最初に、ＶＩＤビットに基づいて、１Ｖの電圧３１０を生成する。プロセッサ３１５が、過渡イベントを検出する。そして、過渡イベントインジケータ３２０が、過渡ロジック３２５に供給される。この例では、過渡ロジック３２５は、過渡イベントと関連付けられたエントリを参照して、公称電圧を１４０ｍＶ上回るパルスを１００サイクル供給するべきであると決定する。エントリに基づいて、遷移ロジック３２５は、新しいＶＩＤビットを電圧源３０５に供給して、電圧源３０５が１．１４Ｖの電圧３１０を供給するようにする。１００サイクルの後（カウンタ又はその他のロジックが、１００サイクル終了したと示した後）、過渡ロジック３２５は元のＶＩＤビットを供給して、電圧３１０を公称電圧１Ｖに戻す。
【００３７】
パルスの継続時間に加えて、パルスの開始時間を過渡イベントに関連付けしてもよい。この場合、電流需要の変化（過渡イベント）が予測されてもよく、一実施形態では、供給電圧における変化（パルス）は、過渡イベントの開始と同時に生成される。例えば、電力状態遷移のリクエストが受信される場合、リクエストの受信と実際の電力状態遷移との間に遅延時間が存在する。したがって、負荷需要の変化を補償するパルスも同様に遅延されてもよい。開始時間とは、絶対的な時間、相対的な遅延時間を指してもよい、又は、対応するイベントと関連付けられてもよい。
【００３８】
上記の説明では、過渡イベントのそれぞれに対して一貫した動的パルス（同じ入力、同じ出力）を生成するとして説明がなされた。しかしながら、一実施形態では、電圧３１０におけるパルスは、負荷の変化を補償するべく、動的に調整される。一実施形態では、１パルスの仕様は、複数のパルスにわたって調整される。この場合、特定の過渡イベントに対して、初期パルス又はベースラインパルスが最初に生成されてもよい。そして、パルス及び過渡イベントの間の電圧３１０における影響が測定される。動的パルスの仕様は、測定された影響に基づいて更新される。同じ過渡イベントに遭遇すると、新たに更新されたパルスの仕様が電圧源に提供される。一例として、供給された電圧３１０への影響が測定されると、上記の例のテーブルにおけるパルスの仕様が更新されてもよい。別の実施形態では、パルスは、パルスの発生毎に動的に調整されてもよい。ここで、供給される電圧における望ましい影響が達成されるまで、パルスが連続して動的に増加／減少されてもよい。
【００３９】
図４には、動的パルス印加方法の効果を例示したグラフの一実施形態が示されている。以下の説明は、動的パルス方式の任意のバージョンに適用可能である。しかしながら、説明を図３の例示に限定して行う。ここで、供給される電圧（電圧３１０）は、公称電圧４０１（例えば、１Ｖ）として電圧源によって供給される。イベント４０５において、プロセッサ３１５の電流需要増加（過渡イベント）が発生する。過渡イベントが発生したと過渡ロジック３２５が（予測又は実際の測定により）判断すると、公称電圧４１０を（例えば、１００ｍＶ）上回る動的パルス４１０が（全電圧は１．１Ｖとなる）電圧源３０５によって供給されて、プロセッサ３１５における電流需要の増加を補償する。
【００４０】
図示されるように、動的パルス４１０は、元の公称電圧４０１を上回る。しかしながら、別の実施形態では、過渡イベントは、公称電圧レベル（例えば、０Ｖ）が、例えば、０Ｖから１Ｖへと上昇する電力状態遷移を含んでもよい。この上昇は、過渡的な動的パルスではなく、公称電圧の持続的な変化である。この場合、パルスは、前の公称電圧（例えば、０Ｖ）を上回るパルスではなく、新たな公称電圧（例えば、１Ｖ）を上回る全供給電圧（例えば、１．１Ｖ）を達成するパルスであってもよい。
【００４１】
図示されるように、公称電圧を上回る電圧を増大させるパルス４１０により、４１５における実際に供給される電圧の電圧降下／アンダーシュートの程度が軽減されているのが分かる。同様に、４２０においても電流需要が低下し、４２５において、公称電圧４０１を下回るパルスが生成される。そして、４３０において、オーバーシュートの程度が軽減されている。その結果、ガードバンド４４０が、新たなガードバンド４３５へと大幅に低減されている。ガードバンドが小さくなり、ガードバンドが大きいことによる上記した不利益（コンデンサの付加によるコスト増大、消費電力増加、及び、性能低下）は、動的パルス方式によって大幅に改善される。
【００４２】
図５には、プロセッサの過渡電流の変化を補償する動的電圧源パルス方式の論理的表現の別の実施形態を示した図である上記（図３）と同様に、電圧源５０５は、電圧５１０をプロセッサ５１５に供給する。一実施形態において、過渡制御５３５により、電圧源５０５に、過渡負荷センサ５２５が検出するプロセッサ５１５の負荷の変化を補償する動的パルスを生成させる。過渡負荷センサ５２５としては、負荷／電流の変化を検出する周知のロジック及び／又は方法が含まれる。一例では、過渡負荷センサ５２５は、電流需要の変化を測定する。別の例では、センサ５２５は、電圧５１０の変化により需要の変化を測定する。すなわち、プロセッサ３１５における需要の変化は、電圧５１０に影響を与える（アンダーシュート及びオーバーシュート）。電圧５１０における影響は、需要の変化を表す。
【００４３】
過渡負荷センサ５２５がプロセッサ５１５の負荷の変化を測定すると、過渡制御５３５は、測定された負荷の変化に基づく動的パルスを電圧源５０５に生成させる。一例として、過渡制御５３５と電圧源５０５の組み合わせにより、生成されたパルスを、プロセッサ５１５の負荷に基づいて、より効果的に負荷の変化を補償するように調整してもよい。センサ５２５が需要の変化（例えば、電流の変化）を測定する別の例では、過渡制御５３５は、電圧源５０５に、測定された電流変化の関数である電圧５１０におけるパルスを生成させる。上記したように、過渡制御ロジックは５３５は、ルックアップテーブルを有する。このシナリオでは、ルックアップテーブルは、パルス仕様（振幅／大きさ、継続時間等）と関連付けられた負荷／電流需要の変化を保持してもよい。
【００４４】
電流変化の検出及びパルス生成は、即時に行われてもよい。すなわち、過渡負荷センサ５２５が最初に電流需要の変化の検出を開始すると直ぐに、電圧５１０におけるパルス生成が行われてもよい。そして、電流需要の変化量が増加／減少すると、パルスの大きさを同様に増加／減少させる。一例では、電力状態遷移により、プロセッサ５１５の電力需要が増加する。電流需要の変化測定の開始時点（例えば、電流量の初期変化Ｘ）では、電圧５１０に初期パルスが生成される。電流需要が増加し続ける（電流量Ｙを超えて増加する）と、別の振幅の大きいパルスが生成される。基本的に、需要変化の複数のスレッドにより、需要の変化に応じて、段階状のパルスを動的に生成することができる。動的パルスの生成は、即時生成（信号伝播及び計算によるロジック／ユニットを通過する通常の遅延を考慮に入れた上で、可能な限り即時パルスを生成すること）に限定されない。関連した遅延を付加して、パルスが生成されてもよい。又は、以下に説明するように、電流需要の測定された変化量を一定期間記録して、将来の電流需要の変化の予測に利用してもよい。
【００４５】
図６には、プロセッサの過渡電流の変化を補償する動的電圧源パルス方式の論理的表現の別の実施形態が示されている。図５を参照した上記の説明では、実際に測定された需要の変化を基準として、この需要の変化を補償するべく動的パルス生成が生成された。しかしながら、一実施形態では、より積極的な動的パルス生成を行う。
【００４６】
負荷予測器６２５は、プロセッサ６１５の負荷需要の変化を予測する。負荷需要の変化の予測は、電流変化の発生を判断するための周知の方法によって実行されてもよい。例えば、コード又は実行プロファイルが、プロセッサの需要の変化につながるワークロードの変化を通知してもよく、ソフトウェア自身でこのようなヒントを提供できる。別の例では、プロセッサ６１５の実際の電流需要の変化の履歴を予測器６２５がプロファイルして、電流需要の将来の変化を予測するのにこのプロファイルを使用してもよい。また、予測を単純な方法で行ってもよい。例えば、ソフトウェアエンティティから、プロセッサ６１５を異なる電力状態間で遷移させるリクエストを受信すると、一実施形態では、リクエストの検出自体が、プロセッサの電力状態が実際に遷移した場合に需要の変化が起きるという予測であると考えられる。
【００４７】
この例に関して、図６には、電力状態変化のリクエストに基づく予測の一実施形態が示されている。電力制御ユニット６１７は、電力状態遷移のリクエスト６１６を受信する。リクエストアは、ハードウェアによって生成されるリクエスト（割り込み等）であってもよいし、ソフトウェアエンティティ（オペレーティングシステム、カーネル、ＶＭＣＳ（Virtual Machine Control Structure）、アプリケーション又はその他のソフトウェアエンティティ）によるリクエストであってもよい。リクエストが受信されると、ＰＣＵ６１７は、過渡負荷予測器６２５にリクエストがあることを通知する。明示的な信号／インジケータにより、ＰＣＵ６１７によって予測器６２５に通知が行われてもよい。あるいは、予測器６２５は、ＰＣＵ６１７に対するリクエストを監視してもよく、この場合、特別に信号を送信する必要がない。何れの場合にせよ、リクエストが検出されると、ループ６２５、６３５及び６０５は、電力状態変化を補償するべく、動的過渡パルスを生成する段階に移る。
【００４８】
過渡制御ロジック６３５は、上記と同様な態様で動作してもよい。予測器６２５は、電流需要の将来の変化を予測することから、一実施形態では、パルスの仕様用を保持するテーブル又はその他の記憶構造は、パルスが開始する開始時間（又は、現在の時間からの遅延時間）を有する。ここで、時間、イベント又はこれらの組み合わせを含んでもよい開始時間は、電流需要の開始時間を理想的に見積もって、パルスが、電流需要の変化と一致するようにする。
【００４９】
上記の一実施形態における、過渡制御６３５のオペレーションにおいて、電流需要の変化を最適に補償するべく、過渡パルスが動的に調整される。上記では、電流需要が変化すると、パルスを動的に変化させる調整の例について説明がなされた。しかしながら、別の実施形態では、電流需要の過去の変化の補償効率に基づいて、過渡パルスの仕様の調整が行われてもよい。この場合、電流需要が変化する間の電圧６１０の正常化の有効性に基づいて、複数のパルスが異なる大きさで生成される。そして、この仕様（大きさ、期間、開始時間等）を調整することにより、動的パルスの最適な仕様を取得できる。
【００５０】
一例として、Ｃ３（スリープ電力状態）からＣ０（完全動作状態）への遷移の間に、この電力状態遷移を補償するべく、１００ｍＶ（例えば、１Ｖの公称電圧を上回る１．１Ｖ）の動的パルスが、１００サイクル生成された場合を考える。動的パルスを生成したにも関わらず、実際の電力状態遷移の間に、電圧６１０に、５０ｍＶのアンダーシュート（例えば、期待される公称電圧１Ｖと比較した場合、０．９５Ｖになる）が検出されたとする。この場合、次の同様なＣ３からＣ０への遷移では、１５０ｍＶの動的パルスが生成される。そして、アンダーシュートが検出されなくなる。このように、仕様、すなわち、パルスの大きさが、最適な過渡パルスを決定するべく、動的に調整された。この例では、パルスの振幅を動的に調整したが、同様な調整を、過渡パルスの任意の特徴（期間、開始時間等）に適用してもよい。
【００５１】
図５及び図６では別々に説明されたが、予測器とセンサとの両方を使用してもよい。一例として、予測器を、電力状態変化及び予測された電流需要の変化に使用して、予測器が電流需要の変化を正確に予測できなかった場合に、センサを使用してもよい。さらに、予測器は、リクエストに基づいて電力状態遷移を予測してもよい。電力状態遷移の開始の予測を、電流需要の変化を実際に測定するセンサによって補足してもよい。
【００５２】
図７には、一時的なパルスを生成する方法を示したフローチャートの一実施形態が示されている。ブロック７０５において、プロセッサの電流需要の変化が発生する。上記したように、プロセッサの電流需要の変化が発生したかの判断は、電流需要の変化の開始を実際に測定すること、電流需要の変化の発生の予測、又は、これらの組み合わせにより行われてもよい。例えば、予測は、電力状態遷移のリクエストを検出することを含む。電力状態の遷移は、電流需要の実際の変化を通じて測定されてもよく、その他の電流需要の変化も同様に測定されてもよい。
【００５３】
フローチャートの７１０において、プロセッサに供給される電圧における一時的パルスが生成される。一実施形態では、一時的パルスは、プロセッサの電力需要の変化に基づく。電流需要が増加した場合には、公称電圧を上回るような一時的パルスが生成される。電流需要が減少した場合には、公称電圧を下回るような一時的パルスが生成される。一実施形態では、一時的パルスの仕様は、電流需要の変化に関連付けられる又は基づく。例えば、電力状態の遷移が大きくなればなるほど（すなわち、電流需要の変化が大きいほど）、一次パルスのサイズも大きくなる。すなわち、大きな電流の変化を補償するために、電圧の大きな一時的なパルスが供給される。電流の変化についての仕様と一時的パルスとの間の実際の関係は、任意の関数又はアルゴリズムに基づいてもよい。
【００５４】
図８及び図９には、供給された電圧に一時的なパルスを生成する方法を示したフローチャートの別の実施形態が示されている。フローの８０５において、プロセッサの電流需要の変化の開始が測定される。例えば、電力状態遷移が発生する時又はワークロードが変化する時に、電流需要の初期変化が測定／検出される。電流需要の変化の影響が最小限に抑えられるように、フローの８１０において、プロセッサの電流需要における変化を補償するべく、プロセッサに供給される電圧に一時的（過渡）パルスが生成される。
【００５５】
図８で説明した影響を最小限に抑える実施形態とは異なり、図９には、電力状態遷移時に先回りをしてパルスを供給する方法のフローチャートが示されている。フローの９０５において、ソフトウェアエンティティによる電力状態遷移リクエストのような、プロセッサに対する電力状態遷移リクエストが検出される。フローの９１０において、その電力状態遷移と関連付けられた過渡パルステーブルにおけるエントリが決定される。一例として、過渡パルステーブルは、取りうる電力状態遷移を表す情報でインデックスが付与されたルックアップテーブルである。周知の検索アルゴリズムを使用して、リクエストが参照する現在の電力状態遷移が指すエントリを決定する。
【００５６】
エントリが特定されると、フローの９１５において、当該エントリにおける遷移イベントと関連付けられている仕様（パルスの大きさ、パルスの期間、パルスの開始時間等）が、プロセッサの電圧源に供給される。フローの９２０において、この仕様を使用する電圧源が、電圧にパルスを生成する。このように、電圧源に対する、電力状態遷移の悪影響（性能低下、消費電力増大及びコンデンサを使用することによるコスト増大）を、一時的に電圧供給を変化させることにより、最小限にすることができる。
【００５７】
本明細書で用いられたモジュールという言葉は、任意のハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせを意味する。別個のものとして図示されているモジュールの境界は、通常変わることが多く、重複する可能性もある。例えば、第１のモジュール及び第２のモジュールは、ハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせを共有しているとしてもよいし、独立したハードウェア、ソフトウェア又はファームウェアを持つとしてもよい。一実施形態では、ロジックという用語は、例えば、トランジスタ、レジスタのようなタスクを実行するべく組み合わせられる及び／又は構成されるハードウェアを含む。別の実施形態では、ロジックという用語は、プログラム可能な論理デバイス又はプログラム可能なロジックアレイのようなその他のデバイスを含む。
【００５８】
また、本明細書で使用されている"値"という言葉は、数、状態、論理状態又は２値論理状態のあらゆる既知の表現を含む。また、明細書で使用されている論理レベル、論理値、又は論理的値は、１又は０といった単純に２値論理状態を意味している場合もある。例えば、１は高い論理レベルを指し、０は低い論理レベルを指す。一実施形態では、トランジスタ又はフラッシュセルのような記憶セルは、１つの論理値又は複数の論理値を保持可能であってもよい。しかしながら、コンピュータシステムにおける値の他の表現が使用されてもいる。例えば、１０進数の１０は、２進値表示では、１０１０と表され、１６進数表示ではＡと表される。したがって、ある１つの値は、コンピュータシステムに保持される情報のあらゆる表示形式を含む。
【００５９】
さらに、状態（ステート）は、値又は値の一部によって表されていてもよい。例えば、論理値の１のような第１の値が、デフォルト状態又は最初の状態を表していてもよく、論理値の０のような第２の値が、非デフォルト状態を表していてもよい。加えて、リセット及びセットという言葉はそれぞれ、ある実施形態では、デフォルト値又は状態及び更新された値又は状態を指す。例えば、デフォルト値は、高い論理値、すなわち、リセットを含んでもよく、更新値は、低い論理値、すなわち、セットを含んでもよい。値の任意の組み合わせを、あらゆる数の状態を表すのに利用してもよい。
【００６０】
上記の方法、ハードウェア、ソフトウェア、ファームウェア、コードの実施形態を、機械アクセス可能な又は機械可読な媒体に記憶され、プロセッシング素子によって実効可能な命令又はコードを使用して実装してもよい。機械アクセス可能／機械可読な媒体としては、コンピュータ又は電子システムのような機械によって読み出し可能な形式の情報を提供する（すなわち、記憶及び／又は送信する）あらゆるメカニズムを含む。例えば、有形機械アクセス可能媒体には、スタティックＲＡＭ（ＳＲＡＭ）若しくはダイナミックＲＡＭ（ＤＲＡＭ）のようなランダム・アクセス・メモリ（ＲＡＭ）、ＲＯＭ，磁気的又は光学的記憶媒体、フラッシュメモリデバイス、電気記憶デバイス、光学記憶デバイス、音響的記憶デバイス、又は他の形態の伝播信号（例えば、搬送波、赤外線信号、デジタル信号）記憶デバイス等が含まれる。
【００６１】
また、本明細書における「一実施形態」又は「ある実施形態」という言葉は、実施形態に関連する特定の特徴、構造及び特性が、少なくとも本発明の実施形態の一つに含まれていることを意味する。したがって、本明細書中の様々な箇所で使用されている「一実施形態において」又は「ある実施形態において」という表現は、必ずしも同一の実施形態を示していない。また、１以上の実施形態において、特定の構成、構造又は特徴を、適切な形で組み合わせてもよい。
【００６２】
明細書の上記において、特定の例示された実施形態を参照して、詳細な説明がなされた。しかしながら、添付の特許請求の範囲に記載される本発明の範囲内において、様々な変形及び変更を加えることが可能であることは、明らかである。したがって、明細書及び添付の図面は、発明を制限するものではなく、発明を例示するものであると見なされるべきである。また、上記の実施形態及び他の例で使用された言葉は、同じ実施形態又は同じ例を必ずしも指している必要はなく、異なる及び別の実施形態を指している場合もあるし、同じ実施形態を指している場合もある。
［項目１］
複数の電圧レベルをデバイスに供給する電圧源と、
前記電圧源と接続され、前記デバイスの過渡イベントを参照する過渡負荷イベントインジケータを受信する過渡制御ロジックとを備え、
前記過渡制御ロジックは、前記過渡負荷イベントインジケータを受信すると、前記電圧源に、前記複数の電圧レベルの公称電圧から外れたパルスを一定期間供給させる装置。
［項目２］
前記デバイスの前記過渡イベントに応答して前記過渡負荷イベントインジケータを生成する過渡イベントロジックを更に備え、
前記過渡イベントは、前記デバイスの電流需要の測定された変化、前記デバイスの電力状態遷移を示す情報、及び、前記デバイスの電流需要が変化するであろうことを示す情報からなる一群から選択される項目１に記載の装置。
［項目３］
前記公称電圧から外れたパルスは、
前記デバイスの電流需要の増加を含む過渡イベントに応じて、前記公称電圧を上回るパルスを含み、
前記デバイスの電流需要の減少を含む前記過渡イベントに応じて、前記公称電圧を下回るパルスを含む項目１又は２に記載の装置。
［項目４］
前記電圧源に、公称電圧から外れたパルスを供給させる前記過渡制御ロジックは、
パルスの電圧レベル及び時間の長さと関連付けられた前記過渡イベントを保持するエントリを有する過渡パルステーブルを保持し、前記過渡負荷イベントインジケータを受信すると前記過渡イベントに対応する前記過渡パルステーブル内の前記エントリを特定し、前記パルスの電圧レベル及び前記時間の長さを表す情報を前記電圧源に供給する前記過渡制御ロジックを含み、
前記電圧源は、前記パルスの電圧レベル及び時間の長さを前記過渡制御ロジックから受信したことに応答して、前記公称電圧から外れた前記電圧レベルの前記パルスを前記デバイスに供給する項目１から３の何れか一項に記載の装置。
［項目５］
前記過渡イベントは、前記デバイスの電力状態遷移を含み、
前記エントリは更に、前記デバイスの前記電力状態遷移に対応する前記パルスの開始時間を表す情報を保持する項目４に記載の装置。
［項目６］
電圧をプロセッサに供給する電圧源と、
前記プロセッサの負荷の変化を検出する過渡負荷センサと、
前記過渡負荷センサが前記プロセッサの負荷の変化を検出したことに応答して、前記プロセッサの前記負荷の変化を補償するべく、前記電圧源に、動的パルスを前記電圧に生成させる過渡制御ロジックとを備える装置。
［項目７］
前記動的パルスの振幅及び継続時間は、前記プロセッサの前記負荷の変化に基づく項目６に記載の装置。
［項目８］
前記動的パルスの振幅及び継続時間が、前記プロセッサの前記負荷の変化に基づくことは、
前記過渡制御ロジックが、前記プロセッサの前記負荷の変化の大きさと関連付けられた前記動的パルスの振幅及び継続時間をルックアップテーブルに保持することを含み、
前記電圧源に動的パルスを前記電圧に生成させる前記過渡制御ロジックは、
前記過渡負荷センサが前記プロセッサの前記負荷の変化の前記大きさを検出したことに応答して、前記動的パルスの振幅及び継続時間を前記電圧源に供給する前記過渡制御ロジックを含む項目７に記載の装置。
［項目９］
前記動的パルスの振幅及び継続時間が、前記プロセッサの前記負荷の変化に基づくことは、
前記プロセッサの同じ大きさの前記負荷の変化の過去のプロファイル、及び、前のパルスの振幅及び継続時間の前記プロセッサの前記電圧に対する影響に基づいて、前記過渡制御ロジックが前記動的パルスの振幅及び継続時間を動的に調整することを含む項目７に記載の装置。
［項目１０］
前記プロセッサの負荷の変化を検出する前記過渡負荷センサは、
前記プロセッサの電流需要の変化の大きさ及び前記プロセッサの電流需要の前記変化を測定した期間を検出する前記過渡負荷センサを含み、
前記動的パルスの振幅及び継続時間が、前記プロセッサの前記負荷の変化に基づくことは、
前記動的パルスの前記振幅が、前記プロセッサの電流需要の前記変化の大きさの関数であり、前記動的パルスの前記継続時間が、前記プロセッサの電流需要の前記変化を測定した期間の関数であることを含む項目７に記載の装置。
［項目１１］
前記プロセッサの負荷の変化を検出する前記過渡負荷センサは、
前記プロセッサの前記負荷の変化による前記プロセッサに供給される前記電圧の変化を検出する前記過渡負荷センサを含み、
前記過渡制御ロジックは、前記過渡負荷センサが前記プロセッサに供給される前記電圧の変化の開始を検出するとすぐに、前記電圧源に、前記電圧に前記動的パルスを生成させる項目６から１０の何れか一項に記載の装置。
［項目１２］
電圧をプロセッサの少なくとも一部分に供給する電圧源と、
前記プロセッサの前記少なくとも一部分の負荷の変化を予測する負荷予測器と、
前記負荷予測器及び前記電圧源と接続され、前記プロセッサの前記負荷の変化を補償するべく、前記電圧源に、動的パルスを前記電圧に生成させる過渡制御ロジックとを備える装置。
［項目１３］
前記プロセッサの前記少なくとも一部分の負荷の変化を予測する前記負荷予測器は、
前記プロセッサの電力状態遷移のリクエストを検出し、前記電力状態遷移の前記リクエストに基づいて、前記プロセッサの前記少なくとも一部分の負荷の前記変化を予測する前記負荷予測器を含む項目１２に記載の装置。
［項目１４］
前記プロセッサの前記負荷の変化を補償するべく、前記電圧源に、動的パルスを前記電圧に生成させる前記過渡制御ロジックは、
前記プロセッサの前記電力状態遷移と前記電圧における前記動的パルスの仕様とを関連付けるエントリを有するルックアップテーブルを保持し、
前記負荷予測器が前記プロセッサの前記電力状態遷移の前記リクエストを検出したことに応答して、前記ルックアップテーブル内の前記エントリから前記動的パルスの前記仕様を、前記電圧源に供給する前記過渡制御ロジックを含む項目１３に記載の装置。
［項目１５］
前記動的パルスの前記仕様は、大きさ、継続時間及び開始時間を含む項目１４に記載の装置。
［項目１６］
前記プロセッサの前記少なくとも一部分の負荷の変化を予測する前記負荷予測器は、
前記プロセッサの前記少なくとも一部分の電流需要のプロファイルを動的に追跡し、前記電流需要のプロファイルに基づいて、前記プロセッサの前記少なくとも一部分の前記負荷の変化を予測する前記負荷予測器を含む項目１２及び１４から１６の何れか一項に記載の装置。
［項目１７］
前記プロセッサの前記負荷の変化を補償するべく、前記電圧源に、動的パルスを前記電圧に生成させる前記過渡制御ロジックは、前記動的パルスを時間軸上で調整する前記過渡制御ロジックを含む項目１２又は１３に記載の装置。
［項目１８］
前記動的パルスを時間軸上で調整する前記過渡制御ロジックは、
前記プロセッサの前記負荷の変化に対して、時間軸上で複数の異なる大きさ及び継続時間を有する前記動的パルスを、前記電圧源に生成させ、
前記複数の異なる大きさ及び継続時間のそれぞれについて、前記電圧に対する影響を特定し、
前記複数の異なる大きさ及び継続時間のそれぞれについての前記電圧に対する特定された前記影響に基づいて、前記複数の異なる大きさ及び継続時間のうちから、最適な大きさ及び継続時間を特定し、
前記複数の異なる大きさ及び継続時間のうちの前記最適な大きさ及び継続時間を有する前記動的パルスを、前記電圧源に生成させる前記過渡制御ロジックを含む項目１７に記載の装置。
［項目１９］
電力制御ユニットを有するプロセッサと、
前記プロセッサに電圧を供給する電圧源と、
前記電力制御ユニット及び前記電圧源に接続された過渡制御ロジックとを備えるシステムであって、
前記電力制御ユニットは、前記プロセッサが電力状態間を遷移することを通知し、
前記電力制御ユニットが、前記プロセッサの電力状態間の遷移を示したことに応じて、前記過渡制御ロジックは、前記プロセッサに供給される前記電圧に動的パルスを、前記電圧源に供給させるシステム。
［項目２０］
前記プロセッサが電力状態間を遷移することを通知する前記電力制御ユニットは、
前記プロセッサの電力状態を遷移させるリクエストをソフトウェアエンティティから受信し、前記ソフトウェアエンティティからの前記リクエストに基づいて前記プロセッサが前記電力状態間で遷移すると判断したことに応じて、前記プロセッサが前記電力状態間を遷移することを示す前記電力制御ユニットを含む項目１９に記載のシステム。
［項目２１］
前記電力制御ユニットが、前記プロセッサの電力状態間の遷移を示したことに応じて、前記プロセッサに供給される前記電圧に動的パルスを、前記電圧源に供給させる前記過渡制御ロジックは、
前記電力状態間の前記遷移と関連付けられた動的パルスの仕様を保持し、前記電力制御ユニットが前記プロセッサが前記電力状態間を遷移することを通知したことに応答して、前記動的パルスの前記仕様を前記電圧源に供給する前記過渡制御ロジックを含む項目１９又は２０に記載のシステム。
［項目２２］
前記電力状態間の前記遷移は、深いスリープ電力状態から動作電力状態への遷移を含む項目１９から２１の何れか一項に記載のシステム。
［項目２３］
プロセッサの負荷の変化が発生するかを判断する段階と、
前記プロセッサの負荷の変化が発生するとの判断に応答して、前記プロセッサに供給される電圧に一時的パルスを生成する段階とを備え、
前記プロセッサに供給される前記電圧に生成される前記一時的パルスの大きさ及び継続時間は、前記プロセッサの前記負荷の前記変化に基づく方法。
［項目２４］
前記プロセッサに供給される前記電圧に生成される前記一時的パルスの大きさ及び継続時間は、前記プロセッサの前記負荷の前記変化に基づくことは、
前記一時的パルスの大きさ及び継続時間が、前記プロセッサの負荷電流における変化に比例することを含む項目２３に記載の方法。
［項目２５］
前記プロセッサの負荷の変化が発生するかを判断する段階は、
前記プロセッサの電力状態遷移のリクエストを検出する段階と、
前記プロセッサの電力状態遷移の前記リクエストが検出されたことに応答して、前記プロセッサの前記負荷の変化が発生すると判断する段階とを含む項目２３又は２４に記載の方法。
［項目２６］
前記プロセッサの負荷の変化が発生するとの判断に応答して、前記プロセッサに供給される電圧に一時的パルスを生成する段階は、前記プロセッサに供給される前記電圧に生成される前記一時的パルスの大きさ及び継続時間が、前記プロセッサの前記負荷の前記変化に基づき、
前記電力状態遷移が低い電力から高い電力への遷移であることに応答して、前記プロセッサに供給される前記電圧を上回り、前記電力状態遷移のハイ（ｈｉｇｈ）状態の大きさに対応する振幅を有するハイ状態の一時的パルスを、前記電圧に生成する段階と、
前記電力状態遷移が高い電力から低い電力への遷移であることに応答して、前記プロセッサに供給される前記電圧を下回り、前記電力状態遷移のロー（ｌｏｗ）状態の大きさに対応する振幅を有するロー状態の一時的パルスを、前記電圧に生成する段階とを含む項目２５に記載の方法。
［項目２７］
前記プロセッサの負荷の変化が発生するかを判断する段階は、
前記プロセッサの負荷の変化の開始を測定する段階と、
前記プロセッサの前記負荷の変化の開始が測定されたことに応答して、前記プロセッサの前記負荷の変化の発生を判断する段階とを含む項目２３、２４及び２６の何れか一項に記載の方法。
［項目２８］
前記プロセッサの負荷の変化が発生するとの判断に応答して、前記プロセッサに供給される電圧に一時的パルスを生成する段階であって、前記プロセッサに供給される電圧に生成される前記一時的パルスの大きさ及び継続時間が、前記プロセッサの前記負荷の前記変化に基づく段階は、
前記プロセッサの電流需要の増加の開始が測定されると、前記プロセッサに供給される前記電圧を上回り、前記プロセッサの電流需要の増加の測定された大きさに対応する振幅を有するハイ（ｈｉｇｈ）状態の一時的パルスを直ちに、前記電圧に生成する段階と、
前記プロセッサの電流需要の減少の開始が測定されると、前記プロセッサに供給される前記電圧を下回り、前記プロセッサの電流需要の減少の測定された大きさに対応する振幅を有するロー（ｌｏｗ）状態の一時的パルスを直ちに、前記電圧に生成する段階とを含む項目２３に記載の方法。
［項目２９］
前記プロセッサに供給される前記電圧に生成される前記一時的パルスの大きさ及び継続時間は、前記プロセッサの前記負荷の前記変化に基づくことは、
前記一時的パルスの大きさ及び継続時間は、前記プロセッサの負荷電流の変化を補償するべく動的に調整されることを含む項目２３に記載の方法。
【図１】
0005734452.tif 000002
【図２】
0005734452.tif 000003
【図３】
0005734452.tif 000004
【図４】
0005734452.tif 000005
【図５】
0005734452.tif 000006
【図６】
0005734452.tif 000007
【図７】
0005734452.tif 000008
【図８】
0005734452.tif 000009
【図９】
0005734452.tif 000010