IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日立オートモティブシステムズ株式会社の特許一覧

<>
  • 特開-車両制御装置及び車両制御システム 図1
  • 特開-車両制御装置及び車両制御システム 図2
  • 特開-車両制御装置及び車両制御システム 図3
  • 特開-車両制御装置及び車両制御システム 図4
  • 特開-車両制御装置及び車両制御システム 図5
  • 特開-車両制御装置及び車両制御システム 図6
  • 特開-車両制御装置及び車両制御システム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024179886
(43)【公開日】2024-12-26
(54)【発明の名称】車両制御装置及び車両制御システム
(51)【国際特許分類】
   F02D 45/00 20060101AFI20241219BHJP
【FI】
F02D45/00 376
F02D45/00 374
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023099179
(22)【出願日】2023-06-16
(71)【出願人】
【識別番号】509186579
【氏名又は名称】日立Astemo株式会社
(74)【代理人】
【識別番号】100145023
【弁理士】
【氏名又は名称】川本 学
(74)【代理人】
【識別番号】100182028
【弁理士】
【氏名又は名称】多原 伸宜
(74)【代理人】
【識別番号】100105887
【弁理士】
【氏名又は名称】来山 幹雄
(72)【発明者】
【氏名】八島 政重
(72)【発明者】
【氏名】椎塚 徹
(72)【発明者】
【氏名】小野寺 淳
【テーマコード(参考)】
3G384
【Fターム(参考)】
3G384DA06
3G384EB09
3G384EE03
3G384EE07
3G384EE25
3G384EE35
(57)【要約】
【課題】タスクの実行を開始する際にデータのスワップインが完了していない場合であっても、早期にタスクの実行を開始することができる車両制御装置を提供する。
【解決手段】車両制御装置1は、タスクを実行する際に、スワップイン処理部112がメモリ111の低速領域1111に記憶されているデータをメモリ111の高速領域1112にスワップインさせていない場合に、低速領域1111に記憶されているデータを用いてタスクを実行する制御部114を有する。
【選択図】図1
【特許請求の範囲】
【請求項1】
タスクの実行に用いられるデータを記憶する第1の記憶領域と、前記データを記憶すると共に前記第1の記憶領域よりもアクセス速度が高速である第2の記憶領域と、を備えるメモリと、
前記第1の記憶領域に記憶されている前記データを前記第2の記憶領域にスワップインさせるスワップイン処理部と、
前記スワップイン処理部により前記第2の記憶領域にスワップインさせた前記データを用いて前記タスクを実行する制御部と、
を有し、
前記制御部は、
前記タスクを実行する際に、前記スワップイン処理部が前記第1の記憶領域に記憶されている前記データを前記第2の記憶領域にスワップインさせていない場合に、前記第1の記憶領域に記憶されている前記データを用いて前記タスクを実行する、
ことを特徴とする車両制御装置。
【請求項2】
前記制御部は、
予め決められた前記タスクを実行する際に、前記スワップイン処理部が前記第1の記憶領域に記憶されている前記データを前記第2の記憶領域にスワップインさせていない場合に、前記スワップイン処理部により前記第1の記憶領域に記憶されている前記データを前記第2の記憶領域にスワップインされるのを待った後に、前記スワップイン処理部により前記第2の記憶領域にスワップインされた前記データを用いて予め決められた前記タスクを実行する、
ことを特徴とする請求項1記載の車両制御装置。
【請求項3】
前記スワップイン処理部は、
前記制御部により前記タスクの実行を終了するタイミングを待った後に、前記第1の記憶領域に記憶されている次の前記タスクの実行に用いられる前記データを前記第2の記憶領域にスワップインさせ、
前記制御部は、
前記タイミングが遅れることにより前記スワップイン処理部が前記第1の記憶領域に記憶されている次の前記タスクの実行に用いられる前記データを前記第2の記憶領域にスワップインさせていない場合に、前記第1の記憶領域に記憶されている前記データを用いて次の前記タスクを実行する、
ことを特徴とする請求項1又は請求項2記載の車両制御装置。
【請求項4】
前記制御部による前記第2の記憶領域に記憶されている前記データを用いた前記タスクの実行が終了した後に、前記第2の記憶領域に記憶されている前記データを前記第1の記憶領域にスワップアウトさせるスワップアウト処理部を有し、
前記スワップイン処理部は、
前記スワップアウト処理部により前記第2の記憶領域に記憶されている前記データを前記第1の記憶領域にスワップアウトさせることに対応して前記第1の記憶領域に記憶されている前記データを前記第2の記憶領域にスワップインさせる、
ことを特徴とする請求項1又は請求項2記載の車両制御装置。
【請求項5】
前記制御部は、
前記データのスワップインされる領域のうちの最終アドレスに前記スワップイン処理部によるスワップインの完了又は未完了を示す情報を格納し、前記最終アドレスの前記情報を参照することにより、前記スワップイン処理部により前記第1の記憶領域に記憶されている前記データが前記第2の記憶領域にスワップインされたか否かを判定する、
ことを特徴とする請求項1又は請求項2記載の車両制御装置。
【請求項6】
前記制御部は、
前記スワップイン処理部により前記第2の記憶領域にスワップインされる前記データを用いて実行する前記タスクよりも優先度の高い上位の前記タスクからの要求に応じて、前記スワップイン処理部により前記第2の記憶領域にスワップインされる前記データを用いて前記タスクを実行する、
ことを特徴とする請求項1又は請求項2記載の車両制御装置。
【請求項7】
タスクの実行に用いられるデータを記憶する記憶部と、
前記記憶部に記憶されている前記データを前記記憶部よりもアクセス速度が高速である記憶装置にスワップインさせるスワップイン処理部と、
前記スワップイン処理部により前記記憶装置にスワップインさせた前記データを用いて前記タスクを実行する制御部と、
を有し、
前記制御部は、
前記タスクを実行する際に、前記スワップイン処理部が前記記憶部に記憶されている前記データを前記記憶装置にスワップインさせていない場合に、前記記憶部に記憶されている前記データを用いて前記タスクを実行する、
ことを特徴とする車両制御装置。
【請求項8】
タスクの実行に用いられるデータを記憶する記憶部を備える車両制御装置と、
前記データを記憶すると共に前記記憶部よりもアクセス速度が高速である記憶装置と、
を有し、
前記車両制御装置は、
前記記憶部に記憶されている前記データを前記記憶装置にスワップインさせるスワップイン処理部と、前記スワップイン処理部により前記記憶装置にスワップインさせた前記データを用いて前記タスクを実行する制御部と、を備え、
前記制御部は、
前記タスクを実行する際に、前記スワップイン処理部が前記記憶部に記憶されている前記データを前記記憶装置にスワップインさせていない場合に、前記記憶部に記憶されている前記データを用いて前記タスクを実行する、
ことを特徴とする車両制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両制御装置及び車両制御システムに関する。
【背景技術】
【0002】
従来、二輪車等の車両制御装置において用いられるソフトウェアの開発に対しては、利用効率の高いRAM等のメモリを活用することにより、処理パフォーマンスをより向上させる要求がある。
【0003】
特許文献1は、スワップアウト対象となったジョブを、主記憶装置上から最もアクセスタイムが高速な外部記憶装置内のスワップファイルにスワップアウトするスワップアウト処理手段と、最もアクセスタイムが高速な外部記憶装置内のスワップファイルを、対応するジョブの緊急度(優先度)に応じてそのまま残すか、他の低速な外部記憶装置内に移動するかを判断し、移動すると判断した場合には、該スワップファイルをアクセスタイムが低速な外部記憶装置に移動するスワップファイル監視ジョブと、低速/中速/高速の3種類の外部記憶装置からなるスワップデバイスと、から構成されているスワッピング装置を開示している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平9-160812号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、本発明者の検討によれば、タスクの実行に用いられるデータを特許文献1のようなスワッピング装置によってスワッピングさせる構成においては、タスクの実行を開始するときにスワップインが完了していない場合に、スワップインの完了を待ってからタスクを実行する必要があるため、タスクの実行の開始が遅れてしまうという課題を有する。
【0006】
本発明は、以上の検討を経てなされたものであり、タスクの実行を開始する際にデータのスワップインが完了していない場合であっても、早期にタスクの実行を開始することができる車両制御装置及び車両制御システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
以上の目的を達成するべく、本発明は、タスクの実行に用いられるデータを記憶する第1の記憶領域と、前記データを記憶すると共に前記第1の記憶領域よりもアクセス速度が高速である第2の記憶領域と、を備えるメモリと、前記第1の記憶領域に記憶されている前記データを前記第2の記憶領域にスワップインさせるスワップイン処理部と、前記スワップイン処理部により前記第2の記憶領域にスワップインさせた前記データを用いて前記タスクを実行する制御部と、を有し、前記制御部は、前記タスクを実行する際に、前記スワップイン処理部が前記第1の記憶領域に記憶されている前記データを前記第2の記憶領域にスワップインさせていない場合に、前記第1の記憶領域に記憶されている前記データを用いて前記タスクを実行する、ことを一局面とする。
【発明の効果】
【0008】
本発明の一局面にかかる車両制御装置によれば、スワップイン処理部が第1の記憶部に記憶されているデータを第2の記憶部にスワップインさせていない場合に、第1の記憶部に記憶されているデータを用いてタスクを実行するものであるため、タスクの実行を開始する際にデータのスワップインが完了していない場合であっても、早期にタスクの実行を開始することができる。
【図面の簡単な説明】
【0009】
図1図1は、本発明の第1の実施形態にかかる車両制御装置の構成を示すブロック図である。
図2図2は、本発明の第1の実施形態にかかる車両制御装置が実行するタスク実行開始処理を示すフロー図である。
図3図3は、本発明の第1の実施形態にかかる車両制御装置におけるスワップインされるデータのスワップ領域のデータ構造を示す図である。
図4図4は、本発明の第1の実施形態にかかる車両制御装置が実行するタスク実行終了処理を示すフロー図である。
図5図5は、本発明の第1の実施形態にかかる車両制御装置の動作を示すシーケンス図である。
図6図6は、本発明の第1の実施形態にかかる車両制御装置の他の動作を示すシーケンス図である。
図7図7は、本発明の第2の実施形態にかかる車両制御装置の構成を示すブロック図である。
【発明を実施するための形態】
【0010】
以下、図面を適宜参照して、本発明の実施形態における車両制御装置について、詳細に説明する。
【0011】
(第1の実施形態)
<車両制御装置の構成>
本発明の第1の実施形態に係る車両制御装置1の構成について、図1を参照しながら、詳細に説明する。
【0012】
車両制御装置1は、図示しない鞍乗型車両等の車両に搭載されるマイクロコンピュータ等の演算処理装置であり、ここではECU(Electronic Control Unit)を例示する。
【0013】
車両制御装置1には、クランク角センサ2と、点火栓3と、燃料噴射弁4と、が接続されている。
【0014】
クランク角センサ2は、図示しないエンジンのクランク角(クランクシャフトの回転角度)に応じた電気信号を車両制御装置1に出力する。
【0015】
点火栓3は、車両制御装置1によって制御されたタイミングで、何れも図示しないエンジンの燃焼室内の燃料及び空気から成る混合気を着火させるべくそれに点火する。
【0016】
燃料噴射弁4は、車両制御装置1によって開弁時間が制御されることにより適切な量の燃料を図示しない吸気通路内に噴射してエンジンに供給する。
【0017】
車両制御装置1は、車両の駆動等を制御するCPU(Central Processing Unit)11を有している。
【0018】
CPU11は、クランク角センサ2より入力されるエンジンのクランク角に応じた電気信号等に基づいて、点火栓3の点火タイミングを制御すると共に、燃料噴射弁4の開弁時間を制御する。CPU11は、RAM(Random Access Memory)111と、スワップイン処理部112と、スワップアウト処理部113と、制御部114と、を有している。
【0019】
RAM111は、タスクの実行に用いられるデータを記憶する第1の記憶領域としての低速領域1111と、タスクの実行に用いられるデータを記憶すると共に低速領域1111よりもアクセス速度が高速である第2の記憶領域としての高速領域1112と、を備えている。
【0020】
スワップイン処理部112は、制御部114によりタスクの実行を終了するタイミングを待った後に、RAM111の低速領域1111に記憶されているデータをRAM111の高速領域1112にスワップインさせる。この際に、スワップイン処理部112は、スワップアウト処理部113により高速領域1112に記憶されているデータを低速領域1111にスワップアウトさせることに対応して低速領域1111に記憶されているデータを高速領域1112にスワップインさせるDMA(Direct Memory Access)処理を行う。例えば、スワップイン処理部112は、スワップアウト処理部113により高速領域1112から低速領域1111へのデータのスワップアウトが完了した際にスワップアウト処理部113より転送完了トリガ信号が入力されることにより、低速領域1111に記憶されているデータを高速領域1112にスワップインさせるDMA処理を行う。
【0021】
スワップアウト処理部113は、制御部114による高速領域1112に記憶されているデータを用いたタスクの実行が終了した後に、高速領域1112に記憶されているデータを低速領域1111にスワップアウトさせる。例えば、スワップアウト処理部113は、スワップアウトを完了した後に転送完了トリガ信号をスワップイン処理部112に出力する。
【0022】
制御部114は、スワップイン処理部112により高速領域1112にスワップインされたデータ、又は低速領域1111に記憶されているデータを用いてタスクを実行する。
【0023】
上記の構成を有する車両制御装置1は、タスクの実行を開始する際に後述のタスク実行開始処理を実行し、タスクの実行を終了する際に後述のタスク実行終了処理を実行する。
【0024】
<タスク実行開始処理>
本発明の第1の実施形態に係る車両制御装置1が実行するタスク実行開始処理について、図2及び図3を参照しながら、詳細に説明する。
【0025】
図2に示すタスク実行開始処理は、制御部114がタスクAの実行を終了すると共にタスクAによりタスクC又はタスクDの実行を要求されたタイミングで開始される。ここで、タスクAは、タスクC及びタスクDよりも優先度の高い上位のタスクであり、RAM111の高速領域1112に記憶されているデータを用いて実行される。
【0026】
まず、ステップS1の処理では、制御部114は、ステータス情報のステータスがスワップイン完了であるか否かを判定する。判定の結果、ステータスがスワップイン完了である場合には(ステップS1:Yes)、制御部114は、タスク実行開始処理をステップS2の処理に進める。一方、ステータスがスワップイン未完了である場合には(ステップS1:No)、制御部114は、タスク実行開始処理をステップS3の処理に進める。
【0027】
ここで、スワップイン完了又はスワップイン未完了のステータスを示すステータス情報は、図3に示すように、データのスワップインされるスワップ領域の最終アドレスに格納されており、例えば「1」又は「0」のデータである。
【0028】
ステップS2の処理では、制御部114は、高速領域1112に参照ポインタをセットする。そして、制御部114は、低速領域1111から高速領域1112にスワップインされたデータを用いてタスクの実行を開始する。これにより、ステップS2の処理は完了し、タスク実行開始処理は終了する。ここで、制御部114は、低速領域1111に参照ポインタがセットされている場合には低速領域1111に記憶されているデータを用いてタスクC又はタスクDを実行し、高速領域1112に参照ポインタがセットされている場合には高速領域1112に記憶されているデータを用いてタスクC又はタスクDを実行する。
【0029】
ステップS3の処理では、制御部114は、タスクC又はタスクDの実行に用いられるデータの高速領域1112へのスワップイン完了後にタスクC又はタスクDを実行すると予め定められているか否かを判定する。判定の結果、スワップイン完了後にタスクC又はタスクDを実行すると予め定められていない場合には(ステップS3:No)、制御部114は、タスク実行開始処理をステップS4の処理に進める。一方、スワップイン完了後にタスクC又はタスクDを実行すると予め定められている場合には(ステップS3:Yes)、制御部114は、タスク実行開始処理をステップS6の処理に進める。
【0030】
ステップS4の処理では、制御部114は、スワップインが完了していないため、RAM111の低速領域1111に参照ポインタをセットする。そして、制御部114は、低速領域1111に記憶されているデータを用いてタスクの実行を開始する。これにより、ステップS4の処理は完了し、タスク実行開始処理はステップS5の処理に進む。
【0031】
ステップS5の処理では、スワップイン処理部112は、低速領域1111に記憶されている次のタスクD又はタスクCの実行に用いられるデータを高速領域1112にスワップインさせる。これにより、ステップS5の処理は完了し、タスク実行開始処理は終了する。
【0032】
ステップS6の処理では、制御部114は、高速領域1112に記憶されているデータの低速領域1111へのスワップインが完了しているか否かを判定する。判定の結果、低速領域1111へのスワップインが完了していない場合には(ステップS6:No)、制御部114は、ステップS6の処理を繰り返す。一方、低速領域1111へのスワップインが完了している場合には(ステップS6:Yes)、制御部114は、タスク実行開始処理をステップS2の処理に進める。
【0033】
<タスク実行終了処理>
本発明の第1の実施形態に係る車両制御装置1が実行するタスク実行終了処理について、図3及び図4を参照しながら、詳細に説明する。
【0034】
図4に示すタスク実行終了処理は、制御部114がタスクC又はタスクDの実行を終了したタイミングで開始される。なお、タスクA、タスクC及びタスクDの優先度は上述した通りである。
【0035】
まず、ステップS11の処理では、制御部114は、実行を終了したタスクC又はタスクDの実行に用いたデータが高速領域1112に記憶されていたか否かを判定する。判定の結果、実行を終了したタスクC又はタスクDの実行に用いたデータが低速領域1111に記憶されていた場合には(ステップS11:No)、制御部114は、タスク実行終了処理を終了する。一方、実行を終了したタスクC又はタスクDの実行に用いたデータが高速領域1112に記憶されていた場合には(ステップS11:Yes)、制御部114は、タスク実行終了処理をステップS12の処理に進める。
【0036】
ステップS12の処理では、制御部114は、データのスワップインされたスワップ領域の最終アドレスに格納されるステータス情報のステータスをスワップイン完了からスワップイン未完了に戻す。これにより、ステップS12の処理は完了し、タスク実行終了処理はステップS13の処理に進む。
【0037】
ステップS13の処理では、スワップアウト処理部113は、高速領域1112にスワップインされたデータを低速領域1111にスワップアウトさせる。これにより、ステップS13の処理は完了し、制御部114は、タスク実行終了処理を終了する。
【0038】
<車両制御装置の動作>
本発明の第1の実施形態に係る車両制御装置1の動作について、詳細に説明する。
【0039】
最初に、タスクC又はタスクDの実行に用いられるデータの高速領域1112へのスワップイン完了後にタスクC又はタスクDを実行すると予め定められていない場合(図2に示すタスク実行開始処理のステップS3においてNoの場合)における車両制御装置1の動作について、図5を参照しながら、詳細に説明する。
【0040】
図5において、CRK同期タスク1は、メモリ111の高速領域1112に記憶されているデータに基づいて、クランク軸の1回転毎に実行されるタスクであり、例えばクランク角の演算、ステージの管理又はタイミングの管理のために実行されるタスクであり、ここではタスクAである。また、CRK同期タスク2は、クランク軸が例えば4回乃至6回の複数回回転する毎に実行されるタスクであり、例えば点火時期又は燃料噴射量の演算のために実行されるタスクであり、ここではタスクC又はタスクDである。なお、タスクA、タスクC及びタスクDの優先度は上述した通りである。
【0041】
まず、時刻t1において、制御部114は、タスクAの実行を終了すると共に、タスクAによるタスクCの実行要求に応じて図2に示すタスク実行開始処理を実行する。この時点において、スワップイン処理部112は、RAM111の低速領域1111から高速領域1112へのDMA転送処理によって、タスクCの実行に用いられるデータを低速領域1111から高速領域1112にスワップインさせている。従って、高速領域1112にタスクCの実行に用いられるデータが既にスワップインされているため、スワップインされるデータのスワップ領域の最終アドレスのステータス情報のステータスは、「スワップイン完了」になっている。これより、制御部114は、タスク実行開始処理のステップS1の処理を終了してステップS2の処理に進み、高速領域1112に参照ポインタをセットすると共に、低速領域1111から高速領域1112にスワップインされたデータを用いてタスクCの実行を開始する。
【0042】
時刻t2において、制御部114は、タスクCの実行を終了する。また、制御部114は、タスクCの実行の終了により図4に示すタスク実行終了処理を実行する。この際に、制御部114は、低速領域1111から高速領域1112にスワップインされたデータを使用してタスクCを実行したため、タスク実行終了処理のステップS11の処理を終了してステップS12の処理に進み、ステータス情報のステータスを「スワップイン未完了」に戻す。そして、タスク実行終了処理のステップS12の処理を終了してステップS13の処理に進み、スワップアウト処理部113は、高速領域1112に記憶されているデータの低速領域1111へのスワップアウト(退避)を開始する。
【0043】
時刻t3において、スワップアウト処理部113は、高速領域1112に記憶されていたデータの低速領域1111へのスワップアウトを終了する。また、スワップイン処理部112は、スワップアウト処理部113が高速領域1112に記憶されていたデータを低速領域1111にスワップアウトさせることに対応して、次のタスクDの実行に用いられるデータを低速領域1111から高速領域1112にスワップインさせるDMA転送処理を開始する。
【0044】
時刻t4において、スワップイン処理部112は、次のタスクDの実行に用いられるデータを低速領域1111から高速領域1112にスワップインさせるDMA転送処理を終了する。これにより、制御部114は、ステータス情報のステータスを「スワップイン完了」にする。
【0045】
時刻t5において、制御部114は、タスクAの実行を終了すると共に、タスクAによるタスクDの実行要求に応じて図2に示すタスク実行開始処理を実行する。この時点において、スワップイン処理部112は、低速領域1111から高速領域1112へのDMA転送処理によって、タスクDの実行に用いられるデータを低速領域1111から高速領域1112にスワップインさせている。従って、タスクDの実行に用いられるデータが既に高速領域1112にスワップインされているため、スワップインされるデータのスワップ領域の最終アドレスのステータス情報のステータスは、「スワップイン完了」になっている。これより、制御部114は、タスク実行開始処理のステップS1の処理を終了してステップS2の処理に進み、高速領域1112に参照ポインタをセットすると共に、低速領域1111から高速領域1112にスワップインされたデータを用いてタスクDの実行を開始する。
【0046】
時刻t6において、制御部114は、タスクDの実行を終了する。また、制御部114は、タスクDの実行の終了により図4に示すタスク実行終了処理を実行する。この際に、制御部114は、低速領域1111より高速領域1112にスワップインされたデータを使用してタスクDを実行したため、タスク実行終了処理のステップS11の処理を終了してステップS12の処理に進み、ステータス情報のステータスを「スワップイン未完了」に戻す。そして、タスク実行終了処理のステップS12の処理を終了してステップS13の処理に進み、スワップアウト処理部113は、高速領域1112に記憶されているデータの低速領域1111へのスワップアウト(退避)を開始する。
【0047】
時刻t7において、スワップアウト処理部113は、高速領域1112に記憶されているデータの低速領域1111へのスワップアウトを終了する。また、スワップイン処理部112は、スワップアウト処理部113が高速領域1112に記憶されているデータを低速領域1111にスワップアウトさせることに対応して、次のタスクCの実行に用いられるデータを低速領域1111から高速領域1112にスワップインさせるDMA転送処理を開始する。
【0048】
時刻t8において、スワップイン処理部112は、次のタスクCの実行に用いられるデータを低速領域1111から高速領域1112にスワップインさせるDMA転送処理を終了する。これにより、制御部114は、ステータス情報のステータスを「スワップイン完了」にする。
【0049】
時刻t9において、制御部114は、タスクAの実行を終了すると共に、タスクAによるタスクCの実行要求に応じて図2に示すタスク実行開始処理を実行する。この時点において、スワップイン処理部112は、低速領域1111から高速領域1112へのDMA転送処理によって、タスクCの実行に用いられるデータを低速領域1111から高速領域1112にスワップインさせている。従って、タスクCの実行に用いられるデータが既に高速領域1112にスワップインされているため、スワップインされるデータのスワップ領域の最終アドレスのステータス情報のステータスは、「スワップイン完了」になっている。これより、制御部114は、タスク実行開始処理のステップS1の処理を終了してステップS2の処理に進み、高速領域1112に参照ポインタをセットすると共に、低速領域1111から高速領域1112にスワップインされたデータを用いてタスクCの実行を開始する。
【0050】
時刻t10において、制御部114は、タスクAの実行を終了すると共に、タスクAによるタスクDの実行要求を受ける。しかしながら、この時点において、点火栓3を点火させる際のノイズ又は悪路を走行する際の振動によるノイズ等に起因して制御部114によるタスクCの実行が終了していないため、スワップイン処理部112によりタスクDの実行に用いられるデータを低速領域1111から高速領域1112にスワップインできないという異常な状況になっている。
【0051】
時刻t11において、制御部114は、タスクCの実行を終了する。また、制御部114は、タスクCの実行の終了によりタスク実行終了処理を実行する。この際に、制御部114は、低速領域1111から高速領域1112にスワップインされたデータを使用してタスクCを実行したため、タスク実行終了処理のステップS11の処理を終了してステップS12の処理に進み、ステータス情報のステータスを「スワップイン未完了」に戻す。そして、タスク実行終了処理のステップS12の処理を終了してステップS13の処理に進み、スワップアウト処理部113は、高速領域1112に記憶されているデータの低速領域1111へのスワップアウト(退避)を開始する。
【0052】
この後に、制御部114は、タスクDの実行に用いられるデータが低速領域1111から高速領域1112にスワップインされていないものの、タスクDの実行を開始するためにタスク実行開始処理の実行を開始する。この際に、制御部114は、ステータス情報のステータスを「スワップイン未完了」に戻したため、タスク実行開始処理のステップS1の処理を終了してステップS3の処理に進む。そして、制御部114は、タスクDの実行に用いられるデータの低速領域1111から高速領域1112へのスワップイン完了後にタスクDの実行を開始すると予め定められているわけではないため、タスク実行開始処理のステップS3の処理を終了してステップS4の処理に進み、低速領域1111に参照ポインタをセットし、低速領域1111に記憶されているタスクDの実行に用いられるデータを用いてタスクDの実行を開始する。
【0053】
このように、制御部114は、タスクDを実行する際に、スワップイン処理部112が低速領域1111に記憶されているタスクDの実行に用いられるデータを高速領域1112にスワップインさせていない場合に、低速領域1111に記憶されているタスクDの実行に用いられるデータを用いてタスクDを実行することにより、タスクDの実行を開始する際にタスクDの実行に用いられるデータのスワップインが完了していない場合であっても、早期にタスクDの実行を開始することができる。
【0054】
時刻t12において、スワップアウト処理部113は、高速領域1112に記憶されているデータの低速領域1111へのスワップアウトを終了する。また、スワップイン処理部112は、スワップアウト処理部113が高速領域1112に記憶されているデータを低速領域1111にスワップアウトさせることに対応して、次のタスクCの実行に用いられるデータを低速領域1111から高速領域1112にスワップインさせるDMA転送処理を開始する。
【0055】
時刻t13において、スワップイン処理部112は、次のタスクCの実行に用いられるデータを低速領域1111から高速領域1112にスワップインさせるDMA転送処理を終了する。これにより、制御部114は、ステータス情報のステータスを「スワップイン完了」にする。
【0056】
時刻t14において、制御部114は、タスクDの実行を終了する。また、制御部114は、タスクDの実行の終了によりタスク実行終了処理の実行を開始する。この際に、制御部114は、タスクDの実行のために低速領域1111のデータを使用したことから、タスク実行終了処理のステップS11の処理を終了してステップS12の処理に進むことなく、そのままタスク実行終了処理を終了する。
【0057】
続いて、タスクC又はタスクDの実行に用いられるデータの高速領域1112へのスワップイン完了後にタスクC又はタスクDを実行すると予め定められている場合(図2に示すタスク実行開始処理のステップS3においてYesの場合)における車両制御装置1の動作について、図6を参照しながら、詳細に説明する。
【0058】
ここで、タスクC又はタスクDの実行に用いられるデータの高速領域1112へのスワップイン完了後にタスクC又はタスクDを実行すると予め定められている場合とは、低速領域1111に記憶されているデータを用いてタスクC又はタスクDを実行するよりも、低速領域1111から高速領域1112へのデータのスワップインの完了を待ってからタスクC又はタスクDを実行した方が効率が良い場合である。また、低速領域1111に記憶されているデータを用いてタスクC又はタスクDを実行するよりも、低速領域1111から高速領域1112へのデータのスワップインの完了を待ってからタスクC又はタスクDを実行した方が効率が良い場合とは、例えばデータのスワップ領域の容量が小さいためにスワップインに要する時間が短い場合である。
【0059】
なお、図6において時刻t101からt110までの各時刻における動作は、図5における時刻t1からt10までの各時刻における動作と同一動作であるので、その説明を省略する。また、図6におけるCRK同期タスク1及びCRK同期タスク2は、図5におけるCRK同期タスク1及びCRK同期タスク2と同一であるので、その説明を省略する。
【0060】
時刻t111において、制御部114は、タスクCの実行を終了する。また、制御部114は、タスクCの実行を終了するためにタスク実行終了処理の実行を開始する。この際に、制御部114は、タスクCの実行のために低速領域1111から高速領域1112にスワップインされたデータを使用したことから、タスク実行終了処理のステップS11を終了してステップS12の処理に進み、ステータス情報のステータスを「スワップイン未完了」に戻す。そして、タスク実行終了処理のステップS12の処理を終了してステップS13の処理に進み、スワップアウト処理部113は、高速領域1112に記憶されているデータの低速領域1111へのスワップアウト(退避)を開始する。
【0061】
時刻t112において、スワップアウト処理部113は、タスクCの実行に用いられるデータの高速領域1112から低速領域1111へのスワップアウトを完了する。また、制御部114は、タスクDの実行を開始するためにタスク実行開始処理の実行を開始する。この際に、制御部114は、ステータス情報のステータスを「スワップイン未完了」にしたため、タスク実行開始処理のステップS1の処理を終了してステップS3の処理に進む。また、タスクDの実行に用いられるデータの高速領域1112へのスワップイン完了後にタスクDを実行すると予め定められているため、制御部114は、タスク実行開始処理のステップS3の処理を終了してステップS6の処理に進む。更に、スワップイン処理部112は、タスクDの実行に用いられるデータの低速領域1111から高速領域1112へのスワップインを開始する。
【0062】
時刻t112から時刻t113までの間において、スワップイン処理部112によるタスクDの実行に用いられるデータの低速領域1111から高速領域1112へのスワップインは完了しないため、制御部114は、タスク実行開始処理のステップS6の処理を繰り返すことにより、タスクDの実行に用いられるデータが低速領域1111から高速領域1112にスワップインされるのを待つ。
【0063】
時刻t113において、スワップイン処理部112は、タスクDの実行に用いられるデータの低速領域1111から高速領域1112へのスワップインを完了する。これにより、制御部114は、ステータス情報のステータスを「スワップイン完了」にする。そして、制御部114は、タスク実行開始処理のステップS6の処理を終了してステップS2の処理に進めて、高速領域1112に参照ポインタをセットし、低速領域1111から高速領域1112にスワップインされたデータを用いてタスクDの実行を開始する。
【0064】
このように、制御部114は、高速領域1112へのスワップイン完了後に実行することが予め定められたタスクDを実行する場合に、タスクDの実行に用いられるデータが低速領域1111から高速領域1112にスワップインされるのを待った後に、高速領域1112にスワップインされたタスクDの実行に用いられるデータを用いてタスクDを実行することができる。
【0065】
時刻t114において、制御部114は、タスクDの実行を終了する。
【0066】
以上の説明から明らかなように、本実施形態における車両制御装置1では、制御部1114が、低速領域1111に記憶されているデータを高速領域1112にスワップインさせていない場合に、低速領域1111に記憶されているデータを用いてタスクを実行するものであるため、タスクの実行を開始する際にデータのスワップインが完了していない場合であっても、早期にタスクの実行を開始することができる。
【0067】
また、本実施形態における車両制御装置1では、制御部114が、予め決められたタスクを実行する際に、スワップイン処理部112が低速領域1111に記憶されているデータを高速領域1112にスワップインさせていない場合に、スワップイン処理部112により低速領域1111に記憶されているデータを高速領域1112にスワップインさせるのを待った後に、スワップイン処理部112により高速領域1112にスワップインされたデータを用いて予め決められたタスクを実行するものであるため、予め決められたタスクであるか否かに応じて、高速領域1112にスワップインされるのを待つか否かを切り替えることができる。
【0068】
また、本実施形態における車両制御装置1では、スワップイン処理部112が、制御部114によりタスクの実行を終了するタイミングを待った後に、低速領域1111に記憶されている次のタスクの実行に用いられるデータを高速領域1112にスワップインさせ、制御部114が、タイミングが遅れることによりスワップイン処理部112が低速領域1111に記憶されているデータを高速領域1112にスワップインさせていない場合に、低速領域1111に記憶されているデータを用いて次のタスクを実行するものであるため、タスクの実行を終了するタイミングが遅れたことに起因してスワップイン処理部112が低速領域1111に記憶されているデータを高速領域1112にスワップインさせていない場合であっても、低速領域1111に記憶されているデータを用いて支障なくタスクを実行することができる。
【0069】
また、本実施形態における車両制御装置1では、制御部114による高速領域1112に記憶されているデータを用いたタスクの実行が終了した後に、高速領域1112に記憶されているデータを低速領域1111にスワップアウトさせるスワップアウト処理部113を有し、スワップイン処理部112が、スワップアウト処理部113により高速領域1112に記憶されているデータを低速領域1111にスワップアウトさせることに対応して低速領域1111に記憶されているデータを高速領域1112にスワップインさせるものであるため、制御部114の処理負荷を低減することができる。
【0070】
また、本実施形態における車両制御装置1では、制御部114が、データのスワップインされる領域のうちの最終アドレスにスワップイン処理部112によるスワップインの完了又は未完了を示す情報を格納し、最終アドレスの情報を参照することにより、スワップイン処理部112により低速領域1111に記憶されているデータが高速領域1112にスワップインされたか否かを判定するものであるため、最終アドレスに対応する領域の情報を参照するのみの負荷の軽い処理によりスワップイン処理部112がスワップインを完了させたか否かを判定することができる。
【0071】
また、本実施形態における車両制御装置1では、制御部114が、スワップイン処理部112により高速領域1112にスワップインされるデータを用いて実行するタスクよりも優先度の高い上位のタスクからの要求に応じて、スワップイン処理部112により高速領域1112にスワップインされるデータを用いてタスクを実行するものであるため、優先度の高いタスクからの要求に基づいて、適切にタスクの実行を開始することができる。
【0072】
(第2の実施形態)
<車両制御システムの構成>
本発明の第2の実施形態に係る車両制御システム100の構成について、図7を参照しながら、詳細に説明する。
【0073】
なお、図7において図1と同一構成である部分については同一符号付して、その説明を省略する。
【0074】
車両制御システム100は、車両制御装置5と、記憶装置6と、を有している。
【0075】
車両制御装置5は、図示しない鞍乗型車両等の車両に搭載されるマイクロコンピュータ等の演算処理装置であり、ここではECUを例示する。車両制御装置5には、クランク角センサ2と、点火栓3と、燃料噴射弁4と、が接続されている。なお、車両制御装置5の構成の詳細については後述する。
【0076】
記憶装置6は、車両制御装置5に接続されている。記憶装置6は、タスクの実行に用いられるデータを記憶する。記憶装置6は、車両制御装置5の後述のRAM511よりもアクセス速度が高速である。
【0077】
<車両制御装置の構成>
本発明の第2の実施形態に係る車両制御装置5の構成について、図7を参照しながら、詳細に説明する。
【0078】
車両制御装置5は、車両の駆動等を制御するCPU511を有している。
【0079】
CPU511は、クランク角センサ2より入力されるエンジンのクランク角に応じた電気信号等に基づいて、点火栓3の点火タイミングを制御すると共に、燃料噴射弁4の開弁時間を制御する。CPU511は、スワップイン処理部112と、スワップアウト処理部113と、RAM511と、制御部514と、を有している。
【0080】
RAM511は、タスクの実行に用いられるデータを記憶する記憶部である。
【0081】
スワップイン処理部112は、RAM511に記憶されているデータを記憶装置6にスワップインさせる。この際に、スワップイン処理部112は、スワップアウト処理部113により記憶装置6に記憶されているデータをRAM511にスワップアウトさせることに対応してRAM511に記憶されているデータを記憶装置6にスワップインさせるDMA処理を行う。
【0082】
スワップアウト処理部113は、制御部514による記憶装置6に記憶されているデータを用いたタスクの実行が終了した後に、記憶装置6に記憶されているデータをRAM511にスワップアウトさせる。
【0083】
制御部514は、スワップイン処理部112により記憶装置6にスワップインされたデータ、又はRAM511に記憶されているデータを用いてタスクを実行する。
【0084】
上記の構成を有する車両制御装置5は、タスクの実行を開始する際に前述のタスク実行開始処理を実行し、タスクの実行を終了する際に前述のタスク実行終了処理を実行する。
【0085】
なお、本実施形態における車両制御システム100が実行するタスク実行開始処理は図2と同一処理であると共にタスク実行終了処理は図4と同一処理であるので、その説明を省略する。また、車両制御システム100の動作は図5及び図6と同一動作であるので、その説明を省略する。
【0086】
以上の説明から明らかなように、本実施形態における車両制御システム100では、RAM511に記憶されているデータを記憶装置6にスワップインさせていない場合に、RAM511に記憶されているデータを用いてタスクを実行するものであるため、タスクの実行を開始する際にデータのスワップインが完了していない場合であっても、早期にタスクの実行を開始することができる。
【0087】
また、本実施形態における車両制御システム100では、制御部514が、予め決められたタスクを実行する際に、スワップイン処理部112がRAM511に記憶されているデータを記憶装置6にスワップインさせていない場合に、スワップイン処理部112によりRAM511に記憶されているデータを記憶装置6にスワップインさせるのを待った後に、スワップイン処理部112により記憶装置6にスワップインされたデータを用いて予め決められたタスクを実行するものであるため、予め決められたタスクであるか否かに応じて、記憶装置6にスワップインされるのを待つか否かを切り替えることができる。
【0088】
また、本実施形態における車両制御システム100では、スワップイン処理部112が、制御部514によりタスクの実行を終了するタイミングを待った後に、RAM511に記憶されている次のタスクの実行に用いられるデータを記憶装置6にスワップインさせ、制御部514が、タイミングが遅れることによりスワップイン処理部112がRAM511に記憶されているデータを記憶装置6にスワップインさせていない場合に、RAM511に記憶されているデータを用いて次のタスクを実行するものであるため、タスクの実行を終了するタイミングが遅れたことに起因してスワップイン処理部112がRAM511に記憶されているデータを記憶装置6にスワップインさせていない場合であっても、RAM511に記憶されているデータを用いて支障なくタスクを実行することができる。
【0089】
また、本実施形態における車両制御システム100では、制御部114による記憶装置6に記憶されているデータを用いたタスクの実行が終了した後に、記憶装置6に記憶されているデータをRAM511にスワップアウトさせるスワップアウト処理部113を有し、スワップイン処理部112が、スワップアウト処理部113により記憶装置6に記憶されているデータをRAM511にスワップアウトさせることに対応してRAM511に記憶されているデータを記憶装置6にスワップインさせるものであるため、制御部514の処理負荷を低減することができる。
【0090】
また、本実施形態における車両制御システム100では、制御部514が、データのスワップインされる領域のうちの所定のアドレスにスワップイン処理部112によるスワップインの完了又は未完了を示す情報を格納し、所定のアドレスの情報を参照することにより、スワップイン処理部112によりRAM511に記憶されているデータが記憶装置6にスワップインされたか否かを判定するものであるため、所定のアドレスに対応する領域を参照するのみの負荷の軽い処理によりスワップイン処理部112がスワップインを完了させたか否かを判定することができる。
【0091】
また、本実施形態における車両制御システム100では、制御部514が、スワップイン処理部112により記憶装置6にスワップインされるデータを用いて実行するタスクよりも優先度の高い上位のタスクからの要求に応じて、スワップイン処理部112により記憶装置6にスワップインされるデータを用いてタスクを実行するものであるため、優先度の高いタスクからの要求に基づいて、適切にタスクの実行を開始することができる。
【産業上の利用可能性】
【0092】
以上のように、本発明は、タスクの実行を開始する際にデータのスワップインが完了していない場合であっても、早期にタスクの実行を開始することができる車両制御装置を提供することができるものであり、その汎用普遍的な性格から自動車や二輪自動車等の車両制御装置に広範に適用され得るものと期待される。
【符号の説明】
【0093】
1…車両制御装置
2…クランク角センサ
3…点火栓
4…燃料噴射弁
5…車両制御装置
6…記憶装置
11…CPU
51…CPU
100…車両制御システム
111…RAM
112…スワップイン処理部
113…スワップアウト処理部
114…制御部
511…RAM
1111…低速領域
1112…高速領域
図1
図2
図3
図4
図5
図6
図7