(57)【要約】【課題】各ＣＰＵによる各周辺機器のチェック処理時間を平均化する。【解決手段】複数のＣＰＵ（Central Processing Unit）を具備するマルチコアシステムであって、複数のＣＰＵは、マスターＣＰＵとスレーブＣＰＵとからなり、マスターＣＰＵは、初期化処理時における外部の各周辺機器のチェック処理に要する時間を算出し、算出結果に基づいてチェック処理時間の合計値の差が最小になるように自身及びスレーブＣＰＵに各周辺機器のチェック処理を割り振る。【選択図】図１
2014229207.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＰＵ（Central Processing Unit）を具備するマルチコアシステムであって、
複数のＣＰＵは、マスターＣＰＵとスレーブＣＰＵとからなり、
前記マスターＣＰＵは、初期化処理時における外部の複数の周辺機器各々のチェック処理に要する時間を算出し、算出結果に基づいてチェック処理時間の合計値の差が最小になるように自身及び前記スレーブＣＰＵに各周辺機器のチェック処理を割り振ることを特徴とするマルチコアシステム。
【請求項２】
前記マスターＣＰＵは、チェック処理の負荷に基づいて各周辺機器のチェック処理に要する時間を算出することを特徴とする請求項１に記載のマルチコアシステム。
【請求項３】
データ記憶部をさらに具備し、
前記マスターＣＰＵは、各周辺機器のチェック処理後、自身及びスレーブＣＰＵによる各周辺機器のチェック処理に要した時間を前記データ記憶部に記憶させ、次回の初期化処理時、前記データ記憶部を参照して各周辺機器のチェック処理に要する時間を算出することを特徴とする請求項１に記載のマルチコアシステム。
【請求項４】
第２のデータ記憶部をさらに具備し、
前記マスターＣＰＵは、初期化処理時に、前記第２のデータ記憶部に自身及び前記スレーブＣＰＵに対する各周辺機器のチェック処理の割り振りを記憶させ、
前記スレーブＣＰＵは、前記第２のデータ記憶部を参照して周辺機器のチェック処理を実行することを特徴とする請求項１〜３のいずれか一項に記載のマルチコアシステム。
【請求項５】
前記マスターＣＰＵは、初期化処理の開始時、前記第２のデータ記憶部に自身及び前記スレーブＣＰＵに対する各周辺機器のチェック処理の割り振りを記憶させる前に、前記第２のデータ記憶部の初期化を実行し、
前記スレーブＣＰＵは、初期化直後の前記第２のデータ記憶部を参照して前記マスターＣＰＵの健全性を判断することを特徴とする請求項４に記載のマルチコアシステム。
【請求項６】
前記マスターＣＰＵは、前記スレーブＣＰＵによる周辺機器のチェック結果に基づいて前記スレーブＣＰＵの健全性を判断することを特徴とする請求項１〜５のいずれか一項に記載のマルチコアシステム。
【請求項７】
前記スレーブＣＰＵは、前記マスターＣＰＵによる周辺機器のチェック結果に基づいて前記マスターＣＰＵの健全性を判断することを特徴とする請求項１〜６のいずれか一項に記載のマルチコアシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコアシステムに関する。
【背景技術】
【０００２】
下記特許文献１には、リセット後に実行される初期化処理の処理時間を短縮可能なマイクロコンピュータ及び車載システムが開示されている。該車載システムは、イグニションスイッチがオンされ、パワーオンリセットが解除されると、各ＥＣＵのＣＰＵによる初期化処理と、通信コントローラによる自律的な初期化及び通信セッションの確立とが並行して実行される。各ＥＣＵのＣＰＵによる初期化処理及び通信コントローラによる自律的な初期化／通信セッションの確立のうち、最も処理時間が長いものが終了すると、車載システムの立ち上げが完了し、システム本来の機能を果たすための通常処理が開始される。このようにＣＰＵによる初期化処理と並行して通信コントローラの初期化が自律的に実行されるため、ＣＰＵによる初期化処理、ひいてはシステム全体の初期化に要する時間を短縮することができ、通常処理を速やかに開始することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３０９９５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記従来技術では、初期化処理時、複数のＣＰＵによって各周辺機器のチェック処理が行われるが、各ＣＰＵによる各周辺機器のチェック処理の分担が固定であるため、周辺機器のチェック処理時間に差が生じてしまった場合に、チェック処理時間の長いＣＰＵの処理が完了するまでシステム全体の初期化処理が完了しないという問題があった。
【０００５】
本発明は、上述した事情に鑑みてなされたものであり、各ＣＰＵによる各周辺機器のチェック処理時間を平均化して、システム全体の初期化処理に要する時間を短縮することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明では、複数のＣＰＵ（Central Processing Unit）を具備するマルチコアシステムであって、複数のＣＰＵは、マスターＣＰＵとスレーブＣＰＵとからなり、前記マスターＣＰＵは、初期化処理時における外部の複数の周辺機器各々のチェック処理に要する時間を算出し、算出結果に基づいてチェック処理時間の合計値の差が最小になるように自身及び前記スレーブＣＰＵに各周辺機器のチェック処理を割り振る、という手段を採用する。
【０００７】
本発明では、第２の解決手段として、上記第１の解決手段において、前記マスターＣＰＵは、チェック処理の負荷に基づいて各周辺機器のチェック処理に要する時間を算出する、という手段を採用する。
【０００８】
本発明では、第３の解決手段として、上記第１の解決手段において、データ記憶部をさらに具備し、前記マスターＣＰＵは、各周辺機器のチェック処理後、自身及びスレーブＣＰＵによる各周辺機器のチェック処理に要した時間を前記データ記憶部に記憶させ、次回の初期化処理時、前記データ記憶部を参照して各周辺機器のチェック処理に要する時間を算出する、という手段を採用する。
【０００９】
本発明では、第４の解決手段として、上記第１〜３のいずれか１つの解決手段において、第２のデータ記憶部をさらに具備し、前記マスターＣＰＵは、初期化処理時に、前記第２のデータ記憶部に自身及び前記スレーブＣＰＵに対する各周辺機器のチェック処理の割り振りを記憶させ、前記スレーブＣＰＵは、前記第２のデータ記憶部を参照して周辺機器のチェック処理を実行する、という手段を採用する。
【００１０】
本発明では、第５の解決手段として、上記第４の解決手段において、前記マスターＣＰＵは、初期化処理の開始時、前記第２のデータ記憶部に自身及び前記スレーブＣＰＵに対する各周辺機器のチェック処理の割り振りを記憶させる前に、前記第２のデータ記憶部の初期化を実行し、前記スレーブＣＰＵは、初期化直後の前記第２のデータ記憶部を参照して前記マスターＣＰＵの健全性を判断する、という手段を採用する。
【００１１】
本発明では、第６の解決手段として、上記第１〜５のいずれか１つの解決手段において、前記マスターＣＰＵは、前記スレーブＣＰＵによる周辺機器のチェック結果に基づいて前記スレーブＣＰＵの健全性を判断する、という手段を採用する。
【００１２】
本発明では、第７の解決手段として、上記第１〜６のいずれか１つの解決手段において、前記スレーブＣＰＵは、前記マスターＣＰＵによる周辺機器のチェック結果に基づいて前記マスターＣＰＵの健全性を判断する、という手段を採用する。
【発明の効果】
【００１３】
本発明によれば、マスターＣＰＵは、初期化処理時における外部の各周辺機器のチェック処理に要する時間を算出し、算出結果に基づいてチェック処理時間の合計値の差が最小になるように自身及びスレーブＣＰＵに各周辺機器のチェック処理を割り振ることによって、各ＣＰＵによる各周辺機器のチェック処理時間を平均化して、システム全体の初期化処理に要する時間を短縮できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係るマルチコアシステムＡの概略構成図である。
【図２】本発明の一実施形態に係るマルチコアシステムＡの動作を示すフローチャートである。
【図３】本発明の一実施形態に係るマルチコアシステムＡの動作を示すタイミングチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の実施形態について説明する。
本実施形態に係るマルチコアシステムＡは、電気自動車（ＥＶ：Electric Vehicle）あるいはハイブリッド自動車（ＨＶ：Hybrid Vehicle）等の移動車両に搭載され、共に移動車両に搭載されている周辺機器Ｄ１〜Ｄｎを制御するものであり、図１に示すように、第１演算制御部Ｅ１、第２演算制御部Ｅ２及び通信バスＢを備える。
【００１６】
第１演算制御部Ｅ１は、図１に示すように、第１ＲＯＭ（Read Only Memory）１１、第１ＲＡＭ（Random Access Memory）１２及び第１ＣＰＵ（Central Processing Unit）１３を備えている。
第１ＲＯＭ１１は、第１ＣＰＵ１３で実行される各種演算制御プログラム及びその他データを記憶する不揮発性メモリである。なお、第１ＲＯＭ１１は、本実施形態におけるデータ記憶部及び第２のデータ記憶部である。
第１ＲＡＭ１２は、第１ＣＰＵ１３が演算制御プログラムを実行して各種動作を行う際に、データの一時保存先となるワーキングエリアとして用いられる揮発性メモリである。
【００１７】
第１ＣＰＵ１３は、第１ＲＯＭ１１及び第１ＲＡＭ１２と電気的に接続されると共に、周辺機器Ｄ１〜Ｄｎと通信バスＢを介して電気的に接続され、上記第１ＲＯＭ１１に記憶された各種演算制御プログラムに基づいて各種の演算処理を行うと共に各部と通信を行うことにより周辺機器Ｄ１〜Ｄｎの動作を制御する。詳細については後述するが、第１ＣＰＵ１３は、マルチコアシステムＡにおけるマスターＣＰＵとして機能し、初期化処理時における外部の各周辺機器Ｄ１〜Ｄｎのチェック処理に要する時間を算出し、算出結果に基づいて自身及び後述する第２演算制御部Ｅ２の第２ＣＰＵ２３（スレーブＣＰＵ）に各周辺機器Ｄ１〜Ｄｎのチェック処理を割り振る。
【００１８】
第２演算制御部Ｅ２は、図１に示すように、第２ＲＯＭ２１、第２ＲＡＭ２２及び第２ＣＰＵ２３を備えている。
第２ＲＯＭ２１は、第２ＣＰＵ２３で実行される各種演算制御プログラム及びその他データを記憶する不揮発性メモリである。
第２ＲＡＭ２２は、第２ＣＰＵ２３が制御プログラムを実行して各種動作を行う際に、データの一時保存先となるワーキングエリアとして用いられる揮発性メモリである。
【００１９】
第２ＣＰＵ２３は、第２ＲＯＭ２１及び第２ＲＡＭ２２と電気的に接続されると共に、周辺機器Ｄ１〜Ｄｎと通信バスＢを介して電気的に接続され、上記第２ＲＯＭ２１に記憶された各種演算制御プログラムに基づいて各種の演算処理を行うと共に各部と通信を行うことによりマルチコアシステムＡの動作を制御する。詳細については後述するが、第２ＣＰＵ２３は、マルチコアシステムＡにおけるスレーブＣＰＵとして機能し、初期化処理時、第１ＣＰＵ１３によって割り振られた各周辺機器Ｄ１〜Ｄｎのチェック処理を実行する。
【００２０】
通信バスＢは、第１ＣＰＵ１３、第２ＣＰＵ２３及び周辺機器Ｄ１〜Ｄｎを電気的に相互接続するための通信線である。第１ＣＰＵ１３、第２ＣＰＵ２３及び周辺機器Ｄ１〜Ｄｎは、通信バスＢを介してデータを送受信する。
【００２１】
一方、周辺機器Ｄ１〜Ｄｎは、移動車両に搭載されている走行モータ、発電機及び昇圧回路等を制御するためのコントローラ等であり、通信バスＢを介して第１ＣＰＵ１３や第２ＣＰＵ２３とデータを送受信する。また、各周辺機器Ｄ１〜Ｄｎは、第１ＣＰＵ１３や第２ＣＰＵ２３による書き込み及び読み取りの可否が予め設定されている。例えば、図１には、周辺機器Ｄ１に、「ＣＰＵ１３：Ｒ/Ｗ」「ＣＰＵ２３：Ｒ/―」と記載されている。これは、第１ＣＰＵ１３は、周辺機器Ｄ１に対してデータの書き込み及び読み取りが可能であり、一方、第２ＣＰＵ２３は、周辺機器Ｄ１に対してデータの書き込みが不可であり、読み取りのみが可能であることを示している。
【００２２】
次に、このように構成されたマルチコアシステムＡの動作について図２を参照して説明する。
例えば、第１ＣＰＵ１３は、初回の初期化処理時において、自身及び第２ＣＰＵ２３に予め固定された各周辺機器Ｄ１〜Ｄｎのチェック処理を割り振り、その割り振りを第１ＲＯＭ１１に記憶させ、第２ＣＰＵ２３にチェック処理の実行要求を通信バスＢを介して送信する（ステップＳ１）。なお、第１ＣＰＵ１３は、上述した割り振りを、予め第１ＲＯＭ１１に登録された情報に基づいて行う。この際、第１ＣＰＵ１３は、初期化処理の開始時、つまり上述した割り振りを第１ＲＯＭ１１に記憶させる前に、割り振りを記憶させる第１ＲＯＭ１１の領域を初期化している。
【００２３】
そして、第１ＣＰＵ１３は、第１ＲＯＭ１１を参照して、自身が割り振った周辺機器Ｄ１〜Ｄｎのチェック処理を実行する（ステップＳ２）。一方、第２ＣＰＵ２３は、第１ＣＰＵ１３から実行要求を受信すると、第１ＲＯＭ１１を参照して、第１ＣＰＵ１３によって割り振られた周辺機器Ｄ１〜Ｄｎのチェック処理を実行する（ステップＳ１１）。
【００２４】
この際、第１ＣＰＵ１３及び第２ＣＰＵ２３は、周辺機器Ｄ１〜Ｄｎのチェック処理に要する時間を計測する（ステップＳ３及びステップＳ１２）。そして、第１ＣＰＵ１３は、第２ＣＰＵ２３による計測結果を受け取り、自身及び第２ＣＰＵ２３による計測結果を第１ＲＯＭ１１に記憶させる（ステップＳ４）。
【００２５】
続いて、第１ＣＰＵ１３は、次回の初期化処理時において、ステップＳ４の処理において第１ＲＯＭ１１に記憶させた周辺機器Ｄ１〜Ｄｎのチェック処理に要する時間に基づいて各周辺機器のチェック処理に要する時間を算出し（ステップＳ５）、算出結果に基づいてチェック処理時間の合計値の差が最小になるように自身及び第２ＣＰＵ２３に各周辺機器Ｄ１〜Ｄｎのチェック処理を割り振り、その割り振りを第１ＲＯＭ１１に記憶させ、第２ＣＰＵ２３にチェック処理の実行要求を通信バスＢを介して送信する（ステップＳ６）。
【００２６】
例えば、第１ＣＰＵ１３は、図３に示すように、チェック処理時間の合計値の差が最小になるように周辺機器Ｄ１、Ｄ２、Ｄ３のチェック処理を自身及び第２ＣＰＵ２３に割り振る。なお、図３に示す「チェック」とは実際のチェックの実行中あることを示し、「結果判断」とはチェックによるチェック結果の判断処理の実行中であることを示している。つまり、図３に示す「チェック」及び「結果判断」が、図２に示すステップＳ２、Ｓ７の処理に対応するものである。また、前処理は、図２に示すステップＳ１、Ｓ５、Ｓ６の処理を含むものである。また、後処理は、ステップＳ３、Ｓ４、Ｓ８、Ｓ９の処理を含むものである。
【００２７】
図２に戻り、第１ＣＰＵ１３は、第１ＲＯＭ１１を参照して、自身が割り振った周辺機器Ｄ１〜Ｄｎのチェック処理を実行する（ステップＳ７）。一方、第２ＣＰＵ２３は、第１ＣＰＵ１３から実行要求を受信すると、第１ＲＯＭ１１を参照して、第１ＣＰＵ１３によって割り振られた周辺機器Ｄ１〜Ｄｎのチェック処理を実行する（ステップＳ１３）。
【００２８】
この際、第１ＣＰＵ１３及び第２ＣＰＵ２３は、周辺機器Ｄ１〜Ｄｎのチェック処理に要する時間を計測する（ステップＳ８及びステップＳ１４）。そして、第１ＣＰＵ１３は、第２ＣＰＵ２３による計測結果を受け取り、自身及び第２ＣＰＵ２３による計測結果を第１ＲＯＭ１１に記憶させる（ステップＳ９）。
【００２９】
第１ＣＰＵ１３は、以降の初期化処理時においても、第１ＲＯＭ１１に記憶させた周辺機器Ｄ１〜Ｄｎのチェック処理に要する時間に基づいて各周辺機器のチェック処理に要する時間を算出し、算出結果に基づいてチェック処理時間の合計値の差が最小になるように自身及び第２ＣＰＵ２３に各周辺機器Ｄ１〜Ｄｎのチェック処理を割り振る。
【００３０】
このような本実施形態によれば、第１ＣＰＵ１３は、初期化処理時における外部の各周辺機器Ｄ１〜Ｄｎのチェック処理に要する時間を算出し、算出結果に基づいてチェック処理時間の合計値の差が最小になるように自身及び第２ＣＰＵ２３に各周辺機器Ｄ１〜Ｄｎのチェック処理を割り振ることによって、各第１ＣＰＵ１３及び第２ＣＰＵ２３による各周辺機器Ｄ１〜Ｄｎのチェック処理時間を平均化して、システム全体の初期化処理に要する時間を短縮する。
【００３１】
また、本実施形態において、移動車両に搭載される周辺機器Ｄ１〜Ｄｎは、上述したように走行モータ、発電機及び昇圧回路を駆動するためのコントローラ等であり、今までの動作に基づいて学習値を記憶し、該学習値に基づいてチェック処理を実施する必要があるものであり、初回と２回目のチェック処理に要する時間が変わる可能性がある。そのため、本実施形態において、第１ＣＰＵ１３が、初期化処理毎に、自身及び第２ＣＰＵ２３による周辺機器Ｄ１〜Ｄｎのチェック処理に要する時間の計測結果を第１ＲＯＭ１１に記憶させることで、周辺機器Ｄ１〜Ｄｎのチェック処理に要する時間の算出精度を向上することができる。
【００３２】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されることなく、例えば以下のような変形が考えられる。
（１）上記実施形態は、２つの第１ＣＰＵ１３及び第２ＣＰＵ２３を備えたものであるが、２つに限定されず、２つ以上であってもよい。
（２）上記実施形態は、移動車両に搭載されているが、移動車両以外に、家電製品等の電子機器に搭載されていてもよい。
【００３３】
（３）上記実施形態において、第１ＣＰＵ１３は、第１ＲＯＭ１１に記憶された周辺機器Ｄ１〜Ｄｎのチェック処理に要する時間に基づいて各周辺機器Ｄ１〜Ｄｎのチェック処理に要する時間を算出したが、本発明はこれに限定されない。例えば、第１ＣＰＵ１３は、周辺機器Ｄ１〜Ｄｎのチェック処理に用いる演算制御プログラムの容量（例えばバイト数）に基づいて各周辺機器Ｄ１〜Ｄｎのチェック処理に要する時間を算出するようにしてもよい。
【００３４】
（４）上記実施形態において、第１ＣＰＵ１３は、初期化処理の開始時、つまり割り振りを第１ＲＯＭ１１に記憶させる前に、割り振りを記憶させる第１ＲＯＭ１１の領域の初期化を行っているが、第２ＣＰＵ２３は、初期化直後の第１ＲＯＭ１１を参照して第１ＣＰＵ１３の健全性を判断するようにしてもよい。つまり、第２ＣＰＵ２３は、第１ＲＯＭ１１が正しく初期化されている否か判断して、第１ＣＰＵ１３の健全性を判断するようにしてもよい。
【００３５】
（５）上記実施形態において、第１ＣＰＵ１３は、第２ＣＰＵ２３による周辺機器Ｄ１〜Ｄｎのチェック結果に基づいて第２ＣＰＵ２３の健全性を判断するようにしてもよい。つまり、第１ＣＰＵ１３は、第２ＣＰＵ２３による周辺機器Ｄ１〜Ｄｎのチェック結果を取得し、チェック結果として周辺機器Ｄ１〜Ｄｎの異常を得た場合、異常が発生した周辺機器Ｄ１〜Ｄｎの再度チェックを行い、異常が生じてしない場合には、第２ＣＰＵ２３の健全性に問題があると判断する。また、同様にして、第２ＣＰＵ２３が、第１ＣＰＵ１３の健全性を判断するようにしてもよい。
【符号の説明】
【００３６】
Ａ…マルチコアシステム、Ｄ１〜Ｄｎ…周辺機器、Ｅ１…第１演算制御部、Ｅ２…第２演算制御部、Ｂ…通信バス、１１…第１ＲＯＭ（データ記憶部及び第２のデータ記憶部）、１２…第１ＲＡＭ、１３…第１ＣＰＵ、２１…第２ＲＯＭ、２２…第２ＲＡＭ、２３…第２ＣＰＵ
【図１】
2014229207.tif 000003
【図２】
2014229207.tif 000004
【図３】
2014229207.tif 000005