JPH05216855A - マルチcpu制御方式 - Google Patents
マルチcpu制御方式Info
- Publication number
- JPH05216855A JPH05216855A JP9218992A JP1899292A JPH05216855A JP H05216855 A JPH05216855 A JP H05216855A JP 9218992 A JP9218992 A JP 9218992A JP 1899292 A JP1899292 A JP 1899292A JP H05216855 A JPH05216855 A JP H05216855A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- abnormal
- cpus
- reset
- notification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】 共通メモリによって密結合構成されデータを
受け渡しするマルチCPU構成のリアルタイム・マルチ
タスクシ ステムの動作監視・起動時の同期方式に関
し、各CPU上が、それぞれの立ち上がりのタイミング
に関わらす常に安定動作を行うとともに、一部のCPU
が異常を起こした後に再起動した際に通常のシステム動
作を再開できるようにすることを目的とする。 【構成】 各CPUは立ち上がり処理時に他のCPUへ
自CPUが動作可能状態になったことを示す通知を出
し、これに対していずれかの他のCPUから正常動作中
である旨の応答があった場合はその応答の中で指定され
た動作を開始するが、他の全てのCPUから正常動作中
である旨の応答がない場合は自CPUが最初に立ち上が
ったとして共有メモリ内の領域を初期化し、該初期化を
完了した後は他の全てのCPUからの通知が一定時間以
内に来れば通常の運用モードに立ち上がるように構成す
る。
受け渡しするマルチCPU構成のリアルタイム・マルチ
タスクシ ステムの動作監視・起動時の同期方式に関
し、各CPU上が、それぞれの立ち上がりのタイミング
に関わらす常に安定動作を行うとともに、一部のCPU
が異常を起こした後に再起動した際に通常のシステム動
作を再開できるようにすることを目的とする。 【構成】 各CPUは立ち上がり処理時に他のCPUへ
自CPUが動作可能状態になったことを示す通知を出
し、これに対していずれかの他のCPUから正常動作中
である旨の応答があった場合はその応答の中で指定され
た動作を開始するが、他の全てのCPUから正常動作中
である旨の応答がない場合は自CPUが最初に立ち上が
ったとして共有メモリ内の領域を初期化し、該初期化を
完了した後は他の全てのCPUからの通知が一定時間以
内に来れば通常の運用モードに立ち上がるように構成す
る。
Description
【0001】
【産業上の利用分野】本発明は、マルチCPU制御方式
に関し、特に共通メモリによって密結合構成されデータ
を受け渡しするマルチCPU構成のリアルタイム・マル
チタスクシステムの動作監視・起動時の同期方式に関す
るものである。
に関し、特に共通メモリによって密結合構成されデータ
を受け渡しするマルチCPU構成のリアルタイム・マル
チタスクシステムの動作監視・起動時の同期方式に関す
るものである。
【0002】近年、オンラインシステムの大規模化に伴
い、オンラインシステムにおいてもマルチCPU構成が
採用されている。このため、システム全体としての動作
を保証するために、各CPUの動作を監視してその異常
の検出や装置立ち上がり時の起動タイミングの同期等が
必要になっている。
い、オンラインシステムにおいてもマルチCPU構成が
採用されている。このため、システム全体としての動作
を保証するために、各CPUの動作を監視してその異常
の検出や装置立ち上がり時の起動タイミングの同期等が
必要になっている。
【0003】
【従来の技術】従来より、密結合のマルチCPU構成で
リアルタイム・マルチタスクシステムを実現する場合は
図1に示すような構成が採られ、共通バスBにより相互
接続されたn(n>1)個のCPU1〜nは、共有メモ
リMを経由して双方向の情報の伝達を行うものである
が、このシステムの立ち上がり時に、共有メモリMの初
期化をどのCPUが行うかを決定する必要がある。
リアルタイム・マルチタスクシステムを実現する場合は
図1に示すような構成が採られ、共通バスBにより相互
接続されたn(n>1)個のCPU1〜nは、共有メモ
リMを経由して双方向の情報の伝達を行うものである
が、このシステムの立ち上がり時に、共有メモリMの初
期化をどのCPUが行うかを決定する必要がある。
【0004】この共有メモリMにおいて情報の伝達に使
用する領域は、システムの立ち上がり時に初期化して良
い領域ばかりではなく、いずれかのCPUの停止中でも
情報を保持する必要がある場合もあるため、オペレーテ
ィングシステム(OS)が一括して初期化するのではな
く、使用方法に応じて各システムのアプリケーションプ
ログラム(ソフトウェア)が初期化する必要があるが、
従来は、どちらのCPUのアプリケーションプログラム
が初期化を行うかを予め固定的に決定していた。
用する領域は、システムの立ち上がり時に初期化して良
い領域ばかりではなく、いずれかのCPUの停止中でも
情報を保持する必要がある場合もあるため、オペレーテ
ィングシステム(OS)が一括して初期化するのではな
く、使用方法に応じて各システムのアプリケーションプ
ログラム(ソフトウェア)が初期化する必要があるが、
従来は、どちらのCPUのアプリケーションプログラム
が初期化を行うかを予め固定的に決定していた。
【0005】また、システムの稼働中に1つのCPU
(例えばCPU1)が動作異常を起こして停止した場
合、他のCPU上のアプリケーションプログラムは、C
PU1上のアプリケーションプログラムが動作不能とな
ったことを正確に検出して所定の処理を行った後、その
CPU1が復旧した時点で、CPU1上のアプリケーシ
ョンプログラムは他のCPU上のアプリケーションプロ
グラムに動作可能であることを通知し通常動作に戻る必
要があるが、従来は、CPU1との間の通信が途絶えた
時点で他のCPUはCPU1の異常を検出しており、ま
た、停止後の処置も固定に行われていた。
(例えばCPU1)が動作異常を起こして停止した場
合、他のCPU上のアプリケーションプログラムは、C
PU1上のアプリケーションプログラムが動作不能とな
ったことを正確に検出して所定の処理を行った後、その
CPU1が復旧した時点で、CPU1上のアプリケーシ
ョンプログラムは他のCPU上のアプリケーションプロ
グラムに動作可能であることを通知し通常動作に戻る必
要があるが、従来は、CPU1との間の通信が途絶えた
時点で他のCPUはCPU1の異常を検出しており、ま
た、停止後の処置も固定に行われていた。
【0006】
【発明が解決しようとする課題】このように従来の方式
では、CPU1が他のCPU、例えばCPUnへ情報伝
達を行う共通メモリMの領域をこのCPUnが初期化す
る場合、CPU1が先に立ち上がって書き込んでおいた
情報を、CPUnが後から立ち上がって初期化すること
で消してしまうことがあり、逆にこのメモリ領域をCP
U1が初期化する場合、先に立ち上がったCPUnが、
初期化されていないメモリ領域におけるCPU1が停止
する前に書き込んだ情報を正しい最新情報として読み込
んでしまう危険性がある。
では、CPU1が他のCPU、例えばCPUnへ情報伝
達を行う共通メモリMの領域をこのCPUnが初期化す
る場合、CPU1が先に立ち上がって書き込んでおいた
情報を、CPUnが後から立ち上がって初期化すること
で消してしまうことがあり、逆にこのメモリ領域をCP
U1が初期化する場合、先に立ち上がったCPUnが、
初期化されていないメモリ領域におけるCPU1が停止
する前に書き込んだ情報を正しい最新情報として読み込
んでしまう危険性がある。
【0007】また、CPU1が復旧した旨の通知が無い
と、システムを通常動作に戻すことができないため、耐
故障性の高いシステムの構築が難しい。
と、システムを通常動作に戻すことができないため、耐
故障性の高いシステムの構築が難しい。
【0008】更に、CPU1の異常を検出した後の他の
CPUの動作も、異常を起こしたCPU1のその後の動
作を監視しながら変化させないと、より一層の信頼度の
向上を図ることができないという問題点があった。
CPUの動作も、異常を起こしたCPU1のその後の動
作を監視しながら変化させないと、より一層の信頼度の
向上を図ることができないという問題点があった。
【0009】従って本発明は、共通メモリによって密結
合構成されデータを受け渡しするマルチCPUの制御方
式において、各CPU上が、それぞれの立ち上がりのタ
イミングに関わらず常に安定動作を行うとともに、一部
のCPUが異常を起こした後に再起動した際に通常のシ
ステム動作を再開できるようにすることを目的とする。
合構成されデータを受け渡しするマルチCPUの制御方
式において、各CPU上が、それぞれの立ち上がりのタ
イミングに関わらず常に安定動作を行うとともに、一部
のCPUが異常を起こした後に再起動した際に通常のシ
ステム動作を再開できるようにすることを目的とする。
【0010】
【課題を解決するための手段及び作用】本発明に係るマ
ルチCPU制御方式のシステム構成は図1と同様のもの
であり、その動作を図2及び図3を参照して以下に説明
する。
ルチCPU制御方式のシステム構成は図1と同様のもの
であり、その動作を図2及び図3を参照して以下に説明
する。
【0011】本発明方式(その1) CPU1〜nは共通バスBで接続されてマルチCPUを
構成しており、共有メモリMは共通バスBに接続された
全CPU1〜nからアクセス可能になっている。各CP
Uはウォッチドッグタイマ(WDT)を内臓し、ウォッ
チドッグタイマのタイムアウト時は自動的に立ち上がる
ようになっており、図2に示す立ち上がり処理(プログ
ラムSR1)が実行開始され、例えばCPU1は立ち上
がり時に他のCPU2〜nへ自CPUが動作可能状態に
なったことを示す通知を行う(ステップS1)。
構成しており、共有メモリMは共通バスBに接続された
全CPU1〜nからアクセス可能になっている。各CP
Uはウォッチドッグタイマ(WDT)を内臓し、ウォッ
チドッグタイマのタイムアウト時は自動的に立ち上がる
ようになっており、図2に示す立ち上がり処理(プログ
ラムSR1)が実行開始され、例えばCPU1は立ち上
がり時に他のCPU2〜nへ自CPUが動作可能状態に
なったことを示す通知を行う(ステップS1)。
【0012】これにより、他のCPU、例えばCPUn
から「正常動作中」である旨の応答が有るか否かを判定
し(ステップS2)、該応答が有った場合はその応答通
知の中で指定された動作を開始する(ステップS3)。
この指定としては、CPUの動作モード(運用/保守
等)の指定等がある。
から「正常動作中」である旨の応答が有るか否かを判定
し(ステップS2)、該応答が有った場合はその応答通
知の中で指定された動作を開始する(ステップS3)。
この指定としては、CPUの動作モード(運用/保守
等)の指定等がある。
【0013】他の全CPU2〜nから「正常動作中」で
ある旨の応答がない場合は、「システム全体の立ち上げ
の中で自CPUが最初に立ち上がった」と判断して、他
CPUとの間で情報を伝達するのに使用する共有メモリ
M内の領域を初期化する(ステップS4)。
ある旨の応答がない場合は、「システム全体の立ち上げ
の中で自CPUが最初に立ち上がった」と判断して、他
CPUとの間で情報を伝達するのに使用する共有メモリ
M内の領域を初期化する(ステップS4)。
【0014】初期化完了後、他CPUからの通知(上記
のステップS1による動作可能通知)を一定時間待ち
(ステップS5)、全CPUから動作可能通知があった
場合は通常の運用モードに立ち上がるよう応答を返し
て、システムを運用モードとする(ステップS6)。
尚、上記の「応答」と「通知」の違いは、前者が自分か
ら通知を出した結果として受ける「通知」であるのに対
して、後者は任意に他のCPUから受ける「通知」であ
る。
のステップS1による動作可能通知)を一定時間待ち
(ステップS5)、全CPUから動作可能通知があった
場合は通常の運用モードに立ち上がるよう応答を返し
て、システムを運用モードとする(ステップS6)。
尚、上記の「応答」と「通知」の違いは、前者が自分か
ら通知を出した結果として受ける「通知」であるのに対
して、後者は任意に他のCPUから受ける「通知」であ
る。
【0015】本発明方式(その2) ステップS5で一定時間待っても動作可能通知の無いC
PU(例えばCPU2)が有る場合は、CPU2は異常
と見做して図3に示す異常時の処理(プログラムSR
2)を実行する。
PU(例えばCPU2)が有る場合は、CPU2は異常
と見做して図3に示す異常時の処理(プログラムSR
2)を実行する。
【0016】この場合、最初に立ち上がったCPU1
は、CPU2がウォッチドッグタイマによるリセットで
立ち上がることを期待して更に一定時間の監視を行い
(ステップS11)、この間にCPU2から立ち上がり
の通知が来ると、CPU1は自CPUが動作中であるこ
ととともに、現在のシステム運転状態等、CPU2の動
作を指定する情報を通知する。これは、図2のステップ
2に対応する処理である。また、必要に応じてCPU2
との通信に必要な領域の初期化等を行ってCPU2を通
常動作に復帰させる(ステップS12)。この時のCP
U2の動作は図2に示した立ち上がり処理時の動作であ
る。
は、CPU2がウォッチドッグタイマによるリセットで
立ち上がることを期待して更に一定時間の監視を行い
(ステップS11)、この間にCPU2から立ち上がり
の通知が来ると、CPU1は自CPUが動作中であるこ
ととともに、現在のシステム運転状態等、CPU2の動
作を指定する情報を通知する。これは、図2のステップ
2に対応する処理である。また、必要に応じてCPU2
との通信に必要な領域の初期化等を行ってCPU2を通
常動作に復帰させる(ステップS12)。この時のCP
U2の動作は図2に示した立ち上がり処理時の動作であ
る。
【0017】本発明方式(その3) ステップS11において一定時間の監視を行ってもCP
U2からの通知が無い場合は、以下のようにCPU2の
強制リセット処理を行う。
U2からの通知が無い場合は、以下のようにCPU2の
強制リセット処理を行う。
【0018】即ち、CPU2の異常によるシステム全体
への影響がCPU2の再立ち上げだけで復旧できるか否
かを判定し(ステップS13)、CPU2の再立ち上げ
だけで復旧できるような場合は、CPU2のみのリセッ
ト処理を行う(ステップS15)が、リセット処理後は
一定時間の監視を行う(ステップS16)。この間にC
PU2から立ち上がりの通知が来れば、CPU1は自C
PUが動作中であること及び現在のシステム運転状態
等、CPU2の動作を指定する情報(ステップS12と
同様)を通知する(ステップS19)。また、必要に応
じてCPU2との通信に必要な共有メモリMの領域の初
期化等を行ってCPU2を通常動作に復帰させる。この
時のCPU2の動作は図2に示した立ち上がり時の動作
である。
への影響がCPU2の再立ち上げだけで復旧できるか否
かを判定し(ステップS13)、CPU2の再立ち上げ
だけで復旧できるような場合は、CPU2のみのリセッ
ト処理を行う(ステップS15)が、リセット処理後は
一定時間の監視を行う(ステップS16)。この間にC
PU2から立ち上がりの通知が来れば、CPU1は自C
PUが動作中であること及び現在のシステム運転状態
等、CPU2の動作を指定する情報(ステップS12と
同様)を通知する(ステップS19)。また、必要に応
じてCPU2との通信に必要な共有メモリMの領域の初
期化等を行ってCPU2を通常動作に復帰させる。この
時のCPU2の動作は図2に示した立ち上がり時の動作
である。
【0019】本発明方式(その4) ステップS16で一定時間の監視を行ってもCPU2か
らの通知がない場合は、リセットする前に記録を残した
上で(ステップS14)、再度CPU2のリセット処理
を行い(ステップS15)、予め設定した回数をこのリ
セット処理の回数が越えたか否かを判定し(ステップS
17)、設定回数だけリセットを繰り返してもCPU2
からの通知が復旧しない場合は、CPU2の恒久的異常
と判断してCPU2を縮退(除外)して運用を継続する
(ステップS18)。
らの通知がない場合は、リセットする前に記録を残した
上で(ステップS14)、再度CPU2のリセット処理
を行い(ステップS15)、予め設定した回数をこのリ
セット処理の回数が越えたか否かを判定し(ステップS
17)、設定回数だけリセットを繰り返してもCPU2
からの通知が復旧しない場合は、CPU2の恒久的異常
と判断してCPU2を縮退(除外)して運用を継続する
(ステップS18)。
【0020】本発明方式(その5) ステップS13において、CPU2の異常の影響範囲が
大きいか、その他の異常も併発しているために一部のC
PUの再立ち上げだけではシステム全体の復旧が困難な
場合は、以下のようにシステム全体のリセット処理を行
う。
大きいか、その他の異常も併発しているために一部のC
PUの再立ち上げだけではシステム全体の復旧が困難な
場合は、以下のようにシステム全体のリセット処理を行
う。
【0021】この処理でも異常なCPU(ここでは上記
の通りCPU2)とリセットを行った回数を記録してお
き(ステップS20)、自CPUを含めて全CPUにお
いてリセット処理が実行され(ステップS21)、続い
て図2に示した立ち上がりの処理(プログラムSR1)
が行われる。該立ち上がり処理後、一定時間以内にCP
U2から立ち上がり通知が来れば(ステップS5及びS
22)、CPU1が上記のように自CPUが動作中であ
ること及びCPU2の動作を指定する情報を通知して通
常動作に復帰させる(ステップS19)。
の通りCPU2)とリセットを行った回数を記録してお
き(ステップS20)、自CPUを含めて全CPUにお
いてリセット処理が実行され(ステップS21)、続い
て図2に示した立ち上がりの処理(プログラムSR1)
が行われる。該立ち上がり処理後、一定時間以内にCP
U2から立ち上がり通知が来れば(ステップS5及びS
22)、CPU1が上記のように自CPUが動作中であ
ること及びCPU2の動作を指定する情報を通知して通
常動作に復帰させる(ステップS19)。
【0022】本発明方式(その6) 上記の立ち上がり処理の中で、一定時間通知のないCP
Uを検出した場合(ステップS5)は、リセット処理を
行う前に記録した情報を使って、リセット前に異常を検
出したのと同じCPU2が再度異常になっていることを
ステップS22で検出したときは、リセット回数の情報
をインクリメントして再度全CPUに対してリセット処
理(ステップS21)を行い、予め設定した回数だけこ
のリセット動作を繰り返してもCPU2からの通知が復
旧しないと判断した場合(ステップS23)は、CPU
2の恒久的異常と判断してCPU2を縮退して(ステッ
プS24)継続できる処理だけを継続する。
Uを検出した場合(ステップS5)は、リセット処理を
行う前に記録した情報を使って、リセット前に異常を検
出したのと同じCPU2が再度異常になっていることを
ステップS22で検出したときは、リセット回数の情報
をインクリメントして再度全CPUに対してリセット処
理(ステップS21)を行い、予め設定した回数だけこ
のリセット動作を繰り返してもCPU2からの通知が復
旧しないと判断した場合(ステップS23)は、CPU
2の恒久的異常と判断してCPU2を縮退して(ステッ
プS24)継続できる処理だけを継続する。
【0023】以上の各方式において、リセット処理は、
複数のCPUからのリセット指令が来たときのみ実行す
るようにすれば、一つのCPUの異常動作によって正常
動作しているCPUをリセットしないようにすることが
できる。
複数のCPUからのリセット指令が来たときのみ実行す
るようにすれば、一つのCPUの異常動作によって正常
動作しているCPUをリセットしないようにすることが
できる。
【0024】このようにして本発明方式では、マルチC
PUの立ち上がり順序に関係無く共有メモリ領域を安全
に初期化することができ、また、システム運用中にいず
れかのCPUが停止状態になってもこれを速やかに検出
してCPUを個別にリセットしたりシステム全体をリセ
ットしたりして通常動作に復旧させることができる。
PUの立ち上がり順序に関係無く共有メモリ領域を安全
に初期化することができ、また、システム運用中にいず
れかのCPUが停止状態になってもこれを速やかに検出
してCPUを個別にリセットしたりシステム全体をリセ
ットしたりして通常動作に復旧させることができる。
【0025】
【実施例】図4は、本発明に係るマルチCPU制御方式
の一実施例を概略的に示したもので、この実施例では、
n=3として、3つのCPU1〜3が用いられ、それぞ
れ共通バスBに接続されており、同様に共有メモリMも
共通バスBに接続されている。
の一実施例を概略的に示したもので、この実施例では、
n=3として、3つのCPU1〜3が用いられ、それぞ
れ共通バスBに接続されており、同様に共有メモリMも
共通バスBに接続されている。
【0026】また、一つのCPUの異常動作によって、
正常動作しているCPUをリセットさせないために、各
CPUには全リセット部4及び個別リセット部5とを有
し、全リセット部4は、自CPUからの書込で自CPU
を含めた全CPUにリセットを行うものであり、個別リ
セット部5は、他のCPUからの書込で自CPUのみを
リセットさせるものである。
正常動作しているCPUをリセットさせないために、各
CPUには全リセット部4及び個別リセット部5とを有
し、全リセット部4は、自CPUからの書込で自CPU
を含めた全CPUにリセットを行うものであり、個別リ
セット部5は、他のCPUからの書込で自CPUのみを
リセットさせるものである。
【0027】図5は図4に示した各CPUの内部の実施
例をより具体的に示したもので、図4の全体リセット部
4及び個別リセット部5はそれぞれレジスタで構成され
ており、全体リセット・レジスタ4はバス・ドライバ6
aを経て共通バスBを構成するリセット線路B1に接続
されており、またこのリセット線路B1はバス・レシー
バ6bを経てCPU内のORゲート7の一方の入力端子
に接続されている。そして、このORゲート7の他方の
入力端子は個別リセット・レジスタ5に接続されてい
る。尚、個別リセット・レジスタ5は共通バスBを構成
するアドレス/データ・バスB2に接続されている。
例をより具体的に示したもので、図4の全体リセット部
4及び個別リセット部5はそれぞれレジスタで構成され
ており、全体リセット・レジスタ4はバス・ドライバ6
aを経て共通バスBを構成するリセット線路B1に接続
されており、またこのリセット線路B1はバス・レシー
バ6bを経てCPU内のORゲート7の一方の入力端子
に接続されている。そして、このORゲート7の他方の
入力端子は個別リセット・レジスタ5に接続されてい
る。尚、個別リセット・レジスタ5は共通バスBを構成
するアドレス/データ・バスB2に接続されている。
【0028】このような実施例において、図3のステッ
プS15に示した該当するCPUのみをリセットする個
別リセット動作のときには、アドレス/データ・バスB
2を介して他のCPUからレジスタ5にリセット命令が
書き込まれ、ORゲート7を介して当該CPUの構成部
分をリセットする。
プS15に示した該当するCPUのみをリセットする個
別リセット動作のときには、アドレス/データ・バスB
2を介して他のCPUからレジスタ5にリセット命令が
書き込まれ、ORゲート7を介して当該CPUの構成部
分をリセットする。
【0029】また、図3のステップS21に示したよう
に自CPUを含めて全てのCPUをリセットするときに
は、CPU内部からのリセット命令が全体リセット・レ
ジスタ4に書き込まれると、レジスタ4はバス・ドライ
バ6a及びバス・レシーバ6b並びにORゲート7を介
して自CPUをリセットすると共にリセット線路B1を
介して他のCPUにおいてもインバータ6b及びORゲ
ート7を介してリセットを掛けることができる。
に自CPUを含めて全てのCPUをリセットするときに
は、CPU内部からのリセット命令が全体リセット・レ
ジスタ4に書き込まれると、レジスタ4はバス・ドライ
バ6a及びバス・レシーバ6b並びにORゲート7を介
して自CPUをリセットすると共にリセット線路B1を
介して他のCPUにおいてもインバータ6b及びORゲ
ート7を介してリセットを掛けることができる。
【0030】尚、一つのCPUの異常動作によって、正
常動作している装置をリセットしないために、各CPU
の個別リセット・レジスタ5は、複数のCPUからの書
込がないと動作しないようにすることができる。これに
よって、一つのCPUの誤動作によって他のCPUが無
用なリセットを受けることを防ぐことができる。
常動作している装置をリセットしないために、各CPU
の個別リセット・レジスタ5は、複数のCPUからの書
込がないと動作しないようにすることができる。これに
よって、一つのCPUの誤動作によって他のCPUが無
用なリセットを受けることを防ぐことができる。
【0031】また、全体リセットレジスタ4を各CPU
に配置せず、共通部に配置することで、全CPUのリセ
ットは、複数のCPUがレジスタ4に書込を行わないと
有効にならないようにする事が出来る。例えばCPU1
がレジスタ4にリセット命令を書き込み、CPU2がレ
ジスタ4にリセット命令を書き込んだ時にはじめて全C
PUにリセットが入るようにすることもできる。
に配置せず、共通部に配置することで、全CPUのリセ
ットは、複数のCPUがレジスタ4に書込を行わないと
有効にならないようにする事が出来る。例えばCPU1
がレジスタ4にリセット命令を書き込み、CPU2がレ
ジスタ4にリセット命令を書き込んだ時にはじめて全C
PUにリセットが入るようにすることもできる。
【0032】
【発明の効果】以上のように本発明に係るマルチCPU
制御方式によれば、各CPUは立ち上がり処理時に他の
CPUへ自CPUが動作可能状態になったことを示す通
知を出し、これに対していずれかの他のCPUから正常
動作中である旨の応答があった場合はその応答の中で指
定された動作を開始するが、他の全てのCPUから正常
動作中である旨の応答がない場合は自CPUが最初に立
ち上がったとして共有メモリ内の領域を初期化し、該初
期化を完了した後は他の全てのCPUからの通知が一定
時間以内に来れば通常の運用モードに立ち上がるように
構成したので、各CPUがどのような順序で立ち上がっ
ても、複数のCPUの共有領域の初期化等を矛盾なく行
うことができる。
制御方式によれば、各CPUは立ち上がり処理時に他の
CPUへ自CPUが動作可能状態になったことを示す通
知を出し、これに対していずれかの他のCPUから正常
動作中である旨の応答があった場合はその応答の中で指
定された動作を開始するが、他の全てのCPUから正常
動作中である旨の応答がない場合は自CPUが最初に立
ち上がったとして共有メモリ内の領域を初期化し、該初
期化を完了した後は他の全てのCPUからの通知が一定
時間以内に来れば通常の運用モードに立ち上がるように
構成したので、各CPUがどのような順序で立ち上がっ
ても、複数のCPUの共有領域の初期化等を矛盾なく行
うことができる。
【0033】また、該初期化を完了したCPUは、一定
時間以内に通知が来ないCPUが有るときには、そのC
PUを異常と見做し、更に一定時間以内に該異常と見做
したCPUから立ち上がりの通知が来たときには、自C
PUが動作中であること及び該異常と見做したCPUの
動作を指定する情報を通知して該CPUを通常動作に復
帰させるように構成することができるので、システム動
作中に一部のCPUが停止しても、それを速やかに検出
できる。
時間以内に通知が来ないCPUが有るときには、そのC
PUを異常と見做し、更に一定時間以内に該異常と見做
したCPUから立ち上がりの通知が来たときには、自C
PUが動作中であること及び該異常と見做したCPUの
動作を指定する情報を通知して該CPUを通常動作に復
帰させるように構成することができるので、システム動
作中に一部のCPUが停止しても、それを速やかに検出
できる。
【0034】更に、異常と見做したCPUから立ち上が
り通知がないとき、該初期化を行ったCPUが、該異常
CPUのみ或いは全CPUに対してリセット処理を行
い、該リセット処理後、一定時間以内に該異常CPUか
ら立ち上がり通知が来れば該初期化を行ったCPUが動
作中であること及び該異常と見做されていたCPUの動
作を指定する情報を該CPUに通知して通常動作に復帰
させるように構成することができるので、異常を検出し
た時に個別のCPUをリセットしたり、全体をリセット
したりして通常動作に復旧させることができ、耐故障性
を高めることができる。
り通知がないとき、該初期化を行ったCPUが、該異常
CPUのみ或いは全CPUに対してリセット処理を行
い、該リセット処理後、一定時間以内に該異常CPUか
ら立ち上がり通知が来れば該初期化を行ったCPUが動
作中であること及び該異常と見做されていたCPUの動
作を指定する情報を該CPUに通知して通常動作に復帰
させるように構成することができるので、異常を検出し
た時に個別のCPUをリセットしたり、全体をリセット
したりして通常動作に復旧させることができ、耐故障性
を高めることができる。
【図1】本発明及び従来例に共通なシステム構成図であ
る。
る。
【図2】本発明に係るマルチCPU制御方式の立ち上が
り処理プログラムを示すフローチャート図である。
り処理プログラムを示すフローチャート図である。
【図3】本発明に係るマルチCPU制御方式の異常処理
プログラムを示すフローチャート図である。
プログラムを示すフローチャート図である。
【図4】本発明に係るマルチCPU制御方式の一実施例
を示すブロック図である。
を示すブロック図である。
【図5】本発明に係るマルチCPU制御方式における各
CPU内部の一実施例を示すブロック図である。
CPU内部の一実施例を示すブロック図である。
1,2,3,n CPU 4 全体リセット部(レジスタ) 5 個別リセット部(レジスタ) M 共有メモリ B 共通バス 図中、同一符号は同一又は相当部分を示す。
Claims (7)
- 【請求項1】 共通メモリ(M) によって密結合構成され
データを受け渡しするマルチCPUの制御方式におい
て、 各CPU(1〜n)は内蔵したウォッチドッグタイマがタイ
ムアウトしたときに自動的に行われる立ち上がり処理時
に他のCPUへ自CPUが動作可能状態になったことを
示す通知を出し、これに対していずれかの他のCPUか
ら正常動作中である旨の応答があった場合はその応答の
中で指定された動作を開始するが、他の全てのCPUか
ら正常動作中である旨の応答がない場合は自CPUが最
初に立ち上がったとして該共有メモリ(M) 内の領域を初
期化し、該初期化を完了した後は他の全てのCPUから
の通知が一定時間以内に来れば通常の運用モードに立ち
上がることを特徴としたマルチCPU制御方式。 - 【請求項2】 請求項1に記載のマルチCPU制御方式
において、該初期化を完了したCPUは、一定時間以内
に通知が来ないCPUが有れば、そのCPUを異常と見
做し、更に一定時間以内に該異常と見做したCPUから
立ち上がりの通知が来たときには、自CPUが動作中で
あること及び該異常と見做したCPUの動作を指定する
情報を通知して該CPUを通常動作に復帰させることを
特徴としたマルチCPU制御方式。 - 【請求項3】 請求項2に記載のマルチCPU制御方式
において、該一定時間の監視を行っても該異常と見做し
たCPUから立ち上がり通知がないとき、更に該異常C
PUの再立ち上げがシステム全体へ影響しなければ、該
初期化を行ったCPUが、該異常CPUのみに対してリ
セット処理を行い、該リセット処理後、一定時間以内に
該異常CPUから立ち上がり通知が来れば該初期化を行
ったCPUが動作中であること及び該異常と見做されて
いたCPUの動作を指定する情報を該CPUに通知して
通常動作に復帰させることを特徴としたマルチCPU制
御方式。 - 【請求項4】 請求項3に記載のマルチCPU制御方式
において、一定時間の監視を行っても該異常CPUから
の立ち上がり通知が来ない場合は、記録を残した上で再
度該異常CPUのリセット処理を行い、予め設定した回
数だけこの動作を繰り返しても該異常CPUからの立ち
上がり通知が来ない場合は、該異常CPUが恒久的に異
常であると判断して該CPUを縮退して運用を継続させ
ることを特徴としたマルチCPU制御方式。 - 【請求項5】 請求項2に記載のマルチCPU制御方式
において、該異常CPUの再立ち上げがシステム全体へ
影響する場合には、該初期化を行ったCPUは自CPU
を含めて全CPUをリセット処理して前記立ち上がり処
理を行い、該立ち上がり処理後、一定時間以内に該異常
CPUから立ち上がり通知が来れば該初期化を行ったC
PUが自CPUが動作中であること及び該異常とされて
いたCPUの動作を指定する情報を通知して通常動作に
復帰させることを特徴としたマルチCPU制御方式。 - 【請求項6】 請求項5に記載のマルチCPU制御方式
において、該立ち上がり処理後、一定時間以内に該異常
CPUから再度立ち上がり通知が来なければリセット回
数を記録した上で再度該異常CPUのリセット処理を行
い、予め設定した回数だけこの動作を繰り返しても該異
常CPUからの立ち上がり通知が来ない場合は、該異常
CPUが恒久的に異常であると判断して該CPUを縮退
して運用を継続することを特徴としたマルチCPU制御
方式。 - 【請求項7】 請求項6に記載のマルチCPU制御方式
において、該リセット処理は、複数のCPUからのリセ
ット指令が来たときのみ実行するようにしたことを特徴
としたマルチCPU制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9218992A JPH05216855A (ja) | 1992-02-04 | 1992-02-04 | マルチcpu制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9218992A JPH05216855A (ja) | 1992-02-04 | 1992-02-04 | マルチcpu制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05216855A true JPH05216855A (ja) | 1993-08-27 |
Family
ID=11987070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9218992A Pending JPH05216855A (ja) | 1992-02-04 | 1992-02-04 | マルチcpu制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05216855A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001014290A (ja) * | 1999-06-28 | 2001-01-19 | Fujitsu Ltd | マルチプロセッサシステム |
JP2009003862A (ja) * | 2007-06-25 | 2009-01-08 | Hitachi Industrial Equipment Systems Co Ltd | 複数コンポーネントシステム |
JP2010061419A (ja) * | 2008-09-04 | 2010-03-18 | Hitachi Ltd | 制御装置 |
JP2012198805A (ja) * | 2011-03-22 | 2012-10-18 | Denso Corp | 制御装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62174838A (ja) * | 1986-01-28 | 1987-07-31 | Nec Corp | マルチプロセサ・システムに於けるプロセサ障害検出方法 |
JPH0217563A (ja) * | 1988-07-06 | 1990-01-22 | Fuji Electric Co Ltd | 共有メモリの初期化方法 |
JPH0275056A (ja) * | 1988-09-12 | 1990-03-14 | Fujitsu Ltd | 計算機の初期化方式 |
JPH03191462A (ja) * | 1989-12-20 | 1991-08-21 | Nec Corp | プロセッサ間状態通知方式 |
JPH03269759A (ja) * | 1990-03-20 | 1991-12-02 | Fujitsu Ltd | マルチプロセッサ制御方式 |
-
1992
- 1992-02-04 JP JP9218992A patent/JPH05216855A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62174838A (ja) * | 1986-01-28 | 1987-07-31 | Nec Corp | マルチプロセサ・システムに於けるプロセサ障害検出方法 |
JPH0217563A (ja) * | 1988-07-06 | 1990-01-22 | Fuji Electric Co Ltd | 共有メモリの初期化方法 |
JPH0275056A (ja) * | 1988-09-12 | 1990-03-14 | Fujitsu Ltd | 計算機の初期化方式 |
JPH03191462A (ja) * | 1989-12-20 | 1991-08-21 | Nec Corp | プロセッサ間状態通知方式 |
JPH03269759A (ja) * | 1990-03-20 | 1991-12-02 | Fujitsu Ltd | マルチプロセッサ制御方式 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001014290A (ja) * | 1999-06-28 | 2001-01-19 | Fujitsu Ltd | マルチプロセッサシステム |
JP2009003862A (ja) * | 2007-06-25 | 2009-01-08 | Hitachi Industrial Equipment Systems Co Ltd | 複数コンポーネントシステム |
JP2010061419A (ja) * | 2008-09-04 | 2010-03-18 | Hitachi Ltd | 制御装置 |
JP2012198805A (ja) * | 2011-03-22 | 2012-10-18 | Denso Corp | 制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3982353B2 (ja) | フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム | |
US7716520B2 (en) | Multi-CPU computer and method of restarting system | |
US6622263B1 (en) | Method and apparatus for achieving system-directed checkpointing without specialized hardware assistance | |
US7496786B2 (en) | Systems and methods for maintaining lock step operation | |
JP5347414B2 (ja) | 同期制御装置,情報処理装置及び同期管理方法 | |
US6012154A (en) | Method and apparatus for detecting and recovering from computer system malfunction | |
EP0433979A2 (en) | Fault-tolerant computer system with/config filesystem | |
JPH01154243A (ja) | 耐欠陥性でない要素と耐欠陥性システムとのインターフェイス | |
JPH0950424A (ja) | ダンプ採取装置およびダンプ採取方法 | |
CN114116280A (zh) | 交互式bmc自恢复方法、***、终端及存储介质 | |
JP3301992B2 (ja) | 電源故障対策を備えたコンピュータシステム及びその動作方法 | |
JP3991590B2 (ja) | 計算機システム及び計算機システムにおける障害処理方法 | |
US10360115B2 (en) | Monitoring device, fault-tolerant system, and control method | |
JPH05216855A (ja) | マルチcpu制御方式 | |
JP2003186697A (ja) | 周辺デバイス試験システム及び方法 | |
JP2001101032A (ja) | 異種os間制御によるos監視方式 | |
US5204964A (en) | Method and apparatus for resetting a memory upon power recovery | |
JP2003256240A (ja) | 情報処理装置及びその障害回復方法 | |
JPH10116261A (ja) | 並列計算機システムのチェックポイントリスタート方法 | |
JP3536293B2 (ja) | 二重化コンピュータ装置 | |
JP2785992B2 (ja) | サーバプログラムの管理処理方式 | |
JP4633553B2 (ja) | デバッグシステム、デバッグ方法およびプログラム | |
CN108415788B (zh) | 用于对无响应处理电路作出响应的数据处理设备和方法 | |
JP2001175545A (ja) | サーバシステムおよび障害診断方法ならびに記録媒体 | |
JPH0635880A (ja) | マイクロプロセッサ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19980407 |