JP7596951B2 - Electronic Control Unit - Google Patents
Electronic Control Unit Download PDFInfo
- Publication number
- JP7596951B2 JP7596951B2 JP2021112209A JP2021112209A JP7596951B2 JP 7596951 B2 JP7596951 B2 JP 7596951B2 JP 2021112209 A JP2021112209 A JP 2021112209A JP 2021112209 A JP2021112209 A JP 2021112209A JP 7596951 B2 JP7596951 B2 JP 7596951B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- control function
- parallel
- graph
- request
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
Description
本発明は、電子制御装置に関する。 The present invention relates to an electronic control device.
近年、例えば自動車の電子制御装置では、制御の複雑化によりマイクロコンピュータの処理能力の向上が図られている。その一例として、複数のコアと並列演算処理器とを備えたマイクロコンピュータを搭載し、コアから並列演算処理器に演算命令の集合体である演算命令群を処理要求し、並列演算処理器により演算命令を並列処理することで演算処理の高速化を図るようにしている。 In recent years, for example in electronic control devices for automobiles, efforts are being made to improve the processing power of microcomputers due to the increasing complexity of control. One example is a microcomputer equipped with multiple cores and a parallel processor, where the core requests the parallel processor to process a set of arithmetic instructions, which is a collection of arithmetic instructions, and the parallel processor processes the arithmetic instructions in parallel, thereby speeding up arithmetic processing.
並列演算処理器は、コアから要求された演算命令群から演算命令を抽出し、ハードウェアの機能により複数の演算器に対して最適なリソース配分を自動的に行うことで高速な並列演算を可能としている。 The parallel arithmetic processor extracts arithmetic instructions from a set of arithmetic instructions requested by the core, and uses the hardware functions to automatically allocate optimal resources to multiple arithmetic units, enabling high-speed parallel calculations.
ところで、並列演算処理器は、コアから処理要求された演算命令群を受け付け、受け付けた演算命令群を順に処理するように構成されている。
しかしながら、並列演算処理器として、処理中の演算命令群と異なる演算命令群の処理要求は受け付けるものの、同一の演算命令群の処理要求は受け付けない構成が考えられている。このような構成では、複数のコアが同一の演算命令群を重複して処理要求した場合は並列演算処理器で処理できないという問題がある。
Incidentally, the parallel processor is configured to receive a group of operation instructions requested for processing from a core, and to process the received group of operation instructions in order.
However, a parallel processor may be configured to accept requests for processing a set of operation instructions different from the set of operation instructions currently being processed, but not for the same set of operation instructions. In such a configuration, there is a problem that the parallel processor cannot process the same set of operation instructions when multiple cores make duplicate requests to process the same set of operation instructions.
本発明は上記事情に鑑みてなされたもので、その目的は、同一の演算命令群が重複して処理要求された場合であっても並列演算処理器で処理可能となる電子制御装置を提供することにある。 The present invention was made in consideration of the above circumstances, and its purpose is to provide an electronic control device that can process the same set of calculation instructions using a parallel calculation processor even when processing is requested in duplicate.
請求項1の発明によれば、制御機能部(X)の制御機能(A~C)は、演算命令群を処理要求する。保持部(Y1)は、制御機能部の制御機能から処理要求された場合は当該処理要求を待機状態とする。管理機能部(Y2)は、保持部による処理要求の待機状態及び並列演算処理器(13)による演算命令群の処理状態を管理することで、制御機能部の制御機能が同一の演算命令群を重複して処理要求した場合は並列演算処理器での当該演算命令群の処理が完了するまで制御機能部の制御機能からの処理要求を保持部で待機させ、並列演算処理器での当該演算命令群の処理が完了し次第、保持部で待機している処理要求を取得し並列演算処理器が実行可能となるように調停する。これにより、並列演算処理器への同一の演算命令群の処理要求を回避することができ、並列演算処理器において処理中の演算命令群と同一の演算命令群が処理要求された場合であっても受け付けられるようになる。
According to the invention of
また、管理機能部は、制御機能部の制御機能が処理要求してから並列演算処理器が処理結果を返すまでのプロセスに関連する制御機能と演算命令群及び当該処理の実行・完了を紐づけて管理する。これにより、並列演算処理器による処理結果を処理要求元の制御機能部の制御機能に渡すことができる。制御機能部の制御機能は、処理要求する場合は当該処理要求に対応する演算命令群の要求情報を保持部に与える。保持部は、制御機能部の制御機能から処理要求された場合は与えられた演算命令群の要求情報をキューイング機構(Y1)にエンキューする。管理機能部は、並列演算処理器が処理する各演算命令群に対応した管理機能を備え、並列演算処理器が受け付け可能な演算命令群に対応した要求情報をキューイング機構から取得して並列演算処理器に与える。並列演算処理器は、管理機能部から与えられた要求情報に基づいて演算命令群を処理する。キューイング機構は、並列演算処理器が処理する各演算命令群に対応したキューを備え、制御機能部の制御機能から演算命令群の要求情報が与えられた場合は当該要求情報を対応する演算命令群のキューにエンキューする。管理機能は、並列演算処理器が受け付け可能な演算命令群に対応した要求情報を対応する演算命令群のキューから取得して並列演算処理器に与える。 The management function unit manages the control functions related to the process from when the control function of the control function unit makes a processing request to when the parallel arithmetic processor returns the processing result, in association with the operation instruction group and the execution/completion of the processing. This allows the processing result by the parallel arithmetic processor to be passed to the control function of the control function unit that is the processing request source. When making a processing request, the control function of the control function unit provides request information for the operation instruction group corresponding to the processing request to the holding unit. When a processing request is received from the control function of the control function unit, the holding unit enqueues the request information for the given operation instruction group in a queuing mechanism (Y1). The management function unit has a management function corresponding to each operation instruction group processed by the parallel arithmetic processor, and obtains request information corresponding to the operation instruction group that the parallel arithmetic processor can accept from the queuing mechanism and provides it to the parallel arithmetic processor. The parallel arithmetic processor processes the operation instruction group based on the request information provided from the management function unit. The queuing mechanism has a queue corresponding to each operation instruction group processed by the parallel arithmetic processor, and when request information for the operation instruction group is provided from the control function of the control function unit, the queuing mechanism enqueues the request information in the queue for the corresponding operation instruction group. The management function acquires request information corresponding to an operation instruction group that the parallel processor can accept from the queue of the corresponding operation instruction group, and provides the request information to the parallel processor.
以下、一実施形態について図面を参照して説明する。
図2に示すように、車両にはエンジンECU(Electronic Control Unit)1が搭載されている。エンジンECU1は電子制御装置に相当する。このエンジンECU1は、車載LAN2を介して自動変速ECU3、メータECU4、空調ECU5などの他のECUに通信可能に接続されている。車載LAN2のプロトコルは、例えばCAN(Controller Area Network)である。CANは登録商標である。
Hereinafter, an embodiment will be described with reference to the drawings.
As shown in Fig. 2, the vehicle is equipped with an engine ECU (Electronic Control Unit) 1. The
エンジンECU1は、マイクロコンピュータ11を主体として構成されている。図1に示すようにマイクロコンピュータ11は、複数のコア12a~12cからなるコア群12や並列演算処理器13を備えて構成されており、それらのコア12a~12cや並列演算処理器13が複数の演算処理を並列処理することで高速処理を実現している。
The engine ECU 1 is mainly composed of a
コア12a~12c及び並列演算処理器13は内部バス14を介して互いに接続されていると共に、ROM15、RAM16などのメモリやCANインターフェースなどのI/O17とも接続されている。マイクロコンピュータ11は他のマイクロコンピュータ18やAD変換器などの周辺回路19とも接続されている。
The
コア12a~12cは、入力回路20を介してエンジンの運転状態を検出するための各種センサからの検出信号を入力し、その検出信号が示す検出値を処理することで出力回路21を介してエンジンを制御するためのアクチュエータを制御したり、通信回路22を介して他のECUと通信信号を送受信したりする。コア12a~12cは、エンジンを制御する上で所定の演算処理が必要となった場合は並列演算処理器13に処理要求する。
The
図3に示すように並列演算処理器13は、メモリ23、制御回路24、複数の演算器25から構成されている。メモリ23には複数のコア12a~12cから与えられた演算命令群を処理するための情報が順に記憶される。
As shown in FIG. 3, the parallel
制御回路24は、メモリ23に記憶された演算命令群を演算器25と連携して演算処理する。つまり、制御回路24はスケジューラ機能を有しており、メモリ23に記憶された演算命令群を構成する演算命令を対応する演算器25に自動的に割り振る。
The
演算器25は、制御回路24により割り振られた演算命令を順に演算処理する。複数の演算器25は同一種類や異なる種類であり、同一種類や異なる種類の演算命令を演算器25に割り振ることで並列処理可能である。演算器25は、演算処理結果をメモリ23に記憶する。
The
複数のコア12a~12cは、演算命令群を処理することを並列演算処理器13に要求した場合はメモリ23を介して演算結果を取得し、その演算結果に基づいて以後の処理を実行する。
When
コア12a~12cが処理要求する演算命令群は、演算命令の処理順序が規定されている。例えば図4に示す演算命令群では、演算命令Aの演算処理が完了してから次の演算命令B~Dをそれぞれ演算処理し、演算命令B~Dの全ての演算処理が完了してから次の演算命令Eを演算処理することを規定している。以下、演算命令群をグラフと称する。
The processing order of the calculation instructions requested by the
ところで、本実施形態の並列演算処理器13は、処理中のグラフと異なるグラフの処理要求は受け付けるものの、同一のグラフの処理要求は受け付けないように構成されている。このため、コア12a~12cが同一のグラフを重複して処理要求した場合は並列演算処理器13が処理できないという問題がある。
In this embodiment, the
このような事情から、本実施形態では、コア12a~12cと並列演算処理器13との間に調停機能を設けるようにした。この調停機能は、コア12a~12cからのグラフの処理要求を待機状態とし、当該待機状態及び並列演算処理器13の処理状態を監視し、並列演算処理器13が受け付け可能なグラフの処理要求を並列演算処理器13に与えるものである。
For these reasons, in this embodiment, an arbitration function is provided between the
調停機能について説明する。図5に示すように電子制御装置1は、並列演算処理器13に加えて、制御機能部Xとグラフ管理部Yを備えて構成されている。制御機能部Xは、複数の制御機能を有して構成されている。グラフ管理部Yは、キューイング機構Y1とグラフ管理機能Y2を有して構成されている。キューイング機構Y1が保持部に相当し、グラフ管理機能Y2が管理機能部に相当する。
The arbitration function will now be described. As shown in FIG. 5, the
キューイング機構Y1は、グラフに対応した複数のグラフ要求キューを有しており、制御機能部Xの各制御機能からのグラフの処理要求に応じてグラフの要求情報を対応するグラフ要求キューにエンキューする。 The queuing mechanism Y1 has multiple graph request queues corresponding to the graphs, and enqueues the graph request information in the corresponding graph request queue in response to a graph processing request from each control function of the control function unit X.
グラフ管理機能Y2は、グラフに対応した複数のグラフ要求情報管理機能とグラフ状態管理機能とを有している。グラフ要求情報管理機能は、制御機能部Xの各制御機能が処理要求してから並列演算処理器13が処理結果を返すまでのプロセスに関連する制御機能とグラフ、及び当該処理の実行・完了を識別する識別情報を紐づけて管理する。グラフ状態管理機能は、並列演算処理器13のグラフの処理状態を監視し、並列演算処理器13がグラフの処理を受け付け可能な場合は、グラフ要求キューにエンキューされているグラフ要求情報をデキューして取得し並列演算処理器13に送信する。
Graph management function Y2 has multiple graph request information management functions corresponding to the graphs and a graph state management function. The graph request information management function manages the control functions and graphs related to the process from when each control function of control function unit X requests processing to when
本実施形態では、コア12a~12cは、単一もしくは複数の制御機能部Xの各制御機能を有している。また、コア12cは、制御機能部Xの各制御機能に加えてグラフ管理部Yの機能を有している。
In this embodiment,
コア12a~12cが有する制御機能部Xの各制御機能、コア12cが有するグラフ管理部Yの機能を用いて、制御機能部Xの各制御機能が処理要求したグラフを並列演算処理器13で処理する一例について図6を参照して説明する。
An example of processing a graph requested by each control function of control function unit X using each control function of control function unit X possessed by
図6に示す例では、制御機能部Xとして制御機能A~Cを有し、キューイング機構Y1としてグラフ0要求キュー及びグラフ1要求キューを有し、グラフ管理機能Y2としてグラフ0管理機能及びグラフ1管理機能を有している。
In the example shown in FIG. 6, the control function unit X has control functions A to C, the queuing mechanism Y1 has a graph 0 request queue and a
並列演算処理器13は、グラフ0及びグラフ1を受け付け可能であるが、処理中のグラフと同一のグラフの処理要求は受け付けないように構成されている。グラフ0とグラフ1のいずれも処理していない状態ではグラフ0とグラフ1とを受け付け可能であり、例えば先に受け付けたグラフ0を処理してから次に受け付けたグラフ1を処理するようになっている。
The
図6では、制御機能Aがグラフ0を処理要求し、続けて制御機能Bがグラフ1を処理要求し、さらに続けて制御機能Cがグラフ0を処理要求した場合を示している。この場合、制御機能Aと制御機能Cとがグラフ0を重複して処理要求している。
まず、制御機能Aがグラフ0をグラフ管理部Yに処理要求する。このグラフ0の処理要求は、制御機能Aの要求情報をグラフ管理部Yに同時に送信することで行われる。要求情報は、要求元の制御機能情報、グラフの処理に必要な制御情報、結果格納アドレス情報などである。
6 shows a case where control function A requests the processing of graph 0, then control function B requests the processing of
First, control function A requests graph 0 to graph management unit Y for processing. This request to process graph 0 is made by simultaneously transmitting request information of control function A to graph management unit Y. The request information includes information on the control function that originated the request, control information required for processing the graph, and result storage address information.
キューイング機構Y1は、グラフ0の処理要求があった場合は該当するグラフ0要求キューに制御機能Aの要求情報をエンキューする。つまり、グラフ0の処理要求を待機状態とする。
グラフ管理機能Y2は、並列演算処理器13が処理するグラフ0及びグラフ1の状態を管理している。つまり、並列演算処理器13にグラフ処理トリガを送信した場合は対応するグラフはBUSY状態と判定し、並列演算処理器13からグラフ完了トリガを受信した場合は対応するグラフはIDLE状態と判定する。但し、初期状態ではグラフ0及びグラフ1はIDLE状態と判定する。
When there is a processing request for graph 0, the queuing mechanism Y1 enqueues the request information of the control function A in the corresponding request queue for graph 0. In other words, the processing request for graph 0 is put into a waiting state.
The graph management function Y2 manages the states of graph 0 and
グラフ管理機能Y2は、並列演算処理器13がグラフを処理するのに必要となる要求情報を決定し、当該要求情報を該当するグラフ要求キューからデキューして取得する。つまり、並列演算処理器13においてIDLE状態のグラフを判定し、IDLE状態のグラフ要求キューから所定のルール、例えばFIFO(First In First Out)に従い、制御機能をデキューすることで要求情報を取得する。
The graph management function Y2 determines the request information required for the
図6に示す例では、グラフ管理機能Y2のグラフ0管理機能は、並列演算処理器13のグラフ0はIDLE状態と判定する。この場合、キューイング機構Y1のグラフ0要求キューに制御機能Aの要求情報がエンキューされていることから、制御機能Aの要求情報をデキューして取得し、並列演算処理器13に制御機能Aの要求情報とグラフ0処理トリガを送信する。
In the example shown in FIG. 6, the graph 0 management function of the graph management function Y2 determines that the graph 0 of the
並列演算処理器13は、グラフ0処理トリガを受信した場合にグラフ0を処理していないことから、グラフ0処理トリガを受け付け、要求情報に基づいてグラフ0の処理を開始する。
When the
次に制御機能Bが並列演算処理器13による制御機能Aのグラフ0の処理中にグラフ1を処理要求した場合は、キューイング機構Y1は、グラフ1要求キューに制御機能Bの要求情報をエンキューする。この場合、並列演算処理器13のグラフ1はIDLE状態と判定することから、グラフ1要求キューから制御機能Bの要求情報をデキューして取得し、並列演算処理器13に制御機能Bの要求情報とグラフ1処理トリガを送信する。このとき、並列演算処理器13は、グラフ0を処理しているもののグラフ1を処理していないことから、グラフ1処理トリガの受信に応じて制御機能Bの要求情報を受け付ける。
Next, if control function B requests the processing of
次に制御機能Cが並列演算処理器13によるグラフ0の処理中にグラフ0を処理要求した場合は、制御機能Cの要求情報がグラフ0要求キューにエンキューされる。つまり、制御機能Cの処理要求が待機状態となる。このとき、グラフ管理機能Y2のグラフ0管理機能は、並列演算処理器13のグラフ0がBUSY状態と判定することから、制御機能Cの要求情報のエンキュー状態を維持する。つまり、制御機能Cのグラフ0の処理要求の待機状態を継続する。
並列演算処理器13は、グラフ0の処理を終了するとグラフ0完了トリガを送信してから待機状態のグラフ1の要求情報を処理するようになる。
Next, if control function C requests the processing of graph 0 while the
When the
グラフ管理機能Y2のグラフ0管理機能は、並列演算処理器13からグラフ0完了トリガを受信した場合は、制御機能Aに対してグラフ0処理完了通知を送信する。これにより、制御機能Aは、並列演算処理器13によるグラフ0の処理が終了したことを認識し、グラフ0の処理結果に基づいて以後の処理を実行するようになる。この場合、グラフ管理機能Y2は、制御機能Aからのグラフ0の処理要求を管理対象から除外することになる。
When the graph 0 management function of graph management function Y2 receives a graph 0 completion trigger from the
一方、グラフ管理機能Y2のグラフ0管理機能は、並列演算処理器13からグラフ0完了トリガを受信した場合は、グラフ0はIDLE状態と判定し、グラフ0要求キューにエンキューされている制御機能Cの要求情報をデキューして取得し、制御機能Cの要求情報とグラフ0処理トリガを並列演算処理器13に送信する。これにより、並列演算処理器13は、要求情報を受け付け、グラフ1の処理が終了したところでグラフ0の処理を開始する。
以上のようにして、グラフ管理機能Y2の調停機能により、並列演算処理器13がグラフ0またはグラフ1を処理中であっても制御機能A~Cからの同一のグラフの処理要求を受け付けられるようになる。
On the other hand, when the graph 0 management function of the graph management function Y2 receives a graph 0 completion trigger from the
In this manner, the arbitration function of the graph management function Y2 makes it possible for the
ここで、グラフ管理機能Y2は、上述した制御機能、グラフ、グラフ処理及びグラフ完了トリガをIDにてそれぞれ管理している。つまり、制御機能部Xの制御機能A~Cを識別するID、グラフを識別するグラフID、グラフ処理トリガ及びグラフ完了トリガを識別するIDを付与し、制御機能部Xの制御機能A~Cが処理要求してから並列演算処理器13が処理結果を返すまでのプロセスに関連するIDを紐づけて管理する。これにより、並列演算処理器13による処理結果を処理要求元のコア12a~12cへ渡すことができる。IDが識別情報に相当する。この場合、グラフ管理機能Y2は、制御機能Cからのグラフ1の処理要求を管理対象から除外することになる。
Here, the graph management function Y2 manages the above-mentioned control functions, graphs, graph processing, and graph completion triggers by IDs. In other words, it assigns an ID that identifies control functions A to C of the control function unit X, a graph ID that identifies the graph, and an ID that identifies the graph processing trigger and graph completion trigger, and manages them by linking them with IDs related to the process from when control functions A to C of the control function unit X make a processing request to when the
このような実施形態によれば、次のような効果を奏することができる。
グラフ管理部Yは、制御機能部Xの制御機能A~Cからグラフの要求情報が送信された場合は当該要求情報をキューイング機構Y1にエンキューし、並列演算処理器13が当該グラフの処理を受け付け可能な場合に当該グラフと同一のグラフの要求情報がエンキューされていたときは当該処理要求を並列演算処理器13に送信する。これにより、キューイング機構Y1を用いることで、並列演算処理器13にて処理中のグラフと同一のグラフの処理要求が受け付けられて処理することができる。
According to this embodiment, the following effects can be obtained.
When graph request information is transmitted from the control functions A to C of the control function unit X, the graph management unit Y enqueues the request information in the queuing mechanism Y1, and when the
また、処理要求元の制御機能部Xの制御機能A~Cが処理要求してから並列演算処理器13が処理結果を返すまでのプロセスに関連する制御機能とグラフ、及び当該処理の実行・完了を識別する識別情報を紐づけて管理する。これにより、並列演算処理器13による処理結果を処理要求元の制御機能部Xの制御機能A~Cに渡すことができる。
In addition, the control functions and graphs related to the process from when the control functions A to C of the control function unit X that originated the processing request make a processing request until the parallel
制御機能部Xの制御機能A~Cは、処理要求する場合は当該処理要求に対応するグラフの要求情報をキューイング機構Y1に与え、キューイング機構Y1は、制御機能部Xの制御機能A~Cからグラフの要求情報が与えられた場合は当該要求情報を対応するグラフ要求キューにエンキューし、グラフ管理機能Y2は、並列演算処理器13が受け付け可能なグラフに対応した要求情報をキューイング機構Y1の対応するグラフ要求キューから取得して並列演算処理器13に与え、並列演算処理器13は、グラフ管理機能Y2から与えられた要求情報に基づいてグラフを処理する。これにより、キューイング機構Y1としてグラフ要求キューを設けることで、グラフ要求キューを介して処理要求を処理することができる。
When control functions A to C of control function unit X make a processing request, they provide graph request information corresponding to the processing request to the queuing mechanism Y1, and when graph request information is provided from control functions A to C of control function unit X, the queuing mechanism Y1 enqueues the request information in the corresponding graph request queue, and the graph management function Y2 obtains request information corresponding to a graph that the
グラフ管理部Yは、並列演算処理器13にグラフを処理要求する場合は当該グラフに対応した処理トリガを並列演算処理器13に送信し、並列演算処理器13は、受信した処理トリガに応じて要求情報に基づいてグラフを処理する。これにより、グラフ処理トリガに同期してグラフ管理部Yからの要求情報に基づいて並列演算処理器13にてグラフを処理することができる。
When the graph management unit Y requests the
並列演算処理器13は、グラフの処理が完了した場合は当該グラフに対応する完了トリガを送信し、グラフ管理部Yは、並列演算処理器13から完了トリガを受信した場合は処理完了を送信元の制御機能部Xの制御機能A~Cに通知し、制御機能部Xの制御機能A~Cは、受信した処理完了通知に応じて処理結果を取得し、当該処理結果に基づいて以後の処理を実行する。これにより、完了トリガに同期して並列演算処理器13による処理が完了したことを制御機能部Xの制御機能A~Cに通知することができる。
When the parallel
グラフ管理部Yは、処理トリガを送信した場合は当該処理トリガに対応するグラフはBUSY状態と判定し、グラフ完了トリガを受信した場合は当該グラフ処理トリガに対応するグラフはIDLE状態と判定することで並列演算処理器13の処理状態を管理し、IDLE状態と判定したグラフに対応するグラフ要求キューから要求情報をデキューして取得する。これにより、グラフ処理トリガとグラフ完了トリガに同期して並列演算処理器13の処理状態を管理することができる。
When a processing trigger is sent, the graph management unit Y determines that the graph corresponding to the processing trigger is in a BUSY state, and when a graph completion trigger is received, the graph corresponding to the graph processing trigger is in an IDLE state, thereby managing the processing state of the
グラフ管理部Yは、制御機能部Xの制御機能A~C、グラフ、処理トリガ及び完了トリガにIDを付加することで、処理要求元の制御機能部Xの制御機能A~Cが処理要求してから並列演算処理器13が処理結果を返すまでのプロセスに関連するIDを紐づけて管理する。これにより、制御機能部Xの制御機能A~Cからの要求情報に基づき並列演算処理器13に処理要求するグラフと処理要求元の制御機能部Xの制御機能A~Cとを管理し、グラフ処理完了時に送信される完了トリガに基づき処理要求元の制御機能部Xの制御機能A~Cに処理完了を通知することができる。
The graph management unit Y links and manages IDs related to the process from when the control functions A to C of the control function unit X that originated the processing request make a processing request until the
(その他の実施形態)
グラフ管理部Yは、IDLE状態と判定したグラフに対応するグラフ要求キューに要求情報がエンキューされていない場合は、制御機能部Xの制御機能A~Cから受信した処理要求に応じて要求情報を決定し、当該要求情報とグラフ処理トリガを並列演算処理器13に送信し、並列演算処理器13は、グラフ処理トリガの受信に応じて要求情報に基づいてグラフを処理するようにしてもよい。この場合、並列演算処理器13はグラフ要求キューに要求情報がエンキューされていない場合であっても要求情報を取得することができる。
電子制御装置としては、エンジンECUに限定されることなく、制御対象を制御する装置であれば適用可能である。
Other Embodiments
When request information is not enqueued in the graph request queue corresponding to the graph determined to be in the IDLE state, the graph management unit Y may determine request information in response to a processing request received from the control functions A to C of the control function unit X, and transmit the request information and a graph processing trigger to the
The electronic control device is not limited to the engine ECU, and may be any device that controls a controlled object.
本開示は、実施形態に準拠して記述されたが、本開示は当該実施形態や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。 Although the present disclosure has been described with reference to an embodiment, it is understood that the present disclosure is not limited to the embodiment or structure. The present disclosure also encompasses various modifications and modifications within the scope of equivalents. In addition, various combinations and forms, as well as other combinations and forms including only one element, more than one element, or less than one element, are also within the scope and spirit of the present disclosure.
図面中、1はエンジンECU(電子制御装置)、11はマイクロコンピュータ、12a~12cはコア、13は並列演算処理器、25は演算器、Xは制御機能部、A~Cは制御機能、Yは管理部、Y1はキューイング機構(保持部)、Y2はグラフ管理機能である。
In the drawing, 1 is an engine ECU (electronic control unit), 11 is a microcomputer, 12a to 12c are cores, 13 is a parallel processing unit, 25 is a calculator, X is a control function unit, A to C are control functions, Y is a management unit, Y1 is a queuing mechanism (holding unit), and Y2 is a graph management function.
Claims (7)
演算命令群を処理要求する制御機能部(X)の制御機能(A~C)と、
前記制御機能部の制御機能から処理要求された場合は当該処理要求を待機状態とする保持部(Y1)と、
前記保持部による処理要求の待機状態及び前記並列演算処理器による演算命令群の処理状態を管理することで、各演算命令群の前記並列演算処理器への処理要求を調停すると共に、前記制御機能部の制御機能が処理要求してから前記並列演算処理器が処理結果を返すまでのプロセスに関連する制御機能と演算命令群及び当該処理の実行・完了を紐づけて管理する管理機能部(Y2)と、
を備え、
前記制御機能部の制御機能は、処理要求する場合は当該処理要求に対応する演算命令群の要求情報を前記保持部に与え、
前記保持部は、前記制御機能部の制御機能から処理要求された場合は与えられた演算命令群の要求情報をキューイング機構(Y1)にエンキューし、
前記管理機能部は、前記並列演算処理器が処理する各演算命令群に対応した管理機能を備え、前記並列演算処理器が受け付け可能な演算命令群に対応した要求情報を前記キューイング機構から取得して前記並列演算処理器に与え、
前記並列演算処理器は、前記管理機能部から与えられた要求情報に基づいて演算命令群を処理し、
前記キューイング機構は、前記並列演算処理器が処理する各演算命令群に対応したキューを備え、前記制御機能部の制御機能から演算命令群の要求情報が与えられた場合は当該要求情報を対応する演算命令群のキューにエンキューし、
前記管理機能は、前記並列演算処理器が受け付け可能な演算命令群に対応した要求情報を対応する演算命令群のキューから取得して前記並列演算処理器に与える電子制御装置。 An electronic control device including a microcomputer (11) equipped with a parallel arithmetic processor (13) capable of parallel processing a plurality of arithmetic instructions constituting an arithmetic instruction group by a plurality of arithmetic units (25),
control functions (A to C) of a control function unit (X) for requesting processing of a group of arithmetic instructions;
a holding unit (Y1) that holds a processing request in a standby state when the processing request is received from a control function of the control function unit;
a management function unit (Y2) that arbitrates processing requests for each of the operation instruction groups to the parallel processor by managing a standby state of a processing request by the holding unit and a processing state of the operation instruction groups by the parallel processor, and that manages a control function related to a process from when a control function of the control function unit makes a processing request to when the parallel processor returns a processing result, the operation instruction groups, and the execution and completion of the process in association with each other;
Equipped with
When a control function of the control function unit requests processing, the control function unit provides request information of a set of operation instructions corresponding to the processing request to the holding unit;
the holding unit, when a processing request is received from a control function of the control function unit, enqueues request information of a given set of operation instructions in a queuing mechanism (Y1);
the management function unit has a management function corresponding to each operation instruction group processed by the parallel processing unit, acquires request information corresponding to an operation instruction group that can be accepted by the parallel processing unit from the queuing mechanism, and provides the request information to the parallel processing unit;
the parallel arithmetic processor processes a group of arithmetic instructions based on request information provided by the management function unit;
the queuing mechanism includes a queue corresponding to each operation instruction group processed by the parallel operation processor, and when request information of an operation instruction group is given from a control function of the control function unit, enqueues the request information in the queue of the corresponding operation instruction group;
The management function is an electronic control device that obtains request information corresponding to a group of operation instructions that the parallel processor can accept from a queue of the corresponding group of operation instructions and provides the request information to the parallel processor .
前記並列演算処理器は、処理トリガの受信に応じて要求情報に基づいて演算命令群を処理する請求項1又は2に記載の電子制御装置。 when providing a processing request for a group of operation instructions to the parallel processor, the management function unit transmits a processing trigger corresponding to the group of operation instructions;
3. The electronic control device according to claim 1, wherein the parallel operation processor processes a group of operation instructions based on request information in response to receiving a processing trigger .
前記管理機能部は、完了トリガの受信に応じて処理完了を送信元の前記制御機能部の制御機能に通知し、
前記制御機能部の制御機能は、処理完了通知の受信に応じて処理結果を取得し、当該処理結果に基づいて以後の処理を実行する請求項1から3のいずれか一項に記載の電子制御装置。 the parallel operation processor transmits a completion trigger corresponding to a group of operation instructions when the processing of the group of operation instructions is completed;
The management function unit notifies the control function of the control function unit, which is a transmission source, of the completion of the process in response to receiving the completion trigger;
The electronic control device according to claim 1 , wherein the control function of the control function unit acquires a processing result in response to receiving a processing completion notification, and executes a subsequent process based on the processing result .
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021112209A JP7596951B2 (en) | 2021-07-06 | 2021-07-06 | Electronic Control Unit |
| DE102022116016.5A DE102022116016A1 (en) | 2021-07-06 | 2022-06-28 | ELECTRONIC CONTROL DEVICE |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021112209A JP7596951B2 (en) | 2021-07-06 | 2021-07-06 | Electronic Control Unit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023008553A JP2023008553A (en) | 2023-01-19 |
| JP7596951B2 true JP7596951B2 (en) | 2024-12-10 |
Family
ID=84534116
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021112209A Active JP7596951B2 (en) | 2021-07-06 | 2021-07-06 | Electronic Control Unit |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7596951B2 (en) |
| DE (1) | DE102022116016A1 (en) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016126426A (en) | 2014-12-26 | 2016-07-11 | 三星電子株式会社Samsung Electronics Co.,Ltd. | Multi-core system, multi-core processor, parallel processing method, and parallel processing control program |
-
2021
- 2021-07-06 JP JP2021112209A patent/JP7596951B2/en active Active
-
2022
- 2022-06-28 DE DE102022116016.5A patent/DE102022116016A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023008553A (en) | 2023-01-19 |
| DE102022116016A1 (en) | 2023-01-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Yang et al. | Exploring real-time executor on ros 2 | |
| US7822885B2 (en) | Channel-less multithreaded DMA controller | |
| US20240184624A1 (en) | Method and system for sequencing artificial intelligence (ai) jobs for execution at ai accelerators | |
| CN102298539A (en) | Method and system for scheduling shared resources subjected to distributed parallel treatment | |
| WO2017084331A1 (en) | Data processing apparatus and method for interconnection circuit | |
| US11061724B2 (en) | Programmable hardware scheduler for digital processing systems | |
| US8364874B1 (en) | Prioritized polling for virtual network interfaces | |
| CN117632392A (en) | Task scheduling method and electronic device | |
| CN119520615A (en) | A non-blocking crossbar scheduling device, method, equipment and medium in PCIe | |
| US11113101B2 (en) | Method and apparatus for scheduling arbitration among a plurality of service requestors | |
| US10713089B2 (en) | Method and apparatus for load balancing of jobs scheduled for processing | |
| JP7596951B2 (en) | Electronic Control Unit | |
| EP1450256B1 (en) | Inter-task communications method, program, recording medium, and electronic device | |
| CN115827183A (en) | Serverless service scheduling system in hybrid container cloud environment based on combinatorial optimization | |
| CN107920035B (en) | Multicore processor type device, system and vehicle for deterministic switched Ethernet | |
| JP7548144B2 (en) | Electronic Control Unit | |
| CN120540791A (en) | Preemption in Interrupt-Driven Microscheduler | |
| CN118175111B (en) | Data transmission method, DMA controller, equipment and storage medium | |
| JP7226169B2 (en) | electronic controller | |
| CN115269467B (en) | Bus arbitration method and device, storage medium and electronic equipment | |
| CN114548389B (en) | Management method of computing units in heterogeneous computing and corresponding processor | |
| CN118819748A (en) | A task scheduling method, scheduling management system and multi-core processor | |
| Ruan et al. | USB Interrupt Differentiated Service for Bandwidth and Delay-Constrained Input/Output | |
| CN116820769A (en) | Task allocation method, device and system | |
| CN115878333A (en) | Method, device and equipment for judging consistency between process groups |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231009 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240627 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240730 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240821 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20241029 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241111 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7596951 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |