JPH0736720A - 二重化コンピュータ装置 - Google Patents
二重化コンピュータ装置Info
- Publication number
- JPH0736720A JPH0736720A JP5178928A JP17892893A JPH0736720A JP H0736720 A JPH0736720 A JP H0736720A JP 5178928 A JP5178928 A JP 5178928A JP 17892893 A JP17892893 A JP 17892893A JP H0736720 A JPH0736720 A JP H0736720A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- cpu
- execution
- program
- devices
- 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)
Abstract
(57)【要約】
【目的】大がかりなシステムを構築しなくとも、制御側
がダウンしたような場合における待機側プロセツサ装置
への制御動作の切替えを、継続性を維持しながら即座に
行うことができるようにする。 【構成】各プロセッサ装置に、OS実行メモリ手段と、
プログラム実行メモリ手段と、CPU装置と、プログラ
ムの起動によりスタートしそのプログラムの実行ステッ
プ数をカウントすると共にCPU装置への割り込みによ
りそれまで実行したステップ数を記憶するステップカウ
ント手段と、割り込みにより中断したプログラムの再起
動時に、自身のステップカウント手段が記憶する実行ス
テップ数と相手プロセッサ装置内のステップカウント手
段が記憶する実行ステップ数とを比較し、その差が所定
の値より大きい場合一方のプロセッサ装置側のCPU装
置を先行させて動作させ、双方のプロセッサ装置のCP
U装置が同時にプログラムの実行を開始するように制御
する同期ずれ調整手段を備えて構成される。
がダウンしたような場合における待機側プロセツサ装置
への制御動作の切替えを、継続性を維持しながら即座に
行うことができるようにする。 【構成】各プロセッサ装置に、OS実行メモリ手段と、
プログラム実行メモリ手段と、CPU装置と、プログラ
ムの起動によりスタートしそのプログラムの実行ステッ
プ数をカウントすると共にCPU装置への割り込みによ
りそれまで実行したステップ数を記憶するステップカウ
ント手段と、割り込みにより中断したプログラムの再起
動時に、自身のステップカウント手段が記憶する実行ス
テップ数と相手プロセッサ装置内のステップカウント手
段が記憶する実行ステップ数とを比較し、その差が所定
の値より大きい場合一方のプロセッサ装置側のCPU装
置を先行させて動作させ、双方のプロセッサ装置のCP
U装置が同時にプログラムの実行を開始するように制御
する同期ずれ調整手段を備えて構成される。
Description
【0001】
【産業上の利用分野】本発明は、プロセスの制御のため
に適用される二重化コンピュータ装置に関し、更に詳し
くは、単体で実行可能な2つのプロセッサ装置をシステ
ムバスで結合し、2つのプロセッサ装置のいずれからも
システムバスに接続された入出力装置に対してアクセス
することができるように構成した二重化コンピュータ装
置に関する。
に適用される二重化コンピュータ装置に関し、更に詳し
くは、単体で実行可能な2つのプロセッサ装置をシステ
ムバスで結合し、2つのプロセッサ装置のいずれからも
システムバスに接続された入出力装置に対してアクセス
することができるように構成した二重化コンピュータ装
置に関する。
【0002】
【従来の技術】プロセス制御を行うプロセッサ装置にお
いては、信頼性を高めるためにプロセス制御演算を行う
プロセッサ装置を二重化構成とし、一方のプロセッサ装
置の故障に備えて他方のプロセッサ装置からも入出力装
置に対してアクセスが行えるように構成した二重化コン
ピュータ装置が広く実用化されている。
いては、信頼性を高めるためにプロセス制御演算を行う
プロセッサ装置を二重化構成とし、一方のプロセッサ装
置の故障に備えて他方のプロセッサ装置からも入出力装
置に対してアクセスが行えるように構成した二重化コン
ピュータ装置が広く実用化されている。
【0003】この様な二重化コンピュータ装置を構成す
る場合、2つのプロセッサ装置をどの様に結合して動作
させるかが課題となるが、従来考えられている結合方式
として、以下のものがある。 (a)2つのプロセッサ装置を、互いに同期をとりなが
ら同一のソフトウェアにより動作させると共に、これら
のプロセッサ装置につながる入出力装置(I/O)も二
重化構成とし、双方で常に同期をとるように構成する。 (b)2つのプロセッサ装置で、同一のソフトウェアを
制御側と待機側とで分けて動作させる。2つのプロセッ
サ装置内の各CPUは、独立して動作する。入出力装置
は、プロセッサ装置の外部に信号を出力する場合は制御
側が動作し、それ以外の内部で動作が完結する処理は、
各プロセッサ装置で独立してその処理を実行する。制御
側にあるプロセッサ装置による処理は、システムの任意
のタイミングで待機側となっているプロセッサ装置へ等
値化する。待機側のプロセッサ装置は、常にこの等値化
による処理を実行しながら、制御側のプロセッサ装置の
ダウンに備える。 (c)2つのプロセッサ装置で、同一のソフトウェアを
制御側と待機側とで分けて動作させる。2つのプロセッ
サ装置内の各CPU装置は、独立して動作する。入出力
装置は、制御側でのみ動作し、もう片方は実行可能な状
態で待機しておく。制御側にあるプロセッサ装置による
処理で操作したデータに関しては、制御側にあるプロセ
ッサ装置のアプリケーションソフトウェアが、任意のタ
イミングで待機側となっているプロセッサ装置へ等値化
する。待機側のプロセッサ装置は、常にこの等値化によ
る処理を実行しながら、制御側のプロセッサ装置のダウ
ンに備える。制御側のプロセッサ装置がダウンした場合
は、等値化した内容に従って処理を継続する。 (d)2つのプロセッサ装置で、同一もしくは独自のソ
フトウェアを独立して動作させる。2つのプロセッサ装
置は、お互いの装置のアプリケーションソフトウェア間
で、任意のタイミングで同期通信を行い、制御側のプロ
セッサ装置がダウンした場合は、それまで待機側にあっ
たプロセッサ装置が代行する。
る場合、2つのプロセッサ装置をどの様に結合して動作
させるかが課題となるが、従来考えられている結合方式
として、以下のものがある。 (a)2つのプロセッサ装置を、互いに同期をとりなが
ら同一のソフトウェアにより動作させると共に、これら
のプロセッサ装置につながる入出力装置(I/O)も二
重化構成とし、双方で常に同期をとるように構成する。 (b)2つのプロセッサ装置で、同一のソフトウェアを
制御側と待機側とで分けて動作させる。2つのプロセッ
サ装置内の各CPUは、独立して動作する。入出力装置
は、プロセッサ装置の外部に信号を出力する場合は制御
側が動作し、それ以外の内部で動作が完結する処理は、
各プロセッサ装置で独立してその処理を実行する。制御
側にあるプロセッサ装置による処理は、システムの任意
のタイミングで待機側となっているプロセッサ装置へ等
値化する。待機側のプロセッサ装置は、常にこの等値化
による処理を実行しながら、制御側のプロセッサ装置の
ダウンに備える。 (c)2つのプロセッサ装置で、同一のソフトウェアを
制御側と待機側とで分けて動作させる。2つのプロセッ
サ装置内の各CPU装置は、独立して動作する。入出力
装置は、制御側でのみ動作し、もう片方は実行可能な状
態で待機しておく。制御側にあるプロセッサ装置による
処理で操作したデータに関しては、制御側にあるプロセ
ッサ装置のアプリケーションソフトウェアが、任意のタ
イミングで待機側となっているプロセッサ装置へ等値化
する。待機側のプロセッサ装置は、常にこの等値化によ
る処理を実行しながら、制御側のプロセッサ装置のダウ
ンに備える。制御側のプロセッサ装置がダウンした場合
は、等値化した内容に従って処理を継続する。 (d)2つのプロセッサ装置で、同一もしくは独自のソ
フトウェアを独立して動作させる。2つのプロセッサ装
置は、お互いの装置のアプリケーションソフトウェア間
で、任意のタイミングで同期通信を行い、制御側のプロ
セッサ装置がダウンした場合は、それまで待機側にあっ
たプロセッサ装置が代行する。
【0004】
【発明が解決しようとする課題】2つのプロセッサ装置
を、前述したように結合する従来方式において、(a)
の方式は、プロセッサ装置内の各CPU間でインストラ
クションの度に同期をとる必要があり、CPUの処理ス
ピードが著しく低下するという問題がある。(b)の方
式は、実行状態にあるプロセッサ装置から待機側となっ
ていたプロセッサ装置に実行権が切り替えられた際、そ
れまで待機側となっていたプロセッサ装置は、すでに実
行済みの処理を再び実行することになる。この時、待機
実行のための時間を必要とするため、リアルタイム性を
要求されるようなプロセス制御システムとしては不向き
である。
を、前述したように結合する従来方式において、(a)
の方式は、プロセッサ装置内の各CPU間でインストラ
クションの度に同期をとる必要があり、CPUの処理ス
ピードが著しく低下するという問題がある。(b)の方
式は、実行状態にあるプロセッサ装置から待機側となっ
ていたプロセッサ装置に実行権が切り替えられた際、そ
れまで待機側となっていたプロセッサ装置は、すでに実
行済みの処理を再び実行することになる。この時、待機
実行のための時間を必要とするため、リアルタイム性を
要求されるようなプロセス制御システムとしては不向き
である。
【0005】(c)の方式は、等値化するデータの設計
が複雑となり、特に高級言語を使用して作成されたアプ
リケーションソフトウェアでは、データエリアをどのよ
うにとるかはコンパイラが決定することであるために、
対応が困難になるという問題がある。(d)の方式は、
お互いの装置のアプリケーションソフトウェアによって
のみ二重化の切替えを実現することになるために、汎用
的な二重化構成のシステムとは言えない。
が複雑となり、特に高級言語を使用して作成されたアプ
リケーションソフトウェアでは、データエリアをどのよ
うにとるかはコンパイラが決定することであるために、
対応が困難になるという問題がある。(d)の方式は、
お互いの装置のアプリケーションソフトウェアによって
のみ二重化の切替えを実現することになるために、汎用
的な二重化構成のシステムとは言えない。
【0006】本発明は、これらの点に鑑みてなされたも
ので、二重化構成としたプロセッサ装置において、オペ
レーションシステム(OS)の管理下で動作するアプリ
ケーションソフトウェアに、二重化の意識をさせること
なく、従って、二重化切替え制御のための構成が簡単
で、信頼性の高い二重化プロセッサ装置を提供すること
を目的とする。
ので、二重化構成としたプロセッサ装置において、オペ
レーションシステム(OS)の管理下で動作するアプリ
ケーションソフトウェアに、二重化の意識をさせること
なく、従って、二重化切替え制御のための構成が簡単
で、信頼性の高い二重化プロセッサ装置を提供すること
を目的とする。
【0007】また、本発明の他の目的は、前述した目的
を達成するために本願発明者らが先に、特願平5−26
581号にて提案した二重化コンピュータ装置に改良を
加えたものであって、OSの機能をあまり使用しないで
動作するようなアプリケーションソフトウェアの場合で
も、2つのプロセッサ装置で同期実行が行えるようにし
た二重化コンピュータ装置を提供することを目的とす
る。
を達成するために本願発明者らが先に、特願平5−26
581号にて提案した二重化コンピュータ装置に改良を
加えたものであって、OSの機能をあまり使用しないで
動作するようなアプリケーションソフトウェアの場合で
も、2つのプロセッサ装置で同期実行が行えるようにし
た二重化コンピュータ装置を提供することを目的とす
る。
【0008】
【課題を解決するための手段】この様な目的を達成する
本発明は、単体で実行可能な2つのプロセッサ装置をシ
ステムバスで結合した二重化コンピュータ装置であっ
て、各プロセッサ装置に、オペレーティングシステムを
格納したOS実行メモリ手段と、オペレーティングシス
テムの機能を使用(システムコール)しながら動作する
アプリケーションプログラムを格納したプログラム実行
メモリ手段と、前記各メモリに格納されているプログラ
ムに従って動作するCPU装置と、このCPU装置が実
行するプログラムの起動によりスタートし当該プログラ
ムの実行ステップ数をカウントすると共にCPU装置へ
の割り込みによりそれまで実行したステップ数を記憶す
るステップカウント手段と、前記割り込みにより中断し
たプログラムの再起動時に、自身のステップカウント手
段が記憶する実行ステップ数と相手プロセッサ装置内の
ステップカウント手段が記憶する実行ステップ数とを比
較し、その差が所定の値より大きい場合実行ステップ数
が少ないプロセッサ装置側のCPU装置に対して前記差
のステップ数だけ先に動作を開始させ、双方のプロセッ
サ装置のCPU装置が同期して動作するように制御する
同期ずれ調整手段と、自身のCPU装置が受けた割り込
みを相手側プロセッサ装置内のCPU装置に伝えるプロ
セス装置間割り込み発生手段とを備えたことを特徴とす
る二重化コンピュータ装置である。
本発明は、単体で実行可能な2つのプロセッサ装置をシ
ステムバスで結合した二重化コンピュータ装置であっ
て、各プロセッサ装置に、オペレーティングシステムを
格納したOS実行メモリ手段と、オペレーティングシス
テムの機能を使用(システムコール)しながら動作する
アプリケーションプログラムを格納したプログラム実行
メモリ手段と、前記各メモリに格納されているプログラ
ムに従って動作するCPU装置と、このCPU装置が実
行するプログラムの起動によりスタートし当該プログラ
ムの実行ステップ数をカウントすると共にCPU装置へ
の割り込みによりそれまで実行したステップ数を記憶す
るステップカウント手段と、前記割り込みにより中断し
たプログラムの再起動時に、自身のステップカウント手
段が記憶する実行ステップ数と相手プロセッサ装置内の
ステップカウント手段が記憶する実行ステップ数とを比
較し、その差が所定の値より大きい場合実行ステップ数
が少ないプロセッサ装置側のCPU装置に対して前記差
のステップ数だけ先に動作を開始させ、双方のプロセッ
サ装置のCPU装置が同期して動作するように制御する
同期ずれ調整手段と、自身のCPU装置が受けた割り込
みを相手側プロセッサ装置内のCPU装置に伝えるプロ
セス装置間割り込み発生手段とを備えたことを特徴とす
る二重化コンピュータ装置である。
【0009】
【作用】各プロセッサ装置において、通常の動作はプロ
グラム実行メモリ手段に格納されているアプリケーショ
ンプログラムが、OSの機能を使用しながら動作してい
る。ステップカウント手段は、CPU装置が実行するア
プリケーションプログラムの実行ステップをカウントし
ていて、CPU装置への割り込みにより処理が中断され
た時に、それまで動作した実行ステップ数を記憶する。
グラム実行メモリ手段に格納されているアプリケーショ
ンプログラムが、OSの機能を使用しながら動作してい
る。ステップカウント手段は、CPU装置が実行するア
プリケーションプログラムの実行ステップをカウントし
ていて、CPU装置への割り込みにより処理が中断され
た時に、それまで動作した実行ステップ数を記憶する。
【0010】同期ずれ調整手段は、割り込みにより実行
プログラムの処理が中断した後、再びそれが起動された
時に、各ステップカウント装置が記憶している実行ステ
ップ数を読みだして比較し、双方のCPU装置で実行さ
れているアプリケーションプログラムの実行ステップ数
に許容される以上の差がある場合、遅れている片方のC
PU装置を先に起動させて双方のCPU装置が同期動作
するように制御する。
プログラムの処理が中断した後、再びそれが起動された
時に、各ステップカウント装置が記憶している実行ステ
ップ数を読みだして比較し、双方のCPU装置で実行さ
れているアプリケーションプログラムの実行ステップ数
に許容される以上の差がある場合、遅れている片方のC
PU装置を先に起動させて双方のCPU装置が同期動作
するように制御する。
【0011】これにより、2つのプロセッサ装置は、常
に同期がとられて同様の処理を実行することとなり、一
方のプロセッサ装置がダウンした場合に他方のプロセッ
サ装置がその動作を継続して引き継ぐことができる。
に同期がとられて同様の処理を実行することとなり、一
方のプロセッサ装置がダウンした場合に他方のプロセッ
サ装置がその動作を継続して引き継ぐことができる。
【0012】
【実施例】以下図面を用いて本発明の一実施例を詳細に
説明する。図1は、本発明に係わる装置の基本的な機能
を示す機能ブロック図である。図において、MD1,M
D2はそれぞれ単体で実行可能な2つのプロセッサ装置
で、互いにシステムバスSBにより結合しており、実際
に制御に関与しているI/O装置をどちらがアクセスす
るかにより制御側と待機側とに分けられる構成となって
いて、ここでは、例えばプロセッサ装置MD1側が実作
業(制御)につき、他方のプロセッサ装置MD2側が待
機する側となっていることを想定する。
説明する。図1は、本発明に係わる装置の基本的な機能
を示す機能ブロック図である。図において、MD1,M
D2はそれぞれ単体で実行可能な2つのプロセッサ装置
で、互いにシステムバスSBにより結合しており、実際
に制御に関与しているI/O装置をどちらがアクセスす
るかにより制御側と待機側とに分けられる構成となって
いて、ここでは、例えばプロセッサ装置MD1側が実作
業(制御)につき、他方のプロセッサ装置MD2側が待
機する側となっていることを想定する。
【0013】各プロセッサ装置MD1,MD2は、オペ
レーションシステム(OS)の管理下で動作する汎用化
された言語(例えばC言語)で記述されたアプリケーシ
ョンソフトウェアに従って、データの処理や制御を行う
ように構成されている。また、各プロセッサ装置は、外
部からの割り込み処理以外に、OSによる多重実行の発
生はなく、アプリケーションプログラムが連続に実行す
る処理を中断するのは、そのアプリケーションプログラ
ムがOSをコールするか、又は、OSが動作するような
処理を実行した場合のみであり、また、各プログラム間
でのデータの授受および通信は、全てOSを経由して行
われるように構成されている。
レーションシステム(OS)の管理下で動作する汎用化
された言語(例えばC言語)で記述されたアプリケーシ
ョンソフトウェアに従って、データの処理や制御を行う
ように構成されている。また、各プロセッサ装置は、外
部からの割り込み処理以外に、OSによる多重実行の発
生はなく、アプリケーションプログラムが連続に実行す
る処理を中断するのは、そのアプリケーションプログラ
ムがOSをコールするか、又は、OSが動作するような
処理を実行した場合のみであり、また、各プログラム間
でのデータの授受および通信は、全てOSを経由して行
われるように構成されている。
【0014】各プロセッサ装置MD1,MD2におい
て、11はOSを格納したOS実行メモリ手段、12は
アプリケーションプログラムを格納したプログラム実行
メモリ手段である。ここに格納されているアプリケーシ
ョンプログラムは、OSの機能を使用しながら(システ
ムコールを行いながら)動作するもので、各種のアプリ
ケーションに応じて用意されるが、その設計あるいは作
成は、二重化処理を意識することなく行われる。13は
各メモリ手段11,12に格納されている各プログラム
に従って動作するCPU装置で、データの演算処理,各
種の制御や通信処理などを行う機能を有している。
て、11はOSを格納したOS実行メモリ手段、12は
アプリケーションプログラムを格納したプログラム実行
メモリ手段である。ここに格納されているアプリケーシ
ョンプログラムは、OSの機能を使用しながら(システ
ムコールを行いながら)動作するもので、各種のアプリ
ケーションに応じて用意されるが、その設計あるいは作
成は、二重化処理を意識することなく行われる。13は
各メモリ手段11,12に格納されている各プログラム
に従って動作するCPU装置で、データの演算処理,各
種の制御や通信処理などを行う機能を有している。
【0015】14は各プロセッサ装置MD1,MD2に
対応して設けられている入出力装置(I/O装置)であ
る。ここでは、2つのプロセッサ装置を結ぶシステムバ
スSBに接続され、各プロセッサ装置内に設けている例
を示すが、プロセッサ装置の外部に設けられるものでも
よく、また、各プロセッサ装置にそれぞれ独立して結合
し、独自に動作するものでもよい。
対応して設けられている入出力装置(I/O装置)であ
る。ここでは、2つのプロセッサ装置を結ぶシステムバ
スSBに接続され、各プロセッサ装置内に設けている例
を示すが、プロセッサ装置の外部に設けられるものでも
よく、また、各プロセッサ装置にそれぞれ独立して結合
し、独自に動作するものでもよい。
【0016】15は自身のプロセッサ装置が実作業に関
与しているとき、I/O装置14から割り込みを受けた
場合、待機状態にある相手のプロセッサ装置側に対し
て、同様の割り込みを行うプロセス装置間割り込み発生
手段である。待機側プロセッサ装置は、制御側のプロセ
ス装置間割り込み発生手段15による割り込みを受ける
と、自身のCPU装置に対して、疑似的な割り込みを発
生させ、制御側と同様の割り込み処理を行う。この場合
の割り込み処理は、通常はアプリケーションの動作とは
全く非同期に行われることになる。
与しているとき、I/O装置14から割り込みを受けた
場合、待機状態にある相手のプロセッサ装置側に対し
て、同様の割り込みを行うプロセス装置間割り込み発生
手段である。待機側プロセッサ装置は、制御側のプロセ
ス装置間割り込み発生手段15による割り込みを受ける
と、自身のCPU装置に対して、疑似的な割り込みを発
生させ、制御側と同様の割り込み処理を行う。この場合
の割り込み処理は、通常はアプリケーションの動作とは
全く非同期に行われることになる。
【0017】16はステップカウント手段で、CPU装
置13が実行するアプリケーションプログラムの起動に
よりスタートし、ラン(RUN)サイクル信号を受けて
そのプログラムの実行ステップ数をカウントすると共
に、CPU装置13へ割り込みがあるまで実行したステ
ップ数を記憶するように構成されている。17は同期ず
れ調整手段で、CPU装置13への割り込みにより中断
したプログラムの再起動時に、自身のステップカウント
手段16が記憶する実行ステップ数と相手プロセッサ装
置内のステップカウント手段が記憶する実行ステップ数
とを読みだして比較する機能、ステップ数の差が所定の
値より大きい場合実行ステップ数が少ないプロセッサ装
置側のCPU装置に対して差のステップ数だけ先に動作
を開始させ、双方のプロセッサ装置のCPU装置が同期
して動作するように制御する機能、同期動作が開始され
た時点でステップカウント手段16を再びスタートさせ
る機能を備えて構成されている。
置13が実行するアプリケーションプログラムの起動に
よりスタートし、ラン(RUN)サイクル信号を受けて
そのプログラムの実行ステップ数をカウントすると共
に、CPU装置13へ割り込みがあるまで実行したステ
ップ数を記憶するように構成されている。17は同期ず
れ調整手段で、CPU装置13への割り込みにより中断
したプログラムの再起動時に、自身のステップカウント
手段16が記憶する実行ステップ数と相手プロセッサ装
置内のステップカウント手段が記憶する実行ステップ数
とを読みだして比較する機能、ステップ数の差が所定の
値より大きい場合実行ステップ数が少ないプロセッサ装
置側のCPU装置に対して差のステップ数だけ先に動作
を開始させ、双方のプロセッサ装置のCPU装置が同期
して動作するように制御する機能、同期動作が開始され
た時点でステップカウント手段16を再びスタートさせ
る機能を備えて構成されている。
【0018】2つのプロセッサ装置MD1,MD2は、
制御側も待機側もそれぞれのCPU装置13によって独
自に動作しているが、各プロセッサ装置は、いずれも1
つのCPU装置で動作しているために、それらの動作が
正常に行われていれば、互いの動作は同期したものとな
る。しかしながら、一方のプロセッサ装置において、割
り込み処理などが継続して発生すると、双方のプロセッ
サ装置の同期動作が少しづつずれてくる。
制御側も待機側もそれぞれのCPU装置13によって独
自に動作しているが、各プロセッサ装置は、いずれも1
つのCPU装置で動作しているために、それらの動作が
正常に行われていれば、互いの動作は同期したものとな
る。しかしながら、一方のプロセッサ装置において、割
り込み処理などが継続して発生すると、双方のプロセッ
サ装置の同期動作が少しづつずれてくる。
【0019】本願発明者らが先に、特願平5−2658
1号にて提案した二重化コンピュータ装置は、この点の
解決策として、同期をとる動作を、アプリケーションプ
ログラムがシステムコールを実行した時(OSがコール
されるたびに)、双方のプロセッサ装置で待ち合わせを
行うように構成してある。なお、待ち合わせが行われる
場合としては、CPU装置13から割り込みが発生した
場合、プロセッサ装置が自身のI/O装置14に対して
アクセスを行った(この場合、制御側から待機側にデー
タ転送が行われる)場合、プログラム実行メモリ手段1
2で動作するプログラムからのI/O装置14に対して
アクセス要求を行った場合等である。
1号にて提案した二重化コンピュータ装置は、この点の
解決策として、同期をとる動作を、アプリケーションプ
ログラムがシステムコールを実行した時(OSがコール
されるたびに)、双方のプロセッサ装置で待ち合わせを
行うように構成してある。なお、待ち合わせが行われる
場合としては、CPU装置13から割り込みが発生した
場合、プロセッサ装置が自身のI/O装置14に対して
アクセスを行った(この場合、制御側から待機側にデー
タ転送が行われる)場合、プログラム実行メモリ手段1
2で動作するプログラムからのI/O装置14に対して
アクセス要求を行った場合等である。
【0020】ここで、アプリケーションプログラムがシ
ステムコールを長時間行わない場合には、双方のプロセ
ッサ装置でのアプリケーションプログラムの実行処理が
徐々にずれていく(双方のプロセッサ装置での同期ずれ
が生ずる)可能性がある。本発明の装置においては、ス
テップカウント手段16と同期ずれ調整手段17とを設
けた構成により、アプリケーションプログラムがシステ
ムコールを長時間行わない場合であっても、同期ずれが
生じないようにしている。
ステムコールを長時間行わない場合には、双方のプロセ
ッサ装置でのアプリケーションプログラムの実行処理が
徐々にずれていく(双方のプロセッサ装置での同期ずれ
が生ずる)可能性がある。本発明の装置においては、ス
テップカウント手段16と同期ずれ調整手段17とを設
けた構成により、アプリケーションプログラムがシステ
ムコールを長時間行わない場合であっても、同期ずれが
生じないようにしている。
【0021】図2は、本発明の一実施装置の主要な構成
ブロック図である。各プロセッサMD1,MD2は、い
ずれも、マイクロプロセッサMPと主記憶手段MEとか
らなり、これらはいずれも共通のシステムバスSBを介
して互いに結合している。各マイクロプロセッサMP内
には、アプリケーションプログラムに従ってデータの演
算処理,各種の制御や通信処理などを行う機能を備えた
CPU実行制御手段13、プロセッサ間割り込み発生手
段15、ステップカウント手段16、同期ずれ調整手段
17が設けられている。主記憶手段ME内には、OS実
行メモリ手段11とプログラム実行メモリ手段12とし
て機能する領域が用意されている。
ブロック図である。各プロセッサMD1,MD2は、い
ずれも、マイクロプロセッサMPと主記憶手段MEとか
らなり、これらはいずれも共通のシステムバスSBを介
して互いに結合している。各マイクロプロセッサMP内
には、アプリケーションプログラムに従ってデータの演
算処理,各種の制御や通信処理などを行う機能を備えた
CPU実行制御手段13、プロセッサ間割り込み発生手
段15、ステップカウント手段16、同期ずれ調整手段
17が設けられている。主記憶手段ME内には、OS実
行メモリ手段11とプログラム実行メモリ手段12とし
て機能する領域が用意されている。
【0022】なお、システムバスSBは二重化構成と
し、システムバスのいずれかが故障した場合には、他方
のシステムバスを用いて各プロセッサ装置から各I/O
装置へアクセスできるような構成としてもよい。図3
は、2つのプロセッサ装置が同期して動作するためのソ
フトウェア構成を示す概念図である。
し、システムバスのいずれかが故障した場合には、他方
のシステムバスを用いて各プロセッサ装置から各I/O
装置へアクセスできるような構成としてもよい。図3
は、2つのプロセッサ装置が同期して動作するためのソ
フトウェア構成を示す概念図である。
【0023】この図において、120はプログラム実行
メモリ手段12に格納されているアプリケーションソフ
トウェアを総括的に示したブロックであり、121はア
プリケーションソフトウェア120の実行をコントロー
ルするディスパッチャーである。このディスパッチャー
121はOSの制御のもとで動作している。2つのプロ
セッサ装置は、一方が制御側、他方が待機側とに分かれ
ていて、それぞれで同一のアプリケーションソフトウェ
ア(プログラム)が同期しながら実行されるように、ス
テップカウント手段16,同期ずれ調整手段17の機能
により制御される。なお、18はステップカウント手段
16のカウント数を各アプリケーションソフトウェア毎
に格納するステップセーブエリアを示していて、同期ず
れ調整手段17から読みだすことができるようになって
いる。
メモリ手段12に格納されているアプリケーションソフ
トウェアを総括的に示したブロックであり、121はア
プリケーションソフトウェア120の実行をコントロー
ルするディスパッチャーである。このディスパッチャー
121はOSの制御のもとで動作している。2つのプロ
セッサ装置は、一方が制御側、他方が待機側とに分かれ
ていて、それぞれで同一のアプリケーションソフトウェ
ア(プログラム)が同期しながら実行されるように、ス
テップカウント手段16,同期ずれ調整手段17の機能
により制御される。なお、18はステップカウント手段
16のカウント数を各アプリケーションソフトウェア毎
に格納するステップセーブエリアを示していて、同期ず
れ調整手段17から読みだすことができるようになって
いる。
【0024】122は割り込み処理部で、CPU装置1
3,I/O装置14,プロセッサ装置間割り込み発生手
段15からの割り込みを受付けて、それらの割り込み処
理を行うブロックを示している。この様に構成した装置
の同期化のための動作を次に説明する。通常の動作にお
いて、アプリケーションソフトウェア120は、OSの
機能を使用しながら所定のアプリケーションソフトウェ
アを実行している。この様な動作の中で、アプリケーシ
ョンソフトウェア120がシステムコールを行うと、2
つのプロセッサ装置MD1,MD2の動作が同期するよ
うな待ち合わせ処理が行われる。
3,I/O装置14,プロセッサ装置間割り込み発生手
段15からの割り込みを受付けて、それらの割り込み処
理を行うブロックを示している。この様に構成した装置
の同期化のための動作を次に説明する。通常の動作にお
いて、アプリケーションソフトウェア120は、OSの
機能を使用しながら所定のアプリケーションソフトウェ
アを実行している。この様な動作の中で、アプリケーシ
ョンソフトウェア120がシステムコールを行うと、2
つのプロセッサ装置MD1,MD2の動作が同期するよ
うな待ち合わせ処理が行われる。
【0025】この間、各プロセッサ装置内の各ステップ
カウント手段16は、ディスパッチャー121からの起
動信号によりスタートし、CPUのラン信号を受けてC
PUの実行ステップ数をカウントしている。ここで、C
PUが実行しているアプリケーションソフトウェアが中
断するのは、割り込みが発生する場合である。また、そ
の後再び実行を継続させるのは、OSの制御のもとで動
作するディスパッチャー121,同期ずれ調整手段17
の実行制御による。
カウント手段16は、ディスパッチャー121からの起
動信号によりスタートし、CPUのラン信号を受けてC
PUの実行ステップ数をカウントしている。ここで、C
PUが実行しているアプリケーションソフトウェアが中
断するのは、割り込みが発生する場合である。また、そ
の後再び実行を継続させるのは、OSの制御のもとで動
作するディスパッチャー121,同期ずれ調整手段17
の実行制御による。
【0026】図4は、前述した割り込みがあった場合の
動作を示すフローチャートである。割り込み処理手段1
22は、外部から割り込みを受け付けると、CPU装置
がアプリケーションソフトウェア120を実行中か判断
し、実行中でなければ通常の割り込み処理を実行する。
これに対して、アプリケーションソフトウェアを実行中
である場合、ステップカウント手段16からそのアプリ
ケーションソフトウェアのそれまでの実行ステップ数を
読みだして、その値をステップセーブエリア18に、各
アプリケーションソフトウェア毎に現在の値に加算して
格納する。その後に、通常の割り込み処理を実行する。
動作を示すフローチャートである。割り込み処理手段1
22は、外部から割り込みを受け付けると、CPU装置
がアプリケーションソフトウェア120を実行中か判断
し、実行中でなければ通常の割り込み処理を実行する。
これに対して、アプリケーションソフトウェアを実行中
である場合、ステップカウント手段16からそのアプリ
ケーションソフトウェアのそれまでの実行ステップ数を
読みだして、その値をステップセーブエリア18に、各
アプリケーションソフトウェア毎に現在の値に加算して
格納する。その後に、通常の割り込み処理を実行する。
【0027】なお、割り込み処理手段122が受け付け
る割り込みは、通常、一方のプロセッサ装置においての
み受け付けられために、プロセス装置間割り込み発生手
段15が、システムバスSBを経由して、他方のプロセ
ッサ装置に対しても疑似的な割り込みを行う。他方のプ
ロセッサ装置は、この疑似的な割り込みを受けて、同様
に、自身の側のステップカウント手段16からそれまで
の実行ステップ数を読みだして、その値をステップセー
ブエリア18に、各アプリケーションソフトウェア毎に
現在の値に加算して格納する。
る割り込みは、通常、一方のプロセッサ装置においての
み受け付けられために、プロセス装置間割り込み発生手
段15が、システムバスSBを経由して、他方のプロセ
ッサ装置に対しても疑似的な割り込みを行う。他方のプ
ロセッサ装置は、この疑似的な割り込みを受けて、同様
に、自身の側のステップカウント手段16からそれまで
の実行ステップ数を読みだして、その値をステップセー
ブエリア18に、各アプリケーションソフトウェア毎に
現在の値に加算して格納する。
【0028】図5は、ディスパッチャー121および同
期ずれ調整手段17の動作を示すフローチャートであ
る。割り込み処理が終了すると、ディスパッチャー12
1は、中断したアプリケーションソフトウェアを再起動
することになるが、それに先立って、同期ずれ調整手段
17は、ステップセーブエリア18に格納されている再
起動するアプリケーションソフトウェアの実行ステップ
数を読み出すと共に、その実行ステップ数と、相手のプ
ロセッサ装置における同様のアプリケーションソフトウ
ェアの実行ステップ数とを比較する。そして、その差が
所定の許容値より大きいか、即ち、2つのプロセッサ装
置の同期動作のずれが許容される範囲を越えているか判
断する。
期ずれ調整手段17の動作を示すフローチャートであ
る。割り込み処理が終了すると、ディスパッチャー12
1は、中断したアプリケーションソフトウェアを再起動
することになるが、それに先立って、同期ずれ調整手段
17は、ステップセーブエリア18に格納されている再
起動するアプリケーションソフトウェアの実行ステップ
数を読み出すと共に、その実行ステップ数と、相手のプ
ロセッサ装置における同様のアプリケーションソフトウ
ェアの実行ステップ数とを比較する。そして、その差が
所定の許容値より大きいか、即ち、2つのプロセッサ装
置の同期動作のずれが許容される範囲を越えているか判
断する。
【0029】ここで、同期ずれが大きいと判断される
と、一方のプロセッサ装置の動作に対して、遅れて動作
しているプロセッサ装置のCPU装置を、遅れているス
テップ数分だけ先行して起動する。これにより、先行し
て起動したプロセッサ装置側が同じステップ数まで追い
つく。続いて、ステップカウント手段16をクリアして
再スタートすると共に、2つのプロセッサ装置でのアプ
リケーションソフトウェアを共に起動して、同期動作に
移行する。
と、一方のプロセッサ装置の動作に対して、遅れて動作
しているプロセッサ装置のCPU装置を、遅れているス
テップ数分だけ先行して起動する。これにより、先行し
て起動したプロセッサ装置側が同じステップ数まで追い
つく。続いて、ステップカウント手段16をクリアして
再スタートすると共に、2つのプロセッサ装置でのアプ
リケーションソフトウェアを共に起動して、同期動作に
移行する。
【0030】なお、以上の説明では、2つのプロセッサ
装置は、OSの管理下で動作しているアプリケーション
ソフトウェアがシステムコールを行うときに基本的に同
期をとるための動作をすることを想定しているが、この
様な同期をとるための動作を省略した構成でもよい。こ
の場合、例えば、同期ずれ調整手段は、所定の周期でス
テップカウント手段のカウント値を参照・比較し、その
差に応じて同期ずれを調整するような構成とすること
で、割り込み処理が長時間ない場合でも、同期ずれが次
第に大きくなることはない。
装置は、OSの管理下で動作しているアプリケーション
ソフトウェアがシステムコールを行うときに基本的に同
期をとるための動作をすることを想定しているが、この
様な同期をとるための動作を省略した構成でもよい。こ
の場合、例えば、同期ずれ調整手段は、所定の周期でス
テップカウント手段のカウント値を参照・比較し、その
差に応じて同期ずれを調整するような構成とすること
で、割り込み処理が長時間ない場合でも、同期ずれが次
第に大きくなることはない。
【0031】
【発明の効果】以上、詳細に説明したように、本発明
は、実際に制御に関与しているI/O装置をどちらがア
クセスするかにより制御側と待機側とに分けられる2つ
のプロセツサ装置で構成される二重化コンピュータ装置
において、各プロセッサ装置に、アプリケーションソフ
トウェアの実行ステップ数をカウントする手段と、同期
ずれ調整手段とを設け、割り込み処理の機会を捕らえて
自動的に同期がとられるように構成したものである。
は、実際に制御に関与しているI/O装置をどちらがア
クセスするかにより制御側と待機側とに分けられる2つ
のプロセツサ装置で構成される二重化コンピュータ装置
において、各プロセッサ装置に、アプリケーションソフ
トウェアの実行ステップ数をカウントする手段と、同期
ずれ調整手段とを設け、割り込み処理の機会を捕らえて
自動的に同期がとられるように構成したものである。
【0032】従って、本発明によれば、制御側のプロセ
ッサ装置と待機側プロセッサ装置とは、同様の処理を同
期して常に実行することとなり、大がかりなシステムを
構築しなくとも、制御側がダウンしたような場合におけ
る待機側プロセッサ装置への制御動作の切替えを、継続
性を維持しながら即座に行うことができる。また、2つ
のプロセッサ装置が同期をとる動作をシステムコールに
基づいて行う場合であって、システムコールが長時間行
われないような場合でも、同期動作のずれを回避するこ
とができ、アプリケーションプログラムは、その設計時
において二重化処理(同期化のための処理)を意識しな
くともよく、アプリケーションプログラムの作成を容易
に行うことができる。
ッサ装置と待機側プロセッサ装置とは、同様の処理を同
期して常に実行することとなり、大がかりなシステムを
構築しなくとも、制御側がダウンしたような場合におけ
る待機側プロセッサ装置への制御動作の切替えを、継続
性を維持しながら即座に行うことができる。また、2つ
のプロセッサ装置が同期をとる動作をシステムコールに
基づいて行う場合であって、システムコールが長時間行
われないような場合でも、同期動作のずれを回避するこ
とができ、アプリケーションプログラムは、その設計時
において二重化処理(同期化のための処理)を意識しな
くともよく、アプリケーションプログラムの作成を容易
に行うことができる。
【図1】本発明に係わる装置の基本的な機能を示す機能
ブロック図である。
ブロック図である。
【図2】本発明の一実施装置の主要な構成ブロック図で
ある。
ある。
【図3】2つのプロセッサ装置が同期して動作するため
のソフトウェア構成を示す概念図である。
のソフトウェア構成を示す概念図である。
【図4】割り込みがあった場合の動作を示すフローチャ
ートである。
ートである。
【図5】ディスパッチャー121および同期ずれ調整手
段17の動作を示すフローチャートである。
段17の動作を示すフローチャートである。
MD1,MD2 プロセッサ装置 SB システムバス 11 OS実行メモリ手段 12 プログラム実行メモリ手段 13 CPU装置 14 入出力装置(I/O装置) 15 プロセス装置間割り込み発生手段 16 ステップカウント手段 17 同期ずれ調整手段
Claims (1)
- 【請求項1】単体で実行可能な2つのプロセッサ装置を
システムバスで結合した二重化コンピュータ装置であっ
て、 各プロセッサ装置に、 オペレーティングシステムを格納したOS実行メモリ手
段と、 オペレーティングシステムの機能を使用(システムコー
ル)しながら動作するアプリケーションプログラムを格
納したプログラム実行メモリ手段と、 前記各メモリに格納されているプログラムに従って動作
するCPU装置と、 このCPU装置が実行するプログラムの起動によりスタ
ートし当該プログラムの実行ステップ数をカウントする
と共にCPU装置への割り込みによりそれまで実行した
ステップ数を記憶するステップカウント手段と、 前記割り込みにより中断したプログラムの再起動時に、
自身のステップカウント手段が記憶する実行ステップ数
と相手プロセッサ装置内のステップカウント手段が記憶
する実行ステップ数とを比較し、その差が所定の値より
大きい場合実行ステップ数が少ないプロセッサ装置側の
CPU装置に対して前記差のステップ数だけ先に動作を
開始させ、双方のプロセッサ装置のCPU装置が同期し
て動作するように制御する同期ずれ調整手段と、 自身のCPU装置が受けた割り込みを相手側プロセッサ
装置内のCPU装置に伝えるプロセス装置間割り込み発
生手段とを備えたことを特徴とする二重化コンピュータ
装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5178928A JPH0736720A (ja) | 1993-07-20 | 1993-07-20 | 二重化コンピュータ装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5178928A JPH0736720A (ja) | 1993-07-20 | 1993-07-20 | 二重化コンピュータ装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0736720A true JPH0736720A (ja) | 1995-02-07 |
Family
ID=16057097
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5178928A Pending JPH0736720A (ja) | 1993-07-20 | 1993-07-20 | 二重化コンピュータ装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0736720A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004227566A (ja) * | 2003-01-02 | 2004-08-12 | Fisher Rosemount Syst Inc | プロセス制御システムにおいて利用されるアプリケーションステーション、アプリケーションステーションにおいて利用される冗長マネージャ、第一および第二のアプリケーションステーションを有したプロセス制御システム内に冗長コンテキストを確立する方法、プロセス制御システム内に冗長コンテキストを確立するシステム、内部に格納されたデータを有しているマシンアクセス可能メディア、第一および第二のアプリケーションステーションを有したプロセス制御システム内に冗長コンテキストを維持管理する方法、プロセス制御システム内に冗長コンテキストを維持管理するシステム、内部に格納されたデータを有しているマシンアクセス可能メディア、冗長アプリケーションステーションシステム、および、アプリケーションステーションのコンフィギュレーションを変更する方法。 |
| US7478274B2 (en) | 2005-03-31 | 2009-01-13 | Yokogawa Electric Corporation | Duplex system |
| JP2015146116A (ja) * | 2014-02-03 | 2015-08-13 | 富士通株式会社 | 制御プログラム、制御方法および情報処理装置 |
| JP2016018291A (ja) * | 2014-07-07 | 2016-02-01 | 株式会社日立製作所 | 制御装置及びその制御方法 |
| JP2019125350A (ja) * | 2017-11-21 | 2019-07-25 | ザ・ボーイング・カンパニーThe Boeing Company | 指示命令処理調節システム |
-
1993
- 1993-07-20 JP JP5178928A patent/JPH0736720A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004227566A (ja) * | 2003-01-02 | 2004-08-12 | Fisher Rosemount Syst Inc | プロセス制御システムにおいて利用されるアプリケーションステーション、アプリケーションステーションにおいて利用される冗長マネージャ、第一および第二のアプリケーションステーションを有したプロセス制御システム内に冗長コンテキストを確立する方法、プロセス制御システム内に冗長コンテキストを確立するシステム、内部に格納されたデータを有しているマシンアクセス可能メディア、第一および第二のアプリケーションステーションを有したプロセス制御システム内に冗長コンテキストを維持管理する方法、プロセス制御システム内に冗長コンテキストを維持管理するシステム、内部に格納されたデータを有しているマシンアクセス可能メディア、冗長アプリケーションステーションシステム、および、アプリケーションステーションのコンフィギュレーションを変更する方法。 |
| US7478274B2 (en) | 2005-03-31 | 2009-01-13 | Yokogawa Electric Corporation | Duplex system |
| JP2015146116A (ja) * | 2014-02-03 | 2015-08-13 | 富士通株式会社 | 制御プログラム、制御方法および情報処理装置 |
| JP2016018291A (ja) * | 2014-07-07 | 2016-02-01 | 株式会社日立製作所 | 制御装置及びその制御方法 |
| JP2019125350A (ja) * | 2017-11-21 | 2019-07-25 | ザ・ボーイング・カンパニーThe Boeing Company | 指示命令処理調節システム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4941087A (en) | System for bumpless changeover between active units and backup units by establishing rollback points and logging write and read operations | |
| JP3606281B2 (ja) | プログラマブルコントローラ及びcpuユニット並びに特殊機能モジュール及び二重化処理方法 | |
| JP3982353B2 (ja) | フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム | |
| KR0137406B1 (ko) | 고장 방지 컴퓨터 시스템 | |
| US7493517B2 (en) | Fault tolerant computer system and a synchronization method for the same | |
| JP3821806B2 (ja) | フォールトトレラントコンピュータ、そのトランザクション同期制御方法及びプログラム | |
| JP2003036101A (ja) | 冗長化コントローラ | |
| JPH0736720A (ja) | 二重化コンピュータ装置 | |
| US7428660B2 (en) | Starting control method, duplex platform system, and information processor | |
| JP3332098B2 (ja) | 二重化プロセッサ装置 | |
| JPH06242979A (ja) | 二重化コンピュータ装置 | |
| JP3282205B2 (ja) | 受信データ処理方式及び通信制御装置 | |
| JPH0462081B2 (ja) | ||
| JP3144113B2 (ja) | 二重化制御システムの切換方法 | |
| JP3422401B2 (ja) | 二重化制御装置 | |
| JPH07200334A (ja) | 二重化同期運転方式 | |
| JPH10289196A (ja) | コンピュータおよびコンピュータにおける周辺デバイス制御データの転送方法 | |
| JP3903688B2 (ja) | バンク切替システム | |
| JP2526835B2 (ja) | プログラマブルコントロ―ラの二重化同期制御方式 | |
| JPH0126096B2 (ja) | ||
| JPH03268007A (ja) | シーケンスコントローラ | |
| JP3033722B2 (ja) | マルチプロセッサシステムに於けるtod一致制御装置 | |
| JPH07261814A (ja) | Pcのデュアルシステムにおける割込み同期方法 | |
| JPH10326199A (ja) | デュアルシステムにおける割込同期装置 | |
| JPH05233576A (ja) | 二重システム |