(57)【特許請求の範囲】
【請求項１】
コンピュータシステムを収容するデバイスの外面上の位置の表面温度を、前記コンピュータシステムの複数のコンポーネントによって生成された複数の熱パワーの関数として表面温度を少なくとも部分的にモデル化する表面温度モデルを用いて判別することであって、前記複数のコンポーネントの各々によって生成された熱パワーを、前記コンポーネントに関連するアクティビティメトリックに基づいて推定することと、前記デバイス上で実行されているアプリケーションのアプリケーションタイプを識別することと、前記アプリケーションタイプに基づいて、前記アプリケーションの、前記デバイスとユーザとの双方向性に関連する双方向性メトリックを判別することと、前記双方向性メトリックに基づいて双方向性調整要素を決定することと、前記複数のコンポーネントの各々の熱パワーの影響と前記双方向性調整要素とを合計して、前記位置の表面温度を判別することと、を含む、ことと、
前記表面温度に基づいて、前記コンピュータシステムの電力限界を制御することと、を含む、
方法。
【請求項２】
前記外面に近接した配置された温度センサを用いて、前記位置の表面温度を判別することをさらに含む、請求項１の方法。
【請求項３】
前記電力限界を制御することは、前記表面温度が表面温度の閾値よりも高いことに応じて、前記複数のコンポーネントのうち選択されたコンポーネントについての個別の電力限界を低減することを含み、前記複数のコンポーネントのうち選択されたコンポーネントが、前記位置の表面温度に対する主要な要因として指定される、請求項１の方法。
【請求項４】
前記電力限界を制御することは、前記表面温度が表面温度の閾値よりも低いことに応じて、前記複数のコンポーネントのうち選択されたコンポーネントについての個別の電力限界を増加することを含む、請求項１の方法。
【請求項５】
前記外面上の複数の位置の各々の表面温度を判別することをさらに含み、
前記電力限界を制御することは、前記複数の位置の各々の表面温度のうち最小の表面温度が表面温度の閾値からヒステリシスオフセットを減じたものよりも小さいことに応じて前記電力限界を増加することを含む、
請求項１の方法。
【請求項６】
前記電力限界を制御することは、前記表面温度が表面温度の閾値よりも高いことに応じて、前記電力限界を低減することを含む、請求項１の方法。
【請求項７】
前記外面上の複数の位置の各々の表面温度を判別することをさらに含み、
前記電力限界を制御することは、前記複数の位置の各々の表面温度のうち最大の表面温度が表面温度の閾値よりも高いことに応じて前記電力限界を低減することを含む、
請求項１の方法。
【請求項８】
前記表面温度を判別することは、前記複数のコンポーネントの各々を、各々のアクティビティメトリックについて調べることを含む、請求項１の方法。
【請求項９】
前記表面温度を判別することは、前記表面温度に基づいて前記コンピュータシステムの前記電力限界を制御するために、前記複数のコンポーネントの各々に、各々のアクティビティメトリックを、電力管理コントローラに接続されたアクティビティカウンタにプッシュさせることを含む、請求項１の方法。
【請求項１０】
前記表面温度を判別することは、ＣＰＵのコアのソフトウェア可視状態を判別することを含み、
前記方法は、前記ソフトウェア可視状態及び前記コンピュータシステムの前記電力限界に基づく動的な電圧及び周波数のスケーリング（ＤＶＦＳ）に従って、前記コンピュータシステムの前記ＣＰＵを動作させることをさらに含む、
請求項１の方法。
【請求項１１】
前記コンピュータシステムの電力限界を制御することは、表面温度の閾値に対する表面温度のヒステリシスオフセットに基づいている、請求項１の方法。
【請求項１２】
処理ユニットと、
電力管理コントローラと、を備えるプロセッサであって、
前記電力管理コントローラは、
前記プロセッサを収容するデバイスの外面上の位置の表面温度を、前記デバイスの複数のコンポーネントによって生成された複数の熱パワーの関数として表面温度を少なくとも部分的にモデル化する表面温度モデルを用いて判別することであって、前記複数のコンポーネントの各々によって生成された熱パワーを、前記コンポーネントに関連するアクティビティメトリックに基づいて推定することと、前記デバイス上で実行されているアプリケーションのアプリケーションタイプを識別することと、前記アプリケーションタイプに基づいて、前記アプリケーションの、前記デバイスとユーザとの双方向性に関連する双方向性メトリックを判別することと、前記双方向性メトリックに基づいて双方向性調整要素を決定することと、前記複数のコンポーネントの各々の熱パワーの影響と前記双方向性調整要素とを合計して、前記位置の表面温度を判別することと、を含む、ことと、
前記表面温度に基づいて、前記処理ユニットの電力限界を制御することと、
を行うように構成されている、
プロセッサ。
【請求項１３】
前記電力管理コントローラは、受信した前記位置の温度センサデータに更に基づいて前記表面温度を判別する、請求項１２のプロセッサ。
【請求項１４】
前記電力管理コントローラは、前記表面温度が表面温度の閾値よりも高いことに応じて、前記複数のコンポーネントのうち選択されたコンポーネントについての個別の電力限界を低減するように構成されており、前記複数のコンポーネントのうち選択されたコンポーネントが、前記位置の表面温度に対する主要な要因として指定される、請求項１２のプロセッサ。
【請求項１５】
前記電力管理コントローラは、前記表面温度が表面温度の閾値よりも低いことに応じて、前記複数のコンポーネントのうち選択されたコンポーネントについての個別の電力限界を増加するように構成されている、請求項１２のプロセッサ。
【請求項１６】
前記電力管理コントローラは、前記外面上の複数の位置の各々の表面温度を判別するように構成されており、
前記電力限界を制御することは、前記複数の位置の各々の表面温度のうち最小の表面温度が表面温度の閾値からヒステリシスオフセットを減じたものよりも小さいことに応じて前記電力限界を増加することを含む、
請求項１２のプロセッサ。
【請求項１７】
前記電力管理コントローラは、前記表面温度が表面温度の閾値よりも高いことに応じて、前記電力限界を低減するように構成されている、請求項１２のプロセッサ。
【請求項１８】
前記電力管理コントローラは、前記外面上の複数の位置の各々の表面温度を判別するように構成されており、
前記電力限界を制御することは、前記複数の位置の各々の表面温度のうち最大の表面温度が表面温度の閾値よりも高いことに応じて前記電力限界を低減することを含む、
請求項１２のプロセッサ。
【請求項１９】
請求項１２のプロセッサを収容するデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の主題は、概してコンピュータシステムに関し、より詳細には、ハンドヘルド処理デバイスの電力管理に関する。
【背景技術】
【０００２】
近年の高性能プロセッサには、中央処理ユニット（ＣＰＵ）コア及びグラフィック処理ユニット（ＧＰＵ）等の複数の異種処理ユニットが含まれている。電力管理技術は、各処理ユニットに亘って電力を適応的に割り当てて、決められたプロセッサ電力及び熱エンベロープ内で最良の性能結果を得るために用いられている。
【０００３】
処理ユニットの最大電力（すなわち、熱設計ポイント（ＴＤＰ））は、最悪な条件下で重い作業負荷を実行することに基づいて設定される。ＴＤＰは、持続可能な電力の上限を表しており、処理ユニットによって発生した熱でコンポーネントがダメージを受けたり、当該コンポーネントの耐用年数が短くなるのを抑制するために、システムの冷却要件を決定するのに用いられる。
【０００４】
タブレットコンピュータ、携帯電話、スマートウォッチ等のハンドヘルド又はウェアラブルコンピューティングデバイスの場合、デバイスの最大動作温度は、シリコン温度限界よりもユーザの知覚によって制限される。ハンドヘルドデバイスの処理ユニットによって生成された熱は、ディスプレイ及びケーシング等のデバイスの外表面に伝えられ、ユーザは、デバイスの動作中に当該デバイスとインタフェースする。ユーザに対して快適感を提供するために、処理ユニットに割り当てられる最大電力量は、デバイスの表面温度を、ユーザが高すぎると感知する値よりも低い温度に維持するために、ＴＤＰ未満であり得る決まった限界に設定される。
【０００５】
静的電力限界（static power limit）が最悪の場合の表面温度（すなわち、長時間の重い作業負荷）に基づいているので、静的電力限界の使用は控えめであり、デバイスの性能を人為的に低下させる。一方、実際の動作条件が最悪な条件を満たすことは殆どない。
【０００６】
本開示は、添付図面を参照することによってより良く理解され、その多くの特徴及び利点が当業者に明らかになるであろう。
【図面の簡単な説明】
【０００７】
【図１】いくつかの実施形態による、デバイスの表面温度に基づいて電力限界を変化させるための電力管理を実現するように構成されたコンピュータシステムを含むデバイスの簡略化したブロック図である。
【図２】いくつかの実施形態による、表面温度に基づいて電力限界を制御する方法のフロー図である。
【図３】いくつかの実施形態による、表面温度に基づいて電力限界を制御する方法のフロー図である。
【図４】いくつかの実施形態による、図１のデバイスの各層の熱特性をモデリングするための熱ラダー回路アナロジーの図である。
【図５】いくつかの実施形態による、デバイスの状態に基づく表面温度の閾値の調整を示す図である。
【図６】いくつかの実施形態による、プロセッサの少なくとも一部のコンポーネントを実現する集積回路デバイスを設計及び製造する方法を示すフロー図である。
【発明を実施するための形態】
【０００８】
異なる図面において同じ参照符号を使用することにより、類似又は同一のアイテムを示している。
【０００９】
図１〜図５は、コンピュータシステムを含むデバイスのユーザが体感する表面温度に基づいて、コンピュータシステムのリソースを管理するための例示的な技術を示している。判別された表面温度と表面温度限界との間に熱マージンが存在する場合にコンピュータシステムのコンポーネントのブーストを可能にする（すなわち、より高い周波数動作を可能にする）ために、コンピュータシステムの電力限界が表面温度に基づいて動的に制御され得る。この技術は、本明細書においてＳＴＡＰＭ（Skin temperature Aware Power Management）と称する。コンピュータシステムによって生成された熱（接合温度Ｔｊで表される）がデバイスを通して伝えられて１つ以上の位置においてデバイスの表面温度ＴＳＫＩＮに影響する間に遅延（すなわち、熱容量）が存在するので、表面温度に関連する熱ヘッドルーム（thermal headroom）は時間依存である。表面温度は、温度センサ又は表面温度モデルを使用して判別することができる。表面温度モデルは、１つ以上の位置で表面温度を推定するために、デバイスの熱モデルと共に、デバイスの熱生成コンポーネントに関する熱量推定値に基づくアクティビティメトリック（activity metric）を組み込むことができる。アクティビティメトリックは、デバイス内の様々なタイプのリソース（例えば、高度処理ユニット（ＡＰＵ：Advanced Processing Unit）、メモリ、ディスプレイ等）に関する熱生成と相関し得る。表面温度限界は、固定であってもよいし、可変であってもよい。ＳＴＡＰＭは、時間変化するデバイスの熱ヘッドルームの便宜的な使用を許容して、システムをブーストさせ、性能を向上させることができる。熱ヘッドルームを使用することによるブーストレジデンシ（boost residency）の増加は、特に、短時間及びバースト指向の利用条件に対するシステムの応答性を向上させる。
【００１０】
図１は、いくつかの実施形態による、加速処理ユニット（ＡＰＵ：Accelerated Processing Unit）１０５で実現されるコンピュータシステム１０２を含むデバイス１００のブロック図である。ＡＰＵ１０５は、１つ以上の中央処理ユニット（ＣＰＵ）コア１１０と、１つ以上のグラフィック処理ユニット（ＧＰＵ）コア１１５と、ノースブリッジ（ＮＢ）コントローラ１２０と、表面温度認識電力管理（ＳＴＡＰＭ）コントローラ１２５と、を含む。また、コンピュータシステム１０２は、システムメモリ１３０と、ディスプレイ１３５と、電源１３７（個別に図示しない電圧レギュレータ、バッテリ及びバッテリ充電ユニットを含む）と、を有している。ＮＢコントローラ１２０は、システムメモリ１３０へのインタフェースを提供する。デバイス１００の動作は、概して、デバイス１００の様々な要素とインタフェースするソフトウェアを含むオペレーティングシステム１４０によって制御される。ＡＰＵ１０５は、ＣＰＵコア１１０及びＧＰＵコア１１５を共通の半導体ダイに搭載し、これらのＣＰＵコア１１０及びＧＰＵコア１１５が、例えばメモリ階層及び相互接続等のオンダイリソースを共有するのを可能にする。
【００１１】
デバイス１００は、コンピュータシステム１０２のアクティブコンポーネントを囲み、ユーザがデバイス１００とインタフェースする外面を提供するディスプレイ１３５を支持する外側ケーシング１４５を含む。ＡＰＵ１０５は、ディスプレイ１３５を制御し、ディスプレイ１３５がタッチスクリーンである実施形態において、ユーザの入力をディスプレイ１３５から受信することができる。いくつかの実施形態では、デバイス１００に設けられる１つ以上の温度センサ１５０は、ケーシング１４５に近接するセンサ１５０、及び、ディスプレイ１３５に近接するセンサ等を含むことができる。ＣＰＵカウンタ１５５、ＧＰＵカウンタ１６０及びメモリカウンタ１６５等のアクティビティカウンタは、コンポーネントが生成する熱、及び、その熱がどのように表面温度に影響するのかを推定するために、コンポーネントのデバイスアクティビティメトリックを生成するように設けられてもよい。
【００１２】
様々な実施形態では、デバイス１００は、ラップトップコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、モバイルデバイス、電話、パーソナルデータアシスタント（ＰＤＡ）、音楽プレーヤ、ゲームデバイス等のハンドヘルドデバイス又はウェアラブルデバイスで実現されてもよい。デバイス１００のある例示的な態様が本明細書に記載されていない限り、かかる例示的な態様は、当業者が理解し得る本願の実施形態の趣旨及び範囲を限定することなく、様々な実施形態に含まれてもよいし、含まれなくてもよい。
【００１３】
ＳＴＡＰＭコントローラ１２５は、判別された表面温度に基づいて、デバイス１００の動的電力限界を設定する。動的電力限界内で、ＳＴＡＰＭコントローラ１２５は、ＣＰＵコア１１０及びＧＰＵコア１１５の電圧及びクロックレベルを適合させるために、電圧及び周波数のスケーリング（ＤＶＦＳ）を実行する。ＳＴＡＰＭコントローラ１２５は、システムメモリ１３０に割り当てられた帯域幅、又は、電源１３７によって用いられるバッテリのチャージレートを制御して、各々の熱的影響を制御することができる。以下により詳細に説明するように、ＳＴＡＰＭコントローラ１２５は、制御されるコンポーネント毎に、全体的なデバイス電力限界又は個別の電力限界を実装することができる。
【００１４】
いくつかの実施形態では、表面温度限界が固定されており、デフォルトのパッケージの電力限界、すなわちＤＰＰＬに関連付けられている。ここで、デバイス１００がＤＰＰＬで長時間動作する場合、デバイス１００の実際の表面温度は、実質的に表面温度の限界に達することになるが、それを超えることはない。いくつかの実施形態では、表面温度の限界は、デバイスの状態又はユーザの選択等の要因に応じて可変であってもよい。かかる場合、ＤＰＰＬは、表面温度の限界に合わせて調整される。
【００１５】
電圧及び周波数は一般的にＤＶＦＳ状態でカップリングしている（すなわち、電圧が低下すると周波数も低下する）ことから、ＤＶＦＳ状態は、単にアクティブな周波数状態（active frequency state）とも呼ばれ得る。アクティブという修飾語は、処理コア１１０，１１５が、対応するクロックの周波数がゼロである非アクティブ状態又はパワーダウン状態と比較して、命令を実行することができるアクティブな動作状態のままであることを意味する。以下の表１は、ＣＰＵコア１１０の例示的なＤＶＦＳ状態を示している。Ｐ０〜Ｐ５は、オペレーティングシステム１３５又はＳＴＡＰＭコントローラ１２５によって制御され得るソフトウェア可視状態を表している。Ｐｂ０〜Ｐｂ１は、ＳＴＡＰＭコントローラ１２５によって制御され得る、ハードウェア制御されたブースト状態（オペレーティングシステム１３５等のソフトウェアにとって可視ではない）を表している。Ｐ０〜Ｐ５について、Ｐ０はベースＤＶＦＳ状態を表しており、状態数が増加すると電圧及び周波数が減少して、Ｐ５が最も低いＤＶＦＳ状態になっている。ブースト状態に関連する電圧及び周波数は、ベース状態Ｐ０の電圧及び周波数よりも大きい。ブースト状態Ｐｂ１及びＰｂ１は、インデックス番号と共に減少する電圧及び周波数を示しており、Ｐｂ０が最も高いブースト状態である。
【表１】
0006595614.tif 000002
【００１６】
ＧＰＵコア１１５は、ＣＰＵコア１１０に関連する電圧及び周波数から独立して電圧及び周波数が制御されることを可能にする、独立して制御される電力面を有している。図示した例では、ＧＰＵコア１１５は、ＧＰＵ高状態（最高周波数）、ＧＰＵ中間状態（中間周波数）及びＧＰＵ低状態（最低周波数）を含む。
【００１７】
図２は、いくつかの実施形態による、推定された表面温度に基づいて、コンピュータシステム１０２内の処理コンポーネントの電力限界を設定する方法２００のフロー図である。方法ブロック２０５では、ＳＴＡＰＭコントローラ１２５は、コンピュータシステム１０２を収容するデバイスのｍ個の位置（例えば、ケーシング１４５又はディスプレイ１３５の１つ以上の位置）における表面温度ＴＳＫＩＮ，ｍを判別する。以下により詳細に説明するように、表面温度は、温度センサ１５０又は表面温度モデルを使用することによって判別することができる。温度センサ１５０の場合には、センサが実際には表面上ではなく表面付近に取り付けられ得ることから、センサのデータから表面温度を直接読み取ることができない。センサを覆う任意の材料の熱抵抗は、測定された温度に対してオフセットを生成することがある。
【００１８】
方法ブロック２１０では、様々な位置の表面温度が、最大表面温度閾値ＴＳＫＩＮ＿ＴＨ（すなわち、表面温度の限界）と比較される。いくつかの実施形態では、最大表面温度閾値は、位置に依存するＴＳＫＩＮ＿ＴＨ，ｍであってもよい。例えば、ディスプレイ１３５は、ケーシング１４５とは異なる表面温度限界を有してもよい。何れかの表面温度がＴＳＫＩＮ＿ＴＨを超える場合、コンピュータシステム１０２のパッケージ電力限界ＰＰＬが低減される。いくつかの実施形態では、ＴＳＫＩＮ＿ＴＨの値は固定されてもよく、いくつかの実施形態では、ＴＳＫＩＮ＿ＴＨの値は可変であってもよい。ＰＰＬは、デバイス１００の制御されているコンポーネントによって消費された総電力と、一定の影響を示すと想定される電力と、の合計を表している。ＰＰＬによって設定されたエンベロープ内では、以下にさらに詳細に説明するように、個別のコンポーネントの電力状態を設定するために、様々な電力管理技術を用いることができる。いくつかの実施形態では、段階的なアプローチを用いてＰＰＬを低減することができる。このアプローチでは、ＰＰＬは、所定の割合に従って徐々に低減して、表面温度において電力が低下する時間が実現するのを許容する。ＳＴＡＰＭコントローラ１２５は、デフォルトのパッケージの電力限界ＤＰＰＬに達するまで、ＰＰＬを引き続き低減することができる。表面温度の閾値が可変である場合には、ＤＰＰＬは、最大表面温度閾値の値と共に調整されてもよい。最大表面温度閾値とＤＰＰＬとの間の所定の相関を用いることができる。
【００１９】
方法ブロック２２０では、様々な位置における表面温度が、最大表面温度閾値ＴＳＫＩＮ＿ＴＨからヒステリシスのオフセットＴＨＹＳを引いた値と比較される。様々な位置での最小表面温度が、ヒステリシスが調整された閾値よりも小さい場合には、システム内に熱ヘッドルームが存在し、且つ、表面温度の閾値を超えることなくシステムの性能をブーストさせる機会が存在する。方法ブロック２２５では、ＰＰＬが増加する。いくつかの実施形態では、ＰＰＬは、シリコンへのダメージを防止するように設計されたＴＤＰ限界に対応する、熱パッケージの電力限界の閾値ＴＰＰＬによって決められた最大値まで増加してもよい。他の実施形態では、ＰＰＬの増加は、所定の割合を使用して徐々に実行されてもよい。ＴＰＰＬの閾値の値がシリコンの限界に基づいて判別されているため、最大表面温度閾値の変化の影響を受けない。
【００２０】
図２の実施形態は、表面温度に基づいて、全体のＰＰＬを管理する技術を使用している。いくつかの場合では、デバイス１００の特定のコンポーネントは、特定の監視位置における表面温度の主要な要因となり得る。例えば、システムメモリ１３０上に配置された位置での表面温度は、メモリ１３０の動作レベルに殆ど依存する場合があり、ＡＰＵ１０５上に配置された位置での表面温度は、ＡＰＵ１０５の動作レベルに殆ど依存する場合があり、又は、電源１３７上の位置での表面温度は、バッテリの充電状態及びチャージレートに殆ど依存する場合がある。より細かい粒度の制御を促進するために、ＳＴＡＰＭコントローラ１２５は、表面温度及び位置に基づいて調整され得るＰＰＬによって決められたエンベロープ内にコンポーネント特有の電力限界を実装することができる。
【００２１】
図３は、いくつかの実施形態による、推定された表面温度に基づいて、コンピュータシステム１０２内の各コンポーネントの電力限界を設定する方法３００のフロー図である。方法ブロック３０５では、ＳＴＡＰＭコントローラ１２５は、コンピュータシステム１０２を収容するデバイスのｍ個の位置（例えば、ケーシング１４５又はディスプレイ１３５の１つ以上の位置）における表面温度ＴＳＫＩＮ，ｍを判別する。
【００２２】
方法ブロック３１０では、様々な位置における表面温度が、最大表面温度閾値ＴＳＫＩＮ＿ＴＨと比較される。この場合においても、表面温度の閾値は、固定であってもよいし可変であってもよい。方法ブロック３１０において、何れかの表面温度が電力限界ＴＳＫＩＮ＿ＴＨを超える場合、特定の違反位置（ＴＳＫＩＮ，ｍ）を評価して、方法ブロック３１５において、当該特定の位置にて熱生成に関連する特定のコンポーネントが存在するか否かを判別する。方法ブロック３１５において、違反位置がコンポーネントに依存する場合、関連するコンポーネントの電力限界ＰＬＣｊは、方法ブロック３２０において低減される。例えば、メモリ１３０が違反位置で主に影響しているコンポーネントである場合、ＳＴＡＰＭコントローラ１２５は、メモリ１３０の帯域幅の限界を低減することができる。ここで、帯域幅は、電力に正比例する。電源１３７が主に影響するコンポーネントである場合、ＳＴＡＰＭコントローラ１２５は、バッテリのチャージレートを低減することができる。したがって、帯域幅の限界は、方法ブロック３２０におけるコンポーネントの電力限界のコンテキストにおいて、電力限界を表すことができる。ＡＰＵ１０５の場合、ＡＰＵの電力限界が用いられてもよいし、ＣＰＵ及びＧＰＵの個々の電力限界が用いられてもよい。ＡＰＵ１０５における電力限界の低減は、概して、より低いＤＶＦＳ状態への遷移をもたらす。いくつかの実施形態では、電力限界は、周波数／Ｐ状態の限界を変化させることによって、間接的に制御することができる。この例示的な実施例の目的のために、周波数／Ｐ状態の限界は、電力限界とみなされる。方法ブロック３１５において、違反位置がコンポーネントに依存しない場合、全てのコンポーネントの電力限界は、方法ブロック３２５において低減される。コンポーネントの電力限界は、制御されていないコンポーネントの一定の電力の影響と組み合わされ、コンポーネントの電力限界を操作している間、パッケージ電力限界ＰＰＬに基づいて制約され得る。
【数１】
0006595614.tif 000003
【００２３】
方法ブロック３３０では、様々な位置における表面温度が、最大表面温度閾値ＴＳＫＩＮ＿ＴＨからヒステリシスのオフセットＴＨＹＳを引いた値と比較される。様々な位置での最小表面温度が、ヒステリシスが調整された閾値よりも小さい場合には、システム内に熱ヘッドルームが存在し、且つ、表面温度の閾値を超えることなくシステムの性能をブーストさせる機会が存在する。方法ブロック３３５では、全てのコンポーネントの電力限界が増加する。いくつかの実施形態では、コンポーネントの電力限界は、シリコンへのダメージを防止するように設計されたコンポーネント毎のＴＤＰ限界に対応する、コンポーネント毎の最大コンポーネント電力限界まで増加することができる。いくつかの実施形態では、コンポーネントの電力限界の増加は、所定の割合を使用して徐々に実行されてもよい。
【００２４】
パッケージ電力限界又は個別のコンポーネントの電力限界によって決められた動作エンベロープ内では、様々なアプローチを用いて、実際のデバイス電力状態（例えば、上述したＣＰＵ及びＧＰＵ電力状態）を制御することができる。一実施形態では、ＡＰＵ１０５のＤＶＦＳ状態をブーストして、熱バジェット内で電力を貪欲に割り当てることと呼ばれる概念である総熱容量の使用を最大にしてもよい。最大表面温度閾値に達しない場合、ＣＰＵ周波数、ＧＰＵ周波数、及び、帯域幅の最大値に達するまで電力が割り当てられる。他の実施形態では、周波数に敏感なアプローチを用いて、ＤＶＦＳ状態を調整することができる。
【００２５】
バッテリのチャージレートの場合には、ＳＴＡＰＭコントローラ１２５は、他のコンポーネントの動作状態に基づいて、電力を電源１３７に優先的に割り当てることができる。例えば、ＡＰＵ１０５が低動作の間では、電源１３７によって用いられるチャージレートは、システムの性能に悪影響を及ぼすことなく、より迅速にバッテリを充電するように増加してもよい。ＡＰＵ１０５が高動作の間では、コンピュータシステム１０２の性能を向上させるように、利用可能な任意の熱ヘッドルームを使用可能にするために、チャージレートが低減してもよい。図２の実施形態では、ＳＴＡＰＭコントローラ１２５は、チャージレートを直接制御して、電源１３７の熱の影響に対処する。一方、図３の実施形態では、ＳＴＡＰＭコントローラ１２５は、電源１３７についてコンポーネントレベルの電力限界を使用してもよく、電源１３７は、アサインされた電力限界に基づくチャージレートを制御してもよい。
【００２６】
いくつかの実施形態では、デバイス１００に温度センサ１５０を設けることが実現できない場合がある。表面温度の分析を容易にするために、複数の位置でコンポーネントの動作レベルを表面温度に相関させる表面温度モデルを使用することができる。通常、コンポーネントによって生成された熱が、特定の位置で表面温度として現れるまで、デバイスを通して伝えられる経路が存在する。この熱経路は、電流が熱パワーに類似し、電圧が温度に類似する電気回路のアナロジーを用いてモデル化することができる。熱生成コンポーネントと表面温度の位置との間の、インデックスｉで表されるデバイスの各層は、特性熱抵抗パラメータＲｔｈ（ｉ）と、平行特性熱容量パラメータＣｔｈ（ｉ）と、によって表されてもよい。各層に関連する熱時定数は、熱抵抗と容量との積τｉ＝ＲｔｈｉＣｔｈｉで表すことができる。
【００２７】
図４は、所定のコンポーネント及び表面温度位置に対する、デバイス１００の各層に関する熱ラダー回路アナロジー４００を示す図である。熱ラダー回路アナロジー４００は、フォスターＲＣネットワークを表している。使用される特定数の層及び各層の特性は、デバイスの特定の構成に依存している。例えば、ＡＰＵ１０５及びメモリ１３０用のパッケージは、回路基板上に実装されてもよい。熱拡散器は、パッケージの一方又は両方に設けられてもよい。表面拡散器をケーシング１４５に設けることができる。プリント回路基板を支持するために中間フレームを使用することができる。熱放散要素の様々な構成及びプリント回路基板の向きは、（例えば、ケーシング１４５に面するか、ディスプレイ１３５に面するように）変化してもよい。各層は、ＲＣペア４０５Ａ〜４０５Ｄによって表される。
【００２８】
熱モデル回路アナロジー４００に基づき、複数の位置における表面温度の表面温度モデルは、以下の式２で定義される。
【数２】
0006595614.tif 000004
ここで、上記式２のパラメータは以下の通りである。
ｎ＝離散時間変数のインジケータ
ｍ＝表面温度位置を定義する変数（整数）
Ｍ＝表面温度位置の総数（整数）
ｉ＝フォスターＲＣネットワーク内のラダー（整数）
Ｉ＝フォスターＲＣネットワーク内のラダーの総数（整数）
ｊ＝熱生成コンポーネントの数（整数）
Ｊ＝コンポーネントの総数（整数）
Δｔ＝サンプリング時間（ＴＳとしても知られている）
τ＝ＲＣラダー及び交差加熱コンポーネントに関する時定数
Ｒｔｈ＝ＲＣラダー及び交差加熱コンポーネントに関する熱抵抗
ＳＴＡＴＥｊ，ｎ＝熱コンポーネントの熱パワーを示す時間依存変数
Ｔａｍｂ＝周囲の温度（固定値又は測定値）
Ｔｓｙｓ＝システムの静的非熱コンポーネントの温度上昇
【００２９】
いくつかの実施形態では、式２で参照される周囲の温度及び静的システム温度は、一定値であると仮定する。他の実施形態では、周囲の温度を測定してもよい。例えば、システムが冷えている場合、システムの初期化の間に取られた温度センサ１５０からの最初の読取り値を、周囲の温度として使用することができる。熱的にシールドされた温度を、周囲の温度を動的に測定及び更新するために使用することができる。
【００３０】
熱抵抗及び時定数のパラメータは、所定のデバイス設計に対して経験的に決定されてもよい。層ｉ毎に、熱抵抗値を、コールドスタート及び温度応答の定常値を用いて、以下の式３に基づいて得ることができる。
【数３】
0006595614.tif 000005
【００３１】
τの値は、温度値がその定常値の約６３．２％に達する時間（すなわち、システムのステップ応答が最終的な漸近値の１〜１／ｅに達するのに要する時間）に基づいて計算することができる。
【００３２】
各コンポーネントの熱パワーに関する影響ＳＴＡＴＥｊを決定する場合、動作を熱パワー（すなわち、ワット）に関連付けるモデルを使用することができる。いくつかの実施形態では、ＳＴＡＰＭコントローラ１２５は、ＡＰＵ１０５、システムメモリ１３０及びディスプレイ１３５の熱パワーの影響を追跡することができる。ＳＴＡＰＭコントローラ１２５は、アクティビティメトリックを生成するために、ＣＰＵカウンタ１５５（ＣＰＵ＿ＣＮＴ）、ＧＰＵカウンタ１６０（ＧＰＵ＿ＣＮＴ）及びメモリカウンタ１６５（ＭＥＭ＿ＣＮＴ）を使用してもよい。各カウンタ１５５，１６０，１６５は、図１に示すように配置されてもよいし、ＳＴＡＰＭコントローラ１２５に組み込まれてもよい。機能コンポーネントが、カウンタデータをＳＴＡＰＭコントローラ１２５にプッシュすることができるし、ＳＴＡＰＭコントローラ１２５が、機能コンポーネントに関するカウンタデータを調べることができる。いくつかの実施形態では、ＳＴＡＰＭコントローラ１２５のいくつかの機能は、（例えば、オペレーティングシステム１３５内の）ソフトウェアを使用して実装することができる。例えば、ソフトウェアは、カウンタを調べて、ＳＴＡＰＭコントローラ１２５に通知することができる。
【００３３】
熱パワー関数は、以下のように、コンポーネントの電力を動作に関連付けるコンポーネント毎に決定される。
STATEAPU=f(CPU_CNT,GPU_CNT,BaseLeakage,V,F,APU Temperature)
ここで、BaseLeakageは、電圧及び温度の特定のテスト条件下でのＡＰＵ１０５の熱漏れであり、Ｆ及びＶは、所与の瞬間におけるＤＶＦＳ状態を定義し、ＡＰＵ温度は、統合された温度センサによって報告された所与の瞬間におけるＡＰＵ１０５の動作温度である。モデル関数は、ターゲットデバイスからの実際の電力測定値に基づいて決定された重み付けパラメータを有する線形モデルを用いて生成することができる。
STATEMEMORY=NumDimms*(Dynamic+Leakage power per DIMM/module)
ここで、
Dynamic Power per DIMM/module=DdrPowerSlope*%Utilization*VDDIO2*MemClkFreq
Leakage Power per DIMM/module=DdrPowerOffset*VDDIO
DdrPowerSlope及びDdrPowerOffsetは、ターゲットメモリモジュールの実際のメモリパワーの測定値に基づいて特徴付けられる係数であり、VDDIOは、メモリデバイスの電圧であり、MemClkFreqは、メモリのクロック周波数であり、%Utilizationは、MEM_CNTから得られるメトリックであって、メモリサイクルの総数に対するメモリのビジーサイクル数の比である。
STATEDISPLAY=Alpha*AvgBackLight%+Beta*AvgRefreshRate+Gamma
ここで、Alpha,Beta,Gammaは、ターゲットディスプレイパネルの実際のパワーの測定値に基づいて特徴付けられるモデル係数である。
AvgBackLight%及びAvgRefreshRateは、ＡＰＵ１０５のディスプレイコントローラユニット内の制御レジスタから読み出されたバックライト及びリフレッシュレート値の移動平均である。
STATEPS=f(ChgState,ChgRate)
ここで、ChgStateは電源１３７の充電状態であり、ChgRateはバッテリの充電に用いられるチャージレートである。
【００３４】
上述した最大表面温度閾値ＴＳＫＩＮ＿ＴＨと、これに関連するパワー閾値とを設定するために、様々なアプローチを使用することができる。いくつかの実施形態では、最大表面温度閾値が固定され、パッケージ電力限界の最小の閾値である固定値ＰＷＲＭＩＮ及び任意のコンポーネントの最小電力限界の閾値が得られる。いくつかの実施形態では、最大表面温度閾値は、デバイス状態又はユーザの選択等の要因に基づいて動的に設定されてもよい。最大表面温度閾値を変更すると、デフォルトのパッケージ電力限界の閾値ＤＰＰＬに変化する。通常、最大表面温度を増加させると、より高温の動作が可能になることから、コンピュータシステム１０２の達成可能な性能が向上する。
【００３５】
図５は、いくつかの実施形態による、デバイスの状態に基づく表面温度の閾値の調整を示す図である。デフォルトの表面温度の閾値ＴＳＫＩＮ＿ＤＥＦ（すなわち、様々な位置の様々な閾値のセット）は、ブロック５００に示すように、複数のデバイス状態の要因に基づいて調整される。個別のデバイス状態の要因には、構成状態の調整５０５、外部状態の調整５１０、アプリケーション状態の調整５１５、利用状態の調整５２０、及び、ハードウェア状態の調整５２５が含まれてもよい。調整は、ブロック５００で合計され、表面温度の閾値の動的な値が生成される。上述したデフォルトのパッケージの電力限界ＤＰＰＬは、所定の方程式又はルックアップテーブルを用いて、調整された表面温度の閾値の関数として調整することができる。いくつかの実施形態では、調整５０５〜５２５の全てがＳＴＡＰＭコントローラ１２５によって実行されるわけではない。
【００３６】
構成状態の調整５０５は、ユーザの優先度データに基づいて生成される。ユーザがデバイス１００の温度をどのように知覚するのかを確認するために、ユーザに対して問合せがなされてもよい。「Run Warmer」、「Run Cooker」又は「Do not change」の選択肢を有する表面温度メニューがユーザに提示されてもよい。いくつかの実施形態では、測定値に基づいて、又は、ＤＰＰＬで長時間動作したことに基づいて、表面温度の閾値に達したものとデバイス１００が判別した後に、ユーザに対して自動的に問合せが行われてもよい。いくつかの実施形態では、ユーザは、設定入力画面内の相対的な表面温度調整の選択肢にアクセスすることができる。ユーザに対する自動的な問合せは、定期的に、又は、以下に説明する他のデバイス状態の調整要素に基づいて表面温度の閾値に対する他の調整がされた後に、繰り返されてもよい。ユーザの選択に基づいて、デフォルトの表面温度の閾値を変更するために、調整要素ＴＳＫ＿ＡＤＪ１を生成してもよい。様々な位置に対する複数の表面温度の閾値の場合、同じ調整要素が全ての位置の閾値に適用されてもよい。
【００３７】
外部状態の調整５１０は、デバイス１００の周囲の条件に基づいている。上述した表面温度モデルの式には、周囲の温度のコンポーネントＴａｍｂが含まれている。いくつかの実施形態では、周囲の温度の構成要素は、固定値であると推定される。いくつかの実施形態では、１つの温度センサ１５０が、周辺環境の周囲の温度を直接測定するように、デバイス１００の熱生成コンポーネントから熱的にシールドされてもよい。いくつかの実施形態では、周囲の温度は、デバイス１００の位置データ又はネットワーク接続データを用いて推定されてもよい。例えば、デバイス１００のＧＰＳ位置を用いて、ユーザが屋外にいると判別された場合には、デバイス１００上で実行されるアプリケーションによって取得された天候データに基づいて、周辺の周囲の温度を判別してもよい。ユーザが屋内にいると判別された場合には、周囲の温度の想定値を使用してもよい。例えば、デバイス１００が、作業ネットワークとしてユーザに指定された通信ネットワークと接続している場合には、ユーザが屋内にいる可能性がある。周囲の温度の調整要素ＴＳＫ＿ＡＤＪ２は、判別された周囲の温度をデフォルトの値から差し引くことによって生成することができる。判別された周囲の温度の値がデフォルトの値よりも小さい場合には、表面温度の限界に対する正のオフセットが生成される。判別された周囲の温度の値がデフォルトの値よりも大きい場合には、表面温度の限界に対する負のオフセットが生成される。表面温度がモデル化される代わりに測定されるいくつかの実施形態では、周囲の温度を監視又は推定する必要がなく、ブロック５１０の調整要素は無視してもよい。
【００３８】
アプリケーション状態の調整５１５は、コンピュータシステム１０２によって実行されるアプリケーションのタイプに基づいて生成される。様々なタイプのアプリケーションは、本質的に、様々なレベルのユーザ対話を伴う。表面温度の閾値の調整を容易にするために、様々なタイプのアプリケーションが相対的な双方向性メトリック（interactivity metric）にアサインされてもよい。双方向性メトリックは、アプリケーション状態のブロック５１５によって生成された、調整要素ＴＳＫ＿ＡＤＪ３の大きさを判別するために使用されてもよい。電子メールアプリケーション、ウェブブラウザ又はビデオゲーム等のように、頻繁なユーザインタラクションを通常伴うアプリケーションは、ユーザがデバイス１００と頻繁に対話する可能性が高いため、表面温度の閾値の調整を殆ど又は全く行わない「高い」双方向性メトリックに関連付けることができる。ビデオ再生アプリケーション等の他のアプリケーションは、始動するとユーザとの対話が少なくなる傾向にある「低い」双方向性メトリックに対応する。このことは、再生性能を向上させるために、表面温度の閾値に対する、より積極的又は高い調整を許容する。他のアプリケーションは、電子ブックリーダやレシピ表示アプリケーション等の、断続的なユーザの対話を必要とする「中間」双方向性範囲に属し、中間レベルの表面温度調整が行われる。高、中間及び低双方向性メトリックに関連する特定の温度調整量は、特定の実施態様に応じて変化し得る。ブロック５０５に記載された構成設定は、双方向性メトリックに関連するユーザ定義の調整を含むことができる。
【００３９】
利用状態の調整５２０は、ユーザがデバイス１００を現在どのように使用しているかを示すデータに基づいている。ディスプレイ１３５がユーザ入力デバイスとして機能するので、ＳＴＡＰＭコントローラ１２５は、ユーザの対話に関連するタッチの頻度を監視する。いくつかの実施形態では、タッチセンサがケーシングのタッチの頻度を生成するために、ケーシング１４５上等のタッチセンサがデバイス１００に存在してもよい。タッチの頻度は、上述したアプリケーションの双方向性メトリックと同様の双方向性メトリックを生成するために使用されてもよい。しかし、タッチの頻度は、アプリケーションのメトリックによって提供される間接測定とは対照的に、双方向性の実際の測定値である。このため、測定されたタッチの双方向性メトリックは、アプリケーションの双方向性メトリックの代わりに使用されてもよく、アプリケーション状態の調整５１５は無視されてもよい。アプリケーションの双方向性メトリックと同様に、タッチの頻度の双方向性メトリックは、「高」、「中間」及び「低」双方向性の閾値、並びに、関連する表面温度の調整ＴＳＫ＿ＡＤＪ４と関連付けられてもよい。ディスプレイ１３５のタッチの頻度と、ケーシング１４５のタッチの頻度との組み合わせを用いて、ＳＴＡＰＭコントローラ１２５は、ユーザがどのようにデバイス１００を使用しているか、及び、デバイス１００がタッチされている場所を判別することができる。別の表面温度の閾値がケーシング１４５及びディスプレイ１３５に実装される場合、ＳＴＡＰＭコントローラ１２５は、最も低いタッチの双方向性メトリックを有する位置に関連する表面温度の閾値を優先的に増加させることができる。
【００４０】
いくつかの実施形態では、電話状態も、ユーザの双方向性の基準である場合がある。たとえば、ユーザが積極的に電話に関わる場合、ユーザは、ケーシング１４５（すなわち、手）とディスプレイ１３５（すなわち、顔）との両方にタッチしていると考えられる。このため、電話の間、「高」双方向性の調整要素が使用され得る。しかし、ユーザが、電話をかけるために、ヘッドセットなどのリモートデバイスを使用している場合、デバイス１００に実際にタッチすることはほとんどないと考えられ、「低」双方向性の調整要素が使用され得る。
【００４１】
いくつかの実施形態では、近接センサを用いて、ユーザの双方向性の指標としてのユーザの存在を検出することができる。例えば、カメラ又は他のセンサは、デバイス１００に近接したモーションを検知することができ、これにより、ユーザがデバイス１００と対話しようとする可能性が高いことを示している。ユーザが近い位置にいることが検知された場合、「高」又は「中間」双方向性の調整要素を使用してもよい。しかし、ユーザが近い位置にいることが検知されない場合、「低」双方向性の調整要素を使用してもよい。
【００４２】
ハードウェア状態の調整５２５は、デバイス１００の物理的状態、及び、そのデバイスがどのように他のデバイスと相互接続しているかに基づいて生成される。例えば、ヘッドセット又はドッキングステーション等の周辺機器が使用される場合、カバーがデバイス１００に取り付けられている（すなわち、センサの入力又はユーザの構成に基づく）場合か、デバイス１００が外部の電源に接続されている場合、正の表面温度調整要素ＴＳＫ＿ＡＤＪ５を使用することができる。これらの要素は、冷却性能の向上又は熱抵抗の増大に関連する場合があり、これにより、より高温でのデバイス１００の動作を可能にする。例えば、周辺機器は、自身の冷却ファンを有する場合、又は、外部電力の存在によってそのように備えられている場合に、デバイス１００の内部のファンの速度を増加させることが可能になる。カバーの場合、コンピュータシステム１０２の熱生成コンポーネントと、ケーシング１４５等のタッチ表面と、の間の熱の経路において、熱抵抗が増大する。周辺機器がドッキングステーション又はスタンドである場合、ユーザとの対話がかなり少ないと考えられる。ハードウェア状態は、デバイス１００によって検知されてもよいし、ユーザによって設定されてもよい。ハードウェア状態の調整５２５の特定の値は、特定の実施態様又は特定のハードウェア状態（例えば、カバー対ドッキングステーション）に依存してもよい。
【００４３】
ブロック５００では、デバイス状態の表面温度の閾値の調整５０５〜５２５が合計される。いくつかの実施形態では、調整５０５〜５２５の全てを実装又はイネーブルし得るわけではない。ユーザは、構成データにおいて、調整のための特定の値又は様々な調整の選択的イネーブルを指定することができる。
【００４４】
いくつかの実施形態では、表面温度の閾値の調整５００は、調整されたＤＰＰＬを超える選択的なブーストが熱ヘッドルームを利用することができる表面温度認識電力管理と共に使用されてもよい。いくつかの実施形態では、ブロック５００における表面温度の閾値の調整は、ＤＰＰＬの値が最大表面温度と相関する（すなわち、ブロック５００で調整される）静的表面温度管理アプローチで使用され得るが、実際の表面温度は、検知も推定もされず、調整されたパッケージ電力限界を超えてデバイス１００をブーストすることが許可されない。
【００４５】
いくつかの実施形態では、上述した機能の少なくとも一部は、コンピュータ可読媒体に有形記憶された１つ以上のソフトウェアプログラムを実行する１つ以上のプロセッサによって実行されてもよく、１つ以上のソフトウェアプログラムは、実行されると、１つ以上のプロセッサを、上述した処理システムの１つ以上の機能を実行するように操作する命令を含む。さらに、いくつかの実施形態では、上述したシリアルデータインターフェースは、１つ以上の集積回路（ＩＣ）デバイス（集積回路チップとも呼ばれる）で実装される。これらのＩＣデバイスの設計及び製造には、電子設計自動化（ＥＤＡ）及びコンピュータ支援設計（ＣＡＤ）ソフトウェアツールを使用することができる。これらの設計ツールは、通常、１つ以上のソフトウェアプログラムとして表されている。１つ以上のソフトウェアプログラムは、１つ以上のＩＣデバイスの回路を表すコードで動作するようにコンピュータシステムを操作する、コンピュータシステムによって実行可能なコードを含み、これにより、回路を製造するための製造システムを設計又は適応するプロセスの少なくとも一部を実行するようになっている。このコードは、命令、データ、又は、命令とデータとの組み合わせを含むことができる。設計ツール又は製造ツールを表すソフトウェア命令は、通常、コンピュータシステムにアクセス可能なコンピュータ可読記憶媒体に記憶されている。同様に、ＩＣデバイスの設計又は製造の１つ以上のフェーズを表すコードは、同じコンピュータ可読記憶媒体又は異なるコンピュータ可読記憶媒体に記憶され、同じコンピュータ可読記憶媒体又は異なるコンピュータ可読記憶媒体からアクセスされてもよい。
【００４６】
コンピュータ可読記憶媒体は、コンピュータシステムに命令及び／又はデータを提供するために、使用中にコンピュータシステムによってアクセス可能な任意の記憶媒体又は記憶媒体の組み合わせを含むことができる。かかる記憶媒体には、限定ではないが、光メディア（例えば、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）若しくはＢｌｕ−Ｒａｙ（登録商標）ディスク）、磁気メディア（例えば、フロッピー（登録商標）ディスク、磁気テープ若しくは磁気ハードドライブ）、揮発性メモリ（例えば、ランダムアクセスメモリ（ＲＡＭ）若しくはキャッシュ）、不揮発性メモリ（例えば、リードオンリメモリ（ＲＯＭ）若しくはフラッシュメモリ）、又は、微小電気機械システム（ＭＥＭＳ）ベースの記憶媒体が含まれてもよい。コンピュータ可読記憶媒体は、コンピュータシステムに埋め込まれてもよいし（例えば、システムＲＡＭ又はＲＯＭ）、コンピュータシステムに固定的に取り付けられてもよいし（例えば、磁気ハードドライブ）、コンピュータシステムに取り外し可能に取り付けられてもよいし（例えば、光ディスク又はＵＳＢ（Universal Serial Bus）ベースのフラッシュメモリ）、有線又は無線ネットワークを介してコンピュータシステムに接続されてもよい（例えば、ネットワークアクセス可能ストレージ（ＮＡＳ））。
【００４７】
図６は、いくつかの実施形態による、１つ以上の態様を実施するＩＣデバイスの設計及び製造のための例示的な方法６００を示すフロー図である。上述したように、以下のプロセスの各々について生成されたコードは、対応する設計ツール又は製造ツールによるアクセス及び使用のために、コンピュータ可読記憶媒体に記憶されるか別の方法で実装される。
【００４８】
ブロック６１０では、ＩＣデバイスの機能仕様が生成される。機能仕様（マイクロアーキテクチャ仕様（ＭＡＳ）とよく呼ばれる）は、Ｃ、Ｃ＋＋、ＳｙｓｔｅｍＣ、Ｓｉｍｕｌｉｎｋ又はＭＡＴＬＡＢを含む様々なプログラミング言語又はモデリング言語の何れかによって表現され得る。
【００４９】
ブロック６２０では、機能仕様は、ＩＣデバイスのハードウェアを表すハードウェア記述コードを生成するために使用される。いくつかの実施形態では、ハードウェア記述コードは、少なくとも１つのハードウェア記述言語（ＨＤＬ：Hardware Description Language）を使用して表される。ＨＤＬは、ＩＣデバイスの回路の正式な記述及び設計のための様々なコンピュータ言語、仕様言語又はモデリング言語の何れかを含む。生成されたＨＤＬコードは、通常、ＩＣデバイスの回路の動作、回路の設計及び構成を表しており、シミュレーションを通してＩＣデバイスの正しい動作を検証するためにテストする。ＨＤＬの例には、アナログＨＤＬ（ＡＨＤＬ）、Ｖｅｒｉｌｏｇ  ＨＤＬ、ＳｙｓｔｅｍＶｅｒｉｌｏｇ  ＨＤＬ及びＶＨＤＬが含まれる。同期デジタル回路を実装するＩＣデバイスの場合、ハードウェア記述語コードは、同期デジタル回路の動作を概略的に表すために、レジスタ転送レベル（ＲＴＬ）コードを含むことができる。他のタイプの回路については、ハードウェア記述語コードは、回路の動作を概略的に表すために、動作レベルコードを含むことができる。ハードウェア記述コードによって表されるＨＤＬモデルは、通常、設計検証に合格するために、１回以上のシミュレーション及びデバッグを受ける。
【００５０】
ハードウェア記述コードによって表された設計の検証の後に、ブロック６３０において、合成ツールを用いてハードウェア記述コードを合成して、ＩＣデバイスの回路の初期の物理実装を表すコードを生成する。いくつかの実施形態では、合成ツールは、回路デバイスインスタンス（例えば、ゲート、トランジスタ、レジスタ、コンデンサ、インダクタ、ダイオード等）を含む１つ以上のネットリストと、回路デバイスインスタンス間のネット又は接続とを生成する。或いは、ネットリストの全て又は一部を、合成ツールを使用せずに手動で生成することができる。ハードウェア記述コードと同様に、ネットリストは、１つ以上のネットリストの最終セットが生成される前に、１つ以上のテスト及び検証プロセスを受けてもよい。
【００５１】
或いは、回路図エディタツールを使用してＩＣデバイスの回路図をドラフトし、回路図キャプチャツールを用いて回路図をキャプチャし、回路図の構成要素及び接続を表す１つ以上のネットリスト（コンピュータ可読媒体に記憶されている）を生成する。キャプチャされた回路図は、テスト及び検証のために１回以上のシミュレーションを受けることができる。
【００５２】
ブロック６４０では、１つ以上のＥＤＡツールは、ブロック６３０で生成されたネットリストを使用して、ＩＣデバイスの回路の物理レイアウトを表するコードを生成する。このプロセスは、例えば、ＩＣデバイスの回路の各要素の位置を決定又は固定するために、ネットリストを使用する配置ツールを含むことができる。さらに、配線ツールは、ネットリストに従って回路要素を接続するのに必要なワイヤを追加して配線するために、配置プロセス上に構築される。結果として得られるコードは、ＩＣデバイスの３次元モデルを表す。コードは、たとえば、ＧＤＳＩＩ（Graphic Database System II）フォーマット等のデータベースファイルフォーマットで表されてもよい。このフォーマットのデータは、通常、幾何学的形状、テキストラベル、及び、階層形式の回路レイアウトに関する他の情報を表している。
【００５３】
ブロック６５０では、物理レイアウトコード（例えば、ＧＤＳＩＩコード）が製造設備に提供される。製造設備は、ＩＣデバイスを製造するために、物理レイアウトコードを使用して、製造設備の製造ツールを構成するか、（例えば、マスク作業を通して）製造ツールを適応する。すなわち、物理レイアウトコードは、製造設備のツールの動作又は製造設備の内部で行われる製造作業の全て又は一部を制御することができる１つ以上のコンピュータシステムにプログラムすることができる。
【００５４】
本明細書で開示したように、いくつかの実施形態では、方法は、コンピュータシステムを収容するデバイスの外面上の少なくとも１つの位置で判別された表面温度に基づいて、コンピュータシステムの電力限界を制御することを含む。
【００５５】
本明細書で開示したように、いくつかの実施形態では、プロセッサは、処理ユニットと、プロセッサを収容するデバイスの外面上の少なくとも１つの位置で判別された表面温度に基づいて、処理ユニットの電力限界を制御する電力管理コントローラと、を含む。
【００５６】
本明細書で開示したように、いくつかの実施形態では、デバイスは、ケーシングと、ケーシングによって支持されるディスプレイと、ケーシング内に取り付けられた処理ユニットと、ケーシング又はディスプレイの外面上の少なくとも１つの位置で判別された表面温度に基づいて、処理ユニットの電力限界を制御するための電力管理コントローラと、を含む。
【００５７】
本明細書で開示したように、いくつかの実施形態では、非一時的（non-transitory）コンピュータ可読媒体は、プロセッサの少なくとも一部を製造するプロセスの一部を実行するように、少なくとも１つのコンピュータシステムを適合させるコードを記憶している。プロセッサは、処理ユニットと、プロセッサを収容するデバイスの外面上の少なくとも１つの位置で判別された表面温度に基づいて、処理ユニットの電力限界を制御するための電力管理コントローラと、を含む。
【００５８】
本明細書で開示したように、いくつかの実施形態では、方法は、デバイス状態に基づいてデバイスの最大表面温度閾値を調整することと、調整された最大表面温度閾値に基づいてデバイスの電力限界を調整することと、調整された電力限界に基づいてデバイスを動作させることと、を含む。
【００５９】
本明細書で開示したように、いくつかの実施形態では、プロセッサは、処理ユニットと、デバイス状態に基づいて最大表面温度閾値を調整し、調整された最大表面温度閾値に基づいて処理ユニットの電力限界を調整する電力管理コントローラと、を含む。
【００６０】
本明細書で開示したように、いくつかの実施形態では、非一時的コンピュータ可読媒体は、プロセッサの少なくとも一部を製造するプロセスの一部を実行するように、少なくとも１つのコンピュータシステムを適合させるコードを記憶している。プロセッサは、処理ユニットと、デバイス状態に基づいて最大表面温度閾値を調整し、調整された最大表面温度閾値に基づいて処理ユニットの電力限界を調整する電力管理コントローラと、を含む。
【００６１】
全体的な記載において上述した動作又は要素の全てが必要であるわけではなく、特定の動作又はデバイスの一部が必要でなくてもよいこと、及び、記載されたものに加えて１つ以上のさらなる動作が実行されてもよいし、さらなる要素が含まれてもよいことに留意されたい。また、動作が列挙された順序は、必ずしもそれらの動作が実行される順序ではない。
【００６２】
また、本発明の概念は、特定の実施形態を参照して説明されている。しかし、当業者であれば、以下の特許請求の範囲に記載されている本開示の範囲から逸脱することなく、様々な修正及び変形を行うことができることを理解されたい。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考慮されるべきであり、そのような変更の全ては、本開示の範囲内に含まれることが意図される。
【００６３】
表面温度認識電力管理の使用は、ＡＰＵ１０５をブーストし、ひいては性能を向上させるために、デバイス１００の時間変化する熱ヘッドルームを便宜的に使用することを可能にする。このブーストは、快適性の観点からユーザエクスペリエンスに悪影響を及ぼすことなく、性能の観点からユーザエクスペリエンスを向上させる。
【００６４】
利益、他の利点、及び、問題に対する解決策は、特定の実施形態に関して上述されている。しかし、利益、利点、問題に対する解決策、及び、利益、利点又は解決策の何れかが発生若しくは顕在化する可能性のある機能は、各請求項の何れか若しくは全ての重要な特徴、必要な特徴又は本質的な特徴として解釈されない。
【図１】
0006595614.tif 000006
【図２】
0006595614.tif 000007
【図３】
0006595614.tif 000008
【図４】
0006595614.tif 000009
【図５】
0006595614.tif 000010
【図６】
0006595614.tif 000011