JP2019028748A - Electronic control device - Google Patents
Electronic control device Download PDFInfo
- Publication number
- JP2019028748A JP2019028748A JP2017147825A JP2017147825A JP2019028748A JP 2019028748 A JP2019028748 A JP 2019028748A JP 2017147825 A JP2017147825 A JP 2017147825A JP 2017147825 A JP2017147825 A JP 2017147825A JP 2019028748 A JP2019028748 A JP 2019028748A
- Authority
- JP
- Japan
- Prior art keywords
- synchronization
- unit
- electronic control
- time interval
- time threshold
- 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
Images
Landscapes
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Abstract
Description
本開示は、複数のプロセッサを備える電子制御装置に関する。 The present disclosure relates to an electronic control device including a plurality of processors.
特許文献1には、複数のプロセッサを備える電子制御装置において、複数のプロセッサに並列に処理を実行させるために、全てのプロセッサ間の同期をとる処理(以下、同期処理)を行う、という技術が開示されている。 Japanese Patent Application Laid-Open No. 2004-151867 has a technique of performing a process of synchronizing all processors (hereinafter referred to as a synchronization process) in order to cause a plurality of processors to execute processes in parallel in an electronic control device including a plurality of processors. It is disclosed.
上記同期処理では、複数のプロセッサそれぞれにおいて、所定のタスクについて予め同期ポイントが設定されている。上記同期処理では、複数のプロセッサのそれぞれは、全てのプロセッサにおいて上記所定のタスクが同期ポイントに到達するまで、同期ポイントの次のタスクの実行を待機する。 In the synchronization process, a synchronization point is set in advance for a predetermined task in each of the plurality of processors. In the synchronization process, each of the plurality of processors waits for execution of a task next to the synchronization point until the predetermined task reaches the synchronization point in all the processors.
しかしながら、特許文献1に記載の技術では、上記同期処理において、複数のプロセッサそれぞれは全てのプロセッサが同期ポイントに到達して全てのプロセッサ間の同期が成立する迄常に待機しなくてはならないため、稼働率が低下するという問題が生じ得る。
However, in the technique described in
本開示の1つの局面は、複数のプロセッサを備える電子制御装置において、複数のプロセッサそれぞれの稼働率が低下することを抑制する技術を提供する。 One aspect of the present disclosure provides a technique for suppressing a decrease in operating rate of each of a plurality of processors in an electronic control device including the plurality of processors.
本開示の1つの局面は、複数の実行プロセッサ(41、42)を備える電子制御装置(10)である。複数の実行プロセッサは、1つの第1プロセッサ(41)と、少なくとも1つの第2プロセッサ(42)とを備える。第1プロセッサは、少なくとも第2プロセッサが実行する処理において用いられるデータである共用データを生成する。第2プロセッサは、共用データを用いた処理を実行する。 One aspect of the present disclosure is an electronic control device (10) including a plurality of execution processors (41, 42). The plurality of execution processors include one first processor (41) and at least one second processor (42). The first processor generates shared data that is data used in processing executed by at least the second processor. The second processor executes processing using shared data.
当該電子制御装置は、経過判断部(S30)と、同期判断部(S40、S50)と、を備える。経過判断部は、共用データが生成されてからの経過時間が予め定められた時間閾値以上であるか否かを判断する。同期判断部は、経過時間が時間閾値以上であると判断された場合に、複数の実行プロセッサそれぞれが実行する処理であって、全ての実行プロセッサが全ての実行プロセッサ間の同期をとるべき同期点に到達する迄同期点の次に行うべき処理を待機させる複数同期、が有効であると判断し、経過時間が時間閾値未満であると判断された場合に、複数同期が無効であると判断する。 The electronic control device includes a progress determination unit (S30) and a synchronization determination unit (S40, S50). The progress determination unit determines whether or not an elapsed time after the shared data is generated is equal to or greater than a predetermined time threshold. The synchronization determination unit is a process executed by each of the plurality of execution processors when it is determined that the elapsed time is equal to or greater than the time threshold, and all the execution processors are to be synchronized between all the execution processors. It is determined that a plurality of synchronizations that wait for processing to be performed next to the synchronization point until it reaches is valid, and if it is determined that the elapsed time is less than the time threshold, it is determined that the plurality of synchronizations are invalid. .
このような構成では、例えば、判断結果に基づいて、複数同期が有効のときには各プロセッサが複数同期を実行し、無効のときには各プロセッサが複数同期を実行しないように電子制御装置を構成することができる。つまり、各プロセッサにおいて複数同期が常に実行されるわけではないので、複数のプロセッサを備える電子制御装置において、複数のプロセッサそれぞれにおける稼働率の低下を抑制することができる。 In such a configuration, for example, based on the determination result, the electronic control unit may be configured such that each processor executes a plurality of synchronizations when the multiple synchronization is valid and each processor does not execute the multiple synchronizations when it is invalid. it can. That is, since multiple synchronizations are not always executed in each processor, it is possible to suppress a decrease in operating rate in each of the plurality of processors in the electronic control device including the plurality of processors.
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。 Note that the reference numerals in parentheses described in this column and in the claims indicate the correspondence with the specific means described in the embodiment described later as one aspect, and the technical scope of the present disclosure It is not limited.
以下、図面を参照しながら、本開示の実施形態を説明する。
[1.第1実施形態]
[1−1.構成]
図1に示す車両制御システム1は、例えば乗用車等といった車両に搭載されるシステムである。車両制御システム1は、電子制御装置(以下、ECU)10を備える。車両制御システム1は、エンジン20を備えていても良い。なお、ECUは、Electronic Control
Unitの略である。
Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.
[1. First Embodiment]
[1-1. Constitution]
A
Abbreviation for Unit.
ECU10は、エンジン20を作動させるための各種制御を行う。
ECU10は、ROM11、RAM12、通信部13、マルチプロセッサ14、センサ部15、入出力ポート16等を備える。
The ECU 10 performs various controls for operating the
The
ROM11は、マルチプロセッサ14を作動させるプログラムが記憶されている。マルチプロセッサ14は、該プログラムに従い作動し、ECU10を統括制御する。
RAM12は、マルチプロセッサ14によりアクセスされる。通信部13は、車内LAN等を介して接続された図示しない他のECUと通信を行う。センサ部15は、エンジン20の状態を検出するための各種センサを備える。入出力ポート16は、エンジン20を制御するための各種信号の送受信を行う。
The
The
マルチプロセッサ14は、プロセッサ制御部(以下、制御部)30と、複数のプロセッサ(以下、PE)41、42を備える。
制御部30は、図示しないが、中央演算処理装置(CPU)及びメモリを備える。ここでいうメモリには、レジスタ31が含まれる。レジスタ31は、制御部30が備えるCPU、及び複数のPE41、42によりアクセスされる。
The
Although not shown, the
制御部30は、複数のPE41、42によるバリア同期を管理する機能を有する。図2に示すように、制御部30は、CPUがプログラムを実行することで実現される機能の構成として、同期管理部35、同期制御部36、有効設定部37、及びタイマ部38を備える。同期管理部35は、後述する同期管理処理を実行する。同期制御部36は、後述する同期制御処理を実行する。有効設定部37は、後述する有効設定処理を実行する。タイマ部38は、後述する連動タイマ、タイムアウトタイマといった、時間を計測するタイマを有する。
The
複数のPE41、42それぞれは、図示しないが、CPU、メモリを有する。複数のPE41、42それぞれは、CPUがプログラムを実行することで、複数のPE41、42それぞれに予め割り振られた所定の機能を実現する。複数のPE41、42のそれぞれは、後述する同期実行処理を実行する。
Although not shown, each of the plurality of
なお、制御部30、及び複数のPE41、42において、これらの要素を実現する手法はソフトウェアに限るものではなく、その一部又は全部の要素を、論理回路やアナログ回路等を組み合わせたハードウェアを用いて実現してもよい。
In the
(バリア同期の概要)
バリア同期とは、複数のPE41、42それぞれが実行する処理であって、PE41、42それぞれが同期ポイントに到達した際に、全てのPE41、42が同期ポイントに到達する迄、同期ポイントの次に行うべき処理を待機させる処理、を表す。同期実行処理は、複数のPE41、42それぞれがバリア同期を実行するための処理手順を表す。
(Overview of barrier synchronization)
Barrier synchronization is a process executed by each of the plurality of
なお、ここでいう同期ポイントとは、全てのPE41、42間の同期をとるべきポイントを表す。同期ポイントは、PE41、42それぞれに個別に設定されている。
具体的には、本実施形態では、後述する図7に示すように、PE41に第1タスクが割り当てられ、PE42に第2タスクが割り当てられている。ここでいうタスクとは、PE41、42それぞれによって実行されているプログラムにおける処理のことをいう。
In addition, the synchronization point here represents a point at which all the
Specifically, in this embodiment, as shown in FIG. 7 to be described later, the first task is assigned to
これらのタスクは、本実施形態では予め定められた周期で起動し、第1タスクと第2タスクとでは周期が異なる。また、第1タスクと、第2タスクとで共通に用いられるデータが存在する。以下でいう共用データとは、第1タスク、第2タスクで共通に用いられるデータをいう。第1タスクは、共用データを生成する処理を含む。第2タスクは、共用データを参照し、共用データに基づく演算処理を含む。なお、第1タスクが実行される周期、すなわち共用データが生成される周期をエントリ周期T2という。 In the present embodiment, these tasks are activated at a predetermined cycle, and the first task and the second task have different cycles. In addition, there is data that is commonly used by the first task and the second task. In the following, shared data refers to data used in common by the first task and the second task. The first task includes processing for generating shared data. The second task refers to the shared data and includes a calculation process based on the shared data. Note that a cycle in which the first task is executed, that is, a cycle in which shared data is generated is referred to as an entry cycle T2.
以下でいう第1プロセッサ(以下、第1PE)は、複数のPE41、42のうちの1つであり、本実施形態ではPE41が第1PEに相当する。また、第2プロセッサ(以下、第2PE)は、複数のPE41、42のうち、第1PE以外のプロセッサであり、本実施形態ではPE42が第2PEに相当する。第1PEとしてのPE41は、少なくとも第2PEが実行する処理である第2タスクにおいて用いられる共用データを生成する。第2PEとしてのPE42は、共用データを用いた処理、つまり第2タスクを実行する。
A first processor (hereinafter referred to as a first PE) referred to below is one of a plurality of
本実施形態では、共用データのリアルタイム性が高いほど、つまり、共用データが取得されてから経過した時間が短いほど、第2タスクによる上記演算処理の処理結果は車両制御システム1としての性能を向上させる。なお、ここでいう性能が向上することには、例えば、燃費が向上すること、が含まれる。つまり、本実施形態の車両制御システム1では、車両制御システム1の性能を向上させるためには、共用データが更新された直後に該共用データが参照されること、が望ましい。
In the present embodiment, the higher the real-time property of the shared data, that is, the shorter the time elapsed since the shared data was acquired, the more the processing result of the arithmetic processing by the second task improves the performance as the
そこで、第1タスクでは、同期ポイントは、共用データ更新後に設定されている。共用データ更新とは、共用データが生成され、生成された共用データがRAM12等のメモリに書き込まれることを表す。また、第2タスクでは、同期ポイントは、共用データ参照前に設定されている。共用データ参照とは、共用データがRAM12等のメモリから読み出されることを表す。なお、全てのPE41、42のタスクが同期ポイントに到達したということは、全てのプロセッサ間の同期が成立した、ということを表す。
Therefore, in the first task, the synchronization point is set after updating the shared data. The shared data update means that shared data is generated and the generated shared data is written in a memory such as the
本実施形態では、複数のPE41、42それぞれは、バリア同期への参加及び不参加を
設定可能に構成されている。複数のPE41、42それぞれは、バリア同期への参加及び不参加を表す情報(以下、参加情報)を、レジスタ31の所定の領域に複数のPE41、42毎に書き込むように構成されている。
In the present embodiment, each of the plurality of
また、複数のPE41、42は、バリア同期結果を参照可能に構成されている。バリア同期結果とは、制御部30によって生成される情報であり、「不成立」、「成立」、「タイムアウト」のいずれかに設定される。バリア同期結果は、RAM12に記憶される。ここでいう不成立とは、バリア同期が実行されていないことを表す。成立とはバリア同期が完了したことを表す。タイムアウトとは所定時間内にバリア同期が完了しなかったことを表す。
The plurality of
そして本実施形態では特に、複数のPE41、42は、有効設定情報を参照可能に構成されている。有効設定情報は、RAM12に記憶される。有効設定情報とは、制御部30によって生成される情報であり、「有効」、「無効」のいずれかに設定される情報である。ここでいう有効とは、複数のPE41、42がバリア同期を実行することを許可すること、を表す。また、無効とは、複数のPE41、42がバリア同期を実行することを禁止すること、を表す。
In this embodiment, in particular, the plurality of
ここで、複数のPE41、42それぞれは、同期実行処理に基づいて、同期ポイントに到達し、且つ、バリア同期が有効に設定されており、且つ、自プロセッサがバリア同期に参加する、という条件(以下、同期実行条件)が満足される場合に、バリア同期を実行する。自プロセッサとは、同期実行処理を実行しているプロセッサを表す。
Here, based on the synchronization execution process, each of the plurality of
複数のPE41、42それぞれは、バリア同期が開始されると、バリア同期結果が「成立」になるまで待機し、バリア同期結果が「成立」した場合に、同期ポイントの次以降の処理を再開する。また、複数のPE41、42それぞれは、バリア同期結果が「成立」せず、バリア同期が「タイムアウト」した場合にも、同期ポイントの次以降の処理を再開する。
When the barrier synchronization is started, each of the plurality of
一方、複数のPE41、42それぞれは、同期実行条件が満足されない場合、バリア同期を実行せず、つまり待機することなく、同期ポイントの次の処理を実行する。
なお、上記同期管理部35は、少なくとも、連動タイマを開始及び停止させてエントリ周期T2を測定する機能を有する。また、上記同期制御部36は、少なくとも、後述するバリア同期が所定時間内に「成立」しない場合に備え、タイムアウトタイマを開始及び停止させてタイムアウト制御を行う機能を有する。タイムアウト制御とは、バリア同期が所定時間内に「成立」しない場合に、バリア同期結果を「タイムアウト」に設定する制御をいう。有効設定部37は、バリア同期の「有効」、「無効」を切替える機能を有する。
On the other hand, when the synchronization execution condition is not satisfied, each of the plurality of
The
[1−2.処理]
[1−2−1.同期実行処理]
PE41、42それぞれのCPUが実行する同期実行処理について、図3のフローチャートを用いて説明する。以下の説明では、PE41のCPUが同期実行処理を実行する場合の具体例を説明する。同期実行処理は、PE41の第1タスクが同期ポイントに到達する毎に起動される。なお、PE42のCPUが同期実行処理を実行する場合も、同様に処理が実行される。この場合の同期実行処理は、PE42の第2タスクが同期ポイントに到達する毎に起動される。
[1-2. processing]
[1-2-1. Synchronous execution process]
The synchronization execution process executed by the CPUs of the
PE41のCPU(以下、PE41)は、S1では、対応するレジスタ31に、到達情報を書き込む。到達情報とは、同期ポイントに到達したか未到達であるかを表す情報である。ここでは、PE41の到達情報を書き込むべきレジスタ31に、PE41が同期ポイ
ントに到達したことを表す到達情報を書き込む。
In S1, the CPU of the PE 41 (hereinafter referred to as PE 41) writes the arrival information in the corresponding
PE41は、S2では、有効設定情報を取得する。
PE41は、S3では、有効設定情報がバリア同期が有効であることを表しているか否か、を判断する。CPUは、有効設定情報がバリア同期が有効であることを表している場合に処理をS4へ移行させ、有効設定情報がバリア同期が無効であることを表す場合に、同期実行処理を終了する。
In step S2, the
In S3, the
PE41は、S4では、PE41においてバリア同期への参加が設定されているか否かを判断する。バリア同期への参加は、参加及び不参加のいずれか一方に予め設定されていても良いし、PE41又は制御部30が実行する他の処理によって参加及び不参加のいずれか一方に適宜設定されても良い。本実施形態では、後述する制御部30が実行する同期管理処理における同期制御処理にて、同期管理処理が開始されるきっかけとなった同期ポイントに到達したプロセッサについて、参加情報を参加に設定するように構成されている。
In S4, the
PE41は、バリア同期への参加が設定されている場合は処理をS7へ移行させ、不参加が設定されている場合は同期実行処理を終了する。
PE41は、S7では、バリア同期を実行する。つまり、CPUは、「成立」又は「タイムアウト」を表すバリア同期結果が取得される迄、同期ポイントの次以降の処理を待機させる。PE41は、同期実行処理とは異なる処理によって、所定の周期でバリア同期結果を参照し、バリア同期が「成立」したか、「タイムアウト」したかを判断するように構成されている。ここでいう待機させるとは、処理を実行しないで待つことをいう。PE41は、バリア同期が「成立」又は「タイムアウト」した後に、本同期実行処理を終了する。
When the participation in barrier synchronization is set, the
In step S7, the
なお、PE41は、同期実行処理を終了する際、対応するレジスタ31の初期化を実行する。ここでいう初期化とは、PE41の到達情報が書き込まれるレジスタ31にPE41が同期ポイントに到達していないことを表す情報が書き込まれること、を表す。また、PE41は、バリア同期が「成立」又は「タイムアウト」した後に、同期ポイントの次以降の処理を再開するように構成される。
Note that the
[1−2−2.有効設定処理]
次に、制御部30が実行する有効設定処理について、図4に示すフローチャートを用いて説明する。有効設定処理は、有効設定情報を有効又は無効に設定するための処理である。換言すれば、有効設定処理は、複数のPE41、42に、バリア同期の実行を許可するか又は禁止するかを設定するための処理である。
[1-2-2. Effective setting process]
Next, the valid setting process executed by the
車両制御システム1では、常にバリア同期が許可され実行されると、複数のPE41、42において、バリア同期が成立する迄の待機時間が生じるため、複数のPE41、42の稼働率が低下するおそれが生じる。そこで、有効設定処理では、車両制御システム1の性能を向上させることが可能である場合にのみ、バリア同期を有効に設定する。具体的には、有効設定処理では、新たな共用データが生成される迄の待ち時間が短い場合にのみバリア同期を有効に設定する。
In the
以下、有効設定処理の処理手順を説明する。有効設定処理は、予め定められた周期であってエントリ周期T2よりも短い周期で繰り返し実行される。
制御部30は、S10では、時間閾値を取得する。本実施形態では、時間閾値は、予め定められた値であって、ROM11に予め記憶されている。時間閾値は、エントリ周期T2の1/2よりも大きい値に設定される。例えば、時間閾値は、エントリ周期T2の3/
4等といった値に設定され得る。但し、時間閾値がこれに限定されないことは言うまでもない。なお、本実施形態では、エントリ周期T2は、予め定められた値であり、ROM11に記憶されている。
Hereinafter, the processing procedure of the valid setting process will be described. The valid setting process is repeatedly executed at a predetermined cycle that is shorter than the entry cycle T2.
In S10, the
It can be set to a value such as 4. However, it goes without saying that the time threshold is not limited to this. In the present embodiment, the entry period T2 is a predetermined value and is stored in the
制御部30は、S20では、経過時間を取得する。ここでいう経過時間とは、共用データが生成されてから経過した時間を表す。経過時間は、後述する連動タイマによって計測される。連動タイマによって計測される経過時間は、共用データが生成される毎にクリアされ、初期値である0に設定し直される。制御部30は、連動タイマによるカウント値(以下、連動タイマ値)を経過時間として取得する。
In S20, the
制御部30は、S30では、経過時間が時間閾値以上であるか否かを判断する。具体的には、制御部30は、連動タイマ値が時間閾値以上であるか否かを判断する。制御部30は、経過時間が時間閾値以上である場合に処理をS40へ移行させ、時間閾値未満である場合に処理をS50へ移行させる。
In S30, the
制御部30は、S40では、バリア同期が有効であると判断し、有効設定情報を「有効」に設定し、有効設定処理を終了する。
制御部30は、S50では、バリア同期が無効あると判断し、有効設定情報を「無効」に設定し、有効設定処理を終了する。
In S40, the
In S50, the
つまり、有効設定処理では、新たな共用データが生成される迄の待ち時間が長い場合にバリア同期が無効に設定され、新たな共用データが生成される迄の待ち時間が短い場合にバリア同期が有効に設定される。これにより、後述する図7に示すように、本実施形態では、第2タスクが、車両制御システム1で許容される予め定められた範囲内の待ち時間(以下、有効時間)T1で更新直後の共用データを参照できる場合に、車両制御システム1としての性能を向上させることが可能となる。有効期間T1は、エントリ周期T2と時間閾値との差分に相当する。
That is, in the valid setting process, the barrier synchronization is set to be invalid when the waiting time until new shared data is generated is long, and the barrier synchronization is set when the waiting time until new shared data is generated is short. Set to enabled. Thereby, as shown in FIG. 7 to be described later, in the present embodiment, the second task is immediately after the update with a waiting time (hereinafter referred to as an effective time) T1 within a predetermined range allowed by the
有効期間T1は、本実施形態のバリア同期における待機時間の最大値に相当する。時間閾値は、有効期間T1が車両制御システム1にて許容され得る程度の値となるように、設定される。
The effective period T1 corresponds to the maximum value of the standby time in the barrier synchronization of the present embodiment. The time threshold is set so that the effective period T1 is a value that can be tolerated by the
[1−2−3.同期管理処理]
次に、制御部30が実行する同期管理処理の処理手順について、図5のフローチャートを参照して説明する。制御部30は、複数のPE41、42のうちいずれかが同期ポイントに到達する毎に、同期管理処理を起動する。なお、制御部30は、同期管理処理とは別の処理によって、予め定められた周期で上記到達情報を参照し、複数のPE41、42のうちいずれかが同期ポイントに到達したことを検出している。
[1-2-3. Synchronization management process]
Next, the processing procedure of the synchronization management process executed by the
制御部30は、S100では、同期ポイントに到達したプロセッサが第1PEであるか否かを判断する。制御部30は、同期ポイントに到達したプロセッサが、第1PEである場合に処理をS110へ移行させ、第1PEではない場合に処理をS170へ移行させる。第1PEとは、上述のように、複数のPE41、42のうちの1つであって、共用データを繰り返し生成するプロセッサをいう。ここでは、PE41が第1PEに相当する。なお、PE41が第1PEに相当することを表す情報は、ROM11に予め記憶されている。
In S100, the
制御部30は、S110では、参加情報に基づいて、第2PEがバリア同期への参加を表しているか否かを判断する。制御部30は、第2PEが、バリア同期への参加を表している場合に処理をS140へ移行させ、バリア同期への不参加を表している場合に処理を
S120へ移行させる。
In S110, the
第2PEとは、上述のように、複数のPE41、42のうち第1PEを除いた残りであり、共用データを用いた処理を繰り返し実行するプロセッサを表す。ここでは、PE42が第2PEに相当する。なお、PE42が第2PEに相当することを表す情報は、ROM11に予め記憶されている。
As described above, the second PE is the remainder of the plurality of
制御部30は、S120では、連動タイマ値をエントリ周期T2としてRAM12に記憶させ、処理をS130へ移行させる。
制御部30は、S130では、連動タイマによる連動タイマ値をクリアし、すなわち連動タイマ値を0に設定し、新たに連動タイマを始動させる。そして、制御部30は同期管理処理を終了する。連動タイマは、第1PEとしてのPE41が同期ポイントに到達する毎に連動タイマ値をクリアし、新たに連動タイマ値のカウントを開始させるように構成されている。つまり、連動タイマは、エントリ周期T2をカウントするタイマである。本実施形態では、制御部30は、S120において、連動タイマ値をエントリ周期T2としてRAM12に記憶させた後に、S130にて連動タイマ値をクリアし、連動タイマを再始動させるように構成されている。
In S120, the
In S130, the
制御部30は、第2PEとしてのPE41が同期ポイントに到達したことをきっかけとして同期管理処理がスタートした場合に移行するS140では、有効設定情報を取得する。
続いて制御部30は、S150では、有効設定情報に基づいて、バリア同期が有効であるか否かを判断する。制御部30は、バリア同期が有効である場合に処理をS160へ移行させ、有効でない場合に同期管理処理を終了する。
The
Subsequently, in S150, the
制御部30は、S160では、同期制御処理を実行し、同期管理処理を終了する。同期制御処理は、バリア同期が成立したか否かを判定するための処理である。ここでいうバリア同期が成立した、とは、バリア同期が有効である際に、タイムアウトタイマがタイムアウトする迄の所定期間(以下、タイムアウト期間)内に、全てのPE41、42が同期ポイントに到達し、且つ、全てのPE41、42によるバリア同期への参加が検出されたこと、をいう。同期制御処理では、バリア同期が「成立」したこと、又は、バリア同期が不成立で「タイムアウト」したこと、バリア同期が「不成立」であること、といったバリア同期結果が出力され得る。
In S160, the
制御部30は、第1PEが同期ポイントに到達したことをきっかけとして本同期管理処理がスタートしており、且つ、第2PEがバリア同期への参加を表している場合に移行するS170では、連動タイマを停止させる。
The
続いて、制御部30は、S180では、同期制御処理を実行する。
次に、制御部30は、S190では、同期制御処理によるバリア同期結果が出力済みであるか否かを判断する。制御部30は、出力済みである場合に処理をS120へ移行させ、出力済みでない場合に同期管理処理を終了する。
Subsequently, in S180, the
Next, in S190, the
次に、制御部30が同期管理処理のS160又はS180にて実行する同期制御処理を図6に示すフローチャートに基づいて説明する。
制御部30は、S200では、バリア同期結果が出力済みであるか否かを判断する。制御部30は、バリア同期結果が出力済みである場合に同期制御処理を終了し、出力済みでない場合に処理をS210へ移行させる。なお、バリア同期結果が出力済みであるとは、バリア同期結果がRAM12に書き込まれたことが含まれ得る。
Next, the synchronization control process executed by the
In S200, the
制御部30は、S210では、複数のPE41、42のうち同期管理処理がスタートしたきっかけとなった、同期ポイントに到達したプロセッサについて、参加情報を参加に設定する。
In S210, the
次に、制御部30は、S220では、タイムアウトタイマがカウントを開始済みであるか否かを判断する。制御部30は、タイムアウトタイマがカウントを開始済みである場合に処理をS240へ移行させ、開始済みでない場合に処理をS230へ移行させる。
Next, in S220, the
制御部30は、S230では、タイムアウトタイマにカウントを開始させ、処理をS240へ移行させる。
制御部30は、S240では、参加情報に基づいて、全てのPE41、42がバリア同期に参加しているか否かを判断する。制御部30は、全てのPE41、42がバリア同期に参加していると判断された場合に処理をS270へ移行させ、参加していないと判断された場合に処理をS250へ移行させる。
In S230, the
In S240, the
制御部30は、S250では、タイムアウトタイマがタイムアウトしているか否かを判断する。制御部30は、タイムアウトタイマがタイムアウトしている場合に処理をS260へ移行させ、タイムアウトしていない場合に同期制御処理を終了する。タイムアウトタイマがタイムアウトしている、とは、カウントが開始されてからタイムアウト期間が経過して、タイムアウトタイマが初期化され停止していることをいう。
In S250, the
次に、制御部30は、S260では、バリア同期結果を「タイムアウト」に設定し、処理をS290へ移行させる。該バリア同期結果は、RAM12に記録される。
制御部30は、S270では、バリア同期結果を「成立」に設定する。該バリア同期結果は、RAM12に記録される。なお、本ステップ及びS260にて設定されたバリア同期結果は、設定後所定期間が経過した後に初期化される。ここでいう初期化とは、バリア同期結果が「不成立」に設定されることをいう。
Next, in S260, the
In S270, the
次に、制御部30は、S280では、レジスタ31に記憶されている、複数のPE41、42それぞれの参加情報を初期化する。参加情報を初期化するとは、参加情報を不参加に設定することをいう。
Next, in S280, the
制御部30は、S290では、タイムアウトタイマをクリアし、つまりカウント値を0に設定し、タイムアウトタイマを停止させる。制御部30は、以上で同期制御処理を終了する。
In S290, the
[1−3.作動]
このように構成されたマルチプロセッサ14による作動を、図7を用いて説明する。
t10では、第1PEとしてのPE41は、第1タスクにおいて、処理が同期ポイントに到達している。しかし、バリア同期が無効に設定されており、PE41はバリア同期不参加であるため、PE41はバリア同期を実行せず、処理を進める。
[1-3. Operation]
The operation of the
At t10, the
t11では、第2PEとしてのPE42は、第2タスクにおいて、処理が同期ポイントに到達している。しかし、バリア同期が無効に設定されているため、PE42はバリア同期を実行せず、処理を進める。つまり、PE42は、第2タスクにおいて、t10にて生成された共用データを用いて演算処理を実行する。
At t11, the
t12では、第1PEとしてのPE41は、第1タスクにおいて処理が同期ポイントに到達している。しかし、バリア同期が無効に設定されており、PE41はバリア同期不参加であるため、PE41はバリア同期を実行せず、処理を進める。
At t12, the
t13では、第2PEとしてのPE42は、第2タスクにおいて、処理が同期ポイントに到達している。t13では、バリア同期が有効に設定されており、PE42はバリア同期参加に設定されるため、PE42はバリア同期を実行して同期ポイントの次移行の処理を待機させる。つまり、PE42は、共用データを用いた演算処理の実行を待機させる。
At t13, the
t14では、第1PEとしてのPE41は、第1タスクにおいて、処理が同期ポイントに到達している。t14では、バリア同期が有効に設定されており、PE41はバリア同期参加に設定されるため、PE41はバリア同期を実行して同期ポイントの次移行の処理を待機させる。t14では、制御部30は、バリア同期が有効に設定されており、且つ、全てのPE41、42が同期ポイントに到達しており、且つ、全てのPE41、42がバリア同期参加に設定されているので、バリア同期結果を「成立」に設定し、「成立」を表すバリア同期結果をRAM12に記憶させる。これに伴って、第1PEとしてのPE41、第2PEとしてのPE42は、同期ポイント以降の処理を再開する。つまり、第2PEとしてのPE42は、第2タスクにおいて、更新直後の共用データを参照して演算処理を実行することができる。
At t14, the
このようにして、マルチプロセッサ14では、バリア同期の有効及び無効を、経過時間の長さに基づいて切替えることで、換言すれば、車両制御システム1で許容される範囲内の有効期間T1に基づいて切替えることで、車両制御システム1を適切に作動させつつ、車両制御システム1の性能向上を図ることが可能となる。
In this way, the
[1−4.効果]
以上詳述した第1実施形態によれば、以下の効果が得られる。
(1a)ECU10は、S30では、共用データが生成されてからの経過時間が時間閾値以上であるか否かを判断する。ECU10は、S40では、経過時間が時間閾値以上であると判断された場合に、バリア同期が有効であると判断する。またECU10は、S50では、経過時間が時間閾値未満であると判断された場合に、バリア同期が無効であると判断する。
[1-4. effect]
According to the first embodiment described in detail above, the following effects can be obtained.
(1a) In S30, the
本実施形態では、例えば、判断結果に基づいて、バリア同期が有効のときには各プロセッサがバリア同期を実行し、無効のときにはバリア同期を実行しないようにすることができる。つまり、各プロセッサにおいてバリア同期が常に実行されるわけではないので、複数のプロセッサを備える電子制御装置において、複数のプロセッサそれぞれの稼働率の低下を抑制することができる。 In this embodiment, for example, based on the determination result, each processor can execute barrier synchronization when barrier synchronization is enabled, and can not execute barrier synchronization when disabled. That is, since barrier synchronization is not always executed in each processor, in an electronic control device including a plurality of processors, it is possible to suppress a decrease in the operating rate of each of the plurality of processors.
また、本実施形態では、時間閾値を適宜設定することによって、短い待ち時間で新たな共用データが取得できる場合にはバリア同期を有効と判断することが可能となる。これによれば、有効期間T1が、エントリ周期T2から時間閾値を減算した値で表される所定値未満である場合にのみ、バリア同期が実行可能となるので、プロセッサの稼働率の低下を抑制しつつ、車両制御システム1としての性能を向上させることができる。
Further, in the present embodiment, by appropriately setting the time threshold value, it is possible to determine that barrier synchronization is effective when new shared data can be acquired with a short waiting time. According to this, since the barrier synchronization can be executed only when the valid period T1 is less than a predetermined value represented by the value obtained by subtracting the time threshold value from the entry period T2, it is possible to suppress a decrease in the operating rate of the processor. However, the performance as the
つまり、本実施形態では、バリア同期の「有効」及び「無効」を時間閾値に基づいて切替えることができるので、複数のPE41、42の稼働率の低下を抑制すると共に、車両制御システム1の性能向上を図ることができる。
That is, in the present embodiment, “valid” and “invalid” of the barrier synchronization can be switched based on the time threshold value, so that it is possible to suppress a decrease in the operating rate of the plurality of
(1b)複数のPE41、42それぞれは、S3にて、バリア同期が有効であるか無効であるかを表す判断結果を取得する。複数のPE41、42それぞれは、S4にて、上記判断結果が、バリア同期が有効であることを表しているか否か、を判断する。複数のPE41、42それぞれは、S7にて、上記判断結果がバリア同期が有効であることを表す場
合に、バリア同期を実行する。
(1b) Each of the plurality of
これによれば、判断結果が有効のときにのみバリア同期が実行される。つまり、より経過時間の短い共用データが取得可能であるときのみバリア同期が実行されるので、複数のPE41、42それぞれの稼働率の低下を抑制することができる。また、経過時間の短い共用データを用いることによって、車両制御システム1としての性能を向上させることができる。
According to this, barrier synchronization is executed only when the determination result is valid. That is, since barrier synchronization is executed only when shared data with a shorter elapsed time can be acquired, it is possible to suppress a decrease in the operating rate of each of the plurality of
(1c)複数のPE41、42それぞれでは、上記判断結果がバリア同期が無効であることを表す場合に、バリア同期を実行しない。これによれば、バリア同期による待機時間が長くなる場合にはバリア同期が実行されないので、複数のPE41、42それぞれの稼働率の低下を抑制することができる。
(1c) In each of the plurality of
(1d)本実施形態では、第1PEとしてのPE41は、予め定められた周期で、共用データを生成するように構成されている。つまり、エントリ周期T2が予め定められた周期となっている。これによれば、エントリ周期T2に基づいて、車両制御システム1の性能を向上させることが可能な時間閾値を適切に設定することができる。
(1d) In the present embodiment, the
[2.第2実施形態]
[2−1.第1実施形態との相違点]
第2実施形態は、基本的な構成は第1実施形態と同様であるため、相違点について以下に説明する。なお、第1実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
[2. Second Embodiment]
[2-1. Difference from the first embodiment]
Since the basic configuration of the second embodiment is the same as that of the first embodiment, differences will be described below. Note that the same reference numerals as those in the first embodiment indicate the same configuration, and the preceding description is referred to.
上記実施形態では、時間閾値は、予め定められた値であって、ROM11に予め記憶されていた。また、エントリ周期T2、すなわち、第1PEとしてのPE41によって第1タスクが実行される周期は、予め定められた周期であった。具体的には、エントリ周期T2とは、共用データが生成される周期であって、共用データがRAM12等のメモリに書き込まれる周期に相当する。これに対し、第2実施形態では、第1PEとしてのPE41において割り込み処理等が実行されることにより、エントリ周期T2が変動する点が異なる。
In the above embodiment, the time threshold value is a predetermined value and is stored in the
これに伴って、第2実施形態は、図4に示す第1実施形態の制御部30が実行する同期管理処理に対して、図8に示すように、時間閾値を設定するための時間閾値処理がS125として追加される点で、第1実施形態と相違する。
Accordingly, in the second embodiment, a time threshold process for setting a time threshold as shown in FIG. 8 with respect to the synchronization management process executed by the
[2−2.処理]
次に、第2実施形態の制御部30が、図8に示す同期管理処理のS125にて実行する時間閾値処理について、図9のフローチャートを用いて説明する。
[2-2. processing]
Next, the time threshold process executed by the
制御部30は、S310では、エントリ周期T2を取得する。エントリ周期T2は、S120にてRAM12に記憶されている。
制御部30は、S320では、過去のエントリ周期Tpを取得する。過去のエントリ周期Tpとは、エントリ周期T2よりも過去に検出されたエントリ周期を表す。ここでいう過去とは、直近の過去のことを表す。つまり、ここでいう過去のエントリ周期Tpは、エントリ周期T2よりも1サイクル前のエントリ周期に相当する。ここでいうサイクルとは、共用データが生成されてから次に新たな共用データが生成されるまでをいう。
In S310, the
In S320, the
制御部30は、S330では、S310で取得された現在のエントリ周期T2が、過去のエントリ周期Tp以上であるか否かを判断する。制御部30は、エントリ周期T2が過
去のエントリ周期Tp以上である場合に処理をS350へ移行させ、エントリ周期T2が過去のエントリ周期Tp未満である場合に処理をS340へ移行させる。
In S330, the
制御部30は、S340では、制御部30は、時間閾値を、該時間閾値よりも小さい値に設定し直し、処理をS360へ移行させる。例えば、制御部30は、エントリ周期T2と過去のエントリ周期Tpとの差分を1/2とした値を時間閾値から減算した値を、新たな時間閾値として設定し直すように構成され得る。
In S340, the
制御部30は、S350では、制御部30は、時間閾値を、該時間閾値よりも大きい値に設定し直し、処理をS360へ移行させる。例えば、制御部30は、過去のエントリ周期Tpとエントリ周期T2との差分を1/2とした値を時間閾値に加算した値を、新たな時間閾値として設定し直すように構成され得る。
In S350, the
制御部30は、S360では、エントリ周期T2を新たな過去のエントリ周期TpとしてRAM12に記憶し直す。制御部30は、以上で時間閾値処理を終了する。
[2−3.作動]
このように構成されたECU10による作動の例を図10に基づいて説明する。
In S360, the
[2-3. Operation]
An example of the operation by the
t21では、第1PEとしてのPE41が同期ポイントに到達する。つまり、共用データが生成される。
t22では、連動タイマ値すなわち上記経過時間が時間閾値となる。有効設定情報は、t22以前では無効に設定され、t22より後では有効に設定される。
At t21, the
At t22, the interlocking timer value, that is, the elapsed time becomes the time threshold value. The valid setting information is set to invalid before t22, and valid after t22.
t23では、第1PEとしてのPE41が再び同期ポイントに到達し、共用データが生成される。つまり、次のサイクルの新たな共用データが生成される。t23では、t21〜t23の期間がエントリ周期T2として検出される。そして、時間閾値設定処理によって、時間閾値が設定され、該エントリ周期T2は過去のエントリ周期TpとしてRAM12に記憶される。
At t23, the
t24では、連動タイマ値すなわち上記経過時間が時間閾値となる。有効設定情報は、t24以前では無効に設定され、t24より後では有効に設定される。
t25では、第1PEとしてのPE41が再び同期ポイントに到達し、共用データが生成される。つまり、次のサイクルの新たな共用データが生成される。t25では、t23〜t25の期間がエントリ周期T2として検出される。また、t21〜t23が過去のエントリ周期Tpとして取得される。そして、時間閾値設定処理によって、時間閾値が設定される。ここでは、図10に示すようにT2≧Tpである場合、時間閾値はt23にて設定されている時間閾値よりも大きい値に設定し直される。
At t24, the interlocking timer value, that is, the elapsed time becomes the time threshold value. The valid setting information is set to invalid before t24, and is set valid after t24.
At t25, the
なお、図示していないが、仮にT2<Tpである場合は、t25において、時間閾値設定処理によって、時間閾値はt23にて設定されている時間閾値よりも小さい値に設定し直される。 Although not shown, if T2 <Tp, the time threshold value is reset to a value smaller than the time threshold value set at t23 by the time threshold value setting process at t25.
このようにして、仮に通常よりも遅れて第1タスクが同期ポイントに到達した場合には、時間閾値が該時間閾値よりも大きい値に変更される。また、仮に通常よりも早く第1タスクが同期ポイントに到達した場合には、時間閾値が該時間閾値よりも小さい値に変更される。つまり、このように時間閾値を随時変更することによって、有効期間T1が随時変更される。 In this way, if the first task reaches the synchronization point later than usual, the time threshold is changed to a value larger than the time threshold. In addition, if the first task reaches the synchronization point earlier than usual, the time threshold is changed to a value smaller than the time threshold. That is, the effective period T1 is changed as needed by changing the time threshold value as needed.
[2−4.効果]
以上詳述した第2実施形態によれば、前述した第1実施形態の効果(1a)−(1c)
が得られ、さらに、以下の効果が得られる。
[2-4. effect]
According to the second embodiment described in detail above, the effects (1a)-(1c) of the first embodiment described above.
Further, the following effects can be obtained.
(2a)ECU10は、S130では、共用データが生成される毎にエントリ周期T2を検出して該エントリ周期T2をRAM12に記憶させる。ECU10は、S330では、エントリ周期T2と、過去のエントリ周期Tpとを取得し、エントリ周期T2が過去のエントリ周期Tp以上であるか否かを判断する。ECU10は、S350では、エントリ周期T2が過去のエントリ周期Tp以上である場合に、時間閾値を該時間閾値よりも大きい値に設定し直す。ECU10は、上記S30では、S350によって設定し直された時間閾値に基づいて判断を行う。
(2a) In S130, the
これによれば、現サイクルにおけるエントリ周期T2が過去のエントリ周期Tp以上である場合には時間閾値が大きい値に設定される。このため、例えば、次のサイクルにおけるエントリ周期T2が現サイクルのエントリ周期T2と同じであるような場合には、次のサイクルにおける有効期間T1を現サイクルの有効期間T1よりも短く設定することが可能となる。これにより、複数のPE41、42それぞれの稼働率の低下が抑制される。 According to this, when the entry period T2 in the current cycle is greater than or equal to the past entry period Tp, the time threshold is set to a large value. Therefore, for example, when the entry period T2 in the next cycle is the same as the entry period T2 in the current cycle, the valid period T1 in the next cycle may be set shorter than the valid period T1 in the current cycle. It becomes possible. Thereby, the fall of the operation rate of each of several PE41 and 42 is suppressed.
(2b)ECU10は、S340では、エントリ周期T2が過去のエントリ周期Tp未満である場合に、時間閾値を該時間閾値よりも小さい値に設定し直す。ECU10は、上記S30では、S340によって設定し直された時間閾値に基づいて判断を行う。
(2b) In S340, when the entry period T2 is less than the past entry period Tp, the
これによれば、現サイクルにおけるエントリ周期T2が過去のエントリ周期Tp未満である場合には時間閾値が小さい値に設定される。このため、例えば、次のサイクルにおけるエントリ周期T2が現サイクルのエントリ周期T2と同じであるような場合には、次のサイクルにおける有効期間T1を現サイクルの有効期間T1よりも長く設定することが可能となる。これにより、第2PEとしてのPE42は、バリア同期が実行される際には、より経過時間の短い共用データに基づいて演算処理を行うことが可能となるので、車両制御システム1としての性能を向上させることができる。
According to this, when the entry period T2 in the current cycle is less than the past entry period Tp, the time threshold is set to a small value. Therefore, for example, when the entry period T2 in the next cycle is the same as the entry period T2 in the current cycle, the valid period T1 in the next cycle may be set longer than the valid period T1 in the current cycle. It becomes possible. As a result, when the barrier synchronization is executed, the
なお、上記実施形態におけるECU10が電子制御装置に相当し、複数のPE41、42が複数の実行プロセッサに相当し、PE41が第1プロセッサに相当し、PE42が第2プロセッサに相当する。RAM12が記憶部に相当する。制御部30が、経過判断部、同期判断部、時間間隔部、間隔判断部、増加再設定部、減少再設定部に相当する。S30が経過判断部による処理に相当し、S40、S50が同期判断部による処理に相当する。S130が時間間隔部による処理に相当し、S330が間隔判断部による処理に相当し、S350が増加再設定部による処理に相当し、S340が減少再設定部による処理に相当する。また、S3が判断取得部による処理に相当し、S4が有効判断部による処理に相当し、S6が有効実行部による処理に相当する。バリア同期が複数同期に相当し、同期ポイントが同期点に相当する。エントリ周期T2が現時間間隔に相当し、過去のエントリ周期Tpが過去の時間間隔に相当する。
In the above embodiment, the
[3.他の実施形態]
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
[3. Other Embodiments]
As mentioned above, although embodiment of this indication was described, this indication is not limited to the above-mentioned embodiment, and can carry out various modifications.
(3a)上記実施形態では、マルチプロセッサ14が、PE41、42といった2つのプロセッサを備えていた。但し、マルチプロセッサ14が備えるプロセッサの数は3以上であり得る。つまり、第2PEは複数であり得る。
(3a) In the above embodiment, the
(3b)上記実施形態では、本願発明が、ECU10といった車両に搭載される装置(以下、車載装置)に適用される例を説明したが、これに限定されるものではない。本願発
明は、車載装置に限らず、情報家電等に搭載される電子制御装置に適用されても良い。
(3b) In the above embodiment, the example in which the present invention is applied to a device (hereinafter referred to as an in-vehicle device) mounted on a vehicle such as the
(3c)上記実施形態では、制御部30は、生成した有効設定情報をRAM12に書き込むように構成されていたが、これに限定されるものではない。制御部30は、生成した有効設定情報を、複数のPE41、42それぞれに送信するように構成されてもよい。
(3c) Although the
(3d)上記実施形態では、同期管理部35が連動タイマの開始及び停止を管理する機能を有し、同期制御部36がタイムアウトタイマの開始及び停止を管理する機能を有していたが、これに限定されるものではない。連動タイマの開始及び停止を管理する機能、及びタイムアウトタイマの開始及び停止を管理する機能は、制御部30における任意の構成によって実現され得る。
(3d) In the above embodiment, the
(3e)上記第1実施形態では、エントリ周期T2は予め定められた値に設定されていた。但し、これに限定されるものではない、第1実施形態において、第1タスクが実行される周期が所定の範囲内で変動する場合、第1タスクが実行される周期の平均値がエントリ周期T2として用いられても良い。 (3e) In the first embodiment, the entry period T2 is set to a predetermined value. However, the present invention is not limited to this. In the first embodiment, when the cycle in which the first task is executed varies within a predetermined range, the average value of the cycles in which the first task is executed is the entry cycle T2. May be used.
(3f)上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。 (3f) A plurality of functions of one constituent element in the above embodiment may be realized by a plurality of constituent elements, or a single function of one constituent element may be realized by a plurality of constituent elements. . Further, a plurality of functions possessed by a plurality of constituent elements may be realized by one constituent element, or one function realized by a plurality of constituent elements may be realized by one constituent element. Moreover, you may abbreviate | omit a part of structure of the said embodiment. In addition, at least a part of the configuration of the above embodiment may be added to or replaced with the configuration of the other embodiment. In addition, all the aspects included in the technical idea specified from the wording described in the claims are embodiments of the present disclosure.
(3g)上述した制御部30、PE41、PE42、マルチプロセッサ14、ECU10の他、当該ECU10を構成要素とするシステム、制御部30、PE41、PE42、マルチプロセッサ14、ECU10を機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、バリア同期方法など、種々の形態で本開示を実現することもできる。
(3g) In addition to the
10 ECU、12 RAM、30 制御部、41 PE、42 PE。 10 ECU, 12 RAM, 30 control unit, 41 PE, 42 PE.
Claims (6)
前記複数の実行プロセッサは、1つの第1プロセッサ(41)と、少なくとも1つの第2プロセッサとを備え、
前記第1プロセッサは、少なくとも前記第2プロセッサが実行する処理において用いられるデータである共用データを生成し、
前記第2プロセッサは、前記共用データを用いた処理を実行し、
当該電子制御装置は、
前記共用データが生成されてからの経過時間が予め定められた時間閾値以上であるか否かを判断する経過判断部(S30)と、
前記経過時間が前記時間閾値以上であると判断された場合に、前記複数の実行プロセッサそれぞれが実行する処理であって、全ての前記実行プロセッサが前記全ての実行プロセッサ間の同期をとるべき同期点に到達する迄前記同期点の次に行うべき処理を待機させる複数同期、が有効であると判断し、前記経過時間が前記時間閾値未満であると判断された場合に、前記複数同期が無効であると判断する同期判断部(S40、S50)と、
を更に備える電子制御装置。 An electronic control device (10) comprising a plurality of execution processors (41, 42),
The plurality of execution processors include one first processor (41) and at least one second processor,
The first processor generates shared data which is data used in at least processing executed by the second processor;
The second processor executes processing using the shared data;
The electronic control device
A progress determination unit (S30) that determines whether or not an elapsed time since the generation of the shared data is greater than or equal to a predetermined time threshold;
When it is determined that the elapsed time is equal to or greater than the time threshold, each of the plurality of execution processors executes a synchronization point at which all the execution processors are to be synchronized among all the execution processors. If it is determined that a plurality of synchronizations that wait for processing to be performed next to the synchronization point until it reaches is valid, and the elapsed time is determined to be less than the time threshold, the plurality of synchronizations are invalid. A synchronization determination unit (S40, S50) that determines that there is,
An electronic control device further comprising:
前記複数の実行プロセッサそれぞれは、
前記同期判断部による判断結果を取得する判断取得部(S3)と、
前記判断結果が、前記複数同期が有効であることを表しているか否か、を判断する有効判断部(S4)と、
前記判断結果が前記複数同期が有効であることを表す場合に、前記複数同期を実行する有効実行部(S7)と、
を備える電子制御装置。 The electronic control device according to claim 1,
Each of the plurality of execution processors is
A determination acquisition unit (S3) for acquiring a determination result by the synchronization determination unit;
An effective determination unit (S4) for determining whether or not the determination result indicates that the multiple synchronization is effective;
When the determination result indicates that the multiple synchronization is valid, the effective execution unit (S7) that executes the multiple synchronization;
An electronic control device comprising:
前記複数の実行プロセッサそれぞれでは、
前記有効実行部は、前記判断結果が前記複数同期が無効であることを表す場合に、前記複数同期を実行しない
電子制御装置。 The electronic control device according to claim 2,
In each of the plurality of execution processors,
The effective execution unit does not execute the multiple synchronization when the determination result indicates that the multiple synchronization is invalid.
前記第1プロセッサは、予め定められた周期で、前記共用データを生成する
電子制御装置。 The electronic control device according to any one of claims 1 to 3,
The first processor is an electronic control unit that generates the shared data at a predetermined cycle.
前記第1プロセッサによって前記共用データが生成される時間間隔を前記共用データが生成される毎に検出して記憶部(12)に記憶させる時間間隔部(S130)と、
前記時間間隔部によって検出された前記時間間隔である現時間間隔と、前記時間間隔部によって前記現時間間隔よりも過去に検出された過去の時間間隔とを取得し、前記現時間間隔が前記過去の時間間隔以上であるか否かを判断する間隔判断部(S330)と、
前記現時間間隔が前記過去の時間間隔以上である場合に、前記時間閾値を前記時間閾値よりも大きい値に設定し直す増加再設定部(S350)と、
を更に備え、
前記経過判断部は、前記増加再設定部によって設定し直された時間閾値に基づいて判断する
電子制御装置。 The electronic control device according to any one of claims 1 to 3,
A time interval unit (S130) for detecting a time interval at which the shared data is generated by the first processor each time the shared data is generated and storing it in the storage unit (12);
Obtaining a current time interval that is the time interval detected by the time interval unit and a past time interval detected in the past by the time interval unit than the current time interval; and the current time interval is the past time interval. An interval determination unit (S330) for determining whether or not the time interval is greater than or equal to
An increase resetting unit (S350) for resetting the time threshold to a value larger than the time threshold when the current time interval is equal to or greater than the past time interval;
Further comprising
The progress determination unit is an electronic control unit that makes a determination based on a time threshold value reset by the increase resetting unit.
前記現時間間隔が前記過去の時間間隔未満である場合に、前記時間閾値を前記時間閾値よりも小さい値に設定し直す減少再設定部(S340)
を更に備え、
前記経過判断部は、前記減少再設定部によって設定し直された時間閾値に基づいて判断する
電子制御装置。 The electronic control device according to claim 5,
Decrease resetting unit (S340) that resets the time threshold to a value smaller than the time threshold when the current time interval is less than the past time interval.
Further comprising
The progress determination unit is an electronic control unit that makes a determination based on a time threshold value reset by the decrease resetting unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017147825A JP2019028748A (en) | 2017-07-31 | 2017-07-31 | Electronic control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017147825A JP2019028748A (en) | 2017-07-31 | 2017-07-31 | Electronic control device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019028748A true JP2019028748A (en) | 2019-02-21 |
Family
ID=65478556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017147825A Pending JP2019028748A (en) | 2017-07-31 | 2017-07-31 | Electronic control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019028748A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021086277A (en) * | 2019-11-26 | 2021-06-03 | 株式会社デンソー | Electronic control device |
-
2017
- 2017-07-31 JP JP2017147825A patent/JP2019028748A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021086277A (en) * | 2019-11-26 | 2021-06-03 | 株式会社デンソー | Electronic control device |
JP7347162B2 (en) | 2019-11-26 | 2023-09-20 | 株式会社デンソー | electronic control unit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5829890B2 (en) | Semiconductor data processing apparatus, time trigger communication system, and communication system | |
WO2013185571A1 (en) | Thread control and invoking method of multi-thread virtual assembly line processor, and processor thereof | |
JP2019028748A (en) | Electronic control device | |
JP2014191655A (en) | Multiprocessor, electronic control device, and program | |
JP5680466B2 (en) | Parallel processing system and method of operating parallel processing system | |
CN116702885B (en) | Synchronous data parallel training control method, system, device, equipment and medium | |
US20050066093A1 (en) | Real-time processor system and control method | |
JP5971214B2 (en) | Data processing apparatus and data processing program | |
JP6519515B2 (en) | Microcomputer | |
JP7435182B2 (en) | electronic control unit | |
JP2014186454A (en) | Electronic control device for vehicle | |
JP2010140239A (en) | Apparatus and method for shortening interrupt latency | |
US20200379820A1 (en) | Synchronization mechanism for workgroups | |
JP2016184315A (en) | Electronic controller | |
JP6009518B2 (en) | Electronic control unit | |
JP7318439B2 (en) | electronic controller | |
JP6447442B2 (en) | Electronic control unit | |
WO2018229968A1 (en) | Controller system | |
JP2018193923A (en) | Fuel injection control device | |
JP2021015613A (en) | Electronic controller | |
JP3557522B2 (en) | Interrupt signal generator | |
JP2016162330A (en) | Electronic controller | |
JP2018096273A (en) | Electronic controller | |
JP2018005851A (en) | Electronic equipment | |
CN114446077A (en) | Device and method for parking space detection, storage medium and vehicle |