(57)【特許請求の範囲】
【請求項１】
複数のプロセッサが共通バスを通して並列処理を実行するマルチプロセッサシステムにおいて、
前記各プロセッサに設けられ自己のプロセッサの初期動作が正常か異常かを初期動作プログラムにより診断する初期動作部と、
前記各プロセッサ毎に初期動作プログラムで診断された初期動作の診断結果を表す初期動作状態情報及び前記初期動作プログラムの版数を表す版数情報を記憶する分散共有記憶部と、
前記分散共有記憶部に記憶された初期動作状態情報に基づき異常であったプロセッサを縮退するとともに、前記版数情報に基づいて、全てのプロセッサの初期動作プログラムの版数が同一かどうかを判断し、異なる版数の初期動作プログラムが存在する場合に、どの版数の初期動作プログラムをもつプロセッサでシステムを構成するかを決定するシステム構成決定処理を行う決定部とを備えるマルチプロセッサシステム。
【請求項２】
前記異なる版数の初期動作プログラムが存在する場合に、どの版数の初期動作プログラムをもつプロセッサでシステムを構成するかを決定する論理を表す構成モード情報を記憶する構成モード情報部を備え、
前記異なる版数の初期動作プログラムが存在する場合に、前記決定部が、前記論理及び版数情報に基づいて、どの版数の初期動作プログラムをもつプロセッサでシステムを構成するかを決定する請求項１に記載のマルチプロセッサシステム。
【請求項３】
複数のプロセッサが共通バスを通して並列処理を実行することによりマルチプロセッサシステムを構成するシステム構成方法において、
自己のプロセッサの初期動作が正常か異常かを初期動作プログラムにより診断する初期動作ステップと、
前記各プロセッサ毎に初期動作プログラムで診断された初期動作の診断結果を表す初期動作状態情報及び前記初期動作プログラムの版数を表す版数情報を分散共有メモリに記憶する記憶ステップと、
前記分散共有メモリに記憶された初期動作状態情報に基づき異常であったプロセッサを縮退するとともに、前記版数情報に基づいて、全てのプロセッサの初期動作プログラムの版数が同一かどうかを判断し、異なる版数の初期動作プログラムが存在する場合に、どの版数の初期動作プログラムをもつプロセッサでシステムを構成するように決定する決定ステップとを備えるマルチプロセッサシステム構成方法。
【請求項４】
前記異なる版数の初期動作プログラムが存在する場合に、どの版数の
初期動作プログラムをもつプロセッサでシステムを構成するかを決定する論理を表す構成モード情報を記憶する構成モード情報ステップを備え、
前記決定ステップは、前記異なる版数の初期動作プログラムが存在する場合に、前記論理及び版数情報に基づいて、どの版数の初期動作プログラムをもつプロセッサでシステムを構成するかを決定する請求項３に記載のマルチプロセッサシステム構成方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は複数のプロセッサが共通バスを介して分散共有メモリに記憶された情報を用いて並列処理を実行するマルチプロセッサシステム及びその構成方法に関する。
【０００２】
【従来の技術】
近年、情報処理における高性能データベース検索、科学技術分野における画像処理などの並列処理に対して市場の要求が高まっている。この要求に対応するために複数のプロセッサを接続したマルチプロセッサシステムが提供される。特に、プロセッサとメモリとをプロセッサモジュールとして独立させ、このプロセッサモジュールを共通バスを介して複数結合して並列処理を行うマルチプロセッサシステムが提供される。
【０００３】
前記マルチプロセッサシステムにおいては、メモリを１つないし複数のプロセッサのグループ毎に分散させて配置し、各プロセッサが分散メモリをアクセスする。マルチプロセッサシステムは前記共通バスに対する負荷を軽減することで複数のプロセッサにより並列処理を行う。さらに、互いのプロセッサが直接にアクセスできる分散共有メモリをもつマルチプロセッサシステムもある。
【０００４】
このような分散共有メモリをもつマルチプロセッサシステムにおいて、いずれかのプロセッサモジュールが異常である場合もある。この場合には、異常であるプロセッサモジュールを縮退し、残りの正常なプロセッサモジュールによってマルチプロセッサシステムを構築する必要があった。
【０００５】
また、前記分散メモリや、分散共有メモリをもつマルチプロセッサシステムでは、複数のプロセッサが独立に動作するため、複数のプロセッサの協調動作が重要である。複数のプロセッサが協調動作を行うためには各プロセッサで動作する初期動作プログラムの版数（バージョン）が一致していなければならない。
【０００６】
【発明が解決しようとする課題】
しかしながら、作業ミスにより異なる版数のプロセッサモジュールが混在する場合もある。このときに初期動作が行われた場合には、それぞれの設定が異なる。このため、マルチプロセッサシステムを構築した後に協調動作を維持できず、システムが正常に動作できない。
【０００７】
また、基本システムの版数が一致するとともに、システムの初期診断、初期設定及びブートを実行するためのプログラムリードオンリーメモリ（ＰＲＯＭ）などの書換え不可能な不揮発性メモリからなるブートプログラムメモリの版数も一致していなければならない。
【０００８】
しかし、前述したように異なる版数の初期動作プログラムが存在する場合もある。この場合、初期動作プログラムは書換え不可能なプログラムリードオンリーメモリ（ＰＲＯＭ）に格納されていたため、初期動作プログラムの版数を同一にするには異なる版数をもつＰＲＯＭを交換する必要があった。このため、交換作業が大変であった。そこで、異なる版数の初期動作プログラムを同一の版数の初期動作プログラムに書き換え、全ての版数を同一にして全てのプロセッサモジュールでシステムを起動することが望まれていた。
【０００９】
本発明の目的は、異なる版数が混在しても同一の版数の初期動作プログラムをもつプロセッサモジュールでシステムを構成することのできるマルチプロセッサシステム及びその構成方法を提供する。
【００１０】
【課題を解決するための手段】
本発明のマルチプロセッサシステムは、前記課題を解決するため、以下の手段を採用した。
【００１１】
＜本発明のマルチプロセッサシステムの要旨＞
本発明のマルチプロセッサシステムは図１に示したように複数のプロセッサ１２が共通バス６を通して並列処理を実行するマルチプロセッサシステムにおいて、
初期動作部１４と、分散共有記憶部８と、決定部１９とを備える（請求項１に対応）。要は同一の版数をプロセッサのみを起動するものである。
【００１２】
以下、その構成を説明する。
（初期動作部）
初期動作部１４は各プロセッサ１２に設けられ自己のプロセッサの初期動作が正常か異常かを初期動作プログラムにより診断するもので、初期動作プログラムはフラッシュメモリなどの書換え可能な不揮発性メモリに格納される。
（分散共有記憶部）
分散共有記憶部８は前記各プロセッサ毎に初期動作プログラムで診断された初期動作の診断結果を表す初期動作状態情報及び前記初期動作プログラムの版数を表す版数情報を記憶するもので、例えば、分散共有メモリである。
（決定部）
前記決定部１９は分散共有メモリ８に記憶された初期動作状態情報に基づき異常であったプロセッサを縮退するとともに前記版数情報に基づき異なる版数の初期動作プログラムをもつプロセッサを縮退し同一の版数の初期動作プログラムをもつプロセッサでシステムを構成するように決定する。
【００１３】
本発明は以下の付加的構成要素を付加しても成立する。その他の付加的構成要素とは、前記決定部１９が、システム全体の制御を行うとともに前記複数のプロセッサのシステム構成を決定するシステム制御機構部１８である。
【００１４】
その他の付加的構成要素とは、前記複数のプロセッサの各々が、前記システム構成決定処理を相互に実行することである。さらに、その他の付加的構成要素とは、前記システム構成を決定する論理を表す構成モード情報を記憶する構成モード情報部２０を備え、前記決定部１９は、前記構成モード情報部２０に記憶された構成モード情報に基づきシステム構成を決定する。
【００１５】
さらに、前記構成モード情報部２０に構成モード情報を設定する処理、前記設定された構成モード情報を別の構成モード情報に変更する処理の少なくとも一方の処理を行う構成モード設定部２１を備える。
【００１６】
さらに、前記決定部１９がシステム構成決定処理において選択した初期動作プログラムの版数を表すシステム版数情報を格納するシステム版数情報部２３と、前記システム構成決定処理において選択されなかった初期動作プログラムデータの版数を表す格納プログラムデータ版数情報を予め記憶する記憶装置２５と、前記システム版数情報と前記格納プログラムデータ版数情報とを比較するシステム版数比較部２２と、前記システム版数情報が前記格納プログラムデータ版数情報に一致しない場合には、前記システム版数情報を前記格納プログラムデータ版数情報に書換えることにより全てのプロセッサを同一の版数の初期動作プログラムに統一する書換え処理部２７とを備える。
【００１７】
さらに、前記書換え処理部が初期動作プログラムの書換えを実行するときの書換え処理の動作状態を表す書換え状態情報を各プロセッサ毎に格納する書換え状態情報部２８を備える。前記決定部１９は、前記初期動作プログラムが異常なプロセッサを認識した場合に前記書換え状態情報部２８に格納された書換え状態情報を参照することにより前記異常なプロセッサでシステムを構成してシステム動作を開始する。前記書換え処理部２７は、前記書換え処理を再度試行することにより書換え実行中に発生した異常な初期動作プログラムを復旧する。
【００１８】
前記書換え状態情報部２８は、書換え処理の再度試行を実行する回数を規定するリトライ回数情報を設定する。前記書換え状態情報部２８は、各初期動作プログラムを更新する最大更新回数を表す最大更新回数情報を参照して前記リトライ回数を設定する。
【００１９】
また、図２に本発明のマルチプロセッサシステム構成方法の原理フローチャートを示す。図２に示すようにこの発明は、複数のプロセッサが共通バスを通して並列処理を実行することによりマルチプロセッサシステムを構成するシステム構成方法において、自己のプロセッサの初期動作が正常か異常かを初期動作プログラムにより診断する初期動作ステップ１０１と、前記各プロセッサ毎に初期動作プログラムで診断された初期動作の診断結果を表す初期動作状態情報及び前記初期動作プログラムの版数を表す版数情報を分散共有メモリに記憶する記憶ステップ１０２と、前記分散共有メモリに記憶された初期動作状態情報に基づき異常であったプロセッサを縮退するとともに前記版数情報に基づき異なる版数の初期動作プログラムをもつプロセッサを縮退し同一の版数の初期動作プログラムをもつプロセッサでシステムを構成するように決定する決定ステップ１０３とを備える。
【００２０】
前記複数のプロセッサの各々によって、前記決定ステップは相互に実行される。前記決定ステップのうち、初期動作状態情報に基づき異常なプロセッサの縮退をシステム全体の制御を行うシステム制御機構部によって実行され、版数の異なるプロセッサの縮退を正常なプロセッサによって実行されることである。
【００２１】
さらに、前記システム構成を決定する論理を表す構成モード情報を記憶する構成モード情報ステップ１０４を備え、前記決定ステップ１０３は、前記記憶された構成モード情報に基づきシステム構成を決定する。
【００２２】
さらに、前記構成モード情報を設定する処理、前記設定された構成モード情報を別の構成モード情報に変更する処理の少なくとも一方の処理を行う構成モード設定ステップ１０５を備える。
【００２３】
さらに、前記システム構成決定処理において選択した初期動作プログラムの版数を表すシステム版数情報を格納するシステム版数ステップ１１１と、前記システム構成決定処理において選択されなかった初期動作プログラムデータの版数を表す格納プログラムデータ版数情報を予め記憶するステップ１１２と、前記システム版数情報と前記格納プログラムデータ版数情報とを比較するシステム版数比較ステップ１１３と、前記システム版数情報が前記格納プログラムデータ版数情報に一致しない場合には、前記システム版数情報を前記格納プログラムデータ版数情報に書換えることにより全てのプロセッサを同一の版数の初期動作プログラムに統一する書換え処理ステップ１１４とを備える。
【００２４】
さらに、前記初期動作プログラムの書換えを実行するときの書換え処理の動作状態を表す書換え状態情報を各プロセッサ毎に格納する書換え状態情報ステップ１１５を備え、前記決定ステップ１０３は、前記初期動作プログラムが異常なプロセッサを認識した場合に前記書換え状態情報部に格納された書換え状態情報を参照することにより前記異常なプロセッサでシステムを構成してシステム動作を開始し、前記書換え処理ステップは、前記書換え処理を再度試行することにより書換え実行中に発生した異常な初期動作プログラムを復旧する。
【００２５】
前記書換え状態情報ステップ１１５は、書換え処理の再度試行を実行する回数を規定するリトライ回数情報を設定する。前記書換え状態情報ステップ１１５は、各初期動作プログラムを更新する最大更新回数を表す最大更新回数情報を参照して前記リトライ回数を設定する。
【００２６】
【作用】
本発明によれば、各初期動作部１４が自己のプロセッサの初期動作が正常か異常かを初期動作プログラムにより診断すると、各プロセッサ毎に初期動作プログラムで診断された初期動作の診断結果を表す初期動作状態情報及び初期動作プログラムの版数を表す版数情報が分散共有記憶部８に記憶される。
【００２７】
そして、決定部１９は分散共有記憶部８に記憶された初期動作状態情報に基づき異常であったプロセッサを縮退する。また、決定部１９は版数情報に基づき異なる版数の初期動作プログラムをもつプロセッサを縮退し同一の版数の初期動作プログラムをもつプロセッサでシステムを構成するように決定する。
【００２８】
すなわち、同一の版数をもつ初期動作プログラムのみでシステムを構成するので、プロセッサの協調動作が保証されたシステム立ち上げが可能となる。
また、システム全体を制御するシステム制御機構部１８が、複数のプロセッサのシステム構成を決定することもできる。さらに、前記複数のプロセッサの各々が、前記システム構成決定処理を相互に実行することもできる。
【００２９】
さらに、構成モード情報部２０がシステム構成を決定する論理を表す構成モード情報を記憶し、決定部１９は、構成モード情報部２０に記憶された構成モード情報に基づきシステム構成を決定するので、予め定められた論理でシステム構成を決定できる。
【００３０】
さらに、構成モード設定部２１が構成モード情報部２０に構成モード情報を設定する処理、前記設定された構成モード情報を別の構成モード情報に変更する処理の少なくとも一方の処理を行うので、運用状態や保守、試験などの状況に合わせたシステム構成を選択できる。
【００３１】
さらに、システム版数比較部２２は、システム構成決定処理において選択した（例えば、版数がより古い）初期動作プログラムの版数を表すシステム版数情報と、システム構成決定処理において選択されなかった（例えば、版数がより新しい）初期動作プログラムデータの版数を表す格納プログラムデータ版数情報とを比較する。
【００３２】
書換え処理部２７はシステム版数情報が格納プログラムデータ版数情報に一致しない場合には、システム版数情報（版数がより古い）を格納プログラムデータ版数情報（版数が新しい）に書換えることにより全てのプロセッサを同一の版数の初期動作プログラムに統一する。
【００３３】
従って、複数の版数が存在しても、全ての版数を同一にすることができる。
また、決定部１９は初期動作プログラムが異常なプロセッサを認識した場合に書換え状態情報部２８に格納された書換え状態情報を参照することにより異常なプロセッサでシステム構成してシステム動作を開始する。書換え処理部２７は書換え処理を再度試行することにより書換え実行中に発生した異常な初期動作プログラムを復旧する。
【００３４】
従って、書換え処理中になんらかの要因で処理が中断されるような場合であっても、異常な初期動作プログラムを復旧することができる。
書換え状態情報部２８がリトライ回数情報を設定することで書換え処理が必要以上に試行されるのを防止でき、プロセッサ縮退を実行し、他のプロセッサの書換え処理を継続させることにより書換え処理の信頼性を向上できる。
【００３５】
書換え状態情報部２８は最大更新回数情報を参照して前記リトライ回数を設定することで初期動作プログラムの更新回数の制限を考慮した復旧処理を行うことができる。
【００３６】
【実施例】
以下、本発明のマルチプロセッサシステム及びその構成方法の実施例を図面を参照することにより説明する。
＜実施例１＞
図３は本発明のマルチプロセッサシステムの実施例１を示す構成ブロック図である。前記マルチプロセッサシステムは、共通バス６に接続される複数のプロセッサモジュール（ＰＭ）１２−１〜１２−３、共通バス６に接続されるシステムメモリ８、システムメモリ８に接続されるシステム制御機構部１８、システムメモリ８に接続されるシステム構成決定部１９とを備える。前記マルチプロセッサシステムにおいては、複数のプロセッサモジュール１２−１〜１２−３が共通バス６を通して並列処理を実行する。
【００３７】
プロセッサモジュール１２−ｉ（ｉ＝１〜３）は、中央処理装置（ＣＰＵ）１３−ｉ、初期動作プログラムを格納するＦＲＡＭ初期動作部１４−ｉ、ランダムアクセスメモリ（ＲＡＭ）１５−ｉを備える。
【００３８】
前記ＲＡＭ１５−ｉは各ＣＰＵで設定・診断され、マルチプロセッサとして動作するときにシステムの分散共有メモリとして設定され、システムメモリとして使用される。
【００３９】
ＦＲＡＭ初期動作部１４−ｉは初期動作プログラムをＦＲＡＭ（フラッシュメモリ）に有し自己のプロセッサモジュール１２−ｉの初期動作が正常か異常かを初期動作プログラムにより診断する。前記ＦＲＡＭは書換え可能な不揮発性メモリである。
【００４０】
システムメモリ８は、前記プロセッサモジュール１２−ｉに対応して前記ＦＲＡＭ初期動作部１４−ｉ内の初期動作プログラムによって診断された各プロセッサモジュール１２−ｉの診断結果を表す初期動作状態情報１６−ｉと、前記プロセッサモジュール１２−ｉに対応して前記ＦＲＡＭ初期動作部１４−ｉ内の初期動作プログラムの版数を表すＦＲＡＭ版数情報１７−ｉ（ｉ＝１〜３）とを格納する。
【００４１】
前記システム制御機構部１８は、前記共通バス６に接続され、前記プロセッサモジュール１２−ｉのＣＰＵ１３−ｉとは別に、複数（マルチ）のプロセッサモジュール１２−１〜１２−３全体を制御するためのＣＰＵ１８０を備える。また、前記システム制御機構部１８は、前記システムの電源の制御、リセット処理の制御、システム状態の監視などを実行する。
【００４２】
前記システム構成決定部１９はシステムメモリ８及びシステム制御機構部１８に接続され、内部の図示しないメモリにシステム構成決定プログラムを有しシステムメモリ８に記憶された初期動作状態情報に基づき異常であったプロセッサを縮退する。縮退とは異常であったプロセッサをマルチプロセッサシステム構成から除外することをいう。前記システム構成決定部１９は前記版数情報に基づき異なる版数の初期動作プログラムをもつプロセッサを縮退し同一の版数の初期動作プログラムをもつプロセッサモジュールでシステムを構成するように決定する。
【００４３】
次に、このように構成された実施例１の動作を図４のフローチャートを参照して説明する。まず、システム制御機構部１８によりマルチプロセッサシステムのリセットが実行されると（ステップＳ１）、各プロセッサモジュール１２−１〜１２−３はそのリセットを認識する（ステップＳ２）。そして、ＦＲＡＭ初期動作部１４−ｉは初期動作プログラムにより初期設定、診断等の初期動作を実行する（ステップＳ３ａ）。
【００４４】
ＦＲＡＭ初期動作部１４−ｉは自己の初期動作プログラムにより自己のプロセッサモジュールを診断及び設定し、その結果が正常であるか異常であるかを判定する（ステップＳ３ｂ）。
【００４５】
結果が正常である場合には、ＦＲＡＭ初期動作部１４−ｉは正常ステータスを作成し（ステップＳ４ａ）、その正常ステータスをシステムメモリ８に初期動作状態情報１６−ｉとしてセットする（ステップＳ５）。
【００４６】
一方、結果が異常である場合には、ＦＲＡＭ初期動作部１４−ｉは異常ステータスを作成し（ステップＳ４ｂ）、その異常ステータスをシステムメモリ８にセットする（ステップＳ５）。
【００４７】
次に、ＦＲＡＭ初期動作部１４−ｉは自己の初期動作プログラムの版数をシステムメモリ８にＦＲＡＭ版数情報１７−ｉとしてセットする（ステップＳ６）。
さらに、システム構成決定部１９は全てのプロセッサモジュール１２−１〜１２−３が前記情報をシステムメモリ８に格納した後に、システムメモリ８に格納された情報に基づきマルチプロセッサシステムを構成するプロセッサモジュールを選択する（ステップＳ７）。
【００４８】
前記システム構成決定処理を図５を参照して詳細に説明する。ここでは、システム制御機構部１８がステップ７１から７６までの各プロセッサモジュールの状態情報の監視及び異常モジュールの縮退処理を行い、正常なモジュールのうち任意の１モジュールを選択する。選択されたプロセッサがステップ７７から８０までの処理を行うもので、システム制御機構部１８が行う処理を引き継ぐため、他のモジュールとは異なる処理を実行する。
【００４９】
まず、システム制御機構部１８はプロセッサモジュール１２−１〜１２−３の初期動作状態情報を監視する（ステップ７１）。そして、一定時間内に前記初期動作状態情報が、システムメモリ８に設定されるかが判断される（ステップＳ７２）。
【００５０】
前記情報を設定していないプロセッサモジュールは異常が発生しているとシステム制御機構部１８が判断してそのプロセッサモジュールを縮退（システムからの切り離し）を実行する（ステップＳ７３）。
【００５１】
次に、システム制御機構部１８はシステムメモリ８に記憶されたプロセッサモジュール１２−１〜１２−３の初期動作状態情報１６−１〜１６−３を確認する（ステップＳ７４）。システム制御機構部１８は初期動作状態情報から異常ステータスが設定されているかどうかを判断する（ステップＳ７５）。システム制御機構部１８は異常ステータスが設定されているプロセッサモジュールを縮退する（ステップＳ７６）。そして、正常なプロセッサモジュールのうち、任意の１モジュールを選択する。
【００５２】
次に、選択されたプロセッサはシステムメモリ８のＦＲＡＭ版数情報１７−１〜１７−３に基づき各プロセッサモジュールの初期動作プログラムの版数を確認し（ステップＳ７７）、全てのプロセッサモジュールの初期動作プログラムの版数が同一かどうかを判断する（ステップＳ７８）。
【００５３】
版数の異なる初期動作プログラムが存在する場合には、選択されたプロセッサは版数の異なるプロセッサモジュールに対してプロセッサモジュールの縮退を実行する（ステップＳ７９）。
【００５４】
なお、どの版数のプロセッサモジュールを残すかどうかは前記マルチプロセッサシステムによって適宜変えることができる。例えば、最新の版数を残す場合や、あるいは多い版数を残す場合などが考えられる。
【００５５】
次に、選択されたプロセッサは、残ったプロセッサモジュールによってマルチプロセッサシステムを構成する（ステップＳ８０）。例えば、分散共有メモリシステムが構築できる。
【００５６】
なお、選択されなかったプロセッサモジュールはシステム制御部１８が処理を行うのと同様で動作する。
さらに、版数が同一である場合、問題なく全てのモジュールがシステムを構築する。しかし、選択されたモジュール自身が異なる版数である場合（書換え制御時でも）、他のモジュールでシステムを構築する必要がある。
【００５７】
この場合、前記選択されたモジュールのプロセッサは、版数の比較により動作すべきモジュールに制御を引き継ぐために、システム制御機構部１８が最初に選択したように動作すべき新たなモジュールを選択する。
【００５８】
新たに選択されたモジュールはステップＳ７７以降の処理を実行するが、版数の比較により自己を縮退するような状態にならないため、そのままステップＳ８０の処理を実行する。
【００５９】
この場合、他のモジュール（版数のチェックにより縮退すべきモジュール）の縮退動作は以下の２通りの方法で縮退できる。
第１の方法は最初にシステム制御機構部１８に選択されたモジュールのプロセッサが他のモジュールを縮退し、新たに選択されたモジュールに制御を引き継いだ後に自身も自身を縮退する。この場合、新たに選択されたモジュールはＳ７７以降のチェックを行っても正常に動作し（縮退されずに）、かつ版数の異なるモジュールは存在しない状態となっている。
【００６０】
第２の方法は最初にシステム制御機構部１８に選択されたモジュールのプロセッサは新たに選択されたモジュールに制御を引き継ぐまでを行い、その後他のモジュール同様の状態に戻る。新たに選択されたモジュールがＳ７７からの処理を行うことで版数のチェックにかかるモジュールが縮退される。
【００６１】
以上の処理によりシステム構成決定部１９の処理が終了する。図４の説明に戻り、各プロセッサモジュールはソフトウェアをローディングし（ステップＳ８）、
システムを起動する（ステップＳ９）。
【００６２】
その後に、同一の版数をもった正常なプロセッサモジュールで構成されたマルチプロセッサシステムとして処理を続行する。さらに、システム制御機構部１８はマルチプロセッサシステムを構成するプロセッサモジュールを含めシステムを監視する（ステップＳ１０）。
【００６３】
このように、異なる版数の初期動作プログラムが混在しても、同一の版数の初期プログラムをもつプロセッサモジュールのみを選択するので、同一版数のプロセッサモジュールにより協調動作を維持しながらマルチプロセッサシステムを正常に立ち上げることができる。
（Ａ）システム制御機構部内のＣＰＵによるシステム構成決定部の動作
次に、システム制御機構部１８内のＣＰＵがシステム構成決定部を動作させることによりマルチプロセッサシステムの構成を決定する具体例を図６、図７を参照して説明する。
（ａ）まず、図６では、プロセッサモジュール１２−１〜１２−３の内でプロセッサモジュール１２−３において初期動作が異常であった場合を説明する。なお、各プロセッサモジュールの初期動作プログラムの版数は全て同一であり、Ａ版であるとする。
【００６４】
まず、プロセッサモジュール１２−１，１２−２において、初期動作部１４−１，１４−２は初期動作プログラムによりシステムメモリ８に初期動作状態情報として正常ステータスを設定し、かつＦＲＡＭ版数情報としてＡ版を設定する（ステップＳ１１ａ）。
【００６５】
次に、プロセッサモジュール１２−３において、初期動作部１４−３は初期動作プログラムによりシステムメモリ８に初期動作状態情報として異常ステータスを設定し、かつＦＲＡＭ版数情報としてＡ版を設定する（ステップＳ１２ａ）。
【００６６】
システム制御機構部１８は全てのプロセッサモジュールが初期動作を終了し、各情報をシステムメモリ８に設定するのを待つ（ステップＳ１３）。システム制御機構部１８は前記初期動作状態情報が正常かどうかを判定する（ステップＳ１４）。
【００６７】
初期動作状態情報が異常である場合には、システム制御機構部１８は異常プロセッサの縮退を行い（ステップＳ１５）、ステップＳ１６の処理に進む。一方、初期動作状態情報が正常である場合には、直ちにステップＳ１６の処理に進む。
【００６８】
この例では、プロセッサモジュール１２−３が異常であるので、ステップＳ１５において、プロセッサモジュール１２−３を縮退する。
次に、システム制御機構部１８はＦＲＡＭ版数情報が同一であるかどうかを判定し（ステップＳ１６）、版数が同一でないプロセッサモジュールを含む場合には、同一の版数を選択することにより異常の版数のプロセッサモジュールを縮退する（ステップＳ１７）。
【００６９】
残りのプロセッサモジュールでマルチプロセッサシステムの構成を決定する（ステップＳ１８）。この例では、プロセッサモジュール１２−１，１２−２ともにＡ版の初期動作プログラムをもつため、プロセッサモジュール１２−１，１２−２は縮退されずに、マルチプロセッサシステムを構成する。
【００７０】
一方、全てのプロセッサモジュールの版数が同一である場合には、それらのプロセッサモジュールでマルチプロセッサシステムの構成が決定される。
このようなシステム制御機構部１８の処理が終了した後に、正常なプロセッサモジュール１２−１，１２−２はマルチプロセッサシステムとして動作するための設定、診断などの動作を開始する（ステップＳ１９）。
【００７１】
このようにシステム制御機構部１８は異常のプロセッサモジュールを縮退して正常のプロセッサモジュールのみでマルチプロセッサの構成を決定することもできる。
（ｂ）次に、図７を参照して、プロセッサモジュール１２−１〜１２−３の中でプロセッサモジュール１２−１，１２−２のＦＲＡＭ初期動作プログラムの版数がＣ版であり、プロセッサモジュール１２−３の版数がＢ版であるときのシステム制御機構部１８の処理を説明する。なお、初期動作プログラムの版数はアルファベッド順に新しい版数であるとし、Ｃ版はＢ版よりも新しい版数である。
【００７２】
まず、プロセッサモジュール１２−１，１２−２において、初期動作部１４−１，１４−２は初期動作プログラムによりシステムメモリ８に初期動作状態情報として正常ステータスを設定し、かつＦＲＡＭ版数情報としてＣ版を設定する（ステップＳ１１ｂ）。
【００７３】
次に、プロセッサモジュール１２−３において、初期動作部１４−３は初期動作プログラムによりシステムメモリ８に初期動作状態情報として正常ステータスを設定し、かつＦＲＡＭ版数情報としてＢ版を設定する（ステップＳ１２ｂ）。
【００７４】
システム制御機構部１８は全てのプロセッサモジュールが初期動作を終了し、各情報をシステムメモリ８に設定するのを待つ（ステップＳ１３）。システム制御機構部１８は前記初期動作状態情報が正常かどうかを判定する（ステップＳ１４）。この例では、初期動作状態情報が全て正常であるので、ステップＳ１５におけるプロセッサモジュールの縮退は行われない。
【００７５】
次に、システム制御機構部１８はＦＲＡＭ版数情報が同一であるかどうかを判定する（ステップＳ１６）。この例では、版数が同一でないプロセッサモジュールを含むので、版数を選択するときに例えば、新しい版数を選択する。
【００７６】
プロセッサモジュール１２−３の版数は、プロセッサモジュール１２−１，１２−２の版数よりも古いため、プロセッサモジュール１２−３を縮退する（ステップＳ１７）。
【００７７】
プロセッサモジュール１２−１，１２−２でマルチプロセッサシステムを構成する（ステップＳ１８）。
このようにシステム制御機構部１８は版数の異なる初期動作プログラムが混在しても、同一の版数の初期動作プログラムをもつプロセッサモジュールでマルチプロセッサの構成を決定することもできる。
（Ｂ）プロセッサモジュール内のＣＰＵによるシステム構成決定部の動作
次に、プロセッサモジュール内のＣＰＵがシステム構成決定部１９を動作させることによりマルチプロセッサシステムの構成を決定する具体例を図８、図９を参照して説明する。この場合、システム制御機構部１８はシステム構成の決定に関与しない。
（ａ）まず、図８において、図６に示したと同様に、プロセッサモジュール１２−３の初期動作が異常であった場合を説明する。各プロセッサモジュールの初期動作プログラムの版数は全てＡ版である。
【００７８】
まず、プロセッサモジュール１２−１，１２−２の初期動作部１４−１，１４−２はシステムメモリ８に初期動作状態情報として正常ステータスを設定し、かつＦＲＡＭ版数情報としてＡ版を設定する（ステップＳ１１ａ）。プロセッサモジュール１２−３の初期動作部１４−３はシステムメモリ８に初期動作状態情報として異常ステータスを設定し、かつＦＲＡＭ版数情報としてＡ版を設定する（ステップＳ１２ａ）。
【００７９】
次に、各プロセッサモジュールは、他のプロセッサモジュールの情報設定動作を監視し、全てのプロセッサモジュールの情報設定の終了を待つ（ステップＳ２０）。
【００８０】
各プロセッサモジュールは全てのプロセッサモジュールの設定が終了したことを確認し、自己のプロセッサモジュールの情報のチェックを開始する。まず、各プロセッサモジュールは自己のプロセッサモジュールの初期動作状態情報をチェックし、異常ステータスをシステムメモリ８に設定している場合には、そのプロセッサを縮退する（ステップＳ２１）。この例では、プロセッサモジュール１２−３が縮退する。
【００８１】
次に、各プロセッサモジュールはＦＲＡＭ版数情報のチェックを行い、異常版数のプロセッサモジュールは縮退される（ステップＳ２２）。この場合、各プロセッサモジュールは自己のプロセッサモジュールのＦＲＡＭ版数情報と他のプロセッサモジュールの版数情報とを比較し、版数が異なる場合には、プロセッサモジュールの縮退が行われる。
【００８２】
この例では、Ａ版であるプロセッサモジュール１２−１，１２−２がマルチプロセッサシステムを構成し（ステップＳ２３）、マルチプロセッサシステムの動作を開始する（ステップＳ１９）。
このように各プロセッサモジュールのＣＰＵがシステム構成決定部１９を動作させることによりプロセッサモジュールを縮退して正常のプロセッサモジュールのみでマルチプロセッサの構成を決定することもできる。
（ｂ）次に、図９を参照して、プロセッサモジュール１２−１，１２−２のＦＲＡＭ初期動作プログラムの版数がＣ版であり、プロセッサモジュール１２−３の版数がＢ版であるときの各プロセッサモジュールの処理を説明する。
【００８３】
まず、プロセッサモジュール１２−１，１２−２は初期動作状態情報として正常ステータスを設定し、かつＦＲＡＭ版数情報としてＣ版を設定する（ステップＳ１１ｂ）。プロセッサモジュール１２−３は初期動作状態情報として正常ステータスを設定し、かつＦＲＡＭ版数情報としてＢ版を設定する（ステップＳ１２ｂ）。
【００８４】
次に、各プロセッサモジュールは前記ステップ２０の処理を行い、さらに、自己のステータスをチェックして異常ステータスのプロセッサモジュールを縮退する（ステップＳ２１）。この例では、異常ステータスはないので、縮退されるプロセッサモジュールはない。
【００８５】
次に、各プロセッサモジュールはＦＲＡＭ版数情報をチェックする。プロセッサモジュール１２−３の版数は、プロセッサモジュール１２−１，１２−２の版数と異なるため、プロセッサモジュール１２−３は自己を縮退する（ステップＳ２２）。
【００８６】
なお、この例では、古い版数と新しい版数が混在していた場合に新しい版数を選択した。従って、残ったプロセッサモジュール１２−１，１２−２によりＣ版の初期動作プログラムをもつマルチプロセッサシステムが構成される。
【００８７】
このように版数の異なる初期動作プログラムが混在しても、同一の版数の初期動作プログラムをもつプロセッサモジュールでマルチプロセッサの構成を決定することもできる。
＜実施例２＞
次に、本発明のマルチプロセッサシステムの実施例２を説明する。図１０は実施例２のマルチプロセッサシステムの構成図である。実施例２では、実施例１の構成にさらに、前記システム構成決定部１９に接続される構成モード情報メモリ２０、前記構成モード情報メモリ２０に接続される構成モード設定処理部２１とを備える。
【００８８】
前記構成モード設定処理部２１は構成モード情報メモリ２０に構成モード情報を設定するもので、装置のスイッチなどの認識、コマンドによる入力などにより構成モード情報を設定することができる。
【００８９】
前記構成モード情報メモリ２０はシステム構成を決定する論理を選択するための構成モード情報を格納する。
次に、実施例２の構成モード設定処理部の動作を説明する。図１１は実施例２の構成モード設定処理部の動作を示すフローチャートである。この処理はシステム構成決定処理を行う前に行われる。
【００９０】
まず、構成モード設定処理部２１は構成モード情報を構成モード情報メモリ２０に設定する（ステップＳ２４ａ）。次に、システム構成決定部１９は、構成モード情報メモリ２０に格納された構成モード情報を参照してシステム構成を決定するための論理を選択する（ステップＳ２４ｂ）。
【００９１】
この例では、例えば、システム構成決定部１９は、第１ないし第３の３つのシステム構成決定論理からいずれか１つの論理を選択する。例えば、システム構成決定部１９は、第１のシステム論理を選択すると、ＦＲＡＭ版数の新しいプロセッサモジュールでマルチプロセッサシステムを構成する（ステップＳ２５）。
【００９２】
また、システム構成決定部１９は、第２のシステム論理を選択すると、ＦＲＡＭ版数の古いプロセッサモジュールでマルチプロセッサシステムを構成する（ステップＳ２６）。この場合、ＦＲＡＭのレベルアップ動作時に利用されるように動作する。
【００９３】
さらに、システム構成決定部１９は、第３のシステム論理を選択すると、ＦＲＡＭ版数を指定し指定されたプロセッサモジュールでマルチプロセッサシステムを構成する（ステップＳ２７）。この場合、試験システム、障害調査、開発、緊急時の運用などに活用できる。
【００９４】
以上の処理の後に、システム構成決定部１９はＦＲＡＭ版数情報のチェック、縮退などの処理によりシステム構成決定処理を行う（ステップＳ７）。Ｓ７以降の処理は実施例１の処理と同様である。
【００９５】
このように構成モード設定処理部２１により容易に構成モード情報を設定、変更できるため、運用状態、保守、試験等のシステム状況に応じてシステム構成を制御することができる。
【００９６】
また、前記構成モード設定処理部２１を設けずに、構成モード情報メモリ２０のみを設けるようにしてもよい。この場合には、構成モード情報メモリ２０に予め定められた構成モード情報を格納することで限られた構成モード情報のみを選択してもよい。
＜実施例３＞
次に、本発明の実施例３を説明する。実施例３は実施例２の構成にさらに図１２に示すような構成を追加した。図１２において、マルチプロセッサシステムはシステム版数情報部２３、格納プログラムデータ版数情報部２４、システム版数比較部２２、ＦＲＡＭ初期動作プログラムデータ２６を記憶する外部記憶装置２５、書換え処理部２７を備える。
【００９７】
システム版数情報部２３は、前記システム構成決定部１９がシステム構成決定処理において選択した初期動作プログラムの版数を表すシステム版数情報を格納する。
【００９８】
格納プログラムデータ版数情報部２４は前記外部記憶装置２５内のＦＲＡＭ初期動作プログラムデータ２６の版数を表す格納プログラムデータ版数情報を格納する。格納プログラムデータ版数情報は前記システム構成決定処理において選択されなかった初期動作プログラムデータの版数を表す。
【００９９】
前記システム版数比較部２２は、前記システム版数情報と、前記格納プログラムデータ版数情報とを比較する。システム版数情報部２３は例えば、前記システムメモリ８などに設けられる。
【０１００】
前記書換え処理部２７は前記システム版数比較部２２の比較結果により必要に応じてＦＲＡＭ初期動作プログラムの書換えを実行する。ここでは、前記書換え処理部２７は前記システム版数情報が前記格納プログラムデータ版数情報に一致しない場合には、前記システム版数情報を前記格納プログラムデータ版数情報に書換えることにより全てのプロセッサを同一の版数の初期動作プログラムに統一する。
【０１０１】
次に、図１３を参照して実施例３の第１の処理を説明する。この例では、プロセッサモジュール１２−１，１２−２がＢ版の初期動作プログラムをもち、プロセッサモジュール１２−３がＡ版の初期動作プログラムをもつ。外部記憶装置２５に記憶されているＦＲＡＭ初期動作プログラムデータはＢ版である。
【０１０２】
まず、システム制御機構部１８がリセットを実行すると（ステップＳ１）、各プロセッサモジュールはリセットを認識し（ステップＳ２）、初期動作を実行する（ステップＳ３ａ）。
【０１０３】
各プロセッサモジュールは自己のプロセッサモジュールを診断及び設定し、その結果を出力し（ステップＳ３ｃ）、正常または異常のステータスを作成する（ステップＳ４）。そのステータスをシステムメモリ８に初期動作状態情報１６−ｉとしてセットする（ステップＳ５）。
【０１０４】
次に、各プロセッサモジュールは自己の初期動作プログラムの版数をシステムメモリ８にＦＲＡＭ版数情報１７−ｉとしてセットする（ステップＳ６）。
この例では、プロセッサモジュール１２−１，１２−２の対応するシステムメモリ８には、正常ステータスが設定され、かつＦＲＡＭ版数（Ｂ版）が設定される（ステップＳ１１）。プロセッサモジュール１２−３の対応するシステムメモリ８には、正常ステータスが設定され、かつＦＲＡＭ版数（Ａ版）が設定される（ステップＳ１２）。
【０１０５】
次に、システム構成決定部１９は構成モード情報メモリ２０に格納された構成モード情報を参照してシステム構成を決定する際に古い版数をもつプロセッサモジュールを選択する論理でシステムを構成する（ステップＳ７）。この例では、古いＡ版のプロセッサモジュール１２−３を残し、新しいＢ版のプロセッサモジュール１２−１，１２−２を縮退する。
【０１０６】
そして、プロセッサモジュール１２−３がマルチプロセッサシステム動作を開始する（ステップＳ１９）。
次に、図１４を参照して実施例３の第２の処理を説明する。プロセッサモジュール１２−３は自己の初期動作プログラムの版数（Ａ版）をシステム版数情報部２３に格納する（ステップＳ２８）。
【０１０７】
次に、プロセッサモジュール１２−３は、外部記憶装置２５に記憶されている初期動作プログラムデータ２６を読み込み、初期動作プログラムデータ２６内の版数情報をチェックし、その版数情報を格納プログラムデータ版数情報部２４は格納する（ステップＳ２９）。
【０１０８】
次に、システム版数比較部２２は、前記システム版数情報と格納プログラムデータ版数情報とを比較し版数同士が同一かどうかを判定する（ステップＳ３０）。版数同士が同一である場合には、システムが起動される（ステップＳ９）。
【０１０９】
版数同士が異なる場合には、書換え処理部２７は書換え処理を実行する（ステップＳ３１）。この例では、プロセッサモジュール１２−３がＡ版であり、格納されている初期動作プログラムデータ２４の版数がＢ版であるので、プロセッサモジュール１２−３の初期動作プログラムはＡ版からＢ版に書き換えられる。
【０１１０】
さらに、書換えが終了した後に、プロセッサモジュール１２−３は、システム制御機構部１８にシステムのリセットを要求する（ステップＳ３２）。
システム制御機構部１８はリセット要求によりリセットを実行する（ステップＳ１）。この例では、リセット後には、Ｂ版の初期動作プログラムをもつ３つのプロセッサモジュール１２−１〜１２−３でシステムが構成され、これら３つのプロセッサモジュールで動作が開始される（ステップＳ１９）。
【０１１１】
さらに、システム版数情報部２３にＢ版の情報が格納される（ステップＳ３３）。そして、システム版数比較部２２がシステム版数情報を初期動作プログラムデータの版数と比較する（ステップＳ３４）。この場合、版数同士が同一の版数であるため、書換え処理は実行せずに正常にシステムを起動する。
【０１１２】
このように書換え可能なＦＲＡＭを用いて、システム版数比較部２２は、システム構成決定処理において選択した（例えば、版数がより古い）初期動作プログラムの版数を表すシステム版数情報と、システム構成決定処理において選択されなかった（例えば、版数がより新しい）初期動作プログラムデータの版数を表す格納プログラムデータ版数情報とを比較する。書換え処理部２７はシステム版数情報が格納プログラムデータ版数情報に一致しない場合には、システム版数情報（版数がより古い）を格納プログラムデータ版数情報（版数が新しい）に書換えることにより全てのプロセッサを同一の版数の初期動作プログラムに統一する。
【０１１３】
従って、複数の版数が存在しても、全ての版数を同一にして起動させることができる。
＜実施例４＞
次に、本発明の実施例４について説明する。図１５は実施例４のマルチプロセッサシステムの主要な構成を示す図である。
【０１１４】
前記書換え処理中になんらかの要因により処理が中断された場合（例えば、停電）、書換え処理が実行されているＦＲＡＭは自プログラムの一部が保証されていないため、必要な動作ができない。この場合、リセット後の初期動作時に自プログラムの診断異常である異常ステータスを初期動作状態情報として格納する。
【０１１５】
しかし、これは書換え処理を再度実行することで復旧が可能な状態であるため、他の異常ステータスとは区別する必要がある。しかし、診断によって書換え中によるＦＲＡＭの異常か、単なるＦＲＡＭの異常かを区別することが自プロセッサモジュールの診断のみでは判断できない。
【０１１６】
そこで、図１５における構成は図１２に示す構成にさらに、書換え状態情報部２８を追加した。書換え状態情報部２８は例えば、書換え処理部２７がＦＲＡＭの書換えを実行するときの書換えの状態を表す書換え状態情報を格納する。
【０１１７】
図１６に前記書換え状態情報の詳細を示す。図１６において、書換え状態情報は書換えが実行されるＦＲＡＭの書換え処理動作の状態であり、プロセッサモジュール毎にフラグによって設定されている。書換え状態情報には、例えば、ＦＲＡＭの正常状態、イレーズ状態（書換え可能部分に対してイレーズ動作がなされた状態）、ライト中状態（書換え可能部分に対してライト処理を実行中の状態）等の状態情報が設定されている。
【０１１８】
次に、図１７を参照して実施例４の動作を説明する。実施例４では、実施例３のプロセッサモジュール構成の状態で、図１３に示された書換え処理実行動作（ステップＳ３１）の処理で異常が発生し、正常に書換え処理を続行できない場合を説明する。
【０１１９】
まず、プロセッサモジュール１２−３のＦＲＡＭを書き換える前に書換え状態情報部２８はプロセッサモジュール１２−３の書換え状態情報を設定する。書換え状態情報部２８は例えば、図１６に示すように、プロセッサモジュール１２−３の処理状態を示す領域にＦＲＡＭイレーズ処理動作中、またはライト処理動作中などの異常状態情報を設定する（ステップＳ３５）。
【０１２０】
書換え処理を実行して最中に（ステップＳ３１）、書換え処理を継続できない異常が発生した場合、例えば、システムの電源が断となった場合に、ＦＲＡＭの状態はＡ版でもＢ版でもない異常状態になってしまう。
【０１２１】
システム制御機構部１８が書換え状態情報から異常の発生を認識すると（ステップＳ３６）、リセットを実行する（ステップＳ３７）。各プロセッサモジュール１２−１〜１２−３は初期動作を開始する（ステップＳ３ａ）。プロセッサモジュール１２−３は、ＦＲＡＭの初期動作プログラムの書換え可能な部分が異常状態であるために初期動作によりＦＲＡＭの異常として検出される（ステップＳ４）。
【０１２２】
また、プロセッサモジュール１２−３のＦＲＡＭの初期動作プログラムの版数も不定となってしまうため、システムメモリ８に０版をＦＲＡＭ版数情報として設定する（ステップＳ１２）。この状態において、システム構成決定部１９がシステム構成決定処理を実行し、初期動作状態情報が異常であるプロセッサモジュール１２−３を縮退する。
【０１２３】
次に、システム構成決定部１９は書換え処理時に書換え状態情報部２８に設定されている書換え状態情報を参照する。そして、システム構成決定部１９は、プロセッサモジュール１２−３のＦＲＡＭの異常が、書換え処理途中で中断されたために発生していることを認識する。
【０１２４】
そこで、プロセッサモジュール１２−３のＦＲＡＭを復旧するためにシステム構成決定部１９は、プロセッサモジュール１２−３以外のプロセッサモジュール１２−１，１２−２を縮退し、プロセッサモジュール１２−３のみでシステムを構成する（ステップＳ３７）。
【０１２５】
次に、プロセッサモジュール１２−３で構成されたシステムにおいて、書換え処理部２７は、直ちに書換え処理を実行し、外部記憶装置２５の初期動作プログラムデータ２６をプロセッサモジュール１２−３のＦＲＡＭに書き込み、Ｂ版のＦＲＡＭとして復旧する（ステップＳ３８）。
【０１２６】
書換え処理が正常に終了した時点で、プロセッサモジュール１２−３は書換え状態情報部２８内の書換え状態情報をクリアにし（ステップＳ３９）、リセットを要求する（ステップＳ４０）。
【０１２７】
その後に、全てのプロセッサモジュール１２−１〜１２−３がＢ版の初期動作プログラムをもつ状態となり、全てのプロセッサモジュールが選択された３つのプロセッサモジュールのマルチプロセッサシステムとして起動される。
【０１２８】
このようにシステム構成決定部１９は初期動作プログラムが異常なプロセッサを認識した場合に書換え状態情報部２８に格納された書換え状態情報を参照することにより異常なプロセッサでシステム構成してシステム動作を開始する。書換え処理部２７は書換え処理を再度試行することにより書換え実行中に発生した異常な初期動作プログラムを復旧する。
【０１２９】
従って、書換え処理中の異常によりＦＲＡＭが異常状態となっても、次のリセットによる動作で異常ＦＲＡＭの復旧を容易に実現できる。
＜実施例５＞
次に、本発明の実施例５を説明する。図１８は実施例５のマルチプロセッサシステムの主要な構成を示す図である。図１８における構成は図１２に示す構成にさらに、書換え状態情報部２８ａを追加した。書換え状態情報部２８ａは例えば、書換え処理部２７がＦＲＡＭの書換えを実行するときの書換えの状態を表す書換え状態情報を格納する。
【０１３０】
図１９に前記書換え状態情報の詳細を示す。図１９において、書換え状態情報２８ａには各プロセッサモジュールの処理状態情報として書換えが実行される前記ＦＲＡＭの書換え処理動作の状態と異常発生時に復旧処理を実行するリトライ動作の規定回数を制限するリトライ回数情報が各プロセッサモジュール毎にフラグによって設定されている。
【０１３１】
次に、図２０を参照して実施例５の第１の処理を説明する。まず、プロセッサモジュール１２−３において、書換え状態情報部２８ａは書換え状態情報を設定するときにリトライ回数情報を同時に設定する（ステップＳ４１）。この例では、１回のリトライを許可するためにリトライ回数を１に設定する。
【０１３２】
次に、プロセッサモジュール１２−３が書換え処理を実行している最中に、異常が発生する。すると、プロセッサモジュール１２−３に異常が発生したことをシステム制御機構部１８が認識し、リセットを実行する。
【０１３３】
さらに、ステップＳ２からステップＳ１２までの処理が行なわれた後に、システム構成決定部１８は、システム構成決定処理を行う時に、書換え状態情報部２８ａに設定されている書換え状態情報を参照して、リトライ回数情報がゼロでないことを確認する。
【０１３４】
この例では、プロセッサモジュール１２−３のリトライ回数情報は１となっているので、システム構成決定部１８は、プロセッサモジュール１２−３を選択する。
【０１３５】
そして、システム構成決定部１８は書換え状態情報部２８ａに格納されたリトライ回数情報を更新、すなわち、減算する（ステップＳ４２）。この例では、リトライ回数情報は１から０に更新される。次に、プロセッサモジュール１２−３のみでシステム動作を開始する（ステップＳ１９）。
【０１３６】
図２１を参照して実施例５の第２の処理を説明する。ステップＳ１９の処理の後に、書換え処理部２７はプロセッサモジュール１２−３に対してＦＲＡＭの書換え処理を実行する（ステップＳ３０）。しかし、この時点では、書換え状態情報部２８ａに格納された書換え状態情報を更新しない。
【０１３７】
さらに、プロセッサモジュール１２−３のステップＳ３０における異常により処理が正常に終了できなかった場合に、初回の異常時と同様にリセットが実行される。そして、ステップＳ２からステップＳ１２までの処理が行われた後に、システム構成決定部１９はシステム構成決定処理を実行する。
【０１３８】
システム構成決定部１９は、書換え状態情報部２８ａに格納された書換え状態情報のプロセッサモジュール１２−３のリトライ回数がゼロになっていることを認識する。
【０１３９】
そして、システム構成決定部１９は、プロセッサモジュール１２−３を異常プロセッサモジュールとして縮退し、他のプロセッサモジュール１２−１，１２−２に対してシステム構成決定処理を実行する（ステップＳ４３）。この例では、プロセッサモジュール１２−１，１２−２がＢ版のシステムとして構成される。
【０１４０】
なお、システム構成決定部１９は、書換え状態情報部２８ａに格納された書換え状態情報のプロセッサモジュール１２−３のリトライ回数がゼロになっていない場合には、プロセッサモジュール１２−３以外を縮退するようにシステム構成決定処理を実行する。
【０１４１】
このようにリトライ回数を書換え状態情報に設定することで書換え処理が必要以上に試行されることを防止でき、プロセッサモジュールの縮退を実行し、他のプロセッサモジュールの書換え処理を継続させることにより書換え処理自身の信頼性を向上できる。
＜実施例６＞
次に、本発明の実施例６を説明する。図２２は実施例６のマルチプロセッサシステムの主要な構成を示す図である。図２２における構成は図１８に示す構成にさらに、書換え情報部２８ａに接続される最大更新回数情報部２９−１〜２９−３を追加した。
【０１４２】
最大更新回数情報部２９−１〜２９−３は、各プロセッサモジュール内のＦＲＡＭの最大更新回数情報を格納する。各ＦＲＡＭには書換え、消去等の更新回数にハードウェアとして保証される最大回数が存在する。この回数を越える場合には、書換え、消去等の動作及び動作結果の保証がないため、この回数を越えない範囲でＦＲＡＭのプログラム書換えを実行しなければならない。
【０１４３】
なお、その他の構成は実施例５の構成と同一である。
次に、図２３を参照して実施例６の動作を説明する。まず、書換えＦＲＡＭの情報が設定される（ステップＳ４１）。
【０１４４】
次に、書換え状態情報部２８ａがリトライ回数情報を設定するときに、書換え状態情報部２８ａは、最大更新回数情報部２９−１〜２９−３に格納された書換えを行うＦＲＡＭの最大更新回数情報を参照する。
【０１４５】
前記最大更新回数情報は製品を出荷する時に設定される。リトライ回数を設定する際にそのリトライ回数は最大更新回数よりも多くならないように設定される（ステップＳ４４）。例えば、最大更新回数が３回であるときには、リトライ回数は４回以上を設定しない。
【０１４６】
次に、書換え処理部２７は、書換え処理を実行される際、例えばイレーズ動作、ライト動作などの更新にあたる作業を実行する毎に、前記最大更新回数情報を更新（減算）する（ステップＳ４５）。
【０１４７】
このような処理によりＦＲＡＭの最大更新回数を考慮したＦＲＡＭの復旧処理を実行するので、最大更新回数を越えたときに発生する異常に対して余計な復旧処理を行わなくて済む。
【０１４８】
【発明の効果】
本発明によれば、決定部は分散共有メモリに記憶された初期動作状態情報に基づき異常であったプロセッサを縮退し、版数情報に基づき異なる版数の初期動作プログラムをもつプロセッサを縮退し同一の版数の初期動作プログラムをもつプロセッサでシステムを構成するように決定する。
【０１４９】
すなわち、同一の版数をもつ初期動作プログラムのみでシステムを構成するので、プロセッサの協調動作が保証されたシステム立ち上げが可能となる。
【図面の簡単な説明】
【図１】本発明のマルチプロセッサシステムを示す原理図である。
【図２】本発明のマルチプロセッサシステム構成方法を示す原理フローチャートである。
【図３】本発明の実施例１のマルチプロセッサシステムを示す構成図である。
【図４】実施例１のマルチプロセッサシステムの処理を示すフローチャートである。
【図５】システム構成決定部によるシステム構成決定処理を示すフローチャートである。
【図６】システム制御機構部が異常なプロセッサモジュールを縮退する具体的なシステム構成決定処理を示すフローチャートである。
【図７】システム制御機構部が異なる版数のプロセッサモジュールを縮退する具体的なシステム構成決定処理を示すフローチャートである。
【図８】各プロセッサモジュールが異常なプロセッサモジュールを縮退する具体的なシステム構成決定処理を示すフローチャートである。
【図９】各プロセッサモジュールが異なる版数のプロセッサモジュールを縮退する具体的なシステム構成決定処理を示すフローチャートである。
【図１０】本発明の実施例２のマルチプロセッサシステムを示す構成図である。
【図１１】実施例２のマルチプロセッサシステムの処理を示すフローチャートである。
【図１２】実施例３のマルチプロセッサシステムの主要な構成を示す図である。
【図１３】実施例３のマルチプロセッサシステムの第１の処理を示すフローチャートである。
【図１４】実施例３のマルチプロセッサシステムの第２の処理を示すフローチャートである。
【図１５】実施例４のマルチプロセッサシステムの主要な構成を示す図である。
【図１６】実施例４の書換え状態情報の詳細を示す図である。
【図１７】実施例４のマルチプロセッサシステムの処理を示すフローチャートである。
【図１８】実施例５のマルチプロセッサシステムの主要な構成を示す図である。
【図１９】実施例５の書換え状態情報の詳細を示す図である。
【図２０】実施例５のマルチプロセッサシステムの第１の処理を示すフローチャートである。
【図２１】実施例５のマルチプロセッサシステムの第２の処理を示すフローチャートである。
【図２２】実施例６のマルチプロセッサシステムの主要な構成を示す図である。
【図２３】実施例６のマルチプロセッサシステムの処理を示すフローチャートである。
【符号の説明】
６・・共通バス
８・・システムメモリ
１２−１〜１２−３・・プロセッサモジュール（ＰＭ）
１３−１〜１３−３，１８０・・ＣＰＵ
１５−１〜１５−３・・ＲＡＭ
１６−１〜１６−３・・初期動作状態情報
１７−１〜１７−３・・ＦＲＡＭ版数情報
１８・・システム制御機構部
１９・・システム構成決定部
２０・・構成モード情報メモリ
２１・・構成モード設定処理部
２２・・システム版数比較部
２３・・システム版数情報部
２４・・格納プログラムデータ版数情報部
２５・・外部記憶装置
２６・・ＦＲＡＭプログラム
２７・・書換え処理部
２８，２８ａ・・書換え状態情報部
１９−１〜１９−３・・最大更新回数情報部
【図１】
0003547208.tif 000002
【図２】
0003547208.tif 000003
【図３】
0003547208.tif 000004
【図４】
0003547208.tif 000005
【図５】
0003547208.tif 000006
【図６】
0003547208.tif 000007
【図７】
0003547208.tif 000008
【図８】
0003547208.tif 000009
【図９】
0003547208.tif 000010
【図１０】
0003547208.tif 000011
【図１１】
0003547208.tif 000012
【図１２】
0003547208.tif 000013
【図１３】
0003547208.tif 000014
【図１４】
0003547208.tif 000015
【図１５】
0003547208.tif 000016
【図１６】
0003547208.tif 000017
【図１７】
0003547208.tif 000018
【図１８】
0003547208.tif 000019
【図１９】
0003547208.tif 000020
【図２０】
0003547208.tif 000021
【図２１】
0003547208.tif 000022
【図２２】
0003547208.tif 000023
【図２３】
0003547208.tif 000024