(57)【特許請求の範囲】
【請求項１】
互いに同一の制御演算を行う第１及び第２マイクロプロセッサを有する冗長化プロセッサ装置であって、前記第１及び第２マイクロプロセッサの演算結果を照合する照合手段と、前記第１及び第２マイクロプロセッサの種別情報を記憶する記憶手段と、この記憶手段の種別情報に基づいて前記第１及び第２マイクロプロセッサの命令コードを書き換えメンテナンス可能な変換テーブルにより変換するコード変換手段と、を具備した冗長化プロセッサ装置。
【請求項２】
システムバスを介して結合された、単体で実行可能な第１、第２プロセッサ装置の一方が実作業中は他方が同一演算を実行して同期的に待機する冗長化プロセッサ装置において、
前記第１及び第２プロセッサ装置の双方に、互いに同一の制御演算を行う第１及び第２マイクロプロセッサと、この第１及び第２マイクロプロセッサの演算結果を照合する照合手段を具備し、
前記第１又は第２プロセッサ装置の一方に、前記第１及び第２マイクロプロセッサの種別情報を記憶する記憶手段と、この記憶手段の種別情報に基づいて前記第１及び第２マイクロプロセッサの命令コードを書き換えメンテナンス可能な変換テーブルにより変換するコード変換手段を具備した冗長化プロセッサ装置。
【請求項３】
システムバスを介して結合された、単体で実行可能な第１マイクロプロセッサを有する第１プロセッサ装置と、この第１プロセッサ装置が実作業中は同一演算を実行して同期的に待機する第２マイクロプロセッサを有する第２プロセッサ装置よりなる冗長化プロセッサ装置において、前記第１及び第２マイクロプロセッサの種別情報を記憶する記憶手段と、この記憶手段の種別情報に基づいて前記第１又は第２マイクロプロセッサの命令コードを書き換えメンテナンス可能な変換テーブルにより変換するコード変換手段と、を具備した冗長化プロセッサ装置。
【請求項４】
前記記憶手段がＢＯＯＴ  ＲＯＭ手段で実現されてなる請求項１乃至３記載の冗長化プロセッサ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プロセス制御のために適用される冗長化プロセッサ装置に関する。
【０００２】
【従来の技術】
冗長化の典型的な手法の例として特開平６−２４２９７９号記載技術の概要を図４のブロック図で説明する。ＰＣ１, ＰＣ２は、単体で実行可能な第１, 第２プロセッサ装置であり、互いにシステムバスＥＢで結ばれている。
【０００３】
ＰＳ１は第１プロセッサ装置ＰＣ１の動作電源、ＰＳ２は第２プロセッサ装置ＰＣ２の動作電源であり、互いに独立した構成となっている。
【０００４】
これらプロセッサ装置ＰＣ１, ＰＣ２は、互いに同期して動作すると共に、データベースを等値化されるように構成されていて、一方のプロセッサ装置が実作業につき、他方のプロセッサ装置実作業に関与せず待機するようになっている。
【０００５】
第１, 第２プロセッサ装置ＰＣ１, ＰＣ２において、１１, １２は互いに同一の制御演算を行う２つのマイクロプロセッサ、1３は２つのマイクロプロセッサ１１, １２からの演算結果が一致するか否かを所定の演算周期で照合する照合手段で、照合結果に応じていずれのかのマイクロプロセッサからの演算データをシステムバスＥＢに出力するか否かを決めると共に、システムバスとのインターフェイスとしても機能し、データ・フロー制御を行う。
【０００６】
即ち、この照合手段１３は、２つのマイクロプロセッサ１１, １２から出力される演算結果を照合し、それらが一致する場合はその演算データをシステムバスＥＢに出力し、不一致と判断された場合は、その演算データは出力せず、実作業に関与している一方のプロセッサ装置の制御権を待機側となっている他方のプロセッサ装置に切り替えるための制御信号を出力する。
【０００７】
第１, 第２プロセッサ装置ＰＣ１, ＰＣ２において、照合手段１３が不一致を判断した場合は、自身のプロセッサ装置は自己判断行うと共に、その判断結果、マイクロプロセッサ等のハードウェアに異常が検出されなかった場合には待機状態で復帰する。
【０００８】
１４は、照合手段１３と同様にシステムバスＥＢを介して結ばれた主記憶装置であり、エラーの検出・訂正機能を有する。１５, １６は内部バスのインターフェイス、１７は上位計算機との通信を行う上位通信インターフェイスで、これらはいずれもシステムバスＥＢに接続されている。
【０００９】
ＰＩ１は、第１のリモートバスインターフェイス（Ｉ／Ｏ）であり、第１プロセッサ装置ＰＣ１のバスインターフェイス１５及び, 第２プロセッサ装置ＰＣ２のバスインターフェイス１５に接続されている。同様にＰＩ２は、第２のリモートバスインターフェイス（Ｉ／Ｏ）であり、第２プロセッサ装置ＰＣ１のバスインターフェイス１６及び, 第２プロセッサ装置ＰＣ２のバスインターフェイス１６に接続されている
【００１０】
【発明が解決しようとする課題】
このような構成において冗長化プロセッサ装置ＰＣ１, ＰＣ２の制御動作切り替えを、継続性を維持しながら即座に切り替える為には、冗長化されたプロセッサ装置内部の主記憶装置の内容が、制御動作の切り替えを継続可能な範囲で一致していなければならない。
【００１１】
それを為に、冗長化された第１, 第２プロセッサ装置ＰＣ１, ＰＣ２内のマイクロプロセッサ１１, １２は、各プロセッサ装置内において同一命令を実行する同一マイクロプロセッサで構成されなければならない。
【００１２】
しかしながら、プロセス制御用の冗長化プロセッサ装置は、製品寿命が長いことより、それを維持開発する上で、プロセッサ装置の性能（パフォーマンス）向上要求、コスト削減、部品（マイクロプロセッサ等）の製造中止等の様々な理由で製品ラインアップが発生し、異なったマイクロプロセッサを使用するケースが多い。
【００１３】
それらの異なったマイクロプロセッサで構成されたプロセッサ装置では、命令コードが異なる場合には、制御側のプログラムを待機側へコピーして実行を継続することが困難となる。
【００１４】
プロセス制御用の冗長化プロセッサ装置では、製品ラインアップを維持管理していかなければならないので、製造中止になった部品で構成された装置を長期に渡り保守してゆくことになり、管理コストが非常に高くなる問題点がある。
【００１５】
また、プロセッサ装置のラインアップが複数あると、プロセッサ装置の障害発生時の代替品として予備のカードをラインアップ毎に複数用意しなくてはならず、やはり保守維持費用が高くなる問題がある。
【００１６】
【課題を解決するための手段】
本発明は、このような問題点を解決する冗長化プロセッサ装置を提供するものであり、請求項１記載の発明は、互いに同一の制御演算を行う第１、第２マイクロプロセッサを有する冗長化プロセッサ装置であって、前記第１及び第２マイクロプロセッサの演算結果を照合する照合手段と、前記第１及び第２マイクロプロセッサの種別情報を記憶する記憶手段と、この記憶手段の種別情報に基づいて前記第１又は第２マイクロプロセッサの命令コードを書き換えメンテナンス可能な変換テーブルにより変換するコード変換手段とを具備した構成を特徴とする。
【００１７】
請求項２記載の発明は、システムバスを介して結合された、単体で実行可能な第１、第２プロセッサ装置の一方が実作業中は他方が同一演算を実行して同期的に待機する冗長化プロセッサ装置において、前記第１及び第２プロセッサ装置の双方に、互いに同一の制御演算を行う第１及び第２マイクロプロセッサと、この第１及び第２マイクロプロセッサの演算結果を照合する照合手段を具備し、前記第１又は第２プロセッサ装置の一方に、前記第１及び第２マイクロプロセッサの種別情報を記憶する記憶手段と、この記憶手段の種別情報に基づいて前記第１及び第２マイクロプロセッサの命令コードを書き換えメンテナンス可能な変換テーブルにより変換するコード変換手段を具備した構成を特徴とする。
【００１８】
請求項３記載の発明は、システムバスを介して結合された、単体で実行可能な第１マイクロプロセッサを有する第１プロセッサ装置と、この第１プロセッサ装置が実作業中は同一演算を実行して同期的に待機する第２マイクロプロセッサを有する第２プロセッサ装置よりなる冗長化プロセッサ装置において、前記第１及び第２マイクロプロセッサの種別情報を記憶する記憶手段と、この記憶手段の種別情報に基づいて前記第１又は第２マイクロプロセッサの命令コードを書き換えメンテナンス可能な変換テーブルにより変換するコード変換手段とを具備した構成を特徴とする。
【００１９】
請求項４記載の発明は、請求項１乃至３記載の記憶手段がＢＯＯＴ ＲＯＭ手段で実現された構成を特徴とする。
【００２０】
【発明の実施の形態】
以下本発明の実施形態を図面により詳細に説明する。図１は、請求項１に対応する本発明の基本構成を示す実施例である。この実施例は、図４で示した従来装置におけるプロセッサ装置ＰＣ１に本発明を適用したものであり、図４と同一要素には同一符号を付して示す。
【００２１】
プロセッサ装置ＰＣ１のマイクロプロセッサ１１, １２は、単一マイクロプロセッサ構成とすることができるので、これをブロック１８（μＰ１）とする。１９はシステムバスＥＢに接続されたＢＯＯＴ  ＲＯＭ手段であり、これに格納されたプログラムには相手側プロセッサ装置におけるマイクロプロセッサの種類等を判別する機能を有する。
【００２２】
２０は同じくシステムバスＥＢに接続されたコード変換手段であり、主記手段からマイクロプロセッサが命令コードを読み込む時にこのマイクロプロセッサが実行可能な命令コードに変換する機能を有する。
【００２３】
コード変換手段２０は、相手側マイクロプロセッサに応じてコード変換の可否を設定する機能及びマイクロプロセッサ毎の変換テーブルを有し、それらを設定により選択できる機能を有する。
【００２４】
この結果、ＢＯＯＴ  ＲＯＭ手段１９、コード変換手段２０の書き換えメンテナンスをすることにより、このマイクロプロセッサの選択が極めて柔軟となり、製造中止になった部品で構成された装置を長期に渡り保守してゆく必要もなく、代替品として予備のカードをラインアップ毎に複数用意する必要もないので、管理コストを大幅に低減することが可能となる。
【００２５】
図２の実施態様は、図４で示した従来の冗長化プロセッサ装置に本発明を適用したものであり、本発明請求項２の構成に対応する。図１との相違点は第２プロセッサ装置ＰＣ２が追加された構成にある。第２プロセッサ装置ＰＣ２のプロセッサ１１, １２は、1つのマイクロプロセッサ構成とすることができるので、これをブロック２１（μＰ２）とする。プロセッサ装置ＰＣ２の構成は図４の従来装置のPC2の構成と同一である。
【００２６】
図３の実施態様は、図２の各プロセッサ装置のマイクロプロセッサが単一のマイクロプロセッサで構成された実施例であり、請求項３の構成に対応する。図２比較した構成上の特徴は、各プロセッサ装置において２個のマイクロプロセッサの演算結果を照合するための照合手段を有しない点である。この構成での各プロセッサ装置の故障監視は、夫々が具備している自己診断機能又は他の異常判断機能（図示せず）を利用する。
【００２７】
なお、図３の実施例で、他方のプロセッサ装置ＰＣ２にもコード変換手段２０を接続してもよい。このように構成すると、プロセッサ装置ＰＣ２は旧システムプログラムを実行することができ、プロセッサ装置ＰＣ２のプログラムを変更する必要がない。
【００２８】
次に冗長化切り替えの動作につき説明する。一方のプロセッサ装置ＰＣ１が障害により故障して他方のプロセッサ装置ＰＣ２が制御側となりバックアップ動作をしているものとし、待機側となったプロセッサ装置ＰＣ１のマイクロプロセッサを交換メンテナンスする場合を想定する。
【００２９】
まず、ＢＯＯＴ  ＲＯＭ手段１９のプログラムには、相手側プロセッサ装置ＰＣ２のマイクロプロセッサの種類等を判別する機能がある。コード変換手段２０は、相手側マイクロプロセッサに応じてコード変換の可否を設定する機能及びマイクロプロセッサ毎の変換テーブルを有し、それらを設定により選択できる機能を有する。
【００３０】
プロセッサ装置ＰＣ１を代替とした場合に、ＰＣ１に電源投入あるいはＰＣ１の初期実行が行われる時にＢＯＯＴ  ＲＯＭ手段１９のプログラムは相手装置ＰＣ２側のマイクロプロセッサの種類を判別し、コード変換手段２０に、相手側装置のマイクロプロセッサに応じて、コード変換の可否の設定あるいはマイクロプロセッサを選択する設定を実行する。その後、制御側プロセッサ装置ＰＣ２より待機側プロセッサ装置ＰＣ１へ命令コードとデータのコピーを行い、コピー終了後に両プロセッサ装置の同期実行をスタートさせる。
【００３１】
【発明の効果】
以上説明したことから明らかなように、本発明によれば、プロセス制御用の冗長化プロセッサ装置ＣＰ１, ＣＰ２を、異なった命令コードを実行するマイクロプロセッサで構成した場合、プログラムを変更することなく、制御側のプログラムを待機側にコピーし、同期実行可能な冗長化プロセッサ装置を実現できる。
【００３２】
これにより、プロセッサ装置の障害発生時の代替品として製品ラインアップ毎にプロセッサ装置を維持管理する必要がなくなり、保守管理費用が削減でき、より長期的な保守メンテナンスが可能となる。
【００３３】
また装置のユーザーやサービス部署では、プロセッサ装置の障害発生時の代替品として予備のカードをラインアップ毎に複数用意する必要がなくなり、保守維持費用が大幅に削減できる。
【図面の簡単な説明】
【図１】本発明による冗長化プロセッサ装置の一実施例を示すブロック図である。
【図２】本発明による冗長化プロセッサ装置の他の実施例を示すブロック図である。
【図３】本発明による冗長化プロセッサ装置の更に他の実施例を示すブロック図である。
【図４】従来の冗長化プロセッサ装置の一例を示すブロック図である。
【符号の説明】
ＰＣ１, ＰＣ２  プロセッサ装置
１１, １２      マイクロプロセッサ
１３            照合手段
１４            主記憶手段
１５，１６      バスインターフェイス
１９            ＢＯＯＴ  ＲＯＭ手段
２０            コード変換手段
【図１】
0003741256.tif 000002
【図２】
0003741256.tif 000003
【図３】
0003741256.tif 000004
【図４】
0003741256.tif 000005