JPH06230995A - 二重化プロセッサ装置 - Google Patents

二重化プロセッサ装置

Info

Publication number
JPH06230995A
JPH06230995A JP5013748A JP1374893A JPH06230995A JP H06230995 A JPH06230995 A JP H06230995A JP 5013748 A JP5013748 A JP 5013748A JP 1374893 A JP1374893 A JP 1374893A JP H06230995 A JPH06230995 A JP H06230995A
Authority
JP
Japan
Prior art keywords
processor device
processor
data
processing
standby
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.)
Granted
Application number
JP5013748A
Other languages
English (en)
Other versions
JP3332098B2 (ja
Inventor
Riyuu Hazama
流 狭間
Hiroki Ito
博樹 伊藤
So Akai
創 赤井
Toshihiko Matsuda
年彦 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP01374893A priority Critical patent/JP3332098B2/ja
Publication of JPH06230995A publication Critical patent/JPH06230995A/ja
Application granted granted Critical
Publication of JP3332098B2 publication Critical patent/JP3332098B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 【目的】大がかりなシステムを構築しなくとも、制御側
がダウンしたような場合における待機側プロセツサ装置
への制御動作の切替えを、継続性を維持しながら即座に
行うことができるようにする。 【構成】各プロセッサ装置に、OS実行メモリ手段と、
OSの機能を使用しながら動作するアプリケーションプ
ログラムを格納したプログラム実行メモリ手段と、CP
U装置と、自身が実作業に関与しているとき、プログラ
ム実行メモリ手段の内容を待機状態にある相手のプロセ
ッサ装置内のプログラム実行メモリ手段に転送するデー
タ等値化手段と、自身が実作業に関与しているとき受け
た割り込みを待機状態にある相手のプロセッサ装置側に
行うプロセス装置間割り込み発生手段と、アプリケーシ
ョンプログラムがシステムコールを行った際制御側プロ
セッサ装置と待機側プロセッサ装置とでその動作が同期
するように待ち合わせを行うための待ち合わせ手段とを
設け、プログラム間でのデータの授受処理および通信処
理をすべてオペレーティングシステムを経由して行うよ
うに構成した。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プロセスの制御のため
に適用される二重化プロセッサ装置に関し、更に詳しく
は、単体で実行可能な2つのプロセッサ装置をシステム
バスで結合し、一方のプロセッサ装置が実作業につき他
方のプロセッサ装置が実作業に関与せず待機する方式の
二重化プロセッサ装置に関する。
【0002】
【従来の技術】プロセス制御を行うプロセッサ装置にお
いては、信頼性を高めるためにプロセス制御演算を行う
プロセッサ装置を二重化構成とし、一方のプロセッサ装
置の故障に備えて他方のプロセッサ装置を待機させるよ
うに構成した二重化プロセッサ装置が広く実用化されて
いる。
【0003】この様な二重化プロセッサ装置を構成する
場合、2つのプロセッサ装置をどの様に結合して動作さ
せるかが課題となるが、従来考えられている結合方式と
して、以下のものがある。 (a)2つのプロセッサ装置を、互いに同期をとりなが
ら同一のソフトウェアにより動作させると共に、これら
のプロセッサ装置につながる入出力装置(I/O)も二
重化構成とし、双方で常に同期をとるように構成する。 (b)2つのプロセッサ装置で、同一のソフトウェアを
制御側と待機側とで分けて動作させる。2つのプロセッ
サ装置内の各CPUは、独立して動作する。入出力装置
は、プロセッサ装置の外部に信号を出力する場合は制御
側が動作し、それ以外の内部で動作が完結する処理は、
各プロセッサ装置で独立してその処理を実行する。制御
側にあるプロセッサ装置による処理は、システムの任意
のタイミングで待機側となっているプロセッサ装置へ等
値化する。待機側のプロセッサ装置は、常にこの等値化
による処理を実行しながら、制御側のプロセッサ装置の
ダウンに備える。 (c)2つのプロセッサ装置で、同一のソフトウェアを
制御側と待機側とで分けて動作させる。2つのプロセッ
サ装置内の各CPUは、独立して動作する。入出力装置
は、制御側でのみ動作し、もう片方は実行可能な状態で
待機しておく。制御側にあるプロセッサ装置による処理
で操作したデータに関しては、制御側にあるプロセッサ
装置のアプリケーションソフトウェアが、任意のタイミ
ングで待機側となっているプロセッサ装置へ等値化す
る。待機側のプロセッサ装置は、常にこの等値化による
処理を実行しながら、制御側のプロセッサ装置のダウン
に備える。制御側のプロセッサ装置がダウンした場合
は、等値化した内容に従って処理を継続する。 (d)2つのプロセッサ装置で、同一もしくは独自のソ
フトウェアを独立して動作させる。2つのプロセッサ装
置は、お互いの装置のアプリケーションソフトウェア間
で、任意のタイミングで同期通信を行い、制御側のプロ
セッサ装置がダウンした場合は、それまで待機側にあっ
たプロセッサ装置が代行する。
【0004】
【発明が解決しようとする課題】2つのプロセッサ装置
を、前述したように結合する従来方式において、(a)
の方式は、プロセッサ装置内の各CPU間でインストラ
クションの度に同期をとる必要があり、CPUの処理ス
ピードが著しく低下するという問題がある。(b)の方
式は、実行状態にあるプロセッサ装置から待機側となっ
ていたプロセッサ装置に実行権が切り替えられた際、そ
れまで待機側となっていたプロセッサ装置は、すでに実
行済みの処理を再び実行することになる。この時、待機
実行のための時間を必要とするため、リアルタイム性を
要求されるようなプロセス制御システムとしては不向き
である。
【0005】(c)の方式は、等値化するデータの設計
が複雑となり、特に高級言語を使用して作成されたアプ
リケーションソフトウェアでは、データエリアをどのよ
うにとるかはコンパイラが決定することであるために、
対応が困難になるという問題がある。(d)の方式は、
お互いの装置のアプリケーションソフトウェアによって
のみ二重化の切替えを実現することになるために、汎用
的な二重化構成のシステムとは言えない。
【0006】本発明は、これらの点に鑑みてなされたも
ので、二重化構成としたプロセッサ装置において、オペ
レーションシステム(OS)の管理下で動作するアプリ
ケーションソフトウェアに、二重化の意識をさせること
なく、従って、二重化切替え制御のための構成が簡単
で、信頼性の高い二重化プロセッサ装置を提供すること
を目的とする。
【0007】
【課題を解決するための手段】この様な目的を達成する
本発明は、単体で実行可能な2つのプロセッサ装置をシ
ステムバスで結合し、一方のプロセッサ装置が実作業に
つき他方のプロセッサ装置が実作業に関与せず待機する
方式の二重化プロセッサ装置であって、各プロセッサ装
置に、オペレーティングシステムを格納したOS実行メ
モリ手段と、オペレーティングシステムの機能を使用
(システムコール)しながら動作するアプリケーション
プログラムを格納したプログラム実行メモリ手段と、前
記各メモリに格納されているプログラムに従って動作す
るCPU装置と、自身が実作業に関与しているとき前記
プログラム実行メモリ手段の内容を待機状態にある相手
のプロセッサ装置内のプログラム実行メモリ手段に転送
するデータ等値化手段と、自身が実作業に関与している
とき受けた割り込みを待機状態にある相手のプロセッサ
装置側に行うプロセス装置間割り込み発生手段と、前記
アプリケーションプログラムがシステムコールを行った
際制御側プロセッサ装置と待機側プロセッサ装置とでそ
の動作が同期するように待ち合わせを行うための待ち合
わせ手段とを備え、各プロセッサ装置は、プログラム間
でのデータの授受処理および通信処理をすべてオペレー
ティングシステムを経由して行うように構成したことを
特徴とする二重化プロセッサ装置である。
【0008】
【作用】各プロセッサ装置において、通常の動作はプロ
グラム実行メモリ手段に格納されているアプリケーショ
ンプログラムが、OSの機能を使用しながら動作してい
る。データ等値化手段は、自身が実作業に関与している
とき制御側のプロセッサ装置が自身のプログラム実行メ
モリ手段に書き込んだ内容を、待機側のプロセッサ装置
内のプログラム実行メモリ手段に転送する処理を行う。
【0009】待機側プロセッサ装置の待ち合わせ手段
は、アプリケーションプログラムがOSをコールする毎
に、お互いのプロセッサ装置内のプログラム実行メモリ
手段において、まず、自身のメモリの指定したアドレス
にデータを書き込み、次に相手のプロセッサ装置内のメ
モリの同じアドレスをチェックして、何らかのデータが
制御側プロセッサ装置から書き込まれるまで待ち合わせ
を行う。何らかのデータが書き込まれたのを確認する
と、相手プロセッサ装置内のメモリ手段のデータをクリ
アし、続いて、自身のメモリ手段のデータがクリアされ
るまで待つ。制御側のプロセッサ装置の待ち合わせ手段
においても同様の処理を行う。
【0010】これにより、2つのプロセッサ装置は、同
期がとられ、待機側プロセッサ装置は、制御側プロセッ
サ装置の実行と同様の処理を実行することとなり、制御
側プロセッサ装置がダウンした場合に待機側プロセッサ
装置がその動作を継続して引き継ぐことができる。
【0011】
【実施例】以下図面を用いて本発明の一実施例を詳細に
説明する。図1は、本発明に係わる装置の基本的な機能
を示す機能ブロック図である。図において、MD1,M
D2はそれぞれ単体で実行可能な2つのプロセッサ装置
で、互いにシステムバスSBにより結合しており、一方
のプロセッサ装置、例えばMD1が実作業(制御)につ
き、他方のプロセッサ装置MD2が実作業に関与せず待
機する側となっている。
【0012】各プロセッサ装置は、オペレーションシス
テム(OS)の管理下で動作する汎用化された言語(例
えばC言語)で記述されたアプリケーションソフトウェ
アに従って、データの処理や制御を行うように構成され
ている。また、各プロセッサ装置は、外部からの割り込
み処理以外に、OSによる多重実行の発生はなく、アプ
リケーションプログラムが連続に実行する処理を中断す
るのは、そのアプリケーションプログラムがOSをコー
ルするか、又は、OSが動作するような処理を実行した
場合のみであり、また、各プログラム間でのデータの授
受および通信は、全てOSを経由して行われるように構
成されている。
【0013】各プロセッサ装置MD1,MD2におい
て、11はOSを格納したOS実行メモリ手段、12は
アプリケーションプログラムを格納したプログラム実行
メモリ手段である。ここに格納されているアプリケーシ
ョンプログラムは、OSの機能を使用しながら(システ
ムコールを行いながら)動作するもので、各種のアプリ
ケーションに応じて用意されるが、その設計あるいは作
成は、二重化処理を意識することなく行われる。13は
各メモリ手段11,12に格納されている各プログラム
に従って動作するCPU装置で、データの演算処理,各
種の制御や通信処理などを行う機能を有している。
【0014】14は自身が実作業に関与しているとき、
プログラム実行メモリ手段12の内容を、待機状態にあ
る相手のプロセッサ装置内のプログラム実行メモリ手段
に転送するデータ等値化手段である。このデータ等値化
手段14は、システムの立ち上げ時においては、はじめ
に、シングル運転状態に入ったプロセッサ装置側(制御
側)のOS実行メモリ手段11とプログラム実行メモリ
手段12の内容を、待機側にあるプロセッサ装置に転送
する機能も備えている。
【0015】15は各プロセッサ装置MD1,MD2に
対応して設けられている入出力装置(I/O装置)であ
る。ここでは、2つのプロセッサ装置を結ぶシステムバ
スSBに接続され、各プロセッサ装置内に設けている例
を示すが、プロセッサ装置の外部に設けられるものでも
よく、また、各プロセッサ装置にそれぞれ独立して結合
し、独自に動作するものでもよい。
【0016】16は自身のプロセッサ装置が実作業に関
与しているとき、I/O装置15から割り込みを受けた
場合、待機状態にある相手のプロセッサ装置側に対し
て、同様の割り込みを行うプロセス装置間割り込み発生
手段である。待機側プロセッサ装置は、制御側のプロセ
ス装置間割り込み発生手段16による割り込みを受ける
と、自身のCPU装置に対して、疑似的な割り込みを発
生させ、制御側と同様の割り込み処理を行う。この場合
の割り込み処理は、通常はアプリケーションの動作とは
全く非同期に行われることになる。
【0017】17はアプリケーションプログラムがシス
テムコールを行った際、制御側プロセッサ装置と待機側
プロセッサ装置とで、その動作が同期するように待ち合
わせを行うための待ち合わせ手段である。2つのプロセ
ッサ装置は、制御側も待機側もそれぞれのCPU装置1
3によって独自に動作しているが、各プロセッサ装置
は、いずれも1つのCPU装置で動作しているために、
それらの動作が正常に行われていれば、互いの動作は同
期したものとなる。しかしながら、一方のプロセッサ装
置において、割り込み処理などが発生すると同期がとれ
なくなる。
【0018】従って、本発明の装置においては、OSが
コールされるたびに、待ち合わせ手段17による同期の
ための待ち合わせが行われるように構成してある。待ち
合わせが行われる場合としては、CPU装置13から割
り込みが発生した場合、プロセッサ装置が自身のI/O
装置15に対してアクセスを行った(この場合、制御側
から待機側にデータ転送が行われる)場合、プログラム
実行メモリ手段12で動作するプログラムからのI/O
装置15に対してアクセス要求を行った場合等である。
【0019】図2は、本発明の一実施例のハードウェア
を示す構成ブロック図である。各プロセッサMD1,M
D2は、いずれも、マイクロプロセッサMPとI/O装
置15とからなり、二重化構成としたシステムバスSB
1,SB2を介して互いに結合している。各マイクロプ
ロセッサMPは、図1における、OS実行メモリ手段1
1とプログラム実行メモリ手段12として機能するメモ
リ10、データの演算処理,各種の制御や通信処理など
を行う機能を代表する制御演算手段13、データ等値化
手段14、プロセッサ間割り込み発生手段16が設けら
れている。
【0020】なお、システムバスSBを二重化構成とし
ない場合は、各プロセッサ装置に対応するI/O装置1
5は、それぞれ同一のシステムバスに結合されることと
なる。この様に構成した装置の動作を次に、システムの
立ち上げ時、同期実行時、切替え時、シングル運転時の
各処理に分けて説明する。
【0021】(システムの立ち上げ時の動作)図3,図
4は、システム立ち上げ時の動作を示すフローチャート
である。はじめに、2つのプロセッサ装置とも、ハード
ウェアの自己診断を行い、異常がなければ、自身が制御
側になるのか待機側になるのかの診断を行う(ST1
1,12,21,22)。制御側になるのか待機側にな
るのかの診断により、例えば、あらかじめハードウェア
によって決められた側、あるいは、はじめに、動作状態
になった(CPUがレディ信号CPURDYを最初に出
力した)プロセッサ装置が制御側、他方が待機側にな
る。
【0022】制御側になったプロセッサ装置(例えばM
D1)において、メモリが揮発していればシステムロー
ディングが行れ、CPURDYを宣言して制御側として
の準備を完了する(ST13,14)。待機側となった
プロセッサ装置MD2は、制御側となったプロセッサ装
置からの信号を受け、待機側として設定され、初期化処
理を行う(ST23)。
【0023】制御側となったプロセッサ装置MD1は、
制御側としての準備が完了すると、次に各種ソフトウェ
アの初期化処理と自身に結合するI/O装置の初期化処
理を行い、シングルシステムとして動作を開始する(S
T15〜18)。この間、待機側プロセッサ装置MD2
からのデータ等値化要求(APC要求)があるか確認を
行っている。一方、待機側となったプロセッサ装置MD
2は、制御側となったプロセッサ装置が動作状態(オン
ライン)になったのを確認し、初期化処理が完了する
と、自身のプロセッサ装置間割り込み発生手段16を使
用して、制御側のプロセッサ装置MD1にデータ等値化
要求(APC要求)を行う(ST24)。
【0024】制御側プロセッサ装置MD1において、A
PC要求を受理すると、定周期での割り込み処理によ
り、データ等値化処理を行う(ST19,20)。図5
は、システム立ち上げ時における、各プログラム実行メ
モリ手段12の構成概念図である。データ等値化要求を
待機側プロセッサ装置MD2から受けた制御側プロセッ
サ装置MD1は、自身のデータ等値化手段14を使用し
て、自身のCPU装置13がプログラム実行メモリ手段
12の内容を、待機側プロセッサ装置MD2のプログラ
ム実行メモリ手段12の同じアドレスに、定周期の割り
込み処理によりコピーする。
【0025】ここで、データのコピー処理を一時期に全
て行おうとすると、制御側プロセッサ装置の通常処理に
支障を来す恐れがある。このため、立ち上げ時における
データコピー処理は、システムを動作させながら徐々に
行われる。この様なコピー処理の中で、データ転送が完
了するまでの間にシステムが動作して、自身のCPU装
置13がプログラム実行メモリ手段12に書き込んだ内
容(データ)は、データ等値化手段14によって、待機
側プロセッサ装置MD2のプログラム実行メモリ手段1
2の同じアドレスに等値化される。
【0026】システム立ち上げ時のこの様なデータコピ
ー処理が完了すると、2つのプロセッサ装置MD1,M
D2内の各プログラム実行メモリ手段12の内容は、同
じ(等値)になり、このタイミングで、制御側と待機側
の各プロセッサ装置を同一のアドレスから実行させるこ
とで、2つのプロセッサ装置は同期実行(FCS稼働)
を開始する(ST25,26,27)。なお、待機側プ
ロセッサ装置MD2でのI/O装置の初期化処理は、同
期実行を開始した後の稼働中に直ちに行われるものとす
る。
【0027】(同期実行時の動作)図6は、同期実行時
の動作を示す概念図である。この図において、120は
プログラム実行メモリ手段12に格納されているアプリ
ケーションソフトウェアを総括的に示したブロックであ
り、110はOS実行メモリ手段11に格納されている
OSを実行するカーネル処理実行部である。121はア
プリケーションソフトウェア120からのシステムコー
ルを受け付けるシステムコール受付部、122はOS内
のアプリケーションソフトウェア120の実行をコント
ロールするディスパッチャーである。111は2つのプ
ロセツサ装置間でのデータの送受信、およびI/O装置
15のアクセスを行うドライバで、アプリケーションソ
フトウェア120に代わって、カーネル処理実行部11
0(OS)から起動される。160は割り込み処理部
で、CPU装置13,I/O装置15,プロセッサ装置
間割り込み発生手段16からの割り込みを受付けて、そ
れらの割り込み処理を行うブロックを示している。
【0028】通常の動作において、アプリケーションソ
フトウェア120は、システムコール受付部121を介
して、OSの機能を使用しながら所定のアプリケーショ
ンを実行している。この様な動作の中で、アプリケーシ
ョンソフトウェア120がシステムコールを行うと、待
ち合わせ手段17が起動され、2つのプロセッサ装置M
D1,MD2の動作が同期するように待ち合わせ処理を
行う。
【0029】図7は、制御側と待機側とのそれぞれのプ
ロセッサ装置において、この様な待ち合わせ処理(同期
処理)をソフトウェアにより行う場合のフローチャート
である。制御側と待機側とでは、図示するように同様の
処理が並行して行われるもので、はじめに、自分のプロ
グラム実行メモリ手段12内において、同期処理を行う
ために用意されているメモリ領域(同期メモリ)に、デ
ータの書込みを行う。なお、この同期メモリ領域は、同
期を行う個所によりアドレスが異なるものとする。
【0030】次に相手プロセッサ装置のプログラム実行
メモリ手段12の同期メモリ(同じアドレス)の内容を
リードし、そこにデータが存在するか監視する。データ
が存在すると(データが書き込まれると)、その同期メ
モリをクリアし、今度は、自分の同期メモリの内容をリ
ードし、データが存在しなくなるまで(自身の同期メモ
リがクリアされるまで)待つ。
【0031】なお、この例では、待ち合わせ処理をソフ
トウェアにより実現したものであるが、例えば、同期個
所ごとに、同期処理のためのデータを転送するハードウ
ェアを設け、前述したと同様の動作を行うようにしても
よい。この様な待ち合わせ処理により、2つのプロセッ
サ装置内で実行されるアプリケーションソフトウェア1
20の実行に関して、同期がとれることになる。また、
ディスパッチャー122により複数のアプリケーション
の制御が可能であるが、この場合も、複数のアプリケー
ション間の制御に関して同期がとられる。
【0032】また、各プロセッサ装置に結合するI/O
装置15に関しても、各I/O装置をアクセスするドラ
イバ111(このドライバはカーネル処理実行部(O
S)110により起動される)で、同期をとることによ
り、制御側と待機側とのI/O処理に関して、同期をと
ることができる。この時、制御側のI/O装置15が取
り込んだ入力データに関しては、ドライバ111を経て
待機側に転送され、2つのプロセッサ装置間で入力デー
タに関する等値化が行える。
【0033】制御側プロセッサ装置において、I/O装
置15側から非同期で割り込みが発生した場合、OSに
よる割り込み処理部160の機能によりその割り込み処
理が行われるとともに、プロセツサ装置間割り込み発生
手段16は、待機側プロセッサ装置に対して疑似割り込
みを発生させる。OSがコールされると、待ち合わせ手
段17による待ち合わせが行われ、この割り込み処理の
同期がとられる。これにより、ドライバ111によるI
/O装置15へのアクセスのタイミングを合わせること
ができる。なお、CPU装置13内で発生する例外的割
り込みに関しては、制御側と待機側とで同時に同じアプ
リケーションソフトウェアが実行されているために、双
方で発生するはずであり、その割り込み処理が同期して
行われることとなる。
【0034】この様に、アプリケーションソフトウェア
120がシステムコールを行う毎に、また、ドライバが
起動され通信処理あるいはI/O装置をアクセスする処
理中で、待ち合わせ手段17による同期がとられること
となる。 (切替え時の処理)制御側のプロセッサ装置MD1は、
図示していないが公知の技術による自己診断機能を備え
ていて、自身の異常を検出すると待機側プロセッサ装置
MD2に対して、実行権の切替えの通知を行う。それま
で待機側にあったプロセッサ装置MD2は、この切替え
の通知を受け、制御側としての処理を継続する。この場
合の切替えは、それまで待機側にあったプロセッサ装置
が、プロセッサ装置MD1と同期して同じアプリケーシ
ョンソフトウェアを実行しているので、継続性を維持し
ながら引き継ぐことができる。なお、それまで待機側に
あったI/O装置による処理の継続性は、切り替えられ
る前の処理をリトライすることで維持することが可能と
なる。
【0035】(シングル運転時の処理)2つのプロセッ
サ装置が同期して動作している状態から、一方がダウン
したような場合に、他方のプロセッサ装置が制御側とな
って運転を行うシングル運転になる。この状態では、制
御権を有するプロセッサ装置は、他方がダウンしている
あるいは存在していない等の情報を受けて、待ち合わせ
手段17の機能を停止させ、同期処理を実行しないこと
で対応する。
【0036】次に、各種のシステム異常が発生した場合
の動作について説明する。システム異常が発生する場合
としては、各プロセッサ装置の電源が停電した場合、各
種ハードウェアの動作を監視するウォッチ・ドッグ・タ
イマがタイムアップした場合、CPU自身の自己診断に
より異常が検出された場合、同様にI/O装置に異常が
検出された場合などである。これらの場合には、2つの
プロセッサ装置の間で同期ずれが起きる可能性がある。
【0037】図8は、待機側プロセッサ装置MD2にお
いて、電源異常(ACfail)が発生した場合の切替
え動作を示すフローチャートである。この場合、待機側
プロセッサ装置MD2は、電源異常(ACfail)を
確認すると、システムダウン通知を制御側プロセッサ装
置MD1に送る(ST31,32)。その後、ACが復
活するのを待ち、ACが復活するとイニシャルスタート
する(ST33,34)。一方、制御側プロセッサ装置
MD1は、自身が制御側として正常な動作を継続してい
て、その途中で待機側プロセッサ装置MD2側からシス
テムダウンの通知を受けると、シングル運転に設定さ
れ、シングル運転として制御動作を継続する(ST35
〜37)。
【0038】図9は、制御側プロセッサ装置MD1にお
いて、電源異常(ACfail)が発生した場合の切替
え動作を示すフローチャートである。この場合、制御側
プロセッサ装置は、電源異常を検出すると待機側プロセ
ッサ装置に電源異常を示すACfail通知を行う(S
T41)。その後、現在稼働状態にあるI/O装置に対
してシャットダウン処理を行い、電源の復活を待つ(S
T42,43)。一定の時間が経過しても電源の復活が
無い場合、CPUレディ信号をオフとして、ダウンさせ
る(ST44,45)。電源が復活した場合は、待機側
プロセッサ装置に対して電源復活通知を行い、I/O装
置に対してリカバリー処理を行い、そのまま制御側とし
ての動作を継続する(ST46,47)。
【0039】待機側プロセッサ装置において、制御側プ
ロセッサ装置からACfail通知を受け取ると、制御
側プロセッサ装置がダウン状態になるか(CPUレディ
信号がオフとなるか)監視し、制御側がダウンした場
合、自分が制御側となり制御運転を開始する(ST5
1,52)。また、制御側プロセッサ装置側から、電源
復活通知を受けると、2つのプロセッサ装置の間では、
既に同期ずれが発生しているため再起動する(ST5
3)。
【0040】図10は、ウォッチ・ドッグ・タイマがタ
イムアップした場合の切替え動作を示すフローチャート
である。ハードウェア等の障害により制御側のみのウォ
ッチ・ドッグ・タイマがタイムアップした場合、制御側
のシステムダウンを受けて、それまで待機側となってい
たプロセッサ装置が制御側となり制御動作を引き継ぐこ
ととなる。
【0041】図11は、制御側プロセッサ装置で暴走も
しくは不可抗力によりシステムダウンした場合の切替え
動作を示すフローチャートである。この場合、制御プロ
セツサ装置は、CPUエラーが検知されたのを受けて自
らをシステムダウンとし、待機側プロセッサ装置は、こ
のシステムダウンをチェックして、自分が制御側となり
制御動作を引き継ぐこととなる。
【0042】図12は、制御側プロセッサ装置で、CP
U異常を検知した場合、CPU例外が発生し、同期が採
れなくなった場合、自己診断によりエラーが検出された
場合の切替え動作を示すフローチャートである。いずれ
の場合とも、制御側が自らをシステムダウンさせ、待機
側プロセッサ装置は、このシステムダウンを受けて、自
分が制御側となり制御動作を引き継ぐこととなる。
【0043】図13は、制御側プロセッサ装置に結合す
るI/O装置において、異常が発生した場合の切替え動
作を示すフローチャートである。この場合は、ドライバ
111により、I/O装置の切替えが行われ、制御側の
プロセッサ装置は待機側の状態を確認(CPUがレディ
状態にあることを確認)した後、自らをダウンさせる。
待機側プロセッサ装置において、制御側のダウンが検知
されると、待機側プロセッサ装置が自分が制御側となり
制御動作を引き継ぐこととなる。
【0044】
【発明の効果】以上、詳細に説明したように、本発明
は、実際に制御に関与しているI/O装置をどちらがア
クセスするかにより制御側と待機側とに分けられる2つ
のプロセツサ装置を設け、待機側プロセッサ装置で必要
とする入力データは制御側から待機側へコピーするよう
に構成するとともに、制御側と待機側とは、すべてのシ
ステムコール、割り込み処理やI/O処理において自動
的に同期がとられるように構成したものである。
【0045】従って、本発明によれば、制御側のプロセ
ッサ装置と待機側プロセッサ装置とは、同様の処理を同
期して実行することとなり、大がかりなシステムを構築
しなくとも、制御側がダウンしたような場合における待
機側プロセッサ装置への制御動作の切替えを、継続性を
維持しながら即座に行うことができる。また、2つのプ
ロセッサ装置が同期をとる動作は、システムコール、割
り込み処理やI/O処理において行われるもので、アプ
リケーションプログラムは、その設計時において二重化
処理を意識しなくともよく、アプリケーションプログラ
ムの作成を容易に行うことができる。
【図面の簡単な説明】
【図1】本発明に係わる装置の基本的な機能を示す機能
ブロック図である。
【図2】本発明の一実施例のハードウェアを示す構成ブ
ロック図である。
【図3】システム立ち上げ時の動作を示すフローチャー
トである。
【図4】システム立ち上げ時の動作を示すフローチャー
トである。
【図5】システム立ち上げ時における各プログラム実行
メモリ手段の構成概念図である。
【図6】同期実行時の動作を示す概念図である。
【図7】制御側と待機側とのそれぞれのプロセッサ装置
において行われる待ち合わせ処理(同期処理)の動作を
示すフローチャートである。
【図8】待機側プロセッサ装置において電源異常が発生
した場合の切替え動作を示すフローチャートである。
【図9】制御側プロセッサ装置において電源異常が発生
した場合の切替え動作を示すフローチャートである。
【図10】ウォッチ・ドッグ・タイマがタイムアップし
た場合の切替え動作を示すフローチャートである。
【図11】制御側プロセッサ装置で暴走もしくは不可抗
力によりシステムダウンした場合の切替え動作を示すフ
ローチャートである。
【図12】制御側プロセッサ装置で、CPU異常を検知
した場合、CPU例外が発生し、同期が採れなくなった
場合、自己診断によりエラーが検出された場合の切替え
動作を示すフローチャートである。
【図13】I/O装置において異常が発生した場合の切
替え動作を示すフローチャートである。
【符号の説明】
MD1,MD2 プロセッサ装置 SB システムバス 11 OS実行メモリ手段 12 プログラム実行メモリ手段 13 CPU装置 14 データ等値化手段 15 入出力装置(I/O装置) 16 プロセス装置間割り込み発生手段 17 待ち合わせ手段である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 松田 年彦 東京都武蔵野市中町2丁目9番32号 横河 電機株式会社内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】単体で実行可能な2つのプロセッサ装置を
    システムバスで結合し、一方のプロセッサ装置が実作業
    につき他方のプロセッサ装置が実作業に関与せず待機す
    る方式の二重化プロセッサ装置であって、 各プロセッサ装置に、 オペレーティングシステムを格納したOS実行メモリ手
    段と、 オペレーティングシステムの機能を使用(システムコー
    ル)しながら動作するアプリケーションプログラムを格
    納したプログラム実行メモリ手段と、 前記各メモリに格納されているプログラムに従って動作
    するCPU装置と、 自身が実作業に関与しているとき前記プログラム実行メ
    モリ手段の内容を待機状態にある相手のプロセッサ装置
    内のプログラム実行メモリ手段に転送するデータ等値化
    手段と、 自身が実作業に関与しているとき受けた割り込みを待機
    状態にある相手のプロセッサ装置側に行うプロセス装置
    間割り込み発生手段と、 前記アプリケーションプログラムがシステムコールを行
    った際制御側プロセッサ装置と待機側プロセッサ装置と
    でその動作が同期するように待ち合わせを行うための待
    ち合わせ手段とを備え、 各プロセッサ装置は、プログラム間でのデータの授受処
    理および通信処理をすべてオペレーティングシステムを
    経由して行うように構成したことを特徴とする二重化プ
    ロセッサ装置。
  2. 【請求項2】各プロセッサ装置に、所定の時間毎にシス
    テムコールを行う疑似システムコール手段を設けたこと
    を特徴とする請求項1記載の二重化プロセッサ装置。
JP01374893A 1993-01-29 1993-01-29 二重化プロセッサ装置 Expired - Fee Related JP3332098B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01374893A JP3332098B2 (ja) 1993-01-29 1993-01-29 二重化プロセッサ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01374893A JP3332098B2 (ja) 1993-01-29 1993-01-29 二重化プロセッサ装置

Publications (2)

Publication Number Publication Date
JPH06230995A true JPH06230995A (ja) 1994-08-19
JP3332098B2 JP3332098B2 (ja) 2002-10-07

Family

ID=11841877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01374893A Expired - Fee Related JP3332098B2 (ja) 1993-01-29 1993-01-29 二重化プロセッサ装置

Country Status (1)

Country Link
JP (1) JP3332098B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296133A (ja) * 2002-04-05 2003-10-17 Fuji Electric Co Ltd コントローラ
JP2007299120A (ja) * 2006-04-28 2007-11-15 Meidensha Corp 二重化プログラマブルコントローラの等値化方式
JP2010026932A (ja) * 2008-07-23 2010-02-04 Toshiba Corp 高可用システム及び実行状態制御方法
US7716522B2 (en) 2006-10-12 2010-05-11 Hitachi, Ltd. Information processing system and method for executing process during communication error

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296133A (ja) * 2002-04-05 2003-10-17 Fuji Electric Co Ltd コントローラ
JP2007299120A (ja) * 2006-04-28 2007-11-15 Meidensha Corp 二重化プログラマブルコントローラの等値化方式
US7716522B2 (en) 2006-10-12 2010-05-11 Hitachi, Ltd. Information processing system and method for executing process during communication error
JP2010026932A (ja) * 2008-07-23 2010-02-04 Toshiba Corp 高可用システム及び実行状態制御方法

Also Published As

Publication number Publication date
JP3332098B2 (ja) 2002-10-07

Similar Documents

Publication Publication Date Title
JP3156083B2 (ja) フォルトトレラント・コンピュータ装置
US4941087A (en) System for bumpless changeover between active units and backup units by establishing rollback points and logging write and read operations
JP2505928B2 (ja) フォ―ルト・トレラント・システムのためのチェックポイント機構
AU711456B2 (en) Fault resilient/fault tolerant computing
JPH07117903B2 (ja) 障害回復方法
WO2010100757A1 (ja) 演算処理システム、再同期方法、およびファームプログラム
CA2434292C (en) Information processing apparatus
JPH06230995A (ja) 二重化プロセッサ装置
JPH06242979A (ja) 二重化コンピュータ装置
JPH07306794A (ja) 分散システム及び分散システムの高信頼化方法
JPH0736720A (ja) 二重化コンピュータ装置
JPH07182189A (ja) 計算機システム及びプロセッサチップ及び障害復旧方法
JPH02266457A (ja) 処理の継続実行方法
JP2693627B2 (ja) プログラマブルコントローラの二重化システム
JP3144113B2 (ja) 二重化制御システムの切換方法
JPH11175108A (ja) 二重化コンピュータ装置
JPH08202570A (ja) 二重化プロセス制御装置
JPH04171539A (ja) 二重化計算機システム
JP3438986B2 (ja) 多重化コンピュータシステムおよび障害回復方法
JP3679412B6 (ja) 故障から立直りが速い/故障に対する耐性がある計算処理
JPH03268007A (ja) シーケンスコントローラ
JP2659410B2 (ja) データフローコンピュータの実行一時停止方式
JPH07200334A (ja) 二重化同期運転方式
JPH0520104A (ja) 仮想クラスタ間通信処理装置
JP3903688B2 (ja) バンク切替システム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080726

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090726

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100726

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110726

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110726

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120726

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees