(57)【要約】【課題】この発明は、アクチュエータの応答性を高めることのできるエンジン制御装置を提供することを目的とする。【解決手段】  マルチコアプロセッサを有する。１つの制御機能について、制御機能の制御対象であるアクチュエータの制御値を演算するアプリケーション部と、制御値を用いてアクチュエータに制御信号を出力するプラットフォーム部とが異なるコアに実装される。マルチコアプロセッサは、少なくとも前記アプリケーション部が制御値を演算してから前記プラットフォーム部が前記制御値を取得するまでの間、前記アプリケーション部と前記プラットフォーム部とが同一コア内に実装されているように、前記アプリケーション部及び前記プラットフォーム部のいずれか一方を他方が実装されているコアに一時的に移動させる。【選択図】図３
2014066165.tif 000002
【特許請求の範囲】
【請求項１】
マルチコアプロセッサを有し、１つの制御機能についてのアプリケーション部とプラットフォーム部とが異なるコアに実装されるエンジン制御装置において、
前記アプリケーション部は、前記制御機能の制御対象であるアクチュエータの制御値を演算し、
前記プラットフォーム部は、前記制御値を用いて前記アクチュエータに制御信号を出力し、
前記マルチコアプロセッサは、少なくとも前記アプリケーション部が制御値を演算してから前記プラットフォーム部が前記制御値を取得するまでの間、前記アプリケーション部と前記プラットフォーム部とが同一コア内に実装されているように、前記アプリケーション部及び前記プラットフォーム部のいずれか一方を他方が実装されているコアに一時的に移動させる移動手段、
を備えることを特徴とするエンジン制御装置。
【請求項２】
前記マルチコアプロセッサは、前記プラットフォーム部を前記アプリケーション部が実装されているコアに移動させる第１の場合と、前記アプリケーション部を前記プラットフォーム部が実装されているコアに移動させる第２の場合とで、いずれの方が応答性が高まるかを判定する応答性判定手段を備え、
前記移動手段は、前記第１の場合の方が応答性が高まると判定された場合に、前記プラットフォーム部を前記アプリケーション部が実装されているコアに一時的に移動させ、前記第２の場合の方が応答性が高まると判定された場合に、前記アプリケーション部を前記プラットフォーム部が実装されているコアに一時的に移動させる手段を更に備えること、
を特徴とする請求項１記載のエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、エンジン制御装置に係り、特に、エンジン制御用のマルチコアプロセッサを有するエンジン制御装置に関する。
【背景技術】
【０００２】
従来、プロセッサの性能向上は、クロック周波数の向上で実現されてきたが、近年では消費電力（発熱）の問題のため限界を迎えつつある。消費電力Ｐとクロック周波数ｆの間には、Ｐ≒α×ｆ３（α：係数）で示される関係がある。この関係によれば、クロック周波数が２倍になれば消費電力が８倍になるため、クロック周波数の高いシングルコアよりもクロック周波数の低いマルチコアの方が消費電力や発熱量の点で有利である。近年では、エンジンの制御高性能化に対応するため、マルチプロセッサやマルチコアプロセッサを活用する研究が進められている。
【０００３】
例えば、特許文献１には、マルチプロセッサを有する車両用電子制御装置の電源管理システムが開示されている。本公報には、消費電力を少なくするため、プロセッサに機能毎に分割された制御演算を割り当て、該機能の起動または停止状態に基づいて、該機能に対応する制御演算が割り当てられたプロセッサを起動または停止させることが開示されている。
【０００４】
また、特許文献２には、マルチコアプロセッサシステムにおける演算資源割当装置が開示されている。本公報には、同一プロセスに属する複数のタスクを同じプロセッサに割り当てることにより、キャッシュ利用効率を向上させることが開示されている。
尚、出願人は、本発明に関連するものとして、上記の文献を含めて、以下に記載する文献を認識している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１２５９５０号公報
【特許文献２】国際公開第２０１０／０９３００３号
【特許文献３】特開平８−０６９４４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、自動車における電子制御化の高度化に伴い、ＥＣＵ開発に占める制御ソフトウェアの規模と開発工数が増大している。制御ソフトウェアの規模と複雑性の増大に対処するため制御ソフトウェアの標準化が進められている。制御ソフトウェアは一般に、制御機能を実現するための演算を実行するアプリケーション・ソフトウェア（以下、アプリケーションと称する）と、ＣＰＵ機能そのものと紐付く各種Ｉ／ＯドライバやＯＳなどからなるソフトウェアプラットフォーム（以下、ＰＦソフトと称する）から構成される。例えば、燃料噴射制御機能は、噴射量や噴射時期などを演算するアプリケーションと、アプリケーションからの指示に応じてインジェクタへの通電信号を出力するための処理を行うＰＦソフトとを備える。
【０００７】
従来のシングルコアＣＰＵの場合は、同じ制御機能のアプリケーションとＰＦソフトとは当然同一コアに実装される。しかし、マルチコアＣＰＵの場合は、同じ制御機能であっても、ＲＯＭ容量の制約やコア間の処理負荷バランスを図るなどの理由で、アプリケーションとＰＦソフトとを異なるコアに実装する場合がある。
【０００８】
また、近年活発になっているソフトウェア標準化の活動のうち、ＡＵＴＯＳＡＲの仕様では、Ｉ／Ｏ処理などのＰＦソフトは１つのコアのみに実装されることが規定されている。この場合、ある１つの制御機能についてのアプリケーションとＰＦソフトとが異なるコアに実装される可能性がある。
【０００９】
１つの制御機能についてのアプリケーションとＰＦソフトとが異なるコアに実装される場合、アプリケーションとＰＦソフトとの間の関数コールや変数共有などがコアを跨ぐ。そのため、同一コアに実装される場合に比して、それらのオーバーヘッド（時間遅れ）が大きくなる。例えば、上述の噴射量や噴射時期などを演算するアプリケーションからインジェクタへの通電信号を出力するための処理を行うＰＦソフトに通電指示を出してから、実際にＩ／Ｏ処理が行われるまでの時間遅れが大きくなる。時間遅れが大きくなると、意図したエンジン制御が実現されずに燃費やドライバビリティが悪化するおそれがある。そのため、時間遅れを低減して、制御機能が要求するアクチュエータの応答性を満たす必要がある。
【００１０】
この発明は、上述のような課題を解決するためになされたもので、１つの制御機能についてのアプリケーションとＰＦソフトとが異なるコアに存在しうる場合に、アクチュエータの応答性を高めることのできるエンジン制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１の発明は、上記の目的を達成するため、マルチコアプロセッサを有し、１つの制御機能についてのアプリケーション部とプラットフォーム部とが異なるコアに実装されるエンジン制御装置であって、
前記アプリケーション部は、前記制御機能の制御対象であるアクチュエータの制御値を演算し、
前記プラットフォーム部は、前記制御値を用いて前記アクチュエータに制御信号を出力し、
前記マルチコアプロセッサは、少なくとも前記アプリケーション部が制御値を演算してから前記プラットフォーム部が前記制御値を取得するまでの間、前記アプリケーション部と前記プラットフォーム部とが同一コア内に実装されているように、前記アプリケーション部及び前記プラットフォーム部のいずれか一方を他方が実装されているコアに一時的に移動させる移動手段、を備えることを特徴とする。
【００１２】
また、第２の発明は、第１の発明において、
前記マルチコアプロセッサは、前記プラットフォーム部を前記アプリケーション部が実装されているコアに移動させる第１の場合と、前記アプリケーション部を前記プラットフォーム部が実装されているコアに移動させる第２の場合とで、いずれの方が応答性が高まるかを判定する応答性判定手段を備え、
前記移動手段は、前記第１の場合の方が応答性が高まると判定された場合に、前記プラットフォーム部を前記アプリケーション部が実装されているコアに一時的に移動させ、前記第２の場合の方が応答性が高まると判定された場合に、前記アプリケーション部を前記プラットフォーム部が実装されているコアに一時的に移動させる手段を更に備えること、を特徴とする。
【発明の効果】
【００１３】
第１の発明によれば、１つの制御機能についてのアプリケーション部（アプリケーション）とプラットフォーム部（ＰＦソフト）とが異なるコアに存在しうる場合に、アプリケーション部及びプラットフォーム部のいずれか一方を、他方が実装されているコアに動的に移動させることができる。アプリケーション部が制御値を演算してからプラットフォーム部が制御値を取得するまでの間は、アプリケーション部とプラットフォーム部が同一コアに存在するため、時間遅れを低減することができる。このため、第１の発明によれば、制御機能が制御対象とするアクチュエータの応答性を高めることができる。
【００１４】
第２の発明によれば、より応答性が高まるように、アプリケーション部及びプラットフォーム部のいずれか一方を他方が実装されているコアに動的に移動させることができる。このため、第２の発明によれば、制御機能が要求するアクチュエータの応答性を満たすことが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態１に係るシステム構成を説明するための概念構成図である。
【図２】マルチコアプロセッサであるＥＣＵ２２の概念構成図である。
【図３】本発明の実施の形態１に係るシステムにおいて、ＥＣＵ２２が実行する制御ルーチンのフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施の形態について詳細に説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。
【００１７】
実施の形態１．
［実施の形態１のシステム構成］
図１は、本発明の実施の形態１に係るシステム構成を説明するための概念構成図である。図１に示すシステムは、内燃機関（以下、単にエンジンと称する。）１０を備えている。エンジン１０は、１つ以上の気筒を備える。各気筒には、空気を筒内に取り込むための吸気通路と、気筒内から排気ガスを排出するための排気通路とが接続されている。また、実施の形態１におけるエンジン１０は、排気通路にタービンを備えた過給機付きエンジンである。
【００１８】
実施の形態１のシステムは、エンジン１０を制御するためのエンジン制御装置２０を備えている。エンジン制御装置２０は、各種センサ及びアクチュエータ、ＥＣＵ（Electronic Control Unit）２２を備えている。ＥＣＵ２２は、ＲＯＭ、ＲＡＭ等を含む記憶回路、入出力回路、演算処理回路を備えた演算処理装置であって、１つのプロセッサ・パッケージ内に複数のコアを封入したエンジン制御用のマルチコアプロセッサである。各種センサ及びアクチュエータは、入出力回路を介して演算処理回路に接続されている。
【００１９】
ＥＣＵ２２の入力側には、クランク角及びクランク角速度を検出するためのクランク角センサ３０、車両のアクセルペダルの操作量に対応したアクセル開度を検出するためのアクセル開度センサ３２の他、シフトレバー状態、バッテリ容量、ブレーキ負圧、エアコン性能などのエンジン１０の運転状態を検出するための各種センサが接続されている（図示省略）。また、ＥＣＵ２２には、路面情報や信号情報などのナビ情報も入力される。
【００２０】
ＥＣＵ２２の出力側には、気筒に接続された吸気通路を流れる空気量を調整するための電子制御式のスロットルバルブ３４、気筒内に燃料を噴射するためのインジェクタ３６、気筒内の混合気に点火するための点火プラグ３８、吸排気弁を停止状態にするための弁停止装置を動作させる弁停止ソレノイド４０、インジェクタ３６に供給する燃料の圧力を高める高圧燃料ポンプ４２と、タービンを迂回するバイパス通路に設けられた電子制御式のウェイストゲートバルブ（Waste Gate Valve）４４、吸排気弁の開閉タイミングやリフト量を可変とする可変動弁装置４６、電子制御式の自動変速機（以下、ＥＣＴ（Electronic Controlled Transmission）と称する）を動作させるＥＣＴソレノイド４８等のエンジン１０の運転状態を制御するための各種アクチュエータが接続されている。
【００２１】
ＥＣＵ２２は、各種センサの出力に基づいて、所定のプログラムに従って各種アクチュエータを駆動させることにより、エンジン１０の運転状態を制御する。
【００２２】
図２は、マルチコアプロセッサであるＥＣＵ２２の概念構成図である。図２にはコントローラと２つのコアが示されているが、コア数はこれに限定されるものではない。コントローラは、各コアに対して各種指示信号（起動／停止、クロック周波数設定、演算割り当て）を出力する。１つの制御機能を実現する制御ソフトウェアは、制御対象のアクチュエータの制御量を演算するアプリケーションと、ＣＰＵ機能そのものと紐付く各種Ｉ／ＯドライバやＯＳなどからなるＰＦソフトから構成される。例えば、燃料噴射制御機能は、噴射量や噴射時期などを演算するアプリケーションと、アプリケーションからの指示に応じてインジェクタ３６への通電信号を出力するための処理を行うＰＦソフトを備える。
【００２３】
上述したＡＵＴＯＳＡＲ仕様ではＰＦソフトは１つのコアのみに実装されることが規定されている。この場合、１つの制御機能に関するアプリケーションとＰＦソフトとが異なるコアに実装される可能性がある。アプリケーションとＰＦソフトとが異なるコアに実装される場合、アプリケーションとＰＦソフトとの間の関数コールや変数共有などがコアを跨ぐ。そのため、同一コアに実装される場合に比して、それらのオーバーヘッド（時間遅れ）が大きくなる。例えば、図２に示す例では、燃料噴射制御機能の噴射アプリケーションとインジェクタ駆動ＰＦとは同一のコアに実装されているため時間遅れは問題にならない。これに対し、弁停止制御機能の弁停止アプリケーションと弁停止ソレノイド駆動ＰＦとは、異なるコアに実装されているため時間遅れが問題になるおそれがある。時間遅れが大きくなると、意図したエンジン制御が実現されずに燃費やドライバビリティ悪化などの問題が生じてしまうおそれがある。そのため、時間遅れを低減して、運転状態に応じて制御機能が要求するアクチュエータの応答性を満たす必要がある。
【００２４】
そこで、本発明の実施の形態１のシステムでは、１つの制御機能についてのアプリケーションとＰＦソフトとが異なるコアに実装されている場合に、次の基準１〜基準４の情報に基づいて、制御対象のアクチュエータの制御量を演算するアプリケーションと、制御値を用いてアクチュエータに制御信号を出力するＰＦソフトとを動的に同一コアに移動させることとした。
【００２５】
制御機能についての処理が実行される間（少なくともアプリケーションが制御値を演算してから、ＰＦソフトが制御値を取得するまでの間）において、アプリケーションとＰＦソフトとを同一コアに実装することにより、時間遅れを低減することができる。これにより、制御対象のアクチュエータの応答性を高めて、制御機能が要求するアクチュエータの応答性を満たすことが可能となる。
【００２６】
（基準１：アクセル開度、エンジン回転数）
アクセル開度の情報に基づいて、アプリケーションとＰＦソフトとを動的に同一コアに移動させることについて説明する。
アクセル開度が所定値以上の速度で増加する場合、つまり、加速時には、スロットルバルブ３４を応答性高く制御する必要がある。そこで、加速時には、スロットル制御機能に関し、スロットルバルブ３４の制御値を演算するアプリケーション、及び制御値を取得してスロットルバルブ３４に制御信号を出力するＰＦソフトのいずれか一方を、他方が実装されているコアに一時的に移動させて、スロットルバルブ３４の応答性を高める。
【００２７】
また、加速時には、非同期噴射及びそれに伴う点火時期を応答性高く制御する必要がある。そこで、加速時には、燃料噴射制御機能に関し、インジェクタ３６の噴射量と噴射時期を演算するアプリケーション、及び噴射量と噴射時期を取得してインジェクタ３６に制御信号を出力するＰＦソフトのいずれか一方を、他方が実装されているコアに一時的に移動させて、インジェクタ３６の応答性を高める。また、加速時には、点火制御機能に関し、点火プラグ３８の点火時期を演算するアプリケーション、及び点火時期を取得して点火プラグ３８に制御信号を出力するＰＦソフトのいずれか一方を、他方が実装されているコアに一時的に移動させて、点火プラグ３８の応答性を高める。
【００２８】
また、加速と同時にインジェクタ３６に供給する燃料を所定の燃圧まで昇圧する必要がある。そこで、加速時には、燃圧制御機能に関し、高圧燃料ポンプ４２の制御値を演算するアプリケーション、及び制御値を取得して高圧燃料ポンプ４２に制御信号を出力するＰＦソフトのいずれか一方を、他方が実装されているコアに一時的に移動させて、高圧燃料ポンプ４２の応答性を高める。
【００２９】
また、加速と同時にウェイストゲートバルブ４４を閉じて過給圧を確保する必要がある。そこで、加速時には、ウェイストゲートバルブ制御機能に関し、ウェイストゲートバルブ４４の閉弁制御値を演算するアプリケーション、及び閉弁制御値を取得してウェイストゲートバルブ４４に閉弁制御信号を出力するＰＦソフトのいずれか一方を、他方が実装されているコアに一時的に移動させて、ウェイストゲートバルブ４４の応答性を高める。
【００３０】
逆にアクセル開度が所定値以上の速度で減少する場合や所定値以下に減少する場合、フューエルカット実行と同期して吸排気弁を速やかに停止させる弁停止制御を実行する。これは、触媒への新気流入を抑制して劣化防止を図ることが目的なので、弁停止ソレノイド４０を遅れなく制御する必要がある。そこで、フューエルカット実行時は、弁停止制御機能に関し、弁停止ソレノイド４０の弁停止制御値を演算するアプリケーション、及び弁停止制御値を取得して弁停止ソレノイド４０に弁停止制御信号を出力するＰＦソフトのいずれか一方を、他方が実装されているコアに一時的に移動させて、弁停止ソレノイド４０の応答性を高める。
【００３１】
なお、上述したアクセル開度をエンジン回転数に置き換えても同等の効果が得られる。エンジン回転数は、クランク角センサの出力に基づいて算出することができる。
【００３２】
（基準２：ナビ情報）
路面情報、信号情報などを含むナビ情報に基づいて、アプリケーションとＰＦソフトとを動的に同一コアに移動させることについて説明する。
車両前方に長い下り坂があるなど、ナビ情報からフューエルカット実行を予測できる場合がある。フューエルカット実行時に吸排気弁を速やかに停止させる弁停止制御を実行する場合には、上述した弁停止制御機能に関し、アプリケーション及びＰＦソフトのいずれか一方を、他方が実装されているコアに一時的に移動させて、弁停止ソレノイド４０の応答性を高める。
【００３３】
（基準３：シフト切り替えを判断する情報）
シフト切り替えを判断する情報に基づいて、アプリケーションとＰＦソフトとを動的に同一コアに移動させることについて説明する。
シフト切り替えを判断する情報として、シフトレバー状態、エンジン回転数、車速などが用いられる。ＥＣＴのシフト切り替えには高い応答性が求められるため、ＥＣＴソレノイド４８の駆動応答要求は高い。そのため、オートマチックトランスミッション（ＡＴ）車であれば、シフトを切り替えるための燃費曲線（車速やエンジン回転数で決まる）のマップ情報などを基に、ＥＣＴソレノイド４８の制御値を演算するアプリケーション、及び制御値を取得してＥＣＴソレノイド４８に制御信号を出力するＰＦソフトのいずれか一方を、他方が実装されているコアに一時的に移動させて、ＥＣＴソレノイド４８の応答性を高める。なお、ＡＴ以外のＥＣＴについても同様に、シフト切り替えを判断する情報に基づいてアプリケーションとＰＦソフトとを動的に同一コアに移動させることができる。
【００３４】
（基準４：アイドルストップからの再始動条件）
アイドルストップからの再始動条件に基づいて、アプリケーションとＰＦソフトとを動的に同一コアに移動させることについて説明する。
アイドルストップからの再始動条件として、バッテリ容量、ブレーキ負圧、アクセル開度、エアコン性能などがパラメータとして用いられる。アイドルストップ状態からのエンジン再始動は、各アクチュエータに高い応答性が求められる。各アクチュエータとは、スロットルバルブ３４、インジェクタ３６、点火プラグ３８、弁停止ソレノイド４０、高圧燃料ポンプ４２、ウェイストゲートバルブ４４、ＶＶＴ制御バルブ、スタータモータなどである。上述した再始動条件のパラメータが設定値に達しているか否かを判定し、設定値に達している場合には再始動要求があると判断する。再始動要求がある場合は、上述した各アクチュエータを制御する各制御機能に関し、アプリケーション及びＰＦソフトのいずれか一方を、他方が実装されているコアに一時的に移動させ、各アクチュエータの応答性を高める。
【００３５】
（フローチャート）
図３は、上述の動作を実現するために、ＥＣＵ２２が実行する制御ルーチンのフローチャートである。図３に示すルーチンは、各制御機能の処理を開始するに先立ち、ＥＣＵ２２の稼働中のコア又はコントローラにより機関運転中に繰り返し実行される。図３に示すルーチンでは、まず、ＥＣＵ２２は、制御機能が制御する対象アクチュエータに高応答性が要求される状態か否かを判定する（ステップＳ１００）。例えば、上述した加速時は、燃料噴射制御機能の対象アクチュエータであるインジェクタ３６に高応答性が要求される状態である。ステップＳ１００の判定条件が成立しない場合は、本ルーチンの最初から処理を継続する。
【００３６】
ステップＳ１００の判定条件が成立する場合、ＥＣＵ２２は、当該制御機能についてのアプリケーションとＰＦソフトとが異なるコアに実装されているか否かを判定する（ステップＳ１１０）。上述した燃料噴射制御機能の例では、インジェクタ３６の噴射量と噴射時期を算出する噴射アプリケーションと、インジェクタ３６への通電信号を出力するインジェクタ駆動ＰＦソフトとが異なるコアに実装されているか否かを判定する。ステップＳ１１０の判定条件が成立しない場合は、本ルーチンの最初から処理を継続する。
【００３７】
ステップＳ１１０の判定条件が成立する場合、ＥＣＵ２２は、対象アクチュエータの応答（駆動開始）がデッドラインに間に合わない見込みか否かを判定する（ステップＳ１２０）。１つの制御機能についてのアプリケーションとＰＦソフトとが異なるコアに実装されている場合において、アプリケーションによる制御値の算出時期（時間、クランク位置）が、最も遅い算出時期を定めた最遅算出時期を過ぎる場合に判定条件が成立する。好ましくは、ＥＣＵ２２は、運転状態と最遅算出時期との関係を定めたマップを予め記憶しておき、運転状態に応じた最遅算出時期を取得する。
【００３８】
上述した燃料噴射制御機能の例では、噴射量と噴射時期の算出時期によってはインジェクタ３６の駆動開始時期が算出した噴射時期に間に合わない場合がある。ステップＳ１２０の判定条件が成立しない場合、すなわち、対象アクチュエータの応答がデッドラインに間に合う場合は、アプリケーションとＰＦソフトとが異なるコアに実装されていても対象アクチュエータの応答性に問題は生じない。この場合、本ルーチンの最初から処理を継続する。
【００３９】
ステップＳ１２０において判定条件が成立する場合、すなわち、対象アクチュエータの応答がデッドラインに間に合わない場合は、ＥＣＵ２２は、ＰＦソフトをアプリケーションが実装されているコアに移動させる場合（第１の場合）と、アプリケーションをＰＦソフトが実装されているコアに移動させる場合（第２の場合）とで、いずれの方が応答性が高まるかを判定する（ステップＳ１３０）。第１の場合と第２の場合のいずれの方が応答性が高まるかは、その瞬間における処理負荷をコア毎に比較して判定する。そして、処理負荷が低いコアへ移動させる方を応答性が高まると判定する。処理負荷については、例えば、ソフトウェア上で設定された優先度が高く、かつ、実行時間が所定時間よりも長いタスクがその瞬間に既に動作している場合に、処理負荷が高いと判断できる。
【００４０】
好ましくは、移動対象の処理Ａ（制御機能のタスク）の優先度が、その時に動作している処理Ｂの優先度よりも高ければ、処理Ａを移動させた場合に処理Ｂに割り込んで処理を開始できるため、「移動対象のタスク優先度」と「その瞬間に各コアで動作しているタスクの優先度」も考慮に入れて処理負荷を判断する。すなわち、優先度が低い処理が多く優先度が高い処理が少ないコアは処理負荷が低いコアと判断する。さらに好ましくは、各コアの性能（クロック周波数）が異なっている場合にはそれも考慮に入れて処理負荷を判断する。
【００４１】
ステップＳ１３０において判定条件が成立する場合、すなわち、ＰＦソフトをアプリケーションが実装されたコアに移動させる場合（第１の場合）の方が応答性が高まる場合は、ＥＣＵ２２は、ＰＦソフトをアプリケーションが実装されているコアへ移動させる（ステップＳ１４０）。一方、ステップＳ１３０において判定条件が成立しない場合、すなわち、アプリケーションをＰＦソフトが実装されているコアに移動させる場合（第２の場合）の方が応答性が高まる場合は、ＥＣＵ２２は、アプリケーションをＰＦソフトが実装されているコアへ移動させる（ステップＳ１５０）。
【００４２】
ステップＳ１４０又はステップＳ１５０の処理後、対象アクチュエータを駆動させる制御機能の処理を開始する。なお、他のルーチンにより、移動されたアプリケーション又はＰＦソフトは、実行終了次第（対象アクチュエータに高応答性が要求されなくなり次第）元のコアへ戻される。
【００４３】
以上説明したように、図３に示すルーチンによれば、１つの制御機能についてのアプリケーションとＰＦソフトとが異なるコアに存在しうる場合に、エンジンの様々な情報に基づいて、アプリケーション及びＰＦソフトのいずれか一方を他方が実装されているコアに動的に移動させることができる。これにより、アプリケーションが制御値を演算してからＰＦソフトが制御値を取得するまでの間は、アプリケーションとＰＦソフトとが同一コアに存在するため、時間遅れを低減することができる。さらに、図３に示すルーチンによれば、処理負荷の低いコアにアプリケーション又はＰＦソフトを移動させる。これにより、より対象アクチュエータの応答性を高めることができ、対象アクチュエータに要求される応答性を満たすことが可能となる。
【００４４】
（変形例）
ところで、上述した図３に示すルーチンの説明では、対象アクチュエータとして、燃料噴射制御機能のインジェクタ３６を例示したが、対象アクチュエータはこれに限定されるものではない。上述した点火制御機能、弁停止制御機能、燃圧制御機能、ウェイストゲートバルブ制御機能等の対象アクチュエータであってもよい。
【００４５】
また、本発明は、筒内直噴エンジン、ポート噴射式のエンジンに限定されず適用可能である。また、火花点火式のエンジン、圧縮自着火式のエンジンに限定されず適用可能である。また、過給機付きエンジン、自然吸気エンジンに限定されず適用可能である。
【００４６】
また、本発明は、１つの気筒についての各種処理を１つのコアを割り当てる場合にも適用可能である。気筒毎に設けられるインジェクタ３６などのアクチュエータを制御するために、各コアに各気筒用の燃料噴射制御機能のアプリケーションとＰＦソフトを実装することが考えられる。この場合にも、ＰＦソフトは各気筒共通として代表コアのみに実装し、クランク角などを基準にしたインジェクタの動作タイミングに合わせて、ＰＦソフトを各コアへ移動させることとしてもよい。これによれば、メモリ使用量を低減しつつ、アクチュエータの応答性も確保することが可能となる。
【００４７】
尚、上述した実施の形態１においては、ＥＣＵ２２が前記第１の発明における「マルチコアプロセッサ」に、上述したアプリケーションが前記第１の発明における「アプリケーション部」に、上述したＰＦソフトが前記第１の発明における「プラットフォーム部」に、それぞれ相当している。
また、ここでは、ＥＣＵ２２が、上記ステップＳ１４０又はステップＳ１５０の処理を実行することにより前記第１又は第２の発明における「移動手段」が、上記ステップＳ１３０の処理を実行することにより前記第２の発明における「応答性判定手段」が、それぞれ実現されている。
【符号の説明】
【００４８】
１０  エンジン
２０  エンジン制御装置
２２  ＥＣＵ
３０  クランク角センサ
３２  アクセル開度センサ
３４  スロットルバルブ
３６  インジェクタ
３８  点火プラグ
４０  弁停止ソレノイド
４２  高圧燃料ポンプ
４４  ウェイストゲートバルブ
４６  可変動弁装置
４８  ＥＣＴソレノイド
【図１】
2014066165.tif 000003
【図２】
2014066165.tif 000004
【図３】
2014066165.tif 000005