説明

特定用途向け集積回路のための電力消費の調整

【解決手段】
例えばグラフィックス処理ユニットのような特定用途向け集積回路(ASIC)における電力消費を調整するためのシステム、方法、及びコンピュータプログラム製品が提供される。当該方法においては、ASIC内に含まれるコンピュータ可読情報からASICの漏れ電流の値が受け取られる。ASICの漏れ電流の値に基いて、ASICの1つ以上の動作パラメータ、例えばASICへの供給電圧、ASICのエンジン速度、及び/又はASICを冷却するために用いられるファンのファン速度が調節される。随意的には、1つ以上の動作パラメータは、ASIC上で実行されているアプリケーションの種類に基いても調節され得る。また、ASICへの供給電圧は、ASICの温度がスレッショルドを超えた場合に遮断されてよい(随意的に)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概してコンピューティングデバイスに関し、更に特定的にはコンピューティングデバイス内に含まれる特定用途向け集積回路に関する。
【背景技術】
【0002】
特定用途向け集積回路(application-specific integrated circuit)(ASIC)は特定のアプリケーションを実行するために設計される集積回路である。例えば、グラフィックス処理ユニット(GPU)はグラフィックス処理タスクを実行するために設計されるASICの一種である。ASICを作製するために、一群のトランジスタ及び他の回路要素が1つの単結晶基板(例えばシリコン基板)上に製造される。
【0003】
残念なことに、ASICを製造するために単一種類の結晶性基板が用いられているとしても、ASICは典型的には製品種目にかかわらず広範な漏れ電流、即ち不所望な経路に沿った電流フローを有するであろう。大きな漏れ電流を有するASICは小さな漏れ電流を有するASICよりも多くの電力を消費することになるので、ASICベースの製品の広範な漏れ電流は、ASICベースの製品内での広範な電力消費を引き起こし得る。ASICベースの製品の種目を超えた広範な電力消費は、幾つかの理由により問題である。
【0004】
まず、ASICベースの製品の種目(例えばグラフィックスカードの種目)を超えた広範な電力消費は、そのASICベースの製品の種目を含むシステムプラットフォーム(例えばコンピュータプラットフォーム)の大きな電力経費をもたらすであろう。その種目の製品は、平常動作状態の間には目標電力(例えば70ワット)で動作するように構成されているかもしれない。しかし、過度な動作状態においては、その種目のごく少数の製品は大きな電力(例えば200ワット)で動作することがある。システムプラットフォーム開発者は、たとえ最悪電力消費の発生確率が時間的に1%未満にすぎないとしても、その製品種目における製品の最悪電力消費(例えば200ワット)を考慮しなければならない。
【0005】
また、ASICベースの製品の種目を超えた広範な電力消費は、より高価な製品種目をもたらす可能性がる。製造供給元は典型的には、公表エンジン速度(例えば4ギガヘルツ)で動作するようにASICベースの製品を製造する。同じエンジン速度で動作するために、小さな漏れ電流を有するASICは高い供給電圧を必要とし、また大きな漏れ電流を有するASICは低い供給電圧を必要とする。単一の製造ロット内のASICは典型的には広範な漏れ電流を有するので、単一の製造ロットからのASICは、公表エンジン速度で動作するために広範な供給電圧を必要とするであろう。そして広範な供給電圧は、単一の製造ロット内の複数のASICにわたる広範な電力消費をもたらすことになる。複数のASICにわたる電力消費が所要の範囲に入っていない場合には、製造供給元はその所要の範囲内で電力を消費する、製造ロット内の一定割合のASICだけを選択することができるであろうが、それにより製造歩留まりの効率を事実上低下させてしまう。製造歩留まりにおける効率の低下のコストを補うために、製造供給元は典型的には製造種目における各ASICベースの製品の価格を上げる。
【0006】
ASICベースの製品の種目にわたる広範な電力消費に対処するための有望な解決法は、ASICの漏れ電流に基き特定のアプリケーションに対してASICを標識付けておく(earmark)ことである。例えば小さな漏れ電流を有するASICはモバイルコンピューティングデバイス(効率的な電力消費が重要なファクタである)において使用されるために標識付けられるであろう一方で、大きな漏れ電流を有するASICはデスクトップコンピュータ(効率的な電力消費は極めて重要なファクタではない)において使用されるために標識付けられるであろう。しかし、この種の標識付け解決法にも問題がある。
【0007】
まず、幾つかのASICは効率的な電力消費が最優先である環境においてのみ使用されることがある。例えば、幾つかのASICはモバイルコンピューティングデバイスにおいてのみ動作するように設計されていることがある。標識付け解決法はそのようなASICに対しては効果的ではないであろう。
【0008】
また、標識付け解決法は、大きな漏れ電流を有するASICに関連する非効率性には対処し得ない。地球規模の気候の変化に対する意識の向上に伴い、消費者は効率的な電力消費の更なる重要性を認識している。この重要性はおそらく来る数年の間に増大するにすぎないのかもしれない。効率的な電力消費に対する消費者の要望に加えて、すぐに新しいエネルギー基準がASICベースの製品における効率的な電力消費を要求するであろう。
【0009】
更に、標識付け解決法はASICベースの複数製品の種目にわたって効果的であり得るが、標識付け解決法は単一のASICベースの製品に関連する問題には対処し得ない。例えば、標識付け解決法は、ASICベースの製品を冷却するために用いられるファンの不所望な音響雑音を低減するのには役立たない。あるいは、標識付け解決法は、例えばASICベースの製品がさらされるであろう広範な動作環境によって生じ得るASICベースの製品の性能変化には対処し得ない。
【発明の概要】
【発明が解決しようとする課題】
【0010】
このような事情に鑑み、ASICにおける電力消費を調整するための方法、システム、及びコンピュータプログラム製品が求められている。
【課題を解決するための手段】
【0011】
本発明はGPUのようなASICにおける電力消費の調整に向けられている。重要な点は、本発明の種々の側面は電力経費を削減しまた製造歩留まりを向上させることである。また、本発明の種々の側面は、改善された音響雑音特性を提供し且つ新しいエネルギー基準(例えばエナジースター(Energy Star))に適合するように構成される。
【0012】
本発明の実施形態はASICにおける電力消費を調整するためのコンピュータベースの方法を提供する。このコンピュータベースの方法においては、ASIC内に含まれるコンピュータ可読情報からASICの漏れ電流の値が受け取られる。次いで、ASICの漏れ電流の値に基いて、ASICの1つ以上の動作パラメータ、例えばASICへの供給電圧、ASICのエンジン速度、及び/又はASICを冷却するために用いられるファンのファン速度が調節される。随意的には、1つ以上の動作パラメータは、ASIC上で実行されているアプリケーションの種類に基いて更に調節され得る。また、ASICへの電力は、ASICの温度がスレッショルドを超えた場合に遮断されてよい(随意的に)。
【0013】
本発明の他の実施形態は、ASICにおける電力消費をコンピュータに調整させるための制御論理が記憶されるコンピュータ可読記憶媒体を含むコンピュータプログラム製品を提供する。制御論理は、第1及び第2のコンピュータ可読プログラムコードを含む。第1のコンピュータ可読プログラムコードは、ASICの漏れ電流の値を受け取ることをコンピュータにさせるように構成される。第2のコンピュータ可読プログラムコードは、ASICの漏れ電流の値に基いてASICの1つ以上の動作パラメータを調節することをコンピュータにさせるように構成される。
【0014】
本発明の更なる実施形態はコンピューティングデバイスを提供する。コンピューティングデバイスはASIC及び機械可読記憶媒体を含む。機械可読記憶媒体は、機械可読記憶媒体内に記憶された、ASICにおける電力消費をコンピューティングデバイスに調整させるための制御論理を有している。制御論理は第1及び第2の機械可読プログラムコードを含む。第1の機械可読プログラムコードは、ASICの漏れ電流の値を受け取ることをコンピューティングデバイスにさせるように構成される。第2の機械可読プログラムコードは、ASICの漏れ電流の値に基いてASICの1つ以上の動作パラメータを調節することをコンピューティングデバイスにさせるように構成される。コンピューティングデバイスは、例えば、コンピュータ、ビデオゲームデバイス、携帯電話、パーソナルデジタルアシスタンス(PDA)、携帯デバイス、又は、ASICを有し且つ機械可読プログラムコードを実行するように構成される他の種類のデバイスを備えていてよい。
【0015】
本発明の更なる特徴及び利点の他、本発明の種々の実施形態の構成及び動作は、添付の図面を参照して以下に詳細に説明されている。
【図面の簡単な説明】
【0016】
添付の図面は、ここに組み込まれまた出願書類の一部をなし、本発明を示しそして、明細書と相俟って本発明の原理を説明すると共に関連分野を含めた当業者が本発明を作りまた使用することを可能にするのに役立つ。
【0017】
【図1】図1は例示的なコンピューティングデバイスを示すブロック図である。
【0018】
【図2】図2は例示的なグラフィックスカードを示すブロック図である。
【0019】
【図3】図3はグラフィックスを処理するための例示的なワークフローを示すブロック図である。
【0020】
【図4】図4はGPUの温度及び供給電圧を変化させることによる、異なる漏れ電流にわたるGPUの実質的に一定な電力消費を示すグラフである。
【0021】
【図5】図5はGPUの漏れ電流及び温度に基きGPUの1つ以上のパラメータを調節するための例示的な方法を示すブロック図である。
【0022】
【図6】図6はGPUの漏れ電流及びGPU上で実行されているアプリケーションの種類に基きGPUの1つ以上の動作パラメータを調節するための例示的な方法を示すブロック図である。
【0023】
【図7】図7は電力消費及び供給電力が温度に従って変化するときの小さな及び大きな漏れ電流に対する電力消費及び供給電圧の関係を示すグラフである。
【0024】
【図8】図8はファン能力及びエンジン速度が温度に従って変化するときのファン能力及びエンジン速度の関係を示すグラフである。
【0025】
【図9】図9は電力消費、ファン能力、及びエンジン速度が温度に従って変化するときの電力消費、ファン能力、及びエンジン速度を示すグラフである。
【0026】
本発明の特徴及び利益は、図面と共に以下に記述される詳細な説明からより明らかになり、図面において同様の参照符号は全体を通して対応する要素を特定する。図面において、同様の参照数字は一般的に同一の、機能的に類似の、及び/又は構造的に類似の要素を示す。ある要素が最初に現れる図面は対応する参照番号の一番左の桁の1つ以上の数字によって示される。
【発明を実施するための形態】
【0027】
I.序論
本発明はASICにおける電力消費を調整することに向けられている。以下の詳細な説明において、「1つの実施形態」、「実施形態」、「例示的実施形態」等に対する言及は、説明される実施形態が特定の特徴、構造、又は特性を含んでいてよいが、全ての実施形態が必ずしも当該特定の特徴、構造、又は特性を含む必要はないことを示している。また、そのような表現は必ずしも同じ実施形態を参照していない。更に、特定の特徴、構造、又は特性が実施形態に関連して説明されている場合には、明示的に説明されていようとなかろうと、他の実施形態に関連して当該特定の特徴、構造、又は特性を具現化することは当業者の知識の範囲内にあることと言える。
【0028】
限定ではなく例示の目的で、本発明の実施形態に従う電力調整が、電力調整されるGPUに関してここに説明される。しかし、そのような電力調整は他の種類のASICにも適用可能であることが理解されるべきである。ここに含まれる説明に基いて、関連分野を含む当業者であれば、どのようにして電力調整を他の種類のASICに実装するのかを理解するであろう。
【0029】
実施形態においては、GPUにおける電力消費はGPUの漏れ電流に基いて調整される。GPUの漏れ電流は、例えばGPUが製造された後に標準的な自動試験装置(automatic test equipment)(ATE)を用いて得ることができる。漏れ電流の値は次いでGPUに含まれるコンピュータ可読情報内に盛り込まれてよい。例えば、漏れ電流の値は、ニューヨーク、アーモンクのアイビーエムコープ(IBM Corp. of Armonk, New York)によって開発されたイーフューズ(eFUSE)を用いることによって、コンピュータ可読情報内に登録することができる。
【0030】
動作の間、GPUの1つ以上の動作パラメータがGPUの漏れ電流の値に基いて調節される。1つ以上の動作パラメータは、限定はされないが、GPUへの供給電圧、GPUのエンジン速度、GPUを冷却するために用いられるファンのファン速度、あるいは関連分野を含む当業者に明らかであろうような他の動作パラメータを含む。随意的には、1つ以上の動作パラメータは、GPU上で実行されているアプリケーションの種類に基いて且つ/又はGPUがさらされている環境条件に基いて更に調節されてよい。また、GPUの温度がスレッショルドを超えた場合には、GPUへの電力は遮断されてよい(随意的に)。
【0031】
本発明の実施形態に従ってGPUの電力消費を調整することによって、GPUの電力消費を同じGPUが従来の方法で動作した場合よりも実質的に小さくすることができる。例えば、あるGPUが従来の方法では約Xワットの電力を消費するであろう一方で、本発明の実施形態に従って電力消費を調整することによって、その同じGPUは約0.67Xワットから約0.77Xワットを消費するであろう。
【0032】
また、GPUの電力消費が本発明の実施形態に従って調整される場合、GPUのグラフィックスカードもまた従来のグラフィックスカードよりも小さい電力を消費することになろう。上述の例では、あるグラフィックスカードが従来の方法では約1.4Xワットの電力を消費するであろう一方で、本発明の実施形態に従って電力消費を調整することによって、その同じグラフィックスカードは約1.2Xワットを消費するであろう。その結果、本発明の実施形態に従い電力調整されたグラフィックスカードを用いる相手先ブランド製品の製造者(original equipment manufacturer)(OEM)は、そのOEMが従来のグラフィックスカードに対してカードあたり1.4Xワットを計上しなければならなかったのに対して、カードあたり1.2Xワットの電力を計上すれば足りることになる。
【0033】
本発明の実施形態に従って電力調整されるGPUは、GPUを含むコンピューティングデバイス内において表現され得る。そのようなコンピューティングデバイスの例示的なハードウエア実装及びその動作について以下に更に詳細に説明する。
II.例示的なシステム
【0034】
図1は実施形態に従ってGPUにおける電力を調整する例示的なコンピューティングデバイス100を示すブロック図である。コンピューティングデバイス100は、デスクトップコンピュータ、ラップトップコンピュータ、ビデオゲームデバイス、携帯デバイス(例えば携帯電話又はパーソナルデジタルアシスタンス(PDA))、又はGPUを含む他の種類のコンピューティングデバイスを備えていてよい。図1を参照すると、コンピューティングデバイス100は、プロセッサ104、グラフィックスカード102、及び主メモリ108を含み、また随意的に補助メモリ110及び通信インタフェース124を含む。プロセッサ104及びグラフィックスカード102は、通信基盤106を介して相互に、また主メモリ108、補助メモリ110、及び通信インタフェース124と通信する。通信基盤106は、例えば周辺コンポーネントインタフェース(PCI)バス、アクセレレーテッドグラフィックスポート(AGP)バス、PCIエクスプレス(PCIE)バス、又は他の種類の通信バスを含んでいてよい。
【0035】
プロセッサ104は中央プロセッサユニット(CPU)のような汎用プロセッサを備えている。プロセッサ104は汎用処理タスクを実行する。
【0036】
グラフィックスカード102は、特定の特別な複数の機能を、プロセッサ104がそれらをソフトウエアにおいて実行し得たであろうよりも通常は高速に実行することによってプロセッサ104を支援するために、GPU及び他のコンポーネントを含む。グラフィックスカード102はディスプレイデバイス130に結合される。グラフィックスカード102は、グラフィックス、テキスト、及びディスプレイのための他のデータをディスプレイデバイス130へ転送する。
【0037】
例えば、図2はグラフィックスカード102の例示的な実装のブロック図を示している。グラフィックスカード102への電力は、グラフィックスカード102上に含まれているパワーサプライ218によって、又はコンピューティングデバイス100によって供給されてよい。図2に示されるように、グラフィックスカード102はGPU210及び基本入力/出力システム(BIOS)220を含む。
【0038】
GPU210は、コンピューティングデバイス100のためにグラフィックス処理タスクを実行し、そして一時的にデータをローカルメモリ216内に記憶することができる。GPU210は、入力/出力(I/O)インタフェース250を介してディスプレイデバイス130に結合され、またコネクション260を介して通信基盤106に結合される。GPU210はGPU210の漏れ電流の値を識別する機械可読情報212を含む。GPU210の漏れ電流の値は、GPU210が製造された後に自動試験装置を用いて決定することができる。この値は次いで、例えばニューヨーク、アーモンクのアイビーエムコープ(IBM Corp. of Armonk, New York)によって開発されたイーフューズ(eFUSE)を用いて、機械可読情報212内に含ませることができる。ある実施形態においては、コンピューティングデバイス100上で実行されているソフトウエアは、機械可読情報212に含まれている漏れ電流の値に基いてGPU210の1つ以上の動作パラメータを調節し、これについて更に詳細に説明する。
【0039】
BIOS220は、プログラムがビデオハードウエアチップセット(例えばGPU210を含む)にアクセスするために用いられる一連のビデオ関連機能を含む。BIOS220は、システムBIOSがコンピューティングデバイス100のチップセットに対してするのとほぼ同様な方法で、ソフトウエアをビデオチップセットと連結する。コンピューティングデバイス100は、起動されたときに例えばグラフィックスカード製造供給元、モデル、BIOSバージョン及びグラフィックスメモリの容量を表示することができる。ある実施形態においては、BIOS220はまた、(i)機械可読情報212内に含まれているGPU210の漏れ電流の値、及び/又は(ii)GPU210の動作状態に基いて、GPU210における電力消費を調整するための機能を含む。例えばGPU210における電力消費を調整するための機能は、
・ファン240の速度(例えば温度センサ230によって検出される温度に基き)、
・GPU210のエンジン速度、及び/又は
・GPU210に供給される電力、
を調節することができる。GPU210における電力消費を調整するための機能の例を更に詳細に以下に説明する。
【0040】
図1を再び参照すると、コンピューティングデバイス100はまた主メモリ108及び補助メモリ110を含む。主メモリ108は望ましくはランダムアクセスメモリ(RAM)であってよい。補助メモリ110は例えばハードディスクドライブ112及び/又はリムーバブル記憶ドライブ114を含んでいてよい。リムーバブル記憶ドライブ114は周知の方法でリムーバブル記憶ユニット118に対する読み出し及び/又は書き込みを行う。リムーバブル記憶ユニット118は、フロッピーディスク、磁気テープ、光学ディスク、又はリムーバブル記憶ドライブ114に対して読み出し及び書き込みを行う幾つかの他の種類のコンピュータ可読記憶媒体を備えていてよい。つまり、リムーバブル記憶ユニット118は、コンピュータソフトウエア及び/又はデータが記憶されたコンピュータ利用可能記憶媒体を含んでいる。
【0041】
補助メモリ110は、コンピュータプログラム又は他の命令がコンピューティングデバイス100にロードされることを可能にするための他の同様のデバイスを含んでいてよい。そのようなデバイスは例えば、リムーバル記憶ユニット122及びインタフェース120を含んでいてよい。そのような例は、プログラムカートリッジ及びカートリッジインタフェース(ビデオゲームデバイスにおいて見られるような)、リムーバブルメモリチップ(例えばイレーザブルプログラマブルリードオンリメモリ(EPROM)、又はプログラマブルリードオンリメモリ(PROM))及び関連するソケット、並びに他のリムーバル記憶ユニット122及びインタフェース120を含んでいてよく、これらはソフトウエア及び/又はデータがリムーバル記憶ユニット122からコンピューティングデバイス100へ転送されることを可能にする。
【0042】
通信インタフェース124はソフトウエア及び/又はデータがコンピューティングデバイス100と外部デバイスの間で転送されることを可能にする。通信インタフェース124の例は、モデム、ネットワークインタフェース(例えばイーサネットカード)、通信ポート、パーソナルコンピュータメモリカードインターナショナルアソシエーション(PCMCIA)スロット及びカード、等を含んでいてよい。通信インタフェース124を介して転送されるソフトウエア及び/又はデータは、電子的、電磁気的、光学的、又は通信インタフェース124によって受信可能な他の信号であってよい信号128の形態にある。信号128は通信パス(例えばチャネル)126を介して通信インタフェース124へ供給される。通信パス126は信号128を伝え、そして線又はケーブル、光ファイバ、電話線、携帯電話リンク、ラジオ周波数(RF)リンク及び他の通信チャネルを用いて実装され得る。
【0043】
コンピュータプログラム(コンピュータ制御論理とも称される)は、例えば主メモリ108、補助メモリ110、及び/又はBIOS220のようなコンピュータ可読記憶媒体に記憶されている。コンピュータプログラムは通信インタフェース124を介して受信されてもよい。そのようなコンピュータプログラムは、実行されたときに、コンピューティングデバイス100がGPU210による電力消費を調整することを可能にする。そのようなコンピュータプログラムの例示的な動作を以下に更に詳細に説明する。
III.例示的な動作
【0044】
図3は本発明の実施形態に従う例示的なプロセスフローを示すブロック図300である。ブロック図300は、アプリケーション310、アプリケーションプログラミングインタフェース(API)320、及びドライバ330のような、ホストコンピューティングシステム(例えばコンピューティングデバイス100)上で実行されると共にグラフィックスハードウエア要素(例えばグラフィックスカード102及びGPU210)と相互作用してディスプレイデバイス130への出力のためのグラフィックス処理タスクを実行する種々のソフトウエア要素を含む。
【0045】
アプリケーション310は、グラフィックス処理能力を必要とするエンドユーザアプリケーション(例えばビデオゲームアプリケーション、CADアプリケーション、CAMアプリケーション、等)である。アプリケーション310はAPI320と通信する。
【0046】
API320は、アプリケーション310のようなアプリケーションソフトウエアとそのアプリケーションソフトウエアが動作するグラフィックスハードウエアとの間の媒介である。急速に出現している新しいチップセット及び全く新しいハードウエア技術に伴い、アプリケーション開発者が最新のハードウエアの特徴を考慮しつつ且つ活用することは困難である。また、アプリケーション開発者が、予測し得る一連のハードウエアの各々に対して特別にアプリケーションを作成することもますます困難になりつつある。API320は、アプリケーション310が特定ハードウエア向けになりすぎざるを得ないことを防止する。アプリケーション310は、API320向けのグラフィックスデータ及び命令を、ハードウエア(例えばグラフィックスカード102及びGPU210)に対して直接的であるよりはむしろ標準化されたフォーマットで出力することができる。API320は商業的に入手可能なAPI(例えばダイレクトエックス(DirectX)(登録商標)、オープンジーエル(OpenGL)(登録商標))、カスタムAPI、等を備えていてよい。API320はドライバ330と通信する。
【0047】
ドライバ330は典型的にはグラフィックスハードウエアの製造者によって作成されており、API320から受け取った標準コードをグラフィックスカード102及びGPU210によって理解される固有のフォーマットへ変換する。ドライバ330はまた、グラフィックスカード102及びGPU210のための直接実行設定に対する入力を受け入れる。そのような入力はユーザ、アプリケーション又はプロセスによって供給され得る。例えばユーザは、ドライバ330と共にユーザに提供されているユーザインタフェース(UI)、例えばグラフィカルユーザインタフェース(GUI)を経由して、入力を供給することができる。ある実施形態においては、ドライバ320は、本発明の実施形態に従ってGPU210の電力消費を調整するための機能を含む。
【0048】
例えば、図4は異なる漏れ電流に対してGPUの電力消費がどのようにして実質的に一定に維持され得るのかを示すグラフ400である。図4を参照すると、曲線410はGPUの電力消費を漏れ電流の関数として表し、曲線420はGPUの接合部温度を漏れ電流の関数として表し、そして曲線430はGPUへの供給電圧を漏れ電流の関数として表している。以下に更に詳細に説明されるように、GPUの電力消費は、GPUの接合部温度及び/又はGPUへの供給電圧を変化させることによって実質的に一定に維持することができる。
【0049】
図5はGPUの温度を制御することによってGPUの電力消費を調整するための例示的な方法を示すフロー図500である。フロー図500はステップ502で開始し、ステップ502ではGPUの温度が検出される。GPUの温度は温度センサ(例えば図1の温度センサ230)を用いることによって検出することができる。
【0050】
ステップ504では、GPUの温度が所望の範囲内にあるかが決定される。一方において温度が所望の範囲内である場合には、一定の遅延期間を(随意的に)待った後(ステップ506で示される)に温度が再検出される。他方で温度が所望の範囲内にない場合には、ステップ508に示されるようにGPUのエンジン速度が減少させられる。
【0051】
エンジン速度を減少させた後、GPUの温度がステップ510に示されるように再検出される。判断ステップ512では、GPUの温度が前記所望の範囲内で安定したかが決定される。一方において温度が所望の範囲内で安定した場合には、ステップ514に示されるようにGPUのエンジン速度が増加させられてよく(随意的)、そして方法はステップ502へ戻る。他方で温度が所望の範囲内で安定しなかった場合には、ステップ516において温度がスレッショルド(例えば120℃)を超えたかが決定される。
【0052】
ステップ516においてGPUの温度がスレッショルドを超えた場合には、ステップ518に示されるようにGPUの電力が遮断される。一方GPUの温度がスレッショルドを超えなかった場合には、方法はステップ508に戻り、そしてGPUのエンジン速度が減少させられる。
【0053】
図5に示される例示的な方法を実装又は実施することによって、GPUの温度が高くなるのに従ってGPUの能力(例えばエンジン速度)を次第に減少させることができる。このようにして、能力における段階的な減少がGPUの温度の上昇を阻止しない場合に限りGPUの電力が遮断される。
【0054】
図6はGPU上で実行されているアプリケーションに基きGPUの電力消費を調整するための例示的な方法を示すフロー図600である。フロー図600はステップ602で開始し、ステップ602においてはGPU上で実行されているアプリケーションの種類が決定される。例えば、GPUが3Dアプリケーション若しくは2Dアプリケーションを動作させていること又はGPUがアイドルであることが決定されてよい。
【0055】
ステップ604においては、GPUの漏れ電流が比較的に小さいかが決定される。図1及び2の例示的なシステムを参照すると、コンピューティングデバイス100が、GPU210に含まれる機械可読情報212を読み出すことによって、GPU210の漏れ電流が比較的に小さいかを決定する。
【0056】
一方においてGPUの漏れ電流が比較的に小さい場合には、ステップ606において、GPU上で実行されているアプリケーションの種類に基いてGPUへの供給電圧が比較的に高く設定される。他方GPUの漏れ電流が比較的に小さくない場合には、ステップ608にてアプリケーションの各種類に対するGPUの同一のエンジン速度を維持するために、GPU上で実行されているアプリケーションの種類に基いてGPUへの供給電圧が比較的に低く設定される。比較的に小さい及び比較的に大きい漏れ電流を有する2つのGPUに対する例示的な供給電圧が表1の左側及び右側にそれぞれ示されている。GPUの供給電圧をそのGPU上で実行されているアプリケーションの種類に基いて調節することによって、GPUのエンジン速度をほぼ所望のレベルで維持することができる。
【表1】

