(57)【要約】プロセッサは、サンプリングされたクロック周波数に基づいて供給電圧の電圧マージンを調整する。プロセッサは、電圧マージンを指定された公称電圧と組み合わせることによって供給電圧を生成し、グラフィックスプロセッシングユニット（ＧＰＵ）などのプロセッサモジュールに供給電圧を提供する。さらに、適応クロックモジュール（例えば、デジタル周波数ロックループ）は、プロセッサモジュール用のクロック信号を生成し、クロック信号の周波数は、供給電圧に基づいて少なくとも部分的に変化する。プロセッサはクロック信号の周波数をサンプリングし、サンプリングされた周波数に基づいて電圧マージンを調整する。これにより、プロセッサはクロック周波数の変動を指定された制限内に維持し、比較的安定したクロック周波数をサポートする。【選択図】図１
2021525936.tif 000002
【特許請求の範囲】
【請求項１】
第１のサンプリングされた周波数を識別するために、プロセッサで適応可能なクロック信号のクロック周波数をサンプリングすることと、
前記第１のサンプリングされた周波数に基づいて、前記プロセッサのモジュールに供給される電圧の電圧マージンを調整することと、を含む方法。
【請求項２】
前記電圧マージンを調整することは、前記電圧を事前定義された制限内に維持するために、前記電圧マージンを調整することを含む、請求項１に記載の方法。
【請求項３】
前記電圧マージンを公称電圧と組み合わせることにより、前記プロセッサの前記モジュールに供給される前記電圧を生成することをさらに含む、請求項１に記載の方法。
【請求項４】
前記電圧マージンを調整することは、
前記第１のサンプリングされた周波数と目標周波数との間の差に基づく第１の電圧調整によって、前記電圧マージンを調整することと、
前記電圧マージンが固定されたマージン値を超えることに応答して、前記電圧マージンを指定された前記固定されたマージン値に固定することと、を含む、請求項１または３に記載の方法。
【請求項５】
前記電圧マージンを調整することは、
前記第１のサンプリングされた周波数に基づく第１の周波数と目標周波数との比較に基づいて前記電圧マージンを調整することを含む、請求項１または３に記載の方法。
【請求項６】
前記第１のサンプリングされた周波数を指定された周波数調整と組み合わせることにより、前記第１の周波数を生成することをさらに含む、請求項５に記載の方法。
【請求項７】
前記指定された周波数調整は、前記プロセッサの前記モジュールのクロック周波数の指定された最大の変動に対応する、請求項６に記載の方法。
【請求項８】
前記第１のサンプリングされた周波数を識別するために、前記クロック周波数をサンプリングすることは、前記クロック周波数を第１の時間においてサンプリングすることを含み、
第２のサンプリングされた周波数を識別するために、前記適応可能なクロック信号の前記クロック周波数をサンプリングすることと、
前記第２のサンプリングされた周波数に基づいて、前記プロセッサのモジュールに供給される電圧の前記電圧マージンを調整することと、をさらに含む、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
プロセッサでの適応可能なクロック信号の周波数の複数の周波数サンプルを識別することと、
前記複数の周波数サンプルのそれぞれについて、前記対応する周波数サンプルに基づいて、前記電圧を事前定義された制限内に維持するために、前記プロセッサのモジュールに供給される電圧の電圧マージンを調整することと、を含む方法。
【請求項１０】
前記電圧マージンを公称電圧と組み合わせることにより、前記プロセッサの前記モジュールに供給される前記電圧を生成することをさらに含む、請求項９に記載の方法。
【請求項１１】
前記電圧マージンを指定された電圧制限に固定することをさらに含む、請求項９に記載の方法。
【請求項１２】
前記電圧マージンを調整することは、前記複数の周波数サンプルの異なる周波数サンプルに対して異なる量だけ前記電圧マージンを調整することを含む、請求項９に記載の方法。
【請求項１３】
第１のサンプリングされた周波数を識別するために、適応可能なクロック信号のクロック周波数をサンプリングするように構成されたサンプリングモジュールと、
前記第１のサンプリングされた周波数に基づいて、前記プロセッサのモジュールに供給される電圧の電圧マージンを調整するように構成された電圧制御モジュールと、を備える、プロセッサ。
【請求項１４】
前記電圧制御モジュールは、
前記電圧マージンを調整することが、前記電圧を事前定義された制限内に維持するため前記電圧マージンを調整することを含むように構成される、請求項１３に記載のプロセッサ。
【請求項１５】
前記電圧制御モジュールは、
前記電圧マージンを公称電圧と組み合わせることにより、前記プロセッサの前記モジュールに供給される前記電圧を生成するように構成された電圧コンバイナを備える、請求項１３に記載のプロセッサ。
【請求項１６】
前記電圧制御モジュールは、
前記電圧マージンが固定されたマージン値を超えることに応答して、前記電圧マージンを指定された前記固定されたマージン値に固定するように構成された電圧クランプを備える、請求項１３に記載のプロセッサ。
【請求項１７】
前記電圧制御モジュールは、
前記第１のサンプリングされた周波数に基づく第１の周波数と目標周波数との比較に基づいて前記電圧マージンを調整するように構成されたコンパレータを備える、請求項１３に記載のプロセッサ。
【請求項１８】
前記電圧制御モジュールは、
前記第１のサンプリングされた周波数を指定された周波数調整と組み合わせるように構成された周波数コンバイナを備える、請求項１７に記載のプロセッサ。
【請求項１９】
前記指定された周波数調整は、前記プロセッサの前記モジュールのクロック周波数の最大の指定された変動に対応する、請求項１８に記載のプロセッサ。
【請求項２０】
前記第１のサンプリングされた周波数を識別するために、前記クロック周波数をサンプリングすることは、前記クロック周波数を第１の時間においてサンプリングすることを含み、
前記サンプリングモジュールは、
第２のサンプリングされた周波数を識別するために、前記適応可能なクロック信号の前記クロック周波数をサンプリングし、
前記第２のサンプリングされた周波数に基づいて、前記プロセッサのモジュールに供給される電圧の前記電圧マージンを調整するように構成される、請求項１３に記載のプロセッサ。
【発明の詳細な説明】
【背景技術】
【０００１】
プロセッサは通常、１つまたは複数のクロック信号を使用して、プロセッサの同期論理モジュールでの動作を同期する。したがって、１つまたは複数のクロック信号は、命令実行、データフロー、モジュール間通信などを含むプロセッサでの様々な動作を決定する。したがって、プロセッサのクロック信号の周波数は、プロセッサの関連モジュールがその動作を実行できる速度を決定する。さらに、プロセッサでの動作条件の変動は、同期論理モジュールのタイミング要件に対応する変化を引き起こす可能性があり、これは、所与のクロック周波数でのプロセッサ動作に悪影響を与える可能性がある。たとえば、プロセッサの電源の電圧のノイズは、公称電圧レベルより上（オーバーシュート）または下（ドループ）に変動する可能性があり、これらの変動により、タイミング要件に対応する変化が生じる可能性がある。
【０００２】
プロセッサの動作条件の変動に起因するタイミングの誤差を防止または低減するために、プロセッサは、適応クロックモジュールを使用することができ、それにより、適応クロックモジュールは、プロセッサモジュールに供給される電圧の変化に基づいて生成されるクロック信号の周波数を変更する。適応クロックモジュールは、例えば、クロック信号の周波数を供給電圧にロックするための遅延ロックループ（ＤＬＬ）または周波数ロックループ（ＦＬＬ）を含むことができる。ただし、生成されたクロック信号の周波数の変動は、ゲームアプリケーションや共有サーバーシステムなど、プロセッサのクロック周波数の変動を減らすことで恩恵を受ける特定のアプリケーションやシステムのプロセッサ動作に悪影響を与える可能性がある。プロセッサは、消費電力の増加によって、しきい値量を超えて供給電圧を増加させることにより、クロック周波数の変動を減らすことができる。
【０００３】
本開示は、添付の図面を参照することによって、一層よく理解することができ、その多数の特徴及び利点が当業者に明らかになる。異なる図面で同じ参照記号を使用することは、類似または同一の品目ということを意味する。
【図面の簡単な説明】
【０００４】
【図１】いくつかの実施形態による、サンプリングされたクロック周波数の変動に基づいて供給電圧の電圧マージンを調整する適応クロックモジュールを含むプロセッサのブロック図である。
【図２】いくつかの実施形態による、サンプリングされたクロック周波数の変動に基づいて供給電圧の電圧マージンを調整する図１のプロセッサの一例を示す図である。
【図３】いくつかの実施形態による、図１のプロセッサの電圧マージン制御モジュールのブロック図である。
【図４】いくつかの実施形態による、サンプリングされたクロック周波数の変動に基づいて供給電圧の電圧マージンを調整するプロセッサの方法の流れ図である。
【発明を実施するための形態】
【０００５】
図１〜４は、サンプリングされたクロック周波数に基づいてプロセッサの供給電圧の電圧マージンを調整するための技術を示している。プロセッサは、電圧マージンを指定された公称電圧と組み合わせることによって供給電圧を生成し、グラフィックスプロセッシングユニット（ＧＰＵ）などのプロセッサモジュールに供給電圧を提供する。さらに、適応クロックモジュール（例えば、デジタル周波数ロックループ）は、プロセッサモジュール用のクロック信号を生成し、クロック信号の周波数は、供給電圧に基づいて少なくとも部分的に変化する。プロセッサはクロック信号の周波数をサンプリングし、サンプリングされた周波数に基づいて電圧マージンを調整する。これにより、プロセッサはクロック周波数の変動を指定された制限内に維持し、比較的安定したクロック周波数をサポートする。安定したクロック周波数は、クロック周波数がクライアントの課金に影響を与えるサーバーシステムや、安定したクロック周波数がより再現性の高いユーザ体験を可能にするゲームアプリケーションなど、さまざまなアプリケーションでのユーザ体験の向上をサポートする。
【０００６】
図１は、いくつかの実施形態による、サンプリングされたクロック周波数の変動に基づいて供給電圧の電圧マージンを調整するプロセッサ１００を示している。プロセッサ１００は、電子デバイスに対して指定されたタスクを実行するために、命令のセット（例えば、コンピュータプログラム）を実行する。そのようなタスクの例には、電子デバイスの動作の態様の制御、特定のユーザ体験を提供するための情報のユーザへの表示、他の電子デバイスとの通信などが含まれる。したがって、異なる実施形態において、プロセッサ１００は、デスクトップコンピュータ、ラップトップコンピュータ、サーバ、ゲームコンソール、タブレット、スマートフォン等の様々な種類の電子デバイスの１つで使用される。
【０００７】
命令のセットの実行をサポートするために、プロセッサ１００は、複数のプロセッサコア（図１には示されていない）を含む。いくつかの実施形態では、各プロセッサコアは、命令をフェッチし、命令を対応する動作にデコードし、動作を１つまたは複数の実行ユニットにディスパッチし、動作を実行し、動作をリタイアするための１つまたは複数の命令パイプラインを含む。命令を実行する過程で、プロセッサコアは、情報の視覚的表示に関連するグラフィックス動作及びその他の動作を生成する。これらの動作に基づいて、プロセッサコアは、図１に示されるグラフィックス処理ユニット（ＧＰＵ）１０５にコマンド及びデータを提供する。
【０００８】
ＧＰＵ１０５は、複数のプロセッサコアからグラフィックス及び他の表示動作に関連するコマンド及びデータを受信する。受信したコマンドに基づいて、単一命令複数データ処理ユニット１０８（ＳＩＭＤ１０８と呼ばれる）などのＧＰＵ１０５の処理ユニットは、表示用のフレームを生成するための動作を実行する。動作の例には、ベクトル動作、描画動作などが含まれる。
【０００９】
当業者によって理解されるように、ＧＰＵ１０５の処理ユニット（ＳＩＭＤ１０８など）は、ＧＰＵ１０５に提供される供給電圧（指定されたＧＦＸＶＤＤ）及び処理ユニットに提供されるクロック信号（指定されたＧＣＬＫ）によって動作が決定される同期論理モジュールを含む。クロック信号ＧＣＬＫを生成するために、ＧＰＵ１０５は、デジタル周波数ロックループ（ＤＦＬＬ）１０６を含む。他の実施形態では、遅延ロックループ、アナログ周波数ロックループ、クロックストレッチャーなどの異なる適応クロックシステムが、クロック信号ＧＣＬＫを生成するために使用されることが理解されよう。ＤＦＬＬ１０６は、安定電圧基準（図示せず）によって生成される基準電圧及び目標周波数値という、２つのパラメータに基づいてクロック信号ＧＣＬＫを生成する。いくつかの実施形態では、目標周波数値は、プロセッサ１００のレジスタ（図示せず）に格納され、動作条件の変化にしたがって、プロセッサ１００の電力モードの変化に応じて、などにより設定または変更される。したがって、クロック信号ＧＣＬＫの周波数は、基準電圧と目標周波数値に部分的に依存する。また、ＤＦＬＬ１０６の論理モジュールは、供給電圧としてＧＦＸＶＤＤを使用しているため、クロック信号ＧＣＬＫの周波数は、ＧＦＸＶＤＤの変動に応じて変化する。したがって、ＤＦＬＬは、クロック信号ＧＣＬＫがＧＦＸＶＤＤのノイズやその他の変動に適応することを保証する。
【００１０】
ＧＰＵ１０５はさらに、クロック信号ＧＣＬＫの周波数を定期的にサンプリングする周波数サンプラ１１０を含む。いくつかの実施形態では、周波数サンプラ１１０は、１ミリ秒（ｍｓ）などの指定された期間にわたってクロック信号ＧＣＬＫの周波数を平均化する。サンプリングされた周波数に基づいて、周波数サンプラ１１０は、本明細書ではクロック信号ＧＣＬＫの有効周波数と呼ばれる値を生成する。
【００１１】
ＧＦＸＶＤＤを生成するために、プロセッサ１００は、電圧マージン制御モジュール（ＶＭＣ）１０２及び電圧レギュレータ１０４を含む。電圧レギュレータ１０４は、指定されたＶＩＤの値に基づいて電圧ＧＦＸＶＤＤを生成する。いくつかの実施形態では、値ＶＩＤはデジタル値であり、電圧レギュレータ１０４は、１つまたは複数のポテンショメータまたは他の調整可能な回路構成要素を調整して、電圧ＧＦＸＶＤＤを設定する。
【００１２】
本明細書でさらに説明するように、ＶＭＣ１０２は、公称電圧値と調整可能な電圧マージン値とを組み合わせることによって値ＶＩＤを生成する。ＶＭＣ１０２は、周波数サンプラ１１０によって示される有効周波数の変化に応答して電圧マージン値を調整し、その結果、対応する調整をＶＩＤにもたらす。ＶＩＤの調整は、電圧レギュレータ１０４によって生成されてＧＦＸＶＤＤの変化をもたらし、それは次に、クロック信号ＧＣＬＫの周波数の変化をもたらす。したがって、ＤＦＬＬ１０６及び周波数サンプラ１１０と組み合わせて、ＶＭＣ１０２及び電圧レギュレータ１０４は、クロック信号ＧＣＬＫの周波数の変動を指定された制限内に維持する制御ループを確立する。
【００１３】
図２は、いくつかの実施形態による、ＧＦＸＶＤＤの変化を制御することによってクロック信号ＧＣＬＫの周波数を制御するプロセッサ１００の例を示すグラフ２００である。図示の例では、グラフ２００は、ＧＦＸＶＤＤを表すｘ軸と、クロック信号ＧＣＬＫの周波数を表すｙ軸とを含む。グラフ２００はまた、ＧＦＸＶＤＤの変化に基づくＧＣＬＫの周波数の変化を示す曲線２２０を示している。図示の例では、ＤＦＬＬ１０６の動作のために、クロック信号ＧＣＬＫの周波数は、ポイント２２１より上のＧＦＸＶＤＤに対して比較的不変である。ポイント２２１より下では、クロック信号ＧＣＬＫの周波数はＧＦＸＶＤＤに対して変化する。
【００１４】
図２に示されるように、ポイント２２１に対応する電圧は、指定されたＣＶＤＤである。したがって、ＣＶＤＤは、クロック信号ＧＣＬＫの周波数が比較的固定されるＧＦＸＶＤＤのレベルを表す。グラフ２００は、ＣＶＤＤに対する範囲も示しており、範囲は制限２２５及び２２６によって定義される。制限２２５及び２２６は、交流（ＡＣ）ノイズによる電圧ＧＦＸＶＤＤの予想される最大変動を表す。したがって、クロック信号ＧＣＬＫの比較的固定された周波数を維持するために、従来のプロセッサは、下限２２５がＣＶＤＤを超えるように電圧ＧＦＸＶＤＤを設定する。ただし、一部のワークロードまたは動作条件では、ＧＦＸＶＤＤが下限２２５に近づくことはまれであるため、従来のアプローチでは望ましくない量の電力が消費されることがよくある。
【００１５】
従来のアプローチとは対照的に、プロセッサ１００は、ＶＭＣ１０２を使用して、ＧＦＸＶＤＤをＣＶＤＤの周りの比較的狭い範囲内に維持し、それによって、ＧＣＬＫの比較的固定された周波数を維持する。例えば、クロック信号ＧＣＬＫの有効周波数が低下し始めること（電圧と周波数の関係がポイント２２１より下の曲線によって決定されることを示す）に応答して、ＶＭＣ１０２は電圧マージンを増加させ、それによりＧＦＸＶＤＤを増加させ、クロック信号ＧＣＬＫの周波数を安定したレベルに維持する。ＧＣＬＫの有効周波数が安定したレベルを維持すること（電圧と周波数の関係がポイント２２１より上の曲線によって決定されることを示す）に応答して、ＶＭＣ１０２は電圧マージンを低減し、ＧＦＸＶＤＤがしきい値制限を超えてＣＶＤＤより上に上昇しないようにし、したがって電力を節約する。
【００１６】
図３は、いくつかの実施形態による、ＶＭＣ１０２のブロック図を示す。図示の例では、ＶＭＣ１０２は、電圧調整モジュール３３５、電圧クランプ３３６、及びサマー３３７、３３８、及び３３９を含む。いくつかの実施形態では、モジュール３３５〜３３９はそれぞれ、プロセッサ１００で実行されるファームウェアの一部である。他の実施形態では、モジュール３３５〜３３９はそれぞれ、以下でさらに説明される動作を実行するように接続及び構成されたコンポーネントを含むハードウェアモジュールである。さらに他の実施形態では、モジュール３３５〜３３９は、ファームウェアとハードウェアの組み合わせを表す。
【００１７】
サマー３３８は、周波数サンプラ１１０（図１）によって識別された有効周波数値を、Ｆデルタと指定された値と組み合わせる（例えば、加算する）。値Ｆデルタは、クロック信号ＧＣＬＫの周波数で指定された最大許容変動を表す。したがって、サマー３３８の出力は、有効周波数がクロック信号ＧＣＬＫの周波数の指定された許容変動から外れる量を示す。
【００１８】
サマー３３７は、サマー３３８の出力とクロック信号ＧＣＬＫの目標周波数との間の差を示す、指定された誤差値を生成する。電圧調整モジュール３３５は、誤差値に基づいて電圧マージンへの調整を生成する。いくつかの実施形態では、電圧調整モジュール３３５は、誤差に基づいて、固定された正の調整値（例えば、＋１）と固定された負の調整値（例えば、−１）との間で選択する。他の実施形態では、電圧調整モジュール３３５は、誤差の大きさ及び符号に比例する調整値を使用する。したがって、例えば、誤差値が、有効周波数が目標周波数より低いことを示す場合、電圧調整モジュール３３５は正の調整を選択し、誤差値が、有効周波数が目標周波数より高いことを示す場合、電圧調整モジュール３３５は負の調整を選択する。次に、電圧調整モジュール３３５は、選択された調整を電流電圧マージンに追加して、候補の電圧マージンを生成する。
【００１９】
電圧クランプ３３６は、電圧調整モジュール３３５から候補電圧マージンを受け取り、候補電圧マージンがマージン上限及びマージン下限の外にあるかどうかを判定する。候補電圧マージンがマージンの上限及び下限内にある場合、電圧クランプ３３６は、電圧マージンとして候補電圧マージンを提供する。候補電圧マージンがマージンの上限または下限の外にある場合、電圧クランプ３３６は、電圧マージンを対応するマージン制限に固定する。したがって、例えば、候補電圧マージンがマージン上限よりも大きい場合、電圧クランプ３３６は、電圧マージンをマージン上限に設定する。同様に、候補電圧マージンがマージン下限よりも小さい場合、電圧クランプ３３６は、電圧マージンをマージン下限に設定する。したがって、電圧クランプ３３６は、電圧マージンが対応するマージン制限を超えて増加または減少することを防止する。
【００２０】
サマー３３９は、電圧クランプ３３６によって提供される電圧マージンと、プログラム可能なレジスタ（図示せず）に記憶された公称電圧とを追加する。電圧マージンと公称電圧の合計に基づいて、サマー３３９は値ＶＩＤを生成する。上述したように、電圧レギュレータ１０４（図１）は、ＶＩＤ値を使用してＧＦＸＶＤＤを生成する。したがって、図３に示されるＶＭＣ１０２の実施形態は、クロック信号ＧＣＬＫの有効周波数のサンプルに基づいて、ＧＦＸＶＤＤの電圧マージンを定期的に調整する。これにより、ＶＭＣ１０２は、過剰な電力を消費することなく、クロック信号ＧＣＬＫの周波数を指定された範囲内に維持する。
【００２１】
図４は、いくつかの実施形態による、サンプリングされたクロック周波数の変動に基づいて供給電圧の電圧マージンを調整するプロセッサの方法４００の流れ図を示している。ブロック４０２で、プロセッサは、クロック信号の有効周波数をサンプリングする。ブロック４０４で、プロセッサは、サンプリングされたクロック周波数を指定された最大周波数ドループと組み合わせる。
【００２２】
ブロック４０６で、プロセッサは、クロック信号の目標周波数と、ブロック４０４で生成された結合周波数との間の差を識別する。差は、目標周波数と結合周波数の間の周波数誤差である。ブロック４０８で、プロセッサは、ブロック４０８で識別された周波数誤差に基づいて候補電圧マージンを計算する。いくつかの実施形態では、プロセッサは、電流電圧マージンを識別し、周波数誤差に基づいて調整を選択し、電流電圧マージンを選択された調整と組み合わせることによって、候補電圧マージンを計算する。
【００２３】
ブロック４１０で、プロセッサは、候補電圧マージンが指定された制限の外にあるかどうかを判定する。そうでない場合、プロセッサは電圧マージンを候補電圧マージンに設定し、方法フローは以下に説明するブロック４１４に進む。ブロック４１０で、プロセッサは候補電圧マージンが指定された制限の外にあると判定した場合、方法フローはブロック４１２に進み、プロセッサは電圧マージンを対応する電圧マージン制限に固定する。方法フローはブロック４１４に進む。
【００２４】
ブロック４１４で、プロセッサは、電圧マージンと公称電圧を組み合わせる。ブロック４１６で、プロセッサは、ＧＰＵなどのモジュールに組み合わされた電圧を提供し、その動作は、ブロック４０２でサンプリングされたクロック信号によって少なくとも部分的に決定される。方法フローはブロック４０２に戻り、プロセッサはクロック信号の有効周波数の別のサンプルを識別する。したがって、方法４００は、プロセッサのモジュールの供給電圧の電圧マージンを調整することによって、クロック信号の周波数を制限された範囲内に維持するプロセッサの制御ループの動作を示している。
【００２５】
本明細書に開示されるように、いくつかの実施形態では、方法は、第１のサンプリングされた周波数を識別するために、プロセッサで適応可能なクロック信号のクロック周波数をサンプリングすること、及び第１のサンプリングされた周波数に基づいて、プロセッサのモジュールに供給される電圧の電圧マージンを調整することを含む。一態様では、電圧マージンを調整することは、電圧マージンを調整して、電圧を事前定義された制限内に維持することを含む。別の態様では、この方法は、電圧マージンを公称電圧と組み合わせることによって、プロセッサのモジュールに供給される電圧を生成することを含む。別の態様では、電圧マージンを調整することは、第１のサンプリングされた周波数と目標周波数との間の差に基づいて第１の電圧調整によって電圧マージンを調整すること、及び電圧マージンが固定されたマージン値を超えることに応答して、電圧マージンを指定された固定されたマージン値に固定することを含む。さらに別の態様では、電圧マージンを調整することは、第１のサンプリングされた周波数に基づく第１の周波数と目標周波数との比較に基づいて電圧マージンを調整することを含む。
【００２６】
別の態様では、この方法は、第１のサンプリングされた周波数を指定された周波数調整と組み合わせることによって第１の周波数を生成することを含む。さらに別の態様では、指定された周波数調整は、プロセッサのモジュールのクロック周波数の指定された最大変動に対応する。さらに別の態様では、第１のサンプリングされた周波数を識別するために、クロック周波数をサンプリングすることは、クロック周波数を第１の時間においてサンプリングすることを含み、この方法は、第２のサンプリングされた周波数を識別するために、適応可能なクロック信号のクロック周波数をサンプリングすること及び第２のサンプリングされた周波数に基づいて、プロセッサのモジュールに供給される電圧の電圧マージンを調整することをさらに含む。
【００２７】
本明細書に開示されるように、いくつかの実施形態では、方法は、プロセッサでの適応可能なクロック信号の周波数の複数の周波数サンプルを識別すること、及び複数の周波数サンプルのそれぞれについて、対応する周波数サンプルに基づいてプロセッサのモジュールに供給される電圧の電圧マージンを調整して、電圧を事前定義された制限内に維持することを含む。一態様では、この方法は、電圧マージンを公称電圧と組み合わせることによって、プロセッサのモジュールに供給される電圧を生成することを含む。さらに別の態様では、この方法は、電圧マージンを指定された電圧制限に固定することを含む。さらに別の態様では、電圧マージンは、複数の周波数サンプルの異なる周波数サンプルに対して異なる量だけ電圧マージンを調整することを含む。
【００２８】
本明細書に開示されるように、いくつかの実施形態では、プロセッサは、第１のサンプリングされた周波数を識別するために、適応可能なクロック信号のクロック周波数をサンプリングするように構成されたサンプリングモジュール、及び第１のサンプリングされた周波数に基づいてプロセッサのモジュールに供給される電圧の電圧マージンを調整するように構成された電圧制御モジュールを含む。一態様では、電圧制御モジュールは、電圧マージンを調整することが、電圧を事前定義された制限内に維持するため電圧マージンを調整することを含むように構成される。別の態様では、電圧制御モジュールは、電圧マージンを公称電圧と組み合わせることによってプロセッサのモジュールに供給される電圧を生成するように構成された電圧コンバイナを含む。さらに別の態様では、電圧制御モジュールは、電圧マージンが固定されたマージン値を超えることに応答して、電圧マージンを指定された固定されたマージン値に固定するように構成された電圧クランプを含む。
【００２９】
一態様では、電圧制御モジュールは、第１のサンプリングされた周波数に基づく第１の周波数と目標周波数との比較に基づいて電圧マージンを調整するように構成されたコンパレータを含む。別の態様では、電圧制御モジュールは、第１のサンプリングされた周波数を指定された周波数調整と組み合わせるように構成された周波数コンバイナを含む。さらに別の態様では、指定された周波数調整は、プロセッサのモジュールのクロック周波数の指定された最大変動に対応する。さらに別の態様では、第１のサンプリングされた周波数を識別するために、クロック周波数をサンプリングすることは、クロック周波数を第１の時間においてサンプリングすることを含み、サンプリングモジュールは、第２のサンプリングされた周波数を識別するために、適応可能なクロック信号のクロック周波数をサンプリングし、かつ第２のサンプリングされた周波数に基づいて、プロセッサのモジュールに供給される電圧の電圧マージンを調整するように構成される。
【００３０】
いくつかの実施形態では、上述した技法の特定の態様は、ソフトウェアを実行する処理システムの１つ以上のプロセッサによって実施することができる。ソフトウェアは、非一時的コンピュータ可読記憶媒体上に記憶されるまたはその他の方法で有形に具現化される、実行可能な命令の１つ以上のセットを含む。ソフトウェアは、１つ以上のプロセッサにより実行されるとき、上記の技術の１つ以上の態様を実行するために１つ以上のプロセッサを動作する命令及び特定のデータを含み得る。非一時的コンピュータ可読記憶媒体は、例えば、磁気もしくは光ディスク記憶デバイス、フラッシュメモリ、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）等のソリッドステート記憶デバイス、または他の単一の不揮発性メモリデバイスもしくは複数の不揮発性メモリデバイス等を含み得る。非一時的なコンピュータ可読記憶媒体に格納される実行可能命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、または１つ以上のプロセッサによって解釈されるか、もしくは別の方法で実行可能な他の命令形式であり得る。
【００３１】
説明したものに加えて、上記の一般的説明で述べたアクティビティまたは要素の全てが必須ではないこと、特定のアクティビティまたはデバイスの一部は必要ない場合があること、及び１つ以上の追加のアクティビティを実行することができ、または要素を含むことができることに留意されたい。さらに、アクティビティがリストにされている順序は、必ずしもそれらが実行される順序ではない。また、特定の実施形態を参照して概念が説明されている。しかし、当業者は、添付の特許請求の範囲に記載されている本開示の範囲から逸脱することなく、様々な修正及び変更を行うことができることを理解する。したがって、本明細書及び図面は、限定的な意味ではなく、例示的な意味で見なされるべきであり、全てのそのような修正は、本開示の範囲内に含まれることが意図されている。
【００３２】
特定の実施形態に関して、利益、他の利点、及び問題に対する解決策を上で説明している。ただし、利益、利点、問題に対する解決策、及び任意の利益、利点、または解決策を生じさせ得るか、もしくはより顕著になり得る任意の特徴（複数可）が、いずれかまたは全ての請求項の重要な、必要な、または不可欠な特徴として解釈されるべきではない。さらに、開示された発明の主題は、本明細書の教示の利益を受け取る当業者には明らかな、異なっているが同等の方法で、修正及び実施され得るため、上記に開示された特定の実施形態は例示にすぎない。以下の特許請求の範囲に記載されている場合を除き、本明細書に示されている構造または設計の詳細に対する制限は意図されていない。したがって、上に開示された特定の実施形態は変更または修正されてもよく、そのような全ての変形は開示された主題の範囲内であると見なされることは明らかである。したがって、本明細書で求められる保護は、以下の特許請求の範囲に記載されている通りである。
【図１】
2021525936.tif 000003
【図２】
2021525936.tif 000004
【図３】
2021525936.tif 000005
【図４】
2021525936.tif 000006
【手続補正書】
【提出日】令和3年3月22日(2021.3.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のサンプリングされた周波数を識別するために、プロセッサで適応可能なクロック信号のクロック周波数をサンプリングすることと、
前記第１のサンプリングされた周波数に基づいて、前記プロセッサのモジュールに供給される電圧の電圧マージンを調整することと、を含む、方法。
【請求項２】
前記電圧マージンを調整することは、前記電圧マージンを調整して、前記電圧を事前定義された制限内に維持することを含む、請求項１に記載の方法。
【請求項３】
前記電圧マージンを公称電圧と組み合わせることにより、前記プロセッサの前記モジュールに供給される前記電圧を生成することをさらに含む、請求項１に記載の方法。
【請求項４】
前記電圧マージンを調整することは、
前記第１のサンプリングされた周波数と目標周波数との間の差に基づく第１の電圧調整によって、前記電圧マージンを調整することと、
前記電圧マージンが固定されたマージン値を超えることに応答して、前記電圧マージンを指定された前記固定されたマージン値に固定することと、を含む、請求項１または３に記載の方法。
【請求項５】
前記電圧マージンを調整することは、
前記第１のサンプリングされた周波数に基づく第１の周波数と目標周波数との比較に基づいて前記電圧マージンを調整することを含む、請求項１または３に記載の方法。
【請求項６】
前記第１のサンプリングされた周波数を指定された周波数調整と組み合わせることにより、前記第１の周波数を生成することをさらに含む、請求項５に記載の方法。
【請求項７】
前記指定された周波数調整は、前記プロセッサの前記モジュールのクロック周波数の指定された最大の変動に対応する、請求項６に記載の方法。
【請求項８】
前記第１のサンプリングされた周波数を識別するために、前記クロック周波数をサンプリングすることは、前記クロック周波数を第１の時間においてサンプリングすることを含み、
第２のサンプリングされた周波数を識別するために、前記適応可能なクロック信号の前記クロック周波数をサンプリングすることと、
前記第２のサンプリングされた周波数に基づいて、前記プロセッサのモジュールに供給される電圧の前記電圧マージンを調整することと、をさらに含む、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
第１のサンプリングされた周波数を識別するために、適応可能なクロック信号のクロック周波数をサンプリングするように構成されたサンプリングモジュールと、
前記第１のサンプリングされた周波数に基づいて、前記プロセッサのモジュールに供給される電圧の電圧マージンを調整するように構成された電圧制御モジュールと、を備える、プロセッサ。
【請求項１０】
前記電圧制御モジュールは、
前記電圧マージンを調整することが、前記電圧を事前定義された制限内に維持するため前記電圧マージンを調整することを含むように構成される、請求項９に記載のプロセッサ。
【請求項１１】
前記電圧制御モジュールは、
前記電圧マージンを公称電圧と組み合わせることにより、前記プロセッサの前記モジュールに供給される前記電圧を生成するように構成された電圧コンバイナを備える、請求項９または１０に記載のプロセッサ。
【請求項１２】
前記電圧制御モジュールは、
前記電圧マージンが固定されたマージン値を超えることに応答して、前記電圧マージンを指定された前記固定されたマージン値に固定するように構成された電圧クランプを備える、請求項９〜１１のいずれか１項に記載のプロセッサ。
【請求項１３】
前記電圧制御モジュールは、
前記第１のサンプリングされた周波数に基づく第１の周波数と目標周波数との比較に基づいて前記電圧マージンを調整するように構成されたコンパレータを備える、請求項９〜１２のいずれか１項に記載のプロセッサ。
【請求項１４】
前記電圧制御モジュールは、
前記第１のサンプリングされた周波数を指定された周波数調整と組み合わせるように構成された周波数コンバイナを備える、請求項１３に記載のプロセッサ。
【請求項１５】
前記指定された周波数調整は、前記プロセッサの前記モジュールのクロック周波数の指定された最大の変動に対応する、請求項１４に記載のプロセッサ。
【国際調査報告】
2021525936.tif 000007
2021525936.tif 000008