JP2019028748A - Electronic control device - Google Patents

Electronic control device Download PDF

Info

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
Application number
JP2017147825A
Other languages
Japanese (ja)
Inventor
達也 笠嶋
Tatsuya Kasashima
達也 笠嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2017147825A priority Critical patent/JP2019028748A/en
Publication of JP2019028748A publication Critical patent/JP2019028748A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)

Abstract

To provide a technique for suppressing a reduction in availability of each of a plurality of processors in an electronic control device including a plurality of processors.SOLUTION: An ECU 10 includes a first PE for generating shared data and a second PE for executing processing using the shared data. The ECU 10 further includes S10 as a progress determination unit and S40 and S50 as synchronization determination units. The synchronization determination unit determines that a barrier synchronization is valid when it is determined that an elapsed time is equal to or longer than a time threshold value, and that the barrier synchronization is invalid when it is determined that the elapsed time is less than the time threshold value.SELECTED DRAWING: Figure 4

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.

特許第2880399号公報Japanese Patent No. 2880399

上記同期処理では、複数のプロセッサそれぞれにおいて、所定のタスクについて予め同期ポイントが設定されている。上記同期処理では、複数のプロセッサのそれぞれは、全てのプロセッサにおいて上記所定のタスクが同期ポイントに到達するまで、同期ポイントの次のタスクの実行を待機する。   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 Patent Document 1, in the synchronization process, each of the plurality of processors must always wait until all the processors reach the synchronization point and synchronization between all the processors is established. There may be a problem that the operating rate decreases.

本開示の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実施形態の車両制御システムの構成を示すブロック図。The block diagram which shows the structure of the vehicle control system of 1st Embodiment. 制御部の機能を示す機能ブロック図。The functional block diagram which shows the function of a control part. プロセッサが実行する同期実行処理のフローチャート。The flowchart of the synchronous execution process which a processor performs. 制御部が実行する有効設定処理のフローチャート。The flowchart of the effective setting process which a control part performs. 制御部が実行する同期管理処理のフローチャート。The flowchart of the synchronous management process which a control part performs. 制御部が実行する同期制御処理のフローチャート。The flowchart of the synchronous control process which a control part performs. ECUの作動例を説明する説明図。Explanatory drawing explaining the operation example of ECU. 第2実施形態の制御部が実行する同期管理処理のフローチャート。The flowchart of the synchronous management process which the control part of 2nd Embodiment performs. 時間閾値が設定される例を説明する説明図。Explanatory drawing explaining the example in which a time threshold is set. 第2実施形態のECUの作動例を説明する説明図。Explanatory drawing explaining the operation example of ECU of 2nd Embodiment.

