(57)【要約】      （修正有）【課題】ＣＰＵカード上のデュアルＣＰＵコアで同一タスクを同じアルゴリズムで処理させ、早く処理できたＣＰＵコアからのデータをトラッキング送信することで、ＣＰＵユニットの稼働率を向上させた二重化制御装置を提供する。【解決手段】制御系ＣＰＵユニット１と待機系ＣＰＵユニット２は、それぞれデュアルＣＰＵコア１５ａ、１５ｂを搭載したＣＰＵカード１１、２１が設けられ、ホットスタンバイを実現するために、制御系ＣＰＵユニット１のＣＰＵカードから待機系ＣＰＵユニット２のＣＰＵカードに対して定期的にデータを送るものであって、デュアルＣＰＵコア１５ａ、１５ｂの両コアは同じタスクを同じアルゴリズムで演算し、早く処理できたコアの方のデータを送信することでトラッキング処理を向上させる。【選択図】図１
2015090501.tif 000002
【特許請求の範囲】
【請求項１】
制御系ＣＰＵユニットと待機系ＣＰＵユニットからなる二重系制御装置において、前記制御系ＣＰＵユニットと前記待機系ＣＰＵユニットは、それぞれデュアルＣＰＵコアを搭載したＣＰＵカードが設けられ、ホットスタンバイを実現するために、前記制御系ＣＰＵユニットのＣＰＵカードから前記待機系ＣＰＵユニットのＣＰＵカードに対して定期的にデータを送るものであって、前記デュアルＣＰＵコアの両コアは同じタスクを同じアルゴリズムで演算し、早く処理できたコアの方のデータを送信するようにした二重系制御装置。
【請求項２】
前記デュアルＣＰＵコアの両コアは、早く処理できたコアの方がデータを送信している間の空き時間に、もう片方のコアは別処理を行うようにした請求項１に記載の二重系制御装置。
【請求項３】
前記デュアルＣＰＵコアの両コアは、片方のコアが故障停止した場合でも、制御系ＣＰＵユニットから待機系ＣＰＵユニットへの切り替えは直ぐに行わず、もう片方のコアに切り替えて継続動作するようにした請求項１に記載の二重系制御装置。
【請求項４】
制御系ＣＰＵユニットと待機系ＣＰＵユニットからなる二重系制御装置において、前記制御系ＣＰＵユニットと前記待機系ＣＰＵユニットは、それぞれデュアルＣＰＵコアを搭載したＣＰＵカードが設けられ、ホットスタンバイを実現するために、前記制御系ＣＰＵユニットのＣＰＵカードから前記待機系ＣＰＵユニットのＣＰＵカードに対して定期的にデータを送るものであって、前記デュアルＣＰＵコアの両コアは同じタスクを同じアルゴリズムで演算し、前記両コアの演算結果を比較して、一致していたらデータを送信し、異なっていたら前記待機系ＣＰＵユニットに系切替を行うことにようにした二重系制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、原子力発電所や火力発電所等、ミッション・クリティカルな領域において適用され、例えば２４時間３６５日連続運転の高稼働率が要求される二重系制御装置に関するもので、特に制御系ＣＰＵユニットと待機系ＣＰＵユニットからなる二重系制御装置に関するものである。
【背景技術】
【０００２】
このような二重系ＣＰＵユニットを制御装置として用いる場合、異常検出時は制御系から待機系へ系切替を行って制御演算を継続しておこなう高信頼性が求められる。
しかしながら従来の二重系ＣＰＵユニットから構成された制御装置は、ＳＥＵ（SingleEvent Upset：放射線によって発生する一過性の電子デバイス異常）に起因する異常発生時でも、即、系切替を行っていた。
【０００３】
また、従来のミッション・クリティカルな領域に適用される制御装置のＣＰＵユニットでは、ＣＰＵチップはシングルコアの構成となっており、トラッキング処理中に別処理が入った場合に待ち時間が発生する。
ここで、トラッキング処理とは、二重化構成をとる制御装置において、ホットスタンバイを実現するためには、制御系ＣＰＵユニットから待機系ＣＰＵユニットへ定期的にデータを送る必要があり、その機能をトラッキング処理と言う。また、送るデータはトラッキングデータと呼ぶ。
【０００４】
なお、複数個のＣＰＵがＬＡＮで接続された分散ＣＰＵシステムにおいて、複数個のＣＰＵが同一の処理要求に対して異なるアルゴリズムで並列に処理を実行し、早く処理が完了したＣＰＵの処理結果だけを選択することにより、システム全体の処理速度を短縮して処理の高速化を図ったものが知られている（特許文献１参照）。
【０００５】
また、コントローラから複数のプロセッサに同一のデータを供給し、複数のプロセッサは異なるアルゴリズムのプログラムを同時に実行してその処理結果をそれぞれコントローラに通知し、コントローラは最先に通知された処理結果を採用することで、処理能率の改善を図った多重化処理方式が知られている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−１５３７６４号公報
【特許文献２】特開昭６０−１５０１５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来のミッション・クリティカルな領域に適用される制御装置のＣＰＵユニットでは、ＣＰＵチップはシングルコアの構成となっており、トラッキング処理中に別処理が入った場合に待ち時間が発生するため、待ち時間によりトラッキング処理が遅くなるという問題点があった。
また、従来のＣＰＵユニットからなる制御装置では、シングルコアＣＰＵチップを搭載しているＣＰＵユニットで二重系を組んでいるために、ＳＥＵによる一過性のエラーでも重故障と見做して、系切替を行い、ＣＰＵユニットとしての稼働率は低いという問題点があった。
【０００８】
近年のＣＰＵチップ市場のトレンドとして、シングルコアＣＰＵチップは減少方向にあり、デュアルコアＣＰＵチップが主流であり、制御装置のＣＰＵユニットでも、適用できるＣＰＵチップがデュアルコアＣＰＵチップに限定されつつある。
デュアルコアＣＰＵチップを制御装置に適用する場合、従来のシングルコアＣＰＵチップで使用している系切替方式を、そのまま適用すると、１つのＣＰＵコアで異常検出しただけで、他のＣＰＵコアは正常に実行しているのに、ＣＰＵユニット毎、系切替を行い、ＣＰＵユニットとして稼働率が悪いという問題もある。
【０００９】
さらに、特許文献１，２で示した従来技術は、いずれも複数個のＣＰＵまたはプロセッサが同一の処理要求に対して異なるアルゴリズムで並列に処理を実行するもので、単に処理速度を高めるだけであって、異なるアルゴリズムで演算した場合に演算結果が異なったり、複雑なアルゴリズムを用いている方のＣＰＵはどうしても演算処理が遅くなるという問題があり、二重化構成をとる制御装置において、ホットスタンバイを実現するために、制御系ＣＰＵユニットから待機系ＣＰＵユニットへ定期的にデータを送るトラッキング処理には対応していない。
【００１０】
この発明は上記のような課題を解決するためになされたものであり、ＣＰＵカード上のデュアルＣＰＵコアで同一タスクを同じアルゴリズムで処理させることにより、早く処理できたＣＰＵコアからのデータをトラッキング送信することで、ＣＰＵユニットの稼働率を向上させた二重化制御装置を得ることを目的とするものである。
またこの発明は、ＣＰＵカード上のデュアルＣＰＵコアで同一タスクを同じアルゴリズムで処理させ、両コアの演算結果を比較して一致していたらデータをトラッキング送信することで、信頼性の高い二重化制御装置を得ることを目的とするものである。
【課題を解決するための手段】
【００１１】
この発明は、制御系ＣＰＵユニットと待機系ＣＰＵユニットからなる二重系制御装置において、制御系ＣＰＵユニットと待機系ＣＰＵユニットは、それぞれデュアルＣＰＵコアを搭載したＣＰＵカードが設けられ、ホットスタンバイを実現するために、制御系ＣＰＵユニットのＣＰＵカードから待機系ＣＰＵユニットのＣＰＵカードに対して定期的にデータを送るものであって、デュアルＣＰＵコアの両コアは同じタスクを同じアルゴリズムで演算し、早く処理できたコアの方のデータを送信するようにしたものである。
【００１２】
また、この発明は、制御系ＣＰＵユニットと待機系ＣＰＵユニットからなる二重系制御装置において、制御系ＣＰＵユニットと待機系ＣＰＵユニットは、それぞれデュアルＣＰＵコアを搭載したＣＰＵカードが設けられ、ホットスタンバイを実現するために、制御系ＣＰＵユニットのＣＰＵカードから待機系ＣＰＵユニットのＣＰＵカードに対して定期的にデータを送るものであって、デュアルＣＰＵコアの両コアは同じタスクを同じアルゴリズムで演算し、両コアの演算結果を比較して、一致していたらデータを送信し、異なっていたら待機系ＣＰＵユニットに系切替を行うことにようにしたものである。
【発明の効果】
【００１３】
この発明によれば、ＣＰＵカード上のデュアルＣＰＵコアで同一タスクを同じアルゴリズムで処理させることにより、早く処理できたＣＰＵコアでトラッキング送信を行うことで、別処理中で待ち時間が発生していても早く処理できたＣＰＵコアで送信することが可能なため、従来のトラッキング時間より短縮することができる。
また、ＣＰＵカード上のデュアルＣＰＵコアで同一タスクを同じアルゴリズムで処理させ、両コアの演算結果を比較して、一致していたらデータをトラッキング送信し、異なっていたら系切替を行っているから、信頼性の高い装置を得ることができる。
【図面の簡単な説明】
【００１４】
【図１】この発明の実施の形態１における二重系制御装置の構成を示す図である。
【図２】この発明の実施の形態２における二重系制御装置の動作を示す図である。
【図３】この発明の実施の形態３における二重系制御装置の状態遷移を示す図である。
【図４】この発明の実施の形態４における二重系制御装置の構成を示す図である。
【図５】この発明の実施の形態４における二重系制御装置の動作を示すフローチャート図である。
【発明を実施するための形態】
【００１５】
実施の形態１．
以下、この発明の実施の形態１の二重系制御装置を図１に基づいて説明する。
図１において、制御装置は制御系ＣＰＵユニット１と待機系ＣＰＵユニット２で構成され、制御系ＣＰＵユニット１が故障した場合は待機系ＣＰＵユニット２に系切り換えが行われるように二重系の構成となっている。
そしてホットスタンバイを実現するために、制御系ＣＰＵユニット１から待機系ＣＰＵユニット２に対して定期的にデータを送るようになっている。
【００１６】
制御系ＣＰＵユニット１は、制御演算および系間通信を行うＣＰＵカード１１と、制御ネットワーク（図示省略）とのインターフェース／入出力を制御する複数のＩ／Ｆカード１２から構成され、ＣＰＵカード１１は、ＣＰＵチップ１３とメモリ１４からなっている。
また、ＣＰＵチップ１３は、演算処理を行うデュアルＣＰＵコア１５ａ、１５ｂと、メモリ１４へのアクセス制御を行うメモリコントローラ１６と、他系との通信を行う系間通信コントローラ１７と、Ｉ／Ｆカード１２との通信制御を行うシステムバスコントローラ１８と、ＣＰＵコア１５ａ、１５ｂ間でメモリコントローラ１６、系間通信コントローラ１７、システムバスコントローラ１８へのアクセスを調停する調停器１９から構成されている。
【００１７】
待機系ＣＰＵユニット２は、制御系ＣＰＵユニット１と同じ構成となっており、系間通信Ｉ／Ｆ３を介して二重系を構成する。図１では制御演算および系間通信を行うＣＰＵカード２１しか示していないが、ＣＰＵカード２１は制御系ＣＰＵユニット１と同様にシステムバスコントローラ経由で複数のＩ／Ｆカードと接続されている。
ＣＰＵカード２１は、ＣＰＵチップ２３とメモリ２４しか示していないが、ＣＰＵチップ２３は、制御系ＣＰＵユニット１のＣＰＵチップ１３と同様に、演算処理を行うデュアルＣＰＵコアと、メモリコントローラと、系間通信コントローラと、システムバスコントローラと、調停器から構成されている。ここでは待機系ということで図を省略している。
【００１８】
次に、実施の形態１の動作について説明する。制御系ＣＰＵユニット１および待機系ＣＰＵユニット２のデュアルＣＰＵコアの両コア１５ａ、１５ｂは、同じタスクを同じアルゴリズムで演算する。即ち、同じデータの並列演算処理を実行する。そしてＩ／Ｆカード１２への通信処理は、両コア１５ａ、１５ｂのうち、早く演算処理できたコアの処理結果のデータで、制御系ＣＰＵユニット１から待機系ＣＰＵユニット２にトラッキングデータを送信する。こうして、系切替発生時に、制御系ＣＰＵユニット１から待機系ＣＰＵユニット２に切り替わったＣＰＵカードで制御演算を継続できるようにする。
【００１９】
以上のように実施の形態１の制御系ＣＰＵユニット１と待機系ＣＰＵユニット２は、それぞれデュアルＣＰＵコアを搭載したＣＰＵカード１１、２１が設けられ、ホットスタンバイを実現するために、制御系ＣＰＵユニット１のＣＰＵカード１１から待機系ＣＰＵユニット２のＣＰＵカード２１に対して定期的にデータを送るものであって、デュアルＣＰＵコア１５ａ、１５ｂの両コアは同じタスクを同じアルゴリズムで演算し、早く処理できたコアの方のデータをトラッキング送信するようにしているので、別処理中で待ち時間が発生していても早く処理できたＣＰＵコアで送信することが可能なため、従来のトラッキング時間より短縮することができる。
【００２０】
実施の形態２．
次に、この発明の実施の形態２の二重系制御装置を図２に基づいて説明する。
実施の形態２の二重系制御装置の構成は、図１に示すものと同様であって、制御装置は制御系ＣＰＵユニット１と待機系ＣＰＵユニット２で構成され、デュアルＣＰＵコア１５ａ、１５ｂの両コアは同じタスクを同じアルゴリズムで演算している。
【００２１】
実施の形態２では、実施の形態１の処理に加えて、図２に示すように、周期起動（Ｓ１０１）に合わせ、両コアでデータの並列処理演算を実行し、早く演算完了（Ｓ１０２）できたコアでトラッキングデータのデータ転送(Ｓ１０４)を行う。
データ転送を行っている間の空き時間が発生した片コアでは、別処理の実施（Ｓ１０３）を行うことによって、デュアルコアによる効率良い処理を実施することが可能である。
【００２２】
例えば、図２の左側では、Ｃｏｒｅ―＃１の方がＣｏｒｅ―＃２に比べて早く演算完了（Ｓ１０２）しているので、Ｃｏｒｅ―＃１の方でトラッキングデータのデータ転送(Ｓ１０４)を行い、そのデータ転送中の空き時間に、もう片方のＣｏｒｅ―＃２は演算完了（Ｓ１０２）後に別処理を実施（Ｓ１０３）している。
図２の右側では、Ｃｏｒｅ―＃２の方がＣｏｒｅ―＃１に比べて早く演算完了（Ｓ１０２）しているので、Ｃｏｒｅ―＃２の方でトラッキングデータのデータ転送(Ｓ１０４)を行い、そのデータ転送中の空き時間に、もう片方のＣｏｒｅ―＃１は演算完了（Ｓ１０２）後に別処理を実施（Ｓ１０３）している。
【００２３】
このように実施の形態２は、早く処理できたＣＰＵコア（制御コア）でトラッキング送信を行い、そのトラッキング送信中の空き時間に、もう片方のコア（待機コア）は別処理の実施を行うことによって、デュアルコアによる効率良い処理を実施することが可能である。
また制御コア、待機コアでは、定期的にメモリ１４などを自己診断での自発的な故障検出を行うようにしている。さらに、Ｉ／Ｆカード１２やＣＰＵカード１１内では、カード内部のクロックロスや電圧低下などを自己検出し、ＣＰＵチップ１３に割り込みをかけて、異常信号の故障検出を行うようにしている。
【００２４】
実施の形態３．
次に、この発明の実施の形態３の二重系制御装置を図３に基づいて説明する。
実施の形態３の二重系制御装置の構成は、図１に示すものと同様であって、制御装置は制御系ＣＰＵユニット１と待機系ＣＰＵユニット２で構成され、デュアルＣＰＵコア１５ａ、１５ｂの両コアは同じタスクを同じアルゴリズムで演算している。
【００２５】
実施の形態３では、両コアで同一演算を行うことにより、片コア（例えば１５ａ）が重故障で停止した場合でも、直ぐに待機系ＣＰＵユニット２に系切替を行わず、他コア（例えば１５ｂ）で演算処理を継続させることにより、ＣＰＵユニットとして稼働率を向上させるようにしたものである。
以下、図３の状態遷移図を用いて、実施の形態３の系切替動作について説明する。
【００２６】
図３において、制御系ＣＰＵユニット１と待機系ＣＰＵユニット２の両系とも正常時に、制御系ＣＰＵユニット１の片コアで異常検出した場合は、状態を「両系正常・片コア異常」とし、更に異常検出したコアが制御であった場合はコア間で自コアは待機コアとし、それまで待機コアとなっていたコアを制御コアに切り替える。異常を検出したコアが待機
コアであった場合は、制御コアは制御演算を継続する（Ｓ２０１）。
【００２７】
「両系正常・片コア異常」の状態で自系の片コアが異常状態から復帰した場合は、「両系正常・両コア正常」に復帰する（Ｓ２０２）。
「両系正常・片コア異常」の状態で自系の制御コアが異常検出した場合は、状態を「片系異常・両コア正常」に遷移し、ＣＰＵユニット間で系切替を行う（Ｓ２０３）。
【００２８】
「片系異常・両コア正常」の状態で他系のユニットが正常状態に復帰した場合は、状態を「両系正常・両コア正常」に遷移する（Ｓ２０４）。
「片系異常・両コア正常」時に、制御系ＣＰＵユニット１の片コアで異常検出した場合は、状態を「片系異常・片コア異常」とし、更に異常検出したコアが制御であった場合はコア間で自コアは待機コアとし、それまで待機コアとなっていたコアを制御コアに切り替える。異常を検出したコアが待機コアであった場合は、制御コアは制御演算を継続する（Ｓ２０５）。
【００２９】
「片系異常・片コア異常」の状態で自系の片コアが異常状態から復帰した場合は、「片系異常・両コア正常」に復帰する（Ｓ２０６）。
「片系異常・片コア異常」の状態で自系の制御コアが異常検出した場合は、「両系重故障」として制御演算を停止し、ＨＡＬＴ状態になる（Ｓ２０７）。
制御系ＣＰＵユニット１及び待機系ＣＰＵユニット２は系間通信Ｉ／Ｆ３を用いて、制御演算データだけではなく、お互いの状態（両コア正常／片コア異常／両コア異常）を送受信し、自分と相手の状態に応じて、状態を遷移する（Ｓ２０４、Ｓ２０８、Ｓ２０９、Ｓ２１０）。
【００３０】
以上のように実施の形態３の制御装置は、自ＣＰＵカード内のデュアルコア間で、制御系と待機系を組み、片コアで異常検出した場合でも、デュアルコア間で制御と待機の切り替えを行うようにしたので、従来、１つのＣＰＵコアで異常検出した場合、即、系切替を行って、自系の処理を停止していたが、異常検出しても、同一ＣＰＵカード内のＣＰＵコアで演算を継続することにより、稼働率の高い装置を得ることができる。
【００３１】
実施の形態４．
次に、この発明の実施の形態４の二重系制御装置を図４および図５に基づいて説明する。
実施の形態４の二重系制御装置の構成は、図４に示すように、図１と同様に制御系ＣＰＵユニット１と待機系ＣＰＵユニット２で構成され、各ＣＰＵチップ１３、２３内のデュアルＣＰＵコア１５ａ、１５ｂの両コアは同じタスクを同じアルゴリズムで演算している。
そして、デュアルＣＰＵコア１５ａ、１５ｂの両コアの演算結果をＣＰＵ１０で比較して、一致していたらデータを送信し、異なっていたら待機系ＣＰＵユニット２に系切替を行うことにようにしている。その他の構成は図１と同じにつき、同一または相当する部分には同じ符号を付して説明を省略する。
【００３２】
このように実施の形態４の制御装置は、デュアルコアで、同じデータに対し演算処理を実行し、両コアの演算結果の比較を行い、一致していたらデータを送信し、異なっていたら系切替を行うことにより、信頼性の高い装置を得ることができるようにしたものである。
以下、実施の形態４の動作を図５のフローチャートを用いて説明する。
【００３３】
図５において、ステップＳ３０１はデュアルＣＰＵコア１５ａ、１５ｂが同じ入力データを取得し、ステップＳ３０２は獲得したデータを使用して、同じ制御演算を実行する。
ステップＳ３０３は、制御系ＣＰＵユニット１のデュアルＣＰＵコアの演算結果をメモリ１４に格納し、演算結果をＣＰＵ１０で比較する。
【００３４】
ステップＳ３０４は、ステップＳ３０３における比較の結果、演算結果が一致していたらメモリコントローラ１６は系間通信バスコントローラ１７、系間通信Ｉ／Ｆ３を介して待機系ＣＰＵユニット２にデータを出力する。ステップＳ３０３において演算結果が一致していなかったら、ステップＳ３０５は次の周期起動の演算結果を再度比較し、一過性のエラーによる不一致かどうか確認を行う。ステップＳ３０５における２回目の比較の結果、演算結果が一致していたら、ステップＳ３０６において上記と同様に待機系ＣＰＵユニット２にデータを出力する。
【００３５】
ステップＳ３０５における２回目の演算結果比較で不一致の場合は、ステップＳ３０７に進んで待機系ＣＰＵユニット２の状態をチェックする。ステップＳ３０７において、正常であったら、ステップＳ３０８は待機系ＣＰＵユニット２と制御系ＣＰＵユニット１を切り替え、制御演算を継続する。もし、ステップＳ３０７において、両系とも異常となったら、ステップＳ３０９に進み、重故障処理を行って制御演算を停止する。
【００３６】
以上のように実施の形態４の発明は、デュアルコアで同じデータに対し演算処理を実行し、両コアの演算結果の比較を行い、一致していたらデータを送信し、異なっていたら系切替を行うようにしたから、信頼性の高い装置を得ることができる。
【００３７】
なおこの発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【００３８】
１：制御系ＣＰＵユニット、  ２：待機系ＣＰＵユニット、  ３：系間通信Ｉ／Ｆ、
１０：ＣＰＵ、    １１：ＣＰＵカード、    １２：Ｉ／Ｆカード、
１３：ＣＰＵチップ、１４：メモリ、    １５ａ、１５ｂ：デュアルＣＰＵコア、
１６：メモリコントローラ、  １７：系間通信バスコントローラ、
１８：システムバスコントローラ、  １９：調停器、
２１：ＣＰＵカード、  ２３：ＣＰＵチップ、  ２４：メモリ。
【図３】
2015090501.tif 000003
【図５】
2015090501.tif 000004
【図１】
2015090501.tif 000005
【図２】
2015090501.tif 000006
【図４】
2015090501.tif 000007