CPU、メモリ及びCPUとメモリを接続するバスからなる互いに同一なシステムを二重化した冗長構成を持ち、二つのバスのアドレスデータ制御信号の状態を常時比較するバス比較器を有する二重系コントローラにおいて、各々のバス状態を記憶するトレース手段を有し、CPUがプログラム処理異常を検出し、二重系コントローラが停止したときに、その前後一定時間分の二重化したトレース情報を保持することを特徴とする故障解析支援用の二重系コントローラ。請求項1記載の故障解析支援用の二重系コントローラにおいて、前記バス比較器が前記二つのバスのアドレスデータ制御信号の比較不一致を検出し、二重系コントローラが停止したときに、前後一定時間分の二重化したトレース情報を保持することを特徴とする故障解析支援用の二重系コントローラ。請求項1記載の故障解析支援用の二重系コントローラにおいて、前記CPUとは独立に動作可能なデータ転送装置を有し、該データ転送装置は、二重系コントローラが異常を検知し停止したときに、トレース手段に保持されたトレース情報を不揮発な記憶装置に転送する機能を有することを特徴とする故障解析支援用の二重系コントローラ。請求項1~3の何れか1項に記載の故障解析支援用の二重系コントローラにおいて、トレース情報として、バス状態とともに時刻情報を保持することを特徴とする故障解析支援用の二重系コントローラ。請求項1~4の何れか1項に記載の故障解析支援用の二重系コントローラにおいて、トレース情報を保持するための条件設定手段を有し、バス信号状態が設定した条件と一致したときに、その前後一定時間分の二重化したトレース情報を保持することを特徴とする故障解析支援用の二重系コントローラ。上記の方式においては、異常検出時の安全状態への遷移は保証されるが、どのような異常により当該二重系コントローラが動作停止したかが判然とせず、故障原因究明が困難となる場合が多い。また、故障原因究明のために類似の事象が発生することを再現させる試験がしばしば実施されるが、手掛かりとなる情報が少ない状況では試行錯誤の繰り返しになり、故障解析のために長大な時間が割かれることとなる。そこで、本願発明は、上記のような課題を解決するためになされたものであり、異常検知時の前後で、CPUがどのようなプログラム処理を実行していたかを記憶し、後でそのときの状態を検証して故障に至る経緯を知る手掛かりとすることによって、故障解析の効率向上が図れる故障解析支援用の二重系コントローラを提供することを目的とする。本発明による故障解析支援用の二重系コントローラは、CPU、メモリ及びCPUとメモリを接続するバスからなる互いに同一なシステムを二重化した冗長構成を持ち、二つのバスのアドレスデータ制御信号の状態を常時比較するバス比較器を有する二重系コントローラにおいて、各々のバス状態を記憶するトレース手段を有し、CPUがプログラム処理異常を検出し、二重系コントローラが停止したときに、その前後一定時間分の二重化したトレース情報を保持することを特徴とする。また、本発明による故障解析支援用の二重系コントローラは、前記バス比較器が前記二つのバスのアドレスデータ制御信号の比較不一致を検出し、二重系コントローラが停止したときに、その前後一定時間分の二重化したトレース情報を保持することを特徴とする。また、本発明による故障解析支援用の二重系コントローラは、前記CPUとは独立に動作可能なデータ転送装置を有し、該データ転送装置は、二重系コントローラが異常を検知し停止したときに、トレース手段に保持されたトレース情報を不揮発な記憶装置に転送する機能を有することを特徴とする。また、本発明による故障解析支援用の二重系コントローラは、トレース情報として、バス状態とともに時刻情報を保持することを特徴とする。また、本発明による故障解析支援用の二重系コントローラは、トレース情報を保持するための条件設定手段を有し、バス信号状態が設定した条件と一致したときに、その前後一定時間分の二重化したトレース情報を保持することを特徴とする。本発明によれば、故障解析支援用の二重系コントローラが異常を検知して動作停止したときに、その前後の二重化バスの状態を詳細に解析することが可能となり、故障解析の効率向上を実現することができる。特に、トレースを二重化して記憶することにより、異常発生の原因がプログラム処理の異常であるか、ハードウェア故障によるバス比較不一致によるものかの判別が容易となる。さらに、本発明によれば、CPUの実行状態を知る手段として、二重化したバスのそれぞれに、バスの動作履歴を記憶トレースする手段を設置して異常検知時の前後一定時間のバス状態を保持し、保持された二重化バスの情報を比較検証することにより、故障解析の効率向上に貢献する。図1は、本発明の実施の形態1に従う故障解析支援用の二重系コントローラの全体構成概略図である。図1においてCPU1a、1bは二重系コントローラの演算処理を実行するプロセッサである。CPU1a、1bは、プログラム処理に異常を検出した場合、CPUエラー信号8a、8bをそれぞれアサートする。また、メモリ2a、2bはCPU1a、1bの演算実行に必要なプログラムや、演算結果データを格納する記憶装置である。バス3a、3bはアドレス信号、データ信号、及びメモリリード/ライトに関わる制御信号チップセレクト信号やリード/ライトストローブ信号で構成されており、バス3aはCPU1aとメモリ2aとの間を、バス3bはCPU1bとメモリ2bの間をそれぞれ接続している。また、バス3a、3bはバス比較器4にも接続されており、バス比較器4は、バス3aとバス3bをクロック単位で比較を行い、一致/不一致を判定し、不一致となったときに比較エラー信号9がアサートされる。更に、バス3a、3bにはそれぞれトレース制御部5a、5bが接続される。トレース制御部5a、5bは、バス状態情報を常に一定時間記憶する制御を行っている。異常状態が検知されない通常動作時には、トレース制御部5a、5b内に記憶されるバス状態情報は、常時更新されて一定時間のバス状態情報が記憶されていく。この状態で、比較エラー信号9またはCPUエラー信号8a、8bにより異常検知が伝達されると、トレース制御部5a、5bはバスの状態情報を保持する。同時に、トレース制御部5a、5bは、データ転送装置6a、6bに対し、データ転送要求信号10a、10bをアサートする。このとき、データ転送装置6a、6bは、データバス11a、11bからトレース制御部5a、5bに保持されたバス状態情報を取り出し、データバス12a、12bより不揮発性記憶装置7a、7bにデータを格納する。これにより、実稼動中に異常検知した二重系コントローラを交換するために電源を落としても、バス状態情報が記憶装置7a、7bに保存されているため、後に情報を取り出すことが可能である。そして、その際のバス状態情報は、常に一定時間のバス状態情報が記憶されているために、異常検知の前後のバス状態情報を確保することを可能にするものである。次に、図2にトレース制御部5bの構成を示す。なお、トレース制御部5aも同一の構成である。レジスタ501は、2N個分のバス状態情報を格納する記憶装置である。バス状態情報は、バスクロック毎に1回ずつ格納しても良いが、同じ状態が複数クロックにわたり継続する場合も考えられるため、バス状態情報に時刻情報を付加し情報の圧縮を図ることも可能である。つまり、信号変化検知器503は、バス状態の変化を調べ、バス状態に変化があった場合に信号変化検知信号509をアサートする。そして、バス状態変化が無い場合には、クロックカウンタ503が起動し、バス状態変化が発生するまでバスクロック毎にカウンタを1する。カウントした値を状態が変化しない時刻情報510として出力する。次にバス状態変化が発生したとき、バス3bと、前回までの状態変化の無かった時刻情報510とを合わせてバス状態情報508とし、レジスタ501に格納する。また、ポインタカウンタ504は、レジスタ501への格納場所及び格納タイミングを生成する。図3に示すように、レジスタ501の格納場所は、0~2N-1のポインタにより指定される。また、レジスタ501は、リングバッファ構造となっており、ポインタが2N-1まで達したとき、次のポインタは0に戻る。ポインタカウンタ504は、信号変化検知信号509がアサートされたとき、レジスタ501に対しポインタ511と、書き込みイネーブル信号512をアサートし、指定の格納場所へバス状態情報508が格納される。また、トリガ信号513がアサートされたとき、ポインタカウンタ504は、ポインタの更新及び書き込みイネーブル信号のアサートをN回実行した後停止する。即ち、トリガ発生前後N回合計2N回分のバス状態情報がレジスタ501に保持される。トリガ信号のアサートは、トリガ検知器505が制御する。トリガ検知器505は、バス比較器からのエラー信号9のアサート、またはCPUエラー信号8aまたは8bのアサート、またはバス3bが特定の状態になったことを検知したときにトリガ信号513をアサートする。これらのトリガ条件は、トリガ条件設定器506で設定する。トリガ条件は、バス3bを経由してCPU1bからトリガ条件設定器506に設定することができる。トリガ発生前後N回合計2N回分のバス状態情報がレジスタ501に保持された後、ポインタカウンタ504からデータ転送要求信号10bがデータ転送装置6bに対しアサートされる。データ転送装置6は、レジスタ501の内容をデータバス11bを経由し取り出す。次に、図4のようなバス状態変化を例にして、格納されるトレース情報のフォーマットについて説明する。図4に対応するトレース情報を図5に示す。まず、チップセレクト信号CSが1から0に変化するため、書き込みタイミング1が発生し、前回状態のカウント値Xと、変化後のバス状態がポインタnの位置に格納される。次にリードストローブ信号RDが1から0に変化するため、書き込みタイミング2が発生し、前回状態のカウント値2と、変化後のバス状態がポインタn1の位置に格納される。同様に、データの変化で書き込みタイミング3が、RDの0から1の変化で書き込みタイミング4が、CSの0から1の変化で書き込みタイミング5が発生し、それぞれポインタ位置を更新し格納される。このようにして得られた図5のようなトレース情報から、図4の信号波形を再現することができる。図6に二重化したバスのそれぞれのトレース情報を並べた例を示す。この例では、アドレス1120に対するリードデータが、CPU1a側が5555に対し、CPU1b側が5554となって比較不一致となっている。このような際に、異常検知がなされる。その際に、異常検知の前後のバス状態情報が保持されているので、直前のデータアクセスがアドレス2004へのアクセスであることが分かる。このように、異常検知の直接原因となったメモリアドレスの確定や、異常検知前後のプログラム処理を知ることができるため、故障部位の推定が容易となる。また、CPUエラーにより動作停止した場合には、CPU1a側トレース、CPU1b側トレースには同一のバス情報が格納される。従って、二重化したトレース情報よりハードウェア故障による比較不一致を起因とした動作停止ではなく、プログラム処理の異常による動作停止と判別できる。また、異常検知前後のプログラム処理を知ることができるため、CPUプログラムの処理部位や、メモリアクセス先の特定が容易となる。