(57)【要約】【解決手段】  例えばグラフィックス処理ユニットのような特定用途向け集積回路（ＡＳＩＣ）における電力消費を調整するためのシステム、方法、及びコンピュータプログラム製品が提供される。当該方法においては、ＡＳＩＣ内に含まれるコンピュータ可読情報からＡＳＩＣの漏れ電流の値が受け取られる。ＡＳＩＣの漏れ電流の値に基いて、ＡＳＩＣの１つ以上の動作パラメータ、例えばＡＳＩＣへの供給電圧、ＡＳＩＣのエンジン速度、及び／又はＡＳＩＣを冷却するために用いられるファンのファン速度が調節される。随意的には、１つ以上の動作パラメータは、ＡＳＩＣ上で実行されているアプリケーションの種類に基いても調節され得る。また、ＡＳＩＣへの供給電圧は、ＡＳＩＣの温度がスレッショルドを超えた場合に遮断されてよい（随意的に）。【選択図】図５
2011530102.tif 000002
【特許請求の範囲】
【請求項１】
特定用途向け集積回路（ＡＳＩＣ）における電力消費を調整するためのコンピュータベースの方法であって、
（ａ）前記ＡＳＩＣ内に含まれるコンピュータ可読情報から前記ＡＳＩＣの漏れ電流の値を受け取ることと、
（ｂ）前記ＡＳＩＣの前記漏れ電流の前記値に基いて前記ＡＳＩＣの１つ以上の動作パラメータを調節することとを備えた方法。
【請求項２】
前記１つ以上の動作パラメータは、(i)前記ＡＳＩＣの供給電圧、(ii)前記ＡＳＩＣのエンジン速度、及び(iii)前記ＡＳＩＣを冷却するために用いられるファンの速度の少なくとも１つを備えている、請求項１のコンピュータベースの方法。
【請求項３】
（ｂ）は前記ＡＳＩＣ上で実行されているアプリケーションの種類に基いて前記ＡＳＩＣの前記１つ以上の動作パラメータを調節することを更に備えている、請求項１のコンピュータベースの方法。
【請求項４】
（ｃ）前記ＡＳＩＣの温度がスレッショルドを超えた場合に前記ＡＳＩＣの供給電圧を遮断することを更に備えた、請求項１のコンピュータベースの方法。
【請求項５】
前記ＡＳＩＣはグラフィックス処理ユニットを備えている、請求項１のコンピュータベースの方法。
【請求項６】
特定用途向け集積回路（ＡＳＩＣ）における電力消費をコンピュータに調整させるための制御論理が記憶されるコンピュータ可読記憶媒体を備えたコンピュータプログラム製品であって、前記制御論理は、
前記ＡＳＩＣの漏れ電流の値を受け取ることを前記コンピュータにさせるための第１のコンピュータ可読プログラムコードと、
前記ＡＳＩＣの前記漏れ電流の前記値に基いて前記ＡＳＩＣの１つ以上の動作パラメータを調節することを前記コンピュータにさせるための第２のコンピュータ可読プログラムコードとを備えているコンピュータプログラム製品。
【請求項７】
前記第１のコンピュータ可読プログラムコードは、前記ＡＳＩＣ内に含まれるコンピュータ可読情報から前記ＡＳＩＣの前記漏れ電流の前記値を読み出すことを前記コンピュータにさせるためのコードを備えている、請求項６のコンピュータプログラム製品。
【請求項８】
前記１つ以上の動作パラメータは、(i)前記ＡＳＩＣの供給電圧、(ii)前記ＡＳＩＣのエンジン速度、及び(iii)前記ＡＳＩＣを冷却するために用いられるファンの速度の少なくとも１つを備えている、請求項６のコンピュータプログラム製品。
【請求項９】
前記第２のコンピュータ可読プログラムコードは、前記ＡＳＩＣ上で実行されているアプリケーションの種類に基いて前記ＡＳＩＣの前記１つ以上の動作パラメータを調節すること前記コンピュータにさせるためのコードを更に備えている、請求項６のコンピュータプログラム製品。
【請求項１０】
前記ＡＳＩＣの温度がスレッショルドを超えた場合に前記ＡＳＩＣの供給電圧を遮断することを前記コンピュータにさせるための第３のコンピュータ可読プログラムコードを更に備えた、請求項６のコンピュータプログラム製品。
【請求項１１】
前記ＡＳＩＣはグラフィックス処理ユニットを備えている、請求項６のコンピュータプログラム製品。
【請求項１２】
コンピューティングデバイスであって、
特定用途向け集積回路（ＡＳＩＣ）と、
前記ＡＳＩＣにおける電力消費を前記コンピューティングデバイスに調整させるための制御論理が記憶される機械可読記憶媒体とを備え、
前記制御論理は、
前記ＡＳＩＣの漏れ電流の値を受け取ることを前記コンピューティングデバイスにさせるための第１の機械可読プログラムコードと、
前記ＡＳＩＣの前記漏れ電流の前記値に基いて前記ＡＳＩＣの１つ以上の動作パラメータを調節することを前記コンピューティングデバイスにさせるための第２の機械可読プログラムコードとを備えているコンピューティングデバイス。
【請求項１３】
前記第１の機械可読プログラムコードは、前記ＡＳＩＣ内に含まれる機械可読情報から前記ＡＳＩＣの前記漏れ電流の前記値を読み出すことを前記コンピューティングデバイスにさせるためのコードを備えている、請求項１２のコンピューティングデバイス。
【請求項１４】
前記１つ以上の動作パラメータは、(i)前記ＡＳＩＣの供給電圧、(ii)前記ＡＳＩＣのエンジン速度、及び(iii)前記ＡＳＩＣを冷却するために用いられるファンの速度の少なくとも１つを備えている、請求項１２のコンピューティングデバイス。
【請求項１５】
前記第２の機械可読プログラムコードは、前記ＡＳＩＣ上で実行されているアプリケーションの種類に基いて前記ＡＳＩＣの前記１つ以上の動作パラメータを調節すること前記コンピューティングデバイスにさせるためのコードを更に備えている、請求項１２のコンピューティングデバイス。
【請求項１６】
前記制御論理は、前記ＡＳＩＣの温度がスレッショルドを超えた場合に前記ＡＳＩＣの供給電圧を遮断することを前記コンピューティングデバイスにさせるための第３の機械可読プログラムコードを更に備えている、請求項１２のコンピューティングデバイス。
【請求項１７】
前記ＡＳＩＣはグラフィックス処理ユニットを備えている、請求項１２のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してコンピューティングデバイスに関し、更に特定的にはコンピューティングデバイス内に含まれる特定用途向け集積回路に関する。
【背景技術】
【０００２】
特定用途向け集積回路(application-specific integrated circuit)（ＡＳＩＣ）は特定のアプリケーションを実行するために設計される集積回路である。例えば、グラフィックス処理ユニット（ＧＰＵ）はグラフィックス処理タスクを実行するために設計されるＡＳＩＣの一種である。ＡＳＩＣを作製するために、一群のトランジスタ及び他の回路要素が１つの単結晶基板（例えばシリコン基板）上に製造される。
【０００３】
残念なことに、ＡＳＩＣを製造するために単一種類の結晶性基板が用いられているとしても、ＡＳＩＣは典型的には製品種目にかかわらず広範な漏れ電流、即ち不所望な経路に沿った電流フローを有するであろう。大きな漏れ電流を有するＡＳＩＣは小さな漏れ電流を有するＡＳＩＣよりも多くの電力を消費することになるので、ＡＳＩＣベースの製品の広範な漏れ電流は、ＡＳＩＣベースの製品内での広範な電力消費を引き起こし得る。ＡＳＩＣベースの製品の種目を超えた広範な電力消費は、幾つかの理由により問題である。
【０００４】
まず、ＡＳＩＣベースの製品の種目（例えばグラフィックスカードの種目）を超えた広範な電力消費は、そのＡＳＩＣベースの製品の種目を含むシステムプラットフォーム（例えばコンピュータプラットフォーム）の大きな電力経費をもたらすであろう。その種目の製品は、平常動作状態の間には目標電力（例えば７０ワット）で動作するように構成されているかもしれない。しかし、過度な動作状態においては、その種目のごく少数の製品は大きな電力（例えば２００ワット）で動作することがある。システムプラットフォーム開発者は、たとえ最悪電力消費の発生確率が時間的に１％未満にすぎないとしても、その製品種目における製品の最悪電力消費（例えば２００ワット）を考慮しなければならない。
【０００５】
また、ＡＳＩＣベースの製品の種目を超えた広範な電力消費は、より高価な製品種目をもたらす可能性がる。製造供給元は典型的には、公表エンジン速度（例えば４ギガヘルツ）で動作するようにＡＳＩＣベースの製品を製造する。同じエンジン速度で動作するために、小さな漏れ電流を有するＡＳＩＣは高い供給電圧を必要とし、また大きな漏れ電流を有するＡＳＩＣは低い供給電圧を必要とする。単一の製造ロット内のＡＳＩＣは典型的には広範な漏れ電流を有するので、単一の製造ロットからのＡＳＩＣは、公表エンジン速度で動作するために広範な供給電圧を必要とするであろう。そして広範な供給電圧は、単一の製造ロット内の複数のＡＳＩＣにわたる広範な電力消費をもたらすことになる。複数のＡＳＩＣにわたる電力消費が所要の範囲に入っていない場合には、製造供給元はその所要の範囲内で電力を消費する、製造ロット内の一定割合のＡＳＩＣだけを選択することができるであろうが、それにより製造歩留まりの効率を事実上低下させてしまう。製造歩留まりにおける効率の低下のコストを補うために、製造供給元は典型的には製造種目における各ＡＳＩＣベースの製品の価格を上げる。
【０００６】
ＡＳＩＣベースの製品の種目にわたる広範な電力消費に対処するための有望な解決法は、ＡＳＩＣの漏れ電流に基き特定のアプリケーションに対してＡＳＩＣを標識付けておく(earmark)ことである。例えば小さな漏れ電流を有するＡＳＩＣはモバイルコンピューティングデバイス（効率的な電力消費が重要なファクタである）において使用されるために標識付けられるであろう一方で、大きな漏れ電流を有するＡＳＩＣはデスクトップコンピュータ（効率的な電力消費は極めて重要なファクタではない）において使用されるために標識付けられるであろう。しかし、この種の標識付け解決法にも問題がある。
【０００７】
まず、幾つかのＡＳＩＣは効率的な電力消費が最優先である環境においてのみ使用されることがある。例えば、幾つかのＡＳＩＣはモバイルコンピューティングデバイスにおいてのみ動作するように設計されていることがある。標識付け解決法はそのようなＡＳＩＣに対しては効果的ではないであろう。
【０００８】
また、標識付け解決法は、大きな漏れ電流を有するＡＳＩＣに関連する非効率性には対処し得ない。地球規模の気候の変化に対する意識の向上に伴い、消費者は効率的な電力消費の更なる重要性を認識している。この重要性はおそらく来る数年の間に増大するにすぎないのかもしれない。効率的な電力消費に対する消費者の要望に加えて、すぐに新しいエネルギー基準がＡＳＩＣベースの製品における効率的な電力消費を要求するであろう。
【０００９】
更に、標識付け解決法はＡＳＩＣベースの複数製品の種目にわたって効果的であり得るが、標識付け解決法は単一のＡＳＩＣベースの製品に関連する問題には対処し得ない。例えば、標識付け解決法は、ＡＳＩＣベースの製品を冷却するために用いられるファンの不所望な音響雑音を低減するのには役立たない。あるいは、標識付け解決法は、例えばＡＳＩＣベースの製品がさらされるであろう広範な動作環境によって生じ得るＡＳＩＣベースの製品の性能変化には対処し得ない。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
このような事情に鑑み、ＡＳＩＣにおける電力消費を調整するための方法、システム、及びコンピュータプログラム製品が求められている。
【課題を解決するための手段】
【００１１】
本発明はＧＰＵのようなＡＳＩＣにおける電力消費の調整に向けられている。重要な点は、本発明の種々の側面は電力経費を削減しまた製造歩留まりを向上させることである。また、本発明の種々の側面は、改善された音響雑音特性を提供し且つ新しいエネルギー基準（例えばエナジースター(Energy Star)）に適合するように構成される。
【００１２】
本発明の実施形態はＡＳＩＣにおける電力消費を調整するためのコンピュータベースの方法を提供する。このコンピュータベースの方法においては、ＡＳＩＣ内に含まれるコンピュータ可読情報からＡＳＩＣの漏れ電流の値が受け取られる。次いで、ＡＳＩＣの漏れ電流の値に基いて、ＡＳＩＣの１つ以上の動作パラメータ、例えばＡＳＩＣへの供給電圧、ＡＳＩＣのエンジン速度、及び／又はＡＳＩＣを冷却するために用いられるファンのファン速度が調節される。随意的には、１つ以上の動作パラメータは、ＡＳＩＣ上で実行されているアプリケーションの種類に基いて更に調節され得る。また、ＡＳＩＣへの電力は、ＡＳＩＣの温度がスレッショルドを超えた場合に遮断されてよい（随意的に）。
【００１３】
本発明の他の実施形態は、ＡＳＩＣにおける電力消費をコンピュータに調整させるための制御論理が記憶されるコンピュータ可読記憶媒体を含むコンピュータプログラム製品を提供する。制御論理は、第１及び第２のコンピュータ可読プログラムコードを含む。第１のコンピュータ可読プログラムコードは、ＡＳＩＣの漏れ電流の値を受け取ることをコンピュータにさせるように構成される。第２のコンピュータ可読プログラムコードは、ＡＳＩＣの漏れ電流の値に基いてＡＳＩＣの１つ以上の動作パラメータを調節することをコンピュータにさせるように構成される。
【００１４】
本発明の更なる実施形態はコンピューティングデバイスを提供する。コンピューティングデバイスはＡＳＩＣ及び機械可読記憶媒体を含む。機械可読記憶媒体は、機械可読記憶媒体内に記憶された、ＡＳＩＣにおける電力消費をコンピューティングデバイスに調整させるための制御論理を有している。制御論理は第１及び第２の機械可読プログラムコードを含む。第１の機械可読プログラムコードは、ＡＳＩＣの漏れ電流の値を受け取ることをコンピューティングデバイスにさせるように構成される。第２の機械可読プログラムコードは、ＡＳＩＣの漏れ電流の値に基いてＡＳＩＣの１つ以上の動作パラメータを調節することをコンピューティングデバイスにさせるように構成される。コンピューティングデバイスは、例えば、コンピュータ、ビデオゲームデバイス、携帯電話、パーソナルデジタルアシスタンス（ＰＤＡ）、携帯デバイス、又は、ＡＳＩＣを有し且つ機械可読プログラムコードを実行するように構成される他の種類のデバイスを備えていてよい。
【００１５】
本発明の更なる特徴及び利点の他、本発明の種々の実施形態の構成及び動作は、添付の図面を参照して以下に詳細に説明されている。
【図面の簡単な説明】
【００１６】
添付の図面は、ここに組み込まれまた出願書類の一部をなし、本発明を示しそして、明細書と相俟って本発明の原理を説明すると共に関連分野を含めた当業者が本発明を作りまた使用することを可能にするのに役立つ。
【００１７】
【図１】図１は例示的なコンピューティングデバイスを示すブロック図である。
【００１８】
【図２】図２は例示的なグラフィックスカードを示すブロック図である。
【００１９】
【図３】図３はグラフィックスを処理するための例示的なワークフローを示すブロック図である。
【００２０】
【図４】図４はＧＰＵの温度及び供給電圧を変化させることによる、異なる漏れ電流にわたるＧＰＵの実質的に一定な電力消費を示すグラフである。
【００２１】
【図５】図５はＧＰＵの漏れ電流及び温度に基きＧＰＵの１つ以上のパラメータを調節するための例示的な方法を示すブロック図である。
【００２２】
【図６】図６はＧＰＵの漏れ電流及びＧＰＵ上で実行されているアプリケーションの種類に基きＧＰＵの１つ以上の動作パラメータを調節するための例示的な方法を示すブロック図である。
【００２３】
【図７】図７は電力消費及び供給電力が温度に従って変化するときの小さな及び大きな漏れ電流に対する電力消費及び供給電圧の関係を示すグラフである。
【００２４】
【図８】図８はファン能力及びエンジン速度が温度に従って変化するときのファン能力及びエンジン速度の関係を示すグラフである。
【００２５】
【図９】図９は電力消費、ファン能力、及びエンジン速度が温度に従って変化するときの電力消費、ファン能力、及びエンジン速度を示すグラフである。
【００２６】
本発明の特徴及び利益は、図面と共に以下に記述される詳細な説明からより明らかになり、図面において同様の参照符号は全体を通して対応する要素を特定する。図面において、同様の参照数字は一般的に同一の、機能的に類似の、及び／又は構造的に類似の要素を示す。ある要素が最初に現れる図面は対応する参照番号の一番左の桁の１つ以上の数字によって示される。
【発明を実施するための形態】
【００２７】
Ｉ．序論
本発明はＡＳＩＣにおける電力消費を調整することに向けられている。以下の詳細な説明において、「１つの実施形態」、「実施形態」、「例示的実施形態」等に対する言及は、説明される実施形態が特定の特徴、構造、又は特性を含んでいてよいが、全ての実施形態が必ずしも当該特定の特徴、構造、又は特性を含む必要はないことを示している。また、そのような表現は必ずしも同じ実施形態を参照していない。更に、特定の特徴、構造、又は特性が実施形態に関連して説明されている場合には、明示的に説明されていようとなかろうと、他の実施形態に関連して当該特定の特徴、構造、又は特性を具現化することは当業者の知識の範囲内にあることと言える。
【００２８】
限定ではなく例示の目的で、本発明の実施形態に従う電力調整が、電力調整されるＧＰＵに関してここに説明される。しかし、そのような電力調整は他の種類のＡＳＩＣにも適用可能であることが理解されるべきである。ここに含まれる説明に基いて、関連分野を含む当業者であれば、どのようにして電力調整を他の種類のＡＳＩＣに実装するのかを理解するであろう。
【００２９】
実施形態においては、ＧＰＵにおける電力消費はＧＰＵの漏れ電流に基いて調整される。ＧＰＵの漏れ電流は、例えばＧＰＵが製造された後に標準的な自動試験装置(automatic test equipment)（ＡＴＥ）を用いて得ることができる。漏れ電流の値は次いでＧＰＵに含まれるコンピュータ可読情報内に盛り込まれてよい。例えば、漏れ電流の値は、ニューヨーク、アーモンクのアイビーエムコープ(IBM Corp. of Armonk, New York)によって開発されたイーフューズ(eFUSE)を用いることによって、コンピュータ可読情報内に登録することができる。
【００３０】
動作の間、ＧＰＵの１つ以上の動作パラメータがＧＰＵの漏れ電流の値に基いて調節される。１つ以上の動作パラメータは、限定はされないが、ＧＰＵへの供給電圧、ＧＰＵのエンジン速度、ＧＰＵを冷却するために用いられるファンのファン速度、あるいは関連分野を含む当業者に明らかであろうような他の動作パラメータを含む。随意的には、１つ以上の動作パラメータは、ＧＰＵ上で実行されているアプリケーションの種類に基いて且つ／又はＧＰＵがさらされている環境条件に基いて更に調節されてよい。また、ＧＰＵの温度がスレッショルドを超えた場合には、ＧＰＵへの電力は遮断されてよい（随意的に）。
【００３１】
本発明の実施形態に従ってＧＰＵの電力消費を調整することによって、ＧＰＵの電力消費を同じＧＰＵが従来の方法で動作した場合よりも実質的に小さくすることができる。例えば、あるＧＰＵが従来の方法では約Ｘワットの電力を消費するであろう一方で、本発明の実施形態に従って電力消費を調整することによって、その同じＧＰＵは約０．６７Ｘワットから約０．７７Ｘワットを消費するであろう。
【００３２】
また、ＧＰＵの電力消費が本発明の実施形態に従って調整される場合、ＧＰＵのグラフィックスカードもまた従来のグラフィックスカードよりも小さい電力を消費することになろう。上述の例では、あるグラフィックスカードが従来の方法では約１．４Ｘワットの電力を消費するであろう一方で、本発明の実施形態に従って電力消費を調整することによって、その同じグラフィックスカードは約１．２Ｘワットを消費するであろう。その結果、本発明の実施形態に従い電力調整されたグラフィックスカードを用いる相手先ブランド製品の製造者(original equipment manufacturer)（ＯＥＭ）は、そのＯＥＭが従来のグラフィックスカードに対してカードあたり１．４Ｘワットを計上しなければならなかったのに対して、カードあたり１．２Ｘワットの電力を計上すれば足りることになる。
【００３３】
本発明の実施形態に従って電力調整されるＧＰＵは、ＧＰＵを含むコンピューティングデバイス内において表現され得る。そのようなコンピューティングデバイスの例示的なハードウエア実装及びその動作について以下に更に詳細に説明する。
ＩＩ．例示的なシステム
【００３４】
図１は実施形態に従ってＧＰＵにおける電力を調整する例示的なコンピューティングデバイス１００を示すブロック図である。コンピューティングデバイス１００は、デスクトップコンピュータ、ラップトップコンピュータ、ビデオゲームデバイス、携帯デバイス（例えば携帯電話又はパーソナルデジタルアシスタンス（ＰＤＡ））、又はＧＰＵを含む他の種類のコンピューティングデバイスを備えていてよい。図１を参照すると、コンピューティングデバイス１００は、プロセッサ１０４、グラフィックスカード１０２、及び主メモリ１０８を含み、また随意的に補助メモリ１１０及び通信インタフェース１２４を含む。プロセッサ１０４及びグラフィックスカード１０２は、通信基盤１０６を介して相互に、また主メモリ１０８、補助メモリ１１０、及び通信インタフェース１２４と通信する。通信基盤１０６は、例えば周辺コンポーネントインタフェース（ＰＣＩ）バス、アクセレレーテッドグラフィックスポート（ＡＧＰ）バス、ＰＣＩエクスプレス（ＰＣＩＥ）バス、又は他の種類の通信バスを含んでいてよい。
【００３５】
プロセッサ１０４は中央プロセッサユニット（ＣＰＵ）のような汎用プロセッサを備えている。プロセッサ１０４は汎用処理タスクを実行する。
【００３６】
グラフィックスカード１０２は、特定の特別な複数の機能を、プロセッサ１０４がそれらをソフトウエアにおいて実行し得たであろうよりも通常は高速に実行することによってプロセッサ１０４を支援するために、ＧＰＵ及び他のコンポーネントを含む。グラフィックスカード１０２はディスプレイデバイス１３０に結合される。グラフィックスカード１０２は、グラフィックス、テキスト、及びディスプレイのための他のデータをディスプレイデバイス１３０へ転送する。
【００３７】
例えば、図２はグラフィックスカード１０２の例示的な実装のブロック図を示している。グラフィックスカード１０２への電力は、グラフィックスカード１０２上に含まれているパワーサプライ２１８によって、又はコンピューティングデバイス１００によって供給されてよい。図２に示されるように、グラフィックスカード１０２はＧＰＵ２１０及び基本入力／出力システム（ＢＩＯＳ）２２０を含む。
【００３８】
ＧＰＵ２１０は、コンピューティングデバイス１００のためにグラフィックス処理タスクを実行し、そして一時的にデータをローカルメモリ２１６内に記憶することができる。ＧＰＵ２１０は、入力／出力（Ｉ／Ｏ）インタフェース２５０を介してディスプレイデバイス１３０に結合され、またコネクション２６０を介して通信基盤１０６に結合される。ＧＰＵ２１０はＧＰＵ２１０の漏れ電流の値を識別する機械可読情報２１２を含む。ＧＰＵ２１０の漏れ電流の値は、ＧＰＵ２１０が製造された後に自動試験装置を用いて決定することができる。この値は次いで、例えばニューヨーク、アーモンクのアイビーエムコープ(IBM Corp. of Armonk, New York)によって開発されたイーフューズ(eFUSE)を用いて、機械可読情報２１２内に含ませることができる。ある実施形態においては、コンピューティングデバイス１００上で実行されているソフトウエアは、機械可読情報２１２に含まれている漏れ電流の値に基いてＧＰＵ２１０の１つ以上の動作パラメータを調節し、これについて更に詳細に説明する。
【００３９】
ＢＩＯＳ２２０は、プログラムがビデオハードウエアチップセット（例えばＧＰＵ２１０を含む）にアクセスするために用いられる一連のビデオ関連機能を含む。ＢＩＯＳ２２０は、システムＢＩＯＳがコンピューティングデバイス１００のチップセットに対してするのとほぼ同様な方法で、ソフトウエアをビデオチップセットと連結する。コンピューティングデバイス１００は、起動されたときに例えばグラフィックスカード製造供給元、モデル、ＢＩＯＳバージョン及びグラフィックスメモリの容量を表示することができる。ある実施形態においては、ＢＩＯＳ２２０はまた、(i)機械可読情報２１２内に含まれているＧＰＵ２１０の漏れ電流の値、及び／又は(ii)ＧＰＵ２１０の動作状態に基いて、ＧＰＵ２１０における電力消費を調整するための機能を含む。例えばＧＰＵ２１０における電力消費を調整するための機能は、
・ファン２４０の速度（例えば温度センサ２３０によって検出される温度に基き）、
・ＧＰＵ２１０のエンジン速度、及び／又は
・ＧＰＵ２１０に供給される電力、
を調節することができる。ＧＰＵ２１０における電力消費を調整するための機能の例を更に詳細に以下に説明する。
【００４０】
図１を再び参照すると、コンピューティングデバイス１００はまた主メモリ１０８及び補助メモリ１１０を含む。主メモリ１０８は望ましくはランダムアクセスメモリ（ＲＡＭ）であってよい。補助メモリ１１０は例えばハードディスクドライブ１１２及び／又はリムーバブル記憶ドライブ１１４を含んでいてよい。リムーバブル記憶ドライブ１１４は周知の方法でリムーバブル記憶ユニット１１８に対する読み出し及び／又は書き込みを行う。リムーバブル記憶ユニット１１８は、フロッピーディスク、磁気テープ、光学ディスク、又はリムーバブル記憶ドライブ１１４に対して読み出し及び書き込みを行う幾つかの他の種類のコンピュータ可読記憶媒体を備えていてよい。つまり、リムーバブル記憶ユニット１１８は、コンピュータソフトウエア及び／又はデータが記憶されたコンピュータ利用可能記憶媒体を含んでいる。
【００４１】
補助メモリ１１０は、コンピュータプログラム又は他の命令がコンピューティングデバイス１００にロードされることを可能にするための他の同様のデバイスを含んでいてよい。そのようなデバイスは例えば、リムーバル記憶ユニット１２２及びインタフェース１２０を含んでいてよい。そのような例は、プログラムカートリッジ及びカートリッジインタフェース（ビデオゲームデバイスにおいて見られるような）、リムーバブルメモリチップ（例えばイレーザブルプログラマブルリードオンリメモリ（ＥＰＲＯＭ）、又はプログラマブルリードオンリメモリ（ＰＲＯＭ））及び関連するソケット、並びに他のリムーバル記憶ユニット１２２及びインタフェース１２０を含んでいてよく、これらはソフトウエア及び／又はデータがリムーバル記憶ユニット１２２からコンピューティングデバイス１００へ転送されることを可能にする。
【００４２】
通信インタフェース１２４はソフトウエア及び／又はデータがコンピューティングデバイス１００と外部デバイスの間で転送されることを可能にする。通信インタフェース１２４の例は、モデム、ネットワークインタフェース（例えばイーサネットカード）、通信ポート、パーソナルコンピュータメモリカードインターナショナルアソシエーション（ＰＣＭＣＩＡ）スロット及びカード、等を含んでいてよい。通信インタフェース１２４を介して転送されるソフトウエア及び／又はデータは、電子的、電磁気的、光学的、又は通信インタフェース１２４によって受信可能な他の信号であってよい信号１２８の形態にある。信号１２８は通信パス（例えばチャネル）１２６を介して通信インタフェース１２４へ供給される。通信パス１２６は信号１２８を伝え、そして線又はケーブル、光ファイバ、電話線、携帯電話リンク、ラジオ周波数（ＲＦ）リンク及び他の通信チャネルを用いて実装され得る。
【００４３】
コンピュータプログラム（コンピュータ制御論理とも称される）は、例えば主メモリ１０８、補助メモリ１１０、及び／又はＢＩＯＳ２２０のようなコンピュータ可読記憶媒体に記憶されている。コンピュータプログラムは通信インタフェース１２４を介して受信されてもよい。そのようなコンピュータプログラムは、実行されたときに、コンピューティングデバイス１００がＧＰＵ２１０による電力消費を調整することを可能にする。そのようなコンピュータプログラムの例示的な動作を以下に更に詳細に説明する。
ＩＩＩ．例示的な動作
【００４４】
図３は本発明の実施形態に従う例示的なプロセスフローを示すブロック図３００である。ブロック図３００は、アプリケーション３１０、アプリケーションプログラミングインタフェース（ＡＰＩ）３２０、及びドライバ３３０のような、ホストコンピューティングシステム（例えばコンピューティングデバイス１００）上で実行されると共にグラフィックスハードウエア要素（例えばグラフィックスカード１０２及びＧＰＵ２１０）と相互作用してディスプレイデバイス１３０への出力のためのグラフィックス処理タスクを実行する種々のソフトウエア要素を含む。
【００４５】
アプリケーション３１０は、グラフィックス処理能力を必要とするエンドユーザアプリケーション（例えばビデオゲームアプリケーション、ＣＡＤアプリケーション、ＣＡＭアプリケーション、等）である。アプリケーション３１０はＡＰＩ３２０と通信する。
【００４６】
ＡＰＩ３２０は、アプリケーション３１０のようなアプリケーションソフトウエアとそのアプリケーションソフトウエアが動作するグラフィックスハードウエアとの間の媒介である。急速に出現している新しいチップセット及び全く新しいハードウエア技術に伴い、アプリケーション開発者が最新のハードウエアの特徴を考慮しつつ且つ活用することは困難である。また、アプリケーション開発者が、予測し得る一連のハードウエアの各々に対して特別にアプリケーションを作成することもますます困難になりつつある。ＡＰＩ３２０は、アプリケーション３１０が特定ハードウエア向けになりすぎざるを得ないことを防止する。アプリケーション３１０は、ＡＰＩ３２０向けのグラフィックスデータ及び命令を、ハードウエア（例えばグラフィックスカード１０２及びＧＰＵ２１０）に対して直接的であるよりはむしろ標準化されたフォーマットで出力することができる。ＡＰＩ３２０は商業的に入手可能なＡＰＩ（例えばダイレクトエックス(DirectX)（登録商標）、オープンジーエル(OpenGL)（登録商標））、カスタムＡＰＩ、等を備えていてよい。ＡＰＩ３２０はドライバ３３０と通信する。
【００４７】
ドライバ３３０は典型的にはグラフィックスハードウエアの製造者によって作成されており、ＡＰＩ３２０から受け取った標準コードをグラフィックスカード１０２及びＧＰＵ２１０によって理解される固有のフォーマットへ変換する。ドライバ３３０はまた、グラフィックスカード１０２及びＧＰＵ２１０のための直接実行設定に対する入力を受け入れる。そのような入力はユーザ、アプリケーション又はプロセスによって供給され得る。例えばユーザは、ドライバ３３０と共にユーザに提供されているユーザインタフェース（ＵＩ）、例えばグラフィカルユーザインタフェース（ＧＵＩ）を経由して、入力を供給することができる。ある実施形態においては、ドライバ３２０は、本発明の実施形態に従ってＧＰＵ２１０の電力消費を調整するための機能を含む。
【００４８】
例えば、図４は異なる漏れ電流に対してＧＰＵの電力消費がどのようにして実質的に一定に維持され得るのかを示すグラフ４００である。図４を参照すると、曲線４１０はＧＰＵの電力消費を漏れ電流の関数として表し、曲線４２０はＧＰＵの接合部温度を漏れ電流の関数として表し、そして曲線４３０はＧＰＵへの供給電圧を漏れ電流の関数として表している。以下に更に詳細に説明されるように、ＧＰＵの電力消費は、ＧＰＵの接合部温度及び／又はＧＰＵへの供給電圧を変化させることによって実質的に一定に維持することができる。
【００４９】
図５はＧＰＵの温度を制御することによってＧＰＵの電力消費を調整するための例示的な方法を示すフロー図５００である。フロー図５００はステップ５０２で開始し、ステップ５０２ではＧＰＵの温度が検出される。ＧＰＵの温度は温度センサ（例えば図１の温度センサ２３０）を用いることによって検出することができる。
【００５０】
ステップ５０４では、ＧＰＵの温度が所望の範囲内にあるかが決定される。一方において温度が所望の範囲内である場合には、一定の遅延期間を（随意的に）待った後（ステップ５０６で示される）に温度が再検出される。他方で温度が所望の範囲内にない場合には、ステップ５０８に示されるようにＧＰＵのエンジン速度が減少させられる。
【００５１】
エンジン速度を減少させた後、ＧＰＵの温度がステップ５１０に示されるように再検出される。判断ステップ５１２では、ＧＰＵの温度が前記所望の範囲内で安定したかが決定される。一方において温度が所望の範囲内で安定した場合には、ステップ５１４に示されるようにＧＰＵのエンジン速度が増加させられてよく（随意的）、そして方法はステップ５０２へ戻る。他方で温度が所望の範囲内で安定しなかった場合には、ステップ５１６において温度がスレッショルド（例えば１２０℃）を超えたかが決定される。
【００５２】
ステップ５１６においてＧＰＵの温度がスレッショルドを超えた場合には、ステップ５１８に示されるようにＧＰＵの電力が遮断される。一方ＧＰＵの温度がスレッショルドを超えなかった場合には、方法はステップ５０８に戻り、そしてＧＰＵのエンジン速度が減少させられる。
【００５３】
図５に示される例示的な方法を実装又は実施することによって、ＧＰＵの温度が高くなるのに従ってＧＰＵの能力（例えばエンジン速度）を次第に減少させることができる。このようにして、能力における段階的な減少がＧＰＵの温度の上昇を阻止しない場合に限りＧＰＵの電力が遮断される。
【００５４】
図６はＧＰＵ上で実行されているアプリケーションに基きＧＰＵの電力消費を調整するための例示的な方法を示すフロー図６００である。フロー図６００はステップ６０２で開始し、ステップ６０２においてはＧＰＵ上で実行されているアプリケーションの種類が決定される。例えば、ＧＰＵが３Ｄアプリケーション若しくは２Ｄアプリケーションを動作させていること又はＧＰＵがアイドルであることが決定されてよい。
【００５５】
ステップ６０４においては、ＧＰＵの漏れ電流が比較的に小さいかが決定される。図１及び２の例示的なシステムを参照すると、コンピューティングデバイス１００が、ＧＰＵ２１０に含まれる機械可読情報２１２を読み出すことによって、ＧＰＵ２１０の漏れ電流が比較的に小さいかを決定する。
【００５６】
一方においてＧＰＵの漏れ電流が比較的に小さい場合には、ステップ６０６において、ＧＰＵ上で実行されているアプリケーションの種類に基いてＧＰＵへの供給電圧が比較的に高く設定される。他方ＧＰＵの漏れ電流が比較的に小さくない場合には、ステップ６０８にてアプリケーションの各種類に対するＧＰＵの同一のエンジン速度を維持するために、ＧＰＵ上で実行されているアプリケーションの種類に基いてＧＰＵへの供給電圧が比較的に低く設定される。比較的に小さい及び比較的に大きい漏れ電流を有する２つのＧＰＵに対する例示的な供給電圧が表１の左側及び右側にそれぞれ示されている。ＧＰＵの供給電圧をそのＧＰＵ上で実行されているアプリケーションの種類に基いて調節することによって、ＧＰＵのエンジン速度をほぼ所望のレベルで維持することができる。
【表１】
2011530102.tif 000003
【００５７】
図７〜９は例示的なＧＰＵ、即ちカリフォルニア、サニーベイルのエーエムディー(AMD of Sunnyvale, California)によって提供されたＲＶ６７０グラフィックスチップの電力消費を調整するために温度、供給電圧、及びファン速度がどのように制御され得るかを示すグラフである。しかし、図７〜９は例示のみを目的として提示されており、限定のためではないことが理解されるべきである。図７〜９に示される曲線はグラフィックスチップの異なる種類及び／又はＡＳＩＣの異なる種類に対して変化し得る。
【００５８】
図７は電力消費及び供給電力が温度に従って変化するときの小さな及び大きな漏れ電流に対する電力消費及び供給電圧の関係を示すグラフ７００である。グラフ７００は４つの曲線、即ち第１の曲線７１０、第２の曲線７２０、第３の曲線７３０、及び第４の曲線７４０を含む。第１の曲線７１０は漏れ電流が小さい場合における異なる複数の温度でのＧＰＵへの供給電圧（ＶＤＤＣ）を表し、また第４の曲線７４０は漏れ電流が大きい場合における異なる複数の温度でのＧＰＵへの供給電圧を表している。第１の曲線７１０及び第４の曲線７４０に対する縦軸スケールはグラフ７００の右側に示されており、そして約０．９５ボルトから約１．２ボルトの範囲である。同様に、第２の曲線７２０は漏れ電流が小さい場合における異なる複数の温度でのＧＰＵの電力消費を表し、また第３の曲線７３０は漏れ電流が大きい場合における異なる複数の温度でのＧＰＵの電力消費を示している。第２の曲線７２０及び第３の曲線７３０に対する縦軸スケールはグラフ７００の左側に示されており、そして約４０ワットから約６５ワットの範囲である。第２の曲線７２０及び第３の曲線７３０は９５℃を超える複数の温度に対して比較的に接近しているので、グラフ７００は、例示的なＧＰＵが大きな又は小さな漏れ電流のいずれを有していてもＧＰＵの電力消費が比較的に詰まった範囲内で調整され得ていることを示している。
【００５９】
図８はファン能力及びエンジン速度が温度に従って変化するときのファン能力及びエンジン速度の関係を示すグラフ８００である。グラフ８００は３つの曲線、即ち第１の曲線８１０、第２の曲線８２０、及び第３の曲線８３０を含む。第１の曲線８１０は異なる複数の温度でのＧＰＵのエンジン速度を表している。第１の曲線８１０に対する縦軸スケールはグラフ８００の右側に示されており、そして約６００ＭＨｚから約７６０ＭＨｚの範囲である。同様に、第２の曲線８２０は高温に対するファン能力のパーセンテージを表し、また第３の曲線８３０は低温に対するファン能力のパーセンテージを表している。第２の曲線８２０及び第３の曲線に対する縦軸スケールはグラフの左側に示されており、そしてファン能力の約４０％からファン能力の約１００％の範囲である。
【００６０】
図９は電力消費、ファン能力、及びエンジン速度が温度に従って変化するときの電力消費、ファン能力、及びエンジン速度を示すグラフ９００である。グラフ９００は３つの曲線、即ち第１の曲線９１０、第２の曲線９２０、及び第３の曲線９３０を含む。第１の曲線９１０は異なる複数の温度でのＧＰＵのエンジン速度を表している。第１の曲線９１０に対する縦軸スケールはグラフ９００の右側に示されており、そして約６００ＭＨｚから約８００ＭＨｚの範囲である。第２の曲線９２０は異なる複数の温度でのファン能力のパーセンテージを表している。第２の曲線９２０に対する縦軸スケールはグラフの左側に示されており、そしてファン能力の約４０％からファン能力の約１００％の範囲である。第３の曲線９３０は異なる複数の温度でのＧＰＵの電力消費を表している。第３の曲線９３０に対する縦軸スケールはグラフの左側に示されており、そして約４０ワットから約１００ワットの範囲である。
【００６１】
図９を参照すると、点線９５０は望ましいファン能力を示し、また陰影領域９６０は、例示的ＧＰＵ、即ちカリフォルニア、サニーベイルのエーエムディー(AMD of Sunnyvale, California)によって提供されたＲＶ６７０のための望ましいＧＰＵ電力消費を示している。グラフ９００は、グラフ９００の例ではエンジン速度及びファン速度を含む１つ以上の動作パラメータを調節することによって、ＧＰＵの動作条件（例えば温度）が変化したとしても、例示的なＧＰＵの電力が望ましい範囲９６０内に調整され得ることを示している。
ＩＶ．結論
【００６２】
上述で説明されているのは、ＧＰＵのようなＡＳＩＣにおける電力消費を調整するための例示的なシステム、方法、及びコンピュータプログラム製品である。本発明の種々の実施形態が上に説明されてきたが、それらは例示のみを目的として提示されたものであり、限定を目的とはしていないことが理解されるべきである。本発明の精神及び範囲から逸脱することなしに、形態及び詳細における種々の変更がそこになされ得ることが関連分野を含めた当業者には明らかであろう。
【００６３】
概要及び要約部ではなく、詳細な説明部が特許請求の範囲を解釈するために用いられるよう意図されていることが理解されるべきである。概要及び要約部は、発明者によって意図される本発明の１つ以上のしかし全部のではない例示的実施形態を示すことができ、従って本発明及び添付の特許請求の範囲を限定することが意図されるものでは決してない。このように、本発明の広さ及び範囲は上述したいかなる例示的実施形態によっても限定されるべきではなく、以下の請求項及びそれらと均等なものに従ってのみ画定されるべきである。
【図１】
2011530102.tif 000004
【図２】
2011530102.tif 000005
【図３】
2011530102.tif 000006
【図４】
2011530102.tif 000007
【図５】
2011530102.tif 000008
【図６】
2011530102.tif 000009
【図７】
2011530102.tif 000010
【図８】
2011530102.tif 000011
【図９】
2011530102.tif 000012
【国際調査報告】
2011530102.tif 000013
2011530102.tif 000014