JP5745868B2 - マルチプロセッサシステム - Google Patents
マルチプロセッサシステム Download PDFInfo
- Publication number
- JP5745868B2 JP5745868B2 JP2011007547A JP2011007547A JP5745868B2 JP 5745868 B2 JP5745868 B2 JP 5745868B2 JP 2011007547 A JP2011007547 A JP 2011007547A JP 2011007547 A JP2011007547 A JP 2011007547A JP 5745868 B2 JP5745868 B2 JP 5745868B2
- Authority
- JP
- Japan
- Prior art keywords
- resource
- shared
- function
- multiprocessor system
- processing means
- 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
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
プログラムメモリに格納されたプログラムを実行する複数の処理手段を備えるマルチプロセッサシステムであって、
前記複数の処理手段によって共有される共有リソースと、
該共有リソースの占有状態が書き込まれるリソース状態テーブルと、
前記プログラムメモリにおける前記プログラムのファンクション毎のアドレス領域と前記共有リソースの占有予定とが対応付けられたリソース占有予定テーブルと、
前記リソース状態テーブル及び前記リソース占有予定テーブルを用いて、前記複数の処理手段による前記共有リソースの占有を伴うファンクションの実行可否を決定する制御手段と、
を備えるマルチプロセッサシステムである。
請求項1に記載のマルチプロセッサシステムであって、
前記リソース占有予定テーブルは、ROMに格納された固定データであり、
前記複数の処理手段に対応したプログラムカウンタを備え、
前記制御手段は、
前記プログラムカウンタの値と前記リソース占有予定テーブルにおけるアドレス領域を比較することにより、起床予定のファンクションによる前記共有リソースの占有予定を特定し、
該特定した前記共有リソースの占有予定と前記リソース状態テーブルが示す前記共有リソースの占有状態を比較することにより、前記複数の処理手段による前記共有リソースの占有を伴うファンクションの実行可否を決定する手段であるものとしてもよい。
前記制御手段は、前記複数の処理手段による前記共有リソースの占有を伴うファンクションの実行を否定した際には、該実行を否定したファンクションをキューイングする手段であるものとしてもよい。
前記リソース状態テーブル及び前記リソース占有予定テーブルにおける共有リソースは、部品単位から共有リソース全体までの間の粒度で設定されていることを特徴とするものとしてもよい。
前記リソース占有予定テーブルにおけるアドレス領域の範囲は、当該ファンクションがシングルプロセッサで実行されていた場合のDI(割り込み禁止)とEI(割り込み許可)の間の区間に相当するものとしてもよい。
前記複数の処理手段は、プロセッサ・コアであり、
マルチコア・プロセッサとして構成されるものとしてもよい。
図4は、本発明の一実施例に係るマルチプロセッサシステム1のシステム構成例である。マルチプロセッサシステム1は、主要な構成として、プログラムメモリ10と、データメモリ12と、PE(Processor Element)20A、20B、20C、20Dと、マイクロCPU30と、リソースアクセステーブル40と、リソースステータステーブル50と、INTC(割り込みコントローラ)60と、を備える、以下、PEを総称する際には、必要に応じて「各PE」等と表記する。
以下、リソースアクセステーブル40及びリソースステータステーブル50を用いた対象リソースの競合判定、及びこれに関連する処理について説明する。
図15は、リソースアクセステーブル40がマルチプロセッサ1に搭載される過程を模式的に示す図である。リソースアクセステーブル40は、元々シングルプロセッサにより実行されていたプログラムのソースファイル70をアクセスアナライズツール80で処理することによってリソースアクセステーブルの元データ40*が生成され(ビルドフェーズ)、この元データ40*がファイルロードツール90によってROM等に書き込まれることにより、マルチプロセッサ1に搭載される(実行フェーズ)。
このような態様で用いられるリソースアクセステーブル40及びリソースステータステーブル50における共有リソースの粒度は、システムの規模、要求される性能に応じて、部品単位から共有リソース全体までの間の粒度で設定され得る。
以上説明した本実施例のマルチプロセッサシステム1によれば、シングルプロセッサからマルチプロセッサへの移植を容易にすると共に、新たなプログラム等の追加を簡便に行うことができる。
10 プログラムメモリ
10A 命令バス
12 データメモリ
12A データバス
20A、20B、20C、20D PE
20Aa、20Ba、20Ca、20Da プログラムカウンタ
30 マイクロCPU
31 リソースファサード
32 リソースロック制御部
33 通知部
34#1〜34#n セマフォレジスタ
40 リソースアクセステーブル
40* 元データ
50 リソースステータステーブル
60 INTC
70 ソースファイル
80 アクセスアナライズツール
90 ファイルロードツール
Claims (6)
- プログラムメモリに格納されたプログラムであって、複数のファンクションを含むプログラムを実行する複数の処理手段と、
前記複数の処理手段によって共有される複数の共有リソースと、
前記複数の共有リソースのそれぞれについて前記共有リソースが占有されているか否かを表す前記共有リソースの占有状態を保持するリソース状態テーブルと、
前記プログラムメモリにおける前記プログラムのファンクション毎に、ファンクションのアドレス領域と該ファンクション実行時の1つ以上の共有リソースの占有状態とが対応付けられたリソースアクセステーブルと、
前記リソース状態テーブル及び前記リソースアクセステーブルを用いて、前記処理手段の1つによる前記1つ以上の共有リソースの占有を伴うファンクションの実行可否を決定する制御手段と、
前記複数の処理手段に関連付けられたプログラムカウンタとを備え、
前記制御手段は、前記プログラムカウンタの値と前記リソースアクセステーブルにおけるアドレス領域とに基づいて、起床予定のファンクションによる占有されることになる1つ以上の共有リソースを特定し、該特定した前記共有リソースが、前記リソース状態テーブルに基づいて占有されているか否かを判定することにより、前記処理手段による1つ以上の共有リソースの占有を伴うファンクションの実行可否を決定し、
前記処理手段の1つによりリソース獲得要求が出されたとき、前記制御手段は、リソース獲得要求を行った処理手段に関連付けられた前記プログラムカウンタの値を用いて、前記プログラムカウンタの値と前記リソースアクセステーブルにおけるアドレス領域を比較し、
前記共有リソースは、共有RAM及び周辺I/Oを含む、マルチプロセッサシステム。 - 前記制御手段は、ファンクション間の優先順位を用いず前記実行可否を決定する、請求項1に記載のマルチプロセッサシステム。
- 前記共有リソースは、第1共有RAM及び第2共有RAMを含む、請求項1に記載のマルチプロセッサシステム。
- 前記リソース状態テーブル及び前記リソースアクセステーブルに定義される前記複数の共有リソースの単位は、部品単位である、請求項1に記載のマルチプロセッサシステム。
- 前記リソースアクセステーブルにおけるアドレス領域は、当該ファンクションがシングルプロセッサで実行されていた場合のDI(割り込み禁止)とEI(割り込み許可)の間の区間に相当する、請求項1乃至4のうちのいずれか1項に記載のマルチプロセッサシステム。
- 前記複数の処理手段は、プロセッサ・コアであり、
当該マルチプロセッサシステムは、マルチコア・プロセッサとして構成される、請求項1乃至5のうちのいずれか1項に記載のマルチプロセッサシステム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011007547A JP5745868B2 (ja) | 2011-01-18 | 2011-01-18 | マルチプロセッサシステム |
US13/979,425 US9164799B2 (en) | 2011-01-18 | 2011-12-21 | Multiprocessor system |
PCT/JP2011/080547 WO2012098821A1 (en) | 2011-01-18 | 2011-12-21 | Multiprocessor system |
EP11811172.3A EP2666087A1 (en) | 2011-01-18 | 2011-12-21 | Multiprocessor system |
CN201180065391XA CN103329102A (zh) | 2011-01-18 | 2011-12-21 | 多处理器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011007547A JP5745868B2 (ja) | 2011-01-18 | 2011-01-18 | マルチプロセッサシステム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012150583A JP2012150583A (ja) | 2012-08-09 |
JP2012150583A5 JP2012150583A5 (ja) | 2013-07-25 |
JP5745868B2 true JP5745868B2 (ja) | 2015-07-08 |
Family
ID=45509602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011007547A Expired - Fee Related JP5745868B2 (ja) | 2011-01-18 | 2011-01-18 | マルチプロセッサシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US9164799B2 (ja) |
EP (1) | EP2666087A1 (ja) |
JP (1) | JP5745868B2 (ja) |
CN (1) | CN103329102A (ja) |
WO (1) | WO2012098821A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7734741B2 (en) | 2004-12-13 | 2010-06-08 | Intel Corporation | Method, system, and apparatus for dynamic reconfiguration of resources |
CN105808210B (zh) * | 2014-12-31 | 2018-07-31 | 龙芯中科技术有限公司 | 共享资源的访问方法和装置 |
JP2017097633A (ja) * | 2015-11-25 | 2017-06-01 | 日立オートモティブシステムズ株式会社 | 車両制御装置 |
JP6895719B2 (ja) * | 2016-06-24 | 2021-06-30 | 日立Astemo株式会社 | 車両制御装置 |
US10592281B1 (en) * | 2017-09-28 | 2020-03-17 | Amazon Technologies, Inc. | Wait optimizer for recording an order of first entry into a wait mode by a virtual central processing unit |
JP6995644B2 (ja) * | 2018-01-23 | 2022-01-14 | 日立Astemo株式会社 | 電子制御装置 |
JP2019161714A (ja) * | 2018-03-08 | 2019-09-19 | 株式会社東芝 | モータ制御装置およびプログラム |
JP6912421B2 (ja) * | 2018-06-01 | 2021-08-04 | ファナック株式会社 | 制御装置 |
JP7412235B2 (ja) * | 2020-03-17 | 2024-01-12 | 本田技研工業株式会社 | 情報処理装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63146153A (ja) | 1986-12-09 | 1988-06-18 | Nec Corp | プロセツサ間排他制御処理方式 |
JPS63263557A (ja) | 1987-04-13 | 1988-10-31 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 階層リレーテツド・リソースへの同時トランザクシヨンによるアクセスを調節する方法 |
JPH07105152A (ja) | 1993-10-08 | 1995-04-21 | Fujitsu Ltd | マルチプロセッサシステムのデッドロック自動解除方法 |
US5940828A (en) * | 1997-11-18 | 1999-08-17 | International Business Machines Corporation | Locking contention resolution for shared resources |
JP4445621B2 (ja) * | 1999-12-08 | 2010-04-07 | 名古屋電機工業株式会社 | マルチプロセッサ型処理装置における共有メモリアクセス方法およびその装置 |
JP4257053B2 (ja) | 2001-09-14 | 2009-04-22 | 日本電気株式会社 | 共有リソース排他制御方式および方法 |
US7418557B2 (en) * | 2004-11-30 | 2008-08-26 | International Business Machines Corporation | Managing multiprocessor operations |
JP4559958B2 (ja) * | 2005-11-22 | 2010-10-13 | 株式会社日立国際電気 | マルチコアプロセッサにおけるマルチコア制御方法 |
JP3976065B2 (ja) | 2006-01-16 | 2007-09-12 | セイコーエプソン株式会社 | マルチプロセッサシステム及びマルチプロセッサシステムの割込み制御方法をコンピュータに実行させるためのプログラム |
EP1953643A3 (en) * | 2007-02-01 | 2009-12-16 | Denso Corporation | Calculation apparatus provided with a plurality of calculating units which access a single memory |
JP5216700B2 (ja) | 2009-06-24 | 2013-06-19 | 株式会社日立エンジニアリング・アンド・サービス | 音源の寄与診断装置およびこれを用いた寄与診断方法 |
CN101937365B (zh) * | 2009-06-30 | 2013-05-15 | 国际商业机器公司 | 并行程序的死锁检测方法和系统 |
-
2011
- 2011-01-18 JP JP2011007547A patent/JP5745868B2/ja not_active Expired - Fee Related
- 2011-12-21 EP EP11811172.3A patent/EP2666087A1/en not_active Withdrawn
- 2011-12-21 WO PCT/JP2011/080547 patent/WO2012098821A1/en active Application Filing
- 2011-12-21 US US13/979,425 patent/US9164799B2/en not_active Expired - Fee Related
- 2011-12-21 CN CN201180065391XA patent/CN103329102A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20130298136A1 (en) | 2013-11-07 |
US9164799B2 (en) | 2015-10-20 |
JP2012150583A (ja) | 2012-08-09 |
EP2666087A1 (en) | 2013-11-27 |
WO2012098821A1 (en) | 2012-07-26 |
CN103329102A (zh) | 2013-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5745868B2 (ja) | マルチプロセッサシステム | |
US8875151B2 (en) | Load balancing method and apparatus in symmetric multi-processor system | |
US8291431B2 (en) | Dependent instruction thread scheduling | |
CN108920267B (zh) | 任务处理装置 | |
KR20180053359A (ko) | 다중-버전형 태스크들의 효율적 스케줄링 | |
KR100902977B1 (ko) | 하드웨어 공유 시스템 및 방법 | |
US9424103B2 (en) | Adaptive lock for a computing system having multiple runtime environments and multiple processing units | |
US9588808B2 (en) | Multi-core system performing packet processing with context switching | |
GB2453284A (en) | Mechanism for notifying a kernel of a thread entering a critical section. | |
JP4457047B2 (ja) | マルチプロセッサシステム | |
JPH1115793A (ja) | 資源の保全性を保護する方法 | |
US20090059951A1 (en) | Program control device | |
WO2014170036A1 (en) | Method and apparatus for exploiting data locality in dynamic task scheduling | |
JP2011170619A (ja) | マルチスレッド処理装置 | |
JP5699896B2 (ja) | 情報処理装置、異常判定方法 | |
CN112306703A (zh) | 一种numa系统中的临界区执行方法及装置 | |
JP2022079764A (ja) | 同期制御システムおよび同期制御方法 | |
JP2013061783A (ja) | マルチコア・プロセッサ | |
US8977795B1 (en) | Method and apparatus for preventing multiple threads of a processor from accessing, in parallel, predetermined sections of source code | |
US20080222336A1 (en) | Data processing system | |
JP2005327007A (ja) | 組込みコンピュータ制御プログラム、そのプログラムを記録した記録媒体、及び組込みシステム | |
JP2010176403A (ja) | マルチスレッドプロセッサ装置 | |
JP2012226709A (ja) | 排他制御装置、マイコン | |
JP2007122337A (ja) | 演算装置 | |
JP2011248454A (ja) | プロセッサ装置及びプロセッサ装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130606 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130612 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130618 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140414 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20141007 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20150107 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20150202 |
|
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: 20150407 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150507 |
|
LAPS | Cancellation because of no payment of annual fees |