(57)【特許請求の範囲】
【請求項１】
複数の非リアルタイム処理ユニット（ＰＵ）および複数のリアルタイムＰＵを有するデバイスにおける熱緩和の方法であって、
前記複数のリアルタイムＰＵおよび前記複数の非リアルタイムＰＵの各々を第１の電源に接続することと、
前記複数の非リアルタイムＰＵのうちの１つを除いて前記複数の非リアルタイムＰＵの各々を前記第１の電源から切り離して１つのアクティブ非リアルタイムＰＵにすること、
前記第１の電源から電力を得る第２の電源を前記アクティブ非リアルタイムＰＵに接続すること、ここにおいて前記第２の電源によって供給される電圧は前記第１の電源によって供給される電圧未満である、
前記デバイスの第１の温度測定値を取得することと、
前記第１の温度測定値がしきい値を超えていると判定することと、ここにおいて前記第２の電源を接続することは、前記第１の温度測定値が前記しきい値を超えていると判定することに応答するものである、
を備える熱緩和を行うことと、
を備える、方法。
【請求項２】
熱緩和を行うことは、前記電圧が最低電圧に到達するか、または測定温度が前記しきい値未満となるまで、前記第２の電源によって供給される前記電圧を減少させることをさらに備える、請求項１に記載の方法。
【請求項３】
熱緩和を行うことは、
前記第２の電源によって供給される前記電圧が前記最低電圧以下であると判定することと、
前記第２の電源によって供給される前記電圧が前記最低電圧以下であると判定することに応答して、前記複数の非リアルタイムＰＵの間でアクティブ状態を交替させることと
をさらに備える、請求項２に記載の方法。
【請求項４】
前記第１の電源はスイッチモード電源であり、前記第２の電源は低ドロップアウト電圧レギュレータであり、好ましくは、
前記複数の非リアルタイムＰＵの各々はマルチコアプロセッサにおけるコアを備え、前記リアルタイムＰＵのうちの少なくとも１つはワイヤレスモデムを備える、請求項１に記載の方法。
【請求項５】
前記デバイスの第２の温度測定値を取得することと、
前記第２の温度測定値が前記しきい値未満であると判定することと、
前記第２の温度測定値が前記しきい値未満であると前記判定することに応答して、前記複数の非リアルタイムＰＵを各々前記第１の電源に再接続することと
をさらに備える、請求項３に記載の方法。
【請求項６】
非リアルタイムＰＵを切り離すことは、前記第１の電源に接続された対応するスイッチを開放することを備える、請求項１に記載の方法。
【請求項７】
第１の電源に結合するように構成された電圧レールと、
前記電圧レールに結合され、前記第１の電源から電力を得るように構成された第２の電源と、
スイッチを介して前記電圧レールに結合された少なくとも１つのリアルタイム処理ユニット（ＰＵ）と、
複数の非リアルタイムＰＵと、
第１の複数のスイッチと、
第２の複数のスイッチとを備え、前記複数の非リアルタイムＰＵの各々は並列導電パスを介して前記電圧レールに結合され、各並列導電パスのうちの第１のパスは前記第１の複数のスイッチにおける対応するスイッチを備え、各並列導電パスの第２のパスは前記第２の電源に直列に結合された前記第２の複数のスイッチにおける対応するスイッチを備える、システムオンチップ（ＳｏＣ）。
【請求項８】
第１の熱緩和状態において、前記第１の複数のスイッチの各々が開放されるように構成され、前記第２の複数のスイッチのうちの１つだけが閉じられて前記第２の電源を前記複数の非リアルタイムＰＵのうちの１つだけに接続するように構成される、請求項７に記載のＳｏＣ。
【請求項９】
前記第１の電源はスイッチモード電源を備え、前記第２の電源は低ドロップアウト電圧レギュレータを備え、好ましくは、
前記複数の非リアルタイムＰＵの各々はマルチコアプロセッサにおけるコアであり、ここにおいて前記リアルタイムＰＵはワイヤレスモデムである、請求項７に記載のＳｏＣ。
【請求項１０】
前記第２の電源は一度に前記複数の非リアルタイムＰＵのうちの１つだけに電圧を供給するための必要な大きさにされる、または、
前記第２の電源によって供給される電圧は前記複数の非リアルタイムＰＵのうちの前記１つの非リアルタイムＰＵのパフォーマンスを変えるために可変である、または
前記ＳｏＣの第１の温度測定値を受け取り、
前記第１の温度測定値がしきい値を超えていると判定し、
前記第１の温度測定値が前記しきい値を超えていると判定することに応答して、制御信号を前記第２の電源に送り、前記第２の電源によって供給される前記電圧を減少させる
ように構成されたＰＵをさらに備える、請求項８に記載のＳｏＣ。
【請求項１１】
デバイスであって、
第１の電源と、
複数の非リアルタイム処理ユニット（ＰＵ）と、
第１の複数のスイッチであって、その各々が前記複数の非リアルタイムＰＵのうちの少なくとも１つおよび前記第１の電源の間に結合される、第１の複数のスイッチと、
前記第１の電源から電力を得る第２の電源と、
第２の複数のスイッチであって、その各々が前記複数の非リアルタイムＰＵのうちの少なくとも１つおよび前記第２の電源の間に結合される、第２の複数のスイッチと、
前記第１の電源に接続されたリアルタイムＰＵと、
しきい値を超えて連続する前記デバイスの温度測定値に応答して前記第１の複数のスイッチの各々を連続的に開放するために前記第１の複数のスイッチを制御し、
前記第１の複数のスイッチの各々が開放されている間において一度に１つの非リアルタイムＰＵだけが前記第２の電源から電力を受け取ることを可能にするために前記第２の複数のスイッチを制御し、
ａ）前記デバイスの第１の温度測定値を受け取り、
ｂ）前記しきい値を超える前記第１の温度測定値に応答して、前記第２の電源によって供給される電圧を減少させるために前記第２の電源を制御する
ように構成された熱緩和ＰＵと、
を備えるデバイス。
【請求項１２】
前記熱緩和ＰＵは、前記第２の電源によって供給される電圧が最低電圧以下であるか、または前記第１の温度測定値のうちの１つが前記しきい値未満になるまで、ａ）およびｂ）を繰り返すように構成され、好ましくは、
前記熱緩和ＰＵは、
前記最低電圧以下である電圧を供給する前記第２の電源に応答して、
ｃ）前記デバイスの第２の温度測定値を受け取り、
ｄ）前記しきい値を超える前記第２の温度測定値に応答して、どの非リアルタイムＰＵが前記第２の電源から電力を受け取るかを交替させるために前記第２の複数のスイッチを制御するようにさらに構成され、さらに好ましくは、
前記熱緩和ＰＵは、前記第２の温度測定値のうちの１つが前記しきい値未満になるまで、（ｃ）および（ｄ）を繰り返すようにさらに構成される、請求項１１に記載のデバイス。
【請求項１３】
前記第１の電源は、スイッチモード電源を備え、前記第２の電源は低ドロップアウト電圧レギュレータを備え、好ましくは、
前記複数の非リアルタイムＰＵの各々はマルチコアプロセッサにおけるコアを備え、前記リアルタイムＰＵはワイヤレスモデムを備える、請求項１１に記載のデバイス。
【請求項１４】
前記第２の複数のスイッチを制御することは、前記第２の複数のスイッチのうちの第１のスイッチ以外の全てを開放して前記１つの非リアルタイムＰＵが前記第２の電源に接続されるように前記第１のスイッチを閉じるように制御信号を送ることを備える、請求項１１に記載のデバイス。
【請求項１５】
複数の非リアルタイム処理ユニット（ＰＵ）および複数のリアルタイムＰＵを有するデバイスにおいて熱緩和を行うためのコンピュータプログラムであって、
請求項１乃至６のいずれかに記載の方法を実行するためのコードを備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
Nikesh Gupta, Harshit Tiwari, Ashish Bajaj, and Maheshwar Thakur Singh
[0001]  本出願はモバイルデバイスにおける熱緩和に関し、より詳細には複数の処理ユニットを有するモバイルデバイスにおける熱緩和に関する。
【背景技術】
【０００２】
[0002]  制御下の複数の処理ユニット（ＰＵ）を持つ、スマートフォン、タブレットコンピュータのような、モバイル通信および計算デバイスの温度を保つことは、いくつかの理由で関心の分野である。１つの理由は、ＰＵにおけるリーク電流が温度増加につれて増大し、これによりバッテリー資源を消耗させることである。第２の理由はデバイス保全およびユーザの安全性に関係する。例えば、いくつかのシナリオでは、内部回路が誤動作を開始する障害ポイントにデバイスが到達するだけでなく、ユーザに不安にさせるのに十分な熱さになるポイントまで温度が増大し続けることがある。従って、熱緩和は、満足のいくパフォーマンスを維持しながらデバイスの温度を制御下に保とうとする長年の問題である。
【０００３】
[0003]  熱緩和のための１つの技法は、モバイルデバイスにおける１つまたは複数のＰＵに供給される電圧を減少させることである。ＰＵに対する電圧を減少させることは、電力消費を減少させて、これがＰＵによって生成される熱の量を減少させる。ＰＵは例えば電圧の減少につれて低速で動作するように設計され得、このため電力消費とパフォーマンスとの間のトレードオフを与える。
【０００４】
[0004]  デジタル回路は、通常、半導体ダイ上に集積され、モデムおよびマルチコアプロセッサのようないくつかのＰＵがモバイルデバイスにおける単一の半導体ダイ上に存在し得る。システムオンチップ（ＳｏＣ）は、単一のダイに埋め込まれた複数のＰＵを指す。ＰＵはＳｏＣ上の機能ブロックである。例えば、ＰＵはワイヤレスベースバンドモデム、グラフィックス処理ユニット（ＧＰＵ）、イメージ処理ユニット、マルチコアプロセッサにおけるコア、または他のタイプの処理回路であり得る。
【０００５】
[0005]  ＳｏＣにおけるＰＵは、広範囲の機能ブロックを包含し、このためそれらの周波数および電圧要求（例えば、所望されるパフォーマンスに関する）は任意の所与の瞬間で非常に異なり得る。このため、熱緩和を適切に行うためには、１つまたは複数のこれら機能ブロックが独立に動作されて、それらそれぞれの周波数および電圧値が適切にスケールされることになる。一般に、電圧ソースはＰＵに供給される電力を制御し、このため電圧ソースはあるタイプの電源である。
【０００６】
[0006]  しかしながら、複数のＰＵを個別の電圧および周波数で独立に動作させることは、複数の電源および対応電圧レールを必要とし得る。一般に、任意の数のＰＵは任意の数の電源で供給できる。少なくとも電源と同じだけ多くのＰＵがあり、いくつかのシナリオでは各ＰＵがそれ自身の電源を持つ。これら電源はＳｏＣから離れて設置されて、過剰なコストおよび／またはピン数をもたらすことがある。スイッチモード電源（ＳＭＰＳ：switched mode power supply）はそうした例である。いくつかの従来のモバイルデバイスアーキテクチャでは、複数のＳＭＰＳが電力管理集積回路（ＰＭＩＣ：power management integrated circuit）の一部である。
【０００７】
[0007]  他の実施形態では、少なくとも１つの電源がＳｏＣ上に設置される得るが、これら電源は電力が全てのコアに供給されるようなサイズにされ、結果としてダイのうちの大きな面積を占有する。それゆえ、コストまたはダイ面積についての過度の犠牲を被ることなく適切な熱緩和を提供するモバイルデバイスアーキテクチャおよび方法に対する要求がある。
【発明の概要】
【０００８】
[0008]  複数のＰＵを有するモバイルデバイスにおいて熱緩和を行うための方法、システム、およびコンピュータプログラム製品が本明細書において開示される。熱緩和は、一般にデバイスの１つまたは複数の温度測定をすることを必然的に伴い、このためデバイスの温度を減少させるために必要であれば、様々な活動をする。１つまたは複数の活動が行われ、続いて新たな温度測定がされ、処理がフィードバックループにおいて必要に応じて繰り返される。
【０００９】
[0009]  複数のＰＵに電力を届けるための新たなアーキテクチャが本明細書で提供され、この新たなアーキテクチャが新たな熱緩和方法を行うことを提供する。新たなアーキテクチャの実施形態は、複数の非リアルタイムＰＵを有するデバイスにおけるパフォーマンスと熱発生とのトレードオフに対してフレキシブルでさらに低いコストを提供する。非リアルタイムＰＵのパフォーマンスは、電力消費および熱の対応する発生を減少させる一方で同時に、リアルタイムＰＵのパフォーマンスを維持するために調整できる。
【００１０】
[0010]  一実施形態では、複数の非リアルタイムＰＵおよび複数のリアルタイムＰＵを有するデバイスにおいて熱緩和を行うための方法が提供される。この方法は、複数の非リアルタイムＰＵおよび複数のリアルタイムＰＵの各々を第１の電源に接続することと、熱緩和を行うこととを含む。熱緩和を行うことは、複数の非リアルタイムＰＵのうちの１つを除いて複数の非リアルタイムＰＵの各々を第１の電源から切り離して１つのアクティブ非リアルタイムＰＵにすること、および第１の電源から電力を得る第２の電源をこのアクティブ非リアルタイムＰＵに接続することを含む。第２の電源によって供給される電圧は第１の電源によって供給される電圧未満である。
【００１１】
[0011]  別の実施形態では、ＳｏＣが開示される。このＳｏＣは、第１の電源に結合するように構成された電圧レールと、電圧レールに結合され、第１の電源から電力を得るように構成された第２の電源とを含む。少なくとも１つのリアルタイムＰＵは、スイッチを介して電圧レールに結合される。ＳｏＣは、複数の非リアルタイムＰＵと、第１の複数のスイッチと、第２の複数のスイッチとを備える。複数の非リアルタイムＰＵの各々は並列導電パスを介して電圧レールに結合され、各並列導電パスは第１のパスおよび第２のパスを有する。各並列導電パスのうちの第１のパスは第１の複数のスイッチにおける対応するスイッチを備え、各並列導電パスの第２のパスは第２の電源に直列に結合された第２の複数のスイッチにおける対応するスイッチを備える。
【００１２】
[0012]  さらに別の実施形態では、デバイスが開示される。このデバイスは、第１の電源と、複数の非リアルタイムＰＵと、第１の複数のスイッチと、第２の複数のスイッチと、第１の電源から電力を得る第２の電源と、第１の電源に接続されたリアルタイムＰＵとを含む。第１の複数のスイッチの各々は複数の非リアルタイムＰＵのうちの少なくとも１つおよび第１の電源の間に結合される。第２の複数のスイッチの各々は複数の非リアルタイムＰＵのうちの少なくとも１つおよび第２の電源の間に結合される。熱緩和ＰＵは、  しきい値を超えて連続するデバイスの温度測定値に応答して第１の複数のスイッチの各々を連続的に開放するために第１の複数のスイッチを制御し、第１の複数のスイッチの各々が開放されている間において一度に１つの非りアルタイムＰＵだけが第２の電源から電力を受け取ることを可能にするために第２の複数のスイッチを制御するように構成される。熱緩和ＰＵは、デバイスの第１の温度測定値を受け取り、しきい値を超える第１の温度測定値に応答して、第２の電源を制御して第２の電源によって供給される電圧を減少させるために第２の電源を制御するようにさらに構成される。
【００１３】
[0013]  さらに別の実施形態では、コンピュータプログラム製品が開示される。このコンピュータプログラム製品は複数の非リアルタイムＰＵおよび複数のリアルタイムＰＵを有するデバイスにおいて熱緩和を行うためのコンピュータプログラムロジックを有形記録するコンピュータ可読媒体を有する。コンピュータプログラム製品は、複数の非リアルタイム処理ユニット（ＰＵ）および複数のリアルタイムＰＵの各々を第１の電源に接続し、１つの非リアルタイムＰＵだけがアクディブになるまで、複数の非リアルタイムＰＵを第１の電源から連続的に切り離すこととを含む様々な活動を行うためのコードを含む。また、デバイスの第１の温度測定値を取得し、  第１の温度測定値がしきい値を超えていると判定するためのコードがある。さらに、しきい値を超える第１の温度測定値に応答して、第１の電源から電力を得る第２の電源をアクティブな非リアルタイムＰＵに接続するためのコードがあり、ここにおいて第２の電源によって供給される電圧は第１の電源によって供給される電圧より低い。
【図面の簡単な説明】
【００１４】
【図１】本開示の一実施形態に従い単一の電源および対応する単一の供給レールを備えるデジタル回路を例示する。
【図２】本開示の一実施形態に従い熱緩和を行う方法を例示する。
【図３】本開示の一実施形態に従うデバイスを例示する。
【図４】デバイスの複数の熱緩和状態を例示する状態図である。
【詳細な説明】
【００１５】
[0018]  複数の非リアルタイムＰＵは、熱緩和の目的で複数のリアルタイムＰＵから区別できる。例えば、非リアルタイムＰＵの制御の程度は、リアルタイムＰＵの制御とは独立に提供される。このため、非リアルタイムＰＵのパフォーマンスは、リアルタイムＰＵから分離された形式で制御され得る。デバイスの温度を減少させるためには、非リアルタイムＰＵの別々の制御を利用する、いくつかの測定値が提供される。
【００１６】
[0019]  例示的実施形態は、デバイスにおける高温を緩和するために以下の測定値のうちの１つまたは複数を採用し得る。いくつかの実施形態では、非リアルタイムＰＵが１つのアクティブ非リアルタイムＰＵだけが残るまでスイッチオフされ得る。開示されたアーキテクチャは、何れかの非リアルタイムＰＵが残りのアクティブＰＵになることを可能にするようにフレキシブルである。さらに、残りの非リアルタイムＰＵに提供される電圧は、非リアルタイムＰＵの電量消費および熱生成を減少するために減少され得る。さらに、アクティブ非リアルタイムＰＵ上で稼働する任意のアクティブなソフトウェアアプリケーションは、アクティブにされるように選ばれた非アクティブでより冷えた非リアルタイムＰＵへ転送され、熱くなり過ぎた非リアルタイムＰＵがスイッチオフされ得るようにできる。これらの方策は、ユーザに知覚されるデバイスパフォーマンスが著しくネガティブに影響を及ぼされない方式でＰＵのパフォーマンスを低減することでデバイスが冷却されることを可能にする。さらに、これらの方策は、ＳｏＣの比較的少ない面積を使用して低コストで実施できる。
【００１７】
[0020]  図１は、電源１３２および対応する供給レール１４２を有するデジタル回路２００の実施形態を例示する。デジタル回路２００は、複数の対応するスイッチ１２２ａ−１２２ｄを介して電力供給レール(power supply rail)１４２に結合された複数のＰＵ１１２ａ−１１２ｄ、複数の対応するスイッチ１２２ｅ−１２２ｈを介して電力供給レール１４２に結合された複数のＰＵ１１４ａ−１１４ｄ含む。スイッチ１２２は、その対応するＰＵ１１２または１１４を、このＰＵがアイドルであるときの期間中のような所望するときはいつでも動作から切り離すことを可能にする。たとえＰＵがアイドルである（しかし、供給レールに接続される）ときでも、電力を消費するリーク電流をもたらすので、このＰＵをスイッチを介して動作から切り離すことは、消費される電力およびそれゆえ生成される熱の量を著しく減少させる。一実施形態では、各スイッチ１２２が電源からの高い電力を扱うことが可能である。例えば、各スイッチは、グローバル分散ヘッドスイッチ（ＧＤＨＳ）またはブロックヘッドスイッチ（ＢＨＳ）のような、あるタイプのへっとスイッチであり得る。ＰＵを一時的に動作から切り離すまたは取り去ることは、よく「ホットプラギング（hot plugging）」と呼ばれ、切り離されたＰＵの電流消費を減少させる。
【００１８】
[0021]  デジタル回路２００は、図１に示す電力供給レール１４２に結合された電圧レギュレータ２４４をさらに含む。このため、電圧レギュレータ２４４のための電力は電源１３２によって供給される。電圧レギュレータ２４４は、熱緩和が行われる事象において１つまたは複数のＰＵ１１２に供給される電圧を変化させる手法を提供する。電圧レギュレータ２４４は、第１の電源１３２から電力を得る第２の電源である。
【００１９】
[0022]  ＰＵ１１２ａ−１１２ｄの各々は、電源１３２への並列導電パスを有する。所与のＰＵ１１２に関し、各並列導電パスの第１のパスはＰＵ１１２および電源１３２間に接続されたスイッチ１２２を含み、第２のパスは電圧レギュレータ２４４と直列に接続されたスイッチ２３４を含む。並列パス上のスイッチを動作させることによって、電源１３２は電力をＰＵ１１２に直接または電圧レギュレータ２４４で供給できる。
【００２０】
[0023]  いくつかの状況下で、電源１３２は、閉じられたスイッチ１２２ａ−１２２ｄを介してＰＵ１１２ａ−１１２ｄに電力を提供する。温度を緩和させるため、ＰＵ１１２ａ−１１２ｄの何れかが１２２ａ−１２２ｄからの対応するスイッチを動作させることによって電源１３２から切り離され得る。例えば、一実施形態において、スマートフォンはデジタル回路２００を含み、ＰＵ１１２ａから１１２ｄがクアッドコアアプリケーションプロセッサであり、ＰＵ５  １１４ａから１１４ｄがＧＰＵ、ワイヤレス通信モデム、イメージ処理ユニット、または他のタイプのデジタル信号プロセッサ（ＤＳＰ）を含む他のタイプの処理ユニットである。
【００２１】
[0024]  一実施形態では、複数のＰＵ１１４がリアルタイムＰＵであり、複数のＰＵ１１２が非リアルタイムＰＵであり、この２つのタイプのＰＵは熱緩和の目的で異なって扱われる。リアルタイムＰＵは一般にパフォーマンスが温度を低減するためにするために低減される場合にユーザエクスペリエンスに著しく強い影響を与えるはずで、非リアルタイムＰＵは一般にパフォーマンスが温度を低減するためにするために低減される場合にユーザ経験に著しく衝撃を与えないはずである。例えば、いくつかの実施形態において、リアルタイムＰＵは、いつ動作が行われるべきかについてのタイミングの制約を有する。さらに、リアルタイムＰＵは一般にユーザエクスペリエンス衝撃で著しく低減されたパフォーマンスを寛大に取り扱うことができないため、リアルタイムＰＵは通常著しく低減されたパフォーマンスに便宜をはかるメカニズム（例えば、より大きなバッファ）を伴って実施されない。また、いくつかの実施形態において、リアルタイムＰＵはネットワーク側からのタイミング要求を有するので、たとえリアルタイムＰＵが著しく低減されたパフォーマンスに便宜をはかるためのオフライン処理モードまたはジッターバッファを伴って装備されたとしても、プロトコルおよびネットワークの観点から厳しいタイムラインのために利点がこれらメカニズムに得られない。
【００２２】
[0025]  他方、非リアルタイムＰＵは上述の制約を有し得ない。ワイヤレス通信モデムおよびグラフィックスプロセッサはリアルタイムＰＵの例であり、マルチコアプロセッサの各コアは非リアルタイムＰＵの例である。リアルタイムＰＵに対して非リアルタイムＰＵのパフォーマンスの低減には、熱緩和においてより許容範囲がある。
【００２３】
[0026]  マルチコアプロセッサにおいて、ソフトウェアアプリケーションはより速い実行のために複数のコアを使用して実行できる。同時の１つよりも多くのコアは、アプリケーションがより迅速に実行されるように並列的に命令を実行できる。利用可能なコアが少ないほど、アプリケーションが一般にゆっくり実行することになる。複数の非リアルタイムＰＵを使用することができる任意のアプリケーションについても同じである。すなわち、利用可能な非リアルタイムＰＵが少ないほど、非リアルタイムＰＵのためのアプリケーションが一般にゆっくり実行することになる。
【００２４】
[0027]  温度の読みがしきい値を超える場合、ＰＵ１１２ａ−１１２ｄは、温度が第２のしきい値を下回るまで、対応するスイッチ１２２ａ−１２２ｄを介して連続的にシャットダウンされ得る。熱緩和を行うためのロジックは、図３および図４に関してより詳細に説明される。ＰＵ１１２ａ−１１２ｄのうちの１つは、任意のアプリケーションに適応するために他のＰＵのホットブラギングにもかかわらずオンに残される。
【００２５】
[0028]  ＰＵ上のアプリケーションの実行中の所与の時間に、アプリケーションはブログラムの実行に関連付けられたＰＵのメモリ状態、並びにこのＰＵによってすぐに実行できる命令列を有し得る。ＰＵがシャットダウンまたはホットプラグされると、ＰＵ上で稼働しているアプリケーション命令（スレッドまたはプロセスのような）が保存され、シャットダウンされようとするＰＵによって実行されるように並ぶアプリケーション命令が他のアクティブＰＵの列(queue)またはバッファへ、このアプリケーションがクラッシュすることなく首尾一貫して実行を保つ手法で移動される。他の実施形態では、１つのＰＵから他のものへの命令の移動がオペレーティングシステムにおけるスケジューラによって制御され得る。命令がアクティブＰＵの数を低減させるときに１つのＰＵから他のものへ移動される場合、単位時間あたりより少ない命令が処理されて、低減されたパフォーマンスに導く一方で、同時により少ないＰＵが低減された熱生成に導き得る。このため、よりすくないアクティブＰＵがパフォーマンスを低減するものの、熱生成も低減することから、ＰＵをシャットダウンするときのパフォーマンスと熱生成の間のトレードオフがある。
【００２６】
[0029]  もしＰＵ１１２ａ−１１２ｄのうちの１つがオンに残り、温度が依然として高すぎる場合、電圧レギュレータがスイッチ２３４ａ−２３４ｄのうちの適切な１つを通じて電力を供給うるためにＰＵ１１２アクティベートされる。その時点で、電圧レギュレータ２４４はさらに温度を減少させる試みで残りのＰＵ１１２に供給される電圧を減少させるために使用される。
【００２７】
[0030]  もし温度をさらに減少させることを所望する場合には、ＰＵ１１２ａ−１１２ｄのうちの異なる１つがその対応するスイッチ２３４を介してターンオンされるとともに、ＰＵ１１２ａ−１１２ｄのうちの現在の１つがその対応するスイッチ２３４を介してスイッチオフされる。追加セットのスイッチ２３４は、電圧レギュレータ２４４によってその電圧がレギュレートされるＰＵのＰＵ交替(rotation)を可能にする。この例では、ＰＵ交替が複数のＰＵのうちからアクティブＰＵを選択し、再選択するプロセスを含む。
【００２８】
[0031]  ＰＵ交替は、１つのＰＵが電源オンされて例例を実行するために利用可能なことを除いて複数のＰＵをシャットダウンすることについて上述したものと同様の形式で達成できる。一実施形態では、アクティブＰＵが並んで直ぐに実行されることになる対応する命令およびメモリに記憶されたアプリケーションの現在の状態を有する。異なるＰＵがアクティブにされるとき、命令が新たなＰＵのための列に移動され、アプリケーション状態が新たなＰＵについて維持される。デバイスオペレーティングシステムは、交替(rotation)中にアプリケーションを管理できる。図１の実施形態では、交替がスイッチ２３４ａ−２３４ｄのうちの１つだけを一度にスイッチオンすることによって管理される。スイッチ１２２ａ−１２２ｄはターンオフされてＰＵ交替中オフにとどまる。
【００２９】
[0032]  ある時間アイドルになっている非アクティブＰＵは、現在のアクティブＰＵよりも冷たくあり得る。非アクティブＰＵを新たにアクティブにして現在のアクティブＰＵをシャットオフすることは、デバイスの温度を減少させる手法である。新たなアクティブＰＵの温度はしきい値を下回り得、シャットオフされたアクティブＰＵの温度が温度しきい値を上回り得る。ＰＵの「交替」は、温度が制御下になるまで１つのＰＵから他のものにアクティブ状態または「オン状態」を移動させるパターンを指す。
【００３０】
[0033]  交替はいくつかの手法で達成され得る。例えば、交替は、ラウンドロビン順のような所定の順序であり得る。例えば、アクティブ状態はＰＵ１１２ａからＰＵ１１２ｂへ、ＰＵ１１２ｃへ、ＰＵ１１２ｄへ、ＰＵ１１２ａへのように固定の順序で続き得る。代替的に、交替は、例えばＰＵの温度のような状態に基づいて決定される順序であり得る。例えば、最も冷えたＰＵが次のアクティブＰＵに選択され得る。
【００３１】
[0034]  図１の構成では、いくつかの従来のシステムにおける２つの代わりに、追加の電圧レギュレータ２４４の費用を負担して、１つの電源だけが使用される。一実施形態では、電圧レギュレータ２４４はスイッチ１２２および２３４、並びにＰＵ１１２および１１４と一緒にＳｏＣダイ上に置かれることができ、電源１３２はダイを離れて設置されている。一実施形態において、電圧レギュレータ２４４は一度に１つのコアだけに電流を供給するための大きさにされる。１つの電源のコスト節約は電圧レギュレータ２４４の追加コストを相殺してあまりある。これは、電圧レギュレータ２４４が電源１３２とは異なるクラスの電圧レギュレータであり、また電圧レギュレータ２４４が１つのコアだけに電力を供給するための必要な大きさにされることに少なくとも一部よるものである。
【００３２】
[0035]  一実施形態において、電圧レギュレータ２４４は低ドロップアウト（ＬＤＯ）電圧レギュレータであり、電源１３２はＡＭＰＳである。ＬＤＯ電圧レギュレータは、小さな入出力差電圧で動作できるタイプの線形レギュレータである。ＬＤＯは高い効率および低い熱放散を提供する。ＳＭＰＳは、一般にＬＤＯよりも複雑なタイプの電圧レギュレータである。ＳＭＰＳは、概してＬＤＯに含まれない、インダクタおよびキャパシタのような受動コンポーネントを含む。ＳＭＰＳでは、パストランジスタが線形モードの代わりにスイッチングモードで動作する。このため、ＳＭＰＳにおいて、パストランジスタはオン状態またはオフ状態のどちらかにある。その小さな面積および受動コンポーネンツの欠如によって、一般にＬＤＯはＳＭＰＳが可能であるよりも容易にＳｏＣにおいて実施可能である。
【００３３】
[0036]  デジタル回路２００のようなデジタル回路を使用して熱緩和を行う例の方法３００のフロー図が図２に示される。図２は、１つまたは複数の熱センサ４１２、ＰＵ４２２、およびメモリ４３２と共に図１に例示されるコンポーネントを含むデバイス４００を例示する図３を参照して説明される。このデバイスは、ＳｏＣ４０２および電源１３２を含む。電源１３２は他の実施形態においてＳｏＣ４０２に集積されるが、ＳｏＣ４０２は電源１３２を含まない。このＳｏＣ４０２は電源１３２のような電源に結合されるように構成される。一実施形態において、ＳｏＣ４０２は、ＰＵ１１２ａ−１１２ｄで表される複数のコアを有するマルチコアプロセッサを含む。
【００３４】
[0037]  １つまたは複数の熱センサ４１２は、デバイス４００上の１つまたは複数の位置での直接的または間接的のどちらかの温度についての指示を提供する。一例では、ＳｏＣ４０２上の選ばれた位置ついて温度の測定値を提供する１つの熱センサ４１２があり得る。他の例では、複数の熱センサ４１２があり得、その各々がＳｏＣ４０２上の対応する位置について温度の測定値を提供する。複数の位置の温度測定値が収集される場合、方法３００が複数の決定ブロックにおける平均温度または何か他の統計上の温度のの測定値を使用し得る。
【００３５】
[0038]  １つまたは複数の熱センサ４１２は温度を指示する少なくとも１つの信号を、ＰＵ４２２のようなＰＵに送る。ＰＵ４２２は、デバイス４００の温度に影響及ぼすためにこの温度指示に応答して１つまたは複数の活動を実施する。ＰＵ４２２と一緒の熱センサ４１２は、ＰＵ４２２が温度を追跡し続けて適切に熱緩和を行うフィードバックループと見なされ得る。
【００３６】
[0039]  メモリ４３２は、情報および／または命令を記憶することが可能な任意の電子コンポーネントであり得る。 例えばメモリ４３２は、ランダムアクセスメモリ（ＲＡＭ）、読出専用メモリ（ＲＯＭ）、ＲＡＭ内のフラッシュメモリデバイス、光学ストレージ媒体、消去可能プログラマブル読出専用メモリ（ＥＰＲＯＭ）、レジスタ、またはこれらの組合せを含み得る。一実施形態において、メモリ４３２は、非一時的なコンピュータ可読媒体である。命令またはコードは、方法３００を実施するためにＰＵ４２２によって実行可能である命令およびコードはメモリ４３２に保存される。ＰＵ４２２は、本明細書で熱緩和ＰＵと呼ばれる。 用語「命令」および「コード」は、任意のタイプのコンピュータ可読ステートメントを含むように広く解釈されるべきである。例えば、用語「命令」および「コード」は、1つまたは複数のプログラム、ルーティン、サブルーティン、機能、手順などを指し得る。「命令」および「コード」は、単一のコンピュータ可読ステートメント、または多くのコンピュータ可読ステートメントを含み得る。 
[0040]  この例では、方法３００を実施するための命令がＰＵ４２２において実行され得る。ＰＵ４２２はスイッチ１２２および２３４に結合され、１つまたは複数の制御信号でこれらスイッチの状態を制御する。ＰＵ４２２はまた、電圧レギュレータ２４４によって提供される電圧を制御するために電圧レギュレータ２４４に結合される。代替の実施形態（図３に例示されない）では、ＰＵ１１２のうちの１つが方法３００を実施するものとして指定され、この場合に方法３００を実施するＰＵ１１２が常に電源１３２に接続されて残り、それ自体熱が緩和方法３００の一部と見なされない。
【００３７】
[0041]  例の方法３００は、デバイス４００がノーマルモードにあるブロック３１０において開始する。ノーマルモードは、熱緩和が行われないデバイス状態である。ノーマルモードにあるデバイスは、所定の時間間隔で（例えば、毎分、１０秒毎、または毎秒に１測定、）デバイス上の１つまたは複数の位置で温度を測定する。ブロック３１０において、スイッチ１２２の各々は、ＰＵ１１２および１１４が電源１３２に接続されるように閉じられ、スイッチ２３４の各々は開放される。このため、電源１３２はＰＵ１１２および１１４の各々に直接電力を提供している。
【００３８】
[0042]  デバイス４００の温度測定値は、ブロック３１２において取得される。温度測定は１つまたは複数の熱センサ４１２によって行われ、温度測定値はＰＵ４２２のようなＰＵに提供される。１つ以上の温度測定値が取得される場合には、これら測定値が平均され得るか、または何か他の統計上の測定値が温度測定値と呼ばれる単数のものまたは複数のものを生成するために使用され得る。
【００３９】
[0043]  温度測定値Ｔがしきい値Ｔｔｈ＿ｈｉｇｈ未満であるかどうかの判定がブロック３１５においてなされる。温度測定値ＴがＴｔｈ＿ｈｉｇｈ未満である場合には、熱緩和は必要でなく、方法はノーマルモード３１０にとどまる。そうでなければ、熱緩和が始められ、アクティブな数のＰＵ１１２が複数のＰＵ１１２のうちで判定される決定ブロック３２０に方法３００が進む。一例では、アクティブＰＵが電力に接続されアイドルでない両方である（例えば、アプリケーション命令を実行している）。例えば、ＰＵ１１２はマルチコアプロセッサおけるコアであるか、または何か他のタイプの非リアルタイムＰＵであり、ＰＵ１１４は電源１３２に接続されてとどまるリアルタイムＰＵである。
【００４０】
[0044]  アクティプＰＵ１１２の数が１よりも大きい場合、１つのアクティブＰＵ１１２がその対応スイッチ２３４を開放またはシャットダウンすることによって切り離されまたはホットプラグされるブロック３２５に方法３００が進む。１つのアクティプＰＵ１１２を切り離すことの一部として、方法は、このアクティブＰＵ１１２の処理状態を保存することと、残りのアクティブＰＵ１１２が処理を引き継ぐことを可能にするためにその状態を残りのアクティブＰＵ１１２に転送することをさらに含み得る。方法３００は、シャットダウンされることになるアクティブＰＵ１１２のためにバッファされた命令をこれら命令を処理することを引き継ぐために選択されたアクティブＰＵ１１２のためのバッファまたは列に移動することをさらに含み得る。
【００４１】
[0045]  一実施形態において、ＰＵ４２２は、スイッチ１２２に結合された１つまたは複数の制御信号を生成し、ＰＵ１１２を切り離すためにスイッチ１２２ａ−１２２ｄのうちのいずれかの選択されたスイッチを開放する。ＰＵ１１２が切り離された後所定時間、デバイスの温度Ｔがブロック３２８においてセンサ４１２から取得され、ブロック３３０においてＰＵ４２２によって第２のしきい値Ｔｔｈ＿ｌｏｗに対して比較される。もしＴがＴｔｈ＿ｌｏｗ未満ならば、ＰＵ４２２が全てのスイッチ２３４を開放し全てのスイッチ１２２を閉じることによってデバイス４００をそのノーマルモード３１０に戻す。しかしながら、ＴがＴｔｈ＿ｌｏｗ未満でないならば、方法は決定ブロック３３５に進む。一実施例において、しきい値は、方法３００がノーマルモードおよび熱緩和の間で発振することを防止することに役立てるためにＴｔｈ＿ｈｉｇｈ > Ｔｔｈ＿ｈｉｇｈを満足する。
【００４２】
[0046]  決定ブロック３３５では、アクティブＰＵ１１２の数がＰＵ４２２によって判定される。アクティブＰＵ１１２の数が１より大きい場合には、方法がブロック３２５へ戻る。アクティブＰＵ１１２の数が１に等しい場合には、方法がブロック３４０へ進む。このため、一連の活動またはブロック３２５から３３５において、１つのＰＵ１１２だけがアクティブまたは電源１３２に接続されるまで、複数のＰＵ１１２が連続的に電源１３２から切り離される。この時点で、ＰＵ４２２はブロック３４０において開始する熱緩和のための他の手段をとる。
【００４３】
[0047]  ブロック３４０では、第２の電源がアクティブＰＵに接続される。この例では、第２の電源が電圧レギュレータ２４４であり、この電圧レギュレータ２４４は、まだオンであるスイッチ１２２ａ−１２２ｄのうちの残りの１つをスイッチオフしアクティブＰＵ112に対応するスイッチ２３４ａ−２３４ｄのうちの１つをスイッチオンすることによってアクティブＰＵ１１２に接続される。各ＰＵ１１２ａ−１１２は、電源１３２への２つの並列導電パスを有する。ＰＵ１１２ａを例のＰＵとして使用すると、１つの導電パスが電圧レギュレータ２４４と直列にスイッチ２３４ａを含み、他の導電パスがスイッチ１２２ａを含む。このため、ＰＵ１１２ａが唯一残るアクティブＰＵである場合、第２の電源２４４をＰＵ１１２ａに接続するために、スイッチ１２２ａがスイッチオフされ、スイッチ２３４ａがスイッチオンされる。
【００４４】
[0048]  第２の電源はその電力を第１の電源から得る。例えば、電圧レギュレータ２４４はその電力を電源１３２から得る。アクティブＰＵの数を単一のＰＵに制限することによって、電圧レギュレータ２４４は単一ＰＵだけに電力を供給するために必要な大きさにでき、これによってダイの小さい面積を占有する電圧レギュレータ２４４となる。
【００４５】
[0049]  第２の電源が係合された後、アクティブＰＵに供給される電圧がブロック３４５において減少される。電圧減少が温度における変化に作用することを可能にするためにある時間期間が経過した後、温度がブロック３４８において取得される。温度Ｔは、決定ブロック３５０においてしきい値Ｔｔｈ＿ｌｏｗに対して比較される。もしＴがＴｔｈ＿ｌｏｗ未満の場合には、デバイス４００がノーマルモードに戻るブロック３１０に方法３００が戻る。そうではなく、もしＴがＴｔｈ＿ｌｏｗ未満でない場合、方法３００が決定ブロック３５５に進む。決定ブロック３５５では、第２の電源によって供給される電圧が最低電圧に対して比較される。一実施形態では、Ｖminが接続されたＰＵ１１２がアクティブにとどまることのできる最低電圧を表す。この電圧がＶminを超える場合には、方法はブロック３４５へ戻る。この電圧がＶminを超えない場合には、電圧がさらに減少されることができず、方法３００がブロック３６０へ進む。このため、熱緩和方法３００において、最後に残るアクティブＰＵ１１２に供給される電圧はさらに減少させることができなくなるまで熱緩和目的で減少される。この時点で、他の手段が熱緩和のためにとられる。
【００４６】
[0050]  ブロック３６０では、アクティブＰＵ１１２によって実行される作業負荷がアイドルＰＵ１１２へ転送される。アクティブＰＵとなる次のＰＵ１１２は何らかの適切な形式で選択できる。例えば、アルゴリズムは、ＰＵからＰＵへのスイッチングのときのＰＵの設定順序を含み得る。代替的に、各ＰＵ１１２の温度を測定するために各ＰＵ１１２に関連付けられた熱センサであり得、最も低い温度のＰＵ１１２がアクティブＰＵに選択される。温度Ｔはブロック３６２において取得され、決定ブロック３６５においてしきい値Ｔｔｈ＿ｌｏｗに対して比較される。ＴがＴｔｈ＿ｌｏｗ未満の場合には、方法がブロック３１０に戻り、デバイス４００がノーマルモードに戻る。ＴがＴｔｈ＿ｌｏｗ未満でない場合には、方法がブロック３６０に戻り、新たなアクティブＰＵ１１２が選択される。
【００４７】
[0051]  先に説明したように、アクティブＰＵを選択し再選択するプロセスはＰＵ交替と呼ばれる。ＰＵ１１２がマルチコアプロセッサにおけるコアを表す一実施例では、このプロセスがコア交替(core rotation)と呼ばれる。本質的に、電圧レギュレータ２４４に１つのＰＵ１１２を結合するための「オンステータス」またはスイッチ２３４を閉じること（スイッチ１２２は開放）は、温度を減少させるために複数のＰＵ１１２の間で交替される。このため、「オンステータス」は、適切なしきい値を下回るデバイス４００の温度を保つために１つのＰＵから後続のＰＵへ（もし適切であれば、オン、オンと）回され得る。
【００４８】
[0052]  本実施形態の範囲は図２に例示された特定の方法３００に限定されるものではない。他の実施形態は、１つまたは複数の活動を追加、削除、再配置、または修正し得る。例えば、３６０−３６５のＰＵ交替ブロックは、他の周辺手法の代わりに、電圧減少ブロック３４５−３５５に先立って行われ得る。アクティブＰＵの交替は、方法３００が電圧減少に行く前にアクティブステータスのある数の転送を行うことによって温度を低減するように最初に試みることができる。温度がある数の転送後に十分低減されない場合に、方法３００はこの後、残りのアクティブＰＵに供給される電圧を減少させることによって十分温度を低減することを試みるように進み得る。ＰＵの数および図３における対応するスイッチは例示であって、本開示の原理は任意の数のＰＵおよびスイッチを持つアーキテクチャをカバーするように適切にスケールされ得る。
【００４９】
[0053]  デバイス４００に対してブログラミングおよび/または実行可能な命令をロードすることによって、少なくとも１つのＰＵ４２２および／またはメモリ４３２は変更され、デバイス４００を特定のマシーンまたは本開示によって教示された機能性を持つ装置に一部変換することは諒解されるであろう。実行可能な命令はメモリ４３２上に記憶され、実行のためにＰＵ４２２にロードされ得る。実行可能なソフトウェアをコンピュータにロードすることによって実施されることのできる機能性が周知の設計規則によってハードウェア実施できることは電気的エンジニアリンクおよびソフトウェアエンジニアリング技術の基礎である。ソフトウェアとハードウェアでコンセプトを実施することの決定は、設計の安定性の考察、並びにソフトウェアドメインからハードウェアドメインへ移すことに伴う何らかの問題よりも製造されることになるユニットの数に一般に基づいて定まる。
【００５０】
[0054]  図４は、デバイス４００のようなデバイスの複数の熱緩和状態を例示する状態図である。状態図５００は方法３００をさらに説明するためのフレームワークを提供する。これら状態は、ＰＵ４２２のような制御ＰＵによって実施される熱緩和ロジックを表す。ノーマルモード５１０は、方法３００におけるブロック３１０に対応する。しきい値Ｔｔｈ＿ｈｉｇｈを超える測定温度Ｔによってノーマルモード５１０を出ると、デバイスは熱緩和モード５２０に入る。
【００５１】
[0055]  状態５２０から、次の状態がアクティブＰＵの数に依存する。アクティブＰＵの数が１より大きい場合、デバイス４００は状態５３０に行き、アクティブＰＵの数が１に等しい場合には、デバイス４００が状態５４０に行く。状態５３０は方法３００のブロック３２５から３３５に対応し、状態５４０は方法３００のブロック３４５から３５５に対応する。いつでも温度ＴがＴｔｈ＿ｌｏｗ未満であると、デバイス４００は状態５１０における動作のノーマルモードに戻ることになる。
【００５２】
[0056]  状態５３０では、温度がＴｔｈ＿ｌｏｗを下回るまでか、または１つのアクティブＰＵだけになるまでのどちらかで１つずつＰＵがホットプラグされる。１つのアクティブＰＵだけがある場合、状態は状態５４０に遷移し、ここで第２の電源２４４が係合され、温度がＴｔｈ＿ｌｏｗ未満になるまでか、または供給される電圧が最低になるまでのどちらかで電圧が減少される。温度がまだＴｔｈ＿ｌｏｗ未満でない場合、ＰＵ交替が状態５５０で行われる。状態５５０は、方法３００のブロック３６０から３６５に対応する。
【００５３】
[0057]  多くの熱緩和測定手法が本明細書に開示される。これらの手法は、ユーザに知覚されるデバイスパフォーマンスが著しくネガティブに影響を及ぼされない方式でＰＵのパフォーマンスを低減することでデバイスが冷却されることを可能にする。さらに、これらの手法は、ＳｏＣの比較的少ない面積を使用して低コストで実施できる。
【００５４】
[0058]  当業者が特定の応用に依存して、多くの修正、代替および変形が、それの主旨および範囲から逸脱することなく、本開示のデバイスの使用の方法、構成、装置、およびマテリアルにおよびそれらの範囲でなされることができることを理解することとなるであろう。このことを踏まえて、本開示の範囲は、単にそれらのいくつかの例として、本明細書で例示され、説明された特定の実施形態のそれに、限定されるべきでなく、むしろ、以下に添付された特許請求の範囲のそれに十分に相応するべきである。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
複数の非リアルタイム処理ユニット（ＰＵ）および複数のリアルタイムＰＵを有するデバイスにおける熱緩和の方法であって、
前記複数のリアルタイムＰＵおよび前記複数の非リアルタイムＰＵの各々を第１の電源に接続することと、
前記複数の非リアルタイムＰＵのうちの１つを除いて前記複数の非リアルタイムＰＵの各々を前記第１の電源から切り離して１つのアクティブ非リアルタイムＰＵにすること、および
前記第１の電源から電力を得る第２の電源を前記アクティブ非リアルタイムＰＵに接続すること、ここにおいて前記第２の電源によって供給される電圧は前記第１の電源によって供給される電圧未満である、
を備える熱緩和を行うことと
を備える、方法。
［Ｃ２］
熱緩和を行うことは、
前記デバイスの第１の温度測定値を取得することと、
前記第１の温度測定値がしきい値を超えていると判定することと、ここにおいて前記第２の電源を接続することは、前記第１の温度測定値が前記しきい値を超えていると判定することに応答するものである、
をさらに備える、Ｃ１に記載の方法。
［Ｃ３］
熱緩和を行うことは、前記電圧が最低電圧に到達するか、または測定温度がしきい値未満となるまで、前記第２の電源によって供給される前記電圧を減少させることをさらに備える、Ｃ２に記載の方法。
［Ｃ４］
熱緩和を行うことは、
前記第２の電源によって供給される前記電圧が前記最低電圧以下であると判定することと、
前記第２の電源によって供給される前記電圧が前記最低電圧以下であると判定することに応答して、前記複数の非リアルタイムＰＵの間でアクティブ状態を交替させることと  をさらに備える、Ｃ３に記載の方法。
［Ｃ５］
前記第１の電源はスイッチモード電源であり、前記第２の電源は低ドロップアウト電圧レギュレータである、Ｃ１に記載の方法。
［Ｃ６］
前記複数の非リアルタイムＰＵの各々はマルチコアプロセッサにおけるコアを備え、前記リアルタイムＰＵのうちの少なくとも１つはワイヤレスモデムを備える、Ｃ５に記載の方法。
［Ｃ７］
前記デバイスの第２の温度測定値を取得することと、
前記第２の温度測定値が前記しきい値未満であると判定することと、
前記第２の温度測定値が前記しきい値未満であると判定することに応答して、前記複数の非リアルタイムＰＵを各々前記第１の電源に再接続することと
をさらに備える、Ｃ４に記載の方法。
［Ｃ８］
非リアルタイムＰＵを切り離すことは、前記第１の電源に接続された対応するスイッチを開放することを備える、Ｃ１に記載の方法。
［Ｃ９］
第１の電源に結合するように構成された電圧レールと、
前記電圧レールに結合され、前記第１の電源から電力を得るように構成された第２の電源と、
スイッチを介して前記電圧レールに結合された少なくとも１つのリアルタイム処理ユニット（ＰＵ）と、
複数の非リアルタイムＰＵと、
第１の複数のスイッチと、
第２の複数のスイッチとを備え、前記複数の非リアルタイムＰＵの各々は並列導電パスを介して前記電圧レールに結合され、各並列導電パスのうちの第１のパスは前記第１の複数のスイッチにおける対応するスイッチを備え、各並列導電パスの第２のパスは前記第２の電源に直列に結合された前記第２の複数のスイッチにおける対応するスイッチを備える、システムオンチップ（ＳｏＣ）。
［Ｃ１０］
第１の熱緩和状態において、前記第１の複数のスイッチの各々が開放されるように構成され、前記第２の複数のスイッチのうちの１つだけが閉じられて前記第２電源を前記非リアルタイムＰＵのうちの１つだけに接続するように構成される、Ｃ９に記載のＳｏＣ。
［Ｃ１１］
前記第２の電源は一度に前記複数の非リアルタイムＰＵのうちの１つだけに電圧を供給するための必要な大きさにされる、Ｃ１０に記載のＳｏＣ。
［Ｃ１２］
前記第１の電源はスイッチモード電源を含み、前記第２の電源は低ドロップアウト電圧レギュレータである、Ｃ９に記載のＳｏＣ。
［Ｃ１３］
前記複数の非リアルタイムＰＵの各々はマルチコアプロセッサにおけるコアであり、ここにおいて前記リアルタイムＰＵはワイヤレスモデムである、Ｃ１２に記載のＳｏＣ。
［Ｃ１４］
前記第２の電源によって供給される電圧は前記非リアルタイムＰＵの前記１つのパフォーマンスを変えるために可変である、Ｃ１０に記載のＳｏＣ。
［Ｃ１５］
前記デバイスの第１の温度測定値を受け取り、
前記第１の温度測定値がしきい値を超えていると判定し、
前記第１の温度測定値が前記しきい値を超えていると判定することに応答して、制御信号を前記第２の電源に送り、前記第２の電源によって供給される前記電圧を減少させるように構成されたＰＵをさらに備える、Ｃ１０に記載のＳｏＣ。
［Ｃ１６］
第１の電源と、
複数の非リアルタイム処理ユニット（ＰＵ）と、
第１の複数のスイッチであって、その各々が前記複数の非リアルタイムＰＵのうちの少なくとも１つおよび前記第１の電源の間に結合される、第１の複数のスイッチと、
前記第１の電源から電力を得る第２の電源と、
第２の複数のスイッチであって、その各々が前記複数の非リアルタイムＰＵのうちの少なくとも１つおよび前記第２の電源の間に結合される、第２の複数のスイッチと、
前記第１の電源に接続されたリアルタイムＰＵと、
しきい値を超えて連続する前記デバイスの温度測定値に応答して前記第１の複数のスイッチの各々を連続的に開放するために前記第１の複数のスイッチを制御し、
前記第１の複数のスイッチの各々が開放されている間において一度に１つの非リアルタイムＰＵだけが前記第２の電源から電力を受け取ることを可能にするために前記第２の複数のスイッチを制御し、
ａ）前記デバイスの第１の温度測定値を受け取り、
前記しきい値を超える前記第１の温度測定値に応答して、前記第２の電源を制御して前記第２の電源によって供給される電圧を減少させるために前記第２の電源を制御するように構成された熱緩和ＰＵと、
を備えるデバイス。
［Ｃ１７］
前記熱緩和ＰＵは、前記第２の電源によって供給される電圧が最低電圧以下であるか、または前記第１の温度測定値のうちの１つが前記しきい値未満になるまで、ａ）およびｂ）を繰り返すように構成される、前記Ｃ１６に記載のデバイス。
［Ｃ１８］
前記熱緩和ＰＵは、
前記最低電圧以下である電圧を供給する前記第２の電源に応答して、
ｃ）前記デバイスの第２の温度測定値を受け取り、
ｄ）前記しきい値を超える前記第２の温度測定値に応答して、前記第２の電源から電力を受け取る非リアルタイムＰＵを交替させるために前記第２の複数のスイッチを制御するようにさらに構成される、Ｃ１７に記載のデバイス。
［Ｃ１９］
前記熱緩和ＰＵは、前記第２の温度測定値のうちの１つが前記しきい値未満になるまで、（ｃ）および（ｄ）を繰り返すようにさらに構成される、Ｃ１８に記載のデバイス。
［Ｃ２０］
前記第１の電源は、スイッチモード電源であり、前記第２の電源は低ドロップアウト電圧レギュレータである、Ｃ１６に記載のデバイス。
［Ｃ２１］
前記複数の非リアルタイムＰＵの各々はマルチコアプロセッサにおけるコアを備え、前記リアルタイムＰＵはワイヤレスモデムを備える、Ｃ２０に記載のデバイス。
［Ｃ２２］
前記第２の複数のスイッチを制御することは、
前記第２の複数のスイッチのうちの第１のスイッチ以外の全てを開放して前記１つの非リアルタイムＰＵが前記第２の電源に接続されるように前記第１のスイッチを閉じるように制御信号を送ることを備える、Ｃ１６に記載のデバイス。
［Ｃ２３］
複数の非リアルタイム処理ユニット（ＰＵ）および複数のリアルタイムＰＵを有するデバイスにおいて熱緩和を行うためのコンピュータプログラムロジックを有形記録するコンピュータ可読媒体を有するコンピュータプログラム製品であって、
前記複数の非リアルタイム処理ユニット（ＰＵ）および複数のリアルタイムＰＵの各々を第１の電源に接続するためのコードと、
１つの非リアルタイムＰＵだけがアクディブになるまで、複数の非リアルタイムＰＵを前記第１の電源から連続的に切り離すためのコードと、
前記デバイスの第１の温度測定値を取得するためのコードと、
前記第１の温度測定値がしきい値を超えていると判定するためのコードと、
前記しきい値を超える前記第１の温度測定値に応答して、前記第１の電源から電力を得る第２の電源を前記アクティブな非リアルタイムＰＵに接続するコードと、ここにおいて前記第２の電源によって供給される電圧は前記第１の電源によって供給される電圧より低い、
を備える、コンピュータプログラム製品。
［Ｃ２４］
前記電圧が最低電圧に到達するか、または測定温度が前記しきい値未満になるまで、前記第２の電源によって供給される前記電圧を減少させるためのコードをさらに備える、Ｃ２３に記載のコンピュータプログラム製品。
［Ｃ２５］
前記第２の電源によって供給される前記電圧が前記最低電圧以下であると判定するためのコードと、
前記第２の電源によって供給される前記電圧が前記最低電圧以下であると判定することに応答して、前記複数の非リアルタイムＰＵの間でアクティブ状態を交替させるためのコードと
をさらに備える、Ｃ２４に記載のコンピュータプログラム製品。
［Ｃ２６］
前記第１の電源はスイッチモード電源（ＳＭＰＳ）を備え、前記第２の電源は低ドロップアウト（ＬＤＯ）電圧レギュレータを備える、Ｃ２３に記載のコンピュータプログラム製品。
［Ｃ２７］
前記複数の非リアルタイムＰＵの各々はマルチコアプロセッサにおけるコアを備え、前記リアルタイムＰＵのうちの少なくとも１つはワイヤレスモデムを備える、Ｃ２６に記載のコンピュータプログラム製品。
［Ｃ２８］
前記複数の非リアルタイムＰＵ、前記複数のリアルタイムＰＵ、および前記第２の電源の各々は単一のダイ上に設置され、前記第１の電源は前記単一のダイ上に設置されない、Ｃ２３に記載のコンピュータプログラム製品。
［Ｃ２９］
前記デバイスの第２の温度測定値を取得するためのコードと、
前記第２の温度測定値が前記しきい値未満であると判定するためのコードと、
前記第２の温度測定値が前記しきい値未満であると判定することに応答して、前記複数のリアルタイムＰＵおよび前記複数の非リアルタイムＰＵの各々を前記第１の電源に再接続するためのコードと
をさらに備える、Ｃ２５に記載のコンピュータプログラム製品。
［Ｃ３０］
非リアルタイムＰＵを切り離すことは、前記第１の電源に結合された対応するスイッチを開放することを備える、Ｃ２３に記載のコンピュータプログラム製品。
【図１】
0006648141.tif 000002
【図２】
0006648141.tif 000003
【図３】
0006648141.tif 000004
【図４】
0006648141.tif 000005