JP2018013843A - Multi-core arithmetic unit - Google Patents

Multi-core arithmetic unit Download PDF

Info

Publication number
JP2018013843A
JP2018013843A JP2016141367A JP2016141367A JP2018013843A JP 2018013843 A JP2018013843 A JP 2018013843A JP 2016141367 A JP2016141367 A JP 2016141367A JP 2016141367 A JP2016141367 A JP 2016141367A JP 2018013843 A JP2018013843 A JP 2018013843A
Authority
JP
Japan
Prior art keywords
core
application
cpu
access right
shared resource
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.)
Granted
Application number
JP2016141367A
Other languages
Japanese (ja)
Other versions
JP6699422B2 (en
Inventor
亮 ▲高▼田
亮 ▲高▼田
Akira Takada
知也 青木
Tomoya Aoki
知也 青木
章浩 竹内
Akihiro Takeuchi
章浩 竹内
伊澤 和幸
Kazuyuki Izawa
和幸 伊澤
雅敏 田口
Masatoshi Taguchi
雅敏 田口
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.)
Aisin AW Co Ltd
Original Assignee
Aisin AW Co Ltd
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 Aisin AW Co Ltd filed Critical Aisin AW Co Ltd
Priority to JP2016141367A priority Critical patent/JP6699422B2/en
Publication of JP2018013843A publication Critical patent/JP2018013843A/en
Application granted granted Critical
Publication of JP6699422B2 publication Critical patent/JP6699422B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

PROBLEM TO BE SOLVED: To appropriately perform distributed processing in a multi-core arithmetic unit having a plurality of CPU cores.SOLUTION: A multi-core arithmetic unit 10 includes a first core 1, a second core 2 operating independently of the first core 1, and a shared memory 4; and both the cores communicate with each other via the shared memory 4. The first core 1 executes a behavior schedule application for determining a behavior schedule that indicates the order of the behavior changes of a vehicle drive transmission device 100 as a control target. The second core 2 executes an actuator control application that controls an actuator 120 for operating the vehicle drive transmission device 100, and a sensing application that obtains and provides physical information.SELECTED DRAWING: Figure 6

Description

本発明は、複数のCPUコアを備えたマルチコア演算装置に関する。   The present invention relates to a multi-core arithmetic device including a plurality of CPU cores.

複数のCPUコアを有するマルチコア演算装置が知られている。米国特許出願公開第2012/0246650A1(特許文献1)には、複数のCPUコア(プロセッサコア(6,7,13,14))を有するマルチコア演算装置(マルチコアマイクロコントローラ(5))が開示されている(背景技術において括弧内の符号は特許文献1のもの。)。マルチコアマイクロコントローラ(5)には、センサ素子(1)及びアクチュエータ(3)が接続されている。例えば、1つのプロセッサコア(6)は、センサ素子(1)のセンサ値を読み込み、物理現象を検出する。別のプロセッサコア(7)はアクチュエータ(3)を制御するためのパラメータを決定してアクチュエータ(3)に出力する。つまり、センサ素子(1)の検出結果に基づくアクチュエータ(3)の制御は、複数のプロセッサコア(6)によって分散処理されている。   A multi-core arithmetic device having a plurality of CPU cores is known. US Patent Application Publication No. 2012/0246650 A1 (Patent Document 1) discloses a multi-core arithmetic device (multi-core microcontroller (5)) having a plurality of CPU cores (processor cores (6, 7, 13, 14)). (In the background art, the reference numerals in parentheses are those of Patent Document 1). A sensor element (1) and an actuator (3) are connected to the multi-core microcontroller (5). For example, one processor core (6) reads the sensor value of the sensor element (1) and detects a physical phenomenon. Another processor core (7) determines parameters for controlling the actuator (3) and outputs them to the actuator (3). That is, the control of the actuator (3) based on the detection result of the sensor element (1) is distributed by the plurality of processor cores (6).

一般的に、このように複数のプロセッサコアを用いた分散処理を行うことで、マイクロコントローラ全体の演算負荷を分散させて、演算能力を向上させることができる。但し、1つのプロセッサコアによる演算を、例えば単純に2つのプロセッサコアによる演算に換えても、処理速度が1/2になったり、処理量が2倍になったりするものではない。例えば、分散処理には、分散させた演算の同期や相互の演算時期の調整など、分散処理を管理する処理、いわゆるオーバーヘッド処理が発生し、このオーバーヘッド処理の分だけ、全体の演算量が増大する。また、プロセッサコアは、しばしば、メモリや通信制御器、A/Dコンバータなどの周辺機能ブロックも利用しながら演算を行うが、複数のプロセッサコアが同じ周辺機能ブロックを利用する場合もある。例えば、1つのプロセッサコアがそのような周辺機能ブロックを使用している場合には、他のプロセッサコアは当該周辺機器ブロックが利用できるようになるまで待機する必要があり、演算待ち時間が生じることもある。   In general, by performing distributed processing using a plurality of processor cores in this way, it is possible to distribute the calculation load of the entire microcontroller and improve the calculation capability. However, even if the calculation by one processor core is simply changed to the calculation by two processor cores, for example, the processing speed is not halved or the processing amount is not doubled. For example, in distributed processing, processing for managing distributed processing, such as synchronization of distributed operations and adjustment of mutual calculation timing, so-called overhead processing occurs, and the total amount of calculation increases by this overhead processing. . In addition, the processor core often performs operations while using peripheral function blocks such as a memory, a communication controller, and an A / D converter. However, a plurality of processor cores may use the same peripheral function block. For example, when one processor core uses such a peripheral function block, other processor cores must wait until the peripheral device block becomes available, resulting in a computation waiting time. There is also.

米国特許出願公開第2012/0246650A1号明細書US Patent Application Publication No. 2012 / 0246650A1

上記背景に鑑みて、複数のCPUコアを有するマルチコア演算装置において、適切に分散処理を行うことが望まれる。   In view of the above background, it is desirable to appropriately perform distributed processing in a multi-core arithmetic device having a plurality of CPU cores.

1つの態様として、第1コアと、前記第1コアとは独立して動作する第2コアとの少なくとも2つの独立したCPUコアと、複数の前記CPUコアが共通して使用する共有メモリと、を備えたマルチコア演算装置は、
複数の前記CPUコアが、前記共有メモリを介して通信を行い、
制御対象である車両用駆動伝達装置の挙動変化の順序を示す挙動スケジュールを決定するソフトウェアである挙動スケジュールアプリケーションと、
決定された前記挙動スケジュールに従って、前記車両用駆動伝達装置を動作させるアクチュエータを制御するソフトウェアであるアクチュエータ制御アプリケーションと、
少なくとも前記挙動スケジュールを決定するための物理情報を取得して、少なくとも前記挙動スケジュールアプリケーションに当該物理情報を提供するソフトウェアであるセンシングアプリケーションと、を実行するものであり、
前記第1コアが、前記挙動スケジュールアプリケーションを実行し、
前記第2コアが、前記アクチュエータ制御アプリケーション及び前記センシングアプリケーションを実行する。
As one aspect, at least two independent CPU cores, a first core and a second core that operates independently of the first core, a shared memory that is used in common by the plurality of CPU cores, A multi-core computing device equipped with
A plurality of the CPU cores communicate via the shared memory,
A behavior schedule application that is software for determining a behavior schedule indicating the order of behavior change of the vehicle drive transmission device to be controlled;
An actuator control application that is software for controlling an actuator that operates the vehicle drive transmission device according to the determined behavior schedule;
At least physical information for determining the behavior schedule is acquired, and at least a sensing application that is software that provides the physical information to the behavior schedule application is executed.
The first core executes the behavior schedule application;
The second core executes the actuator control application and the sensing application.

例えば、車両用駆動伝達装置の挙動は、歯車などの機械構成要素の選択によって規定される。また、選択された歯車の接続(連結)などは、制御構成要素を介して実現されることが多い。ここで、機械構成要素の挙動に関する演算と、制御構成要素の挙動に関する演算とは、それぞれ異なるハードウェア資源を用いて実行されてもよい。しかし、制御対象が車両用駆動伝達装置の場合などでは、上述したように、機械構成要素と制御構成要素との挙動変化に順序依存性がある。このため、これら2つの制御をそれぞれ異なるハードウェア資源を用いて実行すると、互いに不要な待ち時間が生じて演算効率が低下する場合がある。本構成によれば、車両用駆動伝達装置の挙動変化の順序を示す挙動スケジュールが、1つのCPUコアによって演算されるから、そのように演算効率が低下することが抑制される。   For example, the behavior of a vehicle drive transmission device is defined by the selection of mechanical components such as gears. Also, the connection (coupling) of the selected gears is often realized via a control component. Here, the calculation related to the behavior of the machine component and the calculation related to the behavior of the control component may be executed using different hardware resources. However, when the control target is a vehicle drive transmission device, etc., as described above, the behavioral change between the mechanical component and the control component has order dependency. For this reason, if these two controls are executed using different hardware resources, an unnecessary waiting time may be generated and the calculation efficiency may be reduced. According to this configuration, since the behavior schedule indicating the order of behavior change of the vehicle drive transmission device is calculated by one CPU core, it is possible to suppress such a decrease in the calculation efficiency.

車両用駆動伝達装置において、歯車の連結などを実際に実現するためには、一般的にアクチュエータが必要である。アクチュエータは、当然ながらマルチコア演算装置の外部に備えられているから、制御信号やデータなどはマルチコア演算装置のインターフェイス機能ブロックを介して伝達される。また、車両用駆動伝達装置の動作状態などを示す物理情報を検出するセンサなども、マルチコア演算装置の外部に備えられている。従って、そのようなセンサによる検出情報も、マルチコア演算装置のインターフェイス機能ブロックを介して伝達される。例えば、アクチュエータ制御アプリケーションとセンシングアプリケーションとが異なるCPUコアによって実行されていると、アクチュエータとセンサとが、同じ時期に同じインターフェイス機能ブロックを使おうとして、一方のCPUコアに待ち時間が生じる場合がある。このような待ち時間は、何れのCPUコアにも生じる場合があるので、全体として演算効率が低下する場合がある。本構成によれば、アクチュエータ制御アプリケーションとセンシングアプリケーションとが同じCPUコアで実行されるから、そのように演算効率が低下することが抑制される。   In a vehicle drive transmission device, an actuator is generally required to actually realize the connection of gears and the like. Since the actuator is naturally provided outside the multi-core arithmetic device, control signals and data are transmitted via the interface function block of the multi-core arithmetic device. In addition, a sensor for detecting physical information indicating the operating state of the vehicle drive transmission device is also provided outside the multi-core arithmetic device. Therefore, the detection information by such a sensor is also transmitted through the interface function block of the multi-core arithmetic device. For example, if the actuator control application and the sensing application are executed by different CPU cores, the actuator and the sensor may try to use the same interface function block at the same time, and a waiting time may occur in one CPU core. . Since such a waiting time may occur in any CPU core, the calculation efficiency may decrease as a whole. According to this configuration, since the actuator control application and the sensing application are executed by the same CPU core, it is possible to suppress such a decrease in the calculation efficiency.

マルチコア演算装置のさらなる特徴と利点は、図面を参照して説明する実施形態についての以下の記載から明確となる。   Further features and advantages of the multi-core arithmetic device will become clear from the following description of embodiments described with reference to the drawings.

マルチコア演算装置を含む車両用駆動伝達装置の模式的ブロック図Schematic block diagram of a vehicle drive transmission device including a multi-core arithmetic device 車両用駆動伝達装置の制御処理の負荷を模式的に示す図The figure which shows typically the load of the control processing of the drive transmission device for vehicles 車両用駆動伝達装置の制御処理の流れを模式的に示す図The figure which shows typically the flow of the control processing of the drive transmission device for vehicles マルチコア演算装置の構成を示す模式的ブロック図Schematic block diagram showing the configuration of a multi-core arithmetic unit 分散処理による車両用駆動伝達装置の制御処理の負荷を模式的に示す図The figure which shows typically the load of the control processing of the drive transmission device for vehicles by distributed processing 各CPUコアと機能ブロックとの関係を示す模式的ブロック図Schematic block diagram showing the relationship between each CPU core and functional blocks 入出力端子の一例を示す平面図Plan view showing an example of input / output terminals 排他処理の一例を示す状態遷移図State transition diagram showing an example of exclusive processing 排他処理及び予約処理の一例を示す状態遷移図State transition diagram showing an example of exclusive processing and reservation processing

以下、マルチコア演算装置(Multi Core Processor)の実施形態を図面に基づいて説明する。本実施形態では、マルチコア演算装置は、車両用駆動伝達装置を制御対象とする半導体大規模集積回路(システムLSI)である。ここで、車両用駆動伝達装置とは、車両の車輪へ、駆動力源の駆動力を伝達する装置である。車両用駆動伝達装置は、少なくとも、駆動力源の側からの駆動力を受け取る入力部材と、車輪の側へ駆動力を提供する出力部材とを有し、入力部材と出力部材との間に、駆動力を伝達する伝動部材を有している。即ち、入力部材と出力部材とは、1つ以上の伝動部材を介して駆動連結されている。尚、駆動連結とは、2つの回転要素が駆動力を伝達可能に連結された状態を指し、当該2つの回転要素が一体的に回転するように連結された状態、或いは当該2つの回転要素が一又は二以上の伝動部材を介して駆動力を伝達可能に連結された状態を含む。   Hereinafter, embodiments of a multi-core processor (Multi Core Processor) will be described with reference to the drawings. In the present embodiment, the multi-core arithmetic device is a semiconductor large-scale integrated circuit (system LSI) whose control target is a vehicle drive transmission device. Here, the vehicle drive transmission device is a device that transmits the driving force of the driving force source to the wheels of the vehicle. The vehicle drive transmission device includes at least an input member that receives a driving force from the driving force source side and an output member that provides the driving force to the wheel side, and the input member and the output member have A transmission member for transmitting the driving force is included. That is, the input member and the output member are drivingly connected via one or more transmission members. The drive connection refers to a state in which two rotating elements are connected so as to be able to transmit a driving force, and the two rotating elements are connected so as to rotate integrally, or the two rotating elements are connected to each other. It includes a state in which a driving force is transmitted through one or more transmission members.

駆動力源は、回転電機や内燃機関、及びこれらを組み合わせたハイブリッド駆動機関などである。また、本実施形態では、駆動力を伝達する機構は、トルクコンバータ及び遊星歯車機構を備えたトルクコンバータ式自動変速装置、平歯車機構とクラッチ操作を自動的に行う機構とを備えた自動クラッチ式自動変速装置などの有段の変装装置、径が変わるプーリーにベルトやチェーンを架け渡して無段階で変速するCVT(Continuously Variable Transmission)などである。上述した伝動部材には、回転を同速で又は変速して伝達する各種の部材が含まれる。例えば、これらの変速装置が有する軸、歯車機構、ベルト、チェーン等は伝動部材に含まれる。また、回転及び駆動力を選択的に伝達する係合装置、例えば摩擦係合装置(ブレーキ、クラッチ)や噛み合い式係合装置等も伝動部材に含まれる。   The driving force source is a rotating electrical machine, an internal combustion engine, a hybrid drive engine that combines these, and the like. Further, in the present embodiment, the mechanism for transmitting the driving force is a torque converter type automatic transmission provided with a torque converter and a planetary gear mechanism, an automatic clutch type provided with a spur gear mechanism and a mechanism for automatically performing clutch operation. For example, a step changer such as an automatic transmission or a continuously variable transmission (CVT) that continuously changes a belt or chain around a pulley with a variable diameter. The transmission member described above includes various members that transmit rotation at the same speed or with a variable speed. For example, a shaft, a gear mechanism, a belt, a chain, and the like included in these transmissions are included in the transmission member. The transmission member also includes an engagement device that selectively transmits rotation and driving force, such as a friction engagement device (brake, clutch), a meshing engagement device, and the like.

