JP5213485B2 - マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム - Google Patents
マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム Download PDFInfo
- Publication number
- JP5213485B2 JP5213485B2 JP2008062946A JP2008062946A JP5213485B2 JP 5213485 B2 JP5213485 B2 JP 5213485B2 JP 2008062946 A JP2008062946 A JP 2008062946A JP 2008062946 A JP2008062946 A JP 2008062946A JP 5213485 B2 JP5213485 B2 JP 5213485B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory area
- data acquisition
- acquisition request
- notification
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 86
- 230000008569 process Effects 0.000 claims description 61
- 238000002347 injection Methods 0.000 description 16
- 239000007924 injection Substances 0.000 description 16
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000000446 fuel Substances 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 239000000498 cooling water Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
Description
以外に、同一のチップ上に複数のプロセッサコアが設けられたマルチコアプロセッサ(マルチコアCPU)を備えるシステムも含まれる。
〈構成〉
本実施形態は、自動車等に搭載されたエンジンを制御するためのエンジン制御システムである。図1に示すように、本実施形態のエンジン制御システムは、2つのCPU1,2を備えている。また、CPU1,2が共通してアクセス可能なメモリ3を備えている。
データが格納されているアドレスを指定する。
次に、各CPUが行う処理の流れを図4のフローチャートを参照して説明する。図4のフローチャートは、CPUがある1つのタスクを実行する際の処理の流れを示すフローチャートである。CPUが複数のタスクを実行可能な場合には、実行可能状態にあるタスクのうち最も優先度の高いタスクの実行を行う。
図5に、CPU1のセンサ入力タスクがセンサからデータの入力を行い、CPU2の噴射量決定タスクがセンサ入力タスクから水温及び空気温データを受け取って噴射量を決定する場合を例に、具体的な動作例を説明する。なお、各タスクが行う処理の内容自体はどのようなものであっても良いことは明らかであろう。
PU2側では、データ所得要求が完了されたことを検知したときには、噴射量決定タスクに割り当てられたメモリ領域内に、水温及び空気温のデータが更新されているので、これを用いて処理を続行することができる。
本実施形態によれば、新たなハードウェア等を設けることなくソフトウェアによる処理によって、データの整合性を保証してプロセッサ間でデータの共有を行うことができる。ソフトウェアによる対応であるため、新たなハードウェアを設けることに伴う、コストの上昇や装置の大型化などの問題を招くことがない。
〈概要〉
第1の実施形態では、データを要求されたタスクが、各要求に対応してデータのコピー処理を実行している。ここで、図8に示すような状況を考える。図8Aでは、CPU2が実行している複数のタスクが、CPU1のタスクに対してデータ取得の要求を発行している。第1の実施形態に記載の方法では、図8Aに示す状況下では、各データ取得要求に対してCPU2が対応することになる。すなわち、CPU1が実行するタスクに割り当てられたメモリ領域から、CPU2が実行する各タスクに割り当てられた各メモリ領域へのコピー処理が複数回(図8Aでは3回)実行されることになる。
図9を用いて、本実施形態におけるデータ共有方法の処理の流れを説明する。図9のフローチャートは、第1の実施形態におけるデータ共有方法のフローチャート(図4)のデータを要求する側としての処理(S1)に相当する部分だけ示している。データをコピーする側としての処理(S2)は、第1の実施形態と同じなので、図9では省略している。
図10に、CPU1が車輪速データタスクがセンサからデータの入力を行い、CPU2のABS制御タスク及びカーナビタスクが、それぞれ車輪速データを受け取って処理を行う場合を例に、具体的な動作例を説明する。なお、各タスクが行う処理の内容自体はどのようなものであっても良いことは明らかであろう。
ジAのみに対応する。すなわち、アドレスS1に格納されているデータを、アドレスD1のみにコピーする。そして、対応したデータ取得要求メッセージAのステータスを「処理完了」に更新する。
上記の動作例では、先に要求を出したABS制御タスクがCPU2内でのコピーを行っているが、CPU1に要求したデータがCPU2にコピーされたことを最も先に検知したタスクがCPU2への割り当てメモリ領域内でのコピーを行えばよい。ここでは、後から要求を出したカーナビタスクがCPU2への割り当てメモリ領域内でのコピー処理を実行する動作例を図11を参照して説明する。
本実施形態に係る方法によれば、同じCPUの複数のタスクから、同一のデータに対して複数の要求があった場合に、要求された側のCPUの処理負荷を軽減することが可能となる。
上記の説明では、メモリ通知領域を介したメッセージ交換を、データ取得要求メッセージのステータス領域を書き換えることによって行っているが、他の方法によるメッセージ交換を行っても良い。例えば、コピー処理の完了を通知する場合に、その旨を通知するメ
ッセージを新たに通知メモリ領域に書き込んでも構わない。
3 メモリ(RAM)
Claims (10)
- 第1のプロセッサと、
第2のプロセッサと、
第1及び第2のプロセッサが共通してアクセス可能な共有メモリであって、第1のプロセッサに割り当てられた第1のメモリ領域と、第2のプロセッサに割り当てられた第2のメモリ領域と、通知メモリ領域とを有する共有メモリと、
を備えるマルチプロセッサシステムにおけるデータ同期方法であって、
第1のプロセッサが、第2のメモリ領域内のデータを要求するデータ取得要求を通知メモリ領域に書き込むステップと、
第2のプロセッサが、第2のメモリ領域内のデータを要求するデータ取得要求が通知メモリ領域内に存在するか監視し、データ取得要求が存在する場合は、要求されたデータを第2のメモリ領域から第1のメモリ領域にコピーするとともにコピーが完了したことを通知する完了通知を通知メモリ領域に書き込むステップと、
第1のプロセッサが、要求したデータについての完了通知が通知メモリ領域に存在するか監視し、完了通知が存在する場合は、第1のメモリ領域にコピーされたデータに基づいて処理を行うステップと、
を含むことを特徴とするマルチプロセッサシステムにおけるデータ同期方法。 - 通知メモリ領域に書き込まれるデータ取得要求には、データ取得要求処理の処理状況を格納するステータス領域が含まれており、
第1のプロセッサによるデータ取得要求の書き込みは、データ取得を要求している状態であることを示すステータスを含むデータ取得要求を通知メモリ領域に書き込むことによって行われ、
第2のプロセッサによる完了通知の書き込みは、前記データ取得要求のステータス領域をコピー完了であることを示すステータスに書き換えることによって行われる、
ことを特徴とする請求項1に記載のマルチプロセッサシステムにおけるデータ同期方法。 - 第2のプロセッサによる要求されたデータのコピーは、該データの整合性が取れているタイミングで実行される
ことを特徴とする請求項1又は2に記載のマルチプロセッサシステムにおけるデータ同期方法。 - 第1及び第2のプロセッサは各々複数のタスクを実行するものであり、
タスクの実行コードと該タスクが使用するデータは、該タスクを実行するプロセッサに対応するメモリ領域内の、タスク毎に割り当てられた領域に格納されており、
データ取得の要求は、データを要求するタスク毎に実行されるものであり、
要求されたデータのコピーは、要求されたデータに対応するタスクの処理内で実行される
ことを特徴とする請求項1〜3のいずれかに記載のマルチプロセッサシステムにおけるデータ同期方法。 - 第1のプロセッサのあるタスクが第2のメモリ領域のデータを要求する際に、第1のプロセッサの別のタスクが同一のデータを既に要求している場合には、重複した要求であることを示したデータ取得要求を通知メモリ領域に書き込み、
第2のプロセッサは、同一データに対して第1のプロセッサの複数のタスクからデータ取得の要求がある場合には、複数のデータ取得要求のうちのいずれかのデータ取得要求が要求するコピー先に該データをコピーするとともに、該データ取得要求に関して該データのコピーが完了したことを通知する完了通知を通知メモリ領域に格納し、
第1のプロセッサが、要求したデータについての完了通知が通知メモリ領域内に存在するか監視し、完了通知が存在する場合には、同一のデータを要求している他のデータ取得要求が要求するコピー先に該データのコピーを行うとともに、当該他のデータ取得要求に関して該データのコピーが完了したことを通知メモリ領域に書き込む
ことを特徴とする請求項4に記載のマルチプロセッサシステムにおけるデータ同期方法。 - 複数のプロセッサと、
前記複数のプロセッサが共通してアクセス可能な共有メモリであって、各プロセッサに割り当てられたメモリ領域及び通知メモリ領域を有する共有メモリと、
を備えるマルチプロセッサシステムであって、
各プロセッサが、
他のプロセッサに割り当てられたメモリ領域内のデータを要求するデータ取得要求を通知メモリ領域に書き込むデータ取得要求手段と、
自プロセッサに割り当てられたメモリ領域内のデータを要求するデータ取得要求が通知メモリ領域内に存在するか監視し、データ取得要求が存在する場合は、要求されたデータを要求元のプロセッサに割り当てられたメモリ領域内にコピーするとともに、コピーが完了したことを通知する完了通知を通知メモリ領域に書き込むデータコピー手段と、
自プロセッサが要求したデータ取得要求の完了通知が通知メモリ領域に存在するか監視し、完了通知が存在する場合は、自プロセッサに割り当てられたメモリ領域にコピーされたデータに基づいて処理を行うデータ処理手段と、
を備えることを特徴とするマルチプロセッサシステム。 - 通知メモリ領域に書き込まれるデータ取得要求には、データ取得要求処理の処理状況を格納するステータス領域が含まれており、
前記データ取得要求手段は、データ取得を要求している状態であることを示すステータスを含むデータ取得要求を通知メモリ領域に書き込み、
前記データコピー手段が行う完了通知の書き込み処理は、通知メモリ領域に書き込まれ
たデータ取得要求のステータス領域をコピー完了であることを示すステータスに書き換えることによって行われる、
ことを特徴とする請求項6に記載のマルチプロセッサシステム。 - 前記データコピー手段は、要求されたデータの整合性が取れているタイミングで、要求されたデータのコピーを実行する
ことを特徴とする請求項6又は7に記載のマルチプロセッサシステム。 - 各プロセッサは、各々複数のタスクを実行するものであり、
タスクの実行コードと該タスクが使用するデータは、各プロセッサに対応するメモリ領域内の、タスク毎に割り当てられた領域に格納されており、
データ取得の要求は、データを要求するタスク毎に実行されるものであり、
要求されたデータのコピーは、要求されたデータに対応するタスクの処理内で実行される
ことを特徴とする請求項6〜8のいずれかに記載のマルチプロセッサシステム。 - 前記データ取得要求手段は、あるタスクが他のプロセッサに割り当てられたメモリ領域内のデータを要求する際に、別のタスクが同一データを要求している場合には、重複した要求であることを示したデータ取得要求を通知メモリ領域に書き込み、
前記データコピー手段は、同一データに対して同一プロセッサの複数のタスクからデータ取得の要求がある場合には、複数のデータ取得要求のうちのいずれかのデータ取得要求が要求するコピー先に該データをコピーするとともに、該データ取得要求に関して該データのコピーが完了したことを通知する完了通知を通知メモリ領域に格納し、
データ処理手段は、要求したデータについての完了通知が通知メモリ領域内に存在するか監視し、完了通知が存在する場合には、同一のデータを要求している他のデータ取得要求が要求するコピー先に該データのコピーを行うとともに、当該他のデータ取得要求に関して該データのコピーが完了したことを通知メモリ領域に書き込む
ことを特徴とする請求項9に記載のマルチプロセッサシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008062946A JP5213485B2 (ja) | 2008-03-12 | 2008-03-12 | マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008062946A JP5213485B2 (ja) | 2008-03-12 | 2008-03-12 | マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009217721A JP2009217721A (ja) | 2009-09-24 |
JP5213485B2 true JP5213485B2 (ja) | 2013-06-19 |
Family
ID=41189469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008062946A Expired - Fee Related JP5213485B2 (ja) | 2008-03-12 | 2008-03-12 | マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5213485B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101664108B1 (ko) | 2010-04-13 | 2016-10-11 | 삼성전자주식회사 | 멀티 코어의 동기화를 효율적으로 처리하기 위한 하드웨어 가속 장치 및 방법 |
CN101950282B (zh) * | 2010-08-30 | 2012-05-23 | 中国科学院计算技术研究所 | 一种多处理器系统及其同步引擎 |
US8683251B2 (en) | 2010-10-15 | 2014-03-25 | International Business Machines Corporation | Determining redundancy of power feeds connecting a server to a power supply |
JP6438381B2 (ja) * | 2015-12-14 | 2018-12-12 | 日立オートモティブシステムズ株式会社 | 電子制御装置 |
JP6873256B2 (ja) | 2017-09-27 | 2021-05-19 | 日立Astemo株式会社 | 車載マルチコア制御用データ伝達装置および電子制御装置 |
CN110389772B (zh) * | 2018-04-23 | 2022-12-13 | 中车株洲电力机车研究所有限公司 | 双核mcu应用程序升级方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07234850A (ja) * | 1994-02-24 | 1995-09-05 | Mitsubishi Electric Corp | マルチプロセッサの装置と方法 |
JP2006309512A (ja) * | 2005-04-28 | 2006-11-09 | Nec Electronics Corp | マルチプロセッサシステム、及びマルチプロセッサシステムのメッセージ伝達方法 |
-
2008
- 2008-03-12 JP JP2008062946A patent/JP5213485B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009217721A (ja) | 2009-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11334262B2 (en) | On-chip atomic transaction engine | |
JP4568292B2 (ja) | キャッシュライン・ポーリングを実行する方法、装置、プログラム及び情報処理システム | |
JP5213485B2 (ja) | マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム | |
JP2007122741A (ja) | 非対称型異種マルチプロセッサ環境でアトミック更新プリミティブを提供するための方法 | |
US20120110303A1 (en) | Method for Process Synchronization of Embedded Applications in Multi-Core Systems | |
JP4566264B2 (ja) | 格納および予約命令を利用して関連アプリケーションと相互参照してキャッシュライン・ポーリングを行う方法、システム、装置、およびプログラム | |
US20110004731A1 (en) | Cache memory device, cache memory system and processor system | |
JP2006185348A (ja) | マルチプロセッサシステム及びロックフラグ操作方法 | |
JP2008033893A (ja) | マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法 | |
US20100058001A1 (en) | Distributed shared memory multiprocessor and data processing method | |
JP2012043031A (ja) | 共有キャッシュメモリ装置 | |
JP4419943B2 (ja) | Cpu間データ転送装置 | |
JP5254710B2 (ja) | データ転送装置、データ転送方法およびプロセッサ | |
JP7346649B2 (ja) | 同期制御システムおよび同期制御方法 | |
JP4734348B2 (ja) | 共有メモリ型マルチプロセッサにおける非同期遠隔手続き呼び出し方法、非同期遠隔手続き呼び出しプログラムおよび記録媒体 | |
CN114356839B (zh) | 处理写操作的方法、设备、处理器及设备可读存储介质 | |
JP5163128B2 (ja) | 共有メモリ型マルチプロセッサにおける手続の呼び出し方法、手続の呼び出しプログラム、記録媒体、およびマルチプロセッサ | |
JP2007241601A (ja) | マルチプロセッサシステム | |
JP4388557B2 (ja) | 画像処理システム | |
JP2010026575A (ja) | スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム | |
WO2022246769A1 (zh) | 一种访问数据的方法和装置 | |
JP2517859B2 (ja) | 並列プロセス管理方法 | |
JPH01106158A (ja) | プロセツサ間のデータ通信制御方式 | |
JPH0661065B2 (ja) | キャッシュメモリ制御方式 | |
US8230173B2 (en) | Cache memory system, data processing apparatus, and storage apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101008 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130123 |
|
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: 20130205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130226 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5213485 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160308 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |