(57)【特許請求の範囲】
【請求項１】
制御ロジックを備え、
前記制御ロジックは、１つ又は複数のセンサーからの入力に基づいて、プラットフォームの１つ又は複数の電力消費構成要素と前記プラットフォームの１つ又は複数の熱発生構成要素との間の１つ又は複数の熱関係を求め、前記１つ又は複数の熱関係に基づいて、前記プラットフォームの１つ又は複数の構成要素の電力消費制限を変更させ、
前記１つ又は複数の熱関係のうちの第１の関係は、前記プラットフォームのターゲット構成要素に対する前記プラットフォームの熱源構成要素の影響優先度を示す、装置。
【請求項２】
前記制御ロジックは、ハードウェアロジックを少なくとも部分的に有する、請求項１に記載の装置。
【請求項３】
前記１つ又は複数の熱発生構成要素は、前記熱源構成要素を含む、請求項１または２に記載の装置。
【請求項４】
前記１つ又は複数の電力消費構成要素は、前記ターゲット構成要素を含む、請求項１から３のいずれか一項に記載の装置。
【請求項５】
サンプリング期間の経過後に前記電力消費制限への前記変更の影響を求めるロジックを更に備える、請求項１から４のいずれか一項に記載の装置。
【請求項６】
前記１つ又は複数の熱関係に対応するデータを記憶するメモリを更に備える、請求項１から５のいずれか一項に記載の装置。
【請求項７】
前記１つ又は複数のセンサーは、前記プラットフォームの前記１つ又は複数の構成要素に近接する、請求項１から６のいずれか一項に記載の装置。
【請求項８】
前記１つ又は複数の熱関係は、アドバンストコンフィグレーションアンドパワーインターフェイス（ＡＣＰＩ）規格に少なくとも部分的に係る熱関係テーブルに記憶される、請求項１から７のいずれか一項に記載の装置。
【請求項９】
前記第１の関係は、前記ターゲット構成要素に対する前記熱源構成要素の熱的影響に対応する温度の値を示す第２の関係を置換する、請求項１から８のいずれか一項に記載の装置。
【請求項１０】
オペレーティングシステムソフトウェアを記憶するメモリを更に備え、該オペレーティングシステムソフトウェアは、前記電力消費制限への前記変更をトリガーする、請求項１から９のいずれか一項に記載の装置。
【請求項１１】
アプリケーションソフトウェアを記憶するメモリを更に備え、該アプリケーションソフトウェアは、前記電力消費制限への前記変更をトリガーする、請求項１から９のいずれか一項に記載の装置。
【請求項１２】
前記１つ又は複数の構成要素は１つ又は複数のプロセッサコアを有するプロセッサを備える、請求項１から１１のいずれか一項に記載の装置。
【請求項１３】
前記制御ロジック及び前記１つ又は複数の構成要素は、同一の集積回路ダイ上にある、請求項１から１２のいずれか一項に記載の装置。
【請求項１４】
１つ又は複数のセンサーからの入力に基づいて、プラットフォームの１つ又は複数の電力消費構成要素と該プラットフォームの１つ又は複数の熱発生構成要素との間の１つ又は複数の熱関係を求め、前記１つ又は複数の熱関係に基づいて、前記プラットフォームの１つ又は複数の構成要素の電力消費制限を変更させること、
を含み、
前記１つ又は複数の熱関係のうちの第１の関係は、前記プラットフォームのターゲット構成要素に対する前記プラットフォームの熱源構成要素の影響優先度を示す、方法。
【請求項１５】
サンプリング期間の経過後に前記電力消費制限への前記変更の影響を求めることを更に含む、請求項１４に記載の方法。
【請求項１６】
前記１つ又は複数の熱関係をメモリに記憶することを更に含む、請求項１４または１５に記載の方法。
【請求項１７】
コンピューティングシステムであって、
１つ又は複数の熱関係に対応するデータを記憶するメモリと、
前記メモリと結合されるプロセッサと、
制御ロジックと、
を備え、
前記制御ロジックは、１つ又は複数のセンサーからの入力に基づいて、プラットフォームの１つ又は複数の電力消費構成要素と該プラットフォームの１つ又は複数の熱発生構成要素との間の１つ又は複数の熱関係を求め、前記１つ又は複数の熱関係に基づいて該コンピューティングシステムの１つ又は複数の構成要素の電力消費制限を変更させ、
前記１つ又は複数の熱関係のうちの第１の関係は、前記プラットフォームのターゲット構成要素に対する前記プラットフォームの熱源構成要素の影響優先度を示す、コンピューティングシステム。
【請求項１８】
前記制御ロジックは、ハードウェアロジックを少なくとも部分的に有する、請求項１７に記載のコンピューティングシステム。
【請求項１９】
前記１つ又は複数の熱発生構成要素は、前記熱源構成要素を含む、請求項１７または１８に記載のコンピューティングシステム。
【請求項２０】
前記１つ又は複数の電力消費構成要素は、前記ターゲット構成要素を含む、請求項１７から１９のいずれか一項に記載のコンピューティングシステム。
【請求項２１】
サンプリング期間の経過後に前記電力消費制限への前記変更の影響を求めるロジックを更に備える、請求項１７から２０のいずれか一項に記載のコンピューティングシステム。
【請求項２２】
前記１つ又は複数のセンサーは、前記プラットフォームの前記１つ又は複数の構成要素に近接する、請求項１７から２１のいずれか一項に記載のコンピューティングシステム。
【請求項２３】
前記１つ又は複数の熱関係は、アドバンストコンフィグレーションアンドパワーインターフェイス（ＡＣＰＩ）規格に少なくとも部分的に係る熱関係テーブルに記憶される、請求項１７から２２のいずれか一項に記載のコンピューティングシステム。
【請求項２４】
前記第１の関係は、前記ターゲット構成要素に対する前記熱源構成要素の熱的影響に対応する温度の値を示す第２の関係を置換する、請求項１７から２３のいずれか一項に記載のコンピューティングシステム。
【請求項２５】
前記１つ又は複数の構成要素は、前記プロセッサの１つ又は複数のプロセッサコアを備える、請求項１７から２４のいずれか一項に記載のコンピューティングシステム。
【請求項２６】
前記制御ロジック及び前記１つ又は複数の構成要素は、同一の集積回路ダイ上にある、請求項１７から２５のいずれか一項に記載のコンピューティングシステム。
【請求項２７】
プロセッサによって実行されると該プロセッサに、
１つ又は複数のセンサーからの入力に基づいて、プラットフォームの１つ又は複数の電力消費構成要素と該プラットフォームの１つ又は複数の熱発生構成要素との間の１つ又は複数の熱関係を求めさせ、前記１つ又は複数の熱関係に基づいて前記プラットフォームの１つ又は複数の構成要素の電力消費制限を変更させる、命令を備え、
前記１つ又は複数の熱関係のうちの第１の関係は、前記プラットフォームのターゲット構成要素に対する前記プラットフォームの熱源構成要素の影響優先度を示す、プログラム。
【請求項２８】
前記命令は、サンプリング期間の経過後に前記プロセッサに前記電力消費制限への前記変更の影響を求めさせる、請求項２７に記載のプログラム。
【請求項２９】
前記命令は、前記プロセッサに前記１つ又は複数の熱関係をメモリに記憶させる、請求項２７または２８に記載のプログラム。
【請求項３０】
前記命令は、前記プロセッサに、前記ターゲット構成要素に対する前記熱源構成要素の熱的影響に対応する温度の値を示す第２の関係を前記第１の関係と置換させる、請求項２７から２９のいずれか一項に記載のプログラム。
【請求項３１】
請求項２７から３０のいずれか一項に記載のプログラムを格納するコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、包括的にはエレクトロニクスの分野に関する。より詳細には、本発明の実施形態は優先度ベースのインテリジェントプラットフォームの受動的熱管理に関する。
【背景技術】
【０００２】
集積回路（ＩＣ）の製造技術の向上にともない、製造者は単一のシリコン基板上へ追加の機能を集積することが可能になっている。しかしながら、これらの機能の数が増加するのにともない、単一のＩＣチップ上の構成要素の数も増加している。追加の構成要素が追加の信号スイッチングを加え、これにより、より多くの熱を発生する。追加の熱は、例えば熱膨張によってＩＣチップにダメージを与える可能性がある。また、追加の熱はそのようなチップを含むコンピューティングデバイスの使用場所及び／又は用途を制限する場合がある。
【０００３】
例えば、携帯型コンピューティングデバイスはその動作をもっぱら電池電力に依存している場合がある。そのため、追加の機能が携帯型コンピューティングデバイスに集積されるのにともない、例えば電池電力を長期間維持するために、電力消費を減少させる必要性がますます顕著になっている。非携帯型のコンピューティングデバイスにおいても、そのＩＣ構成要素がより多くの電力を使用しより多くの熱を発生するのにともない、冷却問題及び電力消費問題に直面している。
【０００４】
詳細な説明が添付の図面を参照して提供される。図面において、参照符号の最も左側の数字（複数の場合もある）は参照符号が最初に現れる図を特定している。異なる図において同じ参照符号を使用することにより、同様の又は同一の項目を示す。
【図面の簡単な説明】
【０００５】
【図１】本明細書で検討されている様々な実施形態を実施するのに利用することができるコンピューティングシステムの実施形態のブロック図である。
【図２】一実施形態に係る、コンピューティングシステムのプロセッサコアの部分及び他の構成要素のブロック図である。
【図３】一実施形態に係る方法の流れ図である。
【図４】本明細書で検討されている様々な実施形態を実施するのに利用することができるコンピューティングシステムの実施形態のブロック図である。
【図５】本明細書で検討されている様々な実施形態を実施するのに利用することができるコンピューティングシステムの実施形態のブロック図である。
【図６】本明細書で検討されている様々な実施形態を実施するのに利用することができるコンピューティングシステムの実施形態のブロック図である。
【発明を実施するための形態】
【０００６】
以下の記載では、様々な実施形態の完全な理解を提供するために多くの具体的な詳細が説明されている。しかしながら、本発明の様々な実施形態はそれらの具体的な詳細がなくても実践することができる。他の場合においては、本発明の特定の実施形態をわかりにくくしないように、既知の方法、手順、構成要素及び回路を詳細には説明していない。さらに、本発明の実施形態の特定の様々な態様は、集積半導体回路（「ハードウェア」）、１つ若しくは複数のプログラムに編成されるコンピューター可読命令（「ソフトウェア」）又はハードウェアとソフトウェアとの或る組合せ等の様々な手段を用いて実行することができる。本開示の目的に関して、「ロジック」とは、ハードウェア、ソフトウェア、ファームウェア又はそれらの或る組合せを意味するものとする。また、本明細書にて検討されるとき、「命令」及び「マイクロ演算」（μｏｐ）の使用は、相互に交換可能である。
【０００７】
電源管理は携帯型デバイス（電話機、タブレット、ＵＭＰＣ（ウルトラモバイルパーソナルコンピューター）、ｕｌｔｒａｂｏｏｋ等のラップトップコンピューター等）ではきわめて重要であり、したがって、そのようなプラットフォームが電力／熱及び性能の観点から高度に最適化されることがきわめて重要である。コンピューティングシステムにおいて、アドバンストコンフィグレーションアンドパワーインターフェイス（ＡＣＰＩ：Advanced Configuration and Power Interface）規格がオペレーティング・システム（ＯＳ）によるデバイス構成及び電源管理に関するオープン標準規格を提供している。いくつかの実施形態では、本明細書で検討されている電力消費状態及び／又は技法のうちの少なくともいくつかは、従来のプロセッサ中心のサポートを超えた熱モデルに拡張した２００４年９月のＡＣＰＩ規格改訂版３．０に準拠するか、又はそれと同様とすることができる。ＡＣＰＩ３．０規格に組み込まれたこの拡張熱モデルは、モバイルプラットフォームのインテリジェントでより良好な全体的なプラットフォームレベルの熱管理に対する増大する要求に対処する。この要求は１つには、今やより多くの構成要素が、熱モデルの従来バージョン（例えば改訂版１．０）が定義された数年前にそうであったような単なるプロセッサではなく、熱発生器としてシステム上に存在していることから生じてきている。
【０００８】
さらに、ＡＣＰＩ３．０熱モデルの実施態様は、ダイナミック電力性能管理（ＤＰＰＭ：Dynamic Power Performance Management）技術としても既知である。この新たなプラットフォーム熱管理モデルは、システム上の電力を消費し熱を発生する様々な構成要素と、（例えば専用の）プラットフォームレベルの熱センサー（複数の場合もある）によって測定されたシステム上の様々なホットスポットとの間の関係を求めるプラットフォームを含む。その後、プラットフォームはこれらの求めた関係情報を熱関係テーブル（ＴＲＴ：Thermal Relationship Table）の形式で顕在化させることができる。しかしながらＴＲＴ値を生成してＴＲＴ値を定めることは困難かつ誤差を生じやすい時間のかかる処理である場合があり、技術的に多大な努力を要する。このことがＡＣＰＩ３．０を、システムに組み込みにくくしており、したがってＤＰＰＭが幅広く採用されるのを結果として妨げている可能性がある。
【０００９】
このため、いくつかの実施形態ではＴＲＴ定義を変更して、純粋に科学的な熱関係テーブルの代わりに優先度テーブルとして用い、例えば理解の平易化と実施態様の平易化とによる便宜を提供する。
【００１０】
そのような技法は、例えば熱管理の組込み制御実施態様及び／又はＯＳ電力／熱管理における、任意のプラットフォームで実施することができる。したがって、いくつかの実施形態は、例えば電話機、ＵＭＰＣ、タブレット、ｕｌｔｒａｂｏｏｋ等のラップトップ、デスクトップコンピューター、コンピューターサーバー、システムオンチップ（ＳｏＣ）デバイス（複数の場合もある）等を含む、様々なコンピューティングデバイス（本明細書において図１及び図４〜図６を参照して検討されるコンピューティングデバイス等）において提供することができる。
【００１１】
さらに、本明細書において検討される技法は、図１及び図４〜図６を参照して検討されるピューティングシステム及び／又はプロセッサのうちの任意のタイプで用いることができる。より詳細には、図１は本発明の実施形態に係るコンピューティングシステム１００のブロック図を示す。システム１００は１つ又は複数のプロセッサ１０２−１〜１０２−Ｎ（本明細書では包括的に「複数のプロセッサ１０２」または「プロセッサ１０２」と呼ぶ）を備えることができる。複数のプロセッサ１０２は相互接続ネットワーク又はバス１０４を介して通信することができる。各プロセッサは様々な構成要素を備えることができる。それらの構成要素のうちのいくつかについて、明確にするためにプロセッサ１０２−１のみを参照して検討する。したがって、残りのプロセッサ１０２−２〜１０２−Ｎは、プロセッサ１０２−１を参照して検討する構成要素と同じ又は同様の構成要素を備えることができる。
【００１２】
一実施形態において、プロセッサ１０２−１は１つ又は複数のプロセッサコア１０６−１〜１０６−Ｍ（本明細書では包括的に「複数のコア１０６」またはより一般的に「コア１０６」と呼ぶ）、共有キャッシュ１０８、ルーター１１０、及び／又プロセッサ制御ロジック若しくは制御ユニット１２０を備えることができる。複数のプロセッサコア１０６は単一の集積回路（ＩＣ）チップ上で実施することができる。さらに、チップは１つ又は複数の共有キャッシュ及び／又はプライベートキャッシュ（キャッシュ１０８等）、バス若しくは相互接続（バス若しくは相互接続ネットワーク１１２等）、メモリコントローラー（図４〜図６を参照して検討されるメモリコントローラー等）又は他の構成要素を備えることができる。
【００１３】
１つの実施形態では、ルーター１１０は、プロセッサ１０２−１及び／又はシステム１００の様々な構成要素間で通信するために用いられてよい。さらに、プロセッサ１０２−１は、１つ以上のルーター１１０を備えることができる。さらに、複数のルーター１１０は通信して、プロセッサ１０２−１の内部又はプロセッサ１０２−１の外部の様々な構成要素間でデータをルーティングすることを可能にすることができる。
【００１４】
共有キャッシュ１０８は、コア１０６等のプロセッサ１０２−１の１つ又は複数の構成要素によって利用されるデータ（例えば命令を含む）を記憶することができる。例えば、共有キャッシュ１０８は、プロセッサ１０２の構成要素によってより高速にアクセスするように、メモリ１１４に記憶されたデータをローカルにキャッシュすることができる。一実施形態では、キャッシュ１０８は中間レベルキャッシュ（レベル２（Ｌ２）、レベル３（Ｌ３）、レベル４（Ｌ４）、又は他のレベルのキャッシュ）、最終レベルキャッシュ（ＬＬＣ）及び／又はそれらの組合せを含むことができる。さらに、プロセッサ１０２−１の様々な構成要素は、バス（例えばバス１１２）及び／又はメモリコントローラー又はハブを介して共有キャッシュ１０８と直接通信することができる。図１に示すように、いくつかの実施形態では、コア１０６のうちの１つ又は複数はレベル１（Ｌ１）キャッシュ１１６−１（本明細書では包括的に「Ｌ１キャッシュ１１６」と呼ぶ）を備えることができる。
【００１５】
１つの実施形態では、制御ユニット／ロジック１２０は、ＴＲＴの定義に（すなわちＡＣＰＩ３．０に対して）変更を加え、この変更されたＴＲＴを純粋に科学的な熱関係テーブルの代わりに優先度テーブルとして利用する。いくつかの実施形態では、ロジック１２０はＯＳソフトウェア及び／又はソフトウェアアプリケーション（複数の場合もある）（例えばメモリ１１４に記憶しておくことができる）からの入力の少なくとも一部に基づいて動作することができる。さらに、作業負荷、シナリオ、用法、温度、電流、電力消費等に基づく（例えば、いくつかの実施形態では１つ又は複数のセンサー１５０からの入力に基づく）等の様々な決定に応じて、電力／熱レベルの設定（複数の場合もある）を制御する能力を用いてプラットフォーム電力消費及び／又は熱挙動を最適化することができる。図１に示すように、センサー（複数の場合もある）１５０は、熱的に影響を受ける１つ又は複数の構成要素１５１（本明細書においてターゲット（複数の場合もある）とも呼ばれる）に熱的に結合されるか、そうでなければ近接して、１つ又は複数の熱発生構成要素１５２（本明細書において熱源（複数の場合もある）とも呼ばれる）によって生じる温度の変動を検出することができる。さらに、本明細書で検討される少なくともいくつかのＯＳ動作は、ソフトウェアアプリケーション、ファームウェア等によって相互に交換可能に実行することができる。
【００１６】
図２は本発明の実施形態に係るコンピューティングシステムのプロセッサコア１０６の部分及び他の構成要素のブロック図を示す。１つの実施形態では、図２に示される矢印はコア１０６内を命令が流れる方向を示している。図１を参照して検討したように、１つ又は複数のプロセッサコア（プロセッサコア１０６等）は、単一の集積回路チップ（又はダイ）上に実施することができる。さらに、チップは１つ又は複数の共有キャッシュ及び／又はプライベートキャッシュ（例えば図１のキャッシュ１０８）、相互接続（例えば図１の相互接続１０４及び／又は１１２）、制御ユニット、メモリコントローラー又は他の構成要素を備えることができる。
【００１７】
図２に示すように、プロセッサコア１０６は、コア１０６によって実行される複数の命令（条件分岐をともなう命令を含む）をフェッチするフェッチユニット２０２を備えることができる。複数の命令は、メモリ１１４及び／又は図４〜図６を参照して説明されるメモリデバイス等の任意の記憶デバイスからフェッチされてよい。コア１０６は、フェッチされた命令をデコードするデコードユニット２０４も備えることができる。例えば、デコードユニット２０４はフェッチされた命令を複数のμｏｐ（マイクロ演算）にデコードすることができる。
【００１８】
加えて、コア１０６は、スケジューリングユニット２０６を備えることができる。スケジューリングユニット２０６は、命令の発送準備ができるまで、例えばデコードされた命令のすべてのソース値が利用可能になるまで、デコードされた（例えばデコードユニット２０４から受信した）命令を記憶することに関連する様々な動作を実行することができる。１つの実施形態では、スケジューリングユニット２０６はデコードされた命令を実行するために実行ユニット２０８にスケジューリング及び／又は送出（又は発送）することができる。実行ユニット２０８は命令が（例えばデコードユニット２０４によって）デコードされ、（例えばスケジューリングユニット２０６によって）発送された後に、それらの発送された命令を実行することができる。一実施形態では、実行ユニット２０８は２つ以上の実行ユニットを備えることができる。実行ユニット２０８は加算、減算、乗算及び／又は除算等の様々な算術演算を実行することもでき、１つ又は複数の算術論理演算ユニット（ＡＬＵ）を備えることができる。一実施形態では、コプロセッサ（図示せず）が実行ユニット２０８と共に様々な算術演算を実行することができる。
【００１９】
さらに、実行ユニット２０８は命令をアウトオブオーダーで実行することができる。したがって、１つの実施形態では、プロセッサコア１０６はアウトオブオーダー対応プロセッサコアとすることができる。コア１０６はリタイアメントユニット２１０も備えることができる。リタイアメントユニット２１０は、実行された命令を、それらの命令がコミットされた（committed）後にリタイアさせることができる。一実施形態において、実行された命令がリタイアすることによって、その結果として命令の実行がコミットされたプロセッサ状態、命令によって使用されていた物理レジスタの解放（de-allocated）等が生じる場合がある。
【００２０】
コア１０６は１つ又は複数のバス（例えばバス１０４及び／又は１１２）を介してプロセッサコア１０６の構成要素と他の構成要素（図１を参照して検討した構成要素等）との間の通信を可能にするバスユニット２１４も備えることができる。コア１０６は、コア１０６の様々な構成要素によってアクセスされるデータ（電力消費の状態設定に関連する値等）を記憶する１つ又は複数のレジスタ２１６も備えることができる。
【００２１】
さらに、図１は相互接続１１２を介してコア１０６と結合される制御ユニット１２０を示しているが、様々な実施形態において、制御ユニット１２０はコア１０６の内部、バス１０４を介してコアに結合される、等の他の場所にも配置することができる。
【００２２】
下記の表１はＡＣＰＩ３．０規格において定義されている熱関係テーブル（ＴＲＴ）内の項目を示す。
【表１】
0005881198.tif 000002
【００２３】
いくつかの実施形態は表１内の「影響」の項目の定義を、代わって、熱工学技術者が直感的に或るポリシーを適用して様々な熱源の順序及び優先度を求めることができるような優先度値に変更する。変更された項目の定義は以下の表２に定義されているとおりである。
【表２】
0005881198.tif 000003
【００２４】
図３は、一実施形態に係る、ＴＲＴの優先度値を用いて受動的熱制御を実行するのに用いられる方法３００の流れ図を示す。様々な実施形態において、図１及び図２又は図４〜図６の１つ又は複数の構成要素（例えばロジック１２０）を用いて図３を参照して検討される１つ又は複数の動作を実行することができる。さらに、いくつかの実施形態では、（例えばより柔軟なカスタマイズを提供するために）図３の動作３０８及び３２２は、昇順、降順、特別のソート順序なし、等の他の優先度ポリシーと相互に交換可能とすることができる。
【００２５】
図１〜図３を参照すると、動作３０２において（例えば、検出された温度値／温度情報をロジック１２０に入力するセンサー（複数の場合もある）１５０を用いて）熱監視を開始する。動作３０４において、方法３００は（＿ＰＳＶ（ＡＣＰＩ規格において定義されている受動的熱トリップ点（Passive Thermal Trip Point））値等の）スレッショルド値に達するのを待つ。動作３０６において、検出された温度がスレッショルドを超えた場合、動作３０８は（例えばＴＲＴの優先度の項目に基づいて）ターゲットデバイスに対する熱源のリストを優先度の降順で集める。動作３１０において、最も高い優先度の熱源が電力／性能に（例えば完全に）制限を受けているか否かが判断される。制限を受けている場合は、動作３１２において、リスト内の次に最も高い優先度を有する１つ又は複数の熱源が制限を受ける。そうでなく制限を受けていない場合、動作３１４において、リスト内の最も高い優先度を有する１つ又は複数の熱源が制限を受ける。
【００２６】
動作３０６において、温度がスレッショルドを超えなかった場合、動作３２０で任意の熱源で受動的ポリシーの作用がアクティブであるか否かが判断される。アクティブでない場合、方法３００は動作３０４において待つことを継続する。そうではなくアクティブである場合、動作３２２では、現在受動制御を受けている、ターゲットデバイスに対する熱源の（例えば全ての）リストを優先度の昇順で集める。動作３２４において、（例えば全ての）受動制御を受けている熱源（複数の場合もある）を１電力／性能レベル低減する（又は制限なしにする）。動作３２６は、（例えば全ての）受動制御を受けている熱源（複数の場合もある）が完全に制限なしであるか否かを判断する。完全に制限なしである場合、方法３００は動作３０４を再開する。そうではなく完全に制限なしではない場合、動作３１６はサンプリング期間（例えばＴＲＴに記憶してある対応する値に応じて）待つ。図３に示すように、方法３００は動作３１２、３１４及び３２６の後、動作３１６を実行する。
【００２７】
ＴＲＴオブジェクトにおいて定義されている元々の影響値の代わりに優先度値を用いることにより、熱工学技術者は様々な作業負荷の下で、プラットフォーム構成要素の配置と様々なターゲットの熱挙動の迅速な解析とに基づいて関係テーブルを迅速に作成することができる。これにより熱的な判断及びシステム設計にかかる時間を大幅に節減することができる。本受動制御アルゴリズムの実施態様はサンプリング期間情報を用いて適切な制御点を捜し出し、性能／電力を熱ターゲットに適合するように（例えば絶えず）調節するので、十分に合理的な優先度値を有することで十分であり、いくつかの実施形態では、より正確な影響値を有することを必要としない。また、優先度値は所定の任意の整数値とすることができるので、結果としての受動的制限作用及び性能判断は数回の実行にわたって繰り返し可能及び予測可能である。
【００２８】
一実施形態によれば、全体的なプラットフォームレベルの熱管理解決法を実施することを簡潔にすることによって、プラットフォームの熱挙動が改善され、したがって、任意の熱誘導による悪質な危害（例えば、過酷な作業負荷を駆動し予期せぬ動作状態に陥り熱状態／熱管理をトリガーすること等）を回避して、間接的に復元性を支援することができる。
【００２９】
図４は本発明の実施形態に係るコンピューティングシステム４００のブロック図を示す。コンピューティングシステム４００は、相互接続ネットワーク（又はバス）４０４を介して通信する１つ又は複数の中央処理ユニット（ＣＰＵ）４０２又はプロセッサを備えることができる。プロセッサ４０２は、汎用プロセッサ、ネットワークプロセッサ（コンピューターネットワーク４０３を介して通信されたデータを処理する）、又は他のタイプのプロセッサ（縮小命令セットコンピューター（ＲＩＳＣ）プロセッサ又は複雑命令セットコンピューター（ＳＩＳＣ）を含む）を備えることができる。さらに、プロセッサ４０２はシングルコア設計又は複数コア設計を有することができる。複数コア設計を有するプロセッサ４０２は様々なタイプのプロセッサコアを同じ集積回路（ＩＣ）ダイに集積することができる。また、複数コア設計を有するプロセッサ４０２は対称型マルチプロセッサ又は非対称型マルチプロセッサとして実施することができる。一実施形態では、プロセッサ４０２のうちの１つ又は複数は図１のプロセッサ１０２と同じか又は同様とすることができる。例えば、プロセッサ４０２のうちの１つ又は複数は、図１〜図３を参照して検討した制御ユニット１２０を含むことができる。また、図１〜図３を参照して検討した動作はシステム４００の１つ又は複数の構成要素によって実行することができる。
【００３０】
チップセット４０６は相互接続ネットワーク４０４と通信することもできる。チップセット４０６はメモリコントロールハブ（ＭＣＨ）４０８を備えることができる。ＭＣＨ４０８はメモリ４１２（図１のメモリ１１４と同じか又は同様とすることができる）と通信するメモリコントローラー４１０を備えることができる。メモリ４１２は、ＣＰＵ４０２又はコンピューティングシステム４００に含まれる任意の他のデバイスによって実行することができる一連の命令を含むデータを記憶することができる。本発明の１つの実施形態では、メモリ４１２は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、又は他のタイプの記憶デバイス等の１つ又は複数の揮発性記憶デバイス（又はメモリデバイス）を備えることができる。ハードディスク等の不揮発性メモリを利用することもできる。追加のデバイスが相互接続ネットワーク４０４を介して複数のＣＰＵ及び／又は複数のシステムメモリ等と通信することができる。
【００３１】
ＭＣＨ４０８は表示デバイス４１６と通信するグラフィックスインターフェース４１４を備えることもできる。本発明の１つの実施形態では、グラフィックスインターフェース４１４は高速処理化された（accelerated）グラフィックスポート（ＡＧＰ）を介して表示デバイス４１６と通信することができる。本発明の一実施形態では、ディスプレイ４１６（フラットパネルディスプレイ等）は例えば信号変換器を介してグラフィックスインターフェース４１４と通信することができる。この信号変換器は、ビデオメモリ又はシステムメモリ等の記憶デバイスに記憶された画像のデジタル表現を表示信号に変換し、この表示信号はディスプレイ４１６によって逐次変換されて（are interpreted）表示される。表示デバイスによって生成される表示信号は、様々な制御デバイスを通過した後に、ディスプレイ４１６によって逐次変換されて、次いでディスプレイ４１６上に表示することができる。
【００３２】
ハブインターフェース４１８はＭＣＨ４０８と入力／出力コントロールハブ（ＩＣＨ）４２０とが通信できるようにする。ＩＣＨ４２０は、コンピューティングシステム４００と通信するＩ／Ｏデバイス（複数の場合もある）にインターフェースを提供することができる。ＩＣＨ４２０は、周辺機器相互接続（ＰＣＩ）ブリッジ、ユニバーサルシリアルバス（ＵＳＢ）コントローラー又は他のタイプの周辺機器ブリッジ若しくは周辺機器コントローラー等の周辺機器ブリッジ（又は周辺機器コントローラー）４２４を介して、バス４２２と通信することができる。ブリッジ４２４はＣＰＵ４０２と周辺機器デバイスとの間のデータパスを提供することができる。他のタイプのトポロジーが利用される場合もある。また、複数のバスが、例えば複数の周辺機器ブリッジ又は周辺機器コントローラーを介してＩＣＨ４２０と通信する場合がある。さらに、本発明の様々な実施形態では、ＩＣＨ４２０と通信する他の周辺機器は、統合ドライブエレクトロニクス（ＩＤＥ）若しくはスモールコンピューターシステムインターフェース（ＳＣＳＩ）ハードディスク（複数の場合もある）、ＵＳＢポート（複数の場合もある）、キーボード、マウス、パラレルポート（複数の場合もある）、シリアルポート（複数の場合もある）、フロッピー（登録商標）ディスクドライブ（複数の場合もある）、デジタル出力サポート（例えばデジタルビデオインターフェース（ＤＶＩ））、又は他のデバイスを含むことができる。
【００３３】
バス４２２は、オーディオデバイス４２６と、１つ又は複数のディスクドライブ（複数の場合もある）４２８と、（コンピューターネットワーク４０３と通信している）ネットワークインターフェースデバイス４３０と通信することができる。他のデバイスはバス４２２を介して通信することができる。また、本発明のいくつかの実施形態では様々な構成要素（ネットワークインターフェースデバイス４３０等）はＭＣＨ４０８と通信することができる。加えて、プロセッサ４０２及び本明細書で検討している１つ又は複数の他の構成要素は結合して（例えばシステムオンチップ（ＳＯＣ）を提供する）単一のチップを形成することができる。さらに、本発明の他の実施形態ではグラフィックスアクセラレーター４１６をＭＣＨ４０８に備えることができる。
【００３４】
さらに、コンピューティングシステム４００は揮発性メモリ及び／又は不揮発性メモリ（又は記憶装置）を備えることができる。例えば不揮発性メモリは、リードオンリーメモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的ＥＰＲＯＭ（ＥＥＰＲＯＭ）、ディスクドライブ（例えば４２８）、フロッピー（登録商標）ディスク、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、フラッシュメモリ、光磁気ディスク、又は電子的なデータ（例えば命令を含む）を記憶することが可能な他のタイプの不揮発性機械可読媒体のうちの１つ又は複数を含むことができる。
【００３５】
図５は、本発明の実施形態に係る、ポイントツーポイント（ＰｔＰ）構成で配置されたコンピューティングシステム５００を示す。特に、図５は、プロセッサ、メモリ及び入力／出力デバイスが複数のポイントツーポイントインターフェースによって相互接続されているシステムを示す。図１〜図４を参照して検討した動作はシステム５００の１つ又は複数の構成要素によって実行することができる。
【００３６】
図５に示すように、システム５００はいくつかのプロセッサを備えることができる。明確にするために、それらのプロセッサのうちの２つ、すなわちプロセッサ５０２及び５０４のみが示されている。プロセッサ５０２及び５０４はそれぞれ、ローカルのメモリコントローラーハブ（ＭＣＨ）５０６及び５０８を備え、メモリ５１０及び５１２との通信を可能にしている。メモリ５１０及び５１２は、図４のメモリ４１２を参照して検討したデータ等の様々なデータを記憶することができる。
【００３７】
一実施形態において、プロセッサ５０２及び５０４は図４を参照して検討した複数のプロセッサ４０２のうちの１つとすることができる。プロセッサ５０２及び５０４は、ポイントツーポイント（ＰｔＰ）インターフェース５１４を介して、それぞれＰｔＰインターフェース５１６及び５１８を用いてデータを交換することができる。また、プロセッサ５０２及び５０４はそれぞれ、ポイントツーポイントインターフェース回路５２６、５２８、５３０及び５３２を用いて、個々のＰｔＰインターフェース５２２及び５２４を介してチップセット５２０とデータを交換することができる。チップセット５２０はグラフィックスインターフェース５３６を介して、例えばＰｔＰインターフェース回路５３７を用いてグラフィックス回路５３４と更にデータを交換することができる。
【００３８】
本発明の少なくとも１つの実施形態は、プロセッサ５０２及び５０４の内部に提供することができる。例えば、図１〜図４の制御ユニット１２０はプロセッサ５０２及び５０４の内部に配置することができる。しかしながら本発明の他の実施形態は、図５のシステム５００内の他の回路、ロジックユニット又はデバイスの内部に存在する場合がある。さらに、本発明の他の実施形態は、図５に示されるいくつかの回路、ロジックユニット又はデバイスにわたって分散させることができる。
【００３９】
チップセット５２０はＰｔＰインターフェース回路５４１を用いてバス５４０と通信することができる。バス５４０はバスブリッジ５４２及びＩ／Ｏデバイス５４３等の１つ又は複数のデバイスと通信することができる。バス５４４を介して、バスブリッジ５４２は、キーボード／マウス５４５、通信デバイス５４６（モデム、ネットワークインターフェースデバイス、又はコンピューターネットワーク４０３と通信することができる他の通信デバイス等）、オーディオＩ／Ｏデバイス５４７及び／又はデータ記憶デバイス５４８等の他のデバイスと通信することができる。データ記憶デバイス５４８はプロセッサ５０２及び／又は５０４によって実行することができるコード５４９を記憶することができる。
【００４０】
いくつかの実施形態では、本明細書で検討される構成要素のうちの１つ又は複数はシステムオンチップ（ＳＯＣ）デバイスとして実施することができる。図６は一実施形態に係るＳＯＣパッケージのブロック図を示す。図６に示すように、ＳＯＣ６０２は、１つ又は複数の中央処理ユニット（ＣＰＵ）コア６２０と、１つ又は複数のグラフィックスプロセッサユニット（ＧＰＵ）コア６３０と、入力／出力（Ｉ／Ｏ）インターフェース６４０と、メモリコントローラー６４２とを備える。ＳＯＣパッケージ６０２の様々な構成要素は、本明細書において他の図面を参照して検討する相互接続又はバス等に結合することができる。また、ＳＯＣパッケージ６０２は、本明細書において他の図面を参照して検討する構成要素等の構成要素より多くの構成要素を備えることができるし、より少ない構成要素を備えることもできる。さらに、ＳＯＣパッケージ６０２の各構成要素は、例えば本明細書の他の図面を参照して検討されるような１つ又は複数の他の構成要素を備えることができる。１つの実施形態では、ＳＯＣパッケージ６０２（及びその構成要素）は１つ又は複数の集積回路（ＩＣ）ダイ上に提供され、１つ又は複数の集積回路（ＩＣ）ダイは、例えば単一の半導体デバイスにパッケージ封入される。
【００４１】
図６に示すように、ＳＯＣパッケージ６０２は、メモリコントローラー６４２を介して（本明細書において他の図面を参照して検討するメモリと同様又は同じとすることができる）メモリ６６０と結合される。一実施形態では、メモリ６６０（又はメモリの一部分）はＳＯＣパッケージ６０２上に集積することができる。
【００４２】
Ｉ／Ｏインターフェース６４０は、例えば本明細書において他の図面を参照して検討される相互接続及び／又はバス等を介して１つ又は複数のＩ／Ｏデバイス６７０と結合することができる。Ｉ／Ｏデバイス（複数の場合もある）６７０はキーボード、マウス、タッチパッド、ディスプレイ、画像／ビデオ捕捉デバイス（カメラ又はカムコーダー／ビデオレコーダー等）、タッチスクリーン、スピーカー等のうちの１つ又は複数を含むことができる。さらに一実施形態では、ＳＯＣパッケージ６０２はロジック１２０を備える／集積することができる。代替的には、ロジック１２０はＳＯＣパッケージ６０２の外部に（すなわちディスクリートロジックとして）提供することができる。
【００４３】
本発明の様々な実施形態において、本明細書において例えば図１〜図６を参照して検討される動作は、ハードウェア（例えばロジック回路）、ソフトウェア、ファームウェア、又はそれらの組合せとして実施することができ、それらはコンピュータープログラム製品として提供することができる。それらのコンピュータープログラム製品は例えば、本明細書において検討されているプロセスを実行するようにコンピューターをプログラムするのに用いられる命令（又はソフトウェアプロシージャ）を記憶している、（例えば非一時的な）機械可読媒体又はコンピューター可読媒体を含む。機械可読媒体は図１〜図６を参照して検討される記憶デバイス等の記憶デバイスを含むことができる。
【００４４】
加えて、そのようなコンピューター可読媒体はコンピュータープログラム製品としてダウンロードすることができ、プログラムは遠隔コンピューター（例えばサーバー）から要求しているコンピューター（例えばユーザー）に、搬送波又は他の伝搬媒体に埋め込まれたデータ信号として、通信リンク（例えばバス、モデム、又はネットワーク接続）を介して転送することができる。
【００４５】
本明細書において、「１つの実施形態」、「一実施形態」、又は「いくつかの実施形態」への言及は、その実施形態（複数の場合もある）に関連して説明される特定の特徴、構造、又は特性が少なくとも一実施態様に含まれることを意味する。本発明明細書の様々な場所に現れる「１つの実施形態では」という語句は、それらのすべてが同じ実施形態を指している場合もあるし、それらのすべてが同じ実施形態を指しているわけではない場合もある。
【００４６】
また、本明細書及び特許請求の範囲において、用語「結合された」及び「接続された」がそれらの派生語とともに用いられる場合がある。本発明のいくつかの実施形態では、「接続された」を用いて２つ以上の要素が互いと直接物理的に又は電気的に接触していることを示すことができる。「結合された」は２つ以上の要素が直接物理的に又は電気的に接触していることを意味することができる。しかしながら、「結合された」は、２つ以上の要素が互いと直接物理的に又は電気的に接触していないかも知れないが、依然として互いと協働又は相互作用することができることも意味することができる。
【００４７】
以上、本発明の実施形態を構造的特徴及び／又は方法論的振る舞いに特化した文章で記載したが、特許請求される主題は記載されている具体的な特徴又は振る舞いに限定されないことが理解される。より正確に言えば、具体的な特徴又は振る舞いは、特許請求される主題を実施する例示の形態として開示される。
［項目１］
制御ロジックを備え、
前記制御ロジックは、ハードウェアロジックを少なくとも部分的に有し、プラットフォームの１つ又は複数の電力消費構成要素と前記プラットフォームの１つ又は複数の熱発生構成要素との間の１つ又は複数の熱関係に基づいて、前記プラットフォームの１つ又は複数の構成要素の電力消費制限を変更させ、
前記１つ又は複数の熱関係のうちの第１の関係は、前記プラットフォームのターゲット構成要素に対する前記プラットフォームの熱源構成要素の影響優先度を示す、装置。
［項目２］
前記１つ又は複数の熱発生構成要素は、前記熱源構成要素を含む、項目１に記載の装置。
［項目３］
前記１つ又は複数の電力消費構成要素は、前記ターゲット構成要素を含む、項目１または２に記載の装置。
［項目４］
サンプリング期間の経過後に前記電力消費制限への前記変更の影響を求めるロジックを更に備える、項目１から３のいずれか一項に記載の装置。
［項目５］
前記１つ又は複数の熱関係に対応するデータを記憶するメモリを更に備える、項目１から４のいずれか一項に記載の装置。
［項目６］
前記プラットフォームの前記１つ又は複数の構成要素に近接する１つ又は複数のセンサーからの入力に基づいて、前記１つ又は複数の熱関係を求めるロジックを更に備える、項目１から３のいずれか一項に記載の装置。
［項目７］
前記１つ又は複数の熱関係は、アドバンストコンフィグレーションアンドパワーインターフェイス（ＡＣＰＩ）規格に少なくとも部分的に係る熱関係テーブルに記憶される、項目１から６のいずれか一項に記載の装置。
［項目８］
前記第１の関係は、前記ターゲット構成要素に対する前記熱源構成要素の熱的影響に対応する温度の値を示す第２の関係を置換する、項目１から７のいずれか一項に記載の装置。
［項目９］
オペレーティングシステムソフトウェアを記憶するメモリを更に備え、該オペレーティングシステムソフトウェアは、前記電力消費制限への前記変更をトリガーする、項目１から４のいずれか一項に記載の装置。
［項目１０］
アプリケーションソフトウェアを記憶するメモリを更に備え、該アプリケーションソフトウェアは、前記電力消費制限への前記変更をトリガーする、項目１から４のいずれか一項に記載の装置。
［項目１１］
前記１つ又は複数の構成要素は１つ又は複数のプロセッサコアを有するプロセッサを備える、項目１から１０のいずれか一項に記載の装置。
［項目１２］
前記ロジック及び前記１つ又は複数の構成要素のうちの１つ又は複数は、同一の集積回路ダイ上にある、項目１から３のいずれか一項に記載の装置。
［項目１３］
プラットフォームの１つ又は複数の電力消費構成要素と該プラットフォームの１つ又は複数の熱発生構成要素との間の１つ又は複数の熱関係に基づいて、前記プラットフォームの１つ又は複数の構成要素の電力消費制限を変更させること、
を含み、
前記１つ又は複数の熱関係のうちの第１の関係は、前記プラットフォームのターゲット構成要素に対する前記プラットフォームの熱源構成要素の影響優先度を示す、方法。
［項目１４］
サンプリング期間の経過後に前記電力消費制限への前記変更の影響を求めることを更に含む、項目１３に記載の方法。
［項目１５］
前記１つ又は複数の熱関係をメモリに記憶することを更に含む、項目１３または１４に記載の方法。
［項目１６］
１つ又は複数のセンサーからの入力に基づいて、前記１つ又は複数の熱関係を求めることを更に含む、項目１３から１５のいずれか一項に記載の方法。
［項目１７］
コンピューティングシステムであって、  １つ又は複数の熱関係に対応するデータを記憶するメモリと、
前記メモリと結合されるプロセッサと、
制御ロジックと、
を備え、
前記制御ロジックは、ハードウェアロジックを少なくとも部分的に有し、プラットフォームの１つ又は複数の電力消費構成要素と該プラットフォームの１つ又は複数の熱発生構成要素との間の１つ又は複数の熱関係に基づいて該コンピューティングシステムの１つ又は複数の構成要素の電力消費制限を変更させ、
前記１つ又は複数の熱関係のうちの第１の関係は、前記プラットフォームのターゲット構成要素に対する前記プラットフォームの熱源構成要素の影響優先度を示す、コンピューティングシステム。
［項目１８］
前記１つ又は複数の熱発生構成要素は、前記熱源構成要素を含む、項目１７に記載のコンピューティングシステム。
［項目１９］
前記１つ又は複数の電力消費構成要素は、前記ターゲット構成要素を含む、項目１７または１８に記載のコンピューティングシステム。
［項目２０］
サンプリング期間の経過後に前記電力消費制限への前記変更の影響を求めるロジックを更に備える、項目１７から１９のいずれか一項に記載のコンピューティングシステム。
［項目２１］
前記プラットフォームの前記１つ又は複数の構成要素に近接する１つ又は複数のセンサーからの入力に基づいて、前記１つ又は複数の熱関係を求めるロジックを更に備える、項目１７から１９のいずれか一項に記載のコンピューティングシステム。
［項目２２］
前記１つ又は複数の熱関係は、アドバンストコンフィグレーションアンドパワーインターフェイス（ＡＣＰＩ）規格に少なくとも部分的に係る熱関係テーブルに記憶される、項目１７から２１のいずれか一項に記載のコンピューティングシステム。
［項目２３］
前記第１の関係は、前記ターゲット構成要素に対する前記熱源構成要素の熱的影響に対応する温度の値を示す第２の関係を置換する、項目１７から２２のいずれか一項に記載のコンピューティングシステム。
［項目２４］
前記１つ又は複数の構成要素は、前記プロセッサの１つ又は複数のプロセッサコアを備える、項目１７から２３のいずれか一項に記載のコンピューティングシステム。
［項目２５］
前記ロジック及び前記１つ又は複数の構成要素のうちの１つ又は複数は、同一の集積回路ダイ上にある、項目１７から１９のいずれか一項に記載のコンピューティングシステム。
［項目２６］
プロセッサによって実行されると該プロセッサに、
プラットフォームの１つ又は複数の電力消費構成要素と該プラットフォームの１つ又は複数の熱発生構成要素との間の１つ又は複数の熱関係に基づいて前記プラットフォームの１つ又は複数の構成要素の電力消費制限を変更させる、命令を備え、
前記１つ又は複数の熱関係のうちの第１の関係は、前記プラットフォームのターゲット構成要素に対する前記プラットフォームの熱源構成要素の影響優先度を示す、プログラム。
［項目２７］
前記命令は、サンプリング期間の経過後に前記プロセッサに前記電力消費制限への前記変更の影響を求めさせる、項目２６に記載のプログラム。
［項目２８］
前記命令は、前記プロセッサに前記１つ又は複数の熱関係をメモリに記憶させる、項目２６または２７に記載のプログラム。
［項目２９］
前記命令は、前記プロセッサに１つ又は複数のセンサーからの入力に基づいて前記１つ又は複数の熱関係を求めさせる、項目２６から２８のいずれか一項に記載のプログラム。
［項目３０］
前記命令は、前記プロセッサに、前記ターゲット構成要素に対する前記熱源構成要素の熱的影響に対応する温度の値を示す第２の関係を前記第１の関係と置換させる、項目２６から２９のいずれか一項に記載のプログラム。
【図１】
0005881198.tif 000004
【図２】
0005881198.tif 000005
【図３】
0005881198.tif 000006
【図４】
0005881198.tif 000007
【図５】
0005881198.tif 000008
【図６】
0005881198.tif 000009