JPH08235015A - プロセッサ装置並びにプロセッサ故障診断方法 - Google Patents

プロセッサ装置並びにプロセッサ故障診断方法

Info

Publication number
JPH08235015A
JPH08235015A JP7038391A JP3839195A JPH08235015A JP H08235015 A JPH08235015 A JP H08235015A JP 7038391 A JP7038391 A JP 7038391A JP 3839195 A JP3839195 A JP 3839195A JP H08235015 A JPH08235015 A JP H08235015A
Authority
JP
Japan
Prior art keywords
abnormality
clock
signal
processor
output
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
Application number
JP7038391A
Other languages
English (en)
Inventor
Toshihiko Shimizu
利彦 清水
Kaoru Abe
薫 阿部
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP7038391A priority Critical patent/JPH08235015A/ja
Publication of JPH08235015A publication Critical patent/JPH08235015A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 冗長化されたプロセッサ同期して動作するフ
ォールトトレラントシステムにおいて、プロセッサの出
力に異常が発生したときに、故障診断を行い故障が一時
故障である場合は、故障したプロセッサを復旧させて再
び同期して動作させるために故障診断及び復旧処理を高
速化させることを目的とする。 【構成】 クロック信号を出力するクロック供給器と、
クロック信号の異常を検出するクロック異常検出器と、
クロック信号を受けて作動するプロセッサと、このプロ
セッサの動作異常を検出するプロセッサ異常検出器と、
このプロセッサ異常検出器の出力が異常を示し、上記ク
ロック異常検出器の出力が異常を示していないときに、
上記プロセッサに対し故障診断テスト処理を行うととも
に、上記クロック異常検出器の出力が異常を示したとき
には上記故障診断テスト処理を行わない故障診断部と、
を備えたものである。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プロセッサを多重化し
たフォールトトレラント計算機における冗長クロックの
異常検出方式及び冗長クロック異常時の冗長化プロセッ
サの異常処理方式に関するものである。
【0002】
【従来の技術】フォールトトレラント計算機の分野にお
いて、計算機の信頼性を高める方法として、故障率の高
いモジュールを多重化し、あるモジュールが故障しても
残りのモジュールで正しい動作を行う方式が一般的にと
られている。その最も一般的な技術の1つは、クリティ
カルな論理機能を提供する回路(通常の場合はプロセッ
シングユニット)を多重化することである。多重化され
たプロセッシングユニットの各出力を多数決回路に入力
して多重化されたプロセッシングユニットの出力値を決
定することが一般的に用いられている。多数決回路の典
型的な例として、三重化されたプロセッシングユニット
の場合、3つの出力のうち2つの一致するものを選択す
る2/3多数決方式と呼ばれるものがある。この方式に
よると3つのプロセッシングユニットの内、いずれか1
つが故障しても多数決により正しいプロセッシングユニ
ットの出力が得られる。
【0003】このような多数決回路を有するフォールト
トレラント計算機の中には、故障したプロセッシングユ
ニットについて故障診断を行い、一時的な故障故障であ
る場合には、3つのプロセッシングユニットの同期をと
り、再び3つのプロセッシングユニットで処理を行うよ
うにする故障診断及び復旧処理が存在する。この方法に
より、一時的に故障が発生した場合においても、復旧処
理を行って再び3つのプロセッシングユニットで動作を
再開するため、再び信頼性の高い処理を再開することが
できる。
【0004】以下、上記の故障診断及び復旧処理の方式
について説明する。図20は、従来の冗長化プロセッサ
システムの全体構成を示すブロック図である。
【0005】このブロック図において、プロセッシング
ボード125aは、3個の同一のプロセッサ104を実
装している。3個のプロセッサ104は同一クロック1
13で完全同期して動作する。3個のプロセッサ104
と3個のキャッシュメモリ107は、それぞれ専用バス
110で接続されている。プロセッサ104とキャッシ
ュメモリ107と専用バス110の組み合せにより、各
々、プロセッシングユニット101(CPU#A、また
はプロセッシングユニットAと称する)、プロセッシン
グユニット102(CPU#B、またはプロセッシング
ユニットBと称する)、プロセッシングユニット103
(CPU#C、またはプロセッシングユニットCと称す
る)を構成する。各プロセッシングユニットは、プロセ
ッサバス121を介して、多数決ユニット135aと接
続される。多数決ユニット135aは、キャッシュメモ
リ107を含めたプロセッシングユニットからの出力の
多数決をとる。また、2つのシステムバス141とのイ
ンタフェースを司り、プロセッシングユニットに対する
応答制御を行う。2つのシステムバス141には、主記
憶装置143と入出力バスアダプタ145が接続されて
いる。2つの入出力バスアダプタ145には、それぞれ
I/Oバス147が接続され、各I/Oバス147には
I/O装置149が接続される。
【0006】図21は、図20に示した冗長化プロセッ
サシステムの障害検出処理及び復旧処理を示したフロー
チャートである。以下、3個のプロセッシングユニット
1の内、1個のプロセッシングユニット(仮にプロセッ
シングユニットAとする)が故障した時の動作を説明す
る。まず、ステップST0からスタートし、ステップS
T1にて、通常同期動作を行う。この通常同期動作は3
つのプロセッシングユニットによって同期しながら実行
される。この通常同期動作実行中にプロセッシングユニ
ットA101が故障すると、以下のような故障検出が開
始される。
【0007】まず、障害検出工程100について説明す
る。障害が発生したプロセッシングユニットA101
は、多数決ユニット135aで検出される。これによ
り、プロセッシングユニットA101に対する応答信号
が多数決ユニット135aから出力されなくなり、プロ
セッシングユニットA101が凍結状態(停止する)に
なる。
【0008】いずれかのプロセッシングユニットが故障
したことは、多数決ユニット135aから図示しない割
込制御回路に伝えられる。割込制御回路は、正常動作し
ているプロセッシングユニットB102,C103に割
込を発生させる。すると、正常動作プロセッシングユニ
ットであるプロセッシングユニットB102,C103
がステップST7を実行する。このステップST7によ
り、プロセッシングユニットB102,C103はプロ
セッシングユニットA101が故障したことを検知する
ことができる。
【0009】次に、故障診断工程200について説明す
る。故障を検知したプロセッシングユニットB102,
C103はステップST8にて、多数決ユニット内の制
御レジスタを用いてプロセッシングユニットA101を
単独動作させる。即ち、プロセッシングユニットB,C
は凍結状態になり、プロセッシングユニットA101は
凍結状態から解除され、隔離動作モードによる動作を開
始する。また、この時、プロセッシングユニットB10
2及びC103は、プロセッシングユニットA101に
対する、強制割込をかける。このため最高レベルの割込
が発生し、プロセッシングユニットA101は、あらか
じめ用意されたエラー解析及び自己診断用の特別処理ル
ーチンであるステップST2とST3を実行する。プロ
セッシングユニットA101は、自らのエラー情報及び
自己診断結果を、プロセッシングユニットA101,B
102,C103ごとにあらかじめ決められた主記憶装
置143の退避領域に書きだす。また、故障したプロセ
ッシングユニットA101は、ステップST3の処理を
行う前にキャッシュメモリ107を無効化(パージ)し
ておく。故障したプロセッシングユニットAによる主記
憶装置143の書き込みが終了すると、ステップS3に
て制御レジスタに書き込みを行い。プロセッシングユニ
ットB102,C103は再度動作を開始してステップ
S9の処理を行う。一方、障害プロセッシングユニット
であるプロセッシングユニットA101は凍結状態に戻
る。
【0010】次に、同期工程300について説明する。
ステップST9にて再度動作を再開したプロセッシング
ユニットB102,C103は、プロセッシングユニッ
ト内の全レジスタの内容を、主記憶装置143の予め決
められたレジスタ退避領域に退避する。次にステップS
T10に移って、障害の発生したプロセッシングユニッ
トAが主記憶装置143に書き出した内容の解析を行
い、プロセッシングユニットAの自己診断結果に基づ
き、プロセッシングユニットAが復旧可能かどうかの判
断を行う。もし、自己診断結果が良好であり、一時的な
故障と判断すると、正常なプロセッシングユニットB1
02,C103は、ステップST10にて、キャッシュ
メモリ107のフラッシュを行い、続いてステップST
11にて、3つのプロセッシングユニットA101・B
102・C103が同時に動作するように制御レジスタ
のデータを書き換える。次に、ステップST4・ST1
3にて、プロセッシングユニットA101,B102,
C103は、ステップST9においてレジスタ退避領域
に退避しておいたプロセッシングユニットの全レジスタ
の内容をリストアする。このようにして動作を再開した
プロセッシングユニットA101は、正常動作を行って
いるプロセッシングユニットB102,C103と全レ
ジスタ内容が同一となる。そして、ステップST5・S
T14にて、プロセッシングユニットA101,B10
2,C103は、障害発生の特別処理ルーチンを終了す
る。ただし、ステップST3の自己診断の結果が不良で
あり、ステップS10にて旧不可能な故障と判断される
と、ステップST12の制御レジスタのセットは行われ
ず、ステップST13の命令実行にジャンプし、故障し
たプロセッシングユニットA101を切り離したままで
処理を続行することになる。
【0011】
【発明が解決しようとする課題】従来の技術による冗長
化プロセッサの異常検出処理では、多数決ユニット13
5aが各プロセッシングユニット135aの出力に相違
があることを検知した場合、上記出力の多数決結果から
出力誤りのあるプロセッシングユニットを特定し、この
プロセッシングユニットに故障があったと判断して、こ
のプロセッシングユニットによる自己診断テストを行
う。従って、出力誤りの原因がプロセッシングユニット
自体にはなく、このプロセッシングユニットに供給され
ているクロックに障害の原因があったとしても、プロセ
ッシングユニット自体に障害がないかどうか、無駄な自
己診断テストを行ってしまう。そのため、冗長化プロセ
ッサシステム全体の処理速度を低下させるといった問題
があった。
【0012】この発明は上記のような問題点を解消する
ためになされたものであり、冗長化プロセッサシステム
の信頼性を高めると共に、障害原因の高速な診断を可能
にし、プロセッサを高速に復旧させることを目的とす
る。
【0013】
【課題を解決するための手段】この発明によるプロセッ
サ装置は、クロック信号の異常を検知するクロック異常
検出器と、クロック信号を受けて作動するプロセッサ
と、このプロセッサの動作異常を検知するプロセッサ異
常検出器と、プロセッサ又はクロックの故障を診断する
故障診断部と、を備えたものである。
【0014】さらに、複数のプロセッサと、これら複数
のプロセッサの出力信号の異常を検出するプロセッサ異
常検出器と、クロック信号を発生させる複数のクロック
供給器と、これら複数のクロック信号から1つの選択ク
ロック信号を選択してプロセッサに出力するとともに、
クロック異常信号によって選択中の上記クロック信号を
他の上記クロック信号に切り替えるセレクタと、上記選
択クロック信号の異常を検知して上記クロック異常信号
を出力するクロック異常検出器と、このプロセッサ異常
検出器の出力が異常を示し、上記クロック異常検出器の
出力が異常を異常を示していないときに、上記プロセッ
サの故障診断テスト処理を行い、上記クロック供給器の
出力が異常を示したときには上記プロセッサの上記故障
診断テスト処理を行わない故障診断部と、を備えたもの
である。
【0015】加えて、クロック異常検出器からの低優先
度の割込信号によって処理を開始し、故障診断テスト処
理を行うかどうかを判断する故障診断部を有するもので
ある。
【0016】さらに、上記セレクタによる上記クロック
信号の切り替えが起きたときから予め定められた時間ま
で、上記プロセッサの動作を停止させる凍結回路を備え
たものである。
【0017】また、この発明による故障診断方法は、プ
ロセッサの出力に異常があるかを判断するプロセッサ異
常検知ステップと、クロック信号に異常があるかどうか
を検知するクロック信号異常検知ステップと、上記プロ
セッサ異常検出ステップの検知結果が異常を示し、か
つ、上記クロック信号異常検知ステップの検知結果が異
常を示していないときにプロセッサの故障を診断するプ
ロセッサ故障診断ステップと、上記クロック信号異常検
知ステップの検知結果が異常を示したときは上記プロセ
ッサ故障診断ステップを行わないプロセッサ故障診断ス
キップステップを備えたものである。
【0018】
【作用】この発明によるプロセッサ装置は、クロック信
号の異常を検知するクロック異常検出器と、クロック信
号を受けて作動するプロセッサと、このプロセッサの動
作異常を検知するプロセッサ異常検出器と、プロセッサ
又はクロックの故障を診断する故障診断部と、を有する
ことにより、プロセッサ異常検出器の出力が異常を示
し、上記クロック異常検出器の出力が異常を異常を示し
ていないときにはプロセッサの故障診断テスト処理を行
い、上記クロック供給器の出力が異常を示したときには
プロセッサの故障診断テスト処理を行わない。
【0019】さらに、複数のプロセッサと、これら複数
のプロセッサの出力信号の異常を検出するプロセッサ異
常検出器と、クロック信号を発生する複数のクロック供
給器と、これら複数のクロック信号から1つの選択クロ
ック信号を選択してプロセッサに出力するとともに、ク
ロック異常信号によって選択中の上記クロック信号を他
の上記クロック信号に切り替えるセレクタと、上記選択
クロック信号の異常を検知して上記クロック異常信号を
出力するクロック異常検出器と、このプロセッサ異常検
出器の出力が異常を示し、上記クロック異常検出器の出
力が異常を異常を示していないときに、上記プロセッサ
の故障診断テスト処理を行い、上記クロック供給器の出
力が異常を示したときには上記プロセッサの上記故障診
断テスト処理を行わない故障診断部と、有することによ
り、プロセッサ異常検出器の出力が異常を示し、上記ク
ロック異常検出器の出力が異常を異常を示していないと
きにはプロセッサの故障診断テスト処理を行い、上記ク
ロック供給器の出力が異常を示したときにはプロセッサ
の故障診断テスト処理を行わない。
【0020】加えて、クロック異常検出器からの低優先
度の割込信号によって処理を開始し、故障診断テスト処
理を行うか否かを判断する故障診断部を有することによ
り、プロセッサに異常のないときはクロック切り替えに
よってプロセッサは正常に動作するので、より優先度の
高い処理を優先して実行する。
【0021】さらに、上記セレクタによる上記クロック
信号の切り替えが起きたときから予め定められた時間ま
で、上記プロセッサの動作を停止させる凍結回路を有す
ることにより、クロック信号の供給が不安定なときはプ
ロセッサを停止させる。
【0022】また、この発明よる故障診断方法は、プロ
セッサの出力に異常があるかを判断するプロセッサ異常
検知ステップと、クロック信号に異常があるかどうかを
検知するクロック信号異常検知ステップと、上記プロセ
ッサ異常検出ステップの検知結果が異常を示し、かつ、
上記クロック信号異常検知ステップの検知結果が異常を
示していないときにプロセッサの故障を診断するプロセ
ッサ故障診断ステップと、上記クロック信号異常検知ス
テップの検知結果が異常を示したときは上記プロセッサ
故障診断ステップを行わないプロセッサ故障診断スキッ
プステップを有することにより、クロック信号に異常が
発生したときは時間のかかるプロセッサ診断処理を行わ
ない。
【0023】
【実施例】
実施例1.以下、この発明の一実施例について図を用い
て説明する。図1は冗長化した、プロセッシングユニッ
ト、冗長クロック装置を示す機能ブロック図である。図
1において、1−1はプロセッシングユニットに対して
同一周波数、同位相のクロックを供給する冗長クロック
装置、1−2a〜cは冗長クロック装置1−1から供給
されるクロックを受け、定常状態において同期して同一
動作を行うプロセッシングユニット(以下、3つのプロ
セッシングユニットを総称するときはプロセッシングユ
ニット1−2という)、1−3はプロセッシングユニッ
ト1−2からの出力信号1−24を多数決し、多数の出
力信号をシステムバス1−4に出力する多数決回路、1
−5はシステムバス1−4に接続され、データ、命令等
を記憶する主記憶メモリ、1−6はシステムバス1−4
とI/O装置1−7との間に接続され、システムバス1
−4の信号をI/O装置1−7に伝える入力バスアダプ
タ、1−8は例えばI/O装置1−7や冗長クロック装
置1−1からの割り込み信号を受けるとともに制御し、
プロセッシングユニット1−2へ割り込みを発行する割
り込み制御回路である。この割り込み制御回路1−8か
らプロセッシングユニット1−2に発行される割り込み
信号には、高優先度割り込み信号1−8aと低優先度割
り込み信号1−8bがある。次に、冗長クロック装置1
−1内の構成を説明すると、1−10a〜bはクロック
パルスを発信するクロック発生器(以下、総称して1−
10と記す)、1−11は切換制御回路1−12のセレ
クタ選択信号1−21によって、2つのクロック発生器
1−10からのクロック信号のうち、どちらか1つのク
ロック信号をPLL回路1−13に伝えるセレクタ、1
−13a〜cはプロセッシングユニット1−2に安定し
たクロック信号を供給するためのPLL回路(総称して
1−13と記す)、1−14a〜cはPLL回路1−1
3が出力するクロック1−17に異常が発生したときに
切換制御回路1−12に異常を示す信号1−16を出力
する電圧比較回路(以下、総称して1−14と記す)で
ある。1−25は、多数決ユニット1−3から出力され
る割込信号(強制割込信号9−10a〜c、単一故障信
号9−4a、二重故障信号9−4b)を割込制御回路1
−8に伝える割込信号線、1−26aは割込制御回路1
−8がプロセッサバス信号A1−24aにマスク不可能
な強制割込をかける強制割込信号、1−26b・cも同
様に、順にプロセッシングユニットB1−2b、プロセ
ッシングユニットC1−2cに強制割込をかける強制割
込信号である。
【0024】この実施例1にかかる冗長化プロセッサ装
置においては、冗長化したプロセッシングユニット1−
2の動作に異常が発生した場合に、故障が発生した原因
を特定し、動作異常が発生した原因がプロセッシングユ
ニット1−2にないときには、プロセッシングユニット
1−2の自己診断処理を行わないようにして、動作異常
発生時からの復旧処理を高速に終了させ、システムの動
作速度を向上するものである。以下に、この実施例1に
かかる冗長化プロセッサ装置の動作異常発生時の処理に
ついて説明する。
【0025】・異常検出処理及び復旧処理 まず、図1に示した冗長化プロセッサ装置及びプロセッ
シングユニット1−2の異常検出処理及び復旧処理につ
いて、図2を用いて説明する。図2は、図1に示した冗
長化プロセッサ装置内の切換制御回路1−12又は多数
決ユニット1−3が異常を検出したときに、プロセッシ
ングユニット1−2の動作を復旧させる処理を説明する
フローチャートである。図2において、ステップS0a
・S1a・S5〜S9・S15a・S16aは、障害発
生時に多数決ユニット1−3によって異常を検知された
プロセッシングユニット1−2(以下、障害プロセッシ
ングユニットと呼ぶ)の処理を示し、ステップS0b・
S1b・S2〜S4・S10〜S14・S15b・S1
6bは、多数決ユニット1−3によって異常が検知され
なかったプロセッシングユニット1−2の処理を示して
いる。また、ステップS1aとS1bは3つのプロセッ
シングユニット1−2が同期動作しているときの処理で
あり、処理内容は同一である。ステップS15aとS1
5b及びステップS16aとS16bも同様に処理内容
は同一である。
【0026】まず、ステップS0a・S0bからスター
トし、3つのプロセッシングユニット1−2が同期しな
がら同一の処理をステップS1a・S1bにて開始す
る。
【0027】ステップS1a・S1bでは、3つのプロ
セッシングユニット1−2が多数決ユニット1−3を介
して主記憶メモリ1−5内の同一領域にアクセスし、こ
の領域に格納されたプログラムを読み出しながら同一命
令を実行する。初期状態において、セレクタ1−11に
選択されているクロック発生器1−10は、クロック発
生器A1−10aであり、セレクタ選択信号1−21は
“0”(電圧レベルがLOW、以下同じ)を出力してい
る。また、切換制御回路1−12内に保持されているP
LL回路1−13等の異常を示すフラグ(以下、クロッ
クステータスレジスタと呼ぶ)は全て“0”である(こ
のフラグは、後述の切換制御回路1−2の説明で詳しく
説明する多数決信号保持ラッチ8−2及び比較結果保持
ラッチ8−3に保持されている)。そして、多数決ユニ
ット1−3に記憶されている制御レジスタは“1110
000”を示している(この制御レジスタは、後述する
多数決ユニット1−3内の凍結回路内9−3に保持され
ている。先頭3ビットにおける“1”(電圧レベルがH
IGH、以下同じ)の意味は3つのプロセッシングユニ
ット1−2それぞれが論理的にプロセッサバス信号1−
24a〜cに接続されていることを表している。)。こ
の通常同期動作中に、PLL回路1−13又は電圧比較
回路1−18に異常が発生すると、電圧比較回路出力1
−18が“1”となり、切替制御回路1−12に異常が
発生したことが伝えられる。切換制御回路1−12は、
切換制御回路1−12内のクロックステータスレジスタ
に異常が記憶し、セレクタ選択信号1−21を“1”と
して、セレクタ1−11にクロック発信源を切り替える
ように指示する。この信号を受けたセレクタ1−11
は、現在使用しているクロック発信器A1−10aの代
わりに、クロック発信器B1−10bをクロック供給源
として使用し、クロック発信器B1−10bの出力信号
をクロック信号1−15として出力する。また、セレク
タ選択信号1−21は多数決ユニット1−3にも伝わ
り、多数決ユニット1−3に内蔵されたクロック切換監
視タイマ15−8が時計測を開始する。このクロック切
換監視タイマには、クロック切換後クロック出力が安定
するまで一定時間プロセッシングユニット1−2の動作
を停止(凍結)させて、プロセッサバス信号1−24a
〜cの異常の多発を防止する働きがある。一方で切換制
御回路1−12は、割込制御回路1−8へ割込要求を発
行する。この割込要求を受け取った割込制御回路1−8
は、各プロセッシングユニット1−2に対して、低優先
度の割込信号を出力する。ここで、低優先度の割込信号
を出力する理由は、クロック発信器1−10、PLL回
路1−13回路等の1つに異常がある場合には、クロッ
ク発信器1−10を切り替えたり、他のPLL回路1−
13によって正常に動作するプロセッシングユニット1
−2によって動作を継続することができるため、OS等
の重要度の高い処理を優先して実行させるためである。
【0028】また、3つプロセッシングユニット1−2
の動作に異常が発生し、プロセッサバス信号1−24a
〜cのうち他のプロセッサバス信号1−24と一致しな
いものが出力された場合の障害検出は、多数決ユニット
1−3によって行われる。例えば、プロセッシングユニ
ットA1−2aのプロセッサバス信号1−24aに障害
が発生した場合(以下、このような障害が発生したプロ
セッシングユニットA1−2aを障害プロセッシングユ
ニット1−2と呼ぶ)、多数決ユニット1−3はプロセ
ッシングユニットA1−2aの動作を停止(凍結)さ
せ、多数決ユニット1−3が割込制御回路1−8に対し
て低優先度の割込要求を出力する。(一方、2つ以上の
プロセッサバス信号1−24a〜cに異常が発生した場
合には、早急に障害の起きた原因を分析し復旧処理を行
う必要があるので、高優先度の割り込み要求が出力され
る)。また、障害が発生したプロセッシングユニットA
1−2aは凍結されるが、正常な出力をしているプロセ
ッシングユニットB1−2b・C1−2c(以下、正常
動作プロセッシングユニット1−2と呼ぶ)は動作し続
ける。
【0029】以上のように、セレクタ1−11又は多数
決ユニット1−3による割込要求を受け取った割込制御
回路1−8は、プロセッシングユニット1−2に割込要
求信号を送信する。割込要求は、優先度レベルに応じて
高優先度割込信号1−8aと低優先度割込信号1−8b
とに使い分けられる。この割込信号が各プロセッシング
ユニット1−2に受け入れられると、図2のステップS
2の処理が始まる。以降、ステップS2〜S4までの処
理は、正常動作プロセッシングユニット1−2によって
行われる。
【0030】ステップS2は、障害がどのモジュールで
起きたかを特定する障害要因分析処理である。この分析
方法の詳細については図3と図4を用いて後述する。こ
の分析は、正常動作プロセッシングユニット1−2によ
って行われ、例えば、後述の図18に示すような故障モ
ジュールの特定がなされる。このステップS2の処理が
終了すると次のステップS3に移る。
【0031】ステップS3は、ステップS2で分析され
た故障要因が、単一故障であったかどうかを判断する。
単一故障とは、1つの電圧比較回路出力信号1−18の
異常、1つのプロセッサバス信号1−24の異常、又
は、1つのPLL回路1−13にかかる電圧比較回路出
力信号1−18及びプロセッサバス信号1−24の異常
(例えば、PLL回路A1−13aに接続される電圧比
較回路A1−14aの出力信号1−18aと、同PLL
回路A1−13aに接続されるプロセッシングユニット
A1−2aの出力であるプロセッサバス信号1−24a
とが共に異常)、を示している場合を指す。このステッ
プS3で単一故障であったと判断されたときは、ステッ
プS4に移る。単一故障でなく、二重故障(単一故障以
外の故障をいう)のときは、二重故障の処理を行う。
【0032】この二重故障の処理が発生したときの処理
は、予め定められたプロセッシングユニット1−2が故
障要因などの最小限の情報を主記憶メモリ1−5に出力
し、若しくはLED、ランプなどに表示を行った後、故
障が拡散しないように動作を停止する。ただし、二重故
障であり、クロック異常にある場合であって、1つのプ
ロセッシングユニット1−2の出力のみが異常を示して
いる場合には復旧することが可能であるので、障害プロ
セッシングユニット1−2による後述のステップS5か
らの処理を行い、及び、後述の正常プロセッシングユニ
ット1−2のステップS10からの処理が実行される。
隔離モードへの移行方法及び復帰処理の方法は後述の単
一故障の場合と同じである。クロック異常である場合で
も、プロセッシングユニット1−2が二重故障を起こし
ている場合では、どのプロセッシングユニット1−2が
異常であるかを正確に特定できないので、上述のように
故障要因等の書き込み等の処理を行って停止する。
【0033】ステップS4は、障害プロセッシングユニ
ット1−2の診断処理又は復旧前処理を行うため、多数
決ユニット1−3内の制御レジスタに制御情報を書き込
む処理である。障害プロセッシングユニット1−2は、
障害が発生してから多数決ユニット1−3によって動作
を凍結させられているので、障害プロセッシングユニッ
ト1−2の診断処理又は復旧前処理を行うために、障害
プロセッシングユニット1−2の凍結を解除しなければ
ならない。そこで、正常動作プロセッシングユニット1
−2の動作を一時的に凍結させ障害プロセッシングユニ
ット1−2の動作を開始するため、多数決ユニット1−
3に制御情報を書き込む。例えば、障害プロセッシング
ユニット1−2がプロセッシングユニットA1−2aで
あるとすると、正常動作プロセッシングユニット1−2
によって、多数決ユニット1−3内の制御レジスタは
“1001100”に書き換えられ、プロセッシングユ
ニットA1−2aの凍結状態が解除され、プロセッシン
グユニットB1−2b・C1−2cが凍結状態に入る。
このように、1つのプロセッシングユニット1−2が単
独で動作している状態を隔離モードという。制御レジス
タの値の意味するところは、最初の3ビットが、3つの
プロセッシングユニット1−2a〜cに対応し、プロセ
ッサバス信号1−24a〜cが論理的に接続されている
状態のときは“1”を示し、論理的に接続されていない
ときは“0”を示す。次の1ビットは、“1”のときは
隔離モード、“0”のときは2つ以上のプロセッシング
ユニット1−2が同期して動作している状態(同期モー
ド)であることを意味する。また、最後の3ビットは、
3つのプロセッシングユニット1−2に順に対応し、
“1”のときは、該当するプロセッシングユニット1−
2に強制割込をかけることを意味し、“0”のときは強
制割込をかけないことを意味する。従って、上に示した
“1001100”の意味は、プロセッシングユニット
A1−2aを隔離モードで動作させるとともに、強制割
込をかけるということである。このステップS4の処理
を行うことによって、動作は次のステップS5に移る。
【0034】ステップS5は、障害の要因がクロック異
常によるものか否かを判断する処理である。ステップS
5〜S9まで隔離モードで動作し、障害プロセッシング
ユニット1−2によって処理が行われる。従って、障害
プロセッシングユニット1−2の障害要因が一時的なも
のではなく恒久的なものである場合には、ステップS5
〜S9までの処理が正しく行われないこともあるが、こ
の場合には、多数決ユニット1−3内に内蔵された隔離
モードタイマ15−9によって強制的に正常動作プロセ
ッシングユニット1−2の凍結状態が解除され同期モー
ド(ここでは、ステップS10の処理が開始される)に
移行するので、システム全体が停止したままになること
はない。ステップS5は、ステップS4で発生した強制
割込によって呼び出される処理ルーチンである。(例え
ば、プロセッシングユニットA1−2aが障害プロセッ
シングユニットであるときは、強制割込信号1−25に
よって、プロセッシングユニットA1−2aのみに強制
割込が発生する。)異常要因判断は、切換制御回路1−
12内のクロックステータスレジスタに保持されている
冗長クロック装置1−1の動作状態を調べ、また、多数
決ユニット1−3内の制御レジスタの内容を調べること
により行われる。この判断が行われることにより異常要
因が冗長クロック装置1−1にある場合はステップS8
に移り、プロセッシングユニット1−2にある場合はス
テップS6に移り自己診断を行なう。例えば、プロセッ
シングユニットA1−2a自体に何らかの障害がある場
合について説明すると、切換制御回路1−12から得ら
れたクロックステータスレジスタの内容は、“000
0”である(クロックステータスレジスタの最初の3ビ
ットは、順に、電圧比較回路1−14a〜cの出力1−
18が異常を示したときに“1”となり、異常がないと
きには“0”となる。また、最後の1ビットは、3つの
電圧比較回路1−14a〜cのうち同時に2以上の電圧
比較回路1−14の出力1−18に異常を示したときに
“1”となり、それ以外では“0”となる)。一方、多
数決ユニット1−3内の制御レジスタは“100110
0”である。従って、プロセッシングユニットA1−2
aに関係するクロックステータスレジスタが“0”を示
しており、制御レジスタのプロセッシングユニットA1
−2aの接続フラグが“1”を示しているため、障害要
因はクロック異常ではないと判断され、ステップS6に
てプロセッシングユニットA1−2aの自己診断を行
う。また、例えば、PLL回路A1−13aだけが障害
を起こした場合は、クロックステータスレジスタは“1
000”となり、制御レジスタは“1001100”と
なる。このため、PLL回路A1−13a又は電圧比較
回路A1−14a又はこれらの接続線等に障害が発生し
たと判定され、プロセッシングユニットA1−2aには
故障がない可能性が高いためステップS8に移って自己
診断処理は行わないようにする。
【0035】ステップS6は、障害プロセッシングユニ
ット1−2の障害を検査するため、また、プロセッシン
グユニット1−2の障害要因の分析を行うためのデータ
を記録する自己診断処理を行う。この自己診断処理は、
主記憶メモリ1−5への試験データの書き込み、あるい
は読み取り、又は所定の演算処理等の様々な命令を実行
するプログラムによって行われる。この自己診断の検査
結果を有効に利用するためには処理は非常に多数のパタ
ーンの処理を実行する必要があり、長い処理時間がかか
り、また、検査結果データを格納する主記憶メモリ1−
5又は図示しない磁気ディスク記憶装置等の資源を使用
する。ステップS6の処理が終了すると、次にステップ
S7の処理を行う。
【0036】ステップS7は、自己診断の結果を主記憶
メモリ1−5に記憶する処理である。この処理が終了す
ると次のステップS8に移行する。
【0037】ステップS8は、障害プロセッシングユニ
ット1−2内のキャッシュメモリ内容を破棄する処理で
ある。ステップS7からこのステップS8に移行する場
合の他に、ステップS5でクロック異常による障害であ
ると判断された場合にも、ステップS6・7の自己診断
処理等をせずにこの処理が行われる。各プロセッシング
ユニット1−2は、内部に主記憶メモリ1−5の記憶デ
ータの一部を持つキャッシュメモリを有する。キャッシ
ュメモリはプロセッシングユニット1−2の命令実行部
と主記憶メモリ1−5の間にあって、主記憶メモリ1−
5の記憶データの一部のデータを一時的に保持してい
る。プロセッシングユニット1−2が主記憶メモリ1−
5にアクセスする際、キャッシュメモリに目的とするデ
ータがある場合には主記憶メモリ1−5に読みに行かず
に、キャッシュメモリ内のデータを返して、高速なアク
セスを可能としている。従って、本実施例1に示したよ
うな各プロセッシングユニット1−2が同一の動作を行
うシステムでは、同期モードにおいて、各プロセッシン
グユニット1−2内のキャッシュメモリ内容が同一でな
ければならない。各キャッシュメモリの内容が異なる
と、プロセッシングユニット1−2は異なる命令、異な
るデータを読み出すことになるので、多数決ユニット1
−3に故障検出されてしまうためである。このステップ
S8では、ステップS15で同期モードに戻ったときに
各キャッシュメモリの内容を同一にし、上記のような故
障検出を防止することを目的として現在のキャッシュメ
モリの内容を破棄する。このステップS8が終了すると
次のステップS9に移行する。
【0038】ステップS9は、多数決ユニット1−3の
制御レジスタへの書き込みを行うことにより、隔離モー
ドから正常動作プロセッシングユニット1−2による同
期モードに移るための処理である。障害プロセッシング
ユニット1−2は制御レジスタに何らかのデータを書き
込む。この書き込みを行うことにより、多数決ユニット
1−3が記憶していた隔離モード前のプロセッシングユ
ニット1−2の接続状態が、制御レジスタの接続フラグ
に書き込まれる。これにより、隔離モード前のプロセッ
シングユニット1−2の接続状態に戻ることができる。
正常プロセッシングユニット1−2による同期モードに
必要な情報は、多数決ユニット1−3に記憶されている
ため、障害プロセッシングユニット1−2が制御レジス
タに書き込むデータは何でもよい。従って、例え、障害
プロセッシングユニット1−2の障害により多数決ユニ
ット1−3に正常なデータが書き込めなくとも正常に同
期モードに戻ることができる。ステップS9が終了する
と、障害プロセッシングユニット1−2が凍結し、正常
動作プロセッシングユニット1−2の凍結が解除されて
ステップS10に移行する。
【0039】ステップS10は、正常動作プロセッシン
グユニット1−2の全レジスタ内容を主記憶メモリ1−
5に退避させる処理である。ステップS10〜S14ま
では、正常プロセッシングユニット1−2によって処理
が行われ、障害プロセッシングユニット1−2は凍結さ
れている。この退避は、障害プロセッシングユニット1
−2に正常動作プロセッシングユニット1−2のレジス
タをコピーするための前段階として行う。このステップ
S10の処理が終了すると次のステップS11に移る。
【0040】ステップS11は、障害の要因がクロック
異常によるものか否かを判断する処理である。判断の方
法は、ステップS5と同様に行われる。ここで、クロッ
ク異常による障害と判断された場合にはステップS13
に移り、クロック異常による障害でないと判断された場
合には次のステップS12に移る。
【0041】ステップS12は、障害プロセッシングユ
ニット1−2の障害が一時的なものであり、復旧可能か
をどうかを判断する。この判断は、ステップS6におい
て実行された自己診断結果に基づいて判断される。この
自己診断結果はステップS7で主記憶メモリ1−5に記
憶されている。自己診断結果が全て正常であるときは復
旧可能であると判断される。ここで復旧可能であると判
断された場合には、次のステップS13に移り、復旧不
可能と判断されたときにはステップS15bに移る。
【0042】ステップS13は、プロセッシングユニッ
ト1−2内のキャッシュメモリの内容を主記憶メモリ1
−5に書き戻し(ライトバック)、キャッシュメモリ内
容を破棄する処理である。プロセッシングユニット1−
2はキャッシュメモリとアクセスして、データの読み取
り、書き込みを行う。従って、プロセッシングユニット
1−2によってキャッシュメモリのデータが変更されて
いても、ライトバックされていない限り主記憶メモリ1
−5とキャッシュメモリの内容が異なる場合がある。そ
こでまず、キャッシュメモリ上のデータを主記憶メモリ
1−5に書き戻す。つぎに、ステップS8で説明したの
と同様の理由からキャッシュメモリ内容を破棄する。こ
のステップS13が終了すると、次のステップS14に
移る。
【0043】ステップS14は、障害プロセッシングユ
ニット1−2の凍結状態を解除して再び同期モードで動
作させるために、多数決ユニット1−3の制御レジスタ
にデータを書き込む処理である。例えば、制御レジスタ
へは“1110000”を書き込む。この書き込みによ
って障害プロセッシングユニット1−2の凍結状態が解
除され、次のステップから3つのプロセッシングユニッ
ト1−2が同期モードで動作し始める。この処理が終了
すると、次のステップS15a・bに移る。
【0044】ステップS15a・bでは、ステップS1
0において退避された全レジスタ内容を、主記憶メモリ
1−5から該当するレジスタに書き戻す処理である。ス
テップS12で障害プロセッシングユニット1−2が復
旧不可能と判断された場合には、ステップS14で制御
レジスタへの書き込みが行われず、障害プロセッシング
ユニット1−2の凍結状態が解除されないため、ステッ
プS15aは実行されない。このときは、以降正常動作
プロセッシングユニット1−2のみによる処理が行われ
るようになる。この処理によって、主記憶メモリ1−5
に退避されていたレジスタ内容が読み込まれるため、障
害プロセッシングユニット1−2のレジスタ内容も、正
常動作プロセッシングユニット1−2と同じレジスタ内
容を持つようになるため、同一の動作をすることが可能
になる。また、各プロセッシングユニット1−2のキャ
ッシュメモリも、順次同じ内容で更新されていくことに
なる。このステップS15a・bが終了すると、次のス
テップS16a・bに移る。
【0045】ステップS16a・bは、障害発生による
割込によってステップS2〜S15まで行われてきた障
害検出及び復旧処理から、ステップS1a・b(通常処
理)に戻るための処理である。ただし、障害プロセッシ
ングユニット1−2によるステップS15aが行われな
かったときはステップS16aも行われず、従って、ス
テップS1aに戻ることもない。この処理が終了すると
ステップS1a・bに戻って通常の処理が再開される。
【0046】以上説明したように、この実施例1にかか
る障害検出及び復旧処理では、従来と異なり障害の要因
が冗長クロック装置1−1にある場合には、プロセッシ
ングユニット1−2の自己診断を行わず、障害検出及び
復旧処理にかかる時間を短くすることができる。そのた
め通常同期動作における他のプログラムの実行速度低下
を防ぐことができる。また、切換制御回路1−12内に
はどのクロック供給源(PLL回路1−13及び電圧比
較回路1−14)にかかる障害か、又は、どのクロック
発信器1−10にかかる障害かを記憶しているので、障
害原因となっている部分を特定することができ、部品の
交換修理等のときに役立てることができる。加えて、従
来の技術ではクロック発生器の切り替えが正常に行われ
た場合、プロセッシングユニット出力は全て一致し、多
数決動作は正常に行われるため、原振クロック発生器の
切り替えがあったことを認識できず、次に原振クロック
発生器の故障が発生した場合に、正常動作を継続するこ
とができない状態であることを認識することができない
といった問題があったが、この実施例1では、クロック
発生器1−10に故障が発生し、セレクタ1−11によ
って正常にクロック発生器1−10の切り替えが行われ
た場合でも、クロック発生器1−10の障害要因分析に
よって異常が分析され記憶されているので、異常が発生
したことを知ることができる。フォールトトレラントシ
ステムの安全性を高めることができる。
【0047】続いて、上述のステップS2における障害
要因分析を図3と図4を用いて詳細に説明する。図3及
び図4はともに、図2のステップS2の障害要因分析処
理の詳細を示している。図3・4において、図2と同一
の符号は同一又は相当の部分を表している。
【0048】まず、図2のステップS1bを処理中に、
何らかの原因により切り替え制御回路1−12若しくは
多数決ユニット1−3から割込制御回路1−8を介し
て、プロセッシングユニット1−2に割込要求が発生し
たとする。プロセッシングユニット1−2は割込制御回
路1−8からの割込要求レベル(強制割込、高優先度割
込、低優先度割込)に応じて現在の処理が終了してから
割込要求に応じるか、あるいは現在の処理を中断して即
座に割込要求に応じるかを判断する。プロセッシングユ
ニット1−2が割込要求に応じると、ステップS2の障
害要因分析、すなわち図3のステップS20からの処理
が開始される。
【0049】ステップS20は、多数決ユニット1−3
内の制御レジスタから、プロセッシングユニット1−2
の接続フラグ15−2を読み出す処理である。この読み
出しは、制御レジスタ用に予め割り当てられたアドレス
を読み出すことによって行われる。ステップS20が終
了するとステップS21に移る。
【0050】ステップS21は、切り替え制御回路1−
12内のクロックステータスレジスタの読み出しを行う
処理である。この読み出しは、クロックステータスレジ
スタ用に予め割り当てられたアドレスを読み出すことに
よって行われる。ステップS21が終了するとステップ
S22に移る。
【0051】ステップS22は、3つのプロセッシング
ユニット1−2が全て接続されている状態であるかどう
かを判断する処理である。この判断は、ステップS20
で読みでした接続フラグ15−2の内容が“111”で
あるかどうかによって行われる。ステップS22で、3
つのプロセッシングユニット1−2か全て接続されてい
る状態であるときには、次のステップS23に移り、3
つのプロセッシングユニット1−2が接続されていない
と判断されたときには図4のステップS34に移る。
【0052】ステップS23は、電圧比較回路A1−1
4aのみが異常を示しているかを判断する。この判断
は、ステップS21で読み出したクロックステータスレ
ジスタの値に基づいて行い、クロックステータスレジス
タの値が、例えば“1000”であったときに電圧比較
回路A1−14aのみが異常を示していると判断され
る。ステップS23で、電圧比較回路A1−14aのみ
に異常があると判断されたときは、ステップS24に移
り、PLL回路A1−13a、電圧比較回路A1−14
a、及びその接続線等に故障があったことを記憶して図
2のステップS3に戻る。一方、電圧比較回路A1−1
4aのみの異常でないときはステップS25に移る。
【0053】ステップS25は、電圧比較回路B1−1
4aのみが異常を示しているかを判断する。この判断
は、クロックステータスレジスタの値が、例えば“01
00”であったときに、電圧比較回路B1−14aのみ
が異常を示しているとすることによって行われる。ステ
ップS25で、電圧比較回路B1−14aのみが異常を
示していると判断されたときは、ステップS26に移
り、PLL回路B1−13b、電圧比較回路B1−14
b、及びその接続線等に故障があったことを記憶して図
2のステップS3に戻る。一方、電圧比較回路B1−1
4bのみの異常でないときはステップS27に移る。
【0054】ステップS27は、電圧比較回路C1−1
4cのみが異常を示しているかを判断する。この判断
は、クロックステータスレジスタの値が、例えば“00
10”であったときに、電圧比較回路C1−14cのみ
が異常を示しているとすることによって行われる。ステ
ップS27で、電圧比較回路C1−14cのみが異常を
示していると判断されたときは、ステップS28に移
り、PLL回路C1−13c、電圧比較回路C1−14
c、及びその接続線等に故障があったことを記憶して図
2のステップS3に戻る。一方、電圧比較回路C1−1
4cのみの異常でないときはステップS29に移る。
【0055】ステップS29は、全ての電圧比較回路1
−14が異常を示しているかを判断する。この判断は、
クロックステータスレジスタの値が“1111”であっ
たときに、全ての電圧比較回路1−14が異常を示して
いるとすることによって行われる。ステップS29で、
全ての電圧比較回路1−14が異常を示していると判断
されたときは、ステップS30に移り、故障の原因はク
ロック発生器A1−10aであったことを記憶して図2
のステップS3に戻る。一方、全ての電圧比較回路1−
14が異常を示しているわけではないときにはステップ
S31に移る。
【0056】ステップS31は、全ての電圧比較回路1
−14が正常を示しているかを判断する。この判断は、
クロックステータスレジスタの値が、例えば“000
0”であったときに、全ての電圧比較回路1−14が正
常であるとすることによって行われる。ステップS31
で、全ての電圧比較回路1−14が正常を示していると
判断されたときは、ステップS32に移り、故障の原因
はクロック発生器A1−10aであったことを記憶して
図2のステップS3に戻る。一方、全ての電圧比較回路
1−14が正常を示しているわけではないときにはステ
ップS33に移り、2つ以上の電圧比較回路1−14が
異常を示していること(すなわち、二重故障であるこ
と)を記憶して、図2のステップS3に戻る。
【0057】次に、図3のステップS22で3つのプロ
セッシングユニット1−2が、接続されていないと判断
された場合の処理について、図4を用いて説明する。
【0058】ステップS34は、プロセッシングユニッ
トA1−2aのみが切り離されている状態であるかどう
かを判断する。この判断は図3のステップS20で読み
出された接続フラグ15−2の値を調べることによって
行われ、接続フラグ15−2の値が“011”であった
ときには、プロセッシングユニットA1−2aのみが切
り離されていると判断される。プロセッシングユニット
A1−2aのみが切り離されているとき(YESのと
き)には、ステップS35に移り、そうでない(NO
の)ときにはステップS39に移る。
【0059】ステップS35は全ての電圧比較回路1−
14が正常を示しているかを判断する。正常を示してい
るかどうかはクロックステータスレジスタの値を調べ、
クロックステータスレジスタの値が、例えば“000
0”であるときは全ての電圧比較回路1−14が正常を
示していると判断する。ステップS35で全て正常であ
る(YES)と判断されたときは、ステップS36に移
り、故障の原因はプロセッシングユニットA1−2aに
あることを記憶して図2のステップS3に戻る。一方、
全てが正常ではなく、電圧比較回路1−14が1つでも
異常を示している(NO)と判断されたときは、ステッ
プS36に移る。
【0060】ステップS36は、3つの電圧比較回路1
−14のうち電圧比較回路A1−14aのみが異常を示
しているかどうかを判断する。電圧比較回路A1−14
aのみが異常を示しているかどうかは、クロックステー
タスレジスタの値を調べることによって行われる。クロ
ックステータスレジスタが、例えば“1000”である
ときは、他の電圧比較回路B1−14b・C1−14c
は異常を示していないので電圧比較回路A1−14aの
みが異常を示していると判断する。ステップS36で電
圧比較回路A1−14aのみが異常を示している(YE
S)と判断されたときは、ステップS37に移り、PL
L回路A1−13a、電圧比較回路B1−14b、及び
その接続線等に異常があることを記憶して、図2のステ
ップS3に戻る。一方、それ以外、すなわち電圧比較回
路A1−14aのみが異常を示している状態ではない
(NO)と判断されると、ステップS38に移り、二重
故障であることを記憶して図2のステップS3に戻る。
【0061】ステップS39は、ステップS34でNO
と判断された場合に、プロセッシングユニットB1−2
bのみが切り離されているかどうかを判断する。上述の
ステップS34〜S38までがプロセッシングユニット
A1−2aに関わる部分(プロセッシングユニット1−
2、電圧比較回路1−14等)について障害要因を分析
したのに対し、ステップS39〜44まではプロセッシ
ングユニットB1−2bに関わる部分の障害要因を分析
している。ステップS39において、プロセッシングユ
ニットB1−2bのみが異常を示しているかどうかは図
3のステップS20で読み出された接続フラグ15−2
の値を調べることによって行われ、接続フラグ15−2
の値が“101”であったときには、プロセッシングユ
ニットB1−2bのみが切り離されていると判断され
る。プロセッシングユニットB1−2bのみが切り離さ
れているとき(YESのとき)には、次のステップS4
0に移り、そうでない(NOの)ときにはステップS4
5に移る。
【0062】ステップS40は全ての電圧比較回路1−
14が正常を示しているかどうかを判断する。正常を示
しているかどうかはクロックステータスレジスタの値を
調べ、クロックステータスレジスタの値が、例えば“0
000”であるときは全ての電圧比較回路1−14が正
常を示していると判断する。ステップS40で全て正常
である(YES)と判断されたときは、ステップS41
に移り、故障の原因はプロセッシングユニットB1−2
bにあることを記憶して図2のステップS3に戻る。一
方、全てが正常ではなく、電圧比較回路1−14が1つ
でも異常を示している(NO)と判断されたときは、ス
テップS42に移る。
【0063】ステップS42は、3つの電圧比較回路1
−14のうち電圧比較回路B1−14bのみが異常を示
しているかどうかを判断する。電圧比較回路B1−14
bのみが異常を示しているかどうかは、クロックステー
タスレジスタの値を調べることによって行われる。クロ
ックステータスレジスタが、例えば“0100”である
ときは、他の電圧比較回路A1−14a・C1−14c
は異常を示していないので電圧比較回路B1−14bの
みが異常を示していると判断する。ステップS42で電
圧比較回路B1−14bのみが異常を示している(YE
S)と判断されたときは、ステップS43に移り、PL
L回路B1−13b、電圧比較回路B1−14b、及び
その接続線等に異常があることを記憶して、図2のステ
ップS3に戻る。一方、それ以外、すなわち電圧比較回
路B1−14bのみが異常を示している状態ではない
(NO)と判断されると、ステップS44に移り、二重
故障であることを記憶して図2のステップS3に戻る。
【0064】ステップS45は、ステップS39でNO
と判断された場合に、プロセッシングユニットC1−2
cのみが切り離されているかどうかを判断する。上述の
ステップS34〜S38までがプロセッシングユニット
A1−2aに関わる部分(プロセッシングユニット1−
2、電圧比較回路1−14等)について、上述のステッ
プS39〜44までがプロセッシングユニットB1−2
bについて障害要因を分析したのに対し、ステップS4
5〜50まではプロセッシングユニットC1−2cに関
わる部分の障害要因を分析している。ステップS45に
おいて、プロセッシングユニットC1−2cのみが異常
を示しているかどうかは、接続フラグ15−2の値が
“110”であるかどうかによって判断され、“11
0”であるときには、プロセッシングユニットC1−2
cのみが切り離されていると判断される。プロセッシン
グユニットC1−2cのみが切り離されているとき(Y
ESのとき)には、次のステップS46に移り、そうで
ない(NOの)ときにはステップS50に移る。
【0065】ステップS46は全ての電圧比較回路1−
14が正常を示しているかどうかを判断する。正常を示
しているかどうかはクロックステータスレジスタの値を
調べ、クロックステータスレジスタの値が、例えば“0
000”であるときは全ての電圧比較回路1−14が正
常を示していると判断する。ステップS46で全て正常
である(YES)と判断されたときは、ステップS47
に移り、故障の原因はプロセッシングユニットC1−2
cにあることを記憶して図2のステップS3に戻る。一
方、全てが正常ではなく、電圧比較回路1−14が1つ
でも異常を示している(NO)と判断されたときは、ス
テップS48に移る。
【0066】ステップS48は、3つの電圧比較回路1
−14のうち電圧比較回路C1−14cのみが異常を示
しているかどうかを判断する。電圧比較回路C1−14
cのみが異常を示しているかどうかは、クロックステー
タスレジスタの値を調べることによって行われる。クロ
ックステータスレジスタが、例えば“0010”である
ときは、他の電圧比較回路A1−14a・B1−14b
は異常を示していないので電圧比較回路C1−14cの
みが異常を示していると判断する。ステップS48で電
圧比較回路C1−14cのみが異常を示している(YE
S)と判断されたときは、ステップS49に移り、PL
L回路C1−13c、電圧比較回路C1−14c、及び
その接続線等に異常があることを記憶して、図2のステ
ップS3に戻る。一方、それ以外、すなわち電圧比較回
路C1−14cのみが異常を示している状態ではない
(NO)と判断されると、ステップS50に移り、二重
故障であることを記憶して図2のステップS3に戻る。
【0067】ステップS51は、ステップS45でNO
と判断された場合に、二重故障であることを記憶する処
理である。ステップS34・S39・S45でともに、
該当する1つのプロセッシングユニット1−2のみが切
り離されている状態でないと既に判断されているので、
このステップS51に処理が到達した場合には、少なく
とも2つ以上のプロセッシングユニット1−2が切り離
されている状態であると判断することができる。ステッ
プS51が終了すると、図2のステップS3に戻る。
【0068】以上の説明のように、障害要因が何にある
のかを特定し、この特定した結果をもって図2のステッ
プS3の判断材料に用いる。なお、以上図3・4におい
て説明した障害要因の分析結果は、プロセッシングユニ
ット1−2内のレジスタに記憶しておくだけでなく、主
記憶メモリ1−5の所定の領域に障害が発生する度に蓄
え続けていくと、後からどのような障害が発生したかを
分析するのに利用することができる。この分析結果は、
障害の要因がどのプロセッシングユニット1−2にある
か、あるいは、どのクロック供給源(PLL回路1−1
3、電圧比較回路1−14等)にあるかといった詳細な
もののため、障害原因の究明、故障モジュールの修理交
換が容易になるという効果を生み出す。
【0069】次に、図1に示した処理装置の各構成要素
について個々に詳細説明する。
【0070】・PLL回路1−13及び電圧比較回路1
−14 まず、PLL回路1−13及び電圧比較回路1−14に
ついて図5を用いて説明する。図5において、図1と同
一の符号は同一又は相当の部分を示す。5−1は図1の
セレクタ1−11供給される基準クロック信号1−15
と後述のVCOによって生成されたクロック信号1−1
7との位相を比較する位相比較器であり、5−2は位相
比較器5−1からの出力の高周波成分を除去した電圧1
−16を出力するローパスフィルタ(以下、LPFと略
す)、5−3はLPF5−3の出力電圧1−16に応じ
てクロック信号1−17を生成する電圧制御発信器(以
下、VCOと略す)である。以上が図1に示したPLL
回路1−13内部の構成要素である。次に、図1の電圧
比較回路1−14の内部構成を説明する。5−4は所定
の電圧Vref1を出力する電圧源、5−5はLPF5−
3の出力電圧1−16と電圧源5−4の出力電圧Vref
1とを比較するコンパレータ、同様に、5−6は所定の
電圧Vref2を出力する電圧源、5−7はLPF5−3
の出力電圧1−16と電圧源5−6の出力電圧Vref2
とを比較するコンパレータである。コンパレータである
5−5と5−7は、電圧源5−4・5−6とLPF5−
3出力電圧1−16電圧とを入力する端子が互いに入れ
違いになっており、それぞれ出力電圧1−16の上限と
下限とを検出することができる。5−8はコンパレータ
5−5・5−7の出力の論理和をとって電圧比較結果信
号1−18を出力するOR回路である。
【0071】つぎに、PLL回路1−13及び電圧比較
回路1−14の動作を図6・7を参照しながら説明す
る。図6は、基準クロック1−15位相がずれた場合の
PLL回路1−13及び電圧比較回路1−14の動作を
説明する図である。図6(1a)〜(1d)は、順に、
基準クロック信号1−15、VCO出力1−17、LP
F出力電圧1−16、電圧比較結果信号1−18といっ
た図5に示した各信号の波形を説明している。図5(2
a)〜(2d)も同様で、順に、基準クロック信号1−
15、VCO出力1−17、LPF出力電圧1−16、
電圧比較結果信号1−18を示している。図7は図6と
同様の信号について示している図であるが、位相がずれ
た場合でなく、基準クロック1−15の周波数が変化し
た場合の動作を説明しており、図6と同一の符号は同一
又は相当の部分を表す。
【0072】まず、基準クロック1−15が正常なとき
の動作を説明する。このときの信号波形は、図6では記
号Aで表わされている期間の波形である。図5(1a)
の基準クロック1−15が一定の周波数で、位相のずれ
も生ぜずに供給されているときには、LPF電圧1−1
7は、図6(1c)のように一定の電圧となる。VCO5
−3は、このLPF出力電圧1−17の電圧に応じた周
波数でクロックを発振するようになっているが、図6の
期間Aに示したように基準クロック1−15が正常に出
力されている場合には、この基準クロック1−15に相
当する(1b)のようなクロック信号1−17を出力す
るように設計されている。そして、LPF出力1−16
が、出力電圧Vref1以下Vref2以上であるため、電圧比
較結果信号1−18の出力は、図6(1d)に示すよう
に“0”状態である(このとき、図1のセレクタ1−1
1によってクロック発生器A1−10aが選択されてい
る)。
【0073】つぎに、基準クロック1−15に異常が発
生し位相が早くなった場合を説明する。このときの信号
波形は、図6の各波形(1a)〜(1d)において、記
号B及びCで表されている。期間Bのように基準クロッ
ク1−15の位相が早くなり始めると、VCO出力1−
17との位相のずれが生じ始める。このとき、LPF出
力1−17は、図6(1c)のように高くなって行く。
このLPF出力1−17は、LPF5−3の低周波のみ
を通すという特性から位相のずれに対する反応が鈍感で
あるので、このLPF出力1−17を受けたVCO出力
1−17の周波数変化は緩やかに遅れて発生する。その
ため、前述のような位相のずれが発生する。この位相の
ずれが大きくなっていくと図6の期間BのようにLPF
出力1−17が次第に高くなっていき、ついにVref1以
上となる。このとき、図5のコンパレータ5−5がHI
GHになり、OR回路5−8が、電圧比較結果信号1−
18を“0”からHIGHに切り替える(従って、図6
の期間Cのようになる)。この電圧比較結果信号1−1
8がセレクタ1−11に伝わると、基準クロック1−1
5は、クロック発信器A1−10aのクロックからクロ
ック発信器B1−10bのクロックへと切り替わる。
【0074】続いて、基準クロック1−15に異常が発
生し位相が遅くなった場合を説明する。このときの信号
波形は、図6の各波形(2a)〜(2d)において、記
号B及びCで表されている。期間Bのように基準クロッ
ク1−15の位相が遅くなり始めると、上述の位相が早
くなったときと同様に、VCO出力1−17との位相の
ずれが生じ始める。このとき、LPF出力1−17は、
図6(2c)のように低くなって行く。位相のずれが大
きくなっていくと期間BのようにLPF出力1−17が
次第に低くなっていき、ついにVref2以下となる。この
とき、図5のコンパレータ5−7がHIGHになり、O
R回路5−8が、電圧比較結果信号1−18を“0”か
らHIGHに切り替える(従って、図6の期間Cのよう
になる)。すると、上述の場合と同様に、基準クロック
1−15は、クロック発信器A1−10aのクロックか
らクロック発信器B1−10bのクロックへと切り替わ
る。
【0075】次に、基準クロック1−15の周波数が変
化した場合について、図7を参照しながら簡単に説明す
る。基準クロック1−15の周波数が変化した場合は、
大まかにいえば、同時に位相のずれも発生するので、回
路の動作は、位相がずれた場合と同様に動作する。ま
ず、基準クロック1−15の周波数が高くなった場合に
ついて、図7(1a)〜(1d)に基づいて説明する。
基準クロック1−15の周波数が高くなると、期間Bに
示したようにLPF出力電圧1−16が次第に高くなっ
ていき、Vref1を超えると、図5のOR回路5−8の出
力である電圧比較結果信号1−18がHIGHとなっ
て、図1のセレクタ1−11が、基準クロック1−15
を、クロック発信器A1−10aのクロックからクロッ
ク発信器B1−10bのクロックへと切り替える。以上
の動作は、上述の位相が早くなった場合の動作に相当す
る。
【0076】一方、基準クロック1−15の周波数が低
くなった場合は、図7(2a)〜(2d)の期間Bに示
したようにLPF出力電圧1−16が次第に低くなって
いき、Vref2を下回ったときに、図5のOR回路5−8
の出力である電圧比較結果信号1−18がHIGHとな
って、上述と同様に、図1のセレクタ1−11が、基準
クロック1−15の切換を行う。以上の動作は、上述の
位相が遅くなった場合の動作に相当する。
【0077】・切換制御回路1−12 次に、切換制御回路1−12について、図8を用いて説
明する。図8は切換制御回路1−12の内部構成を示す
ものである。図8において、8−1は電圧比較回路1−
14a〜cからの電圧比較回路出力信号1−18a〜c
の多数決をとる多数決回路A、8−2は多数決回路A8
−1の出力の値を保持する多数決信号保持ラッチ、8−
3aは電圧比較回路出力信号1−18aを保持する比較
結果保持ラッチ、8−3b及び8−3cも同様に、順
に、電圧比較結果回路出力1−18b若しくは1−18
cを保持する比較結果保持ラッチである(以下、8−3
a〜cを総称して8−3で表す)。比較結果保持ラッチ
8−3と多数決信号保持ラッチ8−2をまとめてクロッ
クステータスレジスタと呼ぶ。8−4は、比較結果保持
ラッチ8−3の出力及び多数決信号保持ラッチ8−2の
出力(すなわち、クロックステータスレジスタの出力)
を、クロックステータスストローブ信号1−19に応じ
て、図1のシステムバス1−4に出力する出力バッフ
ァ、8−5a〜cは、比較結果保持ラッチ8−3の出力
とクロック異常割込マスク信号1−20との論理積をと
って、OR回路8−6に出力するAND回路、8−5d
も同様にクロック異常割込マスク信号と多数決結果保持
ラッチ8−2の出力の論理積をとるAND回路、8−6
はAND回路8−5a〜dの出力の論理和をとり、AN
D回路8−5a〜dのどれか1つでもHIGHとなった
ときには、クロック異常割込信号を出力するOR回路で
ある。
【0078】続いて、この回路の動作を説明する。基準
クロック1−15が正常に供給されているときは、電圧
比較回路1−14からの出力1−18は、全て“0”を
示しており、そのため、多数決回路A8−1の出力は、
多数決の結果“0”を出力する。この“0”の出力は多
数決信号保持ラッチ8−2を介してセレクタ選択信号1
−21として出力される。また、電圧比較回路1−14
の出力1−18は比較結果保持ラッチ8−3にも入力さ
れる。比較結果保持ラッチ8−3は入力が“0”のとき
は、保持内容を変化させないので、ここでは“0”を出
力する。一方、出力バッファ8−4の出力であるクロッ
クステータス信号1−22はクロックステータスストロ
ーブ信号1−19が定常状態のとき、(ここでは“1”
のとき)、は出力されない。基準クロック1−15が異
常を示したときは、切換制御回路1−12には2つの動
作がある。第1に、電圧比較結果信号1−18a〜cの
出力のうち1つだけが異常(“1”)を示した場合であ
る。例えば、電圧比較回路A1−14aの出力が“1”
となったときには、多数決回路A8−1には、2つの正
常入力(“0”)と1つの異常入力(“1”)が加わる
ので、多数決の結果、出力は“0”となり、セレクタ選
択信号1−21が“0”となって、図1のセレクタ1−
11によるクロック発信器1−10の切り替えは行われ
ない。一方、比較結果保持ラッチA8−3aには、
“1”の信号が入力されるので、比較結果保持ラッチA
8−3aの保持内容は、以降“1”となって、クロック
異常割込マスク信号1−20によってマスクされないと
きには、OR回路8−6を介して、クロック異常割込信
号1−23が“1”となり、図1の割込制御回路1−8
に割込要求する。また、他の比較結果保持ラッチ8−3
b〜cは、入力される電圧比較結果信号1−18b〜c
が“0”であるので、保持内容の変更は行われない。こ
こで、セレクタ選択信号1−21が“0”のままでセレ
クタ1−11による切り替えを行わず、クロック異常割
込信号1−23が“1”となって割込だけを発生させる
のは、電圧比較回路1−14によって検出されるクロッ
クの異常が、1つの電圧比較回路1−14だけで起きて
いることから、図1のクロック発生器A1−10aの異
常ではないと判断できるので、セレクタ1−11による
切り替えが必要なく、異常を示した電圧比較回路1−1
4にかかる回路(この例の場合、PLL回路1−13a
若しくは電圧比較回路1−14a)に異常が発生したこ
とだけを知らせるためである。第2に、電圧比較結果信
号1−18a〜cの出力のうち2つ以上が異常
(“1”)を示した場合である。例えば、電圧比較回路
1−14a〜c全ての出力が“1”となったときには、
多数決回路は、多数決の結果として、“1”を出力し、
多数決信号保持ラッチ8−2が保持内容を“1”に替え
るので、セレクタ選択信号1−21が“1”となって、
図1のセレクタ1−11によるクロック発信器1−10
の切り替えが行われる。一方、比較結果保持ラッチ8−
3a〜cには、全て“1”の信号が入力されるので、全
ての比較結果保持ラッチ8−3の保持内容が以降“1”
となる。比較結果保持ラッチ8−3の出力がクロック異
常割込マスク信号1−20によってマスクされないとき
には、OR回路8−6を介して、クロック異常割込信号
1−23が“1”となり、図1の割込制御回路1−8に
割込が要求される。ここでは、全ての電圧比較回路1−
14が異常を示しているので、図1に示した3つのPL
L回路1−13に基準クロック1−15を供給している
クロック発生器1−12に異常が発生した確率が高いた
め、基準クロック1−15の供給源をクロック発信器A
1−10aからクロック発信器B1−10bに切り替え
る。
【0079】次に、クロック異常割込マスク信号1−2
0について説明する。クロック異常割込マスク信号は1
−20は、クロック異常割込信号1−23によってプロ
セッシングユニット1−2により異常を検知する処理を
行った後は、同じ要因によって再び割込がかからないよ
うにマスクするための信号である。例えば、電圧比較回
路A1−14aによって異常が検知された場合は、上述
のように、以降、比較結果保持ラッチA8−3aが
“1”を保持し続ける。この比較結果保持ラッチA8−
3aからの信号は、クロック異常割込信号1−23によ
ってプロセッシングユニット1−2に割込処理を要求
し、プロセッシングユニット1−2がそれを受けて、異
常検出処理等を行う。しかし、この異常検出処理を行っ
た後も、この電圧比較回路A1−14aは、“1”を保
持し続けるので、このままの状態では再び割込がかかっ
てしまう。そこで、上述の異常検出処理が終了した後
は、比較結果保持ラッチA8−3aによる割込がかから
ないように、クロック異常割込マスク信号1−20信号
の比較結果保持ラッチA8−3aに対応する信号を
“0”として、比較結果保持ラッチA8−3aの“1”
出力をマスクするようにする。
【0080】続いて、クロックステータスストローブ信
号1−12による動作について説明する。クロックステ
ータスストローブ信号1−12は、プロセッシングユニ
ット1−2が異常検出処理を行う際に、異常の発生要因
を調べるためのストローブ信号である。プロセッシング
ユニット1−2は、異常検出処理を行う際に異常が起き
た箇所を特定するため、切換制御回路1−12内に記憶
された多数決信号保持ラッチ8−2の保持内容と比較結
果保持ラッチ8−3の保持内容(クロックステータスレ
ジスタの内容)を調べる。このとき、これらの保持内容
を読み出すタイミングを指定するのがクロックステータ
スストローブ信号1−12である。プロセッシングユニ
ット1−2による上述の保持内容の読み出しは、システ
ムバス1−4を介して行われるため、システムバス1−
4を流れる他の信号と重なり合わないように、比較結果
保持ラッチ8−3等の保持内容を出力するタイミングを
指定する必要がある。本回路の場合、読み出しが行われ
ないときは、クロックステータスストローブ信号1−1
2は“1”となっており、読み出しを開始するときに
“0”となる。クロックステータスストローブ信号1−
12が“0”となると、出力バッファ8−4がクロック
ステータスレジスタの4つの信号がシステムバス1−4
上に出力され、プロセッシングユニット1−2がこの4
つの信号を読みとることが可能になる。この読み取りが
終了すると、再びクロックステータスストローブ信号1
−12が“1”となって、出力バッファ8−4は出力を
カットして、クロックステータスレジスタの信号がシス
テムバス1−4上に流れないようにする。
【0081】・多数決ユニット 次に、図1に示した多数決ユニット1−3の内部構成及
び動作について説明する。図9は多数決ユニットの内部
構成を説明する図である。図において図1と同一の符号
は同一又は相当の部分を表す。9−1は3つのプロセッ
サバス上の信号の多数決をとるとともに、これら3つの
信号が一致しているか否かを検出する多数決回路B、9
−2は多数決回路B9−1の多数決の結果を出力する出
力信号9−5を受け取ってシステムバス1−4に出力
し、また、システムバス1−4の信号を入力信号9−6
(a〜c)として3つのプロセッシングユニット1−2
に出力するインターフェース機能を有する機能回路、9
−3は多数決回路B9−1の比較結果信号9−7を受け
取ってこの結果をもとに、プロセッシングユニット1−
2の運転/停止を制御する凍結回路である。
【0082】以下に多数決ユニット1−3の動作を説明
する。まず、プロセッシングユニット1−2からプロセ
ッサバス信号1−24としてアドレス、データ、リード
ライト等のシステムバス1−4にのせる必要のある信号
を送る。この実施例ではプロセッシングユニット1−2
が図1のように3つ接続されているので、3組のプロセ
ッサバス信号1−24a〜cが多数決回路B9−1に入
力される。多数決回路B9−1では、上述の3組のプロ
セッサバス信号1−24a〜cの多数決をとり、多数派
の信号を1組だけ選択して出力信号9−5として出力す
る。また、プロセッサバス信号1−24a〜cの比較結
果は、比較結果信号9−7として凍結回路9−3に出力
され、3組のプロセッサバス信号1−24a〜cのうち
どれか1本が他の2本と相違した場合には、単一故障信
号9−4が機能回路9−2に故障を知らせる。多数決回
路B9−1によって出力された出力信号9−5は、機能
回路9−2に伝わり、機能回路9−2がシステムバス1
−4とのインターフェースをとって、システムバス1−
4に出力信号9−2の内容を出力する。また、システム
バス1−4からデータ等の信号を受け取ったときは、今
度は逆にシステムバス1−4の信号をプロセッサバス信
号1−24a〜cに変換して入力信号9−6a〜cとし
てプロセッシングユニット1−2へ出力する。
【0083】では次に、プロセッサバス信号1−24a
〜cの1つに間違いがあった場合について説明する。例
えば、プロセッサバス信号1−24aに障害があり、他
のプロセッサバス信号1−24b〜cと異なったとする
と、多数決回路B9−1は、機能回路9−2及び凍結回
路9−3に、多数派であるプロセッサバス信号1−24
cの信号を出力信号9−5として出力する。この機能は
後述の多数決回路B9−1の説明にて示す。また、同時
に単一故障信号9−4bが“1”となって機能回路9−
2に、単一故障が発生したことを伝える。機能回路9−
2は単一故障の場合には、多数決回路B9−1から入力
された出力信号9−5を主記憶メモリ1−5やI/O装
置1−7等に出力する。このときシステムバス1−4と
のインターフェースをとたるめに、出力信号9−5をシ
ステムバス1−4の信号に変換して主力する。この出力
が正常に終了し1命令の全てのステップが全て終了する
と内部応答信号9−8が出力され、凍結回路9−3によ
ってプロセッサバス信号1−24a〜cの一部として応
答信号9−11a〜cがプロセッシングユニット1−2
に伝える。プロセッシングユニット1−2はこのとき初
めて次の命令の実行が可能となる。一方、多数決回路B
9−1によって故障が検知されたため、割込制御回路1
−8に低優先度の割込要求が発行される。
【0084】・多数決回路B9−1 図10は、図9中の多数決回路B9−1の内部構成を説
明する図である。図10において図1及び図9と同一の
符号は、同一又は相当の部分を表す。10−1aは、プ
ロセッサバス信号1−24aとプロセッサバス信号1−
24cとを比較して、両プロセッサバス信号1−24a
と1−24cとが一致するか否かを判定する比較回路A
C、10−1bは10−1aと同様に、プロセッサバス
信号1−24aと1−24bとが一致するか否かを判定
する比較回路AB、10−1cも同様にプロセッサバス
信号1−24bと1−24cとが一致するか否かを判定
する比較回路BCである。これら3つの比較回路10−
1a〜cを総称して、以下、比較回路10−1とする。
この比較回路10−1の詳細は図11に示されている。
10−2は3つの比較回路10−1のそれぞれから出力
されいてる比較結果信号9−71〜73を受け取って、
故障が1つのプロセッシングユニット1−2にかかるも
のであるか、複数のプロセッシングユニット1−2にか
かるものかを判定して、単一故障信号9−4b、二重故
障信号9−4aとして出力するエラー判別回路である。
このエラー判別回路の詳細は図12に示されている。1
0−3は比較結果信号9−71〜73から2以上のプロ
セッシングユニット1−2が示すプロセッサバス信号1
−24を判別し、この判別された信号のうち1つのプロ
セッサバス信号1−24を選択して、出力信号9−5と
して出力する選択回路である。この選択回路10−3の
詳細は、図13に示されている。図11は、図10中の
比較回路10−1の内部構成を説明する図である。図1
1では、図10の比較回路AC10−1aを示している
が、他の比較回路10−1b・cにおいても基本的な構
成は同じである(ただし、入出力は図10に示した通り
に接続される)。図11において、図1及び図10と同
一の符号は、同一又は相当の部分を表す。図11におい
て、11−11〜1nは、プロセッサバス信号1−24
aと1−24cとの反転型排他的論理和をとるEXNO
R回路である。ここで、プロセッサバス信号1−24a
1は、プロセッサバス信号1−24aの1番目の信号線
の信号、プロセッサバス信号1−24a2も同様に、プ
ロセッサバス信号1−24aの2番目の信号線、1−2
4anは、n本あるプロセッサバス信号1−24aのn
番目の信号線の信号である。1−24c1〜nも、1−
24a1〜nと同様に、プロセッサバス信号1−24c
の1番目からn番目の信号を表している。図12は、図
10中のエラー判別回路10−2の内部構成を説明する
図である。図12において、図10と同一の符号は、同
一の部分を表す。12−1は比較結果信号9−71〜7
3を入力とし、二重故障信号9−4aを出力する3入力
NOR回路、12−2は比較結果信号9−71〜73を
入力とし、この入力の論理積をとって2入力NOR回路
12−3に出力する3入力AND回路、12−3は二重
故障信号9−4aと3入力AND回路の出力とを受け取
り、出力として単一故障信号9−4bを出力する2入力
NOR回路である。図13は図10中の選択回路10−
3の内部構成を説明する図である。図15において、図
9及び図10と同一の符号は同一又は相当の部分を表
す。1−24a1〜n・1−24c1〜nの信号は、図
11にて説明したものと同様の信号であり、1−24b
1〜nについても、1−24a1〜nと同様に、プロセ
ッサバス信号1−24bの1番目からn番目の信号を表
している。13−1a1は、プロセッサバス信号1−2
4a1と比較結果信号AC9−71との論理積をとって
3入力OR回路13−2aに出力する2入力AND回
路、1−24b1は、プロセッサバス信号1−24b1
と比較結果信号AB9−72との論理積をとって3入力
OR回路13−2aに出力する2入力AND回路、13
−1c1はプロセッサバス信号1−24c1と比較結果
信号BC9−73との論理積をとって3入力OR回路1
3−21に出力する2入力AND回路である。1−24
a2・b2・c2については、上述と同様にプロセッサ
バス信号1−24a〜cの2番目の信号線の信号と対応
する比較結果信号9−71〜73との論理積をとって、
3入力OR回路13−22に出力する2入力AND回
路、1−24an・bn・cnも、上述と同様にプロセ
ッサバス信号1−24a〜cのn番目の信号線の信号と
対応する比較結果信号9−71〜73との論理積をとっ
て、3入力OR回路13−2nに出力する2入力AND
回路である。13−21は3つの2入力AND回路13
−1a1・1b1・1c1からの出力信号を受け取り、
この出力信号の論理和をとって出力信号9−51として
出力する3入力AND回路であり、13−22も同様に
2入力AND回路13−1a2・1b2・1c2の出力
信号を入力として、出力信号9−52を出力する3入力
AND回路、13−2nも同様に2入力AND回路13
−1an・2bn・2cnの出力信号を入力として、出
力信号9−5nを出力する3入力AND回路である。9
−51〜5nは、出力信号9−5の1番目の信号線から
n番目の信号線の信号を表している。図14は、図10
に示した多数決回路B9−1の動作を説明する図であ
る。ここでは、説明を簡単にするため、プロセッサバス
信号1−24a〜cが2ビット(n=2)で構成されて
いる場合を示している。図14において、図10〜12
と同一の符号は同一又は相当の部分を表す。
【0085】次に、以上のように構成された多数決回路
B9−1の動作について説明する。主に比較回路10−
1、選択回路10−3、エラー判別回路10−2の動作
について図14を参照しながら、図10〜図13を用い
て説明する。
【0086】[正常時動作]図14における第1列及び
第2列は、3つのプロセッシングユニットの出力が全て
等しい場合である。この場合、比較回路10−1の内部
にある2入力EXNOR回路11−11〜1nの出力は
全て“1”になる。従ってAND回路11−2の出力、
すなわち比較結果信号9−71は“1”を出力する。同
様に、図11に図示していない比較結果信号AB9−7
2及び比較結果信号BC9−73も“1”を出力する。
【0087】また、図13の選択回路10−3に入力さ
れる比較結果信号9−71〜73は前述のように全て
“1”であるから、2入力AND回路13−1a1〜1
an、13−1b1〜1bn、13−1c1〜1cn
は、プロセッサバス信号1−24a1〜bn、1−24
b1〜bn、1−24c1〜cnはそのまま出力信号9
−51〜5nとして出力される。これらの出力信号9−
51〜5nは3入力OR回路13−21〜23を介して
多数決信号9−51〜5nとして出力される。例えば、
図14の第1列では、プロセッサバス信号1−24とし
て、“00”が入力されるので、出力信号9−5は“0
0”となる。
【0088】また、図12のエラー判別回路10−2に
おいては、比較結果信号9−5全てが“1”であるた
め、3入力NOR回路12−1の出力信号(すなわち二
重故障信号9−4a)は、“0”になる。また、3入力
AND回路12−2の出力信号は“1”になる。このた
め2入力NOR回路83の出力信号(すなわち単一故障
信号9−4b)は“0”になる。
【0089】[単一故障時動作]次に、図14における
第3列は、3つのプロセッサバス信号1−24a〜cの
中で1つのプロセッサバス信号1−24aの出力だけが
異なる場合である。この場合、図10の比較結果信号9
−71・bが“0”となり、比較回路10−1cの比較
結果信号9−73が“1”となる。この比較結果信号9
−71〜73がエラー判別回路10−2と選択回路10
−3へ出力される。この出力(比較結果信号AC=0,
AB=0,BC=1)を受け取ったエラー判別回路10
−2は、3入力NOR回路12−1が二重故障信号9−
4a=“0”を出力し、また、3入力AND回路12−
2が出力=“0”を出力する。このため、2入力NOR
回路12−3は単一故障信号9−4b=“1”を出力し
て、故障が発生したことを機能回路9−2へ伝える。ま
た、図13の選択回路10−3では、比較結果信号10
−4(AC=0,AB=0,BC=1)が入力される
と、プロセッサバス信号1−24a1〜nと比較結果信
号9−71=“0”との論理積が実行され2入力AND
回路13−1a1〜1anの出力は常に“0”となる。
同様に、2入力AND回路13−1b1〜1bnの出力
も常に“0”となってプロセッサバス信号1−24bの
信号は出力信号9−5として出力されない。一方、プロ
セッサバス信号1−24cは、比較結果信号BC9−7
3=“1”との論理積が実行される結果、プロセッサバ
ス信号1−24cがそのまま2入力AND回路13−1
c1〜1cnの出力として3入力OR回路13−21〜
23へ伝えられる。3入力OR回路13−21〜23で
は、プロセッサバス信号1−24a・bが上述のように
マスクされているために、出力信号9−51〜5nとし
てプロセッサバス信号1−24cの信号がそのまま出力
される。このように、異常が検出されたプロセッサバス
信号1−24aは、出力信号9−5になんら影響を与え
ず、正常なプロセッサバス信号1−24cが出力信号9
−5として出力される。他のプロセッサバス信号1−2
4b又は1−24cに異常が発生したときも、上述と同
様に、正常なプロセッサバス信号1−24が選択されて
出力される。
【0090】[二重故障時動作]次に、図14における
第4列、5列及び7列は、3つプロセッサバス信号1−
24a〜cが全て異なる場合である。この場合、図11
の比較回路10−1a〜cの比較結果信号9−71〜7
3が全て“0”になる。この比較結果信号9−71〜7
3はエラー判別回路10−2及び選択回路10−3に入
力される。比較結果信号9−71〜73は全て“0”で
あるから、図13の2入力AND回路13−1a1〜n
・13−1b1〜n・13−1c1〜nは、プロセッサ
バス信号1−24a〜cの内容にかかわらず全て“0”
を出力する。従って、3入力OR回路13−21〜23
から出力される出力信号9−51〜5nは全て“0”と
して出力される。
【0091】また、図12のエラー判別回路10−2で
は3入力NOR回路12−1の出力信号(すなわち二重
故障信号9−4a)は“1”になる。3入力AND回路
12−2の出力信号は“0”になる。このため2入力N
OR回路12−3の出力信号(すなわち単一故障信号9
−4b)は“0”になる。
【0092】このように、比較回路10−1で3つのプ
ロセッシングユニット出力の中から2つずつのプロセッ
サバス信号1−24の組み合わせで比較し、その比較結
果信号10−4を選択回路10−3及びエラー判別回路
10−2に入力する。選択回路10−3では比較結果信
号10−4に従って出力すべきプロセッサバス信号1−
24a〜cを選択する。全てのプロセッサバス信号1−
24a〜cが異なる時、選択回路10−3は信号を出力
しない。エラー判別回路10−2では比較結果信号10
−4を解析し故障が検出されたプロセッサバス信号1−
24の該プロセッシングユニット1−2の故障状況を出
力することによりプロセッシングユニット1−2の二重
故障の検出ができる。
【0093】従って、1つのプロセッシングユニット1
−2が故障した場合は正しいプロセッシングユニット1
−2を特定してその出力を選択出力できる。また、複数
のプロセッシングユニット1−2が故障した場合は二重
故障として検出できる。
【0094】・機能回路9−2 次に、図9多数決ユニット内の機能回路9−2につい
て、図15を用いて説明する。図15は、機能回路9−
2の内部構成を説明する図である。図15において、図
1及び図9と同一の符号は、同一又は相当の部分を表
す。15−1は、出力信号9−5を受け取りシステムバ
ス1−4に出力し、また、システムバス1−4上の信号
をドライブ回路15−5に出力するインターフェースを
司るシステムバス制御回路、15−2は、出力信号9−
5のアドレス信号を保持するアドレスラッチ回路、15
−3は、出力信号9−5のアドレス信号が予め定められ
たアドレスであったときに、制御書込信号9−9又はク
ロックステータスストローブ信号を出力するストローブ
信号生成回路、15−5はシステムバス制御回路15−
1から信号を受け取り、プロセッサバス信号1−24a
〜cの一部としてそれぞれ3つのプロセッシングユニッ
ト1−2に、出力するドライブ回路である。
【0095】アドレスラッチ回路15−2は、出力信号
9−5に含まれているアドレスをラッチする回路であ
る。ストローブ信号生成回路15−3は、図16の凍結
回路9−3に設けられたフラグに割り当てられたアドレ
スに対する書き込み指示が合った場合に、制御書き込み
信号256を生成し、また、図8の切換制御回路1−1
7に設けられたクロックステータス信号1−22に割り
当てられているアドレスに対する読み取り指示があった
場合に、クロックステータスストローブ信号1−19を
生成する。即ち、ストローブ信号生成回路15−3は、
アドレスラッチ回路15−2がラッチしたアドレスが凍
結回路9−3に存在するフラグに割り当てられたアドレ
スであり、かつ、そのアドレスへの書き込み指示の場合
に出力信号9−5に含まれているデータを用いて、フラ
グセットを指示するストローブ信号9−9を生成する。
また、図8の切換制御回路1−12内の比較結果保持ラ
ッチ8−3及び多数決信号保持ラッチ8−2に保持され
ている値、すなわち、クロックステータス信号1−22
に割り当てられているアドレスと、アドレスラッチ回路
15−2がラッチした値とが一致した場合に、システム
バス1−4上にクロックステータス信号1−22がのる
ように、クロックステータスストローブ信号1−19を
出力する。
【0096】システムバス制御回路15−1は、システ
ムバス1−4とのインタフェースを司るものである。シ
ステムバス制御回路15−1は、システムバス1−4を
介して、図1の主記憶メモリ1−5あるいは入出力バス
アダプタ1−6に対して、入出力処理を実行することを
指示する。そして、これら主記憶メモリ1−5あるいは
入出力バスアダプタ1−6からの処理終了をシステムバ
ス1−4を介して認識すると、内部応答信号9−8を生
成して凍結回路9−3に出力する。この内部応答信号9
−8は、次の処理の受け付けが可能な状態になったこと
を示す信号であり、凍結回路9−3により応答信号9−
11として、各プロセッシングユニット1−2に対して
送られる。
【0097】・凍結回路9−3 次に、凍結回路9−3の内部構成について説明する。図
16は図9の多数決ユニット1−3内の凍結回路9−3
を詳細に説明した図である。図16において、図1又は
図9と同一の符号は同一又は相当の部分を表す。16−
1は、図9の多数決回路B9−1からの出力である比較
結果信号9−71〜73(3本のどれかを特定しないで
説明するときは9−7と表示している)を入力とし、プ
ロセッシングユニットA1−2aに対するエラー検出信
号(EA*:負論理)16−10a、プロセッシングユ
ニットB1−2bに対するエラー検出信号(EB*:負
論理)16−10b、およびプロセッシングユニットC
7−3に対するエラー検出信号(EC*:負論理)16
−10cを出力する障害検出回路、16−2は、論理的
にどのプロセッサバス信号1−24a〜cが接続されて
いるかを示す3ビットの接続フラグであり、各ビット
は、それぞれプロセッサバス信号1−24a〜cが多数
決ユニット1−3に論理的に接続されているか否かを示
している。16−2a〜cは、それぞれプロセッサバス
信号1−24a〜cに対応する接続フラグ出力信号、1
6−3は接続フラグ16−2にデータが書き込まれるた
びに、直前の接続フラグ16−2の内容を保持しておく
3ビットの接続セーブフラグであり、この接続セーブフ
ラグ16−3は、それぞれのプロセッサバス信号1−2
4a〜cに対応する接続フラグを保持している。16−
4は、隔離フラグ16−6からの信号によって、接続セ
ーブフラグ16−3の出力、又は、出力信号9−51〜
53のいずれかを選択して接続フラグ16−2へ出力す
る選択回路である。16−5は隔離フラグ16−6のN
端子からの出力と、出力信号9−54との論理積をとる
2入力AND回路、16−6は、2つ以上のプロセッサ
バス信号1−24a〜cが同期して動作している(以
下、同期モードと呼ぶ)のではなく、1つのプロセッシ
ングユニット1−2が単独で動作しているモード(以
下、隔離モードと呼ぶ)であることを示す1ビットのフ
ラグである隔離フラグ、16−7は隔離フラグ16−6
からの信号に応じて、出力信号9−55〜57を保持
し、強制割込信号9−10a〜cとして出力する強制割
込フラグである。この強制割込信号9−10a〜cは、
マスクすることが不可能な最も優先度の高い割込信号で
ある。16−8は図1の切換制御回路1−12からのセ
レクタ選択信号1−21を検知し、セレクタ選択信号1
−21が変化したときに時計測を始め、3入力AND回
路への出力を“0”とし、予め定められた時間が経過後
に、3入力AND回路への出力を“1”に戻すクロック
切換監視タイマ、16−9は隔離フラグ16−6の状態
を監視し、隔離モードに入っている時間を計測して、こ
の時間が予め定められた時間以上になったときにOR回
路16−10を介し隔離フラグ16−6をリセットする
(このリセットにより隔離モードが終了する)隔離監視
タイマである。16−11aは接続フラグ出力信号16
−2a、内部応答信号9−8、及び、クロック切換監視
タイマ16−8の出力の論理積をとって応答信号9−1
0aを出力する3入力AND回路、16−11b・cも
同様に、接続フラグ出力信号16−2b又はc、内部応
答信号9−8、及び、クロック切換監視タイマ16−8
の出力の論理積をとって応答信号9−10b又はcを出
力する3入力AND回路である。
【0098】以下に、凍結回路9−3の動作について説
明する。まず、障害検出回路16−1の動作を説明す
る。図17に、障害検出回路260の真理値表を示す。
図17において、AB、BC、CAは順に、比較結果信
号AB9−72、比較結果信号BC9−73、比較結果
信号AC9−71を表している。EA、EB、ECは順
に、エラー検出信号EA*16−11a、エラー検出信
号EB*16−11b、エラー検出信号EC*16−1
1cを表している。例えば、第6列について説明する
と、入力として、プロセッシングユニットB・C1−2
b・cの比較結果のみが一致しているため、プロセッシ
ングユニットAが故障していると考えられる。よって、
プロセッシングユニットAに対するエラー検出信号(E
A*)16−11aのみが“0”(負論理)となり、他
のプロセッシングユニットB1−2aに対するエラー検
出信号(EB*)16−11b、及びプロセッシングユ
ニットC1−2cに対するエラー検出信号(EC*)1
6−11cはともに“1”(負論理)となって出力され
る。
【0099】次に、接続フラグ16−2、隔離フラグ1
6−6、及び強制割込フラグ16−7のフラグの設定に
ついて説明する。以下、接続フラグ16−2、隔離フラ
グ16−6、及び強制割込フラグ16−7をまとめて、
制御レジスタと称する。この制御レジスタは、予め定め
られたアドレスを有しているものとする。ビット1〜ビ
ット3は、3ビットの接続フラグ16−2の各ビットに
対応し、それぞれ、プロセッシングユニット1−2を論
理的接続状態にするときにプロセッシングユニット1−
2が“1”を設定する。ビット4は、1ビットの隔離フ
ラグ16−6に対応し、あるプロセッシングユニット1
−2を隔離状態で動作させる時にプロセッシングユニッ
ト1−2が“1”を設定する。ビット5からビット7
は、プロセッシングユニット1−2のそれぞれに対し
て、強制割り込みを発生させる時にプロセッシングユニ
ット1−2が“1”を設定する。なお、隔離フラグ16
−6が“1”にセットされている状態で、制御レジスタ
に書き込みを行うと、接続フラグ16−2は接続セーブ
フラグ16−3の内容にセットされ、隔離フラグ16−
6は“0”にリセットされる。
【0100】プロセッシングユニット1−2が制御レジ
スタを設定する場合は、制御レジスタに割り当てられた
所定のアドレスに対して書き込み命令を発生させること
によって行う。プロセッシングユニットより出力された
アドレスと、リード/ライト信号による書き込み命令は
図15に示すアドレスラッチ回路15−4及びストロー
ブ信号生成回路15−3により、制御レジスタに対する
書き込み命令であることが判定される。ストローブ信号
生成回路15−3は、ストローブ信号を制御書き込み信
号9−9として発生させる。図16にもどり、凍結回路
9−3の接続フラグ16−2、隔離フラグ16−6及び
強制割込フラグ16−7は、この制御書込信号9−9に
基づき、プロセッシングユニット1−2が出力した出力
信号9−5を制御レジスタに設定する。なお、隔離フラ
グ16−6が“1”にセットされている状態で、制御レ
ジスタに書き込みを行うと、接続フラグ16−2は接続
セーブフラグ16−3の内容にセットされ、隔離フラグ
16−6は“0”にリセットされる。
【0101】つづいて、障害発生から故障検知までの動
作について説明する。初期状態ではリセット信号16−
12により、接続フラグ16−2、接続セーブフラグ1
6−3はともに”111”に、隔離フラグ16−6は
“0”になっている。ここで例えばプロセッシングユニ
ットA1−2aに障害が発生したとすると、この障害
は、多数決回路B9−1で検出され、比較結果信号9−
7を出力する。この比較結果信号9−7を受け取った障
害検出回路16−1によって、対応するエラー検知信号
16−11a〜cが出力される。これにより、3ビット
の接続フラグ16−2が”011”となり、プロセッシ
ングユニットA1−2aに対する応答信号16−11a
が出力されなくなり、プロセッシングユニットA1−2
aが凍結状態になる。プロセッシングユニットA1−2
aが故障したことは、図15に示す機能回路9−2にお
ける割り込み制御回路15−5が、正常動作しているプ
ロセッシングユニットB1−2a,C1−2cに強制割
込を発生させることにより、検知することができる。
【0102】次に、故障プロセッシングユニット(例え
ば、プロセッシングユニットA1−2a)の故障診断の
動作について説明する。プロセッシングユニットB1−
2b、C1−2cが、制御レジスタに”100110
0”を書き込むことにより、プロセッシングユニットB
1−2b、C1−2cは凍結状態になり、プロセッシン
グユニットA1−2aは凍結状態から解除され、隔離動
作モードが動作を開始する。制御レジスタの内容は左か
らプロセッシングユニットA接続フラグ、プロセッシン
グユニットB接続フラグ、プロセッシングユニットC接
続フラグ、隔離フラグ、プロセッシングユニットA強制
割り込み発生フラグ、プロセッシングユニットB強制割
り込み発生フラグ、プロセッシングユニットC強制割り
込み発生フラグである。
【0103】このとき、プロセッシングユニットB7−
2およびC7−3は、プロセッシングユニットA1−2
aに対する、強制割り込み発生フラグ(ビット4)をセ
ットするため、最高レベルの割り込みが発生し、プロセ
ッシングユニットA1−2aは、エラー解析および自己
診断用の特別処理ルーチンに分岐する。プロセッシング
ユニットA1−2aは、自らのエラー情報および自己診
断結果を、プロセッシングユニットA1−2a、B1−
2b、C1−2c毎にあらかじめ決められた主記憶メモ
リ1−5の退避領域に書き出す。主記憶メモリ1−5の
書き込みが終了すると、制御レジスタに書き込み処理を
行う。隔離フラグ16−6がセットされている状態での
書き込みは、書き込みデータによらず、接続フラグ16
−2には接続セーブフラグ16−3にセットされていた
情報が書き戻されるので、プロセッシングユニットB1
−2b、C1−2cは、再度動作を開始する。
【0104】次に再同期動作について説明する。再度動
作を再開したプロセッシングユニットB1−2b、C1
−2cは、プロセッシングユニット1−2内の全レジス
タの内容を、主記憶メモリ1−5のレジスタ退避領域に
退避する。障害の発生したプロセッシングユニットA1
−2aが、主記憶メモリ1−5に書き出した内容を、プ
ロセッシングユニットB1−2b、C1−2cは解析を
行い、プロセッシングユニットA1−2aの自己診断結
果に基づき、復旧可能かどうかの判断を行う。もし、自
己診断結果が良好であり、一時的な故障と判断すると、
制御レジスタに”1110000”をセットする。故障
したプロセッシングユニットA1−2aは、前項で述べ
た制御レジスタへの書き込みの実行直後に凍結され、正
常なプロセッシングユニットB1−2b、C1−2cが
制御レジスタ271に“1110000”を書き込んだ
時点で故障したプロセッシングユニットA1−2aの凍
結状態が解除され、それ以降は3個のプロセッシングユ
ニットA1−2a,B1−2b,C1−2cが同じ命令
列を同じタイミングで同期して実行するようになる。も
し、自己診断の結果も不良であり、復旧不可能な故障と
判断すると、制御レジスタに“1110000”を書き
込まずに、故障したプロセッシングユニットA1−2a
を切り離したままで処理を続行することになる。
【0105】図18は接続フラグおよび図8の切換制御
回路内のクロックステータスによって故障部位を特定し
た結果を図示したものである。図18において、1−2
1で示される行は図1のセレクタ選択信号1−21を表
し、1−18a〜cで示され行は電圧比較回路出力1−
18a〜c、16−2a〜cで示される行は図16の接
続フラグの出力を表している。19−1はプロセッシン
グユニット1−2による故障モジュールの判定結果を表
している。
【0106】次に、故障モジュールの判定方法について
説明する。まず、第2・4・6列のように、電圧比較回
路1−14が異常(=“1”)を示しており、かつ該当
するプロセッシングユニット1−2の接続フラグが
“0”である場合、PLL回路1−13の故障と判断す
る。そして、第1・3・5列のごとく、電圧比較回路1
−14が異常を示しており、かつ該当するプロセッシン
グユニット1−2の接続フラグが“1”、すなわちプロ
セッシングユニット1−2に故障が現れない場合、異常
を示した電圧比較回路1−14の故障と判断する。第7
〜9列のように、電圧比較回路1−14が正常(=
“0”)を示しており、かつ該当するプロセッシングユ
ニット1−2の接続フラグが“0”である場合、既に説
明したように上記該当するプロセッシングユニット1−
2の故障と判断する。また、第11列のようにセレクタ
選択信号が1になったときは、図1のクロック発生器A
1−10aが故障したと判断する。
【0107】上記方法によって故障を判断する場合、P
LL回路1−13および電圧比較回路1−14の故障に
よってプロセッシングユニット1−2のエラーを引き起
こしてしまった場合(プロセッシングユニット1−2の
接続フラグが“0”である場合)は、プロセッシングユ
ニットは故障していないと判断できるので、プロセッシ
ングユニット1−2の復旧動作において、プロセッシン
グユニット1−2の故障診断の動作はスキップする。
【0108】以上のように、本発明により冗長クロック
装置もしくはプロセッシングユニットのある1つの故障
によっても継続動作は可能であるが、システムの可用性
から見ても、できるだけ速やかにその故障をシステムか
ら取り除くことが望ましい。
【0109】次に、図1の切換制御回路1−12によっ
てクロック発生器1−10の切り替えが発生した場合
に、クロック発生器1−10の切り替え後、PLL回路
出力1−17が安定するまでプロセッシングユニット1
−2の動作を抑止する動作について説明する。クロック
発生器A1−10aの異常が検知されると、セレクタ選
択信号1−21が“1”に変化する。セレクタ選択信号
1−21は図16のクロック切換監視タイマ16−8に
入力される。通常時のクロック切換監視タイマ16−8
の出力は“1”である。セレクタ選択信号1−21が
“1”に変化するとクロック切換監視タイマ16−8の
出力は“0”となり、接続フラグの出力によらず、プロ
セッシングユニット1−2への応答信号9−10を
“1”にしないようにしてプロセッシングユニット1−
2の動作を凍結、すなわち停止、させる。クロック発生
器1−10の切り替え後、しばらくしてPLL回路出力
1−13が安定した後にクロック切換監視タイマ16−
8の出力が“1”となることでプロセッシングユニット
の動作の凍結を解除し、接続フラグの出力、および内部
応答信号9−8に従って、同期/多数決動作を再開す
る。このクロック切換監視タイマ16−8の働きによ
り、クロック発信器1−10の切換直後はプロセッシン
グユニット1−2の動作を凍結するので、クロック信号
1−17を原因とするプロセッシングユニット1−2の
動作異常を防止することができ、クロック発生器1−1
0切り替えに伴う無用な自己診断及び復旧処理の発生を
防止することができる。
【0110】実施例2.図19は、本発明がプロセッシ
ングユニット1−2が1つのシステムに利用された場合
の構成を示している。図19において、図1と同一の符
号は、同一又は相当の部分を表す。1−3Aは図1にお
ける多数決ユニット1−3の代わりの役割を果たすもの
で、プロセッシングユニットB1−2bとシステムバス
1−4とのインターフェースを司り、切り替え制御回路
1−12によってセレクタ切り替え信号が出力を変化さ
せると、システムバスアダプタ1−3A内がプロセッシ
ングユニットB1−2bに応答信号を一定の時間返さず
に、凍結させる。そのため、セレクタ1−11によるク
ロック切り替え直後に発生する不安定なクロック信号を
基にプロセッシングユニットB1−2bを動作させない
ので、プロセッシングユニットB1−2bの誤動作を防
ぐことができるという効果がある。そのため、システム
の信頼性が高められる。
【0111】
【発明の効果】この発明によるプロセッサシステムによ
れば、クロック信号の異常を検知するクロック異常検出
器と、クロック信号を受けて作動するプロセッサと、こ
のプロセッサの動作異常を検知するプロセッサ異常検出
器と、プロセッサ又はクロックの故障を診断する故障診
断部と、を有することにより、プロセッサ異常検出器の
出力が異常を示し、上記クロック異常検出器の出力が異
常を異常を示していないときにはプロセッサの故障診断
テスト処理を行い、上記クロック供給器の出力が異常を
示したときにはプロセッサの故障診断テスト処理を行わ
ないので、故障発生時の異常検出にかかる時間を少なく
することができ、プロセッサを高速に復旧させることが
できる。
【0112】さらに、複数のプロセッサと、これら複数
のプロセッサの出力信号の異常を検出するプロセッサ異
常検出器と、クロック信号を発生させる複数のクロック
供給器と、これら複数のクロック信号から1つの選択ク
ロック信号を選択してプロセッサに出力するとともに、
クロック異常信号によって選択中の上記クロック信号を
他の上記クロック信号に切り替えるセレクタと、上記選
択クロック信号の異常を検知して上記クロック異常信号
を出力するクロック異常検出器と、このプロセッサ異常
検出器の出力が異常を示し、上記クロック異常検出器の
出力が異常を異常を示していないときに、上記プロセッ
サの故障診断テスト処理を行い、上記クロック供給器の
出力が異常を示したときには上記プロセッサの上記故障
診断テスト処理を行わない故障診断部と、を有すること
により、プロセッサ異常検出器の出力が異常を示し、上
記クロック異常検出器の出力が異常を異常を示していな
いときにはプロセッサの故障診断テスト処理を行い、上
記クロック供給器の出力が異常を示したときにはプロセ
ッサの故障診断テスト処理を行わないので、故障発生時
の異常検出にかかる時間を少なくすることができ、プロ
セッサを高速に復旧させることができる。
【0113】加えて、クロック異常検出器若しくは上記
プロセッサ異常検出器からの低優先度の割込信号によっ
て処理を開始し、故障診断テスト処理を行うか否かを判
断することを特徴とする故障診断部を有することによ
り、クロック切り替えによりプロセッサは正常に動作
し、より優先度の高い処理を正常かつ優先的に実行する
ため、より重要な実行中の処理を中断することなく故障
診断が行え、プロセッサ装置の信頼性を高めることがで
きる。
【0114】さらに、上記セレクタによる上記クロック
信号の切り替えが起きたときから予め定められた時間ま
で、上記プロセッサの動作を停止させる凍結回路を有す
ることにより、クロック信号の供給が不安定なときはプ
ロセッサを停止ししているため、クロック切り替え時に
多発しがちなクロック異常による故障診断処理を防ぎ、
さらにプロセッサを高速に復旧させることができる。
【0115】また、この発明よる故障診断方法は、プロ
セッサの出力に異常があるかを判断するプロセッサ異常
検知ステップと、クロック信号に異常があるかどうかを
検知するクロック信号異常検知ステップと、上記プロセ
ッサ異常検出ステップの検知結果が異常を示し、かつ、
上記クロック信号異常検知ステップの検知結果が異常を
示していないときにプロセッサの故障を診断するプロセ
ッサ故障診断ステップと、上記クロック信号異常検知ス
テップの検知結果が異常を示したときは上記プロセッサ
故障診断ステップを行わないプロセッサ故障診断スキッ
プステップを有することにより、クロック信号に異常が
発生したときは時間のかかるプロセッサ診断処理を行わ
ないので、クロック異常が発生した場合の故障診断処理
を高速に行うことができる。
【図面の簡単な説明】
【図1】 本発明の実施例1の全体構成を示すブロック
図である。
【図2】 本発明の実施例1の復旧処理を説明するフロ
ーチャートである。
【図3】 本発明の実施例1の故障検出処理を説明する
フローチャートである。
【図4】 本発明の実施例1の故障検出処理を説明する
フローチャートである。
【図5】 本発明の実施例1の図1におけるPLL回路
および電圧比較回路の内部構成を示す図である。
【図6】 本発明の実施例1の図5におけるPLL回路
の出力波形を示す図である。
【図7】 本発明の実施例1の図5におけるPLL回路
の出力波形を示す図である。
【図8】 本発明の実施例1の図1における切り替え制
御回路の内部構成を示すブロック図である。
【図9】 本発明の実施例1の図1における多数決ユニ
ットの内部構成を示すブロック図である。
【図10】 本発明の実施例1の図4における多数決回
路の内部構成を示す図である。
【図11】 本発明の実施例1の図5における比較回路
の内部構成を示す図である。
【図12】 本発明の実施例1の図5におけるエラー判
別回路の内部構成を示す図である。
【図13】 本発明の実施例1の図5における選択回路
の内部構成を示す図である。
【図14】 本発明実施例1の図5の多数決回路の動作
を示す図である。
【図15】 本発明の実施例1の図4における機能回路
の内部構成を示す図である。
【図16】 本発明の実施例1の図4における凍結回路
の内部構成を示す図である。
【図17】 本発明の実施例1の図11における障害検
出回路の真理値表を示す図である。
【図18】 本発明の実施例1における故障部位の特定
を示す図である。
【図19】 本発明の実施例2の全体構成を示すブロッ
ク図である。
【図20】 従来の冗長化プロセッサシステムの構成を
示すブロック図である。
【図21】 従来の故障診断及び復旧処理を説明するフ
ローチャートである。
【符号の説明】
1−1 冗長クロック装置、 1−2a〜c プロセッ
シングユニット、 1−3 多数決ユニット、 1−4
システムバス、 1−5 主記憶メモリ、1−6 入
出力バスアダプタ、 1−7 I/O装置、 1−8
割込制御回路、 1−10a・b クロック発生器、
1−11 セレクタ、 1−12 切替制御回路、 1
−13a〜c PLL回路、 1−14 電圧比較回路
a〜c、 1−17 クロック信号、 1−18 電圧
比較回路出力、 1−21 セレクタ選択信号、 1−
24a〜c プロセッサバス信号、 15−8 クロッ
ク切替監視タイマ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 クロック信号を出力するクロック供給器
    と、上記クロック信号の異常を検出するクロック異常検
    出器と、上記クロック信号を受けて作動するプロセッサ
    と、このプロセッサの動作異常を検出するプロセッサ異
    常検出器と、このプロセッサ異常検出器の出力が異常を
    示し、上記クロック異常検出器の出力が異常を示してい
    ないときに、上記プロセッサに対し故障診断テスト処理
    を行うとともに、上記クロック異常検出器の出力が異常
    を示したときには上記故障診断テスト処理を行わない故
    障診断部と、を備えたプロセッサ装置。
  2. 【請求項2】 複数のプロセッサと、これら複数のプロ
    セッサの動作異常を検出するプロセッサ異常検出器と、
    クロック信号をそれぞれ発生する複数のクロック供給器
    と、これら複数のクロック供給器の出力する複数のクロ
    ック信号から1つを選択クロック信号として選択して上
    記複数のプロセッサに出力するとともに、外部からの異
    常信号によって選択中のクロック信号を他のクロック信
    号に切り替えるセレクタと、上記選択クロック信号の異
    常を検出してクロック異常信号を発生し上記セレクタに
    対して出力するクロック異常検出器と、上記プロセッサ
    異常検出器の出力が異常を示し、上記クロック異常検出
    器の出力が異常を示していないときに、上記プロセッサ
    に対し故障診断テスト処理を行い、上記クロック異常検
    出器の出力が異常を示したときには上記故障診断テスト
    処理を行わない故障診断部と、を備えたプロセッサ装
    置。
  3. 【請求項3】 上記故障診断部は、上記クロック異常検
    出器が異常を検出したときに出力する低優先度の割込信
    号によって処理を開始し、上記故障診断テスト処理を行
    うか否かを判断することを特徴とする請求項1又は請求
    項2のいずれかに記載の記載のプロセッサ装置。
  4. 【請求項4】 上記セレクタによる上記クロック信号の
    切り替えが起きたときから予め定められた時間まで、上
    記プロセッサの動作を停止させる凍結回路を備えたこと
    を特徴とする請求項2に記載のプロセッサ装置。
  5. 【請求項5】 プロセッサの出力に異常があるかどうか
    を判断するプロセッサ異常検知ステップと、クロック信
    号に異常があるかどうかを検知するクロック信号異常検
    知ステップと、上記プロセッサ異常検出ステップの検知
    結果が異常を示し、かつ、上記クロック信号異常検知ス
    テップの検知結果が異常を示していないときにプロセッ
    サの故障を診断するプロセッサ故障診断ステップと、上
    記クロック信号異常検知ステップの検知結果が異常を示
    したときは上記プロセッサ故障診断ステップを行わない
    プロセッサ故障診断スキップステップを有するプロセッ
    サ故障診断方法。
JP7038391A 1995-02-27 1995-02-27 プロセッサ装置並びにプロセッサ故障診断方法 Pending JPH08235015A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7038391A JPH08235015A (ja) 1995-02-27 1995-02-27 プロセッサ装置並びにプロセッサ故障診断方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7038391A JPH08235015A (ja) 1995-02-27 1995-02-27 プロセッサ装置並びにプロセッサ故障診断方法

Publications (1)

Publication Number Publication Date
JPH08235015A true JPH08235015A (ja) 1996-09-13

Family

ID=12523991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7038391A Pending JPH08235015A (ja) 1995-02-27 1995-02-27 プロセッサ装置並びにプロセッサ故障診断方法

Country Status (1)

Country Link
JP (1) JPH08235015A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208112B1 (en) 1998-12-28 2001-03-27 Grundfos A/S Method for controlling a voltage/frequency converter controlled single-phase or polyphase electric motor
US7225355B2 (en) 2002-07-12 2007-05-29 Nec Corporation Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof
JP2009534738A (ja) * 2006-04-21 2009-09-24 ハネウェル・インターナショナル・インコーポレーテッド フォールト・トレランス・コンピューティング・システムにおけるエラー・フィルタリング
JP2009265711A (ja) * 2008-04-22 2009-11-12 Hitachi High-Technologies Corp 制御システム
US7751310B2 (en) 2004-12-20 2010-07-06 Nec Corporation Fault tolerant duplex computer system and its control method
JP2013114589A (ja) * 2011-11-30 2013-06-10 Seiko Epson Corp マイクロコントローラー

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208112B1 (en) 1998-12-28 2001-03-27 Grundfos A/S Method for controlling a voltage/frequency converter controlled single-phase or polyphase electric motor
US7225355B2 (en) 2002-07-12 2007-05-29 Nec Corporation Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof
US7751310B2 (en) 2004-12-20 2010-07-06 Nec Corporation Fault tolerant duplex computer system and its control method
JP2009534738A (ja) * 2006-04-21 2009-09-24 ハネウェル・インターナショナル・インコーポレーテッド フォールト・トレランス・コンピューティング・システムにおけるエラー・フィルタリング
JP2009265711A (ja) * 2008-04-22 2009-11-12 Hitachi High-Technologies Corp 制御システム
JP2013114589A (ja) * 2011-11-30 2013-06-10 Seiko Epson Corp マイクロコントローラー

