(57)【要約】【課題】確実な起動が可能で、かつ、保守情報の外部装置への確実な出力が可能なマルチプロセッサ構成制御装置を提供する。【解決手段】起動制御回路２０１は、Ｎ台のプロセッサのうち、ホストプロセッサとして起動処理の中核を担うプロセッサ例えばプロセッサ＃１  １０１の動作を起動監視タイマ２０３にて監視し、ホストプロセッサから、計時結果をクリアするクリア指示が直前のクリア指示の出力時点からあらかじめ定めた時間閾値以内に繰り返し出力されてくるか否かを判別して、前記時間閾値以内にホストプロセッサからクリア指示が出力されない場合、ホストプロセッサとして動作するプロセッサを、あらかじめ定めた切り替え順序にしたがって、例えばプロセッサ＃１  １０１からプロセッサ＃２  １０２に切り替えて、起動処理をやり直させ、正常に起動処理が完了した際に、周辺デバイス１０４を介して外部装置に現在の状態を示す保守情報を出力させる。【選択図】        図２
2014178930.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサによって構成されるマルチプロセッサ構成制御装置において、複数の前記プロセッサのうち、起動処理の実施時においてホストプロセッサとして起動処理の中核を担うプロセッサの動作を監視する起動監視タイマを備え、前記ホストプロセッサから前記起動監視タイマの計時結果を初期値にクリアするクリア指示があらかじめ定めた時間閾値を経過するまでに繰り返し出力されているか否かを判定し、前記起動監視タイマの計時結果が前記時間閾値に達しても前記ホストプロセッサからの前記クリア指示が出力されてこない場合、前記ホストプロセッサとして動作していたプロセッサの異常が発生したものと判定して、前記ホストプロセッサとして動作するプロセッサを、あらかじめ定めた切り替え順序にしたがって、他のプロセッサに切り替えて、起動処理を実施し直すことを特徴とするマルチプロセッサ構成制御装置。
【請求項２】
前記起動監視タイマは、起動処理が正常に完了して運用状態に移行した後においても、前記ホストプロセッサとして動作していたプロセッサの動作を継続して監視し、前記起動監視タイマの計時結果が前記時間閾値に達しても前記ホストプロセッサからの前記クリア指示が出力されてこない場合、運用状態において前記ホストプロセッサの異常が発生したものと判定して、前記ホストプロセッサとして動作していたプロセッサを、あらかじめ定めた切り替え順序にしたがって、他のプロセッサに切り替えて、起動処理を実施し直すことを特徴とする請求項１に記載のマルチプロセッサ構成制御装置。
【請求項３】
前記起動処理が正常に完了した際に、起動処理時または運用時に発生した前記ホストプロセッサとして動作していたプロセッサの異常および起動完了時の装置状態を示す情報を、保守情報として、ネットワークを介して、外部に設置されている外部装置に対して通知することを特徴とする請求項１または２に記載のマルチプロセッサ構成制御装置。
【請求項４】
複数のプロセッサからなる制御装置を含んで構成される携帯端末用基地局装置において、前記制御装置を請求項１ないし３のいずれかに記載のマルチプロセッサ構成制御装置によって構成することを特徴とする携帯端末用基地局装置。
【請求項５】
複数のプロセッサによって構成されるマルチプロセッサ構成制御装置における起動制御方法であって、複数の前記プロセッサのうち、起動処理の実施時においてホストプロセッサとして起動処理の中核を担うプロセッサの動作を監視する起動監視タイマを備え、前記ホストプロセッサから前記起動監視タイマの計時結果を初期値にクリアするクリア指示があらかじめ定めた時間閾値を経過するまでに繰り返し出力されているか否かを判定し、前記起動監視タイマの計時結果が前記時間閾値に達しても前記ホストプロセッサからの前記クリア指示が出力されてこない場合、前記ホストプロセッサとして動作していたプロセッサの異常が発生したものと判定して、前記ホストプロセッサとして動作するプロセッサを、あらかじめ定めた切り替え順序にしたがって、他のプロセッサに切り替えて、起動処理を実施し直すことを特徴とする起動制御方法。
【請求項６】
前記起動監視タイマは、起動処理が正常に完了して運用状態に移行した後においても、前記ホストプロセッサとして動作していたプロセッサの動作を継続して監視し、前記起動監視タイマの計時結果が前記時間閾値に達しても前記ホストプロセッサからの前記クリア指示が出力されてこない場合、運用状態において前記ホストプロセッサの異常が発生したものと判定して、前記ホストプロセッサとして動作していたプロセッサを、あらかじめ定めた切り替え順序にしたがって、他のプロセッサに切り替えて、起動処理を実施し直すことを特徴とする請求項５に記載の起動制御方法。
【請求項７】
前記起動処理が正常に完了した際に、起動処理時または運用時に発生した前記ホストプロセッサとして動作していたプロセッサの異常および起動完了時の装置状態を示す情報を、保守情報として、ネットワークを介して、外部に設置されている外部装置に対して通知することを特徴とする請求項５または６に記載の起動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセッサ構成制御装置、携帯端末用基地局装置および起動制御方法に関し、特に、電源投入時の起動処理をより確実に実施可能なマルチプロセッサ構成制御装置、携帯端末用基地局装置および起動制御方法に関する。
【背景技術】
【０００２】
一般に、携帯端末用の基地局装置等のように、プロセッサを備えた制御装置の電源投入時の起動処理においては、プロセッサがメインソフトウェアによって装置固有の動作を開始するまでには、プロセッサに対してハードウェアによる初期設定（ハードウェアコンフィグレーション）、ＩＰＬ（Initial  Program  Loader）プログラムによる初期設定等を必要とする。
【０００３】
ハードウェアコンフィグレーションは、プロセッサにおいてプログラムが動作する前に、ハードウェア上における使用条件（入力クロック周波数、周辺機器接続構成等）に応じて、プロセッサをハードウェアにて初期設定する機能である。ここで、ハードウェアコンフィグレーションのインタフェースは、プロセッサの種別に応じて種々あり、初期設定用の端子の電圧レベル（論理）によって設定する方法や、プロセッサ指定のフォーマットにしたがって外部ＲＯＭ（Read  Only  Memory）に書き込まれたコンフィグデータをＩ２Ｃ（Inter-Integrated  Circuit）インタフェースやＳＰＩ（Serial  Parallel  Interface）インタフェースなどのインタフェースを介して読み込む方法がある。
【０００４】
ＩＰＬプログラムは、プロセッサにて最初に起動されるプログラムである。ＩＰＬプログラムはプロセッサに接続された不揮発性メモリに格納されており、プロセッサはハードウェアコンフィグレーション後にＩＰＬプログラムをロードする。ＩＰＬプログラムは、メインプログラムが動作するまでに必要なプロセッサ内部や周辺デバイスの初期設定を行う。一般に、ＩＰＬプログラムを不揮発性メモリからロードする方法として、ハードウェアコンフィグレーションに引き続き、プロセッサが主体となって、不揮発性メモリから自立的にロードする方法と、外部ホストからの制御によりロードする方法とがある。
【０００５】
近年、制御装置としての処理能力の向上や、適用システムにおける制御装置単体への機能の集約化に伴い、制御装置（または、制御装置を構成する機能部）を複数のプロセッサ（マルチプロセッサ）によって構成する機会が増えている。複数のプロセッサによって制御装置を構成する場合、制御装置を起動する仕組みとして、例えば、特許文献１の特開２００９−３０１３１９号公報「マルチプロセッサシステム」にも記載されているように、いずれか一つのプロセッサを起動処理の中核を担うホストプロセッサとしてあらかじめ定め、該ホストプロセッサは、ハードウェアコンフィグレーション後に、自立的にＩＰＬプログラムをロードし、残りのプロセッサは、スレーブプロセッサとして、ホストプロセッサからの制御により起動処理が実施され、ＩＰＬプログラムをロードする動作もホストプロセッサからロードされる方法を採用している。
【０００６】
図７は、従来のマルチプロセッサからなる制御装置のブロック構成を示すブロック構成図である。図７に示す制御装置は、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３のＮ個（Ｎ：正整数）のプロセッサから構成されていて、プロセッサ＃１  １０１がホストプロセッサ、残りのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３がホストプロセッサからの起動制御に基づいて起動処理を行うスレーブプロセッサとしてあらかじめ設定されている。
【０００７】
制御装置の電源が投入されると、リセット制御部１０７からリセット解除信号が、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサに出力され、各プロセッサのリセット状態が解除される。各プロセッサは、それぞれのハードウェアコンフィグレーション設定信号Hard  Config＃１、Hard  Config＃２、…、Hard  Config＃Ｎに基づいて、それぞれ、ハードウェアコンフィグレーションを設定する。ハードウェアコンフィグレーションの設定が終了すると、起動処理の制御を司るホストプロセッサのプロセッサ＃１  １０１は、直ちに、メモリバス２１１を介して、不揮発性メモリ１０６に格納されているＩＰＬプログラムをメインメモリにロードして、ロードしたＩＰＬプログラムを起動する。一方、スレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサは、ハードウェアコンフィグレーションの設定が終了すると、ホストプロセッサからのＩＰＬプログラムの転送を待ち合わせる待機状態に移行する。
【０００８】
ホストプロセッサのプロセッサ＃１  １０１は、起動したＩＰＬプログラムにより、プロセッサ内部の初期設定によって、プロセッサ間インタフェース１１１、…プロセッサ間インタフェース１１２やストレージインタフェース１５１や周辺インタフェース１４１とのインタフェースを確立した後、待機状態にあったスレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサを起動させる。しかる後、ホストプロセッサのプロセッサ＃１  １０１は、それぞれ、プロセッサ間インタフェース１１１、…プロセッサ間インタフェース１１２を介して、スレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサに対して、スレーブプロセッサ用のＩＰＬプログラムを転送する。一方、待機状態にあったスレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサは、ホストプロセッサのプロセッサ＃１  １０１からの制御により、待機状態から脱して、プロセッサ間インタフェース１１１、…プロセッサ間インタフェース１１２を介して、ホストプロセッサのプロセッサ＃１  １０１から転送されてくるＩＰＬプログラムをそれぞれのメインメモリに展開して、転送されてきたＩＰＬプログラムを起動し、それぞれのプロセッサ内部の初期設定を実行した後、ホストプロセッサからのメインプログラムの転送を待ち合わせる待機状態に移行する。
【０００９】
ホストプロセッサのプロセッサ＃１  １０１は、ＩＰＬプログラムにより、ストレージインタフェース１５１とのインタフェースを確立すると、ストレージインタフェース１５１を介して、ストレージメモリ部１０５に格納されているメインプログラムをダウンロードして、内部のメインメモリに取り込むとともに、スレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサに対して、ダウンロードしたメインプログラムを、それぞれ、プロセッサ間インタフェース１１１、…プロセッサ間インタフェース１１２を介して、転送する。メインプログラムの転送を待ち合わせる待機状態にあったスレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサは、それぞれ、プロセッサ間インタフェース１１１、…、プロセッサ間インタフェース１１２を介して、ホストプロセッサのプロセッサ＃１  １０１からメインプログラムが転送されてくると、ＩＰＬプログラムにより、内部のメインメモリに取り込む。
【００１０】
さらに、ホストプロセッサのプロセッサ＃１  １０１は、ＩＰＬプログラムにより、ストレージメモリ部１０５からのメインプログラムのダウンロードおよび各スレーブプロセッサへの転送が完了すると、ダウンロードしたメインプログラムに制御を渡して、該メインプログラムを起動する、ホストプロセッサのプロセッサ＃１  １０１は、メインプログラムの動作により、周辺インタフェース１４１を介して、本制御装置を構成する周辺デバイス１０４の初期設定を実行する。ホストプロセッサのプロセッサ＃１  １０１のメインプログラムによる周辺デバイス１０４の初期設定が終了すると、本制御装置としての起動処理が完了し、運用可能な状態になる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００９−３０１３１９号公報（第４−５頁）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、図７に示したような、従来のマルチプロセッサ構成の制御装置の装置構成においては、制御装置の起動時に、マルチプロセッサの起動処理の中核を担うホストプロセッサのプロセッサ＃１  １０１に異常が発生して動作が停止してしまった場合や正常な動作ができなくなった場合に、制御装置としての起動ができなくなるという問題がある。また、ホストプロセッサのプロセッサ＃１  １０１に異常が発生した場合、起動動作の初期の段階で動作が停止してしまっているので、周辺デバイス１０４の初期設定を行うことができないので、周辺デバイス１０４としてネットワークと接続する通信デバイス等を用意していても、該通信デバイス等も動作することができない状態に陥り、ネットワークを介した保守情報の転送や遠隔制御も行うことができないという問題がある。
【００１３】
（本発明の目的）
本発明は、かかる事情に鑑みてなされたものであり、複数のプロセッサからなる制御装置において、確実に起動することを可能にし、かつ、保守情報の外部装置への転送や外部装置からの遠隔制御が可能なマルチプロセッサ構成制御装置、携帯端末用基地局装置および起動制御方法を提供することを、その目的としている。
【課題を解決するための手段】
【００１４】
前述の課題を解決するため、本発明によるマルチプロセッサ構成制御装置、携帯端末用基地局装置および起動制御方法は、主に、次のような特徴的な構成を採用している。
【００１５】
（１）本発明によるマルチプロセッサ構成制御装置は、複数のプロセッサによって構成されるマルチプロセッサ構成制御装置において、複数の前記プロセッサのうち、起動処理の実施時においてホストプロセッサとして起動処理の中核を担うプロセッサの動作を監視する起動監視タイマを備え、前記ホストプロセッサから前記起動監視タイマの計時結果を初期値にクリアするクリア指示があらかじめ定めた時間閾値を経過するまでに繰り返し出力されているか否かを判定し、前記起動監視タイマの計時結果が前記時間閾値に達しても前記ホストプロセッサからの前記クリア指示が出力されてこない場合、前記ホストプロセッサとして動作していたプロセッサの異常が発生したものと判定して、前記ホストプロセッサとして動作するプロセッサを、あらかじめ定めた切り替え順序にしたがって、他のプロセッサに切り替えて、起動処理を実施し直すことを特徴とする。
【００１６】
（２）本発明による携帯端末用基地局装置は、複数のプロセッサからなる制御装置を含んで構成される携帯端末用基地局装置において、前記制御装置を少なくとも前記（１）に記載のマルチプロセッサ構成制御装置によって構成することを特徴とする。
【００１７】
（３）本発明による起動制御方法は、複数のプロセッサによって構成されるマルチプロセッサ構成制御装置における起動制御方法であって、複数の前記プロセッサのうち、起動処理の実施時においてホストプロセッサとして起動処理の中核を担うプロセッサの動作を監視する起動監視タイマを備え、前記ホストプロセッサから前記起動監視タイマの計時結果を初期値にクリアするクリア指示があらかじめ定めた時間閾値を経過するまでに繰り返し出力されているか否かを判定し、前記起動監視タイマの計時結果が前記時間閾値に達しても前記ホストプロセッサからの前記クリア指示が出力されてこない場合、前記ホストプロセッサとして動作していたプロセッサの異常が発生したものと判定して、前記ホストプロセッサとして動作するプロセッサを、あらかじめ定めた切り替え順序にしたがって、他のプロセッサに切り替えて、起動処理を実施し直すことを特徴とする。
【発明の効果】
【００１８】
本発明のマルチプロセッサ構成制御装置、携帯端末用基地局装置および起動制御方法によれば、以下のような効果を奏することができる。
【００１９】
第１に、複数のプロセッサによって構成されるマルチプロセッサ構成制御装置の起動処理において、該起動処理の中核を担うホストプロセッサに異常が発生した場合であっても、ホストプロセッサとして起動するプロセッサをあらかじめ定めた順序にしたがって順番に切り替えながら、起動処理を実施し直すので、いずれかのプロセッサがホストプロセッサとして起動処理を実施した際に、正常な起動処理を完了させて、マルチプロセッサ構成制御装置としての正常な動作を開始させることが可能な状態にすることができ、マルチプロセッサ構成制御装置起動に関する信頼性を向上させることができる。
【００２０】
第２に、マルチプロセッサ構成制御装置の周辺デバイスとしてネットワークとの通信を行う機能を有するデバイスを搭載していた場合、起動処理時にホストプロセッサとして動作するプロセッサに異常が発生した場合であっても、新たなホストプロセッサに切り替えたプロセッサによりマルチプロセッサ構成制御装置として起動することができた際に、起動処理時や運用時に発生したホストプロセッサの異常や起動完了時の装置状態を、保守情報として、ネットワークを介して、外部に設置されている保守用装置等の外部装置に通知することが可能であり、迅速な修復処理を行うことにより、マルチプロセッサ構成制御装置の信頼性をさらに向上させることができる。なお、マルチプロセッサ構成制御装置として運用する際に、起動処理時や運用時に異常が発生したプロセッサは使用することができないので、プロセッサ台数が限定された運用状態になるものの、異常発生のプロセッサを修復するまでの間の暫定的な運用であり、該マルチプロセッサ構成制御装置を適用したシステムとしての可用性を維持することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明によるマルチプロセッサ構成制御装置のブロック構成の一例を示すブロック構成図である。
【図２】図１に示すマルチプロセッサ構成制御装置の起動制御回路の内部構成の一例を示すブロック構成図である。
【図３Ａ】図１、図２に示したマルチプロセッサ構成制御装置の動作の一例を説明するためのフローチャートの前半部である。
【図３Ｂ】図１、図２に示したマルチプロセッサ構成制御装置の動作の一例を説明するためのフローチャートの後半部である。
【図４】図２に示す起動制御回路の起動監視タイマの動作の一例を説明するためのタイムチャートである。
【図５】図１、図２に示す不揮発性メモリ内のＩＰＬプログラムのメモリマッピング状態の一例を示すメモリマップである。
【図６】本発明によるマルチプロセッサ構成制御装置の図１、図２とは異なる構成例を示すブロック構成図である。
【図７】従来のマルチプロセッサからなる制御装置のブロック構成を示すブロック構成図である。
【発明を実施するための形態】
【００２２】
以下、本発明によるマルチプロセッサ構成制御装置、携帯端末用基地局装置および起動制御方法の好適な実施形態について添付図を参照して説明する。なお、以下の説明においては、本発明によるマルチプロセッサ構成制御装置および起動制御方法について説明するが、かかるマルチプロセッサ構成制御装置を、システムとしての信頼性を確保し、かつ、高い処理性能を要する携帯端末用の基地局装置の制御装置として用いるようにしても良いことは言うまでもない。
【００２３】
（本発明の特徴）
本発明の実施形態の説明に先立って、本発明の特徴についてその概要をまず説明する。本発明は、マルチプロセッサ構成からなる制御装置における安定的な起動動作を可能にする技術に関するものであり、複数のプロセッサのうち、起動制御の中核を担うホストプロセッサとして設定したプロセッサに異常が発生したか否かを監視し、異常の発生を検知した場合には、ホストプロセッサとして動作するプロセッサを他のプロセッサに切り替えて起動することを可能にする仕組みを備え、ホストプロセッサを他のプロセッサに切り替えることにより、制御装置としての最低限の動作と、異常発生等の保守情報の外部装置への転送や外部装置からの制御を実施することができることを主要な特徴としている。
【００２４】
（実施形態の構成例）
次に、本発明によるマルチプロセッサ構成制御装置のブロック構成について、その一例を、図１を用いて説明する。図１は、本発明によるマルチプロセッサ構成制御装置のブロック構成の一例を示すブロック構成図である。図１に示すマルチプロセッサ構成制御装置は、図７に示した制御装置の場合におけるブロック構成に対して、さらに、起動制御の中核の機能を実行するホストプロセッサの異常を監視し、異常を検知した際に、他のプロセッサをホストプロセッサに切り替える動作を行う起動制御回路２０１を追加して構成している。
【００２５】
さらに、いずれのプロセッサもホストプロセッサとして動作することを可能にするために、不揮発性メモリ１０６との間のメモリバス、ストレージメモリ部１０５との間のストレージインタフェース、周辺デバイス１０４との間の周辺インタフェースも、各プロセッサに追加している。さらに、不揮発性メモリ１０６も、ホストプロセッサになったプロセッサに切り替えて接続することができるように、起動制御回路２０１を介して各プロセッサに接続することにし、メモリバス２１１を起動制御回路２０１に接続している。
【００２６】
以下に、図１に示すマルチプロセッサ構成制御装置の各構成要素について説明する。プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３のＮ個（Ｎ：正整数）のプロセッサは、同一種別のプロセッサから構成されていて、それぞれ、マルチプロセッサ構成制御装置の動作を制御するためのＩＰＬプログラムやメインプログラムを動作させるためのハードウェアであり、プログラムの実行、装置状態の管理、データの転送などを行う。
【００２７】
また、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３それぞれの間は、図７に示した従来の制御装置とは異なり、いずれのプロセッサもホストコンピュータとして機能することができるように、各プロセッサ間で、制御情報やプログラムやデータ等の転送を行うために、プロセッサ間インタフェース１１０（プロセッサ＃１  １０１とプロセッサ＃２  １０２との間はプロセッサ間インタフェース１１１、…、プロセッサ＃１  １０１とプロセッサ＃Ｎ  １０３との間はプロセッサ間インタフェース１１２、…、プロセッサ＃２  １０２とプロセッサ＃Ｎ  １０３との間はプロセッサ間インタフェース１１３）によって相互に接続されている。
【００２８】
周辺デバイス１０４は、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサからの制御により機能するデバイスであり、マルチプロセッサ構成制御装置の用途に応じて、例えば、ネットワークとの間の通信を行う通信機能や運用者・保守者等との間のやり取りを行う入出力機能や外部機器との接続を行う外部インタフェース機能などを担う。
【００２９】
なお、周辺デバイスについても、図７に示した従来の制御装置とは異なり、いずれのプロセッサもホストコンピュータとして機能することができるように、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサとの間を、周辺インタフェース１４０（プロセッサ＃１  １０１との間は周辺インタフェース１４１、プロセッサ＃２  １０２との間は周辺インタフェース１４２、…、プロセッサ＃Ｎ  １０３との間は周辺インタフェース１４３）によって接続している。
【００３０】
ストレージメモリ部１０５は、マルチプロセッサ構成制御装置としての動作を行うためのメインソフトウェア(メインプログラム)が格納される機能部であり、当該メインプログラムはプロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサにロードされて実行される。
【００３１】
なお、ストレージメモリ部１０５についても、図７に示した従来の制御装置とは異なり、いずれのプロセッサもホストコンピュータとして機能することができるように、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサとの間を、ストレージインタフェース１５０（プロセッサ＃１  １０１との間はストレージインタフェース１５１、プロセッサ＃２  １０２との間はストレージインタフェース１５２、…、プロセッサ＃Ｎ  １０３との間はストレージインタフェース１５３）によって接続している。
【００３２】
不揮発性メモリ１０６は、マルチプロセッサ構成制御装置の電源投入時等における、ハードウェアコンフィグレーションの実施後に、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサにおいて動作するＩＰＬプログラムが格納されているメモリである。不揮発性メモリ１０６の接続状態は、当該ＩＰＬプログラムをホストプロセッサの機能を実行するプロセッサにロードするために、メモリバス２１１を起動制御回路２０１に接続し、起動制御回路２０１においてホストプロセッサの機能を実行するプロセッサを選択させた結果に基づいて、選択されたプロセッサに切り替えるようにしている。起動制御回路２０１は、メモリバス２１１を介して不揮発性メモリ１０６からロードされてくるＩＰＬプログラムをホストプロセッサとして選択したプロセッサに対して転送するように構成している。なお、ＩＰＬプログラムは、ホストプロセッサ用のＩＰＬプログラムとスレーブプロセッサ用のＩＰＬプログラムとからなっており、スレーブプロセッサ用のＩＰＬプログラムは、ホストプロセッサ以外の他のスレーブプロセッサに対して、ホストプロセッサからプロセッサ間インタフェース１１０を介して転送される。
【００３３】
起動制御回路２０１は、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサに対するリセット制御や、ハードウェアコンフィグレーション設定制御を行い、かつ、ホストプロセッサとしての機能を実行するプロセッサを選択して、選択したプロセッサに対して不揮発性メモリ１０６からのＩＰＬプログラムをロードさせるルートを設定するとともに、起動制御の中核の機能を実行するホストプロセッサの異常を監視し、異常を検知した際に、あらかじめ定めた切り替え順序にしたがって、他のプロセッサをホストプロセッサに切り替える機能を有している。
【００３４】
このため、いずれのプロセッサにも不揮発性メモリ１０６からＩＰＬプログラムをロードすることができるように、起動制御回路２０１は、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサとの間を、メモリインタフェース１２０（プロセッサ＃１  １０１との間はメモリインタフェース１２１、プロセッサ＃２  １０２との間はメモリインタフェース１２２、…、プロセッサ＃Ｎ  １０３との間はメモリインタフェース１２３）によって接続している。
【００３５】
次に、本実施形態における図１のマルチプロセッサ構成制御装置において図７の従来の制御装置の構成に対して新たに追加した起動制御回路２０１の内部構成について、図２のブロック構成を用いて説明する。図２は、図１に示すマルチプロセッサ構成制御装置の起動制御回路２０１の内部構成の一例を示すブロック構成図であるが、接続状態を理解し易いように、図１に示した各構成要素も併せて記載している。
【００３６】
図２に示す起動制御回路２０１は、バス接続選択部２０２、起動監視タイマ２０３、ハードコンフィグ制御部２０４、リセット制御部２０５を少なくとも含んで構成される。
【００３７】
バス接続選択部２０２は、不揮発性メモリ１０６のメモリバス２１１をプロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサのうちホストプロセッサとして動作するプロセッサのメモリインタフェース１２０と接続するための機能を有し、ホストプロセッサの起動異常が発生した場合に、他のプロセッサをホストプロセッサに選択して、選択したホストプロセッサのメモリインタフェース１２０に切り替えてメモリバス２１１を接続する役割を担っている。
【００３８】
起動監視タイマ２０３は、ホストプロセッサの起動開始と同時に計時動作を開始し、起動異常検出用としてあらかじめ定めた時間閾値に達した場合に、ホストプロセッサとして動作しているプロセッサに起動異常が発生したことを検出する役割を担っている。起動中のホストプロセッサから計時結果のクリア指示が起動制御回路２０１に定期的に繰り返し入力されてくる場合は、前記時間閾値に達しない前に、計時結果を初期値に戻して、改めて計時動作をし直すので、起動監視タイマ２０３が該時間閾値に達することはない。しかし、起動中のホストプロセッサが停止したり、正常な動作ができなくなったりして、計時結果のクリア指示が起動制御回路２０１に入力されない状態が発生してしまい、起動監視タイマ２０３が前記時間閾値に達した場合には、ホストプロセッサとして動作していたプロセッサに異常が発生したものと判定して、ホストプロセッサとして動作するプロセッサを、あらかじめ定めた順序にしたがって、他のプロセッサに切り替える切り替え制御信号を出力する。
【００３９】
ハードコンフィグ制御部２０４は、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサの起動時におけるハードウェアコンフィグレーションの設定を行う機能を担うとともに、ホストプロセッサの起動異常が発生して、ホストプロセッサの切り替えが実施された場合に、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサのハードウェアコンフィグレーションの設定内容の変更も行う。このため、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサそれぞれとの間には、ハードウェアコンフィグレーションの設定を行うハードウェアコンフィグレーション設定信号を出力するためのHard  Configインタフェース１６０が接続されている。
【００４０】
リセット制御部２０５は、起動時に、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサの強制的なハードウェアリセットを実行する機能を担うとともに、ホストプロセッサの起動異常が発生して、ホストプロセッサの切り替えが実施された場合に、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサを強制的にハードウェアリセットする機能も実施する。このため、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサそれぞれとの間には、ハードウェアリセットを指示するリセット信号やハードウェアリセットを解除するリセット解除信号を出力するためのResetインタフェース１７０が接続されている。
【００４１】
（実施形態の動作の説明）
次に、図１、図２に示したマルチプロセッサ構成制御装置の動作の一例を、図３Ａ及び図３Ｂに示したフローチャートを参照して説明する。図３Ａは図１、図２に示したマルチプロセッサ構成制御装置の動作の一例を説明するためのフローチャートの前半部であり、図３Ｂはそのフローチャートの後半部である。図３ＡのＡ点は図３ＢのＡ点に繋がり、そのフローチャートは図３Ａおよび図３Ｂで構成される。なお、以下の説明においては、最初のデフォルト状態として、プロセッサ＃１  １０１がホストプロセッサ、残りのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３がホストプロセッサからの起動制御に基づいて起動処理を行うスレーブプロセッサとしてあらかじめ設定されているものとして説明する。
【００４２】
＜ＳＴＥＰ３０１＞
図３Ａ及び図３Ｂのフローチャートの最初のステップＳＴＥＰ３０１においては、マルチプロセッサ構成制御装置の電源が安定入力されて、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサの起動準備が整った状態に達すると、起動制御回路２０１のリセット制御部２０５が動作し、Resetインタフェース１７０を介してリセット解除信号を出力して、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサのリセット状態を解除する。
【００４３】
しかる後、起動制御回路２０１のハードコンフィグ制御部２０４が動作し、各プロセッサをハードウェア的に初期設定するために、Hard  Configインタフェース１６０からハイドウェアコンフィグレーション設定信号を出力して、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサのハードウェアコンフィグレーションを初期状態に設定する。ハードコンフィグ制御部２０４は、デフォルト状態の初期値として、プロセッサ＃１  １０１をホストプロセッサに設定して、プロセッサ＃１  １０１に対してホストプロセッサ用のハードウェアコンフィグレーションを出力し、残りのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサをスレーブプロセッサに設定して、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサに対してスレーブプロセッサ用のハードウェアコンフィグレーションを出力する。
【００４４】
つまり、デフォルト状態においてホストプロセッサとして動作するプロセッサ＃１  １０１と、スレーブプロセッサの残りのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサとは、ハードウェアコンフィグレーションの設定内容が異なる。ホストプロセッサのプロセッサ＃１  １０１は、ハードウェアコンフィグレーションをホストプロセッサ用の初期状態に設定した後、コア部が起動されて、ＩＰＬプログラムを不揮発性メモリ１０６からロードする動作が起動される状態に設定される。一方、スレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサは、ハードウェアコンフィグレーションをスレーブプロセッサ用の初期状態に設定した後、ホストプロセッサのプロセッサ＃１  １０１からの起動を待ち合わせる状態に移行して、コア部は停止状態に設定される。
【００４５】
＜ＳＴＥＰ３０２＞
最初のステップＳＴＥＰ３０１の動作が終了して、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサのハードウェアコンフィグレーションの設定動作が終了したタイミングに達すると、次のステップＳＴＥＰ３０２に移行する。ステップＳＴＥＰ３０２においては、ホストプロセッサとして動作するプロセッサ＃１  １０１における起動動作を監視するために、起動制御回路２０１の起動監視タイマ２０３の計時動作を開始させる。ここで、起動監視タイマ２０３の動作例を図４のタイムチャートを用いて説明する。図４は、図２に示す起動制御回路２０１の起動監視タイマ２０３の動作の一例を説明するためのタイムチャートである。
【００４６】
図４のタイムチャートに示す例においては、起動監視タイマ２０３は、計時動作を開始する際の初期値として、ホストプロセッサの起動動作の異常を検知するためにあらかじめ定めた時間閾値Ｔの値に設定し、動作クロック２０３Ｂにより、'１'ずつデクレメント（減算）していくように計時動作する場合を示している。起動監視タイマ２０３は、計時結果が'０'に達するまでに、ホストプロセッサ（例えば、デフォルト状態では、プロセッサ＃１  １０１）から計時結果のクリア指示が届かない場合には、'０'に達した時点すなわち時間閾値Ｔに達した時点で、ホストプロセッサの起動動作が異常になっているものと判定する。かかる場合には、起動監視タイマ２０３は、切り替え制御信号２０３Ａを出力し、ホストプロセッサを他のプロセッサに切り替えて、再度、マルチプロセッサ構成制御装置の起動動作をやり直すように指示する。
【００４７】
なお、ホストプロセッサから計時結果のクリア指示が入力された場合には、起動監視タイマ２０３は、今までの計時結果をクリアして、初期値として時間閾値Ｔの値に再設定して、計時動作をし直すことになる。したがって、ホストプロセッサ（例えばプロセッサ＃１  １０１）は、起動処理中においては、起動処理を開始した時点（起動監視タイマ２０３の計時動作開始時点）の時刻ｔ１から、あるいは、直前の計時結果のクリア指示を出力した時点の時刻ｔ２から、時間閾値Ｔに達しない時間間隔で、計時結果のクリア指示を、起動監視タイマ２０３に対して繰り返し出力し続けることが必要である。なお、時間閾値Ｔの値はマルチプロセッサ構成制御装置の構成に応じて任意の値に設定することができる。
【００４８】
図４のタイムチャートに示すように、ホストプロセッサ（例えば、デフォルト状態では、プロセッサ＃１  １０１）が、計時結果のクリア指示を出力した時点の時刻ｔ２から、次の計時結果のクリア指示を出力する時点までの間のいずれかのタイミング例えば時刻ｔ３において正常な起動処理を実施することができない何らかの異常が発生した場合には、次の計時結果のクリア指示を起動監視タイマ２０３に対して出力することができなくなる。その結果、起動監視タイマ２０３は、初期値に戻ることなくそのまま計時動作を継続し続け、遂には、計時結果が、時刻ｔ４において'０'に達する。起動監視タイマ２０３は、計時結果が'０'に達すると、ホストプロセッサの起動異常が発生したものと判定して、ホストプロセッサの切り替えを指示する切り替え制御信号２０３Ａを出力することになる。かくのごとき起動監視タイマ２０３の動作により、起動制御回路２０１は、ホストプロセッサに起動異常が発生しているか否かを監視することができる。
【００４９】
＜ＳＴＥＰ３０３〜ＳＴＥＰ３０５＞
ステップＳＴＥＰ３０２の動作が終了して、起動監視タイマ２０３の計時動作が開始されると、次のステップＳＴＥＰ３０３に移行する。ステップＳＴＥＰ３０３においては、起動制御回路２０１のバス接続選択部２０２は、デフォルト状態において、ホストプロセッサとして動作するプロセッサ＃１  １０１のメモリインタフェース１２１を不揮発性メモリ１０６のメモリバス２１１と接続した状態に設定する。一方、ホストプロセッサとして動作するプロセッサ＃１  １０１は、ハードウェアコンフィグレーションの設定動作を終了した後、コア部が起動されて、ＩＰＬプログラムを不揮発性メモリ１０６からロードする動作が起動された状態に設定されているので、プロセッサ＃１  １０１は、起動制御回路２０１のバス接続選択部２０２に接続されたメモリインタフェース１２１を介して、不揮発性メモリ１０６からＩＰＬプログラムをロードする動作を開始する。
【００５０】
ここで、不揮発性メモリ１０６内のメモリマッピング状態について、図５を用いて一例を説明する。図５は、図１、図２に示す不揮発性メモリ１０６内のＩＰＬプログラムのメモリマッピング状態の一例を示すメモリマップである。一般に、プロセッサが起動処理時に不揮発性メモリ１０６にアクセスしてＩＰＬプログラムをロードする場合には、不揮発性メモリ１０６にあらかじめ固定的に割り当てている物理アドレスを指定してアクセスする。つまり、ホストプロセッサ用のＩＰＬプログラムは、不揮発性メモリ１０６のあらかじめ定めた固定のアドレスから始まるアドレス空間に格納されており、図４のメモリマップに示す例においては、固定の物理アドレス'０ｘ０＿００００'から始まって物理アドレス'０ｘ０＿ｎｎｎｎ'までの範囲のアドレス空間に格納されている。
【００５１】
これに対して、スレーブプロセッサ用のＩＰＬプログラムは、ホストプロセッサにロードしたＩＰＬプログラムの動作により、不揮発性メモリ１０６から取り出されて、プロセッサ間インタフェース１１０を経由して、各スレーブプロセッサに対して転送されるので、不揮発性メモリ１０６内の任意のアドレス空間に格納しても良い。図４のメモリマップに示す例においては、スレーブプロセッサ用のＩＰＬプログラムは、物理アドレス'０ｘ１＿００００'から始まって物理アドレス'０ｘ１＿ｍｍｍｍ'までのアドレス空間に格納されている。
【００５２】
ホストプロセッサとして動作するプロセッサ＃１  １０１は、ステップＳＴＥＰ３０３において、不揮発性メモリ１０６の固定のアドレスから始まるアドレス空間に格納されているＩＰＬプログラムを、自身のメインメモリへのロード動作を開始すると、以降、起動制御回路２０１の起動監視タイマ２０３に対して直前に出力した計時結果のクリア指示の時点からあらかじめ定めた時間閾値Ｔが経過していない適当なタイミングに達するごとに、繰り返し、ステップＳＴＥＰ３０４（ステップＳＴＥＰ３０４のＮＯ）を経由してステップＳＴＥＰ３０５に移行して、起動制御回路２０１の起動監視タイマ２０３に対して計時結果のクリア指示を出力する動作を行うことによって、ホストプロセッサとしての起動動作が正常に実施されていることを起動制御回路２０１に対して通知する。
【００５３】
一方、起動制御回路２０１の起動監視タイマ２０３が、ホストプロセッサから直前に入力された計時結果のクリア指示の時点から、あらかじめ定めた時間閾値Ｔが経過したことを検知した場合には（ステップＳＴＥＰ３０４のＹＥＳ）、ホストプロセッサとして動作するプロセッサ＃１  １０１が起動異常の状態に陥って、ステップＳＴＥＰ３０５に移行していないものと判定して、起動制御回路２０１は、ステップＳＴＥＰ３１２に移行する。
【００５４】
＜ＳＴＥＰ３０６〜ＳＴＥＰ３０８＞
ステップＳＴＥＰ３０３〜ＳＴＥＰ３０５の動作により、ホストプロセッサとして動作するプロセッサ＃１  １０１が、起動制御回路２０１の起動監視タイマ２０３に対して、繰り返し、計時結果のクリア指示を出力しつつ、ホストプロセッサ用のＩＰＬプログラムのすべてを不揮発性メモリ１０６からロードして、ホストプロセッサ用のＩＰＬプログラムのロード動作が完了すると、次のステップＳＴＥＰ３０６に移行する。ステップＳＴＥＰ３０６においては、ホストプロセッサとして動作するプロセッサ＃１  １０１は、不揮発性メモリ１０６からのロードが完了したホストプロセッサ用のＩＰＬプログラムを起動する。
【００５５】
ホストプロセッサのプロセッサ＃１  １０１において起動されたホストプロセッサ用のＩＰＬプログラムは、スレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサに転送するためのスレーブプロセッサ用のＩＰＬプログラムを不揮発性メモリ１０６からダウンロードする処理を開始する。ホストプロセッサ用のＩＰＬプログラムは、不揮発性メモリ１０６からスレーブプロセッサ用のＩＰＬプログラムがダウンロードされてくると、一旦、ダウンロードされてくるスレーブプロセッサ用のＩＰＬプログラムをホストプロセッサ自身のメインメモリに展開する。
【００５６】
かくのごときホストプロセッサ側の動作を実施している時、スレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサは、ステップＳＴＥＰ３０１におけるハードウェアコンフィグレーションの設定によりホストプロセッサのプロセッサ＃１  １０１からの起動を待ち合わせる状態に移行して、コア部は停止状態に設定されている。
【００５７】
スレーブプロセッサ用のＩＰＬプログラムを自身のメインメモリに展開したホストプロセッサのプロセッサ＃１  １０１におけるホストプロセッサ用のＩＰＬプログラムは、各スレーブプロセッサとの間を接続しているプロセッサ間インタフェース１１０（スレーブプロセッサのプロセッサ＃２  １０２との間はプロセッサ間インタフェース１１１、…、スレーブプロセッサのプロセッサ＃Ｎ  １０３との間はプロセッサ間インタフェース１１２）を介して、各スレーブプロセッサそれぞれのレジスタを制御して、各スレーブプロセッサのコア部を動作させた後、メインメモリに展開しているスレーブプロセッサ用のＩＰＬプログラムを、プロセッサ間インタフェース１１０を介して、スレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサに転送する。
【００５８】
スレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサは、それぞれのコア部の動作が開始されると、プロセッサ間インタフェース１１０を介してホストプロセッサのプロセッサ＃１  １０１から転送されてくるスレーブ用のＩＰＬプログラムのロード動作を実行して、それぞれのメインメモリに格納していく。ここで、スレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサにおけるハードウェアコンフィグレーションにおいては、それぞれのコア部が起動された際に、プロセッサ間インタフェース１１０を介してホストプロセッサのプロセッサ＃１  １０１から転送されてくるスレーブ用のＩＰＬプログラムをロードする設定がなされており、スレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサは、ホストプロセッサのプロセッサ＃１  １０１のメインメモリに展開されたスレーブプロセッサ用のＩＰＬプログラムをプロセッサ間インタフェース１１０からロードする動作を行う。
【００５９】
この間、ホストプロセッサのプロセッサ＃１  １０１は、起動制御回路２０１の起動監視タイマ２０３に対して直前に出力した計時結果のクリア指示の時点からあらかじめ定めた時間閾値Ｔが経過していない適当なタイミングに達するごとに、繰り返し、ステップＳＴＥＰ３０７（ステップＳＴＥＰ３０７のＮＯ）を経由してステップＳＴＥＰ３０８に移行して、起動制御回路２０１の起動監視タイマ２０３に対して計時結果のクリア指示を出力する動作を行うことによって、ホストプロセッサとしての起動動作が正常に実施されていることを起動制御回路２０１に対して通知する。
【００６０】
一方、起動制御回路２０１の起動監視タイマ２０３が、ホストプロセッサから直前に入力された計時結果のクリア指示の時点から、あらかじめ定めた時間閾値Ｔが経過したことを検知した場合には（ステップＳＴＥＰ３０７のＹＥＳ）、ホストプロセッサとして動作するプロセッサ＃１  １０１が起動異常の状態に陥って、ステップＳＴＥＰ３０８に移行していないものと判定して、起動制御回路２０１は、ステップＳＴＥＰ３１２に移行する。
【００６１】
＜ＳＴＥＰ３０９〜ＳＴＥＰ３１１＞
ステップＳＴＥＰ３０６〜ＳＴＥＰ３０８の動作により、ホストプロセッサとして動作するプロセッサ＃１  １０１におけるホストプロセッサ用のＩＰＬプログラムが、起動制御回路２０１の起動監視タイマ２０３に対して、繰り返し、計時結果のクリア指示を出力しつつ、スレーブプロセッサ用のＩＰＬプログラムのすべてを不揮発性メモリ１０６からダウンロードして、プロセッサ間インタフェース１１０を介してスレーブプロセッサ用のＩＰＬプログラムのすべてをスレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサに転送する動作が完了すると、次のステップＳＴＥＰ３０９に移行する。ステップＳＴＥＰ３０９においては、ホストプロセッサとして動作するプロセッサ＃１  １０１におけるホストプロセッサ用のＩＰＬプログラムは、次に、プロセッサ＃１  １０１自身の内部の動作モードや動作周波数、周辺インタフェース１４１の制御機能を担うコントローラの初期設定を行う。ここで、周辺デバイス１０４との周辺インタフェース１４１やストレージメモリ部１０５とのストレージインタフェース１５１についても初期設定される。
【００６２】
周辺デバイス１０４との周辺インタフェース１４１やストレージメモリ部１０５とのストレージインタフェース１５１の初期設定が終了すると、ホストプロセッサとして動作するプロセッサ＃１  １０１におけるホストプロセッサ用のＩＰＬプログラムは、ストレージインタフェース１５１を介して、マルチプロセッサ構成制御装置としての動作を実行するメインソフトウェア(メインプログラム)をストレージメモリ部１０５からダウンロードする動作を開始する。
【００６３】
ホストプロセッサとして動作するプロセッサ＃１  １０１は、ステップＳＴＥＰ３０９において、ストレージメモリ部１０５に格納されているメインソフトウェア(メインプログラム)を、自身のメインメモリへダウンロードする動作を開始すると、以降、起動制御回路２０１の起動監視タイマ２０３に対して直前に出力した計時結果のクリア指示の時点からあらかじめ定めた時間閾値Ｔが経過していない適当なタイミングに達するごとに、繰り返し、ステップＳＴＥＰ３１０（ステップＳＴＥＰ３１０のＮＯ）を経由してステップＳＴＥＰ３１１に移行して、起動制御回路２０１の起動監視タイマ２０３に対して計時結果のクリア指示を出力する動作を行うことによって、ホストプロセッサとしての起動動作が正常に実施されていることを起動制御回路２０１に対して通知する。
【００６４】
一方、起動制御回路２０１の起動監視タイマ２０３が、ホストプロセッサから直前に入力された計時結果のクリア指示の時点から、あらかじめ定めた時間閾値Ｔが経過したことを検知した場合には（ステップＳＴＥＰ３１０のＹＥＳ）、ホストプロセッサとして動作するプロセッサ＃１  １０１が起動異常の状態に陥って、ステップＳＴＥＰ３１１に移行していないものと判定して、起動制御回路２０１は、ステップＳＴＥＰ３１２に移行する。
【００６５】
ステップＳＴＥＰ３０９〜ＳＴＥＰ３１１の動作により、ホストプロセッサとして動作するプロセッサ＃１  １０１におけるホストプロセッサ用ＩＰＬプログラムが、起動制御回路２０１の起動監視タイマ２０３に対して、繰り返し、計時結果のクリア指示を出力しつつ、マルチプロセッサ構成制御装置としての動作を実行するメインソフトウェア(メインプログラム)すべてをストレージメモリ部１０５からダウンロードしてメインメモリに格納することによって、ダウンロード動作が完了すると、以降、ダウンロードしたメインソフトウェア(メインプログラム)に制御を渡して、ホストプロセッサのプロセッサ＃１  １０１は、該メインソフトウェア（メインプログラム）にしたがって動作することになる。
【００６６】
ホストプロセッサのプロセッサ＃１  １０１は、該メインソフトウェア（メインプログラム）により、マルチプロセッサ構成制御装置として動作するために必要とする周辺デバイス１０４の初期設定を実施し、マルチプロセッサ構成制御装置としての運用が可能な状態に達した時点で、ホストプロセッサのプロセッサ＃１  １０１は、起動制御回路２０１の起動監視タイマ２０３にアクセスして、起動監視タイマ２０３の計時動作を停止させ、起動動作を完了する。
【００６７】
なお、スレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサは、ステップＳＴＥＰ３０６〜ＳＴＥＰ３０８の動作により、ホストプロセッサのプロセッサ＃１  １０１からプロセッサ間インタフェース１１０を介して転送されてくるスレーブプロセッサ用のＩＰＬプログラムのすべてを受け取って、それぞれのメインメモリへの展開が終了すると、それぞれ、スレーブプロセッサ用のＩＰＬプログラムを起動する。起動されたスレーブプロセッサ用のＩＰＬプログラムは、それぞれの内部の動作モードや動作周波数、周辺インタフェース１４１の制御機能を担うコントローラの初期設定を行うとともに、周辺デバイス１０４との周辺インタフェース１４０やストレージメモリ部１０５とのストレージインタフェース１５０についても初期設定される。
【００６８】
しかる後、スレーブプロセッサのプロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサにおけるスレーブプロセッサ用のＩＰＬプログラムは、それぞれ、マルチプロセッサ構成制御装置としての動作を実行するメインソフトウェア(メインプログラム)をストレージメモリ部１０５からストレージインタフェース１５０を介してダウンロードして、それぞれのメインメモリに格納する。
【００６９】
以上のステップＳＴＥＰ３０１〜ステップＳＴＥＰ１１までの一連の起動処理においては、ホストプロセッサのプロセッサ＃１  １０１が、起動処理の中核を担っており、各ステップにおいてホストプロセッサとしての動作を実行することができない状態に陥った場合には、マルチプロセッサ構成制御装置全体の起動処理を正常に実施することができなくなってしまい、マルチプロセッサ構成制御装置として運用することができなくなる状態になる。かかる事態の発生を解消するために、図１や図２に示すように、本実施形態のマルチプロセッサ構成制御装置には起動制御回路２０１を備えており、起動制御回路２０１が、ホストプロセッサのプロセッサ＃１  １０１の起動処理時における動作停止や動作異常を、起動監視タイマ２０３を用いて監視し、起動異常を検知した際には、あらかじめ定めた切り替え順序にしたがって、ホストプロセッサの切り替えを行って、起動処理を再度実施し直すようにしている。
【００７０】
＜ＳＴＥＰ３１２＞
ステップＳＴＥＰ３０４、ＳＴＥＰ３０７、ＳＴＥＰ３１０において、ホストプロセッサとして動作するプロセッサ＃１  １０１が起動異常の状態に陥って、起動制御回路２０１の起動監視タイマ２０３が、ホストプロセッサから直前に入力された計時結果のクリア指示の時点から、あらかじめ定めた時間閾値Ｔが経過したことを検知した場合には、ステップＳＴＥＰ３１２に移行する。ステップＳＴＥＰ３１２においては、ホストプロセッサを切り替える動作を行うための準備処理を行う。すなわち、現時点までの初期処理内容をクリアするために、リセット制御部２０５より、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサに対して、Resetインタフェース１７０を介して、ハードウェアリセットを指示するリセット信号を出力して、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサを初期状態に復帰させる。さらに、起動監視タイマ２０３の計時動作も停止させる。
【００７１】
＜ＳＴＥＰ３１３＞
ステップＳＴＥＰ３１２において、プロセッサ＃１  １０１、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサを初期状態に復帰させると、ステップＳＴＥＰ３１３に移行する。ステップＳＴＥＰ３１３においては、今までホストプロセッサとして動作していて起動異常に陥ったプロセッサ＃１  １０１から、あらかじめ定めた切り替え順序にしたがって、次の順番のプロセッサ例えばプロセッサ＃２  １０２にホストプロセッサを切り替えるために、起動監視タイマ２０３からバス接続選択部２０２に対して切り替え制御信号を出力する。該切り替え制御信号を受け取ったバス接続選択部２０２は、不揮発性メモリ１０６のメモリバス２１１の接続先をプロセッサ＃２のメモリインタフェース１２２に切り替える。
【００７２】
＜ＳＴＥＰ３１４＞
ステップＳＴＥＰ３１３において、ホストプロセッサの切り替え制御信号により新たなホストプロセッサとなったプロセッサ＃２  １０２のメモリインタフェース１２２が、起動制御回路２０１のバス接続選択部２０２を経由して、不揮発性メモリ１０６のメモリバス２１１に接続された状態になると、ステップＳＴＥＰ３１４に移行する。ステップＳＴＥＰ３１４においては、新たなホストプロセッサのプロセッサ＃２  １０２とスレーブプロセッサのままのプロセッサ＃Ｎ  １０３等の残りのプロセッサとに対して、ステップＳＴＥＰ３０１の場合と同様、起動制御回路２０１のリセット制御部２０５から、Resetインタフェース１７０を介してリセット解除信号を出力して、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサのリセット状態を解除する。一方、今までホストプロセッサとして動作していたものの起動異常が発生したプロセッサ＃１１０１については、異常動作による周辺への不正なアクセスを防止する隔離状態に設定するために、ハードウェアリセットを指示するリセット信号を継続して出力して、リセット状態を維持したままにする。
【００７３】
しかる後、起動制御回路２０１のハードコンフィグ制御部２０４が動作し、各プロセッサをハードウェア的に初期設定し直すために、Hard  Configインタフェース１６０からハイドウェアコンフィグレーション設定信号を出力して、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサのハードウェアコンフィグレーションを設定する。ここで、ハードコンフィグ制御部２０４は、新たなホストプロセッサとなるプロセッサ＃２  １０２をホストプロセッサに設定して、プロセッサ＃２  １０２に対してホストプロセッサ用のハードウェアコンフィグレーションを出力し、プロセッサ＃Ｎ  １０３等の残りの各プロセッサをスレーブプロセッサのままに設定して、プロセッサ＃Ｎ  １０３等の残りの各プロセッサに対してスレーブプロセッサ用のハードウェアコンフィグレーションを出力する。
【００７４】
＜ＳＴＥＰ３１５＞
ステップＳＴＥＰ３１４の動作が終了して、プロセッサ＃２  １０２、…、プロセッサ＃Ｎ  １０３の各プロセッサのハードウェアコンフィグレーションの設定動作が終了したタイミングに達すると、次のステップＳＴＥＰ３１５に移行する。ステップＳＴＥＰ３１５においては、ステップＳＴＥＰ３０２の場合と同様、ホストプロセッサとして動作するプロセッサ＃２  １０２における起動動作を監視するために、起動制御回路２０１の起動監視タイマ２０３の計時動作を開始させる。
【００７５】
＜ＳＴＥＰ３１６〜ＳＴＥＰ３２４＞
ステップＳＴＥＰ３１５の動作が終了して、起動監視タイマ２０３の計時動作が開始されると、次のステップＳＴＥＰ３１６に移行する。以降、プロセッサ＃１  １０１に代わって新たなホストプロセッサとなったプロセッサ＃２  １０２が起動処理の中核を担うプロセッサとして動作し、ステップＳＴＥＰ３１６〜ＳＴＥＰ３２４まで、先に説明したステップＳＴＥＰ３０３〜ＳＴＥＰ３１１までと同じ動作を行う。
【００７６】
つまり、ステップＳＴＥＰ３１６〜ＳＴＥＰ３１８においては、ステップＳＴＥＰ３０３〜ＳＴＥＰ３０５の場合と同様、ホストプロセッサ用のＩＰＬプログラムを、ホストプロセッサのプロセッサ＃２  １０２に不揮発性メモリ１０６からロードする処理を行い、ステップＳＴＥＰ３１９〜ＳＴＥＰ３２１においては、ステップＳＴＥＰ３０６〜ＳＴＥＰ３０８の場合と同様、スレーブプロセッサ用のＩＰＬプログラムを、ホストプロセッサのプロセッサ＃２  １０２にダウンロードして、スレーブプロセッサのプロセッサ＃Ｎ  １０３等の残りの各プロセッサに対して転送する処理を行う。
【００７７】
また、ステップＳＴＥＰ３２２〜ＳＴＥＰ３２４においては、ステップＳＴＥＰ３０９〜ＳＴＥＰ３１１の場合と同様、ホストプロセッサのプロセッサ＃２  １０２自身の内部の動作モードや動作周波数、周辺インタフェース１４１の制御機能を担うコントローラの初期設定を行うとともに、周辺デバイス１０４との周辺インタフェース１４１やストレージメモリ部１０５とのストレージインタフェース１５１も初期設定を行った後、ストレージインタフェース１５２を介して、マルチプロセッサ構成制御装置としての動作を実行するメインソフトウェア(メインプログラム)をストレージメモリ部１０５からダウンロードする。
【００７８】
スレーブプロセッサのプロセッサ＃Ｎ  １０３等の残りのプロセッサにおいても、それぞれの内部の動作モードや動作周波数、周辺インタフェース１４１の制御機能を担うコントローラの初期設定を行うとともに、周辺デバイス１０４との周辺インタフェース１４０やストレージメモリ部１０５とのストレージインタフェース１５０も初期設定を行った後、ストレージインタフェース１５３等のストレージインタフェース１５０を介して、マルチプロセッサ構成制御装置としての動作を実行するメインソフトウェア(メインプログラム)をストレージメモリ部１０５からダウンロードする。
【００７９】
＜ＳＴＥＰ３２５＞
新たなホストプロセッサのプロセッサ＃２  １０２は、ステップＳＴＥＰ３２４までの一連の動作により、ストレージメモリ部１０５からダウンロードしたメインソフトウェア（メインプログラム）を起動することにより、マルチプロセッサ構成制御装置として動作するために必要とする周辺デバイス１０４の初期設定を実施した後、ステップＳＴＥＰ３２５に移行する。
【００８０】
ステップＳＴＥＰ３２５においては、新たなホストプロセッサのプロセッサ＃２  １０２は、起動処理において、ホストプロセッサとして動作しようとしていたプロセッサ＃１  １０１に起動異常が発生したため、プロセッサ＃２  １０２が新たなホストプロセッサに切り替わって、起動動作を完了した旨を示す保守情報（つまり異常が発生したプロセッサの情報および起動完了時の装置の状態を少なくとも含む情報）を作成して、外部に設置されている保守用装置等の外部装置に対して出力する。ここで、該外部装置は、図１、図２に示すマルチプロセッサ構成制御装置と、周辺デバイス１０４を介して外部インタフェース（無線／有線ＬＡＮ（Local  Area  Network）、インターネット、公衆網等のネットワーク経由の通信インタフェースあるいはＢｌｕｅｔｏｏｔｈ（登録商標）や近距離通信等の通信インタフェース）によりデータの送受信が可能なように構成されている。外部装置に対する保守情報の出力が完了した後、マルチプロセッサ構成制御装置としての運用が可能な状態に達した時点で、起動制御回路２０１の起動監視タイマ２０３にアクセスして、起動監視タイマ２０３の計時動作を停止させた後、起動処理を完了する。
【００８１】
以上のステップＳＴＥＰ３１６〜ＳＴＥＰ３２５までの一連の起動処理においては、新たなホストプロセッサとなって起動処理の中核を担うプロセッサ＃２  １０２は、ステップＳＴＥＰ３１８、ＳＴＥＰ３２１、ＳＴＥＰ３２４において、ステップＳＴＥＰ３０５、ＳＴＥＰ３０８、ＳＴＥＰ３１１の場合と同様、それぞれ、起動制御回路２０１の起動監視タイマ２０３に対して直前に出力した計時結果のクリア指示の時点からあらかじめ定めた時間閾値Ｔが経過していない適当なタイミングに達するごとに、繰り返し、起動制御回路２０１の起動監視タイマ２０３に対して計時結果のクリア指示を出力する動作を行うことによって、ホストプロセッサとしての起動動作が正常に実施されていることを起動制御回路２０１に対して通知する。この結果、制御装置としての最低限の動作を確保することができ、かつ、ステップＳＴＥＰ３２５においてホストプロセッサとして起動処理を正常に実施したプロセッサ＃２  １０２から、周辺デバイス１０４（例えばネットワークや専用線等との間のデータ送受信機能を有するデバイス）を介して、外部装置に対して起動処理完了時の状態やプロセッサの異常の有無を示す情報を少なくとも含む保守情報を通知するので、マルチプロセッサ構成制御装置における異常発生等に関する保守情報の外部装置への出力や外部装置からの遠隔制御を可能にすることができる。
【００８２】
図３Ａ及び図３Ｂのフローチャートに戻って、起動制御回路２０１の起動監視タイマ２０３が、ホストプロセッサのプロセッサ＃２  １０２から直前に入力された計時結果のクリア指示の時点から、あらかじめ定めた時間閾値Ｔが経過したことを検知した場合には（ステップＳＴＥＰ３１７のＹＥＳまたはステップＳＴＥＰ３２０のＹＥＳまたはステップＳＴＥＰ３２３のＹＥＳ）、ホストプロセッサとして動作するプロセッサ＃２  １０２も起動異常の状態に陥ったものと判定して、起動制御回路２０１は、ステップＳＴＥＰ３２６に移行する。
【００８３】
＜ＳＴＥＰ３２６〜ＳＴＥＰ３３１＞
ステップＳＴＥＰ３１７、ＳＴＥＰ３２０、ＳＴＥＰ３２３において、新たなホストプロセッサとなったプロセッサ＃２  １０２においても起動異常が発生して、起動監視タイマ２０３が、あらかじめ定めた時間閾値Ｔが経過したことを検知した場合には、ステップＳＴＥＰ３２６に移行する。ステップＳＴＥＰ３２６以降においては、あらかじめ定めた切り替え順序にしたがって、プロセッサ＃２  １０２の次の順番のプロセッサ例えばプロセッサ＃Ｎ  １０３をホストプロセッサに切り替えて、ステップＳＴＥＰ３１２〜ＳＴＥＰ３２５と全く同様の起動処理を繰り返す。
【００８４】
以上のように、マルチプロセッサ構成制御装置において、起動処理の中核を担うホストプロセッサに起動異常が発生した場合には、あらかじめ定めた切り替え順序にしたがってホストプロセッサとして動作するプロセッサを順番に切り替えながら、前述の各ステップに示すような処理（リセット解除、ハードウェアコンフィグレーション設定、ＩＰＬプログラムロード、メインソフトウェア（メインプログラム）ダウンロード、周辺デバイス１０４初期設定等の各処理）を、起動処理が正常に完了するまで繰り返すことにより、起動処理を正常に完了させることができる。
【００８５】
かくのごとく、起動処理の中核を担うホストプロセッサを特定のプロセッサに固定することなく、起動異常が発生した場合には、あらかじめ定めた切り替え順序にしたがって、ホストプロセッサを順番に切り替えて起動処理を実施し、かつ、起動処理を成功裏に完了した時点で、例えば、離れて設置されている外部装置に対して、ネットワークを介して、起動処理結果として現在の状態を示す保守情報を通知する。したがって、ホストプロセッサとして動作したいずれかのプロセッサに異常が発生して、プロセッサの使用可能な台数が制限されても、マルチプロセッサ構成制御装置としての最低限の運用状態を確保することができるとともに、異常が発生したプロセッサの迅速な修復を行うことも可能になる。この結果、本実施形態の図１、図２に示したマルチプロセッサ構成制御装置は、システムとしての高い信頼性と高い処理性能とを必要とする携帯端末用基地局装置等の通信装置やサーバ装置等の各種のオンライン制御装置にも好適に適用することができる。
【００８６】
（本実施形態の効果の説明）
以上に詳細に説明したように、本実施形態においては、次のような効果が得られる。
【００８７】
第１に、複数のプロセッサによって構成されるマルチプロセッサ構成制御装置の起動処理において、該起動処理の中核を担うホストプロセッサに異常が発生した場合であっても、ホストプロセッサとして起動するプロセッサをあらかじめ定めた順序にしたがって順番に切り替えながら、起動処理を実施し直すので、いずれかのプロセッサがホストプロセッサとして起動処理を実施した際に、正常な起動処理を完了させて、マルチプロセッサ構成制御装置としての正常な動作を開始させることが可能な状態にすることができ、マルチプロセッサ構成制御装置起動に関する信頼性を向上させることができる。
【００８８】
第２に、マルチプロセッサ構成制御装置の周辺デバイスとしてネットワークとの通信を行う機能を有するデバイスを搭載していた場合、起動処理時にホストプロセッサとして動作するプロセッサに異常が発生した場合であっても、新たなホストプロセッサに切り替えたプロセッサによりマルチプロセッサ構成制御装置として起動することができた際に、起動処理時に発生したホストプロセッサの異常や起動完了時の状態を保守情報として、ネットワークを介して、外部に設置されている保守用装置等の外部装置に通知することが可能であり、迅速な修復処理を行うことにより、マルチプロセッサ構成制御装置の信頼性をさらに向上させることができる。なお、マルチプロセッサ構成制御装置として運用する際に、起動処理時に異常が発生したプロセッサは使用することができないので、プロセッサ台数が限定された運用状態になるものの、異常発生のプロセッサを修復するまでの間の暫定的な運用であり、該マルチプロセッサ構成制御装置を適用したシステムとしての可用性を維持することができる。
【００８９】
（本発明の他の実施形態）
次に、本発明によるマルチプロセッサ構成制御装置の他の実施形態として、図１、図２とは異なる構成例について、その一例を、図６を用いて説明する。図６は、本発明によるマルチプロセッサ構成制御装置の図１、図２とは異なる構成例を示すブロック構成図であり、図２に示した起動制御回路２０１内に新たな機能を備えた機能ブロックを追加した場合を示している。図６に示す本他の実施形態においては、マルチプロセッサ構成制御装置が起動処理を正常に完了して運用を開始した以降において、起動処理時にホストプロセッサとして動作していたプロセッサを継続して監視し、該ホストプロセッサに異常が発生した場合に、スレーブプロセッサとして動作していたいずれかのプロセッサをホストプロセッサに切り替えて再起動させることを特徴とし、而して、マルチプロセッサ構成制御装置の運用開始後のホストプロセッサ異常による運用停止状態の発生をより確実に回避することを可能にしている。
【００９０】
すなわち、図６に示すマルチプロセッサ構成制御装置の起動制御回路２０１Ａは、図２に示した起動制御回路２０１に対して、再起動管理部２０６をさらに追加して備えている。図１、図２に示した前述の実施形態においては、起動制御回路２０１の起動監視タイマ２０３は、起動処理が完了して、マルチプロセッサ構成制御装置が運用を開始する際に、計時動作を停止してしまう。これに対して、図６に示すマルチプロセッサ構成制御装置においては、マルチプロセッサ構成制御装置が起動処理を正常に完了して運用を開始した以降においても、起動制御回路２０１Ａの再起動管理部２０６の制御により、起動監視タイマ２０３は、引き続き、起動処理時にホストプロセッサとして動作していたプロセッサに異常が発生したか否かを監視し続けている。このため、ホストプロセッサとして動作していたプロセッサは、運用段階に移行した以降においても、起動制御回路２０１Ａの起動監視タイマ２０３に対して直前に出力した計時結果のクリア指示の時点からあらかじめ定めた時間閾値Ｔが経過していない適当なタイミングに達するごとに、繰り返し、起動制御回路２０１Ａの起動監視タイマ２０３に対して計時結果のクリア指示を出力する動作を繰り返すように動作することが必要である。
【００９１】
ここで、再起動管理部２０６は、マルチプロセッサ構成制御装置が起動処理を正常に完了して運用を開始した以降に、ホストプロセッサとして動作していたプロセッサに異常が発生したことを起動監視タイマ２０３が検知した場合に、あらかじめ定めた切り替え順序にしたがって、スレーブプロセッサとして動作していたプロセッサを順番にホストプロセッサに切り替えて、再起動を行う動作を管理する機能を備えている。
【００９２】
つまり、再起動管理部２０６には、ホストプロセッサとして動作したプロセッサの起動処理が正常に完了した時点で、正常に起動が完了した際の状況情報がホストプロセッサからあらかじめ設定されるようにしている。例えば、ホストプロセッサとして正常に起動処理が完了することができたプロセッサを特定することができるプロセッサ番号を状況情報として該ホストプロセッサから再起動管理部２０６に対して通知してくる。例えば、プロセッサ＃１  １０１がホストプロセッサであった場合には、通知されてくるプロセッサ番号は'１'であり、プロセッサ＃２  １０２がホストプロセッサであった場合には、通知されてくるプロセッサ番号は'２'である。再起動管理部２０６は、ホストプロセッサから状況情報としてプロセッサ番号の通知を受け取るまでは、再起動管理部２０６内に設けたホストプロセッサ番号記憶部には、プロセッサ番号が無効であることを示す'０'を設定するが、ホストプロセッサから状況情報としてプロセッサ番号の通知を受け取った場合は、通知されてきたプロセッサ番号を保存する。
【００９３】
次に、図６に示すマルチプロセッサ構成制御装置の動作について、その一例を説明する。前述のように、図６のマルチプロセッサ構成制御装置の起動処理が完了するまでは、ホストプロセッサから再起動管理部２０６に対して状況情報としてプロセッサ番号の通知がないので、再起動管理部２０６のホストプロセッサ番号記憶部には、無効を示す初期値'０'が設定されている。かかる場合には、マルチプロセッサ構成制御装置は、起動処理中の状態であって、運用状態には移行していないので、図１、図２に示した前述の実施形態の場合と同様であり、再起動管理部２０６としての動作は行わない。
【００９４】
一方、起動処理が正常に完了し、運用状態に移行するタイミングで、メモリインタフェース１２１を介して、ホストプロセッサとして動作したプロセッサ例えばプロセッサ＃１  １０１から、状況情報として、正常な起動処理を実施したホストプロセッサを特定するプロセッサ番号例えばプロセッサ番号'１'が通知されてきた場合には、再起動管理部２０６は、通知されてきたホストプロセッサを特定するプロセッサ番号例えばプロセッサ番号'１'を、ホストプロセッサ番号記憶部に保存する。
【００９５】
しかる後、マルチプロセッサ構成制御装置の運用が開始された以降において、ホストプロセッサとして動作していたプロセッサ例えばプロセッサ＃１  １０１の動作が停止したり異常になったりして、起動制御回路２０１Ａの起動監視タイマ２０３に対して直前に出力した計時結果のクリア指示の時点からあらかじめ定めた時間閾値Ｔが経過しても計時結果のクリア指示を出力しなかった場合には、起動制御回路２０１Ａの起動監視タイマ２０３は、ホストプロセッサとして動作していたプロセッサ例えばプロセッサ＃１  １０１が動作異常状態に陥ったことを検知する。運用状態においてかかる異常状態が発生した、ホストプロセッサとして動作していたプロセッサ例えばプロセッサ＃１  １０１は、マルチプロセッサ構成制御装置の運用に直接的な影響を及ぼすか、もしくは、運用性能の大幅な劣化を生じる可能性がある。
【００９６】
時間閾値Ｔが経過するまで計時結果のクリア指示の入力がないことを検知した起動制御回路２０１Ａの起動監視タイマ２０３は、ホストプロセッサとして動作していたプロセッサ例えばプロセッサ＃１  １０１が運用段階において動作異常状態に陥った旨を再起動管理部２０６に通知してくる。再起動管理部２０６は、ホストプロセッサ番号記憶部にホストプロセッサのプロセッサを特定するプロセッサ番号例えばプロセッサ番号'１'が設定されている状態で、起動監視タイマ２０３からホストプロセッサ例えばプロセッサ＃１  １０１が運用段階において動作異常状態に陥った旨の通知を受け取ると、あらかじめ定めた切り替え順序で、次のホストプロセッサとして起動処理時に動作すべきプロセッサを選択して、選択したプロセッサを新たなホストプロセッサとして、マルチプロセッサ構成制御装置を再起動させて起動処理をやり直す動作を起動する。
【００９７】
なお、マルチプロセッサ構成制御装置を構成する複数のプロセッサそれぞれを特定するプロセッサ番号が、'１'ずつずれた連続した番号であった場合には、再起動管理部２０６において、あらかじめ定めた切り替え順序として、次のホストプロセッサとして起動処理時に動作すべきプロセッサを選択する際に、最後のプロセッサ番号から先頭のプロセッサ番号に切り替える場合以外については、ホストプロセッサ番号記憶部に記憶されていたプロセッサ番号に'＋１'加算したプロセッサ番号を、次のホストプロセッサを示す番号として選択するようにしても良い。例えば、ホストプロセッサ番号記憶部に記憶されていたプロセッサ番号がプロセッサ＃１  １０１を示す'１'であった場合には、'＋１'加算した'２'が示すプロセッサ＃２  １０１を次の起動時における新たなホストプロセッサとして選択する。
【００９８】
次のホストプロセッサとしてプロセッサ＃２  １０２を選択した場合には、再起動管理部２０６は、マルチプロセッサ構成制御装置の再起動処理を開始し、起動制御回路２０１Ａのバス接続選択部２０２にて、プロセッサ＃２  １０２のメモリインタフェース１２２を不揮発性メモリ１０６のメモリバス２１１に接続する。しかる後は、再起動管理部２０６は、先の実施形態における図３Ａ及び図３Ｂのフローチャートとほぼ同様の動作を実行させる。つまり、まず、リセット制御部２０５から、Resetインタフェース１７０を介して、新たなホストプロセッサとして動作するプロセッサ＃２  １０２を一度リセットすることによって、今までのスレーブプロセッサとしての動作をクリアする。さらに、リセット解除後に、ハードコンフィグ制御部２０４により、ホストプロセッサ用のハードウェアコンフィグレーションをプロセッサ＃２  １０２に設定する。
【００９９】
ハードウェアコンフィグレーションの設定が終了すると、次に、新たなホストプロセッサのプロセッサ＃２  １０２は、不揮発性メモリ１０６から、起動制御回路２０１Ａのバス接続選択部２０２およびメモリインタフェース１２２を介してホストプロセッサ用のＩＰＬプログラムをロードする。ホストプロセッサ用のＩＰＬプログラムをロードすると、プロセッサ＃２  １０２は、ロードしたＩＰＬプログラムを起動して、プロセッサ＃２  １０２自身の内部の動作モードや動作周波数、周辺インタフェース１４２を制御するコントローラをホストプロセッサ用に設定を行う。さらに、周辺インタフェース１４２、ストレージインタフェース１５２を設定した後、ストレージメモリ部１０５からマルチプロセッサ構成制御装置としての動作を実行するメインソフトウェア(メインプログラム)をダウンロードして、ダウンロードしたメインソフトウェア(メインプログラム)に制御を渡す。
【０１００】
ダウンロードしたメインソフトウェア(メインプログラム)に制御を渡した後、プロセッサ＃１  １０１の動作が継続していた場合には、プロセッサ間インタフェース１１１により、今までの処理内容をプロセッサ＃１  １０１からプロセッサ＃２  １０２に取り込む。しかる後、リセット制御部２０５により、運用時に動作異常となったプロセッサ＃１  １０１をリセット状態に設定して、処理を停止させる。
【０１０１】
以上のように、図６に示す他の実施形態においては、マルチプロセッサ構成制御装置の運用を開始した以降においても、ホストプロセッサとして動作していたプロセッサの異常状態を監視し続け、運用時における異常発生時には、スレーブプロセッサとして動作していたプロセッサの中から、あらかじめ定めた切り替え順序にしたがって選択したプロセッサを新たなホストプロセッサに設定して、再起動する。而して、運用時において異常が発生したプロセッサの処理を、新たにホストプロセッサとしたプロセッサ側に移して、異常状態を改善することを可能にすることができる。
【０１０２】
以上、本発明の好適な実施形態の構成を説明した。しかし、かかる実施形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。
【符号の説明】
【０１０３】
１０１        プロセッサ＃１
１０２        プロセッサ＃２
１０３        プロセッサ＃Ｎ
１０４        周辺デバイス
１０５        ストレージメモリ部
１０６        不揮発性メモリ
１０７        リセット制御部
１１０        プロセッサ間インタフェース
１１１        プロセッサ間インタフェース
１１２        プロセッサ間インタフェース
１１３        プロセッサ間インタフェース
１２０        メモリインタフェース
１２１        メモリインタフェース
１２２        メモリインタフェース
１２３        メモリインタフェース
１４０        周辺インタフェース
１４１        周辺インタフェース
１４２        周辺インタフェース
１４３        周辺インタフェース
１５１        ストレージインタフェース
１５２        ストレージインタフェース
１５３        ストレージインタフェース
１６０        Hard  Configインタフェース
１７０        Resetインタフェース
２０１        起動制御回路
２０１Ａ      起動制御回路
２０２        バス接続選択部
２０３        起動監視タイマ
２０３Ａ      切り替え制御信号
２０３Ｂ      動作クロック
２０４        ハードコンフィグ制御部
２０５        リセット制御部
２０６        再起動管理部
２１１        メモリバス
【図１】
2014178930.tif 000003
【図２】
2014178930.tif 000004
【図３Ａ】
2014178930.tif 000005
【図３Ｂ】
2014178930.tif 000006
【図４】
2014178930.tif 000007
【図５】
2014178930.tif 000008
【図６】
2014178930.tif 000009
【図７】
2014178930.tif 000010