Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7294226B2 - electronic controller - Google Patents
[go: Go Back, main page]

JP7294226B2 - electronic controller - Google Patents

electronic controller Download PDF

Info

Publication number
JP7294226B2
JP7294226B2 JP2020077371A JP2020077371A JP7294226B2 JP 7294226 B2 JP7294226 B2 JP 7294226B2 JP 2020077371 A JP2020077371 A JP 2020077371A JP 2020077371 A JP2020077371 A JP 2020077371A JP 7294226 B2 JP7294226 B2 JP 7294226B2
Authority
JP
Japan
Prior art keywords
parallel
arithmetic
processing
control unit
graph
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
Application number
JP2020077371A
Other languages
Japanese (ja)
Other versions
JP2021174226A (en
Inventor
みのり 金田
義弘 矢頭
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 JP2020077371A priority Critical patent/JP7294226B2/en
Priority to DE102021110234.0A priority patent/DE102021110234A1/en
Publication of JP2021174226A publication Critical patent/JP2021174226A/en
Application granted granted Critical
Publication of JP7294226B2 publication Critical patent/JP7294226B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Program control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Advance Control (AREA)

Description

本発明は、電子制御装置に関する。 The present invention relates to electronic control units.

自動車の制御複雑化によるマイコン処理能力向上技術として、例えば特許文献1に示される並列演算処理器がある。 As a technique for improving the processing performance of a microcomputer due to the complication of automobile control, there is a parallel arithmetic processor disclosed in Patent Document 1, for example.

並列演算処理器は、演算制御部と並列演算部とから構成されている。演算制御部は例えばコアから処理要求された演算命令の集合体である演算命令群を優先度順に並列演算部に処理させる機能を有する。以下、演算命令群をグラフと称する。並列演算部は、複数の演算器で構成されている。また、並列演算部は同時に複数のグラフ処理を実行できず、また処理の途中で処理中のグラフ処理を終了して別のグラフ処理を開始することはできない。 A parallel arithmetic processor is composed of an arithmetic control section and a parallel arithmetic section. The operation control unit has a function of causing the parallel operation unit to process, for example, an operation instruction group, which is a set of operation instructions requested by the core, in order of priority. Hereinafter, the operation instruction group will be referred to as a graph. The parallel computing section is composed of a plurality of computing units. In addition, the parallel operation unit cannot execute a plurality of graph processes at the same time, and cannot terminate the current graph process and start another graph process in the middle of the process.

そこで、演算制御部は優先度が高いグラフを並列演算部に送り、並列演算部は処理が完了すると処理結果を演算制御部に送る。演算制御部は、並列演算部によるグラフ処理が完了して並列演算部が空になると、次に優先度が高いグラフを並列演算部に送る。 Therefore, the calculation control unit sends the graph with the highest priority to the parallel calculation unit, and the parallel calculation unit sends the processing result to the calculation control unit when the processing is completed. When the graph processing by the parallel operation unit is completed and the parallel operation unit becomes empty, the operation control unit sends the graph with the next highest priority to the parallel operation unit.

特開2012-141852号公報JP 2012-141852 A

特許文献1の技術は、並列演算部が空になり次第、優先順位の高いグラフ処理を即座に追加していく構成となっている。また、上記技術は処理中のグラフ処理が完了するまで次のグラフ処理を実行することができないことから、コアが別の処理にて不要と判断した処理であっても、実行を始めていれば途中で終了させることができない。このため、無駄な処理時間が増え、本来実行されるべき処理の実行が遅れてしまうという問題が生じる。
また、直ちに処理しなければならない優先処理がコアから要求された場合に、他の処理が実行中であればすぐに処理を優先的に実行できないという問題も生じる。
The technique of Patent Literature 1 has a configuration in which graph processing with a high priority is immediately added as soon as the parallel processing unit becomes empty. In addition, since the above technology cannot execute the next graph processing until the graph processing in progress is completed, even if the core determines that it is unnecessary in another processing, cannot end with As a result, there arises a problem that useless processing time increases and execution of processing that should be executed is delayed.
Moreover, when a priority process that must be executed immediately is requested from the core, there is also a problem that the process cannot be executed preferentially immediately if other processes are being executed.

本発明は上記事情に鑑みてなされたもので、その目的は、制御部、例えばコアからの要求に応じて並列演算処理器が処理中の演算命令群の処理を終了して優先度の高い演算命令群を処理することが可能になる電子制御装置を提供することにある。 The present invention has been made in view of the above circumstances, and its object is to terminate the processing of a group of arithmetic instructions being processed by a parallel arithmetic processor in response to a request from a control unit, for example, a core, and perform an arithmetic operation with a high priority. An object of the present invention is to provide an electronic control device capable of processing an instruction group.

請求項1の発明によれば、マイクロコンピュータ(11)の制御部(12a~12d)は、演算命令の集合体である演算命令群を処理することを要求する。演算制御部(18)は、制御部から処理要求された演算命令群を優先度の高い順にストックすると共に優先度の高い演算命令群から演算命令を抽出して並列演算部(19)に割り振る。
並列演算処理器は、制御部からの要求に応じて並列演算部で並列処理中の演算命令群の処理を終了し、ストックしている優先度の高い演算命令群を処理する。並列演算処理器は、制御部から処理要求された演算命令群に終了判定命令を付与すると共に終了判定フラグ(20)をセットする。並列演算処理器は、終了判定命令の処理時に終了判定フラグがセットされている場合は並列演算部で並列処理中の演算命令群の処理を終了する。これにより、並列演算処理器は、優先度の高い演算命令群を処理することが可能になる。
According to the first aspect of the invention, the control section (12a-12d) of the microcomputer (11) requests processing of a group of operational instructions, which is a collection of operational instructions. The arithmetic control unit (18) stocks the arithmetic instruction group requested by the control unit in descending order of priority, extracts arithmetic instructions from the arithmetic instruction group with the highest priority, and allocates them to the parallel arithmetic unit (19).
In response to a request from the control unit, the parallel processing unit terminates processing of the processing instruction group being parallel-processed by the parallel processing unit, and processes the stocked high-priority processing instruction group. The parallel arithmetic processor adds an end judgment instruction to the arithmetic instruction group requested by the control unit and sets an end judgment flag (20). In the parallel arithmetic processor, if the end judgment flag is set when the end judgment instruction is processed, the parallel arithmetic processor ends the processing of the arithmetic instruction group being parallel-processed. This enables the parallel processor to process a group of high-priority arithmetic instructions.

第1実施形態に係るマイクロコンピュータの構成を示す機能ブロック図1 is a functional block diagram showing the configuration of a microcomputer according to a first embodiment; FIG. エンジンECUと各ECUとの接続を示すブロック図Block diagram showing connections between the engine ECU and each ECU 並列演算処理器の構成を概略的に示すブロック図Block diagram schematically showing the configuration of a parallel processor グラフ構造を示す図Diagram showing graph structure 並列演算処理器の構成を示す概略図Schematic diagram showing the configuration of a parallel processor 演算制御部の動作を示すフローチャート(その1)Flowchart showing the operation of the arithmetic control unit (Part 1) 演算制御部の動作を示すフローチャート(その2)Flowchart showing the operation of the arithmetic control unit (part 2) 並列演算部の動作を示すフローチャートFlowchart showing the operation of the parallel operation part 第2実施形態に係る並列演算部の構成を示す機能ブロック図FIG. 11 is a functional block diagram showing the configuration of a parallel computing unit according to the second embodiment; FIG. 演算制御部の動作を示すフローチャートFlowchart showing the operation of the arithmetic control unit 第3実施形態に係る演算制御部の動作を示すフローチャートFlowchart showing the operation of the arithmetic control unit according to the third embodiment コアの動作を示すフローチャートFlowchart showing the operation of the core 第4実施形態に係る演算制御部の動作を示すフローチャートFlowchart showing the operation of the arithmetic control unit according to the fourth embodiment 第5実施形態に係る演算制御部の動作を示すフローチャートFlowchart showing the operation of the arithmetic control unit according to the fifth embodiment 第6実施形態に係る演算制御部の動作を示すフローチャートFlowchart showing the operation of the arithmetic control unit according to the sixth embodiment 第7実施形態に係る演算制御部の動作を示すフローチャートFlowchart showing the operation of the arithmetic control unit according to the seventh embodiment

以下、複数の実施形態について図面を参照して説明する。複数の実施形態において、機能的または構造的に対応する部分には同一の参照符号を付与する。 A plurality of embodiments will be described below with reference to the drawings. In several embodiments, functionally or structurally corresponding parts are given the same reference numerals.

(第1実施形態)
第1実施形態について図1から図8を参照して説明する。
図1に示すようにマイクロコンピュータ11は、複数のコア12a~12dからなるコア群12や並列演算処理器13を備えて構成されている。これらのコア12a~12dや並列演算処理器13が複数の演算処理を並列処理することで高速処理を実現している。
(First embodiment)
A first embodiment will be described with reference to FIGS. 1 to 8. FIG.
As shown in FIG. 1, the microcomputer 11 comprises a core group 12 consisting of a plurality of cores 12a to 12d and a parallel processor 13. As shown in FIG. These cores 12a to 12d and the parallel processor 13 perform a plurality of arithmetic processes in parallel to achieve high-speed processing.

コア12a~12d及び並列演算処理器13は内部バス14を介して互いに接続されていると共に、ROM及びRAMなどのメモリ15やAD変換器及びCANインターフェースなどの周辺回路16とも接続されている。 The cores 12a to 12d and the parallel processor 13 are connected to each other via an internal bus 14, and are also connected to a memory 15 such as ROM and RAM, and peripheral circuits 16 such as an AD converter and CAN interface.

コア12a~12dは、エンジンを制御するためのアクチュエータの動作やエンジンの運転状態を検出するための各種センサからの検出信号をAD変換器によりデジタル変換したデジタル値を入力し、そのデジタル値を処理して所定の物理値を求める演算処理が必要となった場合は並列演算処理器13に対して処理要求する。 The cores 12a to 12d receive digital values obtained by digitally converting detection signals from various sensors for detecting the operation of actuators for controlling the engine and the operating state of the engine by an AD converter, and process the digital values. Then, when it becomes necessary to perform arithmetic processing to obtain a predetermined physical value, a processing request is made to the parallel arithmetic processor 13 .

図2に示すように、車両にはエンジンECU(Electronic Control Unit)1が搭載されている。エンジンECU1は、上述したマイクロコンピュータ11を主体として構成されている。エンジンECU1が電子制御装置に相当する。このエンジンECU1は、車載LAN2を介して自動変速ECU3、メータECU4、空調ECU5などの他のECUに通信可能に接続されている。車載LAN2のプロトコルは、例えばCAN(Controller Area Network)である。CANは登録商標である。 As shown in FIG. 2, the vehicle is equipped with an engine ECU (Electronic Control Unit) 1 . The engine ECU 1 is mainly composed of the microcomputer 11 described above. The engine ECU 1 corresponds to an electronic control unit. The engine ECU 1 is communicably connected to other ECUs such as an automatic transmission ECU 3, a meter ECU 4 and an air conditioning ECU 5 via an in-vehicle LAN 2. A protocol of the in-vehicle LAN 2 is CAN (Controller Area Network), for example. CAN is a registered trademark.

図3に示すように並列演算処理器13は、メモリ17と、演算制御部18と、並列演算部19とから構成されている。メモリ17には各コア12a~12dから処理要求された演算命令群が順に記憶される。 As shown in FIG. 3, the parallel arithmetic processor 13 comprises a memory 17, an arithmetic control section 18, and a parallel arithmetic section 19. As shown in FIG. The memory 17 sequentially stores a group of operation instructions requested by the cores 12a to 12d.

演算制御部18は、メモリ17に記憶された演算命令群を並列演算部19と連携して演算処理する。つまり、演算制御部18はスケジューラ機能を有しており、メモリ17に記憶された演算命令を並列演算部19に自動的に割り振る。 The arithmetic control unit 18 cooperates with the parallel arithmetic unit 19 to arithmetically process the arithmetic instruction group stored in the memory 17 . That is, the arithmetic control unit 18 has a scheduler function, and automatically allocates arithmetic instructions stored in the memory 17 to the parallel arithmetic unit 19 .

並列演算部19はFIFO(First-In First-Out)型であり、演算制御部18により並列演算部19に割り振られた演算命令を順に演算処理する。並列演算部19は同一種類や異なる種類の演算器の集合であり、同一種類や異なる種類の演算命令を並列処理可能である。並列演算部19は、演算結果をメモリ17に記憶する。 The parallel operation unit 19 is of a FIFO (First-In First-Out) type, and sequentially performs operation processing on operation instructions assigned to the parallel operation unit 19 by the operation control unit 18 . The parallel operation unit 19 is a set of arithmetic units of the same type or different types, and is capable of parallel processing of arithmetic instructions of the same type or different types. The parallel computation unit 19 stores the computation result in the memory 17 .

図1に示す複数のコア12a~12dは、演算命令群を処理することを並列演算処理器13に要求した場合はメモリ17を介して演算結果を取得し、その演算結果に基づいて以後の処理を実行する。 The plurality of cores 12a to 12d shown in FIG. 1 acquires the computation result via the memory 17 when requesting the parallel computation processor 13 to process the computation instruction group, and performs subsequent processing based on the computation result. to run.

コア12a~12dが処理要求する演算命令群は、演算命令の処理順序が規定されている。例えば図4に示す演算命令群では、演算命令Aの演算処理が完了してから次の演算命令B~Dをそれぞれ演算処理し、演算命令B~Dの全ての演算処理が完了してから次の演算命令Eを演算処理することを規定している。 The processing order of the operation instructions for the group of operation instructions requested by the cores 12a to 12d is defined. For example, in the group of arithmetic instructions shown in FIG. It defines that the operation instruction E of is to be operated.

図5に示すようにメモリ17には終了判定フラグ20が設けられている。この終了判定フラグ20は、後述するようにコア12a~12dからの要求に応じて演算制御部18によりセットされる。 As shown in FIG. 5, the memory 17 is provided with an end determination flag 20 . The end determination flag 20 is set by the arithmetic control unit 18 in response to requests from the cores 12a to 12d, as will be described later.

演算制御部18は、コア12a~12dから処理要求されたグラフをその優先度に合わせてスタックする。つまり、優先度が最も高いグラフが次に処理するグラフとしてスタックされ、次に優先度が高いグラフがその次に処理するグラフとしてスタックされる。コア12a~12dからグラフ処理が要求される毎に、処理要求されたグラフの優先度に応じてスタックされる順番が変更される。同一の優先度の場合は、先にスタックされたグラフが優先度の高いグラフとしてスタックされる。 The arithmetic control unit 18 stacks the graphs requested for processing from the cores 12a to 12d according to their priorities. That is, the graph with the highest priority is stacked as the graph to be processed next, and the graph with the next highest priority is stacked as the graph to be processed next. Each time graph processing is requested from the cores 12a to 12d, the stacking order is changed according to the priority of the requested graph. In the case of the same priority, the graph stacked earlier is stacked as the higher priority graph.

演算制御部18は、並列演算部19による現在実行中のグラフ処理が終了すると、スタックされているグラフの中で優先度が最も高いスタックを並列演算部19に送る。つまり、演算制御部18は、並列演算部19によりグラフ処理を実行する場合は、グラフを構成する演算命令を抽出して並列演算部19に割り振る。並列演算部19は、演算命令の演算を実行し、完了したら処理結果を演算制御部18に返す。このような動作を1つのグラフ中の実行すべき全ての演算命令に対して行い、全ての処理が完了すると次のグラフ処理を実行する。 When the graph processing currently being executed by the parallel operation unit 19 is completed, the operation control unit 18 sends the stack with the highest priority among the stacked graphs to the parallel operation unit 19 . That is, when the parallel computation unit 19 executes graph processing, the computation control unit 18 extracts computation instructions that form the graph and allocates them to the parallel computation unit 19 . The parallel operation unit 19 executes the operation of the operation instruction, and returns the processing result to the operation control unit 18 upon completion. Such operations are performed for all operation instructions to be executed in one graph, and when all processing is completed, the next graph processing is executed.

ところで、グラフ処理を要求したコア12a~12dが例えば別の処理にて当該グラフ処理が不要になったと判断することがある。しかしながら、並列演算部19は同時に複数のグラフを処理することができないとともに、処理の途中で処理中のグラフ処理を終了して別のグラフ処理を開始することはできない。このため、並列演算部19が処理中のグラフ処理が終了するまで次のグラフ処理を実行できないことになる。
このような事情から、本実施形態では、並列演算処理器にコア12a~12dからの要求に応じて処理中のグラフ処理を終了する機能を持たせた。
By the way, the cores 12a to 12d that have requested the graph processing may determine that the graph processing is no longer necessary, for example, in another process. However, the parallel computing unit 19 cannot process a plurality of graphs at the same time, and cannot terminate the graph processing in progress and start another graph processing in the middle of the processing. Therefore, the next graph processing cannot be executed until the graph processing being processed by the parallel computing unit 19 is completed.
For this reason, in this embodiment, the parallel processors are provided with a function of terminating graph processing in progress in response to requests from the cores 12a to 12d.

具体的には、図6に示すように並列演算処理器13の演算制御部18は、マイコンのコア12a~12dからグラフ処理が要求されると(S101:YES)、処理要求されたグラフに終了判定命令を付与する(S102)。この終了判定命令は並列演算部19に対して処理中のグラフを終了するかを確認させるための命令で、グラフを構成する命令として付与される。つまり、並列演算処理器13にスタックされるグラフは演算命令と終了判定命令とから構成されることになる。 Specifically, as shown in FIG. 6, when the arithmetic control unit 18 of the parallel arithmetic processor 13 receives a request for graph processing from the cores 12a to 12d of the microcomputer (S101: YES), processing ends with the requested graph. A judgment command is given (S102). This termination determination instruction is an instruction for making the parallel operation unit 19 confirm whether to terminate the graph being processed, and is given as an instruction constituting the graph. In other words, the graphs stacked in the parallel processor 13 are composed of computation instructions and termination determination instructions.

図5に示すようにコア12a~12dは、並列演算処理器13に対して処理要求中のグラフが例えば他の処理により不要であると判断した場合は、並列演算処理器13に対して終了要求する。 As shown in FIG. 5, the cores 12a to 12d request the parallel processor 13 to terminate the graphs requested to the parallel processor 13 if they determine that the graph is unnecessary due to, for example, other processing. do.

図7に示すように並列演算処理器13の演算制御部18は、コア12a~12dから終了要求が有った場合は(S201:YES)、終了対象となるグラフ処理を実行中か、或いは待機中かを判断する(S202)。待機中の場合は(S202:NO)、終了対象のグラフをクリアする(S204)。処理中の場合は(S202:YES)、終了判定フラグ20をセットする(S203)。 As shown in FIG. 7, when there is a termination request from the cores 12a to 12d (S201: YES), the arithmetic control unit 18 of the parallel arithmetic processor 13 is executing the graph processing to be terminated or waits. It is determined whether it is in the middle (S202). When waiting (S202: NO), the graph to be terminated is cleared (S204). If the processing is in progress (S202: YES), the end determination flag 20 is set (S203).

図8に示すように並列演算部19は、グラフに付与された終了判定命令を実行した場合は(S301:YES)、終了判定フラグ20を参照し(S302)、終了判定フラグ20がセットされているかを判断する(S303)。終了判定フラグ20がセットされている場合は(S303:YES)、現在実行中のグラフ処理を直ちに終了する(S304)。 As shown in FIG. 8, when the parallel operation unit 19 executes the termination determination instruction attached to the graph (S301: YES), it refers to the termination determination flag 20 (S302), and the termination determination flag 20 is set. It is determined whether there is (S303). If the end determination flag 20 is set (S303: YES), the graph processing currently being executed is immediately ended (S304).

この場合、演算制御部18には終了したグラフの残りの演算命令が未完了命令として残っている。その為、並列演算部から終了判定命令の処理結果が“終了”であると返ってきた場合、未完了命令を全てクリアする。これにより、演算制御部18により優先度が最も高いグラフが並列演算部19に送られ、処理を実行するようになる。
一方、並列演算部19は、終了判定フラグ20はセットされていない場合は(S303:NO)、処理中のグラフは処理が必要であることから、グラフ処理を継続する。
In this case, the calculation control unit 18 still has the remaining calculation instructions of the completed graph as uncompleted instructions. Therefore, when the processing result of the end determination instruction is returned from the parallel operation unit as "end", all the unfinished instructions are cleared. As a result, the graph with the highest priority is sent to the parallel arithmetic unit 19 by the arithmetic control unit 18, and the processing is executed.
On the other hand, if the end determination flag 20 is not set (S303: NO), the parallel operation unit 19 continues the graph processing because the graph being processed needs processing.

尚、終了判定フラグ20がセットされたタイミングで、グラフに付与されている終了判定命令が既に実行している場合は、並列演算処理器13はそのままグラフ処理を継続し、グラフ処理が終了したところで演算結果をコア12a~12dに送信する。この場合、コア12a~12dは、並列演算処理器13から受信した演算結果は不要であることから、演算結果を無視することになる。 If the end determination instruction attached to the graph has already been executed at the timing when the end determination flag 20 is set, the parallel processor 13 continues the graph processing as it is, and when the graph processing ends, The calculation results are sent to the cores 12a-12d. In this case, the cores 12a to 12d ignore the calculation results received from the parallel processor 13 because the calculation results are unnecessary.

このような実施形態によれば、次のような効果を奏することができる。
並列演算処理器13は、コア12a~12dから終了要求された場合はグラフ処理を終了し、優先度が最も高いグラフ処理を実行するので、優先度の高いグラフ処理を直ちに実行することができる。
According to such an embodiment, the following effects can be obtained.
When an end request is received from the cores 12a to 12d, the parallel processor 13 terminates the graph processing and executes the graph processing with the highest priority, so the graph processing with the highest priority can be executed immediately.

(第2実施形態)
第2実施形態について図9及び図10を参照して説明する。この第2実施形態は、並列演算処理器13がコア12a~12dからの優先処理要求に応じてグラフ処理を終了することを特徴とする。
(Second embodiment)
A second embodiment will be described with reference to FIGS. 9 and 10. FIG. The second embodiment is characterized in that the parallel processor 13 terminates graph processing in response to priority processing requests from the cores 12a to 12d.

並列演算処理器13は、第1実施形態と同様に、コア12a~12dからグラフ処理が要求された場合は、グラフに終了判定命令を付与する。
図9に示すようにコア12a~12dは、グラフを優先して処理したい場合は、グラフ処理を要求すると同時に優先処理を要求する。図10に示すように並列演算処理器13の演算制御部18は、優先処理要求が有った場合は(S401:YES)、処理要求されたグラフの優先度を高めてストックしてから(S402)、現在処理中のグラフがあるかどうかを判断する(S403)。現在処理中のグラフがある場合は(S403:YES)、終了判定フラグ20をセットする(S404)。一方、現在処理中のグラフがない場合は(S403:NO)、そのまま優先度が高いグラフ処理を実行する。
As in the first embodiment, the parallel processor 13 gives an end determination command to the graph when the cores 12a to 12d request graph processing.
As shown in FIG. 9, when the cores 12a to 12d want to preferentially process graphs, they request graph processing and preferential processing at the same time. As shown in FIG. 10, when there is a priority processing request (S401: YES), the arithmetic control unit 18 of the parallel arithmetic processor 13 raises the priority of the requested graph and stocks it (S402). ), and it is determined whether there is a graph currently being processed (S403). If there is a graph currently being processed (S403: YES), the end determination flag 20 is set (S404). On the other hand, if there is no graph currently being processed (S403: NO), the graph processing with the higher priority is executed as it is.

並列演算部19は、第1実施形態と同様に、処理中のグラフに付与されている終了判定命令を実行した場合は、終了判定フラグ20を参照し、終了判定フラグ20がセットされている場合は、処理中のグラフ処理を終了する。演算制御部は並列演算部から終了判定命令の処理結果を受け取り、未完了処理をクリアする。 As in the first embodiment, the parallel operation unit 19 refers to the end determination flag 20 when executing the end determination instruction attached to the graph being processed, and when the end determination flag 20 is set, terminates the graph processing in progress. The arithmetic control unit receives the processing result of the end determination instruction from the parallel arithmetic unit and clears the incomplete processing.

このような実施形態によれば、並列演算処理器13は、コア12a~12dからの優先処理要求に応じて優先度の最も高いグラフとしてストックすると共に処理を終了し、優先度が最も高いグラフ処理を実行するので、コア12a~12dからの優先処理要求されたグラフ処理を優先して実行することができる。 According to such an embodiment, the parallel processor 13 stocks the graph with the highest priority in response to priority processing requests from the cores 12a to 12d and ends the processing. , the graph processing requested by the cores 12a to 12d can be preferentially executed.

(第3実施形態)
第3実施形態について図11及び図12を参照して説明する。この第3実施形態は、コア12a~12dがグラフ処理を再要求することを特徴とする。
図11に示すように並列演算処理器13の演算制御部18は、並列演算部9が処理終了した場合は(S501:YES)、終了したことをコア12a~12dに通知する(S502)。
(Third Embodiment)
3rd Embodiment is described with reference to FIG.11 and FIG.12. This third embodiment is characterized by cores 12a-12d reclaiming graph processing.
As shown in FIG. 11, when the parallel processor 9 has finished processing (S501: YES), the arithmetic controller 18 of the parallel arithmetic processor 13 notifies the cores 12a to 12d of the completion (S502).

