(57)【要約】    【課題】  ２つのデータ列を比較して一致・不一致を判定するデータ比較回路１０について、一致側への固定故障を診断可能とする。    【解決手段】  データ比較回路１０は、比較するデータ列がそれぞれ所定ビット数ずつ複数のデータに分けられて入力される複数の排他的論理和回路（ＸＯＲ回路）１１−１、１１−２、・・・と、これらの出力が入力されて比較結果を出力する論理和回路（ＯＲ回路）１２とから構成される。ここにおいて、データ比較回路１０の入力側で１つのデータ列をそのまま入力させるモードと、ビット反転処理などにより他のデータ列と不一致となるように変化させて入力させるモードとを切替え可能な切替回路１３ａ−１、１３ａ−２、・・・を設ける。そして、前記切替回路により１つのデータ列を変化させて入力させたときのデータ比較回路１０の比較結果に基づいて、故障の有無を診断する。【選択図】  図１
2012230449.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つのデータ列を比較して一致・不一致を判定するデータ比較回路の故障診断装置であって、
前記データ比較回路の入力側で１つのデータ列をそのまま入力させるモードと他のデータ列と不一致となるように変化させて入力させるモードとを切替えることができる切替回路を有し、
前記切替回路により１つのデータ列を変化させて入力させたときの前記データ比較回路の比較結果に基づいて、前記データ比較回路の故障の有無を診断することを特徴とする、データ比較回路の故障診断装置。
【請求項２】
前記データ比較回路は、
比較するデータ列がそれぞれ所定ビット数ずつ複数のデータに分けられてそれぞれ入力される複数の排他的論理和回路と、
前記複数の排他的論理和回路の出力が入力されて比較結果を出力する論理和回路と、
を含んで構成され、
前記切替回路は、前記各排他的論理和回路の各入力側に設けられ、前記各排他的論理和回路に入力される１つのデータをそのまま入力させるモードと他のデータと不一致となるように変化させて入力させるモードとを切替えることができるものであることを特徴とする、請求項１記載のデータ比較回路の故障診断装置。
【請求項３】
前記切替回路は、ビット反転処理により、前記排他的論理和回路に入力される１つのデータを他のデータと不一致となるように変化させることを特徴とする、請求項２記載のデータ比較回路の故障診断装置。
【請求項４】
前記切替回路は、暗号化処理により、前記排他的論理和回路に入力される１つのデータを他のデータと不一致となるように変化させることを特徴とする、請求項２記載のデータ比較回路の故障診断装置。
【請求項５】
前記比較するデータ列のうち、いずれか１つのデータ列側の複数の切替回路を順次選択的に切替作動させる制御部と、
前記制御部による切替作動ごとに、前記各排他的論理和回路に入力されるデータと、前記各排他的論理和回路の出力とを記録するログ記録部と、
を備えることを特徴とする、請求項２〜請求項４のいずれか１つに記載のデータ比較回路の故障診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも２つのデータ列を比較して一致・不一致を判定するデータ比較回路について、故障の有無を診断する故障診断装置に関する。
【背景技術】
【０００２】
２つの演算処理装置（ＣＰＵ）を同期させて処理データ（バス上のデータ）の一致を常時監視することにより処理の正当性を保証する２重系演算処理装置においては、特許文献１などに示されるように、データ比較回路により、各ＣＰＵのバス上のデータ列を比較して一致・不一致を判定している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−１２００４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のデータ比較回路においては、一致したデータであることが前提となるため、比較結果の出力（表示）が一致側に固定故障した場合には、不一致であったとしても、不一致の表示ができなくなるという問題点があった。
本発明は、このような従来の問題点に鑑み、一致側への固定故障を認識可能とすること課題とする。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、本発明は、データ比較回路の入力側で１つのデータ列をそのまま入力させるモードと他のデータ列と不一致となるように変化させて入力させるモードとを切替えることができる切替回路を設け、この切替回路により１つのデータ列を変化させて入力させたときのデータ比較回路の比較結果に基づいて、データ比較回路の故障の有無を診断する構成とする。
【発明の効果】
【０００６】
本発明によれば、比較するデータ列のうち１つのデータ列を他のデータ列と不一致となるように変化させて、データ比較回路に入力することで、不一致が前提となる。よって、この場合に比較結果の出力が一致のときは、一致側に固定故障したものであると故障診断できるようになる。これにより、データ比較回路の信頼性を向上させることができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態を示すデータ比較回路の構成図
【図２】図１の実施形態での故障診断のフローチャート
【図３】本発明の他の実施形態を示すデータ比較回路の構成図
【図４】暗号化処理の例を示す図
【図５】図３の実施形態での故障診断のフローチャート
【発明を実施するための形態】
【０００８】
以下、本発明の実施の形態について、詳細に説明する。
図１は本発明の一実施形態を示すデータ比較回路の構成図である。
【０００９】
本実施形態のデータ比較回路１０は、同期して作動する２つのＣＰＵ（ａ系ＣＰＵ及びｂ系ＣＰＵ）の処理データ（バス上のデータ）の一致を常時監視することにより処理の正当性を保証すべく、ａ系ＣＰＵのデータバス１上のデータ列ａ[n-1:0] と、ｂ系ＣＰＵのデータバス２上のデータ列ｂ[n-1:0] と、を比較する。尚、ｎはデータ列のビット長（例えば３２）である。
【００１０】
データ比較回路１０は、ｎ個の排他的論理和回路（ＸＯＲ回路）１１−１、１１−２、・・・、１１−ｎと、これらのＸＯＲ回路１１−１、１１−２、・・・、１１−ｎの出力が入力される論理和回路（ＯＲ回路）１２と、を含んで構成される。
【００１１】
ＸＯＲ回路１１−１には、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] のうち、１ビット目のデータａ[0] が、後述する切替回路１３ａ−１を介し、データａ2[0]となって（通常はａ2[0]＝ａ[0] ）、入力されると共に、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] のうち、１ビット目のデータｂ[0] が、後述する切替回路１３ｂ−１を介し、データｂ2[0] となって（通常はｂ2[0]＝ｂ[0] ）、入力される。
【００１２】
ＸＯＲ回路１１−２には、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] のうち、２ビット目のデータａ[1] が、後述する切替回路１３ａ−２を介し、データａ2[1]となって（通常はａ2[1]＝ａ[1] ）、入力されると共に、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] のうち、２ビット目のデータｂ[1] が、後述する切替回路１３ｂ−２を介し、データｂ2[1] となって（通常はｂ2[1]＝ｂ[1] ）、入力される。
【００１３】
同様に、ＸＯＲ回路１１−ｎには、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] のうち、ｎビット目のデータａ[n-1] が、後述する切替回路１３ａ−ｎを介し、データａ2[n-1]となって（通常はａ2[n-1]＝ａ[n-1] ）、入力されると共に、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] のうち、ｎビット目のデータｂ[n-1] が、後述する切替回路１３ｂ−ｎを介し、データｂ2[n-1]となって（通常はｂ2[n-1]＝ｂ[n-1] ）、入力される。
【００１４】
切替回路１３ａ−１、１３ａ−２、・・・１３ａ−ｎ、及び、１３ｂ−１、１３ｂ−２、・・・、１３ｂ−ｎは、通常は、入力されるデータをそのまま出力して、対応するＸＯＲ回路１１−１、１１−２、・・・、１１−ｎに入力するが、切替により、入力されるデータをビット反転して、対応するＸＯＲ回路１１−１、１１−２、・・・、１１−ｎに入力することができる。すなわち、各切替回路は、入力されるデータをそのまま出力するモード（通常モード）と、入力されるデータをビット反転するモード（ビット反転モード）とを有し、これらを切替えることができる。
【００１５】
従って、各切替回路の通常モードでは、ＸＯＲ回路１１−１、１１−２、・・・、１１−ｎは、次のように機能する。
【００１６】
ＸＯＲ回路１１−１には、その一方の入力端子に、ａ系ＣＰＵのバス１上のデータ列の１ビット目のデータａ[0] がそのままａ2[0]＝ａ[0] として入力され、他方の入力端子に、ｂ系ＣＰＵのバス２上のデータ列の１ビット目のデータｂ[0] がそのままｂ2[0]＝ｂ[0] として入力され、これらは一致していることを前提とするため、一致している限り、ＸＯＲ回路１１−１の出力（比較結果[0] ）は０となる。そして、不一致の場合は、ＸＯＲ回路１１−１の出力（比較結果[0] ）が１となり、不一致（異常）が検出される。
【００１７】
ＸＯＲ回路１１−２には、その一方の入力端子に、ａ系ＣＰＵのバス１上のデータ列の２ビット目のデータａ[1] がそのままａ2[1]＝ａ[1] として入力され、他方の入力端子に、ｂ系ＣＰＵのバス２上のデータ列の２ビット目のデータｂ[1] がそのままｂ2[1]＝ｂ[1] として入力され、これらは一致していることを前提とするため、一致している限り、ＸＯＲ回路１１−２の出力（比較結果[1] ）は０となる。そして、不一致の場合は、ＸＯＲ回路１１−２の出力（比較結果[1] ）が１となり、不一致（異常）が検出される。
【００１８】
同様に、ＸＯＲ回路１１−ｎには、その一方の入力端子に、ａ系ＣＰＵのバス１上のデータ列のｎビット目のデータａ[n-1] がそのままａ2[n-1]＝ａ[n-1] として入力され、他方の入力端子に、ｂ系ＣＰＵのバス２上のデータ列のｎビット目のデータｂ[n-1] がそのままｂ2[n-1]＝ｂ[n-1] として入力され、これらは一致していることを前提とするため、一致している限り、ＸＯＲ回路１１−ｎの出力（比較結果[n-1] ）は０となる。そして、不一致の場合は、ＸＯＲ回路１１−ｎの出力（比較結果[n-1] ）が１となり、不一致（異常）が検出される。
【００１９】
ＯＲ回路１２には、ＸＯＲ回路１１−１、１１−２、・・・、１１−ｎの出力が入力されており、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] とｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] とが全てのビットで一致していれば、全ての入力（比較結果[0] 〜[n-1] ）が０となるので、ＯＲ回路１２の出力（比較結果）は０、すなわち一致となる。
これに対し、データ列ａ[n-1:0] とデータ列ｂ[n-1:0] とがいずれか１つのビットで不一致の場合、全ての入力（比較結果[0] 〜[n-1] ）のうち、いずれか１つが１となるので、ＯＲ回路１２の出力（比較結果）は１、すなわち不一致となる。
【００２０】
従って、データ比較回路１０は、各切替回路の通常モードでは、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] と、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] とをそのまま比較して、一致・不一致を判定することができる。
【００２１】
次に各切替回路のビット反転モードでのデータ比較回路１０の故障診断について説明する。
各切替回路１３ａ−１、１３ａ−２、・・・、１３ａ−ｎ、及び、１３ｂ−１、１３ｂ−２、・・・、１３ｂ−ｎは、順次選択的にビット反転モードに切替える。
【００２２】
例えば、切替回路１３ａ−１をビット反転モードに切替えると、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] から取込まれた１ビット目のデータａ[0] が切替回路１３ａ−１によりビット反転されて、データａ2[0]となり、ＸＯＲ回路１１−１の一方の入力端子に入力される。
このとき、切替回路１３ｂ−１は通常モードに維持されており、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] から取込まれた１ビット目のデータｂ[0] はそのままデータｂ2[0] となり、ＸＯＲ回路１１−１の他方の入力端子に入力される。
従って、前提として、ａ2[0]≠ｂ2[0]となり、正しく不一致を検出できれば、ＸＯＲ回路１１−１の出力（比較結果[0] ）は１となり、ＯＲ回路１２の出力（比較結果）は１となる。
これに対し、ＸＯＲ回路１１−１の出力（比較結果[0] ）が０となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【００２３】
また、切替回路１３ａ−２をビット反転モードに切替えると、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] から取込まれた２ビット目のデータａ[1] が切替回路１３ａ−２によりビット反転されて、データａ2[1]となり、ＸＯＲ回路１１−２の一方の入力端子に入力される。
このとき、切替回路１３ｂ−２は通常モードに維持されており、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] から取込まれた２ビット目のデータｂ[1] はそのままデータｂ2[1] となり、ＸＯＲ回路１１−２の他方の入力端子に入力される。
従って、前提として、ａ2[1]≠ｂ2[1]となり、正しく不一致を検出できれば、ＸＯＲ回路１１−２の出力（比較結果[1] ）は１となり、ＯＲ回路１２の出力（比較結果）は１となる。
これに対し、ＸＯＲ回路１１−２の出力（比較結果[1] ）が０となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【００２４】
同様に、切替回路１３ａ−ｎをビット反転モードに切替えると、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] から取込まれたｎビット目のデータａ[n-1] が切替回路１３ａ−ｎによりビット反転されて、データａ2[n-1]となり、ＸＯＲ回路１１−ｎの一方の入力端子に入力される。
このとき、切替回路１３ｂ−ｎは通常モードに維持されており、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] から取込まれたｎビット目のデータｂ[n-1] はそのままデータｂ2[n-1] となり、ＸＯＲ回路１１−ｎの他方の入力端子に入力される。
従って、前提として、ａ2[n-1]≠ｂ2[n-1]となり、正しく不一致を検出できれば、ＸＯＲ回路１１−ｎの出力（比較結果[n-1] ）は１となり、ＯＲ回路１２の出力（比較結果）は１となる。
これに対し、ＸＯＲ回路１１−ｎの出力（比較結果[n-1] ）が０となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【００２５】
次に、切替回路１３ｂ−１をビット反転モードに切替えると、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] から取込まれた１ビット目のデータｂ[0] が切替回路１３ｂ−１によりビット反転されて、データｂ2[0]となり、ＸＯＲ回路１１−１のｂ側の入力端子に入力される。
このとき、切替回路１３ａ−１は通常モードに維持されており、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] から取込まれた１ビット目のデータａ[0] はそのままデータａ2[0] となり、ＸＯＲ回路１１−１のａ側の入力端子に入力される。
従って、前提として、ａ2[0]≠ｂ2[0]となり、正しく不一致を検出できれば、ＸＯＲ回路１１−１の出力（比較結果[0] ）は１となり、ＯＲ回路１２の出力（比較結果）は１となる。
これに対し、ＸＯＲ回路１１−１の出力（比較結果[0] ）が０となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【００２６】
また、切替回路１３ｂ−２をビット反転モードに切替えると、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] から取込まれた２ビット目のデータｂ[1] が切替回路１３ｂ−２によりビット反転されて、データｂ2[1]となり、ＸＯＲ回路１１−２のｂ側の入力端子に入力される。
このとき、切替回路１３ａ−２は通常モードに維持されており、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] から取込まれた２ビット目のデータａ[1] はそのままデータａ2[1] となり、ＸＯＲ回路１１−２のａ側の入力端子に入力される。
従って、前提として、ａ2[1]≠ｂ2[1]となり、正しく不一致を検出できれば、ＸＯＲ回路１１−２の出力（比較結果[1] ）は１となり、ＯＲ回路１２の出力（比較結果）は１となる。
これに対し、ＸＯＲ回路１１−２の出力（比較結果[1] ）が０となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【００２７】
同様に、切替回路１３ｂ−ｎをビット反転モードに切替えると、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] から取込まれたｎビット目のデータｂ[n-1] が切替回路１３ｂ−ｎによりビット反転されて、データｂ2[n-1]となり、ＸＯＲ回路１１−ｎのｂ側の入力端子に入力される。
このとき、切替回路１３ａ−ｎは通常モードに維持されており、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] から取込まれたｎビット目のデータａ[n-1] はそのままデータａ2[n-1] となり、ＸＯＲ回路１１−ｎのａ側の入力端子に入力される。
従って、前提として、ａ2[n-1]≠ｂ2[n-1]となり、正しく不一致を検出できれば、ＸＯＲ回路１１−ｎの出力（比較結果[n-1] ）は１となり、ＯＲ回路１２の出力（比較結果）は１となる。
これに対し、ＸＯＲ回路１１−ｎの出力（比較結果[n-1] ）が０となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【００２８】
データ比較回路１０は、上記のような故障診断を可能とするため、反転制御部１４及びログ記録部１５を有する。
【００２９】
反転制御部１４は、反転制御データに基づいて、ａ系側のデータ列ａ[n-1:0] をビットごとに反転すべく、ａ系側の切替回路１３ａ−１、１３ａ−２、・・・、１３ａ−ｎを順次選択的に切替作動させ、次いで、ｂ系側のデータ列ｂ[n-1:0] をビットごとに反転すべく、ｂ系側の切替回路１３ｂ−１、１３ｂ−２、・・・、１３ｂ−ｎを順次選択的に切替作動させる。
【００３０】
ログ記録部１５は、切替作動ごとに、ＸＯＲ回路１１−１、１１−２、・・・、１１−ｎの一方の入力端子に入力されるデータ列ａ2[n-1:0] 、及び、他方の入力端子に入力されるデータ列ｂ2[n-1:0] を記録する。また同時に、切替作動ごとに、ＸＯＲ回路１１−１、１１−２、・・・、１１−ｎの出力である比較結果[n-1:0] 、及び、ＯＲ回路１２の出力である比較結果を記録する。そして、これらのログ記録データは、各系ＣＰＵに送られる。
【００３１】
図２は故障診断のフローチャートである。
Ｓ１では、ａ系側のデータ列を１ビットずつ反転する。
Ｓ２では、１ビットずつ反転するごとに、比較結果が不一致（１）となったか否かを判定し、不一致の場合は、Ｓ３へ進んで正常と診断し、一致の場合は、Ｓ４へ進んで対応ビット部分が一致側に固定故障と診断する。
次のＳ５では、ａ系側データ列の反転制御が終了したか否かを判定し、終了していない場合はＳ１へ戻り、終了している場合はＳ６へ進む。
【００３２】
Ｓ６では、ｂ系側のデータ列を１ビットずつ反転する。
Ｓ７では、１ビットずつ反転するごとに、比較結果が不一致（１）となったか否かを判定し、不一致の場合は、Ｓ８へ進んで正常と診断し、一致の場合は、Ｓ９へ進んで対応ビット部分が一致側に固定故障と診断する。
次のＳ１０では、ｂ系側データ列の反転制御が終了したか否かを判定し、終了していない場合はＳ６へ戻り、終了している場合は処理を終了する。
【００３３】
本実施形態によれば、データ比較回路１０の入力側で１つのデータ列をそのまま入力させるモード（通常モード）と他のデータ列と不一致となるように変化させて入力させるモード（ビット反転モード）とを切替えることができる切替回路１３ａ−１、１３ａ−２、・・・、１３ａ−ｎ、及び、１３ｂ−１、１３ｂ−２、・・・、１３ｂ−ｎ、を有し、これらの切替回路により１つのデータ列を変化させて入力させたときのデータ比較回路１０の比較結果に基づいて、データ比較回路１０の故障の有無を診断する構成としたことにより、一致側への固定故障を診断可能となり、データ比較回路の信頼性を向上させることができる。
【００３４】
また、前記切替回路は、各系ＣＰＵのバス１、２から取込んだデータ列をビット反転処理などにより変化させるのであって、各系ＣＰＵが取扱うデータ列自体を変化させるものではないので、各系ＣＰＵの制御に影響を与えることはない。
【００３５】
また、本実施形態によれば、データ比較回路１０は、比較するデータ列がそれぞれ所定ビット数ずつ複数のデータに分けられてそれぞれ入力される複数の排他的論理和回路（ＸＯＲ回路）１１−１、１１−２、・・・、１１−ｎと、これら複数の排他的論理和回路の出力が入力されて比較結果を出力する論理和回路（ＯＲ回路）１２と、を含んで構成され、前記切替回路は、前記各排他的論理和回路の各入力側に設けられ、前記各排他的論理和回路に入力される１つのデータをそのまま入力させるモードと他のデータと不一致となるように変化させて入力させるモードとを切替えることができるものとしたことにより、データ比較回路１０を簡潔な構成で実現できると共に、かかる構成にて一致側への固定故障を的確に診断可能となる。
【００３６】
また、本実施形態によれば、前記切替回路は、ビット反転処理により、前記排他的論理和回路に入力される１つのデータを他のデータと不一致となるように変化させる構成としたことにより、簡単な処理で実施可能となる。
【００３７】
また、本実施形態によれば、前記比較するデータ列のうち、いずれか１つのデータ列側の複数の切替回路を順次選択的に切替作動させる制御部１４と、前記制御部１４による切替作動ごとに、前記各排他的論理和回路に入力されるデータと、前記各排他的論理和回路の出力とを記録するログ記録部１５と、を備えることにより、故障部位の特定が容易となる。
【００３８】
尚、本実施形態では、１ビットごとに反転処理しているが、複数ビットずつ反転処理するようにしてもよい。また、反転ではなく、ある法則に従った暗号化のようなものでもよい。
【００３９】
次に本発明の他の実施形態（暗号化処理による実施形態）について説明する。
図３は本発明の他の実施形態を示すデータ比較回路の構成図である。図１の実施形態と同一要素には同一符号を付して説明を簡略化する。ここでも、データ列ａ[n-1:0],ｂ[n-1:0] のビット長をｎ（例えば３２とする）。
【００４０】
データ比較回路１０は、ｎ／４個の排他的論理和回路（ＸＯＲ回路）１１−１、１１−２、・・・、１１−ｎ／４と、これらのＸＯＲ回路１１−１、１１−２、・・・、１１−ｎ／４の出力が入力される論理和回路（ＯＲ回路）１２と、を含んで構成される。尚、本実施形態では、ＸＯＲ回路が４ビットずつデータを比較するようになっている。
【００４１】
ＸＯＲ回路１１−１には、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] のうち、１〜４ビット目のデータａ[3:0] が、後述する切替回路１６ａ−１を介し、データａ2[3:0]となって（通常はａ2[3:0]＝ａ[3:0] ）、入力されると共に、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] のうち、１〜４ビット目のデータｂ[3:0] が、後述する切替回路１６ｂ−１を介し、データｂ2[3:0] となって（通常はｂ2[3:0]＝ｂ[3:0] ）、入力される。
【００４２】
ＸＯＲ回路１１−２には、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] のうち、５〜８ビット目のデータａ[7:4] が、後述する切替回路１６ａ−２を介し、データａ2[7:4]となって（通常はａ2[7:4]＝ａ[7:4] ）、入力されると共に、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] のうち、４〜８ビット目のデータｂ[7:4] が、後述する切替回路１６ｂ−２を介し、データｂ2[7:4] となって（通常はｂ2[7:4]＝ｂ[7:4] ）、入力される。
【００４３】
同様に、ＸＯＲ回路１１−ｎ／４には、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] のうち、ｎ−３〜ｎビット目のデータａ[n-1:n-4] が、後述する切替回路１３ａ−ｎ／４を介し、データａ2[n-1:n-4]となって（通常はａ2[n-1:n-4]＝ａ[n-1:n-4] ）、入力されると共に、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] のうち、ｎ−３〜ｎビット目のデータｂ[n-1:n-4] が、後述する切替回路１３ｂ−ｎ／４を介し、データｂ2[n-1:n-4]となって（通常はｂ2[n-1:n-4]＝ｂ[n-1:n-4] ）、入力される。
【００４４】
切替回路１６ａ−１、１６ａ−２、・・・、１６ａ−ｎ／４、及び、１６ｂ−１、１６ｂ−２、・・・、１６ｂ−ｎ／４は、通常は、入力されるデータをそのまま出力して、対応するＸＯＲ回路１１−１、１１−２、・・・、１１−ｎ／４に入力するが、切替により、入力される４ビットのデータを暗号化処理して、対応するＸＯＲ回路１１−１、１１−２、・・・、１１−ｎ／４に入力することができる。すなわち、各切替回路は、入力されるデータをそのまま出力するモード（通常モード）と、入力されるデータを暗号化処理するモード（暗号化モード）とを有し、これらを切替えることができる。
【００４５】
従って、各切替回路の通常モードでは、ＸＯＲ回路１１−１、１１−２、・・・、１１−ｎ／４は、次のように機能する。
【００４６】
ＸＯＲ回路１１−１には、その一方の入力端子に、ａ系ＣＰＵのバス１上のデータ列の１〜４ビット目のデータａ[3:0] がそのままａ2[3:0]＝ａ[3:0] として入力され、他方の入力端子に、ｂ系ＣＰＵのバス２上のデータ列の１〜４ビット目のデータｂ[3:0] がそのままｂ2[3:0]＝ｂ[3:0] として入力され、これらは一致していることを前提とするため、一致している限り、ＸＯＲ回路１１−１の出力（比較結果[3:0] ）は０となる。そして、不一致の場合は、ＸＯＲ回路１１−１の出力（比較結果[3:0] ）が１となり、不一致（異常）が検出される。
【００４７】
ＸＯＲ回路１１−２には、その一方の入力端子に、ａ系ＣＰＵのバス１上のデータ列の５〜８ビット目のデータａ[7:4] がそのままａ2[7:4]＝ａ[7:4] として入力され、他方の入力端子に、ｂ系ＣＰＵのバス２上のデータ列の５〜８ビット目のデータｂ[7:4] がそのままｂ2[7:4]＝ｂ[7:4] として入力され、これらは一致していることを前提とするため、一致している限り、ＸＯＲ回路１１−２の出力（比較結果[7:4] ）は０となる。そして、不一致の場合は、ＸＯＲ回路１１−２の出力（比較結果[7:4] ）が１となり、不一致（異常）が検出される。
【００４８】
同様に、ＸＯＲ回路１１−ｎ／４には、その一方の入力端子に、ａ系ＣＰＵのバス１上のデータ列のｎ−３〜ｎビット目のデータａ[n-1:n-4] がそのままａ2[n-1:n-4]＝ａ[n-1:n-4] として入力され、他方の入力端子に、ｂ系ＣＰＵのバス２上のデータ列のｎ−３〜ｎビット目のデータｂ[n-1:n-4] がそのままｂ2[n-1:n-4]＝ｂ[n-1:n-4] として入力され、これらは一致していることを前提とするため、一致している限り、ＸＯＲ回路１１−ｎ／４の出力（比較結果[n-1:n-4] ）は０となる。そして、不一致の場合は、ＸＯＲ回路１１−ｎ／４の出力（比較結果[n-1:n-4] ）が１となり、不一致（異常）が検出される。
【００４９】
ＯＲ回路１２には、ＸＯＲ回路１１−１、１１−２、・・・、１１−ｎ／４の出力が入力されており、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] とｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] とが全てのビットで一致していれば、全ての入力（比較結果[3:0] 〜[n-1:n-4] ）が０となるので、ＯＲ回路１２の出力（比較結果）は０、すなわち一致となる。
これに対し、データ列ａ[n-1:0] とデータ列ｂ[n-1:0] とがいずれか１つのビットで不一致の場合、全ての入力（比較結果[3:0] 〜[n-1:n-4] ）のうち、いずれか１つが１となるので、ＯＲ回路１２の出力（比較結果）は１、すなわち不一致となる。
【００５０】
従って、データ比較回路１０は、各切替回路の通常モードでは、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] と、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] とをそのまま比較して、一致・不一致を判定することができる。
【００５１】
次に各切替回路の暗号化処理モードでのデータ比較回路１０の故障診断について説明する。
各切替回路１６ａ−１、１６ａ−２、・・・、１６ａ−ｎ／４、及び、１６ｂ−１、１６ｂ−２、・・・、１６ｂ−ｎ／４は、順次選択的に暗号化モードに切替える。
【００５２】
ここでの暗号化処理は、例えば、４ビットのデータに対し、図４に示すような暗号化を施す。
図４の例では、次の（１）〜（３）の操作を施して、暗号化している。
（１）左から２ビット目、３ビット目をそれぞれ反転する。
（２）左から１ビット目と３ビット目を入れ替える。
（３）左から２ビット目と４ビット目を入れ替える。
【００５３】
この場合、診断時のデータ列により、特定の２箇所（図４中の○で囲んだ箇所）で比較結果不一致が発生する。従って、特定の２箇所で不一致が発生していることと、それ以外では一致となっていることを確認するとよい。
【００５４】
例えば、切替回路１６ａ−１を暗号化モードに切替えると、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] から取込まれた１〜４ビット目のデータａ[3:0] が切替回路１６ａ−１により暗号化処理されて、データａ2[3:0]となり、ＸＯＲ回路１１−１の一方の入力端子に入力される。
このとき、切替回路１６ｂ−１は通常モードに維持されており、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] から取込まれた１〜４ビット目のデータｂ[3:0] はそのままデータｂ2[3:0] となり、ＸＯＲ回路１１−１の他方の入力端子に入力される。
従って、前提として、ａ2[3:0]≠ｂ2[3:0]となり、正しく不一致を検出できれば、ＸＯＲ回路１１−１の出力（比較結果[3:0] ）は１となり、ＯＲ回路１２の出力（比較結果）は１となる。
これに対し、ＸＯＲ回路１１−１の出力（比較結果[3:0] ）が０となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【００５５】
また、切替回路１６ａ−２を暗号化モードに切替えると、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] から取込まれた５〜８ビット目のデータａ[7:4] が切替回路１６ａ−２により暗号化処理されて、データａ2[7:4]となり、ＸＯＲ回路１１−２の一方の入力端子に入力される。
このとき、切替回路１６ｂ−２は通常モードに維持されており、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] から取込まれた５〜８ビット目のデータｂ[7:4] はそのままデータｂ2[7:4] となり、ＸＯＲ回路１１−２の他方の入力端子に入力される。
従って、前提として、ａ2[7:4]≠ｂ2[7:4]となり、正しく不一致を検出できれば、ＸＯＲ回路１１−２の出力（比較結果[1] ）は１となり、ＯＲ回路１２の出力（比較結果）は１となる。
これに対し、ＸＯＲ回路１１−２の出力（比較結果[7:4] ）が０となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【００５６】
同様に、切替回路１６ａ−ｎ／４を暗号化モードに切替えると、ａ系ＣＰＵのバス１上のデータ列ａ[n-1:0] から取込まれたｎ−３〜ｎビット目のデータａ[n-1:n-4] が切替回路１６ａ−ｎ／４により暗号化処理されて、データａ2[n-1:n-4]となり、ＸＯＲ回路１１−ｎ／４の一方の入力端子に入力される。
このとき、切替回路１６ｂ−ｎ／４は通常モードに維持されており、ｂ系ＣＰＵのバス２上のデータ列ｂ[n-1:0] から取込まれたｎ−３〜ｎビット目のデータｂ[n-1:n-4] はそのままデータｂ2[n-1:n-4] となり、ＸＯＲ回路１１−ｎ／４の他方の入力端子に入力される。
従って、前提として、ａ2[n-1:n-4]≠ｂ2[n-1:n-4]となり、正しく不一致を検出できれば、ＸＯＲ回路１１−ｎ／４の出力（比較結果[n-1:n-4] ）は１となり、ＯＲ回路１２の出力（比較結果）は１となる。
これに対し、ＸＯＲ回路１１−ｎ／４の出力（比較結果[n-1:n-4] ）が０となって、不一致を検出できなかった場合は、一致側への固定故障と診断することができる。
【００５７】
次に、切替回路１６ｂ−１、１６ｂ−２、・・・、１６ｂ−ｎ／４を順次暗号化モードに切替えて、故障診断を行うが、説明は省略する。
【００５８】
データ比較回路１０は、上記のような故障診断を可能とするため、暗号化制御部１７及びログ記録部１８を有する。
【００５９】
暗号化制御部１７は、暗号化制御データに基づいて、ａ系側のデータ列ａ[n-1:0] を４ビットずつ暗号化処理すべく、ａ系側の切替回路１６ａ−１、１６ａ−２、・・・、１６ａ−ｎ／４を順次選択的に切替作動させ、次いで、ｂ系側のデータ列ｂ[n-1:0] を４ビットずつ暗号化処理すべく、ｂ系側の切替回路１６ｂ−１、１６ｂ−２、・・・、１６ｂ−ｎ／４を順次選択的に切替作動させる。
【００６０】
ログ記録部１８は、切替作動ごとに、ＸＯＲ回路１１−１、１１−２、・・・、１１−ｎ／４の一方の入力端子に入力されるデータ列ａ2[n-1:0] 、及び、他方の入力端子に入力されるデータ列ｂ2[n-1:0] を記録する。また同時に、切替作動ごとに、ＸＯＲ回路１１−１、１１−２、・・・、１１−ｎ／４の出力である比較結果[n-1:0] 、及び、ＯＲ回路１２の出力である比較結果を記録する。そして、これらのログ記録データは、各系ＣＰＵに送られる。
【００６１】
図５は故障診断のフローチャートである。
Ｓ１１では、ａ系側のデータ列を４ビットずつ暗号化処理する。
Ｓ１２では、４ビットずつ暗号化処理するごとに、比較結果が不一致（１）となったか否かを判定し、不一致の場合は、Ｓ１３へ進んで正常と診断し、一致の場合は、Ｓ１４へ進んで対応ビット部分が一致側に固定故障と診断する。
次のＳ１５では、ａ系側データ列の暗号化処理が終了したか否かを判定し、終了していない場合はＳ１１へ戻り、終了している場合はＳ１６へ進む。
【００６２】
Ｓ１６では、ｂ系側のデータ列を４ビットずつ暗号化処理する。
Ｓ１７では、４ビットずつ暗号化処理するごとに、比較結果が不一致（１）となったか否かを判定し、不一致の場合は、Ｓ１８へ進んで正常と診断し、一致の場合は、Ｓ１９へ進んで対応ビット部分が一致側に固定故障と診断する。
次のＳ２０では、ｂ系側データ列の暗号化処理が終了したか否かを判定し、終了していない場合はＳ１６へ戻り、終了している場合は処理を終了する。
【００６３】
特に本実施形態によれば、前記切替回路は、暗号化処理により、前記排他的論理和回路に入力される１つのデータを他のデータと不一致となるように変化させる構成としたことにより、より高精度な診断が可能となる。
【００６４】
尚、図示の実施形態はあくまで本発明を例示するものであり、本発明は、説明した実施形態により直接的に示されるものに加え、特許請求の範囲内で当業者によりなされる各種の改良・変更を包含するものであることは言うまでもない。
【符号の説明】
【００６５】
１  ａ系ＣＰＵのデータバス
２  ｂ系ＣＰＵのデータバス
１０  データ比較回路
１１−１、１１−２、・・・、１１−ｎ  ＸＯＲ回路
１２  ＯＲ回路
１３ａ−１、１３ａ−２、・・・、１３ａ−ｎ  切替回路
１３ｂ−１、１３ｂ−２、・・・、１３ｂ−ｎ  切替回路
１４  反転制御部
１５  ログ記録部
１６ａ−１、１６ａ−２、・・・、１６ａ−ｎ／４  切替回路
１６ｂ−１、１６ｂ−２、・・・、１６ｂ−ｎ／４  切替回路
１７  暗号化制御部
１８  ログ記録部
【図１】
2012230449.tif 000003
【図２】
2012230449.tif 000004
【図３】
2012230449.tif 000005
【図４】
2012230449.tif 000006
【図５】
2012230449.tif 000007