(57)【要約】【課題】動作モードを切り替えることなくＣＰＵの健全性を確認し、かつ性能及び安全性両立を担保する。【解決手段】複数のＣＰＵ（Central Processing Unit）を具備するマルチコアシステムであって、複数のＣＰＵを構成する第１ＣＰＵは、演算処理によって外部の周辺機器に対して書き込むためのデータを算出すると、自身以外のＣＰＵ（第２ＣＰＵ）に周辺機器に対するデータのライト処理を要求し、第２ＣＰＵは、第１ＣＰＵから受信したデータを周辺機器に書き込み、書き込み後、前記第１ＣＰＵに前記周辺機器からの前記データのリード処理を要求し、第１ＣＰＵは、周辺機器からデータを読み出し、演算処理によって算出されたデータと、周辺機器から読み出したデータとを比較し、比較結果に基づいて第２ＣＰＵの健全性を判断する。【選択図】図１
2014229198.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＰＵ（Central Processing Unit）を具備するマルチコアシステムであって、
前記複数のＣＰＵを構成する第１ＣＰＵは、演算処理によって外部の周辺機器に対して書き込むためのデータを算出すると、自身以外のＣＰＵ（第２ＣＰＵ）に前記周辺機器に対する前記データのライト処理を要求し、
前記第２ＣＰＵは、前記第１ＣＰＵから受信した前記データを前記周辺機器に書き込み、書き込み後、前記第１ＣＰＵに前記周辺機器からの前記データのリード処理を要求し、
前記第１ＣＰＵは、前記周辺機器から前記データを読み出し、前記演算処理によって算出されたデータと、前記周辺機器から読み出したデータとを比較し、比較結果に基づいて前記第２ＣＰＵの健全性を判断することを特徴とするマルチコアシステム。
【請求項２】
前記のＣＰＵの内、前記第１ＣＰＵとして動作するＣＰＵは固定され、また前記第２ＣＰＵとして動作するＣＰＵは固定されていることを特徴とする請求項１に記載のマルチコアシステム。
【請求項３】
前記前記複数のＣＰＵ各々は、お互いに前記第１ＣＰＵ及び前記第２ＣＰＵとして動作可能であることを特徴とする請求項１に記載のマルチコアシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコアシステムに関する。
【背景技術】
【０００２】
下記特許文献１には、ＣＰＵの性能モード（並列動作）と安全モード（２重化比較動作）とを切り替え可能であり、性能モードから安全モードに切り替える場合、ＣＰＵの待機時間を短縮して、性能モードのＣＰＵ処理効率を向上させる計算機システムが開示されている。該計算機システムは、少なくとも２つのＣＰＵ（Central Processing Unit）Ａ２、ＣＰＵＢ６と、ＣＰＵＡ２、ＣＰＵＢ６への割り込みを行うプログラミング可能な割り込みコントローラ１１と、ＣＰＵＡ２、ＣＰＵＢ６の出力を比較する比較器１４とを有するものであって、ＣＰＵがそれぞれ異なる処理を実行して性能を向上させる性能モードと、ＣＰＵＡ２、ＣＰＵＢ６が同じ処理を実行して結果を比較器で照合することにより故障を検出する安全モードとを切り替えて動作でき、割り込み要因ごとに性能モードで実行するか安全モードで実行するかのモードを設定できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２３８０８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記従来技術では、性能モードから安全モードに切り替えなければ、２つのＣＰＵの健全性を確認することができなかった。また、上記従来技術では、性能モードでは性能しか担保できず、また安全モードでは安全性しか担保できないため、性能及び安全性両立を担保することができなかった。
【０００５】
本発明は、上述した事情に鑑みてなされたものであり、動作モードを切り替えることなくＣＰＵの健全性を確認し、かつ性能及び安全性両立を担保することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明では、複数のＣＰＵ（Central Processing Unit）を具備するマルチコアシステムであって、前記複数のＣＰＵを構成する第１ＣＰＵは、演算処理によって外部の周辺機器に対して書き込むためのデータを算出すると、自身以外のＣＰＵ（第２ＣＰＵ）に前記周辺機器に対する前記データのライト処理を要求し、前記第２ＣＰＵは、前記第１ＣＰＵから受信した前記データを前記周辺機器に書き込み、書き込み後、前記第１ＣＰＵに前記周辺機器からの前記データのリード処理を要求し、前記第１ＣＰＵは、前記周辺機器から前記データを読み出し、前記演算処理によって算出されたデータと、前記周辺機器から読み出したデータとを比較し、比較結果に基づいて前記第２ＣＰＵの健全性を判断する、という手段を採用する。
【０００７】
本発明では、第２の解決手段として、上記第１の解決手段において、前記のＣＰＵの内、前記第１ＣＰＵとして動作するＣＰＵは固定され、また前記第２ＣＰＵとして動作するＣＰＵは固定されている、という手段を採用する。
【０００８】
本発明では、第３の解決手段として、上記第１の解決手段において、前記前記複数のＣＰＵ各々は、お互いに前記第１ＣＰＵ及び前記第２ＣＰＵとして動作可能であると判定する、という手段を採用する。
【発明の効果】
【０００９】
本発明によれば、第１ＣＰＵが、周辺機器から第２ＣＰＵによって書き込まれたデータを読み出し、演算処理によって算出されたデータと、周辺機器から読み出したデータとを比較し、比較結果に基づいて第２ＣＰＵの健全性を判断するので、動作モードを切り替えることなく、ＣＰＵの健全性を確認できる。また、本発明によれば、第１ＣＰＵ及び第２ＣＰＵが異なる処理を行いつつ、第２ＣＰＵの健全性を判断することができるので、性能及び安全性両立を担保できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係るマルチコアシステムＡの概略構成図である。
【図２】本発明の一実施形態に係るマルチコアシステムＡの動作を示すフローチャートである。
【図３】本発明の一実施形態に係るマルチコアシステムＡの動作の変形例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施形態について説明する。
本実施形態に係るマルチコアシステムＡは、電気自動車（ＥＶ：Electric Vehicle）あるいはハイブリッド自動車（ＨＶ：Hybrid Vehicle）等の移動車両に搭載され、
共に移動車両に搭載されている周辺機器Ｄ１〜Ｄｎを制御するものであり、図１に示すように、第１演算制御部Ｅ１、第２演算制御部Ｅ２及び通信バスＢを備える。
【００１２】
第１演算制御部Ｅ１は、図１に示すように、第１ＲＯＭ（Read Only Memory）１１、第１ＲＡＭ（Random Access Memory）１２及び第１ＣＰＵ（Central Processing Unit）１３を備えている。
第１ＲＯＭ１１は、第１ＣＰＵ１３で実行される各種演算制御プログラム及びその他データを記憶する不揮発性メモリである。
第１ＲＡＭ１２は、第１ＣＰＵ１３が演算制御プログラムを実行して各種動作を行う際に、データの一時保存先となるワーキングエリアとして用いられる揮発性メモリである。
【００１３】
第１ＣＰＵ１３は、第１ＲＯＭ１１及び第１ＲＡＭ１２と電気的に接続されると共に、周辺機器Ｄ１〜Ｄｎと通信バスＢを介して電気的に接続され、上記第１ＲＯＭ１１に記憶された各種演算制御プログラムに基づいて各種の演算処理を行うと共に各部と通信を行うことにより周辺機器Ｄ１〜Ｄｎの動作を制御する。詳細については後述するが、第１ＣＰＵ１３は、後述する第２演算制御部Ｅ２の第２ＣＰＵ２３とお互いの動作の健全性を確認する。
【００１４】
第２演算制御部Ｅ２は、図１に示すように、第２ＲＯＭ２１、第２ＲＡＭ２２及び第２ＣＰＵ２３を備えている。
第２ＲＯＭ２１は、第２ＣＰＵ２３で実行される各種演算制御プログラム及びその他データを記憶する不揮発性メモリである。
第２ＲＡＭ２２は、第２ＣＰＵ２３が制御プログラムを実行して各種動作を行う際に、データの一時保存先となるワーキングエリアとして用いられる揮発性メモリである。
【００１５】
第２ＣＰＵ２３は、第２ＲＯＭ２１及び第２ＲＡＭ２２と電気的に接続されると共に、周辺機器Ｄ１〜Ｄｎと通信バスＢを介して電気的に接続され、上記第２ＲＯＭ２１に記憶された各種演算制御プログラムに基づいて各種の演算処理を行うと共に各部と通信を行うことにより周辺機器Ｄ１〜Ｄｎの動作を制御する。詳細については後述するが、第２ＣＰＵ２３は、第１演算制御部Ｅ１の第１ＣＰＵ１３とお互いの動作の健全性を確認する。
【００１６】
通信バスＢは、第１ＣＰＵ１３、第２ＣＰＵ２３及び周辺機器Ｄ１〜Ｄｎを電気的に相互接続するための通信線である。第１ＣＰＵ１３、第２ＣＰＵ２３及び周辺機器Ｄ１〜Ｄｎは、通信バスＢを介してデータを送受信する。
【００１７】
一方、周辺機器Ｄ１〜Ｄｎは、移動車両に搭載されている走行モータ、発電機及び昇圧回路等を制御するためのコントローラ等であり、通信バスＢを介して第１ＣＰＵ１３や第２ＣＰＵ２３とデータを送受信する。また、各周辺機器Ｄ１〜Ｄｎは、第１ＣＰＵ１３や第２ＣＰＵ２３による書き込み及び読み取りの可否が予め設定されている。例えば、図１には、周辺機器Ｄ１に、「ＣＰＵ１３：Ｒ/Ｗ」「ＣＰＵ２３：Ｒ/―」と記載されている。これは、第１ＣＰＵ１３は、周辺機器Ｄ１に対してデータの書き込み及び読み取りが可能であり、一方、第２ＣＰＵ２３は、周辺機器Ｄ１に対してデータの書き込みが不可であり、読み取りのみが可能であることを示している。
【００１８】
次に、このように構成されたマルチコアシステムＡの動作について図２を参照して説明する。
例えば、第１ＣＰＵ１３は、周辺回路Ｄ２を制御する場合、演算処理によって周辺回路Ｄ２に対して書き込むためのデータを算出する（ステップＳ１）。そして、第１ＣＰＵ１３は、第２ＣＰＵ２３に周辺回路Ｄ２に対するデータのライト処理の要求と共に書き込むためのデータを通信バスＢを介して送信する。
【００１９】
一方、第２ＣＰＵ２３は、第１ＣＰＵ１３からライト処理の要求と共に上記データを受信すると、該データを周辺回路Ｄ２に書き込む（ステップＳ１１）。そして、第２ＣＰＵ２３は、書き込み後、第１ＣＰＵに周辺回路Ｄ２からのデータのリード処理の要求を通信バスＢを介して送信する。
【００２０】
一方、第１ＣＰＵ１３は、第２ＣＰＵ２３からリード処理の要求を受信すると、周辺回路Ｄ２からデータを読み出し、演算処理によって算出されたデータと、周辺回路Ｄ２から読み出したデータとを比較し、比較結果に基づいて第２ＣＰＵ２３の健全性を判断する（ステップＳ３）。つまり、第１ＣＰＵ１３は、比較の結果、両データが同じである場合には、第２ＣＰＵ２３が健全であると判断し、一方、両データが異なる場合には、第２ＣＰＵ２３が健全でないと判断する。このように判断するのは、第２ＣＰＵ２３に異常があり、第２ＣＰＵ２３による周辺回路Ｄ２へのデータの書き込みに問題が生じたため、両データに違いが生じたと考えられるからである。
【００２１】
上記動作に続いて、第１ＣＰＵ１３及び第２ＣＰＵ２３は、上記動作と同じように、ステップＳ２、ステップＳ１２及びステップＳ１４を順番に実行する。
【００２２】
このような本実施形態によれば、第１ＣＰＵ１３が、周辺機器Ｄ２から第２ＣＰＵ２３によって書き込まれたデータを読み出し、演算処理によって算出されたデータと、周辺機器Ｄ２から読み出したデータとを比較し、比較結果に基づいて第２ＣＰＵ２３の健全性を判断するので、動作モードを切り替えることなく、第２ＣＰＵ２３の健全性を確認できる。また、本実施形態によれば、第１ＣＰＵ１３及び第２ＣＰＵ２３お互いが異なる処理を行っていても、第２ＣＰＵ２３の健全性を判断できるので、性能及び安全性両立を担保できる。
【００２３】
続いて、マルチコアシステムＡの動作の変形例について図３を参照して説明する。
第２ＣＰＵ２３は、周辺回路Ｄ１を制御する場合、演算処理によって周辺回路Ｄ１に対して書き込むためのデータを算出する（ステップＳ３１）。そして、第２ＣＰＵ２３は、第１ＣＰＵ１３に周辺回路Ｄ１に対するデータのライト処理の要求と共に書き込むためデータを通信バスＢを介して送信する。
【００２４】
一方、第１ＣＰＵ１３は、第２ＣＰＵ２３からライト処理の要求と共に上記データを受信すると、該データを周辺回路Ｄ１に書き込む（ステップＳ２２）。そして、第２ＣＰＵ２３は、書き込み後、第１ＣＰＵに周辺回路Ｄ１からのデータのリード処理の要求を通信バスＢを送信する。
【００２５】
一方、第２ＣＰＵ２３は、第１ＣＰＵ１３からリード処理の要求を受信すると、周辺回路Ｄ１からデータを読み出し、演算処理によって算出されたデータと、周辺回路Ｄ２から読み出したデータとを比較し、比較結果に基づいて第１ＣＰＵ１３の健全性を判断する（ステップＳ３３）。
【００２６】
一方、第１ＣＰＵ１３は、周辺回路Ｄ２を制御する場合、演算処理によって周辺回路Ｄ２に対して書き込むためのデータを算出する（ステップＳ２１）。そして、第１ＣＰＵ１３は、第２ＣＰＵ２３に周辺回路Ｄ２に対するデータのライト処理の要求と共に書き込むためのデータを通信バスＢを介して送信する。
【００２７】
一方、第２ＣＰＵ２３は、第１ＣＰＵ１３からライト処理の要求と共に上記データを受信すると、該データを周辺回路Ｄ２に書き込む（ステップＳ３２）。そして、第２ＣＰＵ２３は、書き込み後、第１ＣＰＵに周辺回路Ｄ２からのデータのリード処理の要求を通信バスＢを介して送信する。
【００２８】
一方、第１ＣＰＵ１３は、第２ＣＰＵ２３からリード処理の要求を受信すると、周辺回路Ｄ２からデータを読み出し、演算処理によって算出されたデータと、周辺回路Ｄ２から読み出したデータとを比較し、比較結果に基づいて第２ＣＰＵ２３の健全性を判断する（ステップＳ２３）。このように変形例では、第１ＣＰＵ１３及び第２ＣＰＵ２３は、お互いに健全性を確認する。
【００２９】
このような本実施形態によれば、第１ＣＰＵ１３及び第２ＣＰＵ２３お互いが、周辺機器Ｄ１または周辺機器Ｄ２からデータを読み出し、演算処理によって算出されたデータと、周辺機器Ｄ１または周辺機器Ｄ２から読み出したデータとを比較し、比較結果に基づいて第１ＣＰＵ１３及び第２ＣＰＵ２３お互いの健全性を判断するので、動作モードを切り替えることなく、第１ＣＰＵ１３及び第２ＣＰＵ２３お互いの健全性を確認できる。また、本実施形態によれば、第１ＣＰＵ１３及び第２ＣＰＵ２３お互いが異なる処理を行いつつ、第１ＣＰＵ１３及び第２ＣＰＵ２３お互いの健全性を判断するので、性能及び安全性両立を担保できる。
【００３０】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されることなく、例えば以下のような変形が考えられる。
（１）上記実施形態は、２つの第１ＣＰＵ１３及び第２ＣＰＵ２３を備えたものであるが、２つに限定されず、２つ以上であってもよい。また、その際、健全性を確認するＣＰＵと、健全性を確認されるＣＰＵは、固定であってもよいし、また各ＣＰＵお互いが、健全性を確認するようにしてもよい。
（２）上記実施形態は、移動車両に搭載されているが、移動車両以外に、家電製品等の電子機器に搭載されていてもよい。
【符号の説明】
【００３１】
Ａ…マルチコアシステム、Ｄ１〜Ｄｎ…周辺機器、Ｅ１…第１演算制御部、Ｅ２…第２演算制御部、Ｂ…通信バス、１１…第１ＲＯＭ、１２…第１ＲＡＭ、１３…第１ＣＰＵ、２１…第２ＲＯＭ、２２…第２ＲＡＭ、２３…第２ＣＰＵ
【図１】
2014229198.tif 000003
【図２】
2014229198.tif 000004
【図３】
2014229198.tif 000005