図12に示すようにコア12a~12dは、終了通知が有った場合は(S601:YES)、終了したグラフ処理を再実行するかを判断する(S602)。つまり、処理要求したグラフ処理が不要となったものの、例えば他の処理により必要となったかを判断する。グラフを再実行すると判断した場合は(S602:YES)、当該グラフ処理を並列演算処理器13に再要求する(S603)。処理要求されたグラフはその優先度に合わせて演算制御部18にスタックされる。一方、グラフ処理を再要求しないと判定した場合は(S602:NO)、終了したグラフ処理に対して処置を行うことはない。 As shown in FIG. 12, when the cores 12a to 12d receive the end notification (S601: YES), the cores 12a to 12d determine whether to re-execute the ended graph processing (S602). In other words, although the requested graph processing is no longer necessary, it is determined whether it has become necessary due to other processing, for example. If it is determined to re-execute the graph (S602: YES), the parallel processor 13 is re-requested for the graph processing (S603). Graphs requested for processing are stacked in the arithmetic control unit 18 in accordance with their priorities. On the other hand, if it is determined not to re-request the graph processing (S602: NO), no action is taken for the terminated graph processing.

このような実施形態によれば、コア12a~12dは、並列演算処理器13から終了通知された場合は、必要に応じてグラフ処理を再要求するので、グラフ処理が終了した場合であっても当該グラフ処理を再実行することができる。 According to such an embodiment, the cores 12a to 12d re-request the graph processing as necessary when the end notification is received from the parallel processor 13. Therefore, even when the graph processing ends, The graph processing can be re-executed.

