(57)【要約】【課題】フェールセーフコンピュータの実現に実績を持つ照合回路の使用は踏襲しつつも、照合回路とバスラインとの結合状態を改めることにより、プロセッサを高速動作させうる多重系電子計算機を実現する。【解決手段】Ａ系，Ｂ系毎にプロセッサ１０とメインメモリ１３を有し同じプログラムを搭載した複数系のコンピュータと、データＤａ，Ｄｂを比較して不一致検出時に出力を停止する照合回路２０と、コンピュータ毎に設けられ該当系のプロセッサ１０から該当系のバスライン１１を介して固有タイミングで転送されたデータの書き込みを受けるデュアルポートメモリ３１を複数系と、照合回路２０の入力タイミングと共通するタイミングでデュアルポートメモリ３１Ａ，３１Ｂそれぞれからデータを読み出してデータＤａ，Ｄｂとする読出制御回路３２とを具える。【選択図】        図１
2006338094.tif 000002
【特許請求の範囲】
【請求項１】
各系毎にプロセッサとメインメモリを有し同じプログラムを搭載した複数系のコンピュータと、複数系のデータを比較して不一致検出時に出力を停止する照合回路とを備えた多重系電子計算機において、前記コンピュータ毎に設けられ該当系のプロセッサから該当系のバスラインを介して固有タイミングで転送されたデータの書き込みを受けるデュアルポートメモリを複数系と、前記照合回路の入力タイミングと共通するタイミングで前記デュアルポートメモリそれぞれからデータを読み出して前記照合回路にその入力対象の複数系のデータとして送出する読出制御回路とを具えたことを特徴とする多重系電子計算機。
【請求項２】
前記デュアルポートメモリが各系毎に複数設けられ、前記読出制御回路が各系毎に前記デュアルポートメモリの何れか一つをデータ読出対象に選択してデータの読出および前記照合回路へのデータ送出を繰り返すとともにデータ読出対象のメモリ切替を複数系について一斉に行うようになっていることを特徴とする請求項１記載の多重系電子計算機。
【請求項３】
前記デュアルポートメモリへのデータ書込が複数系の総てで終了したときに前記メモリ切替が行われるようになっていることを特徴とする請求項２記載の多重系電子計算機。
【請求項４】
同期要求を出して待ち状態になる同期プログラムが前記コンピュータそれぞれに搭載され、前記同期要求が複数系の総てで出揃ったときに前記コンピュータの待ち状態を一斉に解く同期制御回路が設けられたことを特徴とする請求項３記載の多重系電子計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、鉄道信号保安装置などの鉄道信号制御分野で用いられる多重系電子計算機に関し、詳しくは、フェールセーフコンピュータをなす多重系電子計算機に関する。
【背景技術】
【０００２】
従来、鉄道信号制御の分野では、障害発生時にシステムを安全な状態に維持もしくは安全な状態に遷移させるというフェールセーフなコンピュータを構成するため、プロセッサ及びその周辺を二重系・多重系とし（例えば特許文献１参照）、冗長化された処理結果を比較回路に入力して誤り検出を行い、誤り検出時には、装置として出力を安全側に固定するとともに、比較回路自体も自身の故障に対して出力を安全側に固定する、といったことが行われている。
【０００３】
そのようなフェールセーフコンピュータの具体例を図５に２つ示したが、図５（ａ）のものは、密結合バス同期式と呼ばれ、日本の鉄道分野では、連動装置や，新幹線用ＡＴＣ，踏切などに用いられている。また、図５（ｂ）のものは、プログラム同期式と呼ばれ、最近の電子連動装置などに採用されつつある。さらに、図示は割愛したが、時間差同期式や、２−バージョンプログラム式、セルフチェッキング式などのフェールセーフコンピュータも鉄道信号に実用化されている（例えば非特許文献１参照）。
【０００４】
図６は、そのような従来の多重系電子計算機のうち、密結合バス同期式について（図５（ａ），非特許文献１図１−４（１），特許文献１図４を参照）、その構成を、本発明の具体的な説明に役立つ程度の詳しさで、図示したものであり、（ａ）が全体ブロック図、（ｂ）が搭載プログラムの概要フローチャートである。
なお、図示に際して、Ａ系の要素には数字符号の末尾にＡを付加し、Ｂ系の要素には数字符号の末尾にＢを付加したが、文中でＡ系・Ｂ系の片系を意識せずに両系を纏めて参照するときは単に数字符号だけを記す。
【０００５】
この二重系電子計算機は（図６（ａ）参照）、同じプログラム１６を搭載した複数系（Ａ系，Ｂ系）のコンピュータ１０〜１５と、複数系のバスラインのデータＤａ，Ｄｂを比較して不一致検出時に出力を停止する照合回路２０とを備え、照合回路２０が各系コンピュータのバスライン１１Ａ，１１Ｂに直接接続されている。すなわち、Ａ系コンピュータ１０Ａ〜１５ＡのＡ系バスライン１１Ａのデータがそのまま比較対象の一方のデータＤａとして照合回路２０に入力されるとともに、Ｂ系コンピュータ１０Ｂ〜１５ＢのＢ系バスライン１１Ｂのデータがそのまま比較対象の他方のデータＤｂとして照合回路２０に入力され、更に両系のコンピュータのバスライン１１Ａ，１１Ｂのクロックと照合回路のデータ入力のクロックＣＬＫとが同一・共通になっている。
【０００６】
詳述すると、Ａ系も、Ｂ系も、コンピュータは、応用プログラム１６をインストールされたプロセッサ１０と、複数ラインのアドレスと複数ラインのデータと単一ラインのクロックとを含むバスライン１１と、バスライン１１を介してプロセッサ１０に接続された入力回路１２とメインメモリ１３と出力回路１４と、複数ラインからなり図示しない周辺装置や通信装置等への出力を伝える出力ライン１５とを具えている。入力回路１２は、例えば、ラッチ回路や割込要求回路等を具えていて、周辺装置や通信装置等から受けたデータをプロセッサ１０に入力させるようになっている。メインメモリ１３は、例えば、プログラム保持に適したＰＲＯＭやデータ保持に適したＳＲＡＭからなり、出力回路１４は、例えば、バッファ等を具えていて、出力ライン１５を介して外部へ出力するデータを一時保持するようになっている。
【０００７】
応用プログラム１６は（図６（ｂ）参照）、連動装置や新幹線用ＡＴＣ等のアプリケーションに応じて具体的な処理内容が異なるが、入力処理とそれに応じた応用演算と演算結果に基づく出力処理とを基本的な処理単位として、それを応用種別等に応じて必要なだけ（１〜Ｎ）行うようになっている。また、それら一連の処理は、プロセッサ１０によって繰り返し実行される。即ち（図６参照）、入力処理（入力１〜Ｎ）では、入力回路１２からバスライン１１を介してプロセッサ１０へデータが送られ、応用演算（応用１〜Ｎ）では、プロセッサ１０からバスライン１１を介してメインメモリ１３へデータ参照やデータ書込が行われ、出力処理（出力１〜Ｎ）ではプロセッサ１０からバスライン１１を介して出力回路１４へ出力データが送られるとともに、この出力データが出力回路１４から出力ライン１５に送出されるようになっている。密結合バス同期式では、クロックが共通なので、Ａ系プロセッサ１０ＡとＢ系プロセッサ１０Ｂは完全に同期して同じ処理を行う。
【０００８】
照合回路２０は（図６（ａ）参照）、複数系のデータを比較して不一致検出時に出力を停止するために、フェールセーフ比較回路２１とフェールセーフ電源２２と出力比較回路２３とを具えており、そのうちフェールセーフ比較回路２１は、プロセッサ１０のバスラインと共通するクロックＣＬＫに基づくタイミングで、Ａ系バスライン１１ＡからデータＤａを入力するとともにＢ系バスライン１１ＢからデータＤｂを入力して、両データが一致しているか否かの比較を行うようになっている。また、フェールセーフ比較回路２１は、比較結果として照合信号Ｆを出力するが、いわゆる振り子回路を具有しており、これによって照合信号Ｆは、一致状態の継続している間は、一定周期で交互に値の変化する交番信号となり、比較結果に不一致が検出されると、値の変化しない一定信号となる。
【０００９】
出力比較回路２３は、例えばリレー回路からなり、図示の出力回路１４と図示しない周辺装置や通信装置等の外部装置との間に介挿して設けられ、出力回路１４Ａ，Ｂの出力データについて出力ライン１５の各ライン毎にＡ系とＢ系との論理積を採ってからその論理値を例えば２４Ｖのリレー信号で図示しない外部装置へ送出するようになっている。
フェールセーフ電源２２は、出力比較回路２３に例えば２４Ｖの動作電力を供給するものであるが、その電力供給を照合信号Ｆに応じて選択的に行う。具体的には、照合信号Ｆが交番信号のときだけ出力比較回路２３に動作電力を供給し、照合信号Ｆが一定信号のときには出力比較回路２３に動作電力を供給しないようになっている。
【００１０】
このような密結合バス同期式の多重系電子計算機では、Ａ系およびＢ系のコンピュータ１０〜１５が同一のソフトウェアで稼動するとともに、照合回路２０がクロックに同期して両系のバスライン１１のデータを比較する。
そして、両系のコンピュータ１０〜１５が何れも正常に動作している間は、両系のデータが一致してフェールセーフ比較回路２１の照合信号Ｆが交番信号になり、フェールセーフ電源２２から出力比較回路２３に電力が供給されるので、出力比較回路２３から外部へ出力データが出力される。
【００１１】
これに対し、何れかの系に故障が発生して、両系のデータに不一致が検出されると、フェールセーフ比較回路２１の照合信号Ｆが一定信号になり、フェールセーフ電源２２から出力比較回路２３への電力供給が停止されるので、出力比較回路２３から外部へ出力データが出力されなくなる。
こうして、故障発生時には照合回路によってデータの外部出力が抑止されて、装置から外部への作用が安全状態に保持され、フェールセーフ性が確保される。
【００１２】
【特許文献１】特許２７３１６５６号公報
【非特許文献１】「コンピュータ制御信号システムの安全性・信頼性技術」財団法人鉄道総合研究所発行、ｐ１−１５〜ｐ１−１７
【発明の開示】
【発明が解決しようとする課題】
【００１３】
このような従来の多重系電子計算機では、フェールセーフ化のために採用した方式によって、長所・短所に違いがある。
例えば、プログラム同期方式の場合、健全性のチェックをソフトウェア（プログラム）で遂行するため、ハードウェアの規模や制約が少なくてプロセッサ（ＣＰＵ）のマシンサイクル（クロック）を上げるのも容易であるという長所がある一方、ソフトウェアの負担（プログラム構成，プログラム規模，実行負荷）が重いという短所がある。
【００１４】
これに対し、密結合バス同期方式では、健全性のチェックに際し、ハードウェアで構成した比較回路・照合回路を用いて、プロセッサのマシンサイクル毎に各系のバスラインのデータを比較するため、ソフトウェアの負担が軽いという長所がある一方、プロセッサのバス動作速度が照合回路の制約を受けることに起因する不都合がある。すなわち、照合回路のうち比較回路や電源回路にフェールセーフなものが採用されていて、照合回路の動作速度を上げるのが困難なことから、プロセッサのバス動作速度の上限の引き上げも難しく、そのため、利用可能なプロセッサの動作速度が向上しても、その最高動作速度を下回るバス動作速度の上限以下でしかプロセッサを動作させることができなかった。
【００１５】
しかしながら、処理能力の向上は避けることのできない要請であり、密結合バス同期方式についても、ハードウェアの制約が少なくてマシンサイクルを容易に上げられるというプログラム同期方式の長所を取り込めるよう、改造を施すことが望まれる。もっとも、ソフトウェアの負担が過重になることは許されないので、負担の重いフェールセーフな比較処理はソフトウェア化を避けなければならない。
そこで、フェールセーフコンピュータの実現に実績を持つ照合回路の使用は踏襲しつつも、照合回路とバスラインとの結合状態を改めることにより、プロセッサを高速動作させうる多重系電子計算機を実現することが、技術的な課題となる。
【課題を解決するための手段】
【００１６】
本発明の多重系電子計算機は（解決手段１）、このような課題を解決するために創案されたものであり、各系毎にプロセッサとメインメモリを有し同じプログラムを搭載した複数系のコンピュータと、複数系のデータを比較して不一致検出時に出力を停止する照合回路とを備えた多重系電子計算機において、前記コンピュータ毎に設けられ該当系のプロセッサから該当系のバスラインを介して固有タイミングで転送されたデータの書き込みを受けるデュアルポートメモリを複数系と、前記照合回路の入力タイミングと共通するタイミングで前記デュアルポートメモリそれぞれからデータを読み出して前記照合回路にその入力対象の複数系のデータとして送出する読出制御回路とを具えたことを特徴とする。
【００１７】
また、本発明の多重系電子計算機は（解決手段２）、上記解決手段１の多重系電子計算機であって、前記デュアルポートメモリが各系毎に複数設けられ、前記読出制御回路が各系毎に前記デュアルポートメモリの何れか一つをデータ読出対象に選択してデータの読出および前記照合回路へのデータ送出を繰り返すとともにデータ読出対象のメモリ切替を複数系について一斉に行うようになっていることを特徴とする。
【００１８】
さらに、本発明の多重系電子計算機は（解決手段３）、上記解決手段２の多重系電子計算機であって、前記デュアルポートメモリへのデータ書込が複数系の総てで終了したときに前記メモリ切替を行うように前記読出制御回路がなっていることを特徴とする。
【００１９】
また、本発明の多重系電子計算機は（解決手段４）、上記解決手段３の多重系電子計算機であって、同期要求を出して待ち状態になる同期プログラムが前記コンピュータそれぞれに搭載され、前記同期要求が複数系の総てで出揃ったときに前記コンピュータの待ち状態を一斉に解く同期制御回路が設けられたことを特徴とする。
【発明の効果】
【００２０】
このような本発明の多重系電子計算機にあっては（解決手段１）、各系のプロセッサのバスラインとフェールセーフな照合回路との直接接続が外され、その代わりに、各系毎にメインメモリとは別のデュアルポートメモリが設けられて、その読出が読出制御回路によって行われる。
これにより、バスラインと照合回路との接続関係がデュアルポートメモリを介在させた間接的なものとなって、クロックを同一・共通にするというハードウェア上の制約が解かれる。一方、ソフトウェア負荷の増加は、比較対象データをメインメモリ等からデュアルポートメモリへ転送する程度にとどまり、比較処理には及ばない。
【００２１】
しかも、比較対象データの転送に際して、各系のプロセッサからデュアルポートメモリへの書込が各系の固有タイミングで行われる一方、デュアルポートメモリからのデータ読出は読出制御回路によって照合回路の入力タイミングに適合するよう一斉に行われるため、各系のプロセッサのマシンサイクル・バスラインのクロックと照合回路の比較サイクル・データ入力クロックとが同じでなくても、複数系のデータを比較してフェールセーフ性を確保することが可能である。
したがって、この発明によれば、密結合バス同期方式の照合回路を使用してフェールセーフコンピュータを構成していながらプロセッサは高速動作させうる多重系電子計算機を実現することができる。
【００２２】
また、本発明の多重系電子計算機にあっては（解決手段２）、デュアルポートメモリが各系毎に複数化されていて、各系毎にデュアルポートメモリの何れか一つがデータ読出対象に選択され、そこから繰り返してデータが読み出され照合回路へ送出される。そして、データ読出対象のメモリを切り替えるときには複数系で一斉に行われる。そのため、デュアルポートメモリへのデータ書き込みはデータ読出対象以外のメモリに行われることとなる。また、各系でのデータ書込状態の不揃いに影響されることなく、比較可能に揃った各系のデータが途切れることなくデュアルポートメモリから読み出されて照合回路に送られる。これにより、照合回路が、フェールセーフ性の確保のため振り子回路等を具有していて比較対象データの間断なき入力を要する従来品のままであっても、適切に動作する。
【００２３】
さらに、本発明の多重系電子計算機にあっては（解決手段３）、複数系の総てでデュアルポートメモリへのデータ書込が終了すると、読出制御回路によってデータ読出対象メモリの切替が行われる。
これにより、各系のコンピュータは自系データの書込終了を通知すれば足り他系コンピュータのデータ書込終了を待ち合わせる必要がなくなるので、比較対象データをプログラムで転送しなければならなくなったことに伴うプログラムの改造が少なくて済む。
【００２４】
また、本発明の多重系電子計算機にあっては（解決手段４）、各系のコンピュータがクロックレベルでは非同期で動作しうるようになったが、処理タイミングのずれが過大になると不都合なので、そのような可能性のあるときには各系のコンピュータで同期プログラムが実行される。そうすると、同期要求を出したコンピュータは待ち状態になり、同期要求が複数系の総てで出揃ったとき、同期制御回路によって、一斉にコンピュータの待ち状態が解かれる。
このように各系のコンピュータが同期要求を出すだけで同期が採られるようにしたことにより、各系のコンピュータを非同期で動作させて各系間のタイミングの自由度を高めたことに伴い反射的に必要となる同期採りのためのプログラム改造が少なくて済む。
【発明を実施するための最良の形態】
【００２５】
このような本発明の多重系電子計算機について、これを実施するための好適な形態を、図面を引用して具体的に説明する。
図１及び図２は、その典型例である二重系電子計算機の構成を示し、図１は、全体ブロック図、図２は、搭載プログラムの概要フローチャートである。
【００２６】
なお、それらの図示に際し従来と同様の構成要素には同一の符号を付して示したので、重複する再度の説明は割愛し、以下、従来との相違点を中心に説明する。
また、従来例と同様、図示に際して、Ａ系の要素には数字符号の末尾にＡを付加し、Ｂ系の要素には数字符号の末尾にＢを付加したが、文中でＡ系・Ｂ系の片系を意識せずに両系を纏めて参照するときは単に数字符号だけを記す。
【００２７】
この図１〜２の二重系電子計算機が既述した図６の従来例と相違するのは、各系毎にデュアルポートメモリ３１が設けられた点と、読出制御回路３２及び同期制御回路３３が一つずつ設けられた点と、各系のコンピュータそれぞれに同じ転送プログラム３４及び同期プログラム３５が追加搭載された点である。
それらの追加要素について、以下、詳述する。なお、図１では、入力回路１２をＡ系入力回路１２ＡとＢ系入力回路１２Ｂとに分けて示したが、図６の入力回路１２と実質的な相違はなく、上記追加要素を明瞭に図示するための便宜にすぎない。
【００２８】
デュアルポートメモリ３１は、メモリアクセス用ポートを二つ具えたメモリであり、各系毎に複数設けられている。すなわち、Ａ系のコンピュータに設けられたＡ系デュアルポートメモリ３１Ａには切替可能な二つのメモリ＠１，＠２が含まれ、Ｂ系のコンピュータに設けられたＢ系デュアルポートメモリ３１Ｂにも切替可能な二つのメモリ＠１，＠２が含まれている。デュアルポートメモリ３１の一方のポートはバスライン１１に接続されていて、接続先の系である該当系のプロセッサから該当系のバスラインを介して固有タイミングで転送されたデータの書き込みを受けるようになっている。
【００２９】
デュアルポートメモリ３１の他方のポートは、アドレス部が読出制御回路３２のアドレス出力（Ｒａ又はＲｂ）に接続され、データ部が照合回路２０のフェールセーフ比較回路２１のデータ入力（Ｄａ又はＤｂ）に接続されていて、データ読出が読出制御回路３２の制御で行われるものとなっている。そして、Ａ系デュアルポートメモリ３１Ａから読み出されたデータは照合回路２０の一方の入力対象データＤａにされ、Ｂ系デュアルポートメモリ３１Ｂから読み出されたデータは照合回路２０の他方の入力対象データＤｂにされるようになっている。
【００３０】
デュアルポートメモリ３１におけるメモリ＠１，＠２のサイズ（記憶容量）はメインメモリ１３より小さくて良く、例えば、メインメモリ１３がメガバイトオーダのときデュアルポートメモリ３１はキロバイトオーダで足りる。そのような各系のデュアルポートメモリ３１に対するメモリ＠１，＠２の切り替えも読出制御回路３２の制御で行われる。そして、メモリ＠１が読出制御回路３２によってデータ読出対象に選択されているときメモリ＠２がバスライン１１を介するデータ書込対象とされ、メモリ＠２が読出制御回路３２によってデータ読出対象に選択されているときメモリ＠１がバスライン１１を介するデータ書込対象とされるようになっている。
【００３１】
読出制御回路３２は、デュアルポートメモリ３１からのデータ読出を制御するためにアドレスカウンタ等を具備する他、バスライン１１のクロックよりも通常は周波数の低いクロックＣＬＫを発生する発振回路等も具えている。このクロックＣＬＫが、デュアルポートメモリ３１からのデータ読出制御に用いられるとともに、フェールセーフ比較回路２１にデータ入力のクロックとして送出されているので、読出制御回路３２は、照合回路２０の入力タイミングと共通するタイミングでＡ系デュアルポートメモリ３１Ａ及びＢ系デュアルポートメモリ３１Ｂそれぞれからデータを読み出して照合回路２０にその入力対象の複数系のデータＲａ，Ｒｂとして送出するものとなる。
【００３２】
また、読出制御回路３２は、データ転送終了の通知や有効アドレス範囲の通知などを各系のコンピュータから受けるために、各系のバスライン１１にも接続されている。さらに、各系毎にデュアルポートメモリ３１の何れか一つ即ちメモリ＠１かメモリ＠２か何れか一方をデータ読出対象に選択して行うデータＤａ，Ｄｂの読出および照合回路２０へのデータ送出を間断なく繰り返すようになっている。また、データ読出対象のメモリ切替は、Ａ系，Ｂ系のコンピュータ両方からデータ転送終了の通知を受けたとき、Ａ系デュアルポートメモリ３１Ａ及びＢ系デュアルポートメモリ３１Ｂについて一斉に行うようになっている。
【００３３】
同期制御回路３３は、同期要求を各系のコンピュータから受けるために、各系のバスライン１１に接続されている。そして、同期要求が複数系の総てで出揃ったとき即ちＡ系バスライン１１Ａ経由の同期要求とＢ系バスライン１１Ｂ経由の同期要求との双方を受け取ったときに、コンピュータの待ち状態を解くための起動信号ＷをＡ系プロセッサ１０Ａ及びＢ系プロセッサ１０Ｂに対して一斉に送出するようになっている。大抵の汎用プロセッサ１０は待ち状態を制御するための信号入力端子を具えているので、その端子に起動信号Ｗを送出するようになっている。
【００３４】
転送プログラム３４は、プロセッサ１０によって実行されて、応用プログラム１６による応用演算の中間値や結果値などのうち適宜なデータをバスライン１１経由でデュアルポートメモリ３１に書き込むようになっている。
同期プログラム３５は、やはりプロセッサ１０によって実行されて、同期制御回路３３にバスライン１１を介して同期要求を出し、その後は待ち状態になるためのプログラム命令を実行して搭載先のプロセッサ１０を待ち状態にするようになっている。
【００３５】
これらの追加プログラム３４，３５は例えばサブルーチン形式で応用プログラム１６の適宜な何カ所かに組み込まれる。例えば（図２参照）、転送プログラム３４は、応用演算（１〜Ｎ）それぞれの後に組み込まれ、同期プログラム３５は、入力処理（１〜Ｎ）と転送処理（１〜Ｎ）と出力処理（１〜Ｎ）それぞれの直前に組み込まれる。そして、応用プログラム１６の繰り返し実行に随伴して、転送プログラム３４及び同期プログラム３５も繰り返し実行される。
【００３６】
密結合バス同期式でなくなり、クロックが別個なので、Ａ系プロセッサ１０ＡとＢ系プロセッサ１０Ｂとの同期はプログラムに依存して間欠的に採られるようになっている。比較対象データの転送もプログラムに依存して間欠的に行われるようになったが、比較対象データの読出は読出制御回路３２によって常に繰り返して行われ、さらに比較処理自体やフェールセーフ性確保はプログラムでなく密結合バス同期式の照合回路２０によって間断なく行われるので、プログラム同期方式でもない。
【００３７】
この実施形態の二重系電子計算機について、その使用態様及び動作を、図面を引用して説明する。図３及び図４は、動作説明用のタイムチャートであり、そのうち図３は正常時を示し、図４は異常時を示している。なお、その図示に際しては、説明の都合上、Ａ系とＢ系との速度差を誇張して、Ａ系プロセッサ１０ＡがＢ系プロセッサ１０Ｂよりかなり高速であるように記したが、実用上は、大抵、同一構成のプロセッサを同じ周期のクロックで動作させるので、短期間における両系での処理のタイミングずれは、ほとんど無い。
【００３８】
Ａ系，Ｂ系いずれのコンピュータも正常な場合（図３参照）、何れのコンピュータでも、同期処理と入力処理と応用演算と同期処理と転送処理と同期処理と出力処理とが基本的な処理単位となり、それが応用種別等に応じて必要なだけ（１〜Ｎ）行われ、さらに、それら一連の処理が繰り返される。
一連の処理の繰り返しは従来同様なので、ここでは、同期処理と転送処理とが組み込まれた基本的な処理単位の一例を詳述する。
Ａ系プロセッサ１０ＡがＢ系プロセッサ１０Ｂより速いとすると、時刻ｔ１には、前の処理を終えたＡ系プロセッサ１０Ａが、Ａ系転送プログラム３４Ａを実行して、Ａ系バスライン１１Ａを介して同期制御回路３３に同期要求を出しそれから待ち状態になる。
【００３９】
このとき、Ａ系デュアルポートメモリ３１Ａの一方のメモリ＠１にはＡ系プロセッサ１０Ａによる前の前の転送処理で書き込まれた旧々データが保持され、他方のメモリ＠２にはＡ系プロセッサ１０Ａによる前の転送処理で書き込まれた旧データが保持され、このメモリ＠２の旧データが読出制御回路３２によって繰り返し読み出されて照合回路２０の入力データＤａにされる。また、Ｂ系デュアルポートメモリ３１Ｂの一方のメモリ＠１にはＢ系プロセッサ１０Ｂによる前の前の転送処理で書き込まれた旧々データが保持され、他方のメモリ＠２にはＢ系プロセッサ１０Ｂによる前の転送処理で書き込まれた旧データが保持され、このメモリ＠２の旧データが読出制御回路３２によって繰り返し読み出されて照合回路２０の入力データＤｂにされる。
【００４０】
正常時には、両系のデュアルポートメモリ３１Ａ，３１Ｂの同じアドレスから同じタイミングでデータが読み出されるので、クロックＣＬＫで照合回路２０のフェールセーフ比較回路２１に比較対象データとして入力されるデータＤａ，Ｄｂは値が等しい。そのため、照合信号Ｆが交番信号になり、フェールセーフ電源２２から電力を供給されて出力比較回路２３が動作可能な状態におかれる。
そして、時刻ｔ２に、Ｂ系プロセッサ１０Ｂから同期要求が出されると、同期要求が出揃ったことになるので、同期制御回路３３から起動信号Ｗが両プロセッサ１０Ａ，１０Ｂに送出されて、両系で同時に入力処理が実行される。同時なので入力回路１２から両プロセッサ１０Ａ，１０Ｂに同じデータが入力される。
【００４１】
入力処理の後は入力データに基づく応用演算が行われ、既述したようにメインメモリ１３へのデータ参照やデータ書込が行われる。そして、この応用演算でもＡ系プロセッサ１０ＡがＢ系プロセッサ１０Ｂより先に終了したとすると、その時刻ｔ３に、Ａ系プロセッサ１０Ａから同期要求が出され、Ａ系プロセッサ１０Ａが待ち状態になる。その後、時刻ｔ４には、Ｂ系プロセッサ１０Ｂからも同期要求が出されて同期要求が揃い、これに応じて同期制御回路３３から起動信号Ｗが出されて、両系で同時に転送処理が実行される。
【００４２】
転送処理はプロセッサ１０が転送プログラム３４を実行することにより遂行され、応用演算の中間値や結果値などのうち適宜なデータがバスライン１１を介してデュアルポートメモリ３１に書き込まれる。具体的には、Ａ系のコンピュータでは、Ａ系の比較対象用の新データがＡ系プロセッサ１０ＡからＡ系デュアルポートメモリ３１Ａのメモリ＠１に書き込まれ、その有効アドレス範囲の通知がＡ系プロセッサ１０Ａから読出制御回路３２に送られ、更にデータ転送終了の通知もＡ系プロセッサ１０Ａから読出制御回路３２に送られ、それから同期要求がＡ系プロセッサ１０Ａから同期制御回路３３に出されて、時刻ｔ５にはＡ系プロセッサ１０Ａが待ち状態になる。
【００４３】
また、Ｂ系のコンピュータでは、Ｂ系の比較対象用の新データがＢ系プロセッサ１０ＢからＢ系デュアルポートメモリ３１Ｂのメモリ＠１に書き込まれ、その有効アドレス範囲の通知がＢ系プロセッサ１０Ｂから読出制御回路３２に送られ、更にデータ転送終了の通知もＢ系プロセッサ１０Ｂから読出制御回路３２に送られる。この通知がなされた時刻ｔ６には、Ａ系，Ｂ系すべての系でデュアルポートメモリ３１へのデータ書き込みが終了しているので、読出制御回路３２によってデータ読出対象のメモリ切替が行われ、Ａ系，Ｂ系いずれでも、デュアルポートメモリ３１のうち新データを保持しているメモリ＠１が読出制御回路３２のデータ読出対象に選択されるとともに、旧データを保持しているメモリ＠２は次のデータ書き込みに備えてデータ読出対象から外される。
【００４４】
そして、フェールセーフ比較回路２１に比較対象データとして入力されるデータＤａ，Ｄｂが新データに切り替わるが、正常時には、両系の新データも等しいので、引き続き照合信号Ｆが交番信号になり出力比較回路２３が動作可能な状態におかれる。
それから、Ｂ系プロセッサ１０Ｂからも同期要求が出されて同期要求が揃うと、これに応じて同期制御回路３３から起動信号Ｗが出されて、両系で同時に出力処理が実行される。同時なのでＡ系出力回路１４ＡとＢ系出力回路１４Ｂとから出力比較回路２３へ同じデータが送出され、出力比較回路２３から外部に向けたデータ出力がなされる。
【００４５】
これに対し、異常時には（図４参照）、以下のようにして出力比較回路２３から外部へのデータ出力が抑制される。時刻ｔ２以降の入力処理や応用演算あるいは時刻ｔ４以降の転送処理で何れかのコンピュータに異常が生じ、その影響が比較対象データに及ぶと、とりあえず時刻ｔ１〜ｔ６までの各処理は上述した正常時と同様に進行するが、それは処理手順だけのことであり、デュアルポートメモリ３１のメモリ＠１に書き込まれた新データは両系で異なるため、時刻ｔ６に読出制御回路３２の読出対象がメモリ＠２からメモリ＠１に切り替わると、フェールセーフ比較回路２１に比較対象データとして入力されるデータＤａ，Ｄｂが一致せず、不一致が検出される。
【００４６】
すると、フェールセーフ比較回路２１の出力する照合信号Ｆが交番信号から一定信号に変わり、これに応じてフェールセーフ電源２２が出力比較回路２３に電力を供給しなくなるので、出力比較回路２３から外部へ出力データが出力されなくなる。
こうして、この実施形態の二重系電子計算機でも、故障発生時には照合回路によってデータの外部出力が抑止されて、装置から外部への作用が安全状態に保持されるので、フェールセーフ性が確保される。
【００４７】
このように、本発明を適用した二重系電子計算機にあっては、Ａ系バスライン１１ＡクロックとＢ系バスライン１１Ｂのクロックと照合回路２０のクロックＣＬＫとが同じでなくてもフェールセーフコンピュータとして機能するので、例えば、クロックＣＬＫを従来通り２５ＭＨｚにとどめたまま、プロセッサ１０にマシンサイクル１５０ＭＨｚやそれ以上の高速なものを採用することができる。また、各系のプロセッサ１０Ａ，１０Ｂそれぞれにキャッシュメモリを持たせることもできる。
【００４８】
［その他］
照合回路２０は、不一致検出時に少なくとも出力を停止するようになっていれば足りるが、その他の安全事項を行うようにしても良く、例えば出力停止に加えてプロセッサを停止させるようにしても良い。
バスライン１１は、ＣＰＵバスラインの総てを含んでいる必要はなく、メモリバスと入出力バスを含んでいれば足りる。
【００４９】
待ち状態を制御する専用の信号入力端子が無いプロセッサの場合、起動信号Ｗを割込要求信号入力端子に送出する等のことで、待ち状態を解くようにしても良い。
二重系電子計算機への適用例を上述したが、本発明は三重系以上の多重系電子計算機にも適用することができる。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施形態について、多重系電子計算機の全体ブロック図である。
【図２】搭載プログラムの概要フローチャートである。
【図３】正常時の動作説明用タイムチャートである。
【図４】異常時の動作説明用タイムチャートである。
【図５】従来の多重系電子計算機について、（ａ），（ｂ）何れもフェールセーフコンピュータの概要ブロック図であり、（ａ）が密結合バス同期式、（ｂ）がプログラム同期式を示す。
【図６】従来の多重系電子計算機について、（ａ）が詳細な全体ブロック図、（ｂ）が搭載プログラムの概要フローチャートである。
【符号の説明】
【００５１】
１０…プロセッサ（ＣＰＵ）、
１１…バスライン、１２…入力回路、１３…メインメモリ、
１４…出力回路、１５…出力ライン、１６…応用プログラム、
２０…照合回路、
２１…フェールセーフ比較回路（ＦＳ）、
２２…フェールセーフ電源（ＦＳ）、２３…出力比較回路、
３０…バス模擬回路、
３１…デュアルポートメモリ、３２…読出制御回路、
３３…同期制御回路、３４…転送プログラム、３５…同期プログラム
【図１】
2006338094.tif 000003
【図２】
2006338094.tif 000004
【図３】
2006338094.tif 000005
【図４】
2006338094.tif 000006
【図５】
2006338094.tif 000007
【図６】
2006338094.tif 000008