(57)【特許請求の範囲】
【請求項１】
閾値を超えた熱エネルギーの発生をあらかじめ回避することによって、ポータブルコンピューティングデバイス(「PCD」)におけるサービスの品質(「QoS」)のレベルを最大化するための方法であって、
前記PCDの中の1つまたは複数の処理コンポーネントへ配分するための、作業負荷要求を受け取るステップと、
前記PCDの中の前記処理コンポーネントを含むチップの外部にある熱発生コンポーネントと関連付けられる予測的なデータを含む熱因子を決定するステップであって、前記予測的なデータが、前記熱発生コンポーネントによる熱エネルギーの発生の可能性を示す、ステップと、
前記処理コンポーネントに対する前記熱発生コンポーネントの近接度を含む、熱因子を決定するステップと、
前記熱因子に基づいて、前記処理コンポーネントの各々に適格性因子を割り当てるステップと、
前記適格性因子に基づいて、前記作業負荷の配分のためにある処理コンポーネントを選択するステップと、
前記作業負荷を前記選択された処理コンポーネントに配分するステップとを含む、方法。
【請求項２】
前記処理コンポーネントの現在の作業負荷と関連付けられる熱因子を決定するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記現在の作業負荷が、プロセッサに提供される電力周波数を監視することによって決定される、請求項2に記載の方法。
【請求項４】
前記現在の作業負荷が、プロセッサに提供される電流を監視することによって決定される、請求項2に記載の方法。
【請求項５】
前記処理コンポーネントと関連付けられる熱センサ測定結果と関連付けられる熱因子を決定するステップをさらに含む、請求項1に記載の方法。
【請求項６】
前記処理コンポーネントの今後の作業負荷と関連付けられる熱因子を決定するステップをさらに含む、請求項1に記載の方法。
【請求項７】
選択されたプロセッサに対する今後の作業負荷の待ち行列を更新するステップをさらに含む、請求項1に記載の方法。
【請求項８】
前記PCDの中の熱発生コンポーネントと関連付けられる前記予測的なデータが、前記PCDの使用パターンと関連付けられるデータを含む、請求項1に記載の方法。
【請求項９】
閾値を超えた熱エネルギーの発生をあらかじめ回避することによって、ポータブルコンピューティングデバイス(「PCD」)におけるサービスの品質(「QoS」)のレベルを最大化するためのコンピュータシステムであって、
前記PCDの中の1つまたは複数の処理コンポーネントへ配分するための、作業負荷要求を受け取ることと、
前記PCDの中の前記処理コンポーネントを含むチップの外部にある熱発生コンポーネントと関連付けられる予測的なデータを含む熱因子を決定することであって、前記予測的なデータが、前記熱発生コンポーネントによる熱エネルギーの発生の可能性を示すことと、
前記処理コンポーネントに対する前記熱発生コンポーネントの近接度を含む、熱因子を決定することと、
前記熱因子に基づいて、前記処理コンポーネントの各々に適格性因子を割り当てることと、
前記適格性因子に基づいて、前記作業負荷の配分のためにある処理コンポーネントを選択することと、
前記作業負荷を前記選択された処理コンポーネントに割り当てるようにドライバブロックに指示することと
を行うように動作可能な主体的な負荷操作(「PLS」)モジュールを含む、コンピュータシステム。
【請求項１０】
前記PLSモジュールがさらに、前記処理コンポーネントの現在の作業負荷と関連付けられる熱因子を決定するように動作可能である、請求項９に記載のコンピュータシステム。
【請求項１１】
前記現在の作業負荷が、プロセッサに提供される電力周波数を監視することによって決定される、請求項１０に記載のコンピュータシステム。
【請求項１２】
前記現在の作業負荷が、プロセッサに提供される電流を監視することによって決定される、請求項１０に記載のコンピュータシステム。
【請求項１３】
前記PLSモジュールがさらに、前記処理コンポーネントと関連付けられる熱センサの測定結果と関連付けられる熱因子を決定するように動作可能である、請求項９に記載のコンピュータシステム。
【請求項１４】
前記PLSモジュールがさらに、前記処理コンポーネントの今後の作業負荷と関連付けられる熱因子を決定するように動作可能である、請求項９に記載のコンピュータシステム。
【請求項１５】
前記PLSモジュールがさらに、選択されたプロセッサに対する今後の作業負荷の待ち行列を更新するように動作可能である、請求項９に記載のコンピュータシステム。
【請求項１６】
前記PCDの中の熱発生コンポーネントと関連付けられる前記予測的なデータが、前記PCDの使用パターンと関連付けられるデータを含む、請求項９に記載のコンピュータシステム。
【請求項１７】
閾値を超えた熱エネルギーの発生をあらかじめ回避することによって、ポータブルコンピューティングデバイス(「PCD」)におけるサービスの品質(「QoS」)のレベルを最大化するためのコンピュータシステムであって、
前記PCDの中の1つまたは複数の処理コンポーネントへ配分するための、作業負荷要求を受け取るための手段と、
前記PCDの中の前記処理コンポーネントを含むチップの外部にある熱発生コンポーネントと関連付けられる予測的なデータを含む熱因子を決定するための手段であって、前記予測的なデータが、前記熱発生コンポーネントによる熱エネルギーの発生の可能性を示す、手段と、
前記処理コンポーネントに対する前記熱発生コンポーネントの近接度を含む、熱因子を決定するための手段と、
前記熱因子に基づいて、前記処理コンポーネントの各々に適格性因子を割り当てるための手段と、
前記適格性因子に基づいて、前記作業負荷の配分のためにある処理コンポーネントを選択するための手段と、
前記作業負荷を前記選択された処理コンポーネントに配分するための手段とを含む、コンピュータシステム。
【請求項１８】
前記処理コンポーネントの現在の作業負荷と関連付けられる熱因子を決定するための手段をさらに含む、請求項１７に記載のコンピュータシステム。
【請求項１９】
前記現在の作業負荷が、プロセッサに提供される電力周波数を監視することによって決定される、請求項１８に記載のコンピュータシステム。
【請求項２０】
前記現在の作業負荷が、プロセッサに提供される電流を監視することによって決定される、請求項１８に記載のコンピュータシステム。
【請求項２１】
前記処理コンポーネントと関連付けられる熱センサ測定結果と関連付けられる熱因子を決定するための手段をさらに含む、請求項１７に記載のコンピュータシステム。
【請求項２２】
前記処理コンポーネントの今後の作業負荷と関連付けられる熱因子を決定するための手段をさらに含む、請求項１７に記載のコンピュータシステム。
【請求項２３】
選択されたプロセッサに対する今後の作業負荷の待ち行列を更新するための手段をさらに含む、請求項１７に記載のコンピュータシステム。
【請求項２４】
前記PCDの中の熱発生コンポーネントと関連付けられる前記予測的なデータが、前記PCDの使用パターンと関連付けられるデータを含む、請求項１７に記載のコンピュータシステム。
【請求項２５】
コンピュータにより実行可能なコンピュータ可読プログラムコードからなり、前記コンピュータ可読プログラムコードが、閾値を超えた熱エネルギーの発生をあらかじめ回避することによって、ポータブルコンピューティングデバイス(「PCD」)におけるサービスの品質(「QoS」)のレベルを最大化するための方法を実施するように実行されるように適合される、コンピュータプログラムであって、前記方法が、
前記PCDの中の1つまたは複数の処理コンポーネントへ配分するための、作業負荷要求を受け取るステップと、
前記PCDの中の前記処理コンポーネントを含むチップの外部にある熱発生コンポーネントと関連付けられる予測的なデータを含む熱因子を決定するステップであって、前記予測的なデータが、前記熱発生コンポーネントによる熱エネルギーの発生の可能性を示す、前記決定するステップと、
前記処理コンポーネントに対する前記熱発生コンポーネントの近接度を含む、熱因子を決定するステップと、
前記熱因子に基づいて、前記処理コンポーネントの各々に適格性因子を割り当てるステップと、
前記適格性因子に基づいて、前記作業負荷の配分のためにある処理コンポーネントを選択するステップと、
前記作業負荷を前記選択された処理コンポーネントに配分するステップとを含む、コンピュータプログラム。
【請求項２６】
前記処理コンポーネントの現在の作業負荷と関連付けられる熱因子を決定するステップをさらに含む、請求項２５に記載のコンピュータプログラム。
【請求項２７】
前記現在の作業負荷が、プロセッサに提供される電力周波数を監視することによって決定される、請求項２６に記載のコンピュータプログラム。
【請求項２８】
前記現在の作業負荷が、プロセッサに提供される電流を監視することによって決定される、請求項２６に記載のコンピュータプログラム。
【請求項２９】
前記処理コンポーネントと関連付けられる熱センサ測定結果と関連付けられる熱因子を決定するステップをさらに含む、請求項２５に記載のコンピュータプログラム。
【請求項３０】
前記処理コンポーネントの今後の作業負荷と関連付けられる熱因子を決定するステップをさらに含む、請求項２５に記載のコンピュータプログラム。
【請求項３１】
選択されたプロセッサに対する今後の作業負荷の待ち行列を更新するステップをさらに含む、請求項２５に記載のコンピュータプログラム。
【請求項３２】
前記PCDの中の熱発生コンポーネントと関連付けられる前記予測的なデータが、前記PCDの使用パターンと関連付けられるデータを含む、請求項２５に記載のコンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
ポータブルコンピューティングデバイス(「PCD」)は、個人レベルおよび専門レベルにおいて人々に必要なものになりつつある。これらのデバイスは、携帯電話、携帯情報端末(「PDA」)、ポータブルゲームコンソール、パームトップコンピュータ、および他のポータブル電子デバイスを含み得る。
【０００２】
PCDの1つの特有の側面に、ラップトップコンピュータおよびデスクトップコンピュータのようなより大型のコンピューティングデバイスで見られることが多い、ファンのような能動的な冷却デバイスを、通常は有さないということがある。したがって、ファンを使用して熱エネルギー発生を管理する代わりに、PCDは、処理コンポーネントによって能動的に生成されている熱エネルギーの量を低減するように機能する、ポリシーを利用することができる。たとえば、いくつかの熱管理ポリシーは、過負荷の処理コンポーネントから代替的な処理コンポーネントへと作業負荷を再配分することによって、PCDにおける熱エネルギー発生を低減しようとする。他の熱管理ポリシーは、処理コンポーネントに供給される電力周波数を下げることによって、熱エネルギーの能動的な発生を管理しようとする。
【０００３】
現在の熱管理ポリシーの1つの側面に、熱管理ポリシーがユーザ体験を犠牲にして利用されることが多いということがある。たとえば、電力密度の高いサブプロセッサから電力密度のより低いメインプロセッサに作業負荷の量を移動することによって、熱エネルギー発生は、計算速度を犠牲にして軽減され得る。つまり、高速なサブプロセッサからより低速なメインプロセッサへと作業負荷が再配分されたことによって、サービスの品質(「QoS」)が影響を受けることがある。同様に、プロセッサが実行されるクロック速度を単に下げることによって、プロセッサの発生させる熱エネルギーは少なくなり得るが、プロセッサの処理効率は下がる。
【０００４】
現在の熱管理ポリシーの別の側面には、熱管理ポリシーが反応型であるということがある。デフォルトの作業負荷の配分アルゴリズムは、過剰な熱エネルギーという条件がPCDにおいて識別されたときにのみ、現在の熱管理ポリシーによって操作される。同様に、プロセッサのクロック速度は、プロセッサがすでに「熱くなっている」、またはその方向に向かっているということがない限り、下がらない。
【０００５】
簡単に言うと、現在の熱管理技法を実施する「理由」は、通常、PCDの中の何かが熱いから、または熱くなっているからである。それゆえ、現在の熱管理技法によって提供される解決法は、進行中の熱エネルギー発生を軽減することである。現在の熱管理技法は、PCDの中の何かが熱くなる可能性が高いこと、または熱くなることが予想されることを理由には、実施されない。現在の熱管理技法は、PCDにおける熱エネルギーの発生を主体的に管理しない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、当技術分野において必要とされるのは、過剰な熱エネルギーの発生をあらかじめ回避することによって、PCDの性能を最大化するための方法およびシステムである。
【課題を解決するための手段】
【０００７】
閾値を超えた熱エネルギーの発生をあらかじめ回避することによって、ポータブルコンピューティングデバイス(「PCD」)におけるサービスの品質(「QoS」)のレベルを最大化するための方法およびシステムが開示される。方法は、複数の処理コンポーネントを含むPCD内のある処理コンポーネントへ配分するための、作業負荷要求を受け取るステップを含む。作業負荷要求を受け取ると、処理コンポーネントと関連付けられる任意の数の熱因子の組合せに基づいて、作業負荷の配分のためにある処理コンポーネントが選択される。例示的な熱因子は、熱センサの測定結果のような、処理コンポーネントの近くでのリアルタイムの熱エネルギー発生を示すデータを含み得る。他の例示的な熱因子は、処理コンポーネントに物理的に近接している熱発生コンポーネントの既知の特性から導出される、予測的データを含み得る。さらに他の例示的な熱因子は、処理コンポーネントに対する、待機中の作業負荷の量を表し得る。
【０００８】
熱因子は、処理コンポーネントの各々に適格性因子を割り当てるために利用される。適格性因子に基づいて、ある処理コンポーネントが作業負荷の配分のために選択される。有利なことに、処理コンポーネントの選択において様々な熱因子を考慮することによって、PCDにおける熱の発生は、QoSに負の影響を与える反応型の熱軽減技法に対する依存を減らせるような方法で、主体的に管理され得る。
【０００９】
図中、別段に規定されていない限り、同様の参照番号は、様々な図の全体を通じて、同様の部分を指す。「102A」または「102B」のような文字指定を伴う参照番号について、文字指定は、同じ図に存在する2つの同様の部分または要素を区別し得る。参照番号の文字指定は、参照番号が、すべての図において同じ参照番号を有するすべての部分を包含することが意図される場合には、省略されることがある。
【図面の簡単な説明】
【００１０】
【図１】熱条件を認識し主体的な負荷操作ポリシーを管理するための方法およびシステムを実施するための、ワイヤレス電話の形態のポータブルコンピューティングデバイス(「PCD」)の、例示的かつ非限定的な態様の機能ブロック図である。
【図２】図1に示されるチップのための、ハードウェアの例示的な空間配置を示す機能ブロック図である。
【図３】図1に示されるチップのためのハードウェアの例示的な空間配置と、図1に示されるチップの外部の例示的なコンポーネントとを示す、機能ブロック図である。
【図４】図2に示された熱ポリシーマネージャ(「TPM」)と、主体的な負荷操作(「PLS」)と、ドライバブロックと、処理コンポーネントと、メモリと、チップのセンサとの間のそれぞれの論理接続を示す機能ブロック図である。
【図５】PCDにおける主体的な負荷操作によって熱発生の閾値をあらかじめ回避するための方法を示す、論理フローチャートである。
【図６】主体的な負荷操作の実施形態ごとに、作業負荷を配分されるべきPCD中の処理コンポーネントを選択するためのサブルーチンを示す、論理フローチャートである。
【発明を実施するための形態】
【００１１】
「例示的な」という言葉は、「例、実例、または例示として機能すること」を意味するために本明細書で使用される。「例示的な」ものとして本明細書で説明されるいずれの態様も、必ずしも他の態様に対して排他的である、他の態様よりも好ましい、または有利であると解釈されるわけではない。
【００１２】
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような、実行可能なコンテンツを有するファイルも含み得る。加えて、本明細書で言及される「アプリケーション」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。
【００１３】
「コンテンツ」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような、実行可能なコンテンツを有するファイルも含み得る。加えて、本明細書で言及されるような「コンテンツ」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルのような、本質的に実行可能ではないファイルを含むこともある。
【００１４】
本明細書で使用される場合、「コンポーネント」、「データベース」、「モジュール」、「システム」、「熱エネルギー発生コンポーネント」、「処理コンポーネント」、「ドライバ」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図されている。たとえば、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例を挙げると、コンピューティングデバイス上で作動しているアプリケーションとコンピューティングデバイスの両方がコンポーネントであり得る。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッド内に存在してよく、1つのコンポーネントは、1つのコンピュータに局在してよく、かつ/または2つ以上のコンピュータに分散してよい。加えて、これらのコンポーネントは、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。コンポーネントは、1つまたは複数のデータパケット(たとえば、信号によって、ローカルシステム、分散システムにおいて別のコンポーネントと対話し、かつ/またはインターネットのようなネットワークにわたって他のシステムと対話する、1つのコンポーネントからのデータ)を有する信号に従うなどして、ローカルプロセスおよび/またはリモートプロセスにより通信することができる。
【００１５】
本明細書では、「通信デバイス」、「ワイヤレスデバイス」、「ワイヤレス電話」、「ワイヤレス通信デバイス」、および「ワイヤレスハンドセット」という用語は交換可能に使用される。第3世代(「3G」)および第4世代(「4G」)のワイヤレス技術が出現したことによって、利用可能な帯域が拡大されたので、より多様なワイヤレス機能を備えたより携帯が容易なコンピューティングデバイスが利用可能になっている。
【００１６】
本明細書では、「中央処理装置(「CPU」)」、「デジタルシグナルプロセッサ(「DSP」)」、および「チップ」という用語は交換可能に使われる。
【００１７】
本明細書では、「熱」および「熱エネルギー」という用語は、「温度」の単位で測定され得るエネルギーを発生させまたは放散することが可能な、デバイスまたはコンポーネントと関連付けられて使用され得ることが理解されるだろう。それゆえ、「温度」という用語は、「熱エネルギー」を発生させるデバイスまたはコンポーネントの、相対的な暖かさまたは熱の欠如を示し得る、何らかの基準値に対する任意の測定値を想定することが、さらに理解されるだろう。たとえば、2つのコンポーネントの「温度」は、2つのコンポーネントが「熱的に」平衡である場合、同じである。
【００１８】
この説明では、「作業負荷」、「処理負荷」、および「処理作業負荷」という用語は交換可能に使用され、全般に、所与の実施形態における所与の処理コンポーネントと関連付けられる、処理の量または処理の量の割合を指す。上で定義されたものに加えて、「処理コンポーネント」、「計算ブロック」または「熱エネルギー発生コンポーネント」は、限定はされないが、中央処理装置、グラフィカル処理装置、コア、メインコア、サブコア、処理領域、ハードウェアエンジンなど、または、ポータブルコンピューティングデバイス内の集積回路内に存在する、もしくはその外部の、任意のコンポーネントであり得る。その上、「熱負荷」、「熱分布」、「熱特徴」、「熱処理負荷」などの用語が、処理コンポーネント上で作動している可能性のある作業負荷の量を示す限り、本開示におけるこれらの「熱的な」用語の使用は、処理負荷の分布、処理の量、および処理の速度に関連し得ることを、当業者は認めるだろう。
【００１９】
本明細書では、「ポータブルコンピューティングデバイス」(「PCD」)という用語は、バッテリーなど限られた容量の電源で動作する任意のデバイスを説明するために使用される。何十年もの間バッテリー駆動のPCDが使用されてきたが、第3世代(「3G」)ワイヤレス技術の出現とともにもたらされた充電式バッテリーの技術的進歩は、複数の機能を有する多数のPCDを可能にした。したがって、PCDは、とりわけ、携帯電話、衛星電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、スマートブックまたはリーダー、タブレットコンピュータ、メディアプレーヤ、上述のデバイスの組合せ、およびワイヤレス接続を有するラップトップコンピュータであってよい。
【００２０】
この説明では、「ドライバ」、「ドライバブロック」、「ドライバコンポーネント」などの用語は、作業負荷を処理するように動作可能なPCD内で、作業負荷を1つまたは複数のコンポーネントに配分し、再配分し、またはそうでなければ分配することができる、PCD内の任意のコンポーネントを指すために交換可能に使用される。したがって、「ドライバ」、「ドライバブロック」、「ドライバコンポーネント」、「作業負荷ドライバ」などは、限定はされないが、グラフィックススケジューラ、オペレーティングシステム(「O/S」)スケジューラなどであり得ることを、当業者は認識するだろう。
【００２１】
通常の状況では、ポータブルコンピューティングデバイス(「PCD」)は、処理コアを全処理能力で動作させることによって、一定数の100万命令毎秒(「MIPS」)を処理することができる。処理するとき、コアはある量の電力を消費する。このことは、関連する量の発生した熱エネルギーの放散を引き起こす。全処理能力で動作する処理コアが発生させる熱エネルギーは、PCDに有害であることも有害でないこともある。その上、動作している処理コアに物理的に近接しているコンポーネントが発生させる熱エネルギーは、機能的にPCDに有害であることもあり、有害でないこともある。しかしながら、発生源に関係なく、放散する必要のある熱エネルギーがPCDに有害である場合、またはPCDに対して致命的である可能性がある場合、処理コアへの作業負荷の量を減らすために、または、コアが動作している電力を下げるために、対策がとられ得る。いずれの場合でも、QoSは低下することになる。
【００２２】
理論的には、完全にバランスのとれたPCDシステム設計は、反応型の熱軽減対策を必要とする熱負荷を発生させることなく作業負荷が分配され得るように、熱的にバランスのとれた性質を自然に示す。そのような理想的な状況では、熱負荷は、結果的にPCD全体で熱的な平衡を維持させる単純な「ラウンドロビン式」配分アルゴリズムを介して効果的に管理され得るので、反応型の熱軽減対策はそれほど頻繁には必要とされない可能性がある。
【００２３】
しかしながら、そのような理想的な状況は現実ではないということを、当業者は証明できる。今日のPCDは、非常に小さな物理的なパッケージの中に、多数の機能を配置している。それゆえ、処理コンポーネントは通常、PCD全体で均一な間隔ではない。逆に、コンポーネントは、空間を見出すことができる所であればどこでも、PCDへと押し込まれていることが多い。さらに、PCD中の一部の処理コンポーネントが他の熱エネルギー発生コンポーネントの近くに配置され、一方で、他の処理コンポーネントが「より低温の」位置に存在することも、避けられない。その上、ユーザの使用パターンおよび処理コンポーネントの仕様などの因子が他の因子と組み合わさり、均一な作業負荷の配分を非現実的にすることが多い。
【００２４】
作業負荷をPCD中のある処理コンポーネントへと誘導するときに、現在の熱因子と予測される熱因子の両方を評価する熱軽減技法は、ユーザ体験を最大化し、熱エネルギーの不必要な発生を回避することができる。特に、有害な可能性のある熱エネルギーの発生を回避できる場合、PCDにおける反応型の熱軽減技法の実施が必要になる頻度は低くなり得る。有利なことに、主体的な熱軽減技法を利用することによって、反応型の軽減技法を必要とする熱条件を従来なら引き起こしていたであろう使用事例において、高いQoSレベルを保つことができる。
【００２５】
主体的な負荷操作技法は、熱負荷の発生をあらかじめ回避すること、または、PCD内において最適な時間および位置に熱負荷が発生するように指示することが可能であり得る。たとえば、例示的な主体的な負荷操作技法は、作業負荷を処理コンポーネントに配分する前に、PCD内で、任意の数の現在の条件および予測される条件を考慮することができる。主体的な負荷操作技法は、作業負荷を配分する前に、限定はされないが、処理コンポーネントの物理的なダイの配置、既知の熱エネルギー発生コンポーネントに対する処理コンポーネントの近接度、チップ上のハードウェアレイアウトに固有の熱的傾向、PCD中の適格な処理コンポーネントの量、リアルタイムの温度測定結果、リアルタイムの作業負荷の量、待機中の作業負荷の量、処理コンポーネントの仕様、PCD中の様々なコンポーネントと関連付けられる履歴データ、ユーザの動作またはパターンに関連する履歴データなどの因子を考慮することができる。
【００２６】
PCDが主体的な負荷操作技法を利用して有害な熱エネルギーの発生を回避しつつ高いレベルのQoSを保ち得る状況の非限定的な例が、航空機に乗っているユーザによって示される。たとえば、PCDのユーザが直前にPCDを「機内モード」にしたとする。当業者が知るように、PCDを「機内モード」にすることは、ユーザが通信を行いまたは受信できないように、信号送信機能を無効にし得るが、それでもユーザはPCDの他の機能を引き続き利用することができる。
【００２７】
例示的な状況に戻ると、電力密度の高いあるサブプロセッサが、PCDの中で、大量の熱エネルギーを放散することで知られている高周波(「RF」)発生器コンポーネントに物理的に近接していることがある。PCDは直前に機内モードにされただけなので、RF発生器コンポーネントは、直前の使用によりまだ熱い可能性がある。ユーザは、作業負荷要求を引き起こす、PCD上でのゲームアプリケーションの実行を開始する可能性がある。その結果、ゲームアプリケーションは最良のユーザ体験のために高い計算効率での処理を必要とするので、PCD中のドライバブロックはデフォルトで、作業負荷要求を電力密度の高いサブプロセッサに割り当てる。
【００２８】
この例では、あるサブプロセッサの周りの領域が熱閾値に近く、それがRF発生器コンポーネントの熱さに起因するものである可能性があるということを、温度測定値が示す。この熱条件が原因で、反応型の熱軽減ポリシーがデフォルトの配分を覆し、電力密度のより低いメインプロセッサへと作業負荷要求を配分するように指示し得る。そのような状況では、ゲームインターフェースの準備におけるユーザ体験が、メインプロセッサのより低速な計算効率が原因で低下し得ることを、当業者は認識するだろう。主体的な負荷操作技法を利用するPCDでは、上記のあるサブプロセッサの近くで測定された現在の温度が軽視されるように、PCDが直前に機内モードにされたという事実が、配分アルゴリズムにおいて重み付けされ得る(weight)。つまり、RF発生器コンポーネントは無効にされたので、RF発生器と関連付けられる熱エネルギーの放散は減少し続けると推測することができ、したがって、主体的な負荷操作技法は、ゲームの作業負荷を上記のあるサブプロセッサに配分することを選択することができる。
【００２９】
上の例は例示のみを目的に与えられ、主体的な負荷操作技法が利用され得る状況の範囲を制限することは意図されず、また制限することはない。その上、上の例は、主体的な負荷操作方法またはシステムの任意の所与の実施形態によって重み付けされ考慮され得る、因子または因子の組合せを限定しない。したがって、主体的な負荷操作方法またはシステムの任意の所与の実施形態は、PCDにおいて処理作業負荷を配分する前に、任意の特定の熱に関連する因子、または因子の組合せを利用することには何ら限定されないことを、当業者は認識するだろう。
【００３０】
図1は、熱条件を認識し主体的な負荷操作ポリシーを管理するための方法およびシステムを実施するための、ワイヤレス電話の形態のPCD 100の、例示的かつ非限定的な態様の機能ブロック図である。いくつかの実施形態ごとに、PCD 100は、命令処理と関連付けられる熱負荷を管理および/または回避するように構成され得る。示されるように、PCD 100は、互いに結合されたマルチコア中央処理装置(「CPU」)110およびアナログシグナルプロセッサ126を含むオンチップシステム102を含む。当業者によって理解されるように、CPU 110は、第0のコア222、第1のコア224、および第Nのコア230を含み得る。さらに、当業者によって理解されるように、CPU 110の代わりに、デジタルシグナルプロセッサ(「DSP」)も利用され得る。
【００３１】
一般に、熱ポリシーマネージャモジュール101は、PCD 100が、熱条件および/または熱負荷を管理し、高水準の機能を維持しつつ、たとえば危機的な温度に達することなどの不都合な熱条件を受けるのを回避するのを助け得る、1つまたは複数の熱軽減技法を含む、熱ポリシーを監視し適用することを担い得る。
【００３２】
図1は、PCD 100が監視モジュール114を含み得ることも示している。監視モジュール114は、オンチップシステム102全体に分布する複数の動作するセンサ(たとえば熱センサ157)およびPCD 100のCPU 110、さらには熱ポリシーマネージャモジュール101と通信する。以下でより詳しく説明されるように、熱ポリシーマネージャモジュール101は、監視モジュール114および主体的な負荷操作(「PLS」)モジュール109とともに動作して、不都合な熱条件を識別し、1つまたは複数の熱軽減技法を含む熱ポリシーを適用することができる。
【００３３】
図1に示されるように、ディスプレイコントローラ128およびタッチスクリーンコントローラ130が、デジタルシグナルプロセッサ110に結合される。オンチップシステム102の外部にあるタッチスクリーンディスプレイ132が、ディスプレイコントローラ128およびタッチスクリーンコントローラ130に結合される。
【００３４】
PCD 100はさらに、ビデオエンコーダ134、たとえば位相反転線(「PAL」)エンコーダ、順次式カラーメモリ(「SECAM」)エンコーダ、全国テレビジョン方式委員会(「NTSC」)エンコーダ、または任意の他のタイプのビデオエンコーダ134を含み得る。ビデオエンコーダ134は、マルチコア中央処理装置(「CPU」)110に結合される。ビデオ増幅器136が、ビデオエンコーダ134およびタッチスクリーンディスプレイ132に結合される。ビデオポート138が、ビデオ増幅器136に結合される。図1に示されるように、ユニバーサルシリアルバス(「USB」)コントローラ140がCPU 110に結合される。また、USBポート142がUSBコントローラ140に結合される。メモリ112および加入者識別モジュール(SIM)カード146も、CPU 110に結合され得る。さらに、図1に示されるように、デジタルカメラ148がCPU 110に結合され得る。例示的な態様では、デジタルカメラ148は、電荷結合デバイス(「CCD」)カメラまたは相補型金属酸化膜半導体(「CMOS」)カメラである。
【００３５】
図1にさらに示されるように、ステレオオーディオコーデック150が、アナログシグナルプロセッサ126に結合され得る。さらに、オーディオ増幅器152が、ステレオオーディオコーデック150に結合され得る。例示的な態様では、第1のステレオスピーカー154および第2のステレオスピーカー156が、オーディオ増幅器152に結合される。図1は、マイクロフォン増幅器158もステレオオーディオコーデック150に結合され得ることを示している。加えて、マイクロフォン160が、マイクロフォン増幅器158に結合され得る。特定の態様では、周波数変調(「FM」)無線チューナー162がステレオオーディオコーデック150に結合され得る。また、FMアンテナ164がFM無線チューナー162に結合される。さらに、ステレオヘッドフォン166がステレオオーディオコーデック150に結合され得る。
【００３６】
図1は、高周波(「RF」)送受信機168がアナログシグナルプロセッサ126に結合され得ることをさらに示している。RFスイッチ170が、RF送受信機168およびRFアンテナ172に結合され得る。図1に示されるように、キーパッド174がアナログシグナルプロセッサ126に結合され得る。また、マイクロフォンを備えたモノヘッドセット176がアナログシグナルプロセッサ126に結合され得る。さらに、バイブレータデバイス178が、アナログシグナルプロセッサ126に結合され得る。図1は、たとえばバッテリーなどの電源108が、オンチップシステム102に結合されることも示している。ある特定の態様では、電源は、充電式DCバッテリー、または交流(「AC」)電源に接続されたAC-DC変換器から導かれるDC電源を含む。
【００３７】
CPU 110は、1つまたは複数の内部のオンチップ熱センサ157A、さらには、1つまたは複数の外部のオフチップ熱センサ157Bにも結合され得る。オンチップ熱センサ157Aは、垂直のPNP構造に基づき通常は相補型金属酸化膜半導体(「CMOS」)超大規模集積(「VLSI」)回路に専用である、絶対温度に比例する(「PTAT」)1つまたは複数の温度センサを含み得る。オフチップ熱センサ157Bは、1つまたは複数のサーミスタを含み得る。熱センサ157は、アナログデジタルコンバータ(「ADC」)コントローラ103(図2参照)によってデジタル信号に変換される、電圧降下を発生させ得る。しかしながら、本発明の範囲から逸脱することなく、他のタイプの熱センサ157が利用され得る。
【００３８】
熱センサ157は、ADCコントローラ103により制御され監視されるのに加えて、1つまたは複数の熱ポリシーマネージャモジュール101および/またはPLSモジュール109によっても制御され監視され得る。熱ポリシーマネージャモジュール101は、CPU 110によって実行されるソフトウェアを含み得る。しかしながら、本開示の範囲から逸脱することなく、熱ポリシーマネージャモジュール101はまた、ハードウェアおよび/またはファームウェアから形成されてもよい。熱ポリシーマネージャモジュール101は、PCD 100が、高水準の機能を維持しつつ、危機的な温度に達することを回避するのを助け得る、1つまたは複数の熱軽減技法を含む、熱ポリシーを監視し適用することを担い得る。同様に、PLSモジュール109は、CPU 110によって実行されるソフトウェアを含み得る。しかしながら、本開示の範囲から逸脱することなく、PLSモジュール109はまた、ハードウェアおよび/またはファームウェアから形成されてもよい。PLSモジュール109は、ドライバブロック207およびセンサ157と協力して動作し、PCD 100が高水準の機能を維持しつつ危機的な温度に達することを回避するのを助け得る1つまたは複数の熱軽減技法を含む、熱ポリシーを適用することを担い得る。
【００３９】
図1は、PCD 100が監視モジュール114を含み得ることも示している。監視モジュール114は、オンチップシステム102全体に分布する複数の動作するセンサおよびPCD 100のCPU 110、さらには熱ポリシーマネージャモジュール101およびPLSモジュール109と通信する。以下でより詳しく説明されるように、モジュール101、109のいずれかまたは両方が、監視モジュールとともに動作して、1つまたは複数の熱軽減技法を含む熱ポリシーを適用することができる。
【００４０】
図1はさらに、タッチスクリーンディスプレイ132、ビデオポート138、USBポート142、カメラ148、第1のステレオスピーカー154、第2のステレオスピーカー156、マイクロフォン160、FMアンテナ164、ステレオヘッドフォン166、RFスイッチ170、RFアンテナ172、キーパッド174、モノヘッドセット176、バイブレータ178、熱センサ157B、電源108、および熱エネルギー107の様々な源が、オンチップシステム102の外部にあることを示す。しかし、監視モジュール114は、PCD 100において動作可能なリソースのリアルタイムの管理を援助するために、アナログシグナルプロセッサ126およびCPU 110によって、これらの外部デバイスのうちの1つまたは複数から1つまたは複数の指示または信号を受信することもできることを理解されたい。
【００４１】
ある特定の態様では、本明細書で説明される方法ステップのうちの1つまたは複数は、1つまたは複数の熱ポリシーマネージャモジュール101および/または主体的な負荷操作モジュール109を形成する、メモリ112に記憶された実行可能命令およびパラメータによって実施され得る。モジュールを形成するこれらの命令は、本明細書で説明される方法を実行するために、ADCコントローラ103に加えて、CPU 110、アナログシグナルプロセッサ126、または別のプロセッサによって実行され得る。さらに、プロセッサ110、126、メモリ112、メモリ112に記憶された命令、またはそれらの組合せは、本明細書で説明された方法ステップのうちの1つまたは複数を実行するための手段として機能し得る。
【００４２】
図2は、図1に示されるチップ102のための、ハードウェアの例示的な空間配置を示す機能ブロック図である。この例示的な実施形態によれば、アプリケーションCPU 110がチップ102の遠く左側の領域に配置され、一方モデムCPU 168、126がチップ102の遠く右側の領域に配置される。アプリケーションCPU 110は、第0のコア222、第1のコア224、および第Nのコア230を含む、マルチコアプロセッサを含み得る。アプリケーションCPU 110は、(ソフトウェアで具現化される場合)熱ポリシーマネージャモジュール101Aおよび/または主体的な負荷操作モジュール109Aを実行していてよく、または、(ハードウェアで具現化される場合)熱ポリシーマネージャモジュール101Aおよび/または主体的な負荷操作モジュール109Aを含んでよい。アプリケーションCPU 110は、オペレーティングシステム(「O/S」)モジュール207Aおよび監視モジュール114を含むように、さらに示される。
【００４３】
アプリケーションCPU 110は、アプリケーションCPU 110に隣接して配置されチップ102の左側の領域にある、1つまたは複数の位相ロックループ(「PLL」)209A、209Bに結合され得る。PLL 209A、209Bの隣、またアプリケーションCPU 110の下には、アナログデジタル(「ADC」)コントローラ103があってもよく、このADCコントローラ103は、アプリケーションCPU 110の主要なモジュール101A、109Aとともに動作する固有の熱ポリシーマネージャ101Bおよび/または主体的な負荷操作モジュール109Bを含み得る。
【００４４】
ADCコントローラ103のモジュール101B、109Bは、「チップ102上」および「チップ102外」に設けられ得る複数の熱センサ157を監視し追跡することを担い得る。チップ上の熱センサまたは内部熱センサ157Aは、様々な位置に配置され得る。
【００４５】
たとえば、第1の内部熱センサ157A1は、アプリケーションCPU 110とモデムCPU 168、126との間に、かつ内部メモリ112に隣接して、チップ102の上部の中心領域に配置され得る。第2の内部熱センサ157A2は、モデムCPU 168、126の下の、チップ102の右側領域に配置され得る。この第2の内部熱センサ157A2はまた、進化した縮小命令セットコンピュータ(「RISC」)命令セットマシン(「ARM」) 177と第1のグラフィックプロセッサ135Aとの間にも配置され得る。デジタルアナログコントローラ(「DAC」)173は、第2の内部熱センサ157A2とモデムCPU 168、126との間に配置され得る。
【００４６】
第3の内部熱センサ157A3は、第2のグラフィックプロセッサ135Bと第3のグラフィックプロセッサ135Cとの間の、チップ102の遠く右側の領域に配置され得る。第4の内部熱センサ157A4は、チップ102の遠く右側の領域に、かつ第4のグラフィックプロセッサ135Dの下に配置され得る。第5の内部熱センサ157A5は、チップ102の遠く左側の領域に、かつPLL 209およびADCコントローラ103に隣接して配置され得る。
【００４７】
1つまたは複数の外部熱センサ157Bも、ADCコントローラ103に結合され得る。第1の外部熱センサ157B1は、チップの外部に、かつ、モデムCPU 168、126、ARM 177、およびDAC 173を含み得るチップ102の右上4分の1の領域に隣接して配置され得る。第2の外部熱センサ157B2は、チップの外部に、かつ、第3のグラフィックプロセッサ135Cおよび第4のグラフィックプロセッサ135Dを含み得るチップ102の右下4分の1の領域に隣接して配置され得る。第3の外部熱センサ157B3は、チップの外側に、かつ、例示的な電力管理集積回路(「PMIC」)107Aのような外部の熱エネルギー源107に隣接して配置され得る。
【００４８】
図2に示されるハードウェアの様々な他の空間配置が、本開示の範囲から逸脱することなく実現され得ることを、当業者は認識するだろう。図2は、さらなる1つの例示的な空間配置を示し、図2に示される例示的な空間配置により決まる熱条件を、主要なモジュール101A、109Aと、モジュール101B、109Bを有するADCコントローラ103とがどのように管理できるかを示す。
【００４９】
図3は、本明細書で説明される主体的な負荷操作技法のような様々な熱軽減技法の適用により恩恵を受け得る、特定用途向け集積回路(「ASIC」)102の例示的な平面図300を示す。図3の例示では、モデムコンポーネント310およびエンコーダコンポーネント315が、ASIC 102上に存在し得る例示的なPCDコンポーネントを表すために含まれる。CPUバンク110Aの分散した処理コアは、RF発生器168Aとともに、ASIC 102上で熱エネルギーを発生させる主要なコンポーネントを表す。たとえば、電力管理集積回路(「PMIC」)107Aは、ASIC 102上に存在せず、CPU 110Aの処理コア0および1の近く(305)にあるものとして表される。
【００５０】
PMIC 107A、さらにはPCD 100内に存在する他のコンポーネントは、処理コア0および1のすぐ近く(305)に配置されることがあり、これによって、コンポーネントから放散された熱エネルギーがコアを通って伝搬するとき平均動作温度が高くなるために処理コアの中で偏りが発生する。処理コアの温度に対するこれらの近接したコンポーネントの不都合な影響は、様々なPCD 100の構成および/または使用事例において予測可能であり得ることを、当業者は認識するだろう。したがって、主体的な負荷操作アルゴリズムの利点は、PCD 100の中の非計算コンポーネントによって実行されたタスク、または実行されるのを待機しているタスクに起因する熱因子を重み付けできるということであることも、当業者は認識するだろう。熱因子および他の条件を重み付けすることによって、反応型の熱軽減技法を必要とするレベルまで熱エネルギーを発生させるのを防止するように、作業負荷がプロセッサに配分され得る。
【００５１】
たとえば、PCD 100内の物理的な空間が限られていることで、PMIC 107Aが、ASIC 102のすぐ背後に、かつ近接して存在することがある。したがって、PMIC 107A、または他の外部の熱発生コンポーネントから放散された熱エネルギーは、CPU 110A内のコア0と1のいずれかの上のセンサ157から読み取られた温度測定値に悪影響を与え得ることを、当業者は認識するだろう。主体的な負荷操作の実施形態の非限定的な適用例として、熱ポリシーマネージャ101Aは、PMIC 107Aによってコア0および1が熱閾値に近づいたということを、センサ157Aから認識することができる。したがって、熱放散の継続的な上昇を抑制するために、コアに与えられる処理能力を低減するように、反応型の熱軽減技法が指示することができる。しかしながら、作業負荷要求をコア2および3に配分する代わりに、主体的な負荷操作モジュール109Aは、電源108が満充電に達したことを確認することによって、近隣305で測定された温度を軽視することができる。特に、電源108の充電レベルが満充電であると確認されたので、PLSモジュール109Aは、PMIC 107Aが発生させ、TPMモジュール101Aによって受け取られる温度測定値に反映される熱エネルギーは、継続せずに減少し始めると推測することが可能であり得る。したがって、近隣305の現在の熱条件にもかかわらず、コア0および1に特に適した作業負荷要求をコア0および1に配分するように、PLSモジュール109Aがドライバブロック207Aに指示する程度にまで、TPMモジュール101Aによって監視される温度は軽視され得る。有利なことに、近隣305の温度は低下するであろうとPLSモジュール109Aが推測することが可能であったので、従来であれば近隣305のリアルタイムの温度測定値に基づいてコア0および1の処理能力を低下させていたであろう、反応型の熱軽減技法を回避することができ、QoSは最大化される。
【００５２】
例示的な平面図300の状況における主体的な負荷操作の実施形態の別の非限定的な例として、コア3は、RF発生器168Aによって放散される過剰な熱エネルギーが原因で、作業の配分を減らされていることがある。TPMモジュール101Aは、コア3の処理能力を下げる反応型の熱軽減技法を適用することによって、熱条件に対処することができる。したがって、コア3は、処理を遅くして、RF発生器168Aによる熱エネルギーの継続的な放散にもかかわらず冷え始める。続いて、PLSモジュール109Aは、低い電力周波数で動作するコア3がある長さの時間である温度まで冷えるであろうことを示すデータを利用した後、コア3が低い電力周波数で動作している場合であっても、以後の作業負荷をコア3に対する待ち行列に入れるようにドライバブロック207Aに指示することができる。
【００５３】
すぐ上で説明された主体的な負荷操作の実施形態の非限定的な例の変形として、コア3は、RF発生器168Aによって放散される過剰な熱エネルギーが原因で、作業の配分を減らされていることがある。TPMモジュール101Aは、コア3の処理能力を下げる反応型の熱軽減技法を適用することによって、熱条件に対処することができる。したがって、コア3は、処理を遅くして、RF発生器168Aによる熱エネルギーの継続的な放散にもかかわらず冷え始める。続いて、PLSモジュール109Aは、低い電力周波数で動作するコア3がある長さの時間である温度まで冷えるであろうことを示すデータを利用した後、コアの降格された状態の解除を指示することができる。
【００５４】
例示的な平面図300の状況における主体的な負荷操作の実施形態の別の非限定的な例は、RF発生器168Aが熱エネルギーの急騰を突然発生させるという履歴上の傾向を有する状況を含む。または、この例を進めると、RF発生器168Aは、ユーザの使用パターンに起因する可能性がある、ある期間において熱エネルギー発生が急騰するという履歴上の傾向を有し得る。そのような状況では、有害な熱条件をもたらし得る、RF発生器168Aおよびコア3による熱エネルギー発生の衝突を回避するために、主体的な負荷操作モジュール109Aは、予測的な情報を利用して、上記のある期間では短い計算負荷のみをコア3に配分するように、ドライバブロック207Aに指示することができる。
【００５５】
図4は、熱ポリシーマネージャ(「TPM」)101と、主体的な負荷操作(「PLS」)モジュール109と、ドライバブロック207と、処理コンポーネント110と、メモリ112と、図2に示されるチップのセンサ157との間のそれぞれの論理接続を示す機能ブロック図400である。TPM 101は、監視モジュール114(図4には示されない)のような中間のコンポーネントを介して温度センサ157と通信していてよいが、そのような構成は、すべての実施形態に対して必要な態様ではない。同様に、PLSモジュール109はまた、直接、または中間のコンポーネントを介して、温度センサ157と通信していてよい。
【００５６】
TPM 101は、反応型の熱軽減技法の適用を許可する熱エネルギー条件を示し得る入力を、温度センサ157から受け取る。1つの例示的な実施形態では、CPU 110の電力周波数が、CPU 110による有効電力の現在の消費速度を軽減し得るレベルまで下がるように、CPU 110のコアは「クロッキングされる」べきであると、TPM 101は判定することができる。TPM 101によって決定されるような、提案された下げられた電力周波数は、CPU 110に与えられる前に、PLSモジュール109に転送され得る。
【００５７】
CPU 110の周波数を下げるためにTPM 101から命令を受け取ると、PLSモジュール109は、履歴データについてメモリ112に問い合わせ、センサ157からの温度測定値を検証し、かつ/またはチップ102と関連付けられる他の熱因子を考慮することができる。PLSモジュール109は次いで、TPM 101の命令を覆すかどうか、TPM 101の命令を修正するかどうか、またはTPM 101の命令を適用するかどうかを判定する前に、因子を重み付けすることができる。あるいは、いくつかの実施形態では、PLSモジュール109は、TPM 101によって指示される熱軽減技法のフィルタまたは「調整器」として動作しなくてよく、むしろ単に、TPM 101によって適用される反応型の対策を含む熱因子に基づいて作業負荷を配分するように、ドライバブロック207に指示してよい。PLSモジュールによる熱をあらかじめ回避する技法の実装形態に関するさらなる詳細が、図5および図6に関して以下で論じられる。
【００５８】
図5は、PCD 100における主体的な負荷操作によって熱発生の閾値をあらかじめ回避するための方法500を示す、論理フローチャートである。ブロック505において、作業負荷を処理するための要求が受け取られる。続いて、ブロック510から530において、主体的な負荷操作モジュール109は、作業負荷にサービスする処理コンポーネントの選択において重み付けされることになる、PCD 100内の任意の数の熱因子を決定または考慮することができる。より具体的には、ブロック510において、PLSモジュール109は、PCD 100内の様々な処理コンポーネントに配分される現在の処理負荷を決定することができる。特に、現在の処理負荷は、限定はされないが、以前に配分された処理タスクを表す履歴データを問い合わせること、処理コンポーネントと関連付けられる電力周波数または電流を検証すること、および、様々なプロセッサに近接した熱センサを監視することを含む、任意の数の方法によって決定または推測され得る(ブロック515)。
【００５９】
ブロック520において、現在の作業負荷の配分が、有害な熱条件を生み出す程度にまでプロセッサに対して過負荷とならないように、今後の作業負荷または待機中の作業負荷を表すデータが、考慮され重み付けされ得る。ブロック525において、チップ102の内部または外部の他の熱エネルギー発生コンポーネントと関連付けられる予測的なデータが、そのようなコンポーネントと関連付けられる現在の温度測定値を重み付けするために考慮され得る。たとえば、コア222の近くの比較的「冷たい」RF発生器168が、主体的な負荷操作アルゴリズムにおいて重み付けされて、RF発生器168が熱エネルギー発生を急騰させ得るということを示すことができる。
【００６０】
有利なことに、RF発生器168と関連付けられる因子を重み付けすることによって、たとえば、PLSモジュール109は、長い複雑な作業負荷は異なるコア224に配分されるべきであると判定することができ、これによって、RF発生器168からの熱エネルギーの急騰によりコア222が作業負荷の処理の間に過熱するという状況、すなわち熱閾値に到達する確率が下がる。
【００６１】
ブロック525と同様に、ブロック530において、PCD 100内の他のオンチップコンポーネントおよびオフチップコンポーネントに対する処理コアの近接度に基づいて、作業負荷を配分することについての処理コンポーネントの適格性を重み付けするために、チップ102の物理的な構成が考慮され得る。
【００６２】
ブロック535において、サブルーチンが主体的な負荷操作アルゴリズムを実行することができ、この負荷操作アルゴリズムは、決定された熱因子の1つまたは複数を考慮して、作業負荷の配分のために処理コンポーネントを選択する。選択されると、ブロック540において、PLSモジュール109は、要求された作業負荷を選択された処理コンポーネントに配分するように、ドライバブロック207に指示することができる。さらに、いくつかの実施形態では、選択された処理コンポーネントへの作業負荷の配分によって、ブロック545において、待機中の作業負荷を表す履歴データが、今後の主体的な負荷操作のルーチンによる考慮のために更新され得る。
【００６３】
図6は、主体的な負荷操作の実施形態ごとに、作業負荷を配分されるべきPCD 100中の処
理コンポーネントを選択するためのサブルーチン535を示す、論理フローチャートである。ブロック605において、ブロック510〜530において決定され考慮される熱因子が重み付けされ、適格性因子がPCD 100の中の各処理コンポーネントに割り当てられる。判定ブロック610において、適格性因子に基づいて、いくつかの処理コンポーネントは作業負荷の配分に適していないと判定され得る。たとえば、適格性因子は、所与の処理コンポーネントは追加の作業負荷を配分されるべきではないことを示し得る。つまり、主体的な負荷操作技法のいくつかの実施形態では、熱因子の「下限」は、熱因子がその下限未満である処理コンポーネントが配分のために考慮されないように設定され得る。いくつかの処理コンポーネントが作業負荷の配分に不適格であると判定されると、ブロック615において、そのような処理コンポーネントは考慮から除外され得る。
【００６４】
ブロック610において、すべての処理コンポーネントが考慮に適格である場合、ブロック620において、1つまたは複数の処理コンポーネントが作業負荷の配分のために選択されてよく、この選択は、重み付けされた実際の熱因子および予測的な熱因子に基づく。ブロック620において選択されると、方法は図5のブロック540に戻る。
【００６５】
特に、主体的な負荷操作技法に基づいて処理コンポーネントを選択することによって、従来のスケジューリングアルゴリズムを使用した場合には選択されなかったであろう処理コンポーネントに作業負荷を配分することができることを、当業者は認識するだろう。有利なことに、予測的な負荷操作アルゴリズムは、PCD 100上の処理コンポーネントと関連付けられる、過去の、現在の、および今後の熱因子を考慮するので、QoSに負の影響を与え得る反応型の熱軽減技法を実施する必要性が少なくなるように、PCD 100の全体的な熱の軌跡が管理され得る。
【００６６】
本発明が説明通りに機能するように、本明細書で説明された処理または処理の流れの特定のステップが他のステップよりも前に行われるのは当然である。しかしながら、ステップの順序または手順によって本発明の機能が変わることがない場合、本発明は説明されたステップの順序に限定されない。つまり、本発明の範囲および趣旨から逸脱することなく、あるステップを他のステップの前に実行しても、後に実行してもよく、または他のステップと並行して(実質的に同時に)実行してもよいことを認識されたい。いくつかの事例では、あるステップが、本発明から逸脱することなく、省略されてもよく、または実行されなくてもよい。さらに、「その後」、「次いで」、「次に」、「続いて」などの語は、ステップの順序を限定することを意図していない。これらの語は、単に例示的な方法の説明を通じて読者を導くために使用されている。
【００６７】
加えて、プログラミングの当業者は、たとえば本明細書のフローチャートおよび関連する説明に基づいて、コンピュータコードを書き、または適切なハードウェアおよび/もしくは回路を特定し、開示された発明を容易に実施することができる。したがって、特定の1組のプログラムコード命令または詳細なハードウェアデバイスの開示が、本発明をどのように製作し使用すべきかについて適切に理解するうえで必要であるとはみなされない。特許請求されるコンピュータで実施される処理の発明性のある機能は、上の説明において、かつ、様々な処理の流れを示し得る図面とともに、より詳細に説明される。
【００６８】
1つまたは複数の例示的な態様では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶され、またはコンピュータ可読媒体上で送信され得る。
【００６９】
この文書の文脈では、コンピュータ可読媒体は、コンピュータ関連のシステムもしくは方法によって、またはそれと関連して使用するために、コンピュータプログラムおよびデータを格納または記憶することができる、電子式、磁気式、光学式、もしくは他の物理デバイスまたは手段である。様々な論理素子およびデータストアは、たとえばコンピュータベースのシステム、プロセッサを含むシステム、または命令実行システム、装置、もしくはデバイスから命令をフェッチし、命令を実行することができる他のシステムのような、命令実行システム、装置、もしくはデバイスによって、またはそれと関連して使用するために、任意のコンピュータ可読媒体に組み込まれ得る。この文書の文脈では、「コンピュータ可読媒体」は、命令実行システム、装置、もしくはデバイスによって、またはそれと関連して使用するためのプログラムを記憶、通信、伝搬、または伝送することができる任意の手段を含み得る。
【００７０】
コンピュータ可読媒体は、限定はされないがたとえば、電子式、磁気式、光学式、電磁式、赤外線式、もしくは半導体の、システム、装置、デバイス、または伝搬媒体であってよい。コンピュータ可読媒体のより具体的な例(非網羅的なリスト)には、1つまたは複数の配線を有する電気的接続(電子式)、ポータブルコンピュータディスケット(磁気式)、ランダムアクセスメモリ(RAM)(電子式)、読取り専用メモリ(ROM)(電子式)、消去可能プログラマブル読取り専用メモリ(EPROM、EEPROM、またはフラッシュメモリ)(電子式)、光ファイバー(光学式)、および携帯式コンパクトディスク読取り専用メモリ(CD-ROM)(光学式)が含まれよう。プログラムは、たとえば紙または他の媒体の光学走査を介して、電子的に記録され、次いで、コンパイルされ、解釈され、または場合によっては、必要に応じて好適な方法で処理され、次いでコンピュータメモリに記憶され得るので、コンピュータ可読媒体は、プログラムが印刷される紙または別の適切な媒体でさえあり得ることに留意されたい。
【００７１】
コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、任意の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。
【００７２】
また、任意の接続をコンピュータ通信媒体と呼ぶのが妥当である。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(「DSL」)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【００７３】
本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(「CD」)、レーザディスク、光ディスク、デジタル多用途ディスク(「DVD」)、フレキシブルディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【００７４】
したがって、選択された態様が詳細に示され説明されたが、以下の特許請求の範囲によって定義されるような本発明の趣旨および範囲から逸脱することなく、各態様において様々な置換および改変を実施できることが理解されよう。
【符号の説明】
【００７５】
100  PCD
101  熱ポリシーマネージャモジュール
102  特定用途向け集積回路、ASIC、オンチップシステム
107  熱エネルギー
108  電源
109  主体的な負荷操作モジュール
110  マルチコア中央処理装置
112  メモリ
157  熱センサ、センサ
168  高周波送受信機
207  ドライバブロック
310  モデムコンポーネント
315  エンコーダコンポーネント
【図３】
0005808488.tif 000002
【図４】
0005808488.tif 000003
【図５】
0005808488.tif 000004
【図６】
0005808488.tif 000005
【図１】
0005808488.tif 000006
【図２】
0005808488.tif 000007