(57)【要約】過電流イベントの結果としてのシステムのシャットダウンを防ぐために、プロセッサ・コアにおける最新の電力消費を測定することによって、マルチプロセッサ・コアシステムにおける最大電流が制限される。プロセッサ・コアの最新の電力の和が閾値リミットを超過する場合、プロセッサ・コアにおいてパフォーマンス状態（Ｐ状態）リミットが実行される。Ｐ状態リミットは、より低い周波数、より低い電圧、したがって、より低い電流へのＰ状態変化を引き起こす。【選択図】図２
2014503889.tif 000002
【特許請求の範囲】
【請求項１】
マルチプロセッサ・コアシステムにおける最大電流を制限するための方法であって、
複数のプロセッサ・コアごとに最新の電力を測定するステップと、
前記複数のプロセッサ・コアの前記最新の電力の和を閾値リミットと比較するステップと、
前記和が前記閾値リミットを超過する場合に、前記複数のプロセッサ・コアに対してパフォーマンス状態（Ｐ状態）リミットを実行して、前記複数のプロセッサ・コアがより低いパフォーマンス状態に入るステップと、
を含む方法。
【請求項２】
前記複数のプロセッサ・コアごとの最新の電力の測定は、定時サンプリングを用いて行われる、請求項１に記載の方法。
【請求項３】
前記定時サンプリングのサンプリング帯域幅は、電圧調整器（ＶＲ）のサンプリング帯域幅よりも大きい、請求項２に記載の方法。
【請求項４】
前記最新の電力の測定は、前記複数のプロセッサ・コアに設けられたデジタル電力モニタによって行われる、請求項１に記載の方法。
【請求項５】
前記Ｐ状態リミットはプログラム可能である、請求項１に記載の方法。
【請求項６】
前記閾値リミットはプログラム可能である、請求項１に記載の方法。
【請求項７】
前記和が前記閾値リミットを超過する場合に、電圧調整器（ＶＲ）の電圧を下げるステップをさらに含む、請求項１に記載の方法。
【請求項８】
Ｐ状態リミットが実行されていることを示すインターラプトを信号送信するステップをさらに含む、請求項１に記載の方法。
【請求項９】
前記より低いパフォーマンス状態は、より低い電力、より低い周波数又はより低い電圧のうち少なくとも１つを含む、請求項１に記載の方法。
【請求項１０】
マルチプロセッサ・コアシステムで用いられるように構成された、最大電流を制限するシステムであって、
複数のプロセッサ・コアと、
それぞれ対応するプロセッサ・コアと関連付けられ、且つ、前記対応するプロセッサ・コアの最新の電力を測定するように構成された複数の電力モニタと、
前記複数のプロセッサ・コアの最新の電力の和を閾値リミットと比較するように構成されたアプリケーション電力管理（ＡＰＭ）コントローラと、
前記和が前記閾値リミットを超過する場合に、前記複数のプロセッサ・コアに対してプロセッサ・コアパフォーマンス状態（Ｐ状態）リミットを実行して、前記複数のプロセッサ・コアがより低いパフォーマンス状態に入るように構成された複数のＰ状態コントローラと、
を備えるシステム。
【請求項１１】
前記複数の電力モニタは、定時サンプリングを用いて、前記複数のプロセッサ・コアごとに最新の電力を測定するように構成されている、請求項１０に記載のシステム。
【請求項１２】
前記定時サンプリングのサンプリング帯域幅は、電圧調整器（ＶＲ）のサンプリング帯域幅よりも大きい、請求項１１に記載のシステム。
【請求項１３】
前記複数の電力モニタはデジタル電力モニタである、請求項１０に記載のシステム。
【請求項１４】
前記Ｐ状態リミットはプログラム可能である、請求項１０に記載のシステム。
【請求項１５】
前記閾値リミットはプログラム可能である、請求項１０に記載のシステム。
【請求項１６】
前記和が前記閾値リミットを超過する場合に、電圧調整器（ＶＲ）の電圧を下げるように構成された電圧コントローラをさらに備える、請求項１０に記載のシステム。
【請求項１７】
前記ＡＰＭコントローラは、Ｐ状態リミットが実行されていることを示すインターラプトを信号送信するように構成されている、請求項１０に記載のシステム。
【請求項１８】
前記より低いパフォーマンス状態は、より低い電力、より低い周波数又はより低い電圧のうち少なくとも１つを含む、請求項１０に記載のシステム。
【請求項１９】
マルチプロセッサ・コアシステムと共に用いられるように構成された、最大電流を制限するシステムを含む集積回路の実行ユニットの製造を容易にするための命令セットであって、１つ以上のプロセッサによる実行用の命令セットを格納するコンピュータ可読記憶媒体であって、
前記集積回路は、
複数のプロセッサ・コアごとに最新の電力を測定し、
前記複数のプロセッサ・コアの最新の電力の和を閾値リミットと比較し、
前記和が前記閾値リミットを超過する場合に、前記複数のプロセッサ・コアに対してＰ状態リミットを実行して、前記複数のプロセッサ・コアがより低いパフォーマンス状態に入る、
ように適合されている、
コンピュータ可読記憶媒体。
【請求項２０】
前記命令は、デバイスの製造のために用いられるハードウェア記述言語（ＨＤＬ）命令である、請求項１９に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１０年１２月３日に出願された米国特許非仮出願第１２／９６０，０９５号に基づく優先権を主張するものであり、当該米国特許非仮出願の内容は、本願明細書を参照することにより援用される。
【０００２】
本出願は、マルチプロセッサ・コアシステム、特に、マルチプロセッサ・コアシステムにおける最大電流を制限することに関する。
【背景技術】
【０００３】
図１は、マルチプロセッサ・コアシステム１００の一例の機能ブロック図である。マルチプロセッサ・コアシステム１００は、ｎ個のプロセッサ・コア１０２１…１０２ｎを含むプロセッサ１０５と、ノースブリッジ１１０及びサウスブリッジ１１５を含むチップセット１２０と、外部電圧調整器（ｖｏｌｔａｇｅ  ｒｅｇｕｒａｔｏｒ：ＶＲ）１１４とを含む。ノースブリッジ１１０は、プロセッサバス１１８を介してプロセッサ１０５に接続されており、周辺バス１２２を介してサウスブリッジに接続されている。マルチプロセッサ・コアシステム１００のすべてのコンポーネントが示されているわけではない。
【０００４】
プロセッサ１０５は、中央処理装置（ＣＰＵ）又はグラフィックス処理装置（ＧＰＵ）のようないかなるタイプのプロセッサであってもよい。例えば、プロセッサ１０５は、ｘ８６  ６４ビット命令セットアーキテクチャを実装し、デスクトップ、ラップトップ、サーバ、及びスーパースカラコンピュータで用いられるｘ８６プロセッサであってもよいし、移動電話又はデジタルメディアプレーヤで用いられるアドバンスト縮小命令セットコンピュータ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ：ＲＩＳＣ）マシン（ＡＲＭ）プロセッサであってもよいし、音声データ及び通信信号のようなデジタル信号に関係するアルゴリズムの処理及び実装に有用なデジタル信号プロセッサ（ＤＳＰ）であってもよいし、プリンタ及びコピー機のような消費者用途に有用なマイクロコントローラであってもよい。図１には、単一のプロセッサ１０５が示されているが、システム１００は複数のプロセッサを含んでもよい。
【０００５】
プロセッサ１０５は、１つ以上のプロセッサ・コア１０２１…１０２ｎを含んでもよく、これはプロセッサ１０５の計算センターを形成し、複数の計算タスクを実行することを担当する。例えば、プロセッサ・コア１０２１…１０２ｎは、２進数の加算、減算、シフト及び回転を行う実行ユニットと、メモリアドレスに関するアドレス計算並びにメモリからのデータのローディング及び保存を行うアドレス生成・ロード・保存ユニットと、を含んでもよいがこれらに限定されない。プロセッサ・コア１０２１…１０２ｎによって行われる動作は、コンピュータアプリケーションの実行を可能にする。
【０００６】
ノースブリッジ１１０及びサウスブリッジ１１５は、プロセッサ１０５が他のハードウェアコンポーネントと通信することを容易にする論理を格納する。例えば、ノースブリッジ１１０は、ＶＲ１１４とプロセッサ１０５との通信を容易にし、サウスブリッジ１１５は、周辺コンポーネントインターコネクト（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ：ＰＣＩ）スロット（図示せず）を介した周辺機器とプロセッサ１０５との通信を容易にする。ノースブリッジ１１０はまた、メモリコントローラハブ（ＭＣＨ）と呼ばれる場合があり、サウスブリッジ１１５はまた、入力／出力（Ｉ／Ｏ）コントローラハブ（ＩＣＨ）と呼ばれる場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
アプリケーションがプロセッサ・コア１０２１…１０２ｎ上で実行される場合に、アプリケーションのアクティビティは、プロセッサ・コアでどれだけの電流が使用されるかに影響する可能性がある。高いアプリケーション・アクティビティの結果として複数のプロセッサ・コアが高周波数で動作する場合には、マルチプロセッサ・コアシステムは、高い電流使用量の影響を受けやすい。ＶＲ１１４によってサポートすることができない過電流イベントは、ＶＲ１１４の望ましくない状況や、システム全体のシャットダウンをもたらすであろう。
【０００８】
過電流状態に対する安全措置のために、チップに関する最大電力消費は、ワーストケース電力を発生させる合成トレースを実行させることによって電圧レール上のすべての所与のコンポーネントに関して事前に判定されてもよい。次いで、ワーストケース電力は、ＶＲ１１４の電気リミットを超えないようにするための保護帯域として用いられてもよく、この場合、ＶＲ１１４は、電流のスパイクを識別するのに用いられる。
【０００９】
電流の調整をＶＲ１１４に頼ることに伴う問題は、ＶＲ１１４のサンプリングレートでは、電流のスパイクを検出するのに遅すぎる場合があること、ＶＲ１１４では、遠隔測定情報を、過電流イベントを回避するのに十分に早くプロセッサ・コア１０２１…１０２ｎに提供することができない場合があることである。加えて、ＶＲ１１４で用いられるアナログ電流センサは、一般的には１５％の許容誤差があるため、その精度が低くなる傾向にある。
【課題を解決するための手段】
【００１０】
マルチコアプロセッサシステムにおける最大電流を調整するためのシステム及び方法が開示される。プロセッサ・コアの最新の電力が測定される。プロセッサ・コアの電力が閾値リミットを超過する場合には、プロセッサ・コアに対してパフォーマンス状態（Ｐ状態）リミットが実行され、プロセッサ・コアの電力、電圧及び周波数を下げさせ、これにより電流を低減させる。代替的実施形態では、プロセッサ・コアの電力が所定期間にわたって閾値リミットを超過することが測定された場合に、Ｐ状態リミットが実行されてもよい。別の実施形態では、Ｐ状態リミットを実行するか否かの決定を行うために、プロセッサ・コアの電力における増加又は減少傾向が用いられてもよい。
【００１１】
より詳細な理解は、付属の図面と併せて単なる例として与えられる以下の説明から得ることが可能である。
【図面の簡単な説明】
【００１２】
【図１】マルチプロセッサ・コアシステムの一例の機能ブロック図である。
【図２】最大電流を制限する方法の一例を示す図である。
【図３】最大電流を制限するシステムを含むマルチプロセッサ・コアシステムの一例の機能ブロック図である。
【図４】供給電流値の例を示す図である。
【発明を実施するための形態】
【００１３】
本明細書に記載の教示は、マルチプロセッサ・コアシステムに関して説明されるが、単一のプロセッサ・コアを有するシステムオンチップ（ＳＯＣ）で同様に用いられてもよい。本明細書に記載の最大電流を制限するシステム及び方法は、外部ＶＲを介する過電流検出よりも速い応答時間を提供し得るものであり、また、プロセッサ・コアにおけるデジタル電力モニタがアナログ電流計よりも正確であるため、より高い精度を達成し得るものである。本明細書に記載の最大電流を制限するシステム及び方法は、過電流イベントからの２つの保護層を提供するために、ＶＲにおける保護帯域と組み合わせて用いられてもよい。
【００１４】
本明細書の教示は、過電流イベントが検出される場合に、１つ以上のプロセッサ・コアのパフォーマンス状態（Ｐ状態）を調整することを含む。Ｐ状態は以下のように説明される。アドバンスド・コンフィグレーション・アンド・パワー・インターフェース（ＡＣＰＩ）標準は、コンピュータシステムの電力管理を調整するオペレーティングシステムベースの仕様である。例えば、ＡＣＰＩ標準は、バッテリ寿命のより良好な管理のために、プロセッサ・コアを制御し及び管理してもよい。そうすることで、ＡＣＰＩは、Ｃ状態と呼ばれるプロセッサ電力状態を割り当て、プロセッサをこれらの状態のリミット内で動作させる。表１に示すように、プロセッサに割り当てられ得る様々なレベルのＣ状態が、プロセッサの性能に関する対応する含意と共に存在する。
【表１】
2014503889.tif 000003
【００１５】
プロセッサが十分に作動しているＣ０状態にある間、プロセッサはパフォーマンス状態又はＰ状態と呼ばれる別の状態と関連付けられるであろう。作動電圧及び周波数にそれぞれ関連付けられる様々なレベルのＰ状態が存在する。最も高いパフォーマンス状態はＰ０であり、これは最大作動電力、電圧及び周波数に対応し得る。しかしながら、プロセッサは、より低いパフォーマンス状態、例えばＰ１又はＰ２におかれる場合があり、このパフォーマンス状態は、より低い作動電力、電圧及び／又は周波数に対応する。一般に、プロセッサがより低いＰ状態に移行する場合、プロセッサは前よりも低い容量で動作するであろう。表２に、Ｃ０状態にあるプロセッサが達し得るＰ状態の例を、対応する含意と共に示す。
【表２】
2014503889.tif 000004
【００１６】
図２は、本明細書の教示に係る最大電流を制限する方法の一例を示す。ステップ２０５において、プロセッサ・コアのそれぞれの電力が測定される（プロセッサ・コアは、例えば図１におけるプロセッサ・コア１０２１…１０２ｎであってもよい）。好ましくは、各プロセッサ・コアに関する最新の電力（ＣｏｒｅＣａｃＬａｔｅｓｔ）が測定される。最新の電力（ＣｏｒｅＣａｃＬａｔｅｓｔ）は、対応するプロセッサ・コアの瞬時電力の最近のサンプルであり、したがってエネルギー値とみなされてもよい。代替的実施形態では、最新の電力（ＣｏｒｅＣａｃＬａｔｅｓｔ）の代わりに又はこれに加えて、平均電力（ＣｏｒｅＴｄｐＡｖｇ）が測定されてもよい。平均電力（ＣｏｒｅＴｄｐＡｖｇ）は、或る時間にわたる瞬時電力サンプルの平均である。
【００１７】
好ましくは、各コアの電力値を測定及び報告するために、デジタル電力モニタが各プロセッサ・コアに含まれる。電力モニタは、電流スパイクを検出したときのより良好な応答時間を提供するために、電流スパイクが発生する回路内に設けられてもよい。電力モニタは、最新の電力（及び／又は平均電力）を測定及び報告するために、定時サンプリングを用いてもよい。一例となる電力モニタは、参照により本明細書に組み込まれる米国特許出願第１２／１０１，５９８号にてさらに説明されている。
【００１８】
ステップ２１０において、各プロセッサ・コアの最新の電力（ＣｏｒｅＣａｃＬａｔｅｓｔ）の和が、閾値リミットＣｈｉｐＣａｃＬｉｍｉｔと比較される。代替的実施形態では、プロセッサ・コアの短期平均電力を閾値リミットと比較するために、或る時間間隔にわたる平均電力（ＣｏｒｅＴｄｐＡｖｇ）が用いられてもよい。別の実施形態では、プロセッサ・コアの電力における増加又は減少傾向を得るための時間間隔にわたって、プロセッサ・コアの最新の電力サンプル（ＣｏｒｅＣａｃＬａｔｅｓｔ）が測定されてもよい。例えば、或る期間にわたるプロセッサ・コアの最新の電力サンプルの電力値の増加（又は減少）が、所定の閾値と比較されてもよい。
【００１９】
プロセッサ・コアの電力情報は、電力モニタによって、プロセッサ・コアの電力を追跡するノースブリッジの論理に報告されてもよい。ノースブリッジは、プロセッサ・コアのそれぞれの電力値を、規則的な時間間隔で電力モニタから受信する。好ましくは、ノースブリッジは、十分に速い応答時間を提供して過電流シャットダウンを防ぐために、サンプリング帯域幅がＶＲのサンプリング帯域幅を超過するように最新の電力（ＣｏｒｅＣａｃＬａｔｅｓｔ）をサンプリングする。
【００２０】
ステップ２１０において、各プロセッサ・コアの最新の電力（ＣｏｒｅＣａｃＬａｔｅｓｔ）が合算され、閾値リミットＣｈｉｐＣａｃＬｉｍｉｔと比較される。各プロセッサ・コアの最新の電力（ＣｏｒｅＣａｃＬａｔｅｓｔ）の和が閾値リミットＣｈｉｐＣａｃＬｉｍｉｔよりも小さい場合には、過電流イベントの測定を続けるためにステップ２０５に処理が戻る。各プロセッサ・コアの最新の電力（ＣｏｒｅＣａｃＬａｔｅｓｔ）の和が閾値リミットＣｈｉｐＣａｃＬｉｍｉｔよりも大きい場合には、過電流イベントが検出され、ステップ２１５において、各プロセッサ・コアに対して最大電流Ｐ状態リミットＩｍａｘが実行される。
【００２１】
代替的実施形態によれば、Ｐ状態リミットＩｍａｘは、プロセッサ・コアの短期平均電力（ＣｏｒｅＴｄｐＡｖｇ）が閾値を超過する場合に実行されてもよい。この場合、各プロセッサ・コアの平均電力（ＣｏｒｅＴｄｐＡｖｇ）が合算され、閾値と比較されてもよい。さらに別の実施形態によれば、Ｐ状態リミットＩｍａｘは、各プロセッサ・コアの電力の前の読取値に対する各プロセッサ・コアの最新の電力の増加（又は減少）が閾値を超過する場合に実行されてもよい。この場合、各プロセッサ・コアの最新の電力が合算され、各プロセッサ・コアの電力の前の読取値の和と比較されてもよい。
【００２２】
ステップ２１５において、各プロセッサ・コアの周波数を減少させ、且つ、プロセッサ・コアへの電圧を減少させることによって、ＩｍａｘＰ状態リミットが実行される。一般に、各プロセッサ・コアは、自身の周波数を制御しているが、各プロセッサ・コアの電圧が共通の（外部）ＶＲによって制御されるように、共通のＶＤＤ（ドレイン電圧）電圧平面上にある。代替的に、プロセッサ・コアが共通の電圧平面上にない場合、プロセッサ・コアの電圧は別々に制御されてもよい。
【００２３】
一般に、ＩｍａｘＰ状態は、マルチプロセッサ・コアシステムに関するベース状態である。例えば、表２を参照すると、ＩｍａｘＰ状態はＰ状態Ｐ２であってもよい。ＶＲが電流スパイクに応答する前にＩｍａｘＰ状態リミットが適用されるならば、すべてのプロセッサ・コアの周波数が減少され、過電流状況の可能性が緩和される。ＩｍａｘＰ状態リミットは、プログラム可能であってもよく、異なる電力能力をもつデバイスをサポートするために、すべてのプロセッサ・コアのＰ状態（すなわち、周波数、電圧及び電力）を、プログラム可能な値に変化させてもよい。
【００２４】
また、図２には示されていないが、プロセッサ・コアにおいてＩｍａｘＰ状態リミットが実行されたことを、より高次の層のソフトウェアに通知するために、インターラプトが信号で伝えられてもよい。より高次の層のソフトウェアは、イベントを記録してもよいし、プロセッサ・コアの使用に関して修正動作を行ってもよい。
【００２５】
図３は、最大電流を制限する方法を採用するマルチプロセッサ・コアシステム３００を示す。マルチプロセッサ・コアシステム３００は、それぞれ対応する電力モニタ３０４１…３０４ｎを有するｎ個（この場合、ｎは２以上である）のプロセッサ・コア３０２１…３０２ｎを含むプロセッサ３０５と、アプリケーション電力管理（ａｐｐｌｉｃａｔｉｏｎ  ｐｏｗｅｒ  ｍａｎａｇｅｍｅｎｔ：ＡＰＭ）コントローラ３０６、ｎ個のプロセッサ・コアＰ状態コントローラ３０８１…３０８ｎ、電圧コントローラ３１２及びインターラプトコントローラ（３１６）を含むノースブリッジ３１０とを含む。ＡＰＭコントローラ３０６は、プログラム可能閾値リミットＣｈｉｐＣａｃＬｉｍｉｔと、プログラム可能Ｐ状態リミットＩｍａｘとを有するように構成されている。ＣｈｉｐＣａｃＬｉｍｉｔは、瞬時電力値又はエネルギー値であってもよく、Ｉｍａｘは、電流値であってもよい。外部ＶＲ３１４は、マルチプロセッサ・コアシステム３００の外部にある。マルチプロセッサ・コアシステム３００のすべてのコンポーネントが示されているわけではなく、例えば、サウスブリッジは簡潔にするために省略されているが、省略されたコンポーネントが含まれてもよいことを理解されたい。図３における最大電流を制限するシステムは、プロセッサ・コア３０２１…３０２ｎの最新の電力（ＣｏｒｅＣａｃＬａｔｅｓｔ）を用いて説明されるが、他の電力値が同様の態様で用いられてもよい。例えば、或る時間間隔にわたる平均電力（ＣｏｒｅＴｄｐＡｖｇ）又はプロセッサ・コア３０２１…３０２ｎの電力の増加若しくは減少が、最新の電力の代わりに用いられてもよい。
【００２６】
各電力モニタ３０４１…３０４ｎは、それぞれのプロセッサ・コア３０２１…３０２ｎに関する最新の電力又はエネルギー値（ＣｏｒｅＣａｃＬａｔｅｓｔ）を測定し、最新の電力値（ＣｏｒｅＣａｃＬａｔｅｓｔ）をＡＰＭコントローラ３０６に報告する。ＡＰＭコントローラ３０６は、電力値を規則的な間隔でプロセッサ・コア３０２１…３０２ｎからサンプリングする。ＡＰＭコントローラ３０６は、電力サンプルのセットごとに、プロセッサ・コアにわたる電力値（ＣｏｒｅＣａｃＬａｔｅｓｔ）を合算し、電力値の和を閾値リミットＣｈｉｐＣａｃＬｉｍｉｔと比較する。和がＣｈｉｐＣａｃＬｉｍｉｔを超過する場合、ＡＰＭコントローラ３０６は、プロセッサ・コアＰ状態コントローラ３０８１…３０８ｎに対して、閾値ＣｈｉｐＣａｃＬｉｍｉｔを超過したことの通知を送る。また、ＡＰＭコントローラ３０６は、ＣｈｉｐＣａｃＬｉｍｉｔを超過したことを、インターラプト制御ブロック３１６に通知してもよい。
【００２７】
プロセッサ・コアＰ状態コントローラ３０８１…３０８ｎは、ＡＰＭコントローラ３０６からの信号に応じて、Ｐ状態を下げ、ひいては周波数を下げるために、それぞれのプロセッサ・コア３０２１…３０２ｎに対して信号を送る。また、プロセッサ・コアＰ状態コントローラ３０８１…３０８ｎは、電圧コントローラ３１２に通知する。電圧コントローラ３１２は、すべてのプロセッサ・コア３０２１…３０２ｎに向かうＶＤＤ電圧（すなわち正の供給電圧）を下げるようＶＲ３１４に通知するために、信号を外部ＶＲ３１４に送信する。次に、電圧コントローラ３１２は、プロセッサ・コア３０２１…３０２ｎの電圧遷移が完了するときに、プロセッサ・コアＰ状態コントローラ３０８１…３０８ｎに通知してもよい。この通知は、Ｐ状態周波数変化が起こる前に行われてもよい。これは、プロセッサ・コア３０２１…３０２ｎがより高いＰ状態に移行する場合であって、周波数が増加されることになる前に電圧が増加されるべき場合と関連がある。これは、一般に、プロセッサ・コア３０２１…３０２ｎがより低いＰ状態に移行するときには問題ではない。
【００２８】
ＡＰＭコントローラ３０６からの信号に応じて、インターラプトコントローラ３１６は、ＩｍａｘＰ状態リミットが実行されたことを、より高次の層のソフトウェアに通知するために、インターラプト信号をプロセッサ・コア３０２１…３０２ｎに送る。より高次の層のソフトウェアは、この情報に基づいて幾つかのアクションをとってもよく、例えば、ある数の記録されたＩｍａｘＰ状態リミットイベントの後で、特定のＰ状態の使用を制限してもよい。
【００２９】
ＡＰＭコントローラ３０６、コアＰ状態コントローラ３０８１…３０８ｎ、電圧コントローラ３１２、及びインターラプトコントローラ３１６は、ノースブリッジ３１０に典型的に存在する論理の機能パーティションを表わし、マルチプロセッサ・コアシステムにおいて個々に又はあらゆる組み合わせで用いられてもよい。例えば、ｎ個のコアＰ状態コントローラ３０８１…３０８ｎは、すべてのプロセッサ・コア３０２１…３０２ｎの周波数を制御する１つのＰ状態コントローラとして組み合わされてもよい。別の例では、インターラプトコントローラ３１６は省略されてもよい。これらのコンポーネントはまた、ノースブリッジ以外の論理ブロックに位置してもよい。
【００３０】
図４に、ＶＲに関する供給電流値の一例をアンペア（Ａ）で示す。Ｉｎｏｍは、ＶＲ（例えば、図３における外部ＶＲ３１４及び図１における外部ＶＲ１１４）に関する公称の（ｎｏｍｉｎａｌ）又は典型的な電流値である。ＩＴＤＣは、熱設計電流（ｔｈｅｒｍａｌ  ｄｅｓｉｇｎ  ｃｕｒｒｅｎｔ）であり、これは熱的に大きな時間枠（例えば、数十ミリ秒）にわたって持続可能な最大電流である。ＩＥＤＣは、短く、熱的に大きくない時間期間（例えば、１０ミリ秒未満）にわたって持続可能な最大電気設計電流（ｅｌｅｃｔｒｉｃａｌ  ｄｅｓｉｇｎ  ｃｕｒｒｅｎｔ）である。ＩＥＤＣは、ＩｍａｘＰ状態リミットを設定するのに用いられてもよい値であり、これは最大電流イベントが検出されるときにプロセッサ・コア（例えば、図３におけるＣＰコア３０２１…３０２ｎ）に対して実行される電流値である。ＩＯＣＰは、ＶＲがシャットダウンすることになる電流レベルである。
【００３１】
特徴及び要素が特定の組み合わせで上記のように説明されたが、各特徴又は要素は、他の特徴及び要素を伴わずに単独で、又は他の特徴及び要素を伴う若しくは伴わない種々の組み合わせで用いることができる。本明細書に記載の装置は、汎用コンピュータ又はプロセッサによる実行のためのコンピュータ可読記憶媒体に組み込まれたコンピュータプログラム、ソフトウェア又はファームウェアを用いることによって製造されてもよい。コンピュータ可読記憶媒体の例は、読出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、レジスタ、キャッシュメモリ、半導体メモリデバイス、内部ハードディスク及びリムーバブルディスクのような磁気媒体、光磁気媒体、並びにＣＤ−ＲＯＭディスク及びデジタルバーサタイルディスク（ＤＶＤ）のような光学媒体を含む。
【００３２】
本発明の実施形態は、コンピュータ可読記憶媒体に格納された命令及びデータとして表わされてもよい。例えば、本発明の態様は、ハードウェア記述言語（ＨＤＬ）であるＶｅｒｉｌｏｇを用いて実装されてもよい。処理されるときに、Ｖｅｒｉｌｏｇデータ命令は、半導体製作施設で実施される製造プロセスを行うのに用いられてもよい他の中間データ（例えば、ネットリスト、ＧＤＳデータなど）を生成してもよい。製造プロセスは、本発明の種々の態様を具体化する半導体デバイス（例えば、プロセッサ）を製造するように適合されてもよい。
【００３３】
適切なプロセッサは、単なる例として、汎用プロセッサ、専用プロセッサ、従来のプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、複数のマイクロプロセッサ、グラフィックス処理装置（ＧＰＵ）、ＤＳＰコア、コントローラ、マイクロコントローラ、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、あらゆる他のタイプの集積回路（ＩＣ）及び／若しくは状態マシン、又はこれらの組み合わせを含む。
【図１】
2014503889.tif 000005
【図２】
2014503889.tif 000006
【図３】
2014503889.tif 000007
【図４】
2014503889.tif 000008
【手続補正書】
【提出日】平成25年8月6日(2013.8.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチプロセッサ・コアシステムにおける最大電流を制限するための方法であって、
複数のプロセッサ・コアごとに最新の電力を測定するステップと、
前記複数のプロセッサ・コアの前記最新の電力の和を閾値リミットと比較するステップと、
前記和が前記閾値リミットを超過する場合に、前記複数のプロセッサ・コアに対してパフォーマンス状態（Ｐ状態）リミットを実行して、前記複数のプロセッサ・コアがより低いパフォーマンス状態に入るステップと、
を含む方法。
【請求項２】
前記複数のプロセッサ・コアごとの最新の電力の測定は、定時サンプリングを用いて行われる、請求項１に記載の方法。
【請求項３】
前記定時サンプリングのサンプリング帯域幅は、電圧調整器（ＶＲ）のサンプリング帯域幅よりも大きい、請求項２に記載の方法。
【請求項４】
前記Ｐ状態リミットおよび前記閾値リミットの少なくとも一方はプログラム可能である、請求項１に記載の方法。
【請求項５】
前記和が前記閾値リミットを超過する場合に、電圧調整器（ＶＲ）の電圧を下げるステップをさらに含む、請求項１に記載の方法。
【請求項６】
Ｐ状態リミットが実行されていることを示すインターラプトを信号送信するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記より低いパフォーマンス状態は、より低い電力、より低い周波数又はより低い電圧のうち少なくとも１つを含む、請求項１に記載の方法。
【請求項８】
マルチプロセッサ・コアシステムで用いられるように構成された、最大電流を制限するシステムであって、
複数のプロセッサ・コアと、
それぞれ対応するプロセッサ・コアと関連付けられ、且つ、前記対応するプロセッサ・コアの最新の電力を測定するように構成された複数の電力モニタと、
前記複数のプロセッサ・コアの最新の電力の和を閾値リミットと比較するように構成されたアプリケーション電力管理（ＡＰＭ）コントローラと、
前記和が前記閾値リミットを超過する場合に、前記複数のプロセッサ・コアに対してプロセッサ・コアパフォーマンス状態（Ｐ状態）リミットを実行して、前記複数のプロセッサ・コアがより低いパフォーマンス状態に入るように構成された複数のＰ状態コントローラと、
を備えるシステム。
【請求項９】
前記複数の電力モニタは、定時サンプリングを用いて、前記複数のプロセッサ・コアごとに最新の電力を測定するように構成されている、請求項８に記載のシステム。
【請求項１０】
前記定時サンプリングのサンプリング帯域幅は、電圧調整器（ＶＲ）のサンプリング帯域幅よりも大きい、請求項９に記載のシステム。
【請求項１１】
前記Ｐ状態リミットおよび前記閾値リミットの少なくとも一方はプログラム可能である、請求項８に記載のシステム。
【請求項１２】
前記和が前記閾値リミットを超過する場合に、電圧調整器（ＶＲ）の電圧を下げるように構成された電圧コントローラをさらに備える、請求項８に記載のシステム。
【請求項１３】
前記ＡＰＭコントローラは、Ｐ状態リミットが実行されていることを示すインターラプトを信号送信するように構成されている、請求項８に記載のシステム。
【請求項１４】
前記より低いパフォーマンス状態は、より低い電力、より低い周波数又はより低い電圧のうち少なくとも１つを含む、請求項８に記載のシステム。
【請求項１５】
マルチプロセッサ・コアシステムと共に用いられるように構成された、最大電流を制限するシステムを含む集積回路の実行ユニットの製造を容易にするための命令セットであって、１つ以上のプロセッサによる実行用の命令セットを格納するコンピュータ可読記憶媒体であって、
前記集積回路は、
複数のプロセッサ・コアごとに最新の電力を測定し、
前記複数のプロセッサ・コアの最新の電力の和を閾値リミットと比較し、
前記和が前記閾値リミットを超過する場合に、前記複数のプロセッサ・コアに対してＰ状態リミットを実行して、前記複数のプロセッサ・コアがより低いパフォーマンス状態に入る、
ように適合されている、
コンピュータ可読記憶媒体。
【国際調査報告】
2014503889.tif 000009
2014503889.tif 000010