Similar Documents

Publication Publication Date Title
US7131013B2 (en) Power supply control system and storage device for holding data just prior to the occurence of an error
US5220668A (en) Digital data processor with maintenance and diagnostic system
US7007192B2 (en) Information processing system, and method and program for controlling the same
EP0414379A2 (en) Method of handling errors in software
AU614277B2 (en) Method and apparatus for digital logic synchronism monitoring
WO2000022520A1 (en) Configuring system units
JPH052654A (ja) マイクロコンピユータの故障検知方法および回路
US7568138B2 (en) Method to prevent firmware defects from disturbing logic clocks to improve system reliability
JP3030658B2 (ja) 電源故障対策を備えたコンピュータシステム及びその動作方法
JPH08235015A (ja) プロセッサ装置並びにプロセッサ故障診断方法
US20080077836A1 (en) Diagnostic Information Capture from Memory Devices with Built-in Self Test
JP4886558B2 (ja) 情報処理装置
GB2342471A (en) Configuring system units
JPH0773063A (ja) テスト停止後テスト中の装置での励起を維持する装置
US5515501A (en) Redundant maintenance architecture
JP2008015704A (ja) マルチプロセッサシステム
US7844875B2 (en) Programmable test clock generation responsive to clock signal characterization
JPH07175765A (ja) 計算機の障害回復方法
US6868510B1 (en) Terminal with corrective maintenance in accordance with selected mode
JP2002049509A (ja) データ処理システム
JPS6229820B2 (ja)
US20050240802A1 (en) Disc array device and diagnostic control method thereof
JP3953467B2 (ja) チップ中の欠陥を検出し報告するためのシステム
JPH11134211A (ja) 二重化コンピュータシステムおよびその運用方法
JP2002108638A (ja) マイクロコンピュータのエラー検出方法及びエラー検出回路及びマイクロコンピュータシステム