【0057】
図7〜9は例示的なGPU、即ちカリフォルニア、サニーベイルのエーエムディー(AMD of Sunnyvale, California)によって提供されたRV670グラフィックスチップの電力消費を調整するために温度、供給電圧、及びファン速度がどのように制御され得るかを示すグラフである。しかし、図7〜9は例示のみを目的として提示されており、限定のためではないことが理解されるべきである。図7〜9に示される曲線はグラフィックスチップの異なる種類及び/又はASICの異なる種類に対して変化し得る。
【0058】
図7は電力消費及び供給電力が温度に従って変化するときの小さな及び大きな漏れ電流に対する電力消費及び供給電圧の関係を示すグラフ700である。グラフ700は4つの曲線、即ち第1の曲線710、第2の曲線720、第3の曲線730、及び第4の曲線740を含む。第1の曲線710は漏れ電流が小さい場合における異なる複数の温度でのGPUへの供給電圧(VDDC)を表し、また第4の曲線740は漏れ電流が大きい場合における異なる複数の温度でのGPUへの供給電圧を表している。第1の曲線710及び第4の曲線740に対する縦軸スケールはグラフ700の右側に示されており、そして約0.95ボルトから約1.2ボルトの範囲である。同様に、第2の曲線720は漏れ電流が小さい場合における異なる複数の温度でのGPUの電力消費を表し、また第3の曲線730は漏れ電流が大きい場合における異なる複数の温度でのGPUの電力消費を示している。第2の曲線720及び第3の曲線730に対する縦軸スケールはグラフ700の左側に示されており、そして約40ワットから約65ワットの範囲である。第2の曲線720及び第3の曲線730は95℃を超える複数の温度に対して比較的に接近しているので、グラフ700は、例示的なGPUが大きな又は小さな漏れ電流のいずれを有していてもGPUの電力消費が比較的に詰まった範囲内で調整され得ていることを示している。
【0059】
図8はファン能力及びエンジン速度が温度に従って変化するときのファン能力及びエンジン速度の関係を示すグラフ800である。グラフ800は3つの曲線、即ち第1の曲線810、第2の曲線820、及び第3の曲線830を含む。第1の曲線810は異なる複数の温度でのGPUのエンジン速度を表している。第1の曲線810に対する縦軸スケールはグラフ800の右側に示されており、そして約600MHzから約760MHzの範囲である。同様に、第2の曲線820は高温に対するファン能力のパーセンテージを表し、また第3の曲線830は低温に対するファン能力のパーセンテージを表している。第2の曲線820及び第3の曲線に対する縦軸スケールはグラフの左側に示されており、そしてファン能力の約40%からファン能力の約100%の範囲である。
【0060】
図9は電力消費、ファン能力、及びエンジン速度が温度に従って変化するときの電力消費、ファン能力、及びエンジン速度を示すグラフ900である。グラフ900は3つの曲線、即ち第1の曲線910、第2の曲線920、及び第3の曲線930を含む。第1の曲線910は異なる複数の温度でのGPUのエンジン速度を表している。第1の曲線910に対する縦軸スケールはグラフ900の右側に示されており、そして約600MHzから約800MHzの範囲である。第2の曲線920は異なる複数の温度でのファン能力のパーセンテージを表している。第2の曲線920に対する縦軸スケールはグラフの左側に示されており、そしてファン能力の約40%からファン能力の約100%の範囲である。第3の曲線930は異なる複数の温度でのGPUの電力消費を表している。第3の曲線930に対する縦軸スケールはグラフの左側に示されており、そして約40ワットから約100ワットの範囲である。
【0061】
図9を参照すると、点線950は望ましいファン能力を示し、また陰影領域960は、例示的GPU、即ちカリフォルニア、サニーベイルのエーエムディー(AMD of Sunnyvale, California)によって提供されたRV670のための望ましいGPU電力消費を示している。グラフ900は、グラフ900の例ではエンジン速度及びファン速度を含む1つ以上の動作パラメータを調節することによって、GPUの動作条件(例えば温度)が変化したとしても、例示的なGPUの電力が望ましい範囲960内に調整され得ることを示している。
IV.結論
【0062】
上述で説明されているのは、GPUのようなASICにおける電力消費を調整するための例示的なシステム、方法、及びコンピュータプログラム製品である。本発明の種々の実施形態が上に説明されてきたが、それらは例示のみを目的として提示されたものであり、限定を目的とはしていないことが理解されるべきである。本発明の精神及び範囲から逸脱することなしに、形態及び詳細における種々の変更がそこになされ得ることが関連分野を含めた当業者には明らかであろう。
【0063】
概要及び要約部ではなく、詳細な説明部が特許請求の範囲を解釈するために用いられるよう意図されていることが理解されるべきである。概要及び要約部は、発明者によって意図される本発明の1つ以上のしかし全部のではない例示的実施形態を示すことができ、従って本発明及び添付の特許請求の範囲を限定することが意図されるものでは決してない。このように、本発明の広さ及び範囲は上述したいかなる例示的実施形態によっても限定されるべきではなく、以下の請求項及びそれらと均等なものに従ってのみ画定されるべきである。

