(57)【要約】【課題】制御対象となるシステムの応答性の低下を抑制する。【解決手段】自動車の電子制御装置１００は、複数のプロセッサコア１２０Ａ及び１２０Ｂが集積されたマルチコアプロセッサ１２０を搭載し、割込み処理に係るタスクを処理するプロセッサコア１２０Ａ及び１２０Ｂを動的に割り付けて負荷分散する。また、電子制御装置１００は、プロセッサコア１２０Ａ及び１２０Ｂの負荷状況に応じて負荷分散する第１の分散処理と、運転状態の変化を予測し、その予測結果に影響を受ける少なくとも１つの割込み処理に係るタスクについて、プロセッサコア１２０Ａ及び１２０Ｂの負荷状況に応じて負荷分散する第２の分散処理と、を実行する。【選択図】図１
2019109744.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサコアが集積されたマルチコアプロセッサを搭載し、タスクを処理するプロセッサコアを動的に割り付けて負荷分散する自動車用電子制御装置であって、
前記複数のプロセッサコアの負荷状況に応じて負荷分散する第１の分散処理と、
運転状態の変化を予測し、当該予測結果に影響を受ける少なくとも１つのタスクについて、前記複数のプロセッサコアの負荷状況に応じて負荷分散する第２の分散処理と、
を実行するように構成された自動車用電子制御装置。
【請求項２】
前記第１の分散処理及び前記第２の分散処理は、特定のタスクについて、予め指定された前記プロセッサコアに割り付ける、
請求項１に記載の自動車用電子制御装置。
【請求項３】
前記第１の分散処理及び前記第２の分散処理は、制御対象となるシステム単位で、前記特定のタスクを前記プロセッサコアに割り付ける、
請求項２に記載の自動車用電子制御装置。
【請求項４】
前記第１の分散処理及び前記第２の分散処理は、前記複数のプロセッサコアが共通してアクセス可能な揮発性メモリにタスクをコピーし、当該揮発性メモリのタスクを指定して前記プロセッサコアに割り付ける、
請求項１〜請求項３のいずれか１つに記載の自動車用電子制御装置。
【請求項５】
前記第２の分散処理は、エンジン回転数が所定値以下であるとき、負荷分散を実行する、
請求項１〜請求項４のいずれか１つに記載の自動車用電子制御装置。
【請求項６】
前記第１の分散処理は、実際に発生している割込み処理に係るタスクについて、負荷分散を実行する、
請求項１〜請求項５のいずれか１つに記載の自動車用電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコアプロセッサを搭載した自動車用電子制御装置に関する。
【背景技術】
【０００２】
自動車用電子制御装置において、特開２０１１−２３７９２９号公報（特許文献１）に記載されるように、１つのプロセッサパッケージ内に複数のプロセッサコアを集積した、マルチコアプロセッサを搭載する技術が提案されている。マルチコアプロセッサを搭載した自動車用電子制御装置では、プロセッサコアの負荷状況に応じて、タスクを処理するプロセッサを動的に割り付けることで、各プロセッサコアの負荷を分散させていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２３７９２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、自動車においては、例えば、運転状態の変化に応じた割込み処理などで、処理すべきタスクが急増する場合がある。プロセッサコアの負荷状況に応じてタスクを動的に割り付けると、割り付けに要する時間だけタスクの処理が遅延し、例えば、制御対象となるシステムの応答性を低下させる要因となってしまう。
【０００５】
そこで、本発明は、制御対象となるシステムの応答性の低下を抑制した、自動車用電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
自動車用電子制御装置は、複数のプロセッサコアが集積されたマルチコアプロセッサを搭載し、タスクを処理するプロセッサコアを動的に割り付けて負荷分散する。また、自動車用電子制御装置は、複数のプロセッサコアの負荷状況に応じて負荷分散する第１の分散処理と、運転状態の変化を予測し、その予測結果に影響を受ける少なくとも１つのタスクについて、複数のプロセッサコアの負荷状況に応じて負荷分散する第２の分散処理と、を実行するように構成されている。
【発明の効果】
【０００７】
本発明によれば、制御対象となるシステムの応答性の低下を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】自動車に搭載された電子制御装置の一例を示すシステム図である。
【図２】初期化処理の一例を示すフローチャートである。
【図３】負荷分散の管理処理の一例を示すフローチャートである。
【図４】電子制御装置が高負荷状態であるか低負荷状態であるかを判定するための閾値の説明図である。
【図５】負荷通知処理の一例を示すフローチャートである。
【図６】第１実施例の初期状態の説明図である。
【図７】第１実施例において割込み処理を割り付けた状態の説明図である。
【図８】第２実施例の初期状態の説明図である。
【図９】第２実施例において割込み処理を割り付けた状態の説明図である。
【発明を実施するための形態】
【０００９】
以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。
図１は、自動車に搭載された電子制御装置の一例を示す。
【００１０】
電子制御装置１００は、複数のプロセッサコアが集積されたマルチコアプロセッサ１２０を搭載する。マルチコアプロセッサ１２０は、例えば、各種の演算を実行するプロセッサコア１２０Ａ及び１２０Ｂと、プロセッサコア１２０Ａに付設される不揮発性メモリ１２０Ｃと、プロセッサコア１２０Ｂに付設される不揮発性メモリ１２０Ｄと、演算時の作業領域となる揮発性メモリ１２０Ｅと、入出力回路１２０Ｆと、通信回路１２０Ｇと、これらを相互接続するバス１２０Ｈと、を有する。なお、マルチコアプロセッサ１２０は、２つのプロセッサコア１２０Ａ及び１２０Ｂに限らず、３つ以上のマルチコアを有していてもよい。また、電子制御装置１００は、マルチコアプロセッサ１２０に限らず、例えば、マルチコアプロセッサ１２０に電源を供給する電源回路など、各種の周辺回路を有していてもよい。
【００１１】
プロセッサコア１２０Ａ及び１２０Ｂは、マイクロプロセッサの中核部分であって、例えば、演算処理を行う論理回路、１次キャッシュ及び２次キャッシュなどを内蔵している。不揮発性メモリ１２０Ｃ及び１２０Ｄは、例えば、電気的にデータを書き換え可能なフラッシュＲＯＭ（Read Only Memory）からなり、プロセッサコア１２０Ａ及び１２０Ｂにのみ接続されている。そして、不揮発性メモリ１２０Ｃ及び１２０Ｄには、夫々、プロセッサコア１２０Ａ及び１２０Ｂが処理するタスクを構成するプログラムなどが格納されている。揮発性メモリ１２０Ｅは、例えば、ランダムにデータをアクセス可能なＲＡＭ（Random Access Memory）からなり、バス１２０Ｈを介して、プロセッサコア１２０Ａ及び１２０Ｂで共用できるようになっている。入出力回路１２０Ｆは、各種のセンサ，スイッチなどの信号を入力すると共に、制御対象となるシステム（例えば、アイドリングストップシステム，エンジンシステム，変速システムなど）に制御信号及び駆動信号などを出力する。通信回路１２０Ｇは、例えば、ＣＡＮ（Controller Area Network），ＦｌｅｘＲａｙ（登録商標）などの車載ネットワークを介して、他の電子制御装置と通信可能に接続する。従って、電子制御装置１００は、他の電子制御装置から自動車を制御するための各種のパラメータ（例えば、車速，エンジン回転数，負荷，制御状態など）を読み込むことができる。
【００１２】
ここで、自動車の運転状態の変化に応じた割込み処理などで処理すべきタスクが急増したとき、電子制御装置１００が、タスクを処理するプロセッサコアを動的に割り付けて負荷分散する処理の概要について説明する。なお、以下の説明においては、マルチコアプロセッサ１２０のプロセッサコア１２０Ａが負荷分散処理を管理するが、プロセッサコア１２０Ｂが負荷分散処理を管理してもよい。
【００１３】
電子制御装置１００が起動されたことを契機として、プロセッサコア１２０Ａは、プロセッサコア１２０Ａ及び１２０Ｂの負荷状況に応じて負荷分散する第１の分散処理と、運転状態の変化を予測し、その予測結果に影響を受ける少なくとも１つのタスクについて、プロセッサコア１２０Ａ及び１２０Ｂの負荷状況に応じて負荷分散する第２の分散処理と、を実行する。具体的には、プロセッサコア１２０Ａは、エンジン回転数が所定値より大きい場合、第１の分散処理のみを実行し、エンジン回転数が所定値以下である場合、第１の分散処理及び第２の分散処理を夫々実行する。
【００１４】
次に、負荷分散処理の詳細について説明する。
図２は、電子制御装置１００が起動されたことを契機として、プロセッサコア１２０Ａ及び１２０Ｂが夫々実行する、初期化処理の一例を示す。なお、初期化処理を実行するプログラムは、負荷分散を行わない固定処理として、不揮発性メモリ１２０Ｃ及び１２０Ｄに夫々格納されている。また、以下の説明においては、理解を容易ならしめるために、プロセッサコア１２０Ａが実行する初期化処理について説明するが、プロセッサコア１２０Ｂも同様な初期化処理を実行する。
【００１５】
ステップ１（図では「Ｓ１」と略記する。以下同様。）では、プロセッサコア１２０Ａが、不揮発性メモリ１２０Ｃに格納されているすべての割込み処理に係るタスクを構成するプログラムを読み込み、これを揮発性メモリ１２０Ｅにコピー（退避）する。割込み処理に係るタスクのプログラムが大きく１回でコピーできない場合には、このプログラムを分割して揮発性メモリ１２０Ｅにコピーすればよい。
【００１６】
なお、プロセッサコア１２０Ｂは、すべての割込み処理に係るタスクのプログラムを揮発性メモリ１２０Ｅにコピーしたとき、少なくとも割込み処理の識別情報及びプログラムの書き込みアドレスをプロセッサコア１２０Ａに通知する。従って、プロセッサコア１２０Ａは、揮発性メモリ１２０Ｅに格納されているすべてのプログラムについて、割込み処理及びその格納位置を管理することができる。
【００１７】
かかる初期化処理によれば、電子制御装置１００が起動されると、プロセッサコア１２０Ａ及び１２０Ｂは、夫々、不揮発性メモリ１２０Ｃ及び１２０Ｄに格納されているすべての割込み処理に係るタスクのプログラムを揮発性メモリ１２０Ｅにコピーする。このため、プロセッサコア１２０Ａは、プロセッサコア１２０Ｂを介在しなくとも、不揮発性メモリ１２０Ｄに格納されていた割込み処理に係るタスクを実行することができる。また、プロセッサコア１２０Ｂは、プロセッサコア１２０Ａを介在しなくとも、不揮発性メモリ１２０Ｃに格納されていた割込み処理に係るタスクを実行することができる。従って、割込み処理に係るタスクを実行する時間を短縮することができる。
【００１８】
図３は、初期化処理に続いて、プロセッサコア１２０Ａが所定時間ごとに繰り返し実行する、負荷分散の管理処理の一例を示す。なお、管理処理を実行するためのプログラムは、負荷分散を行わない固定処理として、不揮発性メモリ１２０Ｃに格納されている。
【００１９】
ステップ１１では、プロセッサコア１２０Ａが、プロセッサコア１２０Ａの負荷を算出する。ここで、負荷としては、例えば、プロセッサの使用率，リソースの使用率など、プロセッサの負荷状況を表した指標を利用することができる（以下同様）。また、負荷としては、所定規則に従って、複数のパラメータから求めた指標とすることもできる（以下同様）。
【００２０】
ステップ１２では、プロセッサコア１２０Ａが、プロセッサコア１２０Ｂに負荷通知を要求する。
ステップ１３では、プロセッサコア１２０Ａが、プロセッサコア１２０Ｂから負荷通知があったか否かを判定する。そして、プロセッサコア１２０Ａは、負荷通知があったと判定すれば処理をステップ１４へと進める一方（Ｙｅｓ）、負荷通知がないと判定すれば待機する（Ｎｏ）。
【００２１】
ステップ１４では、プロセッサコア１２０Ａが、入出力回路１２０Ｆ及び通信回路１２０Ｇの少なくとも一方を介して、自動車に関する各種の運転状態を取得する。具体的には、プロセッサコア１２０Ａは、自動車の運転状態として、例えば、エンジン回転数，アイドリングストップシステムの作動状態，ブレーキペダルの操作状態，車速，アクセル開度，故障発生状態，ワイパーの作動状態，外気温，先行車両の有無，変速モードなどを取得する。
【００２２】
ステップ１５では、プロセッサコア１２０Ａが、エンジン回転数が所定値以下であるか否かを判定する。ここで、所定値は、図４に示すように、電子制御装置１００が低負荷状態であるか高負荷状態であるかを判定するための閾値であって、例えば、エンジン回転数の上昇に伴って急増する割込み処理を考慮して適宜設定することができる。そして、プロセッサコア１２０Ａは、エンジン回転数が所定値以下であると判定すれば処理をステップ１６へと進める一方（Ｙｅｓ）、エンジン回転数が所定値より大きいと判定すれば処理をステップ１９へと進める（Ｎｏ）。
【００２３】
ステップ１６では、プロセッサコア１２０Ａが、ステップ１４で取得した各種の運転状態に応じて、下記に例示するように、自動車に関する運転状態の変化を予測する。
【００２４】
［アイドリングストップからの復帰］
近年では、自動車が信号待ちなどで停車したとき、エンジンを停止させて燃料節約及び排出ガス削減を図る、アイドリングストップシステムが実用化されている。アイドリングストップから復帰するとき、エンジンの再始動操作に係る割込み処理が急増する。このため、プロセッサコア１２０Ａは、アイドリングストップシステムの作動状態に基づいて、アイドリングストップ中であるか否かを判定する。また、プロセッサコア１２０Ａは、ブレーキペダルの操作量が減少し始めると、実際にアイドリングストップから復帰するに先立って、アイドリングストップから復帰すると予測する。
【００２５】
［登坂路走行によるエンジン回転数の急増］
自動車が登坂路を走行している場合、駆動輪を駆動する必要トルクが大きくなることから、キックダウンやダウンシフトなどで減速比を大きくする操作が行われる。この場合、減速比が大きくなるため、エンジン回転数が急激に上昇し、エンジン回転数に同期した割込み処理が急増する。このため、プロセッサコア１２０Ａは、例えば、車速及びアクセル開度から自動車が登坂路を走行しているか否かを判定し、実際の減速比を大きくする操作に先立って、エンジン回転数が急激に上昇すると予測する。
【００２６】
［故障発生時のフェイルセーフ又はリンプホーム］
自動車に搭載される電子制御装置には、制御対象となるシステム及び自分自身の故障発生の有無を診断する診断機能が組み込まれている。診断機能によって故障発生と診断されたとき、ＭＩＬ（Malfunction Indication Lamp：警告灯）を点灯し、その故障内容などに応じて、通常の制御とは異なる、フェイルセーフ又はリンプホームに移行する。フェイルセーフ又はリンプホームに移行すると、これを実現するための割込み処理が急増する。このため、プロセッサコア１２０Ａは、ＭＩＬが点灯したとき、故障発生部位及びその内容に応じた割込み処理を特定し、実際のフェイルセーフ又はリンプホームに移行するに先立って、フェイルセーフ又はリンプホームに移行すると予測する。
【００２７】
［横滑り防止システムの作動］
近年では、突然の路面状況の変化などのために急激な操舵操作を行ったときに、横滑りなどの自動車の不安定な挙動を抑制して走行安全性を確保する、横滑り防止システムが実用化されている。横滑り防止システムが作動すると、自動車の挙動を安定化させる処理に係る割込み処理が急増する。このため、プロセッサコア１２０Ａは、例えば、ワイパーの作動状態及び外気温に基づいて、スリップが起こりやすい降雨時又は降雪時の走行であるか否かを判定する。そして、プロセッサコア１２０Ａは、ワイパーが作動しているとき、又は、外気温が所定温度より低いとき、実際に横滑り防止システムが作動するに先立って、横滑り防止システムが作動すると予測する。
【００２８】
［先行車両の存在］
近年では、車両前方に存在する先行車両との安全車間距離を維持しつつ追従走行し、運転者の運転負荷を軽減する、アダプティブクルーズコントロールシステムが実用化されている。車両前方に先行車両が存在する場合、何らかの理由によって、その先行車両が急制動する状態が想定される。この場合、アダプティブクルーズコントロールシステムにおいて、アクセル操作及びブレーキ操作に係る割込み処理が急増する。このため、プロセッサコア１２０Ａは、例えば、アダプティブクルーズコントロールシステムから先行車両の有無を読み込み、先行車両が存在する場合には、実際にアクセル操作及びブレーキ操作に係る割込み処理が急増するに先立って、アクセル操作及びブレーキ操作に係る割込みが急増すると予測する。
【００２９】
［変速モード］
自動変速機には、変速回転数を通常より高くしてスポーティな走行を可能にする「スポーツモード」や、車速を低下させずにエンジン回転数を低下させて燃費を向上させる「オーバドライブモード」に任意に切換可能なものがある。「スポーツモード」又は「オーバドライブモード」に切り換えた場合、変速処理に係る割込み処理が急増する。このため、プロセッサコア１２０Ａは、自動変速機のモード設定状態に基づいて、「スポーツモード」又は「オーバドライブモード」に切り換えられているか否かを判定する。そして、プロセッサコア１２０Ａは、「スポーツモード」又は「オーバドライブモード」に切り換えられていれば、実際に変速処理に係る割込み処理が急増するに先立って、変速処理に係る割込み処理が急増すると予測する。
【００３０】
なお、自動車に関する運転状態の変化としては、アイドリングストップからの復帰、登坂路走行によるエンジン回転数の急増、故障発生時のフェイルセーフ又はリンプホーム、横滑り防止システムの作動、先行車両の存在、変速モードに限らず、電子制御装置１００の割込み処理が急増する可能性がある、各種の運転状態を適用することができる。
【００３１】
ステップ１７では、プロセッサコア１２０Ａが、現在の運転状態と変化予測とを比較することで、自動車に関する運転状態が変化するか否かを判定する。そして、プロセッサコア１２０Ａは、運転状態が変化すると判定すれば処理をステップ１８へと進める一方（Ｙｅｓ）、運転状態が変化しないと判定すれば処理をステップ１９へと進める（Ｎｏ）。
【００３２】
ステップ１８では、プロセッサコア１２０Ａが、運転状態の予測結果並びにプロセッサコア１２０Ａ及び１２０Ｂの負荷状況に応じて、割込み処理に係るタスクを分散させる。具体的には、プロセッサコア１２０Ａは、運転状態の予測結果により影響を受ける少なくとも１つのタスクを特定する。また、プロセッサコア１２０Ａは、プロセッサコア１２０Ａ及び１２０Ｂの負荷を考慮し、例えば、特定のプロセッサコアに負荷がかからないように、上記タスクの割り付け先を決定する。なお、タスクの割り付け先は、例えば、公知の手法を適用して決定することができる。
【００３３】
そして、プロセッサコア１２０Ａが実行するタスクに関しては、プロセッサコア１２０Ａは、本来ならば自分自身で実行するタスクであれば、不揮発性メモリ１２０Ｃに格納されているプログラムを実行し、本来ならばプロセッサコア１２０Ｂが実行するタスクであれば、揮発性メモリ１２０Ｅに格納されているプログラムを実行する。
【００３４】
一方、プロセッサコア１２０Ｂが実行するタスクに関しては、プロセッサコア１２０Ａは、本来ならばプロセッサコア１２０Ｂが実行するタスクであれば、プロセッサコア１２０Ｂにそのタスクの実行を依頼する。また、プロセッサコア１２０Ａは、本来ならばプロセッサコア１２０Ａが実行するタスクであれば、揮発性メモリ１２０Ｅにおけるタスクのプログラムの位置を指定し、プロセッサコア１２０Ｂにそのタスクの実行を依頼する。
【００３５】
なお、プロセッサコア１２０Ａは、例えば、タスクの割り付け状態を特定可能な情報を持ち、この情報を参照することで、プロセッサコア１２０Ａ及び１２０Ｂに同一のタスクが割り付けられないようにすることが好ましい。
【００３６】
ステップ１９では、プロセッサコア１２０Ａが、実際に割込み処理が発生しているか否かを判定する。そして、プロセッサコア１２０Ａは、割込み処理が発生していると判定すれば処理をステップ２０へと進める一方（Ｙｅｓ）、割込み処理が発生していないと判定すれば処理を終了させる（Ｎｏ）。
【００３７】
ステップ２０では、プロセッサコア１２０Ａが、プロセッサコア１２０Ａ及び１２０Ｂの負荷状況に応じて、割込み処理に係るタスクを分散させる。具体的には、プロセッサコア１２０Ａは、プロセッサコア１２０Ａ及び１２０Ｂの負荷を考慮し、例えば、特定のプロセッサコアに負荷がかからないように、割込み処理に係るタスクについて、その割り付け先を決定する。なお、タスクの割り付け先は、例えば、公知の手法を適用して決定することができる。
【００３８】
そして、プロセッサコア１２０Ａが実行するタスクに関しては、プロセッサコア１２０Ａは、本来ならば自分自身で実行するタスクであれば、不揮発性メモリ１２０Ｃに格納されているプログラムを実行し、本来ならばプロセッサコア１２０Ｂが実行するタスクであれば、揮発性メモリ１２０Ｅに格納されているプログラムを実行する。
【００３９】
一方、プロセッサコア１２０Ｂが実行するタスクに関しては、プロセッサコア１２０Ａは、本来ならばプロセッサコア１２０Ｂが実行するタスクであれば、プロセッサコア１２０Ｂにそのタスクの実行を依頼する。また、プロセッサコア１２０Ａは、本来ならばプロセッサコア１２０Ａが実行するタスクであれば、揮発性メモリ１２０Ｅにおけるタスクのプログラムの格納位置を指定し、プロセッサコア１２０Ｂにそのタスクの実行を依頼する。
【００４０】
図５は、初期化処理に続いて、プロセッサコア１２０Ｂが、プロセッサコア１２０Ａから負荷通知の要求があったことを契機として実行する、負荷通知処理の一例を示す。なお、負荷通知処理を実行するためのプログラムは、負荷分散を行わない固定処理として、不揮発性メモリ１２０Ｄに格納されている。
【００４１】
ステップ２１では、プロセッサコア１２０Ｂが、プロセッサコア１２０Ｂの負荷を算出する。ここで、プロセッサコア１２０Ｂの負荷は、プロセッサコア１２０Ａの負荷と比較可能とすべく、これと同一の指標を採用する。
ステップ２２では、プロセッサコア１２０Ｂが、プロセッサコア１２０Ａに負荷を通知する。
【００４２】
かかる管理処理及び負荷通知処理によれば、プロセッサコア１２０Ａは、エンジン回転数が所定値以下であるとき、割込み処理が少なく負荷が比較的低いため、自動車に関する各種の運転状態に応じて運転状態の変化を予測する。そして、運転状態が変化するときには、プロセッサコア１２０Ａは、予測結果に影響を受ける少なくとも１つの割込み処理に係るタスクについて、例えば、特定のプロセッサコアに負荷がかからないように、プロセッサコア１２０Ａ及び１２０Ｂのいずれかに割り付ける。また、プロセッサコア１２０Ａは、実際に割込み処理があるとき、その割込み処理に係るタスクについて、例えば、特定のプロセッサコアに負荷がかからないように、プロセッサコア１２０Ａ及び１２０Ｂのいずれかに割り付ける。
【００４３】
一方、プロセッサコア１２０Ａは、エンジン回転数が所定値より大きいとき、割込み処理が多く負荷が比較的高いため、運転状態の変化を予測せずに、割込み処理が発生しているタスクについて、例えば、特定のプロセッサコアに負荷がかからないように、プロセッサコア１２０Ａ及び１２０Ｂのいずれかに割り付ける。
【００４４】
従って、自動車に関する運転状態の変化が予測される場合、その変化に続いて割込み処理が実際に急増する前に、予測結果に影響を受ける少なくとも１つの割込み処理に係るタスクが各プロセッサコアに割り付けられる。このため、タスクを動的に割り付ける時間が不要となり、制御対象となるシステムの応答性を向上させることができる。また、割込み処理が発生した場合、各プロセッサコアの負荷状況に応じて、割込み処理に係るタスクが各プロセッサコアに動的に割り付けられるため、通常の負荷分散も併せて実現することができる。
【００４５】
なお、運転状態の変化の予測結果に応じて、少なくとも１つの割込み処理に係るタスクをプロセッサコア１２０Ａ及び１２０Ｂのいずれかに割り付けた場合、その予測結果に至った条件が成立しなくなると、タスクの割り付け前の状態に復帰してもよい。一例を挙げると、アイドリングストップによってタスクが割り付けられた場合、エンジンが再始動されると、タスクの割り付け前の状態に復帰させる。
【００４６】
ここで、電子制御装置１００による負荷分散の理解を容易ならしめるため、具体的な事例を想定した実施例について説明する。
第１実施例の前提として、図６に示すように、プロセッサコア１２０Ａには、固定処理Ａ１，固定処理Ａ２，割込み処理Ａ３，割込み処理Ａ４及び割込み処理Ａ５が割り付けられ、プロセッサコア１２０Ｂには、固定処理Ｂ１及び割込み処理Ｂ２が割り付けられていると仮定する。ここで、固定処理Ａ１及び固定処理Ａ２は、負荷分散対象とならない処理であって、必ずプロセッサコア１２０Ａで実行される。一方、固定処理Ｂ１は、負荷分散対象とならない処理であって、必ずプロセッサコア１２０Ｂで実行される。そして、自動車に関する運転状態の変化に応じて、本来であればプロセッサコア１２０Ａに割り付けられる割込み処理Ａ６が発生したことを考える。なお、図６は、プロセッサコア１２０Ａ及び１２０Ｂにおける負荷状況を観念的に表現している。
【００４７】
上記想定において、プロセッサコア１２０Ａの負荷が比較的高いため、ここに割込み処理Ａ６を割り付けると、プロセッサコア１２０Ａの負荷が高まって発熱量が増加し、例えば、熱暴走を起こすおそれがある。そこで、図７に示すように、プロセッサコア１２０Ａより負荷が低いプロセッサコア１２０Ｂに割込み処理Ａ６を割り付けることで、特定のプロセッサコアに負荷がかかることを抑制し、例えば、熱暴走を起こす可能性を低減することができる。
【００４８】
また、第２実施例の前提として、図８に示すように、プロセッサコア１２０Ａには、固定処理Ａ１及び固定処理Ａ２が割り付けられ、プロセッサコア１２０Ｂには、固定処理Ｂ１が割り付けられていると仮定する。この想定において、エンジン回転数が所定値以下である場合、プロセッサコア１２０Ａは、処理すべき割込み処理に係るタスクが比較的少ないため、自動車に関する運転状態の変化を予測する。そして、運転状態の変化に応じて、割込み処理Ａ３，割込み処理Ａ４，割込み処理Ａ５，割込み処理Ａ６及び割込み処理Ｂ２が発生したことを考える。ここで、割込み処理Ａ３〜Ａ６は、本来であればプロセッサコア１２０Ａが処理するタスクであり、割込み処理Ｂ２は、本来であればプロセッサコア１２０Ｂが処理するタスクである。
【００４９】
上記想定において、プロセッサコア１２０Ａは、プロセッサコア１２０Ａ及び１２０Ｂの負荷状況を考慮して、図９に示すように、割込み処理Ａ３〜Ａ６のうち、割込み処理Ａ３〜Ａ５をプロセッサコア１２０Ａに割り付けると決定する。即ち、プロセッサコア１２０Ａに割込み処理Ａ３〜Ａ６のすべてを割り付けると、プロセッサコア１２０Ａの負荷が高まってしまうため、プロセッサコア１２０Ａは、プロセッサコア１２０Ｂの負荷状況とのバランスなどを考慮し、割込み処理Ａ３〜Ａ５のみを割り付けると決定する。また、プロセッサコア１２０Ａは、割込み処理Ｂ２及び割込み処理Ａ６をプロセッサコア１２０Ｂに割り付けると決定する。そして、プロセッサコア１２０Ａは、運転状態が実際に変化する前に、割込み処理Ａ３〜Ａ６及びＢ２をプロセッサコア１２０Ａ及び１２０Ｂに割り付ける。
【００５０】
なお、割込み処理の種類によっては、特定のプロセッサコアにタスクを割り付けることが望ましいので、プロセッサコア１２０Ａは、特定のタスクについては、予め指定されたプロセッサコアに割り付けるようにしてもよい。また、特定のタスクは、制御対象となるシステム単位、例えば、アイドリングストップシステム，自動変速システム，横滑り防止システム，アダプティブクルーズコントロールシステムなどで、予め指定されたプロセッサコアに割り付けるようにしてもよい。
【符号の説明】
【００５１】
１００  電子制御装置
１２０  マルチコアプロセッサ
１２０Ａ  プロセッサコア
１２０Ｂ  プロセッサコア
１２０Ｅ  揮発性メモリ
【図１】
2019109744.tif 000003
【図２】
2019109744.tif 000004
【図３】
2019109744.tif 000005
【図４】
2019109744.tif 000006
【図５】
2019109744.tif 000007
【図６】
2019109744.tif 000008
【図７】
2019109744.tif 000009
【図８】
2019109744.tif 000010
【図９】
2019109744.tif 000011