(第4実施形態)
第4実施形態について図13を参照して説明する。この第4実施形態は、並列演算処理器13がグラフ処理の規模に応じて終了判定命令を付与するかを決定することに特徴を有する。
(Fourth embodiment)
A fourth embodiment will be described with reference to FIG. This fourth embodiment is characterized in that the parallel arithmetic processor 13 determines whether to give an end determination instruction according to the scale of graph processing.

図13に示すように並列演算処理器13の演算制御部18は、グラフ処理の要求が有った場合は(S701:YES)、そのグラフ処理の規模が所定値以上かを判断する(S702)。所定値としては、グラフに付与した終了判定命令が有効に機能するかにより設定されている。所定値以上の場合は(S702:YES)、グラフに終了判定命令を付与する(S703)。一方、所定値未満の場合は(S702:NO)、グラフに終了判定命令を付与することはない(S704)。 As shown in FIG. 13, when there is a request for graph processing (S701: YES), the arithmetic control unit 18 of the parallel arithmetic processor 13 determines whether the scale of the graph processing is equal to or greater than a predetermined value (S702). . The predetermined value is set depending on whether the termination determination command given to the graph functions effectively. If it is equal to or greater than the predetermined value (S702: YES), an end determination command is given to the graph (S703). On the other hand, if it is less than the predetermined value (S702: NO), no end determination command is given to the graph (S704).

