(57)【要約】【課題】プロセッサ異常監視機能を備えた非対称型マルチプロセッサシステムを提供すること。【解決手段】汎用プロセッサＧＰ１、ＧＰ２を監視する管理プロセッサＰを有する非対称型マルチプロセッサシステムＭ１において、管理プロセッサＰは、汎用プロセッサＧＰ１、ＧＰ２が出力する生存信号に基づいてそれら汎用プロセッサＧＰ１、ＧＰ２の異常を検知する汎用プロセッサ異常検知手段Ｐ１０を備える。また、生存信号には、各プロセッサが正常動作中に継続的に出力するハイレベル信号、パルス信号、又は、プロセッサ温度信号を含まれる。【選択図】図１
2008257589.tif 000002
【特許請求の範囲】
【請求項１】
汎用プロセッサを監視する管理プロセッサを有する非対称型マルチプロセッサシステムであって、
前記管理プロセッサは、前記汎用プロセッサが出力する生存信号に基づいて該汎用プロセッサの異常を検知する汎用プロセッサ異常検知手段を備える、
ことを特徴とする非対称型マルチプロセッサシステム。
【請求項２】
前記管理プロセッサを複数搭載し、
前記管理プロセッサのそれぞれは、他の管理プロセッサが出力する生存信号に基づいて該他の管理プロセッサの異常を検知する管理プロセッサ異常検知手段を備える、
ことを特徴とする請求項１に記載の非対称型マルチプロセッサシステム。
【請求項３】
前記管理プロセッサが出力する生存信号に基づいて該管理プロセッサの異常を検知する外部監視装置を備える、
ことを特徴とする請求項１又は２に記載の非対称型マルチプロセッサシステム。
【請求項４】
前記生存信号は、各プロセッサが正常動作中に継続的に出力するハイレベル信号、パルス信号、又は、プロセッサ温度信号を含む、
ことを特徴とする請求項１乃至３の何れか一項に記載の非対称型マルチプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサ異常監視機能を備えたマルチプロセッサシステムに関し、特に、プロセッサ異常監視機能を備えた非対称型マルチプロセッサシステムに関する。
【背景技術】
【０００２】
従来、複数のプロセッサから構成されるマルチプロセッサシステムにおけるプロセッサの異常検出方法が知られている（例えば、特許文献１参照。）。
【０００３】
この異常検出方法は、同じ演算処理能力を有する複数のプロセッサで同じ演算を実行させ、かつ、その演算結果が出力される順番を考慮しながら演算結果を比較することにより、複数のプロセッサを同期させることなくそれらプロセッサの異常を検知できるようにする。
【特許文献１】特開２０００−１７２５２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の異常検出方法は、同じ演算処理能力を有する複数のプロセッサで同じ演算を実行させる必要があることから、対称型マルチプロセッシング（全てのプロセッサに対して対称的、均一的に処理が割り付けられた複数プロセッサによる並列処理方式をいう。）への適用は可能であるが、非対称型マルチプロセッシング（処理内容に応じてその処理を分担するプロセッサを予め固定した複数プロセッサによる並列処理方式をいう。）に適用することができない。
【０００５】
上述の点に鑑み、本発明は、プロセッサ異常監視機能を備えた非対称型マルチプロセッサシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述の目的を達成するために、第一の発明に係る非対称型マルチプロセッサシステムは、汎用プロセッサを監視する管理プロセッサを有する非対称型マルチプロセッサシステムであって、前記管理プロセッサは、前記汎用プロセッサが出力する生存信号に基づいて該汎用プロセッサの異常を検知する汎用プロセッサ異常検知手段を備えることを特徴とする。
【０００７】
また、第二の発明は、第一の発明に係る非対称型マルチプロセッサシステムであって、前記管理プロセッサを複数搭載し、前記管理プロセッサのそれぞれは、他の管理プロセッサが出力する生存信号に基づいて該他の管理プロセッサの異常を検知する管理プロセッサ異常検知手段を備えることを特徴とする。
【０００８】
また、第三の発明は、第一又は第二の発明に係る非対称マルチプロセッサシステムであって、前記管理プロセッサが出力する生存信号に基づいて該管理プロセッサの異常を検知する外部監視装置を備えることを特徴とする。
【０００９】
また、第四の発明は、第一乃至第三の何れかの発明に係る非対称型マルチプロセッサシステムであって、前記生存信号は、各プロセッサが正常動作中に継続的に出力するハイレベル信号、パルス信号、又は、プロセッサ温度信号を含むことを特徴とする。
【発明の効果】
【００１０】
上述の手段により、本発明は、プロセッサ異常監視機能を備えた非対称型マルチプロセッサシステムを提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しつつ、本発明を実施するための最良の形態の説明を行う。
【実施例１】
【００１２】
図１は、本発明に係る非対称型マルチプロセッサシステムを採用したマイクロコンピュータ（以下、「マイコン」とする。）の構成例を示すブロック図であり、マイコンＭ１は、例えば、車載ＥＣＵ(Electronic  Control  Unit)として利用され、管理プロセッサＰ、汎用プロセッサＧＰ１、ＧＰ２、ＲＡＭ(Random  Access  Memory)、ＲＯＭ（Read  Only  Memory）を備える。
【００１３】
また、マイコンＭ１は、ワンチップ上に複数のプロセッサコアを搭載したマルチコアシングルプロセッサ構成を採用するが、複数のプロセッサコアを有するチップを複数接続したマルチコアマルチプロセッサ構成であってもよく、一つのプロセッサコアを有するチップを複数接続したシングルコアマルチプロセッサ構成であってもよい。
【００１４】
さらに、マイコンＭ１は、共通の共有メモリを利用する密結合マルチプロセッサシステムであってもよく、複数の独立したチップをイーサネット（登録商標）等の通信ネットワークで結合した粗結合マルチプロセッサシステムであってもよい。
【００１５】
マイコンＭ１は、例えば、汎用プロセッサ異常検知手段Ｐ１０に対応するプログラムをＲＯＭに記憶しながら、汎用プロセッサ異常検知手段Ｐ１０に対応する処理を管理プロセッサＰに実行させ、一方で、エンジン制御、車間距離制御又は車線維持支援等の各種アプリケーションプログラムをＲＯＭに記憶しながら、それらアプリケーションプログラムに対応する処理を汎用プロセッサＧＰ１、ＧＰ２に実行させる。
【００１６】
なお、図中の矢印は、管理プロセッサＰが汎用プロセッサＧＰ１、ＧＰ２の状態を監視している状態を示す。
【００１７】
管理プロセッサＰは、汎用プロセッサＧＰ１、ＧＰ２の異常検知に特化した専用プロセッサであり、汎用プロセッサＧＰ１、ＧＰ２の異常を監視するために必要不可欠な機能のみを備えるようにする。但し、汎用プロセッサＧＰ１、ＧＰ２と同じ構成のプロセッサを管理プロセッサＰとして利用するようにしてもよい。汎用部品を利用してコストを低減させるためである。
【００１８】
管理プロセッサＰは、例えば、Ｗｉｎｄｏｗｓ（登録商標）やＬｉｎｕｘ（登録商標）等の汎用ＯＳを動作させながら、それら汎用ＯＳ上で汎用プロセッサ異常検知手段Ｐ１０に対応するプログラムを実行する。
【００１９】
汎用プロセッサＧＰ１、ＧＰ２は、特定の機能に用途を限定しないプロセッサであり、例えば、ＲＴＯＳ(Real-Time  Operating  System)を動作させながら、それらＲＴＯＳ上でエンジン制御、車間距離制御又は車線維持支援等の各種アプリケーションプログラムを実行する。
【００２０】
なお、マイコンＭ１は、管理プロセッサＰで汎用ＯＳを動作させ、汎用プロセッサＧＰ１、ＧＰ２でＲＴＯＳを動作させるハイブリッドＯＳの構成を採用するが、管理プロセッサＰ、汎用プロセッサＧＰ１、ＧＰ２の全てで共通の汎用ＯＳ又はＲＴＯＳを動作させながら、汎用プロセッサ異常検知手段Ｐ１０に対応するプログラムを管理プロセッサＰに実行させ、各種アプリケーションプログラムを汎用プロセッサＧＰ１、ＧＰ２で実行させるようにしてもよい。
【００２１】
汎用プロセッサ異常検知手段Ｐ１０は、汎用プロセッサＧＰ１、ＧＰ２の異常を検知するための手段であり、例えば、汎用プロセッサＧＰ１、ＧＰ２が出力する生存信号を監視し、汎用プロセッサＧＰ１、ＧＰ２からの生存信号が途絶えたり、乱れたりした場合に、汎用プロセッサＧＰ１、ＧＰ２で異常が発生したことを検知する。
【００２２】
ここで、「生存信号」は、各プロセッサが正常動作中に出力する信号であり、例えば、継続的に出力されるハイレベル信号や所定周期で出力されるパルス信号等のデジタル信号であってもよく、プロセッサ温度等を示すアナログ信号であってもよい。
【００２３】
パルス信号の場合、汎用プロセッサ異常検知手段Ｐ１０は、周期やデューティ比の乱れに基づいて汎用プロセッサＧＰ１、ＧＰ２で異常が発生したことを検知し、また、プロセッサ温度の場合、所定温度を上回ったことを検出して汎用プロセッサＧＰ１、ＧＰ２で異常が発生したことを検知する。
【００２４】
マイコンＭ１は、汎用プロセッサＧＰ１、ＧＰ２の異常を検知した場合、異常が検知された汎用プロセッサを初期化させ、正常な状態に迅速に復帰させるようにする。
【００２５】
また、マイコンＭ１は、汎用プロセッサＧＰ１、ＧＰ２において実際には異常が発生していない場合であっても、汎用プロセッサＧＰ１、ＧＰ２のプロセッサ温度が上昇した場合には、汎用プロセッサＧＰ１、ＧＰ２で不具合が発生する可能性が高まるため、温度が上昇した汎用プロセッサＧＰ１、ＧＰ２で異常が発生したものとみなし、その汎用プロセッサＧＰ１、ＧＰ２を早期に初期化させたり、その汎用プロセッサＧＰ１、ＧＰ２の機能を縮退させたりしてもよい。
【００２６】
さらに、マイコンＭ１は、異常が検知された汎用プロセッサＧＰ１、ＧＰ２を初期化する際に、その汎用プロセッサＧＰ１、ＧＰ２が演算で使用していたデータや状態変数を他の汎用プロセッサＧＰ２、ＧＰ１に引き渡すようにしてもよい。
【００２７】
これにより、マイコンＭ１は、各種アプリケーションプログラムとは関係のない処理（管理プロセッサＰが汎用プロセッサＧＰ１、ＧＰ２の異常を検知できるようにするためだけの演算等である。）を汎用プロセッサＧＰ１、ＧＰ２に実行させ汎用プロセッサＧＰ１、ＧＰ２の負荷を増大させてしまうようなことなく、それら汎用プロセッサＧＰ１、ＧＰ２の異常を検知することができる。
【００２８】
また、マイコンＭ１は、汎用プロセッサＧＰ１、ＧＰ２の異常を検知する管理プロセッサＰを備えることにより、汎用プロセッサ同士で異常を相互に監視させる必要が無く、正常な状態にある汎用プロセッサを異常な状態にある汎用プロセッサで初期化してしまうといった不具合を回避することができる。
【実施例２】
【００２９】
図２は、本発明に係る非対称型マルチプロセッサシステムを採用したマイコンの別の構成例を示すブロック図であり、マイコンＭ２は、外部監視装置Ｅが接続される点においてマイコンＭ１（図１参照。）と相違するが、その他の構成についてはマイコンＭ１と共通する。
【００３０】
なお、図中の矢印は、管理プロセッサＰが汎用プロセッサＧＰ１、ＧＰ２の状態を監視し、さらに、外部監視装置Ｅが管理プロセッサＰの状態を監視している状態を示す。
【００３１】
外部監視装置Ｅは、管理プロセッサＰの異常を検知するために、管理プロセッサＰ、及び、汎用プロセッサＧＰ１、ＧＰ２を有するチップから独立した電子回路であり、例えば、管理プロセッサＰが出力する生存信号を監視し、管理プロセッサＰからの生存信号が途絶えたり、乱れたりした場合に、管理プロセッサＰで異常が発生したことを検知する。
【００３２】
なお、マイコンＭ２は、外部監視装置Ｅにより、管理プロセッサＰの異常を検知した場合、異常が検知された管理プロセッサＰを初期化させ、正常な状態に迅速に復帰させるようにする。
【００３３】
この場合、マイコンＭ２は、管理プロセッサＰが演算で使用していたデータや状態変数を他のプロセッサに引き渡す必要はない。管理プロセッサＰは、汎用プロセッサＧＰ１、ＧＰ２の異常検知に特化した専用プロセッサであり、汎用プロセッサＧＰ１、ＧＰ２上で動作する他のアプリケーションプログラムに影響しないからである。
【００３４】
これにより、マイコンＭ２は、ソフトウェアの不具合による影響を受けない外部監視装置Ｅにより管理プロセッサＰの状態を監視するので、正常動作する管理プロセッサＰによる汎用プロセッサＧＰ１、ＧＰ２の監視を確保でき、汎用プロセッサＧＰ１、ＧＰ２の異常をより信頼性高く検知することができる。
【実施例３】
【００３５】
図３は、本発明に係る非対称型マルチプロセッサシステムを採用したマイコンの更に別の構成例を示すブロック図であり、マイコンＭ３は、管理プロセッサＳＰ１、ＳＰ２、汎用プロセッサＧＰ１、ＧＰ２から構成される。
【００３６】
このように、マイコンＭ３は、複数の管理プロセッサＳＰ１、ＳＰ２を備え、各管理プロセッサが管理プロセッサ異常検知手段ＳＰ１１、ＳＰ２１を備える点においてマイコンＭ１（図１参照。）と相違するが、その他の構成については、マイコンＭ１と共通する。
【００３７】
なお、図中の矢印は、管理プロセッサＳＰ１及び管理プロセッサＳＰ２が互いの状態を相互に監視しながら、汎用プロセッサＧＰ１、ＧＰ２の状態を二重で監視している状態を示す。
【００３８】
マイコンＭ３は、複数の管理プロセッサＳＰ１、ＳＰ２を備え、管理プロセッサＳＰ１、ＳＰ２のそれぞれが有する管理プロセッサ異常検知手段ＳＰ１１、ＳＰ２１により各管理プロセッサＳＰ２、ＳＰ１の状態を相互に監視させながら、管理プロセッサＳＰ１に汎用プロセッサＧＰ１、ＧＰ２の状態を監視させ、かつ、管理プロセッサＳＰ２に汎用プロセッサＧＰ１、ＧＰ２の状態を監視させる。
【００３９】
また、管理プロセッサＳＰ１、ＳＰ２は、好適には、共通の汎用ＯＳ上又はＲＴＯＳ上で、共通の異常検知プログラムを実行するが、それぞれ異なる汎用ＯＳ又はＲＴＯＳ上で共通の異常検知プログラムを実行するようにしてもよい。
【００４０】
ここで、「共通の異常検知プログラム」とは、管理プロセッサ異常検知手段ＳＰ１１に対応するプログラムと管理プロセッサ異常検知手段ＳＰ２１に対応するプログラムとが異常検知方法において共通し（例えば、共に、ハイレベル信号に基づいて異常を検知する。）、或いは、汎用プロセッサ異常検知手段ＳＰ１０に対応するプログラムと汎用プロセッサ異常検知手段ＳＰ２０に対応するプログラムとが異常検知方法において共通する（例えば、共に、パルス信号に基づいて異常を検知する。）ことを意味する。なお、四つ全ての手段に対応するプログラムが異常検知方法において共通していてもよい。
【００４１】
また、管理プロセッサＳＰ１、ＳＰ２は、それぞれ異なる汎用ＯＳ上又はＲＴＯＳ上で、それぞれ異なる異常検知プログラムを実行してもよい。
【００４２】
ここで、「異なる異常検知プログラム」とは、管理プロセッサ異常検知手段ＳＰ１１に対応するプログラムと管理プロセッサ異常検知手段ＳＰ２１に対応するプログラムとが異常検知方法において異なり（例えば、一方でハイレベル信号に基づいて異常を検知し、他方でパルス信号に基づいて異常を検知する。）、或いは、汎用プロセッサ異常検知手段ＳＰ１０に対応するプログラムと汎用プロセッサ異常検知手段ＳＰ２０に対応するプログラムとが異常検知方法において異なる（例えば、一方でハイレベル信号に基づいて異常を検知し、他方でプロセッサ温度信号に基づいて異常を検知する。）、ことを意味する。
【００４３】
管理プロセッサ異常検知手段ＳＰ１１、ＳＰ２１は、それぞれ、他の管理プロセッサＳＰ２、ＳＰ１の異常を検知するための手段であり、例えば、図１における汎用プロセッサ異常検知手段Ｐ１０と同様、他の管理プロセッサＳＰ２、ＳＰ１が出力するハイレベル信号を監視し、他の管理プロセッサＳＰ２、ＳＰ１からのハイレベル信号が途絶えた場合に、他の管理プロセッサＳＰ２、ＳＰ１で異常が発生したことを検知する。
【００４４】
なお、管理プロセッサ異常検知手段ＳＰ１１、ＳＰ２１は、他の管理プロセッサＳＰ２、ＳＰ１が出力するパルス信号の乱れや他の管理プロセッサＳＰ２、ＳＰ１のプロセッサ温度等に基づいて他の管理プロセッサＳＰ２、ＳＰ１の異常を検知するようにしてもよい。
【００４５】
これにより、マイコンＭ３は、相互に監視し合う二つの管理プロセッサＳＰ１、ＳＰ２により汎用プロセッサＧＰ１、ＧＰ２の状態を二重で監視するので、汎用プロセッサＧＰ１、ＧＰ２の異常をより信頼性高く検知することができる。
【実施例４】
【００４６】
図４は、本発明に係る非対称型マルチプロセッサシステムを採用したマイコンの更に別の構成例を示すブロック図であり、マイコンＭ４は、外部監視装置Ｅが接続される点においてマイコンＭ３（図３参照。）と相違するが、その他の構成についてはマイコンＭ３と共通する。
【００４７】
なお、図中の矢印は、管理プロセッサＳＰ１及び管理プロセッサＳＰ２が互いの状態を相互に監視しながら、汎用プロセッサＧＰ１、ＧＰ２の状態を二重で監視し、さらに、外部監視装置Ｅが管理プロセッサＳＰ１の状態を監視している状態を示す。
【００４８】
外部監視装置Ｅは、例えば、管理プロセッサＳＰ１が出力する生存信号を監視し、管理プロセッサＳＰ１からの生存信号が途絶えた場合に、管理プロセッサＳＰ１で異常が発生したことを検知する。
【００４９】
なお、外部監視装置Ｅは、管理プロセッサＳＰ１及び管理プロセッサＳＰ２のそれぞれが出力する生存信号を監視しながら、管理プロセッサＳＰ１又は管理プロセッサＳＰ２で異常が発生したことを検知するようにしてもよい。
【００５０】
これにより、マイコンＭ４は、汎用プロセッサＧＰ１、ＧＰ２の異常を検知する複数の管理プロセッサＳＰ１、ＳＰ２を備えながら、さらに、外部監視装置Ｅを備えることにより、正常な状態にある管理プロセッサを異常な状態にある管理プロセッサで初期化してしまうといった不具合を回避するので、正常動作する管理プロセッサによる汎用プロセッサＧＰ１、ＧＰ２の監視を確保でき、汎用プロセッサＧＰ１、ＧＰ２の異常をより信頼性高く検知することができる。
【実施例５】
【００５１】
図５は、本発明に係る非対称型マルチプロセッサシステムを採用したマイコンの更に別の構成例を示すブロック図であり、マイコンＭ５は、管理プロセッサＳＰ１、ＳＰ２のそれぞれに汎用プロセッサを二つずつ監視させ、二つの管理プロセッサＳＰ１、ＳＰ２により合計四つの汎用プロセッサＧＰ１〜ＧＰ４を監視させる点において、管理プロセッサＳＰ１、ＳＰ２のそれぞれに二つの汎用プロセッサＧＰ１、ＧＰ２を二重で監視させるマイコンＭ４（図４参照。）と相違するが、その他の構成についてはマイコンＭ４と共通する。
【００５２】
これにより、マイコンＭ５は、一つの管理プロセッサに監視負荷を集中させることなく、複数の管理プロセッサに監視負荷を分散しながら多数の汎用プロセッサの状態を監視することができるので、多数の汎用プロセッサの異常をより信頼性高く検知することができる。
【実施例６】
【００５３】
図６は、本発明に係る非対称型マルチプロセッサシステムを採用したマイコンの更に別の構成例を示すブロック図であり、マイコンＭ６は、三つの管理プロセッサＳＰ１〜ＳＰ３のそれぞれに汎用プロセッサを二つずつ監視させながら外部監視装置Ｅを省略している点において、二つの管理プロセッサＳＰ１、ＳＰ２のそれぞれに汎用プロセッサを二つずつ監視させながら管理プロセッサＳＰ１を外部監視装置Ｅに監視させるマイコンＭ５（図５参照。）と相違するが、その他の構成についてはマイコンＭ５と共通する。
【００５４】
マイコンＭ６は、三つの管理プロセッサＳＰ１〜ＳＰ３のそれぞれが出力する生存信号に基づいて互いの状態を監視させ合い、二つの管理プロセッサにおいて共通する一つの管理プロセッサの異常を検知した場合に、その共通する一つの管理プロセッサが異常であると判定するようにする。
【００５５】
また、マイコンＭ６は、管理プロセッサＳＰ１〜ＳＰ３のそれぞれで同じ演算を実行させ、異なる演算結果を導出した一つの管理プロセッサで異常が発生したことを検知するようにしてもよい。
【００５６】
これにより、マイコンＭ６は、外部監視装置Ｅを省略しながらも、正常動作する管理プロセッサによる汎用プロセッサＧＰ１〜ＧＰ６の監視を確保でき、汎用プロセッサＧＰ１〜ＧＰ６の異常をより信頼性高く検知することができる。
【００５７】
また、マイコンＭ６は、外部監視装置Ｅを省略することで、製造コストを低減させることができる。
【００５８】
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
【００５９】
例えば、上述の実施例において、マイコンＭ５又はマイコンＭ６は、各管理プロセッサが監視する汎用プロセッサの組み合わせを固定しているが、各管理プロセッサの動作状態（例えば、一の管理プロセッサで異常が検知された場合がある。）に応じて、各管理プロセッサが監視する汎用プロセッサの組み合わせを動的に変化させるようにしてもよい。
【００６０】
管理プロセッサの一部が異常となった場合にも、汎用プロセッサの監視を継続させ、汎用プロセッサの異常をより信頼性高く検知できるようにするためである。
【図面の簡単な説明】
【００６１】
【図１】本発明に係る非対称型マルチプロセッサシステムを採用したマイコンの構成例を示すブロック図（その１）である。
【図２】本発明に係る非対称型マルチプロセッサシステムを採用したマイコンの構成例を示すブロック図（その２）である。
【図３】本発明に係る非対称型マルチプロセッサシステムを採用したマイコンの構成例を示すブロック図（その３）である。
【図４】本発明に係る非対称型マルチプロセッサシステムを採用したマイコンの構成例を示すブロック図（その４）である。
【図５】本発明に係る非対称型マルチプロセッサシステムを採用したマイコンの構成例を示すブロック図（その５）である。
【図６】本発明に係る非対称型マルチプロセッサシステムを採用したマイコンの構成例を示すブロック図（その６）である。
【符号の説明】
【００６２】
Ｅ      外部監視装置
ＧＰ１〜ＧＰ６  汎用プロセッサ
Ｍ１〜Ｍ６  マイコン
Ｐ、ＳＰ１〜ＳＰ３  管理プロセッサ
Ｐ１０、ＳＰ１０、ＳＰ２０  汎用プロセッサ異常検知手段
ＳＰ１１、ＳＰ２１  管理プロセッサ異常検知手段
【図１】
2008257589.tif 000003
【図２】
2008257589.tif 000004
【図３】
2008257589.tif 000005
【図４】
2008257589.tif 000006
【図５】
2008257589.tif 000007
【図６】
2008257589.tif 000008