(57)【特許請求の範囲】
【請求項１】
複数のプロセッサチップに処理を分散させて実行させるマルチプロセッシングシステムにおいて、
前記プロセッサチップの最大処理性能を示す実クロック周波数と前記プロセッサチップの仕様クロック周波数との差を示す情報を前記複数のプロセッサチップから取得する取得手段と、
前記取得手段によって取得された前記差を示す情報に応じたクロック周波数を、前記差を示す情報とクロック周波数とを対応付けたテーブルから特定する特定手段と、
前記特定手段によって特定されたクロック周波数（以下、「特定クロック周波数」という）で前記プロセッサチップに処理を実行させた場合の処理性能（以下、「チップ処理性能」という）を前記プロセッサチップごとに算出するチップ処理性能算出手段と、
前記チップ処理性能算出手段によって算出されたチップ処理性能の合計が、前記マルチプロセッシングシステムに格納されている、前記複数のプロセッサチップ全体を動作させた場合に要求されるシステム要求処理性能以上であるか否かを判断するシステム処理性能判断手段と、
前記システム処理性能判断手段によってシステム要求処理性能以上であると判断された場合、前記プロセッサチップの動作クロック周波数を前記特定クロック周波数に設定する設定手段と、
前記設定手段により前記特定クロック周波数に設定された場合、前記複数のプロセッサチップのうち任意のプロセッサチップが交換されたか否かを検出する検出手段と、
前記複数のプロセッサチップの中から選ばれた少なくとも一のプロセッサチップについて、前記チップ処理性能算出手段によって算出された、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記プロセッサチップを動作させた場合に利用者又は上位システムから要求されるチップ要求処理性能以上であるか否かを判断するチップ処理性能判断手段と、
前記特定クロック周波数を変更するクロック周波数変更手段と、を備え、
前記チップ処理性能判断手段は、
前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能以上であると判断された場合、さらに、前記チップ要求処理性能のＮ（Ｎ＞１）倍以上であるか否かを判断し、
前記クロック周波数変更手段は、
前記チップ処理性能判断手段によって前記チップ要求処理性能のＮ倍以上であると判断された場合、前記特定クロック周波数を１／Ｎ倍に変更し、
前記取得手段は、
前記検出手段により交換されたことが検出された場合、あらたに搭載されたプロセッサチップの前記差を示す情報を取得することを特徴とするマルチプロセッシングシステム。
【請求項２】
前記システム処理性能判断手段は、
さらに、前記チップ処理性能判断手段によって判断された判断結果に基づいて、前記各チップ処理性能の合計が、前記システム要求処理性能以上であるか否かを判断することを特徴とする請求項１に記載のマルチプロセッシングシステム。
【請求項３】
前記一のプロセッサチップについて、前記チップ処理性能判断手段により、前記チップ要求処理性能未満であると判断された場合、当該チップ要求処理性能を所定量低下するように変更するチップ要求処理性能変更手段を備え、
前記チップ処理性能判断手段は、
前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能変更手段による変更後のチップ要求処理性能以上であるか否かを判断することを特徴とする請求項２に記載のマルチプロセッシングシステム。
【請求項４】
前記チップ処理性能算出手段は、
前記クロック周波数変更手段による変更後の特定クロック周波数で前記一のプロセッサチップに処理を実行させた場合のチップ処理性能をあらたに算出することを特徴とする請求項１に記載のマルチプロセッシングシステム。
【請求項５】
前記システム処理性能判断手段により、前記複数のプロセッサチップのチップ処理性能の合計が前記システム要求処理性能未満であると判断された場合、前記複数のプロセッサチップからあらたなプロセッサチップへの交換または前記あらたなプロセッサチップの追加を促すメッセージを出力する変更／追加メッセージ出力手段を備え、
前記取得手段は、
前記変更／追加メッセージ出力手段によって出力された結果、前記あらたなプロセッサチップに交換または追加された場合、前記あらたなプロセッサチップのクロック周波数の前記差を示す情報を取得することを特徴とする請求項２〜４のいずれか一つに記載のマルチプロセッシングシステム。
【請求項６】
複数のプロセッサチップに処理を分散させて実行させるマルチプロセッシングシステムにおいて、
前記プロセッサチップの最大処理性能を示す実クロック周波数と前記プロセッサチップの仕様クロック周波数との差を示す情報を前記複数のプロセッサチップから取得する取得手段と、
前記取得手段によって取得された前記差を示す情報に応じたクロック周波数を、前記差を示す情報とクロック周波数とを対応付けたテーブルから特定する特定手段と、
前記特定手段によって特定されたクロック周波数（以下、「特定クロック周波数」という）で前記プロセッサチップに処理を実行させた場合の処理性能（以下、「チップ処理性能」という）を前記プロセッサチップごとに算出するチップ処理性能算出手段と、
前記チップ処理性能算出手段によって算出されたチップ処理性能の合計が、前記マルチプロセッシングシステムに格納されている、前記複数のプロセッサチップ全体を動作させた場合に要求されるシステム要求処理性能以上であるか否かを判断するシステム処理性能判断手段と、
前記システム処理性能判断手段によってシステム要求処理性能以上であると判断された場合、前記プロセッサチップの動作クロック周波数を前記特定クロック周波数に設定する設定手段と、
前記設定手段により前記特定クロック周波数に設定された場合、前記複数のプロセッサチップのうち任意のプロセッサチップが交換されたか否かを検出する検出手段と、
前記複数のプロセッサチップの中から選ばれた少なくとも一のプロセッサチップについて、前記チップ処理性能算出手段によって算出された、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記プロセッサチップを動作させた場合に利用者又は上位システムから要求されるチップ要求処理性能以上であるか否かを判断するチップ処理性能判断手段と、
前記チップ要求処理性能を変更するチップ要求処理性能変更手段とを、備え、
前記システム処理性能判断手段は、
前記システム要求処理性能以上であると判断された場合、さらに、当該システム要求処理性能のＭ（Ｍ＞１）倍以内であるか否かを判断し、
前記チップ要求処理性能変更手段は、
前記特定クロック周波数で処理を実行させた場合のチップ処理性能の合計が、前記システム処理性能判断手段によって前記システム要求処理性能のＭ（Ｍ＞１）倍以内でないと判断されたとき、前記チップ要求処理性能を所定量低下するように変更し、
前記取得手段は、
前記検出手段により交換されたことが検出された場合、あらたに搭載されたプロセッサチップの前記差を示す情報を取得することを特徴とするマルチプロセッシングシステム。
【請求項７】
前記チップ処理性能判断手段は、
前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能変更手段による変更後のチップ要求処理性能以上であるか否かを判断することを特徴とする請求項６に記載のマルチプロセッシングシステム。
【請求項８】
前記設定手段により前記特定クロック周波数に設定された場合、前記一のプロセッサチップのあらたなチップ要求処理性能を受け付ける受付手段を備え、
前記チップ処理性能判断手段は、
前記一のプロセッサチップについて、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記受付手段によって受け付けられたあらたなチップ要求処理性能以上であるか否かを判断することを特徴とする請求項２に記載のマルチプロセッシングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のプロセッサチップに処理を分散させて実行させるマルチプロセッシングシステムに関する。
【背景技術】
【０００２】
従来、一つのプロセッサチップの機能では処理できないほどの大量な情報の処理をおこなう場合、複数のプロセッサに処理を分散させて実行させるマルチプロセッシングシステムが利用されている。マルチプロセッシングシステムでは、各プロセッサチップに実行させる処理の分散を個々のプロセッサチップの処理性能を示すクロック周波数に応じて決定する。
【０００３】
図９は、従来のマルチプロセッシングシステムを示すブロック図である。図９において、従来のマルチプロセッシングシステム９００は、複数のプロセッサチップ９１０に分散処理制御チップ９２０を接続して構成されている。図９では、プロセッサチップ９１０の数は２個であるため、それぞれ、プロセッサチップ９１０Ａ、プロセッサチップ９１０Ｂとする。
【０００４】
プロセッサチップ９１０Ａおよびプロセッサチップ９１０Ｂは、それぞれ、クロックユニット９１１ａと、コアユニット９１１ｂとから構成されるプロセッサ回路９１１を備えている。プロセッサ回路９１１は、クロックユニット９１１ａによってクロック信号を生成する。生成したクロック信号は、コアユニット９１１ｂへ入力される。コアユニット９１１ｂは、入力されたクロック信号に基づいて、分散処理制御チップ９２０の分散処理制御回路９２１によって分散された処理を実行する。
【０００５】
プロセッサチップ９１０は半導体回路で構成される。プロセッサチップ９１０が同じ種類であっても、プロセッサチップ９１０を構成する半導体回路が、製造ばらつきにより速く動作する回路になったり、遅く動作する回路になったりする。また、プロセッサチップ９１０を構成する半導体回路は、温度によって動作速度が変動する。したがって、上記製造ばらつきや温度の変動範囲を満たすように、想定されるなかで最も遅く動作するクロック周波数が仕様で規定されている。
【０００６】
一般的にプロセッサチップ９１０の仕様は、プロセッサチップ９１０の種類に応じて統一の仕様となるように規定されている。したがって、同一種類のプロセッサチップ９１０であれば、一意的に同一仕様と判断される。
【０００７】
ここで、プロセッサチップ９１０Ａとプロセッサチップ９１０Ｂは、いずれも最大クロック周波数１［ＧＨｚ］で動作可能であることが仕様で規定されているとする。この場合、マルチプロセッシングシステム９００の電源投入後に、クロック周波数、電源電圧、基板電位が仕様を満たすように初期値に決定される。すなわち、図９に示したマルチプロセッシングシステム９００では、プロセッサチップ９１０Ａもプロセッサチップ９１０Ｂも１［ＧＨｚ］のクロック周波数に設定される。その後、各プロセッサチップ９１０で処理が開始される。
【０００８】
また、上述のように、仕様として規定されたクロック周波数をそのまま利用するようなマルチプロセッシング以外にも、処理にあわせてクロック周波数を自律的に分散する技術も開発されている。一例として、プロセッサチップ上に、複数の機能モジュールと、性能測定回路（ＰＭＣ）とを設け、さらに、プロセッサチップに関する情報を記録する記憶テーブル回路（ＭＴＣ）を備えた回路が開示されている（たとえば、下記特許文献１を参照。）。
【０００９】
上述のような回路構成にすることで、ＰＭＣで測定したプロセッサチップの性能とＭＴＣに記録されている値とから、自律分散的にクロック周波数と電源電圧・基板電位とを計算して、プロセッサチップの動作を自律的に設定する。したがって、動作時の動作性能が指定されているような機能モジュールであっても、プロセッサチップの製造ばらつきに応じて最適なクロック周波数に設定することができる。
【００１０】
【特許文献１】特開２００４−２２８４１７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、プロセッサチップ９１０が同一種類であっても製造時のばらつきや、プロセッサチップ９１０を構成する半導体回路の温度により、クロック周波数が変動するため、同一種類のプロセッサチップ９１０を一意的に同一仕様として動作させると、個々のプロセッサチップ９１０Ａ，９１０Ｂの処理性能を最大限に活かしきれないという問題があった。
【００１２】
たとえば、プロセッサチップ９１０Ａとプロセッサチップ９１０Ｂが同一種類であり、半導体回路の温度も同じであったとする。ところが製造ばらつきにより、プロセッサチップ９１０Ａは２［ＧＨｚ］でも動作するが、プロセッサチップ９１０Ｂは１［ＧＨｚ］までしか動作しないとする。
【００１３】
この場合、従来であれば、プロセッサチップ９１０Ａおよびプロセッサチップ９１０Ｂともに、仕様どおり１［ＧＨｚ］で動作させることとなる。一つのプロセッサチップの１［ＧＨｚ］あたりの処理性能をＰｖとすると、このマルチプロセッシングシステム９００の性能は、下記式（１）によりあらわすことができる。
【００１４】
（１［ＧＨｚ］＋１［ＧＨｚ］）×Ｐｖ＝２Ｐｖ・・・（１）
【００１５】
しかしながら、プロセッサチップ９１０Ａは２［ＧＨｚ］まで動作する実力を持っているので、実力どおりのクロック周波数で動作させた場合のマルチプロセッシングシステム９００の処理性能は、下記式（２）によりあらわすことができる。
【００１６】
（２［ＧＨｚ］＋１［ＧＨｚ］）×Ｐｖ＝３Ｐｖ・・・（２）
【００１７】
上記式（１）および式（２）を比較すると、従来手法では実力の２／３の処理性能しか活かしきれていないこととなる。
【００１８】
また、従来のマルチプロセッシングシステム９００では、プロセッサチップ９１０の処理性能を認識することができないため、最も高速に処理できる要求処理量の比を特定することができない。したがって、仕様で規定したクロック周波数で、各プロセッサチップ９１０Ａ，９１０Ｂの要求処理量を、１：１の比で分散しなければならない。このため、各プロセッサチップ９１０Ａ，９１０Ｂの処理性能に応じた処理分散をおこなうことができないという問題があった。
【００１９】
また、プロセッサチップ９１０が交換される場合も、交換によりあらたに実装されたプロセッサチップの処理性能を認識することができないため、仕様で規定したクロック周波数にしたがって分散しなければならないという問題があった。
【００２０】
また、上述した特許文献１の従来技術は、自律分散型の機能であるため全体としての処理を最適に分散することができないという問題があった。
【００２１】
この発明は、上述した従来技術による問題点を解消するため、個々のプロセッサチップの処理性能を最大限に引き出しつつ、各プロセッサチップへの処理分散の最適化を実現することができるマルチプロセッサシングシステムを提供することを目的とする。
【課題を解決するための手段】
【００２２】
上述した課題を解決し、目的を達成するため、この発明にかかるマルチプロセッシングシステムは、複数のプロセッサチップに処理を実行させるマルチプロセッシングシステムにおいて、前記プロセッサチップのクロック周波数の製造ばらつきに関する情報を前記複数のプロセッサチップから取得する取得手段と、前記取得手段によって取得された製造ばらつきに関する情報に応じたクロック周波数を特定する特定手段と、前記特定手段によって特定されたクロック周波数（以下、「特定クロック周波数」という）で前記プロセッサチップに処理を実行させた場合の処理性能（以下、「チップ処理性能」という）を前記プロセッサチップごとに算出するチップ処理性能算出手段と、前記チップ処理性能算出手段によって算出されたチップ処理性能の合計が、前記複数のプロセッサチップ全体を実行させた場合に要求されるシステム要求処理性能以上であるか否かを判断するシステム処理性能判断手段と、前記システム処理性能判断手段によって判断された判断結果に基づいて、前記プロセッサチップの動作クロック周波数を前記特定クロック周波数に設定する設定手段と、を備えることを特徴とする。
【００２３】
この発明によれば、プロセッサチップの製造ばらつきに関する情報を用いることで、複数のプロセッサチップのチップ処理性能の合計がシステム要求処理性能を満たすことができるよう、各プロセッサチップのクロック周波数を特定クロック周波数に設定することができる。
【００２４】
また、この発明において、前記複数のプロセッサチップの中から選ばれた一のプロセッサチップについて、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記プロセッサチップを実行させた場合に要求されるチップ要求処理性能以上であるか否かを判断するチップ処理性能判断手段を備え、前記システム処理性能判断手段は、さらに、前記チップ処理性能判断手段によって判断された判断結果に基づいて、前記各チップ処理性能の合計が、前記システム要求処理性能以上であるか否かを判断してもよい。
【００２５】
この発明によれば、複数のプロセッサチップが設定手段によって個別に設定された特定クロック周波数で処理を実行させた場合のシステム処理性能が、システム要求処理性能以上か否かを判断することができる。
【００２６】
また、この発明において、前記一のプロセッサチップについて、前記チップ処理性能判断手段により、前記チップ要求処理性能未満であると判断された場合、当該チップ要求処理性能を所定量低下するように変更するチップ要求処理性能変更手段を備え、前記チップ処理性能判断手段は、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能変更手段による変更後のチップ要求処理性能以上であるか否かを判断してもよい。
【００２７】
この発明によれば、一のプロセッサチップのチップ処理性能が、チップ要求処理性能に満たない場合に、自動的にチップ要求処理性能を低下させる。さらに、低下させたチップ要求処理性能が、特定クロック周波数で当該一のプロセッサチップを動作させた際のチップ処理性能以下になるか否かを判断することができる。
【００２８】
また、この発明において、前記チップ処理性能判断手段は、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能以上であると判断された場合、さらに、当該チップ要求処理性能のＮ（Ｎ＞１）倍以上であるか否かを判断してもよい。
【００２９】
この発明によれば、特定クロック周波数によって処理を実行させた場合のチップ処理性能が、指定したチップ処理性能の上限（チップ要求処理性能のＮ倍）に設定されていないかを判断することができる。
【００３０】
また、この発明において、前記一のプロセッサチップについて、前記チップ処理性能判断手段により、前記チップ要求処理性能のＮ倍以上であると判断された場合、前記特定クロック周波数を１／Ｎ倍に変更するクロック周波数変更手段を備え、前記チップ処理性能算出手段は、前記クロック周波数変更手段による変更後の特定クロック周波数で前記一のプロセッサチップに処理を実行させた場合のチップ処理性能をあらたに算出してもよい。
【００３１】
この発明によれば、特定クロック周波数によって処理を実行させた場合のチップ処理性能が、指定したチップ処理性能の上限（チップ要求処理性能のＮ倍）であった場合に、自動的に特定クロック周波数を変更して、指定したチップ処理性能の上限以下となる特定クロック周波数に設定することができる。
【００３２】
また、この発明において、前記システム処理性能判断手段により、前記複数のプロセッサチップのチップ処理性能の合計が前記システム要求処理性能未満であると判断された場合、前記複数のプロセッサチップからあらたなプロセッサチップへの交換または前記あらたなプロセッサチップの追加を促すメッセージを出力する変更／追加メッセージ出力手段を備え、前記取得手段は、前記変更／追加メッセージ出力手段によって出力された結果、前記あらたなプロセッサチップに交換または追加された場合、前記あらたなプロセッサチップのクロック周波数の製造ばらつきに関する情報を取得してもよい。
【００３３】
この発明によれば、現状のマルチプロセッシングシステムの構成では、システム要求処理性能を実現することができないことを判断する。さらに、利用者や上位システムからのシステム要求処理性能を備えたマルチプロセッシングシステムを実現するために、あらたなプロセッサチップの交換またはあらたなプロセッサチップの追加を促すことができる。
【００３４】
また、この発明において、前記システム処理性能判断手段は、前記システム要求処理性能以上であると判断された場合、さらに、当該システム要求処理性能のＭ（Ｍ＞１）倍以内であるか否かを判断してもよい。
【００３５】
この発明によれば、特定クロック周波数によって処理を実行させた場合の各プロセッサチップ全体のチップ処理性能の合計が、指定したシステム処理性能の上限（要求処理性能のＭ倍）に設定されていないかを判断することができる。
【００３６】
また、この発明において、前記システム処理性能判断手段により、前記システム要求処理性能のＭ（Ｍ＞１）倍以内でないと判断された場合、前記チップ要求処理性能を所定量低下するように変更するチップ要求処理性能変更手段を備え、前記チップ処理性能判断手段は、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能変更手段による変更後のチップ要求処理性能以上であるか否かを判断してもよい。
【００３７】
この発明によれば、特定クロック周波数によって処理を実行させた場合の各プロセッサチップ全体のチップ処理性能の合計が、指定したシステム処理性能の上限（システム要求処理性能のＭ倍）であった場合に、自動的に特定クロック周波数を変更して、指定したシステム処理性能の上限以下となる特定クロック周波数に設定することができる。
【００３８】
また、この発明において、前記設定手段により前記特定クロック周波数に設定された場合、前記複数のプロセッサチップのうち任意のプロセッサチップが交換されたか否かを検出する検出手段を備え、前記取得手段は、前記検出手段により交換されたことが検出された場合、あらたに搭載されたプロセッサチップの製造ばらつきに関する情報を取得してもよい。
【００３９】
この発明によれば、自動的にプロセッサチップの交換を検出し、交換後のあらたなプロセッサチップの製造ばらつきに関する情報を取得して、当該製造ばらつき情報に基づいて特定クロック周波数を設定することができる。
【００４０】
また、この発明において、前記設定手段により前記特定クロック周波数に設定され、前記一のプロセッサチップを実行させた場合に要求される、あらたなチップ要求処理性能を受け付ける受付手段を備え、前記チップ処理性能判断手段は、前記一のプロセッサチップについて、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記受付手段によって受け付けられたあらたなチップ要求処理性能以上であるか否かを判断してもよい。
【００４１】
この発明によれば、複数のプロセッサチップのなかの特定のプロセッサチップに関してあらたなチップ要求処理性能を受け付けることができる。さらに、特定のプロセッサチップのチップ処理性能が、受付手段によって受け付けたあらたなチップ要求処理性能以上か否かを判断することができる。
【発明の効果】
【００４２】
この発明にかかるマルチプロセッシングシステムによれば、個々のプロセッサチップの処理性能を最大限に引き出しつつ、各プロセッサチップへの処理分散の最適化を実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【００４３】
以下に添付図面を参照して、この発明にかかるマルチプロセッシングシステムの好適な実施の形態を詳細に説明する。本実施の形態では、複数のプロセッサチップが接続されたマルチプロセッシングシステムを用いて上位システムから送られてきた情報の処理を、利用者または、上位システムの指定したシステム要求処理性能を満たすようにプロセッサチップごとに分散して実行させる。
【００４４】
具体的には、実際の動作開始に先立って、マルチプロセッシングシステムを構成する各プロセッサチップの処理性能の合計が要求処理性能以上となるように設定する。たとえば、マルチプロセッシングシステムが実装された情報処理装置の電源が投入された後に、利用者もしくは上位システムから指定された要求処理性能を満たすように各プロセッサチップの動作性能を設定する。すべてのプロセッサチップの設定が終了すると、マルチプロセッサとしての実際の動作を開始させる。
【００４５】
（マルチプロセッシングシステムのハードウェア構成）
まず、この発明の実施の形態にかかるマルチプロセッシングシステムのハードウェア構成について説明する。図１は、この発明の実施の形態にかかるマルチプロセッシングシステムのハードウェア構成を示すブロック図である。マルチプロセッシングシステム１００は、プロセッサチップ１１０（図１の例ではプロセッサチップ１１０Ａ，１１０Ｂ）と、分散処理制御チップ１２０と、動作条件制御チップ１３０とが、バス１４０に接続されて構成される。
【００４６】
プロセッサチップ１１０は、処理する情報量や、利用者または上位システム要求の性能にあわせて交換、増減が可能である。図１に示したマルチプロセッシングシステム１００の構成例では、同様のチップ仕様を有したプロセッサチップ１１０Ａと、プロセッサチップ１１０Ｂを含んだ構成となっている。
【００４７】
まず、各プロセッサチップ１１０の構成について説明する。プロセッサチップ１１０Ａ，１１０Ｂは、プロセッサ回路１１１と、プロセッサ種別情報回路１１２と、製造ばらつき情報回路１１３と、周波数設定回路１１４と、チップＩＤ格納部１１５と、温度検出部１１６と、バス制御回路１１７と、から構成される。
【００４８】
プロセッサ回路１１１は、クロックユニット１１１ａと、コアユニット１１１ｂと、から構成される。クロックユニット１１１ａは、所定の周波数のクロック信号を発生させ、コアユニット１１１ｂに出力する。また、出力されるクロック信号の周期は、周波数設定回路１１４により、生成させるクロック信号のクロック周波数が設定値となるように調整される。コアユニット１１１ｂは、クロックユニット１１１ａから入力されたクロック信号の周期に応じたクロック周波数で分散された情報の処理をおこなう。
【００４９】
プロセッサ種別情報回路１１２には、プロセッサチップ１１０の種別情報が格納されている。プロセッサ種別情報回路１１２に格納されたプロセッサチップ種別情報は、バス制御回路１１７を経由して動作条件制御チップ１３０へ入力される。
【００５０】
種別情報とは、プロセッサ回路１１１の仕様を表す情報であり、たとえばプロセッサチップ１１０の型番と一対一に対応させた番号（たとえば、製造番号、商品番号など）や、仕様で定められたクロック周波数（以下、「仕様クロック周波数」という）が含まれている。
【００５１】
また、製造ばらつき情報回路１１３は、プロセッサチップ１１０のクロック周波数の製造ばらつき情報が格納されている。製造ばらつき情報回路１１３に格納されている製造ばらつき情報は、バス制御回路１１７を介して動作条件制御チップ１３０へ入力される。
【００５２】
製造ばらつき情報とは、プロセッサ回路１１１に実際に情報を処理させた場合の最大処理性能を示すクロック周波数（以下、「実クロック周波数」という）、もしくは、各プロセッサチップ１１０の仕様クロック周波数と、実クロック周波数との差に関する情報である。実クロック周波数は、例えばクロックユニット１１１ａを監視することで検出する。この実施の形態では、たとえば、仕様クロック周波数と実クロック周波数との差を所定のしきい値と比較して「Ｆａｓｔ：速い」、「Ｔｙｐｉｃａｌ：通常」、「Ｓｌｏｗ：遅い」の３種類に分けて実クロック周波数とあわせて格納する。
【００５３】
製造ばらつき情報は、各プロセッサチップ１１０が最適な処理性能で動作できるように設定されるクロック周波数（以下、「特定クロック周波数」という）を算出する際の設定の目安として利用される。
【００５４】
また、周波数設定回路１１４は、バス制御回路１１７を介して動作条件制御チップ１３０から入力された特定クロック周波数、電源電圧、および基板電位を、プロセッサ回路１１１のクロックユニット１１１ａによって生成されるクロック信号のクロック周波数、電源電圧、および基板電位に設定する。これにより、プロセッサチップ１１０は、設定されたクロック周波数、電源電圧、および基板電位で動作することとなる。
【００５５】
チップＩＤ格納部１１５には、チップＩＤが格納されている。チップＩＤとは、プロセッサチップ１１０を識別するユニークな情報であり、たとえば、プロセッサチップ１１０Ａ（または１１０Ｂ）のシリアル番号である。
【００５６】
チップＩＤ格納部１１５に格納されているチップＩＤは、動作条件制御チップ１３０により監視される。動作条件制御チップ１３０が監視することで、たとえば、プロセッサチップ１１０のチップＩＤが変更されたか否かを検出することができる。これにより、プロセッサチップ１１０が交換されたか否かがわかる。
【００５７】
また、温度検出部１１６は、プロセッサチップ１１０の温度を検出する。温度検出部１１６によって検出された温度情報は、バス制御回路１１７を介して動作条件制御チップ１３０へ入力される。プロセッサチップ１１０の温度は、動作状態や、使用環境、情報処理装置内の冷却機構の性能など様々な要因に左右される。したがって、温度検出部１１６は、常時プロセッサチップ１１０の温度を検出する。
【００５８】
また、温度検出部１１６の設置位置は、図１のような各プロセッサチップ１１０の内部に限らない。各プロセッサチップ１１０の外部に設け、外部から温度情報を直接動作制御チップ１３０へ入力してもよい。また、外部に、温度検出部１１６を設けた場合、プロセッサチップ１１０ごとに温度検出部１１６を備える構成の他にも、１つの温度検出部１１６を設けて、各プロセッサチップ１１０の温度情報をそれぞれ検出して、プロセッサチップ１１０のチップＩＤと対応させた温度情報を動作制御チップ１３０へ入力してもよい。
【００５９】
バス制御回路１１７は、各種情報の入出力を制御する。たとえば、プロセッサチップ１１０内部の各構成からの情報を、分散処理制御チップ１２０や動作条件制御チップ１３０またはマルチプロセッシングシステム１００の外部の他の機能部へ出力する。同様に、分散処理制御チップ１２０や動作条件制御チップ１３０またはマルチプロセッシングシステム１００の外部の他の機能部からの情報を、プロセッサチップ１１０内部の各構成に入力する。
【００６０】
ここで、上述した各プロセッサチップ１１０Ａ，１１０Ｂの特性について説明する。図２は、各プロセッサチップの特性を示す図表である。図２に示した図表では、プロセッサチップ１１０Ａ，１１０Ｂごとに、チップ仕様と、製造実力と、クロック周波数とを示している。
【００６１】
図２において、「チップ仕様」は、プロセッサ種別情報回路１１２に格納されている仕様クロック周波数であり、上述したプロセッサチップ１１０の種別情報により一意的に決定されている。また、「製造実力」は、上述した製造ばらつき情報回路１１３に格納されている実クロック周波数である。さらに、「クロック周波数」は、上述した動作条件制御チップ１３０によって設定される特定クロック周波数、すなわち、周波数設定回路１１４に設定される特定クロック周波数の値となる。
【００６２】
また、図１において、分散処理制御チップ１２０は、処理分散制御回路１２１を備えている。処理分散制御回路１２１は、利用者や上位システムからマルチプロセッシングシステム１００のシステム要求処理性能を受け付ける。
【００６３】
システム要求処理性能とは、マルチプロセッシングシステム１００が接続されているプロセッサチップ１１０全体（図１の場合は、プロセッサチップ１１０Ａおよびプロセッサチップ１１０Ｂ）で実行させたい処理性能である。たとえば、一つのプロセッサチップの１［ＧＨｚ］あたりの処理性能をＰｖとすると、システム要求処理性能は、ａＰｖ（ａは数字）であらわされる。
【００６４】
また、システム要求処理性能は、動作条件制御チップ１３０に入力され、システム処理性能の設定処理に用いられる。システム処理性能とは、プロセッサチップ１１０の処理性能の合計である。たとえば、プロセッサチップ１１０Ａの実クロック周波数が２［ＧＨｚ］、プロセッサチップ１１０Ｂの実クロック周波数が１［ＧＨｚ］とすると、プロセッサチップ１１０Ａの処理性能は２Ｐｖであり、プロセッサチップ１１０Ｂの処理性能は１Ｐｖである。したがって、実力どおりのクロック周波数で動作させた場合のマルチプロセッシングシステム８００のシステム処理性能は、３Ｐｖとなる。システム処理性能の設定処理は、動作条件制御チップ１３０により実行される。
【００６５】
また、分散処理制御チップ１２０は、動作条件制御チップ１３０で実クロック周波数から計算される処理性能がチップ要求処理性能未満であった場合に、チップ要求処理性能を所定量低下するように変更するチップ要求処理性能変更を、動作条件制御チップ１３０から受け付ける。
【００６６】
最後に、動作条件制御チップ１３０の構成について説明する。動作条件制御チップ１３０は、バス制御回路１３１と、リセット送受信回路１３２と、テーブル格納部１３３と、マルチプロセッシング制御回路１３４と、から構成されている。
【００６７】
まず、バス制御回路１３１は、各種情報の入出力を制御する。たとえば、各プロセッサチップ１１０からの情報を、動作条件制御チップ１３０内の回路１３２，１３４に出力する。同様に、動作条件制御チップ１３０内部の各回路１３２，１３４からの情報を、出力先となる各プロセッサチップ１１０内の回路１１１〜１１７に出力する。
【００６８】
また、リセット送受信回路１３２は、上位システム（たとえば、マルチプロセッシングシステム１００が搭載された情報処理装置）と、マルチプロセッシングシステム１００へのリセット信号の送受信をおこなう。
【００６９】
リセット送受信回路１３２は、上位システムからリセット信号を受信すると、マルチプロセッシングシステム１００全体の動作を停止させ、電源投入時と同様に改めて各プロセッサチップ１１０の設定を開始する。また、各プロセッサチップ１１０の設定をおこなっている際に、チップ要求処理性能の再設定や、プロセッサチップ１１０の構成変更を要する場合には、リセット送受信回路１３２から利用者や上位システムに必要とする情報を報知する。また、利用者や上位システムからチップ追加・変更信号や、要求処理性能変更信号を受信すると分散処理制御チップ１２０に送信する。
【００７０】
また、テーブル格納部１３３は、製造ばらつき対最大クロック周波数テーブルを格納する。製造ばらつき対最大クロック周波数テーブルとは、マルチプロセッシングシステム１００に接続されている各プロセッサチップ１１０の製造ばらつきに依存したクロック周波数、および、そのクロック周波数で各プロセッサチップ１１０を動作させるときの電源電圧や基板電位を保持するテーブルである。保持されている情報は、マルチプロセッシング制御回路１３４により読み出される。
【００７１】
図３−１および図３−２は、製造ばらつき対最大クロック周波数テーブルを模式的に示した説明図である。図３−１に示した製造ばらつき対最大クロック周波数テーブル３１０は、プロセッサチップの温度が１２５℃（±ｋ℃の範囲をもたせてもよい。ｋは任意に設定可能。）のときに用いられるテーブルであり、図３−２に示した製造ばらつき対最大クロック周波数テーブル３２０は、プロセッサチップの温度が８０℃（±ｋ℃の範囲をもたせてもよい。ｋは任意に設定可能。）のときに用いられるテーブルである。
【００７２】
たとえば、プロセッサチップ１１０のチップ温度が１２５°である場合、図３−１に示した製造ばらつき対最大クロック周波数テーブル３１０が用いられる。このとき、当該プロセッサチップ１１０の製造ばらつき情報が「Ｆａｓｔ」である場合、図３−１中、「Ｆａｓｔ」内のクロック周波数、電源電圧、および基板電位７種類の組み合わせの中から、任意のクロック周波数、電源電圧、および基板電位（たとえば、クロック周波数１．４［ＧＨｚ］，電源電圧１．２［Ｖ］、基板電位−１［Ｖ］）が読み出される。
【００７３】
また、プロセッサチップ１１０の処理性能を最大限に引き出したい場合には、「Ｆａｓｔ」内のクロック周波数、電源電圧、および基板電位の組み合わせのうち、クロック周波数が大きい組み合わせ、特にクロック周波数が最大となる組み合わせを読み出すことが好ましい。すなわち、図３−１では、クロック周波数は１．８［ＧＨｚ］、電源電圧は１．２［Ｖ］、基板電位は０［Ｖ］が読み出される。
【００７４】
また、マルチプロセッシング制御回路１３４は、動作条件制御チップ１３０における各動作条件の制御を司る。たとえば、テーブル格納部１３３からの情報を読み出して、各プロセッサチップ１１０の特定クロック周波数の決定、特定クロック周波数に応じた電源電圧や基板電位を決定する。また、上述したチップ処理性能やシステム処理性能の算出をおこなう。また、チップ要求処理性能とチップ処理性能との比較やシステム要求処理性能とシステム処理性能との比較をおこない、その比較結果を処理分散制御チップ１２０に出力する。
【００７５】
ここで、チップ要求処理性能とは、各プロセッサチップ１１０に要求されるチップ処理性能であり、ユーザからの指示により分散処理制御チップ１２０において設定される。各プロセッサチップ１１０に対するチップ要求処理性能の合計が、上述したシステム要求処理性能となる。なお、マルチプロセッシング制御回路１３４の具体的な処理については、後述するフローチャートを用いて詳細に説明する。
【００７６】
（マルチプロセッシングシステムの機能的構成）
つぎに、この発明の実施の形態にかかるマルチプロセッシングシステムの機能的構成について説明する。図４は、この発明の実施の形態にかかるマルチプロセッシングシステムの機能的構成を示したブロック図である。
【００７７】
図４において、図１に示したマルチプロセッシングシステム１００は、取得部４０１と、特定部４０２と、チップ処理性能算出部４０３と、システム処理性能判断部４０４と、設定部４０５と、チップ処理性能判断部４０６と、チップ要求処理性能変更部４０７と、クロック周波数変更部４０８と、変更／追加メッセージ出力部４０９と、検出部４１０と、受付部４１１と、最大処理性能判断部４１２と、判断結果出力部４１３とから構成される。
【００７８】
取得部４０１は、プロセッサチップ１１０のクロック周波数の製造ばらつきに関する情報を複数のプロセッサチップから取得する。製造ばらつきに関する情報とは、たとえば、上述した仕様クロック周波数、実クロック周波数、製造ばらつき情報（「Ｆａｓｔ：速い」、「Ｔｙｐｉｃａｌ：通常」、「Ｓｌｏｗ：遅い」など）、温度情報、種別情報、チップＩＤなどである。
【００７９】
さらに、取得部４０１は、変更／追加メッセージ出力部４０９によって出力された結果、あらたなプロセッサチップ１１０が交換または追加された場合、あらたなプロセッサチップ１１０の製造ばらつきに関する情報を取得する。
【００８０】
さらに、取得部４０１は、検出部４１０によりプロセッサチップ１１０が交換されたことが検出された場合、あらたに搭載されたプロセッサチップの製造ばらつきに関する情報を取得する。この取得部４０１は、具体的には、図１に示した動作条件制御チップ１３０内のバス制御回路１３１によってその機能を実現する。
【００８１】
また、特定部４０２は、取得部４０１によって取得された製造ばらつきに関する情報に応じたクロック周波数を特定する。具体的には、製造ばらつきに関する情報に含まれている温度情報によりテーブル格納部１３３に格納されている製造ばらつき対最大クロック周波数テーブルを選択し、選択された製造ばらつき対最大クロック周波数テーブルから製造ばらつき情報（「Ｆａｓｔ：速い」、「Ｔｙｐｉｃａｌ：通常」、「Ｓｌｏｗ：遅い」など）に応じたクロック周波数、電源電圧、および基板電位を読み出す。
【００８２】
この読み出されたクロック周波数が特定クロック周波数となる。なお、プロセッサチップ１１０の処理性能を最大限に引き出したい場合には、クロック周波数のうち、値が大きいクロック周波数、特に最大クロック周波数を読み出すことが好ましい。たとえば、図３−１において、製造ばらつき情報が「Ｆａｓｔ」である場合、クロック周波数１．８［ＧＨｚ］を特定クロック周波数として読み出す。この特定部４０２は、具体的には、図１に示した動作条件制御チップ１３０内のマルチプロセッシング制御回路１３４によってその機能を実現する。
【００８３】
また、チップ処理性能算出部４０３は、特定部４０２によって特定された特定クロック周波数でプロセッサチップ１１０に処理を実行させた場合のチップ処理性能をプロセッサチップ１１０ごとに算出する。具体的には、たとえば、一つのプロセッサチップの１［ＧＨｚ］あたりの処理性能をＰｖとすると、特定クロック周波数が２［ＧＨｚ］である場合、当該プロセッサチップ１００のチップ処理性能は、２Ｐｖとなる。
【００８４】
さらに、チップ処理性能算出部４０３は、クロック周波数変更部４０７による変更後の特定クロック周波数でプロセッサチップ１１０に処理を実行させた場合のチップ処理性能をあらたに算出する。具体的には、特定クロック周波数が２［ＧＨｚ］から１．８［ＧＨｚ］に変更された場合、当該プロセッサチップ１００のチップ処理性能は、１．８Ｐｖとなる。このチップ処理性能算出部４０３は、具体的には、図１に示した動作条件制御チップ１３０内のマルチプロセッシング制御回路１３４によってその機能を実現する。
【００８５】
システム処理性能判断部４０４は、チップ処理性能算出部４０３によって算出されたチップ処理性能の合計が、複数のプロセッサチップ１１０全体を実行させた場合に要求されるシステム要求処理性能以上であるか否かを判断する。
【００８６】
具体的には、各プロセッサチップ１１０のチップ処理性能の合計が複数のプロセッサチップ１１０全体のシステム処理性能となるため、このシステム処理性能と、分散処理制御チップ１２０から受信されたシステム要求処理性能とを比較する。
【００８７】
システム処理性能判断部４０４は、このほか、チップ処理性能判断部４０６によって判断された場合、この判断結果に基づいて、システム処理性能がシステム要求処理性能以上であるか否かを判断する。
【００８８】
そして、システム処理性能が、システム要求処理性能以上であれば、複数のプロセッサチップ１１０全体として、システム要求処理性能をみたしていることがわかり、システム全体の処理性能を向上させることができる。システム要求処理性能未満であれば、プロセッサチップ１１０の追加や変更をおこなって各プロセッサチップ１１０のチップ処理性能をさらに向上させたうえで、再度各プロセッサチップ１１０のクロック周波数・電源電圧・基板電位を読み出す。
【００８９】
また、システム処理性能判断部４０４は、システム処理性能がシステム要求処理性能以上であると判断された場合、さらに、そのシステム処理性能がシステム要求処理性能のＭ（Ｍ＞１）倍以内であるか否かを判断する。
【００９０】
ここで、「Ｍ」は、マルチプロセッシングシステム１００の出荷時に一般的な性能のバランスを鑑みたデフォルト値を設定してもよいし、用途にあわせて個別に設定してもよい。たとえば、必要以上に高速の処理を求めないような情報処理装置に用いられる場合は、「Ｍ」の値を小さく設定する。
【００９１】
システム要求処理性能のＭ倍より大きい場合には、各プロセッサチップ１１０の処理に十分余裕があるため、特定クロック周波数を下げて、消費電力を削減できる可能性がある。そこで、分散処理制御チップ１２０にてチップ要求処理性能の見直しをおこなう。
【００９２】
システム要求処理性能のＭ倍以内であれば、そのときの各プロセッサチップ１１０の特定クロック周波数、電源電圧、および基板電位をプロセッサチップ１１０に送る。このシステム処理性能判断部４０４は、具体的には、図１に示した動作条件制御チップ１３０内のマルチプロセッシング制御回路１３４によってその機能を実現する。
【００９３】
また、設定部４０５は、システム処理性能判断部４０４によって判断された判断結果に基づいて、プロセッサチップ１１０の動作クロック周波数を特定クロック周波数に設定する。具体的には、各プロセッサチップ１１０の特定クロック周波数、電源電圧、および基板電位を、各プロセッサチップ１１０内の周波数設定回路１１４に送り、プロセッサチップ１１０の動作クロック周波数、電源電圧、および基板電位に設定する。
【００９４】
これにより、プロセッサチップ１１０は、設定されたクロック周波数、電源電圧、および基板電位で動作することとなり、マルチプロセッシングシステム１００の処理分散が最適化される。この設定部４０５は、具体的には、図１に示した各プロセッサチップ１１０内の周波数設定回路１１４によってその機能を実現する。
【００９５】
また、チップ処理性能判断部４０６は、複数のプロセッサチップ１１０の中から選ばれた一のプロセッサチップ１１０（たとえば、１１０Ａ）について、特定クロック周波数で処理を実行させた場合のチップ処理性能が、当該プロセッサチップ１１０Ａのチップ要求処理性能以上であるか否かを判断する。
【００９６】
具体的には、たとえば、一のプロセッサチップ１００Ａについてチップ処理性能が算出された場合、分散処理制御チップ１２０から一のプロセッサチップ１１０Ａのチップ要求処理性能を読み出して比較する。
【００９７】
チップ処理性能判断部４０６は、このほか、特定クロック周波数で処理を実行させた場合のチップ処理性能が、チップ要求処理性能変更部４０７によって変更された後のチップ要求処理性能以上であるか否かを判断する。
【００９８】
そして、チップ処理性能がチップ要求処理性能以上であれば、一のプロセッサチップ１１０Ａがチップ要求処理性能をみたしていることがわかり、一のプロセッサチップ１１０Ａの処理性能を向上させることができる。
【００９９】
チップ要求処理性能未満であれば、一のプロセッサチップ１１０Ａの交換やあらたなプロセッサチップの追加をおこなって各プロセッサチップ１１０のチップ処理性能をさらに向上させたうえで、再度各プロセッサチップ１１０のクロック周波数・電源電圧・基板電位を読み出すこととなる。
【０１００】
また、チップ処理性能判断部４０６は、特定クロック周波数で処理を実行させた場合のチップ処理性能が、チップ要求処理性能以上であると判断された場合、さらに、チップ処理性能がチップ要求処理性能のＮ（Ｎ＞１）倍以上であるか否かを判断する。設定部４０５による設定後に、後述する受付部４１１によりあらたなチップ要求処理性能が受け付けられた場合も同様である。
【０１０１】
ここで、「Ｎ」は、マルチプロセッシングシステム１００の出荷時に一般的な性能のバランスを鑑みたデフォルト値を設定してもよいし、用途にあわせて個別に設定してもよい。たとえば、必要以上に高速の処理を求めないような情報処理装置に用いられる場合は、「Ｎ」の値を小さく設定する。
【０１０２】
そして、チップ要求処理性能のＮ倍より大きい場合には、プロセッサチップ１１０の処理に十分余裕があるため、特定クロック周波数を１／Ｎ倍して、再度電源電圧と基板電位を算出し直し、処理性能の算出からやり直す。
【０１０３】
これを繰り返すことで、各プロセッサチップ１１０のチップ処理性能を、チップ要求処理性能の１倍から１／Ｎ倍までの範囲に最適化された特定クロック周波数・電源電圧・基板電位として求めることができる。なお、このチップ処理性能判断部４０６は、具体的には、図１に示した動作条件制御チップ１３０内のマルチプロセッシング制御回路１３４によってその機能を実現する。
【０１０４】
また、チップ要求処理性能変更部４０７は、一のプロセッサチップ１１０（たとえば、プロセッサチップ１１０Ａ）のチップ処理性能が、チップ処理性能判断部４０６によりチップ要求処理性能未満であると判断された場合、チップ要求処理性能を所定量低下するように変更する。
【０１０５】
また、チップ要求処理性能変更部４０７は、システム処理性能判断部４０４により、システム処理性能がシステム要求処理性能のＭ（Ｍ＞１）倍以内でないと判断された場合、各プロセッサチップ１１０のチップ要求処理性能を所定量低下するように変更する。なお、チップ要求処理性能変更部４０７による変更量は、所定量に限らず、変更の都度、利用者や、上位システムによって変更させてもよい。このチップ要求処理性能変更部４０７は、具体的には、図１に示した分散処理制御チップ１２０によってその機能を実現する。
【０１０６】
クロック周波数変更部４０８は、一のプロセッサチップ１１０（たとえば、プロセッサチップ１１０Ａ）について、チップ処理性能判断部４０６により、チップ要求処理性能のＮ倍以上であると判断された場合、特定クロック周波数を１／Ｎ倍に変更する。
【０１０７】
特定クロック周波数の変更は、１／Ｎ倍に限らず、変更後の特定クロック周波数が仕様クロック周波数以下とならないように低減すれば、どのような手法でもよい。このクロック周波数変更部４０８は、具体的には、図１に示したテーブル格納部１３３およびマルチプロセッシング制御回路１３４によってその機能を実現する。
【０１０８】
また、変更／追加メッセージ出力部４０９は、システム処理性能判断部４０４により、複数のプロセッサチップ１１０のチップ処理性能の合計が、システム要求処理性能以上でないと判断された場合、複数のプロセッサチップ１１０から、あらたなプロセッサチップ１１０への交換または、あらたなプロセッサチップの追加を促すメッセージを出力する。
【０１０９】
メッセージの出力は、たとえば、画面にメッセージを表示する形式や音声出力する形式でよい。この変更／追加メッセージ出力部４０９は、具体的には、図１に示したバス１４０に接続された出力回路（不図示）によってその機能を実現する。
【０１１０】
また、検出部４１０は、設定部４０５によりプロセッサチップ１１０の動作クロック周波数が特定クロック周波数に設定された場合、各プロセッサチップ１１０のうち任意のプロセッサチップ１１０（たとえば、プロセッサチップ１１０Ａ）が交換されたか否かを検出する。
【０１１１】
具体的には、一のプロセッサチップ１１０（たとえば、プロセッサチップＡ）のチップＩＤ格納部１１５に格納されているチップＩＤを常時（たとえば、所定時間間隔で）監視し、前回取得したチップＩＤと今回取得したチップＩＤとが不一致であった場合、プロセッサチップ１１０Ａが交換されたと検出される。この検出部４１０は、具体的には、図１に示したマルチプロセッシング制御回路によってその機能を実現する。
【０１１２】
また、受付部４１１は、設定部４０５により各プロセッサチップ１１０の動作クロック周波数が特定クロック周波数に設定された場合、マルチプロセッシングシステム１００の中の一のプロセッサチップ１１０（たとえば、プロセッサチップ１１０Ａ）を実行させた場合に要求されるあらたなチップ要求処理性能を受け付ける。
【０１１３】
たとえば、設定部４０５による設定後にチップ要求処理性能を変更したい場合、分散処理制御チップ１２０から、あらたなチップ要求処理性能を受信する。この受付部４１１は、具体的には、図１に示したバス制御回路１３１またはマルチプロセッシング制御回路１３４によってその機能を実現する。
【０１１４】
また、最大処理性能判断部４１２は、一のプロセッサチップ１１０（たとえば、プロセッサチップ１１０Ａ）における現在のチップ処理性能が最大処理性能であるか否かを判断する。最大処理性能とは、一のプロセッサチップ１１０の製造ばらつき情報である実クロック周波数に応じたチップ処理性能である。たとえば、プロセッサチップ１１０Ａの実クロック周波数が２［ＧＨｚ］である場合、プロセッサチップ１１０Ａの最大処理性能は２Ｐｖとなる。
【０１１５】
最大処理性能判断部４１２は、具体的には、チップ処理性能判断部４０６により、一のプロセッサチップ１１０のチップ処理性能が、受付部４１１によって受け付けられたあらたなチップ要求処理性能未満であると判断された場合に判断をおこなう。すなわち、現在のチップ処理性能があらたなチップ要求処理性能よりも低いならば、一のプロセッサチップ１１０において現在の動作クロック周波数が最大か否かを判断する。
【０１１６】
具体的には、一のプロセッサチップ１１０の処理性能が最大処理性能でないと判断された場合、特定部４０２は、一のプロセッサチップ１１０の特定クロック周波数を、最大処理性能に応じた最大クロック周波数に変更する。
【０１１７】
この場合、チップ処理性能算出部４０３は、クロック周波数変更部４０８によって最大クロック周波数に変更された特定クロック周波数で一のプロセッサチップのチップ処理性能を算出する。このように、特定クロック周波数を一旦最大にして、それに合わせた電源電圧、基板電位を読み出すことで、再度、チップ処理性能の見積もりをしなおす。
【０１１８】
これにより、マルチプロセッシングシステム１００が処理している途中で、必要な処理量が変更されたとしても、自動的に特定クロック周波数を調整して最適値に設定することができる。なお、この最大処理性能判断部４１２は、具体的には、図１に示したマルチプロセッシング制御回路１３４によってその機能を実現する。
【０１１９】
また、判断結果出力部４１３は、最大処理性能判断部４１２によって判断された判断結果を出力する。たとえば、一のプロセッサチップ１１０（たとえば、プロセッサチップ１１０Ａ）における現在のチップ処理性能が最大処理性能であると判断された場合、あらたなチップ要求処理性能の見直しに関するメッセージを出力する。この判断結果出力部４１３は、具体的には、図１に示したバス１４０に接続された出力回路（不図示）によってその機能を実現する。
【０１２０】
（マルチプロセッシングシステムの最適化処理手順）
つぎに、この発明の実施の形態にかかるマルチプロセッシングシステムの最適化処理手順について説明する。図５は、この発明の実施の形態にかかるマルチプロセッシングシステムの最適化処理手順を示すフローチャートである。図５のフローチャートにおいて、まず、分散処理制御チップ１２０によりマルチプロセッシングシステム１００の搭載された情報処理装置の電源が投入されたか否かを判断する（ステップＳ５０１）。
【０１２１】
ステップＳ５０１において、電源が投入されるまで待ち（ステップＳ５０１：Ｎｏのループ）、電源が投入された場合（ステップＳ５０１：Ｙｅｓ）、クロック周波数、電源電圧、基板電位を初期値に設定する（ステップＳ５０２）。初期値とは、プロセッサ種別情報回路１１２から取得したプロセッサチップ１１０の種別情報によって設定されている仕様クロック周波数と、当該仕様クロック周波数に応じて定まる電源電圧および基板電位である。
【０１２２】
また、初期値には、マルチプロセッシングシステム１００のシステム要求処理性能も含まれている。利用者や、上位システムから指定がなければ、初期値に含まれているシステム要求処理性能をマルチプロセッシングシステム１００のシステム要求処理性能として処理を開始する。
【０１２３】
ステップＳ５０２の設定が終了すると、リセット送受信回路１３２がリセット信号を受信したか否かを判断する（ステップＳ５０３）。ここでも、リセット信号を受信するまで待つ（ステップＳ５０３：Ｎｏのループ）。
【０１２４】
ステップＳ５０３においてリセット信号が受信された場合（ステップＳ５０３：Ｙｅｓ）、動作条件制御チップ１３０が各プロセッサチップ１１０からチップＩＤと製造ばらつき情報（「Ｆａｓｔ：速い」、「Ｔｙｐｉｃａｌ：通常」、「Ｓｌｏｗ：遅い」など）が受信されたか否かを判断する（ステップＳ５０４）。
【０１２５】
ステップＳ５０４において、製造ばらつき情報が受信されるまで待ち（ステップＳ５０４：Ｎｏのループ）、受信された場合（ステップＳ５０４：Ｙｅｓ）、分散処理制御チップ１２０から各プロセッサチップ１１０のチップ要求処理性能が受信されたか否かを判断する（ステップＳ５０５）。ここで、チップ要求処理性能が受信されるまで待ち（ステップＳ５０５：Ｎｏのループ）、チップ要求処理性能が受信された場合（ステップＳ５０５：Ｙｅｓ）、各プロセッサチップ１１０のチップ処理性能算出処理を実行する（ステップＳ５０６）。なお、チップ処理性能算出処理の詳細は後述する。
【０１２６】
ステップＳ５０６の算出処理が終了すると、各プロセッサチップ１１０のチップ処理性能の合計となるシステム処理性能がシステム要求処理性能以上か否かを判断する（ステップＳ５０７）。
【０１２７】
そして、ステップＳ５０７によりシステム処理性能がシステム要求処理性能未満であると判断された場合（ステップＳ５０７：Ｎｏ）、利用者に対してプロセッサチップ１１０の変更、追加に関するメッセージを報知し（ステップＳ５０９）、ステップＳ５０３の処理に戻る。
【０１２８】
一方、ステップＳ５０７において、システム要求処理性能以上である場合（ステップＳ５０７：Ｙｅｓ）、さらに、システム処理性能がシステム要求処理性能のＭ倍（１＜Ｍ）以内か否かを判断する（ステップＳ５０８）。
【０１２９】
このステップＳ５０８の処理は、消費電力の観点から最適な動作である。また、消費電力に関係なく、より速い処理速度を実現したい場合は、「Ｍ」の値を大きくとり、動作可能な限り速い処理速度で動作させることもできる。
【０１３０】
ステップＳ５０８において、システム処理性能は、システム要求処理性能のＭ倍以内ではないと判断された場合（ステップＳ５０８：Ｎｏ）、利用者に各プロセッサチップ１１０のチップ要求処理性能を再設定するように報知し（ステップＳ５１１）、ステップＳ５０５の処理に戻る。
【０１３１】
一方、ステップＳ５０８において、システム処理性能がシステム要求処理性能のＭ倍以内と判断された場合（ステップＳ５０８：Ｙｅｓ）、各プロセッサチップ１１０をステップＳ５０６により算出されたチップ処理性能に応じた特定クロック周波数、電源電圧および基板電位に設定する（ステップＳ５１０）。
【０１３２】
そして、ステップＳ５１０の処理が終了すると、最後に、リセットを解除してマルチプロセッシングシステム１００を始動する（ステップＳ５１２）。これにより、各プロセッサチップ１１０は、チップ処理性能に応じた特定クロック周波数で最適な処理分散がおこなわれることとなる。
【０１３３】
（チップ処理性能算出処理手順）
つぎに、図５に示したステップＳ５０６に示したチップ処理性能算出処理について説明する。図６は、図５に示したステップＳ５０６に示したチップ処理性能算出処理手順を示すフローチャートである。図６のフローチャートにおいて、まず、被制御プロセッサアドレスｉを１に設定する（ステップＳ６０１）。
【０１３４】
被制御プロセッサアドレスｉとは、マルチプロセッシングシステム１００固有のプロセッサチップ１１０を識別する値である。図１に示したマルチプロセッシングシステム１００の場合、２つのプロセッサチップ（１１０Ａ，１１０Ｂ）から構成されている。したがって、たとえば、プロセッサチップ１１０Ａは「ｉ＝１」、プロセッサチップ１１０Ｂは「ｉ＝２」として被制御プロセッサアドレスｉを設定する。
【０１３５】
つぎに、特定部４０２により、テーブル格納部１３３からプロセッサチップ１１０Ａのクロック周波数、電源電圧、基板電位を読み出す（ステップＳ６０２）。そして、読み出された特定クロック周波数に応じたチップ処理性能を算出する（ステップＳ６０３）。
【０１３６】
つぎに、算出されたチップ処理性能がプロセッサチップ１１０Ａのチップ要求処理性能以上であるか否かを判断する（ステップＳ６０４）。チップ処理性能がチップ要求処理性能未満と判断された場合は（ステップＳ６０４：Ｎｏ）、プロセッサチップ１１０Ａのチップ要求処理性能を低下させ（ステップＳ６０６）、ステップＳ６０４の処理に戻る。
【０１３７】
一方、チップ処理性能がチップ要求処理性能以上であると判断された場合（ステップＳ６０４：Ｙｅｓ）、さらに、チップ処理性能がチップ要求処理性能のＮ倍以上か否かを判断する（ステップＳ６０５）。
【０１３８】
ステップＳ６０５において、チップ処理性能がチップ要求処理性能のＮ倍以上と判断された場合（ステップＳ６０５：Ｙｅｓ）、チップ処理性能が必要以上に大きく設定されており、消費電力が大きくなってしまう。したがって、つぎに最適なチップ処理性能を設定するための処理をおこなう。
【０１３９】
まず、特定クロック周波数を１／Ｎに修正する（ステップＳ６０７）。その後、修正した特定クロック周波数に応じた電源電圧、基板電位を再読み出しする（ステップＳ６０８）。以上の処理が終了すると、ステップＳ６０３の処理に戻る。
【０１４０】
一方、ステップＳ６０５において、チップ処理性能がチップ要求処理性能のＮ倍未満と判断された場合は（ステップＳ６０５：Ｎｏ）、特定クロック周波数、電源電圧および基板電位、チップ処理性能を保存する（ステップＳ６０９）。
【０１４１】
最後に、すべてのプロセッサチップ１１０の算出処理が終了したか否かを判断する（ステップＳ６１０）。具体的には、被制御プロセッサアドレスｉが最終番号であるか否かを判断する。そして、ステップＳ６１０において、すべてのプロセッサチップ１１０の算出処理が終了したと判断された場合は（ステップＳ６１０：Ｙｅｓ）、そのままステップＳ５０７の処理へ移行する。以上の処理を繰り返すことで、各プロセッサチップ１１０のチップ処理性能が、チップ要求処理性能の１倍からＮ倍までの範囲に最適化された特定クロック周波数、電源電圧および基板電位に設定することができる。
【０１４２】
一方、ステップＳ６１０において、すべてのプロセッサチップ１１０の算出処理が終了していない場合は（ステップＳ６１０：Ｎｏ）、算出処理が終了していない他のプロセッサチップ１１０の算出処理へ移行するため、現在の被制御プロセッサアドレスｉをインクリメントして（ステップＳ６１１）、ステップＳ６０２の処理に戻る。たとえば、被制御プロセッサアドレスｉが「１」に設定されている場合であれば、ステップＳ６１１の処理により被制御プロセッサアドレスｉ＝ｉ＋１は、すなわち「２」に設定され、プロセッサチップ１１０Ｂの処理に移る。
【０１４３】
以上、説明したように、図５および図６に示した処理によれば、図２示したように実クロック周波数が２［ＧＨｚ］と１［ＧＨｚ］で動作する２つのプロセッサチップ１１０が接続されている場合、初期のチップ要求処理性能をそれぞれ２Ｐｖとすると、プロセッサチップ１１０Ｂのチップ処理性能は１Ｐｖであるため、チップ要求処理性能（２Ｐｖ）を満たせない。
【０１４４】
したがって、プロセッサチップ１１０Ｂのチップ要求処理性能を１Ｐｖにするように動作条件制御チップ１３０から分散処理制御チップ１２０に指示が出力される。このような処理をおこなうことで、プロセッサチップ１１０Ａとプロセッサチップ１１０Ｂのチップ要求処理性能の比は２：１となる。
【０１４５】
もし、マルチプロセッシングシステム１００で２Ｐｖのシステム処理性能が必要な場合は、プロセッサチップ１１０Ａのチップ要求処理性能は、４／３Ｐｖとなり、プロセッサチップ１１０Ｂのチップ要求処理性能は２／３Ｐｖになる。これにより、マルチプロセッシングシステム１００全体のシステム要求処理性能を２Ｐｖにすることができる。
【０１４６】
したがって、上述した処理によって図２に示したように、プロセッサチップ１１０Ａおよびプロセッサチップ１１０Ｂが同一の仕様クロック周波数（１［ＧＨｚ］）であっても、プロセッサチップ１１０Ａは２［ＧＨｚ］で動作するように、プロセッサチップ１１０Ｂは、１［ＧＨｚ］で動作するように、それぞれ設定することができる。
【０１４７】
（プロセッサチップの追加、交換の際の処理）
続いて、この実施の形態におけるプロセッサチップの追加、交換の際の処理について説明する。プロセッサチップの追加、交換の際の処理は、図５および図６に示した処理の終了後に、プロセッサチップ１１０の追加または交換があった場合の処理である。
【０１４８】
図７は、この発明の実施の形態にかかるプロセッサチップの追加、交換の際の処理の手順を示すフローチャートである。図７のフローチャートにおいて、まず、分散処理制御チップ１２０からプロセッサチップ１１０の追加・変更信号が受信されたか否かを判断する（ステップＳ７０１）。ここで、プロセッサチップ１１０追加・変更信号が受信されるまで待ち（ステップＳ７０１：Ｎｏのループ）、受信されると（ステップＳ７０１：Ｙｅｓ）、続いて、被制御プロセッサアドレスｉをｉ＝１に設定する（ステップＳ７０２）。
【０１４９】
ステップＳ７０２の処理が終了すると、続いて、ｉ番目のプロセッサチップ１１０からチップＩＤが受信されたか否かを判断する（ステップＳ７０３）。ここで、チップＩＤが受信されるまで待ち（ステップＳ７０３：Ｎｏのループ）、受信されると（ステップＳ７０３：Ｙｅｓ）、ｉ番目のプロセッサチップ１１０のチップＩＤが、ステップＳ５０４で受信したｉ番目のプロセッサチップ１１０のチップＩＤと一致するか否かを判断する（ステップＳ７０４）。
【０１５０】
ステップＳ７０４において、チップＩＤが一致する場合（ステップＳ７０４：Ｙｅｓ）、ｉ番目のプロセッサチップ１１０の追加、変更が行われていないと判断される。したがって、つぎのプロセッサチップ１１０について同様の判断をおこなうため、まず、すべてのプロセッサチップ１１０のチェックが終了したか否かを判断する（ステップＳ７０５）。
【０１５１】
ステップＳ７０５において、すべてのプロセッサチップ１１０のチェックが終了したと判断された場合は（ステップＳ７０５：Ｙｅｓ）、そのまま一連の処理を終了する。一方、すべてのプロセッサチップ１１０のチェックが終了していないと判断された場合は（ステップＳ７０５：Ｎｏ）、被制御プロセッサアドレスｉをインクリメントして（ステップＳ７０６）、新しいｉ番目のプロセッサチップ１１０のチェックをおこなうためにステップＳ７０３の処理に戻る。
【０１５２】
ステップＳ７０４において、ｉ番目のプロセッサチップ１１０のチップＩＤが不一致であると判断された場合（ステップＳ７０４：Ｎｏ）、ｉ番目のプロセッサチップ１１０は、追加または交換されたプロセッサチップ１１０であると判断され、被制御プロセッサアドレスｉに追加または交換されたプロセッサチップ１１０のチップＩＤを書き込む（ステップＳ７０７）。
【０１５３】
ステップＳ７０７の処理が終了すると、続いて、マルチプロセッシング制御回路１３４から処理分散制御回路１２１にプロセッサチップ交換信号を送信する（ステップＳ７０８）。さらに、ｉ番目のプロセッサチップ１１０の実クロック周波数に応じてチップ処理性能算出処理を実行する（ステップＳ７０９）。このステップＳ７０９のチップ処理性能算出処理の詳細は、図６に示した処理手順と同一であるため、省略する。最後に、追加または交換されたプロセッサチップ１１０を始動させて（ステップＳ７１０）、一連の処理を終了する。
【０１５４】
以上、説明したようなプロセッサチップ１１０の追加、交換の際の処理をおこなうこうとで、マルチプロセッシングシステム１００により動作中の他のプロセッサチップ１１０を停止させることなく自動的にプロセッサチップ１１０の変更を検出することができる。また、交換後のプロセッサチップ１１０が最適なチップ処理性能で動作できるように特定クロック周波数を設定し、特定クロック周波数に応じた電源電圧および基板電位を設定することができる。
【０１５５】
（特定のプロセッサチップのチップ要求処理性能の変更の際の処理）
つぎに、図５に示した最適化処理後における、任意のプロセッサチップのチップ要求処理性能を変更したときの最適化処理について説明する。図８は、図５に示した最適化処理後における、任意のプロセッサチップのチップ要求処理性能を変更したときの最適化処理手順を示すフローチャートである。
【０１５６】
図８において、まず、利用者からの要求処理性能変更信号が処理分散制御回路１２１に受信されたか否かを判断する（ステップＳ８０１）。ここで、要求処理性能変更信号を受信するまで待ち（ステップＳ８０１：Ｎｏのループ）、受信されると（ステップＳ８０１：Ｙｅｓ）、各プロセッサチップ１１０のチップ処理性能を算出する（ステップＳ８０２）。
【０１５７】
具体的には、図６に示したステップＳ６０２およびＳ６０３と同様、現在の温度情報を考慮して、製造ばらつき対最大クロック周波数テーブルを選択し、特定クロック周波数、電源電圧、基板電位を読み出す。そして、読み出された特定クロック周波数に応じたチップ処理性能を算出する。これにより、現在のチップ処理性能を得ることができる。
【０１５８】
ステップＳ８０２の処理が終了すると、続いて、利用者から特定のプロセッサチップ１１０（たとえば、プロセッサチップ１１０Ａ）に関してのあらたなチップ要求処理性能が受信されたか否かを判断する（ステップＳ８０３）。ここで、あらたなチップ要求処理性能が受信されるまで待ち（ステップＳ８０３：Ｎｏのループ）、受信されると（ステップＳ８０３：Ｙｅｓ）、ステップＳ８０２により算出されたプロセッサチップ１１０Ａのチップ処理性能がステップＳ８０３により受信されたチップ要求処理性能以上か否かを判断する（ステップＳ８０４）。
【０１５９】
ステップＳ８０４において、プロセッサチップ１１０Ａのチップ処理性能がチップ要求処理性能以上と判断された場合は（ステップＳ８０４：Ｙｅｓ）、さらに、プロセッサチップ１１０Ａのチップ処理性能がチップ要求処理性能のＮ倍以上か否かを判断する（ステップＳ８０５）。
【０１６０】
ステップＳ８０５において、プロセッサチップ１１０Ａのチップ処理性能がチップ要求処理性能のＮ倍以上と判断された場合は（ステップＳ８０５：Ｙｅｓ）、このままではプロセッサチップ１１０Ａのチップ処理性能の設定が高すぎるため、最適なチップ処理性能に設定するための処理をおこなう。
【０１６１】
まず、プロセッサチップ１１０Ａの特定クロック周波数を１／Ｎ倍に修正する（ステップＳ８０６）。さらに、修正した特定クロック周波数に応じて、電源電圧、基板電位を再読み出しして（ステップＳ８０７）、ステップＳ８０２の処理に戻り、再度各プロセッサチップ１１０のチップ処理性能の見直しをおこなう。
【０１６２】
ステップＳ８０４において、プロセッサチップ１１０Ａのチップ処理性能がチップ要求処理性能未満と判断された場合は（ステップＳ８０４：Ｎｏ）、つぎに、現在のプロセッサチップ１１０Ａのチップ処理性能が最大性能か否かを判断する（ステップＳ８０８）。この判断で、現在のチップ処理性能が最大性能であると判断された場合は（ステップＳ８０８：Ｙｅｓ）、チップ要求処理性能ではプロセッサチップ１１０Ａを始動させることが不可能であるため、チップ要求処理性能の見直しを利用者に報知して（ステップＳ８０９）、一連の処理を終了する。
【０１６３】
ステップＳ８０８において、プロセッサチップ１１０Ａの現在のチップ処理性能が最大性能ではないと判断された場合は（ステップＳ８０８：Ｎｏ）、まず、特定クロック周波数をプロセッサチップ１１０Ａの最大周波数、すなわち実クロック周波数に修正する（ステップＳ８１０）。さらに、修正した特定クロック周波数に応じて電源電圧および基板電位を再読み出しして（ステップＳ８１１）、ステップＳ８０２の処理に戻り、再度各プロセッサチップ１１０Ａのチップ処理性能の見直しをおこなう。
【０１６４】
ステップＳ８０５においてプロセッサチップ１１０Ａのチップ処理性能がチップ要求処理性能のＮ倍未満と判断された場合は（ステップＳ８０５：Ｎｏ）、各プロセッサチップ１１０をステップＳ７０２により算出されたチップ処理性能に応じた特定クロック周波数、電源電圧および基板電位、処理性能に設定する（ステップＳ８１２）。
【０１６５】
そして、ステップＳ８１２の処理が終了すると、最後に、リセットを解除して当該プロセッサチップであるプロセッサチップ１１０Ａを始動する（ステップＳ８１３）。これにより、プロセッサチップ１１０Ａは、あらたなチップ処理性能に応じた特定クロック周波数で最適な処理分散がおこなわれることとなる。
【０１６６】
以上、説明したように、マルチプロセッシングシステム１００による処理が実行されている途中で、各プロセッサチップ１１０のチップ要求処理性能を変更したい場合であっても、自動的に特定クロック周波数を再設定して、あらたなチップ要求処理性能を満たすように調整することができる。また、特定クロック周波数の変更に応じて、電源電圧および基板電位も最適な値に再設定することができる。
【０１６７】
また、この発明の実施の形態にかかるマルチプロセッシングシステム１００は、上述した実施の形態のような、利用者や上位システムが指定したシステム要求処理性能に応じて各プロセッサチップ１１０のチップ処理性能を設定する以外にも、他の利用形態を用いることができる。
【０１６８】
たとえば、最初に現在のマルチプロセッシングシステム１００の最大性能を算出し、利用者や上位システムに算出結果を報知するような利用形態を用いてもよい。このような利用形態の場合、Ｍ値、Ｎ値およびシステム要求処理性能を指定する必要がなく、報知された算出結果から各プロセッサチップ１１０に分散可能な値を設定することができる。したがって、マルチプロセッシングシステムの設定経験に乏しい利用者にとっても容易に各プロセッサチップ１１０の性能に適したシステム処理性能に設定することができる。
【０１６９】
以上説明したように、マルチプロセッシングシステムによれば、個々のプロセッサチップの実性能を引き出しつつ、プロセッサチップ１１０全体の性能の向上させることができる。
【０１７０】
また、マルチプロセッシングシステム１００を構成する各プロセッサチップ１１０の製造ばらつきや、温度に応じて実クロック周波数を検出しているため、仕様クロック周波数よりも速い特定クロック周波数で動作させることができる。さらに、マルチプロセッシングシステム全体で処理量を調整することができることから、各プロセッサチップ１１０の実力に見合った処理分散をおこなうことができ、プロセッサチップ１１０全体のシステム処理性能を高くすることができる。
【０１７１】
加えて、プロセッサチップ１１０ごとに、実クロック周波数に見合った処理分散をおこなうように特定クロック周波数を設定できることから、過剰に速いクロック周波数に設定されることがなく、消費電力の低減化を図ることができる。
【０１７２】
また、複数のプロセッサチップ１１０から構成されるマルチプロセッシングシステムでは、運用上、プロセッサチップ１１０を交換するような利用形態も想定される。したがって、プロセッサチップ１１０の処理性能の変化を考慮しなければならないが、この発明にかかるマルチプロセッシングシステム１００の場合、自動的にプロセッサチップ１１０の交換を検出して、プロセッサチップ１１０の交換によって構成が変更した後のマルチプロセッシングシステム１００においても最適なチップ処理性能で動作させることができる。
【０１７３】
（付記１）複数のプロセッサチップに処理を分散させて実行させるマルチプロセッシングシステムにおいて、
前記プロセッサチップのクロック周波数の製造ばらつきに関する情報を前記複数のプロセッサチップから取得する取得手段と、
前記取得手段によって取得された製造ばらつきに関する情報に応じたクロック周波数を特定する特定手段と、
前記特定手段によって特定されたクロック周波数（以下、「特定クロック周波数」という）で前記プロセッサチップに処理を実行させた場合の処理性能（以下、「チップ処理性能」という）を前記プロセッサチップごとに算出するチップ処理性能算出手段と、
前記チップ処理性能算出手段によって算出されたチップ処理性能の合計が、前記複数のプロセッサチップ全体を実行させた場合に要求されるシステム要求処理性能以上であるか否かを判断するシステム処理性能判断手段と、
前記システム処理性能判断手段によって判断された判断結果に基づいて、前記プロセッサチップの動作クロック周波数を前記特定クロック周波数に設定する設定手段と、
を備えることを特徴とするマルチプロセッシングシステム。
【０１７４】
（付記２）前記複数のプロセッサチップの中から選ばれた一のプロセッサチップについて、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記プロセッサチップを実行させた場合に要求されるチップ要求処理性能以上であるか否かを判断するチップ処理性能判断手段を備え、
前記システム処理性能判断手段は、
さらに、前記チップ処理性能判断手段によって判断された判断結果に基づいて、前記各チップ処理性能の合計が、前記システム要求処理性能以上であるか否かを判断することを特徴とする付記１に記載のマルチプロセッシングシステム。
【０１７５】
（付記３）前記一のプロセッサチップについて、前記チップ処理性能判断手段により、前記チップ要求処理性能未満であると判断された場合、当該チップ要求処理性能を所定量低下するように変更するチップ要求処理性能変更手段を備え、
前記チップ処理性能判断手段は、
前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能変更手段による変更後のチップ要求処理性能以上であるか否かを判断することを特徴とする付記２に記載のマルチプロセッシングシステム。
【０１７６】
（付記４）前記チップ処理性能判断手段は、
前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能以上であると判断された場合、さらに、当該チップ要求処理性能のＮ（Ｎ＞１）倍以上であるか否かを判断することを特徴とする付記２に記載のマルチプロセッシングシステム。
【０１７７】
（付記５）前記一のプロセッサチップについて、前記チップ処理性能判断手段により、前記チップ要求処理性能のＮ倍以上であると判断された場合、前記特定クロック周波数を１／Ｎ倍に変更するクロック周波数変更手段を備え、
前記チップ処理性能算出手段は、
前記クロック周波数変更手段による変更後の特定クロック周波数で前記一のプロセッサチップに処理を実行させた場合のチップ処理性能をあらたに算出することを特徴とする付記４に記載のマルチプロセッシングシステム。
【０１７８】
（付記６）前記システム処理性能判断手段により、前記複数のプロセッサチップのチップ処理性能の合計が前記システム要求処理性能未満であると判断された場合、前記複数のプロセッサチップからあらたなプロセッサチップへの交換または前記あらたなプロセッサチップの追加を促すメッセージを出力する変更／追加メッセージ出力手段を備え、
前記取得手段は、
前記変更／追加メッセージ出力手段によって出力された結果、前記あらたなプロセッサチップに交換または追加された場合、前記あらたなプロセッサチップのクロック周波数の製造ばらつきに関する情報を取得することを特徴とする付記１〜５のいずれか一つに記載のマルチプロセッシングシステム。
【０１７９】
（付記７）前記システム処理性能判断手段は、
前記システム要求処理性能以上であると判断された場合、さらに、当該システム要求処理性能のＭ（Ｍ＞１）倍以内であるか否かを判断することを特徴とする付記１に記載のマルチプロセッシングシステム。
【０１８０】
（付記８）前記システム処理性能判断手段により、前記システム要求処理性能のＭ（Ｍ＞１）倍以内でないと判断された場合、前記チップ要求処理性能を所定量低下するように変更するチップ要求処理性能変更手段を備え、
前記チップ処理性能判断手段は、
前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記チップ要求処理性能変更手段による変更後のチップ要求処理性能以上であるか否かを判断することを特徴とする付記７に記載のマルチプロセッシングシステム。
【０１８１】
（付記９）前記設定手段により前記特定クロック周波数に設定された場合、前記複数のプロセッサチップのうち任意のプロセッサチップが交換されたか否かを検出する検出手段を備え、
前記取得手段は、
前記検出手段による交換されたことが検出された場合、あらたに搭載されたプロセッサチップの製造ばらつきに関する情報を取得することを特徴とする付記１に記載のマルチプロセッシングシステム。
【０１８２】
（付記１０）前記設定手段により前記特定クロック周波数に設定された場合、前記一のプロセッサチップのあらたなチップ要求処理性能を受け付ける受付手段を備え、
前記チップ処理性能判断手段は、
前記一のプロセッサチップについて、前記特定クロック周波数で処理を実行させた場合のチップ処理性能が、前記受付手段によって受け付けられたあらたなチップ要求処理性能以上であるか否かを判断することを特徴とする付記２に記載のマルチプロセッシングシステム。
【０１８３】
（付記１１）前記一のプロセッサチップについて、前記チップ処理性能判断手段により、前記受付手段によって受け付けられたあらたなチップ要求処理性能未満であると判断された場合、さらに、前記あらたなチップ要求処理性能が、前記一のプロセッサチップの製造ばらつき情報に応じた最大処理性能か否かを判断する最大処理性能判断手段と、
前記最大処理性能判断手段によって判断された判断結果を出力する判断結果出力手段と、
を備えることを特徴とする付記１０に記載のマルチプロセッシングシステム。
【０１８４】
（付記１２）前記判断結果出力手段は、
前記最大処理性能判断手段により、前記最大処理性能であると判断された場合、前記一のプロセッサチップのチップ要求処理性能の見直しに関するメッセージを出力することを特徴とする付記１１に記載のマルチプロセッシングシステム。
【０１８５】
（付記１３）前記特定手段は、
前記最大処理性能判断手段により、前記最大処理性能でないと判断された場合、前記一のプロセッサチップの特定クロック周波数を、前記最大処理性能に応じた最大クロック周波数に特定し、
前記チップ処理性能算出手段は、
前記クロック周波数設定手段によって前記最大クロック周波数となった特定クロック周波数で前記一のプロセッサチップのチップ処理性能を算出することを特徴とする付記１２に記載のマルチプロセッシングシステム。
【産業上の利用可能性】
【０１８６】
以上のように、この発明にかかるマルチプロセッシングシステムは、利用者の用途にあわせてプロセッサチップを構成できるようなマルチプロセッシングシステムに有用であり、特に、処理情報の種類や情報量が頻繁に変化するような情報処理装置に適している。
【図面の簡単な説明】
【０１８７】
【図１】この発明の実施の形態にかかるマルチプロセッシングシステムのハードウェア構成を示すブロック図である。
【図２】各プロセッサチップの特性を示す図表である。
【図３−１】製造ばらつき対最大クロック周波数テーブルを模式的に示した説明図（その１）である。
【図３−２】製造ばらつき対最大クロック周波数テーブルを模式的に示した説明図（その２）である。
【図４】この発明の実施の形態にかかるマルチプロセッシングシステムの機能的構成を示したブロック図である。
【図５】この発明の実施の形態にかかるマルチプロセッシングシステムの最適化処理手順を示すフローチャートである。
【図６】図５に示したステップＳ５０６に示したチップ処理性能算出処理手順を示すフローチャートである。
【図７】この発明の実施の形態にかかるプロセッサチップの追加、交換の際の処理の手順を示すフローチャートである。
【図８】図５に示した最適化処理後における、任意のプロセッサチップのチップ要求処理性能を変更したときの最適化処理手順を示すフローチャートである。
【図９】従来のマルチプロセッシングシステムを示すブロック図である。
【符号の説明】
【０１８８】
１００  マルチプロセッシングシステム
１１０（１１０Ａ，１１０Ｂ）  プロセッサチップ
１１１  プロセッサ回路
１１１ａ  クロックユニット
１１１ｂ  コアユニット
１１２  プロセッサ種別情報回路
１１３  製造ばらつき情報回路
１１４  周波数設定回路
１１５  チップＩＤ格納部
１１６  温度検出部
１１７，１３１  バス制御回路
１２０  分散処理制御チップ
１２１  処理分散制御回路
１３０  動作条件制御チップ
１３２  リセット送受信回路
１３３  テーブル格納部
１３４  マルチプロセッシング制御回路
【図１】
0005282349.tif 000002
【図２】
0005282349.tif 000003
【図３−１】
0005282349.tif 000004
【図３−２】
0005282349.tif 000005
【図４】
0005282349.tif 000006
【図５】
0005282349.tif 000007
【図６】
0005282349.tif 000008
【図７】
0005282349.tif 000009
【図８】
0005282349.tif 000010
【図９】
0005282349.tif 000011