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