(57)【要約】【課題】パフォーマンスの低下を抑えながら、半導体装置の温度上昇を抑制すること。【解決手段】ＤＴＳ２０１Ｂが温度Ｔ1を測定し、制御部２０１Ｃが温度Ｔ1が閾温度より高いと判断した場合に、半導体回路２０２に測定温度Ｔ1を送信する。ＤＴＳ２０２Ｂが温度Ｔ2を計測する。制御部２０２Ｃは、温度Ｔ1が前記温度Ｔ2より高いと判断した場合に、第２プロセッサ回路２０２Ａの動作速度を低下させる。【選択図】      図２
2008276568.tif 000002
【特許請求の範囲】
【請求項１】
第１のプロセッサ回路を有する第１の半導体回路と、第２のプロセッサ回路を有する第２の半導体回路とを具備する情報処理装置であって、
前記第１の半導体回路に設けられ、前記第１の半導体回路の温度を測定する第１の温度測定部と、
前記第２の半導体回路に設けられ、前記第２の半導体回路の温度を測定する第２の温度測定部と、
前記第１の半導体回路および前記第２の半導体回路のそれぞれに設けられ、前記第１の温度測定部および第２の温度測定部のいずれか一方により測定された第１の測定温度が閾温度より高い場合に他方の半導体回路に前記測定温度を送信する温度送信部と、
前記第１の半導体回路および前記第２の半導体回路のそれぞれに設けられ、前記温度送信部により送信された前記第１の測定温度を前記他方の半導体回路が受信した場合に、前記第１の測定温度を受信した前記他方の半導体回路に設けられる温度測定部により測定される第２の測定温度とを比較する温度比較部と、
前記第１の半導体回路および前記第２の半導体回路のそれぞれに設けられ、前記受信した第１の測定温度が前記第２の測定温度より高い場合に、前記第１の測定温度が測定された半導体回路の有するプロセッサ回路の動作速度を低下させるための動作速度可変部とを具備することを特徴とする情報処理装置。
【請求項２】
前記第１および第２の半導体回路のそれぞれに設けられたプロセッサ回路との通信を第１バスを介して行うブリッジ回路を更に具備し、
前記測定温度の送信は、前記第１および第２の半導体回路間を接続する第２バスを介して行われることを特徴とする請求項１記載の情報処理装置。
【請求項３】
第３のプロセッサ回路を有する第３の半導体回路を備え、
前記温度送信部は、前記第１の半導体回路または前記第２の半導体回路のいずれかに前記測定温度を送信し、前記測定温度が送信された半導体回路が動作速度を低下することが出来ない場合に、前記第３の半導体回路に前記測定温度を送信することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記温度送信部は、前記測定温度を送信する半導体回路との距離が近い半導体回路から順に前記測定温度を送信することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記動作速度可変部は、前記プロセッサ回路のクロック周波数を低下させることを特徴とする請求項１記載の情報処理装置。
【請求項６】
第１プロセッサ回路を有する前記第１半導体回路に設けられた第１温度計測部が温度Ｔ1を測定し、
前記温度Ｔ1が閾温度より高い場合に、第２プロセッサ回路を有する第２半導体回路に測定温度Ｔ1を送信し、
前記第２半導体回路に設けられた第２温度計測部が温度Ｔ2を計測し、
前記温度Ｔ1が前記温度Ｔ2より高い場合に、前記第２プロセッサ回路の動作速度を低下させることを特徴とするプロセッサ回路の制御方法。
【請求項７】
第１プロセッサ回路および第２プロセッサ回路とブリッジ回路との通信が第１バスを介して行い、
前記温度Ｔ1の送信は、前記複数の半導体回路間を接続する第２バスを介して行われることを特徴とする請求項６記載のプロセッサ回路の制御方法。
【請求項８】
前記温度Ｔ1が前記温度Ｔ2より低い場合、第３プロセッサ回路を有する第３半導体回路に測定温度Ｔ1を送信し、
前記第３半導体回路に設けられた第３温度計測部が温度Ｔ3を計測し、
前記温度Ｔ1が前記温度Ｔ3より高い場合に、前記第３プロセッサ回路の動作速度を低下させることを特徴とする請求項６記載のプロセッサ回路の制御方法。
【請求項９】
前記第１半導体回路は、前記第１半導体回路から距離が近い半導体回路から順に温度を送信するする請求項８記載のプロセッサ回路の制御方法。
【請求項１０】
前記第２プロセッサ回路の動作速度を低下させるために、前記第２プロセッサ回路に供給されるクロック周波数を低下させることを特徴とする請求項６記載のプロセッサ回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、およびプロセッサ回路の制御方法に関する。
【背景技術】
【０００２】
現在、半導体装置の製造装置の発展により、一つの半導体装置内に複数のプロセッサ回路を設けることが可能になっている。
【０００３】
現在の半導体装置は、温度上昇が問題となっている。半導体装置の温度が高くなると、動作不良を起こしたり、最悪壊れたりする。そこで、半導体装置の温度上昇を抑えることが必要になる。
【０００４】
プロセッサの内部に設けられた複数の処理ブロックの遷移可能な並列利用度と遷移可能な動作周波数の組合せによる複数の動作ポイントを、前記並列利用度に対する動作ポイントの候補が登録されているテーブルを参照して切り替えるプロセッサの制御方法が開示されている（特許文献１）。
【特許文献１】特開２００６−１１５４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記した技術は、あらかじめ設定されたプロセッサごとの処理テーブルを持っており、計画的にタスクを割り振り、温度制御を行うが、これを実現するにはユーザアプリケーションもそれを考慮した設計にしなければならない。現在、多数のユーザアプリケーションが有り、現在使用されているユーザアプリケーションを再設計することは困難である。
【０００６】
本発明の目的は、ユーザアプリケーションを再設計することなく、パフォーマンスの低下を抑えながら、半導体装置の温度上昇を抑制することが可能な情報処理装置、およびプロセッサの制御方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一例に係わる情報処理装置は、第１のプロセッサ回路を有する第１の半導体回路と、第２のプロセッサ回路を有する第２の半導体回路とを具備する情報処理装置であって、前記第１の半導体回路に設けられ、前記第１の半導体回路の温度を測定する第１の温度測定部と、前記第２の半導体回路に設けられ、前記第２の半導体回路の温度を測定する第２の温度測定部と、前記第１の半導体回路および前記第２の半導体回路のそれぞれに設けられ、前記第１の温度測定部および第２の温度測定部のいずれか一方により測定された第１の測定温度が閾温度より高い場合に他方の半導体回路に前記測定温度を送信する温度送信部と、前記第１の半導体回路および前記第２の半導体回路のそれぞれに設けられ、前記温度送信部により送信された前記第１の測定温度を前記他方の半導体回路が受信した場合に、前記第１の測定温度を受信した前記他方の半導体回路に設けられる温度測定部により測定される第２の測定温度とを比較する温度比較部と、前記第１の半導体回路および前記第２の半導体回路のそれぞれに設けられ、前記受信した第１の測定温度が前記第２の測定温度より高い場合に、前記第１の測定温度が測定された半導体回路の有するプロセッサ回路の動作速度を低下させるための動作速度可変部とを具備することを特徴とする。
【０００８】
本発明の別の一例に係わるプロセッサ回路の制御方法は、第１プロセッサ回路を有する前記第１半導体回路に設けられた第１温度計測部が温度Ｔ1を測定し、前記温度Ｔ1が閾温度より高い場合に、第２プロセッサ回路を有する第２半導体回路に測定温度Ｔ1を送信し、前記第２半導体回路に設けられた第２温度計測部が温度Ｔ2を計測し、前記温度Ｔ1が前記温度Ｔ2より高い場合に、前記第２プロセッサ回路の動作速度を低下させることを特徴とする。
【発明の効果】
【０００９】
ユーザアプリケーションを再設計することなく、パフォーマンスの低下を抑えながら、半導体装置の温度上昇を抑制することが可能になる。
【発明を実施するための最良の形態】
【００１０】
本発明の実施の形態を以下に図面を参照して説明する。
【００１１】
まず、図１を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、バッテリ駆動可能な携帯型のノートブック型パーソナルコンピュータ１０として実現されている。図１は、パーソナルコンピュータ１０のシステム構成の例を示すブロック図である。
【００１２】
本コンピュータ１０は、図１に示されているように、プロセッサ群２００、ノースブリッジ１１２、主メモリ１１３、グラフィクスコントローラ１１４、サウスブリッジ１１９、ＢＩＯＳ−ＲＯＭ１２０、ハードディスクドライブ（ＨＤＤ）１２１、光ディスクドライブ（ＯＤＤ）１２２、およびエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４等を備えている。
【００１３】
プロセッサ群２００は、本コンピュータ１０の動作を制御するために設けられたプロセッサであり、ハードディスクドライブ（ＨＤＤ）１２１から主メモリ１１３にロードされる、オペレーティングシステム（ＯＳ）および各種アプリケーションプログラムを実行する。ＯＳは、複数のウィンドウを表示画面上に表示するためのウィンドウシステムを有している。本実施形態では、プロセッサ群２００は、四つのプロセッサ回路２０１〜２０４を有する。そして、各プロセッサ回路２０１〜２０４間は、ノースブリッジ１１２とプロセッサ回路２０１〜２０４とを接続するバスとは独立な、温度管理用シリアルバス２０５で接続されている。そして、温度管理用シリアルバス２０５を介して各プロセッサ回路２０１〜２０４間で通信を行う。
【００１４】
プロセッサ群２００の一例は、一つのシリコン基板で構成されたダイ（半導体チップ）上に複数のプロセッサが形成された、いわゆるマルチコアプロセッサである。また、プロセッサ群２００の別の一例は、独立した複数のプロセッサをパッケージングしたものである。また、さらに別の例は一枚のボード上に実装された複数のプロセッサである。
【００１５】
なお、プロセッサ群２０１のプロセッサ回路は、同一のプロセッサ回路である必要はなく、別のプロセッサ回路であっても良い。例えば、一つのプロセッサ回路が所謂ＣＰＵ（Central Processing Unit）で、他のプロセッサ回路が所定の処理を実行するアクセラレータである。アクセラレータによる処理の例としては、数値演算中心のトランザクション、グラフィックスやメディアプロセッシング、データマイニングや暗号化、圧縮、ＸＭＬ／Ｊａｖａ（登録商標）などがある。
【００１６】
また、プロセッサ群２００は、ＢＩＯＳ−ＲＯＭ１２０に格納されたシステムＢＩＯＳ（Basic Input Output System）も実行する。システムＢＩＯＳはハードウェア制御のためのプログラムである。
【００１７】
ノースブリッジ１１２はプロセッサ群２００のローカルバスとサウスブリッジ１１９との間を接続するブリッジデバイスである。ノースブリッジ１１２には、主メモリ１１３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１１２は、ＡＧＰ（Accelerated Graphics Port）バスなどを介してグラフィクスコントローラ１１４との通信を実行する機能も有している。
【００１８】
グラフィクスコントローラ１１４は本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７を制御する表示コントローラである。このグラフィクスコントローラ１１４はビデオメモリ（ＶＲＡＭ）を有しており、ＯＳ／アプリケーションプログラムによってビデオメモリに描画された表示データから、ＬＣＤ１７に表示すべき表示イメージを形成する映像信号を生成する。
【００１９】
サウスブリッジ１１９は、ＬＰＣ（Low Pin Count）バス上の各デバイスを制御する。また、サウスブリッジ１１９は、ＨＤＤ１２１、ＯＤＤ１２２を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。さらに、サウスブリッジ１１９は、ＢＩＯＳ−ＲＯＭ１２０をアクセス制御するための機能も有している。
【００２０】
エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、電源制御、放熱制御のためのエンベデッドコントローラと、キーボード（ＫＢ）１３を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。
【００２１】
次に、図２を参照してプロセッサ群２００の構成について説明する。図２は、本発明の一実施形態に係わるプロセッサ群の構成を示すブロック図である。
【００２２】
図２に示すように、プロセッサ回路２０１，２０２，２０３，２０４は、ＯＳおよび各種アプリケーションプログラムを実行するコアプロセッサ２０１Ａ，２０２Ａ，２０３Ａ，２０４Ａを有する。プロセッサ回路２０１，２０２，２０３，２０４は、それぞれのプロセッサ回路の温度を測定するためのＤＴＳ（Digital Thermal Sensor）２０１Ｂ，２０２Ｂ，２０３Ｂ，２０４Ｂを有する。プロセッサ回路２０１，２０２，２０３，２０４は、ＤＴＳ２０１Ｂ，２０２Ｂ，２０３Ｂ，２０４Ｂの測定温度に応じた制御を行う制御部２０１Ｃ，２０２Ｃ，２０３Ｃ，２０４Ｃを有する。制御部２０１Ｃ，２０２Ｃ，２０３Ｃ，２０４Ｃは、マルチコアプロセッサ２０１内部に設けられた温度管理用シリアルバス２０５を介して通信を行うことが出来る。
【００２３】
プロセッサ回路２０１，２０２，２０３，２０４は、制御部２０１Ｃ，２０２Ｃ，２０３Ｃ，２０４Ｃの設定に応じて、クロックジェネレータ２１０から供給されるクロック周波数を可変してコアプロセッサ２０１Ａ，２０２Ａ，２０３Ａ，２０４Ａに供給する周波数可変部２０１Ｄ，２０２Ｄ，２０３Ｄ，２０４Ｄを有する。
【００２４】
次に、制御部２０ＸＣ（Ｘ＝１〜４）の構成について図３を参照して説明する。図３は、本発明の一実施形態に係わる制御部の構成を示すブロック図である。
【００２５】
制御部２０ＸＣ（Ｘ＝１〜４）は、自己温度判定部２２１、自己省電力モード制御部２２２、温度比較部２２３、温度差演算部２２４、省電力モード決定部２２５等を有する。
【００２６】
自己温度判定部２２１は、ＤＴＳ２０ＸＢ（Ｘ＝１〜４）の測定温度から半導体チップ内の半導体回路の何れかを省電力状態に移行しなければならないか否かを判断する。
【００２７】
自己省電力モード制御部２２２は、他の半導体回路とのバス２０５を介した通信により、自己の半導体回路が省電力状態に移行しなければならないか否かを判断する。
【００２８】
自己省電力モード制御部２２２は、カウンタ２２２（Counter）２２２Ａを有する。自己省電力モード制御部２２２は、カウンタ２２２Ａの値に対して他の半導体回路を対応づけている。カウンタ２２２Ａのカウント値とプロセッサ回路との対応は、カウント値が小さいほどプロセッサ回路間の距離が短くなるようにする。以下に、半導体回路毎に、カウント値と対応するプロセッサ回路の例を示す。
【００２９】
プロセッサ回路２０１の場合
カウント値＝１：プロセッサ回路２０２
カウント値＝２：プロセッサ回路２０３
カウント値＝３：プロセッサ回路２０４
プロセッサ回路２０２の場合
カウント値＝１：プロセッサ回路２０１
カウント値＝２：プロセッサ回路２０３
カウント値＝３：プロセッサ回路２０４
プロセッサ回路２０３の場合
カウント値＝１：プロセッサ回路２０２
カウント値＝２：プロセッサ回路２０４
カウント値＝３：プロセッサ回路２０１
プロセッサ回路２０４の場合
カウント値＝１：プロセッサ回路２０３
カウント値＝２：プロセッサ回路２０２
カウント値＝３：プロセッサ回路２０１
温度比較部２２３は、自己の測定温度と他の半導体回路が出力した温度を比較して、自己のプロセッサ回路を省電力モードにするか否かを判別する。省電力モードに移行できないと判断した場合、温度比較部２２３は、自己省電力モード制御部２２２に省電力モードに移行出来ない旨を通知する。省電力モードに移行できると判断した場合、温度比較部２２３は、温度差演算部２２４に自己の温度と他の半導体回路の温度とを通知する。
【００３０】
温度差演算部２２４は、通知された二つの温度の差ΔＴを演算し、温度差ΔＴを省電力モード決定部２２５に通知する。
【００３１】
省電力モード決定部２２５は、温度差ΔＴに応じて省電力モードを決定し、決定した省電力モードを周波数可変部２０Ｘ（Ｘ＝１〜４）Ｄに設定する。省電力モードとしては、省電力モードＰＳ１および省電力モードＰＳ２がある。省電力モードＰＳ１は、周波数可変部２０Ｘ（Ｘ＝１〜４）Ｄからコアプロセッサに供給されるクロック周波数が、例えば最大クロック周波数の８０％になる状態である。省電力モードＰＳ２は、周波数可変部２０Ｘ（Ｘ＝１〜４）からコアプロセッサに供給されるクロック周波数が、例えば最大クロック周波数の６０％になる状態である。
【００３２】
次に、図４を参照して制御部の温度制御処理について説明する。なお、ここでは、第１コアプロセッサ２０１の制御部２０１Ｃを例にとって説明する。
【００３３】
先ず、制御部２０１Ｃ内の自己省電力モード制御部２２２は、カウンタ２２２Ａの値ｎを１にする（ステップＳ１１）。制御部２０１Ｃの自己温度判定部２２１は、ＤＴＳ２０１Ｂに測定温度Ｔ1を送信するように要求し、ＤＴＳ２０１Ｂから測定温度Ｔ1を取得する（ステップＳ１２）。制御部２０１Ｃの自己温度判定部２２１は、取得した測定温度Ｔ1が閾温度ＴNより高いか否を判別する（ステップＳ１３）。閾温度ＴNより高くないと判断した場合（ステップＳ１３のＮｏ）、制御部２０１Ｃの自己温度判定部２２１は、ステップＳ１２に戻る。閾温度ＴNより高いと判断した場合（ステップＳ１３のＹｅｓ）、制御部２０１Ｃの自己温度判定部２２１は、制御部２０１Ｃの自己省電力モード制御部２２２に通知する。制御部２０１Ｃの自己省電力モード制御部２２２は、第Ｎプロセッサ回路２０Ｎに温度を通知する（ステップＳ１４）。なお、上述したカウンタ２２１の値と半導体回路との対応付けに従うので、制御部２０１Ｃの場合はＮ＝ｎ＋１である。
【００３４】
次に、温度ＴNが通知された制御部２０ＮＣの処理について説明する。温度ＴNが通知された制御部２０ＮＣ内の温度比較部２２３は、ＤＴＳ２０ＮＢに測定温度ＴNを送信するように要求し、ＤＴＳ２０ＮＢから測定温度ＴNを取得する（ステップＳ２１）。
【００３５】
そして、制御部２０ＮＣの温度比較部２２３は、温度Ｔ1が温度ＴNより高いか否かを判別する（ステップＳ２２）。
【００３６】
温度Ｔ1が高くないと判別した場合（ステップＳ２２のＮｏ）、制御部２０ＮＣの温度比較部２２３は、制御部２０１Ｃの自己省電力モード制御部２２２に省電力モードに移行できない旨を通知する（ステップＳ２３）。
【００３７】
温度Ｔ1が高いと判別した場合（ステップＳ２２のＹｅｓ）、制御部２０ＮＣの温度比較部２２３は、制御部２０ＮＣの温度差演算部２２４に温度Ｔ1および温度ＴNを通知する。制御部２０ＮＣの温度差演算部２２４は、温度Ｔ1と温度ＴNとの温度差ΔＴ（＝Ｔ1−ＴN）を演算する（ステップＳ２４）。そして、温度差ΔＴを省電力モード決定部２２５に通知する。
【００３８】
制御部２０ＮＣの省電力モード決定部２２５は、温度差ΔＴが１５℃より大きいか否かを判別する（ステップＳ２５）。温度差ΔＴが１５℃より大きいと判別した場合（ステップＳ２５のＹｅｓ）、省電力モードＰＳ１の設定および移行が行われる（ステップＳ２６）。
【００３９】
ステップＳ２６の処理について説明する。制御部２０ＮＣの省電力モード決定部２２５は、制御部２０ＮＣの周波数可変部２０ＮＤに省電力モードＰＳ1を設定する。周波数可変部２０ＮＤは、設定に応じてコアプロセッサ２０ＮＡに供給するクロック周波数を、例えば最大クロック周波数の８０％にする。
【００４０】
そして、ステップＳ２６の処理の後、制御部２０ＮＣの省電力モード決定部２２５は、制御部２０１Ｃの自己省電力モード制御部２２２に省電力モードＰＳ１を通知する（ステップＳ２７）。なお、ステップＳ２６、ステップＳ２７の順序は逆であっても良い。
【００４１】
ステップＳ２５において、温度差ΔＴが１５℃より大きくないと判別した場合（ステップＳ２５のＮｏ）、省電力モードＰＳ２の設定および移行が行われる（ステップＳ２８）
ステップＳ２８の処理について説明する。制御部２０ＮＣの省電力モード決定部２２５は、制御部２０ＮＣの周波数可変部２０ＮＤに省電力モードＰＳ２を設定する。周波数可変部２０ＮＤは、設定に応じてコアプロセッサ２０ＮＡに供給するクロック周波数を、例えば最大クロック周波数の６０％にする。
【００４２】
そして、ステップＳ２８の処理の後、制御部２０ＮＣの省電力モード決定部２２５は、制御部２０１Ｃの自己省電力モード制御部２２２に省電力モードＰＳ２を通知する（ステップＳ２９）。なお、ステップＳ２８、ステップＳ２９の順序は逆であっても良い。
【００４３】
次に、ステップＳ２３、ステップＳ２７、およびステップＳ２９の何れかの処理で、制御部２０１Ｃの自己省電力モード制御部２２２に通知が行われた後の制御部２０１Ｃの処理について説明する。
【００４４】
制御部２０１Ｃの自己省電力モード制御部２２２は、制御部２０ＮＣの通知からコアプロセッサ２０ＮＡが省電力モードに移行したかを判別する（ステップＳ３１）。
【００４５】
省電力モードに移行していないと判断した場合（ステップＳ３１のＮｏ）、自己省電力モード制御部２２２は、カウンタ２２２Ａの値ｎを＋１カウントアップする（ステップＳ３２）。そして、カウンタ２２２Ａの値ｎが半導体回路数から１を減じた数、則ち３より大きいか否かを判別する（ステップＳ３３）。カウンタ２２２Ａの値ｎが３より大きくないと判断した場合、自己省電力モード制御部２２２は、次の制御部２０ＮＣに温度Ｔ1を通知し（ステップＳ１４）、通知した制御部２０ＮＣから通知があるまで待機する。温度Ｔ1が通知された制御部２０ＮＣは、上述したステップＳ２１移行の処理を順次行う。
【００４６】
ステップＳ３３において、カウンタ２２２Ａの値ｎが３より大きいと判別した場合、自己省電力モード制御部２２２は周波数可変部２０１Ｄに省電力モードに移行するための設定を行い、省電力モードに移行する（ステップＳ３４）。なお、カウンタ２２２Ａの値ｎが３より大きいとは、他のプロセッサ回路２０２Ａ〜２０４Ａの全てが省電力モードに移行しなかった場合のことである。
【００４７】
ステップＳ３１において省電力モードに移行したと判断した場合（ステップＳ３１）、或いは省電力モードに移行し（ステップＳ３４）、何れかのプロセッサ回路が省電力モードに移行した後の処理について説明する。
【００４８】
自己省電力モード制御部２２２は、カウンタ２２２Ａの値ｎを０にする（ステップＳ４１）。
【００４９】
制御部２０１Ｃの自己温度判定部２２１は、ＤＴＳ２０１Ｂに測定温度Ｔ1を送信するように要求し、ＤＴＳ２０１Ｂから測定温度Ｔ1を取得する（ステップＳ４２）。なお、この処理は、何れかのプロセッサ回路が省電力モードに移行してから一定時間経過した後に行うと良い。何れかのプロセッサ回路が省電力モードになってから、温度が安定するまでに時間がかかるからである。
【００５０】
制御部２０１Ｃの自己温度判定部２２１は、取得した測定温度Ｔ1が閾温度ＴNより高いか否を判別する（ステップＳ４３）。閾温度ＴNより高くないと判断した場合（ステップＳ４３のＮｏ）、制御部２０１Ｃの自己温度判定部２２１は、ステップＳ１２に戻る。
【００５１】
閾温度ＴNより高いと判断した場合（ステップＳ４３のＹｅｓ）、制御部２０１Ｃの自己温度判定部２２１は、制御部２０１Ｃの自己省電力モード制御部２２２に通知する。制御部２０１Ｃの自己省電力モード制御部２２２は、第Ｎプロセッサ２０Ｎ（Ｎ＝ｎ＋１）に省電力モードから復帰して良いことを通知する（ステップＳ４４）。なお、ｎ＝０の場合、自らの自己省電力モード制御部２２２に省電力モードから復帰して良いことを通知することになる。
【００５２】
自己省電力モード制御部２２２は、カウンタ２２２Ａの値ｎを＋１カウントアップする（ステップＳ４５）。そして、カウンタ２２２Ａの値ｎが半導体回路数から１を減じた数、則ち３より大きいか否かを判別する（ステップＳ４６）。カウンタ２２２Ａの値ｎが３より大きくないと判断した場合（ステップＳ４６のＮｏ）、ステップＳ４４に戻り、自己省電力モード制御部２２２は、第Ｎプロセッサ回路２０Ｎ（Ｎ＝ｎ＋１）に省電力モードから復帰して良いことを通知する（ステップＳ４４）
ステップＳ４６において、カウンタ２２２Ａの値ｎが３より大きいと判別した場合（ステップＳ４６のＹｅｓ）、ステップＳ１１に戻り、温度判定を行う。  
以上の処理で、パフォーマンスの低下を抑えながら、プロセッサ回路を含む半導体回路の温度上昇を抑制することができる。また、上述した処理はプロセッサ群２００内のみで行われるので、ユーザアプリケーションを再設計することが不要となる。
【００５３】
自己のプロセッサ回路の温度が高いということは、ユーザ側ではなく、プロセッサ側から見て負荷がかかっているということである。従って、自己のプロセッサ回路の温度を下げるために、自己のプロセッサの動作速度を低下させると、パフォーマンスが低下してしまう。
【００５４】
ところで、現在プロセッサ回路で実行されるソフトウェアの多くは、マルチプロセッサに対応していないため、一つのソフトウェアの処理は一つのプロセッサで実行されることが多い。
【００５５】
従って、自己のプロセッサ回路の負荷は高くても、他のプロセッサ回路の負荷が低いことが多い。従って、負荷が低いプロセッサ回路の動作速度を低下させることによって、負荷が低いプロセッサ回路の温度をより低下させることが出来る。すると、自己のプロセッサ回路の熱が負荷の低いプロセッサ回路に伝達しやすくなる。プロセッサ回路のパフォーマンスを低下させることなく、自己のプロセッサ回路の温度を低下させてることが出来る。
【００５６】
動作速度をコントロールするために、負荷の大小を比較するのにはソフトウェアでコントロールしなければならない。ところが、本実施形態の場合、負荷の大小を推定する代わりに、プロセッサ回路間の温度を比較している。
【００５７】
プロセッサ回路の温度が他のプロセッサ回路より高ければ、自己のプロセッサの負荷は他のプロセッサより高いと推定することが出来る。同様に、プロセッサ回路の温度が他のプロセッサ回路より低ければ、自己のプロセッサの負荷は他のプロセッサより低いと推定することが出来る。
【００５８】
上述したように、自己のプロセッサ回路の温度が高い場合に、他のプロセッサ回路に温度を通知し、他のプロセッサ回路が温度を比較することによって、動作速度を低下させるために省電力モードに移行するか否かを判別している。
【００５９】
このように、温度を比較することによって、負荷を比較しプロセッサ回路に動作速度を低下させるための命令を送信するソフトウェアが不要になる。
【００６０】
なお、上述したように、物理的に近傍に配置されたプロセッサ回路から順に、温度を通知して動作速度を低下させられるかを問い合わせる。これは近傍のプロセッサ回路との温度差が大きくなれば、温度が上昇したプロセッサ回路から、熱の遷移が発生し結果として全体の温度を下げる効果があるためである。
【００６１】
また、温度の通知は、プロセッサ回路２０１〜２０４とノースブリッジ１１２とを接続するバスとは別のバスを用いて行っている。専用バスを用いることによって、プロセッサ回路２０１〜２０４とノースブリッジ１１２との間の通信に割り込むことがないので、プロセッサ回路２０１〜２０４のパフォーマンスの低下を抑制することができる。
【００６２】
なお、四つのプロセッサを有するマルチコアプロセッサを例に挙げて説明したが、マルチコアプロセッサは四つ以外の複数のプロセッサを有しても良い。
【００６３】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００６４】
【図１】本発明の一実施形態に係わる情報処理装置のシステム構成を示すブロック図。
【図２】本発明の一実施形態に係わるプロセッサ群の構成を示すブロック図。
【図３】本発明の一実施形態に係わる制御部の構成を示すブロック図。
【図４】本発明の一実施形態に係わる温度制御処理の手順を示すフローチャート。
【符号の説明】
【００６５】
１０…ノートブック型パーソナルコンピュータ（情報処理装置），２００…プロセッサ群，２０１〜２０４…プロセッサ回路，２０１Ａ〜２０４Ａ…コアプロセッサ，２０１Ｂ〜２０４Ｂ…ＤＴＳ（Digital Thermal Sensor），２０１Ｃ〜２０４Ｃ…制御部，２０１Ｄ〜２０４Ｄ…周波数可変部，２０５…シリアルバス，２１０…クロックジェネレータ，２２１…自己温度判定部，２２２…自己省電力モード制御部，２２２Ａ…カウンタ，２２３…温度比較部，２２４…温度差演算部，２２５…省電力モード決定部
【図１】
2008276568.tif 000003
【図２】
2008276568.tif 000004
【図３】
2008276568.tif 000005
【図４】
2008276568.tif 000006