【特許請求の範囲】
【請求項1】
特定用途向け集積回路(ASIC)における電力消費を調整するためのコンピュータベースの方法であって、
(a)前記ASIC内に含まれるコンピュータ可読情報から前記ASICの漏れ電流の値を受け取ることと、
(b)前記ASICの前記漏れ電流の前記値に基いて前記ASICの1つ以上の動作パラメータを調節することとを備えた方法。
【請求項2】
前記1つ以上の動作パラメータは、(i)前記ASICの供給電圧、(ii)前記ASICのエンジン速度、及び(iii)前記ASICを冷却するために用いられるファンの速度の少なくとも1つを備えている、請求項1のコンピュータベースの方法。
【請求項3】
(b)は前記ASIC上で実行されているアプリケーションの種類に基いて前記ASICの前記1つ以上の動作パラメータを調節することを更に備えている、請求項1のコンピュータベースの方法。
【請求項4】
(c)前記ASICの温度がスレッショルドを超えた場合に前記ASICの供給電圧を遮断することを更に備えた、請求項1のコンピュータベースの方法。
【請求項5】
前記ASICはグラフィックス処理ユニットを備えている、請求項1のコンピュータベースの方法。
【請求項6】
特定用途向け集積回路(ASIC)における電力消費をコンピュータに調整させるための制御論理が記憶されるコンピュータ可読記憶媒体を備えたコンピュータプログラム製品であって、前記制御論理は、
前記ASICの漏れ電流の値を受け取ることを前記コンピュータにさせるための第1のコンピュータ可読プログラムコードと、
前記ASICの前記漏れ電流の前記値に基いて前記ASICの1つ以上の動作パラメータを調節することを前記コンピュータにさせるための第2のコンピュータ可読プログラムコードとを備えているコンピュータプログラム製品。
【請求項7】
前記第1のコンピュータ可読プログラムコードは、前記ASIC内に含まれるコンピュータ可読情報から前記ASICの前記漏れ電流の前記値を読み出すことを前記コンピュータにさせるためのコードを備えている、請求項6のコンピュータプログラム製品。
【請求項8】
前記1つ以上の動作パラメータは、(i)前記ASICの供給電圧、(ii)前記ASICのエンジン速度、及び(iii)前記ASICを冷却するために用いられるファンの速度の少なくとも1つを備えている、請求項6のコンピュータプログラム製品。
【請求項9】
前記第2のコンピュータ可読プログラムコードは、前記ASIC上で実行されているアプリケーションの種類に基いて前記ASICの前記1つ以上の動作パラメータを調節すること前記コンピュータにさせるためのコードを更に備えている、請求項6のコンピュータプログラム製品。
【請求項10】
前記ASICの温度がスレッショルドを超えた場合に前記ASICの供給電圧を遮断することを前記コンピュータにさせるための第3のコンピュータ可読プログラムコードを更に備えた、請求項6のコンピュータプログラム製品。
【請求項11】
前記ASICはグラフィックス処理ユニットを備えている、請求項6のコンピュータプログラム製品。
【請求項12】
コンピューティングデバイスであって、
特定用途向け集積回路(ASIC)と、
前記ASICにおける電力消費を前記コンピューティングデバイスに調整させるための制御論理が記憶される機械可読記憶媒体とを備え、
前記制御論理は、
前記ASICの漏れ電流の値を受け取ることを前記コンピューティングデバイスにさせるための第1の機械可読プログラムコードと、
前記ASICの前記漏れ電流の前記値に基いて前記ASICの1つ以上の動作パラメータを調節することを前記コンピューティングデバイスにさせるための第2の機械可読プログラムコードとを備えているコンピューティングデバイス。
【請求項13】
前記第1の機械可読プログラムコードは、前記ASIC内に含まれる機械可読情報から前記ASICの前記漏れ電流の前記値を読み出すことを前記コンピューティングデバイスにさせるためのコードを備えている、請求項12のコンピューティングデバイス。
【請求項14】
前記1つ以上の動作パラメータは、(i)前記ASICの供給電圧、(ii)前記ASICのエンジン速度、及び(iii)前記ASICを冷却するために用いられるファンの速度の少なくとも1つを備えている、請求項12のコンピューティングデバイス。
【請求項15】
前記第2の機械可読プログラムコードは、前記ASIC上で実行されているアプリケーションの種類に基いて前記ASICの前記1つ以上の動作パラメータを調節すること前記コンピューティングデバイスにさせるためのコードを更に備えている、請求項12のコンピューティングデバイス。
【請求項16】
前記制御論理は、前記ASICの温度がスレッショルドを超えた場合に前記ASICの供給電圧を遮断することを前記コンピューティングデバイスにさせるための第3の機械可読プログラムコードを更に備えている、請求項12のコンピューティングデバイス。
【請求項17】
前記ASICはグラフィックス処理ユニットを備えている、請求項12のコンピューティングデバイス。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2011−530102(P2011−530102A)
【公表日】平成23年12月15日(2011.12.15)
【国際特許分類】
【出願番号】特願2011−521115(P2011−521115)
【出願日】平成21年7月27日(2009.7.27)
【国際出願番号】PCT/US2009/004344
【国際公開番号】WO2010/014197
【国際公開日】平成22年2月4日(2010.2.4)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
2.イーサネット
【出願人】(591016172)アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド (439)
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
【出願人】(508301087)エーティーアイ・テクノロジーズ・ユーエルシー (68)
【氏名又は名称原語表記】ATI TECHNOLOGIES ULC
【住所又は居所原語表記】One Commerce Valley Drive East, Markham, Ontario, L3T 7X6 Canada
【Fターム(参考)】