(57)【要約】【課題】マルチプロセッサシステムの性能を十分に発揮できるジョブスケジューラ、およびそれを用いたマルチプロセッサシステムを提供する。【解決手段】チップ上に配置されている複数のプロセッサエレメントにおける消費電力を、各プロセッサエレメントに対しそれぞれ割り当てられたジョブの処理状況に応じて制御できるプロセッサエレメント監視制御手段５４を設ける。ジョブ処理による電力消費に伴う、プロセッサエレメントの温度上昇を推定する推定部５１を設ける。上記推定部５１の推定結果に基づいて、空きプロセッサエレメントにジョブを割り当てるためのジョブ割当手段５３を設ける。【選択図】  図１
2004240669.tif 000002
【特許請求の範囲】
【請求項１】
割り当てられたジョブを処理するにあたって、チップ上に配置されている複数のプロセッサエレメントにおける消費電力を、各プロセッサエレメントに対しそれぞれ割り当てられたジョブの処理状況に応じて制御できるプロセッサエレメント監視制御手段を有するジョブスケジューラにおいて、
さらに、ジョブ処理による電力消費に伴う、プロセッサエレメントの温度上昇を推定する推定部と、
上記推定部の推定結果に基づいて、空きプロセッサエレメントにジョブを割り当てるためのジョブ割当手段とを備えることを特徴とするジョブスケジューラ。
【請求項２】
上記推定部およびジョブ割当手段の少なくとも一方は、プロセッサエレメントの配置に基づいて、予めプロセッサエレメントのジョブ割り当て順序を定めた順序テーブルを有することを特徴とする請求項１に記載のジョブスケジューラ。
【請求項３】
上記推定部は、１つのプロセッサエレメントの動作に伴う発熱が他のプロセッサエレメントの温度上昇に及ぼす影響を、プロセッサエレメントの組合せ毎に記述した熱伝導量テーブルと、
処理動作中のプロセッサエレメントの温度上昇および上記熱伝導テーブルから空きプロセッサエレメントの温度上昇を算出する温度上昇算出手段とを備えていることを特徴とする請求項１または２に記載のジョブスケジューラ。
【請求項４】
上記温度上昇算出手段は、処理動作中のプロセッサエレメントの処理状況によって、重みを付けて温度上昇を算出するものであることを特徴とする請求項３に記載のジョブスケジューラ。
【請求項５】
上記処理動作中のプロセッサエレメントの処理状況とは、上記プロセッサエレメントの（残り）ジョブ処理量であることを特徴とする請求項４に記載のジョブスケジューラ。
【請求項６】
上記処理動作中のプロセッサエレメントの処理状況とは、上記プロセッサエレメントのクロック周波数であることを特徴とする請求項４に記載のジョブスケジューラ。
【請求項７】
上記推定部は、タイマに基づき定期的にプロセッサエレメントの温度上昇の算出を上記温度上昇算出手段により行うとともに、
さらに、最近の複数回の温度上昇の算出結果に基づいて、プロセッサエレメントの温度上昇を推定する温度上昇推定部を有することを特徴とする請求項３に記載のジョブスケジューラ。
【請求項８】
上記推定部は、処理動作中のプロセッサエレメントの入力に対して、温度上昇の最も小さい空きプロセッサエレメントを指示するためのルックアップテーブルを備えていることを特徴とする請求項１に記載のジョブスケジューラ。
【請求項９】
上記推定部が最も温度の低いと推定したプロセッサエレメントが複数ある場合、上記ジョブ割当手段は、上記複数のプロセッサエレメントの内の１つをランダムに選択するようになっていることを特徴とする請求項１に記載のジョブスケジューラ。
【請求項１０】
ジョブをプロセッサエレメントに割り当てた履歴を記録する使用履歴テーブルが設けられ、
推定部が最も温度の低いと推定したプロセッサエレメントが複数ある場合に、上記ジョブ割当手段は、そのうちの使用頻度が最も低いプロセッサエレメントを選択するようになっていることを特徴とする請求項１に記載のジョブスケジューラ。
【請求項１１】
請求項１〜１０のいずれか１項に記載のジョブスケジューラと複数のプロセッサエレメントとを、同一のチップ上に備えることを特徴とするマルチプロセッサシステム。
【請求項１２】
相互に連続する処理（ジョブ）を、複数のプロセッサエレメントで順次処理していくマルチプロセッサシステムにおいて、
連続する処理順位のプロセッサエレメントが、相互に隣接しないように離間して配置されていることを特徴とするマルチプロセッサシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数個のプロセッサをチップ上に内蔵するマルチプロセッサシステムにおける複数個のプロセッサへのジョブ（プロセス）スケジューリングを行う、ジョブスケジューラ、およびそれを有するマルチプロセッサシステムに関するものである。
【０００２】
【従来の技術】
現在、民生用、産業用を問わずあらゆる分野で電子・電機製品が活躍しており、それらには半導体が使われている。半導体素子に電流が流れると、内部損失（熱）が発生する。半導体素子内の接合部温度（ジャンクション温度）が許容値を超えると熱歪みが生じ、機能劣化や故障の原因となり、著しい場合は半導体素子が破壊される。
【０００３】
従って、半導体素子内に発生する熱を速やかに外部に逃がしてやる必要があり、そのために放熱器（ヒートシンク）が必要になる。すなわち、電子・電機製品を安定して長期間働かせるために、半導体素子の放熱器と放熱技術が不可欠である。
【０００４】
放熱器の概要を以下に示す。一般に、半導体素子のジャンクション温度ＴＪが１０℃上がる毎に寿命はほぼ半分になり、故障率は約２倍になるといわれており、シリコン半導体の場合はＴＪが約１７５℃を超えると破壊される。従って、ＴＪを極力下げるように設計する必要があり、通常はＴＪ＝７５〜８５℃を目標に熱設計を行う（例えば、非特許文献１参照）。
【０００５】
また、ＣＰＵ等のＬＳＩの発熱密度が増加している状況では、より熱の問題が重要になってくる。具体的には、ゲート長０．０３μｍルールにて作成されるトランジスターの駆動電圧は０．８５Ｖと予想されており、ゲート長が、２年毎に×０．７の法則で縮小しているのに対して、動作電圧は、上記法則に対してリニアに（同割合にて）低下していない。すなわち、電圧はもうリニアに下げることはできない。そのため、ＣＰＵ自体の発熱が増えるだけでなく、ダイ（半導体本体）の単位面積当たりの発熱、つまり発熱密度が上がってしまう。
【０００６】
インテルのマイクロプロセッサ研究所（Ｉｎｔｅｌ  Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ  Ｒｅｓｅａｒｃｈ  Ｌａｂｓ（ＭＲＬ））のフレッド・ポラック氏（Ｆｒｅｄ  Ｐｏｌｌａｃｋ、ディレクタ兼インテル研究員（Ｉｎｔｅｌ  Ｆｅｌｌｏｗ））が、’９９年のＭｉｃｒｏ３２において行ったプレゼンテーション「Ｎｅｗ  Ｍｉｃｒｏ  ａｒｃｈｉｔｅｃｔｕｒｅ  Ｃｈａｌｌｅｎｇｅｓ  ｉｎ  ｔｈｅ  Ｃｏｍｉｎｇ  Ｇｅｎｅｒａｔｉｏｎｓ  ｏｆ  ＣＭＯＳ  Ｐｒｏｃｅｓｓ  Ｔｅｃｈｎｏｌｏｇｉｅｓ」の資料によれば、このまま同じダイサイズのまま新アーキテクチャのＣＰＵが開発されてゆくと、設計ルールが０．１０μｍの時ですでに消費電力が２００Ｗ、発熱密度が９０Ｗ／平方ｃｍに達してしまう。ちなみに、核反応炉（Ｎｕｃｌｅａｒ  Ｒｅａｃｔｏｒ）は２００Ｗ／平方ｃｍ程度なので、そこに限りなく近づくことになる。おそらく、設計ルールが０．０７μｍの時には、核反応炉を超えることになるだろう。さらに、その先にはロケット噴射口（９００Ｗ／平方ｃｍ近く）の発熱密度まで待っているという。こうなると簡単に制御できる熱ではなくなる（例えば、非特許文献２参照）。
【０００７】
さらに、電子機器の発熱密度の上昇により、放熱はますます困難なものになる。具体的には、まず、熱設計電力（Ｔｈｅｒｍａｌ  Ｄｅｓｉｇｎ  Ｐｏｗｅｒ［ＴＤＰ］）が問題となる。すなわち、放熱対策設計の目安となる、デバイスの放熱量が重要になる。電子機器を設計する際には、電子機器のデバイス接合部の温度上昇が指定された許容値（ｔｈｅｒｍａｌ  ｊｕｎｃｔｉｏｎ  ｓｐｅｃｉｆｉｃａｔｉｏｎ）を超えないように、電子機器に対して放熱対策を施さなければならない。動力や光等にエネルギーを消費することのないＩＣチップ等の電子機器の場合には、消費電力がほぼそのまま熱として放出されるため、消費電力が大きければ大きいほど、放熱量も大きくなる。
【０００８】
一般的なＣＭＯＳチップ等の電子機器では、動作時にチップ内部で大きな電力を消費する。この内部消費電力は、電圧の二乗と動作周波数に比例して増えるため、近年の高速ＣＰＵでは、上記内部電力消費だけでも大きな問題である。チップ内部の熱は、ヒートシンク（ｈｅａｔ  ｓｉｎｋ、放熱器）を取り付けて効率よく発散する（ＣＰＵの場合はファンも併用。例えば、非特許文献５参照）。
【０００９】
ヒートシンクは、同じ素材（ヒートシンクには、熱伝導率が高く加工しやすいアルミがよく用いられるが、熱伝導率だけならば銅の方が有利であり、最近は銅製の製品や銅とアルミのハイブリッドタイプも多い）ならば、一般に、厚く、かつ面積が大きいほど放熱効果が高い。
【００１０】
しかしながら、大きなヒートシンクは、システム設計の自由度を阻害する上、チップの接触面に対して一定のサイズを超えてしまうと、放熱効果があまり延びなくなってしまう。これは、チップの集積度が上がれば上がるほど、放熱が難しくなるということであり、チップの高速化と小型化、高密度実装化の三要素が入り交ざり、ますます熱設計を困難なものにしている（例えば、非特許文献３参照）。
【００１１】
また、局所的な発熱（発熱密度）の集中を防ぐことも重要である。すなわち、マルチプロセッサシステムにおいて使用していないプロセッサエレメント（以降、ＰＥと記す）の動作をクロック停止（ｇａｔｅｄ  ｃｌｏｃｋ）、電力供給停止、クロック速度の低下、および供給電圧の低下等の、少なくとも何れかの方法で抑制して消費電力を低減し、発熱量を減少させる方法が多数提案されている（例えば、特許文献２参照）。
【００１２】
また、インテル研究所のマイクロプロセッサ研究担当技術責任者ウィルフ・ピンフォルド氏によると、高負荷の演算処理中にトランジスターが発する局部熱によって「ホットスポット」が生じ、「ホットスポット」を生じたトランジスターでは、その性能が頭打ちになってしまう。しかし、アプリケーションの処理を複数のＰＥ（コア）に順次互いに交替させることで、上記各ＰＥの主要なトランジスターは冷えた状態に保たれ、熱はより広い範囲に拡散して、全体として性能を引き上げることが可能になるという技術が提案されている（例えば、非特許文献４参照）。
【００１３】
上記の課題等の解決をめざして、複数のＰＥから構成される並列計算機システムにおいて、各ＰＥに温度センサを設けて温度を定期的に監視し、新たなジョブ（プロセス）を温度が最低のＰＥに割り当てることで、複数のＰＥの温度上昇を平均化することが提案されている（例えば、特許文献１参照）。すなわち、上記従来公報に記載のシステムでは、センサで温度を検知してジョブを割り当てるものである。
【００１４】
また、動作途中で処理能力を変えることができる低消費電力機能を備えたマイクロプロセッサが提案されている（例えば、特許文献２参照）。
【００１５】
【非特許文献１】
「強制空冷放熱器の基礎技術」
（ｈｔｔｐ：／／ｗｗｗ．ｍｉｚｕｄｅｎ．ｃｏ．ｊｐ／ＫＩＳＯ０．ｈｔｍｌ）
（ｈｔｔｐ：／／ｗｗｗ．ｍｉｚｕｄｅｎ．ｃｏ．ｊｐ／ＫＩＳＯ１．ｈｔｍｌ）
【００１６】
【非特許文献２】
「後藤弘茂のＷｅｅｋｌｙ海外ニュース  −１０ＧＨｚ  ＣＰＵを実現するＩｎｔｅｌの０．０３μｍトランジスタ技術−、２００１年１月１７日」
（ｈｔｔｐ：／／ｐｃ．ｗａｔｃｈ．ｉｍｐｒｅｓｓ．ｃｏ．ｊｐ／ｄｏｃｓ／ａｒｔｉｃｌｅ／２００１０１１７／ｋａｉｇａｉ０１．ｈｔｍｌ）
【００１７】
【非特許文献３】
「放熱の基本設計法」
（ｈｔｔｐ：／／ｗｗｗ．ｐｉｃｆｕｎ．ｃｏｍ／ｈｅａｔｓｉｎｋ．ｈｔｍｌ）
【００１８】
【非特許文献４】
「ＬＹＣＯＳニュース  −インテルが２つの頭脳を持つチップを研究中（ＣＮＥＴ）−」
（ｈｔｔｐ：／／ｃｈａｎｎｅｌ．ｇｏｏ．ｎｅ．ｊｐ／ｐｃ／ｎｅｗｓ／ｃｎｅｔ／２００２０８２１／０２０８２１−３．ｈｔｍｌ）
【００１９】
【非特許文献５】
「Ｑ＆Ａ  ＣＯＬＬＥＣＴＩＯＮ  −ＦＩＬＥ０１−、２００１年１１月号」  ペンティアム（登録商標）４等のＣＰＵコアの上の大きなカバー（放熱用）について
（ｈｔｔｐ：／／ｈｏｍｅ．ｉｍｐｒｅｓｓ．ｃｏ．ｊｐ／ｍａｇａｚｉｎｅ／ｄｏｓｖｐｒ／ｑ−ａ／０１１１／ｑａ０１１１＿１．ｈｔｍｌ）
【００２０】
【特許文献１】
特開平８−１６５３１号公報（公開日：１９９６年１月１９日）
【００２１】
【特許文献２】
特開２０００−４７８７２号公報（公開日：２０００年２月１８日）
【００２２】
【発明が解決しようとする課題】
上記従来のように、ＰＥが１つずつパッケージされ、それらを複数組み合わせて計算機システムを構築する場合は、各ＰＥの温度上昇は主にそのＰＥの動作状況によって決まり、他のＰＥなどの動作による影響はＰＥの配置や冷却方法に依存することになる。従って、ＰＥの温度を平均化するには、他のＰＥの影響は無視してＰＥごとに自己の動作履歴を参照してジョブ（プロセス）の割り当てを決めるか、特許文献１のように温度を計測してジョブ（プロセス）の割り当てを決めることになる。あるいは、特許文献２のように、動作途中で処理能力を変えることになる。
【００２３】
しかしながら、複数個のＰＥをチップに内蔵するマルチプロセッサチップでは、ＰＥの温度上昇への他のＰＥへの動作状況の影響が大きくなり、各ＰＥの温度制御が困難となり、発熱の集中化を抑制できないという問題がある。また、複数個のＰＥを小面積なチップに内蔵しているため、個々のＰＥの温度を検知（センス）する各センサをチップ内に配置することも難しくなるという問題がある。
【００２４】
本発明は、上記従来の問題点に鑑みなされたものであり、その目的は、チップ内のＰＥの配置に基づいてＰＥの動作状況（ジョブ処理状況）から新たなジョブ（プロセス）をどのＰＥに割り当てるか決定するジョブスケジューラ、およびそれを用いたマルチプロセッサチップを提供することにある。
【００２５】
【課題を解決するための手段】
本発明のジョブスケジューラは、以上の課題を解決するために、割り当てられたジョブを処理するにあたって、チップ上に配置されている複数のＰＥにおける消費電力を、各ＰＥに対してそれぞれ割り当てられたジョブの処理状況に応じて、制御できるＰＥ監視制御手段を有するジョブスケジューラにおいて、さらに、ジョブ処理による電力消費に伴う、ＰＥの温度上昇を推定する推定部と、上記推定部の推定結果に基づいて、空きＰＥにジョブを割り当てるジョブ割当手段とを備えることを特徴としている。
【００２６】
上記の構成によれば、チップ上に配置されている複数のＰＥのチップレイアウトレベル（物理的配置）と各ＰＥへのジョブ割り当て（スケジューリング）との双方をからめて考慮することにより、例えば、複数のＰＥが配置されているチップ上での局所的な発熱の集中を回避することが可能となる。これにより、発熱源が物理的に分散されるため、発熱の局所化を防止できる。すなわち、ＬＳＩ等のチップ上での発熱を平均化して、上記チップの性能を発揮できる。
【００２７】
例えば、後述する実施の形態の図３において、ＰＥ１  １３とＰＥ４  １６とが空きＰＥであり、ＰＥ４  １６が、ＰＥ１  １３に比べてジョブ非処理となってからの時間が長く、ＰＥ１  １３よりも温度が低い場合でも、ＰＥ３  １５、ＰＥ５  １７、ＰＥ７  １９が高負荷の処理をそれぞれ行っていると、次のジョブをＰＥ４  １６に割り当てるよりも、ＰＥ１  １３に割り当てる方が、マルチプロセッサシステムとしてのＳｏＣ３０のチップ全体での温度上昇の局在化をより効率的に抑制できることになる。
【００２８】
なお、空きＰＥにジョブを割り当てる判定方法としては、その時点で最も温度の低いＰＥにジョブを割り当てる他に、空きＰＥにジョブを割り当てたと仮定して最も高温になるＰＥの温度を抑えることなども考えられる。なお、空きＰＥとは、ジョブ割り当て可能なものをいう。
【００２９】
上記ジョブスケジューラでは、上記推定部およびジョブ割当手段の少なくとも一方は、ＰＥの配置に基づいて、予めＰＥのジョブ割り当て順序を定めた順序テーブルを有してもよい。
【００３０】
上記の構成によれば、上記順序テーブルに従うことにより、ＰＥの使用順位が、ＰＥの物理的配置に関連付けられて、互いに離れているＰＥを順に強制的に使用するように設定されるため、発熱をより確実に分散させることができる。
【００３１】
上記ジョブスケジューラにおいては、上記推定部は、１つのＰＥの動作に伴う発熱が他のＰＥの温度上昇に及ぼす影響を、ＰＥの組合せ毎に記述した熱伝導量テーブルと、処理動作中のＰＥの温度上昇および上記熱伝導テーブルから空きＰＥの温度上昇を算出する温度上昇算出手段とを備えていてもよい。
【００３２】
上記の構成によれば、処理動作中のＰＥの温度上昇および上記熱伝導テーブルに基づいて、現在使用中のＰＥから最も熱の伝わりにくい空きＰＥに対して、次にジョブを割り当てることが可能である。このため、上記構成では、ＰＥの動作に伴う発熱を、各ＰＥにおいて効率的に分散させることができる。
【００３３】
上記ジョブスケジューラでは、上記温度上昇算出手段は、処理動作中のＰＥの処理状況によって、重みを付けて温度上昇を算出するものであってもよい。
【００３４】
上記の構成によれば、各ＰＥに割り当てられる各ジョブの処理量が互いに均等でない場合、すなわち、各ジョブの処理量に偏りがある場合でも、伝わる熱量などに対して、重みを付けて各ＰＥの温度上昇を算出することによって、最も温度の低いＰＥをより正確に推定することが可能となる。
【００３５】
上記ジョブスケジューラにおいては、上記処理動作中のＰＥの処理状況とは、上記ＰＥの（残り）ジョブ処理量であってもよい。
【００３６】
上記の構成によれば、重みとして、現在使用中（処理動作中）のＰＥにおけるジョブの処理量（または残りの処理量）を考慮して、例えば、かけて、温度上昇算出手段により温度上昇を算出することになる。このため、ジョブの処理により累積した発熱量を反映（考慮）して、次にジョブを割り当てる空きＰＥを決定することができる。さらに、現在使用中のＰＥが、将来発熱し続けることも考慮に含めて、次にジョブを割り当てる空きＰＥを決定することもできる。
【００３７】
上記ジョブスケジューラでは、上記処理動作中のＰＥの処理状況とは、上記ＰＥのクロック周波数であってもよい。
【００３８】
上記の構成によれば、各ＰＥの発熱量が異なる場合でも、ＰＥのクロック周波数に基づいて、ＰＥの温度上昇をより正確に算出することが可能となる。したがって、より正確に最も温度の低いＰＥをより正確に推定することが可能となる。
【００３９】
上記ジョブスケジューラにおいては、上記推定部は、タイマに基づき定期的にＰＥの温度上昇の算出を上記温度上昇算出手段により行うとともに、さらに、最近の複数回の温度上昇の算出結果に基づいて、ＰＥの温度上昇を推定する温度上昇推定部を有していてもよい。
【００４０】
上記の構成によれば、現在のみならず、直近（最近）の過去に使用しているＰＥにおける発熱および放熱の累積を反映した温度上昇を推定できる。これによって、より正確に温度の低くなると推定される空きＰＥにジョブを割り当てることが可能となる。
【００４１】
上記ジョブスケジューラでは、上記推定部は、処理動作中のＰＥの入力に対して、温度上昇の最も小さい空きＰＥを指示するためのルックアップテーブルを備えていてもよい。
【００４２】
上記の構成によれば、ルックアップテーブル（ＬＵＴ）を用いることにより、ジョブをＰＥに割り当てる処理をリアルタイムに処理する必要がなくなり、上記処理を迅速化できて、発熱をより確実に分散できる。
【００４３】
上記ジョブスケジューラにおいては、上記推定部が最も温度の低いと推定したＰＥが複数ある場合、上記ジョブ割当手段は、上記複数のＰＥの内の１つをランダムに選択するようになっていてもよい。
【００４４】
上記の構成によれば、ランダムにＰＥを選択することになるため、同じＰＥに処理が集中する可能性を低減することが可能となる。
【００４５】
上記ジョブスケジューラでは、ジョブをＰＥに割り当てた履歴を記録する使用履歴テーブルが設けられ、推定部が最も温度の低いと推定したＰＥが複数ある場合に、上記ジョブ割当手段は、そのうちの使用頻度が最も低いＰＥを選択するようになっていてもよい。
【００４６】
上記の構成によれば、最も使用率の低いＰＥを選択するので、同じＰＥに処理が集中する可能性を、より一層低減できる。
【００４７】
本発明のマルチプロセッサシステムは、前記の課題を解決するために、上記の何れかに記載のジョブスケジューラと複数のＰＥとを、同一のチップ上に備えることを特徴としている。
【００４８】
上記の構成によれば、同一チップ上に複数のＰＥと上記ジョブスケジューラとを配置した、例えば、ＬＳＩ等のマルチプロセッサシステムにおいて、局所的な発熱の集中を回避することが可能となる。これにより、発熱源が物理的に分散されるため、発熱の局所化を防止できる。すなわち、例えば、ＬＳＩ等のチップ上での発熱を平均化することができ、ＬＳＩ等のマルチプロセッサシステムの性能を十分に発揮できるようにすることが可能となる。
【００４９】
本発明の他のマルチプロセッサシステムは、前記の課題を解決するために、相互に連続する処理（ジョブ）を、複数のＰＥで順次処理していくマルチプロセッサシステムにおいて、連続する処理順位のＰＥが、相互に隣接しないように離間して配置されていることを特徴としている。
【００５０】
上記構成によれば、例えば、画像処理等の特定のジョブ処理に用いられる複数のＰＥ、およびその順序は予め明確である。このため、上記特定のジョブ処理に連続して使用されるＰＥの物理的配置をできる限り離れるように配置することにより、発熱源が物理的に分散されるため、発熱の局所化を防止できる。すなわち、上記の構成によれば、特別な処理に特化したＰＥを含むシステムにおいても、物理的配置と処理の流れを考慮することによって、発熱を分散させることが可能となる。
【００５１】
【発明の実施の形態】
本発明に係るジョブスケジューラおよびマルチプロセッサシステムは、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅｄ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）となっているマルチプロセッサシステムである、例えば、システムオンチップ（以下、ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）と記す）のチップレイアウトと、上記ＳｏＣに設けられた、各ＰＥの使用状況や、各ＰＥの使用履歴の、推定によって発熱を平均化（発熱の集中化を回避するように）するようにジョブ（ＪＯＢ）を上記ジョブスケジューラにより割り当てる点が特徴である。
【００５２】
本発明の各特徴をより具体的に以下にそれぞれ挙げる。（１）  複数個の各ＰＥで構成されるマルチプロセッサシステムに関する。（２）  ジョブ等の処理単位でＰＥに処理を割り当てる。（３）  使用していないＰＥは動作停止させて消費電力・発熱量を削減する。例えば、各ＰＥに対して、クロック入力にゲートを設けて処理が割り当てられないＰＥにはクロックを入力しないという方法を用いる。あるいは使用していないＰＥの動作を、クロックレートの低下・電圧低下などで遅くして、消費電力と発熱量とを低減する。（４）  ＳｏＣ上での発熱を分散させる。すなわち、局所的な発熱の集中を阻止し、例えば、ＬＳＩ等のマルチプロセッサシステムの性能を最大限に発揮できるようにする。なお、上記（１）  〜（４）  は、本発明の特徴であるが、本発明の最大の特徴は、（４）  である。
【００５３】
以下に、本発明のジョブスケジューラおよびマルチプロセッサシステムに関する実施の各形態について、図１ないし図１４を用いて説明する。なお、本発明は、これらの実施の各形態に特に限定されるものではない。
【００５４】
図２は、本実施の形態に係るＳｏＣのブロック構成の一例を示す図である。図２に示すように、本実施の形態に係るＳｏＣ３０では、システムバス１０によって、マスターコントローラ（ジョブスケジューラ）１１、ＰＥ０  １２、ＰＥ１  １３、…ＰＥｎ  が互いに電気的に連結されている。
【００５５】
また、図３は、本実施の形態に係るＳｏＣ３０のチップレイアウトの一例を示す図である。図３に示すように、本実施の形態に係るＳｏＣは、同一チップ上に、マスターコントローラ１１、ＰＥ０  １２、ＰＥ１  １３、ＰＥ２  １４、ＰＥ３  １５、ＰＥ４  １６、ＰＥ５  １７、ＰＥ６  １８、ＰＥ７  １９、ＰＥ８  ２０、内蔵メモリ２１、外部Ｉ／Ｆ（インターフェース）２２を備えている。
【００５６】
マルチプロセッサシステムであるＳｏＣ３０において、使用していない空きＰＥの動作を抑制するためには、図４（ａ）および図４（ｂ）に示すように、一般的なゲートクロック（ｇａｔｅｄ  ｃｌｏｃｋ）を用いることができる。前述したように、ゲートクロックの停止等によって、マルチプロセッサシステムにおいて、使用していないＰＥの動作を抑制して、消費電力を低減させ、発熱量を減少させることが可能である。
【００５７】
図１は、本実施の一形態に係るマスターコントローラ（ジョブスケジューラ）１１の構成を示すブロック図である。本実施の形態に係るマスターコントローラ１１は、図１に示すように、推定部５１、ジョブキュー（ＪＯＢ  ｑｕｅｕｅ）５２、ジョブ割当手段５３、およびＰＥ監視制御手段５４を有している。
【００５８】
上記推定部５１は、ジョブ処理による電力消費に伴う、プロセッサエレメントの温度上昇を後述する種々な方法により推定するものである。上記ジョブ割当手段５３は、上記推定部５１の推定結果に基づいて、空きＰＥに対し、ジョブキュー５２に格納されているジョブを割り当てるためのものである。
【００５９】
前記ＰＥ監視制御手段５４は、前記ゲートロックなどを備えており、割り当てられたジョブを処理するにあたって、チップ上に配置されている複数のプロセッサエレメントにおける消費電力を、各プロセッサエレメントに対してそれぞれ割り当てられたジョブの処理状況に応じて、制御することができるものである。
【００６０】
さらに、推定部５１は、同時実行ジョブ数を記憶する同時実行ジョブ数メモリ５５と、ＰＥジョブ割当順序を記憶しておくＰＥジョブ割当順序テーブル５６とを備えている。
【００６１】
同時実行ジョブ数メモリ５５は、同時に実行できるジョブ数に上限、すなわち同時に使用できるＰＥの数の上限を設定する手段である。全てのＰＥが同時動作した場合に、放熱が十分でなくＳｏＣ３０が正常に動作できないようなシステムにおいて用いられ、ＳｏＣ３０を正常に動作できる範囲においてのみ使用することを可能とするものである。
【００６２】
以下により具体的な例を用いて、本発明に係るマスターコントローラ（ジョブスケジューラ）１１およびマルチプロセッサシステムについて説明する。
【００６３】
（１）ラウンドロビンスケジューリングの場合
マスターコントローラ１１は、ＰＥ０  〜ＰＥ８  に対する処理（ジョブなどの単位）の割り当てを管理するものである。本実施の形態に係るジョブキュー５２の一例には、図５に示すように、処理を待機している各ジョブをそれぞれ順番に格納しておく各スタックとしての、ＪＯＢ１  、ＪＯＢ２  、・・・ＪＯＢｉ  が順に並んで設けられている。ジョブキュー５２は、基本的にファーストイン・ファーストアウト（先入れ・先出し法、Ｆｉｒｓｔ  ｉｎ  ｆｉｒｓｔ  ｏｕｔ）にて使用されるが、さらに優先順位を付加して使用されてもよい。
【００６４】
また、各ＰＥの使用順位を、プロセッサ識別子＃ｉとして、例えば図６のように定義する（ラウンドロビン）。すなわち、図６は、ＰＥの使用順位（使用順番）とＳｏＣ３０におけるチップレイアウトとの関係を示す図である。ここでは、プロセッサ識別子＃ｉのＰＥとプロセッサ識別子＃（ｉ＋１）のＰＥとを、チップ上のレイアウト（物理的配置）上にて互いに隣り合わない、つまり間に他のＰＥが存在して互いに離間するように設定することが好ましい。そのように設定することで、発熱の分散を図ることができる。
【００６５】
なお、本実施の形態では、＃の数が小さいＰＥから使用していくように設定されているが、逆に、＃の数が大きいＰＥから使用していくように設定されていてもよい。
【００６６】
次に、ＰＥの使用順位（使用順番）とＳｏＣ３０におけるチップレイアウトとの関係を図６のように設定した場合における、ジョブ（ＪＯＢ）をＰＥに割り当てるための処理のフローチャートを図７に示す。なお、この処理は、マスターコントローラ１１におけるジョブ割当手段５３によって行われることになる。
【００６７】
以下に、図７に示す各処理について説明する。まず、ＳｏＣ３０を起動する（ステップ１、図面および以下の記載において、ステップをＳと記す）。続いて、プロセッサ識別子＃ｉを、プロセッサ識別子＃１  に設定する（Ｓ２）。その後、ジョブキュー５２内にジョブが格納されているか否かをチェックする（Ｓ３）。もし、ジョブキュー５２内にジョブが格納されていない（つまり空）であれば、上記Ｓ３に戻り、待機状態となる。一方、ジョブキュー５２内にジョブが格納されていれば、次のステップに進む（Ｓ４）。上記ステップでは、プロセッサ識別子＃ｉに対応するＰＥの動作状態を調べる（Ｓ５）。
【００６８】
プロセッサ識別子＃ｉに対応するＰＥがビジーか否かを調べ（Ｓ６）、ビジーであれば、プロセッサ識別子＃ｉのｉを１増やす、インクリメントを行う（Ｓ７）。続いて、そのインクリメントされたプロセッサ識別子＃ｉが、＃ｉの最大値未満か否かを調べ（Ｓ８）、未満であれば、前記Ｓ５に戻り、インクリメントされた＃ｉにより再度調べ、未満ではない（つまり＃ｉが最大値以上）であれば、次に、＃ｉ＝１と初期化して（Ｓ９）、前記Ｓ５に戻り、初期化された＃ｉにより再度調べる。
【００６９】
一方、前記のＳ６において、プロセッサ識別子＃ｉに対応するＰＥがビジーではない（つまり空きである）場合、ジョブを上記プロセッサ識別子＃ｉに対応するＰＥに割り当てる（Ｓ１０）。続いて、プロセッサ識別子＃ｉのｉを１増やす、インクリメントを行う（Ｓ１１）。
【００７０】
その後、そのインクリメントされたプロセッサ識別子＃ｉが、＃ｉの最大値未満か否かを調べ（Ｓ１２）、未満であれば、前記Ｓ３に戻り、ジョブを取得した後に、インクリメントされた＃ｉにより再度調べ、未満ではない（つまり＃ｉが最大値以上）であれば、次に、＃ｉ＝１と初期化して（Ｓ１３）、前記Ｓ３に戻り、ジョブを取得した後に、初期化された＃ｉにより再度調べる。
【００７１】
この図７のフローチャート、および図６のＰＥの使用順位と物理的配置との関連付けから、使用中のＰＥができるだけ分散し、かつ同じＰＥをできるだけ続けて使わないことが可能となる。
【００７２】
（２）プロセッサの使用状態・履歴を考慮した場合
上記（１）のラウンドロビンにおけるＰＥを割り当てる方法では、各ジョブ（ＪＯＢ）の処理量が互いにほぼ均等な場合は問題がないが、各ジョブの処理量に偏りがある場合には以下に述べる方法を用いることが好ましい。
【００７３】
すなわち、ＰＥに対して、現在使用中のＰＥを記録するテーブル（以下、ＴＢＬ  ｕｓｉｎｇ  ＰＥと称す）、および、ＰＥ間の相対距離の逆数を示すテーブル（以下、ＴＢＬ  ｄｉｓｔａｎｃｅ  ＰＥと称す）をマスターコントローラ１１が有することによって、下記の方法でＰＥを割り当てる。
【００７４】
なお、図８に本実施の形態におけるＳｏＣ上におけるＰＥの配置図の一例を示す。図８では簡単のためにＰＥ０〜ＰＥ８は全て同一の大きさの正方形としている。また、この正方形の一辺の長さを正規化単位距離とする。
【００７５】
また、このような場合のマスターコントローラ１１では、使用履歴を記憶しておく使用履歴メモリ６０が設けられ、さらに、推定部５１に、タイマ（カウンタ）５７と、熱伝導テーブル５８と、温度上昇算出手段５９が設けられている。使用履歴メモリ６０には、ＴＢＬ  ｕｓｉｎｇ  ＰＥが記憶される一方、熱伝導テーブル５８では、ＴＢＬ  ｄｉｓｔａｎｃｅ  ＰＥが記憶されている。
【００７６】
ここで、ＳｏＣベアチップ（通常シリコン）上において、ＰＥからＰＥへの熱の伝わり方は、伝導伝熱が支配的となる。伝導伝熱によって伝わる熱量は、基本的に下記数式（１）で表される。
【００７７】
Ｑ＝−λΑΔΤ／Δｘ        ・・・（１）
なお、ここで、Ｑは伝熱速度（１秒当たりに伝わる熱量。単位は［Ｗ］＝［Ｊ／Ｓ］。１Ｊ＝０．２４  ｃａｌ）を示し、λは熱伝導度（物質の熱の伝わり易さを表す値。単位は［Ｗ／（ｍ・Ｋ）］）を示し、Ａは伝熱断面積（単位はｍ２）を示し、ΔΤは温度差（絶対温度＝２７３．１５＋摂氏温度。単位は［Ｋ］）を示し、Δｘは距離（伝熱距離。単位は［ｍ］）を示す。これらのことから、伝熱距離に反比例した伝熱速度にて、熱はＳｏＣ上で伝導するということができる。
【００７８】
【表１】
2004240669.tif 000003
【００７９】
表１は、ＰＥ間の相対距離逆数テーブル（ＰＥ間の正規化伝導伝熱量テーブル）を示す表である。なお、右上半分のみ記載し、左下半分は、上記右上半分と左上から右下に延びる斜線を対称線として対称であるので、それら数値の記載を省略した。また、表１の距離とは、ＰＥブロックの左上間の距離を１として正規化している。
【００８０】
以下に、各ジョブの処理量に偏りがある場合のＰＥを割り当てる方法の手順を、より詳細に説明する。まず、物理的レイアウト上、端のＰＥを使う。ここでは＃０  を最初に用いることとするが、＃０  に代えて、ＰＥ＃２  、ＰＥ＃３  、ＰＥ＃６  、またはＰＥ＃８  を最初に用いることもできる。ただし、開始ＰＥの範囲を限ると、使用されるＰＥが一部に集中するおそれがあるため、開始ＰＥは順次変えていくことが好ましい。あるいは、使用率の最も低いＰＥを開始ＰＥとして割り当てることも可能である。
【００８１】
次いで、ＴＢＬ  ｕｓｉｎｇ  ＰＥを調べて、ＰＥ＃０  が使用中であれば、ＰＥ＃０  から最も遠い、すなわち相対距離の逆数が最小であるＰＥ＃８  にジョブを前記温度上昇算出手段５９により算出して割り当てる。続いて、ＴＢＬ  ｕｓｉｎｇ  ＰＥを調べて、ＰＥ＃０  、ＰＥ＃８  が使用中であれば、ＰＥ＃０  およびＰＥ＃８  からの距離の逆数の和が最も小さいＰＥ＃６  、またはＰＥ＃２  を温度上昇算出手段５９により算出して使う（ＰＥ＃６  、またはＰＥ＃２  にジョブを割り当てる）。このとき、ＰＥ＃２  のＰＥ＃０  、ＰＥ＃８  からの距離の逆数（正規化伝導伝熱量）の和は、２＊１／２＝１となり、ＰＥ＃５（またはＰＥ＃７）だと、その距離は、１＋１／√５＝１．４４７となる。
【００８２】
さらに、同様にして、ＴＢＬ  ｕｓｉｎｇ  ＰＥを調べて、ＰＥ＃０  、ＰＥ＃８  、ＰＥ＃２  、およびＰＥ＃６  が使用中の場合には、ＰＥ＃０  、ＰＥ＃８  、ＰＥ＃２  、およびＰＥ＃６  からの距離の逆数の和が最も小さいＰＥ＃４  を使う（ＰＥ＃４  にジョブを割り当てる）。このとき、ＰＥ＃４  のＰＥ＃０  、ＰＥ＃８  、ＰＥ＃２  、およびＰＥ＃６  からの距離の逆数（正規化伝導伝熱量）の和は、４＊１／√２  ＝２．８３となり、ＰＥ＃５  （またはＰＥ＃７  ）だと、その距離の逆数（正規化伝導伝熱量）の和は、１＋１＋２＊１／√５  ＝２．８９となる。
【００８３】
なお、上記の手順では、伝導伝熱の理論から相対距離の逆数テーブルを用いてＰＥの割り当てを行った。すなわち、本質的には動作中のＰＥの発熱の影響を最も受けない、空のＰＥに次のジョブを割り当てればよい。従って、距離の逆数テーブル以外にも、伝熱シミュレーションや、実験による熱の伝導の測定によって作成した、正規化伝導伝熱量のテーブルを用いることも可能である。
【００８４】
また、ＰＥ間の相対距離逆数テーブルに重み付けを施し、修正することも時には有用である。これにより、あるＰＥを集中的に使用したり、使用しなかったりすることが可能となる。例えば、内蔵メモリ２１といったメモリブロックのような別の熱源に近いＰＥには相対的にあまり処理を割り当てないということなどが可能となる。
【００８５】
また、上記表１において、距離１としたところを距離０とすると、この手順での結果は異なるものになる。このような場合のマスターコントローラ１１の実際には、図１０に示すように、ＰＥ割り当て時に逐次計算せず、使用中のＰＥ番号を入力すると、上記ＰＥ番号に基づいて、次に割り当てるＰＥを返す、つまり指示するルックアップテーブル（ＬＵＴ）６１を推定部５１に用意して、使用することになる。
【００８６】
次に、割り当ててよいＰＥが複数あるときは、その中からランダムにジョブを割り当てる、あるいは使用率の最も低いＰＥにジョブを割り当てる等の処理を行うことが可能である。
【００８７】
ここで、最も使用率の低いＰＥを探すには、例えば、テーブルＴＢＬ  ｕｓｉｎｇ  ＰＥの情報をある周期で積分して、ＰＥの使用率テーブルＴＢＬ  ｕｓｅｄ  ＰＥを作成することにより行うことができる。上記ＰＥの使用率テーブルＴＢＬ  ｕｓｅｄ  ＰＥのために、図１１に示すように、推定部５１に、ＰＥ対ジョブ種類対応テーブル６２を設けてもよい。
【００８８】
（３）上記（２）の手順をさらに洗練させた場合
上記（２）の手順をさらに洗練させた場合のＰＥを割り当てる方法の手順を以下に示す。まず、距離の逆数計算（すなわち、伝導伝熱の最小部を求めること）をさらに工夫する場合を説明する。
【００８９】
上記（２）の手順では、現在使用中のＰＥからの相対距離逆数テーブルの相対距離の総和が最小化するように、次のジョブを割り当てるＰＥを求めていた。しかし、現在使用中のＰＥにも、すぐに処理が終わるものと、しばらく処理が続くものがある。
【００９０】
そこで、前述の（１）、（２）の説明では、比較する量を、（現在使用中のＰＥとの相対距離の逆数）の総和（Σ）・・・（２）
としていたものを、
この（３）では、（現在使用中のＰＥの（残り）ジョブ量×現在使用中のＰＥとの相対距離の逆数）の総和（Σ）    ・・・（３）
とする。
【００９１】
このように処理することにより、さらにＰＥ割り当てを洗練することができる。ただし、この場合には、前もって次にジョブを割り当てるＰＥを算出するＬＵＴを計算しておくことはできない。このため、上記数式（３）で残りジョブ量を用いると、さらに処理が複雑になる。
【００９２】
次に、過去のＰＥの使用状況も考慮する場合を説明する。ＰＥにてジョブが処理された場合、実際には、ジョブの終了後、熱はすぐに冷めてしまうのではなく、しばらく蓄積されて、徐々に冷却されている。このため、現在使用中のＰＥのテーブルをある周期でサンプリングし、１つ過去の現在使用中のＰＥと２つ過去の現在使用中のＰＥを保存しているとする。
【００９３】
このとき、比較する距離の逆数（正規化伝導伝熱量）を
Σ（現在使用中のＰＥとの相対距離の逆数＋０．５×１つ過去の現在
使用中のＰＥとの相対距離逆数＋０．１×２つ過去の現在使用中のＰＥとの相対距離の逆数）とすると、本手法はより洗練されることになる。
【００９４】
なお、ここでは、重み付けを０．５、０．１と適当にしているが、これらの係数は現在使用中のＰＥのテーブルを更新するサンプリング周期と、その周期での熱の冷却の進行との兼ね合いによって決めればよい。
【００９５】
また、前述した基本的な手法では、あらたにジョブをＰＥに割り当てる必要があるときに現在使用中のＰＥのテーブルを更新すればよく、必ずしも現在使用中のＰＥを周期的に更新する必要はない。
【００９６】
（４）特殊な場合
上記（１）〜（３）では、各ＰＥが全て互いに同じものである場合（対称型マルチプロセッサシステムの場合）について説明してきた。
【００９７】
しかし、用いる各ＰＥの少なくとも一部が互いに相違する非対称型マルチプロセッサシステムの場合にも、各ＰＥの物理的配置とジョブの割り当てとの関連付けによって、発熱を分散する手法は適用できる。以下に、複写機の画像処理を例に説明する。
【００９８】
図１２に、一般的な複写機の画像処理の処理フローを示す。ここで、「ガンマ補正処理」（Ｓ２１）とは、スキャナより入力された信号レベルを複写機の出力系にあわせて非線形変換する処理のことをいう。「領域分離処理」（Ｓ２２）とは、画像を文字領域、網点領域、写真領域に分離する処理のことである。なお、このとき、後のフィルタ処理、中間調処理で領域ごとに処理アルゴリズムを切り替える処理を行う。
【００９９】
また、「色空間変換処理」（Ｓ２３）は、スキャナで読み取られたＲＧＢ空間の信号を複写機の出力系であるＣＭＹＫ色空間に変換する処理である。「フィルタ処理」（Ｓ２４）は、画像に空間フィルタをかけて、画像のエッジを強調したり、逆にぼかしたりする処理である。「中間調処理」（Ｓ２５）とは、複写機の出力系にあわせて画像信号を限られた諧調（例えば、１ｂｉｔ）に制限する処理である。なお、このとき、同時に空間的な解像度を犠牲にして、複数の諧調を実現する処理を行う。
【０１００】
これら５つの処理の全てを汎用のＰＥを用いて行うのではなく、それぞれの処理に特化したＰＥを用いる場合について説明する。図１３に示すように、上記の場合におけるＳｏＣ４０のブロック構成の一例を示し、図１４に示すように、ＳｏＣ４０のレイアウト構成の一例を示す。
【０１０１】
図１３、図１４に示すように、ガンマ補正のみ汎用ＰＥ１００で実現し、他の処理、すなわち、「領域分離処理」、「色空間変換処理」、「フィルタ処理」、「中間調処理」には、それぞれ、全て専用のＰＥ、領域分離ＰＥ１０３、色空間変換ＰＥ１０１、フィルタＰＥ１０２、中間調ＰＥ１０４がそれぞれ設けられている。さらに、図１４に示すように、ＳｏＣ４０の同一チップ上には、内蔵メモリ２１、外部Ｉ／Ｆ２２が設けられている。
【０１０２】
これらのことから、非対称マルチプロセッシングの場合は、対称型マルチプロセッシングの場合にジョブを固定のＰＥに割り付ける制限を付したものと換言できる。
【０１０３】
また、図１２の処理フローから、それぞれのＰＥが使われる順番は、Ｓ２１から、順次Ｓ２５までと明確である。したがって、連続して使われるＰＥの物理的配置をできるかぎり離れるように配置することが好ましい。
【０１０４】
上述したように、本発明にかかるジョブスケジューラおよびマルチプロセッサシステムを用いることにより、同一チップ上に複数のＰＥと上記ジョブスケジューラとを配置した、例えば、ＬＳＩ等のマルチプロセッサシステムにおいて、局所的な発熱の集中を、予め、回避することが本発明に係るジョブスケジューラを用いることにより可能となる。
【０１０５】
これにより、本発明に係るマルチプロセッサシステムでは、本発明のジョブスケジューラを用いることによって、発熱源が物理的に分散されるため、発熱の局所化を防止できる。すなわち、例えば、ＬＳＩのチップ上での発熱を平均化することができ、チップ上での発熱の集中化（ホットスポットの形成）を回避できて、ＬＳＩ等のマルチプロセッサシステムの性能を十分に発揮できるようにすることが可能となる。
【０１０６】
本発明のジョブスケジューラおよびマルチプロセッサシステムに用いた方法や手順は、例えば、コンピュータにて読み取り、実行可能なソフトウェア（プログラム）として実現可能であることは明らかである。また、上記ソフトウェアを、それが記録された記録媒体（例えば、フレキシブルディスクや、ＣＤ、ＤＶＤ等）として、市場に流通可能なことは容易に理解されるであろう。
【０１０７】
【発明の効果】
本発明のジョブスケジューラは、以上のように、チップ上に配置されている複数のＰＥにおける消費電力を、各ＰＥに対しそれぞれ割り当てられたジョブの処理状況に応じて制御できるＰＥ監視制御手段と、ジョブ処理による電力消費に伴う、ＰＥの温度上昇を推定する推定部と、上記推定部の推定結果に基づいて、空きＰＥにジョブを割り当てるためのジョブ割当手段とを備える構成である。
【０１０８】
それゆえ、上記構成は、チップ上に配置されている複数のＰＥのチップレイアウトレベル（物理的配置）と各ＰＥへのジョブ割り当て（スケジューリング）との双方をからめて考慮することにより、例えば、複数のＰＥが配置されているチップ上での局所的な発熱の集中を回避することが可能となる。
【０１０９】
これにより、上記構成では、発熱源が物理的に分散されるため、発熱の局所化を防止でき、ＬＳＩ等のチップ上での発熱を平均化して、上記チップの性能を、より確実に発揮できるという効果を奏する。
【図面の簡単な説明】
【図１】本発明のジョブスケジューラとしてのマスターコントローラのブロック図である。
【図２】上記マスターコントローラを備えた、本発明のマルチプロセッサシステムのブロック図である。
【図３】上記マルチプロセッサシステムとしてのＳｏＣのチップレイアウトを示す平面図である。
【図４】上記マスターコントローラに使用されるＰＥ監視制御手段に用いられるゲートクロックを示し、（ａ）はブロック図を示し、（ｂ）は上記ゲートクロックのタイミングチャートを示す。
【図５】上記マスターコントローラに用いられるジョブキューのブロック図である。
【図６】上記マルチプロセッサシステムとしてのＳｏＣのチップレイアウト、およびそのプロセッサ識別子＃ｉとの対応を示す平面図である。
【図７】上記マルチプロセッサシステムとしてのＳｏＣの各動作を示すフローチャートである。
【図８】上記マルチプロセッサシステムとしてのＳｏＣにおける、各ＰＥに動作に重み付けする際の、正規化された各ＰＥの配置を示す平面図である。
【図９】上記マスターコントローラの一変形例を示すブロック図である。
【図１０】上記マスターコントローラの他の変形例を示すブロック図である。
【図１１】上記マスターコントローラのさらに他の変形例を示すブロック図である。
【図１２】上記マルチプロセッサシステムにおいて、非対称型マルチプロセッサシステムの場合の一動作例を示すフローチャートである。
【図１３】上記非対称型マルチプロセッサシステムとしてのＳｏＣのブロック図である。
【図１４】上記Ｓｏのチップレイアウトを示す平面図である。
【符号の説明】
１１  マスターコントローラ（ジョブスケジューラ）
５１  推定部
５２  ジョブキュー
５３  ジョブ割当手段
５４  ＰＥ監視制御手段（プロセッサエレメント監視制御手段）
【図１】
2004240669.tif 000004
【図２】
2004240669.tif 000005
【図３】
2004240669.tif 000006
【図４】
2004240669.tif 000007
【図５】
2004240669.tif 000008
【図６】
2004240669.tif 000009
【図７】
2004240669.tif 000010
【図８】
2004240669.tif 000011
【図９】
2004240669.tif 000012
【図１０】
2004240669.tif 000013
【図１１】
2004240669.tif 000014
【図１２】
2004240669.tif 000015
【図１３】
2004240669.tif 000016
【図１４】
2004240669.tif 000017