"マルチプロセッサコアシステムにおける最大電流を制限するための方法であって、複数のプロセッサコアごとに最新の電力を測定するステップと、前記複数のプロセッサコアの前記最新の電力の和を閾値リミットと比較するステップと、前記和が前記閾値リミットを超過する場合に、前記複数のプロセッサコアに対してパフォーマンス状態P状態リミットを実行して、前記複数のプロセッサコアがより低いパフォーマンス状態に入るステップと、を含む方法。前記複数のプロセッサコアごとの最新の電力の測定は、定時サンプリングを用いて行われる、請求項1に記載の方法。前記定時サンプリングのサンプリング帯域幅は、電圧調整器VRのサンプリング帯域幅よりも大きい、請求項2に記載の方法。前記最新の電力の測定は、前記複数のプロセッサコアに設けられたデジタル電力モニタによって行われる、請求項1に記載の方法。前記P状態リミットはプログラム可能である、請求項1に記載の方法。前記閾値リミットはプログラム可能である、請求項1に記載の方法。前記和が前記閾値リミットを超過する場合に、電圧調整器VRの電圧を下げるステップをさらに含む、請求項1に記載の方法。P状態リミットが実行されていることを示すインターラプトを信号送信するステップをさらに含む、請求項1に記載の方法。前記より低いパフォーマンス状態は、より低い電力、より低い周波数又はより低い電圧のうち少なくとも1つを含む、請求項1に記載の方法。マルチプロセッサコアシステムで用いられるように構成された、最大電流を制限するシステムであって、複数のプロセッサコアと、それぞれ対応するプロセッサコアと関連付けられ、且つ、前記対応するプロセッサコアの最新の電力を測定するように構成された複数の電力モニタと、前記複数のプロセッサコアの最新の電力の和を閾値リミットと比較するように構成されたアプリケーション電力管理APMコントローラと、前記和が前記閾値リミットを超過する場合に、前記複数のプロセッサコアに対してプロセッサコアパフォーマンス状態P状態リミットを実行して、前記複数のプロセッサコアがより低いパフォーマンス状態に入るように構成された複数のP状態コントローラと、を備えるシステム。前記複数の電力モニタは、定時サンプリングを用いて、前記複数のプロセッサコアごとに最新の電力を測定するように構成されている、請求項10に記載のシステム。前記定時サンプリングのサンプリング帯域幅は、電圧調整器VRのサンプリング帯域幅よりも大きい、請求項11に記載のシステム。前記複数の電力モニタはデジタル電力モニタである、請求項10に記載のシステム。前記P状態リミットはプログラム可能である、請求項10に記載のシステム。前記閾値リミットはプログラム可能である、請求項10に記載のシステム。前記和が前記閾値リミットを超過する場合に、電圧調整器VRの電圧を下げるように構成された電圧コントローラをさらに備える、請求項10に記載のシステム。前記APMコントローラは、P状態リミットが実行されていることを示すインターラプトを信号送信するように構成されている、請求項10に記載のシステム。前記より低いパフォーマンス状態は、より低い電力、より低い周波数又はより低い電圧のうち少なくとも1つを含む、請求項10に記載のシステム。マルチプロセッサコアシステムと共に用いられるように構成された、最大電流を制限するシステムを含む集積回路の実行ユニットの製造を容易にするための命令セットであって、1つ以上のプロセッサによる実行用の命令セットを格納するコンピュータ可読記憶媒体であって、前記集積回路は、複数のプロセッサコアごとに最新の電力を測定し、前記複数のプロセッサコアの最新の電力の和を閾値リミットと比較し、前記和が前記閾値リミットを超過する場合に、前記複数のプロセッサコアに対してP状態リミットを実行して、前記複数のプロセッサコアがより低いパフォーマンス状態に入る、ように適合されている、コンピュータ可読記憶媒体。前記命令は、デバイスの製造のために用いられるハードウェア記述言語HDL命令である、請求項19に記載のコンピュータ可読記憶媒体。アプリケーションがプロセッサコア1021...102n上で実行される場合に、アプリケーションのアクティビティは、プロセッサコアでどれだけの電流が使用されるかに影響する可能性がある。高いアプリケーションアクティビティの結果として複数のプロセッサコアが高周波数で動作する場合には、マルチプロセッサコアシステムは、高い電流使用量の影響を受けやすい。VR114によってサポートすることができない過電流イベントは、VR114の望ましくない状況や、システム全体のシャットダウンをもたらすであろう。過電流状態に対する安全措置のために、チップに関する最大電力消費は、ワーストケース電力を発生させる合成トレースを実行させることによって電圧レール上のすべての所与のコンポーネントに関して事前に判定されてもよい。次いで、ワーストケース電力は、VR114の電気リミットを超えないようにするための保護帯域として用いられてもよく、この場合、VR114は、電流のスパイクを識別するのに用いられる。電流の調整をVR114に頼ることに伴う問題は、VR114のサンプリングレートでは、電流のスパイクを検出するのに遅すぎる場合があること、VR114では、遠隔測定情報を、過電流イベントを回避するのに十分に早くプロセッサコア1021...102nに提供することができない場合があることである。加えて、VR114で用いられるアナログ電流センサは、一般的には15の許容誤差があるため、その精度が低くなる傾向にある。マルチコアプロセッサシステムにおける最大電流を調整するためのシステム及び方法が開示される。プロセッサコアの最新の電力が測定される。プロセッサコアの電力が閾値リミットを超過する場合には、プロセッサコアに対してパフォーマンス状態P状態リミットが実行され、プロセッサコアの電力、電圧及び周波数を下げさせ、これにより電流を低減させる。代替的実施形態では、プロセッサコアの電力が所定期間にわたって閾値リミットを超過することが測定された場合に、P状態リミットが実行されてもよい。別の実施形態では、P状態リミットを実行するか否かの決定を行うために、プロセッサコアの電力における増加又は減少傾向が用いられてもよい。より詳細な理解は、付属の図面と併せて単なる例として与えられる以下の説明から得ることが可能である。本明細書に記載の教示は、マルチプロセッサコアシステムに関して説明されるが、単一のプロセッサコアを有するシステムオンチップSOCで同様に用いられてもよい。本明細書に記載の最大電流を制限するシステム及び方法は、外部VRを介する過電流検出よりも速い応答時間を提供し得るものであり、また、プロセッサコアにおけるデジタル電力モニタがアナログ電流計よりも正確であるため、より高い精度を達成し得るものである。本明細書に記載の最大電流を制限するシステム及び方法は、過電流イベントからの2つの保護層を提供するために、VRにおける保護帯域と組み合わせて用いられてもよい。本明細書の教示は、過電流イベントが検出される場合に、1つ以上のプロセッサコアのパフォーマンス状態P状態を調整することを含む。P状態は以下のように説明される。アドバンスドコンフィグレーションアンドパワーインターフェースACPI標準は、コンピュータシステムの電力管理を調整するオペレーティングシステムベースの仕様である。例えば、ACPI標準は、バッテリ寿命のより良好な管理のために、プロセッサコアを制御し及び管理してもよい。そうすることで、ACPIは、C状態と呼ばれるプロセッサ電力状態を割り当て、プロセッサをこれらの状態のリミット内で動作させる。表1に示すように、プロセッサに割り当てられ得る様々なレベルのC状態が、プロセッサの性能に関する対応する含意と共に存在する。プロセッサが十分に作動しているC0状態にある間、プロセッサはパフォーマンス状態又はP状態と呼ばれる別の状態と関連付けられるであろう。作動電圧及び周波数にそれぞれ関連付けられる様々なレベルのP状態が存在する。最も高いパフォーマンス状態はP0であり、これは最大作動電力、電圧及び周波数に対応し得る。しかしながら、プロセッサは、より低いパフォーマンス状態、例えばP1又はP2におかれる場合があり、このパフォーマンス状態は、より低い作動電力、電圧及び/又は周波数に対応する。一般に、プロセッサがより低いP状態に移行する場合、プロセッサは前よりも低い容量で動作するであろう。表2に、C0状態にあるプロセッサが達し得るP状態の例を、対応する含意と共に示す。図2は、本明細書の教示に係る最大電流を制限する方法の一例を示す。ステップ205において、プロセッサコアのそれぞれの電力が測定されるプロセッサコアは、例えば図1におけるプロセッサコア1021...102nであってもよい。好ましくは、各プロセッサコアに関する最新の電力CoreCacLatestが測定される。最新の電力CoreCacLatestは、対応するプロセッサコアの瞬時電力の最近のサンプルであり、したがってエネルギー値とみなされてもよい。代替的実施形態では、最新の電力CoreCacLatestの代わりに又はこれに加えて、平均電力CoreTdpAvgが測定されてもよい。平均電力CoreTdpAvgは、或る時間にわたる瞬時電力サンプルの平均である。好ましくは、各コアの電力値を測定及び報告するために、デジタル電力モニタが各プロセッサコアに含まれる。電力モニタは、電流スパイクを検出したときのより良好な応答時間を提供するために、電流スパイクが発生する回路内に設けられてもよい。電力モニタは、最新の電力及び/又は平均電力を測定及び報告するために、定時サンプリングを用いてもよい。一例となる電力モニタは、参照により本明細書に組み込まれる米国特許出願第12/101,598号にてさらに説明されている。ステップ210において、各プロセッサコアの最新の電力CoreCacLatestの和が、閾値リミットChipCacLimitと比較される。代替的実施形態では、プロセッサコアの短期平均電力を閾値リミットと比較するために、或る時間間隔にわたる平均電力CoreTdpAvgが用いられてもよい。別の実施形態では、プロセッサコアの電力における増加又は減少傾向を得るための時間間隔にわたって、プロセッサコアの最新の電力サンプルCoreCacLatestが測定されてもよい。例えば、或る期間にわたるプロセッサコアの最新の電力サンプルの電力値の増加又は減少が、所定の閾値と比較されてもよい。プロセッサコアの電力情報は、電力モニタによって、プロセッサコアの電力を追跡するノースブリッジの論理に報告されてもよい。ノースブリッジは、プロセッサコアのそれぞれの電力値を、規則的な時間間隔で電力モニタから受信する。好ましくは、ノースブリッジは、十分に速い応答時間を提供して過電流シャットダウンを防ぐために、サンプリング帯域幅がVRのサンプリング帯域幅を超過するように最新の電力CoreCacLatestをサンプリングする。ステップ210において、各プロセッサコアの最新の電力CoreCacLatestが合算され、閾値リミットChipCacLimitと比較される。各プロセッサコアの最新の電力CoreCacLatestの和が閾値リミットChipCacLimitよりも小さい場合には、過電流イベントの測定を続けるためにステップ205に処理が戻る。各プロセッサコアの最新の電力CoreCacLatestの和が閾値リミットChipCacLimitよりも大きい場合には、過電流イベントが検出され、ステップ215において、各プロセッサコアに対して最大電流P状態リミットImaxが実行される。代替的実施形態によれば、P状態リミットImaxは、プロセッサコアの短期平均電力CoreTdpAvgが閾値を超過する場合に実行されてもよい。この場合、各プロセッサコアの平均電力CoreTdpAvgが合算され、閾値と比較されてもよい。さらに別の実施形態によれば、P状態リミットImaxは、各プロセッサコアの電力の前の読取値に対する各プロセッサコアの最新の電力の増加又は減少が閾値を超過する場合に実行されてもよい。この場合、各プロセッサコアの最新の電力が合算され、各プロセッサコアの電力の前の読取値の和と比較されてもよい。ステップ215において、各プロセッサコアの周波数を減少させ、且つ、プロセッサコアへの電圧を減少させることによって、ImaxP状態リミットが実行される。一般に、各プロセッサコアは、自身の周波数を制御しているが、各プロセッサコアの電圧が共通の外部VRによって制御されるように、共通のVDDドレイン電圧電圧平面上にある。代替的に、プロセッサコアが共通の電圧平面上にない場合、プロセッサコアの電圧は別々に制御されてもよい。一般に、ImaxP状態は、マルチプロセッサコアシステムに関するベース状態である。例えば、表2を参照すると、ImaxP状態はP状態P2であってもよい。VRが電流スパイクに応答する前にImaxP状態リミットが適用されるならば、すべてのプロセッサコアの周波数が減少され、過電流状況の可能性が緩和される。ImaxP状態リミットは、プログラム可能であってもよく、異なる電力能力をもつデバイスをサポートするために、すべてのプロセッサコアのP状態すなわち、周波数、電圧及び電力を、プログラム可能な値に変化させてもよい。また、図2には示されていないが、プロセッサコアにおいてImaxP状態リミットが実行されたことを、より高次の層のソフトウェアに通知するために、インターラプトが信号で伝えられてもよい。より高次の層のソフトウェアは、イベントを記録してもよいし、プロセッサコアの使用に関して修正動作を行ってもよい。図3は、最大電流を制限する方法を採用するマルチプロセッサコアシステム300を示す。マルチプロセッサコアシステム300は、それぞれ対応する電力モニタ3041...304nを有するn個この場合、nは2以上であるのプロセッサコア3021...302nを含むプロセッサ305と、アプリケーション電力管理applicationpowermanagement:APMコントローラ306、n個のプロセッサコアP状態コントローラ3081...308n、電圧コントローラ312及びインターラプトコントローラ316を含むノースブリッジ310とを含む。APMコントローラ306は、プログラム可能閾値リミットChipCacLimitと、プログラム可能P状態リミットImaxとを有するように構成されている。ChipCacLimitは、瞬時電力値又はエネルギー値であってもよく、Imaxは、電流値であってもよい。外部VR314は、マルチプロセッサコアシステム300の外部にある。マルチプロセッサコアシステム300のすべてのコンポーネントが示されているわけではなく、例えば、サウスブリッジは簡潔にするために省略されているが、省略されたコンポーネントが含まれてもよいことを理解されたい。図3における最大電流を制限するシステムは、プロセッサコア3021...302nの最新の電力CoreCacLatestを用いて説明されるが、他の電力値が同様の態様で用いられてもよい。例えば、或る時間間隔にわたる平均電力CoreTdpAvg又はプロセッサコア3021...302nの電力の増加若しくは減少が、最新の電力の代わりに用いられてもよい。各電力モニタ3041...304nは、それぞれのプロセッサコア3021...302nに関する最新の電力又はエネルギー値CoreCacLatestを測定し、最新の電力値CoreCacLatestをAPMコントローラ306に報告する。APMコントローラ306は、電力値を規則的な間隔でプロセッサコア3021...302nからサンプリングする。APMコントローラ306は、電力サンプルのセットごとに、プロセッサコアにわたる電力値CoreCacLatestを合算し、電力値の和を閾値リミットChipCacLimitと比較する。和がChipCacLimitを超過する場合、APMコントローラ306は、プロセッサコアP状態コントローラ3081...308nに対して、閾値ChipCacLimitを超過したことの通知を送る。また、APMコントローラ306は、ChipCacLimitを超過したことを、インターラプト制御ブロック316に通知してもよい。プロセッサコアP状態コントローラ3081...308nは、APMコントローラ306からの信号に応じて、P状態を下げ、ひいては周波数を下げるために、それぞれのプロセッサコア3021...302nに対して信号を送る。また、プロセッサコアP状態コントローラ3081...308nは、電圧コントローラ312に通知する。電圧コントローラ312は、すべてのプロセッサコア3021...302nに向かうVDD電圧すなわち正の供給電圧を下げるようVR314に通知するために、信号を外部VR314に送信する。次に、電圧コントローラ312は、プロセッサコア3021...302nの電圧遷移が完了するときに、プロセッサコアP状態コントローラ3081...308nに通知してもよい。この通知は、P状態周波数変化が起こる前に行われてもよい。これは、プロセッサコア3021...302nがより高いP状態に移行する場合であって、周波数が増加されることになる前に電圧が増加されるべき場合と関連がある。これは、一般に、プロセッサコア3021...302nがより低いP状態に移行するときには問題ではない。APMコントローラ306からの信号に応じて、インターラプトコントローラ316は、ImaxP状態リミットが実行されたことを、より高次の層のソフトウェアに通知するために、インターラプト信号をプロセッサコア3021...302nに送る。より高次の層のソフトウェアは、この情報に基づいて幾つかのアクションをとってもよく、例えば、ある数の記録されたImaxP状態リミットイベントの後で、特定のP状態の使用を制限してもよい。APMコントローラ306、コアP状態コントローラ3081...308n、電圧コントローラ312、及びインターラプトコントローラ316は、ノースブリッジ310に典型的に存在する論理の機能パーティションを表わし、マルチプロセッサコアシステムにおいて個々に又はあらゆる組み合わせで用いられてもよい。例えば、n個のコアP状態コントローラ3081...308nは、すべてのプロセッサコア3021...302nの周波数を制御する1つのP状態コントローラとして組み合わされてもよい。別の例では、インターラプトコントローラ316は省略されてもよい。これらのコンポーネントはまた、ノースブリッジ以外の論理ブロックに位置してもよい。図4に、VRに関する供給電流値の一例をアンペアAで示す。Inomは、VR例えば、図3における外部VR314及び図1における外部VR114に関する公称のnominal又は典型的な電流値である。ITDCは、熱設計電流thermaldesigncurrentであり、これは熱的に大きな時間枠例えば、数十ミリ秒にわたって持続可能な最大電流である。IEDCは、短く、熱的に大きくない時間期間例えば、10ミリ秒未満にわたって持続可能な最大電気設計電流electricaldesigncurrentである。IEDCは、ImaxP状態リミットを設定するのに用いられてもよい値であり、これは最大電流イベントが検出されるときにプロセッサコア例えば、図3におけるCPコア3021...302nに対して実行される電流値である。IOCPは、VRがシャットダウンすることになる電流レベルである。特徴及び要素が特定の組み合わせで上記のように説明されたが、各特徴又は要素は、他の特徴及び要素を伴わずに単独で、又は他の特徴及び要素を伴う若しくは伴わない種々の組み合わせで用いることができる。本明細書に記載の装置は、汎用コンピュータ又はプロセッサによる実行のためのコンピュータ可読記憶媒体に組み込まれたコンピュータプログラム、ソフトウェア又はファームウェアを用いることによって製造されてもよい。コンピュータ可読記憶媒体の例は、読出し専用メモリROM、ランダムアクセスメモリRAM、レジスタ、キャッシュメモリ、半導体メモリデバイス、内部ハードディスク及びリムーバブルディスクのような磁気媒体、光磁気媒体、並びにCD-ROMディスク及びデジタルバーサタイルディスクDVDのような光学媒体を含む。本発明の実施形態は、コンピュータ可読記憶媒体に格納された命令及びデータとして表わされてもよい。例えば、本発明の態様は、ハードウェア記述言語HDLであるVerilogを用いて実装されてもよい。処理されるときに、Verilogデータ命令は、半導体製作施設で実施される製造プロセスを行うのに用いられてもよい他の中間データ例えば、ネットリスト、GDSデータなどを生成してもよい。製造プロセスは、本発明の種々の態様を具体化する半導体デバイス例えば、プロセッサを製造するように適合されてもよい。適切なプロセッサは、単なる例として、汎用プロセッサ、専用プロセッサ、従来のプロセッサ、デジタル信号プロセッサDSP、複数のマイクロプロセッサ、グラフィックス処理装置GPU、DSPコア、コントローラ、マイクロコントローラ、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、あらゆる他のタイプの集積回路IC及び/若しくは状態マシン、又はこれらの組み合わせを含む。"