JP6413922B2 - ソフトウェア分割方法、ソフトウェア分割装置および車載装置 - Google Patents
ソフトウェア分割方法、ソフトウェア分割装置および車載装置 Download PDFInfo
- Publication number
- JP6413922B2 JP6413922B2 JP2015101175A JP2015101175A JP6413922B2 JP 6413922 B2 JP6413922 B2 JP 6413922B2 JP 2015101175 A JP2015101175 A JP 2015101175A JP 2015101175 A JP2015101175 A JP 2015101175A JP 6413922 B2 JP6413922 B2 JP 6413922B2
- Authority
- JP
- Japan
- Prior art keywords
- software
- division
- dividing
- divided
- procedure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Description
本発明は、こうした問題に鑑みてなされたものであり、各コアの処理負荷が均等になるようにソフトウェアを分割することを容易にする技術を提供することを目的とする。
制御の切れ目または演算の切れ目で分割する方法は、人が思考して分割可能と判断できる箇所で分割するものであり、処理の大小でばらつきが生じる。一方、データの流れの疎な部分で分割する方法は、人では分割が困難な方式であり、コンピュータによる自動化に向いた分割方式であるため、分割サイズのばらつきを小さく抑えることができる。
上記目的を達成するためになされた第3発明は、複数のコアを備えるマイクロコンピュータを内蔵する車載装置であって、複数のコアは、第1分割手順と、第2分割手順とを備えるソフトウェア分割方法により分割されたソフトウェアにより動作する。
以下に本発明の第1実施形態を図面とともに説明する。
本実施形態のソフトウェア分割装置1は、図1に示すように、表示部11と、操作入力部12と、データ記憶部13と、データ入出力部14と、制御部15とを備える。
操作入力部12は、使用者がキーボード(不図示)とマウス(不図示)を介して行った入力操作を特定するための入力操作情報を出力する。
データ入出力部14は、有線または無線で接続された外部機器との間でデータの入出力を行う。
このように構成されたソフトウェア分割装置1において、制御部15は、ソフトウェア分割処理を実行する。
次に、コア数n=4,5,8,12であり、データ依存性分割数l=2,3,4,5である場合の分割方法を説明する。
制御の切れ目または演算の切れ目で分割する方法は、人が思考して分割可能と判断できる箇所で分割するものであり、処理の大小でばらつきが生じる。一方、データの流れの疎な部分で分割する方法は、人では分割が困難な方式であり、コンピュータによる自動化に向いた分割方式であるため、分割サイズのばらつきを小さく抑えることができる。
以下に本発明の第2実施形態を図面とともに説明する。
本実施形態の電子制御装置(Electronic Control Unit)101(以下、ECU101という)は、車両に搭載され、車両に搭載されたエンジン(不図示)を制御する。
マイコン102は、クランク軸センサからのクランク信号、カム軸センサからの気筒判別用信号、水温センサおよびスロットル開度センサ等からの他の各種センサ信号、トランスミッションのシフトポジションスイッチおよびエアコンスイッチ等からの各種スイッチ信号を入力回路103を介して取り込む。またマイコン102は、取り込んだ各種信号に基づいて、出力回路104を介してインジェクタへ駆動信号を出力する燃料噴射制御、出力回路104を介して点火装置へ駆動信号を出力する点火時期制御などのエンジン制御を実施する。
ROM112は、ソフトウェア131,132,133,134を記憶する。ソフトウェア131,132,133,134はそれぞれ、コア121,122,123,124が実行するソフトウェアである。そして、ソフトウェア131,132,133,134は、第1実施形態または第2実施形態のソフトウェア分割装置1で4つに分割されたソフトウェアである。
以上説明した実施形態において、ECU101は本発明における車載装置である。
(変形例1)
例えば上記第1実施形態では、2段階または3段階で分割するものを示したが、4段階以上で分割を行うようにしてもよい。例えば、上記第1実施形態では、S60において、1段階で分割対象ソフトウェアを制御・演算分割数kに分割する制御・演算分割を実行するものを示した。しかし、複数段階の制御・演算分割を実行することにより、分割対象ソフトウェアを制御・演算分割数kに分割するようにしてもよい。
また上記第1実施形態では、データ依存性分割を1回実行するものを示した(図2のS70を参照)。しかし、データ依存性分割を複数回実行するようにしてもよい。例えば、図7に示すように、最終段階のデータ依存性分割(S260)を実行する前に、最終段階のデータ依存性分割のためにデータ依存性分割を試行し(S240)、さらに制御・演算分割を実行する(S250)。そして、図7に示すように、この最終段階のデータ依存性分割よりも前に、前段階のデータ依存性分割(S230)を実行するようにしてもよい。前段階のデータ依存性分割を実行する場合には、前段階のデータ依存性分割(S230)を実行する前に、前段階のデータ依存性分割のためにデータ依存性分割を試行し(S210)、さらに制御・演算分割を実行する(S220)。データ依存性分割は、上述のように、コンピュータによる自動化に向いた分割方法であり、各コアの処理負荷が均等になるようにソフトウェアを分割することを容易にすることができる。このため、最終段階だけではなく、前段階でもデータ依存性分割を実行することにより、各コアの処理負荷が均等になるようにソフトウェアを分割することを更に容易にすることができる。なお、S230の処理は本発明における第3分割手順および第3分割手段である。
Claims (15)
- 複数のコアを備えるマイクロコンピュータで実行されるソフトウェアを、複数の前記コアのそれぞれに割り当てるために分割するソフトウェア分割方法であって、
前記ソフトウェアの少なくとも一部を、制御の切れ目または演算の切れ目で、前記マイクロコンピュータが備える前記コアの数より少ない分割数で分割する第1分割手順(S60)と、
前記第1分割手順で分割された後の前記ソフトウェアを、データの流れの疎な部分で分割することにより、前記ソフトウェアの少なくとも一部を、前記マイクロコンピュータが備える前記コアの数に分割する第2分割手順(S70)とを備える
ことを特徴とするソフトウェア分割方法。 - 前記第1分割手順は、分割された後の複数の前記ソフトウェアのそれぞれについて処理負荷が均等に近づくように、前記ソフトウェアの少なくとも一部を分割する
ことを特徴とする請求項1に記載のソフトウェア分割方法。 - 前記第2分割手順は、前記第1分割手順で分割された前記ソフトウェアが更に分割された後の複数の前記ソフトウェアのそれぞれについて処理負荷が均等に近づくように、前記第1分割手順で分割された後の前記ソフトウェアを分割する
ことを特徴とする請求項1または請求項2に記載のソフトウェア分割方法。 - 前記第1分割手順を実行する前に、前記ソフトウェアの少なくとも一部に対して、データの流れの疎な部分での分割を試行し、前記第2分割手順による分割で可能な分割数である第2分割数を決定する第2分割数決定手順(S40)を備え、
前記第1分割手順は、前記マイクロコンピュータが備える前記コアの数を、前記第2分割数決定手順で決定された前記第2分割数で除算した除算値について小数点以下を切り上げた値を第1分割数として、前記ソフトウェアの少なくとも一部を前記第1分割数で分割する
ことを特徴とする請求項1〜請求項3の何れか1項に記載のソフトウェア分割方法。 - 前記第2分割数決定手順を実行する前に、前記ソフトウェアの少なくとも一部を、データの流れの疎な部分で分割する第3分割手順(S230)を備える
ことを特徴とする請求項4に記載のソフトウェア分割方法。 - 複数のコアを備えるマイクロコンピュータで実行されるソフトウェアを、複数の前記コアのそれぞれに割り当てるために分割するソフトウェア分割装置(1)であって、
前記ソフトウェアの少なくとも一部を、制御の切れ目または演算の切れ目で、前記マイクロコンピュータが備える前記コアの数より少ない分割数で分割する第1分割手段(S60)と、
前記第1分割手段で分割された後の前記ソフトウェアを、データの流れの疎な部分で分割することにより、前記ソフトウェアの少なくとも一部を、前記マイクロコンピュータが備える前記コアの数に分割する第2分割手段(S70)とを備える
ことを特徴とするソフトウェア分割装置。 - 前記第1分割手段は、分割された後の複数の前記ソフトウェアのそれぞれについて処理負荷が均等に近づくように、前記ソフトウェアの少なくとも一部を分割する
ことを特徴とする請求項6に記載のソフトウェア分割装置。 - 前記第2分割手段は、前記第1分割手段で分割された前記ソフトウェアが更に分割された後の複数の前記ソフトウェアのそれぞれについて処理負荷が均等に近づくように、前記第1分割手段で分割された後の前記ソフトウェアを分割する
ことを特徴とする請求項6または請求項7に記載のソフトウェア分割装置。 - 前記第1分割手段を実行する前に、前記ソフトウェアの少なくとも一部に対して、データの流れの疎な部分での分割を試行し、前記第2分割手段による分割で可能な分割数である第2分割数を決定する第2分割数決定手段(S40)を備え、
前記第1分割手段は、前記マイクロコンピュータが備える前記コアの数を、前記第2分割数決定手段で決定された前記第2分割数で除算した除算値について小数点以下を切り上げた値を第1分割数として、前記ソフトウェアの少なくとも一部を前記第1分割数で分割する
ことを特徴とする請求項6〜請求項8の何れか1項に記載のソフトウェア分割装置。 - 前記第2分割数決定手段を実行する前に、前記ソフトウェアの少なくとも一部を、データの流れの疎な部分で分割する第3分割手段(S230)を備える
ことを特徴とする請求項9に記載のソフトウェア分割装置。 - 複数のコア(121,122,123,124)を備えるマイクロコンピュータ(102)を内蔵する車載装置(101)であって、
複数の前記コアは、
前記マイクロコンピュータで実行されるソフトウェアの少なくとも一部を、制御の切れ目または演算の切れ目で、前記マイクロコンピュータが備える前記コアの数より少ない分割数で分割する第1分割手順と、
前記第1分割手順で分割された後の前記ソフトウェアを、データの流れの疎な部分で分割することにより、前記ソフトウェアの少なくとも一部を、前記マイクロコンピュータが備える前記コアの数に分割する第2分割手順とを備えるソフトウェア分割方法により分割されたソフトウェア(131,132,133,134)により動作する
ことを特徴とする車載装置。 - 前記第1分割手順は、分割された後の複数の前記ソフトウェアのそれぞれについて処理負荷が均等に近づくように、前記ソフトウェアの少なくとも一部を分割する
ことを特徴とする請求項11に記載の車載装置。 - 前記第2分割手順は、前記第1分割手順で分割された前記ソフトウェアが更に分割された後の複数の前記ソフトウェアのそれぞれについて処理負荷が均等に近づくように、前記第1分割手順で分割された後の前記ソフトウェアを分割する
ことを特徴とする請求項11または請求項12に記載の車載装置。 - 前記ソフトウェア分割方法は、前記第1分割手順を実行する前に、前記ソフトウェアの少なくとも一部に対して、データの流れの疎な部分での分割を試行し、前記第2分割手順による分割で可能な分割数である第2分割数を決定する第2分割数決定手順を備え、
前記第1分割手順は、前記マイクロコンピュータが備える前記コアの数を、前記第2分割数決定手順で決定された前記第2分割数で除算した除算値について小数点以下を切り上げた値を第1分割数として、前記ソフトウェアの少なくとも一部を前記第1分割数で分割する
ことを特徴とする請求項11〜請求項13の何れか1項に記載の車載装置。 - 前記ソフトウェア分割方法は、前記第2分割数決定手順を実行する前に、前記ソフトウェアの少なくとも一部を、データの流れの疎な部分で分割する第3分割手順を備える
ことを特徴とする請求項14に記載の車載装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015101175A JP6413922B2 (ja) | 2015-05-18 | 2015-05-18 | ソフトウェア分割方法、ソフトウェア分割装置および車載装置 |
DE102016208178.0A DE102016208178A1 (de) | 2015-05-18 | 2016-05-12 | Softwaresegmentierungsverfahren, Softwaresegmentierungsvorrichtung und fahrzeugeigene Vorrichtung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015101175A JP6413922B2 (ja) | 2015-05-18 | 2015-05-18 | ソフトウェア分割方法、ソフトウェア分割装置および車載装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016218627A JP2016218627A (ja) | 2016-12-22 |
JP6413922B2 true JP6413922B2 (ja) | 2018-10-31 |
Family
ID=57231745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015101175A Active JP6413922B2 (ja) | 2015-05-18 | 2015-05-18 | ソフトウェア分割方法、ソフトウェア分割装置および車載装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6413922B2 (ja) |
DE (1) | DE102016208178A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110337639A (zh) * | 2017-03-03 | 2019-10-15 | 三菱电机株式会社 | 处理分割装置、模拟器系统、处理分割方法和处理分割程序 |
JP6667714B2 (ja) * | 2017-07-13 | 2020-03-18 | 株式会社日立製作所 | プログラムの統合解析管理装置及びその統合解析管理方法 |
JP6556281B1 (ja) * | 2018-03-08 | 2019-08-07 | 三菱電機株式会社 | 制御システム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2950211B1 (en) | 2013-01-23 | 2021-07-07 | Waseda University | Parallelism extraction method and method for making program |
JP6018022B2 (ja) | 2013-06-14 | 2016-11-02 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置 |
-
2015
- 2015-05-18 JP JP2015101175A patent/JP6413922B2/ja active Active
-
2016
- 2016-05-12 DE DE102016208178.0A patent/DE102016208178A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2016218627A (ja) | 2016-12-22 |
DE102016208178A1 (de) | 2016-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6413922B2 (ja) | ソフトウェア分割方法、ソフトウェア分割装置および車載装置 | |
US8839163B2 (en) | Behavioral synthesis method, behavioral synthesis program and behavioral synthesis apparatus | |
JP6427055B2 (ja) | 並列化コンパイル方法、及び並列化コンパイラ | |
JP6519515B2 (ja) | マイクロコンピュータ | |
US10475151B2 (en) | Graphics engine resource management and allocation system | |
EP2341448A1 (en) | An electronic control unit and a method of performing interpolation in the electronic control unit | |
JP6365387B2 (ja) | 電子制御装置 | |
JP7226064B2 (ja) | 電子制御装置 | |
CN110825444B (zh) | 一种电子控制单元的针脚配置方法 | |
US9047343B2 (en) | Find regular expression instruction on substring of larger string | |
JP6447442B2 (ja) | 電子制御装置 | |
JP4891807B2 (ja) | 高位合成装置および高位合成方法 | |
JP7441861B2 (ja) | 演算装置及び検査方法 | |
US12007973B2 (en) | Information processing method, non-transitory computer readable medium having recorded thereon program, and information processing device | |
US20220067237A1 (en) | Information processing method, non-transitory computer readable medium having recorded thereon program, and information processing device | |
JP2014067144A (ja) | 車両用ソフトウェア作成支援装置、車両用ソフトウェア変換装置、車両用ソフトウェア作成支援装置のプログラム、及び、組込みソフトウェア | |
CN116069471B (zh) | 一种任务的确定性调度方法、装置及电子设备 | |
JP6528697B2 (ja) | 電子制御装置およびコード生成プログラム | |
JP7100597B2 (ja) | 回路設計支援装置、回路設計支援方法、および情報処理装置 | |
JP2017101575A (ja) | 車両電子制御装置 | |
JP4470110B2 (ja) | 高位合成方法およびシステム | |
JPH0981604A (ja) | ソフトウェア/ハードウェア協調設計システム及びその設計方法 | |
JP2002215703A (ja) | ハードウェア/ソフトウェア協調設計方法 | |
JP4258350B2 (ja) | 演算処理装置 | |
JP6201921B2 (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170803 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180710 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180820 |
|
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: 20180904 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180917 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6413922 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |