JP2020529072A - プロセッサ・コアにおいてローカル検出ループを使用するオンチップ電源ノイズ電圧の低減または軽減 - Google Patents

プロセッサ・コアにおいてローカル検出ループを使用するオンチップ電源ノイズ電圧の低減または軽減 Download PDF

Info

Publication number
JP2020529072A
JP2020529072A JP2020503917A JP2020503917A JP2020529072A JP 2020529072 A JP2020529072 A JP 2020529072A JP 2020503917 A JP2020503917 A JP 2020503917A JP 2020503917 A JP2020503917 A JP 2020503917A JP 2020529072 A JP2020529072 A JP 2020529072A
Authority
JP
Japan
Prior art keywords
noise
processor core
local
voltage
global
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020503917A
Other languages
English (en)
Other versions
JP7279013B2 (ja
Inventor
ベジルトジス、クリストス
チュアン、パース、アイジェン
ブユクトスノグル、アルパー
レストル、フィリップ、ジョン
ボーズ、プラディップ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2020529072A publication Critical patent/JP2020529072A/ja
Application granted granted Critical
Publication of JP7279013B2 publication Critical patent/JP7279013B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/00346Modifications for eliminating interference or parasitic voltages or currents
    • H03K19/00361Modifications for eliminating interference or parasitic voltages or currents in field effect transistor circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • G06F1/305Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations in the event of power-supply fluctuations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K17/00Electronic switching or gating, i.e. not by contact-making and –breaking
    • H03K17/16Modifications for eliminating interference voltages or currents
    • H03K17/161Modifications for eliminating interference voltages or currents in field-effect transistor switches
    • H03K17/162Modifications for eliminating interference voltages or currents in field-effect transistor switches without feedback from the output circuit to the control circuit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/00369Modifications for compensating variations of temperature, supply voltage or other physical parameters
    • H03K19/00384Modifications for compensating variations of temperature, supply voltage or other physical parameters in field effect transistor circuits
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Abstract

【課題】プロセッサ・コア内でローカル検出ループを使用してオンチップ電源ノイズ電圧の低減または軽減あるいはその両方を促進するための技術を提供する。【解決手段】一例において、コンピュータ実装方法はプロセッサ・コアによって、プロセッサ・コアの第1のエリアにおける電圧ドループを検出することを含むことができる。コンピュータ実装方法はまたプロセッサ・コアによって電圧ドループ情報を第1のエリアに配置されるローカル制御器およびプロセッサ・コアに配置されるグローバル制御器に送信することを含むことができる。さらには、コンピュータ実装方法はプロセッサ・コアによって、ローカル制御器から受信されたローカル命令に応答してプロセッサ・コアの第1のエリアにおいて第1の軽減対策を適用することを含むことができる。ローカル命令は第1の軽減対策の指標を含むことができる。【選択図】図9

Description

本開示はオンチップ電源ノイズ電圧の低減または軽減に関し、より詳細には、プロセッサ・コアにおいてローカル検出ループを使用するオンチップ電源ノイズ電圧の低減または軽減に関する。
集積回路(例えば、プロセッサ)は電源などの電力源から電力を受け取り、関連付けられている回路に電源電圧を与えることができる。電流量および回路負荷の量は、関連付けられている回路の動作速度と電源電圧の関数であることができる。回路の能動的な性質のため、回路負荷は変化することがあり、電源電圧レベルを定義された電圧レベルを下回って降下または下げさせることがある。電圧における定義された電圧レベルからの降下を「電圧ドループ」と称する。例えば、電源ノイズが電源から生成されることがあり、さらには関連付けられている回路へと伝搬することがあり、これはプロセッサの様々な経路またはユニットにおいて電圧ドループを起こすことがある。電圧ドループ(または複数の電圧ドループ)はプロセッサが動作する速度に影響を及ぼすことがある。
したがって、当技術分野において前述の問題に対処する必要がある。
本発明の1つまたは複数の実施形態の基本的な理解を与えるための概要を以下に提示する。この概要は主要もしくは重要な要素を特定すること、または特定の実施形態のあらゆる範囲もしくは特許請求の範囲のあらゆる範囲を詳述することを意図されていない。その唯一の目的は、後に提示されるより詳細な説明への導入部として簡素化された形式での概念を提示することである。1つまたは複数の本明細書において説明される実施形態において、電源ノイズ電圧の低減または軽減あるいはその両方を促進するシステム、コンピュータ実装方法、装置またはコンピュータ・プログラム製品あるいはその両方が、説明される。
第1の態様によると、本発明は、オンチップ電源ノイズの低減を促進するためのデバイスであって、プロセッサ・コアの第1のユニットに配置される第1の電圧ノイズ・センサであって、第1の電圧ノイズ・センサは第1のユニットにおいて第1の電圧ドループを検出し、プロセッサ・コアは第1のユニットと第2のユニットとに分割される、第1の電圧ノイズ・センサと、プロセッサ・コアに配置され、第1の電圧ノイズ・センサから第1の電圧ドループの指標を受信する、グローバル・ノイズ・マネージャ・コンポーネントと、第1の電圧ノイズ・センサから第1の電圧ドループの指標を受信することと、第1のユニットにおいて第1のノイズ軽減手順を実装することとについて動作可能な第1のユニットに配置される第1のローカル・ノイズ・マネージャ・コンポーネントと、を備える、デバイスを提供する。
さらなる態様によると、本発明は、オンチップ電源ノイズの低減を促進するためのコンピュータ実装方法であって、プロセッサ・コアによってプロセッサ・コアの第1のエリアにおいて電圧ドループを検出することと、プロセッサ・コアによって第1のエリアに配置されるローカル制御器およびプロセッサ・コアに配置されるグローバル制御器に電圧ドループ情報を送信することと、プロセッサ・コアによって、ローカル制御器から受信されたローカル命令に応答して、プロセッサ・コアの第1のエリアにおいて第1の軽減対策を適用することであって、ローカル命令は第1の軽減対策の指標を含む、適用することとを含む、コンピュータ実装方法を提供する。
さらなる態様によると、本発明は、オンチップ電源ノイズの低減を促進するためのコンピュータ・プログラム製品であって、コンピュータ・プログラム製品は、処理回路によって可読であり、本発明のステップを実施する方法を実施するための処理回路による実行のための命令を記憶するコンピュータ可読記憶媒体、を備える、コンピュータ・プログラム製品を提供する。
さらなる態様によると、本発明は、コンピュータ可読記憶媒体に記憶され、デジタルコンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行される時、本発明のステップを実行するためのソフトウェア・コード部分を備える、コンピュータ・プログラムを提供する。
一実施形態によると、コンピュータ実装方法はプロセッサ・コアによって、プロセッサ・コアの第1のエリアにおける電圧ドループを検出することを含むことができる。コンピュータ実装方法はまたプロセッサ・コアによって電圧ドループ情報を第1のエリアに配置されるローカル制御器およびプロセッサ・コアに配置されるグローバル制御器に送信することを含むことができる。さらには、コンピュータ実装方法はプロセッサ・コアによって、ローカル制御器から受信されたローカル命令に応答してプロセッサ・コアの第1のエリアにおいて第1の軽減対策を適用することを含むことができる。ローカル命令は第1の軽減対策の指標を含むことができる。
一実施形態によると、デバイスはプロセッサ・コアの第1のユニットに配置される第1の電圧ノイズ・センサを備えることができる。第1の電圧ノイズ・センサは第1のユニットにおいて第1の電圧ドループを検出することができる。さらには、プロセッサ・コアは第1のユニットと第2のユニットとに分割することができる。デバイスはまたプロセッサ・コアに配置され、第1の電圧ノイズ・センサから第1の電圧ドループの指標を受信するグローバル・ノイズ・マネージャ・コンポーネントを備えることができる。さらには、デバイスは第1のユニットに配置され、第1の電圧ノイズ・センサから第1の電圧ドループの指標を受信し、第1のユニットにおいて第1のノイズ軽減手順を実装する、第1のローカル・ノイズ・マネージャ・コンポーネントを備えることができる。
別の実施形態によると、オンチップ電源ノイズの低減を促進するコンピュータ・プログラム製品は、プログラム命令をそこに具体化されるコンピュータ可読記憶媒体を備えることができる。プログラム命令は、プロセッサ・コアによって実行可能である。プログラム命令はプロセッサ・コアに、プロセッサ・コアの第1のセグメントにおける第1の電圧ドループを検出させることができる。プログラム命令はまた、プロセッサ・コアに第1の電圧ドループの第1の指標を、ローカル・ノイズ管理ユニットおよび共通のノイズ管理ユニットに送信させることができる。ローカル・ノイズ管理ユニットはプロセッサ・コアの第1のセグメントに関連付けられることができる。さらには、プログラム命令はプロセッサ・コアに第1の電圧ドループの第1の指標に基づいて命令の第1のシーケンスを実行させることができる。命令の第1のシーケンスはローカル・ノイズ管理ユニットから受信することができ、第1の電圧ドループに関連付けられる軽減対策に関連することができる。
次に、単なる例として、添付の図面を参照して本発明の実施形態を説明する。
本明細書において説明される1つまたは複数の実施形態による、オンチップ電源電圧ノイズの低減または軽減あるいはその両方を促進する、例示の、非限定的なシステムのブロック図である。 電圧ドループの検出とグローバル制御ループの軽減手順の実装との間の遅延またはラグを含む、電圧ドループの検出および軽減の、例示の、非限定的なチャートである。 本明細書において説明される1つまたは複数の実施形態による、プロセッサ・コアにおいて検出される1つまたは複数の電圧ドループに応答して、1つまたは複数の訂正手順の実装を促進する、例示の、非限定的なシステムのブロック図である。 本明細書において説明される1つまたは複数の実施形態による、コアごとに複数の検出/軽減ループを使用してオンチップ電源ノイズ電圧の低減または軽減あるいはその両方を促進する、例示の、非限定的なシステムのブロック図である。 本明細書において説明される1つまたは複数の実施形態による、ドループの検出および軽減のために利用される、例示の、非限定的なシステムのブロック図である。 本明細書において説明される1つまたは複数の実施形態による、ローカル検出ループを使用してオンチップ電源ノイズ電圧の低減または軽減あるいはその両方を促進する、例示の、非限定的なコンピュータ実装方法のフロー図である。 本明細書において説明される1つまたは複数の実施形態による、ローカル命令が電圧ドループを解決しなかったという指標に基づいてグローバル命令を実装する、例示の、非限定的なコンピュータ実装方法のフロー図である。 本明細書において説明される1つまたは複数の実施形態による、オンチップ電源ノイズ電圧を低減/軽減するために複数の軽減対策を実装する、例示の、非限定的なコンピュータ実装方法のフロー図である。 本明細書において説明される1つまたは複数の実施形態による、オンチップ電源ノイズを低減/軽減する、例示の、非限定的なコンピュータ実装方法のフロー図である。 本明細書において説明される1つまたは複数の実施形態が促進され得る、例示の、非限定的な動作環境のブロック図である。
以下の詳細な説明は単に説明的であり、実施形態もしくは適用例あるいはその両方、または実施形態の使用を限定するよう意図されていない。さらには、先の「背景技術」または「発明の概要」の項、あるいは「発明を実施するための形態」の項において提示されるいかなる明示的または示唆的な情報も、結びつけられるよう意図されていない。
次に1つまたは複数の実施形態を図面を参照して説明するが、一貫して同一の参照符号は同一の要素を参照するために使用される。以下の説明において、説明目的のため、1つまたは複数の実施形態のより徹底した理解を与えるために、多くの具体的な詳細が説明される。しかしながら、様々な場合において、1つまたは複数の実施形態はこれらの具体的な詳細無しに実践され得ることが明白である。
集積回路(例えば、プロセッサ)は電源などの電力源から電力を受け取り、関連付けられている回路に電源電圧を与えることができる。電流量および回路負荷の量は、関連付けられている回路の動作速度と電源電圧の関数であることができる。回路の能動的な性質のため、回路負荷は変化することがあり、電源電圧レベルを定義された電圧レベルを下回って降下または下げさせることがある。電圧における定義された電圧レベルからの降下を「電圧ドループ」と称する。例えば、電源ノイズが電源から生成されることがあり、さらには関連付けられている回路へと伝搬することがあり、これはプロセッサの様々な経路またはユニットにおいて電圧ドループを起こすことがある。電圧ドループ(または複数の電圧ドループ)はプロセッサが動作する速度に影響を及ぼすことがある。
本明細書において議論される様々な態様は、供給電流において大きく急な増加がある場合のタイミング不良を防ぐことによって、オンチップ電源ノイズの影響を低減または軽減あるいはその両方を促進することに関する。タイミング不良は、電圧ドループが検出される時間とその電圧ドループを補償するために軽減対策が適用される時間との間のラグ・タイムのために発生し得る。したがって、開示される態様は、プロセッサ・コアについて、プロセッサ・コアの第1の部分または第1のユニットにおいて、1つまたは複数の内部またはローカルの(例えば、高速の)制御ループを、またプロセッサ・コアにおいて、1つまたは複数の外部またはグローバルの(例えば、低速の)制御ループを提供することができる。ローカル制御ループまたはグローバル制御ループあるいはその両方は、電源電圧レールでの様々な危険な事象を検出するために利用することができる。さらには、1つまたは複数の制御ループ(ローカルまたはグローバルあるいはその両方)は、電圧ドループの低減/軽減のパフォーマンス上のインパクトを低減または最小にするために、他の制御ループよりも様々な様式で(または、いくつかの実装形態では他のループと同様に)応答することができる。したがって、本明細書で提供される1つまたは複数の実施形態は、印加電圧のマージンを低減することによって、プロセッサ・チップの電力消費の低減または軽減を促進することができる。
図1は本明細書において説明される1つまたは複数の実施形態による、オンチップ電源電圧ノイズの低減または軽減あるいはその両方を促進する、例示の、非限定的なシステム100のブロック図を図示している。本開示で説明されるシステム(例えば、システム100など)、装置、または処理の態様は、機械内で具体化される機械実行可能コンポーネントを構成することができ、例えば、1つまたは複数の機械に関連付けられる1つまたは複数のコンピュータ可読媒体に具体化される。そのようなコンポーネントは、1つまたは複数の機械、例えばコンピュータ、コンピューティング・デバイス、仮想機械などによって実行される時、機械に説明される動作を実施させることができる。
様々な実施形態において、システム100は、プロセッサを備えるあらゆるタイプのコンポーネント、機械、デバイス、施設、装置、もしくは機器またはその組合せに採用されることができるか、あるいは有線もしくは無線またはその両方のネットワークと、効果的にもしくは動作可能にまたはその両方で通信することができるか、あるいはその両方である。システム100を備えることができるコンポーネント、機械、装置、デバイス、施設、または機器あるいはその組合せは、タブレット・コンピューティング・デバイス、ハンドヘルド・デバイス、サーバ・クラスのコンピューティング機械またはデータベースあるいはその両方、ラップトップ・コンピュータ、ノートブック・コンピュータ、デスクトップ・コンピュータ、携帯電話、スマート・フォン、家庭用電化製品または器具あるいはその両方、工業的または商用のデバイスあるいはその両方、ハンドヘルド・デバイス、情報端末、マルチメディア・インターネット対応電話機、マルチメディア・プレーヤ、などを含むことができる。
図示されるように、システム100はプロセッサ・コア102を備えることができ、プロセッサ・コア102は第1のユニット104および第2のユニット106として図示される、1つまたは複数のユニットに分割することができる。第1のユニット104は第1の電圧ノイズ・センサ108および第1のローカル制御器110を備えることができる。第2のユニット106は第2の電圧ノイズ・センサ112および第2のローカル制御器114を備えることができる。さらには、プロセッサ・コア102はグローバル制御器116および少なくとも1つのメモリ118を備えることができる。グローバル制御器116はプロセッサ・コア102内で中央集中的なポイントにあることができる。例えば、グローバル制御器116はプロセッサ・コア102の縁部に配置され得る。
第1の電圧ノイズ・センサ108は第1のユニット104において第1の電圧ドループを検出することができる。第1の電圧ドループの検出に基づいて、第1の電圧ノイズ・センサ108は第1の電圧ドループに関連する情報を、第1のローカル制御器110およびグローバル制御器116に送信することができる。例えば、第1の電圧ドループを検出すると、または検出の後、第1の電圧ノイズ・センサ108は第1の信号を、ローカル制御ループ上で第1のローカル制御器110に送信することができる。さらには、第1の電圧ノイズ・センサ108は第2の信号を、グローバル制御ループ上でグローバル制御器116に送信することができる。ローカル制御ループは第1のユニット104の内部にあるままである(例えば、プロセッサ・コアの他のユニットとインターフェースする必要がない)。ローカル制御ループのローカルな性質のため、第1のローカル制御器110は、グローバル制御器116によって情報を受信するよりも短時間のうちに第1のローカル制御器110から情報を受信することができる。このより短い時間に基づいて、第1のローカル制御器110は第1のノイズ軽減手順を実装することができ、第1の電圧ドループが検出される時間とノイズ軽減手順が実装される時間との間のラグ・タイムを低減することができる。第1のローカル制御器110によって実装される第1のノイズ軽減手順は、第2のローカル制御器114およびグローバル制御器116に伝達することができる。
グローバル制御器116は第1の電圧ノイズ・センサ108から指標を受信すると、または受信した後、プロセッサ・コア102内でグローバルな対策手順が実装されるべきかどうか、判断することができる。例えば、判断は、第1のローカル制御器110によって実装されるローカルな軽減手順が、検出された電圧ドループを解決したかどうかに基づいてなされ得る。もし解決されていれば、グローバル制御器116は受信した指標を選択的に無視することができる。しかしながら、電圧ドループが解決されていない場合、グローバル制御器116は、第1のユニット104、第2のユニット106、プロセッサ・コアの他の部分、またはその組合せにおいてグローバルな低減/軽減対策手順を選択的に実装する。いくつかの実装形態において、グローバルな低減/軽減対策手順はプロセッサ・コア102におけるユニットについて共通であることができる。例えば、クロック周波数が50%低下の場合、グローバルな低減/軽減対策手順はコアのアクティビティを25%までスロットルするための命令であることができる。しかしながらいくつかの実装形態によると、低減/軽減対策手順はプロセッサ・コア102における様々なユニットについて異なっていることができる。例えば、第1のローカル制御器110に与えられる命令の第1のセットは、第2のローカル制御器114に与えられる命令の第2のセットとは異なっていてもよい。
電圧ドループが解決されているかどうかの判断は、第1の電圧ノイズ・センサ108から受信された別の指標に基づいていることができる。例えば、電圧ノイズが第1の電圧ノイズ・センサ108によって検出されると、情報が第1のローカル制御器110およびグローバル制御器116に送信され得る。場合によっては、情報は検出される電圧が定義された電圧レベルより上であると示すことがある(例えば、電圧ドループが検出されていない)。したがって、グローバル制御器116は第1のユニット104において電圧ドループの指標を受信し、その後、第1のユニット104において電圧ドループがないという別の指標を受信し、グローバル制御器116はさらなるアクションは必要ではないと判断することができる。
グローバル制御器116によって実装されるグローバルな低減/軽減手順は、異なる手順であることができる。例えば、第1のグローバルな低減/軽減手順が第1のユニット104に実装され得、第2の低減/軽減手順が第2のユニット106に実装され得、また第3の低減/軽減手順がプロセッサ・コア102の別の部分に実装され得る。第1の低減/軽減手順および第2の低減/軽減手順は同一の低減/軽減手順であってもよく、または異なる低減/軽減手順であってもよい。さらには、第3の低減/軽減手順は第1の低減/軽減手順もしくは第2の低減/軽減手順と同一であってもよく、または第1の低減/軽減手順および第2の低減/軽減手順とは異なっていてもよい。
いくつかの実装形態によると、第2の電圧ノイズ・センサ112は第2のユニット106において第2の電圧ドループを検出することができる。したがって、第2の電圧ノイズ・センサ112は第2の電圧ドループに関連する情報を、ローカル制御ループ(例えば、第2のユニット106に対してローカル)上で第2のローカル制御器114に、およびグローバル制御ループ上でグローバル制御器116に送信することができる。したがって、第2のローカル制御器114は第2のユニット106において第2のノイズ軽減手順を実装することができる。第2のノイズ軽減手順に関連する情報は、第1のローカル制御器110およびグローバル制御器116に伝達することができる。第1の電圧ドループ(第1の電圧ノイズ・センサ108によって検出される)および第2の電圧ドループ(第2の電圧ノイズ・センサ112によって検出される)は同時にまたは異なる時間において検出され得ることに留意されたい。さらには、第1のノイズ軽減手順および第2のノイズ軽減手順は類似の手順であってもよく、または異なる手順であってもよい。
第2のノイズ軽減手順が第2のユニット106における電圧ドループを解決すると、グローバル制御器116は第2の電圧ノイズ・センサ112から受信した指標を選択的に無視することができる。しかしながら、電圧ドループが解決されない場合、グローバル制御器116は1つまたは複数のグローバル低減/軽減手順を、グローバルに、またはプロセッサ・コア102の1つまたは複数の部分(例えば、第1のユニット104、第2のユニット106、別のユニット、またはプロセッサ・コア102の別の部分)において、実装することができる。
少なくとも1つのメモリ118はコンピュータ実行可能コンポーネントまたはコンピュータ実行可能命令あるいはその両方を記憶することができ、それらはプロセッサ・コア102によって実装され得る。少なくとも1つのメモリ118は、本明細書において議論されるような、オンチップ電源ノイズ電圧の低減/軽減を実装することに関連付けられるプロトコルを記憶することができる。さらには、少なくとも1つのメモリ118は、システム100が本明細書において説明されるようなオンチップ電源ノイズ電圧の低減/軽減を達成するために記憶されたプロトコルまたはアルゴリズムあるいはその両方を採用できるように、第1のユニット104と、第2のユニット106と、グローバル制御器116との間の通信を制御するためのアクションを促進することができる。
上で議論したように、第1のユニット104内の第1のローカル制御器110または第2のユニット106内の第2のローカル制御器114あるいはその両方は、個々の電圧ドループの検出と個々のローカル・ノイズ軽減手順の実装との間の遅延またはラグを低減することができる。例えば、図2は電圧ドループの検出とグローバル制御ループの軽減手順の実装との間の遅延またはラグを含む、電圧ドループの検出および軽減の、例示の、非限定的なチャート200を図示している。プロセッサから引き出される供給電流が急に増加すると、電圧電源に大きな降下が形成され得る。電源が決定された電圧値を下回って減少すると、プロセッサの機能性が損なわれることがある。
本明細書において議論されるように、グローバル制御ループがグローバル制御器(例えば、図1のグローバル制御器116)に検出された電圧ドループを通知するよう利用される場合、情報がプロセッサ・コアにわたって長い距離をトラバースするために(比較的)長い時間を要することがある。さらには、グローバルな対策手順は長時間にわたって適用されることがあり、大量のパフォーマンスのオーバヘッドを誘発することがある。
チャート200の縦軸に供給電圧レベル202が図示されており、横軸には時間204が図示されている。プロットされる線206はプロセッサ・コア(またはプロセッサ・コアの一部)に対する供給電圧値を図示している。供給電圧値がモニタリングされているため、208において示されるように電圧ドループを検出することができる。検出に基づいて、電圧ドループの指標はグローバル・ループ上でグローバル制御器に送信され得、グローバル制御器は電圧ドループの低減/軽減について命令を与えることができる。低減/軽減手順はある時間遅延の後、210において示されるように実装され得る。したがって、電圧ドループが(208において)検出される時間と低減/軽減が(210において)適用される時間との間にはラグ212がある。ラグ212(または時間遅延)はプロセッサを低速にさせるために十分長い持続時間のものであることができ、デバイスで顕著になることがある。ラグ212は電圧ループ指標がセンサからグローバル制御器にトラバースする時間の関数として導かれ得る。ラグ212はまた命令がグローバル制御器からトラバースして、個々のユニットにおいて適用される時間を含む。さらには、ラグ212は長距離を伝達する信号および複数のセンサ(例えば、第1の電圧ノイズ・センサ108、第2の電圧ノイズ・センサ112など)から到来する多くの信号を結合するために費やされる処理時間に起因し得る。これらの遅延の間、供給はさらに降下し、アレイのような繊細な構造の機能性が損なわれ得る。本明細書において提供される様々な態様は、1つまたは複数のローカル・ノイズ軽減手順を実装するために、ローカル制御器およびローカル制御ループの実装を通じて遅延を低減する。
図3は本明細書において説明される1つまたは複数の実施形態による、プロセッサ・コアにおいて検出される1つまたは複数の電圧ドループに応答して、1つまたは複数の訂正手順の実装を促進する、例示の、非限定的なシステム300のブロック図を図示している。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。
システム300はシステム100のコンポーネントまたは機能性あるいはその両方のうちの1つまたは複数を備えることができ、またその逆も可である。第1の電圧ノイズ・センサ108は、検出される電圧ドループの1つまたは複数の指標を、ローカル制御ループ304上で、およびグローバル制御ループ306上で送信することができる送信機コンポーネント302を備えることができる。1つまたは複数の指標は送信機コンポーネント302によって同時に送信することができる。例えば、送信機コンポーネント302がローカル制御ループ304上で指標を送信すると、または送信した後、送信機コンポーネント302はグローバル制御ループ306上で指標を送信することができる。
第1のローカル制御器110は通信コンポーネント308を介して指標を受信することができる。ローカル制御ループ304上の通信コンポーネント308による受信は、通信モジュール310を介してグローバル制御ループ306上でグローバル制御器116によって指標を受信するよりも素早いことがある。例えば、ローカル制御ループ304を介して伝達される指標は第1のユニット104の内部にあるままで、第1の電圧ノイズ・センサ108と第1のローカル制御器110との間の近接性に起因して指標をより速く受信することができる。一方で、グローバル制御ループ306上の指標は第1のユニット104からプロセッサ・コア102の別の部分(例えば、グローバル制御器116の場所へ)へとトラバースしなければならない。したがって、グローバル制御器116への指標はより長い時間を要することがあり、さらにはグローバル制御器116からの命令を第1のユニット104で受信させるための時間に基づいて、遅延を招くことがある。
通信コンポーネント308において受信される指標に少なくとも部分的に基づいて、実装コンポーネント312は第1のユニット104において1つまたは複数のローカルな低減/軽減対策を選択的に適用することができる。第1の電圧ノイズ・センサ108は、1つまたは複数のローカルな低減/軽減対策の実装の間、およびその後、第1のユニット104内の電圧レベルをモニタリングし続けることができる。モニタリングされる追加的な電圧レベルに関連する情報は、送信機コンポーネント302によってローカル制御ループ304(例えば、第1のローカル制御器110へ)上で、およびグローバル制御ループ306上で(例えば、グローバル制御器116へ)送信され得る。
実装コンポーネント312によって選択的に適用された1つまたは複数のローカルな低減/軽減対策が最初に検出された電圧ドループを解決し、後続の電圧ドループが検出されない場合、グローバル制御器116において判断コンポーネント314は、さらなるアクションは必要ないと判断することができる。しかしながら、1つまたは複数のローカルな低減/軽減対策が最初に検出された電圧ドループを解決しなかった場合、または第1のユニットにおいて別の電圧ドループが検出される場合(第1の電圧ノイズ・センサ108によって、または第1のユニット104の別の電圧ノイズ・センサによって)、グローバル制御器116は1つまたは複数のグローバルな手順を実装することができる。
一実装形態によると、グローバル制御器116は命令コンポーネント316を含むことができ、プロセッサ・コア102の1つまたは複数の部分において実装されるべき1つまたは複数のグローバルな低減/軽減対策を決定することができる。例えば、命令コンポーネント316は第1のユニット104において適用するための第1のグローバルな低減/軽減対策を選択することができる。追加的にまたは代替的に、命令コンポーネント316は第2のユニット106において適用するための第2のグローバルな低減/軽減対策を選択することができる。追加的にまたは代替的に、命令コンポーネント316は後続のユニット(図示せず)において適用するための後続のグローバルな低減/軽減対策を選択することができる。いくつかの実装形態によると、命令コンポーネント316は、グローバルな低減/軽減対策がプロセッサ・コア102のすべてのユニットにわたってグローバルに適用されるべきであると決定することができる。
いくつかの実装形態において、第1のグローバルな低減/軽減対策、第2のグローバルな低減/軽減対策、および後続のグローバルな低減/軽減対策のうちの2つ以上は、同一のグローバルな低減/軽減対策であることができる。しかしながら、いくつかの実装形態によると、第1のグローバルな低減/軽減対策、第2のグローバルな低減/軽減対策、および後続のグローバルな低減/軽減対策は、異なるグローバルな低減/軽減対策であってもよい。
命令コンポーネント316によって与えられるグローバルな低減/軽減対策は、プロセッサ・コア102の異なるユニット(例えば、第1のユニット104、第2のユニット106、後続のユニット)においてローカルに適用されている1つまたは複数のローカルな低減/軽減対策をオーバライドすることができる。例えば、第1のローカルな低減/軽減対策は実装コンポーネント312によって適用されており、グローバルな低減/軽減対策は命令コンポーネント318から受信される。この状況において、実装コンポーネント312は第1のローカルな低減/軽減対策の適用を中止し、グローバルな低減/軽減対策を適用する。
具体的に示されていないが、第2のユニット106および後続のユニット(図示せず)は第1のユニット104のコンポーネントまたは機能性あるいはその両方のうちの1つまたは複数を含むことができることに留意されたい。例えば、第2のユニット106または後続のユニットあるいはその両方は、個々の送信機コンポーネント、個々の通信コンポーネント、および個々の実装コンポーネントを含むことができる。さらには、プロセッサの他のプロセッサ・コアはプロセッサ・コア102のコンポーネントまたは機能性あるいはその両方のうちの1つまたは複数を含むことができる。
図4は本明細書において説明される1つまたは複数の実施形態による、コアごとに複数の検出/軽減ループを使用してオンチップ電源ノイズ電圧の低減または軽減あるいはその両方を促進する、例示の、非限定的なシステム400を図示するブロック図である。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。
システム400は、システム100、システム300のコンポーネントまたは機能性あるいはその両方のうちの1つまたは複数を備えることができ、またその逆も可である。図示されるように、プロセッサ・コア102は、第1のユニット104、第2のユニット、およびN番目のユニット402として図示される2つ以上のユニットを含むことができ、ここでNは整数である。例えば、プロセッサ・コア102はいくつかの実装形態によると、3つ以上のユニットを備えることができる。
N番目のユニット402はN番目の電圧ノイズ・センサ404およびN番目の制御器406を備えることができる。上で議論したように、N番目のユニット402は、図3を参照して図示し、説明したような第1のユニット104のコンポーネントまたは機能性あるいはその両方のうちの1つまたは複数を含むことができる。
第1のユニット104は1つまたは複数のローカル制御ループ(例えば、ローカル制御ループ304)を備えることができる。第2のユニット106は、ローカル制御ループ408として図示される、1つまたは複数のローカル制御ループを備えることができる。さらには、N番目のユニット402は、ローカル制御ループ410として図示される、1つまたは複数のローカル制御ループを備えることができる。加えて、第1のユニット104はグローバル制御ループ306上でグローバル制御器116と通信することができる。さらには、第2のユニット106はグローバル制御ループ412上でグローバル制御器116と通信することができ、N番目のユニット402はグローバル制御ループ414上でグローバル制御器116と通信することができる。
本明細書において議論されるように、ドループ検出/軽減の複数の内部(高速)制御ループおよび外部(低速)ループを組み込むことにより、様々な態様は電源降下を低減/軽減することができ、またプロセッサ・コア(例えば、プロセッサ・コア102)におけるタイミング不良を防止/低減することができる。例えば、複数の内部(高速)制御ループは第1のユニット104のローカル制御ループ304、第2のユニット106のローカル制御ループ408、およびN番目のユニット402のローカル制御ループ410を含むことができる。上で示したように、(以下の図5を参照してさらに詳細に議論するように)ユニットは複数のローカル制御ループを含むことができる。外部(低速)ループはグローバル制御ループ306、グローバル制御ループ412、およびグローバル制御ループ414を含むことができる。
複数の内部(高速)制御ループおよび外部(低速)ループは独立したループであることができる。さらには、1つまたは複数のループ(ローカルおよびグローバル)のループはドループ事象の1つまたは複数のタイプを扱うよう構成され、異なる軽減対策を実施することができる。これらの独立したループの使用により、様々な態様はドループ検出のカバレッジから軽減対策からのパフォーマンス損失を切り離すことができる。これはより高速でより効率的なドループ検出を促進することができる。例えば、複数のループがあるため、異なるタイプの電圧ドループを特定することができ、異なる(また潜在的にはパフォーマンスのコストがより低い)対策を適用することができる。さらには、本明細書において議論するような独立したローカル・ループの使用は最小のパフォーマンスのオーバヘッドをもたらすことができる効率性を促進することができる。
図5は本明細書において説明される1つまたは複数の実施形態による、ドループの検出および軽減のために利用される、例示の、非限定的なシステム500を図示するブロック図である。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。
システム500は、システム100、システム300、システム400のコンポーネントまたは機能性あるいはその両方のうちの1つまたは複数を備えることができ、またその逆も可である。図示されるように、プロセッサ・コア102はグローバル・ノイズ・マネージャ・コンポーネント504(例えば、図1のグローバル制御器116)を備えることができる。さらには、プロセッサ・コア102は第1のユニット104(ユニット1)、第2のユニット106(ユニット2)、および第3のユニット502(ユニット3)などの1つまたは複数のユニットに分割することができる。
この例において、様々なノイズ・センサ/推定器デバイスがプロセッサ・コア102に含められ得る。電源電圧ドループ・センサは図5において白い小さな四角によって表されている。例えば、第1のユニット104は1つの電源電圧ドループ・センサ(例えば、第1の電圧ノイズ・センサ108)を備え、第2のユニット106は1つの電源電圧ドループ・センサ(例えば、第2の電圧ノイズ・センサ112)を備え、また第3のユニット502は1つの電源電圧ドループ・センサ(符号無し)を備える。
また、プロセッサ・コア102には他のノイズ・センサ/推定器が含まれてもよく、黒い小さな四角によって表されている。図示される例において、第1のユニット104は別のノイズ・センサ/推定器を含むことができ、第3のユニット502は別のノイズ・センサ/推定器を含み、プロセッサ・コア102(ユニットに関連付けられない)は別のノイズ・センサ/推定器を含む。
プロセッサ・コア102はやはりグローバル・ノイズ・マネージャ・コンポーネント504(例えば、グローバル制御器116)を備えることができる。さらには、第1のユニット104はローカル・ノイズ・マネージャ・コンポーネント506(例えば、第1のローカル制御器110)を備えることができ、第2のユニット106はローカル・ノイズ管理コンポーネント508(例えば、第2のローカル制御器114)を備えることができ、第3のユニット502はローカル・ノイズ管理ユニット510を備えることができる。
ノイズ・センサがノイズまたは電圧ドループを検出すると、個々の信号がローカル・ノイズ管理ユニットおよびグローバル・ノイズ・マネージャ・コンポーネント504に送信され得る。例えば、第2のユニット106は電源ドループ・センサを備える。電圧ドループを検出すると、または検出した後、電源ドループ・センサから外向きの線によって表されるように、電源ドループ・センサは第1の信号をローカル・ノイズ管理コンポーネント508(例えば、ローカル制御ループを介して)へ、またグローバル・ノイズ・マネージャ・コンポーネント504(例えば、グローバル制御ループを介して)へ送信することができる。ローカル・ノイズ管理コンポーネント508は信号512を、命令スロットリングを開始するために送信することができる。加えて、グローバル・ノイズ・マネージャ・コンポーネント504は別の信号514を、命令スロットリングを開始するために送信することができる。ローカル・ノイズ管理コンポーネント508からの信号は、本明細書において議論されるようなグローバル制御ループと比較してローカル制御ループのタイミングに起因して、グローバル・ノイズ・マネージャ・コンポーネント504からの信号よりも早期に与えられ得る。
さらには、第3のユニット502における電源ドループ・センサ516によって示されるように、電源ドループ・センサ516からの信号伝達518はグローバル・ノイズ・マネージャ・コンポーネント504へのものであることができ、ローカル・ノイズ管理ユニット510へのものではない。例えば、信号を電源ドループ・センサ516からローカル・ノイズ管理ユニット510の代わりに直接グローバル・ノイズ・マネージャ・コンポーネント504へ送信することによって速度効率を得ることができると判断することができる(予め定義することができる)。
本明細書において議論されるように、コア・レベルにおける1つの低速ループ(例えば、グローバル制御ループ)に加え、粒度レベルにおける追加的な高速ループ(例えば、ローカル制御ループ)がプロセッサ・コア102の異なる分画またはユニットにあってもよい。ローカル制御ループは異なる検出/感知の手順(例えば、勾配有り/無しのクリティカル・パス・モニタ(CPM)、電力プロキシ)ならびに対策ターゲットおよび強度を含むことができる。
例として、限定ではなく、3つのユニットに分割可能なプロセッサ・コアに、3つのローカル・ループがあってもよい。第1のローカル・ループは第1のユニットに関連付けられることができ、第2のローカル・ループは第2のユニットに関連付けられることができ、また第3のローカル・ループは第3のユニットに関連付けられることができる。やはりプロセッサ・コア全体のための、グローバル・ループがあってもよい。
第1のローカル・ループ上の信号(または命令)は分岐予測を25%までスロットルし、勾配有りのCPMを使用して検出するためのものであることができる。第2のローカル・ループ上の信号(または命令)はディスパッチ・ユニットを25%までスロットルし、勾配有りのCPMを使用して検出するためのものであることができる。第3のローカル・ループ上の信号(または命令)は発行を25%までスロットルし、勾配有りのCPMを使用して検出するためのものであることができる。さらには、ローカル・ループは信号(命令)を他のローカル・ループおよびグローバル・ループへブロードキャストすることができる。さらにこの例について、ドループが定義されたサイクル数よりも長く、例えば、20サイクルなど(例えば、低周波ドループ)、持続する場合、グローバル・ループ上の命令はコア全体をスロットルするためのものであることができる。グローバル・ループはローカル・ループをオーバライドすることができる(グローバル・ループはセンサによって検出される電圧ドループに加え他の効果によって制御され得るため)。
いくつかの実装形態によると、あまり保守的ではない(よりアグレッシブな)検出によってフラグ付けされるだけのドループの場合、コア・アクティビティの1/6しかスロットルされない。電圧ドループが偽陽性であっても、あまり保守的ではない手法によって最小のパフォーマンス損失となり得る。
図6は本明細書において説明される1つまたは複数の実施形態による、ローカル検出ループを使用してオンチップ電源ノイズ電圧の低減または軽減あるいはその両方を促進する、例示の、非限定的なコンピュータ実装方法600のフロー図を図示している。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。
コンピュータ実装方法600の602において、プロセッサ・コアの第1のエリアにおいて電圧ドループが検出され得る(例えば、第1の電圧ノイズ・センサ108を介して)。例えば、プロセッサは2つ以上の異なるエリアまたはユニットに分割され得る。個々の電圧ノイズ・センサ・コンポーネントはその2つ以上のエリアに含められ得る。例えば、第1の電圧ノイズ・センサ・コンポーネントは第1のエリアに配置することができ、第2の電圧ノイズ・センサ・コンポーネントは第2のエリアに配置することができ、後続の電圧ノイズ・センサ・コンポーネントは後続のエリアに配置することができる。いくつかの実装形態によると、1つまたは複数のエリアは2つ以上の電圧ノイズ・センサ・コンポーネントを備えることができる。さらには、2つ以上のエリアのうちのエリアは異なる数の電圧ノイズ・センサ・コンポーネントを備えることができる。例えば、第1のエリアは1つの電圧ノイズ・センサ・コンポーネントを備えることができ、第2のエリアは3つの電圧ノイズ・センサ・コンポーネントを備えることができる。別の例において、第1のエリアは2つの電圧ノイズ・センサ・コンポーネントを備えることができ、第2のエリアは3つの電圧ノイズ・センサ・コンポーネントを備えることができ、また第3のエリアは2つの電圧ノイズ・センサ・コンポーネントを備えることができる。
コンピュータ実装方法600の604において、電圧ドループ情報は第1のエリアに配置されるローカル制御器と、プロセッサ・コアに配置されるグローバル制御器に(例えば、通信コンポーネント308を介して)送信され得る。例えば、電圧ドループ情報を搬送する第1の信号はローカル制御ループ(または内部制御ループ)上でローカル制御器に送信され得る。さらにこの例については、電圧ドループ情報を搬送する第2の信号はグローバル制御ループ(または外部制御ループ)上でグローバル制御器に送信され得る。ローカル制御器は、その信号を送信した電圧ノイズ・センサ・コンポーネントとしてプロセッサ制御の同一のエリア内に配置され得、グローバル制御器はプロセッサ・コアの別のエリアに配置され得る。したがって、ローカル制御ループはグローバル制御ループの第2の反応時間よりも速い第1の反応時間を有することができる。
さらには、コンピュータ実装方法600の606において、ローカル制御器から受信される(例えば、実装コンポーネント312を介して)ローカル命令に応答して、第1の軽減対策をプロセッサ・コアの第1のエリアに適用することができる。ローカル制御器からの命令はまた他のローカル制御器およびグローバル制御器に与えられてもよい。例えば、ローカル制御ループはグローバル制御ループよりも速く情報を送信することができるため、ローカル制御器は情報を処理し、低減/軽減命令を、グローバル制御器が情報を処理できるよりも素早く提供することができる。したがって、ローカル制御器から受信された命令はプロセッサ・コアのローカル・エリア内に適用することができ、プロセッサの処理効率を向上させることができる。いくつかの実装形態において、ローカル制御器からの命令はノイズ電圧問題を解決することができる。この状況において、別のノイズ電圧が検出されるまでさらなるアクションが取られないことが可能であるか、または別の低減/軽減アクションがプロセッサ・コアの他のエリアで検出された1つまたは複数の他のノイズ電圧によって必要とされるか、あるいはその両方である。
図7は本明細書において説明される1つまたは複数の実施形態による、ローカル命令が電圧ドループを解決しなかったという指標に基づいてグローバル命令を実装する、例示の、非限定的なコンピュータ実装方法700のフロー図を図示している。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。
コンピュータ実装方法700の702において、プロセッサ・コアの第1のエリアにおいて電圧ドループが検出され得る(例えば、第1の電圧ノイズ・センサ108を介して)。いくつかの実装形態によると、電圧ドループを検出することは、電源ノイズ値および定義された電圧値における勾配のうちの少なくとも1つをデジタル的に測定することを含むことができる。電源ノイズ値および勾配はプロセッサ・コアの第1のエリアに関連付けられ得る。
コンピュータ実装方法700の704において、電圧ドループ情報は第1のエリアに配置されるローカル制御器と、プロセッサ・コアに配置されるグローバル制御器に(例えば、通信コンポーネント308を介して)送信され得る。一例において、電圧ドループ情報をローカル制御器に送信することは、電圧ドループの検出および軽減に関連付けられるパフォーマンスのオーバヘッドを減少させることができる(例えば、ローカル制御ループを利用して、グローバル制御ループを使用して情報が処理され得るよりも速く情報を処理することができる)。
さらには、コンピュータ実装方法700の706において、ローカル制御器から受信されるローカル命令に応答して、第1の軽減対策をプロセッサ・コアの第1のエリアに適用することができ、ここでローカル命令は第1の軽減対策の指標を含む(例えば、実装コンポーネント312を介して)。
コンピュータ実装方法700の708において、軽減対策が第1のエリアにおいて電圧ドループを解決したかどうかの判断がなされ得る(例えば、第1の電圧ノイズ・センサ108を介して)。電圧ドループが解決されていれば(「はい」)、コンピュータ実装を停止することができ、または702に戻り別の電圧ドループの検出を待機することができる。代替的に、判断が軽減対策は第1のエリアにおける電圧ドループを解決していない(「いいえ」)ということであれば、コンピュータ実装方法700の710において、グローバル制御器から受信されたグローバル命令に応答して第2の軽減対策がプロセッサ・コア内で適用され得る。
いくつかの実装形態によると、第2の軽減対策が第1のユニットまたはプロセッサ・コア内の別のユニットにおいて適用され得る。例えば、第2の軽減対策を適用することは、プロセッサ・コアの第1のエリアにおいて第2の軽減対策を適用することを含むことができる。さらにこの実装形態について、第3の軽減対策がプロセッサ・コアの第2のエリアにおいて適用され得る。第2の軽減対策および第3の軽減対策はグローバル制御器から受信される個々の命令に基づくことができる。一実装形態において、ローカル制御器から受信されるローカル命令はグローバル制御器から受信された個々の命令によってオーバライドされ得る。
図8は本明細書において説明される1つまたは複数の実施形態による、オンチップ電源ノイズ電圧を低減/軽減するために複数の軽減対策を実装する、例示の、非限定的なコンピュータ実装方法800のフロー図を図示している。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。
コンピュータ実装方法800の802において、プロセッサ・コアの第1のセグメントにおいて第1の電圧ドループが検出される(例えば、第1の電圧ノイズ・センサ108を介して)。コンピュータ実装方法800の804において、第1の電圧ドループの第1の指標はローカル・ノイズ管理ユニットおよび共通のノイズ管理ユニット(例えば、通信コンポーネント308を介して)に送信され得る。ローカル・ノイズ管理ユニットはプロセッサ・コアの第1のセグメントに関連付けられることができる。さらには、コンピュータ実装方法800の806において命令の第1のシーケンスは第1の電圧ドループの第1の指標に基づいて実行され得る(例えば、実装コンポーネント312を介して)。命令の第1のシーケンスはローカル・ノイズ管理ユニットから受信することができ、第1の電圧ドループに関連付けられる軽減対策に関することができる。
コンピュータ実装方法800の808において、第1の電圧ドループまたは第2の電圧ドループは、第1のセグメントにおいて命令の第1のシーケンスの適用の後、第1のセグメントにおいて検出され得る(例えば、第1の電圧ノイズ・センサ108を介して)。コンピュータ実装方法800の810において、第1の電圧ドループまたは第2の電圧ドループの第2の指標はローカル・ノイズ管理ユニットおよび共通のノイズ管理ユニット(例えば、通信コンポーネント308を介して)に送信され得る。さらには、コンピュータ実装方法800の812において命令の第2のシーケンスは第1の電圧ドループまたは第2の電圧ドループの第2の指標に基づいて第1のセグメントにおいて実行され得る(例えば、実装コンポーネント312を介して)。命令の第2のシーケンスは共通のノイズ管理ユニットから受信され得る。
いくつかの実装形態によると、命令の第2のシーケンスは第1のセグメントにおける命令の第1のシーケンスをオーバライドすることができる。
図9は本明細書において説明される1つまたは複数の実施形態による、オンチップ電源ノイズを低減/軽減する、例示の、非限定的なコンピュータ実装方法900のフロー図を図示している。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。
コンピュータ実装方法900の902において、複数の電圧ノイズ・センサがプロセッサ内に提供され得る(例えば、第1の電圧ノイズ・センサ108、第2の電圧ノイズ・センサ112、またはN番目の電圧ノイズ・センサ404を介して)。複数の電圧ノイズ・センサの電圧ノイズ・センサは、電源ノイズ値または勾配(既知の、または概算の電圧値)あるいはその両方をデジタル的に測定することができる。
さらには、コンピュータ実装方法900の904において、電圧ノイズ管理アーキテクチャが提供され得る。電圧ノイズ管理アーキテクチャはグローバル(例えば、低速反応)制御ループおよびローカル(例えば、高速反応)制御ループを備えることができる。
コンピュータ実装方法900の906において、複数のローカル制御ループのうちのあるローカル制御ループ(例えば、ローカル制御ループ304、ローカル制御ループ408、またはローカル制御ループ410を介して)の利用によって、高速反応を有する小さなブロックにノイズ軽減手順を実装することができる。「高速反応」は、グローバル制御ループによって与えられる別の反応に対する相対的なものである。
追加的に、コンピュータ実装方法の908において、グローバル制御ループ(例えば、グローバル制御ループ306、グローバル制御ループ412、およびグローバル制御ループ414)の利用によって、低速反応を有する大きいブロックへのノイズ軽減手順が実装され得る。グローバル・ループはローカル・ループによって利用される数より多数の電源ノイズ・センサを利用することができる。さらには、グローバル・ループの反応時間は、ローカル・ループの反応時間と比較して低速であることができる。
説明を簡素化するため、コンピュータ実装の方法は、一連の作用として描写され、説明される。本革新は図示される作用または作用の順序あるいはその両方によって限定されず、例えば、作用は様々な順序でまたは同時にあるいはその両方で、ならびに本明細書において提示および説明されていない他の作用とともに、発生することができることを理解および了解されたい。さらには、すべての図示される作用が、開示される主題にしたがってコンピュータ実装の方法を実装するために必要とされなくてもよい。加えて、当業者であれば理解および了解することであるが、コンピュータ実装の方法は代替的に、状態図または事象を介して一連の相互に関連付けられる状態として表現することができる。追加的に、本明細書の以降および全体にわたって開示されるコンピュータ実装の方法は、そのようなコンピュータ実装の方法を、コンピュータに輸送および伝達することを容易にするために製造物品に記憶できることをさらに了解すべきである。本明細書において使用する場合、製造物品という用語は、あらゆるコンピュータ可読デバイスまたは記憶媒体からアクセス可能なコンピュータ・プログラムを包含することが意図されている。
開示される主題の様々な態様についてのコンテキストを与えるために、図10ならびに以下の議論は、開示される主題の様々な態様が実装され得る適切な環境の一般的な説明を与えるよう意図されている。図10は本明細書において説明される1つまたは複数の実施形態が促進され得る、例示の、非限定的な動作環境のブロック図である。本明細書において説明される他の実施形態において採用される類似の要素の繰り返しの説明は簡略化のために省略する。図10を参照すると、本開示の様様々な態様を実装するための適切な動作環境1000はまたコンピュータ1012を含むことができる。コンピュータ1012はまた処理ユニット1014、システム・メモリ1016、およびシステム・バス1018を含むことができる。システム・バス1018は、システム・メモリ1016を含むがそれに限定されないシステム・コンポーネントを処理ユニット1014に結合する。処理ユニット1014は様々な利用可能なプロセッサのうちの任意のものであることができる。デュアル・マイクロプロセッサおよび他のマルチプロセッサ・アーキテクチャが、やはり処理ユニット1014として採用され得る。システム・バス1018は、メモリ・バスもしくはメモリ・コントローラ、周辺バスもしくは外部バスを含むいくつかのタイプのバス構造、またはインダストリアル・スタンダード・アーキテクチャ(ISA)、マイクロチャネル・アーキテクチャ(MSA)、拡張ISA(EISA)、Intelligent Drive Electronics(IDE)、VESAローカル・バス(VLB)、Peripheral Component Interconnect(PCI)、カード・バス、ユニバーサル・シリアル・バス(USB)、Advanced Graphics Port(AGP)、ファイヤワイヤ(IEEE 1394)、およびSmall Computer Systems Interface(SCSI)を含むがそれに限定されないあらゆる多様な利用可能なバス・アーキテクチャを使用するローカル・バス、あるいはその組合せのうちの任意のものであることができる。システム・メモリ1016はまた揮発性メモリ1020および不揮発性メモリ1022を含むことができる。スタートアップの間など、コンピュータ1012内の要素間で情報を伝達するための基本的なルーチンを含んでいるBasic Input/Output System(BIOS)は、不揮発性メモリ1022に記憶される。例示として、限定ではなく、不揮発性メモリ1022は読み取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュ・メモリ、または不揮発性ランダム・アクセス・メモリ(RAM)(例えば、強誘電RAM(FeRAM))を含むことができる。揮発性メモリ1020はまた外部キャッシュ・メモリとして作用するランダム・アクセス・メモリ(RAM)を含むことができる。例示として、限定ではなく、RAMは静的RAM(SRAM)、動的RAM(DRAM)、シンクロナスDRAM(SDRAM)、ダブル・データ・レートSDRAM(DDR SDRAM)、エンハンストSDRAM(ESDRAM)、シンクリンクDRAM(SLDRAM)、ダイレクト・ラムバスRAM(DRRAM),ダイレクト・ラムバス・ダイナミックRAM(DRDRAM)、およびラムバス・ダイナミックRAMなどの多くの形態で利用可能である。
コンピュータ1012はまたリムーバブル/非リムーバブルの、揮発性/不揮発性のコンピュータ記憶媒体を含むことができる。例えば、図10はディスク記憶装置1024を図示している。ディスク記憶装置1024は、磁気ディスク・ドライブ、フロッピー(R)・ディスク・ドライブ、テープ・ドライブ、Jazドライブ、Zipドライブ、LS−100ドライブ、フラッシュ・メモリ・カード、またはメモリ・スティックのようなデバイスを含むことができるがそれに限定されない。ディスク記憶装置1024はまた記憶媒体を別個に、またはコンパクト・ディスクROMデバイス(CD−ROM)、CD書き込み可能ドライブ(CD−Rドライブ)、CD書き換え可能ドライブ(CD−RWドライブ)もしくはデジタル多用途ディスクROMドライブ(DVD−ROM)などの光学ディスク・ドライブを含むがそれに限定されない他の記憶媒体と組み合わせて含むことができる。システム・バス1018へのディスク記憶装置1024の接続を容易にするために、典型的にはインターフェース1026などのリムーバブルまたは非リムーバブルのインターフェースが使用される。図10はまたユーザと適切な動作環境1000内で説明される基本的なコンピュータ・リソースとの間で中間的なものとして作用するソフトウェアを描写している。そのようなソフトウェアはまた、例えばオペレーティング・システム1028を含むことができる。オペレーティング・システム1028は、ディスク記憶装置1024に記憶することができ、コンピュータ1012のリソースを制御して割り当てるよう作用する。システム・アプリケーション1030は、システム・メモリ1016またはディスク記憶装置1024にいずれかに記憶されるプログラム・モジュール1032およびプログラム・データ1034を通じてオペレーティング・システム1028によるリソースの管理を活用する。本開示は様々なオペレーティング・システムまたはオペレーティング・システムの組合せにより実装することができることを了解されたい。ユーザはコマンドまたは情報を、入力デバイス1036を通じてコンピュータ1012に入力する。入力デバイス1036は、マウスなどのポインティング・デバイス、トラックボール、スタイラス、タッチ・パッド、キーボード、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星放送受信アンテナ、スキャナ、TVチューナ・カード、デジタル・カメラ、デジタル・ビデオ・カメラ、ウェブ・カメラなどを含むがそれに限定しない。これらのおよび他の入力デバイスはインターフェース・ポート1038を介してシステム・バス1018を通じて処理ユニット1014に接続する。インターフェース・ポート1038は例えばシリアル・ポート、パラレル・ポート、ゲーム・ポート、およびユニバーサル・シリアル・バス(USB)を含む。出力デバイス1040は入力デバイス1036として同一のタイプのポートのうちいくつかを使用する。したがって、例えばUSBポートはコンピュータ1012に入力を与えるため、およびコンピュータ1012から出力デバイス1040に情報を出力するために使用することができる。出力アダプタ1042は、他の出力デバイス1040の中でもとりわけ特別なアダプタを必要とする、モニタ、スピーカ、およびプリンタなどのいくつかの出力デバイス1040があることを図示するために与えられる。出力アダプタ1042は、例示として、限定ではなく、出力デバイス1040とシステム・バス1018との間の接続の方法を提供するビデオおよびサウンド・カードを含む。他のデバイスまたはデバイスのシステムあるいはその両方は、リモート・コンピュータ1044などの入力機能および出力機能の両方を提供することに留意すべきである。
コンピュータ1012は、リモート・コンピュータ1044などの1つまたは複数のリモート・コンピュータへの論理接続を使用してネットワーク化された環境で動作することができる。リモート・コンピュータ1044はコンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロプロセッサ・ベースの電化製品、ピア・デバイス、もしくは他の共通のネットワーク・ノードなどであってもよく、また典型的にはコンピュータ1012に対して説明される要素の多くまたはすべてを含むことができる。簡略化のため、メモリ記憶デバイス1046のみをリモート・コンピュータ1044とともに図示する。リモート・コンピュータ1044はネットワーク・インターフェース1048を通じてコンピュータ1012に論理的に接続しており、通信接続1050を介して物理的に接続されている。ネットワーク・インターフェース1048は、ローカルエリア・ネットワーク(LAN)、ワイドエリア・ネットワーク(WAN)、セルラ・ネットワークなど有線または無線あるいはその両方の通信ネットワークを包含している。LAN技術は光ファイバ分散型データ・インタフェース(FDDI)、銅線分散型データ・インタフェース(CDDI)、イーサネット(R)、トークンリング、などを含む。WAN技術は、ポイントツーポイント・リンク、サービス総合デジタル網(ISDN)などの回線交換ネットワークおよびそれらの変形例、パケット交換ネットワーク、ならびにデジタル加入者線(DSL)を含むがそれに限定しない。通信接続1050とは、ネットワーク・インターフェース1048をシステム・バス1018に接続するために採用されるハードウェア/ソフトウェアを称する。通信接続1050は、明瞭に図示するためにコンピュータ1012の内部に示してあるが、コンピュータ1012の外部にあってもよい。ネットワーク・インターフェース1048への接続のためのハードウェア/ソフトウェアとしてはまた、例示的な目的のみであるが、一般電話機グレードモデム、ケーブル・モデム、およびDSLモデム、ISDNアダプタ、ならびにイーサネット(R)カードを含むモデムなどの内部および外部技術を含むことができる。
本発明は、統合のあらゆる可能な技術的詳細レベルにおいてシステム、方法、装置、またはコンピュータ・プログラム製品あるいはその組合せであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を含むことができる。コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶装置デバイス、磁気記憶装置デバイス、光学記憶装置デバイス、電磁気記憶装置デバイス、半導体記憶装置デバイスまたは前述のあらゆる適切な組合せであってもよいが、それに限定はしない。コンピュータ可読記憶媒体のより具体的な例の非網羅的な列挙としてはまた、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、記録された命令を有するパンチカードまたは溝に刻まれた構造などの機械的にエンコードされたデバイス、および前述のあらゆる適切な組合せ、を含む。本明細書において使用される場合、コンピュータ可読記憶媒体は、電波または他の自由に伝搬する電磁波、導波路もしくは他の送信媒体(例えば、光ファイバ・ケーブルを通過する光パルス)を介して伝搬する電磁波、または電線を介して送信される電気的信号など、一過性の信号そのものであると解釈されてはならない。
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、個別の計算/処理デバイスに、あるいは、例えばインターネット、ローカル・エリア・ネットワーク、ワイドエリア・ネットワークもしくは無線ネットワークまたはその組合せなどのネットワークを介して、外部のコンピュータもしくは外部の記憶装置デバイスに、ダウンロードすることができる。ネットワークは、銅の送信ケーブル、光学送信ファイバ、無線送信、ルータ、ファイヤウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジサーバあるいはその組合せを備えることができる。それぞれの計算/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、個別の計算/処理デバイス内のコンピュータ可読記憶媒体に記憶装置するためにコンピュータ可読プログラム命令を転送する。本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいはスモールトーク(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語などの手続き型プログラミング言語もしくは類似するプログラミング言語、を含む1つまたは複数のプログラミング言語のあらゆる組合せで記述された、ソース・コードまたはオブジェクト・コードのいずれかであってもよい。コンピュータ可読プログラム命令は、すべてユーザのコンピュータ上で、一部はユーザのコンピュータ上でスタンドアロンのソフトウェア・パッケージとして、一部はユーザのコンピュータ上かつ一部はリモート・コンピュータ上で、またはすべてリモート・コンピュータ上もしくはサーバ上で、実行することができる。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイドエリア・ネットワーク(WAN)を含むあらゆるタイプのネットワークを介してユーザのコンピュータに接続することができ、または接続は外部のコンピュータに対して(例えば、インターネット・サービス・プロバイダを使用するインターネットを介して)なされてもよい。一部の実施形態において、例えば、プログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行して電子回路を個別化することができる。
本発明の態様は本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら本明細書において説明される。フローチャート図またはブロック図あるいはその両方のそれぞれのブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装され得ることが理解されよう。これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図のブロックあるいはその両方に指定される機能/作用を実装する方法を作成すべく、汎用目的コンピュータ、特殊目的コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を作るものであってよい。これらのコンピュータ可読プログラム命令はまた、命令を記憶して有するコンピュータ可読記憶媒体が、フローチャートまたはブロック図のブロックあるいはその両方に指定される機能/作用の態様を実装するための命令を含む製造物品を備えるべく、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに特定のやり方で機能するように指示することができるコンピュータ可読記憶媒体に記憶されてもよい。コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイスで実行する命令が、フローチャートまたはブロック図のブロックあるいはその両方に指定される機能/作用を実装するべく、コンピュータ実装処理を作るために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作上の作用を実施させるものであってもよい。
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態にしたがって、システム、方法、およびコンピュータ・プログラム製品の可能な実施形態の、アーキテクチャ、機能性、および動作を図示している。この点において、フローチャートまたはブロック図のそれぞれのブロックは、指定される論理機能を実装するための1つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表現することができる。一部の代替的な実施形態において、ブロックにおいて示した機能は図面で示した順とは異なって発生してもよい。例えば、連続して示される2つのブロックは、実際には実質的に同時に実行されてもよく、またはブロックは関与する機能性によっては、時に逆の順で実行されてもよい。ブロック図またはフローチャート図あるいはその両方のそれぞれのブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定される機能もしくは作用を実施する、または特殊目的ハードウェアおよびコンピュータ命令の組合せを実行する、特殊目的ハードウェア・ベースのシステムによって実装され得ることにも留意されたい。
コンピュータで実行するコンピュータ・プログラム製品のコンピュータ実行可能命令の一般的なコンテキストにおいて、主題を上で説明してきたが、当業者であれば本開示はまた他のプログラム・モジュールと組み合わせて実装され得ることを理解されよう。一般的に、プログラム・モジュールは、特定のタスクを実施するか、または特定の抽象的なデータタイプを実装するか、あるいはその両方のルーチン、プログラム、コンポーネント、データ構造などを含む。さらには、当業者であれば、本発明のコンピュータ実装方法は、シングルプロセッサまたはマルチプロセッサ・コンピュータ・システム、ミニコンピューティング・デバイス、メインフレーム・コンピュータ、ハンドヘルド・コンピューティング・デバイス(例えば、PDA、電話機)、マイクロプロセッサ・ベースのまたはプログラマブルの家庭用または業務用電子機器など、を含む他のコンピュータ・システム構成で実践できることを了解されよう。図示した態様はまた、タスクが通信ネットワークを通じてリンクされたリモート処理デバイスによって実施される分散コンピューティング環境において実践することができる。しかしながら、本開示の、すべてでないにしても一部の態様は、スタンドアロンのコンピュータで実践することができる。分散コンピューティング環境において、プログラム・モジュールはローカルおよびリモートの両方のメモリ記憶デバイスに配置することができる。
本出願で使用される場合、用語「コンポーネント」、「システム」、「プラットフォーム」、「インターフェース」などは、コンピュータ関連の実体または1つもしくは複数の特別な機能性を有して動作可能な機械に関連する実体を称することができるか、または含むことができるか、あるいはその両方である。本明細書において開示される実体は、ハードウェア、ハードウェアとソフトウェアとの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかであることができる。例えば、コンポーネントは、プロセッサで実行中のプロセス、プロセッサ、オブジェクト、実行可能なもの、実行のスレッド、プログラムまたはコンピュータあるいはその組合せであることができるが、それに限定しない。例示として、サーバ上で実行中のアプリケーションおよびサーバの両方はコンポーネントであることができる。1つまたは複数のコンポーネントはプロセスまたは実行のスレッドあるいはその両方の中に存在することができ、また、コンポーネントは1つのコンピュータに集中してもよく、または2つ以上のコンピュータ間で分散されてもよく、あるいはその両方であってもよい。別の例示おいて、個々のコンポーネントは様々なデータ構造を記憶して有する様々なコンピュータ可読媒体から実行することができる。コンポーネントは、1つまたは複数のデータパケット(例えば、ローカル・システム内で、分散システム内で、または信号を介する他のシステムとのインターネットなどのネットワークを横断して、あるいはその組合せで、別のコンポーネントと相互作用する1つのコンポーネントからのデータ)を有する信号にしたがうなど、ローカルまたはリモートのプロセスあるいはその両方のプロセスを介して通信することができる。別の例として、コンポーネントは、電気的または電子的な回路によって動作させられる機械的な部品によって与えられる特別な機能性を有する装置であることができ、プロセッサによって実行されるソフトウェアまたはファームウェア・アプリケーションによって動作させられる。そのような場合、プロセッサは装置に対して内部または外部にあることができ、ソフトウェアまたはファームウェア・アプリケーションの少なくとも一部を実行することができる。さらに別の例として、コンポーネントは機械的な部品無しに電子機器部品を通じて特別な機能性を提供する装置であることができ、この場合電子機器部品は電子機器部品の機能性を少なくとも一部付与するソフトウェアまたはファームウェアを実行するためのプロセッサまたは他の方法を含むことができる。一態様において、コンポーネントは例えば、クラウド・コンピューティング・システム内で仮想機械を介して電子機器部品をエミューレートすることができる。
加えて、用語「または(or)」は、排他的「or」よりはむしろ包括的「or」を意味することを意図されている。すなわち、特に明記しない限り、またはコンテキストから離れない限り、「XはAまたはBを採用する」とは、自然包括的並べ替えのうちの任意のものを意味することを意図されている。すなわち、XがAを採用する場合、XがBを採用する場合、またはXがAおよびBを採用する場合、「XがAまたはBを採用する」が前述の事例の任意のものの下で満足される。さらには、本明細書および添付される図面内で使用される場合、冠詞「1つの(a)」および「1つの(an)」は、単数形を対象とすると特に明記しない限り、またはコンテキストから離れない限り、一般的に「1つまたは複数の」を意味するものと解釈されるべきである。本明細書において使用される場合、用語「例(example)」または「例示の(exemplary)」あるいはその両方は、例、事例、または図示として機能することを意味するよう利用される。疑念の回避のため、本明細書において開示される主題はそのような例によって限定されない。加えて、本明細書において「例」または「例示の」あるいはその両方として説明されるあらゆる態様または設計は、必ずしも他の態様もしくは設計より好ましい、または有利であるとして解釈される必要はなく、また当業者に既知の等価な例示の構造および技法を排除するつもりでもない。
本明細書で採用されるように、用語「プロセッサ」は実質的に、シングルコア・プロセッサ、ソフトウェア・マルチスレッド実行機能を有するシングルプロセッサ、マルチコア・プロセッサ、ソフトウェア・マルチスレッド実行機能を有するマルチコア・プロセッサ、ハードウェア・マルチスレッド技術を有するマルチコア・プロセッサ、並列プラットフォーム、および分散共有メモリを有する並列プラットフォーム、を備えるあらゆるコンピューティング処理ユニットまたはデバイスを称することができるが、限定はしない。追加的に、プロセッサとは、集積回路、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、プログラマブル・ロジック・コントローラ(PLC)、複合プログラマブル・ロジック・デバイス(CPLD:Complex Programmable Logic Device)、個別ゲートもしくはトランジスタ・ロジック、個別ハードウェア・コンポーネント、または本明細書において説明される機能を実施するために設計されるそれらのあらゆる組合せを称することができる。さらには、プロセッサは空間使用を最適化するためまたはユーザ機器のパフォーマンスを向上させるために、分子および量子ドット・ベースのトランジスタ、スイッチ、ならびにゲートなどのナノスケールのアーキテクチャを活用することができるが、限定はしない。プロセッサはまたコンピューティング処理ユニットの組合せとして実装され得る。本開示において、「記憶」、「記憶装置」、「データ記憶装置」、「データベース」ならびにコンポーネントの動作および機能性に関連する実質的にあらゆる他の情報記憶コンポーネントなどの用語は、「メモリ」内に具体化される実体「メモリ・コンポーネント」またはメモリを含むコンポーネントを称するために利用される。本明細書において説明されるメモリまたはメモリ・コンポーネントあるいはその両方は揮発性メモリまたは不揮発性メモリのいずれかであることができるか、または揮発性メモリおよび不揮発性メモリの両方を含むことができることを了解されたい。例示として、限定ではなく、不揮発性メモリは読み取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能ROM(EEPROM)、フラッシュ・メモリ、または不揮発性ランダム・アクセス・メモリ(RAM)(例えば、強誘電RAM(FeRAM))を含むことができる。揮発性メモリは例えば外部キャッシュ・メモリとして作用できるRAMを含むことができる。例示として、限定ではなく、RAMはシンクロナスRAM(SRAM)、動的RAM(DRAM)、シンクロナスDRAM(SDRAM)、ダブル・データ・レートSDRAM(DDR SDRAM)、エンハンストSDRAM(ESDRAM)、シンクリンクDRAM(SLDRAM)、ダイレクト・ラムバスRAM(DRRAM)、ダイレクト・ラムバス・ダイナミックRAM(DRDRAM)、およびラムバス・ダイナミックRAM(RDRAM)などの多くの形態で利用可能である。追加的に、本明細書におけるシステムまたはコンピュータ実装方法の開示されるメモリ・コンポーネントは、これらのおよびあらゆる他の適切なタイプのメモリを含むことを意図されているが、それらを含むように限定することは意図されていない。
上で説明してきたことが含むものは、システムおよびコンピュータ実装方法の単なる例である。もちろん、本開示を説明することを目的として、コンポーネントまたはコンピュータ実装方法のすべての考えられる組合せ説明することは不可能だが、当業者であれば本開示の多くのさらなる組合せおよび並べ替えが可能であることを理解されよう。さらには、発明を実施するための形態、特許請求の範囲、付録および図面において用語「含む(includes)」、「有する(has)」、「所有する(possesses)」などが使用される範囲では、そのような用語は、請求項の移行句として採用される場合に「を備える(comprising)」が解釈される際の用語「を備える(comprising)」と類似するやり方で、包括的であることを意図されている。例示を目的として様々な実施形態の説明を提示してきたが、網羅的であること、または開示された実施形態に限定することは意図されていない。説明された実施形態の範囲から逸脱することなく、多くの修正形態および変形形態が当業者にとって明らかとなろう。本明細書において使用される用語法は実施形態、実践的な用途もしくは市場で見られる技術に対する技術的な改善の原理を最良に説明するため、または当業者の他の者が本明細書において開示される実施形態を理解することを可能にするために選ばれたものである。

Claims (18)

  1. オンチップ電源ノイズの低減を促進するためのデバイスであって、
    プロセッサ・コアの第1のユニットに配置される第1の電圧ノイズ・センサであって、前記第1の電圧ノイズ・センサは前記第1のユニットにおいて第1の電圧ドループを検出し、前記プロセッサ・コアは前記第1のユニットと第2のユニットとに分割される、前記第1の電圧ノイズ・センサと、
    前記プロセッサ・コアに配置され、前記第1の電圧ノイズ・センサから前記第1の電圧ドループの指標を受信する、グローバル・ノイズ・マネージャ・コンポーネントと、
    前記第1のユニットに配置される第1のローカル・ノイズ・マネージャ・コンポーネントであって、
    前記第1の電圧ノイズ・センサから前記第1の電圧ドループの前記指標を受信することと、
    前記第1のユニットにおいて第1のノイズ軽減手順を実装することと
    について動作可能な前記第1のローカル・ノイズ・マネージャ・コンポーネントと
    を備える、デバイス。
  2. 前記第1の電圧ノイズ・センサは、電源ノイズ値または決定された電圧値における勾配のうちの少なくとも1つをデジタル的に測定するよう動作可能である、請求項1に記載のデバイス。
  3. 前記第1のローカル・ノイズ・マネージャ・コンポーネントは、前記第1のユニット内で第1のローカル制御ループ上で前記第1のノイズ軽減手順を実装するようにさらに動作可能であり、前記第1のローカル・ノイズ・マネージャ・コンポーネントは、前記第1のローカル制御ループに関連する情報を前記グローバル・ノイズ・マネージャ・コンポーネントおよび前記プロセッサ・コアの前記第2のユニットに配置される少なくとも第2のローカル・ノイズ・マネージャ・コンポーネントにブロードキャストするようにさらに動作可能である、請求項1または2に記載のデバイス。
  4. 前記グローバル・ノイズ・マネージャ・コンポーネントは、前記プロセッサ・コア内でグローバル制御ループ上でグローバル・ノイズ軽減手順を実装するようにさらに動作可能であり、前記第1のローカル制御ループおよび前記グローバル制御ループは独立したループである、請求項3に記載のデバイス。
  5. 前記第1のローカル制御ループは、前記グローバル制御ループの第2の反応時間より速い第1の反応時間を有する、請求項4に記載のデバイス。
  6. 前記グローバル・ノイズ・マネージャ・コンポーネントは、前記第1の電圧ドループが定義されたサイクル数より多く続いているという判断に基づいてグローバル・ノイズ軽減手順を実装するようにさらに動作可能であり、前記グローバル・ノイズ軽減手順は前記プロセッサ・コアの前記第1のユニットおよび前記第2のユニットに適用される、請求項1ないし5のいずれか一項に記載のデバイス。
  7. 前記グローバル・ノイズ軽減手順は前記第1のノイズ軽減手順をオーバライドするようにさらに動作可能である、請求項6に記載のデバイス。
  8. 前記プロセッサ・コアの前記第2のユニットに配置され、前記第2のユニットにおいて第2の電圧ドループを検出するよう動作可能な、第2の電圧ノイズ・センサと、
    前記第2のユニットに配置される第2のローカル・ノイズ・マネージャ・コンポーネントであって、
    前記第2の電圧ノイズ・センサから前記第2の電圧ドループの第2の指標を受信することと、
    前記第2のユニットにおいて第2のノイズ軽減手順を実装することと
    について動作可能な前記第2のローカル・ノイズ・マネージャ・コンポーネントと
    をさらに備える、請求項1ないし7のいずれか一項に記載のデバイス。
  9. 前記第2のローカル・ノイズ・マネージャ・コンポーネントは、前記第2のユニット内で第2のローカル制御ループ上で前記第2のノイズ軽減手順を実装するようにさらに動作可能であり、前記第2のローカル・ノイズ・マネージャ・コンポーネントは、前記第2のローカル制御ループに関連する情報を前記グローバル・ノイズ・マネージャ・コンポーネントおよび前記第1のローカル・ノイズ・マネージャ・コンポーネントにブロードキャストするようにさらに動作可能である、請求項8に記載のデバイス。
  10. 前記第1のユニットに実装される前記第1のノイズ軽減手順は、前記プロセッサ・コアの処理効率を向上させる、請求項1ないし9のいずれか一項に記載のデバイス。
  11. オンチップ電源ノイズの低減を促進するためのコンピュータ実装方法であって、
    プロセッサ・コアによって前記プロセッサ・コアの第1のエリアにおいて電圧ドループを検出することと、
    前記プロセッサ・コアによって前記第1のエリアに配置されるローカル制御器および前記プロセッサ・コアに配置されるグローバル制御器に電圧ドループ情報を送信することと、
    前記プロセッサ・コアによって、前記ローカル制御器から受信されたローカル命令に応答して、前記プロセッサ・コアの前記第1のエリアにおいて第1の軽減対策を適用することであって、前記ローカル命令は前記第1の軽減対策の指標を含む、前記適用することと
    を含む、コンピュータ実装方法。
  12. 前記プロセッサ・コアによって、前記第1の軽減対策が前記第1のエリアにおいて前記電圧ドループを解決しなかったことを決定することと、
    前記プロセッサ・コアによって、前記グローバル制御器から受信されたグローバル命令に応答して前記プロセッサ・コア内で第2の軽減対策を適用することと
    をさらに含む、請求項11に記載のコンピュータ実装方法。
  13. 前記第2の軽減対策を適用することは、
    前記プロセッサ・コアによって、前記プロセッサ・コアの前記第1のエリアにおいて前記第2の軽減対策を適用することと、
    前記プロセッサ・コアによって、前記プロセッサ・コアの第2のエリアにおいて第3の軽減対策を適用することとを含み、
    前記第2の軽減対策および前記第3の軽減対策は前記グローバル制御器から受信された個々の命令に基づいている、請求項12に記載のコンピュータ実装方法。
  14. 前記プロセッサ・コアによって、前記ローカル制御器から受信された前記ローカル命令を前記グローバル制御器から受信された前記個々の命令でオーバライドすることをさらに含む、請求項13に記載のコンピュータ実装方法。
  15. 前記電圧ドループを前記検出することは、前記プロセッサ・コアによって、電源ノイズ値および決定された電圧値における勾配のうちの少なくとも1つをデジタル的に測定することを含み、前記電源ノイズ値および前記勾配は前記プロセッサ・コアの前記第1のエリアに関連付けられる、請求項11ないし14のいずれか一項に記載のコンピュータ実装方法。
  16. 前記ローカル制御器に電圧ドループ情報を前記送信することは、前記電圧ドループの検出および軽減に関連付けられるパフォーマンスのオーバヘッドを減少させる、請求項11ないし15のいずれか一項に記載のコンピュータ実装方法。
  17. オンチップ電源ノイズの低減を促進するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は
    処理回路によって可読であり、請求項11ないし16のいずれか一項に記載の方法を実施するための前記処理回路による実行のための命令を記憶するコンピュータ可読記憶媒体
    を備える、コンピュータ・プログラム製品。
  18. コンピュータ可読媒体に記憶され、デジタルコンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、前記プログラムがコンピュータで実行される時、請求項11ないし16のいずれか一項に記載の方法を実施するためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
JP2020503917A 2017-07-28 2018-07-27 プロセッサ・コアにおいてローカル検出ループを使用するオンチップ電源ノイズ電圧の低減または軽減 Active JP7279013B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/663,033 2017-07-28
US15/663,033 US10171081B1 (en) 2017-07-28 2017-07-28 On-chip supply noise voltage reduction or mitigation using local detection loops in a processor core
US15/842,482 US10333520B2 (en) 2017-07-28 2017-12-14 On-chip supply noise voltage reduction or mitigation using local detection loops in a processor core
US15/842,482 2017-12-14
PCT/IB2018/055630 WO2019021249A1 (en) 2017-07-28 2018-07-27 CHIP POWER NOISE VOLTAGE REDUCTION OR MITIGATION USING LOCAL DETECTION BUCKLES IN A PROCESSOR CORE

Publications (2)

Publication Number Publication Date
JP2020529072A true JP2020529072A (ja) 2020-10-01
JP7279013B2 JP7279013B2 (ja) 2023-05-22

Family

ID=64739873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020503917A Active JP7279013B2 (ja) 2017-07-28 2018-07-27 プロセッサ・コアにおいてローカル検出ループを使用するオンチップ電源ノイズ電圧の低減または軽減

Country Status (6)

Country Link
US (2) US10171081B1 (ja)
JP (1) JP7279013B2 (ja)
CN (1) CN110959257B (ja)
DE (1) DE112018003087B4 (ja)
GB (1) GB2579316B (ja)
WO (1) WO2019021249A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10642336B2 (en) * 2016-07-12 2020-05-05 Advanced Micro Devices, Inc. Clock adjustment for voltage droop
US11073884B2 (en) 2017-11-15 2021-07-27 International Business Machines Corporation On-chip supply noise voltage reduction or mitigation using local detection loops
US11029742B2 (en) 2019-04-01 2021-06-08 International Business Machines Corporation Mitigating voltage droop
US11150716B2 (en) 2020-02-05 2021-10-19 International Business Machines Corporation Dynamically optimizing margins of a processor
US11385698B1 (en) * 2020-12-30 2022-07-12 Innogrit Technologies Co., Ltd. Voltage drop management for VLSI and SoC
US20220300608A1 (en) * 2021-03-16 2022-09-22 Intel Corporation Apparatus and method to detect power supply security attack and risk mitigation
US11586265B2 (en) 2021-06-16 2023-02-21 International Business Machines Corporation Voltage droop management through microarchitectural stall events
US20230071427A1 (en) * 2021-09-08 2023-03-09 International Business Machines Corporation Providing deterministic frequency and voltage enhancements for a processor
US12061509B2 (en) * 2022-12-15 2024-08-13 International Business Machines Corporation Voltage droop and overshoot management using non-linear slope detection

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219910A (ja) * 1994-01-28 1995-08-18 Hitachi Ltd マルチプロセッサの早期異常検出方法及びマルチプロセッサシステム
JP2006119777A (ja) * 2004-10-20 2006-05-11 Renesas Technology Corp 半導体装置
JP2009217504A (ja) * 2008-03-10 2009-09-24 Hitachi Ltd 計算機システム、計算機制御方法及び計算機制御プログラム
US20120166854A1 (en) * 2011-11-30 2012-06-28 Efraim Rotem Controlling Current Transients In A Processor
JP2017058911A (ja) * 2015-09-16 2017-03-23 ルネサスエレクトロニクス株式会社 半導体装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5565816A (en) 1995-08-18 1996-10-15 International Business Machines Corporation Clock distribution network
JPH09116098A (ja) 1995-10-17 1997-05-02 Sony Corp クロック配給装置
US6842027B2 (en) * 2002-10-07 2005-01-11 Intel Corporation Method and apparatus for detection and quantification of on-die voltage noise in microcircuits
US7607028B2 (en) 2006-05-30 2009-10-20 International Business Machines Corporation Mitigate power supply noise response by throttling execution units based upon voltage sensing
US8269544B2 (en) 2010-10-01 2012-09-18 Oracle America, Inc. Power-supply noise suppression using a frequency-locked loop
US20120187991A1 (en) 2011-01-25 2012-07-26 Advanced Micro Devices, Inc. Clock stretcher for voltage droop mitigation
US8587357B2 (en) * 2011-08-25 2013-11-19 International Business Machines Corporation AC supply noise reduction in a 3D stack with voltage sensing and clock shifting
US9057761B2 (en) * 2011-12-30 2015-06-16 Arm Limited Sensing supply voltage swings within an integrated circuit
EP2847914B1 (en) * 2012-05-07 2019-08-21 Assia Spe, Llc Apparatus and method for impulse noise detection and mitigation
US9164563B2 (en) 2012-05-24 2015-10-20 International Business Machines Corporation Processor noise mitigation using differential critical path monitoring
US9276460B2 (en) 2012-05-25 2016-03-01 Flextronics Ap, Llc Power converter with noise immunity
US8604852B1 (en) 2012-09-11 2013-12-10 Oracle International Corporation Noise suppression using an asymmetric frequency-locked loop
US10698432B2 (en) 2013-03-13 2020-06-30 Intel Corporation Dual loop digital low drop regulator and current sharing control apparatus for distributable voltage regulators
CN104699531B (zh) * 2013-12-09 2019-12-13 超威半导体公司 3d芯片系统中的电压下降缓解
US9772375B2 (en) * 2014-08-01 2017-09-26 Oracle International Corporation High sensitivity digital voltage droop monitor for integrated circuits
GB2530782A (en) 2014-10-02 2016-04-06 Ibm Voltage droop reduction in a processor
US10248177B2 (en) 2015-05-22 2019-04-02 Advanced Micro Devices, Inc. Droop detection and regulation for processor tiles
US9798376B2 (en) 2015-08-03 2017-10-24 Qualcomm Incorporated Power distribution network (PDN) droop/overshoot mitigation
US10437311B2 (en) 2016-09-06 2019-10-08 International Business Machines Corporation Mitigation of on-chip supply voltage noise by monitoring slope of supply voltage based on time-based sensors
US10261561B2 (en) 2016-09-06 2019-04-16 International Business Machines Corporation Mitigation of on-chip supply voltage based on local and non-local (neighboring) cores' supply voltage information and decision

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219910A (ja) * 1994-01-28 1995-08-18 Hitachi Ltd マルチプロセッサの早期異常検出方法及びマルチプロセッサシステム
JP2006119777A (ja) * 2004-10-20 2006-05-11 Renesas Technology Corp 半導体装置
JP2009217504A (ja) * 2008-03-10 2009-09-24 Hitachi Ltd 計算機システム、計算機制御方法及び計算機制御プログラム
US20120166854A1 (en) * 2011-11-30 2012-06-28 Efraim Rotem Controlling Current Transients In A Processor
JP2017058911A (ja) * 2015-09-16 2017-03-23 ルネサスエレクトロニクス株式会社 半導体装置

Also Published As

Publication number Publication date
US10333520B2 (en) 2019-06-25
GB202002342D0 (en) 2020-04-08
CN110959257A (zh) 2020-04-03
CN110959257B (zh) 2023-11-28
GB2579316B (en) 2021-09-29
US20190036530A1 (en) 2019-01-31
GB2579316A (en) 2020-06-17
DE112018003087T5 (de) 2020-03-05
WO2019021249A1 (en) 2019-01-31
US10171081B1 (en) 2019-01-01
JP7279013B2 (ja) 2023-05-22
DE112018003087B4 (de) 2021-12-23

Similar Documents

Publication Publication Date Title
JP2020529072A (ja) プロセッサ・コアにおいてローカル検出ループを使用するオンチップ電源ノイズ電圧の低減または軽減
US20140007107A1 (en) Concurrent execution of a computer software application along multiple decision paths
US9373957B2 (en) Power balancing in power distribution networks
US11561595B2 (en) On-chip supply noise voltage reduction or mitigation using local detection loops
US8880764B2 (en) Pessimistic interrupt affinity for devices
US9372725B2 (en) Dynamically adjusting wait periods according to system performance
US9003094B2 (en) Optimistic interrupt affinity for devices
US10218585B2 (en) Container host discovery
CN103592997A (zh) 用于在时钟源的时钟网格的自动时钟门控的方法和系统
US20190079595A1 (en) Device Driver-Level Approach for Utilizing a Single Set of Interface Input Devices for Multiple Computing Devices
KR101955744B1 (ko) 로컬 서버를 통한 로컬 클라이언트 어플리케이션용 이벤트 서비스
US20170161093A1 (en) Performance optimization engine for processor parameter adjustment
US20170046115A1 (en) Systems and methods for remote and local host-accessible management controller tunneled audio capability
US20170097838A1 (en) Virtual appliance on a chip
US8689018B2 (en) Apparatus, method, and system for predictive power delivery noise reduction
CN116760899A (zh) 基于Kafka的并发消费方法、装置、设备和介质
US10102032B2 (en) Fast transitions for massively parallel computing applications
US20200076938A1 (en) Method and system for managing accessory application of accessory device by companion device
US9612843B1 (en) Heterogeneous core microarchitecture
US10013279B2 (en) Processing interrupt requests
US10908935B1 (en) Estimation of guest clock value based on branch instruction count and average time between branch instructions for use in deterministic replay of execution
CN114035885B (zh) 一种小程序页面渲染方法、装置及电子设备
US9792152B2 (en) Hypervisor managed scheduling of virtual machines
US8966296B2 (en) Transitioning a performance state of a processor
CN117542306A (zh) 控制电路、控制方法、相关设备及显示装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220118

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220210

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230418

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230510

R150 Certificate of patent or registration of utility model

Ref document number: 7279013

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150