以下、図面を参照しながら、本開示の実施形態を説明する。
[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 vehicle control system 1 shown in FIG. 1 is a system mounted on a vehicle such as a passenger car. The vehicle control system 1 includes an electronic control unit (hereinafter, ECU) 10. The vehicle control system 1 may include an engine 20. The ECU is an Electronic Control
Abbreviation for Unit.

ECU10は、エンジン20を作動させるための各種制御を行う。
ECU10は、ROM11、RAM12、通信部13、マルチプロセッサ14、センサ部15、入出力ポート16等を備える。
The ECU 10 performs various controls for operating the engine 20.
The ECU 10 includes a ROM 11, a RAM 12, a communication unit 13, a multiprocessor 14, a sensor unit 15, an input / output port 16, and the like.

ROM11は、マルチプロセッサ14を作動させるプログラムが記憶されている。マルチプロセッサ14は、該プログラムに従い作動し、ECU10を統括制御する。
RAM12は、マルチプロセッサ14によりアクセスされる。通信部13は、車内LAN等を介して接続された図示しない他のECUと通信を行う。センサ部15は、エンジン20の状態を検出するための各種センサを備える。入出力ポート16は、エンジン20を制御するための各種信号の送受信を行う。
The ROM 11 stores a program for operating the multiprocessor 14. The multiprocessor 14 operates according to the program and controls the ECU 10 in an integrated manner.
The RAM 12 is accessed by the multiprocessor 14. The communication unit 13 communicates with another ECU (not shown) connected via an in-vehicle LAN or the like. The sensor unit 15 includes various sensors for detecting the state of the engine 20. The input / output port 16 transmits and receives various signals for controlling the engine 20.

マルチプロセッサ14は、プロセッサ制御部(以下、制御部)30と、複数のプロセッサ(以下、PE)41、42を備える。
制御部30は、図示しないが、中央演算処理装置(CPU)及びメモリを備える。ここでいうメモリには、レジスタ31が含まれる。レジスタ31は、制御部30が備えるCPU、及び複数のPE41、42によりアクセスされる。
The multiprocessor 14 includes a processor control unit (hereinafter referred to as control unit) 30 and a plurality of processors (hereinafter referred to as PE) 41 and 42.
Although not shown, the control unit 30 includes a central processing unit (CPU) and a memory. The memory here includes a register 31. The register 31 is accessed by the CPU provided in the control unit 30 and the plurality of PEs 41 and 42.

制御部30は、複数のPE41、42によるバリア同期を管理する機能を有する。図2に示すように、制御部30は、CPUがプログラムを実行することで実現される機能の構成として、同期管理部35、同期制御部36、有効設定部37、及びタイマ部38を備える。同期管理部35は、後述する同期管理処理を実行する。同期制御部36は、後述する同期制御処理を実行する。有効設定部37は、後述する有効設定処理を実行する。タイマ部38は、後述する連動タイマ、タイムアウトタイマといった、時間を計測するタイマを有する。   The control unit 30 has a function of managing barrier synchronization by the plurality of PEs 41 and 42. As illustrated in FIG. 2, the control unit 30 includes a synchronization management unit 35, a synchronization control unit 36, an effective setting unit 37, and a timer unit 38 as a function configuration realized by the CPU executing a program. The synchronization management unit 35 executes synchronization management processing described later. The synchronization control unit 36 executes a synchronization control process described later. The valid setting unit 37 executes a valid setting process described later. The timer unit 38 has a timer for measuring time, such as an interlocking timer and a timeout timer described later.

複数のPE41、42それぞれは、図示しないが、CPU、メモリを有する。複数のPE41、42それぞれは、CPUがプログラムを実行することで、複数のPE41、42それぞれに予め割り振られた所定の機能を実現する。複数のPE41、42のそれぞれは、後述する同期実行処理を実行する。   Although not shown, each of the plurality of PEs 41 and 42 has a CPU and a memory. Each of the plurality of PEs 41 and 42 realizes a predetermined function allocated in advance to each of the plurality of PEs 41 and 42 when the CPU executes a program. Each of the plurality of PEs 41 and 42 executes a synchronization execution process described later.

なお、制御部30、及び複数のPE41、42において、これらの要素を実現する手法はソフトウェアに限るものではなく、その一部又は全部の要素を、論理回路やアナログ回路等を組み合わせたハードウェアを用いて実現してもよい。   In the control unit 30 and the plurality of PEs 41 and 42, the method for realizing these elements is not limited to software, and a part or all of the elements are combined with a logic circuit, an analog circuit, or the like. It may be realized by using.

(バリア同期の概要)
バリア同期とは、複数のPE41、42それぞれが実行する処理であって、PE41、42それぞれが同期ポイントに到達した際に、全てのPE41、42が同期ポイントに到達する迄、同期ポイントの次に行うべき処理を待機させる処理、を表す。同期実行処理は、複数のPE41、42それぞれがバリア同期を実行するための処理手順を表す。
(Overview of barrier synchronization)
Barrier synchronization is a process executed by each of the plurality of PEs 41 and 42. When each of the PEs 41 and 42 reaches the synchronization point, the next to the synchronization point until all the PEs 41 and 42 reach the synchronization point. This represents a process for waiting for a process to be performed. The synchronization execution processing represents a processing procedure for each of the plurality of PEs 41 and 42 to execute barrier synchronization.

なお、ここでいう同期ポイントとは、全てのPE41、42間の同期をとるべきポイントを表す。同期ポイントは、PE41、42それぞれに個別に設定されている。
具体的には、本実施形態では、後述する図7に示すように、PE41に第1タスクが割り当てられ、PE42に第2タスクが割り当てられている。ここでいうタスクとは、PE41、42それぞれによって実行されているプログラムにおける処理のことをいう。
In addition, the synchronization point here represents a point at which all the PEs 41 and 42 should be synchronized. The synchronization point is set individually for each of the PEs 41 and 42.
Specifically, in this embodiment, as shown in FIG. 7 to be described later, the first task is assigned to PE 41 and the second task is assigned to PE 42. The task here means processing in a program executed by each of the PEs 41 and 42.

これらのタスクは、本実施形態では予め定められた周期で起動し、第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 PEs 41 and 42. In the present embodiment, the PE 41 corresponds to the first PE. The second processor (hereinafter referred to as the second PE) is a processor other than the first PE among the plurality of PEs 41 and 42, and the PE 42 corresponds to the second PE in the present embodiment. The PE 41 as the first PE generates at least shared data used in the second task, which is a process executed by the second PE. The PE 42 as the second PE executes processing using the shared data, that is, the second task.

本実施形態では、共用データのリアルタイム性が高いほど、つまり、共用データが取得されてから経過した時間が短いほど、第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 vehicle control system 1. Let Here, the improvement in performance includes, for example, improvement in fuel efficiency. That is, in the vehicle control system 1 of this embodiment, in order to improve the performance of the vehicle control system 1, it is desirable that the shared data is referred to immediately after the shared data is updated.

そこで、第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 RAM 12. In the second task, the synchronization point is set before the shared data reference. The shared data reference means that shared data is read from a memory such as the RAM 12. In addition, that the tasks of all the PEs 41 and 42 have reached the synchronization point indicates that synchronization between all the processors has been established.

本実施形態では、複数のPE41、42それぞれは、バリア同期への参加及び不参加を
設定可能に構成されている。複数のPE41、42それぞれは、バリア同期への参加及び不参加を表す情報(以下、参加情報)を、レジスタ31の所定の領域に複数のPE41、42毎に書き込むように構成されている。
In the present embodiment, each of the plurality of PEs 41 and 42 is configured to be able to set participation in barrier synchronization and non-participation. Each of the plurality of PEs 41 and 42 is configured to write information representing participation and non-participation in barrier synchronization (hereinafter referred to as participation information) in a predetermined area of the register 31 for each of the plurality of PEs 41 and 42.

また、複数のPE41、42は、バリア同期結果を参照可能に構成されている。バリア同期結果とは、制御部30によって生成される情報であり、「不成立」、「成立」、「タイムアウト」のいずれかに設定される。バリア同期結果は、RAM12に記憶される。ここでいう不成立とは、バリア同期が実行されていないことを表す。成立とはバリア同期が完了したことを表す。タイムアウトとは所定時間内にバリア同期が完了しなかったことを表す。   The plurality of PEs 41 and 42 are configured to be able to refer to the barrier synchronization result. The barrier synchronization result is information generated by the control unit 30 and is set to any one of “not established”, “established”, and “timeout”. The barrier synchronization result is stored in the RAM 12. The failure here means that barrier synchronization is not executed. The establishment means that the barrier synchronization is completed. The timeout means that the barrier synchronization is not completed within a predetermined time.

そして本実施形態では特に、複数のPE41、42は、有効設定情報を参照可能に構成されている。有効設定情報は、RAM12に記憶される。有効設定情報とは、制御部30によって生成される情報であり、「有効」、「無効」のいずれかに設定される情報である。ここでいう有効とは、複数のPE41、42がバリア同期を実行することを許可すること、を表す。また、無効とは、複数のPE41、42がバリア同期を実行することを禁止すること、を表す。   In this embodiment, in particular, the plurality of PEs 41 and 42 are configured to be able to refer to valid setting information. The valid setting information is stored in the RAM 12. The valid setting information is information generated by the control unit 30 and is set to either “valid” or “invalid”. “Effective” here means that a plurality of PEs 41 and 42 are allowed to execute barrier synchronization. Invalid indicates that the plurality of PEs 41 and 42 are prohibited from executing barrier synchronization.

ここで、複数のPE41、42それぞれは、同期実行処理に基づいて、同期ポイントに到達し、且つ、バリア同期が有効に設定されており、且つ、自プロセッサがバリア同期に参加する、という条件(以下、同期実行条件)が満足される場合に、バリア同期を実行する。自プロセッサとは、同期実行処理を実行しているプロセッサを表す。   Here, based on the synchronization execution process, each of the plurality of PEs 41 and 42 reaches the synchronization point, the barrier synchronization is set to be valid, and the own processor participates in the barrier synchronization ( Hereinafter, the barrier synchronization is executed when the synchronization execution condition) is satisfied. The own processor represents a processor that is executing synchronous execution processing.

複数のPE41、42それぞれは、バリア同期が開始されると、バリア同期結果が「成立」になるまで待機し、バリア同期結果が「成立」した場合に、同期ポイントの次以降の処理を再開する。また、複数のPE41、42それぞれは、バリア同期結果が「成立」せず、バリア同期が「タイムアウト」した場合にも、同期ポイントの次以降の処理を再開する。   When the barrier synchronization is started, each of the plurality of PEs 41 and 42 waits until the barrier synchronization result is “established”, and when the barrier synchronization result is “established”, the processing subsequent to the synchronization point is resumed. . Each of the plurality of PEs 41 and 42 resumes the processing subsequent to the synchronization point even when the barrier synchronization result is not “established” and the barrier synchronization is “timed out”.

一方、複数のPE41、42それぞれは、同期実行条件が満足されない場合、バリア同期を実行せず、つまり待機することなく、同期ポイントの次の処理を実行する。
なお、上記同期管理部35は、少なくとも、連動タイマを開始及び停止させてエントリ周期T2を測定する機能を有する。また、上記同期制御部36は、少なくとも、後述するバリア同期が所定時間内に「成立」しない場合に備え、タイムアウトタイマを開始及び停止させてタイムアウト制御を行う機能を有する。タイムアウト制御とは、バリア同期が所定時間内に「成立」しない場合に、バリア同期結果を「タイムアウト」に設定する制御をいう。有効設定部37は、バリア同期の「有効」、「無効」を切替える機能を有する。
On the other hand, when the synchronization execution condition is not satisfied, each of the plurality of PEs 41 and 42 does not execute the barrier synchronization, that is, executes the next process of the synchronization point without waiting.
The synchronization management unit 35 has at least a function of measuring the entry period T2 by starting and stopping the interlocking timer. The synchronization control unit 36 has a function of performing timeout control by starting and stopping a timeout timer in preparation for at least a case where barrier synchronization described later is not “established” within a predetermined time. The timeout control refers to control for setting the barrier synchronization result to “timeout” when the barrier synchronization is not “established” within a predetermined time. The valid setting unit 37 has a function of switching between “valid” and “invalid” of barrier synchronization.

[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 PEs 41 and 42 will be described with reference to the flowchart of FIG. In the following description, a specific example in which the CPU of the PE 41 executes the synchronization execution process will be described. The synchronization execution process is started every time the first task of PE 41 reaches the synchronization point. Note that the same processing is executed when the CPU of the PE 42 executes the synchronous execution processing. The synchronous execution process in this case is started every time the second task of the PE 42 reaches the synchronization point.

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 register 31. The arrival information is information indicating whether the synchronization point has been reached or has not been reached. Here, the arrival information indicating that the PE 41 has reached the synchronization point is written in the register 31 to which the arrival information of the PE 41 is to be written.

PE41は、S2では、有効設定情報を取得する。
PE41は、S3では、有効設定情報がバリア同期が有効であることを表しているか否か、を判断する。CPUは、有効設定情報がバリア同期が有効であることを表している場合に処理をS4へ移行させ、有効設定情報がバリア同期が無効であることを表す場合に、同期実行処理を終了する。
In step S2, the PE 41 acquires valid setting information.
In S3, the PE 41 determines whether or not the valid setting information indicates that the barrier synchronization is valid. The CPU shifts the process to S4 when the valid setting information indicates that the barrier synchronization is valid, and ends the synchronization execution process when the valid setting information indicates that the barrier synchronization is invalid.

PE41は、S4では、PE41においてバリア同期への参加が設定されているか否かを判断する。バリア同期への参加は、参加及び不参加のいずれか一方に予め設定されていても良いし、PE41又は制御部30が実行する他の処理によって参加及び不参加のいずれか一方に適宜設定されても良い。本実施形態では、後述する制御部30が実行する同期管理処理における同期制御処理にて、同期管理処理が開始されるきっかけとなった同期ポイントに到達したプロセッサについて、参加情報を参加に設定するように構成されている。   In S4, the PE 41 determines whether or not participation in barrier synchronization is set in the PE 41. Participation in barrier synchronization may be set in advance to either participation or non-participation, or may be appropriately set to either participation or non-participation by other processing executed by the PE 41 or the control unit 30. . In the present embodiment, in the synchronization control process in the synchronization management process executed by the control unit 30 described later, the participation information is set to participate for the processor that has reached the synchronization point that triggered the synchronization management process. It is configured.

PE41は、バリア同期への参加が設定されている場合は処理をS7へ移行させ、不参加が設定されている場合は同期実行処理を終了する。
PE41は、S7では、バリア同期を実行する。つまり、CPUは、「成立」又は「タイムアウト」を表すバリア同期結果が取得される迄、同期ポイントの次以降の処理を待機させる。PE41は、同期実行処理とは異なる処理によって、所定の周期でバリア同期結果を参照し、バリア同期が「成立」したか、「タイムアウト」したかを判断するように構成されている。ここでいう待機させるとは、処理を実行しないで待つことをいう。PE41は、バリア同期が「成立」又は「タイムアウト」した後に、本同期実行処理を終了する。
When the participation in barrier synchronization is set, the PE 41 shifts the process to S7, and when the non-participation is set, the PE 41 ends the synchronization execution process.
In step S7, the PE 41 executes barrier synchronization. That is, the CPU waits for processing subsequent to the synchronization point until a barrier synchronization result indicating “establishment” or “timeout” is acquired. The PE 41 is configured to refer to the barrier synchronization result at a predetermined cycle by a process different from the synchronization execution process and determine whether the barrier synchronization is “established” or “timed out”. To wait here means to wait without executing processing. After the barrier synchronization is “established” or “timed out”, the PE 41 ends the synchronization execution process.

なお、PE41は、同期実行処理を終了する際、対応するレジスタ31の初期化を実行する。ここでいう初期化とは、PE41の到達情報が書き込まれるレジスタ31にPE41が同期ポイントに到達していないことを表す情報が書き込まれること、を表す。また、PE41は、バリア同期が「成立」又は「タイムアウト」した後に、同期ポイントの次以降の処理を再開するように構成される。   Note that the PE 41 initializes the corresponding register 31 when completing the synchronous execution process. The initialization here means that information indicating that the PE 41 has not reached the synchronization point is written in the register 31 in which the arrival information of the PE 41 is written. In addition, the PE 41 is configured to resume processing subsequent to the synchronization point after barrier synchronization is “established” or “timed out”.

[1−2−2.有効設定処理]
次に、制御部30が実行する有効設定処理について、図4に示すフローチャートを用いて説明する。有効設定処理は、有効設定情報を有効又は無効に設定するための処理である。換言すれば、有効設定処理は、複数のPE41、42に、バリア同期の実行を許可するか又は禁止するかを設定するための処理である。
[1-2-2. Effective setting process]
Next, the valid setting process executed by the control unit 30 will be described with reference to the flowchart shown in FIG. The valid setting process is a process for setting valid setting information to be valid or invalid. In other words, the valid setting process is a process for setting whether the execution of barrier synchronization is permitted or prohibited for the plurality of PEs 41 and 42.

車両制御システム1では、常にバリア同期が許可され実行されると、複数のPE41、42において、バリア同期が成立する迄の待機時間が生じるため、複数のPE41、42の稼働率が低下するおそれが生じる。そこで、有効設定処理では、車両制御システム1の性能を向上させることが可能である場合にのみ、バリア同期を有効に設定する。具体的には、有効設定処理では、新たな共用データが生成される迄の待ち時間が短い場合にのみバリア同期を有効に設定する。   In the vehicle control system 1, when barrier synchronization is always permitted and executed, a waiting time until the barrier synchronization is established occurs in the plurality of PEs 41 and 42, and thus the operation rate of the plurality of PEs 41 and 42 may be reduced. Arise. Therefore, in the effective setting process, barrier synchronization is set to be effective only when the performance of the vehicle control system 1 can be improved. Specifically, in the valid setting process, barrier synchronization is set valid only when the waiting time until new shared data is generated is short.

以下、有効設定処理の処理手順を説明する。有効設定処理は、予め定められた周期であってエントリ周期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 control unit 30 acquires a time threshold value. In the present embodiment, the time threshold value is a predetermined value and is stored in the ROM 11 in advance. The time threshold is set to a value larger than ½ of the entry period T2. For example, the time threshold value is 3 / of the entry period T2.
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 ROM 11.

制御部30は、S20では、経過時間を取得する。ここでいう経過時間とは、共用データが生成されてから経過した時間を表す。経過時間は、後述する連動タイマによって計測される。連動タイマによって計測される経過時間は、共用データが生成される毎にクリアされ、初期値である0に設定し直される。制御部30は、連動タイマによるカウント値(以下、連動タイマ値)を経過時間として取得する。   In S20, the control unit 30 acquires the elapsed time. The elapsed time here represents the time elapsed since the shared data was generated. The elapsed time is measured by an interlock timer described later. The elapsed time measured by the interlocking timer is cleared every time shared data is generated, and is reset to 0, which is an initial value. The control unit 30 acquires a count value by the interlocking timer (hereinafter referred to as an interlocking timer value) as an elapsed time.

制御部30は、S30では、経過時間が時間閾値以上であるか否かを判断する。具体的には、制御部30は、連動タイマ値が時間閾値以上であるか否かを判断する。制御部30は、経過時間が時間閾値以上である場合に処理をS40へ移行させ、時間閾値未満である場合に処理をS50へ移行させる。   In S30, the control unit 30 determines whether or not the elapsed time is equal to or greater than the time threshold value. Specifically, the control unit 30 determines whether or not the interlocking timer value is equal to or greater than the time threshold value. The control unit 30 shifts the process to S40 when the elapsed time is equal to or greater than the time threshold, and shifts the process to S50 when the elapsed time is less than the time threshold.

制御部30は、S40では、バリア同期が有効であると判断し、有効設定情報を「有効」に設定し、有効設定処理を終了する。
制御部30は、S50では、バリア同期が無効あると判断し、有効設定情報を「無効」に設定し、有効設定処理を終了する。
In S40, the control unit 30 determines that the barrier synchronization is valid, sets the valid setting information to “valid”, and ends the valid setting process.
In S50, the control unit 30 determines that the barrier synchronization is invalid, sets the valid setting information to “invalid”, and ends the valid setting process.

つまり、有効設定処理では、新たな共用データが生成される迄の待ち時間が長い場合にバリア同期が無効に設定され、新たな共用データが生成される迄の待ち時間が短い場合にバリア同期が有効に設定される。これにより、後述する図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 vehicle control system 1. When the shared data can be referred to, the performance as the vehicle control system 1 can be improved. The valid period T1 corresponds to the difference between the entry period T2 and the time threshold.

有効期間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 vehicle control system 1.

[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 control unit 30 will be described with reference to the flowchart of FIG. The control unit 30 activates the synchronization management process every time one of the plurality of PEs 41 and 42 reaches the synchronization point. The control unit 30 refers to the arrival information at a predetermined cycle by a process different from the synchronization management process, and detects that one of the plurality of PEs 41 and 42 has reached the synchronization point. Yes.

制御部30は、S100では、同期ポイントに到達したプロセッサが第1PEであるか否かを判断する。制御部30は、同期ポイントに到達したプロセッサが、第1PEである場合に処理をS110へ移行させ、第1PEではない場合に処理をS170へ移行させる。第1PEとは、上述のように、複数のPE41、42のうちの1つであって、共用データを繰り返し生成するプロセッサをいう。ここでは、PE41が第1PEに相当する。なお、PE41が第1PEに相当することを表す情報は、ROM11に予め記憶されている。   In S100, the control unit 30 determines whether or not the processor that has reached the synchronization point is the first PE. The control unit 30 shifts the process to S110 when the processor that has reached the synchronization point is the first PE, and shifts the process to S170 when the processor is not the first PE. As described above, the first PE is one of a plurality of PEs 41 and 42 and is a processor that repeatedly generates shared data. Here, PE41 corresponds to the first PE. Information indicating that the PE 41 corresponds to the first PE is stored in the ROM 11 in advance.

制御部30は、S110では、参加情報に基づいて、第2PEがバリア同期への参加を表しているか否かを判断する。制御部30は、第2PEが、バリア同期への参加を表している場合に処理をS140へ移行させ、バリア同期への不参加を表している場合に処理を
S120へ移行させる。
In S110, the control unit 30 determines whether or not the second PE represents participation in barrier synchronization based on the participation information. The control unit 30 shifts the process to S140 when the second PE represents participation in barrier synchronization, and shifts the process to S120 when it represents non-participation in barrier synchronization.

第2PEとは、上述のように、複数のPE41、42のうち第1PEを除いた残りであり、共用データを用いた処理を繰り返し実行するプロセッサを表す。ここでは、PE42が第2PEに相当する。なお、PE42が第2PEに相当することを表す情報は、ROM11に予め記憶されている。   As described above, the second PE is the remainder of the plurality of PEs 41 and 42 excluding the first PE, and represents a processor that repeatedly executes processing using shared data. Here, PE42 corresponds to the second PE. Information indicating that the PE 42 corresponds to the second PE is stored in the ROM 11 in advance.

制御部30は、S120では、連動タイマ値をエントリ周期T2としてRAM12に記憶させ、処理をS130へ移行させる。
制御部30は、S130では、連動タイマによる連動タイマ値をクリアし、すなわち連動タイマ値を0に設定し、新たに連動タイマを始動させる。そして、制御部30は同期管理処理を終了する。連動タイマは、第1PEとしてのPE41が同期ポイントに到達する毎に連動タイマ値をクリアし、新たに連動タイマ値のカウントを開始させるように構成されている。つまり、連動タイマは、エントリ周期T2をカウントするタイマである。本実施形態では、制御部30は、S120において、連動タイマ値をエントリ周期T2としてRAM12に記憶させた後に、S130にて連動タイマ値をクリアし、連動タイマを再始動させるように構成されている。
In S120, the control unit 30 stores the interlock timer value in the RAM 12 as the entry period T2, and shifts the processing to S130.
In S130, the control unit 30 clears the interlock timer value by the interlock timer, that is, sets the interlock timer value to 0, and newly starts the interlock timer. Then, the control unit 30 ends the synchronization management process. The interlocking timer is configured to clear the interlocking timer value every time the PE 41 as the first PE reaches the synchronization point and newly start counting the interlocking timer value. That is, the interlocking timer is a timer that counts the entry period T2. In the present embodiment, the control unit 30 is configured to store the interlocking timer value in the RAM 12 as the entry period T2 in S120, clear the interlocking timer value in S130, and restart the interlocking timer. .

制御部30は、第2PEとしてのPE41が同期ポイントに到達したことをきっかけとして同期管理処理がスタートした場合に移行するS140では、有効設定情報を取得する。
続いて制御部30は、S150では、有効設定情報に基づいて、バリア同期が有効であるか否かを判断する。制御部30は、バリア同期が有効である場合に処理をS160へ移行させ、有効でない場合に同期管理処理を終了する。
The control unit 30 acquires valid setting information in S140 that is shifted to when the synchronization management process is started when the PE 41 as the second PE has reached the synchronization point.
Subsequently, in S150, the control unit 30 determines whether or not the barrier synchronization is valid based on the valid setting information. The control unit 30 shifts the process to S160 when the barrier synchronization is valid, and ends the synchronization management process when the barrier synchronization is not valid.

制御部30は、S160では、同期制御処理を実行し、同期管理処理を終了する。同期制御処理は、バリア同期が成立したか否かを判定するための処理である。ここでいうバリア同期が成立した、とは、バリア同期が有効である際に、タイムアウトタイマがタイムアウトする迄の所定期間(以下、タイムアウト期間)内に、全てのPE41、42が同期ポイントに到達し、且つ、全てのPE41、42によるバリア同期への参加が検出されたこと、をいう。同期制御処理では、バリア同期が「成立」したこと、又は、バリア同期が不成立で「タイムアウト」したこと、バリア同期が「不成立」であること、といったバリア同期結果が出力され得る。   In S160, the control unit 30 executes the synchronization control process and ends the synchronization management process. The synchronization control process is a process for determining whether barrier synchronization is established. Barrier synchronization is established here. When barrier synchronization is valid, all PEs 41 and 42 reach the synchronization point within a predetermined period (timeout period) until the timeout timer times out. In addition, it means that participation in barrier synchronization by all PEs 41 and 42 has been detected. In the synchronization control process, barrier synchronization results such as “satisfied” barrier synchronization, “timeout” because barrier synchronization is not established, and barrier synchronization “not established” can be output.

制御部30は、第1PEが同期ポイントに到達したことをきっかけとして本同期管理処理がスタートしており、且つ、第2PEがバリア同期への参加を表している場合に移行するS170では、連動タイマを停止させる。   The control unit 30 starts the synchronization management process in response to the arrival of the first PE at the synchronization point, and the interlocking timer starts in S170 when the second PE represents participation in barrier synchronization. Stop.

続いて、制御部30は、S180では、同期制御処理を実行する。
次に、制御部30は、S190では、同期制御処理によるバリア同期結果が出力済みであるか否かを判断する。制御部30は、出力済みである場合に処理をS120へ移行させ、出力済みでない場合に同期管理処理を終了する。
Subsequently, in S180, the control unit 30 executes a synchronization control process.
Next, in S190, the control unit 30 determines whether the barrier synchronization result by the synchronization control process has been output. The control unit 30 shifts the process to S120 when the output has been completed, and ends the synchronization management process when the output has not been completed.

次に、制御部30が同期管理処理のS160又はS180にて実行する同期制御処理を図6に示すフローチャートに基づいて説明する。
制御部30は、S200では、バリア同期結果が出力済みであるか否かを判断する。制御部30は、バリア同期結果が出力済みである場合に同期制御処理を終了し、出力済みでない場合に処理をS210へ移行させる。なお、バリア同期結果が出力済みであるとは、バリア同期結果がRAM12に書き込まれたことが含まれ得る。
Next, the synchronization control process executed by the control unit 30 in S160 or S180 of the synchronization management process will be described based on the flowchart shown in FIG.
In S200, the control unit 30 determines whether the barrier synchronization result has been output. The control unit 30 ends the synchronization control process when the barrier synchronization result has been output, and shifts the process to S210 when it has not been output. Note that the barrier synchronization result has already been output may include that the barrier synchronization result has been written to the RAM 12.

制御部30は、S210では、複数のPE41、42のうち同期管理処理がスタートしたきっかけとなった、同期ポイントに到達したプロセッサについて、参加情報を参加に設定する。   In S210, the control unit 30 sets participation information to participation for the processor that has reached the synchronization point, which is the trigger for starting the synchronization management process among the plurality of PEs 41 and 42.

次に、制御部30は、S220では、タイムアウトタイマがカウントを開始済みであるか否かを判断する。制御部30は、タイムアウトタイマがカウントを開始済みである場合に処理をS240へ移行させ、開始済みでない場合に処理をS230へ移行させる。   Next, in S220, the control unit 30 determines whether or not the timeout timer has already started counting. The control unit 30 shifts the process to S240 when the timeout timer has already started counting, and shifts the process to S230 when it has not started.

制御部30は、S230では、タイムアウトタイマにカウントを開始させ、処理をS240へ移行させる。
制御部30は、S240では、参加情報に基づいて、全てのPE41、42がバリア同期に参加しているか否かを判断する。制御部30は、全てのPE41、42がバリア同期に参加していると判断された場合に処理をS270へ移行させ、参加していないと判断された場合に処理をS250へ移行させる。
In S230, the control unit 30 causes the timeout timer to start counting, and shifts the processing to S240.
In S240, the control unit 30 determines whether all the PEs 41 and 42 are participating in the barrier synchronization based on the participation information. The control unit 30 shifts the process to S270 when it is determined that all the PEs 41 and 42 are participating in barrier synchronization, and shifts the process to S250 when it is determined that they are not participating.

制御部30は、S250では、タイムアウトタイマがタイムアウトしているか否かを判断する。制御部30は、タイムアウトタイマがタイムアウトしている場合に処理をS260へ移行させ、タイムアウトしていない場合に同期制御処理を終了する。タイムアウトタイマがタイムアウトしている、とは、カウントが開始されてからタイムアウト期間が経過して、タイムアウトタイマが初期化され停止していることをいう。   In S250, the control unit 30 determines whether or not the timeout timer has timed out. The control unit 30 shifts the process to S260 when the time-out timer has timed out, and ends the synchronization control process when the time-out timer has not timed out. The time-out timer has timed out means that the time-out timer has been initialized and stopped after the time-out period has elapsed since the count was started.

次に、制御部30は、S260では、バリア同期結果を「タイムアウト」に設定し、処理をS290へ移行させる。該バリア同期結果は、RAM12に記録される。
制御部30は、S270では、バリア同期結果を「成立」に設定する。該バリア同期結果は、RAM12に記録される。なお、本ステップ及びS260にて設定されたバリア同期結果は、設定後所定期間が経過した後に初期化される。ここでいう初期化とは、バリア同期結果が「不成立」に設定されることをいう。
Next, in S260, the control unit 30 sets the barrier synchronization result to “timeout”, and shifts the processing to S290. The barrier synchronization result is recorded in the RAM 12.
In S270, the control unit 30 sets the barrier synchronization result to “established”. The barrier synchronization result is recorded in the RAM 12. Note that the barrier synchronization result set in this step and S260 is initialized after a predetermined period has elapsed after setting. Here, initialization means that the barrier synchronization result is set to “not established”.

次に、制御部30は、S280では、レジスタ31に記憶されている、複数のPE41、42それぞれの参加情報を初期化する。参加情報を初期化するとは、参加情報を不参加に設定することをいう。   Next, in S280, the control unit 30 initializes participation information of each of the plurality of PEs 41 and 42 stored in the register 31. Initializing the participation information means setting the participation information to non-participation.

制御部30は、S290では、タイムアウトタイマをクリアし、つまりカウント値を0に設定し、タイムアウトタイマを停止させる。制御部30は、以上で同期制御処理を終了する。   In S290, the control unit 30 clears the timeout timer, that is, sets the count value to 0, and stops the timeout timer. The control part 30 complete | finishes a synchronous control process above.

[1−3.作動]
このように構成されたマルチプロセッサ14による作動を、図7を用いて説明する。
t10では、第1PEとしてのPE41は、第1タスクにおいて、処理が同期ポイントに到達している。しかし、バリア同期が無効に設定されており、PE41はバリア同期不参加であるため、PE41はバリア同期を実行せず、処理を進める。
[1-3. Operation]
The operation of the multiprocessor 14 configured as described above will be described with reference to FIG.
At t10, the PE 41 as the first PE has reached the synchronization point in the first task. However, since the barrier synchronization is set to be invalid and the PE 41 does not participate in the barrier synchronization, the PE 41 proceeds with the process without executing the barrier synchronization.

t11では、第2PEとしてのPE42は、第2タスクにおいて、処理が同期ポイントに到達している。しかし、バリア同期が無効に設定されているため、PE42はバリア同期を実行せず、処理を進める。つまり、PE42は、第2タスクにおいて、t10にて生成された共用データを用いて演算処理を実行する。   At t11, the PE 42 as the second PE has reached the synchronization point in the second task. However, since the barrier synchronization is set to be invalid, the PE 42 does not execute the barrier synchronization and proceeds with the process. That is, the PE 42 performs arithmetic processing using the shared data generated at t10 in the second task.

t12では、第1PEとしてのPE41は、第1タスクにおいて処理が同期ポイントに到達している。しかし、バリア同期が無効に設定されており、PE41はバリア同期不参加であるため、PE41はバリア同期を実行せず、処理を進める。   At t12, the PE 41 as the first PE has reached the synchronization point in the first task. However, since the barrier synchronization is set to be invalid and the PE 41 does not participate in the barrier synchronization, the PE 41 proceeds with the process without executing the barrier synchronization.

t13では、第2PEとしてのPE42は、第2タスクにおいて、処理が同期ポイントに到達している。t13では、バリア同期が有効に設定されており、PE42はバリア同期参加に設定されるため、PE42はバリア同期を実行して同期ポイントの次移行の処理を待機させる。つまり、PE42は、共用データを用いた演算処理の実行を待機させる。   At t13, the PE 42 as the second PE has reached the synchronization point in the second task. At t13, the barrier synchronization is set to be valid, and the PE 42 is set to participate in the barrier synchronization. Therefore, the PE 42 executes the barrier synchronization and waits for the next process of the synchronization point. That is, the PE 42 waits for execution of the arithmetic processing using the shared data.

t14では、第1PEとしてのPE41は、第1タスクにおいて、処理が同期ポイントに到達している。t14では、バリア同期が有効に設定されており、PE41はバリア同期参加に設定されるため、PE41はバリア同期を実行して同期ポイントの次移行の処理を待機させる。t14では、制御部30は、バリア同期が有効に設定されており、且つ、全てのPE41、42が同期ポイントに到達しており、且つ、全てのPE41、42がバリア同期参加に設定されているので、バリア同期結果を「成立」に設定し、「成立」を表すバリア同期結果をRAM12に記憶させる。これに伴って、第1PEとしてのPE41、第2PEとしてのPE42は、同期ポイント以降の処理を再開する。つまり、第2PEとしてのPE42は、第2タスクにおいて、更新直後の共用データを参照して演算処理を実行することができる。   At t14, the PE 41 as the first PE has reached the synchronization point in the first task. At t14, the barrier synchronization is set to be valid, and the PE 41 is set to participate in the barrier synchronization. Therefore, the PE 41 executes the barrier synchronization and waits for the next process of the synchronization point. At t14, the controller 30 is set to enable barrier synchronization, all PEs 41 and 42 have reached the synchronization point, and all PEs 41 and 42 are set to participate in barrier synchronization. Therefore, the barrier synchronization result is set to “established”, and the barrier synchronization result representing “established” is stored in the RAM 12. Accordingly, the PE 41 as the first PE and the PE 42 as the second PE resume the processing after the synchronization point. That is, the PE 42 as the second PE can execute the arithmetic processing with reference to the shared data immediately after the update in the second task.

このようにして、マルチプロセッサ14では、バリア同期の有効及び無効を、経過時間の長さに基づいて切替えることで、換言すれば、車両制御システム1で許容される範囲内の有効期間T1に基づいて切替えることで、車両制御システム1を適切に作動させつつ、車両制御システム1の性能向上を図ることが可能となる。   In this way, the multiprocessor 14 switches the barrier synchronization between valid and invalid based on the length of the elapsed time, in other words, based on the valid period T1 within the range allowed by the vehicle control system 1. Thus, it is possible to improve the performance of the vehicle control system 1 while appropriately operating the vehicle control system 1.

[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 ECU 10 determines whether or not an elapsed time after the shared data is generated is equal to or greater than a time threshold value. In S40, the ECU 10 determines that the barrier synchronization is effective when it is determined that the elapsed time is equal to or greater than the time threshold. In S50, the ECU 10 determines that the barrier synchronization is invalid when it is determined that the elapsed time is less than the time threshold.

本実施形態では、例えば、判断結果に基づいて、バリア同期が有効のときには各プロセッサがバリア同期を実行し、無効のときにはバリア同期を実行しないようにすることができる。つまり、各プロセッサにおいてバリア同期が常に実行されるわけではないので、複数のプロセッサを備える電子制御装置において、複数のプロセッサそれぞれの稼働率の低下を抑制することができる。   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 vehicle control system 1 can be improved.

つまり、本実施形態では、バリア同期の「有効」及び「無効」を時間閾値に基づいて切替えることができるので、複数の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 PEs 41 and 42 and to improve the performance of the vehicle control system 1. Improvements can be made.

(1b)複数のPE41、42それぞれは、S3にて、バリア同期が有効であるか無効であるかを表す判断結果を取得する。複数のPE41、42それぞれは、S4にて、上記判断結果が、バリア同期が有効であることを表しているか否か、を判断する。複数のPE41、42それぞれは、S7にて、上記判断結果がバリア同期が有効であることを表す場
合に、バリア同期を実行する。
(1b) Each of the plurality of PEs 41 and 42 acquires a determination result indicating whether barrier synchronization is valid or invalid in S3. Each of the plurality of PEs 41 and 42 determines in S4 whether or not the determination result indicates that the barrier synchronization is valid. Each of the plurality of PEs 41 and 42 executes barrier synchronization when the determination result indicates that barrier synchronization is valid in S7.

これによれば、判断結果が有効のときにのみバリア同期が実行される。つまり、より経過時間の短い共用データが取得可能であるときのみバリア同期が実行されるので、複数の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 PEs 41 and 42. Moreover, the performance as the vehicle control system 1 can be improved by using shared data with a short elapsed time.

(1c)複数のPE41、42それぞれでは、上記判断結果がバリア同期が無効であることを表す場合に、バリア同期を実行しない。これによれば、バリア同期による待機時間が長くなる場合にはバリア同期が実行されないので、複数のPE41、42それぞれの稼働率の低下を抑制することができる。   (1c) In each of the plurality of PEs 41 and 42, when the determination result indicates that the barrier synchronization is invalid, the barrier synchronization is not executed. According to this, since the barrier synchronization is not executed when the standby time due to the barrier synchronization becomes long, it is possible to suppress a decrease in the operation rate of each of the plurality of PEs 41 and 42.

(1d)本実施形態では、第1PEとしてのPE41は、予め定められた周期で、共用データを生成するように構成されている。つまり、エントリ周期T2が予め定められた周期となっている。これによれば、エントリ周期T2に基づいて、車両制御システム1の性能を向上させることが可能な時間閾値を適切に設定することができる。   (1d) In the present embodiment, the PE 41 as the first PE is configured to generate shared data at a predetermined cycle. That is, the entry period T2 is a predetermined period. According to this, it is possible to appropriately set a time threshold that can improve the performance of the vehicle control system 1 based on the entry period T2.

[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 ROM 11 in advance. In addition, the entry period T2, that is, the period in which the first task is executed by the PE 41 as the first PE is a predetermined period. Specifically, the entry cycle T2 is a cycle in which shared data is generated, and corresponds to a cycle in which the shared data is written to a memory such as the RAM 12. On the other hand, the second embodiment is different in that the entry cycle T2 varies due to execution of interrupt processing or the like in the PE 41 as the first PE.

これに伴って、第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 control unit 30 of the first embodiment shown in FIG. Is different from the first embodiment in that S is added as S125.

[2−2.処理]
次に、第2実施形態の制御部30が、図8に示す同期管理処理のS125にて実行する時間閾値処理について、図9のフローチャートを用いて説明する。
[2-2. processing]
Next, the time threshold process executed by the control unit 30 of the second embodiment in S125 of the synchronization management process shown in FIG. 8 will be described with reference to the flowchart of FIG.

制御部30は、S310では、エントリ周期T2を取得する。エントリ周期T2は、S120にてRAM12に記憶されている。
制御部30は、S320では、過去のエントリ周期Tpを取得する。過去のエントリ周期Tpとは、エントリ周期T2よりも過去に検出されたエントリ周期を表す。ここでいう過去とは、直近の過去のことを表す。つまり、ここでいう過去のエントリ周期Tpは、エントリ周期T2よりも1サイクル前のエントリ周期に相当する。ここでいうサイクルとは、共用データが生成されてから次に新たな共用データが生成されるまでをいう。
In S310, the control unit 30 acquires the entry cycle T2. The entry period T2 is stored in the RAM 12 in S120.
In S320, the control unit 30 acquires a past entry cycle Tp. The past entry period Tp represents an entry period detected before the entry period T2. The past here means the latest past. That is, the past entry period Tp here corresponds to the entry period one cycle before the entry period T2. The cycle here refers to a period from when shared data is generated until new shared data is generated next.

制御部30は、S330では、S310で取得された現在のエントリ周期T2が、過去のエントリ周期Tp以上であるか否かを判断する。制御部30は、エントリ周期T2が過
去のエントリ周期Tp以上である場合に処理をS350へ移行させ、エントリ周期T2が過去のエントリ周期Tp未満である場合に処理をS340へ移行させる。
In S330, the control unit 30 determines whether or not the current entry cycle T2 acquired in S310 is equal to or greater than the past entry cycle Tp. The control unit 30 shifts the process to S350 when the entry period T2 is equal to or greater than the past entry period Tp, and shifts the process to S340 when the entry period T2 is less than the past entry period Tp.

制御部30は、S340では、制御部30は、時間閾値を、該時間閾値よりも小さい値に設定し直し、処理をS360へ移行させる。例えば、制御部30は、エントリ周期T2と過去のエントリ周期Tpとの差分を1/2とした値を時間閾値から減算した値を、新たな時間閾値として設定し直すように構成され得る。   In S340, the control unit 30 resets the time threshold to a value smaller than the time threshold, and shifts the processing to S360. For example, the control unit 30 may be configured to reset a value obtained by subtracting a value obtained by subtracting a difference between the entry period T2 and the past entry period Tp from the time threshold value as a new time threshold value.

制御部30は、S350では、制御部30は、時間閾値を、該時間閾値よりも大きい値に設定し直し、処理をS360へ移行させる。例えば、制御部30は、過去のエントリ周期Tpとエントリ周期T2との差分を1/2とした値を時間閾値に加算した値を、新たな時間閾値として設定し直すように構成され得る。   In S350, the control unit 30 resets the time threshold to a value larger than the time threshold, and causes the process to proceed to S360. For example, the control unit 30 may be configured to reset a value obtained by adding a value obtained by halving the difference between the past entry cycle Tp and the entry cycle T2 to the time threshold as a new time threshold.

制御部30は、S360では、エントリ周期T2を新たな過去のエントリ周期TpとしてRAM12に記憶し直す。制御部30は、以上で時間閾値処理を終了する。
[2−3.作動]
このように構成されたECU10による作動の例を図10に基づいて説明する。
In S360, the control unit 30 stores the entry period T2 in the RAM 12 as a new past entry period Tp. The control unit 30 ends the time threshold process.
[2-3. Operation]
An example of the operation by the ECU 10 configured as described above will be described with reference to FIG.

t21では、第1PEとしてのPE41が同期ポイントに到達する。つまり、共用データが生成される。
t22では、連動タイマ値すなわち上記経過時間が時間閾値となる。有効設定情報は、t22以前では無効に設定され、t22より後では有効に設定される。
At t21, the PE 41 as the first PE reaches the synchronization point. That is, shared data is generated.
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 PE 41 as the first PE reaches the synchronization point again, and shared data is generated. That is, new shared data for the next cycle is generated. At t23, the period from t21 to t23 is detected as the entry period T2. Then, the time threshold value is set by the time threshold value setting process, and the entry period T2 is stored in the RAM 12 as the past entry period Tp.

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 PE 41 as the first PE reaches the synchronization point again, and shared data is generated. That is, new shared data for the next cycle is generated. At t25, the period from t23 to t25 is detected as the entry period T2. Also, t21 to t23 are acquired as the past entry period Tp. Then, the time threshold value is set by the time threshold value setting process. Here, as shown in FIG. 10, when T2 ≧ Tp, the time threshold value is reset to a value larger than the time threshold value set at t23.

なお、図示していないが、仮に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 ECU 10 detects the entry period T2 every time shared data is generated, and stores the entry period T2 in the RAM 12. In S330, the ECU 10 acquires the entry cycle T2 and the past entry cycle Tp, and determines whether or not the entry cycle T2 is equal to or greater than the past entry cycle Tp. In S350, when the entry cycle T2 is equal to or greater than the past entry cycle Tp, the ECU 10 resets the time threshold to a value larger than the time threshold. In S30, the ECU 10 makes a determination based on the time threshold value reset in S350.

これによれば、現サイクルにおけるエントリ周期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 ECU 10 resets the time threshold to a value smaller than the time threshold. In S30, the ECU 10 makes a determination based on the time threshold value reset in S340.

これによれば、現サイクルにおけるエントリ周期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 PE 42 as the second PE can perform arithmetic processing based on the shared data having a shorter elapsed time, thereby improving the performance as the vehicle control system 1. Can be made.

なお、上記実施形態における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 ECU 10 corresponds to an electronic control device, the plurality of PEs 41 and 42 correspond to a plurality of execution processors, the PE 41 corresponds to a first processor, and the PE 42 corresponds to a second processor. The RAM 12 corresponds to a storage unit. The control unit 30 corresponds to a progress determination unit, a synchronization determination unit, a time interval unit, an interval determination unit, an increase resetting unit, and a decrease resetting unit. S30 corresponds to processing by the progress determination unit, and S40 and S50 correspond to processing by the synchronization determination unit. S130 corresponds to processing by the time interval unit, S330 corresponds to processing by the interval determination unit, S350 corresponds to processing by the increase resetting unit, and S340 corresponds to processing by the decrease resetting unit. Further, S3 corresponds to processing by the determination acquisition unit, S4 corresponds to processing by the validity determination unit, and S6 corresponds to processing by the effective execution unit. Barrier synchronization corresponds to a plurality of synchronizations, and a synchronization point corresponds to a synchronization point. The entry period T2 corresponds to the current time interval, and the past entry period Tp corresponds to the past time interval.

[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 multiprocessor 14 includes two processors such as PEs 41 and 42. However, the number of processors included in the multiprocessor 14 may be three or more. That is, the second PE can be plural.

(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 ECU 10 has been described. However, the present invention is not limited to this. The present invention is not limited to an in-vehicle device, and may be applied to an electronic control device mounted on an information home appliance.

(3c)上記実施形態では、制御部30は、生成した有効設定情報をRAM12に書き込むように構成されていたが、これに限定されるものではない。制御部30は、生成した有効設定情報を、複数のPE41、42それぞれに送信するように構成されてもよい。   (3c) Although the control unit 30 is configured to write the generated valid setting information in the RAM 12 in the above embodiment, the present invention is not limited to this. The control unit 30 may be configured to transmit the generated valid setting information to each of the plurality of PEs 41 and 42.

(3d)上記実施形態では、同期管理部35が連動タイマの開始及び停止を管理する機能を有し、同期制御部36がタイムアウトタイマの開始及び停止を管理する機能を有していたが、これに限定されるものではない。連動タイマの開始及び停止を管理する機能、及びタイムアウトタイマの開始及び停止を管理する機能は、制御部30における任意の構成によって実現され得る。   (3d) In the above embodiment, the synchronization management unit 35 has a function of managing the start and stop of the interlocking timer, and the synchronization control unit 36 has a function of managing the start and stop of the timeout timer. It is not limited to. The function of managing the start and stop of the interlocking timer and the function of managing the start and stop of the timeout timer can be realized by any configuration in the control unit 30.

(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 control unit 30, PE41, PE42, multiprocessor 14, and ECU 10, the system including the ECU 10 as a constituent element, a program for causing the control unit 30, PE41, PE42, multiprocessor 14, and ECU 10 to function, The present disclosure can also be realized in various forms such as a non-transitional actual recording medium such as a semiconductor memory in which the program is recorded, and a barrier synchronization method.

10 ECU、12 RAM、30 制御部、41 PE、42 PE。   10 ECU, 12 RAM, 30 control unit, 41 PE, 42 PE.

Claims (6)

複数の実行プロセッサ(41、42)を備える電子制御装置(10)であって、
前記複数の実行プロセッサは、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:
請求項1に記載の電子制御装置であって、
前記複数の実行プロセッサそれぞれは、
前記同期判断部による判断結果を取得する判断取得部(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:
請求項2に記載の電子制御装置であって、
前記複数の実行プロセッサそれぞれでは、
前記有効実行部は、前記判断結果が前記複数同期が無効であることを表す場合に、前記複数同期を実行しない
電子制御装置。
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から請求項3のいずれか一項に記載の電子制御装置であって、
前記第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から請求項3のいずれか一項に記載の電子制御装置であって、
前記第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.
請求項5に記載の電子制御装置であって、
前記現時間間隔が前記過去の時間間隔未満である場合に、前記時間閾値を前記時間閾値よりも小さい値に設定し直す減少再設定部(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.
JP2017147825A 2017-07-31 2017-07-31 Electronic control device Pending JP2019028748A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021086277A (en) * 2019-11-26 2021-06-03 株式会社デンソー Electronic control device

Cited By (2)

* Cited by examiner, † Cited by third party
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