即ち、グラフ処理の規模が小さい場合は、終了判定命令やグラフを終了するために行われる処理、終了判定フラグ20の書き換えやコア12a~12dへの伝達などが完了するまで待機するよりもグラフ処理の完了を待った方が速いため、終了判定命令を付与しないようにしている。 That is, when the scale of the graph processing is small, graph processing is performed rather than waiting until completion of an end determination instruction, processing performed to end the graph, rewriting of the end determination flag 20, transmission to the cores 12a to 12d, and the like. Since it is faster to wait for the completion of , the end judgment instruction is not given.

このような実施形態によれば、並列演算処理器13は、グラフ処理の規模が小さい場合はグラフに終了判定命令を付与しないので、グラフに無意味な終了判定命令を付与する動作を抑制することができる。 According to such an embodiment, when the scale of graph processing is small, the parallel processing unit 13 does not add an end determination command to the graph, so it is possible to suppress the operation of adding meaningless end determination commands to the graph. can be done.

(第5実施形態)
第5実施形態について図14を参照して説明する。この第5実施形態は、並列演算処理器13が終了判定命令の付与数を決定することを特徴とする。
(Fifth embodiment)
A fifth embodiment will be described with reference to FIG. The fifth embodiment is characterized in that the parallel processor 13 determines the number of end determination instructions to be given.

図14に示すように並列演算処理器13の演算制御部18は、グラフ処理の要求が有った場合に(S701:YES)、グラフ処理の規模が所定値以上の場合は(S702:YES)、グラフに終了判定命令を1箇所もしくは複数箇所付与する(S705)。一方、グラフ処理の規模が所定値未満の場合は(S702:NO)、終了判定命令を付与しない。 As shown in FIG. 14, when there is a request for graph processing (S701: YES), the arithmetic control unit 18 of the parallel arithmetic processor 13, when the scale of graph processing is equal to or greater than a predetermined value (S702: YES) , one or a plurality of end determination instructions are added to the graph (S705). On the other hand, if the scale of graph processing is less than the predetermined value (S702: NO), no end determination command is given.

このような実施形態によれば、並列演算処理器13は、グラフ処理の規模が所定値以上の場合はグラフに終了判定命令を1箇所もしくは複数箇所付与するので、処理中のグラフ処理がどの段階にあっても終了判定命令を実行する可能性を高めることができる。 According to this embodiment, when the scale of graph processing is equal to or greater than a predetermined value, the parallel processor 13 gives one or a plurality of end determination instructions to the graph. It is possible to increase the possibility of executing the termination determination instruction even if

(第6実施形態)
第6実施形態について図15を参照して説明する。この第6実施形態は、並列演算処理器13が終了判定命令を一定の命令数ごとにグラフに付与することを特徴とする。
(Sixth embodiment)
A sixth embodiment will be described with reference to FIG. The sixth embodiment is characterized in that the parallel arithmetic processor 13 gives the end determination instruction to the graph for each fixed number of instructions.

図15に示すように演算制御部18は、グラフ処理の要求が有った場合に(S701:YES)、終了判定命令を1箇所もしくは複数箇所付与するときは(S705)、各終了判定命令の位置間隔が一定の命令数ごとになるように終了判定命令を付与する(S706)。 As shown in FIG. 15, when there is a request for graph processing (S701: YES), the arithmetic control unit 18 gives one or more end determination instructions (S705). An end determination command is given so that the position interval is a constant number of commands (S706).

具体的には、グラフを構成する各演算命令が一定数となるごとに終了判定命令の付与位置を決定する。これにより、一定命令数間隔に終了判定命令をグラフに付与すればよいので、終了判定命令を素早くグラフに付与することができる。 Specifically, each time the number of operation instructions forming the graph reaches a certain number, the assignment position of the end determination instruction is determined. As a result, it is only necessary to add end determination instructions to the graph at intervals of a constant number of commands, so end determination instructions can be quickly added to the graph.

このような実施形態によれば、並列演算処理器13は、グラフ処理の規模が所定値以上の場合は終了判定命令を一定の命令数を基準にして付与するので、終了判定命令の付与動作時間を抑制することができる。 According to this embodiment, when the scale of graph processing is equal to or greater than a predetermined value, the parallel processor 13 assigns end determination commands based on a certain number of commands. can be suppressed.

(第7実施形態)
第7実施形態について図16を参照して説明する。この第7実施形態は、並列演算処理器13が終了判定命令を一定の処理時間ごとになるようにグラフに付与することを特徴とする。
(Seventh embodiment)
A seventh embodiment will be described with reference to FIG. The seventh embodiment is characterized in that the parallel arithmetic processor 13 gives the end determination instruction to the graph at regular processing time intervals.

図16に示すように並列演算処理器13の演算制御部18は、グラフ処理の要求が有った場合に(S701:YES)、終了判定命令を1箇所もしくは複数箇所付与したときは(S705)、終了判定命令を実行する時間間隔が一定の処理時間となるようにグラフに付与する(S707)。 As shown in FIG. 16, when there is a request for graph processing (S701: YES), the arithmetic control unit 18 of the parallel arithmetic processor 13 gives one or a plurality of end determination instructions (S705). , is added to the graph so that the time interval for executing the end determination instruction is a constant processing time (S707).

具体的には、グラフを構成する各演算命令の種類と数と処理時間とに応じて終了判定命令の付与位置を決定する。これにより、終了判定命令間の処理間隔が一定となるので、終了判定命令を定期的に実行することができる。 Specifically, the assignment position of the end determination instruction is determined according to the type, number, and processing time of each operation instruction forming the graph. As a result, the processing interval between the end determination commands becomes constant, so the end determination commands can be executed periodically.

このような実施形態によれば、並列演算処理器13は、グラフ処理の規模が所定値以上の場合は終了判定命令を一定の処理時間を基準にして付与するので、グラフ処理がどの段階にあっても終了判定を安定して行うことができる。 According to this embodiment, when the scale of graph processing is equal to or greater than a predetermined value, the parallel processor 13 gives an end determination instruction based on a certain processing time. end determination can be stably performed.

(その他の実施形態)
電子制御装置としてはエンジンECUに限定されることはない。
コアが並列演算処理器に対して要求する処理は、終了要求や優先処理要求に限定されることはない。
マイコンに搭載されているコアの数は複数個に限定されることなく1個でもよい。
(Other embodiments)
The electronic control device is not limited to the engine ECU.
The processing requested by the core to the parallel processor is not limited to a termination request or priority processing request.
The number of cores mounted on the microcomputer is not limited to a plurality, and may be one.

本開示は、実施形態に準拠して記述されたが、本開示は当該実施形態や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。 Although the present disclosure has been described with reference to embodiments, it is understood that the present disclosure is not limited to such embodiments or structures. The present disclosure also includes various modifications and modifications within the equivalent range. In addition, various combinations and configurations, as well as other combinations and configurations, including single elements, more, or less, are within the scope and spirit of this disclosure.

図面中、1はエンジンECU(電子制御装置)、11はマイクロコンピュータ、12a~12dはコア(制御部)、13は並列演算処理器、18は演算制御部、19は並列演算部、20は終了判定フラグである。
In the drawings, 1 is an engine ECU (electronic control unit), 11 is a microcomputer, 12a to 12d are cores (controllers), 13 is a parallel processor, 18 is an arithmetic controller, 19 is a parallel processor, and 20 is the end. It is a judgment flag.

Claims (8)