また、よく知られているように、これらの変速装置では、摩擦係合装置や噛み合い式係合装置の係合状態の切り換えや、プーリーの径の変更などが、油圧回路を介した油圧制御によって行われる。本実施形態においては、マルチコア演算装置が制御対象とする車両駆動伝達装置にそのような油圧回路も含む。   Further, as is well known, in these transmissions, switching of the engagement state of the friction engagement device and the meshing engagement device, changing the diameter of the pulley, and the like are performed by hydraulic control via a hydraulic circuit. Done. In the present embodiment, such a hydraulic circuit is included in the vehicle drive transmission device to be controlled by the multi-core arithmetic device.

図1は、マルチコア演算装置10を用いて車両用駆動伝達装置100を制御する車両用駆動制御装置200の模式的ブロック図である。本実施形態では、図1に示すように、車両用駆動伝達装置100は、自動変速装置101(A/T : Automatic Transmission)、油圧回路102(H/C : Hydraulic Circuit)、油圧回路102を制御するソレノイドなどのアクチュエータ(ACT-1, ACT-2, … ,ACT-n)、自動変速装置101や油圧回路102における物理現象を検出するセンサやスイッチ(S-1, S-2, … , S-n)を備えている。例えば、シフトポジションスイッチや、シフトポジションセンサ、油圧センサ、油温センサ、回転センサ等である。アクチュエータ、センサ、スイッチは、それぞれ複数備えられており、本実施形態では、油圧制御アクチュエータ群120(HCA : Hydraulic Control Actuators)、センサ群130(SEN/SW : Sensors / Switches)として例示している。尚、これらの油圧制御アクチュエータ群120及びセンサ群130は、マルチコア演算装置10の外部に備えられた周辺デバイスに相当する。   FIG. 1 is a schematic block diagram of a vehicle drive control device 200 that controls a vehicle drive transmission device 100 using a multi-core arithmetic device 10. In the present embodiment, as shown in FIG. 1, the vehicle drive transmission device 100 controls an automatic transmission 101 (A / T: Automatic Transmission), a hydraulic circuit 102 (H / C: Hydraulic Circuit), and a hydraulic circuit 102. Actuators such as solenoids (ACT-1, ACT-2, ..., ACT-n), sensors and switches (S-1, S-2, ..., Sn) for detecting physical phenomena in the automatic transmission 101 and the hydraulic circuit 102 ). For example, a shift position switch, a shift position sensor, a hydraulic pressure sensor, an oil temperature sensor, a rotation sensor, and the like. A plurality of actuators, sensors, and switches are provided. In this embodiment, the actuators are exemplified as a hydraulic control actuator group 120 (HCA) and a sensor group 130 (SEN / SW: Sensors / Switches). The hydraulic control actuator group 120 and the sensor group 130 correspond to peripheral devices provided outside the multi-core arithmetic device 10.

また、本実施形態では、マルチコア演算装置10は、第1コア1(CPU1)と第2コア2(CPU2)との2つの独立したCPUコア3と、複数のCPUコア3が共通して使用する共有メモリ4(Global RAM)と、DMAコントローラ6(DMAC : Direct Memory Access Controller)と、外部通信インターフェイス7(PI : Peripheral Interface)と、CANトランシーバ8(CANT : CAN Transceiver)とを備えている。尚、本実施形態では、マルチコア演算装置10が2つのCPUコア3を有するデュアルコアの形態を例示するが、当然ながら3つ以上のCPUコア3を有していてもよい。尚、マルチコア演算装置10の構造上は、DMAコントローラ6及び外部通信インターフェイス7を、複数のCPUコア3が共通して使用することが可能である(図4参照)。しかし、本実施形態では、DMAコントローラ6及び外部通信インターフェイス7は、第2コア2のみが使用し、第1コア1はこれらを使用しない。つまり、本実施形態では、DMAコントローラ6及び外部通信インターフェイス7は、単独のCPUコア3(第2コア2)のみが使用する。従って、複数のCPUコア3の間での調停(例えば排他処理等)を行う必要がなく、第2コア2の管理下において適時これらの機能部を用いたアプリケーションの実行が可能である。   In this embodiment, the multi-core arithmetic device 10 is commonly used by two independent CPU cores 3 of the first core 1 (CPU 1) and the second core 2 (CPU 2) and a plurality of CPU cores 3. A shared memory 4 (Global RAM), a DMA controller 6 (DMAC: Direct Memory Access Controller), an external communication interface 7 (PI: Peripheral Interface), and a CAN transceiver 8 (CANT: CAN Transceiver) are provided. In the present embodiment, the multi-core arithmetic device 10 exemplifies a dual-core configuration having two CPU cores 3, but may naturally have three or more CPU cores 3. Note that the DMA controller 6 and the external communication interface 7 can be used in common by a plurality of CPU cores 3 due to the structure of the multi-core arithmetic device 10 (see FIG. 4). However, in the present embodiment, the DMA controller 6 and the external communication interface 7 are used only by the second core 2, and the first core 1 does not use them. That is, in this embodiment, the DMA controller 6 and the external communication interface 7 are used only by the single CPU core 3 (second core 2). Therefore, it is not necessary to perform arbitration (for example, exclusive processing) between the plurality of CPU cores 3, and applications using these functional units can be executed in a timely manner under the management of the second core 2.

マルチコア演算装置10は、外部通信インターフェイス7を介して、車両用駆動伝達装置100の油圧制御アクチュエータ群120、センサ群130に接続されている。また、マルチコア演算装置10は、CANトランシーバ8を介して、車両の車内ネットワーク300(C/N : Car Network;図2等参照)に接続されて、各種の車内システムとCAN(Controller Area Network)規格で通信する。本実施形態では、車内システムとして、アンチロック・ブレーキ・システム301(ABS : Antilock Brake System)、電気式パワーステアリング302(EPS : Electric Power Steering)、故障診断システム303(DIAG : Diagnosis)などを例示している。   The multi-core arithmetic device 10 is connected to the hydraulic control actuator group 120 and the sensor group 130 of the vehicle drive transmission device 100 via the external communication interface 7. Further, the multi-core arithmetic device 10 is connected to an in-vehicle network 300 (C / N: Car Network; see FIG. 2 and the like) of the vehicle via the CAN transceiver 8, and various in-vehicle systems and CAN (Controller Area Network) standards. Communicate with. In the present embodiment, as an in-vehicle system, an antilock brake system 301 (ABS: Antilock Brake System), an electric power steering 302 (EPS), a failure diagnosis system 303 (DIAG: Diagnosis), etc. are illustrated. ing.

図2は、車両用駆動伝達装置100に対する制御処理の負荷を模式的に示している。図2は、並列処理を行わずに、車両用駆動伝達装置100を制御した場合の処理負荷を例示している。車両用駆動伝達装置100に対する制御処理は、複数のアプリケーション(ソフトウェア)を組み合わせて実行されている。自動変速装置101及び油圧回路102に関するアプリケーションは、変速機制御アプリケーションAP1(挙動スケジュールアプリケーション)及びフェールセーフアプリケーションAP4である。車内ネットワーク300に関するアプリケーションは、通信アプリケーションAP5である。センサ群130に関するアプリケーションは、センシングアプリケーションAP3である。油圧制御アクチュエータ群120に関するアプリケーションは、アクチュエータ制御アプリケーションAP2である。   FIG. 2 schematically shows a control processing load on the vehicle drive transmission device 100. FIG. 2 illustrates the processing load when the vehicle drive transmission device 100 is controlled without performing parallel processing. The control process for the vehicle drive transmission device 100 is executed by combining a plurality of applications (software). Applications related to the automatic transmission 101 and the hydraulic circuit 102 are a transmission control application AP1 (behavior schedule application) and a fail-safe application AP4. An application related to the in-vehicle network 300 is a communication application AP5. An application related to the sensor group 130 is a sensing application AP3. An application related to the hydraulic control actuator group 120 is an actuator control application AP2.

ところで、図2に示すように、変速機制御アプリケーションAP1には、特に自動変速装置101に関連したアプリケーションである変速制御アプリケーションAP1aと、特に油圧回路102に関連したアプリケーションである油圧制御アプリケーションAP1bとがある。変速制御アプリケーションAP1aは、変速比に応じたギヤの組み合わせなどを決めるアプリケーションである。油圧制御アプリケーションAP1bは、変速制御アプリケーションAP1aが決定したギヤの組み合わせなどに応じて、自動変速装置101のクラッチやブレーキなどの係合装置を制御するための油圧、つまり油圧回路102における各所の油圧を決定する。   As shown in FIG. 2, the transmission control application AP1 includes a shift control application AP1a that is an application particularly related to the automatic transmission device 101, and a hydraulic control application AP1b that is an application particularly related to the hydraulic circuit 102. is there. The shift control application AP1a is an application that determines a combination of gears according to a gear ratio. The hydraulic control application AP1b controls the hydraulic pressure for controlling the engagement devices such as the clutch and the brake of the automatic transmission 101, that is, the hydraulic pressure at various points in the hydraulic circuit 102, according to the gear combination determined by the shift control application AP1a. decide.

変速制御アプリケーションAP1aと、油圧制御アプリケーションAP1bとは、このように順序依存性を有するため、総称して変速機制御アプリケーションAP1と称する。また、変速機制御アプリケーションAP1は、車両用駆動伝達装置100におけるギヤやクラッチなどの挙動スケジュールを決定するアプリケーションということもできるので、挙動スケジュールアプリケーションと称することもできる。尚、フェールセーフアプリケーションAP4は、油圧制御アプリケーションAP1bの決定した油圧に応じて、対象となるクラッチやブレーキが正常に動作したか否かなどを判定し、異常が生じていた場合にはその対処を行うアプリケーションである。従って、フェールセーフアプリケーションAP4も、変速制御アプリケーションAP1a及び油圧制御アプリケーションAP1bに対して順序依存性を有しているということができる。従って、フェールセーフアプリケーションAP4も、挙動スケジュールアプリケーションに含めることができる。   Since the shift control application AP1a and the hydraulic control application AP1b have such order dependency, they are collectively referred to as a transmission control application AP1. The transmission control application AP1 can also be referred to as a behavior schedule application because it can also be referred to as an application that determines a behavior schedule of gears, clutches, and the like in the vehicle drive transmission device 100. The fail-safe application AP4 determines whether or not the target clutch or brake has operated normally according to the oil pressure determined by the oil pressure control application AP1b. It is an application to perform. Accordingly, it can be said that the fail-safe application AP4 also has order dependency on the shift control application AP1a and the hydraulic control application AP1b. Therefore, the fail safe application AP4 can also be included in the behavior schedule application.

図3は、これらのアプリケーションを並列処理することなく、直列処理した場合の制御処理の流れを模式的に示している。処理の優先順位は、図3の上段側のアプリケーションの方が、下段側のアプリケーションよりも高い。つまり、最も優先順位の高いアプリケーションは、アクチュエータ制御アプリケーションAP2であり、続いてセンシングアプリケーションAP3、通信アプリケーションAP5である。挙動スケジュールアプリケーションである変速機制御アプリケーションAP1及びフェールセーフアプリケーションAP4は最も優先順位が低い。但し、挙動スケジュールアプリケーションは、車両用駆動伝達装置100においてメインのアプリケーションとして実行される。   FIG. 3 schematically shows the flow of control processing when these applications are serially processed without parallel processing. The priority of processing is higher in the upper application in FIG. 3 than in the lower application. That is, the application with the highest priority is the actuator control application AP2, followed by the sensing application AP3 and the communication application AP5. The transmission control application AP1 and the failsafe application AP4 which are behavior schedule applications have the lowest priority. However, the behavior schedule application is executed as a main application in the vehicle drive transmission device 100.

即ち、メインのアプリケーションとして、変速制御アプリケーションAP1a、油圧制御アプリケーションAP1b、フェールセーフアプリケーションAP4が、順に実行され、1サイクルずつ周期的に繰り返される。あるサイクルの処理が実行されている間に、前回のサイクルにおいて決定された油圧を満足するように、アクチュエータ制御アプリケーションAP2が実行される。同様に、あるサイクルの処理が実行されている間に、センシングアプリケーションAP3が実行されて、各種センサやスイッチからの検出結果が取得される。即ち、メインの処理の実行中に、アクチュエータ制御アプリケーションAP2やセンシングアプリケーションAP3を実行するための割り込み処理が実行される。通信アプリケーションAP5の実行が要求される場合も同様に割り込み処理が実行される。図3において、白抜きの丸印は割り込みの発生を示し、破線の矢印はメイン処理に対して割り込み処理が実行されていることを示している。   That is, as the main application, the shift control application AP1a, the hydraulic control application AP1b, and the failsafe application AP4 are executed in order, and are periodically repeated one cycle at a time. While the process of a certain cycle is being executed, the actuator control application AP2 is executed so as to satisfy the hydraulic pressure determined in the previous cycle. Similarly, while processing of a certain cycle is being executed, the sensing application AP3 is executed, and detection results from various sensors and switches are acquired. That is, during execution of the main process, an interrupt process for executing the actuator control application AP2 and the sensing application AP3 is executed. Similarly, when the execution of the communication application AP5 is requested, the interrupt process is executed. In FIG. 3, a white circle indicates that an interrupt has occurred, and a dashed arrow indicates that interrupt processing is being executed for the main processing.

一般的に、このような割り込み処理は、全体の演算速度を低下させる。例えば、これらのアプリケーションを並列処理することなく、直列処理した場合には、図2に示すように、演算負荷は最大演算能力に対して約90%に達する。コンピュータシステムを安定的に運用する上では、演算負荷は70%以下程度に抑えることが好ましい。本実施形態では、マルチコア演算装置10を用いて並列処理を実現することによって、割り込み処理も削減し、演算負荷を低減させる。但し、処理を分割した場合には、その分割によって新たな処理が発生することがある。このような新たな処理をオーバーヘッド処理と称する。このため、単純に複数のアプリケーションを複数のCPUコア3に分散させた場合には、オーバーヘッド処理が増加して、演算負荷の低減効果が限定的となることもある。本実施形態では、マルチコア演算装置10のハードウェア構成も考慮し、そのようなオーバーヘッド処理も抑制して、適切に分散処理を実現する。   In general, such interrupt processing reduces the overall calculation speed. For example, when these applications are serially processed without parallel processing, the calculation load reaches about 90% of the maximum calculation capacity as shown in FIG. In order to stably operate the computer system, it is preferable to suppress the calculation load to about 70% or less. In the present embodiment, by implementing parallel processing using the multi-core arithmetic device 10, interrupt processing is also reduced, and the arithmetic load is reduced. However, when a process is divided, a new process may occur due to the division. Such new processing is called overhead processing. For this reason, when a plurality of applications are simply distributed to a plurality of CPU cores 3, overhead processing increases, and the effect of reducing the computation load may be limited. In the present embodiment, the hardware configuration of the multi-core arithmetic device 10 is also taken into consideration, and such overhead processing is suppressed to appropriately realize distributed processing.

図4のブロック図は、マルチコア演算装置10の構成を模式的に示している。図5は、図2に対応する図であり、車両用駆動伝達装置100に対する制御処理を分散させた場合の負荷を模式的に示している。図6は、図1に対応するブロック図であり、車両用駆動伝達装置100に対する制御処理を分散させる際の、各アプリケーションとマルチコア演算装置10のハードウェア構成との関連を示している。   The block diagram of FIG. 4 schematically shows the configuration of the multi-core arithmetic device 10. FIG. 5 is a diagram corresponding to FIG. 2 and schematically shows a load when control processing for the vehicle drive transmission device 100 is distributed. FIG. 6 is a block diagram corresponding to FIG. 1, and shows the relationship between each application and the hardware configuration of the multi-core arithmetic device 10 when the control processing for the vehicle drive transmission device 100 is distributed.

