JP4424244B2 - マルチプロセッサシステム - Google Patents
マルチプロセッサシステム Download PDFInfo
- Publication number
- JP4424244B2 JP4424244B2 JP2005115929A JP2005115929A JP4424244B2 JP 4424244 B2 JP4424244 B2 JP 4424244B2 JP 2005115929 A JP2005115929 A JP 2005115929A JP 2005115929 A JP2005115929 A JP 2005115929A JP 4424244 B2 JP4424244 B2 JP 4424244B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- shared memory
- dma
- data
- area
- 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
Landscapes
- Multi Processors (AREA)
Description
図12に示すマルチプロセッサシステムは、各々が半導体チップにより形成されたn個のプロセッサ1A〜1Nと、これらプロセッサ1A〜1Nの各内部に、半導体チップ内のCPU(中央処理装置)である演算プロセッサ11A〜11Nと、これら演算プロセッサ11A〜11Nに接続された読書き可能な内蔵メモリ12A〜12Nと外部バスIF13A〜13Nとを有し、また、各外部バスIF(インタフェース)13A〜13Nにイネーブル付バスドライバ4A〜4Nを介して接続された共有メモリ2と、各外部バスIF13A〜13Nに接続されたアクセス調停装置3とを備えて構成されている。
更に説明すると、外部バスIF13A〜13Nは、各プロセッサ1A〜1N、即ち半導体チップの外部のバスへのアクセス制御を行う半導体チップ内のインタフェースコントローラである。共通バス9は、各プロセッサ1A〜1Nが共有メモリ2へアクセスする時に使用する共通のバスである。
このマルチプロセッサシステムでは、n個のプロセッサ1A〜1Nで共通に使用する共有メモリ2を備え、各プロセッサ1A〜1Nによって共有メモリ2の予め約束されたアドレスに書込み又は読出しを行うことで、データの共有と交換を行っている。
「マイクロプロセッサ技術:昭和64年6月10日初版発行、編集兼発行者・電気学会、発売元・オーム社」の「4.3マルチプロセッサシステム/4.3.3具体例/(7)プロセス制御システム」
これらの理由により、マルチプロセッサシステムにて必須となる共有メモリ2への読み書きが、プログラム処理効率を低下させるという問題がある。
本発明は、このような課題に鑑みてなされたものであり、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができる装置及び方法を提供することを目的としている。
図1は、本発明の実施の形態に係るマルチプロセッサシステムの構成を示す図である。
図1に示すマルチプロセッサシステムは、図12に示した従来のマルチプロセッサシステムの構成要素に、次に説明する要素が加えられて構成されている。
仮想共有メモリ121の容量は、共有メモリ2で実際にデータ共有を行うために使用される記憶容量と同じであり、記憶領域の割付けは、図2(a)に示すように共有メモリ2及び仮想共有メモリ121が共通となっており、各プロセッサ1A〜1Nの専用書込み領域A〜Nが割付けられている。
また、他の領域B〜Nは、自プロセッサ1AのDMAプロセッサ14Aが共有メモリ2の他プロセッサ1B〜1Nへの割付領域から読み出したデータを書込む領域である。
この他、各プロセッサ1A〜1Nにトリガ信号伝達バス8を介して接続されたトリガ発生器7を設けた。トリガ発生器7は、DMAプロセッサ14を起動するためのトリガ信号を発生する。トリガ信号伝達バス8は、トリガ発生器7から発生されたトリガ信号を伝達する。なお、トリガ信号伝達バス8は、複数の信号線で構成される場合もある。
DMAプロセッサ14は、図3の時刻t1〜t3に示すように、トリガ信号発生器7の発生する周期的なDMA起動トリガ信号に基づいて、各プロセッサ1A〜1NのDMAプロセッサ14A〜14Nの動作期間が、t1A〜t1N,t2A〜t2Nで示すように互いに重複しないように起動される。
例えば、プロセッサ1AのDMAプロセッサ(図には単にDMAと記載)14Aは、自プロセッサ14Aの動作期間t1A中に、図2(c)に示すように自所属プロセッサ1A内の仮想共有メモリ121Aの領域Aからデータを読出し、これを図2(b)に示すように共有メモリ2の領域Aへ書き込むと共に、共有メモリ2の領域B〜Nからデータを読み出して自所属プロセッサ1A内の仮想共有メモリ121Aの領域B〜Nへ書き込む。
このような手段によって、演算プロセッサ11の仮想共有メモリ121の自領域への書込み頻度の間隔が、DMA起動トリガ信号の周期より長ければ、その書込みは共有メモリ2を介して他のプロセッサ内の仮想共有メモリ121へ複写される。
よって、各プロセッサ1A〜1Nの演算プロセッサ11A〜11Nは、データの共有・交換を行うために半導体チップ外部の共有メモリ2に直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ12A〜12N内の仮想共有メモリ121A〜121Nへの書込み・読出しを行えば良い。
(実施例1)
本実施例1のマルチプロセッサシステムの構成は、上記実施の形態で説明したマルチプロセッサシステムの構成と基本的には同じであるが、トリガ信号伝達バス8の構成が、図4に示すように、各DMAプロセッサ14A〜14Nへ単一の信号線で共通のトリガ信号810を伝達する構成となっている。
各DMAプロセッサ14A〜14Nは、DMA起動トリガ信号を元にDMAプロセッサ14内に設定された位相で起動される。その位相設定は、各DMAプロセッサ14A〜14Nの動作期間が重ならないように設定される。
即ち、図2(b)及び(c)に示すように、プロセッサ1AにおいてDMAプロセッサ14Aが、自プロセッサ14Aの動作期間t1A中に、自所属プロセッサ1A内の仮想共有メモリ121Aの領域Aからデータを読出し、これを共有メモリ2の領域Aへ書き込むと共に、共有メモリ2の領域B〜Nからデータを読み出して自プロセッサ内の仮想共有メモリ121Aの領域B〜Nへ書き込む。他のプロセッサ1B〜1Nにおいても同様の動作が行われる。
本実施例2のマルチプロセッサシステムの構成も、上記実施例1の構成と基本的には同じであるが、トリガ信号伝達バス8の構成が次のようになっている。
即ち、トリガ信号伝達バス8は、図5に示すように、DMA起動トリガ信号を、DMAプロセッサ14A用にトリガ信号820A、DMAプロセッサ14B用にトリガ信号820B、DMAプロセッサ14N用にトリガ信号820Nのように、個々のDMAプロセッサ14A〜14N毎に伝達する構成となっている。
各DMA起動トリガ信号820A〜820Nは、図6に時刻t1〜t7で示すように、トリガ信号発生器7から周期的に生成され、更に、これらDMA起動トリガ信号820A〜820Nの入力タイミングで起動するDMAプロセッサ14A〜14Nの動作期間t1A、t2B,t3N,t4A、t5B,t6Nが重ならないように発生される。
このような実施例2の構成のマルチプロセッサシステムにおいては、上記実施例1で説明したと同様の動作により、各プロセッサ1A〜1Nの演算プロセッサ11A〜11Nが、データの共有・交換を行う。
本実施例3のマルチプロセッサシステムの構成も、上記実施例1の構成と基本的には同じであるが、トリガ信号伝達バス8の構成が次のようになっている。
即ち、トリガ信号伝達バス8には、上記実施例1で説明したように共通の信号が伝達されるが、実施例1と異なり、図7(a)に示すように、トリガ種別を与えるタイプ指定信号832とトリガのタイミングを与えるストローブ信号831の複数の信号構成となっている。図7(b)に示すように、タイプ指定信号832は、ストローブ信号831によってトリガされる。
このような実施例3の構成のマルチプロセッサシステムにおいては、上記実施例1で説明したと同様の動作により、各プロセッサ1A〜1Nの演算プロセッサ11A〜11Nが、データの共有・交換を行う。
本実施例4のマルチプロセッサシステムの構成も、上記実施例1の構成と基本的には同じであるが、各DMAプロセッサ14A〜14Nが図8に示すように、高速用DMAプロセッサ141及び低速用DMAプロセッサ142を備えて構成されている。
このような構成としたのは次の理由による。マルチプロセッサシステムでは、共有・交換したいデータが全て同じ頻度で更新(変化)するとは限らないので、共有メモリ2及び仮想共有メモリ121の領域は更新したい頻度に対応して小分けにし、データの複写量を減らす方が合理的である。これを実現するためにDMAプロセッサ14を、高速用DMAプロセッサ141及び低速用DMAプロセッサ142を備えて構成した。
図9(b)に示すように、共有メモリ2において、高速用領域HAは、プロセッサ1Aの高速用DMAプロセッサ141Aがデータを書込むと共に、他のプロセッサ1B〜1Nの高速用DMAプロセッサ141B〜141Nが書込まれたデータを読出す領域である。これと同様に他の高速用領域HA〜HNも、自プロセッサ1の高速用DMAプロセッサ141がデータを書込むと共に、他のプロセッサ1の高速用DMAプロセッサ141が書込まれたデータを読出す領域となっている。
更に、仮想共有メモリ121は、プロセッサ1Aの仮想共有メモリ121Aを代表すると、低速用領域LAは、自プロセッサ1Aの演算プロセッサ11Aがデータを書込むと共に、自プロセッサ1Aの低速用DMAプロセッサ142Aが書込まれたデータを読み出して共有メモリ2の自プロセッサ1Aに割り付けられた低速用領域LAに書込むための領域である。
即ち、高速用DMAプロセッサ141A用にトリガ信号821A、低速用DMAプロセッサ142A用にトリガ信号822A、高速用DMAプロセッサ141B用にトリガ信号821B、低速用DMAプロセッサ142B用にトリガ信号822B、高速用DMAプロセッサ141N用にトリガ信号821N、低速用DMAプロセッサ142N用にトリガ信号822Nのように、個々のDMAプロセッサ141及び142毎に伝達する構成となっている。
プロセッサ1Aの演算プロセッサ11Aは、高速(又は高頻度)に他のプロセッサ1B〜1Nに通知したいデータを仮想共有メモリ12Aの高速用領域HAに書込み、他のプロセッサ1B〜1Nが高速(又は高頻度)に通知したいデータを仮想共有メモリ12B〜12Nの高速用領域HB〜HNから読み出す。一方、低速(又は低頻度)でも良いデータは低速用領域を使用する。以上のようにして更新したい頻度に対応したデータの共有・交換を行う。
以上説明した実施例1〜4によれば、各プロセッサ1A〜1Nの演算プロセッサ11A〜11Nは、データの共有・交換を行うために半導体チップ外部の共有メモリ2に直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ12A〜12N内の仮想共有メモリ121A〜121Nへの書込み・読出しを行えば良い。
2 共有メモリ
3 アクセス調停装置
4A〜4N イネーブル付バスドライバ
7 トリガ信号発生器
8 トリガ信号伝達バス
12A〜12N 内蔵メモリ
13A〜13N 外部バスIF
14A〜14N DMAプロセッサ
121A〜121N 仮想共有メモリ
141A〜141N 高速用DMAプロセッサ
142A〜142N 低速用DMAプロセッサ
820A〜820N DMA起動トリガ信号
821A〜821N 高速用DMA起動トリガ信号
822A〜822N 低速用DMA起動トリガ信号
831 ストローブ信号
832 タイプ指定信号
LA〜LN 低速用領域
HA〜HN 高速用領域
Claims (4)
- 個々に半導体チップで形成され、当該半導体チップ内に演算プロセッサと、データ読書き可能な内蔵メモリと、当該半導体チップ外部のデータバス間でデータの入出力を行うインタフェースを有する各プロセッサが、各プロセッサ外部のアクセス調停手段のアクセス調停制御に応じてプロセッサ外部の共有メモリに共通バスを介してデータを読書きしてデータの共有・交換を行うマルチプロセッサシステムにおいて、
前記各プロセッサの内部に、前記共有メモリのデータの共有・交換に使用される記憶容量と同容量の仮想共有メモリを前記内蔵メモリに備えると共に、前記演算プロセッサとは独立に指定された共有メモリの記憶領域及び仮想共有メモリの記憶領域間で相互に複写動作を行うDMAプロセッサを備え、
前記各プロセッサの外部に、前記DMAプロセッサを起動するトリガ信号を発生する発生手段と、この発生手段からのトリガ信号を各プロセッサのDMAプロセッサに伝達する伝達バスとを備え、
前記各プロセッサのDMAプロセッサの動作期間が互いに重複しないように前記トリガ信号を入力する
ことを特徴とするマルチプロセッサシステム。 - 前記共有メモリ及び前記仮想共有メモリは、前記各プロセッサ毎の書込み用の領域に区分けされ、前記演算プロセッサは自プロセッサ内の仮想共有メモリの自プロセッサ用書込み領域へ他プロセッサに通知したいデータを書込み、当該仮想共有メモリの自プロセッサ用書込み領域以外の領域から他のプロセッサが通知したデータを読み出すことで、データの共有・交換を行う
ことを特徴とする請求項1に記載のマルチプロセッサシステム。 - 前記共有メモリ及び前記仮想共有メモリは、前記各プロセッサ毎の書込み領域に区分けされ、自プロセッサ内部のDMAプロセッサは、前記トリガ信号に応じて、前記仮想共有メモリの自プロセッサ用書込み領域から前記共有メモリの自プロセッサ用書込み領域への複写動作と、前記共有メモリの自プロセッサ用書込み領域以外の記憶領域から前記仮想共有メモリの自プロセッサ用書込み領域以外の記憶領域への複写動作を行うことで、データの共有・交換を行う
ことを特徴とする請求項1または2に記載のマルチプロセッサシステム。 - 前記DMAプロセッサに、データの高速処理を行う高速用DMAプロセッサと、データの低速処理を行う低速用DMAプロセッサとを備え、
前記共有メモリ及び前記仮想共有メモリの記憶領域を、前記共有・交換したいデータの更新頻度に対応して更新頻度の高い高速用領域と、更新頻度の低い低速用領域とに分け、前記高速用DMAプロセッサによって前記高速用領域にアクセスし、前記低速用DMAプロセッサによって前記低速用領域にアクセスするようにした
ことを特徴とする請求項1から3の何れか1項に記載のマルチプロセッサシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005115929A JP4424244B2 (ja) | 2005-04-13 | 2005-04-13 | マルチプロセッサシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005115929A JP4424244B2 (ja) | 2005-04-13 | 2005-04-13 | マルチプロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006293836A JP2006293836A (ja) | 2006-10-26 |
JP4424244B2 true JP4424244B2 (ja) | 2010-03-03 |
Family
ID=37414323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005115929A Expired - Fee Related JP4424244B2 (ja) | 2005-04-13 | 2005-04-13 | マルチプロセッサシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4424244B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100859600B1 (ko) * | 2007-01-05 | 2008-09-23 | 전자부품연구원 | 멀티프로세서 시스템 |
KR102407917B1 (ko) | 2015-11-12 | 2022-06-10 | 삼성전자주식회사 | 멀티 프로세서에 의해 공유되는 메모리를 포함하는 멀티 프로세서 시스템 및 상기 시스템의 동작 방법 |
-
2005
- 2005-04-13 JP JP2005115929A patent/JP4424244B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006293836A (ja) | 2006-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6083714B2 (ja) | プロセッサによるメモリの共有のための方法、システム、およびコンピュータ・プログラム | |
JP5680466B2 (ja) | 並列処理システム及び並列処理システムの動作方法 | |
JP4424244B2 (ja) | マルチプロセッサシステム | |
KR101695845B1 (ko) | 캐시 일관성 유지 장치 및 방법, 이를 이용하는 멀티프로세서 장치 | |
JP4642531B2 (ja) | データ要求のアービトレーション | |
JP4902640B2 (ja) | 集積回路、及び集積回路システム | |
JP4734348B2 (ja) | 共有メモリ型マルチプロセッサにおける非同期遠隔手続き呼び出し方法、非同期遠隔手続き呼び出しプログラムおよび記録媒体 | |
JP4539481B2 (ja) | マルチプロセッサシステム | |
JP2014038652A (ja) | 通信装置及びその制御方法、プログラム | |
JP5218413B2 (ja) | 情報処理装置及びその制御方法 | |
JP2007172430A (ja) | 半導体集積回路 | |
JP4295815B2 (ja) | マルチプロセッサシステムおよびマルチプロセッサシステムの動作方法 | |
JP7463855B2 (ja) | 情報処理装置及びプログラム | |
JP2005107873A (ja) | 半導体集積回路 | |
KR100441996B1 (ko) | 직접 메모리 액세스 제어기 및 제어 방법 | |
KR0144093B1 (ko) | 다수의 프로세서가 하나의 캐쉬 메모리를 공유하는 시스템 장치 및 방법 | |
JP4583981B2 (ja) | 画像処理装置 | |
JP2010237770A (ja) | 情報処理装置、ブリッジ装置および情報処理方法 | |
JP2016224560A (ja) | マルチチップシステム、及びその制御方法 | |
WO2011030498A1 (ja) | データ処理装置及びデータ処理方法 | |
JP2006309561A (ja) | ダイレクトメモリアクセスコントローラ及びそのデータ転送方法 | |
JP4642398B2 (ja) | 共有バス調停システム | |
JP3674670B2 (ja) | バス制御装置及び半導体装置 | |
JP2007328539A (ja) | バスシステムおよびバススレーブならびにバス制御方法 | |
JP2011018138A (ja) | プロセッサシステム及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090415 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090630 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090826 |
|
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: 20091117 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091130 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121218 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |