JP2022019168A - 電子制御装置 - Google Patents
電子制御装置 Download PDFInfo
- Publication number
- JP2022019168A JP2022019168A JP2020122841A JP2020122841A JP2022019168A JP 2022019168 A JP2022019168 A JP 2022019168A JP 2020122841 A JP2020122841 A JP 2020122841A JP 2020122841 A JP2020122841 A JP 2020122841A JP 2022019168 A JP2022019168 A JP 2022019168A
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic
- processing
- unit
- parallel
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 24
- 230000003111 delayed effect Effects 0.000 claims description 19
- 238000004148 unit process Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 5
- 101100048435 Caenorhabditis elegans unc-18 gene Proteins 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000004378 air conditioning Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Advance Control (AREA)
Abstract
【課題】演算命令群を構成する演算命令の処理順番が規定されている場合であっても、演算命令の処理が遅れてしまうことを抑制する。【解決手段】並列演算処理器は、演算器に割振られたスレッドの処理時間が第2所定値以上となった場合は、当該スレッドの処理終了後に次の演算命令を処理するように割振られた当初の演算器を他の演算器に切替える。これにより、スレッドにより影響を受けるスレッドの処理が遅れてしまうことを抑制できる。【選択図】図5
Description
本発明は、電子制御装置に関する。
近年、例えば自動車の制御は複雑化しており、マイクロコンピュータの処理能力の向上が望まれている。マイクロコンピュータの処理能力の向上技術の一つとして、複数の演算器を有した並列演算処理器を搭載することが考えられている。この並列演算処理器は、演算命令群を構成する各演算命令を処理する演算器は予め設定されており、スケジューラ機能により演算命令を対応する演算器に割振ることにより演算命令群が処理される。
ところで、演算命令群として、演算命令Bは演算命令Aの処理が終了していることを条件として処理を開始するという依存関係となる場合がある。このような場合、演算命令Aが終了するまで演算命令Bは待機する必要がある。
しかしながら、演算命令Aの処理が長引いた場合には演算命令Bの処理終了時間が想定時間よりも遅れることになり、演算命令群の処理に要する時間が長くなることがある。このような場合、マイクロコンピュータが演算命令群の演算結果に基づいて次の処理を行うまでに時間を要することになり、自動車の制御に支障を生じることが予測される。
しかしながら、演算命令Aの処理が長引いた場合には演算命令Bの処理終了時間が想定時間よりも遅れることになり、演算命令群の処理に要する時間が長くなることがある。このような場合、マイクロコンピュータが演算命令群の演算結果に基づいて次の処理を行うまでに時間を要することになり、自動車の制御に支障を生じることが予測される。
本発明は上記事情に鑑みてなされたもので、その目的は、演算命令群を構成する演算命令の処理順番が規定されている場合であっても、演算命令の処理が遅れてしまうことを抑制できる電子制御装置を提供することにある。
請求項1の発明によれば、並列演算処理器(13)は、演算器に割振られた第1演算命令の処理時間が所定値以上となった場合は、演算命令により影響を受ける第2演算命令が割振られた当初の演算器を他の演算器に切替える。これにより、第1演算命令により影響を受ける第2演算命令の処理が遅れてしまうことを抑制できる。
以下、一実施形態について図面を参照して説明する。
図1に示すようにマイクロコンピュータ11は、複数のコア12a~12dからなるコア群12や並列演算処理器13を備えて構成されている。これらのコア12a~12dや並列演算処理器13が複数の演算処理を並列処理することで高速処理を実現している。
図1に示すようにマイクロコンピュータ11は、複数のコア12a~12dからなるコア群12や並列演算処理器13を備えて構成されている。これらのコア12a~12dや並列演算処理器13が複数の演算処理を並列処理することで高速処理を実現している。
コア12a~12d及び並列演算処理器13は内部バス14を介して互いに接続されていると共に、ROM及びRAMなどのメモリ15やAD変換器及びCAN(Controller Area Network)インターフェースなどの周辺回路16とも接続されている。CANは登録商標である。
コア12a~12dは、エンジンを制御するためのアクチュエータの動作やエンジンの運転状態を検出するための各種センサからの検出信号をAD変換器によりデジタル変換したデジタル値を入力し、そのデジタル値を処理して所定の物理値を求める演算処理が必要となった場合は並列演算処理器13に対して処理要求する。
図2に示すように、車両にはエンジンECU(Electronic Control Unit)1が搭載されている。エンジンECU1は、上述したマイクロコンピュータ11を主体として構成されている。エンジンECU1が電子制御装置に相当する。このエンジンECU1は、車載LAN2を介して自動変速ECU3、メータECU4、空調ECU5などの他のECUに通信可能に接続されている。車載LAN2のプロトコルは、例えばCANである。
図3に示すように並列演算処理器13は、メモリ17と、演算制御部18と、並列演算部19とから構成されている。メモリ17には各コア12a~12dから処理要求された演算命令群が順に記憶される。コア12a~12dが制御部に相当する。
演算制御部18は、メモリ17に記憶された演算命令群を並列演算部19と連携して演算処理する。つまり、演算制御部18はスケジューラ機能を有しており、メモリ17に記憶された演算命令を並列演算部19に自動的に割り振る。
並列演算部19はFIFO(First-In First-Out)型であり、演算制御部18により並列演算部19に割り振られた演算命令を順に演算処理する。並列演算部19は同一種類や異なる種類の演算器の集合であり、同一種類や異なる種類の演算命令を並列処理可能である。並列演算部19は、演算結果をメモリ17に記憶する。
図1に示す複数のコア12a~12dは、演算命令群を処理することを並列演算処理器13に要求した場合はメモリ17を介して演算結果を取得し、その演算結果に基づいて以後を処理する。以下、演算命令群をグラフ、演算命令をスレッドと称する。
コア12a~12dが処理要求するグラフは、スレッドの処理順序が規定されている。例えば図4に示すグラフでは、スレッドAの処理が完了してから次のスレッドB、Cをそれぞれ処理し、スレッドB、Cの全ての処理が完了してから次のスレッドDを処理し、スレッドBが終了してから次のスレッドEを処理することを規定している。
ところで、図4に示すようなグラフ構造の場合、図5に示すように演算器YではスレッドBの処理が終了してからスレッドEの処理を開始するという依存関係となることから、スレッドBの処理が終了するまでスレッドEは待機しなければならずスレッドEの処理終了時間が想定時間よりも遅れてしまうことがある。このため、並列演算処理器13からのグラフの演算結果出力が遅れてしまう場合があり、不具合を生じることが想定される。尚、図5の各スレッドの処理タイミングはスレッドの処理順番を理解し易いように示したものであり、実際のタイミングとは異なる。
不具合の一例としては、スレッドBとスレッドEとを同一の演算器Yで処理するにしてもグラフの終了時間に影響は発生しないと判断した場合であっても、異なる車種のエンジンECUに上記構成のマイクロコンピュータ11を採用した場合は、グラフの演算結果を出力するまでに想定以上の遅れが出てしまう可能性がある。例えばエンジンの気筒数が4気筒から8気筒へ変更することによって、クランク欠け歯判定においてスレッドBの処理が長引いてしまい、実際のグラフの処理終了時間が想定したグラフの処理終了時間よりも遅れてしまう可能性がある。
このような事情から、本実施形態では、依存関係となる複数のスレッドが同一の演算器を使用するような場合であっても、以下に説明するようにグラフの処理が遅れてしまうことを抑制するようにした。
基本的な動作として、コア12a~12dは、並列演算処理器13に対してグラフを処理することを要求する。並列演算処理器13は、コア12a~12dからグラフの処理が要求された場合は、グラフを構成するスレッドを並列演算部19の対応する演算器に割振る。演算器は割振られたスレッドを順に処理する。そして、演算制御部18は、グラフの演算結果をコア12a~12dに送信する。これにより、コア12a~12dは、並列演算処理器13により処理されたグラフの演算結果に基づいて各種制御を実行可能となる。
さて、図6に示すようにコア12a~12dは、並列演算処理器13に対して処理を要求した場合は、グラフ処理時間T1を計測開始し(S101)、計測終了したかを判断する(S102)。
ここで、グラフ構造は図4に示したようにスレッドAを処理してからスレッドB、Cを並列に処理し、それらの処理終了後にスレッドDを処理し、スレッドBの演算終了後にスレッドEを処理するものとする。また、図5に示すように演算器XによりスレッドAとスレッドDを処理し、演算器YによりスレッドBとスレッドEを処理し、演算器ZによりスレッドCを処理するものとする。スレッドA、Dは同一の演算命令、スレッドB、C、Eは同一の演算命令とする。スレッドBが第1演算命令に相当し、スレッドEが第2演算命令に相当する。この場合、スレッドBの処理が終了してからスレッドEの処理を開始するという依存関係となる。演算器Yが当初の演算器に相当し、演算器Zが他の演算器に相当する。
ここで、グラフ構造は図4に示したようにスレッドAを処理してからスレッドB、Cを並列に処理し、それらの処理終了後にスレッドDを処理し、スレッドBの演算終了後にスレッドEを処理するものとする。また、図5に示すように演算器XによりスレッドAとスレッドDを処理し、演算器YによりスレッドBとスレッドEを処理し、演算器ZによりスレッドCを処理するものとする。スレッドA、Dは同一の演算命令、スレッドB、C、Eは同一の演算命令とする。スレッドBが第1演算命令に相当し、スレッドEが第2演算命令に相当する。この場合、スレッドBの処理が終了してからスレッドEの処理を開始するという依存関係となる。演算器Yが当初の演算器に相当し、演算器Zが他の演算器に相当する。
図7に示すように並列演算処理器13は、スレッド処理終了後のスレッド処理時間T2を計測開始し(S201)、スレッド処理時間T2が第2所定値以上となったかを判断する(S202)。第2所定値とは、スレッドの処理時間が期待値よりも長いと判断するのに十分な時間である。正常時であればスレッド処理時間T2は所定値未満であるので(S202:NO)、そのまま終了する。
図6に示すようにコア12a~12dは、並列演算処理器13による演算結果を受取った場合は計測終了と判断し(S102:YES)、グラフ処理時間T1が第1所定値以上となったかを判断する(S103)。第1所定値とは、グラフの処理時間が期待値よりも長いと判断するのに十分な時間である。スレッド処理時間T2が第2所定値未満の場合は、グラフ処理時間T1は第1所定値未満となる関係にある。正常時であればグラフ処理時間T1は所定値未満であるので(S103:NO)、そのまま終了する。
一方、並列演算処理器13は、スレッド処理時間T2が第2所定値以上となった場合は(S202:YES)、グラフにおいて次に実施するスレッド名を取得してから(S203)、他の演算器で空きが有るかを判断する(S204)。図5に示す例では、演算器Zに空きが有るので(S204:YES)、他の演算器である演算器ZにスレッドEを移動する(S205)。これにより、スレッドEを処理する演算器は当初の演算器Yから他の演算器Zに切替えられるので、スレッドEは演算器Zで処理されるようになる。
以上のような動作により、スレッドEの処理を早めることができる。
以上のような動作により、スレッドEの処理を早めることができる。
また、並列演算処理器13は、他の演算器で空きがない場合は(S204:NO)、当初の演算器で待機し空いたところで遅れている遅れスレッドを優先的に処理する(S206:YES)。このとき、遅れスレッドの処理が遅れることは明らかであることから、遅れスレッドのスレッド名を通知する(S207)。これにより、コア12a~12dに対してスレッド遅れが通知される。
コア12a~12dは、グラフ処理時間T1が第1所定値以上となった場合に(S103:YES)、並列演算処理器13からスレッド遅れ通知が有ったときは(S104:YES)、遅れスレッドを持つグラフを処理する(S105)。これにより、並列演算処理器13が処理するよりも早くグラフ処理することが可能となる。尚、図6のフローチャートには示していないが、グラフ処理が終了するまでに並列演算処理器13によるグラフ処理が終了して演算結果を受けた場合は、その演算結果を採用する。
コア12a~12dは、グラフ処理時間T1が第1所定値以上となった場合に(S103:YES)、スレッド遅れ通知が無かったときは(S104:NO)、スレッド以外の要因で遅れが発生していることをダイアグ通知する(S106)。
このような実施形態によれば、次のような効果を奏することができる。
並列演算処理器13は、演算器に割振られたスレッドの処理時間が第2所定値以上となった場合は、当該スレッドの処理終了後に次の演算命令を処理するように割振られた当初の演算器を他の演算器に切替えるので、スレッドにより影響を受けるスレッドの処理が遅れてしまうことを抑制できる。
並列演算処理器13は、演算器に割振られたスレッドの処理時間が第2所定値以上となった場合は、当該スレッドの処理終了後に次の演算命令を処理するように割振られた当初の演算器を他の演算器に切替えるので、スレッドにより影響を受けるスレッドの処理が遅れてしまうことを抑制できる。
並列演算処理器13は、当初の演算器を他の演算器に切替える場合に当該他の演算器が処理中のときは,スレッドを当初の演算器で待機し空いたところで処理するので、スレッドを確実に処理することができる。
並列演算処理器13は、当初の演算器を他の演算器に切替えることができなかった場合は、スレッドの処理後のスレッドの処理に遅れが発生していることをコア12a~12dに通知するので、コア12a~12dはグラフの処理が遅れることを認識することができる。
コア12a~12dは、並列演算処理器13からスレッド遅れ通知が有った場合に並列演算処理器13によるグラフ処理時間T1が第1所定値以上となったときは、当該グラフを処理するので、グラフの処理が行われないという事態を防止できる。
コア12a~12dは、並列演算処理器13から遅れの通知が無かった場合に並列演算処理器13によるグラフ処理時間T1が第1所定値以上となったときは、スレッドの処理の遅れ以外の原因で遅れが発生していることをダイアグ通知するので、スレッドの遅れ以外の原因で遅れが発生したことを報知することができる。
(その他の実施形態)
並列演算処理器13は、当初の演算器を他の演算器に切替えたか否かにかかわらずグラフの処理時間が第2所定値以上となった場合は、グラフの処理に遅れが発生していることをコア12a~12dに通知するようにしてもよい。この場合、並列演算処理器13は当初の演算器を他の演算器に切替えた場合にグラフの処理が遅れたときは、コア12a~12dにグラフの処理遅れを確実に通知することができる。
並列演算処理器13は、当初の演算器を他の演算器に切替えたか否かにかかわらずグラフの処理時間が第2所定値以上となった場合は、グラフの処理に遅れが発生していることをコア12a~12dに通知するようにしてもよい。この場合、並列演算処理器13は当初の演算器を他の演算器に切替えた場合にグラフの処理が遅れたときは、コア12a~12dにグラフの処理遅れを確実に通知することができる。
並列演算処理器13は、スレッドの処理時間が第2所定値以上となった場合に次回以降に同一のグラフを処理するときは、当初の演算器を他の演算器に予め切替えるようにしてもよい。具体的には、スレッドを移動して演算した演算器を記憶しておき、次回以降の同一のグラフ処理では遅れスレッドを記憶した演算器で処理する。これにより、次のグラフ処理では、当初から遅れスレッドを処理する演算器を他の演算器で処理することができるので、並列演算処理器13の動作を簡略化することができる。
本開示は、実施形態に準拠して記述されたが、本開示は当該実施形態や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
図面中、1はエンジンECU(電子制御装置)、11はマイクロコンピュータ、12a~12dはコア(制御部)、13は並列演算処理器である。
Claims (8)
- 制御部(12a~12d)と、当該制御部が要求した演算命令群を処理する複数の演算器を有した並列演算処理器(13)とを有したマイクロコンピュータ(11)を備え、前記並列演算処理器は演算命令群を構成する演算命令を対応する演算器に割振ることで処理する電子制御装置であって、
前記並列演算処理器は、前記演算器に割振られた第1演算命令の処理時間が所定値以上となった場合は、前記第1演算命令により影響を受ける第2演算命令が割振られた当初の演算器を他の演算器に切替える電子制御装置。 - 前記当初の演算器は、前記第1演算命令の処理終了後に前記第2演算命令を処理するように割振られた演算器である請求項1に記載の電子制御装置。
- 前記並列演算処理器は、前記当初の演算器を前記他の演算器に切替える場合に当該他の演算器が処理中のときは,前記第1演算命令を前記当初の演算器で待機し空いたところで処理する請求項1または2に記載の電子制御装置。
- 前記並列演算処理器は、前記当初の演算器を前記他の演算器に切替えることができなかった場合は、前記第2演算命令の処理に遅れが発生していることを前記制御部に通知する請求項1から3のいずれか一項に記載の電子制御装置。
- 前記並列演算処理器は、前記当初の演算器を前記他の演算器に切替えたか否かにかかわらず演算命令群の処理時間が所定値以上となった場合は、演算命令群の処理に遅れが発生していることを前記制御部に通知する請求項1から3のいずれか一項に記載の電子制御装置。
- 前記並列演算処理器は、第1演算命令の処理時間が所定値以上となった場合に次回以降に同一の演算命令群を処理するときは、前記当初の演算器を前記他の演算器に予め切替える請求項1から5のいずれか一項に記載の電子制御装置。
- 前記制御部は、前記並列演算処理器から遅れの通知が有った場合に前記並列演算処理器による演算命令群の処理時間が所定値以上となったときは、当該演算命令群を処理する請求項4から6のいずれか一項に記載の電子制御装置。
- 前記制御部は、前記並列演算処理器からの遅れの通知が無かった場合に前記並列演算処理器による演算命令群の処理時間が所定値以上となったときは、前記第2演算命令の処理の遅れ以外の原因で遅れが発生していることをダイアグ通知する請求項4から7のいずれか一項に記載の電子制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020122841A JP2022019168A (ja) | 2020-07-17 | 2020-07-17 | 電子制御装置 |
DE102021115806.0A DE102021115806A1 (de) | 2020-07-17 | 2021-06-18 | Elektronische steuereinheit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020122841A JP2022019168A (ja) | 2020-07-17 | 2020-07-17 | 電子制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022019168A true JP2022019168A (ja) | 2022-01-27 |
Family
ID=79021267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020122841A Pending JP2022019168A (ja) | 2020-07-17 | 2020-07-17 | 電子制御装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2022019168A (ja) |
DE (1) | DE102021115806A1 (ja) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6954793B2 (ja) | 2017-09-25 | 2021-10-27 | 株式会社Screenホールディングス | 基板処理方法、基板処理液及び基板処理装置 |
-
2020
- 2020-07-17 JP JP2020122841A patent/JP2022019168A/ja active Pending
-
2021
- 2021-06-18 DE DE102021115806.0A patent/DE102021115806A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102021115806A1 (de) | 2022-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104115122B (zh) | 车辆用电子控制装置、数据接收方法 | |
US11221878B2 (en) | Task management apparatus | |
JP2008003915A (ja) | 電子機器 | |
JP3791139B2 (ja) | 車両用制御装置 | |
JP2022019168A (ja) | 電子制御装置 | |
JP2010231407A (ja) | 入出力装置 | |
JP5753824B2 (ja) | 車載用電子制御装置 | |
JP5652198B2 (ja) | 電子制御装置、起動制御方法 | |
JP2013152636A (ja) | 情報処理装置、タスクスケジューリング方法 | |
JP2005242806A (ja) | データ処理装置 | |
JP6094387B2 (ja) | 制御装置 | |
JP2004252574A (ja) | タスク間通信方法、プログラム、記録媒体、電子機器 | |
JP7226169B2 (ja) | 電子制御装置 | |
JP7338586B2 (ja) | 車載ネットワークシステム | |
JP2021117747A (ja) | 電子制御装置 | |
US20160134296A1 (en) | Semiconductor integrated circuit device and data processing system | |
JP2020181569A (ja) | 電子制御装置 | |
JP7263746B2 (ja) | 情報処理装置 | |
JP7238574B2 (ja) | 電子制御装置 | |
JP2017173947A (ja) | 車載制御装置及び車載制御装置用rom | |
JP7294226B2 (ja) | 電子制御装置 | |
JP6533489B2 (ja) | 車載用制御装置 | |
JP2009157512A (ja) | 電子制御装置、異常診断システム、及び、電子制御装置の異常診断方法 | |
JP7154161B2 (ja) | 車両制御装置 | |
ITMI20110925A1 (it) | Apparato per conversioni analogico digitali. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240312 |