IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドの特許一覧 ▶ エーティーアイ・テクノロジーズ・ユーエルシーの特許一覧

<>
  • 特表-自動電圧再構成 図1
  • 特表-自動電圧再構成 図2
  • 特表-自動電圧再構成 図3
  • 特表-自動電圧再構成 図4
  • 特表-自動電圧再構成 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-02-16
(54)【発明の名称】自動電圧再構成
(51)【国際特許分類】
   G06F 1/3296 20190101AFI20230209BHJP
   G06F 11/34 20060101ALI20230209BHJP
   G06F 11/30 20060101ALI20230209BHJP
   G06F 1/324 20190101ALI20230209BHJP
   G06F 1/26 20060101ALI20230209BHJP
【FI】
G06F1/3296
G06F11/34 128
G06F11/30 140H
G06F1/324
G06F1/26
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022536778
(86)(22)【出願日】2020-12-15
(85)【翻訳文提出日】2022-08-08
(86)【国際出願番号】 US2020065099
(87)【国際公開番号】W WO2021126837
(87)【国際公開日】2021-06-24
(31)【優先権主張番号】16/715,184
(32)【優先日】2019-12-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.SMALLTALK
(71)【出願人】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(71)【出願人】
【識別番号】508301087
【氏名又は名称】エーティーアイ・テクノロジーズ・ユーエルシー
【氏名又は名称原語表記】ATI TECHNOLOGIES ULC
【住所又は居所原語表記】One Commerce Valley Drive East, Markham, Ontario, L3T 7X6 Canada
(74)【代理人】
【識別番号】100108833
【弁理士】
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【弁理士】
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【弁理士】
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】ジェリー エー. アーレンス
(72)【発明者】
【氏名】アミタブ メーラ
(72)【発明者】
【氏名】アニル ハーワニ
(72)【発明者】
【氏名】ウィリアム アール. アルバーソン
(72)【発明者】
【氏名】グラント イー. レイ
(72)【発明者】
【氏名】チャールズ エスワイ リー
【テーマコード(参考)】
5B011
5B042
【Fターム(参考)】
5B011EA08
5B042MA08
5B042MA14
5B042MC38
(57)【要約】
1つ以上のコアを含むコンピュータプロセッサにおける自動電圧再構成であって、1つ以上のユーザ指定のワークロードを実行することと、ユーザ指定のワークロードに基づいて、1つ以上のコアの各コアの最小安全電圧を決定することと、それぞれの最小安全電圧に基づいて、1つ以上のコアの各コアの電圧構成を変更することと、を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
1つ以上のコアを含むコンピュータプロセッサにおける自動電圧再構成の方法であって、
1つ以上のユーザ指定のワークロードを実行することと、
前記ユーザ指定のワークロードに基づいて、前記1つ以上のコアの各コアの最小安全電圧を決定することと、
各コアの最小安全電圧に基づいて、前記1つ以上のコアの各コアの電圧構成を変更することと、を含む、
方法。
【請求項2】
前記1つ以上のコアの各コアの最小安全電圧を決定することは、前記1つ以上のユーザ指定のワークロードの実行中に、障害状態が識別されるまで前記1つ以上のコアの各コアの動作電圧を変更することを含む、
請求項1の方法。
【請求項3】
前記1つ以上のユーザ指定のワークロードとして、1つ以上の所定のテストパターンの選択を受信することをさらに含む、
請求項1の方法。
【請求項4】
前記各コアの電圧構成は、周波数電圧曲線のマージンを含む、
請求項1の方法。
【請求項5】
1つ以上のユーザ指定のワークロードを実行することは、1つ以上のソフトウェアアプリケーションとの1つ以上のユーザインタラクションに基づいている、
請求項1の方法。
【請求項6】
前記1つ以上のコアの各コアの最小安全電圧をストレージ位置に保存することをさらに含む、
請求項1の方法。
【請求項7】
前記1つ以上のコアをオーバークロックする要求に応じて、前記1つ以上のコアの各コアの最小安全電圧をロードすることをさらに含む、
請求項6の方法。
【請求項8】
1つ以上のコアを含むコンピュータプロセッサにおいて自動電圧再構成するための装置であって、
電圧構成モジュールを備え、
前記電圧構成モジュールは、
1つ以上のユーザ指定のワークロードを実行することと、
前記ユーザ指定のワークロードに基づいて、1つ以上のコアの各コアの最小安全電圧を決定することと、
各コアの最小安全電圧に基づいて、前記1つ以上のコアの各コアの電圧構成を変更することと、
を行うように構成されている、
装置。
【請求項9】
前記1つ以上のコアの各コアの最小安全電圧を決定することは、前記1つ以上のユーザ指定のワークロードの実行中に、障害状態が識別されるまで前記1つ以上のコアの各コアの動作電圧を変更することを含む、
請求項8の装置。
【請求項10】
前記電圧構成モジュールは、前記1つ以上のユーザ指定のワークロードとして、1つ以上の所定のテストパターンの選択を受信するように構成されている、
請求項8の装置。
【請求項11】
前記各コアの電圧構成は、周波数電圧曲線のマージンを含む、
請求項8の装置。
【請求項12】
1つ以上のユーザ指定のワークロードを実行することは、1つ以上のソフトウェアアプリケーションとの1つ以上のユーザインタラクションに基づいている、
請求項8の装置。
【請求項13】
前記1つ以上のコアの各コアの最小安全電圧をストレージ位置に保存するように構成されている、
請求項8の装置。
【請求項14】
前記電圧構成モジュールは、前記1つ以上のコアをオーバークロックする要求に応じて、前記1つ以上のコアの各コアの最小安全電圧をロードするように構成されている、
請求項13の装置。
【請求項15】
1つ以上のコアを含むコンピュータプロセッサにおいて自動電圧再構成するためのコンピュータプログラム製品であって、コンピュータ可読記憶媒体に配置されたコンピュータプログラム命令を含み、
前記コンピュータプログラム命令は、実行されると、
1つ以上のユーザ指定のワークロードを実行することと、
前記ユーザ指定のワークロードに基づいて、1つ以上のコアの各コアの最小安全電圧を決定することと、
各コアの最小安全電圧に基づいて、前記1つ以上のコアの各コアの電圧構成を変更することと、
を含むステップをコンピュータに実行させる、
コンピュータプログラム製品。
【請求項16】
前記1つ以上のコアの各コアの最小安全電圧を決定することは、前記1つ以上のユーザ指定のワークロードの実行中に、障害状態が識別されるまで前記1つ以上のコアの各コアの動作電圧を変更することを含む、
請求項15のコンピュータプログラム製品。
【請求項17】
前記ステップは、前記1つ以上のユーザ指定のワークロードとして、1つ以上の所定のテストパターンの選択を受信することを含む、
請求項15のコンピュータプログラム製品。
【請求項18】
前記各コアの電圧構成は、周波数電圧曲線のマージンを含む、
請求項15のコンピュータプログラム製品。
【請求項19】
1つ以上のユーザ指定のワークロードを実行することは、1つ以上のソフトウェアアプリケーションとの1つ以上のユーザインタラクションに基づいている、
請求項15のコンピュータプログラム製品。
【請求項20】
前記ステップは、前記1つ以上のコアの各コアの最小安全電圧をストレージ位置に保存することを含む、
請求項15のコンピュータプログラム製品。
【発明の詳細な説明】
【背景技術】
【0001】
中央処理装置は、周波数電圧曲線にマージンを備えて出荷される。マージンは、「最悪の場合」のシナリオで中央処理装置が適切に機能するのを確実にするように設定されている。これらの「最悪のケース」のシナリオは、通常、中央処理装置の実際の環境及びユースケースのシナリオを反映していない。
【図面の簡単な説明】
【0002】
図1】いくつかの実施形態による、自動電圧再構成の例示的なプロセッサのブロック図である。
図2】いくつかの実施形態による、自動電圧再構成の例示的な方法のフローチャートである。
図3】いくつかの実施形態による、自動電圧再構成のための例示的な方法のフローチャートである。
図4】いくつかの実施形態による、自動電圧再構成の例示的な方法のフローチャートである。
図5】いくつかの実施形態による、自動電圧再構成の例示的な方法のフローチャートである。
【発明を実施するための形態】
【0003】
いくつかの実施形態では、自動電圧再構成の方法は、1つ以上のユーザ指定のワークロードを実行することと、ユーザ指定のワークロードに基づいて、1つ以上のコアの各コアの最小安全電圧を決定することと、それぞれの最小安全電圧に基づいて、1つ以上のコアの各コアの電圧構成を変更することと、を含む。
【0004】
いくつかの実施形態では、1つ以上のコアの各コアの最小安全電圧を決定することは、1つ以上のユーザ指定のワークロードの実行中に、障害状態が識別されるまで1つ以上のコアの各コアの動作電圧を変更することを含む。いくつかの実施形態では、この方法は、1つ以上のユーザ指定のワークロードとして、1つ以上の所定のテストパターンの選択を受信することをさらに含む。いくつかの実施形態では、それぞれの電圧構成は、周波数電圧曲線のマージンを含む。いくつかの実施形態では、1つ以上のユーザ指定のワークロードの実行は、1つ以上のソフトウェアアプリケーションとの1つ以上のユーザインタラクションに基づいている。いくつかの実施形態では、この方法は、1つ以上のコアの各コアの最小安全電圧をストレージ位置に保存することをさらに含む。いくつかの実施形態では、この方法は、1つ以上のコアをオーバークロックする要求に応じて、1つ以上のコアの各コアの最小安全電圧をロードすることをさらに含む。
【0005】
いくつかの実施形態では、自動電圧再構成用の装置は、1つ以上のユーザ指定のワークロードを実行することと、ユーザ指定のワークロードに基づいて、1つ以上のコアの各コアの最小安全電圧を決定することと、それぞれの最小安全電圧に基づいて、1つ以上のコアの各コアの電圧構成を変更することと、を含むステップを行う。
【0006】
いくつかの実施形態では、1つ以上のコアの各コアの最小安全電圧を決定することは、1つ以上のユーザ指定のワークロードの実行中に、障害状態が識別されるまで1つ以上のコアの各コアの動作電圧を変更することを含む。いくつかの実施形態では、このステップは、1つ以上のユーザ指定のワークロードとして、1つ以上の所定のテストパターンの選択を受信することをさらに含む。いくつかの実施形態では、それぞれの電圧構成は、周波数電圧曲線のマージンを含む。いくつかの実施形態では、1つ以上のユーザ指定のワークロードの実行は、1つ以上のソフトウェアアプリケーションとの1つ以上のユーザインタラクションに基づいている。いくつかの実施形態では、このステップは、1つ以上のコアの各コアの最小安全電圧をストレージ位置に保存することをさらに含む。いくつかの実施形態では、このステップは、1つ以上のコアをオーバークロックする要求に応じて、1つ以上のコアの各コアの最小安全電圧をロードすることをさらに含む。
【0007】
いくつかの実施形態では、コンピュータ可読媒体に配置された自動電圧再構成のためのコンピュータプログラム製品は、実行されると、1つ以上のユーザ指定のワークロードを実行することと、ユーザ指定のワークロードに基づいて、1つ以上のコアの各コアの最小安全電圧を決定することと、それぞれの最小安全電圧に基づいて、1つ以上のコアの各コアの電圧構成を変更することと、を含むステップをコンピュータに実行させるコンピュータプログラム命令を含む。
【0008】
いくつかの実施形態では、1つ以上のコアの各コアの最小安全電圧を決定することは、1つ以上のユーザ指定のワークロードの実行中に、障害状態が識別されるまで1つ以上のコアの各コアの動作電圧を変更することを含む。いくつかの実施形態では、このステップは、1つ以上のユーザ指定のワークロードとして、1つ以上の所定のテストパターンの選択を受信することをさらに含む。いくつかの実施形態では、それぞれの電圧構成は、周波数電圧曲線のマージンを含む。いくつかの実施形態では、1つ以上のユーザ指定のワークロードを実行することは、1つ以上のソフトウェアアプリケーションとの1つ以上のユーザインタラクションに基づいている。いくつかの実施形態では、このステップは、1つ以上のコアの各コアの最小安全電圧をストレージ位置に保存することをさらに含む。いくつかの実施形態では、このステップは、1つ以上のコアをオーバークロックする要求に応じて、1つ以上のコアの各コアの最小安全電圧をロードすることをさらに含む。
【0009】
本願による自動電圧再構成は、概して、コンピュータ、すなわち、自動コンピューティング機で実装される。したがって、さらなる説明のために、図1は、特定の実施形態による自動電圧再構成のために構成された例示的なコンピュータ100を含む自動コンピューティング機のブロック図を示している。図1のコンピュータ100は、少なくとも1つのコンピュータプロセッサ102又は「CPU」と、高速メモリバス106及びバスアダプタ108を介してプロセッサ102及びコンピュータ100の他の構成要素に接続されるランダムアクセスメモリ104(RAM)と、を含む。
【0010】
RAM104に格納されているのは、オペレーティングシステム110である。特定の実施形態による自動電圧再構成のために構成されたコンピュータで有用なオペレーティングシステムには、UNIX(登録商標)、Linux(登録商標)、Microsoft Windows(登録商標)、及び、当業者が思い浮かぶ他のものが含まれる。図1の例のオペレーティングシステム110は、RAM104に示されているが、そのようなソフトウェアの多くの構成要素は、通常、例えば、ディスクドライブ等のデータストレージ112等の不揮発性メモリにも格納されている。また、RAMには、電圧再構成モジュール114や、特定の実施形態による自動電圧再構成のためのモジュールが格納されている。
【0011】
図1のコンピュータ100は、拡張バス118及びバスアダプタ108を介してプロセッサ102及びコンピュータ100の他の構成要素に結合されたディスクドライブアダプタ116を含む。ディスクドライブアダプタ116は、不揮発性データストレージをデータストレージ112の形でコンピュータ100に接続する。特定の実施形態による自動電圧再構成用に構成されたコンピュータで有用なディスクドライブアダプタには、統合ドライブエレクトロニクス(IDE)アダプタ、スモールコンピュータシステムインターフェース(SCSI)アダプタ、及び、当業者が思い浮かぶ他のものを含む。いくつかの実施形態では、不揮発性コンピュータメモリは、当業者が思い浮かぶように、光ディスクドライブ、電気的に消去可能なプログラム可能な読み取り専用メモリ(いわゆる「EEPROM」又は「フラッシュ」メモリ)、RAMドライブ等として実装される。
【0012】
図1の例示的なコンピュータ100は、1つ以上の入力/出力(I/O)アダプタ120を含む。I/Oアダプタは、例えば、コンピュータディスプレイ画面等のディスプレイデバイスへの出力や、キーボード及びマウス等のユーザ入力デバイス122からのユーザ入力を制御するためのソフトウェアドライバ及びコンピュータハードウェアを介してユーザ指向の入出力を実装する。図1の例示的なコンピュータ100は、ビデオアダプタ124を含み、これは、ディスプレイ画面又はコンピュータモニタ等のディスプレイデバイス126へのグラフィック出力のために特別に設計されたI/Oアダプタの例である。ビデオアダプタ124は、高速ビデオバス128、バスアダプタ108、及び、高速ビデオバスでもあるフロントサイドバス130を介してプロセッサ102に接続されている。
【0013】
図1の例示的なコンピュータ100は、他のコンピュータとのデータ通信及びデータ通信ネットワークとのデータ通信のための通信アダプタ132を含む。このようなデータ通信は、RS-232接続、ユニバーサルシリアルバス(USB)等の外部バス、IPデータ通信ネットワーク等のデータ通信ネットワーク、及び/又は、当業者が思い浮かぶその他の方法でシリアルに実行される。通信アダプタは、あるコンピュータが直接又はデータ通信ネットワークを介して別のコンピュータにデータ通信を送信するハードウェアレベルのデータ通信を実装する。特定の実施形態による自動電圧再構成用に構成されたコンピュータで有用な通信アダプタの例には、有線ダイヤルアップ通信用のモデム、有線データ通信用のイーサネット(登録商標)(IEEE 802.3)アダプタ、及び、無線データ通信用の802.11アダプタが含まれる。
【0014】
さらなる説明のために、図2は、1つ以上のユーザ指定のワークロードを(例えば、電圧再構成モジュール114によって)実行すること202を含む、自動電圧再構成の例示的な方法を示すフローチャートを示している。実施形態では、1つ以上のユーザ指定のワークロードは、1つ以上の所定の又は事前に生成されたワークロードを含む。例えば、所定のワークロードには、所定のテストパターン、テストスイート、ストレステスト、又は、所定の操作の他の所定のグループが含まれる。実施形態では、1つ以上のユーザ指定のワークロードは、複数のテストパターンから選択される。例えば、複数の異なるテストパターンのそれぞれには、グラフィックレンダリング、コードコンパイル、データ処理等、特定のタイプの計算又はアプリケーションに関連する操作が含まれる。
【0015】
別の実施形態では、1つ以上のユーザ指定のワークロードは、ユーザが実行する操作又はユーザが開始する操作である。例えば、ユーザは、実行するソフトウェアアプリケーション又はプロセスを選択する。次に、ユーザは、実行されたソフトウェアアプリケーションとインタラクト(interact)する。換言すると、1つ以上のユーザ指定のワークロードを実行することは、1つ以上のソフトウェアアプリケーションとの1つ以上のユーザインタラクションに基づいている。
【0016】
図2の方法には、ユーザ指定のワークロードに基づいて、1つ以上のコアの各コアの最小安全電圧を決定すること204も含まれる。1つ以上のユーザ指定ワークロードの実行中(例えば、1つ以上の選択された所定のテストパターンの実行中、1つ以上のソフトウェアアプリケーションとのユーザインタラクション中)、電圧再構成モジュール114は、1つ以上のコアの動作電圧を変更する。例えば、電圧再構成モジュール114は、所定の条件が満たされるまで、様々な電圧で動作するように1つ以上のコアを構成する。この例を続けると、電圧再構成モジュール114は、所定の条件が満たされるまで、各コアの動作電圧を所定の間隔又は増分だけ減少させる。所定の条件には、機能又は操作の完了の失敗、コード実行での例外の生成、所定の時間枠内の機能又は操作の完了の失敗等が含まれる。次に、特定のコアの最小安全電圧は、所定の条件が満たされない最後の動作電圧(例えば、動作電圧を下げて所定の条件が満たされる前)に決定される。
【0017】
また、図2の方法は、それぞれの最小安全電圧に基づいて、1つ以上のコアの各コアの電圧構成を変更すること206を含む。実施形態では、それぞれの電圧構成は、周波数電圧曲線のマージンを含む。例えば、各コアは、特定の動作電圧に対して、コアの対応する周波数を定義する周波数電圧曲線に対応する。各周波数電圧曲線には、対応するコアが動作できる最小電圧と最大電圧とが含まれている。したがって、それぞれの電圧構成を変更することは、周波数電圧曲線の最小電圧を下げることを含む。したがって、変更後、各コアは、より低次の可能な最小動作電圧を有する。言い換えれば、低電圧のために低減された最小電圧が確立される。
【0018】
実施形態では、各コアの電圧構成を変更して、より低次の可能な最小動作電圧で動作させるが、必ずしもコアをその最小動作電圧で動作させるとは限らない。例えば、実施形態では、コアの動作電圧を変更するための要求又は他の入力がなされるまで、コアの動作電圧が(例えば、決定された最小安全電圧まで)低下されない。実施形態では、より低い動作電圧で動作することにより、所定のコアの周波数は、次に、変更された周波数電圧曲線に従って増加する(例えば、オーバークロックされる)。例えば、システム管理ユニットは、コアの動作電圧に基づいて、特定のコアの周波数を自動的に調整する。
【0019】
上記のように、各コアの最小安全電圧は、ユーザ指定のワークロードに基づいて決定される。配布する前に、チップは「最悪の場合」の条件下で機能するかどうかがテストされる(例えば、特定のストレステスト、より高い熱条件等)。これらの「最悪の場合」の条件下でのチップの動作を保証するための動作マージンを備えたチップ(例えば、各コア)の周波数電圧曲線である。通常のユーザの操作は、これらの最悪の場合の条件に対応しない。例えば、適切又はハイエンドの冷却のユーザシステムは、チップがテストされた最悪の場合の熱の条件に到達しない。別の例として、チップに適用される特定のストレステストは、チップの一般的なユーザ操作を反映しない。言い換えると、チップは、チップが究極的に動作する環境とワークロードを反映しないテスト条件を満たすように制約される。
【0020】
例えば、チップがテストされ、特定の電圧で、コードコンパイルストレステストのみがチップの故障を引き起こすことがわかったと仮定する。次に、チップの周波数電圧曲線を変更して、この電圧を回避する。例えば、周波数電圧曲線の最小電圧は、コードコンパイルストレステストでは失敗した電圧よりも大きくなるように設定される。同様のコードコンパイル動作を実行する可能性が低い又は決して実行しないユーザの場合、これによりチップに不要な制限が課せられる。この制限を克服するために、電圧再構成モジュール114は、ユーザ指定のワークロード(例えば、ユーザによって選択された所定のワークロード、又は、ユーザ指定のアプリケーション及びインタラクション)の最小安全電圧を決定する。したがって、最小安全電圧は、個々のシステムの動作環境と使用例を反映するように変更される。
【0021】
さらなる説明のために、図3は、1つ以上のユーザ指定のワークロードを(例えば、電圧再構成モジュール114によって)実行すること202と、ユーザ指定のワークロードに基づいて、1つ以上のコアの各コアの最小安全電圧を決定すること204と、それぞれの最小安全電圧に基づいて、1つ以上のコアの各コアの電圧構成を変更すること206と、を含む、自動電圧再構成の例示的な方法を示すフローチャートを示す。
【0022】
図3の方法は、ユーザ指定のワークロードに基づいて、1つ以上のコアの各コアの最小安全電圧を決定すること204が、1つ以上のユーザ指定のワークロードの実行中に、障害状態が識別されるまで1つ以上のコアの各コアの動作電圧を変更すること302を含むという点で、図2とは異なる。例えば、電圧再構成モジュール114は、1つ以上のユーザ指定のワークロードに対して並列又はバックグラウンドプロセスとして動作し、障害状態が識別されるまで、動作電圧の異なる組み合わせ又は設定で動作するように1つ以上のコアを変更する。障害状態には、ソフトウェアのクラッシュ若しくは例外、1つ以上のユーザ指定のワークロードの特定のサービスの質の維持の失敗、閾値時間内での操作の完了の失敗、又は、その他の基準が含まれる。次に、特定のコアの最小安全電圧が、障害状態の原因となった動作電圧よりも大きい、コアの最後にテストされた動作電圧として決定される。
【0023】
さらなる説明のために、図4は、1つ以上のユーザ指定のワークロードを(例えば、電圧再構成モジュール114によって)実行すること202と、ユーザ指定のワークロードに基づいて、1つ以上のコアの各コアの最小安全電圧を決定すること204と、それぞれの最小安全電圧に基づいて、1つ以上のコアの各コアの電圧構成を変更すること206と、を含む、自動電圧再構成の例示的な方法を示すフローチャートを示す。
【0024】
図4の方法は、図4の方法が、1つ以上のユーザ指定のワークロードとして1つ以上の所定のテストパターン(事前定義されたテストパターン)の選択を受信すること402も含むという点で、図2とは異なる。実施形態では、所定のテストパターンのそれぞれは、ワークロードの特定のタイプ又はカテゴリ(例えば、コードコンパイル、グラフィックレンダリング、データ処理、データベースアプリケーション、データストレージ、ネットワーキング等)に対応する。次に、ユーザは、1つ以上の所定のテストパターンを選択して、電圧再構成モジュール114が、選択された特定のタイプのワークロードに従って各コアの最小安全電圧を自動的に構成できるようにする。例えば、ユーザは、予想される又は望ましいユースケースに基づいてワークロードを選択する。
【0025】
さらなる説明のために、図5は、1つ以上のユーザ指定のワークロードを(例えば、電圧再構成モジュール114によって)実行すること202と、ユーザ指定のワークロードに基づいて、1つ以上のコアの各コアの最小安全電圧を決定すること204と、それぞれの最小安全電圧に基づいて、1つ以上のコアの各コアの電圧構成を変更すること206と、を含む、自動電圧再構成の例示的な方法を示すフローチャートを示す。
【0026】
図5の方法は、図5の方法が、1つ以上のコアの各コアの最小安全電圧504をストレージ位置(貯蔵場所)506に保存すること502も含むという点で、図2とは異なる。実施形態では、ストレージ位置506は、電圧再構成モジュール114を実行するコンピュータ100の不揮発性メモリ(例えば、ディスクストレージ)を含む。代替の実施形態では、ストレージ位置506は、電圧再構成モジュール114を実行するコンピュータ100から遠隔に配置されたストレージを含む。例えば、ストレージ位置506は、クラウドストレージシステム又はネットワークサーバ等のリモートストレージシステムを含む。
【0027】
また、図5の方法は、1つ以上のコアをオーバークロックする要求510に応じて、(例えば、ストレージ位置506から)1つ以上のコアの各コアの最小安全電圧504をロードすること508を含む。実施形態では、1つ以上のコアをオーバークロックするための要求510は、1つ以上のコアをオーバークロックするためのユーザ入力(例えば、ユーザインターフェースへの)に応じて生成される。代替の実施形態では、1つ以上のコアをオーバークロックする要求510は、1つ以上のコアをオーバークロックすることを要求するオペレーティングシステム110又はアプリケーションによって生成される。ストレージ位置506がローカル不揮発性メモリである場合、最小安全電圧504は、不揮発性メモリから(例えば、ランダムアクセスメモリ又は他のメモリに)ロードされる。ストレージ位置506がリモートストレージシステム(例えば、クラウドストレージシステム又はネットワークサーバ)である場合、最小安全電圧504がリモートストレージシステムから要求される。したがって、それぞれの電圧構成は、ロードされた508最小安全電圧504を使用して変更される206。
【0028】
上記の説明を考慮すると、本開示の実施形態による、自動電圧再構成の利点は、
・実際の動作環境と使用例を反映するようにコアの最小安全動作電圧を調整することによって、コンピューティングシステムのパフォーマンスが向上することを含むことを読者は認識するであろう。
【0029】
本開示の例示的な実施形態は、主として、自動電圧再構成のための完全に機能するコンピュータシステムの文脈で説明される。また、一方、本開示は、任意の好適なデータ処理システムと共に使用するために、コンピュータ可読記憶媒体上に配置されたコンピュータプログラム製品にも具現化できることを、当業者である読者は認識するであろう。そのようなコンピュータ可読記憶媒体は、磁気媒体、光学媒体又は他の好適な媒体を含む、機械可読情報のための任意の記憶媒体であってもよい。そのような媒体の例としては、ハードドライブ又はディスケット内の磁気ディスク、光学ドライブ用のコンパクトディスク、磁気テープ、及び、当業者が思いつくであろう他のものが挙げられる。当業者であれば、好適なプログラミング手段を有する任意のコンピュータシステムが、コンピュータプログラム製品に具現化された本開示の方法のステップを実行することができることを直ちに認識するであろう。当業者であれば、本明細書に記載されている例示的な実施形態の一部は、コンピュータハードウェア上にインストールされて実行されるソフトウェアに適応されているが、それにもかかわらず、ファームウェアとして又はハードウェアとして実装される代替実施形態が、本開示の範囲内に十分に含まれることも認識するであろう。
【0030】
本開示は、システム、方法、及び/又は、コンピュータプログラム製品であることが可能である。コンピュータプログラム製品は、本開示の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその媒体上に有するコンピュータ可読記憶媒体(複数可)を含み得る。
【0031】
コンピュータ可読記憶媒体は、命令実行デバイスが使用するための命令を保持及び格納することができる有形のデバイスである場合がある。コンピュータ可読記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光学式記憶装置、電磁記憶装置、半導体記憶装置、又は、これらの任意の好適な組み合わせとすることができるが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、以下、つまりポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリーメモリ(CD-ROM)、デジタルバーサタイルディスク(DVD)、メモリースティック、フロッピー(登録商標)ディスク、命令が記録されたパンチカード又は溝内の隆起構造等の機械的にエンコードされたデバイス、及び、上記の任意の好適な組み合わせを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波若しくは他の自由に伝播する電磁波、導波管若しくは他の伝送媒体を伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は、電線を介して伝送される電気信号等のように、それ自体が一時的な信号であると解釈されるべきではない。
【0032】
本明細書に説明されているコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各コンピューティング/プロセッシングデバイスに、又は、ネットワーク(例えば、インターネット、ローカルエリアネットワーク、広域ネットワーク及び/又はワイヤレスネットワーク)を介して外部のコンピュータ若しくは外部記憶装置にダウンロードすることができる。ネットワークは、銅製の伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又は、エッジサーバを含み得る。各コンピューティング/処理デバイスのネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そのコンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に格納する。
【0033】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Smalltalk、C++等のオブジェクト指向プログラミング言語や、「C」プログラミング言語若しくは類似のプログラミング言語等の従来の手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコード若しくはオブジェクトコードのいずれかであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、一部はユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、一部はユーザのコンピュータ上で、一部はリモートコンピュータ上で、又は、完全にリモートコンピュータ又はサーバ上で実行され得る。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)若しくはワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続することができ、又は、外部のコンピュータに(例えば、インターネットサービスプロバイダを用いるインターネット経由で)接続することができる。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)又はプログラマブルロジックアレイ(PLA)を含む電子回路は、本開示の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【0034】
本開示の態様は、本開示の実施形態による方法、装置(システム)及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して本明細書で説明される。フローチャート図及び/又はブロック図の各ブロック及びフローチャート図及び/又はブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
【0035】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、特殊用途コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサに提供されて、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャート及び/又はブロック図の1つ以上のブロックで指定される機能/行為を実施するための手段を生成するような機械を製造し得る。これらのコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体に保存することもでき、このコンピュータ可読記憶媒体は、その中に保存された命令を有するコンピュータ可読記憶媒体が、コンピュータ、プログラム可能なデータ処理装置及び/又は他のデバイスに、フローチャート及び/又はブロック図の1つ以上のブロックで指定される機能/行為の態様を実施する命令を含む製造品を含むような特定の方法で機能するように指示することができる。
【0036】
また、コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能なデータ処理装置又は他のデバイスにロードすることで、一連の操作ステップを、コンピュータ、他のプログラム可能なデータ処理装置又は他のデバイス上で実行し、コンピュータ、他のプログラム可能なデータ処理装置又は他のデバイスで実行される命令がフローチャート及び/又はブロック図の1つ以上のブロックで指定される機能/行為を実施するようなコンピュータ実施プロセスを生成することができる。
【0037】
図中のフローチャート及びブロック図は、本開示の様々な実施形態によるシステム、方法及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能及び動作を示している。この関連で、フローチャート又はブロック図の各ブロックは、特定の論理機能(複数可)を実装するための1つ以上の実行可能な命令を含む、命令のモジュール、セグメント又は部分を表し得る。いくつかの代替の実施態様では、ブロックに示されている機能が、図に示されている順序から外れて行われることがある。例えば、連続して提示されている2つのブロックが、実際には実質的に同時に実行されてもよく、又は、関係している機能に応じて、ブロックが逆の順序で実行されることがあってもよい。また、ブロック図及び/又はフローチャート図の各ブロック、並びに、ブロック図及び/又はフローチャート図中のブロックの組み合わせは、特定の機能若しくは行為を実行する、又は、特殊用途のハードウェアとコンピュータ命令との組み合わせを実行する、特殊用途のハードウェアベースシステムによって実施することができることにも留意されたい。
【0038】
上記の説明から、本開示の様々な実施形態において修正及び変更を行い得ることが理解されよう。本明細書中の記述は、説明のためのものに過ぎず、限定的な意味で解釈されるべきではない。本開示の範囲は、以下の特許請求の範囲の文言によってのみ限定される。
図1
図2
図3
図4
図5
【手続補正書】
【提出日】2022-08-17
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つ以上のコアを含むコンピュータプロセッサにおける自動電圧再構成の方法であって、
1つ以上のユーザ指定のワークロードを実行することと、
前記ユーザ指定のワークロードに基づいて、前記1つ以上のコアの各コアの最小安全電圧を決定することと、
各コアの最小安全電圧に基づいて、前記1つ以上のコアの各コアの電圧構成を変更することと、を含む、
方法。
【請求項2】
前記1つ以上のコアの各コアの最小安全電圧を決定することは、前記1つ以上のユーザ指定のワークロードの実行中に、障害状態が識別されるまで前記1つ以上のコアの各コアの動作電圧を変更することを含む、
請求項1の方法。
【請求項3】
前記1つ以上のユーザ指定のワークロードとして、1つ以上の所定のテストパターンの選択を受信することをさらに含む、
請求項1の方法。
【請求項4】
前記各コアの電圧構成は、周波数電圧曲線のマージンを含む、
請求項1の方法。
【請求項5】
1つ以上のユーザ指定のワークロードを実行することは、1つ以上のソフトウェアアプリケーションとの1つ以上のユーザインタラクションに基づいている、
請求項1の方法。
【請求項6】
前記1つ以上のコアの各コアの最小安全電圧をストレージ位置に保存することをさらに含む、
請求項1の方法。
【請求項7】
前記1つ以上のコアをオーバークロックする要求に応じて、前記1つ以上のコアの各コアの最小安全電圧をロードすることをさらに含む、
請求項6の方法。
【請求項8】
1つ以上のコアを含むコンピュータプロセッサにおいて自動電圧再構成するための装置であって、
電圧構成モジュールを備え、
前記電圧構成モジュールは、
1つ以上のユーザ指定のワークロードを実行することと、
前記ユーザ指定のワークロードに基づいて、1つ以上のコアの各コアの最小安全電圧を決定することと、
各コアの最小安全電圧に基づいて、前記1つ以上のコアの各コアの電圧構成を変更することと、
を行うように構成されている、
装置。
【請求項9】
前記1つ以上のコアの各コアの最小安全電圧を決定することは、前記1つ以上のユーザ指定のワークロードの実行中に、障害状態が識別されるまで前記1つ以上のコアの各コアの動作電圧を変更することを含む、
請求項8の装置。
【請求項10】
前記電圧構成モジュールは、前記1つ以上のユーザ指定のワークロードとして、1つ以上の所定のテストパターンの選択を受信するように構成されている、
請求項8の装置。
【請求項11】
前記各コアの電圧構成は、周波数電圧曲線のマージンを含む、
請求項8の装置。
【請求項12】
1つ以上のユーザ指定のワークロードを実行することは、1つ以上のソフトウェアアプリケーションとの1つ以上のユーザインタラクションに基づいている、
請求項8の装置。
【請求項13】
前記1つ以上のコアの各コアの最小安全電圧をストレージ位置に保存するように構成されている、
請求項8の装置。
【請求項14】
前記電圧構成モジュールは、前記1つ以上のコアをオーバークロックする要求に応じて、前記1つ以上のコアの各コアの最小安全電圧をロードするように構成されている、
請求項13の装置。
【国際調査報告】