(57)【特許請求の範囲】
【請求項１】
制御コアおよび１または複数の待機コアを有する制御用ＣＰＵチップ、および、情報を記憶する主記憶部を搭載した制御系ＣＰＵカードと、
制御コアおよび１または複数の待機コアを有する待機用ＣＰＵチップ、および、情報を記憶する主記憶部を搭載した待機系ＣＰＵカードと、
上記制御系ＣＰＵカードと上記待機系ＣＰＵカードと間で上記情報を共有するための通信を行うインターフェイスとを備えた制御装置であって、
上記制御系ＣＰＵカードにおいて、上記制御コアが正常である場合には、上記制御コアが制御演算を行い演算結果を出力し、
上記制御コアが異常である場合には、いずれか１の上記待機コアを制御用としてのコアに切り替えて上記制御演算を行い上記演算結果の出力を継続し、
上記制御コアおよび１または複数の上記待機コアの全てが異常である場合には、上記制御系ＣＰＵカードから上記待機系ＣＰＵカードに系切り替えを行う制御装置であって、
上記各主記憶部は、上記制御コアおよび１または複数の上記待機コアの上記各演算結果を別々に格納する演算データ領域をそれぞれ形成し、
上記制御コアおよび上記待機コアがいずれも同じ上記制御演算を行い、上記各演算結果を上記各演算データ領域にそれぞれ格納し、
上記制御コア用の上記演算データ領域に障害が発生すると、
上記待機コア用の上記演算データ領域に格納されている上記演算結果を上記制御コア用の上記演算データ領域に保存して上記制御コアでの上記制御演算を継続する制御装置。
【請求項２】
制御コアおよび１または複数の待機コアを有する制御用ＣＰＵチップ、および、情報を記憶する主記憶部を搭載した制御系ＣＰＵカードと、
制御コアおよび１または複数の待機コアを有する待機用ＣＰＵチップ、および、情報を記憶する主記憶部を搭載した待機系ＣＰＵカードと、
上記制御系ＣＰＵカードと上記待機系ＣＰＵカードと間で上記情報を共有するための通信を行うインターフェイスとを備えた制御装置であって、
上記制御系ＣＰＵカードにおいて、上記制御コアが正常である場合には、上記制御コアが制御演算を行い演算結果を出力し、
上記制御コアが異常である場合には、いずれか１の上記待機コアを制御用としてのコアに切り替えて上記制御演算を行い上記演算結果の出力を継続し、
上記制御コアおよび１または複数の上記待機コアの全てが異常である場合には、上記制御系ＣＰＵカードから上記待機系ＣＰＵカードに系切り替えを行う制御装置であって、
上記各主記憶部は、上記制御コアおよび１または複数の上記待機コアの上記各演算結果を別々に格納する演算データ領域をそれぞれ形成し、
上記制御コアおよび１または複数の上記待機コアは、上記各演算結果をそれぞれ格納するキャッシュメモリをそれぞれ形成し、
上記各キャッシュメモリは、ライトバックモードに設定され、
上記制御コアおよび上記待機コアがいずれも同じ上記制御演算を行い、上記各演算結果を上記各キャッシュメモリにそれぞれ格納し、
上記制御コアの上記キャッシュメモリに障害が発生すると、
上記待機コアの上記キャッシュメモリの上記演算結果を、上記待機コア用の上記演算データ領域に保存し、
上記待機コア用の上記演算データ領域の当該演算結果を上記制御コア用の上記演算データ領域に保存して、
上記制御コア用の上記演算データ領域の当該演算結果を上記制御コアの上記キャッシュメモリに保存して、
上記制御コアでの上記制御演算を継続する制御装置。
【請求項３】
上記制御系ＣＰＵカードにおいて、
上記制御コアおよび上記待機コアがいずれも同じ上記制御演算を行い、
上記制御コアおよび上記待機コアの上記各演算結果を比較し、
当該演算結果が一致していれば、上記制御コアにて上記制御演算を行い、
当該演算結果が一致していなければ、上記待機コアを制御用としてのコアに切り替え上記制御演算を行う請求項１または請求項２に記載の制御装置。
【請求項４】
上記待機コアが２以上であって、
上記制御系ＣＰＵカードにおいて、
上記制御コアおよび上記待機コアがいずれも同じ上記制御演算を行い、
上記制御コアおよび上記待機コアの上記各演算結果を多数決にて比較し、
当該多数決の多数が上記制御コアの上記演算結果ならば、上記制御コアにて上記制御演算を行い、
上記多数決の多数が上記制御コアの上記演算結果でないならば、上記多数決の多数となった上記演算結果を有する上記待機コアを制御用としてのコアに切り替え上記制御演算を行う請求項１または請求項２に記載の制御装置。
【請求項５】
上記制御系ＣＰＵカードおよび上記待機系ＣＰＵカードの上記各演算結果の外部への出力を二重化する第１および第２システムバスを形成し、
一方の上記システムバスに障害が発生すると、他方の上記システムバスに切り替えるバススイッチャを上記制御系ＣＰＵカードおよび上記待機系ＣＰＵカードと上記各システムバスとの間にそれぞれ形成した請求項１から請求項４のいずれか１項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、２４時間３６５日連続運転する高稼働率の原子力／火力発電所等、ミッションクリティカルな領域に適用されるものである。そして、この発明は、制御系および待機系の２重系のＣＰＵユニットから構成されている。よって、この発明は、異常検出時において、系切り替えを行い制御演算を継続するという高信頼性が求められている制御装置に関するものである。
【背景技術】
【０００２】
従来のミッションクリティカルな領域に適用される制御装置は、その制御装置のＣＰＵユニットが、シングルコアのＣＰＵチップにて構成する。そして、ＣＰＵユニット自体が２重系を構成している場合がある。よって、ＳＥＵ（ＳｉｎｇｌｅＥｖｅｎｔＵｐｓｅｔ、放射線によって発生する一過性の電子デバイス異常）に起因する異常発生時には、系切り替えを即時に行って対応している。【０００３】
他の従来の制御装置としては、ＣＰＵチップにマルチコアで二重化を組む技術を用いるものがある。この制御装置はマルチコアＣＰＵ用のＨｙｐｅｒＶｉｓｏｒの機能を利用している。そして、両系の計算機で、相手のデータを保持することで二重化を実現している。この手法では、ＳＥＵに起因する異常発生時において、系切り替えが発生する。さらに、制御装置では、制御演算にリアルタイム性が要求されるため、ＨｙｐｅｒＶｉｓｏｒの処理がオーバヘッドとなる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−８０６９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のミッションクリティカルな領域に適用される制御装置は、シングルコアのＣＰＵチップを搭載しているＣＰＵユニットで２重系を組んでいる。このために、従来の制御装置は、ＳＥＵによる一過性のエラーであっても重故障と見做して、系切り替えを行う。よって、従来の制御装置は、ＣＰＵユニットとしての稼働率が低いという問題点があった。【０００６】
さらに、従来のシングルコアのＣＰＵチップで使用している制御装置の系切り替え方式を、マルチコアのＣＰＵチップを有する制御装置に適用する。すると、１つのコアで異常検出しただけで、他のコアが正常に実行している場合であっても、ＣＰＵユニット毎の系切り替えを行う。よって、ＣＰＵユニットとして稼働率が悪いという問題点があった。【０００７】
この発明は上記のような課題を解決するためになされたものであり、高信頼性を有するとともに稼働率に優れた制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明の制御装置は、
制御コアおよび１または複数の待機コアを有する制御用ＣＰＵチップ、および、情報を記憶する主記憶部を搭載した制御系ＣＰＵカードと、
制御コアおよび１または複数の待機コアを有する待機用ＣＰＵチップ、および、情報を記憶する主記憶部を搭載した待機系ＣＰＵカードと、
上記制御系ＣＰＵカードと上記待機系ＣＰＵカードと間で上記情報を共有するための通信を行うインターフェイスとを備えた制御装置であって、
上記制御系ＣＰＵカードにおいて、上記制御コアが正常である場合には、上記制御コアが制御演算を行い演算結果を出力し、
上記制御コアが異常である場合には、いずれか１の上記待機コアを制御用としてのコアに切り替えて上記制御演算を行い上記演算結果の出力を継続し、
上記制御コアおよび１または複数の上記待機コアの全てが異常である場合には、上記制御系ＣＰＵカードから上記待機系ＣＰＵカードに系切り替えを行う制御装置であって、
上記各主記憶部は、上記制御コアおよび１または複数の上記待機コアの上記各演算結果を別々に格納する演算データ領域をそれぞれ形成し、
上記制御コアおよび上記待機コアがいずれも同じ上記制御演算を行い、上記各演算結果を上記各演算データ領域にそれぞれ格納し、
上記制御コア用の上記演算データ領域に障害が発生すると、
上記待機コア用の上記演算データ領域に格納されている上記演算結果を上記制御コア用の上記演算データ領域に保存して上記制御コアでの上記制御演算を継続するものである。
また、この発明の制御装置は、
制御コアおよび１または複数の待機コアを有する制御用ＣＰＵチップ、および、情報を記憶する主記憶部を搭載した制御系ＣＰＵカードと、
制御コアおよび１または複数の待機コアを有する待機用ＣＰＵチップ、および、情報を記憶する主記憶部を搭載した待機系ＣＰＵカードと、
上記制御系ＣＰＵカードと上記待機系ＣＰＵカードと間で上記情報を共有するための通信を行うインターフェイスとを備えた制御装置であって、
上記制御系ＣＰＵカードにおいて、上記制御コアが正常である場合には、上記制御コアが制御演算を行い演算結果を出力し、
上記制御コアが異常である場合には、いずれか１の上記待機コアを制御用としてのコアに切り替えて上記制御演算を行い上記演算結果の出力を継続し、
上記制御コアおよび１または複数の上記待機コアの全てが異常である場合には、上記制御系ＣＰＵカードから上記待機系ＣＰＵカードに系切り替えを行う制御装置であって、
上記各主記憶部は、上記制御コアおよび１または複数の上記待機コアの上記各演算結果を別々に格納する演算データ領域をそれぞれ形成し、
上記制御コアおよび１または複数の上記待機コアは、上記各演算結果をそれぞれ格納するキャッシュメモリをそれぞれ形成し、
上記各キャッシュメモリは、ライトバックモードに設定され、
上記制御コアおよび上記待機コアがいずれも同じ上記制御演算を行い、上記各演算結果を上記各キャッシュメモリにそれぞれ格納し、
上記制御コアの上記キャッシュメモリに障害が発生すると、
上記待機コアの上記キャッシュメモリの上記演算結果を、上記待機コア用の上記演算データ領域に保存し、
上記待機コア用の上記演算データ領域の当該演算結果を上記制御コア用の上記演算データ領域に保存して、
上記制御コア用の上記演算データ領域の当該演算結果を上記制御コアの上記キャッシュメモリに保存して、
上記制御コアでの上記制御演算を継続するものである。
【発明の効果】
【０００９】
この発明の制御装置は、上記のように構成されているため、高信頼性を有するとともに稼働率に優れている。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１の制御装置の構成を示す図である。
【図２】図１に示した制御装置の遷移状態を説明するための遷移図である。
【図３】図１に示した制御装置の動作を説明するためのフローチャートである。
【図４】この発明の実施の形態３の制御装置の構成を示す図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
以下、本願発明の実施の形態について説明する。図１はこの発明の実施の形態１における制御装置の構成を示す図、図２は図１に示した制御装置の遷移状態を説明するための遷移図、図３は図１に示した制御装置の動作を説明するためのフローチャートである。図において、制御装置は、制御系ＣＰＵユニット１と待機系ＣＰＵユニット２とが存在する。そして、制御系ＣＰＵユニット１と待機系ＣＰＵユニット２とは、同様の制御演算および処理を行うことができるように、以下に示すように同様に構成されている。尚、制御系ＣＰＵユニット１および待機系ＣＰＵユニット２は、同様の動作が可能である。また、このことは以下の実施の形態においても同様であるため、この説明は適宜省略する。
【００１２】
制御系ＣＰＵユニット１と待機系ＣＰＵユニット２とは、制御系ＣＰＵカード１１、待機系ＣＰＵカード２１および第１インターフェイス（以下、Ｉ／Ｆと称す）カード１２１、２２１、および、第２Ｉ／Ｆカード１２２、２２２をそれぞれ備えている。制御系ＣＰＵカード１１、待機系ＣＰＵカード２１は、制御演算および系間通信を行うものである。そして、制御系ＣＰＵカード１１、待機系ＣＰＵカード２１は、マルチコアの制御用ＣＰＵチップ１２、待機用ＣＰＵチップ２２と、主記憶部１３、２３とをそれぞれ備えている。
【００１３】
第１Ｉ／Ｆカード１２１、２２１、および、第２Ｉ／Ｆカード１２２、２２２は、ネットワーク等、制御装置の外部と、制御系ＣＰＵカード１１、待機系ＣＰＵカード２１とのＩ／Ｆであり、第１システムバス３１、３２を介して行うものである。Ｉ／Ｆ３３は、制御系ＣＰＵカード１１と待機系ＣＰＵカード２１と間で情報を共有するための通信を行うものである。そして、Ｉ／Ｆ３３は、制御系ＣＰＵユニット１と待機系ＣＰＵユニット２とを系間通信バス３４、３５を用いて系間通信を行うものである。そして、このＩ／Ｆ３３により、制御系ＣＰＵユニット１と待機系ＣＰＵユニット２とは２重系を構成する。
【００１４】
制御用ＣＰＵチップ１２、待機用ＣＰＵチップ２２は、第１コア１４、２４、第２コア１５、２５、システムバスコントローラ１９、２９、メモリコントローラ１７、２７、および系間通信バスコントローラ１６、２６とをそれぞれ備えている。第１コア１４、２４および第２コア１５、２５は、制御演算を行うものである。システムバスコントローラ１９、２９は、第１システムバス３１、３２にそれぞれ接続され、第１システムバス３１、３２を介して制御装置の外部に送信するデータを制御するものである。
【００１５】
メモリコントローラ１７、２７は、第１コア１４、２４、第２コア１５、２５の演算結果の主記憶部１３、２３への記憶を制御するものである。系間通信バスコントローラ１６、２６は、系間通信バス３４、３５にそれぞれ接続され、系間を２重系するために必要な情報を制御するものである。主記憶部１３、２３は、各種情報を記憶するものである。
そして、主記憶部１３、２３は、第１演算データ領域１３ａ、２３ａ、第２演算データ領域１３ｂ、２３ｂと、コード領域１３ｃ、２３ｃとをそれぞれ備えている。
【００１６】
第１演算データ領域１３ａ、２３ａ、第２演算データ領域１３ｂ、２３ｂは、第１コア１４、２４、第２コア１５、２５の各演算結果をメモリコントローラ１７、２７により制御され記憶されるものである。コード領域１３ｃ、２３ｃは、制御演算を行うために必要となる制御演算コードを記憶するものである。第１コア１４、２４および第２コア１５、２５は、演算結果などを保存するキャッシュメモリ１４１、１５１、２４１、２５１をそれぞれ備えている。キャッシュメモリ１４１、１５１、２４１、２５１は、制御演算の演算性能を上げるための記憶部で、例えばＳＲＡＭにて構成されているものである。また、各キャッシュメモリ１４１、１５１、２４１、２５１は、ライトスルーモードで使用されている。よって、各キャッシュメモリ１４１、１５１、２４１、２５１の内容と、主記憶部１３、２３の内容とは同一となる。
【００１７】
次に上記のように構成された実施の形態１の制御装置の制御動作について説明する。まず、制御系ＣＰＵユニット１は、第１コア１４を制御コア、第２コア１５を待機コアとしてあらかじめ設定する。次に、第１コア１４および第２コア１５は、主記憶部１３上の同じ制御演算コードを実行する。そして、第１Ｉ／Ｆカード１２１および第２Ｉ／Ｆカード１２２との通信処理は、システムバスコントローラ１９により、制御コアである第１コア１４のみにて実施されている。
【００１８】
また、第１コア１４および第２コア１５では、キャッシュメモリ１４１、１５１などを定期的にかつ自己診断を行い、故障および異常などを検出している。そして、第１コア１４および第２コア１５では、故障検出、異常信号などを、割り込みによる例外処理にて行う。また、系間通信バスコントローラ１６が、制御系ＣＰＵユニット１および待機系ＣＰＵユニット２間で、Ｉ／Ｆ３３を用いて、定期的に制御演算に必要な情報を、制御系ＣＰＵユニット１から待機系ＣＰＵユニット２に送信している。そして、系切り替え発生時には、制御系ＣＰＵユニットに切り替わった待機系ＣＰＵユニット２で制御演算を継続できるように設定されている。従って、待機系ＣＰＵユニット２では、制御系ＣＰＵユニットとして制御コアである第１コア２４、待機コアである第２コア２５などを上記に示した場合と同様に同じ制御演算コードを実行することができる。
【００１９】
次に、上記のように構成された実施の形態１の制御装置の切り替え状態の遷移について図２の遷移図を用いて説明する。まず、制御系ＣＰＵユニット１、待機系ＣＰＵユニット２の両方とも、正常、かつ、第１コア１４、２４および第２コア１５、２５の両方とも正常である状態の『両系正常・両コア正常』からスタートする。そして、制御系ＣＰＵユニット１の、第１コア１４、第２コア１５のどちらかのコアで、異常検出した場合には、『両系正常・片コア異常』に遷移する（図２のステップＳ１０１）。この際、異常検出したコアが制御コアであった場合には、制御コアを待機コアとする。そして、それまで待機コアであったコアを制御コアに切り替え制御演算を継続する。また、異常検出したコアが待機コアであった場合には、制御コアは制御演算を継続する。
【００２０】
そして、『両系正常・片コア異常』の遷移状態から異常コア（第１コア１４、または、第２コア１５のいずれか）が異常状態から正常状態に復帰した場合には、『両系正常・両コア正常』の状態に遷移する（図２のステップＳ１０２）。そして、『両系正常・片コア異常』の遷移状態で、制御系ＣＰＵユニット１の制御コア（第１コア１４、または、第２コア１５のいずれか）が異常検出した場合には、状態を『片系異常・両コア正常』に遷移する。尚、この場合、第１コア１４および第２コア１５のいずれもが異常である。
【００２１】
これは、制御系ＣＰＵユニット１から待機系ＣＰＵユニット２の間で系切り替えが行われることを指す。そして、待機系ＣＰＵユニット２が、新たに制御系ＣＰＵユニットとして立ち上がる。よって、制御系となった待機系ＣＰＵユニット２の第１コア２４および第２コア２５は、両方ともが正常であるため、両コア正常となる（図２のステップＳ１０３）。そして、『片系異常・両コア正常』の状態で他系のＣＰＵユニットの各コアが正常状態に復帰した場合には、状態を『両系正常・両コア正常』に遷移する（図２のステップＳ１０４）。
【００２２】
そして、『片系異常・両コア正常』時に、待機系ＣＰＵユニット２の第１コア２４、第２コア２５のいずれかに異常を検出した場合には、『片系異常・片コア異常』に遷移する（図２のステップＳ１０５）。この際、異常検出したコアが制御コアであった場合には、制御コアを待機コアとする。そして、それまで待機コアであったコアを制御コアに切り替え制御演算を継続する。そして、『片系異常・片コア異常』の遷移状態から異常コア（第１コア２４、または、第２コア２５のいずれか）が異常状態から正常状態に復帰した場合には、『片系異常・両コア正常』の状態に遷移する（図２のステップＳ１０６）。
【００２３】
そして、『片系異常・片コア異常』の遷移状態から、自系の制御コアが異常を検出した場合には、状態を『両系重故障』に遷移して、制御演算を停止し、ＨＡＬＴ（停止）状態になる（図２のステップＳ１０７）。そして、『両系正常・両コア正常』の遷移状態から、制御系ＣＰＵユニット１の、第１コア１４、第２コア１５のいずれもが異常検出した場合には、状態を『片系異常・両コア正常』に遷移する（図２のステップＳ１０８）。そして、『両系正常・片コア異常』の遷移状態から、制御系ＣＰＵユニット１の、第１コア１４、第２コア１５のいずれもの異常検出し、かつ、待機系ＣＰＵユニット２の、第１コア２４、第２コア２５のいずれかが異常を検出した場合には、状態を『片系異常・片コア異常』に遷移する（図２のステップＳ１０９）。
【００２４】
そして、『片系正常・片コア異常』の遷移状態から、制御系ＣＰＵユニット１の、第１コア１４、第２コア１５のいずれかが正常を検出し、かつ、待機系ＣＰＵユニット２の、第１コア２４、第２コア２５のいずれかもが正常を検出した場合には、状態を『両系正常・片コア異常』に遷移する（図２のステップＳ１１０）。
【００２５】
従来、制御系ＣＰＵユニットおよび待機系ＣＰＵユニット２では、１つのＣＰＵのコアに異常を検出すると、即時に系切り替えを行って、自系（制御系ＣＰＵユニット）の処理を停止していた。しかし、上記に示したように実施の形態１の制御系ＣＰＵユニット１および待機系ＣＰＵユニット２は、マルチコアを有し、１つのＣＰＵのコアで異常検出しても、同一ＣＰＵチップ内の他のコアで演算を継続することができる。よって、稼働率の高い装置を得ることができる。
【００２６】
次に上記のように構成された実施の形態１の制御装置の切り替え動作について、図３に基づいて説明する。まず、制御系ＣＰＵユニット１の制御系ＣＰＵカード１１の制御コアである第１コア１４、待機コアである第２コア１５は、同じデータを入力する（図３のステップＳ２０１）。次に、第１コア１４および第２コア１５にて同じ制御演算を実行する（図３のステップＳ２０２）。次に、第１コア１４および第２コア１５は各演算結果を主記憶部１３の演算データ領域１３ａに格納し、演算結果を比較する（図３のステップＳ２０３）。
【００２７】
そして、比較の結果が、演算結果が一致するならば、第１コア１４はデータを出力する（図３のステップＳ２０４）。そして、ステップＳ２０１に戻り、再び上記に示した制御演算を継続する。また、比較の結果、演算結果が一致しない（不一致）ならば、待機コアである第２コア１５の状態をチェックする（図３のステップＳ２０５）。そして、正常（ＹＥＳ）ならば、待機コアである第２コア１５を制御コアに切り替える（図３のステップＳ２０６）。そして、ステップＳ２０１に戻り、再び上記に示した制御演算を継続する。また、待機コアである第２コア１５が異常であった場合には（ＮＯ）、待機系ＣＰＵユニット２の状態をチェックする（図３のステップＳ２０７）。
【００２８】
そして、正常（ＹＥＳ）ならば、待機系ＣＰＵユニット２を制御系ＣＰＵユニットとして切り替える（図３のステップＳ２０８）。そして、ステップＳ２０１に戻り、待機系ＣＰＵユニット２が制御系ＣＰＵユニットとなり、制御系となった待機系ＣＰＵユニット２側にて再び上記に示した制御演算を継続する。また、待機系である待機系ＣＰＵユニット２が異常であった場合には（ＮＯ）、両系とも異常であるため、重故障処理と判断し、制御演算を停止する（図３のステップＳ２０９）。
【００２９】
上記に示した実施の形態１においては、コア間の切り替えを、演算結果を比較して一致または一致していない場合の例について示した。以下、他の場合について説明する。この場合は、まず、マルチコアが３以上、すなわち待機コアが２以上のコアが存在する場合について適用できる。
【００３０】
上記実施の形態１と同様に、制御コアおよび各待機コアのいずれも同じ制御演算を行う。次に、制御コアおよび各待機コアの各演算結果を多数決にて比較する。そして、多数決の多数が、制御コアの演算結果ならば、制御コアにて制御演算を行う。また、多数決の多数が制御コアの上記演算結果でないと判断される。その際は、多数決の多数となった演算結果を有する待機コアを、制御用のコアに切り替え制御演算を行うものである。
【００３１】
上記に示した実施の形態１によると、マルチコアが、同じ入力データを使用して、同じ制御演算を行って演算結果を比較し、異なっていたらコア切り替え、系切り替えを行うことにより、高稼働率を維持しつつ、信頼性の高い装置を得ることができる。
【００３２】
さらに、多数決により演算結果の選択を行うと、さらに信頼性の高い装置を得ることができる。
【００３３】
実施の形態２．
上記実施の形態１においては、制御コアである第１コア１４、待機コアである第２コア１５で使用する主記憶部１３の領域を第１演算データ領域１３ａ、第２演算データ領域１３ｂに分割して、同じ制御演算を実行している。よって、主記憶部１３に、例えばＥＣＣエラーが発生した時は、制御コアである第１コア１４、および、待機コアである第２コア１５を切り替えることで演算を継続する例を示した。本実施の形態２においては、主記憶部１３に障害、例えばＥＣＣエラーが発生した場合、コアを切り替えることなく行う場合について説明する。
【００３４】
本実施の形態２においては、制御コアである第１コア１４および待機コアである第２コア１５がいずれも同じ制御演算を行い、各キャッシュメモリ１４１、１５１にそれぞれ各演算結果が保存されている。そして、各キャッシュメモリ１４１、１５１は、ライトスルーモードで使用されているため、各キャッシュメモリ１４１、１５１の各演算結果は、第１演算データ領域１３ａおよび第２演算データ領域１３ｂにそれぞれ格納される。
【００３５】
そして、制御コアである第１コア１４用の第１演算データ領域１３ａに障害が発生する。その場合、待機コアである第２コア１５用の第２演算データ領域１３ｂに格納されている演算結果を、制御コアである第１コア１４用の第１演算データ領域１３ａに保存する。そして、制御コアである第１コア１４での制御演算を継続することができる。
【００３６】
上記のように構成された実施の形態２によれば、上記実施の形態１と同様の効果を奏するのはもちろんのこと、制御コアの演算データ領域に障害が発生しても、待機コアの演算データ領域の演算結果を用いて、制御コアでの演算を継続することができるため、演算効率が向上する。
【００３７】
実施の形態３．
上記各実施の形態においては、第１システムバス３１に、例えばパリティエラーが発生した時は、第１コア１４および第２コア１５でシステムバス３１を共有しているため、系切り替えでしか制御演算を継続することができない。
【００３８】
よって、本実施の形態３においては、図４に示すように、制御系ＣＰＵカード１１と、第１および第２Ｉ／Ｆカード１２１、１２２と間を第１および第２システムバス３１、３６にて二重化する。そして、この第１および第２システムバス３１、３６とシステムバスコントローラ１９間に、第１および第２システムバス３１、３６を切り替える、バススイッチャ４１を形成する。尚、待機系ＣＰＵユニット２も同様に、第１および第２システムバス３２、３７が二重化され、バススイッチャ４２が形成されている。
【００３９】
上記のように構成された実施の形態３の制御装置の動作について説明する。尚、システムバスの切り替え以外は上記各実施の形態と同様であるためその説明は適宜省略する。また、以下の実施の形態においても、システムバスの切り替えは同様に行うことができるため、その説明は適宜省略する。通常は、バススイッチャ４１にて選択され、第１システムバス３１を用いて、制御系ＣＰＵカード１１と制御装置の外部との通信が行われている。そして、第１システムバス３１に障害、例えば、パリティエラーが発生した場合には、バススイッチャ４１が第２システムバス３６に切り替わる。そして、第１システムバス３１を用いて、制御系ＣＰＵカード１１と制御装置の外部との通信が行われている。よって、コアを切り替えることなく、対応することが可能となる。
【００４０】
上記実施の形態３の制御装置によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、システムバスの障害に対しては、システムバスを二重化しておりこれらを切り替えることにより制御装置の外部との通信を行うことができる。よって、系切り替えを行うことなく、制御演算を継続して対応することができるため、演算効率が向上する。
【００４１】
実施の形態４．
上記各実施の形態では、キャッシュメモリ１４１、１５１、２４１、２５１をライトスルーモードに設定している。よって、キャッシュメモリ１４１、１５１、２４１、２５１の一過性のエラーが発生した時には、キャッシュメモリ１４１、１５１、２４１、２５１を無効化して主記憶部１３、２３に保存しているデータを読み直して、リカバリーを可能としている。しかし、ライトスルーモードでメモリライトを行っていることにより、制御演算の性能が低下している。
【００４２】
本実施の形態４においては、キャッシュメモリ１４１、１５１、２４１、２５１をライトバックモードに設定する場合について説明する。まず、上記各実施の形態と同様に、それぞれの第１および第２コア１４、１５で同じデータを入力し、同じ制御演算を実行する。そして、第１および第２コア１４、１５の各演算結果を、各キャッシュメモリ１４１、１５１にそれぞれ格納する。次に、例えば、制御コアである第１コア１４のキャッシュメモリ１４１に障害が発生する。次に、待機コアである第２コア１５のキャッシュメモリ１５１の演算結果を、待機コアである第２コア１５の第２演算データ領域１３ｂに保存する。
【００４３】
次に、待機コアである第２コア５の第２演算データ領域１３ｂの演算結果を、制御コアである第１コア１４の第１演算データ領域１３ａに保存する。次に、制御コアである第１コア１４の第１演算データ領域１３ａの演算結果を、制御コアである第１コア１４のキャッシュメモリ１４１に保存する。そして、制御コアである第１コア１４にて制御演算を継続する。
【００４４】
上記のように構成された実施の形態４によれば、制御コアのキャッシュメモリに一過性の障害が発生しても、コアを切り替えることなく、制御演算を継続することができるため、制御演算の性能を劣化させることなく、リカバリー処理が行え、稼働率、および、信頼性を高めることができる。また、キャッシュメモリをライトバックモードで使用するため、性能を落とさず制御演算を実行することが可能となる。
【００４５】
尚、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【図１】
0006029737.tif 000002
【図２】
0006029737.tif 000003
【図３】
0006029737.tif 000004
【図４】
0006029737.tif 000005