演算命令の集合体である演算命令群を処理することを要求する制御部(12a~12d)と、演算制御部(18)により前記制御部から処理要求された前記演算命令群を優先度の高い順にストックすると共に優先度の高い前記演算命令群から前記演算命令を抽出して対応する並列演算部(19)に割り振ることで複数の前記演算命令を並列処理可能な並列演算処理器(13)と、を有したマイクロコンピュータ(11)を備え、
前記並列演算処理器は、前記制御部からの要求に応じて前記並列演算部で並列処理中の前記演算命令群の処理を終了し、ストックしている優先度の高い前記演算命令群を処理し、
前記並列演算処理器は、前記制御部から処理要求された前記演算命令群に終了判定命令を付与すると共に終了判定フラグ(20)をセットし、
前記並列演算処理器は、前記終了判定命令の処理時に前記終了判定フラグがセットされている場合は前記並列演算部で並列処理中の前記演算命令群の処理を終了する電子制御装置。
A control unit (12a to 12d) requesting processing of a group of operational instructions, which is a set of operational instructions, and a processing control unit (18) giving high priority to the group of operational instructions requested by the control unit. A parallel arithmetic processor (13) capable of parallel processing a plurality of said arithmetic instructions by stocking them in order and extracting said arithmetic instructions from said arithmetic instruction group with high priority and allocating them to corresponding parallel arithmetic units (19); a microcomputer (11) having
The parallel arithmetic processor terminates processing of the arithmetic instruction group being parallel-processed by the parallel arithmetic unit in response to a request from the control unit, and processes the stock arithmetic instruction group with high priority. ,
The parallel arithmetic processor adds an end determination instruction to the operation instruction group requested by the control unit and sets an end determination flag (20),
The parallel arithmetic processor is an electronic control device for terminating processing of the arithmetic instruction group being parallel-processed by the parallel arithmetic unit when the end determination flag is set when the end determination instruction is processed.
前記制御部は、前記並列演算処理器に対して処理要求した前記演算命令群の処理が不要となった場合は終了要求し、
前記並列演算処理器は、前記終了要求された場合は前記並列演算部で並列処理中の前記演算命令群の処理を終了する請求項1に記載の電子制御装置。
The control unit issues a termination request to the parallel arithmetic processor when processing of the arithmetic instruction group requested to be processed becomes unnecessary,
2. The electronic control device according to claim 1, wherein said parallel arithmetic processor terminates processing of said arithmetic instruction group being parallel-processed by said parallel arithmetic unit when said termination request is received.
前記制御部は、前記演算命令群を優先処理させる場合は当該演算命令群の優先度を高くして優先処理要求し、
前記並列演算処理器は、前記優先処理要求された場合は前記並列演算部で並列処理中の前記演算命令群の処理を終了する請求項1に記載の電子制御装置。
the control unit, when preferentially processing the operation instruction group, raises the priority of the operation instruction group and requests the priority processing;
2. The electronic control device according to claim 1, wherein said parallel arithmetic processor terminates processing of said arithmetic instruction group being parallel-processed by said parallel arithmetic unit when said priority processing request is made.
前記並列演算処理器は、前記並列演算部で並列処理中の前記演算命令群の処理を終了した場合は前記制御部に終了通知し、
前記制御部は、前記終了通知された場合は終了した前記演算命令群を再実行するかを判断し、再実行すると判断した場合は前記演算命令群の処理を再要求する請求項1からの何れか一項に記載の電子制御装置。
The parallel arithmetic processor notifies the control unit of completion when processing of the arithmetic instruction group being parallel-processed by the parallel arithmetic unit is completed;
4. The method according to any one of claims 1 to 3 , wherein said control unit determines whether or not to re-execute said group of operation instructions that have been terminated when said end notification is received, and re-requests processing of said group of operation instructions if it determines to re-execute said group of operation instructions. The electronic control device according to any one of claims 1 to 3.
前記並列演算処理器は、前記演算命令群の規模の大きさに応じて前記終了判定命令を付与する請求項に記載の電子制御装置。 2. The electronic control device according to claim 1 , wherein said parallel arithmetic processor gives said end determination instruction according to the scale of said arithmetic instruction group. 前記並列演算処理器は、前記演算命令群の規模が所定値以上の場合は前記終了判定命令を1つまたは複数付与する請求項に記載の電子制御装置。 2. The electronic control device according to claim 1 , wherein said parallel arithmetic processor gives one or a plurality of said end determination instructions when the scale of said arithmetic instruction group is equal to or greater than a predetermined value. 前記並列演算処理器は、前記演算命令群を構成する命令数を基準にして前記終了判定命令を付与する位置を決定する請求項に記載の電子制御装置。 2. The electronic control device according to claim 1 , wherein said parallel arithmetic processor determines a position to give said end determination instruction based on the number of instructions constituting said arithmetic instruction group. 前記並列演算処理器は、前記演算命令群を構成する演算命令の処理時間を基準にして前記終了判定命令を付与する位置を決定する請求項に記載の電子制御装置。 2. The electronic control device according to claim 1 , wherein the parallel arithmetic processor determines the position where the end determination instruction is given based on the processing time of the arithmetic instructions forming the arithmetic instruction group.
JP2020077371A 2020-04-24 2020-04-24 electronic controller Active JP7294226B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020077371A JP7294226B2 (en) 2020-04-24 2020-04-24 electronic controller
DE102021110234.0A DE102021110234A1 (en) 2020-04-24 2021-04-22 Electronic control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020077371A JP7294226B2 (en) 2020-04-24 2020-04-24 electronic controller

Publications (2)

Publication Number Publication Date
JP2021174226A JP2021174226A (en) 2021-11-01
JP7294226B2 true JP7294226B2 (en) 2023-06-20

Family

ID=78261032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020077371A Active JP7294226B2 (en) 2020-04-24 2020-04-24 electronic controller

Country Status (2)

Country Link
JP (1) JP7294226B2 (en)
DE (1) DE102021110234A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140935A (en) 2005-11-18 2007-06-07 Seiko Epson Corp Multiprocessor system
JP2011053995A (en) 2009-09-03 2011-03-17 Hitachi Ltd Data processing control method and computer system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012141852A (en) 2011-01-04 2012-07-26 Kyushu Institute Of Technology Logical calculation system, generation device, generation method and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140935A (en) 2005-11-18 2007-06-07 Seiko Epson Corp Multiprocessor system
JP2011053995A (en) 2009-09-03 2011-03-17 Hitachi Ltd Data processing control method and computer system

Also Published As

Publication number Publication date
JP2021174226A (en) 2021-11-01
DE102021110234A1 (en) 2021-10-28

Similar Documents

Publication Publication Date Title
JP4410661B2 (en) Distributed control system
JP3922070B2 (en) Distributed control method and apparatus
JP5684629B2 (en) Job management system and job management method
JP4985662B2 (en) Program and control device
JP2010027062A (en) Distributed control system
JP2011065645A (en) Multi-core processor system
CN111240824B (en) A CPU resource scheduling method and electronic equipment
JP2013101530A (en) Service cooperation device, service cooperation method, and service cooperation program
US9882973B2 (en) Breadth-first resource allocation system and methods
CN106569887A (en) Fine-grained task scheduling method under cloud environment
CN115168013A (en) Task running system and method and computing device
CN109799805B (en) A reliability-aware high-performance automotive electronic scheduling algorithm
JP7294226B2 (en) electronic controller
CN115123267B (en) Manager, electronic control unit, system, control method, and recording medium
JP7226169B2 (en) electronic controller
JP5447666B2 (en) Multiprocessor system and scheduling method
JP2004252574A (en) Inter-task communication method, program, recording medium, electronic device
US11275621B2 (en) Device and method for selecting tasks and/or processor cores to execute processing jobs that run a machine
CN101751293B (en) Program thread group management method
JP2000259430A (en) Processing method for computer system
KR102285963B1 (en) Method for scheduling a task using multi-node and apparatus thereof
JP2020181569A (en) Electronic control device
CN118260033A (en) A task scheduling method and heterogeneous processor
CN115658269A (en) A heterogeneous computing terminal for task scheduling
JP7596951B2 (en) Electronic Control Unit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230421

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: 20230509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230522

R151 Written notification of patent or utility model registration

Ref document number: 7294226

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151