JP6992471B2 - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP6992471B2 JP6992471B2 JP2017238930A JP2017238930A JP6992471B2 JP 6992471 B2 JP6992471 B2 JP 6992471B2 JP 2017238930 A JP2017238930 A JP 2017238930A JP 2017238930 A JP2017238930 A JP 2017238930A JP 6992471 B2 JP6992471 B2 JP 6992471B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- lock
- time
- determination unit
- usage
- 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
Landscapes
- Multi Processors (AREA)
Description
使用判断部は、複数の共有データの何れか一つにアクセスするときに、アクセスする対象となる共有データである対象データが他のCPUによって使用中である使用中状態であるか否かを判断するように構成される。
処理切替部は、使用判断条件が成立していないと時間判断部が判断した場合に、自身のCPUにおいて対象データにアクセスしようとしている処理であるアクセス対象処理を一旦中断させて、アクセス対象処理とは異なる他処理を実行させるように構成される。
以下に本開示の第1実施形態を図面とともに説明する。
本実施形態のマイクロコンピュータ1(以下、マイコン1)は、例えば、車両に搭載されて、エンジンの制御を行う。マイコン1は、図1に示すように、CPU2,3と、ROM5と、ローカルRAM6,7と、共有RAM9と、I/O10,11と、タイマ12とを備える。
I/O10,11は、マイコン1の外部とマイコン1との間で信号の入出力を行わせるための回路である。タイマ12は、現在時刻を計測する回路である。
図3に示すように、まず、CPU2は、実行中のプロセスにおいて、関数Aを用いて演算する処理P1を行うために、矢印L1に示すように、アクセス対象のロックを取得する。そして、処理P1が終了すると、CPU2は、矢印L2に示すように、アクセス対象のロックを解放する。
その後、CPU3は、実行中のプロセスにおいて、矢印L5に示すように、処理P2と同じアクセス対象のロックを取得する処理P3を実行する。しかし、既にアクセス対象のロックが取得されているため、CPU3は、ロックの取得に失敗する。
その後、CPU3は、他のプロセスの処理P7が終了すると、矢印L6に示すように、処理P2と同じアクセス対象のロックを取得する処理P8を実行する。この時点で、アクセス対象のロックが解放されているため、CPU3は、ロックの取得に成功する。
CPU2,3は、複数の共有データの何れか一つにアクセスするときに、アクセスする対象となる共有データ(以下、対象データ)に対応するロックフラグ(すなわち、上記のアクセス対象のロックフラグ)がセットされているか否かを判断する。
また、S30~S70は時間記憶部としての処理に相当し、S90~S120は時間判断部としての処理に相当し、S150,S160は判断継続部としての処理に相当し、S130は処理切替部としての処理に相当する。
(第2実施形態)
以下に本開示の第2実施形態を図面とともに説明する。なお第2実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
CPU2,3,4は、ROM5に記憶されたプログラムに基づいて、エンジンを制御するための各種制御処理を分散して実行する。ROM5は、不揮発性メモリであり、CPU2,3,4が実行するプログラムと、プログラムの実行時に参照されるデータとを記憶する。
すなわち、図5に示すように、S20にて、ロックの取得に成功した場合には、S21にて、アクセス対象の共有データに対応するロック待ちフラグをクリアし、S30に移行する。ロック待ちフラグは、共有RAM9に記憶されており、複数の共有データのそれぞれに対応して設けられている。
次に、CPU2,3,4の動作の具体例を説明する。
図7に示すように、まず、CPU2は、実行中のプロセスにおいて、関数Aを用いて演算する処理P11を行うために、矢印L11に示すように、アクセス対象のロックを取得する。
その後、CPU3は、他のプロセスの処理P16が終了すると、矢印L14に示すように、処理P11と同じアクセス対象のロックを取得する処理P17を実行する。この時点で、アクセス対象のロックが解放されているため、CPU3は、ロックの取得に成功する。これにより、CPU3は、ロック待ちフラグをクリアし、処理P11と同じアクセス対象の共有データにアクセスする関数Cを用いて演算する処理P18を行う。そして、処理P18が終了すると、CPU3は、矢印L15に示すように、アクセス対象のロックを解放する。
(第3実施形態)
以下に本開示の第3実施形態を図面とともに説明する。なお第3実施形態では、第2実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第3実施形態のロック取得処理は、S21,S81,S82の処理が省略された点と、S2,S23,S84,S85,S141の処理が追加された点が第2実施形態と異なる。
次に、CPU2,3,4の動作の具体例を説明する。
(第4実施形態)
以下に本開示の第4実施形態を図面とともに説明する。なお第4実施形態では、第3実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第4実施形態のロック取得処理は、S2,S23,S84,S85,S141の処理の代わりに、S4,S25,S87,S88,S143の処理を実行する点が第3実施形態と異なる。
また図11に示すように、S20にて、ロックの取得に成功した場合には、S25にて、開始起因関数に対応する関数待ちフラグをクリアし、S30に移行する。
次に、CPU2,3,4の動作の具体例を説明する。
以上、本開示の一実施形態について説明したが、本開示は上記実施形態に限定されるものではなく、種々変形して実施することができる。
例えば上記実施形態では、平均ロック時間を算出して記憶する形態を示した。しかし、算出された最新のロック時間を記憶し、この最新のロック時間とロック経過時間との差をロック残時間とするようにしてもよい。または、固定値としてのロック時間を予め計算した後に記憶し、この固定値としてのロック時間とロック経過時間との差をロック残時間とするようにしてもよい。
上記実施形態では、関数が共有データにアクセスする形態を示したが、関数に限定されるものではなく、共有データにアクセスする処理であればよい。共有データにアクセスする処理として、例えば、タスクが挙げられる。
[変形例3]
上記実施形態では、ロックフラグが共有RAM9に記憶される形態を示したが、ロックフラグが記憶されるのは共有RAMに限定されるものではなく、複数のCPUがそれぞれロックの獲得および解放を適切に実行することができればよい。例えば、ロックフラグをマイコンのレジスタに記憶するようにしてもよい。
Claims (2)
- CPU(2,3,4)を複数搭載する情報処理装置(1)であって、
前記情報処理装置は、複数の前記CPUの間で共有する必要があるデータとして予め設定された複数の共有データを記憶するように構成された共有記憶部(9)を備え、
複数の前記CPUはそれぞれ、
複数の前記共有データの何れか一つにアクセスするときに、アクセスする対象となる前記共有データである対象データが他の前記CPUによって使用中である使用中状態であるか否かを判断するように構成された使用判断部(S10,S20)と、
前記使用中状態において前記対象データにアクセスしている処理である対象データ使用処理の開始から終了までに要する使用時間を、前記対象データ使用処理を示す処理識別情報と対応付けて記憶するように構成された時間記憶部(S30~S70)と、
前記使用中状態であると前記使用判断部が判断した場合に、前記対象データ使用処理を示す処理識別情報と対応付けられている前記使用時間と、前記対象データ使用処理の開始から現時点までの使用経過時間との差が小さいことを示す予め設定された使用判断条件が成立したか否かを判断するように構成された時間判断部(S90~S120)と、
前記使用判断条件が成立したと前記時間判断部が判断した場合に、前記使用中状態ではないと判断するまで前記使用判断部による判断を繰り返し実行させるように構成された判断継続部(S150,S160)と、
前記使用判断条件が成立していないと前記時間判断部が判断した場合に、自身の前記CPUにおいて前記対象データにアクセスしようとしている処理であるアクセス対象処理を一旦中断させて、前記アクセス対象処理とは異なる他処理を実行させるように構成された処理切替部(S130)と、
前記使用中状態であると前記使用判断部が判断した場合に、前記対象データへのアクセスを待機しており且つ自身の前記CPUよりも高い優先度が設定されている他の前記CPUである高優先待機CPUが存在するか否かを判断するように構成された高優先CPU判断部(S84)と、
前記高優先待機CPUが存在しないと前記高優先CPU判断部が判断した場合には、前記時間判断部による判断を実行させ、前記高優先待機CPUが存在すると前記高優先CPU判断部が判断した場合には、前記アクセス対象処理を一旦中断させて前記他処理を実行させるように構成された高優先CPU選択部(S84)と
を備える情報処理装置。 - CPU(2,3,4)を複数搭載する情報処理装置(1)であって、
前記情報処理装置は、複数の前記CPUの間で共有する必要があるデータとして予め設定された複数の共有データを記憶するように構成された共有記憶部(9)を備え、
複数の前記CPUはそれぞれ、
複数の前記共有データの何れか一つにアクセスするときに、アクセスする対象となる前記共有データである対象データが他の前記CPUによって使用中である使用中状態であるか否かを判断するように構成された使用判断部(S10,S20)と、
前記使用中状態において前記対象データにアクセスしている処理である対象データ使用処理の開始から終了までに要する使用時間を、前記対象データ使用処理を示す処理識別情報と対応付けて記憶するように構成された時間記憶部(S30~S70)と、
前記使用中状態であると前記使用判断部が判断した場合に、前記対象データ使用処理を示す処理識別情報と対応付けられている前記使用時間と、前記対象データ使用処理の開始から現時点までの使用経過時間との差が小さいことを示す予め設定された使用判断条件が成立したか否かを判断するように構成された時間判断部(S90~S120)と、
前記使用判断条件が成立したと前記時間判断部が判断した場合に、前記使用中状態ではないと判断するまで前記使用判断部による判断を繰り返し実行させるように構成された判断継続部(S150,S160)と、
前記使用判断条件が成立していないと前記時間判断部が判断した場合に、自身の前記CPUにおいて前記対象データにアクセスしようとしている処理であるアクセス対象処理を一旦中断させて、前記アクセス対象処理とは異なる他処理を実行させるように構成された処理切替部(S130)と、
前記使用中状態であると前記使用判断部が判断した場合に、前記対象データへのアクセスを待機しており且つ自身の前記CPUの前記アクセス対象処理よりも高い優先度が設定されている処理である高優先待機処理が存在するか否かを判断するように構成された高優先処理判断部(S87)と、
前記高優先待機処理が存在しないと前記高優先処理判断部が判断した場合には、前記時間判断部による判断を実行させ、前記高優先待機処理が存在すると前記高優先処理判断部が判断した場合には、前記アクセス対象処理を一旦中断させて前記他処理を実行させるように構成された高優先処理選択部(S87)と
を備える情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017238930A JP6992471B2 (ja) | 2017-12-13 | 2017-12-13 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017238930A JP6992471B2 (ja) | 2017-12-13 | 2017-12-13 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019106066A JP2019106066A (ja) | 2019-06-27 |
JP6992471B2 true JP6992471B2 (ja) | 2022-01-13 |
Family
ID=67061944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017238930A Active JP6992471B2 (ja) | 2017-12-13 | 2017-12-13 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6992471B2 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010191575A (ja) | 2009-02-17 | 2010-09-02 | Panasonic Corp | 資源排他制御方法および資源排他制御装置 |
JP2011175378A (ja) | 2010-02-23 | 2011-09-08 | Renesas Electronics Corp | マルチプロセッサシステム、及びマルチプロセッサシステムの動作方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0381859A (ja) * | 1989-08-25 | 1991-04-08 | Nec Corp | マルチプロセッサシステム |
-
2017
- 2017-12-13 JP JP2017238930A patent/JP6992471B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010191575A (ja) | 2009-02-17 | 2010-09-02 | Panasonic Corp | 資源排他制御方法および資源排他制御装置 |
JP2011175378A (ja) | 2010-02-23 | 2011-09-08 | Renesas Electronics Corp | マルチプロセッサシステム、及びマルチプロセッサシステムの動作方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2019106066A (ja) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101529383B (zh) | 任务处理装置 | |
KR20090005921A (ko) | 대칭적 다중 프로세서 시스템에서의 로드 밸런싱 방법 및장치 | |
US20090059951A1 (en) | Program control device | |
US20110107344A1 (en) | Multi-core apparatus and load balancing method thereof | |
US9164799B2 (en) | Multiprocessor system | |
JP2007207026A (ja) | Dma転送装置 | |
US10642658B2 (en) | Vehicle control apparatus | |
JP6992471B2 (ja) | 情報処理装置 | |
JP2014182507A (ja) | 計算機及び排他制御方法及び排他制御プログラム | |
US20150277973A1 (en) | System and method for conditional task switching during ordering scope transitions | |
CN107924322B (zh) | 用于硬件虚拟化支持的设备和方法 | |
CN114490133A (zh) | 数据获取方法和装置、电子设备、处理系统 | |
JP2018106472A (ja) | 制御装置 | |
JP5676664B2 (ja) | リソース管理装置、リソースの管理方法、及びプログラム | |
JP2012226709A (ja) | 排他制御装置、マイコン | |
JP2007219800A (ja) | 並列処理装置及び排他制御方法 | |
TW201926036A (zh) | 半導體裝置 | |
JP2010026575A (ja) | スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム | |
JP6865707B2 (ja) | 車両用制御装置 | |
JPH0644234B2 (ja) | タスク管理装置 | |
JP6545399B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
JP2560620B2 (ja) | 時間制限付排他制御装置 | |
US20200327067A1 (en) | Packet processing device, packet processing method, and recording medium | |
JP2003076669A (ja) | マルチプロセッサ構成制御装置 | |
JPH03174647A (ja) | マルチプロセッサ制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210922 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210928 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211027 |
|
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: 20211109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211122 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6992471 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |