(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-12
(54)【発明の名称】電圧ドループに応じてオーバークロック中にクロックストレッチングを可能にするためのシステム及び方法
(51)【国際特許分類】
G06F 1/04 20060101AFI20240705BHJP
G06F 1/30 20060101ALI20240705BHJP
G06F 15/78 20060101ALI20240705BHJP
【FI】
G06F1/04 571
G06F1/30 305
G06F15/78 517
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023579029
(86)(22)【出願日】2022-06-20
(85)【翻訳文提出日】2024-01-31
(86)【国際出願番号】 US2022034192
(87)【国際公開番号】W WO2023278193
(87)【国際公開日】2023-01-05
(32)【優先日】2021-06-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】アミタブ メーラ
(72)【発明者】
【氏名】ジェリー エー. アーレンス
(72)【発明者】
【氏名】アニル ハーワニ
(72)【発明者】
【氏名】リチャード マーティン ボーン
(72)【発明者】
【氏名】ダーク ジェイ. ロビンソン
(72)【発明者】
【氏名】ウィリアム アール. アルバーソン
(72)【発明者】
【氏名】ジョシュア テイラー ナイト
【テーマコード(参考)】
5B011
5B062
【Fターム(参考)】
5B011EA08
5B011GG03
5B011JA12
5B062AA03
5B062AA05
5B062HH02
(57)【要約】
方法及び装置は、処理ユニットのクロックレートを制御する。方法及び装置は、処理ユニットがオーバークロックを維持するように、決定された周波数調整に基づいて出力クロックレートを生成することによって、クロックレートを制御する。本方法は、処理ユニットにおいてオーバークロックを検出することに応じてアナログ電圧供給を受け取ることと、受け取ったアナログ電圧供給に基づいて電圧発生器からの出力電圧の測定値を動的に感知することと、動的に感知された出力電圧の測定値に基づいて、出力電圧における電圧ドループの特性を決定することと、電圧ドループの決定された特性に基づいて、処理ユニットのクロックレートに対する周波数調整を決定することと、処理ユニットがオーバークロックを維持するように、決定された周波数調整に基づいて出力クロックレートを生成することと、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
処理ユニットのクロックレートを制御する方法であって、
前記処理ユニットにおいてオーバークロックを検出することに応じてアナログ電圧供給を受け取ることと、
受け取ったアナログ電圧供給に基づいて、電圧発生器からの出力電圧の測定値を動的に感知することと、
動的に感知された出力電圧の測定値に基づいて、前記出力電圧における電圧ドループの特性を決定することと、
前記電圧ドループの決定された特性に基づいて、前記処理ユニットの前記クロックレートに対する周波数調整を決定することと、
前記処理ユニットが前記オーバークロックを維持するように、決定された周波数調整に基づいて出力クロックレートを生成することと、を含む、
方法。
【請求項2】
前記周波数調整は、前記電圧ドループの特性に基づいて前記電圧ドループを補償するように決定される、
請求項1の方法。
【請求項3】
前記電圧ドループの特性は、前記出力電圧の変化及び前記出力電圧の変化率を含む、
請求項1の方法。
【請求項4】
前記出力クロックレートは、前記出力電圧に基づいて更に調整される、
請求項1の方法。
【請求項5】
前記処理ユニットにおける前記オーバークロックは、初期システム起動時に検出されるように構成されている、
請求項1の方法。
【請求項6】
前記処理ユニットにおける前記オーバークロックは、前記処理ユニットと動作可能に結合されたシステムファームウェアからの調整要求に応じて検出されるように構成されている、
請求項1の方法。
【請求項7】
前記処理ユニットにおける前記オーバークロックは、ユーザ入力からの調整要求に応じて検出されるように構成されている、
請求項1の方法。
【請求項8】
前記処理ユニットにおける前記オーバークロックは、前記処理ユニットからのフィードバックに基づく調整要求に応じて検出されるように構成されている、
請求項1の方法。
【請求項9】
前記調整要求は、生成された出力クロックレートに基づいている、
請求項8の方法。
【請求項10】
クロック発生器であって、
電圧センサと、
前記電圧センサと動作可能に結合された発振調整モジュールと、
前記発振調整モジュールと動作可能に結合されたクロック発振器と、を備え、
前記電圧センサは、
電圧発生器からアナログ電圧供給を受け取ることと、
受け取ったアナログ電圧供給に基づいて、前記電圧発生器からの出力電圧の測定値を動的に感知することと、
を行うように構成されており、
前記発振調整モジュールは、
処理ユニットにおけるオーバークロックの指標を受け取ることと、
前記電圧センサから、動的に感知された出力電圧の測定値を受け取ることと、
前記動的に感知された出力電圧の測定値に基づいて、前記出力電圧における電圧ドループの特性を決定することと、
前記電圧ドループの決定された特性に基づいて、前記処理ユニットの前記クロックレートに対する周波数調整を決定することと、
を行うように構成されており、
前記クロック発振器は、
前記発振調整モジュールから前記周波数調整を受け取ることと、
前記処理ユニットが前記オーバークロックを維持するように、決定された周波数調整に基づいて出力クロックレートを生成することと、
を行うように構成されている、
クロック発生器。
【請求項11】
前記周波数調整は、前記電圧ドループの特性に基づいて前記電圧ドループを補償するように決定される、
請求項10のクロック発生器。
【請求項12】
前記電圧ドループの特性は、前記出力電圧の変化及び前記出力電圧の変化率を含む、
請求項10のクロック発生器。
【請求項13】
前記クロック発振器と動作可能に結合されたクロックバッファを備え、
前記クロックバッファは、
前記クロック発振器から前記出力クロックレートを受け取ることと、
前記電圧発生器から前記出力電圧を受け取ることと、
前記出力電圧に基づいて、受け取った出力クロックレートを調整することと、
を行うように構成されている、
請求項10のクロック発生器。
【請求項14】
前記処理ユニットにおける前記オーバークロックは、前記処理ユニットからのフィードバックに基づく調整要求に応じて検出されるように構成されている、
請求項10のクロック発生器。
【請求項15】
前記調整要求は、生成された出力クロックレートに基づいている、
請求項14のクロック発生器。
【請求項16】
システムであって、
アナログ電圧供給に基づいて出力電圧を生成するように構成された電圧発生器と、
前記電圧発生器から前記出力電圧を受け取るように構成された少なくとも1つの処理ユニットと、
コントローラと、
前記電圧発生器、前記少なくとも1つの処理ユニット及び前記コントローラと動作可能に結合されたクロック発生器と、を備え、
前記クロック発生器は、
前記電圧発生器から前記アナログ電圧供給を受け取り、前記コントローラからオーバークロックの指標を受け取ることと、
受け取ったアナログ電圧供給に基づいて、前記電圧発生器からの前記出力電圧の測定値を動的に感知することと、
動的に感知された前記出力電圧の測定値に基づいて、前記出力電圧における電圧ドループの特性を決定することと、
前記電圧ドループの決定された特性に基づいて、前記処理ユニットのクロックレートに対する周波数調整を決定することと、
前記処理ユニットが前記オーバークロックを維持するように、決定された周波数調整に基づいて出力クロックレートを生成することと、
を行うように構成されている、
システム。
【請求項17】
前記電圧発生器は、電圧供給及び電圧レギュレータを含み、
前記コントローラは、オーバークロック決定モジュールを含み、
前記オーバークロック決定モジュールは、
測定された周波数及び前記処理ユニットから検出された周波数調整値に基づいて、前記処理ユニットにおける前記オーバークロックを決定することと、
供給される前記アナログ電圧供給を変更するために、電圧供給信号を前記電圧供給に送信することと、
供給される前記出力電圧を変更するために、出力電圧信号を前記電圧レギュレータに送信することと、
前記アナログ電圧供給及び前記出力電圧の変化を反映するオーバークロックパラメータを前記クロック発生器に送信することと、
を行うように構成されている、
請求項16のシステム。
【請求項18】
前記周波数調整は、前記電圧ドループの特性に基づいて前記電圧ドループを補償するように決定される、
請求項16のシステム。
【請求項19】
前記電圧ドループの特性は、前記出力電圧の変化及び前記出力電圧の変化率を含む、
請求項16のシステム。
【請求項20】
前記クロック発生器は、前記出力電圧に基づいて、受け取った前記出力クロックレートを調整するように構成されている、
請求項16のシステム。
【請求項21】
前記コントローラは、前記システムの初期起動時に前記オーバークロックを設定するように構成されている、
請求項16のシステム。
【請求項22】
前記コントローラは、性能向上のための前記処理ユニットからの調整要求に応じて前記オーバークロックを設定するように構成されている、
請求項14のシステム。
【請求項23】
前記コントローラは、ユーザ入力からの調整要求に応じて前記オーバークロックを設定するように構成されている、
請求項16のシステム。
【請求項24】
前記コントローラは、前記処理ユニットからのフィードバックに基づく調整要求に応じて前記オーバークロックを設定するように構成されている、
請求項16のシステム。
【請求項25】
前記調整要求は、生成された出力クロックレートに基づいている、
請求項24のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
集積回路内の処理ユニットは、処理ユニット上で実行されているプロセスに応じて可変量の電力を消費する。処理ユニットは、アイドル状態にある間ではほとんど電力を消費しないが、処理ユニットがアクションを実行する必要がある場合に、電力消費が急速に増加する。いくつかの動作は、他の動作よりも多くの電力を必要とし、より高い性能が処理ユニットから要求される場合、処理ユニットのクロックレートは、「オーバークロック」としても知られている、指定された周波数よりも高い周波数で処理ユニットが動作するように増加され得る。オーバークロック状態は、通常、より高い動作電圧を有する。
【0002】
回路のパワーインテグリティに悪影響を及ぼす1つの要因は、供給電圧ドループの発生である。供給電圧ドループは、トランジスタ等の回路内の1つ以上の要素に電源によって供給される供給電圧の一時的な降下又は低減である。供給電圧ドループは、電源に供給される供給電圧の降下、電源に対する動作変化、電源によって供給される電源電流のサージ、又は、それらの任意の組み合わせの結果であり得る。
【0003】
電源からの電力引き込み(power draw)の変化によって生成される電源ドループは、最大クロック周波数の劣化、又は、特定の周波数に必要な処理ユニットを動作させるのに必要な電圧の増加をもたらし得る。電源ドループの影響は、電源ドループの検出時にクロックをストレッチすることによって低減され得る。しかしながら、従来技術の実装では、処理ユニットがオーバークロック状態で動作していると検出された場合、オーバークロック中の電圧範囲及び周波数範囲が通常よりもはるかに高く、したがって、より大きい電圧及び周波数範囲能力を必要とするので、オーバークロック中に固定周波数を維持するためにクロックストレッチングが無効にされる。したがって、処理ユニットがオーバークロック状態で動作している場合であっても、電源ドループの影響を低減する必要がある。
【0004】
実施形態は、同様の符号が同様の要素を表す以下の図を伴う場合に、以下の説明を考慮してより容易に理解されるであろう。
【図面の簡単な説明】
【0005】
【
図1】本明細書に開示される実施形態による、プロセッサシステムの例示的な機能ブロック図である。
【
図2】本明細書に開示される実施形態による、
図1のプロセッサシステム内に実装されるクロック発生器の例示的な機能ブロック図である。
【
図3】本明細書に開示される実施形態による、
図1のプロセッサシステム内に実装されるクロック発生器の別の例示的な機能ブロック図である。
【
図4】本明細書に開示される実施形態による、マルチプロセッサコアシステムの例示的な機能ブロック図である。
【
図5】本明細書に開示される実施形態による、プロセッサシステムにおいて実施されるプロセスの例示的なフロー図である。
【発明を実施するための形態】
【0006】
簡単に言うと、システム及び方法は、処理ユニットがオーバークロックを維持するように、決定された周波数調整に基づいて出力クロックレートを生成することによって、処理ユニットのクロックレートを制御するのに役立つ。いくつかの例では、方法は、処理ユニットにおいてオーバークロックを検出することに応じてアナログ電圧供給を受け取ることと、受け取ったアナログ電圧供給に基づいて電圧発生器からの出力電圧測定値を動的に感知することと、動的に感知された出力電圧測定値に基づいて、出力電圧における電圧ドループの特性を決定することと、電圧ドループの決定された特性に基づいて、処理ユニットのクロックレートに対する周波数調整を決定することと、処理ユニットがオーバークロックを維持するように、決定された周波数調整に基づいて出力クロックレートを生成することと、を含む。
【0007】
方法のいくつかの例では、周波数調整は、電圧ドループの特性に基づいて、オーバークロック中の電圧ドループを補償するように決定される。いくつかの例では、電圧ドループの特性は、出力電圧の変化及び出力電圧の変化率を含む。いくつかの例では、出力クロックレートは、出力電圧に基づいて更に調整される。いくつかの例では、処理ユニットにおけるオーバークロックは、初期システム起動時に検出されるように構成されている。
【0008】
いくつかの例では、処理ユニットにおけるオーバークロックは、処理ユニットと動作可能に結合されたシステムファームウェアからの調整要求に応じて検出されるように構成されている。いくつかの例では、処理ユニットにおけるオーバークロックは、ユーザ入力からの調整要求に応じて検出されるように構成されている。いくつかの例では、処理ユニットにおけるオーバークロックは、処理ユニットからのフィードバックに基づく調整要求に応じて検出されるように構成されている。いくつかの例では、調整要求は、生成された出力クロックレートに基づく。
【0009】
特定の実施形態によれば、クロック発生器は、電圧センサと、発振調整モジュールと、クロック発振器と、を含む。電圧センサは、電圧発生器からアナログ電圧供給を受け取り、受け取ったアナログ電圧供給に基づいて電圧発生器からの出力電圧測定値を動的に感知する。発振調整モジュールは、電圧センサと動作可能に結合されており、処理ユニットにおけるオーバークロックの指標を受け取り、電圧センサから動的に感知された出力電圧測定値を受け取り、動的に感知された出力電圧測定値に基づいて、出力電圧における電圧ドループの特性を決定し、電圧ドループの決定された特性に基づいて、処理ユニットのクロックレートに対する周波数調整を決定する。クロック発振器は、発振調整モジュールと動作可能に結合されており、発振調整モジュールから周波数調整を受け取り、処理ユニットがオーバークロックを維持するように、決定された周波数調整に基づいて出力クロックレートを生成する。
【0010】
クロック発生器のいくつかの例では、周波数調整は、電圧ドループの特性に基づいて電圧ドループを補償するように決定される。いくつかの例では、電圧ドループの特性は、出力電圧の変化及び出力電圧の変化率を含む。いくつかの例では、処理ユニットにおけるオーバークロックは、処理ユニットからのフィードバックに基づく調整要求に応じて検出されるように構成されている。いくつかの例では、調整要求は、生成された出力クロックレートに基づく。
【0011】
いくつかの実施形態では、クロック発生器は、クロック発振器と動作可能に結合されたクロックバッファを更に含む。クロックバッファは、クロック発振器から出力クロックレートを受け取り、電圧発生器から出力電圧を受け取り、出力電圧に基づいて受け取った出力クロックレートを調整する。
【0012】
いくつかの実施形態によれば、システムは、電圧発生器と、少なくとも1つの処理ユニットと、コントローラと、クロック発生器と、を含む。電圧発生器は、アナログ電圧供給に基づいて処理ユニットのための出力電圧を生成する。処理ユニットは、電圧発生器から出力電圧を受け取る。クロック発生器は、電圧発生器、少なくとも1つの処理ユニット及びコントローラと結合されている。クロック発生器は、電圧発生器からのアナログ電圧供給、及び、コントローラからのオーバークロックの指標を受け取り、受け取ったアナログ電圧供給に基づいて電圧発生器からの出力電圧測定値を動的に感知し、動的に感知された出力電圧測定値に基づいて出力電圧における電圧ドループの特性を決定し、電圧ドループの決定された特性に基づいて処理ユニットのクロックレートに対する周波数調整を決定し、処理ユニットがオーバークロックを維持するように、決定された周波数調整に基づいて出力クロックレートを生成する。
【0013】
いくつかの実施形態では、電圧発生器は、電圧供給及び電圧レギュレータを含み、システムのコントローラは、オーバークロック決定モジュールを含む。オーバークロック決定モジュールは、測定された周波数及び処理ユニットから検出された周波数調整値に基づいて、処理ユニットにおけるオーバークロックを決定し、供給されたアナログ電圧供給を変更するために、電圧供給信号を電圧供給に送り、供給された出力電圧を変更するために、出力電圧信号を電圧レギュレータに送り、アナログ電圧供給及び出力電圧の変化を反映するオーバークロックパラメータをクロック発生器に送る。
【0014】
実施形態のいくつかの例では、周波数調整は、電圧ドループの特性に基づいて電圧ドループを補償するように決定される。いくつかの例では、電圧ドループの特性は、出力電圧の変化及び出力電圧の変化率を含む。いくつかの例では、クロック発生器は、出力電圧に基づいて、受け取った出力クロックレートを更に調整することができる。
【0015】
いくつかの例では、コントローラは、システムの初期起動時にオーバークロックを設定する。いくつかの例では、コントローラは、処理ユニットからの性能向上のための調整要求に応じてオーバークロックを設定する。いくつかの例では、コントローラは、ユーザ入力からの調整要求に応じてオーバークロックを設定する。いくつかの例では、コントローラは、処理ユニットからのフィードバックに基づく調整要求に応じてオーバークロックを設定する。いくつかの例では、調整要求は、生成された出力クロックレートに基づく。
【0016】
以下の説明では、本明細書に提示される方法及び機構の十分な理解を提供するために、多数の具体的な詳細が記載されている。しかしながら、当業者は、様々な実施形態がこれらの具体的な詳細なしに実施され得ることを認識すべきである。いくつかの例では、本明細書において説明されるアプローチを不明瞭にすることを避けるために、周知の構造、コンポーネント、信号、コンピュータプログラム命令及び技術が詳細に示されていない。説明を簡単且つ明確にするために、図に示される要素は必ずしも縮尺どおりに描かれているわけではないことが理解されよう。例えば、いくつかの要素の寸法は、他の要素に対して誇張されている場合がある。
【0017】
図1は、本明細書で開示される実施形態による、例示的なプロセッサシステム100のハイレベル図を示している。システム100は、コア102とコントローラ104との間で情報を送信するためにデータ通信バスを介してコントローラ104等のシステムファームウェアに結合された1つ以上のコア(簡略化のために1つのコア102のみが示されている)を含む。また、システム100は、例えば位相ロックループ(phase-locked loop、PLL)又は周波数ロックループ(frequency-locked loop、FLL)であり得るクロック発生器106を含み、電圧センサ108がクロック発生器106と共に実装され、更には電圧発生器110及び基準クロック発生器112を含む。コントローラ104は、1つ以上の状態機械、プログララマブルプロセッサ、及び/又は、ソフトウェア命令を実行するプロセッサと1つ以上の状態機械との組み合わせ等の任意の好適な様式で実装されてもよい。
【0018】
クロック発生器106は、基準クロック発生器112からの基準クロック信号114、コントローラ104からのアナログ電圧供給値(VDDAとも呼ばれる)116及び入力電圧値118(まとめてオーバークロックパラメータ120と呼ばれる)、並びに、アナログ電圧供給112及び入力電圧124を含む、複数の入力を受け取る。クロック発生器106に結合された電圧センサ108は、電圧発生器110からコア102に供給される出力電圧126を感知し、その測定値を取得することができる。電圧センサ108は、クロック発生器106内に実装されてもよく、又は、外部に配置されるがクロック発生器106と動作可能に結合されてもよい。
【0019】
コントローラ104は、コア102において測定された周波数128に基づいてオーバークロックパラメータ120を決定し、いくつかの例では、本明細書で更に説明されるように、コア102のクロックレートに対して行われる任意の周波数調整も決定する。上述した入力に基づいて、クロック発生器106は、元の基準クロック信号114から調整された出力クロック130を生成する。出力クロック130は、コア102の動作周波数を決定する。
【0020】
図2は、本明細書で開示される実施形態による、例示的なクロック発生器106のハイレベル図を示している。クロック発生器106は、3つの構成要素、すなわち、発振調整モジュール200、較正モジュール202及びクロック発振器204を有する。発振調整モジュール200は、コントローラ104に結合されており、そこからオーバークロックパラメータ120を受け取り、また、電圧発生器110から供給される出力電圧126に基づいて感知された出力電圧208を受け取るために、電圧センサ108に結合されている。また、較正モジュール202は、コントローラ104に結合されており、そこからオーバークロックパラメータ120を受け取り、補正された較正値206を生成する。補正された較正値206は、適応発振器回路を含むクロック発振器204をプログラムするための補正された電圧値である。
【0021】
クロック発生器106又はそれに結合された外部デバイスの一部であり得る電圧センサ108は、コア102に供給される出力電圧126、及び、オーバークロックパラメータ120、より具体的には電圧発生器110、或いは、より具体的にはアナログ電圧源からの少なくともアナログ電圧供給VDDA122を受け取る。電圧センサ108は、出力電圧126をVDDA122と比較して、出力電圧126における任意の電圧ドループを検出する。
【0022】
従来技術の実施形態では、電圧センサは、出力電圧のみを受け取り、それを所定の基準VDDA値と比較するが、これは、出力電圧を供給されるVDDAと直接比較するよりも精度が低い。したがって、本明細書で開示される電圧センサ108は、当技術分野で知られているような所定の基準VDDA値に基づかない柔軟な出力電圧対VDDA比較を実装することによって、出力電圧126における電圧ドループを感知する動的手段を容易にする。そのような手段を実装する利点は、電圧センサ108によって提供される電圧ドループ推定値に対応する誤差範囲の低減である。
【0023】
電圧センサ108は、出力電圧126における任意の電圧ドループの検出を含む感知された出力電圧208を生成する。発振調整モジュール200は、感知された出力電圧208及びオーバークロックパラメータ120を受け取り、入力に基づいて周波数調整210を生成する。周波数調整210には、電圧ドループの影響を低減するために任意のクロックストレッチを実施する(すなわち、基準クロック114をストレッチする)ための命令が含まれている。クロック発振器204は、例えば、基準クロック信号114及び周波数調整210、並びに、出力電圧126、補正された較正値206、VDDA12、及び、電圧発生器110からの入力電圧124を受け取る。これらの入力に基づいて、クロック発振器204は、コア120のための出力クロック130を生成する。
【0024】
本明細書で開示される実施形態では、クロック発生器106は、オーバークロックパラメータ120を介してオーバークロックの指標を検出し、電圧センサ108は、電圧ドループの指標を検出する。クロック発振器204は、コア102をオーバークロック状態で動作するように維持しながら、すなわち、コア102の動作周波数又はクロックレートを低減することなく、電圧ドループの影響を低減するために基準クロック114がストレッチされるように、出力クロック130を生成する。したがって、クロックストレッチングは、クロックレートを減速させることなく、クロック信号の遅延を引き起こすのみである。そのような実施形態では、コア102は、電圧発生器110からの電圧ドループの影響が低減されながら、オーバークロックによって容易にされるより高い性能で動作を維持することができる。
【0025】
図3は、本明細書で開示される実施形態による、例示的なクロック発生器106の別のハイレベル図を示している。クロック発生器106は、
図2に示されるような出力電圧126を受け取るクロック発振器204の代わりに、出力電圧126を受け取るクロックバッファ300、例えば、インバータ、増幅器、CMLバッファ等のセットを含む。クロック発振器204は、出力電圧126を受け取らないので、生成された出力クロックは、バッファリングされていない出力クロック302であり、これはクロックバッファ300によって受け取られて、コア102又は複数のコアによって使用されるバッファリングされた出力クロック304を生成する。クロックバッファ300は、例えば、追加のタイミング構成要素、外部分圧器又は信号レベル遷移回路を排除することによってスペース及びコストを節約するために、同じ周波数要件を持つ複数のコアにクロックの複数のコピーを分配することを容易にする任意の適切なタイプのバッファであり得る。
【0026】
図4は、本明細書で開示される実施形態による、例示的なマルチプロセッサコアシステム400の一実施形態のブロック図である。システム400は、コア0からコアNまでの合計N+1個のコア102を含み、これらは共通の集積回路内に実装され得る。本実施形態における電圧発生器110は、アナログ電圧源402、例えばVDDA1.8V電源を含み、アナログ電圧源402は、電圧レギュレータ401に結合されており、VDDA122が電圧レギュレータ401に供給されて、調整された電圧がコア102の各々に分配されると共に、入力としてクロック発生器106に供給されるようになる。電圧レギュレータ401は、供給されたVDDA122を使用して、出力電圧126をコア102の各々に及びクロック発生器106に、又は、より具体的にはクロック発生器106に結合された電圧センサ108に供給する。電圧発生器110は、適宜、コア102を含む集積回路内に実装されてもよく、又は、集積回路とは別に実装されてもよい。電圧発生器110は、コントローラ104によって選択された電圧レベルに応じて可変の出力電圧126を供給する。
【0027】
また、システム400は、各コア102の測定された周波数128を受け取り、場合によってはコア102から周波数調整210も受け取る、コア102の各々に結合されたコントローラ104を含むが、周波数調整210は、図示されるように、代替的にクロック発生器106によって直接提供されてもよい。また、コントローラ104は、現在の測定された周波数128及び周波数調整210に基づいて、コア102の性能を向上させるためにオーバークロックを実施するかどうかを決定するオーバークロック決定モジュール404を含む。例えば、オーバークロックの決定は、本明細書で更に説明されるように、コア102の性能状態(P状態)を変更する形であり得る。
【0028】
オーバークロック決定モジュール404によるオーバークロックが有効にされるべきであるとの決定に応じて、コントローラ104は、アナログ電圧供給変更信号406を電圧源402に送ると共に、入力電圧変更信号408を電圧発生器110に送る。信号406及び408は、コントローラ104によって新たに設定された入力電圧及びVDDAの値を含み、これらは、オーバークロックパラメータ120の形でクロック発生器106に中継される。
【0029】
いくつかの例では、オーバークロック決定モジュール404は、初期システム起動時に、すなわち、システム400の電源を投入して動作を開始する場合に、オーバークロックを有効にする。いくつかの例では、オーバークロック決定モジュール404は、コア102を使用して動作するソフトウェア又はハードウェアアプリケーションのタイプ等の要因に基づいて、オーバークロックを示す信号406及び408を含む調整要求を提供する。そのようなアプリケーションは、ハードドライブ、グラフィックス、メモリ及びCPU等のように、コンピュータ上の異なるサブシステムを組み込むゲーム等のシステム集約型アプリケーション、又は、写真編集及びビデオトランスコーディングアプリケーションを含むが、それらに限定されないマルチスレッドアプリケーション等のCPU集約型アプリケーションを含み得る。いくつかの例では、調整要求は、ユーザがシステム性能の向上を望む場合に、ユーザ入力を介して、例えば、ユーザインターフェースを介して直接提供され得る。いくつかの例では、調整要求は、処理ユニットからのフィードバック、例えば、増加した性能要件に適応するために動作周波数の増加の潜在的な必要性をコアが検出する等のように、生成された出力クロックレートに基づくフィードバックに基づき得る。そのような調整要求がオーバークロック決定モジュール404によっていつどのように生成され得るかに関して、任意の他の適切な状況が考慮され得る。
【0030】
システム400は、中央処理装置(Central Processing Unit、CPU)又はグラフィックス処理ユニット(Graphics Processing Unit、GPU)等の任意のタイプのプロセッサシステムであってもよい。例えば、システム400は、x86 64ビット命令セットアーキテクチャを有し、デスクトップ、ラップトップ、サーバ及びスーパースカラコンピュータにおいて使用されるx86プロセッサ、携帯電話若しくはデジタルメディアプレーヤで使用される高度縮小命令セットコンピュータ(Reduced Instruction Set Computer、RISC)マシン(Advanced Reduced Instruction Set Computer Machine、ARM)プロセッサ、又は、音声データ及び通信信号等のデジタル信号に関連するアルゴリズムの処理及び実装において有用なデジタル信号プロセッサ(Digital Signal Processor、DSP)、並びに、プリンタ及びコピー機等の消費者用途において有用なマイクロコントローラとして実装されてもよい。
【0031】
コア102は、システム400の計算センター(computational center)を形成し、多数の計算タスクを実行する責任がある。例えば、プロセッサコア102は、2進数の加算、減算、シフト及び回転を実行する実行ユニットと、メモリアドレスのためのアドレス計算及びメモリからのデータのロード及び記憶を実行するアドレス生成及びロード及び記憶ユニットと、を含み得るが、これらに限定されない。プロセッサコア102によって実行される動作により、コンピュータアプリケーションの実行が可能になる。
【0032】
プロセッサコア102は、コントローラ104によって制御されるような特定の性能状態(P状態)に従って動作する。P状態は、以下のように記述される。ACPI(Advanced Configuration and Power Interface)規格は、コンピュータシステムの電力管理を規制するオペレーティングシステムベースの仕様である。例えば、ACPI規格は、バッテリ寿命のより良い管理のためにプロセッサコアを制御し、指示することができる。その際に、ACPIは、C状態と呼ばれるプロセッサ電力状態を割り当て、プロセッサがこれらの状態の限界内で動作するように強制する。プロセッサが割り当てられる可能性のあるC状態には、プロセッサの性能に対応する意味合いと共に、様々なレベル(例えば、完全な電力消費及び完全なエネルギー散逸を伴う、完全に動作している状態であるC0、命令の実行が停止され、プロセッサが瞬時に命令を実行するために戻る可能性があるスリープ状態であるC1、又は、プロセッサがC0状態に戻るのにより長い時間がかかる可能性がある別のスリープ状態であるC2)が存在する。
【0033】
プロセッサが完全に動作しているC0状態にある間、プロセッサは、パフォーマンス状態又はP状態と呼ばれる別の状態に関連付けられる。P状態には様々なレベルが存在し、各々が動作電圧及び周波数に関連している。最高性能状態はP0であり、これは最大動作電力、電圧及び周波数に対応し得る。しかしながら、プロセッサは、より低い動作電力、電圧及び/又は周波数に対応する、より低い性能状態、例えばP1又はP2に置かれてもよい。概して、プロセッサがより低いP状態に移行すると、プロセッサは、以前よりも低い能力で動作する。
【0034】
図5は、例えば、本明細書で開示される実施形態による、例示的なクロック発生器によって実行される例示的なプロセス500のフロー図である。プロセス500のステップ502において、アナログ電圧供給VDDAは、プロセッサコアがオーバークロック状態で動作していると決定することに応じて受け取られる。ステップ504において、電圧発生器によって供給される出力電圧は、受け取ったアナログ電圧供給VDDAに基づいて動的に感知される。
【0035】
ステップ506において、アナログ電圧供給VDDAに対する動的に感知された出力電圧の変化に基づいて、電圧ドループの1つ以上の特性が決定される。すなわち、VDDA値を出力電圧値と比較して、出力電圧に何らかの電圧ドループが存在するかどうかを判定する。電圧ドループが存在する場合、電圧ドループの任意の特性も決定され、それによって電圧ドループの特性に基づいて電圧ドループを補償するように周波数調整が決定され得る。この特性には、電圧ドループによって引き起こされる電圧低下の量、及び、低下が起こる速度、すなわち出力電圧の変化率の急峻度が含まれ得る。
【0036】
ステップ508において、周波数調整に基づいて調整されるクロックレートが、電圧ドループ特性を考慮して電圧ドループの影響を低減しやすくなるように、電圧ドループの特性(複数可)に基づいて周波数調整が決定される。ステップ510において、プロセッサコアがオーバークロック状態を維持する一方で電圧ドループの影響が緩和されるように、決定された周波数調整に基づいて新しいクロックレートが生成される。
【0037】
特徴及び要素が特定の組み合わせで上述されているが、各特徴又は要素は、他の特徴及び要素を用いずに単独で、又は、他の特徴及び要素を用いて若しくは用いずに様々な組み合わせで使用することができる。提供される方法は、汎用コンピュータ、プロセッサ又はプロセッサコアにおいて実施され得る。好適なプロセッサとしては、例として、汎用プロセッサ、専用プロセッサ、従来型プロセッサ、デジタルシグナルプロセッサ(digital signal processor、DSP)、複数のマイクロプロセッサ、DSPコアと関連する1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)回路、任意の他のタイプの集積回路(integrated circuit、IC)、及び/又は、状態マシンが挙げられる。そのようなプロセッサは、処理されたハードウェア記述言語(hardware description language、HDL)命令及びネットリスト等の他の中間データ(そのような命令は、コンピュータ可読媒体に記憶させることが可能である)の結果を使用して製造プロセスを構成することによって製造され得る。そのような処理の結果は、マスクワークとすることができ、このマスクワークをその後の半導体製造プロセスにおいて使用して、実施形態の態様を実装するプロセッサを製造する。
【0038】
本明細書に提供される方法又はフロー図は、汎用コンピュータ又はプロセッサによる実施のために非一時的なコンピュータ可読記憶媒体に組み込まれるコンピュータプログラム、ソフトウェア又はファームウェアにおいて実施され得る。非一時的なコンピュータ可読記憶媒体の例としては、読み取り専用メモリ(read only memory、ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスク及びリムーバブルディスク等の磁気媒体、磁気光学媒体、並びに、CD-ROMディスク及びデジタル多用途ディスク(digital versatile disk、DVD)等の光学媒体が挙げられる。
【0039】
様々な実施形態の上記の詳細な説明では、その一部を形成し、本発明が実施され得る特定の好ましい実施形態を例として示す添付図面を参照した。これらの実施形態は、当業者が本発明を実施することを可能にするために十分に詳細に説明されており、他の実施形態が利用されてもよく、本発明の範囲から逸脱することなく論理的、機械的及び電気的変更が行われ得ることを理解されたい。当業者が本発明を実施することを可能にするのに必要でない詳細を避けるために、説明は、当業者に知られている特定の情報を省略する場合がある。更に、本開示の教示を組み込む多くの他の様々な実施形態が、当業者によって容易に構築され得る。したがって、本発明は、本明細書に記載される特定の形態に限定されることを意図するものではなく、逆に、本発明の範囲に合理的に含まれ得る代替形態、修正形態及び均等物を包含することを意図するものである。したがって、上記の詳細な説明は、限定的な意味で解釈されるべきではなく、本発明の範囲は、添付の特許請求の範囲によってのみ定義される。本明細書において説明される実施形態及び実施例の上記の詳細な説明は、限定ではなく、例示及び説明のためにのみ提示されている。例えば、説明された動作は、任意の好適な順序又は方法で行われる。したがって、本発明は、上記で開示され、本明細書で特許請求される基本的な基礎原理の範囲に含まれるあらゆる修正、変形又は等価物を包含することが企図される。
【0040】
上記の詳細な説明及びそこで説明される実施例は、限定のためではなく、例示及び説明のためにのみ提示されている。
【手続補正書】
【提出日】2024-02-22
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
処理ユニットのクロックレートを制御する方法であって、
前記処理ユニットにおいてオーバークロックを検出することに応じてアナログ電圧供給を受け取ることと、
受け取ったアナログ電圧供給に基づいて、電圧発生器からの出力電圧の測定値を動的に感知することと、
動的に感知された出力電圧の測定値に基づいて、前記出力電圧における電圧ドループの特性を決定することと、
前記電圧ドループの決定された特性に基づいて、前記処理ユニットの前記クロックレートに対する周波数調整を決定することと、
前記処理ユニットが前記オーバークロックを維持するように、決定された周波数調整に基づいて出力クロックレートを生成することと、を含む、
方法。
【請求項2】
前記周波数調整は、前記電圧ドループの特性に基づいて前記電圧ドループを補償するように決定される、
請求項1の方法。
【請求項3】
前記電圧ドループの特性は、前記出力電圧の変化及び前記出力電圧の変化率を含む、
請求項1の方法。
【請求項4】
前記出力クロックレートは、前記出力電圧に基づいて更に調整される、
請求項1の方法。
【請求項5】
前記処理ユニットにおける前記オーバークロックは、初期システム起動時に検出されるように構成されている、
請求項1の方法。
【請求項6】
前記処理ユニットにおける前記オーバークロックは、前記処理ユニットと動作可能に結合されたシステムファームウェアからの調整要求に応じて検出されるように構成されている、
請求項1の方法。
【請求項7】
前記処理ユニットにおける前記オーバークロックは、ユーザ入力からの調整要求に応じて検出されるように構成されている、
請求項1の方法。
【請求項8】
前記処理ユニットにおける前記オーバークロックは、前記処理ユニットからのフィードバックに基づく調整要求に応じて検出されるように構成されている、
請求項1の方法。
【請求項9】
前記調整要求は、生成された出力クロックレートに基づいている、
請求項8の方法。
【請求項10】
クロック発生器であって、
電圧センサと、
前記電圧センサと動作可能に結合された発振調整モジュールと、
前記発振調整モジュールと動作可能に結合されたクロック発振器と、を備え、
前記電圧センサは、
電圧発生器からアナログ電圧供給を受け取ることと、
受け取ったアナログ電圧供給に基づいて、前記電圧発生器からの出力電圧の測定値を動的に感知することと、
を行うように構成されており、
前記発振調整モジュールは、
処理ユニットにおけるオーバークロックの指標を受け取ることと、
前記電圧センサから、動的に感知された出力電圧の測定値を受け取ることと、
前記動的に感知された出力電圧の測定値に基づいて、前記出力電圧における電圧ドループの特性を決定することと、
前記電圧ドループの決定された特性に基づいて、前記処理ユニットの前記クロックレートに対する周波数調整を決定することと、
を行うように構成されており、
前記クロック発振器は、
前記発振調整モジュールから前記周波数調整を受け取ることと、
前記処理ユニットが前記オーバークロックを維持するように、決定された周波数調整に基づいて出力クロックレートを生成することと、
を行うように構成されている、
クロック発生器。
【請求項11】
前記周波数調整は、前記電圧ドループの特性に基づいて前記電圧ドループを補償するように決定される、
請求項10のクロック発生器。
【請求項12】
前記電圧ドループの特性は、前記出力電圧の変化及び前記出力電圧の変化率を含む、
請求項10のクロック発生器。
【請求項13】
前記クロック発振器と動作可能に結合されたクロックバッファを備え、
前記クロックバッファは、
前記クロック発振器から前記出力クロックレートを受け取ることと、
前記電圧発生器から前記出力電圧を受け取ることと、
前記出力電圧に基づいて、受け取った出力クロックレートを調整することと、
を行うように構成されている、
請求項10のクロック発生器。
【請求項14】
前記処理ユニットにおける前記オーバークロックは、前記処理ユニットからのフィードバックに基づく調整要求に応じて検出されるように構成されている、
請求項10のクロック発生器。
【請求項15】
前記調整要求は、生成された出力クロックレートに基づいている、
請求項14のクロック発生器。
【請求項16】
システムであって、
アナログ電圧供給に基づいて出力電圧を生成するように構成された電圧発生器と、
前記電圧発生器から前記出力電圧を受け取るように構成された少なくとも1つの処理ユニットと、
コントローラと、
前記電圧発生器、前記少なくとも1つの処理ユニット及び前記コントローラと動作可能に結合された
請求項10~15の何れかのクロック発生器と、を備え
る、
システム。
【国際調査報告】