JP2018163528A - Vehicle control device - Google Patents
Vehicle control device Download PDFInfo
- Publication number
- JP2018163528A JP2018163528A JP2017060430A JP2017060430A JP2018163528A JP 2018163528 A JP2018163528 A JP 2018163528A JP 2017060430 A JP2017060430 A JP 2017060430A JP 2017060430 A JP2017060430 A JP 2017060430A JP 2018163528 A JP2018163528 A JP 2018163528A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- calculation unit
- value
- sampling
- external information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、車両制御装置のOS(オペレーティングシステム)において、マルチコアシステムで共有されるメモリ領域を介して実行されるコア間データ通信に関するものである。 The present invention relates to inter-core data communication executed through a memory area shared by a multi-core system in an OS (Operating System) of a vehicle control device.
近年、例えば、自動車システム等の組込みシステムは、多機能化により、演算量が年々増加しており、組込みシステムに求められるCPUの性能は、向上する一方である。パソコンの分野では、このような処理量の増加に対して、演算装置であるCPU(Central Processing Unit)のコア数を増やすこと(マルチコア化)によって対応してきた。組込みシステムの分野も例外ではなく、カーナビや携帯電話といった演算量が多く、リアルタイム性の制約が比較的緩いコンシューマ系では、マルチコア化が進んでいる。例えば、自動車制御システム等の組み込み制御システムが、高度化および複雑化するのに伴い、これらの演算量が1シングルコアの限界を超えることが予想されるため、マルチコアの採用が検討されている。 In recent years, for example, an embedded system such as an automobile system has an increasing amount of computation year by year due to multifunctionalization, and the CPU performance required for the embedded system is improving. In the field of personal computers, such an increase in processing amount has been dealt with by increasing the number of cores of a CPU (Central Processing Unit) which is an arithmetic unit (multi-core). The field of embedded systems is no exception, and the number of computations such as car navigation and mobile phones is large, and consumer systems with relatively loose real-time restrictions are becoming multi-core. For example, as an embedded control system such as an automobile control system becomes more sophisticated and complicated, the amount of calculation is expected to exceed the limit of one single core.
一般的に、複数のコアが連携してアプリケーションを処理するシステムでは、コアをまたいで情報を処理するため、データの一貫性を担保する必要がある。しかしながら、マルチコアシステムは、各コアが並列で動作するため、排他制御が必要となり、オーバーヘッドの増加が課題となる。コア間排他制御とは、複数のコアが同時にアクセス(Read/Write/Execution)できるリソースがある場合、アクセス中のコアにリソース(例、メモリ)を独占させ、他のコアがアクセスできないようにリソースをロックする処理である。 In general, in a system in which a plurality of cores cooperate to process an application, it is necessary to ensure data consistency because information is processed across cores. However, in a multi-core system, since each core operates in parallel, exclusive control is necessary, and an increase in overhead becomes a problem. Inter-core exclusive control means that if there are resources that multiple cores can access (Read / Write / Execution) at the same time, the resources (eg, memory) are monopolized by the accessing core so that other cores cannot access it. Is a process of locking.
下記特許文献1には、進捗情報算出手段と、非同期処理手段とを有しており、同期処理を行う複数のコアの一方が、同期待ちの時間を抑制して非同期処理を実行可能なマルチプロセッサが開示されている。進捗情報算出手段は、現在PC(プログラムカウンタ)値と、アドレス位置とに基づいて、他のプロセッサの同期処理開始までの進捗情報を算出する非同期処理手段は、進捗情報に基づき、他のプロセッサが同期処理を開始する前に、自プロセッサが非同期処理を実行可能であると判定した場合に、非同期処理を実行する。
The following
複数のCPUで構成されるマルチコアアーキテクチャにおいて、コアを跨いでデータを入手するには、該当データまたは更新フラグが格納された領域を周期的に監視する必要がある。ソフトウェアの更新タイミングが、車両状態に依存して変動する場合(ex.エンジン、インバータ)、周期的に監視する手法では、サンプリング周期は、できるだけ短い周期に設定する必要があるため、高負荷となる。 In a multi-core architecture composed of a plurality of CPUs, in order to obtain data across cores, it is necessary to periodically monitor the area where the corresponding data or update flag is stored. When the software update timing fluctuates depending on the vehicle condition (ex. Engine, inverter), the periodic monitoring method requires a sampling cycle to be set as short as possible, resulting in high load. .
よって、本発明は、周期的な割り込み起因のコア間通信を行っているときに、一部の演算部に負荷が集中しないようにして利用効率を最適化するためのプログラムを提供することを目的とする。 Therefore, an object of the present invention is to provide a program for optimizing the usage efficiency so that the load is not concentrated on some arithmetic units when performing inter-core communication due to periodic interruption. And
本発明に係わる車両制御装置は、プログラムを実行する複数の演算部と、前記複数の演算部が周期的にアクセスする記憶領域と、外部情報を検出する検出部とを備え、前記複数の演算部は、前記検出部が検出した前記外部情報を受信し、当該受信した前記外部情報に基づいて、前記記憶領域に対する処理を調整する。 A vehicle control device according to the present invention includes a plurality of calculation units that execute a program, a storage area that is periodically accessed by the plurality of calculation units, and a detection unit that detects external information. Receives the external information detected by the detection unit, and adjusts the processing for the storage area based on the received external information.
本発明に関わる車両制御装置によれば、変動する外部情報に応じて、記憶領域に対する処理を変更することができる。従って、複数の演算部に対して共有資源となる記録領域への競合を抑制し、演算部の利用効率を向上することができる。 According to the vehicle control device related to the present invention, the processing for the storage area can be changed according to the fluctuating external information. Accordingly, it is possible to suppress contention for a recording area that is a shared resource for a plurality of arithmetic units and to improve the utilization efficiency of the arithmetic units.
図1は、本実施例に係る2つの演算部からなるマルチコアシステムで構成されるエンジン制御装置ECU1の構成図である。 FIG. 1 is a configuration diagram of an engine control unit ECU1 configured by a multi-core system including two arithmetic units according to the present embodiment.
エンジン制御装置ECU1は、車両に搭載され、当該車両のエンジン、変速機等の各種機器を制御する。エンジン制御装置ECU1は、演算部および外部情報監視部としての第1演算部2および第2演算部3と、プログラム領域4と、第1演算部記憶領域5と、第2演算部記憶領域6と、入出力回路7とを備える。入出力回路7は、検出部としてのセンサ8と、アクチュエータ9とに、相互に接続されている。センサ8は、車両の各種状態を検出し、検出信号として入出力回路7を介してエンジン制御装置ECU1内に入力される。アクチュエータ9は、エンジン制御装置ECU1が入出力回路7を介して出力する出力信号に応じて動作する。
The engine control unit ECU1 is mounted on a vehicle and controls various devices such as an engine and a transmission of the vehicle. The engine control unit ECU1 includes a
第1演算部2と、第2演算部3とは、プログラム領域4が格納しているプログラムを実行するプロセッサコア(CPU:Central Processing Unit)である。第1演算部2と、第2演算部3とは、プログラム領域4が格納しているプログラムの実行を並列に行うことができる。さらに、第1演算部2と、第2演算部3とは、センサ8から出力される検出信号に基づいて、外部情報を監視する外部情報監視部としても機能する。ここで、マルチコアシステムの演算装置は、2つとしているが、これに限らない。本実施例で定義するマルチコアシステムとは、複数のプロセッサコアを有するコンピュータシステムのことを指す。したがって、例えば、1つのパッケージ内に2つ以上の複数のプロセッサコアで構成されるシステムや、プロセッサコアを有する複数のパッケージで構成されたシステムでもよい。
The
プログラム領域4は、第1演算部ソフトウェア制御部41と、第1演算部タイマ部42と、第1演算部割り込み部43と、第2演算部ソフトウェア制御部44とを格納する。さらに、プログラム領域4は、第2演算部タイマ部45と、第2演算部周期処理部46と、第2演算部サンプリング調整部47と、第2演算部周期調整部48と、第2演算部オフセット調整部49と、第2演算部サンプリング部40とを格納する。
The
第1演算部記憶領域5は、後述する図2の第1演算部データ管理テーブル51と、図3の第1演算部データ記録テーブル52と、図4の第1演算部割り込み記録テーブル53とを格納する。さらに、第2演算部記憶領域6は、後述する図5の第2演算部データ管理テーブル61と、図6の第2演算部データ記録テーブル62と、図7の第2演算部サンプリング記録テーブル63と、図8の第2演算部サンプリング調整テーブル64と、図9の第2演算部サンプリング周期調整テーブル65と、図10の第2演算部オフセット調整テーブル66とを格納する。
The first calculation
本処理システムは、マルチコアプロセッサを採用しているため、第1演算部2と、第2演算部3とは、プログラム領域4と、第1演算部データ記憶領域5と、第2演算部データ記憶領域6とに並列にアクセス可能である。さらに、本実例におけるエンジン制御ECU1の構成は、これに限らない。エンジン制御ECU1は、例えば、データを保存するための不揮発性メモリ(バックアップRAM)や、各演算部がアクセスするための共有記憶領域や異なるセンサなどを備えてもよい。
Since this processing system employs a multi-core processor, the
第1演算部記憶領域5に格納され、第1演算部2と、第2演算部3とからアクセス(読み込み,書き込み)されるテーブル51〜53を、下記より説明する。
The tables 51 to 53 stored in the first calculation
図2は、第1演算部データ管理テーブル51の一例を示す図である。 FIG. 2 is a diagram illustrating an example of the first arithmetic unit data management table 51.
第1演算部データ管理テーブル51は、名称フィールド510と、設定値フィールド511とからなる。名称フィールド510は、第1演算部データ管理テーブル51が管理する対象の名称である。本実施例では、第1演算部タイマ部42が操作するソフトウェアタイマの最大値である第1演算部タイマカウンタ最大値からなる。設定値フィールド511は、第1演算部データ管理テーブル51が管理する対象の設定値を表す。
The first arithmetic unit data management table 51 includes a
図3は、第1演算部データ記録テーブル52の一例を示す図である。 FIG. 3 is a diagram illustrating an example of the first calculation unit data recording table 52.
第1演算部データ記録テーブル52は、名称フィールド520と、値フィールド521とからなる。名称フィールド520は、第1演算部データ記録テーブル52が管理する対象の名称である。本実施例では、第1演算部2の動作の基準となるソフトウェアタイマのカウンタ値である第1演算部タイマカウンタ値と、第1演算部2が割り込み時にアクセス(読み込み、書き込み)するテーブルの格納先IDを示す最新値格納先IDとからなる。値フィールド521は、第1演算部データ記録テーブル52で管理する対象の値が格納される。
The first calculation unit data recording table 52 includes a
図4は、第1演算部割り込み記録テーブル53の一例を示す図である。 FIG. 4 is a diagram illustrating an example of the first arithmetic unit interrupt recording table 53.
第1演算部割り込み記録テーブル53は、IDフィールド530と、タイマカウンタ値フィールド531と、サンプリングフラグフィールド532と、データ値フィールド533とからなる。IDフィールド530は、第1演算部割り込み記録テーブル53が管理する対象を管理するIDである。タイマカウンタ値フィールド531は、第1演算部割り込み部43が第1演算部割り込み記録テーブル53にアクセスしたタイミングのタイマカウンタ値である。サンプリングフラグフィールド532は、第2演算部3からのアクセス有無を示すフラグである。本実施例では、サンプリングフラグは「0」,「1」の2値で表現され、「0」は第2演算部がアクセスしたことを示し、「1」は第2演算部が未アクセスであることを示す。ただし、第2演算部3からのアクセスを示すサンプリングフラグの構成は、これに限らない。データ値フィールド533は、第1演算部割り込み記録テーブル53が管理する割り込みのデータ値を管理するフィールドである。
The first arithmetic unit interrupt recording table 53 includes an
次に、エンジン制御ECU1の第2演算部記憶領域6に格納され、第1演算部2と、第2演算部3とからアクセス(読み込み、書き込み)されるテーブル61〜66を、下記より説明する。
Next, the tables 61 to 66 stored in the second calculation
図5は、第2演算部データ管理テーブル61の一例を示す図である。 FIG. 5 is a diagram illustrating an example of the second arithmetic unit data management table 61.
第2演算部データ管理テーブル61は、名称フィールド610と、設定値フィールド611とからなる。名称フィールド610は、第2演算部データ記録テーブル61が管理するデータの名称が格納される。本実施例では、第2演算部タイマ部45が更新するタイマの最大値である第2演算部タイマカウンタ最大値と、第2演算部2が第1演算部記憶領域5にアクセスするサンプリングのタイミングを調整するサンプリング調整周期とからなるが、これに限らない。設定値フィールド611は、第2演算部データ記録テーブル61が管理するデータの設定値が格納される。
The second arithmetic unit data management table 61 includes a
図6は、第2演算部データ記録テーブル62の一例を示す図である。 FIG. 6 is a diagram illustrating an example of the second calculation unit data recording table 62.
第2演算部データ記録テーブル62は、名称フィールド620と、値フィールド621とからなる。名称フィールド620は、第2演算部データ記録テーブル62が管理するデータの名称が格納される。本実施例では、第2演算部タイマ部45がアクセスするソフトウェアタイマのカウンタである第2演算部タイマカウンタ値と、第2演算部3が第1演算部記憶領域5にアクセスする周期であるサンプリング周期と、第2演算部3が第1演算部記憶領域5にアクセスする周期のオフセットとからなる。しかし、これに限らない。値フィールド621は、第2演算部データ記録テーブル62が管理するデータの値が格納される。
The second arithmetic unit data recording table 62 includes a
図7は、第2演算部サンプリング記録テーブル63の例を示す図である。 FIG. 7 is a diagram illustrating an example of the second arithmetic unit sampling recording table 63.
第2演算部サンプリング記録テーブル63は、IDフィールド630と、タイマカウンタ値フィールド631と、サンプリングタイマカウンタ値フィールド632と、データ値フィールド633とからなる。IDフィールド60300は、第2演算部サンプリング記録テーブル63が管理するデータが格納される領域のIDが格納される。タイマカウンタ値フィールド631は、第1演算部割り込み部43が第1演算部記憶領域5にアクセスしたタイマカウンタ値が格納される。サンプリングタイマカウンタ値フィールド632は、第2演算部サンプリング部40が第1演算部記憶領域5にアクセスした際のタイマカウンタ値が格納される。データ値フィールド633は、第2演算部サンプリング記録テーブル63が管理するサンプリングデータの値が格納される。
The second arithmetic unit sampling record table 63 includes an
図8は、第2演算部サンプリング調整テーブル64である。 FIG. 8 shows the second arithmetic unit sampling adjustment table 64.
第2演算部サンプリング調整テーブル64は、IDフィールド640と、割り込み周期フィールド641と、割り込み傾向フィールド642と、オフセット差フィールド643と、オフセット差傾向フィールド644とからなる。IDフィールド640は、第2演算部サンプリング調整テーブル64が管理するデータが格納される領域のIDが格納される。割り込み周期フィールド641は、第2演算部3が第1演算部記憶領域5にアクセスする頻度を算出した結果である割り込み周期を格納する。割り込み周期は、例えば、前回アクセスしてから経過した時間や、第1演算部記憶領域5にアクセスする平均時間などである。割り込み傾向フィールド642は、前述した割り込み周期の単位時間当たりの変化率である。割り込み周期の単位時間当たりの変化率は、例えば、最新の割り込み周期と、前回の割り込み周期との差分、または最新の割り込み周期から一定期間内の割り込み周期の変化率である。オフセット差フィールド643は、第2演算部サンプリング記録テーブル63が管理するタイマカウンタ値とサンプリングタイマカウンタ値との差を、オフセット差として格納する。オフセット差傾向フィールド644は、オフセット差の単位時間あたりの変化率である。オフセット差の単位時間あたりの変化率は、例えば、最新のオフセット差と前回のオフセット差との差分、または一定時間内のオフセット差の変化率である。
The second arithmetic unit sampling adjustment table 64 includes an
図9は、第2演算部サンプリング周期調整テーブル65である。 FIG. 9 is a second calculation unit sampling cycle adjustment table 65.
第2演算部サンプリング周期調整テーブル65は、割り込み傾向判定閾値650フィールドと、サンプリング周期補正値フィールド651とからなる。割り込み傾向判定閾値650フィールドは、第2演算部サンプリング調整テーブル64が管理する割り込み傾向の値を判定する閾値が格納される。サンプリング周期補正値傾向フィールド651は、前述した割り込み傾向の値に応じた補正値を格納する。例えば、割り込み傾向が0以上でかつサンプリング傾向の絶対値が一定値(図中、α)以下であれば、補正値が0となり、一定値(図中、β)以上であれば、指定された値を補正値とする。さらに、割り込み傾向が0より小さく、サンプリング傾向の絶対値が一定値(α)以下であれば指定された値を補正値とし、一定値(β)以上であれば、同様に指定された値を補正値とする。ここで、補正の値は、固定値としているが、これに限らない。補正の値は、例えば、割り込み傾向の値に応じた変化する値でもよい。
The second calculation unit sampling cycle adjustment table 65 includes an interrupt tendency
図10は、第2演算部オフセット調整テーブル66である。 FIG. 10 shows the second calculation unit offset adjustment table 66.
第2演算部オフセット調整テーブル66は、オフセット傾向判定閾値フィールド660と、オフセットフィールド661とからなる。オフセット傾向判定閾値フィールド660は、第2演算部サンプリング調整テーブル64で管理するオフセット差傾向を判定する閾値が格納される。オフセットフィールド661は、前述したオフセット差傾向の値に応じたオフセットを格納する。例えば、オフセット差傾向が0以上でかつ一定値(図中、α)以下であれば、指定した値が0となり、一定値(図中、β)以上であれば、指定された値をオフセットする。さらに、オフセット差傾向が0より小さく、オフセット差傾向の絶対値が一定値(α)以下であれば、指定された値をオフセットとし、一定値(β)以上であれば、同様に指定された値をオフセットとする。ここで、オフセットの値は固定値としているが、これに限らない。オフセットの値は、例えば、オフセット差傾向の値に応じて変化する値でもよい。
The second calculation unit offset adjustment table 66 includes an offset tendency
以上のテーブル51〜53,61〜66が、本実施例のエンジン制御ECU1の第1演算部データ記憶領域5と、第2演算部記憶領域6とに格納される。ただし、各テーブル51〜53,61〜66が管理する対象の種類や数および管理方法は、これに限らない。さらに、各テーブル51〜53,61〜66は、第1演算部記憶領域5と、第2演算部記憶領域6とから、任意のタイミングでアクセス(読み込み,書き込み)可能である。
The above tables 51-53, 61-66 are stored in the 1st calculating part
次に、エンジン制御ECU1のプログラム領域4に格納され、第1演算部2で実行されるプログラムの動作フローについて説明する。
Next, an operation flow of a program stored in the
図11は、第1演算部2の第1演算部ソフトウェア制御部41の動作フローである。以下、図11の各ステップ410〜412について説明する。
FIG. 11 is an operation flow of the first calculation unit
(図11:ステップ410)
第1演算部ソフトウェア制御部41は、第1演算部記憶領域5で管理される第1演算部データ記録テーブル52と、第1演算部割り込み記録テーブル53とを初期化する。
(FIG. 11: Step 410)
The first calculation unit
(図11:ステップ411)
第1演算部ソフトウェア制御41は、後述の図7で説明する第1演算部タイマ部42を呼ぶ。これにより、第1演算部2が参照するタイマのカウンタ値を更新する。
(FIG. 11: Step 411)
The first calculation
(図11:ステップ412)
第1演算部ソフトウェア制御部41は、終了条件が満たされているか判定し、満たされていれば、処理を終了し、満たされていなければ、ステップ411へ戻る。
(FIG. 11: Step 412)
The first calculation unit
図12は、第1演算部タイマ部42の動作フローである。以下、図12の各ステップ420〜422について説明する。
FIG. 12 is an operation flow of the first arithmetic
(図12:ステップ420)
第1演算部タイマ部42は、第1演算部データ記録テーブル52から第1演算部タイマカウンタ値を取得する。取得した値が、データ管理テーブル51で管理される第1演算部タイマカウンタ最大値と比較し、最大タイマカウンタ以上でれば、ステップ421に進み、その他の場合は、ステップ422に進む。
(FIG. 12: Step 420)
The first arithmetic
(図12:ステップ421)
第1演算部タイマ部42は、第1演算部データ記録テーブル52の第1演算部タイマカウンタ値に0を代入し、処理を終了する。
(FIG. 12: Step 421)
The first arithmetic
(図12:ステップ422)
第1演算部タイマ部42は、データ記録テーブル52の第1演算部タイマカウンタ値に1を加算した値を書き込み、処理を終了する。
(FIG. 12: Step 422)
The first arithmetic
図13は、第1演算部割り込み部43の動作フローである。以下、図13の各ステップ430〜432について説明する。
FIG. 13 is an operation flow of the first arithmetic unit interrupt
(図13:ステップ430)
第1演算部割り込み部43は、割り込み処理を実行する。
(FIG. 13: Step 430)
The first arithmetic unit interrupt
(図13:ステップ431)
第1演算部割り込み部43は、第1演算部データ記録テーブル52を参照し、第1演算部タイマカウンタ値と、最新値格納IDとを取得する。第1演算部割り込み部43は、取得した最新値格納IDと同じIDが示す第1演算部割り込み記録テーブル53のタイマカウンタ値フィールドと、データ値フィールドの値に取得したタイマカウンタ値と、割り込み処理実行結果とを格納する。
(図13:ステップ432)
(FIG. 13: Step 431)
The first calculation unit interrupt
(FIG. 13: Step 432)
第1演算部割り込み部43は、第1演算部データ記録テーブル52が管理する最新値格納IDと、第1演算部割り込み記録テーブル53のサンプリングフラグとを更新し、処理を終了する。
The first arithmetic unit interrupt
次に、エンジン制御ECU1のプログラム領域4に格納され、第2演算部3で実行されるプログラムの動作フローについて説明する。
Next, an operation flow of a program stored in the
図14は、第2演算部ソフトウェア制御部44の動作フローである。以下、図14の各ステップについて説明する。
FIG. 14 is an operation flow of the second arithmetic unit
(図14:ステップ440)
第2演算部ソフトウェア制御部404は、第2演算部記憶領域6で管理された第2演算部データ記録テーブル62と、第2演算部サンプリング記録テーブル63とを初期化する。
(FIG. 14: Step 440)
The second calculation unit software control unit 404 initializes the second calculation unit data recording table 62 and the second calculation unit sampling recording table 63 managed in the second calculation
(図14:ステップ441)
第2演算部ソフトウェア制御部44は、後述の図15で説明する第2演算部タイマ部45を呼ぶ。これにより、第2演算部3が参照するタイマのカウンタ値を更新する。
(FIG. 14: Step 441)
The second calculation unit
(図14:ステップ442)
第2演算部ソフトウェア制御部44は、後述の図16で説明する第2演算部周期処理部46を呼ぶ。これにより、第2演算部3は、一定の周期で処理を実行する。
(FIG. 14: Step 442)
The second calculation unit
(図14:ステップ443)
第2演算部ソフトウェア制御部44は、終了条件が満たされているか判定し、満たされていれば、処理を終了し、満たされていなければ、ステップ441へ戻る。
(FIG. 14: Step 443)
The second arithmetic unit
図15は、第2演算部タイマ部45の動作フローである。以下、図15の各ステップについて説明する。
FIG. 15 is an operation flow of the second arithmetic
(図15:ステップ450)
第2演算部タイマ部45は、第2演算部データ記録テーブル62から第2演算部タイマカウンタ値を取得する。取得したタイマカウンタ値をデータ管理テーブル61で管理される第2演算部タイマカウンタ最大値と比較し、最大タイマカウンタ値以上でれば、ステップ451に進み、その他の場合は、ステップ452に進む。
(Figure 15: Step 450)
The second arithmetic
(図15:ステップ451)
第2演算部タイマ部45は、第2演算部データ記録テーブル62の第2演算部タイマカウンタ値に0を代入し、処理を終了する。
(図15:ステップ452)
(FIG. 15: Step 451)
The second arithmetic
(FIG. 15: Step 452)
第2演算部タイマ部45は、第2演算部データ記録テーブル62の第2演算部タイマカウンタ値に1を加算した値を書き込み、処理を終了する。
The second arithmetic
図16は、第2演算部周期処理部46の動作フローである。以下、図16の各ステップについて説明する。
(図16:ステップ460)
第2演算部周期処理部46は、後述の図17で説明する第2演算部サンプリング調整部47を呼ぶ。これにより、第2演算部周期処理部46は、サンプリングの周期とオフセットとを判別することができる。
FIG. 16 is an operation flow of the second calculation unit
(FIG. 16: Step 460)
The second calculation unit
(図16:ステップ461)
第2演算部周期処理部46は、後述の図20で説明する第2演算部サンプリング部40を呼ぶ。これにより、第2演算部周期処理部46は、第1演算部記憶領域5に格納されたデータの最新値を取得できる。
(FIG. 16: Step 461)
The 2nd calculating part
図17は、第2演算部サンプリング調整部47の動作フローである。以下、図17の各ステップについて説明する。 FIG. 17 is an operation flow of the second arithmetic unit sampling adjustment unit 47. Hereinafter, each step of FIG. 17 will be described.
(図17:ステップ470)
第2演算部サンプリング調整部は、第2演算部データ記録テーブル62に格納された第2演算部タイマカウンタ値と、第2演算部データ管理テーブル61で管理するサンプリング調整タイミングとを比較する。第2演算部タイマカウンタ値が、第2演算部サンプリング調整タイミングで割り切れる場合は、ステップ471に進み、それ以外は、処理を終了する。
(FIG. 17: Step 470)
The second calculation unit sampling adjustment unit compares the second calculation unit timer counter value stored in the second calculation unit data recording table 62 with the sampling adjustment timing managed by the second calculation unit data management table 61. If the second arithmetic unit timer counter value is divisible by the second arithmetic unit sampling adjustment timing, the process proceeds to step 471, and otherwise, the process ends.
(図17:ステップ471)
第2演算部サンプリング調整部47は、後述する図17の第2演算部周期調整部48を呼ぶ。これにより、第2演算部サンプリング調整部47は、第1演算部記憶領域5に格納されたデータを取得するサンプリング周期を調整する。
(FIG. 17: Step 471)
The second calculation unit sampling adjustment unit 47 calls a second calculation unit
(図17:ステップ472)
第2演算部サンプリング調整部47は、後述する図18の第2演算部オフセット調整部49を呼ぶ。これにより、第2演算部サンプリング調整部47は、第1演算部記憶領域5に格納されたデータを取得するサンプリング周期のオフセットを調整する。
(FIG. 17: Step 472)
The second calculation unit sampling adjustment unit 47 calls a second calculation unit offset adjustment unit 49 of FIG. Thereby, the second calculation unit sampling adjustment unit 47 adjusts the offset of the sampling period for acquiring the data stored in the first calculation
図18は、第2演算部周期調整部48の動作フローである。以下、図18の各ステップについて説明する。
FIG. 18 is an operation flow of the second calculation unit
(図18:ステップ480)
第2演算部周期調整部48は、第2演算部サンプリング記録テーブル63が管理するタイマカウンタ値フィールド631を参照し、第1演算部2が第1演算部記憶領域5を更新する周期を算出する。第2演算部周期調整部48は、その算出結果を第2演算部サンプリング調整テーブル64の割り込み周期フィールド641に記録する。このとき、格納先は、第2演算部データ記録テーブル62の名称フィールド620に格納された最新値格納先IDとする。ここで、割り込み周期とは、第1演算部2が単位時間あたりに第1演算部割り込み記録テーブル53を更新する時間間隔を指す。割り込み周期は、第2演算部サンプリング記録テーブル63が管理するタイマカウンタ値を積算した値を、第2演算部サンプリング記録テーブル63が管理するIDの総数で割ることによって算出される。ただし、算出方法は、これに限らない。例えば、算出方法は、システムがおかれる外部状態に応じて第1演算部2が更新する頻度が不定となる、または周期が離散的に切り替わる場合は、タイマカウンタ値の最新値から一定期間のタイマカウンタ値の平均値でもよい。
(FIG. 18: Step 480)
The second calculation unit
(図18:ステップ481)
第2演算部周期調整部408は、第2演算部サンプリング調整テーブル604の割り込み周期フィールド641から第1演算部2がデータを更新する割り込みの傾向を算出する。このとき、格納先は、第2演算部データ記録テーブル602の名称フィールド60200に格納された最新値格納先IDに算出結果が記録される。ここで、割り込み傾向とは、前述した割り込み周期の単位時間当たりの変化率である。割り込み傾向は、例えば、最新の割り込み周期と前回の割り込み周期との差分、または最新の割り込み周期から一定期間内の割り込み周期の変化率である。
(Figure 18: Step 481)
The second calculation unit cycle adjustment unit 408 calculates the tendency of an interrupt in which the
(図18:ステップ482)
第2演算部周期調整部48は、前述した割り込み傾向の絶対値と、その符号と第2演算部サンプリング周期調整テーブル65とを比較し、サンプリング周期補正値を求める。第2演算部周期調整部48は、更新周期にサンプリング周期補正値を加えた値を、第2演算部データ記録テーブル62にサンプリング周期として記録し、処理を終了する。
(FIG. 18: Step 482)
The second calculation unit
図19は、第2演算部オフセット調整部49の動作フローである。以下、図19の各ステップについて説明する。 FIG. 19 is an operation flow of the second calculation unit offset adjustment unit 49. Hereinafter, each step of FIG. 19 will be described.
(図19:ステップ490)
第2演算部オフセット調整部49は、第2演算部サンプリング記録テーブル63のタイマカウンタ値631と、サンプリングタイマカウンタ値632とに基づいて、オフセット差を算出する。第2演算部オフセット調整部49は、算出したオフセット差を第2演算部サンプリング調整テーブル64のオフセット差フィールド643に記録する。このとき、第2演算部オフセット調整部49は、第2演算部データ記録テーブル62の名称フィールド620に格納された最新値格納先IDに結果を記録する。
(FIG. 19: Step 490)
The second calculation unit offset adjustment unit 49 calculates an offset difference based on the
(図19:ステップ491)
第2演算部オフセット調整部49は、第2演算部サンプリング調整テーブル64のオフセット差からオフセット差傾向を算出し、その結果を第2演算部サンプリング調整テーブル64のオフセット差傾向644フィールドに記録する。このとき、第2演算部データ記録テーブル62の名称フィールド620に格納された最新値格納先IDに結果を記録する。ここで、オフセット傾向とは、前述したオフセット差の単位時間当たりの変化率である。オフセット傾向は、例えば、最新のオフセット差と前回のオフセット差の差分、または最新のオフセット差から一定期間内のオフセット差の変化率である。
(FIG. 19: Step 491)
The second calculation unit offset adjustment unit 49 calculates an offset difference tendency from the offset difference of the second calculation unit sampling adjustment table 64 and records the result in the offset difference tendency 644 field of the second calculation unit sampling adjustment table 64. At this time, the result is recorded in the latest value storage destination ID stored in the
(図19:ステップ492)
第2演算部オフセット調整部49は、算出したオフセット差傾向の絶対値と、その符号と第2演算部オフセット調整テーブル66とに基づいて、オフセットを算出し、第2演算部データ記録テーブル62にオフセットとして記録し、処理を終了する。
(FIG. 19: Step 492)
The second calculation unit offset adjustment unit 49 calculates an offset based on the calculated absolute value of the offset difference tendency, its sign, and the second calculation unit offset adjustment table 66, and stores it in the second calculation unit data recording table 62. Record as an offset and end the process.
図20は、第2演算部サンプリング部40の動作フローである。以下、図20の各ステップについて説明する。
FIG. 20 is an operation flow of the second arithmetic
(図20:ステップ400)
第2演算部サンプリング部40は、第2演算部データ記録テーブル62に基づいてサンプリング周期と、オフセットとを取得する。
(FIG. 20: Step 400)
The second calculation
(図20:ステップ401)
第2演算部サンプリング部40は、第2演算部データ記録テーブル62から取得した第2演算部タイマカウンタ値とオフセットとに基づいて、サンプリングタイミングかどうかを判定する。第2演算部サンプリング部40は、サンプリングのタイミングであれば、ステップ402へ進み、それ以外は、終了する。ここで、サンプリングタイミングであるかどうかを判定するには、第2演算部タイマカウンタ値にオフセットを加えた値を、第2演算部データ記録テーブル62に格納されたサンプリング周期で割り切れるかどうかで判定する。
(FIG. 20: Step 401)
The second calculation
(図20:ステップ402)
第2演算部サンプリング部40は、第1演算部データ記録テーブル52の最新値格納先IDが示す第1演算部割り込み記録テーブル53の最新値を取得する。最新値の取得後、第2演算部サンプリング部40は、第2演算部データ記録テーブル62が保持する最新値格納IDが示す第2演算部サンプリング記録テーブル63の値を更新する。更新後、第2演算部データ記録テーブル63が格納する最新値格納IDを更新し、処理を終了する。
(FIG. 20: Step 402)
The second calculation
以上のように、本実施例によれば、プログラムを実行する複数の演算部2,3と、複数の演算部2,3が周期的にアクセスする記録領域5と、外部情報を検出するセンサ8とを備え、複数の演算部2,3は、センサ8が検出した外部情報を受信し、当該受信した外部情報に基づいて、記憶領域5に対する処理を調整する。これにより、変動する外部情報に追従して、記憶領域5に対する処理を変更することができ、複数の演算部2,3のうちの何れかに負荷が集中することを抑制することができる。従って、相互に異なる2つの演算部2,3間で共有する資源となる記録領域5への競合を抑制し、演算部2,3の利用効率を向上することができる。
As described above, according to the present embodiment, the plurality of
さらに、外部情報は、記録領域5に対する書込頻度であるので、記録領域5に対する書き込み頻度が高い場合でも、複数の演算部2,3のうちの何れかに集中する負荷を低減することができる。
Furthermore, since the external information is the writing frequency to the
さらに、複数の演算部2,3は、外部情報に基づいて、記憶領域5に対する処理の周期を調整するので、実行する処理の周期を調整するだけで、変動する外部情報に追従した処理に容易に変更することができる。
Furthermore, since the plurality of
さらに、複数の演算部2,3は、外部情報に基づいて、記録領域5から外部情報を読み込む処理の周期を調整するので、記録領域5の更新周期を調整するだけで、変動する外部情報に追従した処理に容易に変更することができる。
Furthermore, since the plurality of
さらに、複数の演算部2,3は、外部情報に基づいて、周期の位相を調整するので、実行する処理の調整幅が広がる。
Further, since the plurality of
さらに、複数の演算部2,3は、外部情報の時間変化率を算出し、当該算出した外部情報の時間変化率に基づいて、記憶領域5に対する処理を調整するので、将来の外部情報を予測でき、実行する処理の信頼性を高めることできる。
Further, the plurality of
1…エンジン制御装置、2…第1演算部、3…第2演算部、5…第1演算部記憶領域、7…入出力回路、8…センサ
DESCRIPTION OF
Claims (6)
前記複数の演算部が周期的にアクセスする記憶領域と、
外部情報を検出する検出部とを備え、
前記複数の演算部は,前記検出部が検出した前記外部情報を受信し、当該受信した外部情報に基づいて、前記記憶領域に対する処理を調整する、
車両制御装置。 A plurality of arithmetic units for executing the program;
A storage area periodically accessed by the plurality of arithmetic units;
A detection unit for detecting external information,
The plurality of calculation units receive the external information detected by the detection unit, and adjust processing for the storage area based on the received external information.
Vehicle control device.
請求項1記載の車両制御装置。 The external information is a write frequency for the storage area.
The vehicle control device according to claim 1.
請求項1記載の車両制御装置。 The plurality of arithmetic units adjust a processing cycle for the storage area based on the external information.
The vehicle control device according to claim 1.
請求項3記載の車両制御装置。 The plurality of arithmetic units adjust a processing cycle for reading the external information from the recording area based on the external information.
The vehicle control device according to claim 3.
請求項4記載の車両制御装置。 The plurality of calculation units adjust the phase of the cycle based on the external information.
The vehicle control device according to claim 4.
請求項1記載の車両制御装置。
The plurality of calculation units calculate a time change rate of the external information, and adjust processing for the storage area based on the calculated time change rate of the external information.
The vehicle control device according to claim 1.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017060430A JP2018163528A (en) | 2017-03-27 | 2017-03-27 | Vehicle control device |
PCT/JP2018/010701 WO2018180664A1 (en) | 2017-03-27 | 2018-03-19 | Vehicle control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017060430A JP2018163528A (en) | 2017-03-27 | 2017-03-27 | Vehicle control device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018163528A true JP2018163528A (en) | 2018-10-18 |
Family
ID=63675811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017060430A Pending JP2018163528A (en) | 2017-03-27 | 2017-03-27 | Vehicle control device |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2018163528A (en) |
WO (1) | WO2018180664A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04168530A (en) * | 1990-10-31 | 1992-06-16 | Mitsubishi Electric Corp | Program priority control system |
JPH0664565A (en) * | 1992-06-10 | 1994-03-08 | Norm Pacific Autom Corp | Device for preventing, recording, testing and analyzing vehicle accident |
WO2012001835A1 (en) * | 2010-07-02 | 2012-01-05 | パナソニック株式会社 | Multiprocessor system |
JP2013092117A (en) * | 2011-10-26 | 2013-05-16 | Toyota Motor Corp | Control device of internal combustion engine |
JP2013171547A (en) * | 2012-02-23 | 2013-09-02 | Hitachi Automotive Systems Ltd | Vehicle control device |
-
2017
- 2017-03-27 JP JP2017060430A patent/JP2018163528A/en active Pending
-
2018
- 2018-03-19 WO PCT/JP2018/010701 patent/WO2018180664A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04168530A (en) * | 1990-10-31 | 1992-06-16 | Mitsubishi Electric Corp | Program priority control system |
JPH0664565A (en) * | 1992-06-10 | 1994-03-08 | Norm Pacific Autom Corp | Device for preventing, recording, testing and analyzing vehicle accident |
WO2012001835A1 (en) * | 2010-07-02 | 2012-01-05 | パナソニック株式会社 | Multiprocessor system |
JP2013092117A (en) * | 2011-10-26 | 2013-05-16 | Toyota Motor Corp | Control device of internal combustion engine |
JP2013171547A (en) * | 2012-02-23 | 2013-09-02 | Hitachi Automotive Systems Ltd | Vehicle control device |
Also Published As
Publication number | Publication date |
---|---|
WO2018180664A1 (en) | 2018-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10025364B2 (en) | GPU power measuring method of heterogeneous multi-core system | |
US9870369B2 (en) | Distributed resource contention detection and handling | |
US9519307B2 (en) | Detecting full-system idle state in adaptive-tick kernels | |
US20190361708A1 (en) | Embedded scheduling of hardware resources for hardware acceleration | |
US9164899B2 (en) | Administering thermal distribution among memory modules of a computing system | |
US20190188111A1 (en) | Methods and apparatus to improve performance data collection of a high performance computing application | |
US10467106B2 (en) | Data processing method, data processing system, and non-transitory computer program product for controlling a workload delay time | |
US20120297216A1 (en) | Dynamically selecting active polling or timed waits | |
US20120266163A1 (en) | Virtual Machine Migration | |
JP2019527867A (en) | Job scheduling across wayclock aware systems for energy efficiency on mobile devices | |
JP2008310748A (en) | Task execution time recording device, task execution time recording method, and task execution recording program | |
KR20180066073A (en) | System and method for providing operating system independent error control in a computing device | |
CN107632779B (en) | Data processing method and device and server | |
CN109889406B (en) | Method, apparatus, device and storage medium for managing network connection | |
US20180217875A1 (en) | Data processing system and data processing method | |
JP6229733B2 (en) | Information processing apparatus, method, program, and recording medium | |
EP4239482A1 (en) | Electronic device and method with on-demand accelerator checkpointing | |
WO2018180664A1 (en) | Vehicle control device | |
JPWO2004046926A1 (en) | Event notification method, device, and processor system | |
WO2013129061A1 (en) | Control system for simultaneous number of connections, control server for simultaneous number of connections, control method for simultaneous number of connections and control program for simultaneous number of connections | |
US9898434B2 (en) | System, process control method and medium | |
CN112445587A (en) | Task processing method and task processing device | |
TWI840795B (en) | Host system and a method thereof | |
JP2007172519A (en) | Information processor, link management method for software module, and program | |
JP2006065658A (en) | Parallel computer system and method for entering job |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201006 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20201202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210525 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210720 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20211221 |