JP6160571B2 - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP6160571B2 JP6160571B2 JP2014148159A JP2014148159A JP6160571B2 JP 6160571 B2 JP6160571 B2 JP 6160571B2 JP 2014148159 A JP2014148159 A JP 2014148159A JP 2014148159 A JP2014148159 A JP 2014148159A JP 6160571 B2 JP6160571 B2 JP 6160571B2
- Authority
- JP
- Japan
- Prior art keywords
- counter
- cpus
- synchronization
- data processing
- cpu
- 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
Images
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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Description
終了フラグは、各CPUに対して設けられ、各CPUが、同期が必要な処理の実行完了を個別にセット可能なフラグである。
図1に示すように、第1実施形態のマルチコアプロセッサ(以下単に、プロセッサという)11は、複数(この例では4つ)のCPU1a〜1dと、各CPU1a〜1dが実行するプログラムや固定のデータ等が格納されたROM2と、各CPU1a〜1dが共通に使用するメモリ3及びI/O(入出力装置)4,5と、それらを相互に接続するバス6と、を備える。メモリ3は、この例ではRAMである。
OR回路15は、終了フラグ7a〜7dの論理和の値を、カウンタ13の最下位ビット(以下、LSB(Least Significant Bit)という)にセットする。このため、OR回路15は、終了フラグ7a〜7dのうちの一部である所定数(この例では1つ)の終了フラグ7がセットされると、カウンタ13のLSBを“0”から“1”にする。カウンタ13のLSBを“0”から“1”にすることは、カウンタ13の値(以下、カウンタ値ともいう)を1つ大きい値に更新すること(即ち、カウンタ13を1インクリメントすること)に等しい。
AND回路16は、全ての終了フラグ7a〜7dがセットされると、カウンタ13に対してWE(ライトイネーブル)信号を出力する。すると、カウンタ13の2ビット目以上に、加算回路17の出力値が書き込まれる。また、カウンタ13がWE信号を出力すると、全ての終了フラグ7a〜7dがリセット(“0”にクリア)されて、OR回路15によりカウンタ13のLSBが“0”になる。全ての終了フラグ7a〜7dがセットされた場合、カウンタ13全体としては、1インクリメントされることとなる。
次に、各CPU1a〜1dの処理について説明する。
プロセッサ11は、例えば、自動車のエンジンを制御する電子制御装置に設けられ、各CPU1a〜1dは、エンジンを制御するための制御処理を実行する。エンジン等を制御するための制御処理は、周期性のある周期制御処理(周期制御システム処理)である。
最初に、処理を、同期が必要な処理毎に分割し、分割した同期必要処理と、それに続く同期不要処理とを合わせて、単位処理としている。
図2に示すように、各CPU1a〜1dは、カウンタ値が0の場合には、「区間1」であって、「カウンタ値=0」に対応する単位処理のうちの同期必要処理を実行し、その同期必要処理を完了すると、自身の終了フラグ7a〜7dをセットする。そして、各CPU1a〜1dは、その後、単位処理のうちの同期不要処理(図2の「区間1」に続く網掛け部分)を実行する。尚、終了フラグ7a〜7dの何れか1つがセットされると、カウンタ13が1インクリメントされる(LSBが“1”になる)。
そして、各CPU1a〜1dは、カウンタ13が2インクリメントされたことを検知すると、次の単位処理であって、この例では「カウンタ値=2」に対応する単位処理のうちの同期必要処理(図2の「区間2」)を開始する。尚、CPU1は、同期不要処理を完了した時点で、カウンタ13が既に2インクリメントされていれば、すぐに次の単位処理のうちの同期必要処理を開始する。このように、各CPU1a〜1dは、全てのCPU1a〜1dが今回の同期必要処理を完了していることを、カウンタ値によって確認してから、次の同期必要処理を開始する。
図3に示すように、各CPU1は、動作を開始すると、S110にて、カウンタ値を読み込み、次のS120にて、カウンタ13のLSBが“0”であるか否かを判定する。
また、各CPU1は、カウンタ13のLSBが“0”と判定した場合には(S120:YES)、カウンタ13が2インクリメントされた(即ち、カウンタ値がAND回路16により更新されて、次の単位処理を実行しても良い状態になった)と判断して、S130へ進む。
次に、第2実施形態のプロセッサについて説明する。尚、第1実施形態と同様の構成要素や処理については、第1実施形態と同じ符号を用いることで、説明を省略する。そして、このことは、後述する他の実施形態についても同様である。
[第3実施形態]
第3実施形態のプロセッサは、第1又は第2実施形態のプロセッサ11,21と比較すると、AND回路16と加算回路17を備えていない。そして、CPU1a〜1dのうち、予め定められた1つのCPU1(ここではCPU1aとして説明する)が、AND回路16及び加算回路17と同様の機能を果たす。その1つのCPU1aは、例えばバス6を介して終了フラグ7a〜7dにアクセスすることができるようになっている。
[第4実施形態]
第4実施形態のプロセッサは、第1又は第2実施形態のプロセッサ11,21と比較すると、OR回路15、AND回路16及び加算回路17を備えていない。そして、各CPU1a〜1dのうち、全ての終了フラグ7a〜7dがリセットされている状態から最初に終了フラグ7をセットしたCPU1が、OR回路15、AND回路16及び加算回路17と同様の機能を果たす。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されることなく、種々の形態を採り得る。また、前述の数値も一例であり他の値でも良い。
Claims (8)
- 複数のCPU(1a〜1d)を備えたデータ処理装置において、
前記各CPUに対して設けられ、前記各CPUが、同期が必要な処理の実行完了を個別にセット可能な終了フラグ(7a〜7d)と、
前記各CPUの終了フラグのうちの、一部である所定数の終了フラグがセットされてから、全ての前記終了フラグがセットされるまでの状態を示すカウンタ(13)と、
前記各CPUの終了フラグのうち、前記所定数の終了フラグがセットされると、前記カウンタの値を更新する第1更新手段(15,S207)と、
前記第1の更新手段により前記カウンタの値が更新された後、全ての前記終了フラグがセットされると、前記カウンタの値を更に更新すると共に、前記全ての終了フラグをリセットする第2更新手段(16,17,S210〜S240)と、を備え、
前記各CPUは、前記第2更新手段により更新される前記カウンタの値に応じて、同期が必要な処理を実行すると共に、その同期が必要な処理を完了して自身の前記終了フラグをセットした後に、同期が不要な処理を実行すること(S110〜S160)、
を特徴とするデータ処理装置。 - 請求項1に記載のデータ処理装置において、
前記第1更新手段(15)と前記第2更新手段(16,17)とのうち、少なくとも一方は、ハードウェア回路であること、
を特徴とするデータ処理装置。 - 請求項1または請求項2に記載のデータ処理装置において、
前記第1更新手段(15)と前記第2更新手段(16,17)は、ハードウェア回路であること、
を特徴とするデータ処理装置。 - 請求項1に記載のデータ処理装置において、
前記各CPUのうち、予め定められた1つのCPUが、前記第2更新手段(S210〜S240)として機能すること、
を特徴とするデータ処理装置。 - 請求項1に記載のデータ処理装置において、
前記各CPUのうち、全ての前記終了フラグがリセットされている状態から、最初に前記終了フラグをセットしたCPUが、前記第2更新手段(S210〜S240)として機能すること、
を特徴とするデータ処理装置。 - 請求項5に記載のデータ処理装置において、
前記所定数は1であり、
前記各CPUのうち、全ての前記終了フラグがリセットされている状態から、最初に前記終了フラグをセットしたCPUは、前記第1更新手段(S207)としても機能すること、
を特徴とするデータ処理装置。 - 請求項1ないし請求項6の何れか1項に記載のデータ処理装置において、
前記各CPUは、前記終了フラグのセットを専用命令で行うこと、
を特徴とするデータ処理装置。 - 請求項1ないし請求項7の何れか1項に記載のデータ処理装置において、
前記所定数は1であり、
前記第1更新手段は、
前記各CPUの終了フラグのうち、何れか1つの終了フラグがセットされると、前記カウンタの最下位ビットに1をセットすることにより、前記カウンタの値を更新するようになっており、
前記第2更新手段は、
全ての前記終了フラグがセットされると、前記カウンタを1インクリメントすることにより、前記カウンタの値を更新するようになっており、
前記各CPUは、前記カウンタの値が2増加する毎に、前記同期が必要な処理を実行すること、
を特徴とするデータ処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014148159A JP6160571B2 (ja) | 2014-07-18 | 2014-07-18 | データ処理装置 |
DE102015213370.2A DE102015213370A1 (de) | 2014-07-18 | 2015-07-16 | Datenverarbeitungsvorrichtung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014148159A JP6160571B2 (ja) | 2014-07-18 | 2014-07-18 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016024614A JP2016024614A (ja) | 2016-02-08 |
JP6160571B2 true JP6160571B2 (ja) | 2017-07-12 |
Family
ID=55021992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014148159A Active JP6160571B2 (ja) | 2014-07-18 | 2014-07-18 | データ処理装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6160571B2 (ja) |
DE (1) | DE102015213370A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6535304B2 (ja) * | 2016-08-26 | 2019-06-26 | 日本電信電話株式会社 | 分散同期処理システムおよび分散同期処理方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07141300A (ja) * | 1993-11-18 | 1995-06-02 | Nippon Telegr & Teleph Corp <Ntt> | マルチプロセッサを用いた周期処理方法 |
JPH11312148A (ja) * | 1998-04-28 | 1999-11-09 | Hitachi Ltd | バリア同期方法及び装置 |
JP4276028B2 (ja) * | 2003-08-25 | 2009-06-10 | 株式会社日立製作所 | マルチプロセッサシステムの同期方法 |
-
2014
- 2014-07-18 JP JP2014148159A patent/JP6160571B2/ja active Active
-
2015
- 2015-07-16 DE DE102015213370.2A patent/DE102015213370A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102015213370A1 (de) | 2016-01-21 |
JP2016024614A (ja) | 2016-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9043806B2 (en) | Information processing device and task switching method | |
JP5994679B2 (ja) | 処理装置、及び処理装置の制御方法 | |
JP4865016B2 (ja) | プロセッサ | |
JP2013539143A (ja) | 論理時刻ベクトルに基づくタスクの実行をスケジュールするためのシステム | |
JP2007206933A (ja) | 情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法 | |
JP6160571B2 (ja) | データ処理装置 | |
US8484446B2 (en) | Microprocessor saving data stored in register and register saving method | |
JP2007200180A (ja) | プロセッサシステム | |
JP6105307B2 (ja) | 命令実行制御装置、命令実行制御システム、命令実行制御方法、及び、命令実行制御プログラム | |
JP7064367B2 (ja) | デッドロック回避方法、デッドロック回避装置 | |
JP6332091B2 (ja) | 電子制御装置 | |
JP2011141619A (ja) | マイクロプロセッサ | |
JP7378254B2 (ja) | マルチプロセッサデバイス | |
CN114721725B (zh) | 一种分支指令执行方法、装置、电子设备及存储介质 | |
JP4288700B2 (ja) | プログラマブルコントローラ | |
JP2017130140A (ja) | データ処理装置 | |
WO2019198235A1 (ja) | シミュレーション装置およびシミュレーションプログラム | |
JP6558317B2 (ja) | 電子装置 | |
JP3795055B1 (ja) | 値予測装置、マルチプロセッサシステムおよび値予測方法 | |
US10817288B2 (en) | Combined instruction for addition and checking of terminals | |
JP2015121953A (ja) | マイクロコンピュータ及び電子制御装置 | |
JP2013539144A (ja) | 論理時刻ベクトルに基づくタスクの実行をスケジュールするためのシステム | |
JP5263497B2 (ja) | 信号処理プロセッサ及び半導体装置 | |
JP5263498B2 (ja) | 信号処理プロセッサ及び半導体装置 | |
JP2020140290A (ja) | 中央演算処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160914 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170424 |
|
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: 20170516 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170529 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6160571 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |