JPH06259270A - プロセッサ異常判定回路 - Google Patents

プロセッサ異常判定回路

Info

Publication number
JPH06259270A
JPH06259270A JP5044048A JP4404893A JPH06259270A JP H06259270 A JPH06259270 A JP H06259270A JP 5044048 A JP5044048 A JP 5044048A JP 4404893 A JP4404893 A JP 4404893A JP H06259270 A JPH06259270 A JP H06259270A
Authority
JP
Japan
Prior art keywords
check
circuit
mpu
data
processor
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
JP5044048A
Other languages
English (en)
Inventor
Naoto Miyazaki
直人 宮崎
Shinichiro Yamaguchi
伸一朗 山口
Nobuyasu Kanekawa
信康 金川
Hiroaki Fukumaru
広昭 福丸
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5044048A priority Critical patent/JPH06259270A/ja
Publication of JPH06259270A publication Critical patent/JPH06259270A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 【目的】プロセッサユニットの正常、異常を判定するこ
とは勿論、判定回路自体の故障をも考慮し運転継続でき
る高信頼性コンピュータシステムを提供することを目的
とする。 【構成】同一の演算を実行する3台のプロセッサユニッ
トからの出力をそれぞれ比較するチェック回路を2重化
して設けた構成とし、チェック回路自体で故障が発生し
ても、正確にプロセッサユニットの正常、異常を判定
し、さらに、異常プロセッサユニット以外のプロセッサ
ユニットで演算実行を行う機能を有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は高信頼性コンピュータシ
ステムに関し、プロセッサユニットの正常、異常を判定
することは勿論、該判定を行う回路自体の故障をも考慮
し運転継続できる高信頼性コンピュータシステムに関す
る。
【0002】
【従来の技術】コンピュータシステム内に障害が発生し
ても、データの一貫性を維持し、後続する処理を行うこ
とが可能であることが重要な、コンピュータシステムの
利用分野は、多々ある。
【0003】例えば、交通管制、金融、証券等の分野に
おいては、情報化社会の進展に伴い、上記のようなコン
ピュータシステムが必須のものとなっている。
【0004】このような要求に応えるため、従来より、
障害許容コンピュータ(すなわち、耐故障、耐欠陥コン
ピュータシステム)が、各種提案されている。
【0005】かかる障害許容コンピュータシステムは、
障害が発生しても、データ処理を継続できるように、同
じ機能を有する複数のシステム、あるいは、部品を備え
て構成し、障害が発生した、システム、あるいは、部品
を検出し、これらを切り離し、同一機能を有する代替シ
ステム、あるいは、部品を使用して、データ処理を続行
する点に特徴があり、このために種々のレベルの装置に
おいて、いわゆる冗長構成をとっている。
【0006】従来の障害許容コンピュータシステム技術
に関して、例えば、特願平3−007519号公報にお
いて、同一の演算を実行する3台以上のプロセッサユニ
ットの「正常」、「異常」を判定する方法が述べられて
いる。
【0007】上記従来例においては、存在するプロセッ
サユニットの出力を、互いに比較することによって、プ
ロセッサユニットの異常を検出している。
【0008】
【発明が解決しようとする課題】ところで、上記従来例
では、異常判定を行う手段である異常判定回路内におい
て、該回路自体に故障が発生したとき、判定結果を誤っ
て出力するという問題点があった。
【0009】また、プロセッサが1台しか動作していな
い場合のシステムに対しての考慮が何等されていないの
で、1台しか動作していない場合でも比較チェックを行
なってしまい、誤った判定結果を出力するという問題点
もあった。
【0010】本発明の目的は、異常判定回路内において
故障が発生したときにも、正しい判定結果を出力するこ
とにより、システム全体の信頼性を向上させることにあ
る。
【0011】
【課題を解決するための手段】上記課題を解決し、本発
明の目的を達成するため、以下の手段が考えられる。
【0012】同一の処理を行う第1、第2、第3のプロ
セッサユニットと、各々のプロセッサユニットの出力結
果の比較照合より、プロセッサユニットの正常、異常を
判定する判定回路と、正常と判定された第1、第3のプ
ロセッサユニットの出力をそれぞれ外部に出力し、か
つ、外部からの入力データを取り込むための第1および
第2のインタフェイスユニットと、各プロセッサユニッ
トから出力された情報を記憶する第1および第2のキャ
ッシュメモリと、第1、第2のプロセッサユニットと第
1のインタフェイスユニットと第1のキャッシュメモリ
との間に設けられた第1の内部バスと、第2、第3のプ
ロセッサユニットと第2のインタフェイスユニットと第
2のキャッシュメモリとの間に設けられた第2の内部バ
スと、第1の内部バスと第2の内部バスとの間に設けら
れたデータの開閉手段を有する連絡バスとを具備し、装
置内の故障部位を除いた残りの構成によって運転継続す
る機能を有するコンピュータシステムにおいて、前記判
定回路は、2個のプロセッサユニットからの出力の一
致、不一致を検出する、第1から第6のチェック回路を
備え、それらを3個ずつ2重化構成し、かつ、第1から
第6のチェック回路の出力にもとづき、プロセッサユニ
ットの正常、異常を判定するエラーチェック回路を備え
ることを特徴とするプロセッサ異常判定回路である。
【0013】この場合、前記判定回路は、前記第1から
第6のチェック回路のうち1つが故障しても、プロセッ
サユニットの正常、異常を判定する機能を有するプロセ
ッサ異常判定回路も考えられる。
【0014】また、前記判定回路を構成する前記第1か
ら第6のチェック回路は、予め記憶されている、異常状
態のプロセッサユニットを特定するデータを参照して、
異常が発生したプロセッサユニットを特定する機能を有
する異常判定回路も考えられる。
【0015】また、前記判定回路は、前記第1から第6
のチェック回路において故障が発生した場合、故障が発
生した旨の情報を出力するプロセッサ異常判定回路も好
ましい。この場合、前記故障が発生した旨の情報は、フ
ラグデータで構成されていることが好ましい。
【0016】また、前記判定回路は、プロセッサユニッ
トからの出力データの比較チェックの際、データを構成
するビットのうちの予め定められたビットごとの比較チ
ェックを行なう機能を有するプロセッサ異常判定回路も
考えられる。
【0017】また、同一の演算を行うn個(nは、2以
上の整数)のプロセッサユニットと、各々のプロセッサ
ユニットの出力結果の比較照合より、プロセッサユニッ
トの正常、異常を判定する判定回路を有して構成される
コンピュータシステムにおいて、前記判定回路は、2つ
のプロセッサの出力信号を比較照合するチェック回路を
多重化した構成にし、チェック回路に故障が発生して
も、プロセッサの正常、異常を判定する機能を有するコ
ンピュータシステムも考えられる。
【0018】また上述の、判定回路は、任意の異常状態
を注入できる機能を有することや、1つのプロセッサユ
ニトしか動作していないときには、比較チェックを行な
わない機能を有する構成も好ましい。
【0019】
【作用】上述のように、本発明は、同一の演算を実行す
る3台のプロセッサユニットからの出力を、それぞれ比
較するチェック回路を2重化して設け、異常検出回路自
体にフォールトトレランス機能をもたせたものである。
【0020】また、本発明では1個のプロセッサで動作
するときは、比較チェックを行なわないようにさせた。
【0021】本発明は、プロセッサユニットからの出力
を比較するチェック回路に故障が発生しても誤った判定
をすることがなくなる。また、判定結果を使用して構成
されるシステムの、信頼性の向上を図ることも可能にな
る。
【0022】
【実施例】以下、本発明の実施例について図を参照して
説明する。
【0023】図1に本発明にかかるプロセッサ異常判定
回路の構成図の一例を示す。
【0024】図1において、パリティ生成/検査照合回
路10から15は、3台のマイクロプロセッシングユニ
ット(以下単に、「MPU」という)MPUA、MPU
B、およびMPUCから出力された、アドレス線A上の
アドレスと、データ線D上のデータに、適宣パリティ信
号を付与する。
【0025】判定回路は、チェック回路およびエラーチ
ェック回路を有して構成されている。また、チェック回
路は、2重化されており、23−1、23−2、および
23−3と、これらと同じ機能を有する24−1、24
−2、および24−3とからなり、チェック回路ではM
PUからの出力(パリティ信号が付与されたアドレス、
データ、および、制御信号)の出力の比較、照合が行わ
れる。
【0026】また、エラーチェック回路234、23
5、および236では、6つのチェック回路から出力さ
れる比較結果に応じて、いずれのMPUが故障であるか
を判定する。
【0027】図2は、本発明にかるプロセッサ異常判定
回路を使用したフォールトトレラントシステムの概略全
体構成の一例を示す。
【0028】このシステムは、2組のシステムバス1−
1および1−2を備えており、このバス上には、1つ、
または、複数のベーシックプロセッシングユニット(以
下単に「BPU」と記す)2−1、2−2、…、2−n
が、システムバス1−1および1−2に、それぞれ接続
されている。
【0029】また、システムバス1−1には、主記憶装
置3−1が、1−2には、主記憶装置3−2がそれぞれ
個別に接続され、入出力装置(以下、単に「IOU」と
記す)4−1、4ー2がそれぞれ、システムバス1−
1、1−2のいずれにも接続されている。
【0030】主記憶装置3(3−1、3−2)およびI
OU4(4−1、4−2)は、それぞれ2つを1組とし
て使用され、図2に示す例では、各1組づつ(3−1と
3−2の組、4−1と4−2の組)使用する例を示して
いるが、これはシステムの拡張に応じて適宣組数を増加
して使用することができる。
【0031】図示したn組のBPUは、通常はそれぞれ
別の処理を実行しているが、何れも同じ構成であるの
で、ここでの説明は、特に必要のないかぎり、BPU2
−1を例にとり、その構成および動作について説明す
る。
【0032】BPU2は、複数のMPU20(図の例で
は、20−1、20−2、および20−3の3台)、複
数のMPU出力チェック回路23(図の例では、2重化
された3台、23−1、23−2、および23−3)、
3ステートバッファ回路29等、複数のキャッシュメモ
リ220、221、複数のバスインタフェースユニット
(以下単に「BIU」と記す)27−1、27−2を有
して構成されている。
【0033】ここで、図2の回路の概略の動作を説明し
ておく。
【0034】まず、3台のMPU20(20−1、20
−2、20−3)により演算が実行され、このMPUの
出力が、チェック回路23においてチェックされ、「正
常」と判断された2つのMPUの出力が、それぞれバス
インタフェースユニット27(27−1、27−2)を
介して2組のシステムバス1(1−1、1−2)、ある
いは、2組のキャッシュメモリ220、221にそれぞ
れ出力される。
【0035】MPUの1つに異常が発見された場合、異
常の発生した当該MPUは除外されて、残りの2つの正
常なMPUの出力が、それぞれバスインターフェイスユ
ニット27(27−1、27−2)を介して、2組のシ
ステムバス1(1−1、1−2)に送られる。あるい
は、BIUの一方に異常が発見された後は、所定のタイ
ミングで、他方のBIUに切り替えられて、システム
は、演算を実行する。
【0036】図3に、BPU2のより詳細な構成を示
す。
【0037】なお、BPUは、1枚の基板上に図示した
素子を搭載されるのがよい。
【0038】図3において、3台のMPU20−1、2
0−2、20−3は、クロック(図示せず)により同期
がとられ演算が実行され、その演算結果が、アドレスラ
インAとデータラインDにそれぞれ出力される。
【0039】MPU20−1、20−2、および20−
3のアドレスラインA上のアドレスと、データラインD
上のデータには、パリティ生成/検査照合回路10から
15により所定のパリティ信号が付与されて、MPU出
力チェック回路23(23−1、23−2、23−3)
に与えられる。
【0040】MPU出力チェック回路23(23−1、
23−2、23−3)は、MPUA(20−1)からの
出力(パリティ信号が付与されたアドレス、データ)と
MPUB(20−2)からの出力とを比較する、2重化
されたチェック回路CHKAB(23−1、24−1
(図1に示す))と、MPUA(20−1)からの出力
とMPUC(20−3)からの出力とを比較する、2重
化されたチェック回路CHKAC(23−2、24−2
(図1に示す))と、MPUB(20−2)からの出力
とMPUC(20−3)からの出力とを比較する、2重
化されたチェック回路CHKBC(23−3、24−3
(図1に示す))と、かかる6つのチェック回路からの
比較出力結果に応じて、いずれのMPUが故障であるか
を特定する、エラーチェック回路234、235、およ
び236(図示せず)を有して構成される。 このMP
U出力チェック回路は、いわゆる多数決回路であり、こ
の判定結果に応じて3ステートバッファ回路200、2
01、203、204、29の開閉状態が制御される。
【0041】この判定結果と、3ステートバッファ回路
の状態の関係については後述するが、要するに、「異
常」と判定されたMPUを、以後使用せず、「正常」と
されたMPUの出力を2つのキャッシュメモリ220、
221に与えて2重系として運用するものである。
【0042】なお、以下の説明においては3ステートバ
ッファ回路のイネーブル状態を単に「開状態」と称し、
ディスイネーブル状態を「閉状態」ということにする。
【0043】3ステートバッファ回路200、201、
203、204を介して得られたアドレス、およびデー
タは、2つのキャッシュメモリ220、221にそれぞ
れ与えられ、その際、パリティチェック回路250にお
いて、パリティ生成/検査照合回路10から15により
付与したパリティの、チェックが行なわれる。
【0044】また、MPUの出力は、同期回路290、
291において2つのMPU出力の同期がとられ、BI
Uを介してシステムバスに送出される。
【0045】その際、パリティチェック回路30、31
において、パリティ生成/検査照合回路10から15に
て付与したパリティのチェックが、行なわれる。
【0046】以上の構成は、MPUからのライトアクセ
ス(書き込み動作)を想定して述べたものであるが、こ
のようにMPUからのライトアクセス時には、MPU出
力チェック回路23とパリティチェック回路30、31
において、それぞれ比較照合、パリティのチェックが行
なわれる。
【0047】これに対し、キャッシュリードアクセス
(MPUからキャッシュへの読み込み動作)時は、各キ
ャッシュメモリ220、221、3ステートバッファ回
路202、205、MPUのルートで信号伝送が行なわ
れ、この場合には、パリティ生成/検査照合回路10か
ら15で、キャッシュメモリから出力されたアドレス、
データのパリティチェックが行なわれる。
【0048】なお、26、27も、3ステートバッファ
回路であり、キャッシュリードアクセス時にパリティ生
成/検査照合回路10から15でのアドレス、データの
チェック結果に応じて開閉状態が制御される。
【0049】図3のBPU内部には、異常検出部とし
て、MPU出力回路23と、多くのパリティチェック回
路を採用しているが、その異常検出手法について、以下
に説明する。
【0050】まず、本発明のMPU出力チェックに関す
る部分について説明する。
【0051】図1において、チェック回路CHKABの
出力をAB0、AB1、チェック回路CHKCAの出力
をCA0、CA1、チェック回路CHKBCの出力をB
C0、BC1、エラーチェック回路231の出力をそれ
ぞれAg、Bg、Cg、29gとして、6つのチェック
回路の出力と、3ステートバッファ回路の開閉状態との
関係について説明する。なお、この図においてCは、制
御信号である。
【0052】まず、チェック回路は、それぞれの2組の
入力(アドレス、データ、制御信号)得て、チェック回
路CHKABは、MPUAの出力と、MPUBの出力と
の比較結果AB0、AB1を、チェック回路CHKCA
は、MPUAの出力とMPUCの出力との比較結果CA
0、CA1を、チェック回路CHKBCは、MPUBの
出力とMPUCの出力との比較結果BC0、BC1を出
力する。
【0053】この比較結果は、一致するか、一致しない
かのいずれかの状態を示す信号となる。
【0054】図21は、チェック回路CHKAB、CH
KBC、CHKCAの出力(一致、不一致)の生じる原
因として想定される事象の一部をのべたものであるが、
(本発明は、異常の際に正しく異常を検出することに主
眼があり、異常発生原因を特定することは要旨ではない
ので)ここでの詳細説明を省略する。
【0055】つぎに、図21からもわかるように、MP
U20−1、20−2、20−3およびパリティ生成/
検査照合器10、11、12、13、14、15の単一
故障による異常の場合には、チェック回路(CHKA
B、CHKCA、CHKBC)のうち2つのチェック回
路で「不一致」が発生し、チェック回路自体に異常があ
る場合には、1、あるいは、3つのチェック回路で「不
一致」が発生する。
【0056】従って、チェック回路が多重化されていな
い場合(チェック回路がCHKAB23−1、CHKC
A23−2、CHKBC23−3の3つの場合)は、図
22のようにして、各MPUの「正常」、「異常」を判
定できるが、判定不可能で「不明」となる場合(「異
常」と判定)があり、誤った判定をしてまう。
【0057】また、最悪の場合、各MPUとも同時に判
定不可能で「不明」ということもあり、このような場合
には、システムダウンさせてしまう本発明においては、
上記問題をチェック回路を2重化することによって解決
している。 ここではその手法について説明する。
【0058】図21からもわかるように、MPU20−
1、20−2、20−3およびパリティ生成/検査照合
器10、11、12、13、14、15の単一故障によ
る異常の場合には、チェック回路(CHKAB,CHK
CA、CHKBC)のうち2つのチェック回路で、「不
一致」が発生し、チェック回路自体に異常がある場合に
は、1、あるいは、3つのチェック回路で「不一致」が
発生することから、チェック回路のCHKAB23−
1、CHKCA23−2、CHKBC23−3の組と、
チェック回路のCHKAB24−1、CHKCA24−
2、CHKBC24−3の組で、1、あるいは、3つの
チェック回路で、「一致」を出力しているチェック回路
の出力を用いて、エラーチェックすることにより、チェ
ック回路に異常があっても、誤りなく各MPUの「正
常」、「異常」を判定できる。
【0059】ここでは、ハードウエア構成が複雑になる
のを避けるため、2重化としたが多重化であれば、3重
化でも、4重化でも、同様の効果が得られる。
【0060】図23にチェック回路を2重化したとき
の、各MPUの「正常」、「異常」と、その判定結果を
示す。
【0061】図23をまとめると、エラーチェック回路
は、6つのチェック回路の出力AB0、AB1、CA
0、CA1、BC0、BC1から、次式(1)、
(2)、および(3)に従い、MPUA、MPUB、M
PUCの正常を表す、出力Ag、Bg、Cgを得る。
【0062】もちろん、図1、図3の構成においては、
エラーチェック回路は2重化されている。
【0063】カルノー図表等を使用して、論理式を求め
ると、以下のような式が得られる。
【0064】 Ag=!AB1&BC1|!CA1&BC1|!AB1&!CA1 |!AB0&BC0|!CA0&BC0|!AB0&!CA0 (1) Bg=!BC1&CA1|!AB1&CA1|!AB1&!BC1 |!BC0&CA0|!AB0&CA0|!AB0&!BC0……(2) Cg=!CA1&AB1|!BC1&AB1|!CA1&!BC1 |!CA0&AB0|!BC0&AB0|!CA0&!BC0……(3) 但し、AB0およびAB1は、MPUAとMPUBの出
力が「不一致」であるという事象(23ー1、24ー1
で検出)、また、BC0およびBC1は、MPUBとM
PUCの出力が「不一致」であるという事象(23ー
2、24ー2で検出)、さらに、CA0およびCA1
は、MPUCとMPUAの出力が「不一致」であるとい
う事象(23ー3,24ー3で検出)であり、「&」
は、論値積(AND)、「|」は、論理和(OR)、
「!」は、否定(NOT)を意味する。
【0065】(1)、(2)、および(3)式の演算の
結果に応じて、3ステートバッファ回路200、20
1、204、205、29の開閉状態が制御される。
【0066】図24は、異常のあるMPUの判定結果A
g、Bg、Cgと、その結果として3ステートバッファ
回路の開閉状態をまとめたものである。
【0067】なお、図24中の判定結果の項において、
「1」はMPU正常、「0」は、異常または不明を意味
する。
【0068】図1、図3、図21、図24を参照して説
明したように、本発明においては、MPU出力回路23
で、「異常」と判断したとき、MPUの「異常」、「正
常」を判定する。
【0069】次に、MPU内各部にその他の異常検出手
法として用いた、パリティチェック回路による異常検出
法について説明する。但し、パリティチェック回路自体
は周知であるので回路についての詳細説明を省略し、こ
こではパリティエラー検出したときの、異常箇所特定手
法について説明する。
【0070】図3に示すように、ライトアクセス時に
は、パリティ生成/検出照合回路10から15から所定
のパリティ信号が付与されて、アドレスラインA、デー
タラインDにデータが送出され、この異常を、パリティ
チェック回路250、30、31にて検知する。
【0071】また、リードアクセス時には、パリティ生
成/検出照合回路10から15、パリティチェック回路
250、30、31にて情報の異常を検出する。
【0072】これらのパリティチェックは、基本的にア
ドレスとデータに分けて実施される。
【0073】そして、アドレスについてみると、アドレ
ス情報において、パリティエラーを検出したときの、当
該異常箇所は、このアドレス信号を送出しているバスマ
スタ(バスの使用者)であり、図3の内部バスの使用権
を与えるバスアービタ(図示せず:バスの使用権を与え
るもの)からのバスグラント(バスの使用権)信号を監
視することで、バスマスタとなっている機器(例えばM
PU、キャッシュメモリ、BIU等)を特定することが
できる。
【0074】次に、データについてみると、ライトアク
セス時にデータ情報のパリティエラーを検出したとき
の、当該異常箇所は、このデータ信号のバスマスタであ
る。
【0075】バスマスタの特定は、バスアービタからの
バスグラント信号の監視により行なわれる。
【0076】最後に、リードアクセス時にデータ情報の
パリティエラーを検出したときの、当該異常箇所は、こ
のデータ信号の出力元であり、かかる特定は、このデー
タに付属するアドレスが指しているデバイスのアドレス
をデコードすることで、特定することができる。
【0077】次に、異常発生時の構成変更制御について
説明する。
【0078】BPUの異常には、MPUからのライトア
クセス時に、MPU出力回路で検知されるものと、ライ
トアクセス時、あるいは、キャッシュリードアクセス時
に、パリティチェック回路によって検出されるものとが
ある。
【0079】例えば、前記MPU出力チェック回路23
1の出力Agに応じて、3ステートバッファ回路20
0、201が、Cgに応じて、203、204が、29
gに応じて、29の開閉状態がそれぞれ図24のように
制御される。
【0080】なお、図24において、MPU判定結果の
Ag=1は、「200、201開」、Ag=0は、「2
00、201閉」に対応し、Cg=1は、「203、2
04開」、Cg=0は、「203、204閉」に対応す
るが、Bgと29gには対応関係はない。
【0081】3ステートバッファ29の開閉状態は、A
g=1、かつ、Cg=1のとき「閉」、AgとCgのう
ちいずれかが「1」のときは「0」となった3ステート
バッファ回路に向かう方向のパスのみが開放される。
【0082】以下、図24に示す各ケースについて、図
4の系統構成図を参照してより詳細に説明する。
【0083】「ケース1」(図4(a)参照):全ての
MPUが正常で場合である。
【0084】3ステートバッファ回路200、201、
203、204が「開状態」、29が「閉状態」とさ
れ、図4(a)のように、MPUA(20−1)および
キャッシュメモリ220による系統と、MPUC(20
−3)およびキャッシュメモリ221による系統とが、
独立2重化して運用される。
【0085】「ケース2」(図示せず):MPUBのみ
が正常と判断される場合である。
【0086】図3に示すようにMPUBは、他のMPU
の参照用として使用され、キャッシュメモリに出力を与
えるよう構成されていないので、構成変更しての運転継
続は不可能であり、この場合には、システム全体がダウ
ンする。
【0087】「ケース3」(図4(b)参照):MPU
Aのみが正常と判断される場合である。
【0088】この場合には、3ステートバッファ回路2
00、201が「開状態」、203、204が「閉状
態」、29は、キャッシュメモリ221方向への3ステ
ートバッファ回路のみが「開状態」とされる。MPUB
およびMPUCは、停止され、図4(b)に示すよう
に、MPUAのみによる、単独系統運転となる。
【0089】キャッシュメモリ221方向への3ステー
トバッファ回路29のみが、「開状態」とされるのは、
キャッシュメモリの記憶内容の同一性保持のためであ
る。
【0090】「ケース4」(図4(c)参照):MPU
AとMPUBが正常と判断される場合である。 この場
合には、3ステートバッファ回路200、201が「開
状態」、203、204が「閉状態」、29は、キャッ
シュメモリ221方向への3ステートバッファ回路のみ
が「開状態」とされる。
【0091】この場合には、MPUCを停止し、図4
(c)に示すように、MPUAおよびMPUBで2重系
を構成して、MPUBにより、MPUAの出力を監視す
る2重化運転が行われる。 キャッシュメモリ221方
向への3ステートバッファ回路29のみが、「開状態」
とされるのは、キャッシュメモリの記憶内容の同一性保
持のためである。
【0092】「ケース5」(図4(d)参照):MPU
Cのみが正常と判断される場合である。
【0093】この場合には、3ステートバッファ回路2
00、201が「閉状態」、203、204が「開状
態」、29は、キャッシュメモリ220方向への3ステ
ートバッファ回路のみが「開状態」とされる。
【0094】MPUAおよびMPUBは停止され、図4
(d)に示すように、MPUCのみによる単独系統運転
となる。
【0095】キャッシュメモリ220方向への3ステー
トバッファ回路29のみが、「開状態」とされるのは、
キャッシュメモリの記憶内容の同一性保持のためであ
る。
【0096】「ケース6」(図示せず):MPUBとM
PUCが正常と判断される場合である。
【0097】この場合には、3ステートバッファ回路2
00、201が、「閉状態」、203、204が、「開
状態」、29は、キャッシュメモリ220方向への3ス
テートバッファ回路のみが、「開状態」とされる。この
場合には、ケース4と同様な運用が行われる。
【0098】「ケース7」(図4(e)参照):MPU
AとMPUCが正常と判断される場合である。 この場
合には、参照用MPUが異常なので、図4(e)のよう
に、MPUBのみを、切り離し、3ステートバッファ回
路は何等変更せずに、MPUAとMPUCによる2重化
運転を継続する。
【0099】「ケース8」(図示せず):MPUA、M
PUB、およびMPUCが全て異常がある場合、すなわ
ち、全MPUが異常であることから、以後の運転継続不
可能である。
【0100】以上のようにして、3台のMPUと、その
周辺回路(例えば、パリティ生成/検査照合回路等)に
よってMPUの正常性が確認され、適宣変更制御が実施
されるが、この図24は、あくまでも判定結果の組み合
わせを述べたにすぎず、実際問題として、ケース2から
ケース8の7つの異常事象が同一確率で発生するわけで
はない。
【0101】また、良く知られているように、多重故障
の同時発生率は、単一故障に比べて極めて低い。
【0102】しかも実際には、単一故障が進展して、多
重故障になることが殆どであり、従って、単一故障の時
点で何等かの回復対策を施すことにより、事実上、運転
継続に支障のないシステム構成とすることができる。
【0103】なお、本発明ではチェック回路自体に故障
が発生した後も、正しくMPUの異常判定を行なえるの
で、誤った判定結果による誤った構成変更が行われるこ
となく運転継続可能であり、この意味においては非常に
信頼性の高いシステムを構成できる。
【0104】なお、以上の異常事象発生の際に、図3に
は図示がないが、異常MPUを停止する信号を、チェッ
ク回路23から発生させる処理や、あるいは、外部に信
号を出力して運転員に異常の発生を報知し、以後の対策
の必要性を知らしめることは、当然のこととして行なわ
れる。
【0105】次に、パリティチェックによる異常の検出
時の構成変更について説明する。
【0106】まず、ライトアクセス時、あるいは、キャ
ッシュリードアクセス時に、キャッシュメモリ220、
221、BIU27−1、27−2の異常箇所が特定で
きる。
【0107】次に、各異常の時の、BPU内部の構成変
更制御について説明する。
【0108】なお、図25は、キャッシュリードアクセ
ス時の各部異常の際にキャッシュメモリ220、22
1、BIU27−1、27−2、3ステートバッファ回
路29、26、27をどのように制御するのかを一覧表
にしたものである。
【0109】図5は、各ケースの時における回路構成を
図示したものであり、以下図25および図5を参照して
説明する。
【0110】図5(a)は、正常時の信号の流れを示し
ている。
【0111】この場合、3ステートバッファ回路29、
26は「閉状態」、27は、「開状態」とされており、
従って、BIU27−1にデータが供給される。
【0112】このように、通常は、BIU27−1、キ
ャッシュメモリ220、およびMPU20−1が1つの
処理系統を構成し、また、BIU27−2、キャッシュ
メモリ221、およびMPU20−3が別の1つの処理
系統を構成している。
【0113】以下故障箇所に対応した各種のケースにつ
いて考える。
【0114】「ケース1」(図5(b)参照):キャッ
シュメモリ220が「異常」な場合である。
【0115】図5(b)のように、キャッシュメモリ2
20の出力が停止され、3ステートバッファ回路29
は、MPUA20−1側への信号のみが通過するように
制御され、3ステートバッファ回路26は、「開状
態」、27は、「閉状態」となる。
【0116】これにより、全てのMPUは、キャッシュ
メモリ221から、情報を受けとるように構成され、異
常発見後もシステムの運転が継続される。
【0117】なお、3ステートバッファ回路26を、
「開状態」、27を、「閉状態」とし、3ステートバッ
ファの状態を切り替える理由は、論理的には、キャッシ
ュメモリ220の「異常」と特定されても、キャッシュ
メモリ220が接続された内部バスに「異常」が発生し
ている可能性も否定できず、念のために、キャッシュメ
モリ221を使用するように、構成の変更を行うもので
ある。
【0118】もし、キャッシュメモリ220が接続され
た内部バスに「異常」が存在する時には、3ステートバ
ッファ回路29が、一方向のデータ通信を行う機能を有
しているため、MPUC側には、バスの異常の影響が現
われない。
【0119】「ケース2」(図5(c)参照):キャッ
シュメモリ221が「異常」な場合である。
【0120】図5(c)に示すよう、キャッシュメモリ
221の出力が停止され、3ステートバッファ回路29
は、MPUC20−3側への信号のみが、通過するよう
に制御され、これにより全てのMPUは、キャッシュメ
モリ221から、情報を受けとるように構成され、異常
発見後もシステムの運転が継続される。
【0121】「ケース3、4」(図5(d)、(e)参
照):BIU27(27−1、17−2)、あるいは、
これに接続されたシステムバス1−1側に異常がある場
合である。
【0122】図5(d)、(e)に示すように、BIU
27(27−1、17−2)、あるいは、これに接続さ
れたシステムバス1−1側を停止し、ケース1と同様な
運用を行う。
【0123】以上のようにして、パリティエラーによる
「異常」が検出されたときは、構成変更とともに「異
常」が存在する旨の情報が、外部の装置に報知される。
【0124】以上、詳細にBPUの内部に「異常」が発
生したとしても、その回路構成の一部を切り離し、ある
いは、情報が流れるパスを変更することによって、正常
時と同様な運転の継続が可能である。
【0125】このため、データ処理の途中で異常が発生
した場合には、(1)適切な時点(きりのよい時点)、
または、修理保守時期まで、当該BPUで動作を継続さ
せ、(2)適切な時点(きりのよい時点)、または、修
理保守時期まで、当該BPUで実行していた処理を、他
の正常なBPUに引き継がせればよい。
【0126】この結果、異常発生時における「チェック
ポイントリスタート」に備えてのバックアップ動作が不
要となり、システムの処理性能を向上することが可能と
なる。
【0127】以上説明したように、各部の異常の際に、
内部バスの切り替えを、3ステートバッファ29を使用
し行なうが、3ステートバッファ29の開閉操作は、通
常の経路でのライトアクセスに比べて時間がかかり、し
かも、バス間で迂回するための時間がかかる。
【0128】この改善策としては、図6に示すように異
常発生時のみ、リトライ(再試行)により、バスサイク
ル(例えば、一つの命令が始まってから終了するまでの
時間を示す)を延長するのが、バスサイクルの遅延を発
生させず有効な方法であると考えられる。
【0129】すなわち、図6中のステップS1、S2に
て、「異常」があるか否かを検出し、「異常」時には、
ステップS4において、リトライする信号を出力し、さ
らに、ステップS5において、異常出力の停止(例え
ば、異常MPUの切り離し操作等が考えられる)、正常
出力の迂回処理を行った後、ステップS6において、当
該バスサイクルを終了させる信号を出力して、一連の処
理を終了する。
【0130】なお、「正常」であるときには、ステップ
S3において、当該バスサイクルを終了させる信号を出
力すればよい。
【0131】MPUにバスサイクルを終了させたり、リ
トライさせたりするための信号線は、MPUの種類によ
り名称が異なるが、多くのMPUでは、リトライ信号を
MPUに入力することで、MPUが自動的に実行する。
【0132】図26に、代表的なMPUにおける、信号
名を示す。
【0133】図7、図8は、図6のリトライ方式をライ
トアクセス時に採用したときの信号の流れを示したもの
であり、図7は正常時、図8は異常時における信号の流
れを示す。
【0134】同図において、縦軸は時間の経過を示し、
横軸は、MPUの出力データが、キャッシュメモリに至
るまでの、該データが通過する各部回路を示している。
【0135】通常、MPUからはデータ信号の出力に先
立って、アドレス信号が出力される。
【0136】図7では、アドレス信号、データ信号がと
もに正常であるために、チェック回路23、パリティチ
ェック回路250では「正常」と判断され、MPUに
は、終了信号が送られ、キャッシュメモリ220は、デ
ータを格納し、バスサイクルは終了する。
【0137】図8では、MPUAが「異常」であり、ア
ドレス信号およびデータ信号がともにチェック回路23
により、「異常」と判定され、各MPUには終了信号と
ともに、リトライ信号が送られリトライ動作にはいる。
リトライ動作時には、3ステートバッファ200、20
1を「閉状態」として、MPUAから内部バスへの信号
の伝送を阻止し、3ステートバッファ29を、一方向の
み「開状態」として、MPUCの出力信号をキャッシュ
メモリ220にも供給する。その後、各MPUには終了
信号が送られ、動作が終了する。
【0138】図9、図10、および図11は、図6にて
説明したリトライ方式を、キャッシュリードアクセス時
に採用したときの、信号の流れを示したものであり、図
9は、「正常時」、図10は、「アドレス信号異常
時」、図11は、「データ信号異常時」の場合について
それぞれ示す。
【0139】図9では、アドレス信号、データ信号とも
に「正常」であり、「異常」が認められないために、M
PUには終了信号が送られ、MPUキャッシュメモリ2
20から得られたデータを格納して、バスサイクルは終
了する。
【0140】図10では、MPUAからのアドレス信号
が、他のアドレス信号と一致せずに、「異常」と判定さ
れ、各MPUに終了信号およびリトライ信号が送られ、
リトライ動作にはいる。
【0141】リトライ動作時には、3ステートバッファ
201を「閉状態」として、MPUAから内部バスへの
信号の伝送を阻止し、3ステートバッファ29を、一方
向のみ、「開状態」として、MPUCのアドレス出力信
号を、キャッシュメモリ220に供給し、キャッシュメ
モリ220は、与えられたアドレスに格納されているデ
ータを、MPUAおよびMPUBに供給する。その後、
各MPUに終了信号を送り、リトライ動作は終了する。
【0142】図11では、キャッシュメモリ220から
のデータに「異常」が認められ、パリティ生成/検査照
合回路10、12、パリティチェック回路250による
パリティチェックにより、「異常」と判断され、各MP
Uに終了信号およびリトライ信号が送られ、リトライ動
作が開始される。
【0143】リトライ動作時には、キャッシュメモリ2
20が出力することが阻止され、3ステートバッファ2
9を、一方向のみ「開状態」として、キャッシュメモリ
221の出力を、MPUAおよびMPUBに供給する。
【0144】なお、この場合、3ステートバッファ回路
26を「閉状態」、27を、「開状態」として正常状態
から切り替え、3ステートバッファ回路27を介して、
キャッシュメモリ221の出力を、MPUBに供給する
ことにより、キャッシュメモリ220からMPUBへの
データ信号の「異常」による誤ったデータのMPUBへ
の供給を防ぐことが可能になる。
【0145】次に、本発明にかかる詳細な機能について
説明する。
【0146】図12は、本異常判定回路に、チェック回
路自体の故障を報告するための手段400を設けた構成
となっている。
【0147】本異常判定回路(チェック回路部分を2重
化した構成になっている)では、チェック回路部分で、
一点故障(1ヶ所の故障)が発生しても誤りなく、MP
Uの「正常」、「異常」が判定可能であるが、二点故障
の場合(2ヶ所の故障)、判定不可能な事態が生じる
(なお、「不明」の場合は、「異常」と判定される)。
【0148】このためチェック回路で故障が発生したこ
とを報告するフラグを、外部へ出力し、以後の対策の必
要性を知らしめる機能を有する。
【0149】さて、故障の判定手法について説明する。
【0150】前述したように、チェック回路自体で「異
常」が発生した場合には、1、あるいは、3つのチェッ
ク回路で、不一致が発生することから、チェック回路の
CHKAB23−1、CHKCA23−2、およびCH
KBC23−3の組と、チェック回路のCHKAB24
−1、CHKCA24−2、およびCHKBC24−3
の組において、それぞれ、1、あるいは、3つのチェッ
ク回路で、「不一致」なる旨の出力をした場合であっ
て、さらに、それぞれ対応する、CHKAB23−1と
CHKAB24−1、CHKCA23−2とCHKCA
24−2、CHKBC23−3とCHKBC24−3の
出力結果を比較した場合、2箇所で異なった場合に、チ
ェック回路自体の二点故障(2ヶ所の故障)と判断し報
告する。
【0151】図13は、本異常判定回路に、データの比
較チェックの際、データの型に合った比較チェックを行
なう機能を有した構成とした。
【0152】MPUが、リードアクセス、ライトアクセ
ス等を行なうとき、データの型は固定されているわけで
はない。
【0153】例えば、4バイト(32ビット)であったり、
2バイト(16ビット)であったり、1バイト(8ビット)で
あったりする。
【0154】チェック回路では、例えばデータの長さを
32ビットとすると、32ビット同士の比較チェック処
理を行なっている。このため、データの型が、バイトの
時等には、比較不要なビットまで比較チェックを行なっ
てしまう。
【0155】このとき、不要なビットの値は保証されて
いないので、比較チェックの対象から除くことが必要で
ある。
【0156】代表的MPUである68040を例にとる
と、MPUの出力である、アドレスA01、A00、お
よび、データのサイズを示す信号である、SIZ1、S
IZ0から、そのデータの型を知ることができる。
【0157】MPUの出力である、アドレスA01、A
00、および、データのサイズを示す信号である、SI
Z1、SIZ0は、比較チェックの必要なビットを選択
するチェックデータセレクタ401に入力され、その信
号をもとに、比較チェックの必要なビットを選択(ここ
ではバイト単位(8ビット))する信号を生成し、該信号
にもとづいて有効なデータのビットのみの比較照合を行
なうことが可能になる。
【0158】次に、図14にデータ選択比較チェック回
路の一例を示す。
【0159】比較チェック処理が必要なビットを選択す
る、チェックデータセレクタ401は、MPUの出力で
あるアドレスA01、A00、および、データのサイズ
を示す信号である、SIZ1、SIZ0からデータのう
ち、どのビット(ここでは、バイト単位(8ビット))が
有効であるかを示す信号を生成する。ここで生成される
信号は、データのD31〜D24(DIは、与えられた
データのうち「I」番目のビットを示す、したがって
「D31〜D24」は、31から24ビットのデータを
示す)が有効であること示す、「chksel3」、デ
ータのD23〜D16が有効であること示す、「chk
sel2」、データのD15〜D08が有効であること
示す、「chksel1」、データのD07〜D00が
有効であること示す、「chksel0」である。
【0160】使用するMPUによって異なるが、例えば
68040を例にとると、上記選択信号chksel
3、chksel2、chksel1、およびchks
el0は、次の論理式であたえられる。
【0161】chksel3=SIZ1&SIZ0 |!SIZ1&!SIZ0|!A01&!A00 chksel2=SIZ1&SIZ0 |!SIZ1&!SIZ0|SIZ1&!A01&!A
00 |SIZ0&!A01&A00 chksel1=SIZ1&SIZ0 |!SIZ1&!SIZ0|A01&!A00 chksel0=SIZ1&SIZ0 |!SIZ1&!SIZ0|SIZ1&A01&!A0
0 |SIZ0&A01&A00但し、 「&」は、論値
積(AND)、「|」は、論理和(OR)、「!」は、
否定(NOT)を表す。
【0162】データのD31〜D24が有効であること
示す、chksel3、データのD23〜D16が有効
であること示す、chksel2、データのD15〜D
08が有効であること示す、chksel1、データの
D07〜D00が有効であること示す、chksel0
は、各MPUの出力比較照合回路(図では、MPUAと
MPUBの比較照合回路を示す)に入力される。
【0163】chksel3は、MPUからの出力デー
タD31〜D24の比較照合結果に、chksel2
は、MPUからの出力データD23〜D16の比較照合
結果に、chksel1は、MPUからの出力データD
15〜D08の比較照合結果に、chksel0は、M
PUからの出力データD07〜D00の比較照合結果
に、論理積演算処理される。
【0164】さらに、該論理積処理結果と、MPUから
の出力アドレスの比較照合結果と、MPUからの出力制
御線の比較照合結果とが、論理和演算処理され、MPU
の出力比較照合結果として出力される。
【0165】MPUからの出力データが1バイトである
ときの動作例を述べる。
【0166】MPUの出力である、アドレスA01、A
00、および、データのサイズを示す信号であるSIZ
1、SIZ0にもとづいて、チェックデータセレクタ4
01からは、出力データのD07〜D00が有効である
ことを示すchksel0がオン状態の旨の出力がさ
れ、その他のchksel3、chksel2、chk
selは、オフ状態である旨の信号を出力する。
【0167】したがって、出力データのD31〜D08
までの比較照合結果は、無効とされ、出力データのD0
7〜D00の比較照合結果のみが有効となり、MPUか
らの出力アドレスの比較照合結果、MPUからの出力制
御線の比較照合結果と、論理和演算処理され、MPUの
出力比較照合結果として出力される。
【0168】次に、図15にデータ選択パリティチェッ
ク回路の構成例を示す。
【0169】比較チェックの必要なビットを選択するチ
ェックデータセレクタ401は、MPUの出力であるア
ドレスA01、A00、および、データのサイズを示す
信号であるSIZ1、SIZ0にもとづいて、データの
どのビット(ここでは、データはバイト単位(8ビット)
である)が、有効であるかを示す信号を生成する。
【0170】ここで生成される信号は、データのD31
〜D24が有効であること示す、chksel3、デー
タのD23〜D16が有効であること示す、chkse
l2、データのD15〜D08が有効であること示す、
chksel1、データのD07〜D00が有効である
こと示す、chksel0である。
【0171】データのD31〜D24が有効であること
示す、chksel3、データのD23〜D16が有効
であること示す、chksel2、データのD15〜D
08が有効であること示す、chksel1、データの
D07〜D00が有効であること示す、chksel0
は、各データのパリティチェック回路に入力される。
【0172】さらに、chksel3は、MPUへのデ
ータD31〜D24およびD31〜D24のパリティP
3のパリティ照合結果に、chksel2は、MPUへ
のデータD23〜D16およびD23〜D16のパリテ
ィP2のパリティ照合結果に、chksel1は、MP
UへのデータD15〜D08およびD15〜D08のパ
リティP1のパリティ照合照合結果に、chksel0
は、MPUへのデータD07〜D00およびD07〜D
00のパリティP0のパリティ照合照合結果に、論理積
演算処理され、パリティ照合結果として出力される。
【0173】MPUへ出力されるデータが、2バイトで
あるときの動作例を述べる。
【0174】MPUの出力である、アドレスA01、A
00、および、データのサイズを示す信号であるSIZ
1、SIZ0にもとづいて、チェックデータセレクタ4
01からは、出力データのD15〜D00が有効である
ことを示す、chksel1、chkse0が、オン状
態となり、その他のchksel3、chksel2
は、オフ状態となっている旨の信号を出力する。
【0175】MPUへのデータのD31〜D16までの
パリティ照合結果は無効とされ、MPUへのデータのD
15〜D00のパリティ照合結果のみが有効となり、M
PUへのデータのパリティ照合結果として出力される。
【0176】図16は、本異常判定回路に、入力にかか
わらず任意に「異常状態をつくる信号」を注入できる機
能を設けた構成とした。
【0177】かかる機能は、図2にようなシステム構成
を考えたとき、異常発生の際、実際に正しく所望の動作
を行うか否かの試験を行なうときに必要となる。
【0178】つまり、任意に「異常状態をつくる信号」
を注入することにより、前述した構成内容の変更の制御
等が、正確に行なわれるか否かを試験することが可能と
なる。
【0179】ここで、エラー注入選択回路402は、M
PUからの命令により、任意のMPUの系に任意のエラ
ーを注入する役目を果たす。
【0180】エラー注入選択回路402において、mpus
el1,mpusel0は、どのMPUの系にエラーを注入するかを選
択するための信号であり、errsel1,errsel0は、どのよ
うなエラー(比較チェックエラー、パリティエラー、パ
リティ反転等が考えられる)を注入するかを選択するた
めの信号である。
【0181】例えば、どのMPUの系にもエラーを注入
しないときには、mpusel1,mpusel0を「0」、「0」と
し、MPUAの系にエラーを注入するときには、mpusel
1,mpusel0を「0」、「1」とし、MPUBの系にエラ
ーを注入するときには、mpusel1,mpusel0を「1」、
「0」とし、MPUCの系にエラーを注入するときに
は、mpusel1,mpusel0を「1」、「1」とし、どのよう
なエラーも注入しないときには、errsel1,errsel0を
「0」、「0」とし、比較チェックエラーを注入すると
きには、errsel1,errsel0を「0」、「1」とし、パリ
ティエラーを注入するときには、errsel1,errsel0を
「1」、「0」とし、パリティ反転を注入するときに
は、errsel1,errsel0を「1」、「1」とすることによ
り、任意のエラー注入信号を生成すればよい。
【0182】図17に、パリティエラー注入の実施例を
示す。
【0183】エラー注入選択回路402は、MPUから
の命令により、mpusel1,mpusel0,errsel1,errsel0にパ
リティエラー注入が指示されたときには、エラー注入信
号である、PTYERRA,PTYERRB,PTYERRCのいずれかをオン
状態にする。
【0184】ここで、PTYERRAは、MPUAの系へのパ
リティエラーの注入を、PTYERRBは、MPUBの系への
パリティエラーの注入を、PTYERRCは、MPUCの系へ
のパリティエラーの注入を意味する信号である。
【0185】これらのエラー注入信号を、MPUAの系
のパリティチェックの結果、MPUBの系のパリティチ
ェックの結果、MPUCの系のパリティチェックの結果
と、それぞれ論理和演算処理をすることによりパリティ
チェックの結果にかかわらず、任意にパリティエラーが
あったことを示す信号PEA、PEB、PECのいずれ
をオン状態にすることができる。
【0186】さて、動作例を述べる。
【0187】例えば、MPUAの系にパリティエラーを
注入するときには、MPUからの命令によりエラー注入
選択回路402のmpusel1,mpusel0に「0」、「1」、e
rrsel1,errsel0に「1」、「0」が入力され、MPUA
の系へのパリティエラーの注入信号であるPTYERRAがオ
ン状態になる。
【0188】そして、MPUAの系のパリティチェック
の結果と、論理和演算処理を行っているため、パリティ
チェックの結果にかかわらず、パリティエラーがあった
ことを示す信号PEAがオン状態になる。
【0189】このように、任意かつ容易に、パリティエ
ラーを注入できるので、例えば図2に示すようなシステ
ムを構成したとき、パリティエラー発生の際、前述した
構成内容の変更の制御等が正確に行われているか否か
を、容易に試験することが可能になる。
【0190】図18に、パリティ反転の実施例を示す。
【0191】エラー注入選択回路402は、MPUから
の命令により、mpusel1,mpusel0,errsel1,errsel0にパ
リティ反転が指示されたときには、パリティ反転信号で
ある、パリティ反転A,パリティ反転B,パリティ反転C
のいずれかの信号をオン状態にする。
【0192】ここで、パリティ反転Aは、MPUAの系
のパリティの反転を、パリティ反転Bは、MPUBの系
のパリティの反転を、パリティ反転Cは、MPUCの系
のパリティの反転を意味する信号である。
【0193】これらのパリティ反転信号を、MPUAの
系のパリティ、MPUBの系のパリティ、MPUCの系
のパリティと、それぞれ排他的論理和演算処理(exc
lusive or))を行うことにより生成されたパ
リティを、任意に反転させるため、MPUAの系、MP
UBの系、MPUCの系のパリティ信号であるパリティ
A、パリティB、パリティCのいずれかを反転させるこ
とができる。
【0194】動作例を述べる。
【0195】例えば、MPUCの系のパリティを反転す
るときには、MPUからの命令により、エラー注入選択
回路402のmpusel1,mpusel0に「1」、「1」、errse
l1,errsel0に「1」、「1」が入力され、MPUCの系
のパリティ反転信号であるパリティ反転Cがオン状態に
なる。
【0196】そして、MPUCの系で生成されたパリテ
ィとの排他的論理和演算処理を行っているため、生成さ
れたパリティにかかわらず、反転されたパリティCが出
力される。
【0197】このように、容易に、パリティを反転でき
るので、反転されたパリティによりパリティチェックを
行なったところでパリティエラーが発生するため、例え
ば図2にようなシステムを構成したとき、パリティエラ
ーを正確に検出する試験や、パリティエラー発生の際、
前述した構成内容の変更の制御等が、正確に行なわれて
いるか否かの試験をすることが、容易になる。
【0198】図19に、比較チェックエラー注入の実施
例を示す。
【0199】エラー注入選択回路402は、MPUから
の命令により、mpusel1,mpusel0,errsel1,errsel0に比
較チェックエラー注入が指示されたときには、比較チェ
ックエラー注入信号であるchkerrA,chkerrB,chkerrCの
いずれかをオン状態にする。
【0200】ここで、chkerrAは、MPUAの系の比較
チェックエラーの注入を、chkerrBは、MPUBの系の
比較チェックエラーを、chkerrCは、MPUCの系の比
較チェックエラーの注入を意味する信号である。
【0201】これらのエラー注入信号を、MPUAの系
との比較チェック(CHAB、CHKCA)の結果、M
PUBの系との比較チェック(CHAB、CHKBC)
の結果、MPUCの系との比較チェック(CHBC、C
HKCA)の結果と、それぞれ論理和演算処理を行うこ
とにより、比較チェックの結果にかかわらず、任意に比
較チェックエラーがあったことを示す信号(図示せ
ず)、AB0、AB1(MPUAとMPUBでの比較チ
ェックエラー信号)、BC0、BC1(MPUBとMP
UCでの比較チェックエラー信号)、CA0、CA1
(MPUCとMPUAでの比較チェックエラー信号)の
いずれか2組をオン状態にすることができる。したがっ
て、この信号をもとに、エラーチェック回路234、2
35、236では、任意のMPUが異常状態である旨の
報告をする。
【0202】動作例を述べる。
【0203】例えば、MPUBの系に比較チェックの結
果エラーを注入するときには、MPUからの命令により
エラー注入選択回路402のmpusel1,mpusel0に
「1」、「0」、errsel1,errsel0に「0」、「1」が
入力され、MPUBの系への比較チェックの結果、エラ
ーの注入信号であるchkerrBをオン状態にする。
【0204】そして、MPUBの系の出力の比較照合を
行なっているCHKAB23ー1、24ー1、CHKB
C23ー3、24ー4の結果と、論理和演算処理を行っ
ているため、CHKAB23ー1、24ー1、CHKB
C23ー3、24ー4の結果にかかわらず、比較チェッ
クの際にエラーがあったことを示す信号(図示せず)、
AB0、AB1(MPUAとMPUBでの比較チェック
エラー信号)、BC0、BC1(MPUBとMPUCで
の比較チェックエラー信号)をオン状態にする。
【0205】したがって、エラーチェック234、23
5、236では、図23に示すような規則にもとづい
て、MPUBの異常として報告する。
【0206】このように、容易に、比較チェックエラー
を注入できるので、図2に示すようなシステムを構成し
たとき、比較チェックエラー発生の際、前述した構成内
容の変更の制御等が正確に行われた否かを試験をするこ
とが容易になる。
【0207】図20に、比較チェック停止回路を示す。
【0208】本異常判定回路においては、比較チェック
によって、MPUの正常、異常を判定しているため、動
作しているMPUが3台以上の場合には、MPUの正常、
異常を判定でき、2台の場合は、比較チェックを行な
い、不一致が発生したことを報告するが、MPUの正
常、異常の判定はできない。
【0209】また、当然のことながら、動作しているM
PUが1台のときには、MPUの正常、異常の判定は、
勿論のこと、比較チェックも行なえない。
【0210】従って、何らかの理由(試験等)により、
システム動作開始時に、最初からMPUが1台のみで動
作するときは、MPUからの命令により、システム動作
開始時に最初からMPUが1台のみで動作していること
を示す信号、one_mpuをオン状態にしたときや、異常判
定結果により、2台が異常と判定され、該2台が停止さ
せられ、動作するMPUが1台のときには、比較チェッ
クを行なわないようにしたものである。
【0211】すなわち、比較チェック結果と、動作して
いるMPUが1台であることを示す信号の論理和処理を
行うことにより、動作するMPUが1台のときには、比
較チェック結果を無効にすることができる。
【0212】これにより、本異常判定回路が、誤りによ
って、動作可能なMPUが1台のときに、異常と判定
し、MPUを停止させることがなくなることになる。
【0213】
【発明の効果】本発明によれば、第一に、プロセッサ異
常判定回路の比較チェック回路において異常が発生して
も、誤った判定結果を出力しないため高信頼性システム
を構成できる。また、データの型に合わせた比較チェッ
クを行なうので、無効ビットデータの比較チェックによ
る、誤った判定結果を出力することがない。
【0214】さらに、動作しているプロセッサが1台の
時には、比較チェックを行なわないので、誤った判定結
果を出力することがない効果がある。
【図面の簡単な説明】
【図1】本発明にかかるプロセッサ異常判定回路の構成
図の一例である。
【図2】本発明にかかるシステム構成の一例を示す図で
ある。
【図3】本発明にかかるBPUの構成の一例を示す図で
ある。
【図4】ライトアクセスでの異常時のBPUの構成を示
す図である。
【図5】リードアクセスでの異常時のBPUの構成を示
す図である。
【図6】バスサイクル制御のフロー図である。
【図7】MPU正常時のBPU内の信号の流れを示す図
である。
【図8】MPU異常時のBPU内の信号の流れを示す図
である。
【図9】MPU正常時のBPU内の信号の流れを示す図
である。
【図10】アドレス信号常時のBPU内の信号の流れを
示す図である。
【図11】データ信号正常時のBPU内の信号の流れを
示す図である。
【図12】異常判定回路自体の故障判定のための装置構
成例を示す図である。
【図13】データ信号のチェックの際のデータ選択のた
めの装置構成例を示す図である。
【図14】データ信号比較チェックのためのデータの選
択を行う装置構成例である。
【図15】パリティチェックのデータの選択を示す装置
の構成例の図である。
【図16】異常判定回路におけるエラー注入回路の一構
成例を示す図である。
【図17】パリティエラー注入回路の構成例を示す図で
ある。
【図18】パリティ反転回路の構成例を示す図である。
【図19】比較チェックエラー注入回路の構成例を示す
図である。
【図20】比較チェック停止回路の構成例を示す図であ
る。
【図21】異常状態と照合結果の関係を示した図であ
る。
【図22】照合結果と判定結果の関係を示した図であ
る。
【図23】異常状態、チェック結果、および判定結果の
関係を示した図である。
【図24】判定結果と3ステートバッファの状態の関係
を示した図である。
【図25】異常箇所と3ステートバッファの状態の関係
を示した図である。
【図26】代表的MPUと命令を示す図である。
【符号の説明】
1−1…システムバス、1−2…システムバス、2−1
…BPU、2−2…BPU、2−3…BPU、10…パ
リティ生成/検査照合回路、11…パリティ生成/検査
照合回路、12…パリティ生成/検査照合回路、13…
パリティ生成/検査照合回路、14…パリティ生成/検
査照合回路、15…パリティ生成/検査照合回路、23
−1…チェック回路、20−1…MPUA、20−2…
MPUB、20−3…MPUC、23−2…チェック回
路、23−3…チェック回路、24−1…チェック回
路、24−2…チェック回路、24−3…チェック回
路、26…3ステートバッファ、27…3ステートバッ
ファ、27−1…BIU、27−2…BIU、29…3
ステートバッファ、30…パリティチェック回路、31
…パリティチェック回路、220…キャッシュメモリ、
221…キャッシュメモリ、234…エラーチェック回
路、235…エラーチェック回路、236…エラーチェ
ック回路、400…故障判定回路、401…チェックデ
ータ選択回路、402…エラー注入選択回路、403…
異常MPU数判定回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 福丸 広昭 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】同一の処理を行う第1、第2、第3のプロ
    セッサユニットと、各々のプロセッサユニットの出力結
    果の比較照合より、プロセッサユニットの正常、異常を
    判定する判定回路と、正常と判定された第1、第3のプ
    ロセッサユニットの出力をそれぞれ外部に出力し、か
    つ、外部からの入力データを取り込むための第1および
    第2のインタフェイスユニットと、各プロセッサユニッ
    トから出力された情報を記憶する第1および第2のキャ
    ッシュメモリと、第1、第2のプロセッサユニットと第
    1のインタフェイスユニットと第1のキャッシュメモリ
    との間に設けられた第1の内部バスと、第2、第3のプ
    ロセッサユニットと第2のインタフェイスユニットと第
    2のキャッシュメモリとの間に設けられた第2の内部バ
    スと、第1の内部バスと第2の内部バスとの間に設けら
    れたデータの開閉手段を有する連絡バスとを具備し、装
    置内の故障部位を除いた残りの構成によって運転継続す
    る機能を有するコンピュータシステムにおいて、 前記判定回路は、2個のプロセッサユニットからの出力
    の一致、不一致を検出する、第1から第6のチェック回
    路を備え、それらを3個ずつ2重化構成し、かつ、第1
    から第6のチェック回路の出力にもとづき、プロセッサ
    ユニットの正常、異常を判定するエラーチェック回路を
    備えることを特徴とするプロセッサ異常判定回路。
  2. 【請求項2】請求項1において、前記判定回路を構成す
    る前記第1から第6のチェック回路は、予め記憶されて
    いる、異常状態のプロセッサユニットを特定するデータ
    を参照して、異常が発生したプロセッサユニットを特定
    する機能を有することを特徴とするプロセッサ異常判定
    回路。
  3. 【請求項3】請求項1において、前記判定回路は、前記
    第1から第6のチェック回路において故障が発生した場
    合、故障が発生した旨の情報を出力することを特徴とす
    るプロセッサ異常判定回路。
  4. 【請求項4】請求項3において、前記故障が発生した旨
    の情報は、フラグデータで構成されていることを特徴と
    するプロセッサ異常判定回路。
  5. 【請求項5】請求項1において、前記判定回路は、プロ
    セッサユニットからの出力データの比較チェックの際、
    データを構成するビットのうちの予め定められたビット
    ごとの比較チェックを行なう機能を有することを特徴と
    するプロセッサ異常判定回路。
  6. 【請求項6】同一の演算を行うn個(nは、2以上の整
    数)のプロセッサユニットと、各々のプロセッサユニッ
    トの出力結果の比較照合より、プロセッサユニットの正
    常、異常を判定する判定回路を有して構成されるコンピ
    ュータシステムにおいて、 前記判定回路は、2つのプロセッサの出力信号を比較照
    合するチェック回路を多重化した構成にし、チェック回
    路に故障が発生しても、プロセッサの正常、異常を判定
    する機能を有することを特徴とするコンピュータシステ
    ム。
JP5044048A 1993-03-04 1993-03-04 プロセッサ異常判定回路 Pending JPH06259270A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5044048A JPH06259270A (ja) 1993-03-04 1993-03-04 プロセッサ異常判定回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5044048A JPH06259270A (ja) 1993-03-04 1993-03-04 プロセッサ異常判定回路

Publications (1)

Publication Number Publication Date
JPH06259270A true JPH06259270A (ja) 1994-09-16

Family

ID=12680734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5044048A Pending JPH06259270A (ja) 1993-03-04 1993-03-04 プロセッサ異常判定回路

Country Status (1)

Country Link
JP (1) JPH06259270A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016170521A (ja) * 2015-03-11 2016-09-23 富士通株式会社 正常なプロセッサの抽出方法及びプログラム、情報処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016170521A (ja) * 2015-03-11 2016-09-23 富士通株式会社 正常なプロセッサの抽出方法及びプログラム、情報処理装置

Similar Documents

Publication Publication Date Title
US5423024A (en) Fault tolerant processing section with dynamically reconfigurable voting
US5005174A (en) Dual zone, fault tolerant computer system with error checking in I/O writes
EP0916119B1 (en) Triple modular redundant computer system
JP2608904B2 (ja) 多重冗長誤検出システムおよびその使用方法
US7085959B2 (en) Method and apparatus for recovery from loss of lock step
US4907228A (en) Dual-rail processor with error checking at single rail interfaces
CA1311849C (en) Fault tolerant computer system with fault isolation and repair
US5901281A (en) Processing unit for a computer and a computer system incorporating such a processing unit
JP3206006B2 (ja) 二重化バス制御方法及び装置
US5249187A (en) Dual rail processors with error checking on I/O reads
CN100375050C (zh) 高可靠性处理器的片上机制
US5020024A (en) Method and apparatus for detecting selected absence of digital logic synchronism
JPH01258057A (ja) 複数のプロセッサを同期する装置
JPH08255115A (ja) 障害検出およびフォルトトレラントディジタルデータ処理方法および装置
JP3595033B2 (ja) 高信頼化コンピュータシステム
US5905875A (en) Multiprocessor system connected by a duplicated system bus having a bus status notification line
JP3063334B2 (ja) 高信頼度化情報処理装置
JPH06259270A (ja) プロセッサ異常判定回路
JP3132744B2 (ja) 二重化cpu保守交換時の動作一致検証方式
JPH0916535A (ja) マルチプロセッサ計算機
JP3436974B2 (ja) 二重化メモリシステム
JP3652232B2 (ja) マイクロコンピュータのエラー検出方法及びエラー検出回路及びマイクロコンピュータシステム
JP3255934B2 (ja) ベーシックプロセッシングユニット及び高信頼化コンピュータシステム
JPS589976B2 (ja) 演算制御装置
KR19990057809A (ko) 오류 방지 시스템