図1を参照して上述したように、マルチコア演算装置10は、第1コア1と第2コア2との2つの独立したCPUコア3を備えている。図4に示すように、本実施形態では、第1コア1と、第2コア2とは異なる構成のCPUコア3であるが、第1コア1と第2コア2とは、同一の構成のCPUコア3であってもよい。本実施形態では、第1コア1は、CPUコア3の中核となる第1マイクロプロセッサ11(MPU : Micro Processing Unit)、第1割り込みコントローラ12(INTC : Interrupt Controller)、浮動小数点演算ユニット13(FPU : Floating-point Processing Unit)を有している。また、第1コア1には、共有メモリ4(Global RAM)の他に、第1コア1が占有する第1専用メモリ19(Local RAM)が接続されている。第1コア1から第1専用メモリ19に対するアクセス速度は、第1コア1から共有メモリ4へのアクセス速度に比べて高速である。   As described above with reference to FIG. 1, the multi-core arithmetic device 10 includes two independent CPU cores 3, that is, a first core 1 and a second core 2. As shown in FIG. 4, in the present embodiment, the first core 1 and the second core 2 are CPU cores 3 having different configurations, but the first core 1 and the second core 2 have the same configuration. The CPU core 3 may be used. In the present embodiment, the first core 1 includes a first microprocessor 11 (MPU: Micro Processing Unit), a first interrupt controller 12 (INTC: Interrupt Controller), and a floating point arithmetic unit 13 (FPU) as the core of the CPU core 3. : Floating-point Processing Unit). In addition to the shared memory 4 (Global RAM), a first dedicated memory 19 (Local RAM) occupied by the first core 1 is connected to the first core 1. The access speed from the first core 1 to the first dedicated memory 19 is higher than the access speed from the first core 1 to the shared memory 4.

第2コア2は、第2マイクロプロセッサ21(MPU)、第2割り込みコントローラ22(INTC)を有している。第1コア1と同様に、第2コア2にも、第2コア2が占有する第2専用メモリ29(Local RAM)が接続されている。第2コア2から第2専用メモリ29に対するアクセス速度も、第2コア2から共有メモリ4へのアクセス速度に比べて高速である。   The second core 2 has a second microprocessor 21 (MPU) and a second interrupt controller 22 (INTC). Similar to the first core 1, a second dedicated memory 29 (Local RAM) occupied by the second core 2 is also connected to the second core 2. The access speed from the second core 2 to the second dedicated memory 29 is also higher than the access speed from the second core 2 to the shared memory 4.

第1コア1及び第2コア2には、フラッシュメモリインターフェイス90(FRASH I/F)を介して、アプリケーション(プログラムコード)が格納されたコード用フラッシュメモリ9(PGM FRASH)が接続されている。また、第1コア1、第2コア2及びフラッシュメモリインターフェイス90は、マルチコア演算装置10の中核となる機能ブロック(システム)を結ぶ連結バス20(I-BUS : System Interconnect Bus)に接続されている。連結バス20には、図1を参照して上述した共有メモリ4(Global RAM)及びDMAコントローラ6(DMAC)も接続されている。   A code flash memory 9 (PGM FRASH) storing an application (program code) is connected to the first core 1 and the second core 2 via a flash memory interface 90 (FRASH I / F). The first core 1, the second core 2, and the flash memory interface 90 are connected to a connection bus 20 (I-BUS: System Interconnect Bus) that connects functional blocks (systems) serving as the core of the multi-core arithmetic device 10. . The shared bus 4 (Global RAM) and the DMA controller 6 (DMAC) described above with reference to FIG. 1 are also connected to the connection bus 20.

共有メモリ4は、第1コア1及び第2コア2の双方が利用するため、競合するおそれがある。このため、共有メモリ4を利用する権利(アクセス権)を管理するための機能ブロックとして、排他制御レジスタ41(MEVR : Mutual Exclusion Value Resister)が設けられている。排他制御レジスタ41は、第1コア1と第2コア2との間で、後述する相互排他値を管理する。管理の詳細については後述する。尚、本実施形態では、第1コア1と第2コア2との構成が異なり、一時記憶領域を大量に利用したり、浮動小数点を用いたりした複雑な演算は、第2コア2に比べて、第1コア1の方が適している。このため、共有メモリ4も第1コア1には直接接続されているが、第2コア2には連結バス20を介して接続されている。   Since the shared memory 4 is used by both the first core 1 and the second core 2, there is a risk of contention. For this reason, an exclusive control register 41 (MEVR: Mutual Exclusion Value Register) is provided as a functional block for managing the right (access right) to use the shared memory 4. The exclusive control register 41 manages a mutual exclusion value described later between the first core 1 and the second core 2. Details of management will be described later. In the present embodiment, the first core 1 and the second core 2 are different in configuration, and complex operations such as using a large amount of temporary storage areas or using floating point are more difficult than the second core 2. The first core 1 is more suitable. For this reason, the shared memory 4 is also directly connected to the first core 1, but is connected to the second core 2 via the connection bus 20.

排他制御レジスタ41は、共有資源5の1つである共有メモリ4に割り当てられた共有資源管理機能ブロックである。本実施形態では、第1コア1及び第2コア2が互いに他方のCPUコア3に対して割り込み処理を要求するための共有資源管理機能ブロックとして、内部コア割り込み制御レジスタ47(ICIR : Internal Core Interrupt Control Resister)も設けられている。例えば、第1コア1は、第2コア2によって利用することができてもよく、同様に第2コア2は、第1コア1によって利用することができてもよい。このような場合、第1コア1及び第2コア2は、相互に共有資源5となることができる。   The exclusive control register 41 is a shared resource management function block allocated to the shared memory 4 that is one of the shared resources 5. In this embodiment, the internal core interrupt control register 47 (ICIR: Internal Core Interrupt) is used as a shared resource management function block for the first core 1 and the second core 2 to request interrupt processing from the other CPU core 3. Control Resister) is also provided. For example, the first core 1 may be used by the second core 2, and similarly, the second core 2 may be used by the first core 1. In such a case, the first core 1 and the second core 2 can be shared resources 5 with each other.

1つの態様として、第1専用メモリ19が、連結バス20及び第1コア1を介して、第2コア2から利用可能であってもよい。第2コア2が、第1専用メモリ19を利用する場合、同時に第1コア1が第1専用メモリ19を利用すると好ましくないため、排他処理(排他制御)を行うことが好ましい。内部コア割り込み制御レジスタ47はこのような場合に、排他処理を行うことができる。同様に、第2専用メモリ29も、連結バス20及び第2コア2を介して、第1コア1から利用可能であってもよい。当然ながら、第1専用メモリ19及び第2専用メモリ29の内の、一方のみが共有でき、他方は共有できない構成であってもよい。   As one aspect, the first dedicated memory 19 may be available from the second core 2 via the connection bus 20 and the first core 1. When the second core 2 uses the first dedicated memory 19, it is not preferable that the first core 1 uses the first dedicated memory 19 at the same time. Therefore, it is preferable to perform exclusive processing (exclusive control). In such a case, the internal core interrupt control register 47 can perform exclusive processing. Similarly, the second dedicated memory 29 may also be available from the first core 1 via the connection bus 20 and the second core 2. Of course, only one of the first dedicated memory 19 and the second dedicated memory 29 can be shared, and the other cannot be shared.

第1コア1及び第2コア2は、マルチコア演算装置10の内部バスであるプロセッサバス30(P-BUS : Processor Bus)にも接続されている。また、プロセッサバス30には、連結バス20も接続されている。プロセッサバス30には、上述した外部通信インターフェイス7やCANトランシーバ8(CANT)の他、ADコンバータ31(ADC : Analogue Digital Converter)、入出力レジスタ32(I/O : Input / Output Terminal Register)、リセットコントローラ33(RSTC : Reset Controller)、データ用フラッシュメモリ34(DATA FLASH)などの機能ブロックが接続されている。入出力レジスタ32は、マルチコア演算装置10から出力されるデータを保持して、出力端子として機能する入出力端子10t(図7参照)から出力させ、入力端子として機能する入出力端子10tからマルチコア演算装置10に入力されたデータを保持して、マルチコア演算装置10の機能ブロックに提供する機能ブロックである。リセットコントローラ33は、CPUコア3を含む機能ブロックをリセットする機能ブロックである。データ用フラッシュメモリ34は、書き込み及び書き換え可能な不揮発性のメモリであり、マルチコア演算装置10への電源供給が途絶えた後も保持する必要のあるデータを格納することができる。   The first core 1 and the second core 2 are also connected to a processor bus 30 (P-BUS: Processor Bus) that is an internal bus of the multi-core arithmetic device 10. In addition, a connection bus 20 is also connected to the processor bus 30. In addition to the above-described external communication interface 7 and CAN transceiver 8 (CANT), the processor bus 30 includes an AD converter 31 (ADC: Analogue Digital Converter), an input / output register 32 (I / O: Input / Output Terminal Register), and a reset. Functional blocks such as a controller 33 (RSTC: Reset Controller) and a data flash memory 34 (DATA FLASH) are connected. The input / output register 32 holds data output from the multi-core arithmetic unit 10 and outputs the data from the input / output terminal 10t (see FIG. 7) functioning as an output terminal, and from the input / output terminal 10t functioning as an input terminal. It is a functional block that holds data input to the device 10 and provides it to the functional blocks of the multi-core arithmetic device 10. The reset controller 33 is a functional block that resets a functional block including the CPU core 3. The data flash memory 34 is a rewritable and rewritable nonvolatile memory, and can store data that needs to be retained even after the power supply to the multi-core arithmetic device 10 is interrupted.

以下、このようなマルチコア演算装置10により、車両用駆動伝達装置100の制御ソフトウェア(アプリケーション)を分散処理する実施形態について説明する。図5は、第1コア1(CPU1)及び第2コア2(CPU2)へのアプリケーションの割り当てと処理負荷とを示している。図6は、マルチコア演算装置10の機能ブロックの内、各CPUコア3により実行されるアプリケーションとの関連性が強い機能ブロックと、各CPUコア3との関係を示している。   Hereinafter, an embodiment in which the control software (application) of the vehicle drive transmission device 100 is distributed by the multi-core arithmetic device 10 will be described. FIG. 5 shows the assignment of applications to the first core 1 (CPU 1) and the second core 2 (CPU 2) and the processing load. FIG. 6 shows the relationship between the CPU cores 3 and the functional blocks that are strongly related to the applications executed by the CPU cores 3 among the functional blocks of the multi-core arithmetic device 10.

図5に示すように、第1コア1(CPU1)が、変速機制御アプリケーションAP1(挙動スケジュールアプリケーション)、フェールセーフアプリケーションAP4を実行し、第2コア2(CPU2)が、アクチュエータ制御アプリケーションAP2及びセンシングアプリケーションAP3を実行する。後述するように、第1コア1は、さらに通信アプリケーションAP5も実行するが、相対的に処理負荷の高い第1コア1であっても、負荷は最大演算負荷の70%以下に収まっている。負荷分散の観点からは、適切な分散処理が実現できている。   As shown in FIG. 5, the first core 1 (CPU1) executes the transmission control application AP1 (behavior schedule application) and the failsafe application AP4, and the second core 2 (CPU2) performs the actuator control application AP2 and sensing. The application AP3 is executed. As will be described later, the first core 1 also executes the communication application AP5. However, even if the first core 1 has a relatively high processing load, the load is within 70% of the maximum calculation load. From the viewpoint of load distribution, appropriate distributed processing can be realized.

具体的には、上述したように順序依存性の高い変速機制御アプリケーションAP1及びフェールセーフアプリケーションAP4は、1つのCPUコア3(本実施形態では第1コア1)に集約されている。順序依存性の高い処理を複数のハードウェアに分割すると、待ち時間や同期処理時間など、オーバーヘッド処理に要する時間が大きくなる傾向がある。本実施形態のように、1つのハードウェア(CPUコア3)に順序依存性の高いアプリケーションを集約することによって、そのようなオーバーヘッド処理の発生を抑制し、分散処理による処理時間の増加を抑制することができる。   Specifically, as described above, the transmission control application AP1 and the failsafe application AP4 having high order dependency are integrated into one CPU core 3 (the first core 1 in the present embodiment). When processing with high order dependency is divided into a plurality of hardware, the time required for overhead processing such as waiting time and synchronization processing time tends to increase. As in this embodiment, by consolidating applications with high order dependency on one piece of hardware (CPU core 3), occurrence of such overhead processing is suppressed, and increase in processing time due to distributed processing is suppressed. be able to.

本実施形態では、第1コア1により通信アプリケーションAP5が実行される形態を例示しているが、通信アプリケーションAP5は、第1コア1及び第2コア2の何れのCPUコア3によって実行されてもよい。プログラムコードの生成の容易性や、デバッグの容易性、複数のCPUコア3の負荷バランスなどを考慮して、アプリケーションを実行するCPUコア3が選択されればよい。例えば、CANは汎用的な通信規格であるから、接続形態や通信速度などを設定することによって、自動的に基本的なプログラムコードを発生させるような自動ツールも実用化されている。第1コア1及び第2コア2が、互いにハードウェア構造や、オペレーティングシステムなどのコンピュータアーキテクチャが異なるような場合には、そのような自動ツールが利用可能なコンピュータアーキテクチャを有するCPUコア3に通信アプリケーションAP5を割り当てると好適である。   In the present embodiment, the form in which the communication application AP5 is executed by the first core 1 is illustrated, but the communication application AP5 may be executed by any of the CPU cores 3 of the first core 1 and the second core 2. Good. The CPU core 3 that executes the application may be selected in consideration of the ease of generating the program code, the ease of debugging, the load balance of the plurality of CPU cores 3, and the like. For example, since CAN is a general-purpose communication standard, an automatic tool that automatically generates a basic program code by setting a connection form, a communication speed, and the like has been put into practical use. When the first core 1 and the second core 2 have different hardware structures and computer architectures such as an operating system, the communication application is applied to the CPU core 3 having a computer architecture that can use such an automatic tool. It is preferable to assign AP5.

図5を参照して上述したように、アクチュエータ制御アプリケーションAP2及びセンシングアプリケーションAP3は、第2コア2(CPU2)が実行する。アクチュエータ制御アプリケーションAP2では、例えば、予めマルチコア演算装置10内のメモリに設定された変調パターンをDMA転送によって出力することによって油圧制御アクチュエータ群120を制御し、油圧制御アクチュエータ群120からの状態信号などをシリアル通信によってマルチコア演算装置10内に取り込む。また、センシングアプリケーションAP3では、例えば、センサ群130による検出結果をDMA転送によってマルチコア演算装置10内のメモリに取り込み、センサ群130の制御などをシリアル通信によって行う。   As described above with reference to FIG. 5, the actuator control application AP2 and the sensing application AP3 are executed by the second core 2 (CPU 2). In the actuator control application AP2, for example, the hydraulic control actuator group 120 is controlled by outputting a modulation pattern set in advance in a memory in the multi-core arithmetic unit 10 by DMA transfer, and a status signal from the hydraulic control actuator group 120 is output. The data is taken into the multicore arithmetic device 10 by serial communication. In the sensing application AP3, for example, the detection result of the sensor group 130 is taken into the memory in the multi-core arithmetic device 10 by DMA transfer, and the control of the sensor group 130 is performed by serial communication.

図6に示すように、第1コア1は、変速機制御アプリケーションAP1(挙動スケジュールアプリケーション)の実行による演算結果である挙動スケジュールを共有メモリ4に書き込む。第2コア2は、共有メモリ4に記憶された挙動スケジュールを共有メモリ4から読み出し、当該挙動スケジュールに基づいてアクチュエータ制御アプリケーションAP2を実行する。アクチュエータ制御アプリケーションAP2の実行による演算結果は、第2コア2の指令を受けたDMAコントローラ6により、外部通信インターフェイス7にDMA転送され、外部通信インターフェイス7を介して油圧制御アクチュエータ群120に提供される。さらに、第2コア2は、センシングアプリケーションAP3の実行により、センサ群130からの物理情報を外部通信インターフェイス7に受け取らせる。外部通信インターフェイス7がセンサ群130から受け取った物理情報は、第2コア2の指令を受けたDMAコントローラ6により、外部通信インターフェイス7から共有メモリ4にDMA転送され、共有メモリ4に記憶される。   As shown in FIG. 6, the first core 1 writes a behavior schedule, which is a calculation result by execution of the transmission control application AP <b> 1 (behavior schedule application), to the shared memory 4. The second core 2 reads the behavior schedule stored in the shared memory 4 from the shared memory 4 and executes the actuator control application AP2 based on the behavior schedule. A calculation result obtained by executing the actuator control application AP2 is DMA-transferred to the external communication interface 7 by the DMA controller 6 that has received a command from the second core 2, and is provided to the hydraulic control actuator group 120 via the external communication interface 7. . Further, the second core 2 causes the external communication interface 7 to receive physical information from the sensor group 130 by executing the sensing application AP3. The physical information received from the sensor group 130 by the external communication interface 7 is DMA-transferred from the external communication interface 7 to the shared memory 4 by the DMA controller 6 that has received a command from the second core 2, and stored in the shared memory 4.

このように、アクチュエータ制御アプリケーションAP2及びセンシングアプリケーションAP3では、DMAコントローラ6や外部通信インターフェイス7を断続的に使用する。一方、変速機制御アプリケーションAP1やフェールセーフアプリケーションAP4では、DMAコントローラ6や外部通信インターフェイス7は使用しない。DMAコントローラ6や外部通信インターフェイス7は、共有メモリ4と同様に共有資源5であるから、異なるアプリケーションが同じ共有資源5を使用するためには調停が必要である。ここで、それらの異なるアプリケーションが異なるCPUコア3によって実行されていると、異なるCPUコア3の間で調停が必要となるため、通信時間や待ち時間などのオーバーヘッド時間が大きくなる。   Thus, in the actuator control application AP2 and the sensing application AP3, the DMA controller 6 and the external communication interface 7 are used intermittently. On the other hand, the transmission controller application AP1 and the failsafe application AP4 do not use the DMA controller 6 or the external communication interface 7. Since the DMA controller 6 and the external communication interface 7 are shared resources 5 like the shared memory 4, arbitration is necessary for different applications to use the same shared resources 5. Here, if these different applications are executed by different CPU cores 3, arbitration is required between the different CPU cores 3, so overhead time such as communication time and waiting time increases.

特に本実施形態のように、第1コア1と第2コア2との独立性が高く、互いに直接接続されずに連結バス20(I-BUS)を介して通信を行うような構成では、調停によるオーバーヘッド時間は長くなる傾向がある。さらに、図3に示すように、アクチュエータ制御アプリケーションAP2及びセンシングアプリケーションAP3は、1回の制御周期が相対的に短いため、高い頻度で断続的にDMAコントローラ6や外部通信インターフェイス7を使用する。このため、調停によるオーバーヘッド時間が大きくなる傾向がある。本実施形態では、アクチュエータ制御アプリケーションAP2及びセンシングアプリケーションAP3が異なるCPUコア3に分散されることなく、1つのCPUコア3(ここでは第2コア2)によって実行される。従って、分散処理によるオーバーヘッドの発生が抑制されて、適切な分散処理が実現される。   In particular, in the configuration in which the first core 1 and the second core 2 are highly independent as in the present embodiment and communication is performed via the connection bus 20 (I-BUS) without being directly connected to each other, arbitration is performed. The overhead time due to tends to be long. Furthermore, as shown in FIG. 3, the actuator control application AP2 and the sensing application AP3 use the DMA controller 6 and the external communication interface 7 intermittently at high frequency because one control cycle is relatively short. For this reason, there is a tendency for the overhead time due to arbitration to increase. In the present embodiment, the actuator control application AP2 and the sensing application AP3 are executed by one CPU core 3 (here, the second core 2) without being distributed to different CPU cores 3. Therefore, generation of overhead due to distributed processing is suppressed, and appropriate distributed processing is realized.

尚、変速機制御アプリケーションAP1においても、車内ネットワーク300を介して変速指令などを受け取る場合がある。つまり、変速機制御アプリケーションAP1もCANトランシーバ8を利用する場合がある。本実施形態では、主にCANトランシーバ8を用いるアプリケーションである通信アプリケーションAP5は、変速機制御アプリケーションAP1と共に第1コア1によって実行される。従って、同一の共有資源5を利用するアプリケーションを異なるCPUコア3に分散させないという観点からも、第1コア1への通信アプリケーションAP5の割り当ては適切ということができる。   Note that the transmission control application AP1 may also receive a shift command or the like via the in-vehicle network 300. That is, the transmission control application AP1 may also use the CAN transceiver 8. In the present embodiment, a communication application AP5 that is an application that mainly uses the CAN transceiver 8 is executed by the first core 1 together with the transmission control application AP1. Therefore, it can be said that the allocation of the communication application AP5 to the first core 1 is also appropriate from the viewpoint of not distributing applications that use the same shared resource 5 to different CPU cores 3.

また、上述したように、プロセッサバス30に接続されたADコンバータ31や、入出力レジスタ32、データ用フラッシュメモリ34も、共有資源5の1つということができる。そして、入出力レジスタ32に接続された入出力端子10t(図7参照)も共有資源5の1つということができる。入出力端子10tの種別によっては、その属性を、マルチコア演算装置10内で実行されるソフトウェアによって変更することが可能である。しかし、複数のCPUコア3により複数のソフトウェア(アプリケーション)が並行して実行されるような場合には、DMAコントローラ6などと同様に、調停が必要である。従って、第1コア1及び第2コア2には、それぞれ占有する入出力端子10tが割り当てられていると好適である。   As described above, the AD converter 31, the input / output register 32, and the data flash memory 34 connected to the processor bus 30 can also be considered as one of the shared resources 5. The input / output terminal 10t (see FIG. 7) connected to the input / output register 32 is also one of the shared resources 5. Depending on the type of the input / output terminal 10 t, the attribute can be changed by software executed in the multi-core arithmetic device 10. However, in the case where a plurality of software (applications) are executed in parallel by a plurality of CPU cores 3, arbitration is required as in the DMA controller 6 and the like. Therefore, it is preferable that the first and second cores 1 and 2 are assigned with the occupied input / output terminals 10t.

図7は、複数のCPUコア3及び共有メモリ4を収容し、複数の入出力端子10tを備える外囲器10pの模式的な外形図である。本実施形態では、BGA(Ball Grid Array)タイプの半導体パッケージを例示している。例えば、図7に示すように、第1コア1が占有する第1端子群1tや、第2コア2が占有する第2端子群2tが予め割り当てられていると好適である。尚、このような端子の割り当ては、ハードウェア構造上、固定的に割り当てられていてもよいし、マルチコア演算装置10の内部の不図示のレジスタによる設定など、ソフトウェア的に割り当てられていてもよい。   FIG. 7 is a schematic external view of an envelope 10p that houses a plurality of CPU cores 3 and a shared memory 4 and includes a plurality of input / output terminals 10t. In the present embodiment, a BGA (Ball Grid Array) type semiconductor package is illustrated. For example, as shown in FIG. 7, it is preferable that the first terminal group 1t occupied by the first core 1 and the second terminal group 2t occupied by the second core 2 are assigned in advance. Note that such terminal assignment may be fixedly assigned due to the hardware structure, or may be assigned by software such as setting by a register (not shown) in the multi-core arithmetic device 10. .

上述したように、同じ共有資源5を異なるCPUコア3が利用することができるだけ少なくなるように、それぞれのCPUコア3にアプリケーションを割り当てることで、適切な分散処理を実現することができる。しかし、全ての共有資源5が単一のCPUコア3によって利用されるように、それぞれの共有資源5を占有させることは現実的ではない。例えば、共有メモリ4は、第1コア1と第2コア2との通信を媒介するためにも用いられるので、第1コア1及び第2コア2の何れかに占有させることはできない。従って、共有メモリ4の使用に際しては、調停処理が必要である。   As described above, appropriate distributed processing can be realized by assigning an application to each CPU core 3 so that different CPU cores 3 can use the same shared resource 5 as much as possible. However, it is not realistic to occupy each shared resource 5 so that all the shared resources 5 are used by a single CPU core 3. For example, since the shared memory 4 is also used to mediate communication between the first core 1 and the second core 2, it cannot be occupied by either the first core 1 or the second core 2. Therefore, an arbitration process is necessary when using the shared memory 4.

本実施形態では、排他制御レジスタ41(MEVR)を用いて排他処理が実施される。ここで、排他処理とは、1つのCPUコア3が共有資源5(例えば共有メモリ4内の特定のデータグループ(DATA Gr.))にアクセスしている間は、他のCPUコア3による同一の共有資源5へのアクセスを制限する処理である。排他制御レジスタ41は、共有資源5を使用する権利であるアクセス権(後述するロックナンバー)を管理する共有資源管理機能ブロックの1つである。換言すれば、管理対象の共有資源5と排他制御レジスタ41のロックナンバーとは互いに紐付けされている(関連付けられている)。   In the present embodiment, exclusive processing is performed using the exclusive control register 41 (MEVR). Here, the exclusive process is the same as that performed by another CPU core 3 while one CPU core 3 is accessing the shared resource 5 (for example, a specific data group (DATA Gr.) In the shared memory 4). This is processing for restricting access to the shared resource 5. The exclusive control register 41 is one of shared resource management function blocks that manage an access right (lock number described later) that is a right to use the shared resource 5. In other words, the shared resource 5 to be managed and the lock number of the exclusive control register 41 are associated (associated) with each other.

本実施形態では、共有メモリ4の内部に、第1コア1及び第2コア2の双方がデータを少なくとも参照する共通の記憶領域(データグループ(DATA Gr.))が設定されている。このようなデータグループは、複数個設定することができる。ここで、1つのデータグループをデータ[a]、データ[b]、データ[c]による“[a, b, c]”とする。データ[a]、データ[b]、データ[c]は、それぞれ異なるデータであり、それぞれ異なるタイミングに書き込まれる(更新される)ものとする。但し、これらのデータは、データが取得されたタイミング(更新されたタイミング)が整合性を持っている状態で用いられる必要がある。例えば、これら3つのデータが、センシングアプリケーションAP3によって取得されるデータであれば、全てが図3における同一の制御周期(例えば第1周期T1)で取得され、記憶されたデータであることが求められる。異なる制御周期で取得されたデータ、例えば、第1周期T1で取得されたデータと、第2周期T2で取得されたデータとが混在している状態は、整合性を有していない状態である。   In the present embodiment, a common storage area (data group (DATA Gr.)) In which both the first core 1 and the second core 2 refer to data is set in the shared memory 4. A plurality of such data groups can be set. Here, one data group is assumed to be “[a, b, c]” by data [a], data [b], and data [c]. Data [a], data [b], and data [c] are different data, and are written (updated) at different timings. However, these data need to be used in a state where the timing at which the data is acquired (updated timing) is consistent. For example, if these three data are data acquired by the sensing application AP3, it is required that all the data is acquired and stored in the same control cycle (for example, the first cycle T1) in FIG. . A state in which data acquired in different control cycles, for example, data acquired in the first cycle T1 and data acquired in the second cycle T2 are mixed is a state having no consistency. .

以下、図3を参照して例示する。
[a, b, c] = [a1, b1, c1] : 整合性有り(同一の制御周期(T1)で取得)
[a, b, c] = [a2, b1, c1] : 整合性無し(異なる制御周期(T1,T2)で取得)
Hereinafter, an example will be described with reference to FIG.
[a, b, c] = [a1, b1, c1]: Consistent (acquired at the same control cycle (T1))
[a, b, c] = [a2, b1, c1]: no consistency (acquired at different control cycles (T1, T2))

例えば、CPUコア3が単一で、図3に示すように、直列処理によってアプリケーションが実行される場合には、プログラムカウンタは1つしかなく、命令も1つずつ順に実行される。従って、上記の例であれば、データ[a1]、データ[b1]、データ[c1]を取得した後、データ[a2]を取得するよりも前に、データグループ[a, b, c]を利用する命令が実行されれば、データの整合性が保たれる。ここで、問題となるのは、いわゆる「割り込み処理」であるが、これは、「割り込み禁止」の処理を行うことによって回避することができる。   For example, when the CPU core 3 is single and an application is executed by serial processing as shown in FIG. 3, there is only one program counter and instructions are executed one by one in order. Therefore, in the above example, after acquiring data [a1], data [b1], and data [c1], before acquiring data [a2], data group [a, b, c] If the command to be used is executed, data consistency is maintained. Here, what is a problem is so-called “interrupt processing”, which can be avoided by performing “interrupt disabled” processing.

しかし、本実施形態のように、複数のアプリケーションが複数のCPUコア3によって並列処理される場合には、そのような「割り込み禁止」の処理では上記のようなデータの整合性が保てないことがある。プログラムカウンタは、CPUコア3ごとに存在し、割り込み禁止処理は、それぞれのCPUコア3にのみ効力を有する。例えば、第2コア2がデータグループ[a, b, c]を更新し、第1コア1及び第2コア2がデータグループ[a, b, c]を参照する場合、第2コア2がデータの整合性を保つように制御されていても、第1コア1が整合性の取れていない状態のデータグループ[a, b, c]を参照してしまうようなことが生じ得る。具体的には、第2コア2がデータを更新し、“[a, b, c] = [a2, b1, c1]”となっている状態で、第1コア1がデータグループ[a, b, c]を参照すると、整合性の取れていないデータを用いた制御が実行されてしまうことになる。   However, when a plurality of applications are processed in parallel by a plurality of CPU cores 3 as in this embodiment, the data consistency as described above cannot be maintained in such “interrupt disable” processing. There is. A program counter exists for each CPU core 3, and the interrupt prohibition process is effective only for each CPU core 3. For example, when the second core 2 updates the data group [a, b, c] and the first core 1 and the second core 2 refer to the data group [a, b, c], the second core 2 has the data Even if it is controlled so as to maintain the consistency, it may occur that the first core 1 refers to the data group [a, b, c] in a state where the consistency is not achieved. Specifically, in the state where the second core 2 updates the data and “[a, b, c] = [a2, b1, c1]”, the first core 1 has the data group [a, b , c], control using inconsistent data is executed.

このような事象を回避するため、複数のデータグループのそれぞれにロックナンバーと称されるアクセス権を割り当て、ロックナンバーを取得しなければ、対象となるデータグループを参照できないように排他制御が行われる。排他制御レジスタ41(共有資源管理機能ブロック)は、そのようなアクセス権(ロックナンバー)を管理する機能部である。本実施形態において、排他制御レジスタ41は、複数ビットを有するレジスタである。1つのデータグループに対するロックナンバーは、後述するように1ビットで足りるため排他制御レジスタ41は、複数のデータグループに対する排他制御を行うことができる。ロックナンバーは、排他制御を実施して更新・参照を行うデータグループのそれぞれに対して、それぞれ別に割り当てられる。   In order to avoid such an event, an access right called a lock number is assigned to each of a plurality of data groups, and exclusive control is performed so that the target data group cannot be referred to unless the lock number is acquired. . The exclusive control register 41 (shared resource management function block) is a functional unit that manages such an access right (lock number). In the present embodiment, the exclusive control register 41 is a register having a plurality of bits. Since the lock number for one data group is one bit as described later, the exclusive control register 41 can perform exclusive control for a plurality of data groups. A lock number is assigned to each data group that is updated and referred to by performing exclusive control.

即ち、本実施形態では、共有メモリ4には、複数のデータの整合性が確保された状態で利用される複数のデータの集合であるデータグループが少なくとも1つ設定され、マルチコア演算装置10には、データグループを含む共有資源5を使用する権利であるアクセス権(ロックナンバー)を管理する排他制御レジスタ41(共有資源管理機能ブロック)が備えられる。以下で詳細に説明するように、共有資源5は、アクセス権を有するCPUコア3が使用可能である。CPUコア3のそれぞれは、共有資源5に対するアクセス権を獲得した後、当該共有資源5を使用し、使用を終えた後に、アクセス権を解放する。排他制御レジスタ41(共有資源管理機能ブロック)は、1つのCPUコア3が特定の共有資源5に対するアクセス権を獲得した場合に、他の全てのCPUコア3による当該特定の共有資源5の使用を禁止する排他処理を実行する。   That is, in the present embodiment, at least one data group that is a set of a plurality of data used in a state in which the consistency of the plurality of data is ensured is set in the shared memory 4, and the multi-core arithmetic device 10 has , An exclusive control register 41 (shared resource management function block) that manages an access right (lock number) that is a right to use the shared resource 5 including the data group is provided. As will be described in detail below, the shared resource 5 can be used by the CPU core 3 having the access right. Each of the CPU cores 3 acquires the access right to the shared resource 5, uses the shared resource 5, and releases the access right after the use is finished. The exclusive control register 41 (shared resource management function block), when one CPU core 3 acquires an access right to a specific shared resource 5, uses the specific shared resource 5 by all other CPU cores 3. Execute exclusive processing to be prohibited.

図8は、排他処理の一例を示している。始めに第1コア1(CPU1)が共有メモリ4内のデータグループ[a, b, c]を使用するために、排他制御レジスタ41(MEVR)に対してアクセス権の取得を要求する(#11r)。アクセス権は、ロックナンバーと称される場合があるため、この要求を行う際のコマンド(アクセス権要求コマンド)は、図中において“LOCK_REQ”と表す。アクセス権要求コマンドを受けた排他制御レジスタ41は、データグループ[a, b, c]に割り当てられたアクセス権が空いている場合には、当該アクセス権に対応する排他制御レジスタ41のレジスタ値である相互排他値(MEV : Mutual Exclusion Value)を“0”から“1”に変更すると共に、アクセス権を付与することを通知する応答を行う(#11a)。尚、相互排他値が“0”の場合は、アクセス権が空いていることを示し、“1”の場合はアクセス権が使用中であることを示し、アクセス権取得の成功を通知する応答は“ACK(success)”と表す。アクセス権を取得した第1コア1は、共有メモリ4(Global RAM)のデータグループ[a, b, c]を利用する。例えば、第1コア1は、データグループ[a, b, c]に格納されたデータを参照する。   FIG. 8 shows an example of exclusive processing. First, in order for the first core 1 (CPU 1) to use the data group [a, b, c] in the shared memory 4, the exclusive control register 41 (MEVR) is requested to obtain an access right (# 11r). ). Since the access right may be referred to as a lock number, a command (access right request command) for making this request is represented as “LOCK_REQ” in the drawing. The exclusive control register 41 that has received the access right request command uses the register value of the exclusive control register 41 corresponding to the access right when the access right assigned to the data group [a, b, c] is empty. A mutual exclusion value (MEV: Mutual Exclusion Value) is changed from “0” to “1”, and a response notifying that an access right is given is sent (# 11a). When the mutual exclusion value is “0”, it indicates that the access right is free, and when it is “1”, the access right is in use, and the response for notifying successful access right acquisition is It is expressed as “ACK (success)”. The first core 1 that has acquired the access right uses the data group [a, b, c] of the shared memory 4 (Global RAM). For example, the first core 1 refers to the data stored in the data group [a, b, c].

第1コア1は、共有メモリ4の利用を終えると、アクセス権を解放する。本実施形態では、アクセス権解放要求コマンド(UNLOCK_REQ)を排他制御レジスタ41に送信する(#12r)。コマンドを受信した排他制御レジスタ41は、相互排他値を“1”から“0”に変更する。排他制御レジスタ41は、この際、第1コア1に対して、#12aに示すように応答してもよいし、応答しなくてもよい。   When the first core 1 finishes using the shared memory 4, it releases the access right. In this embodiment, an access right release request command (UNLOCK_REQ) is transmitted to the exclusive control register 41 (# 12r). The exclusive control register 41 that has received the command changes the mutual exclusion value from “1” to “0”. At this time, the exclusive control register 41 may or may not respond to the first core 1 as shown in # 12a.

第1コア1がアクセス権を獲得している間に、第2コア2がアクセス権要求コマンド(LOCK_REQ)を排他制御レジスタ41に送信した場合(#21r)、排他制御レジスタ41は、アクセス権が使用中であることを通知する応答を行う(#21a)。図8に示すように、排他制御レジスタ41は、アクセス権取得の失敗を通知する応答“ACK(fail)”を第2コア2に送信する。   When the second core 2 transmits an access right request command (LOCK_REQ) to the exclusive control register 41 while the first core 1 has acquired the access right (# 21r), the exclusive control register 41 has the access right. A response notifying that it is in use is sent (# 21a). As illustrated in FIG. 8, the exclusive control register 41 transmits a response “ACK (fail)” notifying the failure of access right acquisition to the second core 2.

排他制御レジスタ41は、第1コア1からのアクセス権解放要求コマンド(UNLOCK_REQ)の送信(#12r)に基づき、相互排他値が“0”となった後で、第2コア2からのアクセス権要求コマンド(LOCK_REQ)を受け取ると(#22r)、相互排他値を“1”に変更すると共に、アクセス権取得の成功“ACK(success)”を通知する(#22a)。アクセス権を取得した第2コア2は、共有メモリ4(Global RAM)のデータグループ[a, b, c]を利用する。例えば、第2コア2は、データグループ[a, b, c]のデータを更新する。ここで、異なるタイミングで、データ[a]、データ[b]、データ[c]が更新される場合には、全てのデータの更新が完了するまで、第2コア2がアクセス権を保有していることが好ましい。このように、排他制御レジスタ41が、共有メモリ4のデータグループ[a, b, c]に対するアクセス権を管理することによって、データの整合性を保持した状態で適切にデータグループ[a, b, c]を複数のCPUコア3が利用することができる。   The exclusive control register 41 receives the access right from the second core 2 after the mutual exclusion value becomes “0” based on the transmission (# 12r) of the access right release request command (UNLOCK_REQ) from the first core 1. When the request command (LOCK_REQ) is received (# 22r), the mutual exclusion value is changed to “1”, and a successful access right acquisition “ACK (success)” is notified (# 22a). The second core 2 that has acquired the access right uses the data group [a, b, c] of the shared memory 4 (Global RAM). For example, the second core 2 updates the data of the data group [a, b, c]. Here, when data [a], data [b], and data [c] are updated at different timings, the second core 2 holds the access right until the update of all data is completed. Preferably it is. As described above, the exclusive control register 41 manages the access right to the data group [a, b, c] of the shared memory 4 so that the data group [a, b, c] can be used by a plurality of CPU cores 3.

第2コア2は、データグループ[a, b, c]の利用を終えると、アクセス権を解放する(#23r)。アクセス権解放要求コマンド(UNLOCK_REQ)を受信した排他制御レジスタ41は、相互排他値を“0”に変更する。ここで、第2コア2が再びアクセス権要求コマンド(LOCK_REQ)を送信すると(#24r)、排他制御レジスタ41はアクセス権取得の成功“ACK(success)”を通知する(#24a)。第2コア2は続けてアクセス権を獲得し、再び共有メモリ4(Global RAM)を利用する。   When the use of the data group [a, b, c] is finished, the second core 2 releases the access right (# 23r). Upon receiving the access right release request command (UNLOCK_REQ), the exclusive control register 41 changes the mutual exclusion value to “0”. Here, when the second core 2 transmits the access right request command (LOCK_REQ) again (# 24r), the exclusive control register 41 notifies the access right acquisition success “ACK (success)” (# 24a). The second core 2 continues to acquire the access right and uses the shared memory 4 (Global RAM) again.

第2コア2は、2度目のデータグループ[a, b, c]の利用を終えると、アクセス権を解放する(#25r)。アクセス権解放要求コマンド(UNLOCK_REQ)を受信した排他制御レジスタ41は、相互排他値を“0”に変更する。ここで、第2コア2が、さらにアクセス権要求コマンド(LOCK_REQ)を送信すると(#26r)、排他制御レジスタ41はアクセス権取得の成功“ACK(success)”を通知する(#26a)。第2コア2は3回続けてアクセス権を獲得し、データグループ[a, b, c]を利用する。   When the second core 2 finishes using the second data group [a, b, c], it releases the access right (# 25r). Upon receiving the access right release request command (UNLOCK_REQ), the exclusive control register 41 changes the mutual exclusion value to “0”. Here, when the second core 2 further transmits an access right request command (LOCK_REQ) (# 26r), the exclusive control register 41 notifies an access right acquisition success “ACK (success)” (# 26a). The second core 2 obtains the access right three times in succession and uses the data group [a, b, c].

第1コア1は、第2コア2が最初に共有メモリ4のアクセス権を獲得した後、複数回アクセス権の取得を試みるが(#13r,#14r,#15r,#16r)、何れも失敗する(#13a,#14a,#15a,#16a)。この間、第1コア1は、いわゆるデッドロックの状態となって、データグループ[a, b, c]を利用した演算を実行することができない。このため、第1コア1は、処理時間が長引いたり、規定されたタイムアウト時間に達して処理が未完了のままリセットされてしまったりする場合がある。   The first core 1 tries to acquire the access right multiple times after the second core 2 first acquires the access right of the shared memory 4 (# 13r, # 14r, # 15r, # 16r), but all fail. (# 13a, # 14a, # 15a, # 16a). During this time, the first core 1 is in a so-called deadlock state and cannot execute an operation using the data group [a, b, c]. For this reason, the first core 1 may prolong the processing time, or may be reset while the processing has not been completed because the specified timeout time has been reached.

そこで、図9に示すように、さらに予約フラグ(RSV_CPU1, RSV_CPU2)を設けて、アクセス予約権を設定することができるようにすると好適である。予約フラグ(アクセス予約権)は、変数として設定されている。各ロックナンバーに対して、各CPUコア3の予約フラグが設定されている。本実施形態では、第1コア1の予約フラグは第1予約フラグ43(RSV_CPU1)であり、第2コア2の予約フラグは第2予約フラグ45(RSV_CPU2)である。各CPUコア3は、アクセス権を獲得しようとする前に、対象のアクセス権に対応する他のCPUコア3の予約フラグを確認する(後述する“CHK”)。他のCPUコア3の予約フラグが予約状態(“1”)でなければ、ロックナンバー(アクセス権)の取得を要求する。尚、他のCPUコア3は、予約フラグを有効にすることなく、ロックナンバーを獲得している場合がある。この場合には、ロックナンバーの獲得に失敗することになるので、自己の予約フラグが有効状態(予約状態)となるように、予約フラグをセットする。即ち、排他制御レジスタ41(共有資源管理機能ブロック)が、1つのCPUコア3に特定の共有資源5に対するロックナンバー(アクセス権)を与えて排他処理を実行している場合、他のCPUコア3は、当該ロックナンバーが解放された後の、次のロックナンバーを獲得する権利であるアクセス予約権を排他制御レジスタ41に予約フラグとして設定する。   Therefore, as shown in FIG. 9, it is preferable to further provide reservation flags (RSV_CPU1, RSV_CPU2) so that the access reservation right can be set. The reservation flag (access reservation right) is set as a variable. A reservation flag of each CPU core 3 is set for each lock number. In the present embodiment, the reservation flag of the first core 1 is the first reservation flag 43 (RSV_CPU1), and the reservation flag of the second core 2 is the second reservation flag 45 (RSV_CPU2). Each CPU core 3 confirms a reservation flag of another CPU core 3 corresponding to the target access right before attempting to acquire the access right ("CHK" described later). If the reservation flag of the other CPU core 3 is not the reservation state (“1”), the acquisition of the lock number (access right) is requested. The other CPU cores 3 may have acquired the lock number without enabling the reservation flag. In this case, since the acquisition of the lock number will fail, the reservation flag is set so that its own reservation flag becomes valid (reserved state). That is, when the exclusive control register 41 (shared resource management function block) executes an exclusive process by giving a lock number (access right) to a specific shared resource 5 to one CPU core 3, the other CPU core 3 Sets an access reservation right, which is a right to acquire the next lock number after the lock number is released, as a reservation flag in the exclusive control register 41.

以下、図9を参照して具体例を示す。予約フラグも用いた排他制御では、第1コア1は始めに他のCPUコア3の予約フラグを確認する。本実施形態では、第1コア1は、2つの内の他方のCPUコア3である第2コア2の予約フラグ(第2予約フラグ45)の状態を確認する(#11c)。第2予約フラグ45の値は、非有効状態(予約権が設定されていない状態)を示す“0”であり、第1コア1によるデータグループ[a, b, c]へのアクセスが可能であるとの判定が示される(Judge(success):#11j)。第2コア2による予約がないことが確認されると、図8と同様に、第1コア1はアクセス権の取得を要求し(#11r)、排他制御レジスタ41は、相互排他値を“1”に変更すると共に、アクセス権の付与を通知する(#11a)。   A specific example will be described below with reference to FIG. In exclusive control that also uses a reservation flag, the first core 1 first checks the reservation flags of the other CPU cores 3. In the present embodiment, the first core 1 checks the state of the reservation flag (second reservation flag 45) of the second core 2 which is the other of the two CPU cores 3 (# 11c). The value of the second reservation flag 45 is “0” indicating an invalid state (a state in which no reservation right is set), and the first core 1 can access the data group [a, b, c]. Judgment that it exists is shown (Judge (success): # 11j). When it is confirmed that there is no reservation by the second core 2, as in FIG. 8, the first core 1 requests acquisition of an access right (# 11r), and the exclusive control register 41 sets the mutual exclusion value to “1”. "And at the same time, the access right is notified (# 11a).

ここで、第2コア2がアクセス権の取得を試みるケースを考える。第2コア2は、アクセス権の要求に先立って、第1コア1の予約フラグ(第1予約フラグ43)の状態を確認する(#21c)。第1コア1による予約権が設定されていなことから、第2コア2によるデータグループ[a, b, c]へのアクセスが可能であるとの判定が示される(Judge(success):#21j)。第2コア2は、この判定結果に基づいて、アクセス権の取得を要求する(#21r)。しかし、予約フラグの確認は、アクセス予約権の設定状態の確認にすぎない。この場合には、既に第1コア1にアクセス権を与えているため、排他制御レジスタ41は、アクセス権取得の失敗を通知する応答“ACK(fail)”を第2コア2に送信する(#21a)。アクセス権取得の失敗を通知された第2コア2は、第2コア2の予約フラグ(第2予約フラグ45)の値を有効状態(予約権が設定された状態)を示す“1”に設定する(RSV_SET:#21s)。アクセス予約権を設定した後、第2コア2は、再度、アクセス権の取得を要求するが(#27r)、第1コア1がアクセス権を開放しておらず、再度、アクセス権取得の失敗を通知する応答“ACK(fail)”が第2コア2に通知される(#27a)。   Here, consider a case where the second core 2 tries to acquire an access right. Prior to requesting the access right, the second core 2 checks the state of the reservation flag (first reservation flag 43) of the first core 1 (# 21c). Since the reservation right by the first core 1 is not set, it is determined that the data group [a, b, c] can be accessed by the second core 2 (Judge (success): # 21j ). The second core 2 requests acquisition of the access right based on the determination result (# 21r). However, the confirmation of the reservation flag is merely confirmation of the setting state of the access reservation right. In this case, since the access right has already been given to the first core 1, the exclusive control register 41 transmits a response “ACK (fail)” notifying the failure of access right acquisition to the second core 2 (#). 21a). The second core 2 notified of the failure to acquire the access right sets the value of the reservation flag (second reservation flag 45) of the second core 2 to “1” indicating a valid state (a state in which the reservation right is set). (RSV_SET: # 21s). After setting the access reservation right, the second core 2 requests acquisition of the access right again (# 27r), but the first core 1 has not released the access right and fails to acquire the access right again. Is sent to the second core 2 (# 27a).

一方、排他制御レジスタ41は、第1コア1からのアクセス権解放要求コマンド“UNLOCK_REQ”の送信(#12r)に基づき、相互排他値を“0”に設定し、アクセス権解放要求コマンド“UNLOCK_REQ”を受け付けたことを第1コア1に応答する(#12a)。第1コア1は、続けてデータグループ[a, b, c]を利用するために、第2コア2の予約フラグ(第2予約フラグ45)の状態を確認する(#17c)。第2予約フラグ45の値は、上述したように“1”であり、予約権が設定された状態である。従って、第1コア1によるデータグループ[a, b, c]へのアクセスが不可であるとの判定が示される(Judge(fail):#17j)。第1コア1は、再度、第2予約フラグ45の状態を確認するが(#18c)、状態が変わっていないため、再度、アクセスが不可であるとの判定が示される(Judge(fail):#18j)。尚、他のCPUコア3の予約フラグの状態により、ロックナンバーの取得が妨げられている場合には、自己の予約フラグを有効状態に設定しないことが好ましい。相互予約の状態となって何れのCPUコア3もロックナンバーを獲得できなくなることを抑制するためである。   On the other hand, the exclusive control register 41 sets the mutual exclusion value to “0” based on the transmission of the access right release request command “UNLOCK_REQ” from the first core 1 (# 12r), and sets the access right release request command “UNLOCK_REQ”. Is accepted to the first core 1 (# 12a). The first core 1 checks the state of the reservation flag (second reservation flag 45) of the second core 2 in order to continue using the data group [a, b, c] (# 17c). The value of the second reservation flag 45 is “1” as described above, and the reservation right is set. Therefore, it is determined that access to the data group [a, b, c] by the first core 1 is impossible (Judge (fail): # 17j). The first core 1 confirms the state of the second reservation flag 45 again (# 18c), but since the state has not changed, it is again determined that access is not possible (Judge (fail): # 18j). If the acquisition of the lock number is hindered by the state of the reservation flag of another CPU core 3, it is preferable not to set its own reservation flag to the valid state. This is to prevent any CPU core 3 from acquiring a lock number in a mutual reservation state.

自己の予約フラグ(第2予約フラグ45)を有効状態に設定している第2コア2は、第1コア1の予約フラグ(第1予約フラグ43)の状態を確認することなく、アクセス権要求コマンド“LOCK_REQ”を送信する(#28r)。上述したように、第2予約フラグ45が“1”であるため、アクセス権(ロックナンバー)は第1コア1に獲得されることなく解放状態である。従って、排他制御レジスタ41は、相互排他値を“1”に変更すると共に、アクセス権取得の成功“ACK(success)”を通知する(#28a)。また、ロックナンバーを取得したことにより、第2コア2は、自己の予約フラグ(第2予約フラグ45)の値を非有効状態(予約していない状態)の“0”に変更する(RSV_Release:#28s)。   The second core 2 that has set its own reservation flag (second reservation flag 45) to the valid state requests access right without checking the state of the reservation flag (first reservation flag 43) of the first core 1. The command “LOCK_REQ” is transmitted (# 28r). As described above, since the second reservation flag 45 is “1”, the access right (lock number) is released without being acquired by the first core 1. Accordingly, the exclusive control register 41 changes the mutual exclusion value to “1” and notifies the success of access right acquisition “ACK (success)” (# 28a). Further, by acquiring the lock number, the second core 2 changes the value of its own reservation flag (second reservation flag 45) to “0” in an invalid state (non-reserved state) (RSV_Release: # 28s).

ここで、第1コア1が、第2コア2の予約フラグ(第2予約フラグ45)の状態を確認すると(#19c)、第2コア2による予約権が解除されているので、第1コア1によるデータグループ[a, b, c]へのアクセスが可能であるとの判定が示される(Judge(success):#19j)。第1コア1は、この判定結果に基づいて、アクセス権の取得を要求するが(#19r)、既に第2コア2にアクセス権が与えられているため、排他制御レジスタ41は、アクセス権取得の失敗を通知する(ACK(fail):#19a)。アクセス権取得の失敗を通知された第1コア1は、第1コア1の予約フラグ(第1予約フラグ43)の値を有効状態(予約権が設定された状態)を示す“1”に設定する(RSV_SET:#19s)。   Here, when the first core 1 confirms the state of the reservation flag (second reservation flag 45) of the second core 2 (# 19c), since the reservation right by the second core 2 is released, the first core 1 1 indicates that access to the data group [a, b, c] is possible (Judge (success): # 19j). The first core 1 requests acquisition of the access right based on the determination result (# 19r), but since the access right has already been given to the second core 2, the exclusive control register 41 acquires the access right. (ACK (fail): # 19a). The first core 1 notified of the failure to acquire the access right sets the value of the reservation flag (first reservation flag 43) of the first core 1 to “1” indicating a valid state (a state in which the reservation right is set). (RSV_SET: # 19s).

以上、図9を参照して説明したように、排他制御レジスタ41(共有資源管理機能ブロック)に予約フラグを設けて、各CPUコア3がアクセス予約処理を行うことによって、デッドロックの発生を抑制することができる。   As described above with reference to FIG. 9, the exclusive control register 41 (shared resource management function block) is provided with a reservation flag, and each CPU core 3 performs an access reservation process, thereby suppressing the occurrence of a deadlock. can do.

ところで、デッドロックの発生原因は、図8に例示したような形態に限定されるものではない。CPUコア3が、同時に複数の共有資源5を利用するような場合において、複数のCPUコア3が、互いに一部の共有資源5のアクセス権を獲得すると、互いに処理を実行することができずにビジー状態(busy)が継続することがある。この場合には、何れのCPUコア3も処理を完了できないので、共有資源5も解放されず、全てのCPUコア3がタイムアウトとなることもある。そのような事象も含めて、デッドロックの発生が抑制されるように設計されていてもデッドロックが発生してしまうことはある。デッドロックが発生したことを把握し、発生原因を解析することで、プログラムを変更してアプリケーションの改良を試みることができる。   By the way, the cause of the occurrence of the deadlock is not limited to the form illustrated in FIG. In the case where the CPU core 3 uses a plurality of shared resources 5 at the same time, if the plurality of CPU cores 3 acquire the access rights of some of the shared resources 5, they cannot execute the processes. The busy state may continue. In this case, since none of the CPU cores 3 can complete the processing, the shared resource 5 is not released and all the CPU cores 3 may time out. Including such an event, a deadlock may occur even if it is designed to suppress the occurrence of a deadlock. By grasping that a deadlock has occurred and analyzing the cause, it is possible to change the program and try to improve the application.

例えば、CPUコア3が、アクセス権の解放を待ち、CPUコア3による演算処理の実行が停止する状態であるデッドロックが生じて、予め規定されたタイムアウト時間を経過した場合には、少なくともデッドロックが生じたCPUコア3による演算処理を初期状態に戻す処理(リセット処理)が、当該CPUコア3、又は複数のCPUコア3を統括管理する管理機能ブロックによって実行される。この管理機能ブロックとは、例えば、リセットコントローラ33である。リセット処理が実行された場合には、少なくともアクセス権の獲得に失敗した回数を含むフェール情報が、マルチコア演算装置10内の記録領域に記録される。例えば、共有資源5に含まれるメモリ(共有メモリ4、データ用フラッシュメモリ34)、又はそれぞれのCPUコア3が占有するメモリ(第1専用メモリ19、第2専用メモリ29)の記憶領域に、リセット処理によって初期状態とならない記録領域が設定される。尚、記録領域は、データ用フラッシュメモリ34など、好ましくは電源が供給されていない状態でもデータが保持されている不揮発性のメモリに設定されているとよい。尚、フェール情報は、リセット処理が実行された回数を含むリセット情報であってもよい。   For example, when a deadlock occurs in which the CPU core 3 waits for the access right to be released and the execution of arithmetic processing by the CPU core 3 is stopped, and a predetermined timeout time elapses, at least the deadlock The processing (reset processing) for returning the arithmetic processing by the CPU core 3 in which the occurrence of the error occurred to the initial state is executed by the management function block that manages the CPU core 3 or the plurality of CPU cores 3 in an integrated manner. This management function block is, for example, the reset controller 33. When the reset process is executed, fail information including at least the number of times access right acquisition has failed is recorded in a recording area in the multi-core arithmetic unit 10. For example, reset to the storage area of the memory (shared memory 4, data flash memory 34) included in the shared resource 5 or the memory (first dedicated memory 19 and second dedicated memory 29) occupied by each CPU core 3 A recording area that is not in an initial state is set by processing. The recording area may be set to a nonvolatile memory such as the data flash memory 34, which preferably holds data even when power is not supplied. Note that the fail information may be reset information including the number of times the reset process has been executed.

〔実施形態の概要〕
以下、上記において説明したマルチコア演算装置(10)の概要について簡単に説明する。
[Outline of Embodiment]
The outline of the multi-core arithmetic device (10) described above will be briefly described below.

1つの態様として、第1コア(1)と、前記第1コア(1)とは独立して動作する第2コア(2)との少なくとも2つの独立したCPUコア(3)と、複数の前記CPUコア(3)が共通して使用する共有メモリ(4)と、を備えたマルチコア演算装置(10)は、
複数の前記CPUコア(3)が、前記共有メモリ(4)を介して通信を行い、
制御対象である車両用駆動伝達装置(100)の挙動変化の順序を示す挙動スケジュールを決定するソフトウェアである挙動スケジュールアプリケーション(AP1)と、
決定された前記挙動スケジュールに従って、前記車両用駆動伝達装置(100)を動作させるアクチュエータ(120)を制御するソフトウェアであるアクチュエータ制御アプリケーション(AP2)と、
少なくとも前記挙動スケジュールを決定するための物理情報を取得して、少なくとも前記挙動スケジュールアプリケーション(AP2)に当該物理情報を提供するソフトウェアであるセンシングアプリケーション(AP3)と、を実行するものであり、
前記第1コア(1)が、前記挙動スケジュールアプリケーション(AP1)を実行し、
前記第2コア(2)が、前記アクチュエータ制御アプリケーション(AP2)及び前記センシングアプリケーション(AP3)を実行する。
As one aspect, at least two independent CPU cores (3), a first core (1) and a second core (2) that operates independently of the first core (1), A multi-core arithmetic device (10) having a shared memory (4) that is commonly used by the CPU core (3),
A plurality of CPU cores (3) communicate via the shared memory (4);
A behavior schedule application (AP1) which is software for determining a behavior schedule indicating the order of behavior change of the vehicle drive transmission device (100) to be controlled;
An actuator control application (AP2) which is software for controlling the actuator (120) for operating the vehicle drive transmission device (100) according to the determined behavior schedule;
At least physical information for determining the behavior schedule is acquired, and at least a sensing application (AP3) that is software that provides the physical information to the behavior schedule application (AP2) is executed.
The first core (1) executes the behavior schedule application (AP1);
The second core (2) executes the actuator control application (AP2) and the sensing application (AP3).

例えば、車両用駆動伝達装置(100)の挙動は、歯車などの機械構成要素(101)の選択によって規定される。また、選択された歯車の接続(連結)などは、制御構成要素(102)を介して実現されることが多い。ここで、機械構成要素(101)の挙動に関する演算と、制御構成要素(102)の挙動に関する演算とは、それぞれ異なるハードウェア資源を用いて実行されてもよい。しかし、制御対象が車両用駆動伝達装置(100)の場合などでは、上述したように、機械構成要素(101)と制御構成要素(102)との挙動変化に順序依存性がある。このため、これら2つの制御をそれぞれ異なるハードウェア資源を用いて実行すると、互いに不要な待ち時間が生じて演算効率が低下する場合がある。本構成によれば、車両用駆動伝達装置(100)の挙動変化の順序を示す挙動スケジュールが、1つのCPUコア(3(1))によって演算されるから、そのように演算効率が低下することが抑制される。   For example, the behavior of the vehicle drive transmission device (100) is defined by the selection of a mechanical component (101) such as a gear. Further, the connection (coupling) of the selected gears is often realized through the control component (102). Here, the calculation related to the behavior of the machine component (101) and the calculation related to the behavior of the control component (102) may be executed using different hardware resources. However, when the control target is the vehicle drive transmission device (100), etc., as described above, the behavior change between the mechanical component (101) and the control component (102) has order dependency. For this reason, if these two controls are executed using different hardware resources, an unnecessary waiting time may be generated and the calculation efficiency may be reduced. According to this configuration, since the behavior schedule indicating the order of behavior change of the vehicle drive transmission device (100) is computed by one CPU core (3 (1)), the computation efficiency is reduced as such. Is suppressed.

車両用駆動伝達装置(100)において、歯車の連結などを実際に実現するためには、一般的にアクチュエータ(120)が必要である。アクチュエータ(120)は、当然ながらマルチコア演算装置(10)の外部に備えられているから、制御信号やデータなどはマルチコア演算装置(10)のインターフェイス機能ブロック(6,7)を介して伝達される。また、車両用駆動伝達装置(100)の動作状態などを示す物理情報を検出するセンサ(130)なども、マルチコア演算装置(100)の外部に備えられている。従って、そのようなセンサ(130)による検出情報も、マルチコア演算装置(10)のインターフェイス機能ブロック(6,7)を介して伝達される。例えば、アクチュエータ制御アプリケーション(AP2)とセンシングアプリケーション(AP3)とが異なるCPUコア(3)によって実行されていると、アクチュエータ(120)とセンサ(130)とが、同じ時期に同じインターフェイス機能ブロック(6,7)を使おうとして、一方のCPUコア(3)に待ち時間が生じる場合がある。このような待ち時間は、何れのCPUコア(3)にも生じる場合があるので、全体として演算効率が低下する場合がある。本構成によれば、アクチュエータ制御アプリケーション(AP2)とセンシングアプリケーション(AP3)とが同じCPUコア(3(2))で実行されるから、そのように演算効率が低下することが抑制される。   In the vehicle drive transmission device (100), an actuator (120) is generally required to actually realize the connection of gears and the like. Since the actuator (120) is naturally provided outside the multi-core arithmetic device (10), control signals and data are transmitted via the interface function blocks (6, 7) of the multi-core arithmetic device (10). . In addition, a sensor (130) for detecting physical information indicating an operation state of the vehicle drive transmission device (100) is also provided outside the multi-core arithmetic device (100). Therefore, information detected by such a sensor (130) is also transmitted via the interface function blocks (6, 7) of the multi-core arithmetic unit (10). For example, when the actuator control application (AP2) and the sensing application (AP3) are executed by different CPU cores (3), the actuator (120) and the sensor (130) have the same interface function block (6 , 7), a waiting time may occur in one of the CPU cores (3). Since such a waiting time may occur in any CPU core (3), the calculation efficiency may decrease as a whole. According to this configuration, since the actuator control application (AP2) and the sensing application (AP3) are executed by the same CPU core (3 (2)), it is possible to suppress such a decrease in calculation efficiency.

ここで、前記車両用駆動伝達装置(100)は、変速比を変更可能な変速装置(101)を有し、前記挙動スケジュールアプリケーション(AP1)は、前記変速装置(101)に供給する流体圧の変化を前記挙動スケジュールとして決定すると好適である。   Here, the vehicle drive transmission device (100) has a transmission (101) capable of changing a transmission gear ratio, and the behavior schedule application (AP1) has a fluid pressure supplied to the transmission (101). It is preferable to determine the change as the behavior schedule.

例えば、車両用駆動伝達装置(100)の挙動は、機械構成要素である変速装置(101)における、歯車の組み合わせの選択や径が可変のプーリーの径の設定によって規定される。また、選択された歯車の組み合わせやプーリーの径の変更など機械構成要素の挙動は、制御構成要素の一例としての流体圧回路(102)などを介して実現されることが多い。上述したように、機械構成要素(変速装置(101))の挙動に関する演算と、制御構成要素(流体圧回路(102))の挙動に関する演算とは、それぞれ異なるハードウェア資源を用いて実行されてもよい。しかし、車両用駆動伝達装置(100)が制御対象の場合には、機械構成要素(変速装置(101))と制御構成要素(流体圧回路(102))との挙動変化に順序依存性があるため、上述したように演算効率が低下するおそれがある。挙動スケジュールアプリケーション(AP1)の実行により、変速装置(101)の挙動を実現する流体圧の変化が挙動スケジュールとして決定されることで、演算効率を低下させることなく、円滑に車両用駆動伝達装置(100)を制御することができる。   For example, the behavior of the vehicle drive transmission device (100) is defined by the selection of a combination of gears and the setting of the diameter of a pulley with a variable diameter in the transmission (101), which is a mechanical component. Further, the behavior of the mechanical component such as the combination of the selected gears and the change of the diameter of the pulley is often realized through a fluid pressure circuit (102) as an example of a control component. As described above, the calculation related to the behavior of the mechanical component (transmission (101)) and the calculation related to the behavior of the control component (fluid pressure circuit (102)) are executed using different hardware resources. Also good. However, when the vehicle drive transmission device (100) is a control target, the behavior change between the mechanical component (transmission device (101)) and the control component (fluid pressure circuit (102)) has order dependency. For this reason, as described above, the calculation efficiency may be reduced. By executing the behavior schedule application (AP1), the change in the fluid pressure that realizes the behavior of the transmission (101) is determined as the behavior schedule, so that the vehicle drive transmission device ( 100) can be controlled.

また、前記車両用駆動伝達装置(100)は、油圧制御アクチュエータ(120)を有し、前記アクチュエータ制御アプリケーション(AP2)は、変調パターンを出力することによって前記油圧制御アクチュエータ(120)を制御すると好適である。   The vehicle drive transmission device (100) preferably includes a hydraulic control actuator (120), and the actuator control application (AP2) preferably controls the hydraulic control actuator (120) by outputting a modulation pattern. It is.

上述したように、車両用駆動伝達装置(100)の制御構成要素は、例えば流体圧回路(102)などを介して実現されることが多い。また、流体圧回路(102)には、一般的に、油圧制御アクチュエータ(120)が備えられている。油圧制御アクチュエータ(120)の作動量は、種々の方法で制御可能であるが、例えば指令値に応じたパルス幅変調や、振幅変調などの変調を利用した制御であると、応答性がよく、好ましい。従って、アクチュエータ制御アプリケーション(AP2)が、変調パターンを出力することによって、油圧制御アクチュエータ(120)を制御するものであると好適である。   As described above, the control component of the vehicle drive transmission device (100) is often realized, for example, via the fluid pressure circuit (102). The fluid pressure circuit (102) is generally provided with a hydraulic control actuator (120). The operation amount of the hydraulic control actuator (120) can be controlled by various methods. For example, control using pulse width modulation according to the command value or modulation such as amplitude modulation has good responsiveness, preferable. Therefore, it is preferable that the actuator control application (AP2) controls the hydraulic control actuator (120) by outputting the modulation pattern.

また、前記車両用駆動伝達装置(100)は、少なくとも前記挙動スケジュールを決定するための前記物理情報を検出するセンサ(130)を有し、前記センシングアプリケーション(AP3)は、前記センサ(130)により検出された当該物理情報を取得すると好適である。   The vehicle drive transmission device (100) includes at least a sensor (130) that detects the physical information for determining the behavior schedule, and the sensing application (AP3) is controlled by the sensor (130). It is preferable to acquire the detected physical information.

第1コア(1)による挙動スケジュールの決定に当たっては、自動変速装置(101)や油圧回路(102)における物理現象の検出が重要である。このため、多くの場合、車両用駆動伝達装置(100)には、シフトポジション、油圧、油温等を検出するセンサが備えられている。第1コア(1)とは別の第2コア(2)により実行されるセンシングアプリケーション(AP3)により、そのようなセンサ(130)が検出した物理情報が取得されると、挙動スケジュールの演算に影響を与えることなく、適切な物理情報を得ることができる。   In determining the behavior schedule by the first core (1), it is important to detect physical phenomena in the automatic transmission (101) and the hydraulic circuit (102). For this reason, in many cases, the vehicle drive transmission device (100) is provided with sensors for detecting a shift position, hydraulic pressure, oil temperature, and the like. When physical information detected by such a sensor (130) is acquired by a sensing application (AP3) executed by a second core (2) different from the first core (1), the behavior schedule is calculated. Appropriate physical information can be obtained without any influence.

また、マルチコア演算装置(10)は、さらに、前記アクチュエータ(120)及び前記物理情報を検出するセンサ(130)を含む周辺デバイスとの通信を行う外部通信インターフェイス(7)と、少なくとも前記外部通信インターフェイス(7)及び前記共有メモリ(4)に対してDMA転送を行うDMAコントローラ(6)とを備え、
前記外部通信インターフェイス(7)及び前記DMAコントローラ(6)は、前記第1コア(1)及び前記第2コア(2)の内、前記第2コア(2)によって実行されるアプリケーションによってのみ用いられ、
前記第1コア(1)は、前記挙動スケジュールアプリケーション(AP1)の実行による演算結果である前記挙動スケジュールを前記共有メモリ(4)に書き込み、
前記第2コア(2)は、前記共有メモリ(4)に記憶された前記挙動スケジュールを前記共有メモリ(4)から読み出し、当該挙動スケジュールに基づいて前記アクチュエータ制御アプリケーション(AP2)を実行すると共に、前記アクチュエータ制御アプリケーション(AP2)の実行による演算結果を、DMA転送により前記外部通信インターフェイス(7)を介して前記アクチュエータ(120)に提供し、
さらに、前記第2コア(2)は、前記センシングアプリケーション(AP3)の実行により、前記外部通信インターフェイス(7)が前記センサ(130)から受け取った前記物理情報を、DMA転送により前記外部通信インターフェイス(7)から前記共有メモリ(4)に記憶させると好適である。
The multi-core arithmetic device (10) further includes an external communication interface (7) for communicating with the actuator (120) and a peripheral device including the sensor (130) for detecting the physical information, and at least the external communication interface. (7) and a DMA controller (6) for performing DMA transfer to the shared memory (4),
The external communication interface (7) and the DMA controller (6) are used only by applications executed by the second core (2) among the first core (1) and the second core (2). ,
The first core (1) writes the behavior schedule which is a calculation result by the execution of the behavior schedule application (AP1) to the shared memory (4),
The second core (2) reads the behavior schedule stored in the shared memory (4) from the shared memory (4), executes the actuator control application (AP2) based on the behavior schedule, A calculation result by execution of the actuator control application (AP2) is provided to the actuator (120) via the external communication interface (7) by DMA transfer,
Further, the second core (2) is configured to transfer the physical information received from the sensor (130) by the external communication interface (7) by the DMA transfer by executing the sensing application (AP3). 7) to the shared memory (4).

多くの場合、DMAコントローラ(6)や外部通信インターフェイス(7)などの機能部は、マルチコア演算装置(10)が有する複数のCPUコア(3)が利用できる。但し、これらの機能部を複数のCPUコア(3)が利用する場合には、複数のCPUコア(3)の間で、排他処理などの調停が必要となる。上記のように、DMAコントローラ(6)及び外部通信インターフェイス(7)を、単独のCPUコア(3)(第2コア(2))のみが使用すると、そのような調停を行う必要がなく、第2コア(2)の管理下において適時これらの機能部を用いたアプリケーションの実行が可能である。その結果、通信時間や待ち時間などのオーバーヘッド時間が抑制でき、マルチコア演算装置(10)の演算効率が向上する。   In many cases, the functional units such as the DMA controller (6) and the external communication interface (7) can use a plurality of CPU cores (3) included in the multi-core arithmetic device (10). However, when these function units are used by a plurality of CPU cores (3), arbitration such as exclusive processing is required between the plurality of CPU cores (3). As described above, when only the single CPU core (3) (second core (2)) uses the DMA controller (6) and the external communication interface (7), there is no need to perform such arbitration. An application using these functional units can be executed in a timely manner under the control of two cores (2). As a result, overhead time such as communication time and waiting time can be suppressed, and the calculation efficiency of the multi-core arithmetic device (10) is improved.

また、複数の前記CPUコア(3)及び前記共有メモリ(4)を収容する外囲器(10p)は、複数の入出力端子(10t)を備え、前記第1コア(1)及び前記第2コア(2)には、それぞれ占有する前記入出力端子(10t)が割り当てられていると好適である。   The envelope (10p) that houses the plurality of CPU cores (3) and the shared memory (4) includes a plurality of input / output terminals (10t), and includes the first core (1) and the second core (1). Preferably, the core (2) is assigned with the input / output terminals (10t) that it occupies.

入出力端子(10t)を複数のCPUコア(3)の間で共用していると、演算に待ち時間が生じる場合がある。しかし、第1コア(1)及び第2コア(2)に、占有する入出力端子(10t)が割り当てられていると、そのような待ち時間を生じることなく、円滑に車両用駆動伝達装置(100)を制御することができる。   When the input / output terminal (10t) is shared among the plurality of CPU cores (3), a waiting time may occur in the calculation. However, when the occupied input / output terminal (10t) is assigned to the first core (1) and the second core (2), the vehicle drive transmission device ( 100) can be controlled.

1つの態様として、マルチコア演算装置(10)は、さらに、前記車両用駆動伝達装置(100)に異常が生じた場合に、当該異常に対する対処を行うソフトウェアであるフェールセーフアプリケーション(AP4)を実行するものであり、当該フェールセーフアプリケーション(AP4)は、前記第1コア(1)によって実行されると好適である。   As one aspect, when an abnormality occurs in the vehicle drive transmission device (100), the multi-core arithmetic device (10) further executes a fail-safe application (AP4) that is software for coping with the abnormality. The fail-safe application (AP4) is preferably executed by the first core (1).

車両用駆動伝達装置(100)に異常が生じた場合には、車両用駆動伝達装置(100)の全体の挙動スケジュールに迅速に反映させることが望ましい。従って、フェールセーフアプリケーション(AP4)は、挙動スケジュールアプリケーション(AP1)が実行される第1コア(1)によって実行されると好適である。   When an abnormality occurs in the vehicle drive transmission device (100), it is desirable to quickly reflect it in the overall behavior schedule of the vehicle drive transmission device (100). Therefore, it is preferable that the fail-safe application (AP4) is executed by the first core (1) on which the behavior schedule application (AP1) is executed.

また、前記共有メモリ(4)には、複数のデータの整合性が確保された状態で利用される複数のデータの集合であるデータグループが少なくとも1つ設定され、マルチコア演算装置(10)は、前記データグループを含む共有資源(5)を使用する権利であるアクセス権を管理する共有資源管理機能ブロック(41,43)を備え、前記共有資源(5)は、前記アクセス権を有する前記CPUコア(3)が使用可能であり、前記CPUコア(3)のそれぞれは、前記共有資源(5)に対する前記アクセス権を獲得した後、当該共有資源(5)を使用し、使用を終えた後に、前記アクセス権を解放するものであり、前記共有資源管理機能ブロック(41,43)は、1つの前記CPUコア(3)が特定の前記共有資源(5)に対する前記アクセス権を獲得した場合に、他の全ての前記CPUコア(3)による当該特定の前記共有資源(5)の使用を禁止する排他処理を実行すると好適である。   In the shared memory (4), at least one data group that is a set of a plurality of data used in a state in which the consistency of the plurality of data is ensured is set, and the multi-core arithmetic device (10) A shared resource management function block (41, 43) for managing an access right that is a right to use the shared resource (5) including the data group, wherein the shared resource (5) includes the CPU core having the access right; (3) can be used, and each of the CPU cores (3) uses the shared resource (5) after acquiring the access right to the shared resource (5), and after using the shared resource (5), The access right is released, and the shared resource management function block (41, 43) is configured such that one CPU core (3) accesses the specific shared resource (5). When acquiring the right, it is preferable to perform the exclusive process which prohibits the use of the specific of the shared resource by all other of said CPU core (3) (5).

例えば、共有資源(5)が共有メモリ(4)のデータグループであり、排他処理が実行されない場合には、CPUコア(3)が整合性の確保されていないデータを用いてアプリケーションを実行するおそれがあり、制御の信頼性が低下する。このような事象は、共有メモリ(4)のデータグループに限らず、入出力端子(10t)のデータを設定する入出力レジスタなどの他の共有資源でも発生する場合がある。排他処理を行うことによって、共有資源(5)の一貫性を保つことが可能となり、演算の安定性を担保することができる。   For example, if the shared resource (5) is a data group of the shared memory (4) and the exclusion process is not executed, the CPU core (3) may execute the application using data whose consistency is not ensured. And the reliability of control decreases. Such an event may occur not only in the data group of the shared memory (4) but also in other shared resources such as an input / output register for setting data of the input / output terminal (10t). By performing the exclusive process, it becomes possible to maintain the consistency of the shared resource (5), and to ensure the stability of the calculation.

ここで、前記共有資源管理機能ブロック(41,43)が、1つの前記CPUコア(3)に特定の前記共有資源(5)に対する前記アクセス権を与えて前記排他処理を実行している場合、他の前記CPUコア(3)は、当該アクセス権が解放された後の、次の前記アクセス権を獲得する権利であるアクセス予約権を前記共有資源管理機能ブロック(41,43)に設定すると好適である。   Here, when the shared resource management function block (41, 43) gives the access right to the specific shared resource (5) to one CPU core (3) and executes the exclusive processing, It is preferable that the other CPU core (3) sets an access reservation right, which is a right to acquire the next access right after the access right is released, in the shared resource management function block (41, 43). It is.

アクセス権を有するCPUコア(3)がアクセス権を解放した後、すぐにアクセス権を獲得すると、排他処理により、他のCPUコア(3)は依然としてアクセス権を獲得することができない。このようなタイミングでのアクセス権の獲得失敗が続くと、当該他のCPUコア(3)は、いわゆるデッドロックの状態となって、共有資源(5)を利用した演算を実行することができず、処理時間が長引いたり、規定されたタイムアウト時間に達して処理が未完了になってしまったりする。上述したように、アクセス予約権が設定されると、デッドロックの発生を抑制することができる。   If the CPU core (3) having the access right acquires the access right immediately after releasing the access right, the other CPU core (3) still cannot acquire the access right due to the exclusion process. If the access right acquisition failure continues at such timing, the other CPU core (3) is in a so-called deadlock state and cannot execute the operation using the shared resource (5). The processing time may be prolonged, or the specified timeout time may be reached and the processing may be incomplete. As described above, when the access reservation right is set, the occurrence of deadlock can be suppressed.

1つの態様として、前記CPUコア(3)が、前記アクセス権の解放を待ち、前記CPUコア(3)による演算処理の実行が停止する状態であるデッドロックが生じて、予め規定されたタイムアウト時間を経過した場合には、少なくとも前記デッドロックが生じた前記CPUコア(3)による演算処理を初期状態に戻す処理であるリセット処理が、当該CPUコア(3)、又は複数の前記CPUコアを統括管理する管理機能ブロック(33)によって実行され、
前記共有資源(5)に含まれるメモリ(4,34)、又はそれぞれの前記CPUコア(3)が占有するメモリ(19,29)の記憶領域に、当該リセット処理によって初期状態とならない記録領域が設定され、
前記リセット処理の実行時に、少なくとも前記アクセス権の獲得に失敗した回数を含むリセット情報が、前記記録領域に記録されると好適である。
As one aspect, the CPU core (3) waits for the release of the access right, and a deadlock that is a state in which execution of arithmetic processing by the CPU core (3) stops occurs, and a predetermined timeout time When the process has passed, at least the reset process, which is a process for returning the arithmetic processing by the CPU core (3) in which the deadlock has occurred, to the initial state is integrated with the CPU core (3) or the plurality of CPU cores. Executed by the management function block (33) to manage,
In the storage area of the memory (4, 34) included in the shared resource (5) or the memory (19, 29) occupied by each of the CPU cores (3), there is a recording area that is not in the initial state by the reset process. Set,
It is preferable that reset information including at least the number of times the acquisition of the access right is failed is recorded in the recording area when the reset process is executed.

デッドロックの状態が解消されない場合には、リセット処理が実行される。アクセス権の獲得に失敗したことを示す情報が記録領域に記録されることで、マルチコア演算装置(10)のデバッグ等の際に、デッドロックの発生頻度の把握や、発生したCPUコア(3)の特定を行うことができる。そして、これらの情報に基づいて、車両用駆動伝達装置(100)を制御するアプリケーション(プログラム、ソフトウェア)の改良や、共有資源管理機能ブロック(41,43)による排他処理及び予約処理等の改良を行うことができる。   If the deadlock state is not resolved, reset processing is executed. By recording information indicating that access right acquisition has failed in the recording area, it is possible to grasp the frequency of deadlock occurrence and to generate the CPU core (3) when debugging the multi-core arithmetic device (10). Can be identified. And based on these information, improvement of the application (program, software) which controls the drive transmission device for vehicles (100), improvement of exclusive processing and reservation processing by the shared resource management function block (41, 43), etc. It can be carried out.

1 :第1コア
2 :第2コア
3 :CPUコア
4 :共有メモリ
5 :共有資源
6 :DMAコントローラ
7 :外部通信インターフェイス
10 :マルチコア演算装置
10p :外囲器
10t :入出力端子
33 :リセットコントローラ(管理機能ブロック)
34 :データ用フラッシュメモリ
41 :排他制御レジスタ(共有資源管理機能ブロック)
41r :予約レジスタ(共有資源管理機能ブロック)
43 :内部コア割り込み制御レジスタ(共有資源管理機能ブロック)
100 :車両用駆動伝達装置
101 :自動変速装置
102 :油圧回路
120 :油圧制御アクチュエータ群(油圧制御アクチュエータ)
130 :センサ群(センサ)
200 :車両用駆動制御装置
AP1 :変速機制御アプリケーション
AP1a :変速制御アプリケーション
AP1b :油圧制御アプリケーション
AP2 :アクチュエータ制御アプリケーション
AP3 :センシングアプリケーション
AP4 :フェールセーフアプリケーション
1: 1st core 2: 2nd core 3: CPU core 4: Shared memory 5: Shared resource 6: DMA controller 7: External communication interface 10: Multi-core arithmetic unit 10p: Envelope 10t: Input / output terminal 33: Reset controller (Management function block)
34: Data flash memory 41: Exclusive control register (shared resource management function block)
41r: reserved register (shared resource management function block)
43: Internal core interrupt control register (shared resource management function block)
DESCRIPTION OF SYMBOLS 100: Vehicle drive transmission device 101: Automatic transmission 102: Hydraulic circuit 120: Hydraulic control actuator group (hydraulic control actuator)
130: Sensor group (sensor)
200: Vehicle drive control device AP1: Transmission control application AP1a: Shift control application AP1b: Hydraulic control application AP2: Actuator control application AP3: Sensing application AP4: Fail-safe application

Claims (10)

第1コアと、前記第1コアとは独立して動作する第2コアとの少なくとも2つの独立したCPUコアと、
複数の前記CPUコアが共通して使用する共有メモリと、
を備えたマルチコア演算装置であって、
複数の前記CPUコアが、前記共有メモリを介して通信を行い、
制御対象である車両用駆動伝達装置の挙動変化の順序を示す挙動スケジュールを決定するソフトウェアである挙動スケジュールアプリケーションと、
決定された前記挙動スケジュールに従って、前記車両用駆動伝達装置を動作させるアクチュエータを制御するソフトウェアであるアクチュエータ制御アプリケーションと、
少なくとも前記挙動スケジュールを決定するための物理情報を取得して、少なくとも前記挙動スケジュールアプリケーションに当該物理情報を提供するソフトウェアであるセンシングアプリケーションと、を実行するものであり、
前記第1コアが、前記挙動スケジュールアプリケーションを実行し、
前記第2コアが、前記アクチュエータ制御アプリケーション及び前記センシングアプリケーションを実行する、マルチコア演算装置。
At least two independent CPU cores, a first core and a second core that operates independently of the first core;
A shared memory shared by a plurality of CPU cores;
A multi-core arithmetic device comprising:
A plurality of the CPU cores communicate via the shared memory,
A behavior schedule application that is software for determining a behavior schedule indicating the order of behavior change of the vehicle drive transmission device to be controlled;
An actuator control application that is software for controlling an actuator that operates the vehicle drive transmission device according to the determined behavior schedule;
At least physical information for determining the behavior schedule is acquired, and at least a sensing application that is software that provides the physical information to the behavior schedule application is executed.
The first core executes the behavior schedule application;
The multi-core arithmetic device, wherein the second core executes the actuator control application and the sensing application.
前記車両用駆動伝達装置は、変速比を変更可能な変速装置を有し、前記挙動スケジュールアプリケーションは、前記変速装置に供給する流体圧の変化を前記挙動スケジュールとして決定する、請求項1に記載のマルチコア演算装置。   The said vehicle drive transmission apparatus has a transmission which can change a gear ratio, and the said behavior schedule application determines the change of the fluid pressure supplied to the said transmission as the said behavior schedule. Multi-core arithmetic unit. 前記車両用駆動伝達装置は、油圧制御アクチュエータを有し、前記アクチュエータ制御アプリケーションは、変調パターンを出力することによって前記油圧制御アクチュエータを制御する、請求項1又は2に記載のマルチコア演算装置。   The multi-core arithmetic device according to claim 1, wherein the vehicle drive transmission device includes a hydraulic control actuator, and the actuator control application controls the hydraulic control actuator by outputting a modulation pattern. 前記車両用駆動伝達装置は、少なくとも前記挙動スケジュールを決定するための前記物理情報を検出するセンサを有し、前記センシングアプリケーションは、前記センサにより検出された当該物理情報を取得する、請求項1から3の何れか一項に記載のマルチコア演算装置。   The vehicle drive transmission device includes at least a sensor that detects the physical information for determining the behavior schedule, and the sensing application acquires the physical information detected by the sensor. 4. The multi-core arithmetic device according to any one of 3. さらに、前記アクチュエータ及び前記物理情報を検出するセンサを含む周辺デバイスとの通信を行う外部通信インターフェイスと、少なくとも前記外部通信インターフェイス及び前記共有メモリに対してDMA転送を行うDMAコントローラとを備え、
前記外部通信インターフェイス及び前記DMAコントローラは、前記第1コア及び前記第2コアの内、前記第2コアによって実行されるアプリケーションによってのみ用いられ、
前記第1コアは、前記挙動スケジュールアプリケーションの実行による演算結果である前記挙動スケジュールを前記共有メモリに書き込み、
前記第2コアは、前記共有メモリに記憶された前記挙動スケジュールを前記共有メモリから読み出し、当該挙動スケジュールに基づいて前記アクチュエータ制御アプリケーションを実行すると共に、前記アクチュエータ制御アプリケーションの実行による演算結果を、DMA転送により前記外部通信インターフェイスを介して前記アクチュエータに提供し、
さらに、前記第2コアは、前記センシングアプリケーションの実行により、前記外部通信インターフェイスが前記センサから受け取った前記物理情報を、DMA転送により前記外部通信インターフェイスから前記共有メモリに記憶させる、請求項1から4の何れか一項に記載のマルチコア演算装置。
Furthermore, an external communication interface that communicates with the actuator and a peripheral device including a sensor that detects the physical information, and a DMA controller that performs DMA transfer to at least the external communication interface and the shared memory,
The external communication interface and the DMA controller are used only by applications executed by the second core out of the first core and the second core,
The first core writes the behavior schedule, which is a calculation result by execution of the behavior schedule application, to the shared memory,
The second core reads the behavior schedule stored in the shared memory from the shared memory, executes the actuator control application based on the behavior schedule, and calculates a calculation result by the execution of the actuator control application as a DMA. Providing to the actuator via the external communication interface by transfer,
Further, the second core causes the external communication interface to store the physical information received from the sensor by the DMA application from the external communication interface in the shared memory by executing the sensing application. The multi-core arithmetic device according to any one of the above.
複数の前記CPUコア及び前記共有メモリを収容する外囲器は、複数の入出力端子を備え、
前記第1コア及び前記第2コアには、それぞれ占有する前記入出力端子が割り当てられている、請求項1から5の何れか一項に記載のマルチコア演算装置。
The envelope that houses the plurality of CPU cores and the shared memory includes a plurality of input / output terminals,
The multi-core arithmetic device according to any one of claims 1 to 5, wherein the input / output terminals to be occupied are assigned to the first core and the second core, respectively.
さらに、前記車両用駆動伝達装置に異常が生じた場合に、当該異常に対する対処を行うソフトウェアであるフェールセーフアプリケーションを実行するものであり、
当該フェールセーフアプリケーションは、前記第1コアによって実行される、請求項1から6の何れか一項に記載のマルチコア演算装置。
Furthermore, when an abnormality occurs in the vehicle drive transmission device, a fail-safe application that executes software for dealing with the abnormality is executed.
The multi-core arithmetic device according to claim 1, wherein the fail-safe application is executed by the first core.
前記共有メモリには、複数のデータの整合性が確保された状態で利用される複数のデータの集合であるデータグループが少なくとも1つ設定され、
前記データグループを含む共有資源を使用する権利であるアクセス権を管理する共有資源管理機能ブロックを備え、
前記共有資源は、前記アクセス権を有する前記CPUコアが使用可能であり、
前記CPUコアのそれぞれは、前記共有資源に対する前記アクセス権を獲得した後、当該共有資源を使用し、使用を終えた後に、前記アクセス権を解放するものであり、
前記共有資源管理機能ブロックは、1つの前記CPUコアが特定の前記共有資源に対する前記アクセス権を獲得した場合に、他の全ての前記CPUコアによる当該特定の前記共有資源の使用を禁止する排他処理を実行する、請求項1から7の何れか一項に記載のマルチコア演算装置。
In the shared memory, at least one data group that is a set of a plurality of data used in a state in which the consistency of the plurality of data is ensured is set,
A shared resource management function block for managing an access right that is a right to use a shared resource including the data group;
The shared resource can be used by the CPU core having the access right,
Each of the CPU cores uses the shared resource after acquiring the access right to the shared resource, and releases the access right after the use ends.
The shared resource management function block is an exclusive process for prohibiting use of the specific shared resource by all other CPU cores when one CPU core acquires the access right to the specific shared resource. The multi-core arithmetic device according to any one of claims 1 to 7, wherein:
前記共有資源管理機能ブロックが、1つの前記CPUコアに特定の前記共有資源に対する前記アクセス権を与えて前記排他処理を実行している場合、
他の前記CPUコアは、当該アクセス権が解放された後の、次の前記アクセス権を獲得する権利であるアクセス予約権を前記共有資源管理機能ブロックに設定する、請求項8に記載のマルチコア演算装置。
When the shared resource management functional block gives the access right to a specific shared resource to one CPU core, and executes the exclusive processing,
The multi-core operation according to claim 8, wherein the other CPU core sets an access reservation right, which is a right to acquire the next access right after the access right is released, in the shared resource management function block. apparatus.
前記CPUコアが、前記アクセス権の解放を待ち、前記CPUコアによる演算処理の実行が停止する状態であるデッドロックが生じて、予め規定されたタイムアウト時間を経過した場合には、少なくとも前記デッドロックが生じた前記CPUコアによる演算処理を初期状態に戻す処理であるリセット処理が、当該CPUコア、又は複数の前記CPUコアを統括管理する管理機能ブロックによって実行され、
前記共有資源に含まれるメモリ、又はそれぞれの前記CPUコアが占有するメモリの記憶領域に、当該リセット処理によって初期状態とならない記録領域が設定され、
前記リセット処理の実行時に、少なくとも前記アクセス権の獲得に失敗した回数を含むフェール情報が、前記記録領域に記録される、請求項8又は9に記載のマルチコア演算装置。
If the CPU core waits for the release of the access right and a deadlock occurs in which execution of arithmetic processing by the CPU core is stopped, and a predetermined timeout period elapses, at least the deadlock A reset process, which is a process for returning the arithmetic processing by the CPU core in which the error occurred to an initial state, is executed by the management function block that manages the CPU core or a plurality of the CPU cores,
In a memory area included in the shared resource or a memory area occupied by each CPU core, a recording area that is not in an initial state by the reset process is set,
The multi-core arithmetic device according to claim 8 or 9, wherein at the time of executing the reset process, fail information including at least the number of times the access right acquisition has failed is recorded in the recording area.
JP2016141367A 2016-07-19 2016-07-19 Multi-core arithmetic unit Active JP6699422B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016141367A JP6699422B2 (en) 2016-07-19 2016-07-19 Multi-core arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016141367A JP6699422B2 (en) 2016-07-19 2016-07-19 Multi-core arithmetic unit

Publications (2)

Publication Number Publication Date
JP2018013843A true JP2018013843A (en) 2018-01-25
JP6699422B2 JP6699422B2 (en) 2020-05-27

Family

ID=61019422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016141367A Active JP6699422B2 (en) 2016-07-19 2016-07-19 Multi-core arithmetic unit

Country Status (1)

Country Link
JP (1) JP6699422B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113748396A (en) * 2019-09-20 2021-12-03 株式会社Lg新能源 Battery management apparatus and method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113748396A (en) * 2019-09-20 2021-12-03 株式会社Lg新能源 Battery management apparatus and method
JP2022514551A (en) * 2019-09-20 2022-02-14 エルジー エナジー ソリューション リミテッド Battery management device and method
JP7243965B2 (en) 2019-09-20 2023-03-22 エルジー エナジー ソリューション リミテッド Battery management device and method
US12007894B2 (en) 2019-09-20 2024-06-11 Lg Energy Solution, Ltd. Battery management apparatus and method

Also Published As

Publication number Publication date
JP6699422B2 (en) 2020-05-27

Similar Documents

Publication Publication Date Title
JP5829890B2 (en) Semiconductor data processing apparatus, time trigger communication system, and communication system
US7689732B2 (en) Method for improving flexibility of arbitration of direct memory access (DMA) engines requesting access to shared DMA channels
US8156273B2 (en) Method and system for controlling transmission and execution of commands in an integrated circuit device
CN107430564B (en) Microcontroller device with a plurality of independent microcontrollers
JPH0844681A (en) Centralized management of resource shared by plurality of processors
KR20040012964A (en) System and method for controlling bus arbitration during cache memory burst cycles
JP5141367B2 (en) Vehicle control device
US20100174886A1 (en) Multi-Core Processing Utilizing Prioritized Interrupts for Optimization
WO2015182295A1 (en) Vehicle control apparatus
US20210194720A1 (en) Method and device for operating a control unit
JP6699422B2 (en) Multi-core arithmetic unit
US20120331240A1 (en) Data processing device and data processing arrangement
CN100593777C (en) Access arbiter and arbiterable condition verification device
JP6007677B2 (en) Safety control system and processor of safety control system
JP2010165175A (en) Apparatus and method for controlling use right of bus
JP7233932B2 (en) Service request interrupt router for virtual interrupt service providers
CN102722466A (en) 16-bit multibus circuit in 2 in 3 or 2 in 2 control system
CN107729273B (en) Bus logic arbitration device and method
JP7226291B2 (en) electronic controller
JP7057328B2 (en) Vehicle control device and vehicle control method
CN104063317A (en) Instruction diagnosis method
CN111090509B (en) MDIO resource access method, storage medium and intelligent terminal
JP4689189B2 (en) Information processing device
WO2023281766A1 (en) Automotive computer control method and vehicular electronic control device
WO2020230413A1 (en) Information processing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191029

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191223

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200413

R150 Certificate of patent or registration of utility model

Ref document number: 6699422

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150