(57)【要約】【課題】２台の装置の一方が故障した場合に，制御を中断することなく，故障した装置を正常な状態に戻して，処理を再開する。【解決手段】二重化した２つのＬＳＩと，ＬＳＩからの出力を選択する出力選択回路と，を有し，前記ＬＳＩは，２つのＣＰＵと，２つの前記ＣＰＵの一方を出力する回路と，２つの前記ＣＰＵの出力結果を比較する比較回路と，前記ＣＰＵ内のフリップフロップを相互に複写するＦＦ複写回路と，を備え，前記出力選択回路は，２つの前記ＬＳＩからの前記ＣＰＵの出力，及び，比較結果を入力し，一方の前記ＬＳＩからの比較結果が不一致である場合には，当該ＬＳＩ内のどのＣＰＵが異常であるかを判定し，比較結果が不一致となった前記ＬＳＩ内の前記ＦＦ複写回路は，異常と判定された前記ＣＰＵのフリップフロップに正常と判定された前記ＣＰＵのフリップフロップからデータを複写する。【選択図】図１
2017045344.tif 000002
【特許請求の範囲】
【請求項１】
二重化動作する２つのＬＳＩと，
２つの前記ＬＳＩからの出力のうち，いずれかの出力を選択して外部へ出力する出力選択回路と，を有し，
２つの前記ＬＳＩそれぞれは，
同一の動作を実行する２つのＣＰＵと，
２つの前記ＣＰＵの出力のうち一方のＣＰＵの出力を前記出力選択回路へ出力する回路と，
２つの前記ＣＰＵの出力結果を比較して，一致するか不一致かを示す比較結果を前記出力選択回路へ出力する比較回路と，
複数の前記ＣＰＵ内のフリップフロップを相互に複写するＦＦ複写回路と，を備え，
前記出力選択回路は，
２つの前記ＬＳＩからの前記ＣＰＵの出力，及び，前記比較回路の比較結果を入力し，いずれの前記ＬＳＩからの前記ＣＰＵ出力を外部へ出力するかを制御する制御回路を備え，
前記制御回路は，いずれか一方の前記ＬＳＩからの比較結果が不一致である場合には，当該ＬＳＩ内のどのＣＰＵが異常であるかを判定し，当該ＬＳＩに異常ＣＰＵ判定結果を出力し，
比較結果が不一致となった前記ＬＳＩ内の前記ＦＦ複写回路は，前記異常ＣＰＵ判定結果に基づいて，異常と判定された前記ＣＰＵのフリップフロップに正常と判定された前記ＣＰＵのフリップフロップからデータを複写する
ことを特徴とするフォールトトレラントシステム。
【請求項２】
請求項１において，
２つの前記ＬＳＩそれぞれは，異常となった前記ＣＰＵの判定結果を記録するレジスタを備えることを特長とするフォールトトレラントシステム。
【請求項３】
請求項１において，
前記出力選択回路は，２つの前記ＬＳＩからの出力を比較した結果が不一致であり，かつ，いずれか一方の前記ＬＳＩからの比較結果が不一致である場合には，当該ＬＳＩの前記ＣＰＵのうち前記一方のＣＰＵが異常であると判定し，
２つの前記ＬＳＩからの出力を比較した結果が一致し，かつ，いずれか一方の前記ＬＳＩからの比較結果が不一致である場合には，当該ＬＳＩの前記ＣＰＵのうち他方のＣＰＵが異常であると判定することを特徴とするフォールトトレラントシステム。
【請求項４】
請求項１において，
前記ＬＳＩから前記出力選択回路へ出力される信号には，前記ＬＳＩ内の２つの前記ＣＰＵの出力のうち，いずれのＣＰＵからの出力が選択されたかを示す信号が含まれることを特徴とするフォールトトレラントシステム。
【請求項５】
二重化動作する２つのＬＳＩと，
２つの前記ＬＳＩからの出力のうち，いずれかの出力を選択して外部へ出力する出力選択回路と，を有し，
２つの前記ＬＳＩそれぞれは，
同一の動作を実行する３以上のＣＰＵと，
３以上の前記ＣＰＵの出力を多数決した結果を前記出力選択回路へ出力する多数決回路と，
前記ＣＰＵの出力を比較して一致する前記ＣＰＵの数を示す比較結果を前記出力選択回路へ出力する比較回路と，
各ＣＰＵ内のフリップフロップを少なくとも１つの他ＣＰＵから複写するＦＦ回路と，を備え，
前記出力選択回路は，
２つの前記ＬＳＩからの前記ＣＰＵの出力，及び，前記比較回路の比較結果を入力し，
比較結果のうち一致する前記ＣＰＵの数が多い方の前記ＬＳＩの出力をシステムの出力として選択する制御回路を備え，
前記ＬＳＩ内の前記ＦＦ回路は，３以上の前記ＣＰＵのうち，他の複数のＣＰＵと出力が異なるＣＰＵのフリップフロップに，比較結果が一致するＣＰＵの数が最も多いＣＰＵのフリップフロップからデータを複写することを特長とするフォールトトレラントシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，フォールトトレラントシステムに関する。
【背景技術】
【０００２】
家電製品，ＡＶ機器，携帯電話，自動車，産業機械等の機器にはＬＳＩ（Ｌａｒｇｅ Ｓｃａｌｅ Ｉｎｔｅｇｒａｔｉｏｎ）が数多く使用されているが，機器の高性能化・高機能化・小型化・低消費電力化・低コスト化に欠かせない重要な部品である。
【０００３】
フォールトトレラントシステムは，構成部品の一部が故障しても正常に処理を続けることのできるシステムである。ＬＳＩの故障には，トランジスタの不良や配線の断線などの物理的な故障（ハードエラー）と，メモリセルやフリップフロップの値が反転する一時的な故障（ソフトエラー）がある。フォールトトレラントシステムでは，ＬＳＩを多重化する方法がしばし使われる。その一つに，ＬＳＩを二重化して出力を比較する装置を２台使って，比較結果が一致する方の出力を選ぶ，ペア＆スペアという方法がある。
【０００４】
ペア＆スペアの従来技術として，特許文献１には，２つのＣＰＵを二重化動作させる装置を２台使用し，制御側として使用する装置でＣＰＵの出力が不一致になると，その出力を停止させ，これまで待機側としていた装置に制御を委ねる方法が示されている。また，特許文献２には，２つのＣＰＵを二重化動作させる装置を２台使用し，ＣＰＵの出力が一致する装置がバスに出力を行い，ＣＰＵの出力が不一致となる装置が相手装置のバスに出力した値を読み込んで，故障したＣＰＵを判定する方法が示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２３７８５８号公報
【特許文献２】特開平０４−１４１７４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記従来技術は，２台の装置の一方が故障すると，正常な１台の装置で動作を続けることになる。残った１台の故障に備えるためには，再び２台で動作を行わせる必要がある。その方法として，正常な装置が処理のチェックポイントを作成し，故障した装置にチェックポイントを読み込ませ，２台の装置が同期して処理を再開することが考えられる。しかしながら，正常な装置がチェックポイントを作成し，２台の装置が同期して処理を再開するまでは，制御を中断することになるため，リアルタイム性が求められるシステムでは利用が難しい。
【０００７】
本発明が解決しようとする課題は，２台の装置の一方が故障すると，正常な１台の装置で動作を続けながら，制御を中断することなく，故障した装置を正常な状態に戻して，２台の装置が処理を再開できるようにすることである。
【課題を解決するための手段】
【０００８】
上記課題を解決するため，本発明のフォールトトレラントシステムは、二重化動作する２つのＬＳＩと，２つの前記ＬＳＩからの出力のうち，いずれかの出力を選択して外部へ出力する出力選択回路と，を有し，２つの前記ＬＳＩそれぞれは，同一の動作を実行する２つのＣＰＵと，２つの前記ＣＰＵの出力のうち一方のＣＰＵの出力を前記出力選択回路へ出力する回路と，２つの前記ＣＰＵの出力結果を比較して，一致するか不一致かを示す比較結果を前記出力選択回路へ出力する比較回路と，複数の前記ＣＰＵ内のフリップフロップを相互に複写するＦＦ複写回路と，を備え，前記出力選択回路は，２つの前記ＬＳＩからの前記ＣＰＵの出力，及び，前記比較回路の比較結果を入力し，いずれの前記ＬＳＩからの前記ＣＰＵ出力を外部へ出力するかを制御する制御回路を備え，前記制御回路は，いずれか一方の前記ＬＳＩからの比較結果が不一致である場合には，当該ＬＳＩ内のどのＣＰＵが異常であるかを判定し，当該ＬＳＩに異常ＣＰＵ判定結果を出力し，比較結果が不一致となった前記ＬＳＩ内の前記ＦＦ複写回路は，前記異常ＣＰＵ判定結果に基づいて，異常と判定された前記ＣＰＵのフリップフロップに正常と判定された前記ＣＰＵのフリップフロップからデータを複写することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、２台の装置の一方が故障した場合に，正常な１台の装置で動作を続けながら，制御を中断することなく，故障した装置を正常な状態に戻して，２台の装置が処理を再開できる。
【図面の簡単な説明】
【００１０】
【図１】本発明を適用した第１の実施例で，チップ内部に二重化したＣＰＵを持つ２つのＬＳＩと，その出力選択回路からなるフォールトトレラントシステムのブロック図である。
【図２】実施例１における出力選択回路の動作を示す表である。
【図３】本発明を適用した第２の実施例で，チップ内部に二重化したＣＰＵを持つ２つのＬＳＩと，その出力選択回路からなるフォールトトレラントシステムのブロック図である。
【図４】実施例２における出力選択回路の動作を示す表である。
【図５】本発明を適用した第３の実施例で，チップ内部に三重化したＣＰＵを持つ２つのＬＳＩと，その出力選択回路からなるフォールトトレラントシステムのブロック図である。
【発明を実施するための形態】
【００１１】
＜実施例１＞
図１は本発明を適用した第１の実施例で，チップ内部に二重化したＣＰＵを持つ２つのＬＳＩと，その出力選択回路からなるフォールトトレラントシステムのブロック図である。１と２は，チップ内部に二重化したＣＰＵを持つＬＳＩ，３はその出力選択回路である。１と２の内部構成は同一である。
【００１２】
ＬＳＩ（１）において，ＣＰＵＡ（１０）とＣＰＵＢ（１２）は同一機能を持っており，それぞれ内部に複数のフリップフロップＦＦ（１１，１３）を持っている。ＦＦ（１１）はＣＰＵＡ（１０）の内部状態やデータを記憶し，ＦＦ（１３）はＣＰＵＢ（１２）の内部状態やデータを記憶する。ＣＰＵＡ（１０）とＣＰＵＢ（１２）に故障が無く，いずれも正常な場合には，ＦＦ（１１，１３）の値は一致する。ＣＰＵＡ（１０）またはＣＰＵＢ（１２）のいずれかに故障があると，誤動作によってＦＦ（１１，１３）の値は一致しなくなる。
【００１３】
ＣＰＵＡ（１０）の出力（１００）はＬＳＩ（１）から外部に出力される。比較回路（１４）はＣＰＵＡ（１０）の出力（１００）とＣＰＵＢ（１２）の出力（１２０）を比較し，比較結果（１４０）をＬＳＩ（１）から外部に出力する。比較結果（１４０）は一致するか不一致かを示す。
【００１４】
ＬＳＩ（２）において，ＣＰＵＡ（２０），ＣＰＵＢ（２２），ＦＦ（２１，２３），比較回路（２４）の機能はＬＳＩ（１）と同じである。
【００１５】
３０１はＣＰＵの入力であり，ＬＳＩ（１）のＣＰＵＡ（１０）とＣＰＵＢ（１２）および，ＬＳＩ（２）のＣＰＵＡ（２０）とＣＰＵＢ（２２）に読み込まれる。
【００１６】
出力選択回路（３）において，選択回路（３０）はＬＳＩ（１）の出力（１００）とＬＳＩ（２）の出力（２００）のいずれか一方を出力（３００）に選択する。制御回路（３１）は，ＬＳＩ（１）の出力（１００）と比較結果（１４０），ＬＳＩ（２）の出力（２００）と比較結果（２４０）を入力し，同期と異常ＣＰＵ判定を行う。同期（３２）は，図に示していないＬＳＩ（１）の出力（１００）とＬＳＩ（２）の出力（２００）を取り込んだことを示す信号を，それぞれのＬＳＩ（１，２）に返すことによって，タイミングを合わせる。異常ＣＰＵ判定（３３）は，ＬＳＩ（１）にＣＰＵＡ（１０）とＣＰＵＢ（１２）が正常か異常であるかを判定した結果（３１１）を出力し，ＬＳＩ（２）にＣＰＵＡ（２０）とＣＰＵＢ（２２）が正常か異常であるかを判定した結果（３１２）を出力する。制御回路（３１）はまた，出力（３００）に選択するＬＳＩの出力（１００，２００）を指示する信号（３１０）を出力する。
【００１７】
ＬＳＩ（１）において，ログ（１５）はＣＰＵ判定結果（３１１）を記録するレジスタである。ＦＦ複写（１６）はＣＰＵ判定結果（３１１）が異常と示したＣＰＵのＦＦに，正常なＣＰＵのＦＦからデータを複写する。
【００１８】
ＬＳＩ（２）において，ログ（２５）はＣＰＵ判定結果（３１２）を記録するレジスタである。ＦＦ複写（２６）はＣＰＵ判定結果（３１２）が異常と示したＣＰＵのＦＦに，正常なＣＰＵのＦＦからデータを複写する。
【００１９】
図２は実施例１における出力選択回路の動作を示す表である。
【００２０】
Ｎｏ．１は，ＬＳＩ（１）の出力（１００）とＬＳＩ（２）の出力（２００）が一致し，ＬＳＩ（１）の比較結果（１４０）が一致を示し，ＬＳＩ（２）の比較結果（２４０）が一致を示す場合である。選択回路（３０）はＬＳＩ（１）の出力（１００）を選択し，ＬＳＩ（１）のＣＰＵ判定結果（３１１）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示し，ＬＳＩ（２）のＣＰＵ判定結果（３１２）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示す。
【００２１】
Ｎｏ．２は，ＬＳＩ（１）の出力（１００）とＬＳＩ（２）の出力（２００）が一致し，ＬＳＩ（１）の比較結果（１４０）が一致を示し，ＬＳＩ（２）の比較結果（２４０）が不一致を示す場合である。選択回路（３０）はＬＳＩ（１）の出力（１００）を選択し，ＬＳＩ（１）のＣＰＵ判定結果（３１１）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示し，ＬＳＩ（２）のＣＰＵ判定結果（３１２）は「ＣＰＵＡが正常，ＣＰＵＢが異常」を示す。
【００２２】
Ｎｏ．３は，ＬＳＩ（１）の出力（１００）とＬＳＩ（２）の出力（２００）が一致し，ＬＳＩ（１）の比較結果（１４０）が不一致を示し，ＬＳＩ（２）の比較結果（２４０）が一致を示す場合である。選択回路（３０）はＬＳＩ（２）の出力（２００）を選択し，ＬＳＩ（１）のＣＰＵ判定結果（３１１）は「ＣＰＵＡが正常，ＣＰＵＢが異常」を示し，ＬＳＩ（２）のＣＰＵ判定結果（３１２）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示す。
【００２３】
Ｎｏ．４は，ＬＳＩ（１）の出力（１００）とＬＳＩ（２）の出力（２００）が不一致となり，ＬＳＩ（１）の比較結果（１４０）が一致を示し，ＬＳＩ（２）の比較結果（２４０）が一致を示す場合である。選択回路（３０）はＬＳＩ（１）の出力（１００）を選択し，ＬＳＩ（１）のＣＰＵ判定結果（３１１）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示し，ＬＳＩ（２）のＣＰＵ判定結果（３１２）は「ＣＰＵＡが異常，ＣＰＵＢが正常」を示す。
【００２４】
Ｎｏ．５は，ＬＳＩ（１）の出力（１００）とＬＳＩ（２）の出力（２００）が不一致となり，ＬＳＩ（１）の比較結果（１４０）が不一致を示し，ＬＳＩ（２）の比較結果（２４０）が一致を示す場合である。選択回路（３０）はＬＳＩ（２）の出力（２００）を選択し，ＬＳＩ（１）のＣＰＵ判定結果（３１１）は「ＣＰＵＡが異常，ＣＰＵＢが正常」を示し，ＬＳＩ（２）のＣＰＵ判定結果（３１２）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示す。
【００２５】
＜実施例２＞
図３は本発明を適用した第２の実施例で，チップ内部に二重化したＣＰＵを持つ２つのＬＳＩと，その出力選択回路からなるフォールトトレラントシステムのブロック図である。第１の実施例と比べると，ＬＳＩ（１）において，ＣＰＵＡ（１０）の出力（１００）とＣＰＵＢ（１２）の出力（１２０）を選択回路（１７）で選択して外部に出力（１７０）している。また，ＬＳＩ（２）において，ＣＰＵＡ（２０）の出力（２００）とＣＰＵＢ（２２）の出力（２２０）を選択回路（２７）で選択して外部に出力（２７０）している。また，選択回路（１７）の出力（１７０）には，ＣＰＵＡ（１０）の出力（１００）を選択したか，ＣＰＵＢ（１２）の出力（１２０）を選択したかを示す情報が含まれる。同様に，選択回路（２７）の出力（２７０）には，ＣＰＵＡ（２０）の出力（２００）を選択したか，ＣＰＵＢ（２２）の出力（２２０）を選択したかを示す情報が含まれる。
【００２６】
図４は実施例２における出力選択回路の動作を示す表である。
【００２７】
Ｎｏ．１は，ＬＳＩ（１）の出力（１７０）とＬＳＩ（２）の出力（２７０）が一致し，ＬＳＩ（１）の比較結果（１４０）が一致を示し，ＬＳＩ（２）の比較結果（２４０）が一致を示す場合である。選択回路（３０）はＬＳＩ（１）の出力（１７０）を選択し，ＬＳＩ（１）のＣＰＵ判定結果（３１１）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示し，ＬＳＩ（２）のＣＰＵ判定結果（３１２）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示す。
【００２８】
Ｎｏ．２は，ＬＳＩ（１）の出力（１７０）とＬＳＩ（２）の出力（２７０）が一致し，ＬＳＩ（１）の比較結果（１４０）が一致を示し，ＬＳＩ（２）の比較結果（２４０）が不一致を示し，ＬＳＩ（２）の選択回路（２７）がＣＰＵＡ（２０）の出力（２００）を選択したことを示す場合である。選択回路（３０）はＬＳＩ（１）の出力（１７０）を選択し，ＬＳＩ（１）のＣＰＵ判定結果（３１１）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示し，ＬＳＩ（２）のＣＰＵ判定結果（３１２）は「ＣＰＵＡが正常，ＣＰＵＢが異常」を示す。
【００２９】
Ｎｏ．３は，ＬＳＩ（１）の出力（１７０）とＬＳＩ（２）の出力（２７０）が一致し，ＬＳＩ（１）の比較結果（１４０）が一致を示し，ＬＳＩ（２）の比較結果（２４０）が不一致を示し，ＬＳＩ（２）の選択回路（２７）がＣＰＵＢ（２２）の出力（２２０）を選択したことを示す場合である。選択回路（３０）はＬＳＩ（１）の出力（１７０）を選択し，ＬＳＩ（１）のＣＰＵ判定結果（３１１）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示し，ＬＳＩ（２）のＣＰＵ判定結果（３１２）は「ＣＰＵＡが異常，ＣＰＵＢが正常」を示す。
【００３０】
Ｎｏ．４は，ＬＳＩ（１）の出力（１７０）とＬＳＩ（２）の出力（２７０）が一致し，ＬＳＩ（１）の比較結果（１４０）が不一致を示し，ＬＳＩ（２）の比較結果（２４０）が一致を示し，ＬＳＩ（１）の選択回路（１７）がＣＰＵＡ（１０）の出力（１００）を選択したことを示す場合である。選択回路（３０）はＬＳＩ（２）の出力（２７０）を選択し，ＬＳＩ（１）のＣＰＵ判定結果（３１１）は「ＣＰＵＡが正常，ＣＰＵＢが異常」を示し，ＬＳＩ（２）のＣＰＵ判定結果（３１２）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示す。
【００３１】
Ｎｏ．５は，ＬＳＩ（１）の出力（１７０）とＬＳＩ（２）の出力（２７０）が一致し，ＬＳＩ（１）の比較結果（１４０）が不一致を示し，ＬＳＩ（２）の比較結果（２４０）が一致を示し，ＬＳＩ（１）の選択回路（１７）がＣＰＵＢ（１２）の出力（１２０）を選択したことを示す場合である。選択回路（３０）はＬＳＩ（２）の出力（２７０）を選択し，ＬＳＩ（１）のＣＰＵ判定結果（３１１）は「ＣＰＵＡが異常，ＣＰＵＢが正常」を示し，ＬＳＩ（２）のＣＰＵ判定結果（３１２）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示す。
【００３２】
Ｎｏ．６は，ＬＳＩ（１）の出力（１７０）とＬＳＩ（２）の出力（２７０）が不一致となり，ＬＳＩ（１）の比較結果（１４０）が一致を示し，ＬＳＩ（２）の比較結果（２４０）が一致を示し，ＬＳＩ（２）の選択回路（２７）がＣＰＵＡ（２０）の出力（２００）を選択したことを示す場合である。選択回路（３０）はＬＳＩ（１）の出力（１７０）を選択し，ＬＳＩ（１）のＣＰＵ判定結果（３１１）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示し，ＬＳＩ（２）のＣＰＵ判定結果（３１２）は「ＣＰＵＡが異常，ＣＰＵＢが正常」を示す。
【００３３】
Ｎｏ．７は，ＬＳＩ（１）の出力（１７０）とＬＳＩ（２）の出力（２７０）が不一致となり，ＬＳＩ（１）の比較結果（１４０）が一致を示し，ＬＳＩ（２）の比較結果（２４０）が一致を示し，ＬＳＩ（２）の選択回路（２７）がＣＰＵＢ（２２）の出力（２２０）を選択したことを示す場合である。選択回路（３０）はＬＳＩ（１）の出力（１７０）を選択し，ＬＳＩ（１）のＣＰＵ判定結果（３１１）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示し，ＬＳＩ（２）のＣＰＵ判定結果（３１２）は「ＣＰＵＡが正常，ＣＰＵＢが異常」を示す。
【００３４】
Ｎｏ．８は，ＬＳＩ（１）の出力（１７０）とＬＳＩ（２）の出力（２７０）が不一致となり，ＬＳＩ（１）の比較結果（１４０）が不一致を示し，ＬＳＩ（２）の比較結果（２４０）が一致を示し，ＬＳＩ（１）の選択回路（１７）がＣＰＵＡ（１０）の出力（１００）を選択したことを示す場合である。選択回路（３０）はＬＳＩ（２）の出力（２７０）を出力し，ＬＳＩ（１）のＣＰＵ判定結果（３１１）は「ＣＰＵＡが異常，ＣＰＵＢが正常」を示し，ＬＳＩ（２）のＣＰＵ判定結果（３１２）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示す。
【００３５】
Ｎｏ．９は，ＬＳＩ（１）の出力（１７０）とＬＳＩ（２）の出力（２７０）が不一致となり，ＬＳＩ（１）の比較結果（１４０）が不一致を示し，ＬＳＩ（２）の比較結果（２４０）が一致を示し，ＬＳＩ（１）の選択回路（１７）がＣＰＵＢ（１２）の出力（１２０）を選択したことを示す場合である。選択回路（３０）はＬＳＩ（２）の出力（２７０）を出力し，ＬＳＩ（１）のＣＰＵ判定結果（３１１）は「ＣＰＵＡが正常，ＣＰＵＢが異常」を示し，ＬＳＩ（２）のＣＰＵ判定結果（３１２）は「ＣＰＵＡが正常，ＣＰＵＢが正常」を示す。
【００３６】
＜実施例３＞
図５は本発明を適用した第３の実施例で，チップ内部に三重化したＣＰＵを持つ２つのＬＳＩと，その出力選択回路からなるフォールトトレラントシステムのブロック図である。１と２は，チップ内部に三重化したＣＰＵを持つＬＳＩ，３はその出力選択回路である。１と２の内部構成は同一である。
【００３７】
ＬＳＩ（１）において，ＣＰＵＡ（１０）とＣＰＵＢ（１２）とＣＰＵＣ（１８）は同一機能を持っており，それぞれ内部に複数のフリップフロップＦＦ（１１，１３，１９）を持っている。ＦＦ（１１）はＣＰＵＡ（１０）の内部状態やデータを記憶し，ＦＦ（１３）はＣＰＵＢ（１２）の内部状態やデータを記憶し，ＦＦ（１９）はＣＰＵＣ（１８）の内部状態やデータを記憶する。ＣＰＵＡ（１０）とＣＰＵＢ（１２）とＣＰＵＣ（１８）に故障が無く，いずれも正常な場合には，ＦＦ（１１，１３，１９）の値は一致する。ＣＰＵＡ（１０）またはＣＰＵＢ（１２）またはＣＰＵＣ（１８）のいずれかに故障があると，誤動作によってＦＦ（１１，１３，１９）のうちいずれかの値は一致しなくなる。
【００３８】
ＣＰＵＡ（１０）の出力（１００）とＣＰＵＢ（１２）の出力（１２０）とＣＰＵＣ（１８）の出力（１８０）は，多数決回路（１７）で多数決処理されて，ＬＳＩ（１）から外部に出力される。比較回路（１４）はＣＰＵＡ（１０）の出力（１００）とＣＰＵＢ（１２）の出力（１２０）とＣＰＵＣ（１８）の出力（１８０）を比較し，比較結果（１４０）をＬＳＩ（１）から外部に出力する。比較結果（１４０）は各ＣＰＵの一致／不一致を示す。
【００３９】
ログ（１５）は比較結果（１４０）を記録するレジスタである。ＦＦ複写（１６）は比較結果（１４０）が不一致と示したＣＰＵのＦＦに，正常なＣＰＵのＦＦからデータを複写する。ＣＰＵＡ（１０）が不一致と示した場合は，そのＦＦ（１１）にＦＦ（１９）から複写を行う。ＣＰＵＢ（１２）が不一致と示した場合は，そのＦＦ（１３）にＦＦ（１１）から複写を行う。ＣＰＵＣ（１８）が不一致と示した場合は，そのＦＦ（１９）にＦＦ（１３）から複写を行う。ＬＳＩ（２）においても同様である。
【００４０】
３０１はＣＰＵの入力であり，ＬＳＩ（１）のＣＰＵＡ（１０）とＣＰＵＢ（１２）とＣＰＵＣ（１８）および，ＬＳＩ（２）の３つのＣＰＵに読み込まれる。
【００４１】
出力選択回路（３）において，選択回路（３０）はＬＳＩ（１）の出力（１７０）とＬＳＩ（２）の出力（２７０）のいずれか一方を出力（３００）に選択する。制御回路（３１）は，ＬＳＩ（１）の出力（１７０）と比較結果（１４０），ＬＳＩ（２）の出力（２７０）と比較結果（２４０）を入力し，同期を行う。また，出力（３００）に選択するＬＳＩの出力（１７０，２７０）を指示する信号（３１０）を出力する。
【符号の説明】
【００４２】
１，２                          ＬＳＩ
３                              出力選択回路
１０，１２，１８，２０，２２    ＣＰＵ
１１，１３，１９，２１，２３    フリップフロップ
１４，２４                      比較回路
１５，２５                      レジスタ（比較結果ログ）
１６，２６                      ＦＦ複写回路
１７                            選択回路，多数決回路
３０                            選択回路
３１                            制御回路
３２                            同期回路
３３                            異常ＣＰＵ判定回路
１００，１２０，１８０          ＣＰＵの出力
１４０                          比較結果
１７０                          ＣＰＵ出力の選択結果または多数決結果
３００                          ＬＳＩ出力の選択結果
３１０                          ＬＳＩ出力の選択制御信号
３１１                          ＬＳＩ（１）のＣＰＵ判定結果
３１２                          ＬＳＩ（２）のＣＰＵ判定結果
【図１】
2017045344.tif 000003
【図２】
2017045344.tif 000004
【図３】
2017045344.tif 000005
【図４】
2017045344.tif 000006
【図５】
2017045344.tif 000007