(57)【要約】【課題】処理能力を低下させることなくプロセッサの温度上昇を抑制出来るプロセッサシステム及びその制御方法を提供すること。【解決手段】各々が独立してタスクを処理する複数の第１プロセッサ１１−１〜１１−（ｍ−１）と、前記第１プロセッサ１１−１〜１１−（ｍ−１）の各々の温度を測定する温度センサ１２−１〜１２−（ｍ−１）と、前記第１プロセッサで処理される前記タスクのプログラム、及び前記タスクとその優先順位との関係を保持するタスク優先順位テーブル２２とを記憶するメインメモリ２０と、前記優先順位テーブル２２と、前記温度センサ１２−１〜１２−（ｍ−１）で測定した各々の前記第１プロセッサ１１−１〜１１−（ｍ−１）の温度とに基づいて、前記タスクのプログラムを前記第１プロセッサの各々に割り当てる第２プロセッサ１１−ｍとを具備する。【選択図】      図１
2006133995.tif 000002
【特許請求の範囲】
【請求項１】
各々が独立してタスクを処理する複数の第１プロセッサと、
前記第１プロセッサの各々の温度を測定する温度センサと、
前記第１プロセッサで処理される前記タスクのプログラム、及び前記タスクとその優先順位との関係を保持するタスク優先順位テーブルとを記憶するメインメモリと、
前記優先順位テーブルと、前記温度センサで測定した各々の前記第１プロセッサの温度とに基づいて、前記タスクを前記第１プロセッサの各々に割り当てる第２プロセッサと
を具備することを特徴とするプロセッサシステム。
【請求項２】
前記第２プロセッサは、前記タスクを処理した際に各々の前記プロセッサが達する温度を予測し、前記予測した温度が規定温度を超える場合には当該プロセッサに割り当てたタスクを前記メインメモリに退避させて、当該プロセッサの動作を停止させる
ことを特徴とする請求項１記載のプロセッサシステム。
【請求項３】
前記第２プロセッサは、前記タスクを処理した際に各々の前記プロセッサが達する温度を予測し、前記予測した温度が規定温度を超えない前記プロセッサにのみ前記タスクを割り当てる
ことを特徴とする請求項１記載のプロセッサシステム。
【請求項４】
複数のプロセッサを備えたプロセッサシステムの制御方法であって、
前記複数のプロセッサの温度を計測するステップと、
処理の優先順位と各プロセッサの温度とに応じて、各々の前記プロセッサにタスクを割り当てるステップと、
前記タスクを処理した際に各々の前記プロセッサが達する温度を予測するステップと、
前記予測した温度が規定温度を超える場合、当該プロセッサに割り当てたタスクをメインメモリに退避させるステップと、
前記予測した温度が規定温度を超えない前記プロセッサが、それぞれに割り当てられた前記タスクを処理するステップと
を具備することを特徴とするプロセッサシステムの制御方法。
【請求項５】
複数のプロセッサを備えたプロセッサシステムの制御方法であって、
前記複数のプロセッサの温度を計測するステップと、
処理の優先順位と各プロセッサの温度とに応じて、各々の前記プロセッサに割り当てるべきタスクを決定するステップと、
前記割り当てるべきタスクを決定するステップにおいて決定された前記タスクを、各々の前記プロセッサが処理した際に達する温度を予測するステップと、
前記予測した温度が規定温度を超える前記プロセッサには前記タスクを割り当てず、前記予測した温度が規定温度を超えない前記プロセッサに前記タスクを割り当てるステップと、
前記タスクを割り当てられた前記プロセッサが、該タスクを処理するステップと
を具備することを特徴とするプロセッサシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プロセッサシステム及びその制御方法に関するもので、例えば複数のプロセッサを備えたＬＳＩにおいて、プロセッサ温度が上昇した場合におけるＬＳＩの管理方法に関する。
【背景技術】
【０００２】
従来から、複数のＣＰＵ（プロセッサ）を備えた半導体集積回路が知られている（以下マルチコアプロセッサと呼ぶ）。マルチコアプロセッサにおいては複数のプロセッサが各々独自のタスクを実行しており、その動作状況に応じてそれぞれのプロセッサの温度が上昇する。プロセッサは、ある規定の温度に達するまで上昇すると、正常動作が不能となったり、物理的に破壊されたりするおそれがある。
【０００３】
そこで、プロセッサがある一定温度に達した場合、プロセッサの動作を停止させる、または処理を軽減させることによって、それ以上の温度上昇を抑制する提案がなされている（例えば特許文献１乃至３参照）。
【０００４】
しかしながら、上記従来の提案であると、プロセッサを利用したシステム側では、アプリケーションの処理が滞ることになる。特に、動作停止されたプロセッサがアプリケーションにおいて重要な処理を実行していた場合には、システム側において重大な障害が発生するおそれがあった。
【特許文献１】特開平８−３１４５７８号公報
【特許文献２】特開平１０−３１２２２５号公報
【特許文献３】特開２０００−４００６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この発明の目的は、処理能力を低下させることなくプロセッサの温度上昇を抑制出来るプロセッサシステム及びその制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
この発明の一態様に係るプロセッサシステムは、各々が独立してタスクを処理する複数の第１プロセッサと、前記第１プロセッサの各々の温度を測定する温度センサと、前記第１プロセッサで処理される前記タスクのプログラム、及び前記タスクとその優先順位との関係を保持するタスク優先順位テーブルとを記憶するメインメモリと、前記優先順位テーブルと、前記温度センサで測定した各々の前記第１プロセッサの温度とに基づいて、前記タスクを前記第１プロセッサの各々に割り当てる第２プロセッサとを具備する。
【０００７】
またこの発明の一態様に係るプロセッサシステムの制御方法は、複数のプロセッサを備えたプロセッサシステムの制御方法であって、前記複数のプロセッサの温度を計測するステップと、処理の優先順位と各プロセッサの温度とに応じて、各々の前記プロセッサにタスクを割り当てるステップと、前記タスクを処理した際に各々の前記プロセッサが達する温度を予測するステップと、前記予測した温度が規定温度を超える場合、当該プロセッサに割り当てたタスクをメインメモリに退避させるステップと、前記予測した温度が規定温度を超えない前記プロセッサが、それぞれに割り当てられた前記タスクを処理するステップとを具備する。
【発明の効果】
【０００８】
この発明によれば、処理能力を低下させることなくプロセッサの温度上昇を抑制出来るプロセッサシステム及びその制御方法を提供できる。
【発明を実施するための最良の形態】
【０００９】
以下、この発明の実施形態を図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１０】
この発明の第１の実施形態に係るプロセッサシステム及びその制御方法について、図１を用いて説明する。図１は、本実施形態に係るプロセッサシステムのブロック図である。
【００１１】
図示するように、本実施形態に係るプロセッサシステム１は、マルチコアプロセッサ１０、メインメモリ２０、システムコントローラ４０、周辺温度センサ５０−１〜５０−ｌ（ｌ：１以上の自然数）、ＤＭＡ（Direct Memory Access）コントローラ６０、ハードディスクドライブ７０、及びＬＡＮアダプタ８０を備えている。これらは、バスによって互いにデータ通信可能に接続されている。
【００１２】
マルチコアプロセッサ１０は、ｍ個（ｍ：２以上の自然数）のプロセッサ１１−１〜１１−ｍ、及びプロセッサ１１−１〜１１−ｍ毎に設けられた温度センサ１２−１〜１２−ｍを備えている。  
各プロセッサ１１−１〜１１−ｍは、内部バスによりそれぞれデータ通信可能に接続されている。そしてプロセッサ１１−１〜１１−ｍの各々は、インターフェース１３、処理ユニット１４、レジスタ１５、及びメモリ１６を備えている。インターフェース１３は、当該プロセッサ１１−１〜１１−ｍと外部との間の信号の授受を制御する。メモリ１６は、メインメモリ２０からプログラムを読み出し保持する。処理ユニット１４は、メモリ１６に読み出したプログラムに基づいてタスクを実行する。レジスタ１５は、処理ユニット１４がタスクを処理する際に用いる様々なパラメータを一時的に保持し、制御レジスタや演算レジスタを含む。上記構成のプロセッサ１１−１〜１１−ｍの各々は、互いに独立してプログラムを実行し、与えられたタスクを処理する。またプロセッサ１１−１〜１１−ｍは、例えば同一チップ内に形成され、各メモリ１６はｅＤＲＡＭ（embededd Dynamic Random Access Memory）等を使用することが出来る。温度センサ１２−１〜１２−ｍは、それぞれ対応するプロセッサ１１−１〜１１−ｍの温度を測定する。
【００１３】
メインメモリ２０は、上記プロセッサ１１−１〜１１−ｍが動作するために必要なプログラムやデータを保持する。メインメモリ２０の保持するプログラムやデータに関しては、後に詳述する。
【００１４】
システムコントローラ４０は、例えばマルチコアプロセッサ１０内のプロセッサ１１−１〜１１−ｍ間の調停を行う。またシステムコントローラ４０には周辺温度センサ５０−１〜５０−ｌが接続され、周辺環境温度を計測出来る。
【００１５】
ＤＭＡコントローラ６０は、データを、マルチコアプロセッサ１０内のプロセッサ１１−１〜１１−ｍの備えるメモリ１６間、またはメモリ１６とメインメモリ２０との間等でＤＭＡ転送する。
【００１６】
ハードディスクドライブ７０は、マルチコアプロセッサ７０が動作する為に必要なデータを保持する。
【００１７】
ＬＡＮアダプタ８０は、システムプロセッサ１をＬＡＮやインターネットに接続する。
【００１８】
上記構成のプロセッサシステム１において、各プロセッサ１１−１〜１１−ｍはメインメモリ２０を共有することも出来るし、また各プロセッサ１１−１〜１１−ｍが単独で動作することも出来る。また、各プロセッサ１１−１〜１１−ｍの温度情報は、各プロセッサ１１−１〜１１−ｍ経由で読み出すことも出来る。但し、下記ではプロセッサ１１−１〜１１−ｍのいずれかにおいてオペレーティングシステムが動作し、その他のプロセッサの制御を行うものとし、上記温度情報も該プロセッサによって処理される場合を例に挙げて説明する。
【００１９】
次に、上記プロセッサシステム１におけるマルチコアプロセッサ１０の動作について、特に温度変化とタスクの割り当てとの関係に着目して以下説明する。図２は、メインメモリ２０の内部構成を示す概念図であり、メインメモリ２０の保持する、タスク割り当てに関して必要な情報について示している。
【００２０】
図示するようにメインメモリ２０は、タスクコントロールブロック２１、プロセッサ発熱テーブル２６、低下温度テーブル２７、タスクプログラム２８−１〜２８−ｎ（ｎは１以上の自然数）、温度情報テーブル２９、タスク管理プログラム３０、オペレーティングシステム３１、及びコンテキストセーブエリア（Context save area）３２を有している。
【００２１】
タスクコントロールブロック２１は、優先順位テーブル２２、ディスパッチテーブル（Dispatch table）２３、上昇温度テーブル２４、及び処理時間テーブル２５を有している。優先順位テーブル２２は、複数のタスクの処理すべき優先順位情報を保持する。ディスパッチテーブル２３は、タスクとプロセッサ１１−１〜１１−ｍとの対応関係情報を保持する。上昇温度テーブル２４は、タスクと、各タスクを実行した際のプロセッサ１１−１〜１１−ｍの上昇温度との関係情報を保持する。処理時間テーブル２５は、タスクと、各タスクを実行するために必要な処理時間との関係情報を保持する。
【００２２】
プロセッサ発熱テーブル２６は、プロセッサ１１−１〜１１−ｍがディスパッチテーブル２３に保持される対応関係に基づいてタスクを処理した際に最終的に達するプロセッサ１１−１〜１１−ｍの温度情報について保持する。
【００２３】
低下温度テーブル２７は、プロセッサ１１−１〜１１−ｍががディスパッチテーブル２３に保持される対応関係に基づいてタスクを処理した際、処理後の空き時間に応じてプロセッサ１１−１〜１１−ｍが低下する温度情報について保持する。
【００２４】
タスクプログラム２８−１〜２８−ｎはそれぞれ、ｎ個のタスクの実行プログラムである。なおタスクの数ｎは、プロセッサ１１−１〜１１−ｍの数ｍより多くても少なくてもいずれでも良い。
【００２５】
温度情報テーブル２９は、プロセッサ１１−１〜１１−ｍの動作が保証される温度範囲や、破壊されるおそれのある上限温度情報などを保持する。
【００２６】
タスク管理プログラム３０は、上記ｎ個のタスクをプロセッサ１１−１〜１１−ｍに割り当てるためのプログラムである。
【００２７】
コンテキストセーブエリア３２は、プロセッサ１１−１〜１１−ｍからタスクを退避させる際、タスクの再スタートに必要なデータを保持する。タスクの退避に関しては後に後述する。
【００２８】
なお、メインメモリ２０に保持される上記情報の具体的な例に関しては、タスクの割り当て方法と共に説明する。以下、マルチコアプロセッサ１１の動作について、順を追って説明する。
【００２９】
＜システム初期化＞
最初に（例えば電源投入時）、システムの初期化が行われる。初期化にあたってオペレーティングシステム３１は、システムにて動作させるタスク情報をメインメモリ２０内に作成、またはロードする。タスク情報とは、図２を用いて説明した優先順位テーブル２２、ディスパッチテーブル２３、上昇温度テーブル２４、処理時間テーブル２５、プロセッサ発熱テーブル２６、低下温度テーブル２７、タスクプログラム２８−１〜２８−ｎ、温度情報テーブル２９、及びタスク管理プログラム３０等である。更にメインメモリ２０内に、コンテキストセーブエリア３２を確保する。またオペレーティングシステム３１は、タスク処理の周期設定（１サイクルの長さなど）の設定も実施する。
【００３０】
更に、初期化の段階において、各プロセッサの制御、タスクの割り当て、データ退避、またプロセッサ間の調停等を行うプロセッサが決定される。以下ではプロセッサ１１−ｍが上記の役割を行うものとして説明する。勿論、上記役割をその他のプロセッサ１１−１〜１１−（ｍ−１）のいずれか、またはシステムコントローラ４０が行っても良い。
【００３１】
まずプロセッサ１１−ｍはメインメモリ２０からタスク管理プログラム３０を読み出す。そしてタスク管理プログラム３０に従って、図３のフローチャートに示す処理を行う。まずプロセッサ１１−ｍは、温度センサ１２−１〜１２−（ｍ−１）によってプロセッサ１１−１〜１１−（ｍ−１）の温度を監視する（ステップＳ１０）。そして、メインメモリ２０から温度情報テーブル２９を読み出し、温度情報テーブル２９内の安全温度と、動作停止中のプロセッサの温度とを比較する（ステップＳ１１）。温度情報テーブル２９の一例について図４を用いて説明する。図４は温度情報テーブル２９の概念図である。
【００３２】
図示するように、温度情報テーブル２９はプロセッサ１１−１〜１１−ｍの、例えば安全温度、注意温度、危険温度、及び絶対危険温度に関する情報を有している。安全温度とは、プロセッサの温度が十分に低く、プロセッサの正常動作が完全に確保される温度であり、図４の例では温度Ｔ１未満の温度である。注意温度とは、プロセッサの温度が安全温度よりも上昇し、プロセッサの正常動作は保証されるものの、温度の高い状態を示す範囲の温度であり、図４の例ではＴ１以上Ｔ２未満の温度である。危険温度とは、プロセッサの温度が注意温度よりも上昇し、プロセッサの正常動作が保証できない温度であり、図４の例ではＴ２以上Ｔ３未満の温度である。絶対危険温度とは、更にプロセッサの温度が上昇し、プロセッサが熱によって破壊されるおそれのある温度であり、図４の例ではＴ３以上の温度である。なお、図４では上記温度情報テーブル２９が１種類しかない、すなわち各プロセッサ１１−１〜１１−ｍで温度情報テーブル２９を共通にする場合を示している。しかし、各プロセッサ１１−１〜１１−ｍに関して、それぞれ温度情報テーブル２９を設けても良い。温度情報テーブル２９は、予め事前の計算機シミュレータや実機上での動作により求めておく。
【００３３】
ステップＳ１１において、安全温度よりも温度の低い停止中プロセッサは、その使用が再開される（ステップＳ１２）。安全温度よりも高いプロセッサは、引き続き使用不可とされる。
【００３４】
次に、その他のプロセッサ、すなわち動作中のプロセッサがあれば、そのプロセッサの温度と危険温度とを比較する（ステップＳ１３）。危険温度範囲にあるプロセッサが無ければ、初期化を終了する。危険温度範囲のプロセッサがある場合、当該プロセッサに関してデータ退避を行い（ステップＳ１４）、そのプロセッサの使用を停止する（ステップＳ１５）。データ退避に関しては後に詳述する。
【００３５】
なお、ステップＳ１０〜Ｓ１５まではシステムコントローラ４０が行い、その後に、タスクの割り当てや調停の役割をいずれかの使用可能なプロセッサ（上記ではプロセッサ１１−ｍ）に移行しても良い。
【００３６】
＜タスクの割り当て＞
初期化が終了すると、プロセッサ１１−ｍは、プロセッサ１１−１〜１１−（ｍ−１）に対してタスクの割り当てを開始する。まず、温度センサ１２−１〜１２−（ｍ−１）で得られる各プロセッサ１１−１〜１１−（ｍ−１）の現在温度と、メインメモリ２０から読み出した優先順位テーブル２２とに基づき、タスクの実行順序と、いずれのプロセッサにどのタスクを割り当てるかを決定する（ステップＳ１６、これを以下スケジューリングと呼ぶ）。
【００３７】
スケジューリングの方法としては、プロセッサの動作中に動的に割り付け順序を変更する方法と、プロセッサの動作前に静的に割り付けを決定する方法がある。割り付けは主にタスクの優先度情報を元に行われる。本システムにおいては、優先度だけで無く、発熱量も考慮して、静的にスケジューリングを行った後、プロセッサへの割り当て（ディスパッチ）を行い、実際に処理を実行させながら、その後の温度変化を考慮しながら、動的に再スケジューリング、ディスパッチを行う事とする。ディスパッチは、該当プロセッサコアのメモリに対して、もしくは、主メモリの該当プロセッサコア領域に対して、主メモリからＤＭＡなどにより転送する
以下詳細に説明する。まずスケジューリングにあたって、プロセッサ１１−ｍは優先順位テーブル２２をメインメモリ２０から読み出す。優先順位テーブル２２の一例について図５を用いて説明する。図５は優先順位テーブル２２の概念図である。
【００３８】
図示するように、優先順位テーブル２２は、各タスクと、各タスクの処理すべき優先順位との関係を有している。本実施形態では、例えばｎ個のタスクTASK-1〜TASK-nの優先順位が、１位〜ｎ位の順番であったとする。
【００３９】
そしてプロセッサ１１−ｍは、各タスクの優先順位と、各プロセッサ１１−１〜１１−（ｍ−１）の温度に基づいてスケジューリングを行う。ここで、各プロセッサ１１−１〜１１−（ｍ−１）の温度が図６に示すようであったとする。すなわち、プロセッサ１１−１の温度が最も低かったとする。するとプロセッサ１１−ｍは、最も優先順位の高いタスクTASK-1をプロセッサ１１−１で実行させ、以下優先順位の順番に基づいて、温度の低いプロセッサから順にタスクを実行させるように決定する。
【００４０】
以上のようにスケジューリングが完了すると、プロセッサ１１−ｍはメインメモリ２０から読み出したディスパッチテーブル２３を更新する（ステップＳ１７）。図７はディスパッチテーブルの一例である。図示するように、ディスパッチテーブル２３は、各プロセッサ１１−１〜１１−（ｍ−１）と、それぞれのプロセッサに処理させるべきタスクとの関係を保持する。なお図７の例では、各プロセッサが処理するタスクは１つだけであるが、１つのプロセッサに対して複数のタスクを実行させるようにしても良い。
【００４１】
次にプロセッサ１１−ｍは、ステップＳ１７で更新したディスパッチテーブル２２に基づいて、実際に各プロセッサ１１−１〜１１−（ｍ−１）に対してタスクを割り当てる（ステップＳ１８）。すなわち、図７に示すように、タスクTASK-1〜TASK-(m-1)が、それぞれプロセッサ１１−１〜１１−（ｍ−１）に割り当てられる。
【００４２】
図８は、タスクの割り当て時におけるマルチコアプロセッサ１０、メインメモリ２０、及びＤＭＡコントローラ６０のブロック図である。図示するように、プロセッサ１１−ｍはＤＭＡコントローラ６０に対して、メインメモリ２０から各プロセッサ１１−１〜１１−（ｍ−１）にタスクプログラム２８−１〜２８−（ｍ−１）をそれぞれ転送するよう命令する。するとＤＭＡコントローラ６０から、各タスクプログラムが格納されているメインメモリ２０内のアドレスＡＤＤ（Ｓｒ）と、そのデータサイズ、及び各プロセッサ１１−１〜１１−（ｍ−１）のメモリ１６のアドレスＡＤＤ（Ｄｅ）とがメインメモリ２０に与えられ、各プログラムが各プロセッサのメモリ１６へと転送される。この際、タスクプログラム２８−１〜２８−（ｍ−１）だけでなく、タスクの実行に必要なデータも同時にプロセッサ１１−１〜１１−（ｍ−１）へ転送される。
【００４３】
次にプロセッサ１１−ｍは、各プロセッサ１１−１〜１１−（ｍ−１）が、各々に割り当てられたタスクTASK-1〜TASK-(m-1)を処理した際に達するであろう温度（予測温度）を計算する（ステップＳ１９）。ステップＳ１９について図９を用いて説明する。図９は予測温度を計算する方法のフローチャートであり、ステップＳ１９を更に細かく表したものである。
【００４４】
まずプロセッサ１１−ｍは、メインメモリ２０から読み出した処理時間テーブル２５に基づいて空き時間を算出する（ステップＳ４０）。処理時間テーブルの一例について図１０を用いて説明する。図１０は処理時間テーブルの概念図である。図示するように、処理時間テーブル２５は、各タスクTASK-1〜TASK-nと、それぞれのタスクを処理するのに必要な時間ｐ１〜ｐｎの情報を有している。すると、処理時間テーブル２５から各タスクの処理に必要な時間が分かるため、サイクルタイムから処理時間を減算することで空き時間が算出出来る。空き時間について図１１を用いて説明する。図１１は、時間に対するプロセッサの状態を示すタイムチャートである。
【００４５】
図示するように、例えばプロセッサ１１−１があるサイクルタイムでタスクTASK-1を実行したとする。実行開始時刻が時刻ｔ０であり、タスクTASK-1の処理に時間ｐ１がかかった結果、処理終了時刻がｔ１だったとする。すると、時刻ｔ１から、当該サイクルの終了時刻ｔ４までの期間は、プロセッサ１１−１は何も処理をしないことになる。この処理をしない時間が「空き時間」である。なお「サイクル」とは、各プロセッサが処理を行うための単位時間幅であって、このサイクル毎にスケジューリングやタスク割り当てが行われる。
【００４６】
プロセッサ１１−ｍは、以上のようにして算出した空き時間から、各プロセッサ１１−１〜１１−（ｍ−１）の低下温度を算出する（ステップＳ４１）。この「低下温度」について図１２を用いて説明する。図１２は、プロセッサ１１−１〜１１−（ｍ−１）が処理を行わなかった場合における、経過時間と温度変化との関係について示したグラフである。図示するように、例えば時刻ｔＡから時刻ｔＢまでの期間が空き時間だったとする。すると、この期間、プロセッサは何らの処理も行わないので発熱せず、プロセッサの温度は温度ＴＡからＴＢへと低下する。この低下幅を「低下温度」と呼ぶ。図１２の関係と、プロセッサの現在温度とにより、各プロセッサにおける低下温度が算出出来る。
【００４７】
その結果、図１３に示すような低下温度テーブルが作成出来る。図１３は低下温度テーブル２７の一例を示す概念図である。図示するように、各プロセッサ１１−１〜１１−（ｍ−１）について、処理すべきタスクと現在温度とから、低下温度Ｔｄ１〜Ｔｄ（ｍ−１）が分かる。実際には、上記低下温度の計算を行う必要はない。なぜなら、サイクルタイム及びタスクの処理時間は予め分かっており、また図１２の関係も、半導体チップの特性から判明しているため、メインメモリ２０内に最初から図１３に示すような低下温度テーブルを作成しておくことが出来るからである。従ってプロセッサ１１−ｍは、メインメモリ２０から読み出した低下温度テーブル２７を参照することによって、各プロセッサ１１−１〜１１−（ｍ−１）の低下温度Ｔｄ１〜Ｔｄ（ｍ−１）を知ることが出来る。
【００４８】
次にプロセッサ１１−ｍは実際に予測温度の算出を行う（ステップＳ４２）。予測温度の計算に際しては、上記低下温度テーブル２７及び上昇温度テーブル２４と現在温度を用いて行う。上昇温度テーブルの一例について図１４を用いて説明する。図１４は上昇温度テーブルの概念図である。
【００４９】
図示するように、上昇温度テーブル２４は、各タスクTASK-1〜TASKnを実行した際にプロセッサが上昇する温度Ｔｉ１〜Ｔｉｎを保持している。この上昇温度テーブル２４を参照することによって、各タスクを実行した際にプロセッサの温度がどれだけ上昇するかを知ることが出来る。
【００５０】
そこでプロセッサ１１−ｍは、各プロセッサ１１−１〜１１−（ｍ−１）について、現在温度Ｔｍ１〜Ｔｍ（ｍ−１）に、各タスクTASK-1〜TASK-(m-1)を実行した際に上昇する上昇温度Ｔｉ１〜Ｔｉ（ｍ−１）を加算し、更に加算結果から低下温度Ｔｄ１〜Ｔｄ（ｍ−１）を減算する。その結果、各プロセッサ１１−１〜１１−（ｍ−１）が、タスクTASK-1〜TASK-(m-1)を実行した結果達するであろう予測温度Ｔheat1〜Ｔheat(m-1)を得ることが出来る。
【００５１】
予測温度Ｔheat1〜Ｔheat(m-1)の算出が完了すると、プロセッサ１１−ｍはプロセッサ発熱テーブル２６を更新する（ステップＳ４３）。プロセッサ発熱テーブル２６の一例について図１５を用いて説明する。図１５はプロセッサ発熱テーブル２６の概念図である。図示するように、プロセッサ発熱テーブル２６は、各プロセッサ１１−１〜１１−（ｍ−１）が、ステップＳ１８で割り当てられたタスクを処理した後に達するであろう予測温度Ｔheat1〜Ｔheat(m-1)を保持する。
【００５２】
以上のステップＳ４０〜Ｓ４３の処理を、各プロセッサ１１−１〜１１−（ｍ−１）について行う（ステップＳ４４）。
【００５３】
ステップＳ２０の次にプロセッサ１１−ｍは、各プロセッサ１１−１〜１１−（ｍ−１）の予測温度Ｔheat1〜Ｔheat(m-1)と、温度情報テーブル２９を参照して得られる注意温度とを比較する（ステップＳ２１）。全てのプロセッサ１１−１〜１１−（ｍ−１）について、予測温度が注意温度よりも低ければ、プロセッサ１１−ｍはタスクを正常に実行できると判断する。そして各プロセッサ１１−１〜１１−（ｍ−１）はタスクの実行を開始する。
【００５４】
他方、予測温度が注意温度よりも大きいプロセッサが存在した場合、プロセッサ１１−ｍは、当該プロセッサについてデータ退避させる（ステップＳ２２）。ステップＳ２２について図１６を用いて説明する。図１６はデータ退避の方法のフローチャートであり、ステップＳ２２を更に細かく表したものである。
【００５５】
まずプロセッサ１１−ｍは、オペレーティングシステムに対してコンテキストセーブを依頼する。コンテキストセーブとは、当該プロセッサの状態をそのまま保存させることである。そしてＤＭＡコントローラ６０に対してデータの転送命令が出されることで、データの転送を開始する（ステップＳ５１）。以下、プロセッサ１１−１において、予測温度が注意温度を超えていた場合を例に挙げ、図１７を用いて説明する。図１７は、プロセッサ１１−１についてデータ退避を行う際のマルチコアプロセッサ１０、メインメモリ２０、及びＤＭＡコントローラ６０のブロック図である。
【００５６】
図示するように、ＤＭＡコントローラ６０は、プロセッサ１１−１内のレジスタ１５及びメモリ１６に保持されているプログラムやデータを、メインメモリ２０内のコンテキストセーブエリア３２にＤＭＡ転送にする（ステップＳ５２、Ｓ５３）。同時に、メインメモリ２０内において、プロセッサ１１−１が使用していたタスクデータ、スタックがあれば、これらもコンテキストセーブエリア３２に転送する。これにより、プロセッサ１１−１の現在の状態がメインメモリ２０に保存、保護される（ステップＳ５４）。コンテキストセーブエリア３２に保存されたデータ等は、タスクの再割り当ての際に使用される。再割り当てについては後述する。
【００５７】
以上のステップＳ５１〜Ｓ５４の処理を、全ての該当プロセッサに対して行う（ステップＳ５５）。そして、該当プロセッサの使用を停止（使用不可）する（ステップＳ２３）。上記データ退避の方法は、先に述べたステップＳ１４でも同様である。
【００５８】
＜再スケジューリング＞
上記ステップＳ２１において予測温度が注意温度を超えたプロセッサに割り当てられていたタスクが高優先順位であった場合（ステップＳ２４）、既に割り当てたタスクの処理を開始する前に、再スケジューリングを行う（ステップＳ２５）。再スケジューリングは、プロセッサ１１−ｍがオペレーティングシステムからコンテキストセーブ完了の通知を受けた後に行う。
【００５９】
例えば図１７で説明したプロセッサ１１−１は、最も優先順位の高いタスクTASK-1が割り当てられていた。そこでプロセッサ１１−ｍは、プロセッサ１１−１以外で、タスクTASK-1が割り当て可能なプロセッサを探し、割り当て可能なプロセッサがあった場合には、新たにタスクTASK-１をそのプロセッサに割り当てるよう決定する。再スケジューリングは、基本的にはタスクTASK-1を危険温度以下の空きプロセッサに割り当てるようにすれば良いが、空きプロセッサが複数ある場合には、最も温度の低いプロセッサに割り当てればよい。また、最も温度の低いプロセッサに既にタスクが割り当てられている場合には、そのタスクを退避させて、新たにタスクTASK-1を割り当てても良い。このようにしてスケジューリングをやり直す。そして再スケジューリングを行った後、ディスパッチテーブルを更新する（ステップＳ１７）。
【００６０】
図１８は、再スケジューリングの後に更新されたディスパッチテーブルの概念図である。プロセッサ１は使用停止とされているのでタスクは割り当てられない。そして他のプロセッサのいずれかは、先に割り当てられたタスクとは別のタスクが割り当てられる。
【００６１】
ここで、タスクTASK-1のプロセッサ１１−５への再割り当てが決定されたとする。すると、プロセッサ１１−ｍは、上記ステップＳ１８で説明したようにタスクの割り当てを行う。この際、タスクTASK-1に関しては、データやプログラムはコンテキストセーブエリア３２からプロセッサ１１−５に転送される。この様子を示しているのが図１９である。図１９は、タスクTASK-1をプロセッサ１１−５に割り当てる際のマルチコアプロセッサ１０、メインメモリ２０、及びＤＭＡコントローラ６０のブロック図である。
【００６２】
図示するように、プロセッサ１１−ｍから出される転送命令に従って、メインメモリ２０のコンテキストセーブエリア３２から、プロセッサ１１−５のレジスタ１５及びメモリ１６でデータやプログラムが転送される。その結果、データ退避直前におけるプロセッサ１１−１の状態が、プロセッサ１１−５に復元される。
【００６３】
＜タスクの実行＞
以上のように、ステップＳ２１で全てのプロセッサにおいて予測温度＜注意温度と判定された後、または予測温度＞注意温度であって、再スケジューリングを行った後、タスクの実行が開始される（ステップＳ２６）。なお、ステップＳ２５において再スケジューリングを行った結果、やはり高優先順位のタスクの割り当てが不可能であった場合には、当該タスクをコンテキストセーブエリア３２に保存した状態でステップＳ２６に進む。
【００６４】
上記の例で、プロセッサ１１−１のみがステップＳ２３で使用停止とされた場合を例に説明する。プロセッサ１１−ｍは、タスクを実行中のプロセッサ１１−２〜１１−（ｍ−１）の温度を定期的に監視する（ステップＳ２７）。ある特定の周期にて処理が繰り返されるリアルタイムアプリケーションを動作させている場合は、その周期間隔にて監視する。そして、温度センサ１２−２〜１２−（ｍ−１）から得られるプロセッサ１１−２〜１１−（ｍ−１）の現在温度と、温度情報テーブル２９から得られる危険温度とを比較する（ステップＳ２８）。
【００６５】
現在温度が危険温度よりも低ければ、プロセッサ１１−２〜１１−（ｍ−１）は引き続きタスクの実行を継続する（ステップＳ２９）。しかし、環境温度の急激な変化や、プロセッサの特性バラツキ、または予測し得ない過度の負荷などによって、プロセッサの現在温度が危険温度に達する場合がある。この場合には、プロセッサ１１−ｍは当該プロセッサについてデータの退避を行い（ステップＳ３１）、プロセッサの動作を停止させる。データ退避の手法はステップＳ２２で説明したとおりである。動作停止されたプロセッサは、以後そのサイクル内で動作を再開することはない。
【００６６】
そして、その他のプロセッサが、現在温度が危険温度よりも高くなることなく当該サイクルを無事終了した場合（ステップＳ３０）、プロセッサ１１−ｍはプロセッサ発熱テーブル２６を更新する（ステップＳ３３）。ステップＳ３３においては、プロセッサ１１−ｍは、プロセッサ発熱テーブル２６から発熱予測情報を減算する。従って、プロセッサ発熱テーブル内のデータは現在温度に変更される。
【００６７】
その後は、全てのタスクについて処理が完了するまでステップＳ２５からステップＳ３３を繰り返す（ステップＳ３４）。
【００６８】
上記のように、この発明の第１の実施形態に係るプロセッサシステム及びその制御方法によれば、下記（１）乃至（３）の効果を得ることが出来る。
【００６９】
（１）プロセッサシステムの動作性能を向上出来る（その１）。
【００７０】
通常、複数のプロセッサを搭載したマルチコアプロセッサにおいては、各プロセッサのリーク電流、放熱熱抵抗の不均一、プロセッサの物理的配置、更には動作させている処理の違いなどに起因して、プロセッサ毎にその温度が異なる。そこで本実施形態では、タスクの優先順位と、プロセッサ温度とに基づいて、各プロセッサにタスクを割り当てている。例えば、優先度の一番高いタスクを、一番温度の低い動作可能なプロセッサに割り当てる。例えばリアルタイムアプリケーションがある場合、その優先度を高く設定しておけば、優先的に当該タスクがプロセッサ割り当てられる為、リアルタイムアプリケーションの動作に支障が出ない。この様子を示しているのが図２０である。図２０でタスクTASK-1、TASK-10、TASK-20がリアルタイムアプリケーションである。リアルタイムアプリケーションが、例えばビデオアプリケーションやオーディオアプリケーションなどの、あるサイクルタイムで処理が終了し且つあるサイクルで繰り返される必要のあるタスクの場合には、当該タスクが定期的にプロセッサに割り当てられる。
【００７１】
このように、優先順位の高いタスクを優先してプロセッサに割り当てている。換言すれば、優先度の高いタスクがその他のタスクに優先して実行されるようにスケジューリングがなされている。従って、優先度の高いタスクが途中で停止されることを効果的に防止できる。その結果、プロセッサを利用したシステム側において重大な障害が発生することを抑制でき、プロセッサシステムの動作性能が向上できる。
【００７２】
（２）プロセッサシステムの動作性能を向上出来る（その２）。
【００７３】
本実施形態に係る構成であると、タスクを実行する前に、タスクを実行した後に達するであろうプロセッサの予測温度を計算している。そして計算結果によりプロセッサ発熱テーブルを作成している。そして、予測温度が注意温度に達しないようにタスクの割り当てを行っている。従って、実際にタスクを実行した後にプロセッサが注意温度以上に上昇する可能性は低い。しかし、周囲環境などの影響によりプロセッサが危険温度に達した場合には、当該プロセッサが実行しているタスクを退避させ、メインメモリ２０内のコンテキストセーブエリア３２に状態保存している。従って、例えプロセッサがタスク完了前に動作停止とされた場合であっても、次のサイクルでこのタスクが優先的にプロセッサに割り当てられ、且つ動作停止した段階から処理を再開出来る。
【００７４】
この様子を示しているのが図２１である。図示するように、タスクTASK-1は、サイクル１ではプロセッサ１１−１で実行されているが、処理途中で動作停止されたとする。すると、次のサイクル２でプロセッサ１１−３に再度割り当てられ、且つプロセッサ１１−１で処理を完了した段階から処理を始める。またプロセッサ１１−３でも処理途中で動作停止とされ、且つサイクル３で割り当て可能なプロセッサが存在しない場合には、更に次のサイクル４でプロセッサ１１−１に割り当てられる。
【００７５】
このように、タスクの処理が途中で停止されたとしても、当該サイクル以降で優先的にプロセッサに割り当てられ、且つ途中から処理を再開出来るため、プロセッサを利用したシステム側において発生する障害を抑制出来る。従って、プロセッサシステムの動作性能を向上できる。
【００７６】
（３）プロセッサシステムの温度上昇を抑制できる。
【００７７】
本実施形態に係るプロセッサシステムであると、危険温度に達したプロセッサの動作を停止させている。従って、プロセッサシステム全体としての温度上昇を抑制できる。
【００７８】
また上記（２）で説明したように、いずれかのプロセッサがタスク実行中に動作停止されたとしても、当該プロセッサの状態（演算途中のデータ等を含む）はメインメモリにコンテキストセーブされるため、動作性能の低下を最小限にすることが出来る。
【００７９】
なお、上記実施形態では、ステップＳ１７の処理において、ディスパッチテーブル２３を図１８に示すように全て書き換える場合を例に挙げて説明した。しかしこの際、古いディスパッチテーブルも保存しておいても良い。この場合、再スケジューリングによっても割り当ての変更が為されなかったタスクについては、当該タスクの割り当て処理を省略することが出来る。
【００８０】
次に、この発明の第２の実施形態に係るプロセッサシステム及びその制御方法について説明する。本実施形態は、上記第１の実施形態において予測温度の計算をタスク割り当ての前に行うものである。プロセッサシステムの構成は上記第１の実施形態で説明したとおりであるので説明は省略する。以下では、図２２のフローチャートを用いてプロセッサシステムの動作について説明する。なお、第１の実施形態と同様の点については説明を省略する。
【００８１】
まず、第１の実施形態で説明したステップＳ１０〜Ｓ１５の処理を行って初期化を済ませる。初期化が完了した後、本実施形態ではまず予測温度の計算を行う（ステップＳ６０）。ステップＳ６０の予測温度の計算方法は、基本的には第１の実施形態で説明したステップＳ１９と同じであるが、本実施形態では各プロセッサにつき複数のタスクを実行した場合について予測温度を計算する。そのため、予測温度の計算には、第１の実施形態で図１４を用いて説明した上昇温度テーブル２４と、図２３に示す低下温度テーブル２７を用いる。本実施形態で使用する低下温度テーブル２７の第１の実施形態と異なる点は、プロセッサ１１−１〜１１−（ｍ−１）について、全てのタスクTASK-1〜TASK-nを実行した場合の低下温度を保持している点にある。各プロセッサが、タスクTASK-1〜TASK-nを処理した場合の低下温度の算出方法は第１の実施形態と同様である。すなわち、本実施形態ではプロセッサ１１−１〜１１−（ｍ−１）とタスクTASK-1〜TASK-nの全ての組み合わせについて低下温度を計算して、図２３に示すような低下温度テーブル２７を作成する。
【００８２】
そして、プロセッサ１１−ｍは図２３の低下温度テーブル２７を用いて、プロセッサ１１−１〜１１−（ｍ−１）の予測温度を計算する。計算方法は第１の実施形態と同様である。しかし低下温度テーブル２７と同様、予測温度に関しても、全てのプロセッサ１１−１〜１１−（ｍ−１）と、全タスクTASK-1〜TASK-nとの全組み合わせについて計算する。その結果、図２４に示すようなプロセッサ発熱テーブル２６が完成する（ステップＳ６１）。すなわち、プロセッサ発熱テーブル２６を参照することで、プロセッサ１１−１がタスクTASK-1〜TASK-nを実行した場合の予測温度Ｔheat11〜Ｔheat1n、プロセッサ１１−２がタスクTASK-1〜TASK-nを実行した場合の予測温度Ｔheat21〜Ｔheat2n、プロセッサ１１−３がタスクTASK-1〜TASK-nを実行した場合の予測温度Ｔheat31〜Ｔheat3n、…プロセッサ１１−（ｍ−１）がタスクTASK-1〜TASK-nを実行した場合の予測温度Ｔheat(m-1)1〜Ｔheat(m-1)nを知ることが出来る。
【００８３】
プロセッサ発熱テーブル２６を更新した後に、プロセッサ１１−ｍはスケジューリングを行う（ステップＳ６２）。スケジューリングは、優先順位テーブル２２から得られる各タスクの優先度、各プロセッサ１１−１〜１１−（ｍ−１）の現在温度、プロセッサ発熱テーブル２６から得られる各プロセッサ１１−１〜１１−（ｍ−１）の予測温度、及び温度情報テーブルから得られる注意温度を用いて行われる。基本的には第１の実施形態と同様に、最も現在温度の低いプロセッサに対して、最も優先度の高いタスクを割り当てるようにしてスケジューリングを行う。スケジューリングの過程で予測温度と注意温度（ステップＳ６３）との比較を行い、高優先度のタスクに関して予測温度が注意温度を超えた場合（ステップＳ６４）には再スケジューリングを行う（ステップＳ６６）。この段階ではタスクをプロセッサに実際には割り当てていないため、予測温度が注意温度を超えたプロセッサの動作を停止する必要はない。プロセッサ１１−ｍは、タスクの優先順位と現在温度とを考慮しつつ、可能な限り非動作プロセッサが生じないように効率的にスケジューリングを行う。
【００８４】
スケジューリングが完了すると、プロセッサ１１−ｍはディスパッチテーブル２３を更新する（ステップＳ６５）。そしてプロセッサ１１−ｍはディスパッチテーブル２３に基づいて、各プロセッサ１１−１〜１１−（ｍ−１）にタスクを割り当てる。
【００８５】
その後は第１の実施形態と同様にステップＳ２６以降の処理が行われる。
【００８６】
上記のように本実施形態に係るプロセッサシステム及びその制御方法であると、第１の実施形態で説明した（１）乃至（３）の効果に加えて、下記（４）の効果をあわせて得ることが出来る。  
（４）プロセッサシステムの性能を向上できる（その３）
本実施形態に係る構成及び方法であると、タスクをプロセッサに割り当てる前に、各プロセッサについて、複数のタスクをそれぞれ実行した際の予測温度を計算している。従って、タスク割り当てを行うプロセッサ（またはシステムコントローラ）は、プロセッサとタスクとの全ての組み合わせについての予測温度を知ることが出来る。そのため、タスクの優先度を考慮しつつ、各プロセッサへの効率的なタスク割り当てが可能となり、プロセッサシステムとしての処理能力を向上できる。
【００８７】
次に、この発明の第３の実施形態に係るプロセッサシステム及びその制御方法について説明する。本実施形態は、上記第１、第２の実施形態において、マルチコアプロセッサ温度上昇を更に抑制するための方法に関する。プロセッサシステムの構成は第１の実施形態と同様であるので説明は省略する。以下、本実施形態に係るプロセッサシステムの動作について図２５を用いて説明する。図２５は、本実施形態に係るプロセッサシステムの一部動作のフローチャートである。
【００８８】
まず、上記第１の実施形態で説明したステップＳ２１、Ｓ２４、または第２の実施形態で説明したステップＳ１８の後、プロセッサ１１−１〜１１−（ｍ−１）がタスクの実行を開始する（ステップＳ２６）。そしてプロセッサ１１−ｍは、プロセッサ１１−１〜１１−（ｍ−１）がタスクの温度を定期的に監視する（ステップＳ２７）。そして、上記第１、第２の実施形態では、ステップＳ２８において現在温度と危険温度とを比較していたが、本実施形態ではステップＳ７０において、現在温度と注意温度とを比較する。現在温度が注意温度より低ければ当該プロセッサにタスクの実行を継続させ（ステップＳ２９）、注意温度以上であればデータを退避させて（ステップＳ３１）、当該プロセッサの動作を停止させる（ステップＳ３２）。
【００８９】
その後の処理は第１、第２の実施形態と同様である。
【００９０】
本実施形態に係る方法であると、上記第１、第２の実施形態で説明した（１）乃至（４）の効果に加えて、下記（５）の効果を得ることが出来る。  
（５）マルチコアプロセッサの温度上昇を効果的に抑制できる。
【００９１】
この点について図２６を用いて説明する。図２６は、時間に対するプロセッサの状態と、プロセッサの温度とを示したグラフである。以下、タスクが時刻ｔ０で開始され、サイクルタイムが時刻ｔ０からｔ３の期間であり、且つプロセッサ温度が危険温度よりも上昇する場合を考える。
【００９２】
プロセッサがタスクを実行中、当該プロセッサ温度を危険温度と比較する場合、図２６に示すように、プロセッサは時刻ｔ２でその動作を停止される。従って、時刻ｔ２から時刻ｔ３までの期間Δｔ１が空き時間となり、この空き時間の期間、プロセッサの温度は低下する。しかし、プロセッサに対して動作停止命令が出されたとしても、当該プロセッサはその命令と同時に動作を停止することは出来ず、命令から実際の動作停止までの間には一定のタイムラグが存在する。従って、プロセッサの温度は時刻ｔ２を経過してもすぐには低下せず、一定時間経過した後に低下し始める。すると、図中のＣＡＳＥ３として示したように、空き時間Δｔ１の期間では十分にプロセッサの温度が低下せず、次のサイクルタイムが始まる時刻ｔ３になっても危険温度以上である場合が発生する。更には図中のＣＡＳＥ４として示したように、プロセッサの温度が絶対危険温度に達する可能性もある。プロセッサが絶対危険温度に達すれば、もはや当該プロセッサは物理的に動作不能となるおそれもある。
【００９３】
しかし本実施形態では、タスク実行中のプロセッサの温度を、危険温度よりも低い注意温度と比較している。すると図２６に示すように、プロセッサは時刻ｔ１で動作を停止する。従って、時刻ｔ１から時刻ｔ３までの期間Δｔ２（＞Δｔ１）が空き時間となる。よって、当該プロセッサは空き時間Δｔ２の期間に十分冷却され、ＣＡＳＥ２のように安全温度以下まで低下するか、最悪の場合でも注意温度よりは必ず低い温度となる（ＣＡＳＥ１）。
【００９４】
以上のように、本実施形態に係る方法であると、十分にプロセッサを冷却することが出来、その結果、プロセッサの熱暴走や破壊を防止出来る。また、プロセッサは空き時間で十分冷却されるため、次のサイクルタイムにタスクを割り当てることが可能となる。従って、プロセッサシステムとしての処理効率を向上できる。
【００９５】
次に、この発明の第４の実施形態に係るプロセッサシステム及びその制御方法について説明する。本実施形態は、上記第１乃至第３の実施形態において、予測温度の算出精度を向上する方法に関する。
【００９６】
図２７はマルチコアプロセッサ１０のブロック図である。各プロセッサ１１−１〜１１−ｍは、互いに隣接するプロセッサから熱伝播の影響を受け、この影響によって温度が上昇する。例えば図２７のように配置されている場合、プロセッサ１１−１は、プロセッサ１１−１との距離が最も小さい（ｄ１）プロセッサ１１−２、１１−３から熱伝播の影響を強く受ける。また次に距離の小さい（ｄ２）プロセッサ１１−４からも少なからず熱伝播の影響を受ける。その他のプロセッサ１１−５〜１１−ｍからも、程度の差はあるが熱伝播の影響を受ける。
【００９７】
そこで本実施形態では、上記第1乃至第３の実施形態におけるステップＳ１９、Ｓ６０の予測温度算出の際に、隣接プロセッサからの熱伝播の影響を加味する。例えば図２７におけるプロセッサ１１−１に着目すると、予測温度Ｔheatは図２８に示すようになる。すなわち、プロセッサ１１−２、１１−３、１１−４からの熱伝播による影響によって上昇する温度をそれぞれ影響温度Ｔaff１２、Ｔaff１３、Ｔaff１４とすれば、  
Ｔheat１＝Ｔｍ１＋（Ｔｉ−Ｔｄ）＋Ｔaff１２＋Ｔaff１３＋Ｔaff１４
となる。
【００９８】
上記のように、予測温度の算出の際に影響温度を更に加算するために、メインメモリ２０に影響温度テーブルを保持させる。影響温度テーブルの一例を図２９に示す。図２９は影響温度テーブルの概念図である。
【００９９】
図示するように影響温度テーブルは、各プロセッサ１１−１〜１１−ｍが、その他のプロセッサから受ける熱伝播の影響を係数ｃとして保持している。この係数ｃは、予めシミュレーションや実機での計測により求めておく。そして、この係数と各プロセッサの現在温度を掛け合わせることにより影響温度Ｔaffが算出される。例えばプロセッサ１１−１がプロセッサ１１−２から受ける熱伝播の影響の係数をｃ１２とし、プロセッサ１１−２の現在温度がＴｍ２だったとすると、プロセッサ１１−１がプロセッサ１１−２の影響によって上昇する影響温度Ｔaff１は（Ｔｍ２×ｃ１２）として算出される。この計算を、プロセッサ１１−ｍがステップＳ１９、Ｓ６０、またはそれ以前に行い、影響温度テーブルを完成させる。そして実際に予測温度Ｔheatを算出する際には、上昇温度テーブル及び低下温度テーブルだけでなく影響温度テーブルを参照する。
【０１００】
本実施形態に係る方法であると、上記第１乃至第２の実施形態で説明した（１）乃至（５）の効果に加えて、下記（６）の効果を得ることが出来る。  
（６）プロセッサシステムの性能を向上出来る（その４）。
【０１０１】
本実施形態に係る方法であると、その他のプロセッサの持つ熱による影響を加味して予測温度Ｔheatを算出している。従って、予測温度Ｔheatの精度が向上する、すなわち、予測温度Ｔheatと、実際にタスクを実行させた際の温度との誤差を少なくできる。従って、タスクを実行させた際にプロセッサの温度が危険温度（または注意温度）を超えるケースを少なくできる。従って、より効率的なプロセッサの使用が可能となり、プロセッサシステムの性能を向上できる。
【０１０２】
なお上記ではプロセッサ１１−１を例に挙げて、プロセッサ１１−２〜１１−４からの熱伝播を考慮する場合について説明したが、考慮に入れるプロセッサの数を増やすほど精度は向上する。しかし当該プロセッサから遠くなるほど熱伝播の影響は小さくなる。従って、どのプロセッサまで考慮に入れるかは、望まれる予測精度と、その計算量とを総合的に勘案しつつ決定すればよい。
【０１０３】
また影響温度に関しては、フィードバックの影響を考慮してもよい。例えばプロセッサ１１−１とプロセッサ１１−２との関係に着目する。プロセッサ１１−１はプロセッサ１１−２からの熱伝播によって温度が上昇する。するとプロセッサ１１−２も、温度が上昇したプロセッサ１１−１からの熱伝播によって温度が上昇する。更にプロセッサ１１−１は、温度の上昇したプロセッサ１１−２の影響によって温度が上昇する。このように、プロセッサが互いに影響しあって温度が上昇する場合を考慮に入れて影響温度テーブルを作成しても良い。この場合には更に精度良く予測温度を算出出来る。
【０１０４】
次に、この発明の第５の実施形態に係るプロセッサシステム及びその制御方法について説明する。本実施形態は、マルチコアプロセッサ１０内において、意図的に動作させないプロセッサを設けることによって、マルチコアプロセッサ全体の温度上昇を抑制するものである。
【０１０５】
図３０は本実施形態に係るマルチコアプロセッサ１０のブロック図であり、時間と共にプロセッサの動作が変化する様子を示す図である。図示するように、本実施形態に係るマルチコアプロセッサ１０は、いずれか１つ以上のプロセッサが強制的に動作停止とされ、サイクルタイム毎に動作停止されるプロセッサが変化する。
【０１０６】
図３１は、各プロセッサ１１−１〜１１−ｍの動作の様子を示すタイムチャートであり、動作停止とされるプロセッサは図３０に対応している。図３０、図３１に示すように、サイクルタイム１ではプロセッサ１１−１が動作停止とされ、次のサイクルタイム２ではプロセッサ１１−２が動作停止とされ、次のサイクルタイム３ではプロセッサ１１−３が動作停止とされる。動作停止とされたプロセッサは、当然ながら何らの処理も行わず、その期間は空き時間となる。
【０１０７】
上記のように、プロセッサを順次動作停止とするためには、タスク管理を行うプロセッサ、またはシステムコントローラがディスパッチテーブルを保持する。そしてディスパッチテーブル内においていずれかのプロセッサに強制的にタスクを割り当てないようにすると共に、サイクルが切り替わる毎にプロセッサ番号をインクリメントまたはデクリメントすることで、動作停止プロセッサを切り替えていく。
【０１０８】
本実施形態に係るプロセッサシステム及びその制御方法によれば、上記第１乃至第４の実施形態で説明した（１）乃至（６）の効果に加えて、下記（７）の効果が得られる。  
（７）マルチコアプロセッサの温度上昇を抑制できると共に、温度を均一に出来る。
【０１０９】
本実施形態によれば、動作させないプロセッサを意図的に設け、それを動的に変化させている。従って、まず動作させないプロセッサを設けることで、マルチコアプロセッサ１０の温度上昇を効果的に抑制できる。また、サイクルが切り替わる毎に、動作停止とするプロセッサも順次切り替える。従って、マルチコアプロセッサの温度分布が局所的に高くなったり低くなったりすることなく、均一にすることができる。
【０１１０】
以上の結果、温度に応じた各プロセッサの特性がマルチコアプロセッサ１０内においてほぼ等しくなり、プロセッサの特性が場所によってばらつくことを防止出来る。
【０１１１】
なお上記方法は、図３２に示すように専用のハードウェアを用いて行っても良い。図３２はマルチコアプロセッサ１０のブロック図である。図示するように、マルチコアプロセッサ１０は、プロセッサ１１−１〜１１−ｍを制御するコントローラ１７を備えている。コントローラ１７は、内部にプロセッサ番号を保持しており、当該プロセッサ番号に対応するプロセッサ１１−１〜１１−ｍのいずれかを強制的に動作停止の状態とする。そして、例えばタスク割り当てなどをプロセッサ１１−ｍが行う場合には、いずれのプロセッサを動作停止にさせるかをプロセッサ１１−ｍに通知する。またコントローラ１７はインクリメントユニットまたはデクリメントユニット１８を備え、サイクルが切り替わる毎にプロセッサ番号をインクリメントまたはデクリメントする。そしてプロセッサ１１−ｍは、コントローラ１７によって動作停止とされたプロセッサを除いたプロセッサに対してタスクの割り当てを行う。
【０１１２】
次に、この発明の第６の実施形態に係るプロセッサシステム及びその制御方法について説明する。本実施形態は上記第１乃至第５の実施形態において、優先度の高いタスクを緊急避難的に動作させるためのプロセッサを設けるものである。
【０１１３】
本実施形態に係るマルチコアプロセッサ１０の動作について図３３を用いて説明する図３３はマルチコアプロセッサ１０のブロック図であり、時間と共に動作が変化する様子を示している。図示するように、プロセッサ１１−ｍはプロセッサ１１−１を緊急避難用プロセッサとして扱い、サイクルタイム１〜３においてプロセッサ１１−１をタスクのスケジューリング対象からはずす。そしてプロセッサ１１−２〜１１−（ｍ−１）を対象にしてスケジューリング及びタスク割り当てを行う。
【０１１４】
動作が進行するに従ってマルチコアプロセッサ１０の温度が全体的に上昇し始め、サイクルタイム４において再スケジューリング先が無くなったと仮定する。するとプロセッサ１１−ｍは、緊急避難用としてスケジューリング対象からはずしていたプロセッサ１１−１に最も優先度の高いタスクを割り当てる。同時にその他のプロセッサ１１−２〜１１−（ｍ−１）の動作を停止させる。
【０１１５】
その後、マルチコアプロセッサ１０の温度が低下したら、サイクルタイム１〜３と同じように、プロセッサ１１−１を停止させ、プロセッサ１１−２〜１１−（ｍ−１）をスケジューリング対象としてにタスクを割り当てる。
【０１１６】
図３４は、プロセッサの動作状態とマルチコアプロセッサ１０の温度の時間変化を示している。図示するように、サイクルタイム１〜３の期間でマルチコアプロセッサ１０の温度が上昇する。しかしサイクルタイム４でプロセッサ１１−２〜１１−（ｍ−１）の動作を停止させるため、マルチコアプロセッサ１０の温度は急激に低下する。
【０１１７】
上記のように、本実施形態に係るプロセッサシステム及びその制御方法であると、上記第１乃至第５の実施形態で説明した（１）乃至（７）の効果に加えて、下記（８）の効果が得られる。  
（８）アプリケーションの停滞を防止しつつプロセッサシステムの温度上昇を抑制できる。  
本実施形態に係るマルチコアプロセッサ１０は、緊急避難用のプロセッサ１１−１を有している。このプロセッサ１１−１は通常動作時には動作停止とされており、その他の通常動作用プロセッサ１１−２〜１１−（ｍ−１）によってタスクが実行されている。しかし、マルチコアプロセッサ１０の温度が一定以上に達した場合には、全ての通常動作用プロセッサ１１−２〜１１−（ｍ−１）を動作停止させる。これによりマルチコアプロセッサは急激に冷却され、十分に温度が低下させる。通常動作用プロセッサ１１−２〜１１−（ｍ−１）が動作停止されている期間は、緊急避難用プロセッサ１１−１が動作状態される。そしてプロセッサ１１−１によって、最も優先度の高いタスクが実行される。従って、アプリケーションの停滞を最小限にすることが出来る。
【０１１８】
なお本実施形態においても、上記第５の実施形態と同様に、プロセッサの動作停止を専用のコントローラによって行っても良い。すなわち図３５に示すように、マルチコアプロセッサ１０内にコントローラ１９を設ける。コントローラ１９は、マルチコアプロセッサ１０の温度が一定以下である場合には緊急避難用プロセッサ１１−１の動作を停止させる。この情報はプロセッサ１１−ｍに与えられる。そして、マルチコアプロセッサ１０の温度が一定以上に達した場合には、プロセッサ１１−２〜１１−（ｍ−１）の動作を停止させ、プロセッサ１１−１の動作を開始させる。タスクの割り付けなどの制御をプロセッサ１１−ｍが行っている場合には、プロセッサ１１−１だけでなくプロセッサ１１−ｍを動作状態にしておいても良いが、コントローラ１９が一時的にプロセッサ１１−ｍの役割を果たすことでプロセッサ１１−ｍの動作を停止させても良い。
【０１１９】
以上のように、この発明の第１乃至第６の実施形態に係るプロセッサシステム及びその制御方法であると、各プロセッサの現在温度とタスクの優先順位とに応じてタスクの割り当てを行っている。そしてプロセッサの温度が上昇した場合には、当該プロセッサの動作を停止させると共にその状態をメインメモリにコンテキストセーブし、次以降のサイクルタイムで処理途中の段階から処理を再開させる。従って、熱上昇に伴うプロセッサシステムの処理能力の低下を抑制出来る。
【０１２０】
なお、上記第１の実施形態ではまず最低温度のプロセッサに最高優先順位のタスクを割り当てた後、当該プロセッサにおいて予測温度が注意温度を上回った場合には当該プロセッサを動作停止としていたが、勿論、優先順位が次順位以降のタスクを再割り当てしても良い。
【０１２１】
また、上記第１乃至第６の実施形態では、各プロセッサ１１−１〜１１−ｍ毎に温度センサ１２−１〜１２−ｍが設けられる場合を例に挙げて説明した。しかし、温度センサは必ずしもプロセッサ毎に必要ではない。すなわち、１つの温度センサを複数のプロセッサ同士で共有して、１つの温度センサで複数のプロセッサ温度を測定する構成であっても良い。また温度センサをチップのホットスポット（他の部分に比べて温度の高い領域）に配置することによって、ホットスポット近辺のプロセッサの温度を測定しても良い。
【０１２２】
上記第１乃至第６の実施形態に係るプロセッサシステムは、例えばゲーム機、ホームサーバー、テレビ、または携帯情報端末などに搭載することが出来る。図３６は上記第１乃至第６の実施形態で説明したプロセッサシステムを搭載したデジタルテレビの備えるデジタルボードのブロック図である。デジタルボードは、画像・音声などの通信情報を制御するためのものである。図示するように、デジタルボード１００は、フロントエンド部１１０、画像描画プロセッサシステム１２０、デジタル入力部１３０、Ａ／Ｄコンバータ１４０、１８０、ゴーストリダクション部１５０、三次元ＹＣ分離部１６０、カラーデコーダ１７０、ＬＡＮ処理ＬＳＩ１９０、ＬＡＮ端子２００、ブリッジメディアコントローラ２１０、カードスロット２２０、フラッシュメモリ２３０、及び大容量メモリ（例えばＤＲＡＭ：Dynamic Random Access Memory）２４０を備えている。フロントエンド部１１０は、デジタルチューナーモジュール１１１、１１２、ＯＦＤＭ（Orthogonal Frequency Division Multiplex）復調部１１３、ＱＰＳＫ（Quadrature Phase Shift Keying）復調部１１４を備えている。
【０１２３】
画像描画プロセッサシステム１２０は、送受信回路１２１、ＭＰＥＧ２デコーダ１２２、グラフィックエンジン１２３、デジタルフォーマットコンバータ１２４、及びプロセッサ１２５を備えている。そして、例えばグラフィックエンジン１２３及びプロセッサ１２５が、上記第１乃至第６の実施形態で説明したマルチコアプロセッサ１０及びメインメモリ２０がプロセッサ１２５に対応する。
【０１２４】
上記構成において、地上デジタル放送波、ＢＳデジタル放送波、及び１１０°ＣＳデジタル放送波は、フロントエンド部１１０で復調される。また地上アナログ放送波及びＤＶＤ／ＶＴＲ信号は、３次元ＹＣ分離部１６０及びカラーデコーダ１７０でデコードされる。これらの信号は、画像描画プロセッサシステム１２０に入力され、送受信回路１２１で、映像・音声・データに分離される。そして、映像に関しては、ＭＰＥＧ２デコーダ１２２を介してグラフィックエンジン１２３に映像情報が入力される。
【０１２５】
図３７は、上記第１乃至第６の実施形態で説明したプロセッサシステムを備えた録画再生機器のブロック図である。図示するように、録画再生機器３００はヘッドアンプ３１０、モータードライバ３２０、メモリ３３０、画像情報制御回路３４０、ユーザＩ／Ｆ用ＣＰＵ３５０、フラッシュメモリ３６０、ディスプレイ３７０、ビデオ出力部３８０、及びオーディオ出力部３９０を備えている。
【０１２６】
画像情報制御回路３４０は、メモリインターフェース３４１、デジタル信号プロセッサ３４２、プロセッサ３４３、映像処理用プロセッサ３４４、及びオーディオ処理用プロセッサ３４５を備えている。
【０１２７】
上記構成において、ヘッドアンプ３１０で読み出された映像データが画像情報制御回路３４０に入力される。そして、デジタル信号処理プロセッサ３４２から映像情報用プロセッサに図形情報が入力される。すると映像情報用プロセッサ３４５は図形情報に基づいて物体を描画する。そして上記第１乃至第６の実施形態で説明したマルチコアプロセッサ１０がプロセッサ３４３に対応し、メインメモリ２０がメモリ３３０に対応する。
【０１２８】
上記のように、この発明の一態様に係るプロセッサシステムは、  
１．各々が独立してタスクを処理する複数の第１プロセッサと、  
前記第１プロセッサの各々の温度を測定する温度センサと、  
前記第１プロセッサで処理される前記タスクのプログラム、及び前記タスクとその優先順位との関係を保持するタスク優先順位テーブルとを記憶するメインメモリと、  
前記優先順位テーブルと、前記温度センサで測定した各々の前記第１プロセッサの温度とに基づいて、前記タスクを前記第１プロセッサの各々に割り当てる第２プロセッサとを具備する。
【０１２９】
２．上記１において、前記第２プロセッサは、前記タスクを処理した際に各々の前記プロセッサが達する温度を予測し、前記予測した温度が規定温度を超える場合には当該プロセッサに割り当てたタスクを前記メインメモリに退避させて、当該プロセッサの動作を停止させる。
【０１３０】
３．上記１において、前記第２プロセッサは、前記タスクを処理した際に各々の前記プロセッサが達する温度を予測し、前記予測した温度が規定温度を超えない前記プロセッサにのみ前記タスクを割り当てる。
【０１３１】
また、この発明の一態様に係るプロセッサシステムの制御方法は、
４．複数のプロセッサを備えたプロセッサシステムの制御方法であって、  
前記複数のプロセッサの温度を計測するステップと、  
処理の優先順位と各プロセッサの温度とに応じて、各々の前記プロセッサにタスクを割り当てるステップと、  
前記タスクを処理した際に各々の前記プロセッサが達する温度を予測するステップと、  
前記予測した温度が規定温度を超える場合、当該プロセッサに割り当てたタスクをメインメモリに退避させるステップと、  
前記予測した温度が規定温度を超えない前記プロセッサが、それぞれに割り当てられた前記タスクを処理するステップとを具備する。
【０１３２】
更に、この発明の一態様に係るプロセッサシステムの制御方法は、
５．複数のプロセッサを備えたプロセッサシステムの制御方法であって、  
前記複数のプロセッサの温度を計測するステップと、  
処理の優先順位と各プロセッサの温度とに応じて、各々の前記プロセッサに割り当てるべきタスクを決定するステップと、  
前記割り当てるべきタスクを決定するステップにおいて決定された前記タスクを、各々の前記プロセッサが処理した際に達する温度を予測するステップと、  
前記予測した温度が規定温度を超える前記プロセッサには前記タスクを割り当てず、前記予測した温度が規定温度を超えない前記プロセッサに前記タスクを割り当てるステップと、  
前記タスクを割り当てられた前記プロセッサが、該タスクを処理するステップとを具備する。
【０１３３】
６．上記１において、前記メインメモリは、前記第１プロセッサと、各々の前記第１プロセッサに割り当てるべき前記タスクとの対応関係情報を保持するタスク割り当てテーブルを更に記憶し、  
前記第２プロセッサは、前記温度センサによって測定された温度が最も低い前記第１プロセッサに対して、前記タスク優先順位テーブルにおいて最も優先順位の高いタスクを割り当てるように前記タスク割り当てテーブルを書き換え、  
前記第２プロセッサは、前記タスク割り当てテーブルの情報に従って、前記タスク割り当てテーブルの情報に応じて、前記タスクを前記第１プロセッサに割り当てる。
【０１３４】
７．上記２または３において、前記規定温度は、前記第１プロセッサが動作を許容する上限温度であって、  
前記メインメモリは、各々の前記第１プロセッサの上限温度情報を保持する上限温度テーブルと、  
前記タスクを処理した際における前記第１プロセッサの上昇温度情報を保持する上昇温度テーブルと、  
前記タスクを処理した際に発生する空き時間に応じて低下する前記第１プロセッサの低下温度情報を保持する低下温度テーブルと、  
前記タスクを処理した結果達する前記第１プロセッサの温度情報を保持する予測温度テーブルとを更に記憶し、  
前記第２プロセッサは、前記温度センサから得られる現在温度と、前記上昇温度テーブルから得られる上昇温度と、前記低下温度テーブルから得られる低下温度とを用いて、前記第１プロセッサの各々に前記タスクを割り当てた際に達する前記第１プロセッサの前記予測温度を計算して前記予測温度テーブルに保持させ、該予測温度テーブルと、前記上限温度テーブルに保持される前記上限温度とを比較する。
【０１３５】
８．上記２または３において、前記第２プロセッサは前記温度センサを監視し、前記タスクの処理中にいずれかの前記第１プロセッサが前記規定温度に達した場合、処理途中の当該タスクをメインメモリに退避させて当該プロセッサの動作を停止させ、  
前記メインメモリは、退避された前記タスクの情報を保持すべきコンテキストセーブ領域を備える。
【０１３６】
９．上記１において、前記メインメモリは、各々の前記第１プロセッサが、その他の隣接する前記第１プロセッサからの熱伝播によって上昇する前記第１プロセッサの影響温度情報を保持する影響温度テーブルを更に記憶し、  
前記第２プロセッサは、前記現在温度に対して前記上昇温度及び前記影響温度を加算し、更に前記低下温度を減算することにより前記予測温度を計算する。
【０１３７】
１０．上記４または５において、前記温度を計測するステップにおいて計測された温度が最も低い前記プロセッサに対して、最も優先順位の高い前記タスクが割り当てられる。
【０１３８】
１１．上記４において、前記優先順位の高い前記タスクが退避させられた場合、他のいずれかの前記プロセッサに該タスクを再度割り当てるステップを更に備える。
【０１３９】
１２．上記４または５において、前記タスクを処理するステップの後、いずれかの前記プロセッサが規定温度に達した場合、当該プロセッサで処理途中の前記タスクをメインメモリに退避させるステップと、  
前記規定温度に達した前記プロセッサの動作を停止させるステップと、  
前記退避されたタスクを、異なる前記プロセッサに再度割り当てるステップとを更に備える。
【０１４０】
１３．上記１２において、前記タスクをメインメモリに退避させるステップは、前記プロセッサの備えるレジスタ及びメモリの内容を前記メインメモリに格納することにより、前記プロセッサの状態を保存し、  
前記異なるプロセッサに再度割り当てるステップは、前記タスクをメインメモリに退避させるステップにおいて保存した前記プロセッサの状態をメインメモリから読み出すことにより、前記異なるプロセッサに対して前記タスクを途中から再開させる。
【０１４１】
１４．上記４または５において、前記温度を予測するステップは、前記温度を計測するステップで得られた現在温度と、前記タスクを処理した際に予想される上昇温度とを加算するステップと、  
前記現在温度と前記上昇温度を加算した加算結果から、１つの処理を実行するための単位時間内における空き時間に基づいて求められる前記プロセッサの下降温度を減算するステップとを含み、前記減算するステップで得られた減算結果を予測温度とする。
【０１４２】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【図面の簡単な説明】
【０１４３】
【図１】この発明の第１の実施形態に係るプロセッサシステムのブロック図。
【図２】この発明の第１の実施形態に係るプロセッサシステムの備えるメインメモリの概念図であり、メインメモリに保持されるメモリ空間と保持される情報とを示す図。
【図３】この発明の第１の実施形態に係るプロセッサシステムの制御方法のフローチャート。
【図４】この発明の第１の実施形態に係るプロセッサシステムの備えるメインメモリに保持される温度情報テーブルの概念図。
【図５】この発明の第１の実施形態に係るプロセッサシステムの備えるメインメモリに保持される優先順位テーブルの概念図。
【図６】この発明の第１の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサ内の各プロセッサと現在温度との関係を示す図。
【図７】この発明の第１の実施形態に係るプロセッサシステムの備えるメインメモリに保持されるディスパッチテーブルの概念図。
【図８】この発明の第１の実施形態に係るプロセッサシステムのブロック図であり、メインメモリからタスクプログラムがＤＭＡ転送される様子を示す図。
【図９】この発明の第１の実施形態に係るプロセッサシステムの制御方法において、予測温度を算出してプロセッサ発熱テーブルを作成するための処理の流れを示すフローチャート。
【図１０】この発明の第１の実施形態に係るプロセッサシステムの備えるメインメモリに保持される処理時間テーブルの概念図。
【図１１】この発明の第１の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサの状態を示すタイムチャート。
【図１２】この発明の第１の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサ内のプロセッサの、空き時間と低下温度との関係を示すグラフ。
【図１３】この発明の第１の実施形態に係るプロセッサシステムの備えるメインメモリに保持される低下温度テーブルの概念図。
【図１４】この発明の第１の実施形態に係るプロセッサシステムの備えるメインメモリに保持される上昇温度テーブルの概念図。
【図１５】この発明の第１の実施形態に係るプロセッサシステムの備えるメインメモリに保持されるプロセッサ発熱テーブルの概念図。
【図１６】この発明の第１の実施形態に係るプロセッサシステムの制御方法において、データ退避の際の処理の流れを示すフローチャート。
【図１７】この発明の第１の実施形態に係るプロセッサシステムのブロック図であり、プロセッサからメインメモリにデータの退避を行う様子を示す図。
【図１８】この発明の第１の実施形態に係るプロセッサシステムの備えるメインメモリに保持されるディスパッチテーブルの概念図。
【図１９】この発明の第１の実施形態に係るプロセッサシステムのブロック図であり、タスクを再割り当てする際に、メインメモリからプロセッサにデータをＤＭＡ転送する様子を示す図。
【図２０】この発明の第１の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサの状態を示すタイムチャート。
【図２１】この発明の第１の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサの状態を示すタイムチャート。
【図２２】この発明の第２の実施形態に係るプロセッサシステムの制御方法のフローチャート。
【図２３】この発明の第２の実施形態に係るプロセッサシステムの備えるメインメモリに保持される低下温度テーブルの概念図。
【図２４】この発明の第２の実施形態に係るプロセッサシステムの備えるメインメモリに保持されるプロセッサ発熱テーブルの概念図。
【図２５】この発明の第３の実施形態に係るプロセッサシステムの制御方法において、タスク実行中の処理の流れを示すフローチャート。
【図２６】この発明の第３の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサの状態を示すタイムチャート。
【図２７】この発明の第４の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサのブロック図。
【図２８】この発明の第４の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサのプロセッサ温度を示す概念図。
【図２９】この発明の第４の実施形態に係るプロセッサシステムの備えるメインメモリに保持される影響温度テーブルの概念図。
【図３０】この発明の第５の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサのブロック図であり、時間と共に動作の変化を示す図。
【図３１】この発明の第５の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサの状態を示すタイムチャート。
【図３２】この発明の第５の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサのブロック図。
【図３３】この発明の第６の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサのブロック図であり、時間と共に動作の変化を示す図。
【図３４】この発明の第６の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサの状態を示すタイムチャート。
【図３５】この発明の第６の実施形態に係るプロセッサシステムの備えるマルチコアプロセッサのブロック図であり、時間と共に動作の変化を示す図。
【図３６】この発明の第１乃至第６の実施形態に係るプロセッサシステムをを備えるデジタルテレビのデジタルボードのブロック図。
【図３７】この発明の第１乃至第６の実施形態に係るプロセッサシステムを備える録画再生機器のブロック図。
【符号の説明】
【０１４４】
１…プロセッサシステム、１０…マルチコアプロセッサ、１１−１〜１１−ｍ…プロセッサ、１２−１〜１２−ｍ…温度センサ、１３…インターフェース、１４…処理ユニット、１５…レジスタ、１６…メモリ、１７、１９…コントローラ、１８…インクリメント部、デクリメント部、２０…メインメモリ、２１…タスクコントロールブロック、２２…優先順位テーブル、２３…ディスパッチテーブル、２４…上昇温度テーブル、２５…処理時間テーブル、２６…プロセッサ発熱テーブル、２７…低下温度テーブル、２８−１〜２８−ｎ…タスクプログラム、２９…温度情報テーブル、３０…タスクマネジメントプログラム、３１…オペレーティングシステム、３２…コンテキストセーブエリア、４０…システムコントローラ、６０…ＤＭＡコントローラ、７０…ハードディスクドライブ、８０…ＬＡＮアダプタ
【図１】
2006133995.tif 000003
【図２】
2006133995.tif 000004
【図３】
2006133995.tif 000005
【図４】
2006133995.tif 000006
【図５】
2006133995.tif 000007
【図６】
2006133995.tif 000008
【図７】
2006133995.tif 000009
【図８】
2006133995.tif 000010
【図９】
2006133995.tif 000011
【図１０】
2006133995.tif 000012
【図１１】
2006133995.tif 000013
【図１２】
2006133995.tif 000014
【図１３】
2006133995.tif 000015
【図１４】
2006133995.tif 000016
【図１５】
2006133995.tif 000017
【図１６】
2006133995.tif 000018
【図１７】
2006133995.tif 000019
【図１８】
2006133995.tif 000020
【図１９】
2006133995.tif 000021
【図２０】
2006133995.tif 000022
【図２１】
2006133995.tif 000023
【図２２】
2006133995.tif 000024
【図２３】
2006133995.tif 000025
【図２４】
2006133995.tif 000026
【図２５】
2006133995.tif 000027
【図２６】
2006133995.tif 000028
【図２７】
2006133995.tif 000029
【図２８】
2006133995.tif 000030
【図２９】
2006133995.tif 000031
【図３０】
2006133995.tif 000032
【図３１】
2006133995.tif 000033
【図３２】
2006133995.tif 000034
【図３３】
2006133995.tif 000035
【図３４】
2006133995.tif 000036
【図３５】
2006133995.tif 000037
【図３６】
2006133995.tif 000038
【図３７】
2006133995.tif 000039