(57)【特許請求の範囲】
【請求項１】
ポータブルコンピューティングデバイス(「PCD」)において熱エネルギーの生成を低減するための方法であって、
前記PCDにおける第1の処理構成要素に供給される電力周波数を第1の電力周波数レベルに調整する旨の指示を受信するステップと、
前記電力周波数が前記第1の電力周波数レベルに調整された場合、前記第1の処理構成要素がt0からt2までの時間期間にわたって処理するよう動作可能である命令の量を計算するステップであり、時間t1がt0とt2との間である、ステップと、
前記第1の処理構成要素に供給される前記電力周波数を第2の電力周波数レベルに調整するステップであり、前記第2の電力周波数レベルで、前記第1の処理構成要素がt0からt1までの時間期間にわたって実質的に前記命令の量を処理するよう動作可能である、ステップと、
前記PCDのタイマー構成要素を設定するステップであり、t1からt2までの時間期間の間、前記第1の処理構成要素へのすべての電力の除去をトリガするよう働くステップと、
時刻t2に前記第1の処理構成要素を起こすステップであり、前記第1の処理構成要素への前記第2の電力周波数レベルの電力の前記供給を再開するステップを備えるステップと
を備える方法。
【請求項２】
前記第2の電力周波数レベルが、前記第1の処理構成要素の最大周波数に関連付けられる、請求項1に記載の方法。
【請求項３】
前記第2の電力周波数レベルが、前記第1の処理構成要素の最大定格電力未満に関連付けられる、請求項1に記載の方法。
【請求項４】
前記第1の処理構成要素に供給される前記電力周波数を第1の電力周波数レベルに調整する旨の前記指示が、前記PCDの温度読取り値によってトリガされる、請求項1に記載の方法。
【請求項５】
前記第1の処理構成要素に供給される前記第2の電力周波数レベルを第3の電力周波数レベルに調整する旨の指示を受信するステップと、
前記電力周波数が前記第3の電力周波数レベルに調整された場合、前記第1の処理構成要素がt2からt4までの時間期間にわたって処理するよう動作可能である第2の命令の量を計算するステップであり、時間t3がt2とt4との間である、ステップと、
前記第1の処理構成要素に供給される前記電力周波数を第4の電力周波数レベルに調整するステップであり、前記第4の電力周波数レベルで、前記第1の処理構成要素がt2からt3までの時間期間にわたって前記第2の命令の量を処理するよう動作可能である、ステップと、
前記PCDの前記タイマー構成要素を再設定するステップであり、t3からt4までの時間期間の間、前記第1の処理構成要素へのすべての電力の除去をトリガするよう働くステップと
をさらに備える請求項1に記載の方法。
【請求項６】
前記第1の処理構成要素に供給される前記電力周波数を第3の電力周波数レベルに調整する旨の前記指示が、前記PCDの温度読取り値によってトリガされる、請求項5に記載の方法。
【請求項７】
前記PCDにおける第2の処理構成要素に供給される電力周波数を前記第2の電力周波数レベルに調整するステップであり、前記第2の電力周波数レベルで、前記第2の処理構成要素がt1からt2までの時間期間にわたって実質的に前記命令の量を処理するよう動作可能である、ステップと、
前記PCDのタイマー構成要素を設定するステップであり、t0からt1までの時間期間の間、前記第2の処理構成要素へのすべての電力の除去をトリガするよう働くステップと、
時刻t1に前記第2の処理構成要素を起こすステップであり、前記第2の処理構成要素への前記第2の電力周波数レベルの電力の前記供給を再開するステップを備えるステップと
をさらに備える請求項1に記載の方法。
【請求項８】
前記第2の処理構成要素に提供された前記第2の電力周波数レベルが、前記第2の処理構成要素の最大定格電力に関連付けられる、請求項7に記載の方法。
【請求項９】
ポータブルコンピューティングデバイス(「PCD」)において熱エネルギーの生成を低減するためのコンピュータシステムであって、
前記PCDにおける第1の処理構成要素に供給される電力周波数を第1の電力周波数レベルに調整する旨の指示を受信するステップと、
前記電力周波数が前記第1の電力周波数レベルに調整された場合、前記第1の処理構成要素がt0からt2までの時間期間にわたって処理するよう動作可能である命令の量を計算するステップであり、時間t1がt0とt2との間である、ステップと、
前記第1の処理構成要素に供給される前記電力周波数を第2の電力周波数レベルに調整するステップであり、前記第2の電力周波数レベルで、前記第1の処理構成要素がt0からt1までの時間期間にわたって実質的に前記命令の量を処理するよう動作可能である、ステップと、
前記PCDのタイマー構成要素を設定するステップであり、t1からt2までの時間期間の間、前記第1の処理構成要素へのすべての電力の除去をトリガするよう働くステップと、
時刻t2に前記第1の処理構成要素を起こすステップであり、前記第1の処理構成要素への前記第2の電力周波数レベルの電力の前記供給を再開するステップを備えるステップと
を行うよう動作可能な強制電力崩壊(「FPC」)モジュール
を備えるコンピュータシステム。
【請求項１０】
前記第2の電力周波数レベルが、前記第1の処理構成要素の最大周波数に関連付けられる、請求項9に記載のコンピュータシステム。
【請求項１１】
前記第2の電力周波数レベルが、前記第1の処理構成要素の最大定格電力未満に関連付けられる、請求項9に記載のコンピュータシステム。
【請求項１２】
前記第1の処理構成要素に供給される前記電力周波数を第1の電力周波数レベルに調整する旨の前記指示が、前記PCDの温度読取り値によってトリガされる、請求項9に記載のコンピュータシステム。
【請求項１３】
前記FPCモジュールが、
前記第1の処理構成要素に供給される前記第2の電力周波数レベルを第3の電力周波数レベルに調整する旨の指示を受信するステップと、
前記電力周波数が前記第3の電力周波数レベルに調整された場合、前記第1の処理構成要素がt2からt4までの時間期間にわたって処理するよう動作可能である第2の命令の量を計算するステップであり、時間t3がt2とt4との間である、ステップと、
前記第1の処理構成要素に供給される前記電力周波数を第4の電力周波数レベルに調整するステップであり、前記第4の電力周波数レベルで、前記第1の処理構成要素がt2からt3までの時間期間にわたって前記第2の命令の量を処理するよう動作可能である、ステップと、
前記PCDの前記タイマー構成要素を再設定するステップであり、t3からt4までの時間期間の間、前記第1の処理構成要素へのすべての電力の除去をトリガするよう働くステップと
を行うようさらに動作可能である、請求項9に記載のコンピュータシステム。
【請求項１４】
前記第1の処理構成要素に供給される前記電力周波数を第3の電力周波数レベルに調整する旨の前記指示が、前記PCDの温度読取り値によってトリガされる、請求項13 
に記載のコンピュータシステム。
【請求項１５】
前記FPCモジュールが、
前記PCDにおける第2の処理構成要素に供給される電力周波数を前記第2の電力周波数レベルに調整するステップであり、前記第2の電力周波数レベルで、前記第2の処理構成要素がt1からt2までの時間期間にわたって実質的に前記命令の量を処理するよう動作可能である、ステップと、
前記PCDのタイマー構成要素を設定するステップであり、t0からt1までの時間期間の間、前記第2の処理構成要素へのすべての電力の除去をトリガするよう働くステップと、
時刻t1に前記第2の処理構成要素を起こすステップであり、前記第2の処理構成要素への前記第2の電力周波数レベルの電力の前記供給を再開するステップを備えるステップと
を行うようさらに動作可能である、請求項9に記載のコンピュータシステム。
【請求項１６】
前記第2の処理構成要素に提供された前記第2の電力周波数レベルが、前記第2の処理構成要素の最大定格電力に関連付けられる、請求項15に記載のコンピュータシステム。
【請求項１７】
コンピュータにより実行可能なコンピュータ可読プログラムコードからなるコンピュータプログラムであって、前記コンピュータ可読プログラムコードが、ポータブルコンピューティングデバイス(「PCD」)における熱エネルギーの生成を低減するための方法を実施するために実行されるように適合され、前記方法が、
前記PCDにおける第1の処理構成要素に供給される電力周波数を第1の電力周波数レベルに調整する旨の指示を受信するステップと、
前記電力周波数が前記第1の電力周波数レベルに調整された場合、前記第1の処理構成要素がt0からt2までの時間期間にわたって処理するよう動作可能である命令の量を計算するステップであり、時間t1がt0とt2との間である、ステップと、
前記第1の処理構成要素に供給される前記電力周波数を第2の電力周波数レベルに調整するステップであり、前記第2の電力周波数レベルで、前記第1の処理構成要素がt0からt1までの時間期間にわたって実質的に前記命令の量を処理するよう動作可能である、ステップと、
前記PCDのタイマー構成要素を設定するステップであり、t1からt2までの時間期間の間、前記第1の処理構成要素へのすべての電力の除去をトリガするよう働く、ステップと、
時刻t2に前記第1の処理構成要素を起こすステップであって、前記第1の処理構成要素への前記第2の電力周波数レベルの電力の前記供給を再開するステップを備えるステップと
を備える、コンピュータプログラム。
【請求項１８】
前記第2の電力周波数レベルが、前記第1の処理構成要素の最大周波数に関連付けられる、請求項17に記載のコンピュータプログラム。
【請求項１９】
前記第2の電力周波数レベルが、前記第1の処理構成要素の最大定格電力未満に関連付けられる、請求項17に記載のコンピュータプログラム。
【請求項２０】
前記第1の処理構成要素に供給される前記電力周波数を第1の電力周波数レベルに調整する旨の前記指示が、前記PCDの温度読取り値によってトリガされる、請求項17に記載のコンピュータプログラム。
【請求項２１】
前記第1の処理構成要素に供給される電力周波数レベルを第3の電力周波数レベルに調整する旨の指示を受信するステップと、
前記電力周波数が前記第3の電力周波数レベルに調整された場合、前記第1の処理構成要素がt2からt4までの時間期間にわたって処理するよう動作可能である第2の命令の量を計算するステップであり、時間t3がt2とt4との間である、ステップと、
前記第1の処理構成要素に供給される前記電力周波数を第4の電力周波数レベルに調整するステップであり、前記第4の電力周波数レベルで、前記第1の処理構成要素がt2からt3までの時間期間にわたって前記第2の命令の量を処理するよう動作可能である、ステップと、
前記PCDの前記タイマー構成要素を再設定するステップであり、t3からt4までの時間期間の間、前記第1の処理構成要素へのすべての電力の除去をトリガするよう働くステップと
をさらに備える請求項17に記載のコンピュータプログラム。
【請求項２２】
前記第1の処理構成要素に供給される前記電力周波数を第3の電力周波数レベルに調整する旨の前記指示が、前記PCDの温度読取り値によってトリガされる、請求項21に記載のコンピュータプログラム。
【請求項２３】
前記PCDにおける第2の処理構成要素に供給される電力周波数を前記第2の電力周波数レベルに調整するステップであり、前記第2の電力周波数レベルで、前記第2の処理構成要素がt1からt2までの時間期間にわたって実質的に前記命令の量を処理するよう動作可能である、ステップと、
前記PCDのタイマー構成要素を設定するステップであり、t0からt1までの時間期間の間、前記第2の処理構成要素へのすべての電力の除去をトリガするよう働くステップと、
時刻t1に前記第2の処理構成要素を起こすステップであり、前記第2の処理構成要素への前記第2の電力周波数レベルの電力の前記供給を再開するステップを備えるステップと
をさらに備える請求項17に記載のコンピュータプログラム。
【請求項２４】
前記第2の処理構成要素に提供された前記第2の電力周波数レベルが、前記第2の処理構成要素の最大定格電力に関連付けられる、請求項23に記載のコンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
ポータブルコンピューティングデバイス(「PCD」)は、個人レベルおよび専門レベルにおいて人々に必要なものになりつつある。これらのデバイスは、セルラー電話、携帯情報端末(「PDA」)、ポータブルゲームコンソール、パームトップコンピュータ、および他のポータブル電子デバイスを含み得る。
【０００２】
PCDの1つの特有の側面に、ラップトップコンピュータおよびデスクトップコンピュータのようなより大型のコンピューティングデバイスでしばしば見られるファンのような能動的な冷却デバイスを通常は有さないということがある。したがって、熱エネルギーの生成を管理するためにファンを使用する代わりに、PCDは、そのプロセッサに印加される電圧を操作する技法に依存することができ、したがって、さもなければ過剰な熱を生成する消費電力が節約される。
【０００３】
1つのそのような技法は、プロセッサを「クロックゲートする」ことである。トランジスタは、有効電力(「PA」)をプロセッサに供給するにつれて、「充電」状態と「放電」状態との間で切り替わる。したがって、トランジスタが「充電」状態と「放電」状態との間で切り替わることを一時的に無効にすること、すなわち「クロックゲートする」ことは、電力を節約し、消費電力を低減する。すなわち、ゲートでの状態の切替えが電力を消費するので、ゲートを「クロック制御する」ことはプロセッサへの有効電力の供給をなくし、それによって、プロセッサによって生成され得る熱エネルギーの量が低減する。
【０００４】
しかしながら、すべての有効電力がプロセッサに供給されるのを止めることは、漏れ電力(「PL」)の進行中の消費に対して影響を及ぼさない。電力ゲートが切り替わっていないときでも、漏れ電力は生じる。理論上、電流の流れはゲート構成要素上で制限されるが、PCDにおける回路が一層コンパクトであるため、ゲートジオメトリは、設計がますます小さくなる傾向にある。その結果、PCDにおいて使用される多くのゲートは、今日、電流の流れに対するあまり有効でない物理的障壁を提供し、したがって、漏れ電力の消費がますます大きくなる。問題を複雑にするように、コンパクトな回路は、電流の流れを阻害するすでに薄いゲートの能力をさらに悪化させる多量の熱エネルギーを生成し得る。
【０００５】
有効電力、漏れ電力、および外部熱源からの熱寄与は、熱暴走に達するまで、PCDに蓄積し得る。熱暴走は、漏れ電力単独の放散がPCDの温度を持続させるまたは上昇させる時点として定義され得る。すなわち、熱暴走の時点で、PCDが非クロック制御状態にあるときでも、PCDを流れる電流は、熱生成を持続させるまたはそれを上昇させるのに十分である。現在、PCDが、たとえば熱暴走に関連付けられた温度など、臨界温度に近づくと、オペレーティングシステムは、PCD内の大部分の電子構成要素を単にシャットダウンすることによってPCDを冷却するように設計され得る。電子機器をシャットダウンすることはPCD内の熱エネルギーの継続的な生成を回避するための有効な手段であり得るが、そのような急激な対策は必然的にPCDの性能に影響を及ぼし、場合によっては、ある期間の間、機能的にPCDが動作不可能になることさえあり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、その性能および機能に過剰に影響を与えることなく、PCD内で構成要素の冷却が促進されるように、PCDにおける漏れ電力の消費を軽減するための方法およびシステムが当技術分野において必要である。
【課題を解決するための手段】
【０００７】
ポータブルコンピューティングデバイス(「PCD」)において熱エネルギーの生成を低減するための方法およびシステムが開示される。この方法は、有効電力(「PA」)の消費が低減されるように、PCD内での処理構成要素のスループットを修正する指示を受信するステップを含む。指示を受信すると、処理構成要素がt0からt2までの時間期間にわたって修正された周波数で処理するよう動作可能であり得る命令の数を決定するために、計算が実行され得る。決定に基づいて、PCD内のクロッキング構成要素は、t0からt1までのより短い時間期間にわたって決定された数の命令を処理できるようにする周波数がPCDの処理構成要素に提供されるように設定され得る。さらに、時刻t1で始まり時刻t2で終わる時間期間の間、すべての電力を処理構成要素に移す強制電力崩壊(forced power collapse)をトリガするように、タイマー構成要素が設定され得る。強制電力崩壊の後、時刻t2に、処理構成要素は、処理を再開できるように、目を覚まし得る。有利なことに、強制電力崩壊の間、漏れ電力(「PL」)は、t1とt2との間、処理構成要素によって消費されない。その結果、処理構成要素は、単に周波数を低減する最初の指示が実施されていた場合に有したであろう同じ処理スループットを時刻t0からt2までにわたって平均するが、強制電力崩壊中、PLは消費されていないので、時刻t1とt2との間に生じたであろうPLに関連する熱エネルギーの生成が回避される。
【０００８】
図中、別段に規定されていない限り、同様の参照番号は、様々な図の全体を通じて、同様の部分を指す。「102A」または「102B」のような文字指定を伴う参照番号について、文字指定は、同じ図に存在する2つの同様の部分または要素を区別し得る。参照番号の文字指定は、参照番号が、すべての図において同じ参照番号を有するすべての部分を包含することが意図される場合には、省略されることがある。
【図面の簡単な説明】
【０００９】
【図１】特定の性能レベル下で処理され得るMIPSの数に等しい平均数のMIPSをPCDプロセッサコアが処理できるようにし得る電力サイクルを表す例示的な強制電力崩壊(「FPC」)曲線のグラフである。
【図２】特定の性能レベル下で処理され得るMIPSの数に等しい平均数のMIPSをマルチコアPCDプロセッサにおけるプロセッサコアが処理できるようにし得る電力サイクルを各々表す1対の例示的なFPC曲線のグラフである。
【図３】特定の性能レベル下で処理され得る百万命令毎秒(「MIPS」)の数に等しい平均数のMIPSをマルチコアPCDプロセッサにおけるプロセッサコアが処理できるようにし得る電力サイクルを各々表す1対の例示的なFPC曲線のグラフである。
【図４】特定の性能レベル下で処理され得るMIPSの数に等しい平均数のMIPSをマルチコアPCDプロセッサにおけるプロセッサコアが処理できるようにし得る電力サイクルを各々表す1対の例示的なFPC曲線のグラフである。
【図５】特定の性能レベル下で処理され得るMIPSの数に等しい平均数のMIPSをマルチコアPCDプロセッサにおけるプロセッサコアが処理できるようにし得る電力サイクルを各々表す1対の例示的なFPC曲線のグラフである。
【図６】特定の性能レベル下で処理され得るMIPSの数に等しい平均数のMIPSをマルチコアPCDプロセッサにおけるプロセッサコアが処理できるようにし得る電力サイクルを各々表す1対の例示的なFPC曲線のグラフである。
【図７】ポータブルコンピューティングデバイス(PCD)の一実施形態を示す機能ブロック図である。
【図８】図7に示されるチップのための、ハードウェアの例示的な空間配置を示す機能ブロック図である。
【図９】図8に示される、熱ポリシーマネージャ(「TPM」)と、強制電力崩壊(「FPC」)モジュールと、リソース電力マネージャ(「RPM」)と、チップのハードウェアデバイスとの間のそれぞれの論理接続を示す機能ブロック図である。
【図１０】PCDにおいて消費電力を低減することによって熱負荷を低減するための方法を示す論理フローチャートである。
【図１１】PCDにおいて消費電力の最も効果的な低減を提供し得る熱軽減技法を決定するための副方法またはサブルーチンを示す論理フローチャートである。
【図１２】PCDにおいて動的電圧周波数スケーリング(「DVFS」)熱軽減技法を適用するための方法を示す論理フローチャートである。
【図１３】PCDにおいて強制電力崩壊(「FPC」)熱軽減技法を適用することによって熱負荷を低減するための方法を示す論理フローチャートである。
【発明を実施するための形態】
【００１０】
「例示的な」という言葉は、「例、実例、または例示として機能すること」を意味するために本明細書で使用される。「例示的な」ものとして本明細書で説明する何らかの態様は、必ずしも他の態様よりも排他的、好ましい、または有利であると解釈されるわけではない。
【００１１】
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような、実行可能なコンテンツを有するファイルも含み得る。加えて、本明細書で言及する「アプリケーション」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。
【００１２】
「コンテンツ」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような、実行可能なコンテンツを有するファイルも含み得る。加えて、本明細書で言及される「コンテンツ」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルのような、本質的に実行可能ではないファイルを含むこともある。
【００１３】
本明細書で使用される場合、「構成要素」、「データベース」、「モジュール」、「システム」、「熱エネルギー生成構成要素」、「処理構成要素」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図されている。たとえば、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例を挙げると、コンピューティングデバイス上で作動しているアプリケーションとコンピューティングデバイスの両方がコンポーネントであり得る。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッド内に存在してよく、1つのコンポーネントは、1つのコンピュータに局在してよく、かつ/または2つ以上のコンピュータに分散してよい。加えて、これらのコンポーネントは、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。コンポーネントは、1つまたは複数のデータパケット(たとえば、信号によって、ローカルシステム、分散システムにおいて別のコンポーネントと対話し、かつ/またはインターネットのようなネットワークにわたって他のシステムと対話する、1つのコンポーネントからのデータ)を有する信号に従うなどして、ローカルプロセスおよび/またはリモートプロセスにより通信することができる。
【００１４】
本明細書では、「通信デバイス」、「ワイヤレスデバイス」、「ワイヤレス電話」、「ワイヤレス通信デバイス」、および「ワイヤレスハンドセット」という用語は交換可能に用いられる。第3世代(「3G」)および第4世代(「4G」)のワイヤレス技術が出現したことによって、利用可能な帯域が拡大されたので、より多様なワイヤレス機能を備えたより携帯が容易なコンピューティングデバイスが利用可能になっている。
【００１５】
本明細書では、「中央処理装置(「CPU」)」、「デジタル信号プロセッサ(「DSP」)」、および「チップ」という用語は交換可能に使われる。
【００１６】
本明細書では、「熱」および「熱エネルギー」という用語は、「温度」の単位で測定され得るエネルギーを発生させまたは放散することが可能な、デバイスまたはコンポーネントと関連付けられて使われ得ることが理解されるだろう。その結果、「温度」という用語は、「熱エネルギー」を発生させるデバイスまたはコンポーネントの、相対的な暖かさまたは熱の欠如を示し得る、何らかの基準値に対する任意の測定値を想定することが、さらに理解されるだろう。たとえば、2つのコンポーネントの「温度」は、2つのコンポーネントが「熱的に」平衡である場合、同じである。
【００１７】
本明細書では、「作業負荷」、「プロセス負荷」および「プロセス作業負荷」という用語は互換的に使用され、一般に、所与の実施形態の所与の処理構成要素に関連付けられた処理負担または処理負担のパーセンテージを対象にする。上記で定義されるものに加えて、「処理構成要素」または「熱エネルギー生成構成要素」は、限定はしないが、中央処理装置、グラフィカル処理ユニット、コア、メインコア、サブコア、処理エリア、ハードウェアエンジンなど、またはポータブルコンピューティングデバイス内の集積回路内または外にある任意の構成要素とすることができる。さらに、「熱負荷」、「熱分布」、「熱シグナチャ」、「熱処理負荷」などの用語が処理構成要素上で動作し得る作業負荷の負担を表す限り、本開示のこれらの「熱」の用語の使用がプロセス負荷分布、プロセスの負担およびプロセスレートに関連し得ることを、当業者であれば認識されよう。
【００１８】
本明細書では、「ポータブルコンピューティングデバイス」(「PCD」)という用語は、バッテリーなど限られた容量の電源で動作する任意のデバイスを説明するために使用される。何十年もの間バッテリー駆動のPCDが使用されてきたが、第3世代(「3G」)ワイヤレス技術の出現とともにもたらされた充電式バッテリーの技術的進歩は、複数の機能を有する多数のPCDを可能にした。したがって、PCDは、とりわけ、携帯電話、衛星電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、スマートブックまたはリーダー、タブレットコンピュータ、メディアプレーヤ、上述したデバイスの組合せ、およびワイヤレス接続を有するラップトップコンピュータであってよい。
【００１９】
本明細書では、特定の構成要素の「処理能力」、「処理効率」、「スループット」、「スループットの低下」などは、実際の百万命令毎秒(「MIPS」)で定量化され得るが、たとえばコアなど構成要素によって処理され得るMIPSの数の実際の計算がすべての実施形態において必要とされるとは限らないことを、当業者であれば理解されよう。すなわち、いくつかの実施形態では、MIPSの数の処理能力は、推論、相関、または推定を介して決定されまたは計算され得る。さらに、いくつかの実施形態では、構成要素の処理能力は、たとえば、限定はしないが、周波数低減パーセンテージ、電流引き込み低減パーセンテージ、期間など、MIPS以外の単位で表され得る。したがって、構成要素の処理能力に関連する任意の計算または決定は、本開示の範囲によって想定されることを、当業者であれば理解されよう。
【００２０】
代表的なシナリオでは、ポータブルコンピューティングデバイス(「PCD」)は、最大処理能力で処理中のコアを動作させることによって、一定数の百万命令毎秒(「MIPS」)を処理することができる。そうするとき、コアは、一定量の電力を消費する。これは、関連する量の生成された熱エネルギーの放散を引き起こす。最大処理能力で動作している処理中のコアによって生成される熱エネルギーは、PCDに有害である場合もあり、そうでない場合もある。しかしながら、放散される必要がある熱エネルギーがPCDに有害である、または潜在的に破局的である場合、処理中のコアの作業負荷負担を低減する、またはコアが動作している電力を低減するための対策がとられ得る。
【００２１】
フルレートの電力で動作する例示的な処理中のコアによって消費されるエネルギーは、以下の通りである。
E=(FPAxt)+(PLxt)
式中、FPAは、フルレートの周波数で動作しているコアによって消費される有効電力であり、PLは、コアに関連付けられた回路によって消費される漏れ電力であり、tは時刻である。特に、例示的なコアによって使用されるエネルギーは、コアに提供される電力の周波数が低下するように、コアのクロックの「ゲーティング」によって、しばしば処理スループットを犠牲にして低減され得る。ゲーティングの有効な結果は、低い処理性能である。有利なことに、より低い周波数の結果、所与の時間期間にわたるPAの消費に関連付けられた熱エネルギー生成も低下する。本質的に、コアがクロック制御されているとき、PAは、コアによって消費され、コアがクロック制御されていないとき、PAは消費されない。ゲートが開いているか閉じているかにかかわらず、PLは消費される。
【００２２】
したがって、例示的なコアの最大定格周波数未満の何らかのレートでコアがクロック制御されるとき、システムが動作しているときに消費されるエネルギーは以下の通りである。
E=(PAxt)+(PLxt)
式中、PAは、フルレートの周波数未満の周波数で動作しているコアによって消費される有効電力であり、PLは、コアに関連付けられた回路によって消費される漏れ電力であり、tは時刻である。また、コアは、クロック制御されないとき、「レディ」状態にあるが、能動的に処理中ではない。したがって、コアが「レディ」であるが、処理中ではないときに消費されるエネルギーは、以下の通りである。
E=(PLxt)
特に、PAは、例示的なコアが動作することができる最大周波数未満に低減されるコア周波数に関連付けられているので、より低い周波数で動作するコアによって消費されるエネルギーは、コアが全電力で動作しているときに消費されるエネルギー未満であることを当業者であれば理解されよう。すなわち、そうすることがコアによって消費されるPAの量を低下させるため、コアに提供される周波数を低下させることによって熱効果が軽減され得る。
【００２３】
PAは、所与のコアが動作している周波数レベルによって決まる可変の消費電力である。一方、PLは、電源供給されたプロセッサ回路に関連付けられた連続的な進行中の消費電力であり、コアが動作中であるかどうかにかかわらず生じる。したがって、コアに対する周波数を低減することは、PAの消費を低下させることのみに役立ち、コアがPAを引き込んでいるかどうかにかかわらず、PLは消費されることを、当業者であれば認識されよう。時間とともに、熱暴走状態に達するまで、電力の進行中の放散は蓄積し得る。熱暴走の時点で、PCDを流れる電流、すなわちPCDによるPLの連続的な消費は、すでに達している熱生成のレベルを維持する、またはそれを上昇させるのに十分である。
【００２４】
熱暴走の可能性を軽減するために、強制電力崩壊(「FPC」)熱軽減技法の様々な実施形態が使用され得る。FPC技法は、所与の時間にわたってPCDによって消費されるPLの量を低減する。作業が処理の準備ができている間、PCD内の所与のコアまたは1組のコアを定期的にシャットダウンすることによって、PLは、シャットダウンの期間の間、コアによって生成または消費されず、それによって、PL定数に関連付けられたさもなければ不可避の熱エネルギー生成が低減する。
【００２５】
FPC熱軽減システムまたは方法のいくつかの実施形態では、コアは、強制電力崩壊が行われる前に、短縮された時間期間の間、最大処理能力で動作することができる。特に、強制電力崩壊を適用する前にその最大処理能力でコアを動作させることによって、コアがさもなければより低い周波数を活用する熱軽減技法下でより長い処理時間にわたって処理したであろうMIPSの量に近づけるために、短縮された処理時間の間にコアによって処理されるMIPSの量が計算され得る。有利には、コアの最大処理能力(または、少なくとも、代替の熱軽減技法に関連付けられた何らかのより低い周波数を超える処理能力レベル)が活用されるので、さもなければより低い周波数で動作するときコアに必要であるよりも短い時間にわたって、所与の量のMIPSが処理され得る。したがって、強制電力崩壊は、処理時間の差に等しい期間の間実施され得、それによって、そのような処理時間の差の間に消費されるPLの結果として生成されたであろう熱エネルギーが回避される。
【００２６】
図1は、特定のクロック制御された電力曲線105下で処理され得るMIPSの数に等しい平均数のMIPSをPCDプロセッサコア710が処理できるようにし得る電力サイクルを表す例示的なFPC曲線110のグラフ100である。特に、本明細書では、特定のクロック制御された電力曲線への言及が特定の「性能レベル」を指すことと同等であり得ることを、当業者であれば理解されよう。さらに、特定の「性能レベル」が特定の処理能力と必然的に相関することを、当業者であれば理解されよう。
【００２７】
いくつかの実施形態では、監視モジュール714と協働する熱ポリシーマネージャ701(図7参照)が、チップ702上での熱エネルギー生成の増加を検出し、CPU710での処理周波数の低下を指示する熱軽減技法を適用しようとし得ると想定される。特定のクロック制御された電力サイクル105は、CPU710に提供される周波数を低下させることによって熱エネルギー生成を低減するような熱軽減技法を表し得る。上記で説明したように、FPC熱軽減技法を代わりに実施することによって、処理スループットを犠牲にすることなく、特定のクロック制御された電力サイクル105を介して熱生成のさらなる低減が実現され得る。
【００２８】
図1のグラフ100を参照すると、クロック制御された電力曲線105が例示的なFPC曲線110と比較され得る。説明のために、クロック制御された電力サイクル105およびFPC曲線110は、それぞれ同一の処理中のコア「クロック制御されたコア」および「FPCコア」において実施されると仮定され得るが、すべての実施形態が処理中のコアを対象としているとは限らず、したがって、クロック制御された電力サイクル105は、PCD700のコア以外の構成要素のターゲット処理効率を表し得ることを当業者であれば理解されよう。
【００２９】
例に戻ると、時刻t0と時刻t2との間で、クロック制御されたコアは、I1個の命令を処理し、(PAxt2)+(PLxt2)に等しいエネルギー量を消費し得る。曲線部分110Aにわたってより高い処理周波数を活用することによって、FPCコアは、クロック制御されたコアがより長い時刻t2にわたるのと実質的に同じ量の有効電力をより短い時刻t1にわたって消費することができる。したがって、FPCコアがより短い時刻t1にわたってI1個の命令を処理することができたので、FPCコアは、時刻t1とt2との間に強制電力崩壊を受け得る。したがって、曲線部分110Bにわたって、FPCコアはPLを消費せず、したがって、FPCコアによって消費されるエネルギーは、(FPAxt1)+(PLxt1)に等しく、式中、(FPAxt1)は本質的に(PAxt2)に等しい、または、少なくとも(PLx(t2-t1))未満の量だけ(PAxt2)を超える。有利には、最終結果として、FPCコアは、(PLx(t2-t1))に等しい電力量を不必要に消費し、放散することなく、クロック制御されたコアと同じ量の命令I1を時刻t2にわたって処理することができる。
【００３０】
例示的なグラフ100では、上記のサイクルが時刻t2から始まって繰り返されることがわかる。FPCコアは、時刻t2に強制電力崩壊から目が覚め、時刻t3まで曲線部分110Cにわたって最大周波数が提供される。時刻t3で、I2個の命令がFPCコアによって処理され、第2の強制電力崩壊が時刻t3と時刻t4との間で実施され得る。熱軽減技法が削除されるか修正されるまで、サイクルは繰り返され得、あらゆるサイクルでPLの消費が回避される。
【００３１】
特に、例示のために、FPCコアは、曲線部分110Aおよび110Cに沿って最大周波数が提供されるものとして説明されている。したがって、提供される周波数は、プロセッサの最大定格周波数未満であり、しかし、代替の熱軽減アルゴリズムによって示唆されたクロック制御された周波数を超える何かであるFPC熱軽減技法を実施することができることを当業者であれば理解されよう。したがって、FPC熱軽減システムまたは方法は、強制電力崩壊の間の処理期間の間、最大周波数の提供に限定されない。
【００３２】
さらに、上記の例示的なFPC熱軽減方法は、示唆されたクロック周波数のものを超えて処理効率を犠牲にすることなく、PLの消費を節約する機会を前提としているが、他のFPC熱軽減アルゴリズムを適用するための原動力は、示唆されたクロック周波数に関連付けられた熱エネルギー生成レートを超えることなく、より高い処理効率で動作する機会に基づき得ることが理解されよう。すなわち、所与の処理効率で消費電力を最小化するために様々なFPC熱軽減技法が実施され得る一方、熱エネルギー生成の許容レートで処理効率を最大にするために他のFPC熱軽減技法が実施され得ることが想定される。
【００３３】
図2は、特定のクロック制御された電力曲線205下で処理され得るMIPSの数に等しい平均数のMIPSをマルチコアPCDプロセッサ710(図7参照)におけるプロセッサコアが処理できるようにし得る電力サイクルを各々表す1対の例示的なFPC曲線110、220のグラフ200である。特に、曲線205が例示的なFPC電力曲線110、220の各々によって処理される平均数のMIPSも表し得ることを、当業者であれば理解されよう。説明の目的で、FPC電力曲線110は、PCD700のコア822で実施され得、FPC電力曲線220は、CD700のコア824で実施され得る。
【００３４】
図1のグラフ100と関連して上記で説明したように、FPC電力曲線110のコア822への適用は、時刻t1とt2との間の強制電力崩壊を受ける前に、曲線部分110Aにわたって、最大周波数で命令をコア822に処理させることができる。有利には、時刻t1とt2との間にPLを放散させる必要なしに、FPC曲線110のコア822への適用は、さもなければクロック制御された電力曲線205の適用によって処理された実質的に同じ数の命令I1を時刻t2にわたってコア822に処理させ得る。
【００３５】
特に、コア822は曲線部分110Bおよび110Dに沿って強制電力崩壊を受けるので、PCD700のユーザは、(t2-t1)および(t4-t3)がかなりの時間量を表すいくつかの実装形態で、「いらいらする」サービス品質(「QoS」)を経験し得る。したがって、コア824の処理曲線部分220B、220Dがコア822のFPC曲線部分110B、110Dと同時に生じるように、FPC熱軽減技法のいくつかの実施形態は、2つ以上のコア822、824を同期させ得ることが想定される。同様に、コア824のFPC曲線部分220A、220Cがコア822の処理曲線部分110A、110Cと同時に生じるように調節され得る。プロセッサ710における1対またはそれ以上のコアにわたって相補型のFPC熱軽減曲線をずらした結果、曲線部分110A、220B、110C、および220Dの傾斜に関連付けられた周波数で動作している単一のコアに通常起因する処理レベルで、ユーザに円滑なQoS経験を提供し得ることが想定される。さらに、他の実施形態では、「停止し、開始する」ことに固有のスタッターがユーザに目立たないように、時刻t0、t1、およびt2を選択することによってこのいらいらするQoS効果が軽減され得る。
【００３６】
しかしながら、有利には、クロック制御された曲線205に整合するレートで1対またはそれ以上のコアを単にクロック制御することとは対照的に、プロセッサ710における1対またはそれ以上のコアにわたって相補型のFPC熱軽減曲線をずらすことによって、いくつかの実施形態において、所与の処理サイクルにわたって、(PLx(t2-t1))+PL×(t1-t0))に等しい量の消費電力の節約が実現され得る。
【００３７】
図3は、特定のクロック制御された電力曲線305下で処理され得るMIPSの数に等しい平均数のMIPSをマルチコアPCDプロセッサ710(図7参照)におけるプロセッサコアが処理できるようにし得る電力サイクルを各々表す1対の例示的なFPC曲線310、320のグラフ300である。特に、曲線305が例示的なFPC電力曲線310、320の各々によって処理される平均数のMIPSも表し得ることを、当業者であれば理解されよう。図2のグラフ200の説明のために提供される例示的なアプリケーションに戻って、FPC曲線310が処理中のコア822において実施され得、一方、FPC曲線320が処理中のコア824において実施され得る。図3の例では、コア822の処理曲線部分310A、310Cは、コア824の処理曲線部分320B、320Dよりも急に傾斜する。したがって、FPC曲線310は、FPC曲線320によってコア824に提供されるものよりも高い周波数でコア822に命令を処理させ得ることを、当業者であれば理解されよう。特に、より高い周波数でコア822の処理能力を活用することによって、コア822の強制電力崩壊310Bは、相補型のコア824の強制電力崩壊320Aよりも長い時間期間(t2-t1)にわたって保持され得、したがって潜在的により大きいPLの節約がもたらされる。
【００３８】
例示的なFPC曲線310、320など、FPC熱軽減技法をずらした結果、図2のアプリケーションと関連して想定されるものに従って、正味のPLの節約がもたらされ得る。しかしながら、CPU710のコアが処理能力、熱源への近接度、スレッド親和性割当てなどで異なり得るような場合、複数のコアにわたる独立した、そうでなければ、正確にミラーされたFPC熱軽減曲線の適用を介して、CPU710に関連付けられた最大の処理能力および/または最小の熱エネルギー生成が実現され得ると想定される。
【００３９】
図4は、特定のクロック制御された電力曲線205下で処理され得るMIPSの数に等しい平均数のMIPSをマルチコアPCDプロセッサ710(図7参照)におけるプロセッサコアが処理できるようにし得る電力サイクルを各々表す1対の例示的なFPC曲線110、220のグラフ400である。図2のグラフ200の説明のために提供される例示的なアプリケーションに戻って、FPC曲線110が処理中のコア822において実施され得、一方、FPC曲線220が処理中のコア824において実施され得る。しかしながら、図4の例では、FPC曲線220は、ターゲット処理曲線205の「上」にシフトされている。シフトの結果、時刻(t5-t4)の間に起こる、コア822の処理曲線部分110Cの開始とコア824の処理曲線部分220Bの終了との間にサイクルの重複がある。同様に、時刻(t3-t2)の間に起こる、コア822の強制電力崩壊110Bの開始とコア824の強制電力崩壊220Aの終了との間にサイクルの重複がある。
【００４０】
CPU710のコアは、処理能力、熱源への近接度、スレッド親和性割当てなどにおいて異なり得る。特に、したがって、グラフ400に示される例示的なFPC曲線110、220など、FPC熱軽減技法をずらすことによって、CPU710に関連付けられた最大の処理能力および/または最小の熱エネルギー生成が複数のコアにわたって実現され得ると想定される。
【００４１】
図5は、特定のクロック制御された電力曲線205下で処理され得るMIPSの数に等しいMIPSの平均数をマルチコアPCDプロセッサ710(図7参照)におけるプロセッサコアが処理できるようにし得る電力サイクルを各々表す1対の例示的なFPC曲線110、220のグラフ500である。図2のグラフ200の説明のために提供される例示的なアプリケーションに戻って、FPC曲線110が処理中のコア822において実施され得、一方、FPC曲線220が処理中のコア824において実施され得る。しかしながら、図5の例では、FPC曲線220は、ターゲット処理曲線205の「上」にシフトされている。シフトの結果、時刻(t2-t1)の間に生じるコア822、824の強制電力崩壊部分110B、220Aの間、および同様に、時刻(t4-t3)の間に生じるコア822、824の強制電力崩壊部分110D、220Cの間にサイクルの重複がある。
【００４２】
さらに、時刻(t3-t2)の間、図5のグラフ500におけるFPC曲線110、220の処理曲線部分が重複する。有利には、コア822、824の強制電力崩壊を重複させることによって、コア822、824の強制電力崩壊の間のコア間の冗長なPLの節約だけでなく、他の熱生成構成要素を有するPCD700に存在する崩壊したコアの総量によって得られ得る熱エネルギー吸収の態様のためにも、熱放散が最大にされ得ることが想定される。
【００４３】
CPU710のコアは、処理能力、熱源への近接度、スレッド親和性割当てなどにおいて異なり得る。特に、したがって、グラフ500に示される例示的なFPC曲線110、220など、FPC熱軽減技法をずらすことによって、CPU710に関連付けられた最大の処理能力および/または最小の熱エネルギー生成が複数のコアにわたって実現され得ると想定される。
【００４４】
図6は、特定のクロック制御された電力曲線605下で処理され得るMIPSの数に等しい平均数のMIPSをマルチコアPCDプロセッサ710(図7参照)におけるプロセッサコアが処理できるようにし得る電力サイクルを各々表す1対の例示的なFPC曲線610、620のグラフ600である。特に、曲線605が例示的なFPC電力曲線610、620の各々によって処理される平均数のMIPSも表し得ることを、当業者であれば理解されよう。図2のグラフ200の説明のために提供される例示的なアプリケーションに戻って、FPC曲線610が処理中のコア822において実施され得、一方、FPC曲線620が処理中のコア824において実施され得る。
【００４５】
図6の例では、処理曲線部分610A、610C、620B、620Dの間のコア822、824の処理効率は、プロセッサの各々が時間内にI1個の命令を処理できるほど十分高く、各コア822、824の強制電力崩壊部分610B、620A、および610D、620Cがそれぞれ期間(t2-t1)および(t5-t4)の間に重複し得るほど十分短い。
【００４６】
CPU710のコアは、処理能力、熱源への近接度、スレッド親和性割当てなどにおいて異なり得る。特に、したがって、グラフ600に示される例示的なFPC曲線610、620など、FPC熱軽減技法をずらすことによって、CPU710に関連付けられた最大の処理能力および/または最小の熱エネルギー生成が複数のコアにわたって実現され得ると想定される。
【００４７】
図1〜図6に示した例示的なFPC曲線に関して、そのような曲線は、強制電力崩壊の態様を含む熱軽減ポリシーの一部として実施され得る、FPC電力曲線または曲線の組合せの包括的な図を表しておらず、また表すためのものでもないことを、当業者であれば理解されよう。したがって、様々な傾斜、処理持続時間、電力崩壊持続時間、開始時刻、終了時刻などを含むFPC曲線の他の組合せは、当業者であれば心に浮かぶであろう。したがって、図1〜図6に示した特定の曲線は、本開示の範囲を限定するものではない。
【００４８】
図7は、熱条件を監視し熱ポリシーを管理するための方法およびシステムを実施するための、ワイヤレス電話の形態の、PCD700の例示的で非限定的な態様の機能ブロック図である。いくつかの実施形態に従って、PCD700は、命令処理に関連付けられた熱負荷を管理するように構成され得る。示されるように、PCD700は、互いに結合されたマルチコア中央処理装置(「CPU」)710およびアナログ信号プロセッサ726を含むオンチップシステム702を含む。当業者によって理解されるように、CPU710は、第0のコア822、第1のコア824、および第Nのコア830を含み得る。当業者によって理解されるように、CPU710の代わりに、デジタル信号プロセッサ(「DSP」)も利用され得る。
【００４９】
一般に、熱ポリシーマネージャモジュール701は、PCD700が、熱条件および/または熱負荷を管理し、高水準の機能を維持しつつ、たとえば危機的な温度に達することなどの不都合な熱条件を受けるのを回避するのを助け得る、1つまたは複数の熱軽減技法を含む、熱ポリシーを監視し適用することを担い得る。
【００５０】
図7は、PCD700が監視モジュール714を含み得ることも示している。監視モジュール714は、オンチップシステム702全体に分散する複数の動作するセンサー(たとえば熱センサー757)およびPCD700のCPU710、さらには熱ポリシーマネージャモジュール701と通信する。以下でより詳しく説明されるように、熱ポリシーマネージャモジュール701は、監視モジュール714および強制電力崩壊(「FPC」)モジュール709とともに動作して、不都合な熱条件を識別し、1つまたは複数の熱軽減技法を含む熱ポリシーを適用することができる。
【００５１】
図7に示すように、ディスプレイコントローラ728およびタッチスクリーンコントローラ730が、デジタル信号プロセッサ710に結合される。オンチップシステム702の外部にあるタッチスクリーンディスプレイ732が、ディスプレイコントローラ728およびタッチスクリーンコントローラ730に結合される。
【００５２】
PCD700は、ビデオエンコーダ734、たとえば位相反転線(「PAL」)エンコーダ、順次式カラーメモリ(「SECAM」)エンコーダ、全国テレビジョン方式委員会(「NTSC」)エンコーダ、または何らかの他のビデオエンコーダ734をさらに含み得る。ビデオデコーダ734は、マルチコア中央処理装置(「CPU」)710に結合される。ビデオ増幅器736がビデオエンコーダ734およびタッチスクリーンディスプレイ732に結合される。ビデオポート738がビデオ増幅器736に結合される。図7に示されるように、ユニバーサルシリアルバス(「USB」)コントローラ740がCPU710に結合される。また、USBポート742がUSBコントローラ740に結合される。メモリ712および加入者識別モジュール(SIM)カード746も、CPU710に結合され得る。さらに、図7に示されるように、デジタルカメラ748がCPU710に結合され得る。例示的な態様では、デジタルカメラ748は、電荷結合デバイス(「CCD」)カメラまたは相補型金属酸化膜半導体(「CMOS」)カメラである。
【００５３】
図7にさらに示されるように、ステレオオーディオコーデック750が、アナログ信号プロセッサ726に結合され得る。さらに、オーディオ増幅器752が、ステレオオーディオコーデック750に結合され得る。例示的な態様では、第1のステレオスピーカー754および第2のステレオスピーカー756が、オーディオ増幅器752に結合される。図7は、マイクロフォン増幅器758もステレオオーディオコーデック750に結合され得ることを示している。加えて、マイクロフォン760が、マイクロフォン増幅器758に結合され得る。特定の態様では、周波数変調(「FM」)無線チューナー762がステレオオーディオコーデック750に結合され得る。また、FMアンテナ764がFM無線チューナー762に結合される。さらに、ステレオヘッドフォン766がステレオオーディオコーデック750に結合され得る。
【００５４】
図7は、高周波(「RF」)トランシーバ768がアナログ信号プロセッサ726に結合され得ることをさらに示している。RFスイッチ770が、RFトランシーバ768およびRFアンテナ772に結合され得る。図7に示すように、キーパッド774がアナログ信号プロセッサ726に結合され得る。また、マイクロフォンを備えたモノヘッドセット776が、アナログ信号プロセッサ726に結合され得る。さらに、バイブレータデバイス778が、アナログ信号プロセッサ726に結合され得る。図7は、たとえばバッテリーなどの電源708がオンチップシステム702に結合されることも示している。ある特定の態様では、電源は、充電式DCバッテリー、または交流(「AC」)電源に接続されたAC-DC変換器から導かれるDC電源を含む。
【００５５】
CPU710は、1つまたは複数の内部のオンチップ熱センサー757A、さらには、1つまたは複数の外部のオフチップ熱センサー757Bにも結合され得る。オンチップ熱センサー757Aは、垂直のPNP構造に基づき通常は相補型金属酸化膜半導体(「CMOS」)超大規模集積(「VLSI」)回路に専用である、絶対温度に比例する(「PTAT」)1つまたは複数の温度センサーを含み得る。オフチップ熱センサー757Bは、1つまたは複数のサーミスタを含み得る。熱センサー757は、アナログデジタルコンバータ(「ADC」)コントローラ703(図8参照)によってデジタル信号に変換される、電圧降下を発生させ得る。しかしながら、本発明の範囲から逸脱することなく、他のタイプの熱センサー757が利用され得る。
【００５６】
熱センサー757は、ADCコントローラ703により制御され監視されるのに加えて、1つまたは複数の熱ポリシーマネージャモジュール701によっても制御され監視され得る。熱ポリシーマネージャモジュール701は、CPU710によって実行されるソフトウェアを含み得る。しかしながら、本発明の範囲から逸脱することなく、熱ポリシーマネージャモジュール701はまた、ハードウェアおよび/またはファームウェアから形成されてもよい。熱ポリシーマネージャモジュール701は、PCD700が、高水準の機能を維持しつつ、危機的な温度に達するのを回避するのを助け得る、1つまたは複数の熱軽減技法を含む、熱ポリシーを監視し適用することを担い得る。同様に、FPCモジュール709は、CPU710によって実行されるソフトウェアを含み得る。しかしながら、本発明の範囲から逸脱することなく、FPCモジュール709はまた、ハードウェアおよび/またはファームウェアから形成されてもよい。リソース電力管理(「RPM」)モジュール707と、タイマー704と、クロック705と協働して働くFPCモジュール709は、PCD700が、高水準の機能を維持しつつ、危機的な温度に達するのを回避するのを助け得る、1つまたは複数の熱軽減技法を含む、熱ポリシーを適用する役目を果たし得る。
【００５７】
図7は、PCD700が監視モジュール714を含み得ることも示している。監視モジュール714は、オンチップシステム702全体に分散する複数の動作するセンサーおよびPCD700のCPU710、さらには熱ポリシーマネージャモジュール701と通信する。以下でより詳しく説明されるように、熱ポリシーマネージャモジュール701は、監視モジュールとともに動作して、1つまたは複数の熱軽減技法を含む熱ポリシーを適用することができる。
【００５８】
図7はさらに、タッチスクリーンディスプレイ732、ビデオポート738、USBポート742、カメラ748、第1のステレオスピーカー754、第2のステレオスピーカー756、マイクロフォン760、FMアンテナ764、ステレオヘッドフォン766、RFスイッチ770、RFアンテナ772、キーパッド774、モノヘッドセット776、バイブレータ778、熱センサー757B、および電源780は、オンチップシステム702の外部にある。しかし、監視モジュール714は、PCD700において動作可能なリソースのリアルタイムの管理を援助するために、アナログ信号プロセッサ726およびCPU710によって、これらの外部デバイスのうちの1つまたは複数から1つまたは複数の指示または信号を受信することもできることを理解されたい。
【００５９】
ある特定の態様では、本明細書で説明される方法ステップのうちの1つまたは複数は、1つまたは複数の熱ポリシーマネージャモジュール701および/または強制電力崩壊モジュール709を形成する、メモリ712に記憶された実行可能命令およびパラメータによって実施され得る。モジュールを形成するこれらの命令は、本明細書で説明される方法を実行するために、ADCコントローラ703に加えて、CPU710、アナログ信号プロセッサ726、または別のプロセッサによって実行され得る。さらに、プロセッサ710、726、メモリ712、メモリ712に記憶された命令、またはそれらの組合せは、本明細書に記載された方法ステップのうちの1つまたは複数を実行するための手段として機能し得る。
【００６０】
図8は、図7に示されるチップ702のための、ハードウェアの例示的な空間配置を示す機能ブロック図である。この例示的な実施形態によれば、アプリケーションCPU710がチップ702の遠く左側の領域に配置され、一方モデムCPU768、726がチップ702の遠く右側の領域に配置される。アプリケーションCPU710は、第0のコア822、第1のコア824、および第Nのコア830を含む、マルチコアプロセッサを含み得る。アプリケーションCPU710は、熱ポリシーマネージャモジュール701Aおよび/または強制電力崩壊モジュール709A(ソフトウェアに組み込まれているとき)を実行している、または熱ポリシーマネージャモジュール701Aおよび/または強制電力崩壊モジュール709Aを含み得る(ハードウェアに組み込まれているとき)。アプリケーションCPU710は、オペレーティングシステム(「O/S」)モジュール807および監視モジュール714を含むように、さらに例示される。
【００６１】
アプリケーションCPU710は、アプリケーションCPU710に隣接して配置されチップ702の左側の領域にある、1つまたは複数の位相ロックループ(「PLL」)809A、809Bに結合され得る。PLL809A、809Bに隣接しアプリケーションCPU710の下に、アプリケーションCPU710の主要な熱ポリシーマネージャモジュール701Aとともに動作する固有の熱ポリシーマネージャ701Bを含み得るアナログデジタル(「ADC」)コントローラ703が、含まれ得る。
【００６２】
ADCコントローラ703の熱ポリシーマネージャ701Bは、「チップ702上」および「チップ702外」に設けられ得る複数の熱センサー757を監視し追跡することを担い得る。オンチップまたは内部熱センサー757Aは、様々な位置に配置され得る。
【００６３】
たとえば、第1の内部熱センサー757A1は、アプリケーションCPU710とモデムCPU768/726との間に、かつ内部メモリ712に隣接して、チップ702の上部の中心領域に配置され得る。第2の内部熱センサー757A2は、モデムCPU768/726の下の、チップ702の右側領域に配置され得る。この第2の内部熱センサー757A2はまた、進化した縮小命令セットコンピュータ(「RISC」)命令セットマシン(「ARM」)777と第1のグラフィックプロセッサ735Aとの間にも配置され得る。デジタルアナログコントローラ(「DAC」)773は、第2の内部熱センサー757A2とモデムCPU768/726との間に配置され得る。
【００６４】
第3の内部熱センサー757A3は、第2のグラフィックプロセッサ735Bと第3のグラフィックプロセッサ735Cとの間の、チップ702の遠く右側の領域に配置され得る。第4の内部熱センサー757A4は、チップ702の遠く右側の領域に、かつ第4のグラフィックプロセッサ735Dの下に配置され得る。第5の内部熱センサー757A5は、チップ702の遠く左側の領域に、かつPLL809およびADCコントローラ703に隣接して配置され得る。
【００６５】
1つまたは複数の外部熱センサー757Bも、ADCコントローラ703に結合され得る。第1の外部熱センサー757B1は、チップの外部に、かつ、モデムCPU768/726、ARM777、およびDAC773を含み得るチップ702の右上4分の1の領域に隣接して配置され得る。第2の外部熱センサー757B2は、チップの外部に、かつ、第3のグラフィックプロセッサ735Cおよび第4のグラフィックプロセッサ735Dを含み得るチップ702の右下4分の1の領域に隣接して配置され得る。
【００６６】
図8に示されるハードウェアの様々な他の空間配置が、本開示の範囲から逸脱することなく実現され得ることを、当業者は理解するだろう。図8は、さらなる1つの例示的な空間配置を示し、図8に示される例示的な空間配置により決まる熱状態を、主要な熱ポリシーマネージャモジュール701Aと熱ポリシーマネージャモジュール701Bを有するADCコントローラ703とがどのように管理できるかを示す。
【００６７】
図9は、図8に示される、熱ポリシーマネージャ(「TPM」)701と、強制電力崩壊(「FPC」)モジュール709と、リソース電力マネージャ(「RPM」)707と、チップのクロック705およびタイマー704との間のそれぞれの論理接続を示す機能ブロック図である。TPM701は、監視モジュール714(図9には図示せず)などの媒介構成要素を介して温度センサー757と通信し得るが、そのような構成がすべての実施形態に必要な態様であるとは限らない。
【００６８】
TPM701は、熱軽減技法の適用を許す熱エネルギー状態を示し得る入力を温度センサー757から受信する。例示的な一実施形態では、TPM701は、CPU710の周波数がCPU710によって有効電力の現在の消費レートを軽減し得るレベルに低減されるように、CPU710のコアが「クロック制御」されるべきであることを決定することができる。TPM701によって決定された、示唆された低減された周波数が、CPU710への適用のために、FPCモジュール709に転送され得る。
【００６９】
CPU710の周波数を低減する旨の命令をTPM701から受信すると、FPCモジュール709は、単にTPM701の命令に従って周波数を低減することと、代替のFPC熱軽減アルゴリズムの適用との節電および/または処理効率を比較することができる。CPU710に適用するための最良の熱軽減方法を決定すると、FPCモジュール709は、決定された方法が、RPM707、タイマー704、およびクロック705の通信および較正を介してCPU710において実行されるようにすることができる。FPC熱軽減技法の実施に関するそれ以上の詳細について、図10〜図13に関連して以下で説明する。
【００７０】
図10は、PCD700において消費電力を低減することによって熱負荷を低減するための方法1000を示す論理フローチャートである。ブロック1005において、熱ポリシーマネージャモジュール701は、温度センサー757によってPCD700の温度を監視することができる。具体的には、熱ポリシーマネージャモジュール701は、温度センサー757A1、757A2によって、図8のチップ702上のハードウェアデバイスの近くの温度を監視することができる。
【００７１】
次に、決定ブロック1010で、熱ポリシーマネージャモジュール701は、熱軽減技法の適用が許されるかどうかを決定するために、閾値温度値を追跡することができる。決定ブロック1010への照会が否定である場合、「いいえ」の分岐がブロック1005に戻る。決定ロック1010への照会が肯定である場合、「はい」の分岐がブロック1015に進む。ブロック1015で、熱ポリシーマネージャモジュール701は、PAの消費を低下させることによって、QoSを犠牲にして、熱エネルギー生成を低下させるCPU710処理周波数を計算することができる。
【００７２】
ブロック1020で、熱ポリシーマネージャモジュール701は、CPU710の処理周波数を低減するために、ブロック1015でのその計算に従ってFPCモジュール709に命令を転送することができる。次に、ブロック1025で、FPCモジュール709は、CPU710またはCPU710内のコアのための周波数を計算することができる。ブロック1025で、ポリシーマネージャモジュール701によって要求された低減された周波数に関連付けられたスループットの低下が計算され得る。スループットの低下は、限定はしないが、所与の周波数で処理することができるMIPSの数によって、または、周波数低減パーセンテージによってなどを含めて、任意の数の方法で定量化され得る。その後、ルーチンまたは副方法ブロック1030で、FPCモジュール709は、示唆された周波数で動作しているCPU710に関連付けられた節電および/または処理効率と、強制電力崩壊を含む電力曲線上で動作するCPU710に関連付けられた節電および/または処理効率とを比較することができる。副方法のブロック1030のさらなる詳細は、図11に関連して以下で説明される。
【００７３】
ルーチンブロック1030の後、ブロック1035で、FPCモジュール709は、最も効率的な熱軽減技法を実施するために、RPM707、クロック705、およびタイマー704と協調することができる。方法1000は次いで、チップ702の温度が熱ポリシーマネージャモジュール701によって監視されるブロック1005に戻る。
【００７４】
図11は、PCD700における消費電力の最も効果的な低減を提供することができる熱軽減技法を決定するための副方法またはサブルーチン1030を示す論理フローチャートである。ブロック1105で、FPCモジュール709は、CPU710がその最も高い周波数で動作している場合、CPU710が図10のブロック1025で計算された命令の数を処理するために必要とされる時間量t1を決定することができる。特に、いくつかの実施形態では、t1は、所与の数のMIPSを処理するために必要な時間に基づいて決定され得るが、t1は、限定はしないが、周波数レートなど、他の要因に基づいて決定され得ることを、当業者であれば理解されよう。非限定的な実施例として、t1は、ポリシーマネージャモジュール701によって指示される低減された周波数とコアの最大周波数との比に基づいて決定され得る。そのような例示的な実施形態では、たとえば、1GHzの最大周波数に対する500MHzの低減された周波数は、t1がt2の半分であることを決定づける(ここでは、500/1000は0.5に等しく、t2は、プロセッサが低減された周波数で所与のスループットを処理するために必要とされる時間量である)。その後、ブロック1110で、FPCモジュール709は、PLの回避からの恩恵を実現することができる前に、CPU710を電力崩壊するために必要とされる電力およびオーバーヘッド時間toverを決定することができる。特に、ブロック1115で計算されるt1とtoverとの合計は、CPU710が、そのエネルギー消費[E=(FPAxt)+(PLxt)]が強制電力崩壊を介して軽減され得る前に、I1個の命令を処理するのに必要な時間量を表す。
【００７５】
決定ブロック1120で、t2は、CPU710がTPM701によって示唆される低減された周波数で動作していた場合、CPU710が図10のブロック1025で計算された命令の数を処理するために必要とされる時間量である場合、(t1+tover)がt2未満であることが決定された場合、FPC熱軽減アルゴリズムの適用を介して、[(PA+PL)*t2]-[(FPA+FPL)*t1+電力オーバーヘッド]に等しい量の潜在的な節電が実現され得る。代替として、(t1+tover)がt2に等しいかまたはそれよりも大きい場合、FPCモジュール709は、TPM701によって示唆された低減された周波数の熱軽減技法を実施することができる。
【００７６】
決定ブロック1120の指示が、(t1+tover)がt2に等しいかまたはそれよりも大きい場合、サブルーチン1030は、図12のブロック1205に進み得る。特に、そのような場合、ブロック1205に進むという決定は、TPM701によって示唆された低減された周波数がベストケースのQoSレベルを表す旨の確認応答に基づき得ることを、当業者であれば理解されよう。しかしながら、決定ブロック1120の指示が、(t1+tover)がt2未満であることであり、したがって、少なくともTPM701によって提案された熱軽減技法と等しいQoSレベルを示す場合、サブルーチン1030は、ブロック1125に進み得る。
【００７７】
ブロック1125で、TPM701によって示唆された低減された周波数での予測された消費電力(すなわち、強制電力崩壊技法に対する代替またはベンチマークの熱軽減技法)が、強制電力崩壊の熱軽減技法下で動作しているCPU710の予測された消費電力と比較され得る。[(PA+PL)*t2]>[(FPA+FPL)*t1+電力オーバーヘッド]である場合、最大処理周波数(または最大処理周波数未満の何らかの周波数)を活用するFPC技法は、QoSを損なわずに、所与の作業負荷を処理するために消費する電力がより少ないので、サブルーチン1030は、図13のブロック1305に進み得る。[(PA+PL)*t2]<[(FPA+FPL)*t1+電力オーバーヘッド]である場合、サブルーチン1030は、デフォルトで図12のブロック1205になり得、TPM701によって最初に示唆された低減された周波数を実施し続けることができる。
【００７８】
特に、熱軽減技法決定アルゴリズム1030について、FPC熱軽減技法と周波数低減熱軽減技法との間の時間および消費電力の比較を含む2ステップの比較に関して説明した。本質的に、FPC熱軽減技法下で所与の作業負荷を処理するための時間が周波数低減技法下で同じ作業負荷を処理するための時間よりも少ない場合、時間の差は、FPC技術下での節電の機会を表す。時間デルタの間に電力を節約する機会が認識された場合、技法が最終的に選択され、実施される前に、代替の熱軽減技法の消費電力が比較される。これは例示的な技法決定アルゴリズム1030のたった1つの実施形態であり、したがって、熱軽減技法決定アルゴリズム1030が、代わりに、限定はしないが、処理時間、消費電力、QoSレベル、熱エネルギー生成、過去の実施に関連付けられた経験的データ、予測された作業負荷などを含む、任意の1つの要因または要因の組合せに基づいてもよいことを、当業者であれば理解されよう。
【００７９】
図1〜図6に関連して説明した例示的な電力曲線と整合した例示的なFPC熱軽減アルゴリズムについて、図13でより詳細に説明する。例示的な低減された周波数熱軽減技法について、以下で図12に関連してより詳細に説明する。
【００８０】
図12は、動的電圧周波数スケーリング(「DVFS」)熱軽減技法を適用するための方法1200を示す、論理フローチャートである。DVFSアルゴリズムは、ある熱条件が上で説明されたように満たされる場合に、熱ポリシーマネージャモジュール701によってトリガされ得る少なくとも1つの熱軽減技法を形成することができ、またはその一部であり得る。DVFS熱軽減技法は、消費電力と性能との間のトレードオフを可能にする。
【００８１】
プロセッサ710および726(図7〜図8)は、各プロセッサのクロック周波数を、電圧の対応する調整によって調整できるようにすることによって、DVFSを利用するように設計され得る。動作電圧の低減は、通常、消費された有効電力PAの比例的な節約になるが、上記で説明したように、漏れ電力PLの消費に影響を及ぼさない。
【００８２】
ブロック1205は、DVFSソリューションを含む熱軽減技法の第1のステップである。この最初のブロック1205において、熱ポリシーマネージャモジュール701は、熱センサー757によって提供される温度読取り値に基づいて、現在の熱状態を決定することができる。現在の熱状態が熱ポリシーマネージャモジュール701によってひとたび決定されると、示唆されたDVFS設定をFPCモジュール709に転送する前に(図10のブロック1020)、熱ポリシーマネージャモジュール701は、ブロック1210で1つまたは複数のハードウェアおよび/またはソフトウェアモジュールの現在の作業負荷をレビューすることができる。次いで、FPCモジュール709は、熱軽減技法決定サブルーチン1030を進んだ後、ブロック1215のCPU710の現在のDVFS設定をレビューすることができる。
【００８３】
次に、ブロック1220で、FPCモジュール709は、熱負荷状態を軽減するために、作業負荷を低減する、または作業負荷を空間的にシフトするために、電圧および/または周波数を含み得るクロック705における現在のDVFS設定を調整する、または調整するためのコマンドを発行することができる。
【００８４】
TPM701によって示唆され得る例示的なDVFS熱軽減ソリューションに従って、FPCモジュール709は、限定はしないが、(1)負荷スケーリング、および/または(2)負荷動的スケーリングなど、熱軽減技法を開始することを決めることができる。負荷スケーリングは、DVFSアルゴリズムにおいて許容される最大クロック周波数705を調整または「スケーリング」することを含み得る。
【００８５】
図13は、PCD700において強制電力崩壊(「FPC」)熱軽減技法を適用することによって熱負荷を低減するための方法1300を示す論理フローチャートである。方法1300について、図1と関連して示され、説明されるFPC曲線と関連して説明する。
【００８６】
FPC709がFPC熱軽減技法を使用すべきであることをサブルーチン1030に従って決定した場合、ブロック1305で、FPCモジュール709は、時刻t0で開始する最大定格電力で、CPU710またはCPU710内のコアを動作させるために、クロック705を設定することができる。CPU710は、時刻t1まで最大定格電力で動作することができる。ブロック1310で、タイマー704は、RPM707に、ブロック1315に従って時刻t1(図1グラフ100参照)でCPU710へのすべての電力を除去するように設定され、それによって、CPU710上の電力崩壊が強制される。タイマー704は、RPM707に、時刻t2にCPU710を「起動」させるように設定することもできる。有利には、時刻t1と時刻t2との間の時間期間の間、CPU710上の電力圧壊を強制することによって、PLx(t2-(t1+tover)に等しい量のPLの節約が実現され得る。
【００８７】
決定ブロック1320で、タイマーが循環しなかった場合、CPU710は、ブロック1325に従って、強制電力崩壊状態のままであり、それによって、上記で説明したように、PLの消費が節約される。ひとたびタイマー704が時刻t2まで循環すると、CPU710は、ブロック1330で目を覚まし、決定ブロック1335でFPCモジュール709によってTPM701からのさらなる命令が受信されていない場合、サイクルはブロック1305に戻り、時刻t2と時刻t4との間を繰り返す。決定ブロック1335で、CPU710の処理周波数をさらに修正する旨の命令をFPCモジュール709がTPM701から受信した場合(方法1000のブロック1020)、FPCモジュール709は、サブルーチン1030のブロック1105に戻り得る。
【００８８】
本発明が説明通りに機能するように、本明細書で説明したプロセスまたはプロセスの流れの特定のステップが他のステップよりも前に行われるのは当然である。しかしながら、ステップの順序または手順によって本発明の機能が変わることがない場合、本発明は説明したステップの順序に限定されない。つまり、本発明の範囲および趣旨から逸脱することなく、あるステップを他のステップの前に実行しても、後に実行してもよく、または他のステップと並行して(実質的に同時に)実行してもよいことを認識されたい。いくつかの場合には、特定のステップが、本発明から逸脱することなく、省略されてもよく、または実行されなくてもよい。さらに、「その後」、「次いで」、「次に」などの語は、ステップの順序を限定することを意図していない。これらの語は、単に例示的な方法の説明を通じて読者を導くために使用されている。
【００８９】
加えて、プログラミングの当業者は、たとえば本明細書のフローチャートおよび関連する説明に基づいて、コンピュータコードを書くか、または適切なハードウェアおよび/もしくは回路を特定し、開示された発明を容易に実施することができる。
【００９０】
したがって、特定の1組のプログラムコード命令または詳細なハードウェアデバイスの開示が、本発明をどのように製作し使用すべきかについて適切に理解するうえで必要であるとはみなされない。特許請求されるコンピュータで実施されるプロセスの発明性のある機能は、上の説明において、かつ、様々なプロセスの流れを示し得る図面とともに、より詳細に説明される。
【００９１】
1つまたは複数の例示的な態様では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体上で送信され得る。
【００９２】
この文書の文脈では、コンピュータ可読媒体は、コンピュータ関連のシステムまたは方法によって、またはそれと関連して使用するために、コンピュータプログラムおよびデータを格納または記憶することができる、電子式、磁気式、光学式、または他の物理デバイスまたは手段である。様々な論理素子およびデータストアは、たとえばコンピュータベースのシステム、プロセッサを含むシステム、または命令実行システム、装置、もしくはデバイスから命令をフェッチし、命令を実行することができる他のシステムのような、命令実行システム、装置、もしくはデバイスによって、またはそれと関連して使用するために、任意のコンピュータ可読媒体に組み込まれ得る。この文書の文脈では、「コンピュータ可読媒体」は、命令実行システム、装置、またはデバイスによって、またはそれと関連して使用するためのプログラムを記憶、通信、伝搬、または伝送することができる任意の手段を含み得る。
【００９３】
コンピュータ可読媒体は、限定はされないがたとえば、電子式、磁気式、光学式、電磁式、赤外線式、または半導体の、システム、装置、デバイス、または伝搬媒体であってよい。コンピュータ可読媒体のより具体的な例(非網羅的なリスト)には、1つまたは複数の配線を有する電気的接続(電子式)、ポータブルコンピュータディスケット(磁気式)、ランダムアクセスメモリ(RAM)(電子式)、読取り専用メモリ(ROM)(電子式)、消去可能プログラマブル読取り専用メモリ(EPROM、EEPROM、またはフラッシュメモリ)(電子式)、光ファイバー(光学式)、および携帯式コンパクトディスク読取り専用メモリ(CD-ROM)(光学式)が含まれよう。プログラムは、たとえば紙または他の媒体の光学走査を介して、電子的に記録され、次いで、コンパイルされ、解釈され、または場合によっては、必要に応じて好適な方法で処理され、次いでコンピュータメモリに記憶され得るので、コンピュータ可読媒体は、プログラムが印刷される紙または別の適切な媒体でさえあり得ることに留意されたい。
【００９４】
コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、任意の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。
【００９５】
また、任意の接続をコンピュータ可読媒体と呼ぶのが妥当である。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【００９６】
本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フレキシブルディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【００９７】
選択された態様について詳細に図示し説明したが、以下の特許請求の範囲によって定義されるような本発明の趣旨および範囲から逸脱することなく、各態様において様々な置換および改変を実施できることが理解されよう。
【符号の説明】
【００９８】
100  グラフ
105  クロック制御された電力曲線
110  FPC曲線
205  クロック制御された電力曲線
701  熱ポリシーマネージャ
702  チップ
703  アナログデジタルコンバータ(「ADC」)コントローラ
704  タイマー
705  クロック
707  リソース電力管理(「RPM」)モジュール
708  電源
709  FPCモジュール
710  CPU
712  メモリ
714  監視モジュール
726  アナログ信号プロセッサ
728  ディスプレイコントローラ
730  タッチスクリーンコントローラ
732  タッチスクリーンディスプレイ
734  ビデオエンコーダ
735A  第1のグラフィックプロセッサ
735B  第2のグラフィックプロセッサ
735C  第3のグラフィックプロセッサ
735D  第4のグラフィックプロセッサ
736  ビデオ増幅器
738  ビデオポート
740  ユニバーサルシリアルバス(「USB」)コントローラ
742  USBポート
746  加入者識別モジュール(SIM)カード
748  デジタルカメラ
750  ステレオオーディオコーデック
752  オーディオ増幅器
754  第1のステレオスピーカー
756  第2のステレオスピーカー
757A  オンチップ熱センサー
757B  オフチップ熱センサー
758  マイクロフォン増幅器
760  マイクロフォン
762  周波数変調(「FM」)無線チューナー
764  FMアンテナ
766  ステレオヘッドフォン
768  高周波(「RF」)トランシーバ、モデムCPU
770  RFスイッチ
772  RFアンテナ
773  デジタルアナログコントローラ(「DAC」)
774  キーパッド
776  マイクロフォンを備えたモノヘッドセット
777  進化した縮小命令セットコンピュータ(「RISC」)命令セットマシン(「ARM」)
778  バイブレータ
807  オペレーティングシステム(「O/S」)モジュール
809A  位相ロックループ(「PLL」)
809B  位相ロックループ(「PLL」)
822  第0のコア
824  第1のコア
830  第Nのコア
1030  熱軽減技法決定アルゴリズム
【図１】
0005743366.tif 000002
【図２】
0005743366.tif 000003
【図３】
0005743366.tif 000004
【図４】
0005743366.tif 000005
【図５】
0005743366.tif 000006
【図６】
0005743366.tif 000007
【図７】
0005743366.tif 000008
【図８】
0005743366.tif 000009
【図９】
0005743366.tif 000010
【図１０】
0005743366.tif 000011
【図１１】
0005743366.tif 000012
【図１２】
0005743366.tif 000013
【図１３】
0005743366.tif 000014