(57)【要約】【課題】プロセッサ・コア内でローカル検出ループを使用してオンチップ電源ノイズ電圧の低減または軽減あるいはその両方を促進するための技術を提供する。【解決手段】一例において、コンピュータ実装方法はプロセッサ・コアによって、プロセッサ・コアの第１のエリアにおける電圧ドループを検出することを含むことができる。コンピュータ実装方法はまたプロセッサ・コアによって電圧ドループ情報を第１のエリアに配置されるローカル制御器およびプロセッサ・コアに配置されるグローバル制御器に送信することを含むことができる。さらには、コンピュータ実装方法はプロセッサ・コアによって、ローカル制御器から受信されたローカル命令に応答してプロセッサ・コアの第１のエリアにおいて第１の軽減対策を適用することを含むことができる。ローカル命令は第１の軽減対策の指標を含むことができる。【選択図】図９
2020529072.tif 000002
【特許請求の範囲】
【請求項１】
オンチップ電源ノイズの低減を促進するためのデバイスであって、
プロセッサ・コアの第１のユニットに配置される第１の電圧ノイズ・センサであって、前記第１の電圧ノイズ・センサは前記第１のユニットにおいて第１の電圧ドループを検出し、前記プロセッサ・コアは前記第１のユニットと第２のユニットとに分割される、前記第１の電圧ノイズ・センサと、
前記プロセッサ・コアに配置され、前記第１の電圧ノイズ・センサから前記第１の電圧ドループの指標を受信する、グローバル・ノイズ・マネージャ・コンポーネントと、
前記第１のユニットに配置される第１のローカル・ノイズ・マネージャ・コンポーネントであって、
前記第１の電圧ノイズ・センサから前記第１の電圧ドループの前記指標を受信することと、
前記第１のユニットにおいて第１のノイズ軽減手順を実装することと
について動作可能な前記第１のローカル・ノイズ・マネージャ・コンポーネントと
を備える、デバイス。
【請求項２】
前記第１の電圧ノイズ・センサは、電源ノイズ値または決定された電圧値における勾配のうちの少なくとも１つをデジタル的に測定するよう動作可能である、請求項１に記載のデバイス。
【請求項３】
前記第１のローカル・ノイズ・マネージャ・コンポーネントは、前記第１のユニット内で第１のローカル制御ループ上で前記第１のノイズ軽減手順を実装するようにさらに動作可能であり、前記第１のローカル・ノイズ・マネージャ・コンポーネントは、前記第１のローカル制御ループに関連する情報を前記グローバル・ノイズ・マネージャ・コンポーネントおよび前記プロセッサ・コアの前記第２のユニットに配置される少なくとも第２のローカル・ノイズ・マネージャ・コンポーネントにブロードキャストするようにさらに動作可能である、請求項１または２に記載のデバイス。
【請求項４】
前記グローバル・ノイズ・マネージャ・コンポーネントは、前記プロセッサ・コア内でグローバル制御ループ上でグローバル・ノイズ軽減手順を実装するようにさらに動作可能であり、前記第１のローカル制御ループおよび前記グローバル制御ループは独立したループである、請求項３に記載のデバイス。
【請求項５】
前記第１のローカル制御ループは、前記グローバル制御ループの第２の反応時間より速い第１の反応時間を有する、請求項４に記載のデバイス。
【請求項６】
前記グローバル・ノイズ・マネージャ・コンポーネントは、前記第１の電圧ドループが定義されたサイクル数より多く続いているという判断に基づいてグローバル・ノイズ軽減手順を実装するようにさらに動作可能であり、前記グローバル・ノイズ軽減手順は前記プロセッサ・コアの前記第１のユニットおよび前記第２のユニットに適用される、請求項１ないし５のいずれか一項に記載のデバイス。
【請求項７】
前記グローバル・ノイズ軽減手順は前記第１のノイズ軽減手順をオーバライドするようにさらに動作可能である、請求項６に記載のデバイス。
【請求項８】
前記プロセッサ・コアの前記第２のユニットに配置され、前記第２のユニットにおいて第２の電圧ドループを検出するよう動作可能な、第２の電圧ノイズ・センサと、
前記第２のユニットに配置される第２のローカル・ノイズ・マネージャ・コンポーネントであって、
前記第２の電圧ノイズ・センサから前記第２の電圧ドループの第２の指標を受信することと、
前記第２のユニットにおいて第２のノイズ軽減手順を実装することと
について動作可能な前記第２のローカル・ノイズ・マネージャ・コンポーネントと
をさらに備える、請求項１ないし７のいずれか一項に記載のデバイス。
【請求項９】
前記第２のローカル・ノイズ・マネージャ・コンポーネントは、前記第２のユニット内で第２のローカル制御ループ上で前記第２のノイズ軽減手順を実装するようにさらに動作可能であり、前記第２のローカル・ノイズ・マネージャ・コンポーネントは、前記第２のローカル制御ループに関連する情報を前記グローバル・ノイズ・マネージャ・コンポーネントおよび前記第１のローカル・ノイズ・マネージャ・コンポーネントにブロードキャストするようにさらに動作可能である、請求項８に記載のデバイス。
【請求項１０】
前記第１のユニットに実装される前記第１のノイズ軽減手順は、前記プロセッサ・コアの処理効率を向上させる、請求項１ないし９のいずれか一項に記載のデバイス。
【請求項１１】
オンチップ電源ノイズの低減を促進するためのコンピュータ実装方法であって、
プロセッサ・コアによって前記プロセッサ・コアの第１のエリアにおいて電圧ドループを検出することと、
前記プロセッサ・コアによって前記第１のエリアに配置されるローカル制御器および前記プロセッサ・コアに配置されるグローバル制御器に電圧ドループ情報を送信することと、
前記プロセッサ・コアによって、前記ローカル制御器から受信されたローカル命令に応答して、前記プロセッサ・コアの前記第１のエリアにおいて第１の軽減対策を適用することであって、前記ローカル命令は前記第１の軽減対策の指標を含む、前記適用することと
を含む、コンピュータ実装方法。
【請求項１２】
前記プロセッサ・コアによって、前記第１の軽減対策が前記第１のエリアにおいて前記電圧ドループを解決しなかったことを決定することと、
前記プロセッサ・コアによって、前記グローバル制御器から受信されたグローバル命令に応答して前記プロセッサ・コア内で第２の軽減対策を適用することと
をさらに含む、請求項１１に記載のコンピュータ実装方法。
【請求項１３】
前記第２の軽減対策を適用することは、
前記プロセッサ・コアによって、前記プロセッサ・コアの前記第１のエリアにおいて前記第２の軽減対策を適用することと、
前記プロセッサ・コアによって、前記プロセッサ・コアの第２のエリアにおいて第３の軽減対策を適用することとを含み、
前記第２の軽減対策および前記第３の軽減対策は前記グローバル制御器から受信された個々の命令に基づいている、請求項１２に記載のコンピュータ実装方法。
【請求項１４】
前記プロセッサ・コアによって、前記ローカル制御器から受信された前記ローカル命令を前記グローバル制御器から受信された前記個々の命令でオーバライドすることをさらに含む、請求項１３に記載のコンピュータ実装方法。
【請求項１５】
前記電圧ドループを前記検出することは、前記プロセッサ・コアによって、電源ノイズ値および決定された電圧値における勾配のうちの少なくとも１つをデジタル的に測定することを含み、前記電源ノイズ値および前記勾配は前記プロセッサ・コアの前記第１のエリアに関連付けられる、請求項１１ないし１４のいずれか一項に記載のコンピュータ実装方法。
【請求項１６】
前記ローカル制御器に電圧ドループ情報を前記送信することは、前記電圧ドループの検出および軽減に関連付けられるパフォーマンスのオーバヘッドを減少させる、請求項１１ないし１５のいずれか一項に記載のコンピュータ実装方法。
【請求項１７】
オンチップ電源ノイズの低減を促進するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は
処理回路によって可読であり、請求項１１ないし１６のいずれか一項に記載の方法を実施するための前記処理回路による実行のための命令を記憶するコンピュータ可読記憶媒体
を備える、コンピュータ・プログラム製品。
【請求項１８】
コンピュータ可読媒体に記憶され、デジタルコンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、前記プログラムがコンピュータで実行される時、請求項１１ないし１６のいずれか一項に記載の方法を実施するためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はオンチップ電源ノイズ電圧の低減または軽減に関し、より詳細には、プロセッサ・コアにおいてローカル検出ループを使用するオンチップ電源ノイズ電圧の低減または軽減に関する。
【背景技術】
【０００２】
集積回路（例えば、プロセッサ）は電源などの電力源から電力を受け取り、関連付けられている回路に電源電圧を与えることができる。電流量および回路負荷の量は、関連付けられている回路の動作速度と電源電圧の関数であることができる。回路の能動的な性質のため、回路負荷は変化することがあり、電源電圧レベルを定義された電圧レベルを下回って降下または下げさせることがある。電圧における定義された電圧レベルからの降下を「電圧ドループ」と称する。例えば、電源ノイズが電源から生成されることがあり、さらには関連付けられている回路へと伝搬することがあり、これはプロセッサの様々な経路またはユニットにおいて電圧ドループを起こすことがある。電圧ドループ（または複数の電圧ドループ）はプロセッサが動作する速度に影響を及ぼすことがある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
したがって、当技術分野において前述の問題に対処する必要がある。
【課題を解決するための手段】
【０００４】
本発明の１つまたは複数の実施形態の基本的な理解を与えるための概要を以下に提示する。この概要は主要もしくは重要な要素を特定すること、または特定の実施形態のあらゆる範囲もしくは特許請求の範囲のあらゆる範囲を詳述することを意図されていない。その唯一の目的は、後に提示されるより詳細な説明への導入部として簡素化された形式での概念を提示することである。１つまたは複数の本明細書において説明される実施形態において、電源ノイズ電圧の低減または軽減あるいはその両方を促進するシステム、コンピュータ実装方法、装置またはコンピュータ・プログラム製品あるいはその両方が、説明される。
【０００５】
第１の態様によると、本発明は、オンチップ電源ノイズの低減を促進するためのデバイスであって、プロセッサ・コアの第１のユニットに配置される第１の電圧ノイズ・センサであって、第１の電圧ノイズ・センサは第１のユニットにおいて第１の電圧ドループを検出し、プロセッサ・コアは第１のユニットと第２のユニットとに分割される、第１の電圧ノイズ・センサと、プロセッサ・コアに配置され、第１の電圧ノイズ・センサから第１の電圧ドループの指標を受信する、グローバル・ノイズ・マネージャ・コンポーネントと、第１の電圧ノイズ・センサから第１の電圧ドループの指標を受信することと、第１のユニットにおいて第１のノイズ軽減手順を実装することとについて動作可能な第１のユニットに配置される第１のローカル・ノイズ・マネージャ・コンポーネントと、を備える、デバイスを提供する。
【０００６】
さらなる態様によると、本発明は、オンチップ電源ノイズの低減を促進するためのコンピュータ実装方法であって、プロセッサ・コアによってプロセッサ・コアの第１のエリアにおいて電圧ドループを検出することと、プロセッサ・コアによって第１のエリアに配置されるローカル制御器およびプロセッサ・コアに配置されるグローバル制御器に電圧ドループ情報を送信することと、プロセッサ・コアによって、ローカル制御器から受信されたローカル命令に応答して、プロセッサ・コアの第１のエリアにおいて第１の軽減対策を適用することであって、ローカル命令は第１の軽減対策の指標を含む、適用することとを含む、コンピュータ実装方法を提供する。
【０００７】
さらなる態様によると、本発明は、オンチップ電源ノイズの低減を促進するためのコンピュータ・プログラム製品であって、コンピュータ・プログラム製品は、処理回路によって可読であり、本発明のステップを実施する方法を実施するための処理回路による実行のための命令を記憶するコンピュータ可読記憶媒体、を備える、コンピュータ・プログラム製品を提供する。
【０００８】
さらなる態様によると、本発明は、コンピュータ可読記憶媒体に記憶され、デジタルコンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行される時、本発明のステップを実行するためのソフトウェア・コード部分を備える、コンピュータ・プログラムを提供する。
【０００９】
一実施形態によると、コンピュータ実装方法はプロセッサ・コアによって、プロセッサ・コアの第１のエリアにおける電圧ドループを検出することを含むことができる。コンピュータ実装方法はまたプロセッサ・コアによって電圧ドループ情報を第１のエリアに配置されるローカル制御器およびプロセッサ・コアに配置されるグローバル制御器に送信することを含むことができる。さらには、コンピュータ実装方法はプロセッサ・コアによって、ローカル制御器から受信されたローカル命令に応答してプロセッサ・コアの第１のエリアにおいて第１の軽減対策を適用することを含むことができる。ローカル命令は第１の軽減対策の指標を含むことができる。
【００１０】
一実施形態によると、デバイスはプロセッサ・コアの第１のユニットに配置される第１の電圧ノイズ・センサを備えることができる。第１の電圧ノイズ・センサは第１のユニットにおいて第１の電圧ドループを検出することができる。さらには、プロセッサ・コアは第１のユニットと第２のユニットとに分割することができる。デバイスはまたプロセッサ・コアに配置され、第１の電圧ノイズ・センサから第１の電圧ドループの指標を受信するグローバル・ノイズ・マネージャ・コンポーネントを備えることができる。さらには、デバイスは第１のユニットに配置され、第１の電圧ノイズ・センサから第１の電圧ドループの指標を受信し、第１のユニットにおいて第１のノイズ軽減手順を実装する、第１のローカル・ノイズ・マネージャ・コンポーネントを備えることができる。
【００１１】
別の実施形態によると、オンチップ電源ノイズの低減を促進するコンピュータ・プログラム製品は、プログラム命令をそこに具体化されるコンピュータ可読記憶媒体を備えることができる。プログラム命令は、プロセッサ・コアによって実行可能である。プログラム命令はプロセッサ・コアに、プロセッサ・コアの第１のセグメントにおける第１の電圧ドループを検出させることができる。プログラム命令はまた、プロセッサ・コアに第１の電圧ドループの第１の指標を、ローカル・ノイズ管理ユニットおよび共通のノイズ管理ユニットに送信させることができる。ローカル・ノイズ管理ユニットはプロセッサ・コアの第１のセグメントに関連付けられることができる。さらには、プログラム命令はプロセッサ・コアに第１の電圧ドループの第１の指標に基づいて命令の第１のシーケンスを実行させることができる。命令の第１のシーケンスはローカル・ノイズ管理ユニットから受信することができ、第１の電圧ドループに関連付けられる軽減対策に関連することができる。
【００１２】
次に、単なる例として、添付の図面を参照して本発明の実施形態を説明する。
【図面の簡単な説明】
【００１３】
【図１】本明細書において説明される１つまたは複数の実施形態による、オンチップ電源電圧ノイズの低減または軽減あるいはその両方を促進する、例示の、非限定的なシステムのブロック図である。
【図２】電圧ドループの検出とグローバル制御ループの軽減手順の実装との間の遅延またはラグを含む、電圧ドループの検出および軽減の、例示の、非限定的なチャートである。
【図３】本明細書において説明される１つまたは複数の実施形態による、プロセッサ・コアにおいて検出される１つまたは複数の電圧ドループに応答して、１つまたは複数の訂正手順の実装を促進する、例示の、非限定的なシステムのブロック図である。
【図４】本明細書において説明される１つまたは複数の実施形態による、コアごとに複数の検出／軽減ループを使用してオンチップ電源ノイズ電圧の低減または軽減あるいはその両方を促進する、例示の、非限定的なシステムのブロック図である。
【図５】本明細書において説明される１つまたは複数の実施形態による、ドループの検出および軽減のために利用される、例示の、非限定的なシステムのブロック図である。
【図６】本明細書において説明される１つまたは複数の実施形態による、ローカル検出ループを使用してオンチップ電源ノイズ電圧の低減または軽減あるいはその両方を促進する、例示の、非限定的なコンピュータ実装方法のフロー図である。
【図７】本明細書において説明される１つまたは複数の実施形態による、ローカル命令が電圧ドループを解決しなかったという指標に基づいてグローバル命令を実装する、例示の、非限定的なコンピュータ実装方法のフロー図である。
【図８】本明細書において説明される１つまたは複数の実施形態による、オンチップ電源ノイズ電圧を低減／軽減するために複数の軽減対策を実装する、例示の、非限定的なコンピュータ実装方法のフロー図である。
【図９】本明細書において説明される１つまたは複数の実施形態による、オンチップ電源ノイズを低減／軽減する、例示の、非限定的なコンピュータ実装方法のフロー図である。
【図１０】本明細書において説明される１つまたは複数の実施形態が促進され得る、例示の、非限定的な動作環境のブロック図である。
【発明を実施するための形態】
【００１４】
以下の詳細な説明は単に説明的であり、実施形態もしくは適用例あるいはその両方、または実施形態の使用を限定するよう意図されていない。さらには、先の「背景技術」または「発明の概要」の項、あるいは「発明を実施するための形態」の項において提示されるいかなる明示的または示唆的な情報も、結びつけられるよう意図されていない。
【００１５】
次に１つまたは複数の実施形態を図面を参照して説明するが、一貫して同一の参照符号は同一の要素を参照するために使用される。以下の説明において、説明目的のため、１つまたは複数の実施形態のより徹底した理解を与えるために、多くの具体的な詳細が説明される。しかしながら、様々な場合において、１つまたは複数の実施形態はこれらの具体的な詳細無しに実践され得ることが明白である。
【００１６】
集積回路（例えば、プロセッサ）は電源などの電力源から電力を受け取り、関連付けられている回路に電源電圧を与えることができる。電流量および回路負荷の量は、関連付けられている回路の動作速度と電源電圧の関数であることができる。回路の能動的な性質のため、回路負荷は変化することがあり、電源電圧レベルを定義された電圧レベルを下回って降下または下げさせることがある。電圧における定義された電圧レベルからの降下を「電圧ドループ」と称する。例えば、電源ノイズが電源から生成されることがあり、さらには関連付けられている回路へと伝搬することがあり、これはプロセッサの様々な経路またはユニットにおいて電圧ドループを起こすことがある。電圧ドループ（または複数の電圧ドループ）はプロセッサが動作する速度に影響を及ぼすことがある。
【００１７】
本明細書において議論される様々な態様は、供給電流において大きく急な増加がある場合のタイミング不良を防ぐことによって、オンチップ電源ノイズの影響を低減または軽減あるいはその両方を促進することに関する。タイミング不良は、電圧ドループが検出される時間とその電圧ドループを補償するために軽減対策が適用される時間との間のラグ・タイムのために発生し得る。したがって、開示される態様は、プロセッサ・コアについて、プロセッサ・コアの第１の部分または第１のユニットにおいて、１つまたは複数の内部またはローカルの（例えば、高速の）制御ループを、またプロセッサ・コアにおいて、１つまたは複数の外部またはグローバルの（例えば、低速の）制御ループを提供することができる。ローカル制御ループまたはグローバル制御ループあるいはその両方は、電源電圧レールでの様々な危険な事象を検出するために利用することができる。さらには、１つまたは複数の制御ループ（ローカルまたはグローバルあるいはその両方）は、電圧ドループの低減／軽減のパフォーマンス上のインパクトを低減または最小にするために、他の制御ループよりも様々な様式で（または、いくつかの実装形態では他のループと同様に）応答することができる。したがって、本明細書で提供される１つまたは複数の実施形態は、印加電圧のマージンを低減することによって、プロセッサ・チップの電力消費の低減または軽減を促進することができる。
【００１８】
図１は本明細書において説明される１つまたは複数の実施形態による、オンチップ電源電圧ノイズの低減または軽減あるいはその両方を促進する、例示の、非限定的なシステム１００のブロック図を図示している。本開示で説明されるシステム（例えば、システム１００など）、装置、または処理の態様は、機械内で具体化される機械実行可能コンポーネントを構成することができ、例えば、１つまたは複数の機械に関連付けられる１つまたは複数のコンピュータ可読媒体に具体化される。そのようなコンポーネントは、１つまたは複数の機械、例えばコンピュータ、コンピューティング・デバイス、仮想機械などによって実行される時、機械に説明される動作を実施させることができる。
【００１９】
様々な実施形態において、システム１００は、プロセッサを備えるあらゆるタイプのコンポーネント、機械、デバイス、施設、装置、もしくは機器またはその組合せに採用されることができるか、あるいは有線もしくは無線またはその両方のネットワークと、効果的にもしくは動作可能にまたはその両方で通信することができるか、あるいはその両方である。システム１００を備えることができるコンポーネント、機械、装置、デバイス、施設、または機器あるいはその組合せは、タブレット・コンピューティング・デバイス、ハンドヘルド・デバイス、サーバ・クラスのコンピューティング機械またはデータベースあるいはその両方、ラップトップ・コンピュータ、ノートブック・コンピュータ、デスクトップ・コンピュータ、携帯電話、スマート・フォン、家庭用電化製品または器具あるいはその両方、工業的または商用のデバイスあるいはその両方、ハンドヘルド・デバイス、情報端末、マルチメディア・インターネット対応電話機、マルチメディア・プレーヤ、などを含むことができる。
【００２０】
図示されるように、システム１００はプロセッサ・コア１０２を備えることができ、プロセッサ・コア１０２は第１のユニット１０４および第２のユニット１０６として図示される、１つまたは複数のユニットに分割することができる。第１のユニット１０４は第１の電圧ノイズ・センサ１０８および第１のローカル制御器１１０を備えることができる。第２のユニット１０６は第２の電圧ノイズ・センサ１１２および第２のローカル制御器１１４を備えることができる。さらには、プロセッサ・コア１０２はグローバル制御器１１６および少なくとも１つのメモリ１１８を備えることができる。グローバル制御器１１６はプロセッサ・コア１０２内で中央集中的なポイントにあることができる。例えば、グローバル制御器１１６はプロセッサ・コア１０２の縁部に配置され得る。
【００２１】
第１の電圧ノイズ・センサ１０８は第１のユニット１０４において第１の電圧ドループを検出することができる。第１の電圧ドループの検出に基づいて、第１の電圧ノイズ・センサ１０８は第１の電圧ドループに関連する情報を、第１のローカル制御器１１０およびグローバル制御器１１６に送信することができる。例えば、第１の電圧ドループを検出すると、または検出の後、第１の電圧ノイズ・センサ１０８は第１の信号を、ローカル制御ループ上で第１のローカル制御器１１０に送信することができる。さらには、第１の電圧ノイズ・センサ１０８は第２の信号を、グローバル制御ループ上でグローバル制御器１１６に送信することができる。ローカル制御ループは第１のユニット１０４の内部にあるままである（例えば、プロセッサ・コアの他のユニットとインターフェースする必要がない）。ローカル制御ループのローカルな性質のため、第１のローカル制御器１１０は、グローバル制御器１１６によって情報を受信するよりも短時間のうちに第１のローカル制御器１１０から情報を受信することができる。このより短い時間に基づいて、第１のローカル制御器１１０は第１のノイズ軽減手順を実装することができ、第１の電圧ドループが検出される時間とノイズ軽減手順が実装される時間との間のラグ・タイムを低減することができる。第１のローカル制御器１１０によって実装される第１のノイズ軽減手順は、第２のローカル制御器１１４およびグローバル制御器１１６に伝達することができる。
【００２２】
グローバル制御器１１６は第１の電圧ノイズ・センサ１０８から指標を受信すると、または受信した後、プロセッサ・コア１０２内でグローバルな対策手順が実装されるべきかどうか、判断することができる。例えば、判断は、第１のローカル制御器１１０によって実装されるローカルな軽減手順が、検出された電圧ドループを解決したかどうかに基づいてなされ得る。もし解決されていれば、グローバル制御器１１６は受信した指標を選択的に無視することができる。しかしながら、電圧ドループが解決されていない場合、グローバル制御器１１６は、第１のユニット１０４、第２のユニット１０６、プロセッサ・コアの他の部分、またはその組合せにおいてグローバルな低減／軽減対策手順を選択的に実装する。いくつかの実装形態において、グローバルな低減／軽減対策手順はプロセッサ・コア１０２におけるユニットについて共通であることができる。例えば、クロック周波数が５０％低下の場合、グローバルな低減／軽減対策手順はコアのアクティビティを２５％までスロットルするための命令であることができる。しかしながらいくつかの実装形態によると、低減／軽減対策手順はプロセッサ・コア１０２における様々なユニットについて異なっていることができる。例えば、第１のローカル制御器１１０に与えられる命令の第１のセットは、第２のローカル制御器１１４に与えられる命令の第２のセットとは異なっていてもよい。
【００２３】
電圧ドループが解決されているかどうかの判断は、第１の電圧ノイズ・センサ１０８から受信された別の指標に基づいていることができる。例えば、電圧ノイズが第１の電圧ノイズ・センサ１０８によって検出されると、情報が第１のローカル制御器１１０およびグローバル制御器１１６に送信され得る。場合によっては、情報は検出される電圧が定義された電圧レベルより上であると示すことがある（例えば、電圧ドループが検出されていない）。したがって、グローバル制御器１１６は第１のユニット１０４において電圧ドループの指標を受信し、その後、第１のユニット１０４において電圧ドループがないという別の指標を受信し、グローバル制御器１１６はさらなるアクションは必要ではないと判断することができる。
【００２４】
グローバル制御器１１６によって実装されるグローバルな低減／軽減手順は、異なる手順であることができる。例えば、第１のグローバルな低減／軽減手順が第１のユニット１０４に実装され得、第２の低減／軽減手順が第２のユニット１０６に実装され得、また第３の低減／軽減手順がプロセッサ・コア１０２の別の部分に実装され得る。第１の低減／軽減手順および第２の低減／軽減手順は同一の低減／軽減手順であってもよく、または異なる低減／軽減手順であってもよい。さらには、第３の低減／軽減手順は第１の低減／軽減手順もしくは第２の低減／軽減手順と同一であってもよく、または第１の低減／軽減手順および第２の低減／軽減手順とは異なっていてもよい。
【００２５】
いくつかの実装形態によると、第２の電圧ノイズ・センサ１１２は第２のユニット１０６において第２の電圧ドループを検出することができる。したがって、第２の電圧ノイズ・センサ１１２は第２の電圧ドループに関連する情報を、ローカル制御ループ（例えば、第２のユニット１０６に対してローカル）上で第２のローカル制御器１１４に、およびグローバル制御ループ上でグローバル制御器１１６に送信することができる。したがって、第２のローカル制御器１１４は第２のユニット１０６において第２のノイズ軽減手順を実装することができる。第２のノイズ軽減手順に関連する情報は、第１のローカル制御器１１０およびグローバル制御器１１６に伝達することができる。第１の電圧ドループ（第１の電圧ノイズ・センサ１０８によって検出される）および第２の電圧ドループ（第２の電圧ノイズ・センサ１１２によって検出される）は同時にまたは異なる時間において検出され得ることに留意されたい。さらには、第１のノイズ軽減手順および第２のノイズ軽減手順は類似の手順であってもよく、または異なる手順であってもよい。
【００２６】
第２のノイズ軽減手順が第２のユニット１０６における電圧ドループを解決すると、グローバル制御器１１６は第２の電圧ノイズ・センサ１１２から受信した指標を選択的に無視することができる。しかしながら、電圧ドループが解決されない場合、グローバル制御器１１６は１つまたは複数のグローバル低減／軽減手順を、グローバルに、またはプロセッサ・コア１０２の１つまたは複数の部分（例えば、第１のユニット１０４、第２のユニット１０６、別のユニット、またはプロセッサ・コア１０２の別の部分）において、実装することができる。
【００２７】
少なくとも１つのメモリ１１８はコンピュータ実行可能コンポーネントまたはコンピュータ実行可能命令あるいはその両方を記憶することができ、それらはプロセッサ・コア１０２によって実装され得る。少なくとも１つのメモリ１１８は、本明細書において議論されるような、オンチップ電源ノイズ電圧の低減／軽減を実装することに関連付けられるプロトコルを記憶することができる。さらには、少なくとも１つのメモリ１１８は、システム１００が本明細書において説明されるようなオンチップ電源ノイズ電圧の低減／軽減を達成するために記憶されたプロトコルまたはアルゴリズムあるいはその両方を採用できるように、第１のユニット１０４と、第２のユニット１０６と、グローバル制御器１１６との間の通信を制御するためのアクションを促進することができる。
【００２８】
上で議論したように、第１のユニット１０４内の第１のローカル制御器１１０または第２のユニット１０６内の第２のローカル制御器１１４あるいはその両方は、個々の電圧ドループの検出と個々のローカル・ノイズ軽減手順の実装との間の遅延またはラグを低減することができる。例えば、図２は電圧ドループの検出とグローバル制御ループの軽減手順の実装との間の遅延またはラグを含む、電圧ドループの検出および軽減の、例示の、非限定的なチャート２００を図示している。プロセッサから引き出される供給電流が急に増加すると、電圧電源に大きな降下が形成され得る。電源が決定された電圧値を下回って減少すると、プロセッサの機能性が損なわれることがある。
【００２９】
本明細書において議論されるように、グローバル制御ループがグローバル制御器（例えば、図１のグローバル制御器１１６）に検出された電圧ドループを通知するよう利用される場合、情報がプロセッサ・コアにわたって長い距離をトラバースするために（比較的）長い時間を要することがある。さらには、グローバルな対策手順は長時間にわたって適用されることがあり、大量のパフォーマンスのオーバヘッドを誘発することがある。
【００３０】
チャート２００の縦軸に供給電圧レベル２０２が図示されており、横軸には時間２０４が図示されている。プロットされる線２０６はプロセッサ・コア（またはプロセッサ・コアの一部）に対する供給電圧値を図示している。供給電圧値がモニタリングされているため、２０８において示されるように電圧ドループを検出することができる。検出に基づいて、電圧ドループの指標はグローバル・ループ上でグローバル制御器に送信され得、グローバル制御器は電圧ドループの低減／軽減について命令を与えることができる。低減／軽減手順はある時間遅延の後、２１０において示されるように実装され得る。したがって、電圧ドループが（２０８において）検出される時間と低減／軽減が（２１０において）適用される時間との間にはラグ２１２がある。ラグ２１２（または時間遅延）はプロセッサを低速にさせるために十分長い持続時間のものであることができ、デバイスで顕著になることがある。ラグ２１２は電圧ループ指標がセンサからグローバル制御器にトラバースする時間の関数として導かれ得る。ラグ２１２はまた命令がグローバル制御器からトラバースして、個々のユニットにおいて適用される時間を含む。さらには、ラグ２１２は長距離を伝達する信号および複数のセンサ（例えば、第１の電圧ノイズ・センサ１０８、第２の電圧ノイズ・センサ１１２など）から到来する多くの信号を結合するために費やされる処理時間に起因し得る。これらの遅延の間、供給はさらに降下し、アレイのような繊細な構造の機能性が損なわれ得る。本明細書において提供される様々な態様は、１つまたは複数のローカル・ノイズ軽減手順を実装するために、ローカル制御器およびローカル制御ループの実装を通じて遅延を低減する。
【００３１】
図３は本明細書において説明される１つまたは複数の実施形態による、プロセッサ・コアにおいて検出される１つまたは複数の電圧ドループに応答して、１つまたは複数の訂正手順の実装を促進する、例示の、非限定的なシステム３００のブロック図を図示している。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。
【００３２】
システム３００はシステム１００のコンポーネントまたは機能性あるいはその両方のうちの１つまたは複数を備えることができ、またその逆も可である。第１の電圧ノイズ・センサ１０８は、検出される電圧ドループの１つまたは複数の指標を、ローカル制御ループ３０４上で、およびグローバル制御ループ３０６上で送信することができる送信機コンポーネント３０２を備えることができる。１つまたは複数の指標は送信機コンポーネント３０２によって同時に送信することができる。例えば、送信機コンポーネント３０２がローカル制御ループ３０４上で指標を送信すると、または送信した後、送信機コンポーネント３０２はグローバル制御ループ３０６上で指標を送信することができる。
【００３３】
第１のローカル制御器１１０は通信コンポーネント３０８を介して指標を受信することができる。ローカル制御ループ３０４上の通信コンポーネント３０８による受信は、通信モジュール３１０を介してグローバル制御ループ３０６上でグローバル制御器１１６によって指標を受信するよりも素早いことがある。例えば、ローカル制御ループ３０４を介して伝達される指標は第１のユニット１０４の内部にあるままで、第１の電圧ノイズ・センサ１０８と第１のローカル制御器１１０との間の近接性に起因して指標をより速く受信することができる。一方で、グローバル制御ループ３０６上の指標は第１のユニット１０４からプロセッサ・コア１０２の別の部分（例えば、グローバル制御器１１６の場所へ）へとトラバースしなければならない。したがって、グローバル制御器１１６への指標はより長い時間を要することがあり、さらにはグローバル制御器１１６からの命令を第１のユニット１０４で受信させるための時間に基づいて、遅延を招くことがある。
【００３４】
通信コンポーネント３０８において受信される指標に少なくとも部分的に基づいて、実装コンポーネント３１２は第１のユニット１０４において１つまたは複数のローカルな低減／軽減対策を選択的に適用することができる。第１の電圧ノイズ・センサ１０８は、１つまたは複数のローカルな低減／軽減対策の実装の間、およびその後、第１のユニット１０４内の電圧レベルをモニタリングし続けることができる。モニタリングされる追加的な電圧レベルに関連する情報は、送信機コンポーネント３０２によってローカル制御ループ３０４（例えば、第１のローカル制御器１１０へ）上で、およびグローバル制御ループ３０６上で（例えば、グローバル制御器１１６へ）送信され得る。
【００３５】
実装コンポーネント３１２によって選択的に適用された１つまたは複数のローカルな低減／軽減対策が最初に検出された電圧ドループを解決し、後続の電圧ドループが検出されない場合、グローバル制御器１１６において判断コンポーネント３１４は、さらなるアクションは必要ないと判断することができる。しかしながら、１つまたは複数のローカルな低減／軽減対策が最初に検出された電圧ドループを解決しなかった場合、または第１のユニットにおいて別の電圧ドループが検出される場合（第１の電圧ノイズ・センサ１０８によって、または第１のユニット１０４の別の電圧ノイズ・センサによって）、グローバル制御器１１６は１つまたは複数のグローバルな手順を実装することができる。
【００３６】
一実装形態によると、グローバル制御器１１６は命令コンポーネント３１６を含むことができ、プロセッサ・コア１０２の１つまたは複数の部分において実装されるべき１つまたは複数のグローバルな低減／軽減対策を決定することができる。例えば、命令コンポーネント３１６は第１のユニット１０４において適用するための第１のグローバルな低減／軽減対策を選択することができる。追加的にまたは代替的に、命令コンポーネント３１６は第２のユニット１０６において適用するための第２のグローバルな低減／軽減対策を選択することができる。追加的にまたは代替的に、命令コンポーネント３１６は後続のユニット（図示せず）において適用するための後続のグローバルな低減／軽減対策を選択することができる。いくつかの実装形態によると、命令コンポーネント３１６は、グローバルな低減／軽減対策がプロセッサ・コア１０２のすべてのユニットにわたってグローバルに適用されるべきであると決定することができる。
【００３７】
いくつかの実装形態において、第１のグローバルな低減／軽減対策、第２のグローバルな低減／軽減対策、および後続のグローバルな低減／軽減対策のうちの２つ以上は、同一のグローバルな低減／軽減対策であることができる。しかしながら、いくつかの実装形態によると、第１のグローバルな低減／軽減対策、第２のグローバルな低減／軽減対策、および後続のグローバルな低減／軽減対策は、異なるグローバルな低減／軽減対策であってもよい。
【００３８】
命令コンポーネント３１６によって与えられるグローバルな低減／軽減対策は、プロセッサ・コア１０２の異なるユニット（例えば、第１のユニット１０４、第２のユニット１０６、後続のユニット）においてローカルに適用されている１つまたは複数のローカルな低減／軽減対策をオーバライドすることができる。例えば、第１のローカルな低減／軽減対策は実装コンポーネント３１２によって適用されており、グローバルな低減／軽減対策は命令コンポーネント３１８から受信される。この状況において、実装コンポーネント３１２は第１のローカルな低減／軽減対策の適用を中止し、グローバルな低減／軽減対策を適用する。
【００３９】
具体的に示されていないが、第２のユニット１０６および後続のユニット（図示せず）は第１のユニット１０４のコンポーネントまたは機能性あるいはその両方のうちの１つまたは複数を含むことができることに留意されたい。例えば、第２のユニット１０６または後続のユニットあるいはその両方は、個々の送信機コンポーネント、個々の通信コンポーネント、および個々の実装コンポーネントを含むことができる。さらには、プロセッサの他のプロセッサ・コアはプロセッサ・コア１０２のコンポーネントまたは機能性あるいはその両方のうちの１つまたは複数を含むことができる。
【００４０】
図４は本明細書において説明される１つまたは複数の実施形態による、コアごとに複数の検出／軽減ループを使用してオンチップ電源ノイズ電圧の低減または軽減あるいはその両方を促進する、例示の、非限定的なシステム４００を図示するブロック図である。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。
【００４１】
システム４００は、システム１００、システム３００のコンポーネントまたは機能性あるいはその両方のうちの１つまたは複数を備えることができ、またその逆も可である。図示されるように、プロセッサ・コア１０２は、第１のユニット１０４、第２のユニット、およびＮ番目のユニット４０２として図示される２つ以上のユニットを含むことができ、ここでＮは整数である。例えば、プロセッサ・コア１０２はいくつかの実装形態によると、３つ以上のユニットを備えることができる。
【００４２】
Ｎ番目のユニット４０２はＮ番目の電圧ノイズ・センサ４０４およびＮ番目の制御器４０６を備えることができる。上で議論したように、Ｎ番目のユニット４０２は、図３を参照して図示し、説明したような第１のユニット１０４のコンポーネントまたは機能性あるいはその両方のうちの１つまたは複数を含むことができる。
【００４３】
第１のユニット１０４は１つまたは複数のローカル制御ループ（例えば、ローカル制御ループ３０４）を備えることができる。第２のユニット１０６は、ローカル制御ループ４０８として図示される、１つまたは複数のローカル制御ループを備えることができる。さらには、Ｎ番目のユニット４０２は、ローカル制御ループ４１０として図示される、１つまたは複数のローカル制御ループを備えることができる。加えて、第１のユニット１０４はグローバル制御ループ３０６上でグローバル制御器１１６と通信することができる。さらには、第２のユニット１０６はグローバル制御ループ４１２上でグローバル制御器１１６と通信することができ、Ｎ番目のユニット４０２はグローバル制御ループ４１４上でグローバル制御器１１６と通信することができる。
【００４４】
本明細書において議論されるように、ドループ検出／軽減の複数の内部（高速）制御ループおよび外部（低速）ループを組み込むことにより、様々な態様は電源降下を低減／軽減することができ、またプロセッサ・コア（例えば、プロセッサ・コア１０２）におけるタイミング不良を防止／低減することができる。例えば、複数の内部（高速）制御ループは第１のユニット１０４のローカル制御ループ３０４、第２のユニット１０６のローカル制御ループ４０８、およびＮ番目のユニット４０２のローカル制御ループ４１０を含むことができる。上で示したように、（以下の図５を参照してさらに詳細に議論するように）ユニットは複数のローカル制御ループを含むことができる。外部（低速）ループはグローバル制御ループ３０６、グローバル制御ループ４１２、およびグローバル制御ループ４１４を含むことができる。
【００４５】
複数の内部（高速）制御ループおよび外部（低速）ループは独立したループであることができる。さらには、１つまたは複数のループ（ローカルおよびグローバル）のループはドループ事象の１つまたは複数のタイプを扱うよう構成され、異なる軽減対策を実施することができる。これらの独立したループの使用により、様々な態様はドループ検出のカバレッジから軽減対策からのパフォーマンス損失を切り離すことができる。これはより高速でより効率的なドループ検出を促進することができる。例えば、複数のループがあるため、異なるタイプの電圧ドループを特定することができ、異なる（また潜在的にはパフォーマンスのコストがより低い）対策を適用することができる。さらには、本明細書において議論するような独立したローカル・ループの使用は最小のパフォーマンスのオーバヘッドをもたらすことができる効率性を促進することができる。
【００４６】
図５は本明細書において説明される１つまたは複数の実施形態による、ドループの検出および軽減のために利用される、例示の、非限定的なシステム５００を図示するブロック図である。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。
【００４７】
システム５００は、システム１００、システム３００、システム４００のコンポーネントまたは機能性あるいはその両方のうちの１つまたは複数を備えることができ、またその逆も可である。図示されるように、プロセッサ・コア１０２はグローバル・ノイズ・マネージャ・コンポーネント５０４（例えば、図１のグローバル制御器１１６）を備えることができる。さらには、プロセッサ・コア１０２は第１のユニット１０４（ユニット１）、第２のユニット１０６（ユニット２）、および第３のユニット５０２（ユニット３）などの１つまたは複数のユニットに分割することができる。
【００４８】
この例において、様々なノイズ・センサ／推定器デバイスがプロセッサ・コア１０２に含められ得る。電源電圧ドループ・センサは図５において白い小さな四角によって表されている。例えば、第１のユニット１０４は１つの電源電圧ドループ・センサ（例えば、第１の電圧ノイズ・センサ１０８）を備え、第２のユニット１０６は１つの電源電圧ドループ・センサ（例えば、第２の電圧ノイズ・センサ１１２）を備え、また第３のユニット５０２は１つの電源電圧ドループ・センサ（符号無し）を備える。
【００４９】
また、プロセッサ・コア１０２には他のノイズ・センサ／推定器が含まれてもよく、黒い小さな四角によって表されている。図示される例において、第１のユニット１０４は別のノイズ・センサ／推定器を含むことができ、第３のユニット５０２は別のノイズ・センサ／推定器を含み、プロセッサ・コア１０２（ユニットに関連付けられない）は別のノイズ・センサ／推定器を含む。
【００５０】
プロセッサ・コア１０２はやはりグローバル・ノイズ・マネージャ・コンポーネント５０４（例えば、グローバル制御器１１６）を備えることができる。さらには、第１のユニット１０４はローカル・ノイズ・マネージャ・コンポーネント５０６（例えば、第１のローカル制御器１１０）を備えることができ、第２のユニット１０６はローカル・ノイズ管理コンポーネント５０８（例えば、第２のローカル制御器１１４）を備えることができ、第３のユニット５０２はローカル・ノイズ管理ユニット５１０を備えることができる。
【００５１】
ノイズ・センサがノイズまたは電圧ドループを検出すると、個々の信号がローカル・ノイズ管理ユニットおよびグローバル・ノイズ・マネージャ・コンポーネント５０４に送信され得る。例えば、第２のユニット１０６は電源ドループ・センサを備える。電圧ドループを検出すると、または検出した後、電源ドループ・センサから外向きの線によって表されるように、電源ドループ・センサは第１の信号をローカル・ノイズ管理コンポーネント５０８（例えば、ローカル制御ループを介して）へ、またグローバル・ノイズ・マネージャ・コンポーネント５０４（例えば、グローバル制御ループを介して）へ送信することができる。ローカル・ノイズ管理コンポーネント５０８は信号５１２を、命令スロットリングを開始するために送信することができる。加えて、グローバル・ノイズ・マネージャ・コンポーネント５０４は別の信号５１４を、命令スロットリングを開始するために送信することができる。ローカル・ノイズ管理コンポーネント５０８からの信号は、本明細書において議論されるようなグローバル制御ループと比較してローカル制御ループのタイミングに起因して、グローバル・ノイズ・マネージャ・コンポーネント５０４からの信号よりも早期に与えられ得る。
【００５２】
さらには、第３のユニット５０２における電源ドループ・センサ５１６によって示されるように、電源ドループ・センサ５１６からの信号伝達５１８はグローバル・ノイズ・マネージャ・コンポーネント５０４へのものであることができ、ローカル・ノイズ管理ユニット５１０へのものではない。例えば、信号を電源ドループ・センサ５１６からローカル・ノイズ管理ユニット５１０の代わりに直接グローバル・ノイズ・マネージャ・コンポーネント５０４へ送信することによって速度効率を得ることができると判断することができる（予め定義することができる）。
【００５３】
本明細書において議論されるように、コア・レベルにおける１つの低速ループ（例えば、グローバル制御ループ）に加え、粒度レベルにおける追加的な高速ループ（例えば、ローカル制御ループ）がプロセッサ・コア１０２の異なる分画またはユニットにあってもよい。ローカル制御ループは異なる検出／感知の手順（例えば、勾配有り／無しのクリティカル・パス・モニタ（ＣＰＭ）、電力プロキシ）ならびに対策ターゲットおよび強度を含むことができる。
【００５４】
例として、限定ではなく、３つのユニットに分割可能なプロセッサ・コアに、３つのローカル・ループがあってもよい。第１のローカル・ループは第１のユニットに関連付けられることができ、第２のローカル・ループは第２のユニットに関連付けられることができ、また第３のローカル・ループは第３のユニットに関連付けられることができる。やはりプロセッサ・コア全体のための、グローバル・ループがあってもよい。
【００５５】
第１のローカル・ループ上の信号（または命令）は分岐予測を２５％までスロットルし、勾配有りのＣＰＭを使用して検出するためのものであることができる。第２のローカル・ループ上の信号（または命令）はディスパッチ・ユニットを２５％までスロットルし、勾配有りのＣＰＭを使用して検出するためのものであることができる。第３のローカル・ループ上の信号（または命令）は発行を２５％までスロットルし、勾配有りのＣＰＭを使用して検出するためのものであることができる。さらには、ローカル・ループは信号（命令）を他のローカル・ループおよびグローバル・ループへブロードキャストすることができる。さらにこの例について、ドループが定義されたサイクル数よりも長く、例えば、２０サイクルなど（例えば、低周波ドループ）、持続する場合、グローバル・ループ上の命令はコア全体をスロットルするためのものであることができる。グローバル・ループはローカル・ループをオーバライドすることができる（グローバル・ループはセンサによって検出される電圧ドループに加え他の効果によって制御され得るため）。
【００５６】
いくつかの実装形態によると、あまり保守的ではない（よりアグレッシブな）検出によってフラグ付けされるだけのドループの場合、コア・アクティビティの１／６しかスロットルされない。電圧ドループが偽陽性であっても、あまり保守的ではない手法によって最小のパフォーマンス損失となり得る。
【００５７】
図６は本明細書において説明される１つまたは複数の実施形態による、ローカル検出ループを使用してオンチップ電源ノイズ電圧の低減または軽減あるいはその両方を促進する、例示の、非限定的なコンピュータ実装方法６００のフロー図を図示している。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。
【００５８】
コンピュータ実装方法６００の６０２において、プロセッサ・コアの第１のエリアにおいて電圧ドループが検出され得る（例えば、第１の電圧ノイズ・センサ１０８を介して）。例えば、プロセッサは２つ以上の異なるエリアまたはユニットに分割され得る。個々の電圧ノイズ・センサ・コンポーネントはその２つ以上のエリアに含められ得る。例えば、第１の電圧ノイズ・センサ・コンポーネントは第１のエリアに配置することができ、第２の電圧ノイズ・センサ・コンポーネントは第２のエリアに配置することができ、後続の電圧ノイズ・センサ・コンポーネントは後続のエリアに配置することができる。いくつかの実装形態によると、１つまたは複数のエリアは２つ以上の電圧ノイズ・センサ・コンポーネントを備えることができる。さらには、２つ以上のエリアのうちのエリアは異なる数の電圧ノイズ・センサ・コンポーネントを備えることができる。例えば、第１のエリアは１つの電圧ノイズ・センサ・コンポーネントを備えることができ、第２のエリアは３つの電圧ノイズ・センサ・コンポーネントを備えることができる。別の例において、第１のエリアは２つの電圧ノイズ・センサ・コンポーネントを備えることができ、第２のエリアは３つの電圧ノイズ・センサ・コンポーネントを備えることができ、また第３のエリアは２つの電圧ノイズ・センサ・コンポーネントを備えることができる。
【００５９】
コンピュータ実装方法６００の６０４において、電圧ドループ情報は第１のエリアに配置されるローカル制御器と、プロセッサ・コアに配置されるグローバル制御器に（例えば、通信コンポーネント３０８を介して）送信され得る。例えば、電圧ドループ情報を搬送する第１の信号はローカル制御ループ（または内部制御ループ）上でローカル制御器に送信され得る。さらにこの例については、電圧ドループ情報を搬送する第２の信号はグローバル制御ループ（または外部制御ループ）上でグローバル制御器に送信され得る。ローカル制御器は、その信号を送信した電圧ノイズ・センサ・コンポーネントとしてプロセッサ制御の同一のエリア内に配置され得、グローバル制御器はプロセッサ・コアの別のエリアに配置され得る。したがって、ローカル制御ループはグローバル制御ループの第２の反応時間よりも速い第１の反応時間を有することができる。
【００６０】
さらには、コンピュータ実装方法６００の６０６において、ローカル制御器から受信される（例えば、実装コンポーネント３１２を介して）ローカル命令に応答して、第１の軽減対策をプロセッサ・コアの第１のエリアに適用することができる。ローカル制御器からの命令はまた他のローカル制御器およびグローバル制御器に与えられてもよい。例えば、ローカル制御ループはグローバル制御ループよりも速く情報を送信することができるため、ローカル制御器は情報を処理し、低減／軽減命令を、グローバル制御器が情報を処理できるよりも素早く提供することができる。したがって、ローカル制御器から受信された命令はプロセッサ・コアのローカル・エリア内に適用することができ、プロセッサの処理効率を向上させることができる。いくつかの実装形態において、ローカル制御器からの命令はノイズ電圧問題を解決することができる。この状況において、別のノイズ電圧が検出されるまでさらなるアクションが取られないことが可能であるか、または別の低減／軽減アクションがプロセッサ・コアの他のエリアで検出された１つまたは複数の他のノイズ電圧によって必要とされるか、あるいはその両方である。
【００６１】
図７は本明細書において説明される１つまたは複数の実施形態による、ローカル命令が電圧ドループを解決しなかったという指標に基づいてグローバル命令を実装する、例示の、非限定的なコンピュータ実装方法７００のフロー図を図示している。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。
【００６２】
コンピュータ実装方法７００の７０２において、プロセッサ・コアの第１のエリアにおいて電圧ドループが検出され得る（例えば、第１の電圧ノイズ・センサ１０８を介して）。いくつかの実装形態によると、電圧ドループを検出することは、電源ノイズ値および定義された電圧値における勾配のうちの少なくとも１つをデジタル的に測定することを含むことができる。電源ノイズ値および勾配はプロセッサ・コアの第１のエリアに関連付けられ得る。
【００６３】
コンピュータ実装方法７００の７０４において、電圧ドループ情報は第１のエリアに配置されるローカル制御器と、プロセッサ・コアに配置されるグローバル制御器に（例えば、通信コンポーネント３０８を介して）送信され得る。一例において、電圧ドループ情報をローカル制御器に送信することは、電圧ドループの検出および軽減に関連付けられるパフォーマンスのオーバヘッドを減少させることができる（例えば、ローカル制御ループを利用して、グローバル制御ループを使用して情報が処理され得るよりも速く情報を処理することができる）。
【００６４】
さらには、コンピュータ実装方法７００の７０６において、ローカル制御器から受信されるローカル命令に応答して、第１の軽減対策をプロセッサ・コアの第１のエリアに適用することができ、ここでローカル命令は第１の軽減対策の指標を含む（例えば、実装コンポーネント３１２を介して）。
【００６５】
コンピュータ実装方法７００の７０８において、軽減対策が第１のエリアにおいて電圧ドループを解決したかどうかの判断がなされ得る（例えば、第１の電圧ノイズ・センサ１０８を介して）。電圧ドループが解決されていれば（「はい」）、コンピュータ実装を停止することができ、または７０２に戻り別の電圧ドループの検出を待機することができる。代替的に、判断が軽減対策は第１のエリアにおける電圧ドループを解決していない（「いいえ」）ということであれば、コンピュータ実装方法７００の７１０において、グローバル制御器から受信されたグローバル命令に応答して第２の軽減対策がプロセッサ・コア内で適用され得る。
【００６６】
いくつかの実装形態によると、第２の軽減対策が第１のユニットまたはプロセッサ・コア内の別のユニットにおいて適用され得る。例えば、第２の軽減対策を適用することは、プロセッサ・コアの第１のエリアにおいて第２の軽減対策を適用することを含むことができる。さらにこの実装形態について、第３の軽減対策がプロセッサ・コアの第２のエリアにおいて適用され得る。第２の軽減対策および第３の軽減対策はグローバル制御器から受信される個々の命令に基づくことができる。一実装形態において、ローカル制御器から受信されるローカル命令はグローバル制御器から受信された個々の命令によってオーバライドされ得る。
【００６７】
図８は本明細書において説明される１つまたは複数の実施形態による、オンチップ電源ノイズ電圧を低減／軽減するために複数の軽減対策を実装する、例示の、非限定的なコンピュータ実装方法８００のフロー図を図示している。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。
【００６８】
コンピュータ実装方法８００の８０２において、プロセッサ・コアの第１のセグメントにおいて第１の電圧ドループが検出される（例えば、第１の電圧ノイズ・センサ１０８を介して）。コンピュータ実装方法８００の８０４において、第１の電圧ドループの第１の指標はローカル・ノイズ管理ユニットおよび共通のノイズ管理ユニット（例えば、通信コンポーネント３０８を介して）に送信され得る。ローカル・ノイズ管理ユニットはプロセッサ・コアの第１のセグメントに関連付けられることができる。さらには、コンピュータ実装方法８００の８０６において命令の第１のシーケンスは第１の電圧ドループの第１の指標に基づいて実行され得る（例えば、実装コンポーネント３１２を介して）。命令の第１のシーケンスはローカル・ノイズ管理ユニットから受信することができ、第１の電圧ドループに関連付けられる軽減対策に関することができる。
【００６９】
コンピュータ実装方法８００の８０８において、第１の電圧ドループまたは第２の電圧ドループは、第１のセグメントにおいて命令の第１のシーケンスの適用の後、第１のセグメントにおいて検出され得る（例えば、第１の電圧ノイズ・センサ１０８を介して）。コンピュータ実装方法８００の８１０において、第１の電圧ドループまたは第２の電圧ドループの第２の指標はローカル・ノイズ管理ユニットおよび共通のノイズ管理ユニット（例えば、通信コンポーネント３０８を介して）に送信され得る。さらには、コンピュータ実装方法８００の８１２において命令の第２のシーケンスは第１の電圧ドループまたは第２の電圧ドループの第２の指標に基づいて第１のセグメントにおいて実行され得る（例えば、実装コンポーネント３１２を介して）。命令の第２のシーケンスは共通のノイズ管理ユニットから受信され得る。
【００７０】
いくつかの実装形態によると、命令の第２のシーケンスは第１のセグメントにおける命令の第１のシーケンスをオーバライドすることができる。
【００７１】
図９は本明細書において説明される１つまたは複数の実施形態による、オンチップ電源ノイズを低減／軽減する、例示の、非限定的なコンピュータ実装方法９００のフロー図を図示している。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。
【００７２】
コンピュータ実装方法９００の９０２において、複数の電圧ノイズ・センサがプロセッサ内に提供され得る（例えば、第１の電圧ノイズ・センサ１０８、第２の電圧ノイズ・センサ１１２、またはＮ番目の電圧ノイズ・センサ４０４を介して）。複数の電圧ノイズ・センサの電圧ノイズ・センサは、電源ノイズ値または勾配（既知の、または概算の電圧値）あるいはその両方をデジタル的に測定することができる。
【００７３】
さらには、コンピュータ実装方法９００の９０４において、電圧ノイズ管理アーキテクチャが提供され得る。電圧ノイズ管理アーキテクチャはグローバル（例えば、低速反応）制御ループおよびローカル（例えば、高速反応）制御ループを備えることができる。
【００７４】
コンピュータ実装方法９００の９０６において、複数のローカル制御ループのうちのあるローカル制御ループ（例えば、ローカル制御ループ３０４、ローカル制御ループ４０８、またはローカル制御ループ４１０を介して）の利用によって、高速反応を有する小さなブロックにノイズ軽減手順を実装することができる。「高速反応」は、グローバル制御ループによって与えられる別の反応に対する相対的なものである。
【００７５】
追加的に、コンピュータ実装方法の９０８において、グローバル制御ループ（例えば、グローバル制御ループ３０６、グローバル制御ループ４１２、およびグローバル制御ループ４１４）の利用によって、低速反応を有する大きいブロックへのノイズ軽減手順が実装され得る。グローバル・ループはローカル・ループによって利用される数より多数の電源ノイズ・センサを利用することができる。さらには、グローバル・ループの反応時間は、ローカル・ループの反応時間と比較して低速であることができる。
【００７６】
説明を簡素化するため、コンピュータ実装の方法は、一連の作用として描写され、説明される。本革新は図示される作用または作用の順序あるいはその両方によって限定されず、例えば、作用は様々な順序でまたは同時にあるいはその両方で、ならびに本明細書において提示および説明されていない他の作用とともに、発生することができることを理解および了解されたい。さらには、すべての図示される作用が、開示される主題にしたがってコンピュータ実装の方法を実装するために必要とされなくてもよい。加えて、当業者であれば理解および了解することであるが、コンピュータ実装の方法は代替的に、状態図または事象を介して一連の相互に関連付けられる状態として表現することができる。追加的に、本明細書の以降および全体にわたって開示されるコンピュータ実装の方法は、そのようなコンピュータ実装の方法を、コンピュータに輸送および伝達することを容易にするために製造物品に記憶できることをさらに了解すべきである。本明細書において使用する場合、製造物品という用語は、あらゆるコンピュータ可読デバイスまたは記憶媒体からアクセス可能なコンピュータ・プログラムを包含することが意図されている。
【００７７】
開示される主題の様々な態様についてのコンテキストを与えるために、図１０ならびに以下の議論は、開示される主題の様々な態様が実装され得る適切な環境の一般的な説明を与えるよう意図されている。図１０は本明細書において説明される１つまたは複数の実施形態が促進され得る、例示の、非限定的な動作環境のブロック図である。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。図１０を参照すると、本開示の様様々な態様を実装するための適切な動作環境１０００はまたコンピュータ１０１２を含むことができる。コンピュータ１０１２はまた処理ユニット１０１４、システム・メモリ１０１６、およびシステム・バス１０１８を含むことができる。システム・バス１０１８は、システム・メモリ１０１６を含むがそれに限定されないシステム・コンポーネントを処理ユニット１０１４に結合する。処理ユニット１０１４は様々な利用可能なプロセッサのうちの任意のものであることができる。デュアル・マイクロプロセッサおよび他のマルチプロセッサ・アーキテクチャが、やはり処理ユニット１０１４として採用され得る。システム・バス１０１８は、メモリ・バスもしくはメモリ・コントローラ、周辺バスもしくは外部バスを含むいくつかのタイプのバス構造、またはインダストリアル・スタンダード・アーキテクチャ（ＩＳＡ）、マイクロチャネル・アーキテクチャ（ＭＳＡ）、拡張ＩＳＡ（ＥＩＳＡ）、Ｉｎｔｅｌｌｉｇｅｎｔ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ（ＩＤＥ）、ＶＥＳＡローカル・バス（ＶＬＢ）、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）、カード・バス、ユニバーサル・シリアル・バス（ＵＳＢ）、Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ（ＡＧＰ）、ファイヤワイヤ（ＩＥＥＥ  １３９４）、およびＳｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ（ＳＣＳＩ）を含むがそれに限定されないあらゆる多様な利用可能なバス・アーキテクチャを使用するローカル・バス、あるいはその組合せのうちの任意のものであることができる。システム・メモリ１０１６はまた揮発性メモリ１０２０および不揮発性メモリ１０２２を含むことができる。スタートアップの間など、コンピュータ１０１２内の要素間で情報を伝達するための基本的なルーチンを含んでいるＢａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ（ＢＩＯＳ）は、不揮発性メモリ１０２２に記憶される。例示として、限定ではなく、不揮発性メモリ１０２２は読み取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、または不揮発性ランダム・アクセス・メモリ（ＲＡＭ）（例えば、強誘電ＲＡＭ（ＦｅＲＡＭ））を含むことができる。揮発性メモリ１０２０はまた外部キャッシュ・メモリとして作用するランダム・アクセス・メモリ（ＲＡＭ）を含むことができる。例示として、限定ではなく、ＲＡＭは静的ＲＡＭ（ＳＲＡＭ）、動的ＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブル・データ・レートＳＤＲＡＭ（ＤＤＲ  ���ＤＲＡＭ）、エンハンストＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ）、ダイレクト・ラムバスＲＡＭ（ＤＲＲＡＭ），ダイレクト・ラムバス・ダイナミックＲＡＭ（ＤＲＤＲＡＭ）、およびラムバス・ダイナミックＲＡＭなどの多くの形態で利用可能である。
【００７８】
コンピュータ１０１２はまたリムーバブル／非リムーバブルの、揮発性／不揮発性のコンピュータ記憶媒体を含むことができる。例えば、図１０はディスク記憶装置１０２４を図示している。ディスク記憶装置１０２４は、磁気ディスク・ドライブ、フロッピー（Ｒ）・ディスク・ドライブ、テープ・ドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュ・メモリ・カード、またはメモリ・スティックのようなデバイスを含むことができるがそれに限定されない。ディスク記憶装置１０２４はまた記憶媒体を別個に、またはコンパクト・ディスクＲＯＭデバイス（ＣＤ−ＲＯＭ）、ＣＤ書き込み可能ドライブ（ＣＤ−Ｒドライブ）、ＣＤ書き換え可能ドライブ（ＣＤ−ＲＷドライブ）もしくはデジタル多用途ディスクＲＯＭドライブ（ＤＶＤ−ＲＯＭ）などの光学ディスク・ドライブを含むがそれに限定されない他の記憶媒体と組み合わせて含むことができる。システム・バス１０１８へのディスク記憶装置１０２４の接続を容易にするために、典型的にはインターフェース１０２６などのリムーバブルまたは非リムーバブルのインターフェースが使用される。図１０はまたユーザと適切な動作環境１０００内で説明される基本的なコンピュータ・リソースとの間で中間的なものとして作用するソフトウェアを描写している。そのようなソフトウェアはまた、例えばオペレーティング・システム１０２８を含むことができる。オペレーティング・システム１０２８は、ディスク記憶装置１０２４に記憶することができ、コンピュータ１０１２のリソースを制御して割り当てるよう作用する。システム・アプリケーション１０３０は、システム・メモリ１０１６またはディスク記憶装置１０２４にいずれかに記憶されるプログラム・モジュール１０３２およびプログラム・データ１０３４を通じてオペレーティング・システム１０２８によるリソースの管理を活用する。本開示は様々なオペレーティング・システムまたはオペレーティング・システムの組合せにより実装することができることを了解されたい。ユーザはコマンドまたは情報を、入力デバイス１０３６を通じてコンピュータ１０１２に入力する。入力デバイス１０３６は、マウスなどのポインティング・デバイス、トラックボール、スタイラス、タッチ・パッド、キーボード、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星放送受信アンテナ、スキャナ、ＴＶチューナ・カード、デジタル・カメラ、デジタル・ビデオ・カメラ、ウェブ・カメラなどを含むがそれに限定しない。これらのおよび他の入力デバイスはインターフェース・ポート１０３８を介してシステム・バス１０１８を通じて処理ユニット１０１４に接続する。インターフェース・ポート１０３８は例えばシリアル・ポート、パラレル・ポート、ゲーム・ポート、およびユニバーサル・シリアル・バス（ＵＳＢ）を含む。出力デバイス１０４０は入力デバイス１０３６として同一のタイプのポートのうちいくつかを使用する。したがって、例えばＵＳＢポートはコンピュータ１０１２に入力を与えるため、およびコンピュータ１０１２から出力デバイス１０４０に情報を出力するために使用することができる。出力アダプタ１０４２は、他の出力デバイス１０４０の中でもとりわけ特別なアダプタを必要とする、モニタ、スピーカ、およびプリンタなどのいくつかの出力デバイス１０４０があることを図示するために与えられる。出力アダプタ１０４２は、例示として、限定ではなく、出力デバイス１０４０とシステム・バス１０１８との間の接続の方法を提供するビデオおよびサウンド・カードを含む。他のデバイスまたはデバイスのシステムあるいはその両方は、リモート・コンピュータ１０４４などの入力機能および出力機能の両方を提供することに留意すべきである。
【００７９】
コンピュータ１０１２は、リモート・コンピュータ１０４４などの１つまたは複数のリモート・コンピュータへの論理接続を使用してネットワーク化された環境で動作することができる。リモート・コンピュータ１０４４はコンピュータ、サーバ、ルータ、ネットワークＰＣ、ワークステーション、マイクロプロセッサ・ベースの電化製品、ピア・デバイス、もしくは他の共通のネットワーク・ノードなどであってもよく、また典型的にはコンピュータ１０１２に対して説明される要素の多くまたはすべてを含むことができる。簡略化のため、メモリ記憶デバイス１０４６のみをリモート・コンピュータ１０４４とともに図示する。リモート・コンピュータ１０４４はネットワーク・インターフェース１０４８を通じてコンピュータ１０１２に論理的に接続しており、通信接続１０５０を介して物理的に接続されている。ネットワーク・インターフェース１０４８は、ローカルエリア・ネットワーク（ＬＡＮ）、ワイドエリア・ネットワーク（ＷＡＮ）、セルラ・ネットワークなど有線または無線あるいはその両方の通信ネットワークを包含している。ＬＡＮ技術は光ファイバ分散型データ・インタフェース（ＦＤＤＩ）、銅線分散型データ・インタフェース（ＣＤＤＩ）、イーサネット（Ｒ）、トークンリング、などを含む。ＷＡＮ技術は、ポイントツーポイント・リンク、サービス総合デジタル網（ＩＳＤＮ）などの回線交換ネットワークおよびそれらの変形例、パケット交換ネットワーク、ならびにデジタル加入者線（ＤＳＬ）を含むがそれに限定しない。通信接続１０５０とは、ネットワーク・インターフェース１０４８をシステム・バス１０１８に接続するために採用されるハードウェア／ソフトウェアを称する。通信接続１０５０は、明瞭に図示するためにコンピュータ１０１２の内部に示してあるが、コンピュータ１０１２の外部にあってもよい。ネットワーク・インターフェース１０４８への接続のためのハードウェア／ソフトウェアとしてはまた、例示的な目的のみであるが、一般電話機グレードモデム、ケーブル・モデム、およびＤＳＬモデム、ＩＳＤＮアダプタ、ならびにイーサネット（Ｒ）カードを含むモデムなどの内部および外部技術を含むことができる。
【００８０】
本発明は、統合のあらゆる可能な技術的詳細レベルにおいてシステム、方法、装置、またはコンピュータ・プログラム製品あるいはその組合せであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を含むことができる。コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶装置デバイス、磁気記憶装置デバイス、光学記憶装置デバイス、電磁気記憶装置デバイス、半導体記憶装置デバイスまたは前述のあらゆる適切な組合せであってもよいが、それに限定はしない。コンピュータ可読記憶媒体のより具体的な例の非網羅的な列挙としてはまた、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー（Ｒ）・ディスク、記録された命令を有するパンチカードまたは溝に刻まれた構造などの機械的にエンコードされたデバイス、および前述のあらゆる適切な組合せ、を含む。本明細書において使用される場合、コンピュータ可読記憶媒体は、電波または他の自由に伝搬する電磁波、導波路もしくは他の送信媒体（例えば、光ファイバ・ケーブルを通過する光パルス）を介して伝搬する電磁波、または電線を介して送信される電気的信号など、一過性の信号そのものであると解釈されてはならない。
【００８１】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、個別の計算／処理デバイスに、あるいは、例えばインターネット、ローカル・エリア・ネットワーク、ワイドエリア・ネットワークもしくは無線ネットワークまたはその組合せなどのネットワークを介して、外部のコンピュータもしくは外部の記憶装置デバイスに、ダウンロードすることができる。ネットワークは、銅の送信ケーブル、光学送信ファイバ、無線送信、ルータ、ファイヤウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジサーバあるいはその組合せを備えることができる。それぞれの計算／処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、個別の計算／処理デバイス内のコンピュータ可読記憶媒体に記憶装置するためにコンピュータ可読プログラム命令を転送する。本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいはスモールトーク（Ｒ）、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語などの手続き型プログラミング言語もしくは類似するプログラミング言語、を含む１つまたは複数のプログラミング言語のあらゆる組合せで記述された、ソース・コードまたはオブジェクト・コードのいずれかであってもよい。コンピュータ可読プログラム命令は、すべてユーザのコンピュータ上で、一部はユーザのコンピュータ上でスタンドアロンのソフトウェア・パッケージとして、一部はユーザのコンピュータ上かつ一部はリモート・コンピュータ上で、またはすべてリモート・コンピュータ上もしくはサーバ上で、実行することができる。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）もしくはワイドエリア・ネットワーク（ＷＡＮ）を含むあらゆるタイプのネットワークを介してユーザのコンピュータに接続することができ、または接続は外部のコンピュータに対して（例えば、インターネット・サービス・プロバイダを使用するインターネットを介して）なされてもよい。一部の実施形態において、例えば、プログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル論理アレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行して電子回路を個別化することができる。
【００８２】
本発明の態様は本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら本明細書において説明される。フローチャート図またはブロック図あるいはその両方のそれぞれのブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装され得ることが理解されよう。これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図のブロックあるいはその両方に指定される機能／作用を実装する方法を作成すべく、汎用目的コンピュータ、特殊目的コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を作るものであってよい。これらのコンピュータ可読プログラム命令はまた、命令を記憶して有するコンピュータ可読記憶媒体が、フローチャートまたはブロック図のブロックあるいはその両方に指定される機能／作用の態様を実装するための命令を含む製造物品を備えるべく、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに特定のやり方で機能するように指示することができるコンピュータ可読記憶媒体に記憶されてもよい。コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイスで実行する命令が、フローチャートまたはブロック図のブロックあるいはその両方に指定される機能／作用を実装するべく、コンピュータ実装処理を作るために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作上の作用を実施させるものであってもよい。
【００８３】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態にしたがって、システム、方法、およびコンピュータ・プログラム製品の可能な実施形態の、アーキテクチャ、機能性、および動作を図示している。この点において、フローチャートまたはブロック図のそれぞれのブロックは、指定される論理機能を実装するための１つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表現することができる。一部の代替的な実施形態において、ブロックにおいて示した機能は図面で示した順とは異なって発生してもよい。例えば、連続して示される２つのブロックは、実際には実質的に同時に実行されてもよく、またはブロックは関与する機能性によっては、時に逆の順で実行されてもよい。ブロック図またはフローチャート図あるいはその両方のそれぞれのブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定される機能もしくは作用を実施する、または特殊目的ハードウェアおよびコンピュータ命令の組合せを実行する、特殊目的ハードウェア・ベースのシステムによって実装され得ることにも留意されたい。
【００８４】
コンピュータで実行するコンピュータ・プログラム製品のコンピュータ実行可能命令の一般的なコンテキストにおいて、主題を上で説明してきたが、当業者であれば本開示はまた他のプログラム・モジュールと組み合わせて実装され得ることを理解されよう。一般的に、プログラム・モジュールは、特定のタスクを実施するか、または特定の抽象的なデータタイプを実装するか、あるいはその両方のルーチン、プログラム、コンポーネント、データ構造などを含む。さらには、当業者であれば、本発明のコンピュータ実装方法は、シングルプロセッサまたはマルチプロセッサ・コンピュータ・システム、ミニコンピューティング・デバイス、メインフレーム・コンピュータ、ハンドヘルド・コンピューティング・デバイス（例えば、ＰＤＡ、電話機）、マイクロプロセッサ・ベースのまたはプログラマブルの家庭用または業務用電子機器など、を含む他のコンピュータ・システム構成で実践できることを了解されよう。図示した態様はまた、タスクが通信ネットワークを通じてリンクされたリモート処理デバイスによって実施される分散コンピューティング環境において実践することができる。しかしながら、本開示の、すべてでないにしても一部の態様は、スタンドアロンのコンピュータで実践することができる。分散コンピューティング環境において、プログラム・モジュールはローカルおよびリモートの両方のメモリ記憶デバイスに配置することができる。
【００８５】
本出願で使用される場合、用語「コンポーネント」、「システム」、「プラットフォーム」、「インターフェース」などは、コンピュータ関連の実体または１つもしくは複数の特別な機能性を有して動作可能な機械に関連する実体を称することができるか、または含むことができるか、あるいはその両方である。本明細書において開示される実体は、ハードウェア、ハードウェアとソフトウェアとの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかであることができる。例えば、コンポーネントは、プロセッサで実行中のプロセス、プロセッサ、オブジェクト、実行可能なもの、実行のスレッド、プログラムまたはコンピュータあるいはその組合せであることができるが、それに限定しない。例示として、サーバ上で実行中のアプリケーションおよびサーバの両方はコンポーネントであることができる。１つまたは複数のコンポーネントはプロセスまたは実行のスレッドあるいはその両方の中に存在することができ、また、コンポーネントは１つのコンピュータに集中してもよく、または２つ以上のコンピュータ間で分散されてもよく、あるいはその両方であってもよい。別の例示おいて、個々のコンポーネントは様々なデータ構造を記憶して有する様々なコンピュータ可読媒体から実行することができる。コンポーネントは、１つまたは複数のデータパケット（例えば、ローカル・システム内で、分散システム内で、または信号を介する他のシステムとのインターネットなどのネットワークを横断して、あるいはその組合せで、別のコンポーネントと相互作用する１つのコンポーネントからのデータ）を有する信号にしたがうなど、ローカルまたはリモートのプロセスあるいはその両方のプロセスを介して通信することができる。別の例として、コンポーネントは、電気的または電子的な回路によって動作させられる機械的な部品によって与えられる特別な機能性を有する装置であることができ、プロセッサによって実行されるソフトウェアまたはファームウェア・アプリケーションによって動作させられる。そのような場合、プロセッサは装置に対して内部または外部にあることができ、ソフトウェアまたはファームウェア・アプリケーションの少なくとも一部を実行することができる。さらに別の例として、コンポーネントは機械的な部品無しに電子機器部品を通じて特別な機能性を提供する装置であることができ、この場合電子機器部品は電子機器部品の機能性を少なくとも一部付与するソフトウェアまたはファームウェアを実行するためのプロセッサまたは他の方法を含むことができる。一態様において、コンポーネントは例えば、クラウド・コンピューティング・システム内で仮想機械を介して電子機器部品をエミューレートすることができる。
【００８６】
加えて、用語「または（or）」は、排他的「ｏｒ」よりはむしろ包括的「ｏｒ」を意味することを意図されている。すなわち、特に明記しない限り、またはコンテキストから離れない限り、「ＸはＡまたはＢを採用する」とは、自然包括的並べ替えのうちの任意のものを意味することを意図されている。すなわち、ＸがＡを採用する場合、ＸがＢを採用する場合、またはＸがＡおよびＢを採用する場合、「ＸがＡまたはＢを採用する」が前述の事例の任意のものの下で満足される。さらには、本明細書および添付される図面内で使用される場合、冠詞「１つの（a）」および「１つの（an）」は、単数形を対象とすると特に明記しない限り、またはコンテキストから離れない限り、一般的に「１つまたは複数の」を意味するものと解釈されるべきである。本明細書において使用される場合、用語「例（example）」または「例示の（exemplary）」あるいはその両方は、例、事例、または図示として機能することを意味するよう利用される。疑念の回避のため、本明細書において開示される主題はそのような例によって限定されない。加えて、本明細書において「例」または「例示の」あるいはその両方として説明されるあらゆる態様または設計は、必ずしも他の態様もしくは設計より好ましい、または有利であるとして解釈される必要はなく、また当業者に既知の等価な例示の構造および技法を排除するつもりでもない。
【００８７】
本明細書で採用されるように、用語「プロセッサ」は実質的に、シングルコア・プロセッサ、ソフトウェア・マルチスレッド実行機能を有するシングルプロセッサ、マルチコア・プロセッサ、ソフトウェア・マルチスレッド実行機能を有するマルチコア・プロセッサ、ハードウェア・マルチスレッド技術を有するマルチコア・プロセッサ、並列プラットフォーム、および分散共有メモリを有する並列プラットフォーム、を備えるあらゆるコンピューティング処理ユニットまたはデバイスを称することができるが、限定はしない。追加的に、プロセッサとは、集積回路、特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、プログラマブル・ロジック・コントローラ（ＰＬＣ）、複合プログラマブル・ロジック・デバイス（ＣＰＬＤ：Complex Programmable Logic Device）、個別ゲートもしくはトランジスタ・ロジック、個別ハードウェア・コンポーネント、または本明細書において説明される機能を実施するために設計されるそれらのあらゆる組合せを称することができる。さらには、プロセッサは空間使用を最適化するためまたはユーザ機器のパフォーマンスを向上させるために、分子および量子ドット・ベースのトランジスタ、スイッチ、ならびにゲートなどのナノスケールのアーキテクチャを活用することができるが、限定はしない。プロセッサはまたコンピューティング処理ユニットの組合せとして実装され得る。本開示において、「記憶」、「記憶装置」、「データ記憶装置」、「データベース」ならびにコンポーネントの動作および機能性に関連する実質的にあらゆる他の情報記憶コンポーネントなどの用語は、「メモリ」内に具体化される実体「メモリ・コンポーネント」またはメモリを含むコンポーネントを称するために利用される。本明細書において説明されるメモリまたはメモリ・コンポーネントあるいはその両方は揮発性メモリまたは不揮発性メモリのいずれかであることができるか、または揮発性メモリおよび不揮発性メモリの両方を含むことができることを了解されたい。例示として、限定ではなく、不揮発性メモリは読み取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、または不揮発性ランダム・アクセス・メモリ（ＲＡＭ）（例えば、強誘電ＲＡＭ（ＦｅＲＡＭ））を含むことができる。揮発性メモリは例えば外部キャッシュ・メモリとして作用できるＲＡＭを含むことができる。例示として、限定ではなく、ＲＡＭはシンクロナスＲＡＭ（ＳＲＡＭ）、動的ＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブル・データ・レートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、エンハンストＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ）、ダイレクト・ラムバスＲＡＭ（ＤＲＲＡＭ）、ダイレクト・ラムバス・ダイナミックＲＡＭ（ＤＲＤＲＡＭ）、およびラムバス・ダイナミックＲＡＭ（ＲＤＲＡＭ）などの多くの形態で利用可能である。追加的に、本明細書におけるシステムまたはコンピュータ実装方法の開示されるメモリ・コンポーネントは、これらのおよびあ���ゆる他の適切なタイプのメモリを含むことを意図されているが、それらを含むように限定することは意図されていない。
【００８８】
上で説明してきたことが含むものは、システムおよびコンピュータ実装方法の単なる例である。もちろん、本開示を説明することを目的として、コンポーネントまたはコンピュータ実装方法のすべての考えられる組合せ説明することは不可能だが、当業者であれば本開示の多くのさらなる組合せおよび並べ替えが可能であることを理解されよう。さらには、発明を実施するための形態、特許請求の範囲、付録および図面において用語「含む（includes）」、「有する（has）」、「所有する（possesses）」などが使用される範囲では、そのような用語は、請求項の移行句として採用される場合に「を備える（comprising）」が解釈される際の用語「を備える（comprising）」と類似するやり方で、包括的であることを意図されている。例示を目的として様々な実施形態の説明を提示してきたが、網羅的であること、または開示された実施形態に限定することは意図されていない。説明された実施形態の範囲から逸脱することなく、多くの修正形態および変形形態が当業者にとって明らかとなろう。本明細書において使用される用語法は実施形態、実践的な用途もしくは市場で見られる技術に対する技術的な改善の原理を最良に説明するため、または当業者の他の者が本明細書において開示される実施形態を理解することを可能にするために選ばれたものである。
【図１】
2020529072.tif 000003
【図２】
2020529072.tif 000004
【図３】
2020529072.tif 000005
【図４】
2020529072.tif 000006
【図５】
2020529072.tif 000007
【図６】
2020529072.tif 000008
【図７】
2020529072.tif 000009
【図８】
2020529072.tif 000010
【図９】
2020529072.tif 000011
【図１０】
2020529072.tif 000012
【国際調査報告】
2020529072.tif 000013
2020529072.tif 000014