JP2003271574A - 共有メモリ型マルチプロセッサシステムにおけるデータ通信方法 - Google Patents
共有メモリ型マルチプロセッサシステムにおけるデータ通信方法Info
- Publication number
- JP2003271574A JP2003271574A JP2002070099A JP2002070099A JP2003271574A JP 2003271574 A JP2003271574 A JP 2003271574A JP 2002070099 A JP2002070099 A JP 2002070099A JP 2002070099 A JP2002070099 A JP 2002070099A JP 2003271574 A JP2003271574 A JP 2003271574A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- data
- processors
- shared
- communication method
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/427—Loop networks with decentralised control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
けるデータ転送処理をコヒーレンスを保ちながら高速化
することにある。 【解決手段】 N+1個のプロセッサ(以下、Pro)の夫々に
対し、#0〜#Nの共有データレジスタ(以下、SReg)(10)が
用意され、全てのPro間でSReg(10)から同じデータが読
み出せるように、プロセッサ間通信路(15,16)で結ば
れ、各ProはマスタProとスレーブProに分けられ、SReg
へのデータ書き込むは、すべてマスタProから行われ、
スレーブProからSRegへのデータ書き込みは、一旦マス
タProへ書き込み要求を出した後に、マスタProからデー
タ書き込みが行われる。
Description
チプロセッサ・システムにおけるデータ通信方法に関
し、コヒーレンスを保ったデータ通信を実現すること、
およびその高速化とコヒーレンス制御に関する。
モリ型マルチプロセッサ・システムにおいて、並列プロ
グラムを実行する際に各プロセッサ間の共有データの通
信を行う必要がある。従来は、この共有データの通信を
行う場合には、コヒーレンスを保つためにロック処理と
呼ばれる処理を行ってきた。この処理は、データに対す
る排他制御を行う処理で、複数のプロセッサが共有する
データを1つのプロセッサが排他的に読み書きできるよ
うにする。この排他制御によって複数のプロセッサが同
時に読み書きすることによって、アクセス順序などによ
ってデータの読み出し値が異なるなど、不正な処理が行
われないようにすることができる。
用意されるテストアンドセット命令などを利用する。テ
ストアンドセット命令は、(1)メモリ上のあるアドレ
スに格納されているデータをレジスタに読み出し、
(2)同じアドレスのメモリに値”1”を書き込み、
(3)レジスタに読み出した値が”0”であるかどうか
を判定する。以上の(1)〜(3)の動作を不可分に途
中で他のプロセッサから影響を受けたり、割り込みが入
ることなく実現することを保証している。各プロセッサ
はテストアンドセット命令によってレジスタに読み出し
た値が”0”であった場合にのみ排他制御が実現された
と判定し後続の排他制御が必要な処理を行う。この処理
が終わるとこのプロセッサはこのアドレスのメモリに
値”0”を書き込み、別のプロセッサが排他制御を実現
できるようにする。また、各プロセッサはテストアンド
セット命令によってレジスタに読み出された値が”1”
であった場合には、排他制御が実現できなかったとし
て、再びテストアンドセット命令を実行し、読み出し値
が”0”となるまで繰り返す。なお、テストアンドセッ
ト命令利用の排他制御については、「計算機アーキテク
チャと構成方法」(中沢喜三郎著/朝倉書店)1995年11月p
p.388 に記載されている。
る排他制御によってマルチプロセッサ間でコヒーレンス
を保ったデータ通信を行うことは時間がかかる処理であ
る。特に頻繁にデータ転送をする必要がある場合には、
ロック処理の影響により処理速度が大幅に低下する場合
がある。この原因としては、ロック処理が常にメインメ
モリ上でのデータ読み出し・書き込み処理となり、1回
のテストアンドセット命令の実行に多大な時間がかかる
ことが挙げられる。また、ロック処理に伴うメインメモ
リ上でのデータ読み出し・書き込みが1つの同一のアド
レスに対して行われることによりメモリアクセス性能の
低下を引き起こすことがある。本発明の目的は、テスト
アンドセット命令のような処理時間のかかる命令を使う
ことなく、簡単なハードウェア機構の追加により高速に
マルチプロセッサ間でのコヒーレンスを保ったデータ通
信を行うことにある。
め、本発明では、共有メモリ型マルチプロセッサシステ
ムにおける各プロセッサに夫々割り当てられた共有デー
タ通信用のレジスタを有し、このレジスタに共有データ
を書き込む。各プロセッサは他のプロセッサの前記レジ
スタの複製を有し、各プロセッサは間にリング網状の通
信路を有し、該通信路によって該レジスタの内容を伝達
する。このリング網状の通信路で結合されたレジスタ間
のデータ通信においては、複数のプロセッサの内の1つ
のプロセッサを主プロセッサとし、他のプロセッサを従
プロセッサとする。従プロセッサは各プロセッサ上の前
記レジスタにデータを書き込む場合にリング網上で書き
込みを行うデータを主プロセッサに転送し、主プロセッ
サからリング網を経由して全てのプロセッサ上の前記レ
ジスタに前記書き込みを行うデータを書き込むようにす
る。また、前記データ転送の際に、リング網上を転送さ
れるデータを一時的に保持するバッファを有し、主プロ
セッサからリング網を経由して全てのプロセッサに書き
込みを許可する信号が到着するまでデータはバッファに
保持され、前記信号が到着してから前記レジスタにデー
タを書き込む。
マルチプロセッサシステムは図1のように、複数のプロ
セッサ(1)とシステムバス(31)・メモリコントロ
ーラ(32)およびメインメモリ(4)から構成され
る。通常は、それぞれのプロセッサ(1)にキャッシュ
メモリ(2)が設けられ、さらに共有キャッシュメモリ
(33)が設けられることもある。なお、図において
は、以後、システムバス(31)とメモリコントローラ
(32)と共有キャッシュ(33)をまとめてメモリコ
ントローラ・バス・共有キャッシュ(3)として図示す
る。共有メモリ型マルチプロセッサシステムでは、各プ
ロセッサ(1)は論理的には単一のメインメモリ(4)
を共有し、各プロセッサ(1)からメインメモリ(4)
へのアクセスは、システムバス(31)・メモリコント
ローラ(32)を経由して行われる。なお、システムバ
ス(31)構成の替わりにスイッチ構成をとる場合もあ
る。キャッシュメモリ(2)はメインメモリ(4)上の
データの一部を各プロセッサが高速に読み書きできるよ
うにするためのもので、それぞれのプロセッサ(1)が
必要とするデータをそれぞれのプロセッサ(1)が格納
する。よって各プロセッサ(1)のキャッシュメモリ
(2)に格納されているデータは異なるアドレスのデー
タも含まれる。一方、共有キャッシュメモリ(33)
は、複数のプロセッサで共有して利用されるため、複数
のプロセッサが必要とするデータなどが格納されてい
る。共有キャッシュメモリ(33)はプロセッサ(1)
内のキャッシュメモリ(2)に較べてメインメモリ
(4)に近い位置に配置されるため、読み書きに要する
時間は大きいが、より大容量のキャッシュメモリを設け
ることが多く、キャッシュ上にデータのある確率は高く
なる。各プロセッサ(1)から共有キャッシュメモリ
(33)へのアクセスは、システムバス(31)・メモ
リコントローラ(32)を経由して行われる。また、共
有キャッシュメモリ(33)とメインメモリ(4)の間
でデータの転送が行われる。
る並列処理の動作を模式的に示したものである。図2で
は、縦方向を時間軸として、8つのプロセッサが1つの
プログラム(6)を、逐次処理部分(7)をプロセッサ
#0が、並列処理部分(8)をプロセッサ#0〜#7の
8つのプロセッサが実行する例を示している。逐次処理
部分(7)から並列処理部分(8)およびその逆、もし
くはある並列処理から別の並列処理に移る部分(図2に
おいては、並列処理2から並列処理3に移る部分)で
は、複数のプロセッサ間でデータ転送(9)するなどの
ためにタイミングをあわせる同期ポイント(5)があ
る。マルチプロセッサシステムで効率良く処理を行うた
めには、同期ポイントにおける処理を高速に行い、デー
タ転送(9)を効率的に行う必要がある。各同期ポイン
ト(5)では、例えば逐次処理1から並列処理1に移る
場合、逐次処理1を行っていたプロセッサ#0から並列
処理1を行うプロセッサに対して必要なデータを配布す
るためのデータ転送(9)が行われ、並列処理1から逐
次処理2に移る場合、並列処理1を行っていたプロセッ
サから逐次処理を行うプロセッサ#0にデータを集める
ためのデータ転送(9)が行われる。また、並列処理2
から並列処理3に移る場合、並列処理を行う各プロセッ
サ間でデータを交換するためのデータ転送(9)が行わ
れる。
ッサ間で共有するデータに対するコヒーレンスの確保が
大きな問題である。特に、マルチプロセッサ間の同期に
関わるデータ転送は、厳密にコヒーレンスをとれる必要
がある一方、それら共有データの読み書きの速度は並列
処理性能に大きく影響するファクタである。しかしなが
ら、これらの解決のために複雑なハードウェアを実装す
ることは、コスト面での問題が大きい。そのため、これ
ら共有データのコヒーレンスを保ちながら高速なデータ
通信を簡単なハードウェアで行う方式を本発明で実現す
る。
セッサ間通信路(11)を示したものである。プロセッ
サ間通信路としては、1対1に密にネットワークを張る
クロスバ方式や、通信ハブを設けてスター型にネットワ
ークを張る方式、リング状にネットワークを張る方式な
どが考えられる。クロスバ方式は、通信の高速性の面で
優れているが、複雑で高コストであり、さらにプロセッ
サの増加に対する柔軟性が低い。スター型はハブ部分に
通信が集中する点が問題である。リング型は、構造が最
も簡単でプロセッサ数の増加に対する柔軟性もあるが性
能は低い。本発明では、プロセッサ間通信路(11)と
して、リング型ネットワークにおける、コヒーレンスを
保った通信方式を実現する。図3はプロセッサ間通信路
(19)としてリング型を用いた実施例を示す。なお、
共有データレジスタ(10)がなく、共有データを直接
メモリに書き込む実施例もある。
通信路(11)をもったマルチプロセッサシステムにお
いて、共有データレジスタ(10)への書き込みの動作
例を示したのが図4である。図4では、プロセッサ#0
とプロセッサ#2で同時に異なるデータA、Bを同一ア
ドレスに書き込んだ場合の動作を時間順に示している。
なお、共有データレジスタ(10)のボックスはアドレ
スXに対するデータバッファを模式的に示したものであ
る。リング型ネットワークのプロセッサ間通信路(1
1)上をあるアドレスXにAを書き込むwrite A
の要求がプロセッサ#0からプロセッサ#1→#2→#
3と伝達される。同様にして、同一のアドレスXにBを
書き込むwrite Bの要求がプロセッサ#2からプ
ロセッサ#3→#0→#1と伝達される。プロセッサ間
通信路(11)をこのように書き込み要求を伝達する
と、最終的にはプロセッサ#0・#1ではアドレスXに
データとしてBが、プロセッサ#2・#3では同一アド
レスXにAが書き込まれた状態となる。この状態は、同
一アドレスXへのロード命令でデータを読み出しても、
読み出すプロセッサによって読み出されるデータが異な
ることを意味する。通常は、ソフトウェアで同時に同一
アドレスへ異なるデータを書き込むことは禁止されるべ
きであるが、プログラムバグなどによってそのようなこ
とが起こった場合にも、ハードウェアではデータの最終
値をコヒーレンスの取れた状態にするべきである。
クのプロセッサ間通信路(11)におけるコヒーレンス
を保った通信方式を模式的に示したものである。本発明
の1実施例としては、プロセッサ番号の最も若いプロセ
ッサをマスタ・プロセッサ、他のプロセッサをスレーブ
・プロセッサとして、マスタ・プロセッサのみ書き込み
を開始するようにする方式がある。図5では、プロセッ
サ#0がマスタ・プロセッサとなり、プロセッサ#1・
#2・#3がスレーブ・プロセッサとなる。マスタ・プ
ロセッサであるプロセッサ#0から共有データレジスタ
(10)への書き込みは、図5に示すように→→
→の順で各プロセッサの共有データレジスタ(10)
に書き込まれる。一方スレーブ・プロセッサであるプロ
セッサ#1から共有データレジスタ(10)への書き込
みは、一度→→の順で実際の書き込みはせずに書
き込みの要求を伝達し、マスタ・プロセッサであるプロ
セッサ#0に伝達される。そして、プロセッサ#0から
→→→の順で各プロセッサの共有データレジス
タ(10)に実際の書き込みが行われる。他のスレーブ
・プロセッサの動作も同様にマスタプロセッサであるプ
ロセッサ#0までの伝達は実際の書き込みはせずに書き
込み要求の伝達だけであり、プロセッサ#0から順に実
際の書き込みが行われる。各プロセッサは、他のプロセ
ッサからの要求の到着と自プロセッサからの書き込み要
求の発生が同時に起こった場合には、他のプロセッサか
らの要求を優先的に処理し、自プロセッサからの要求は
他のプロセッサからの要求がない場合に行う。
セッサ間通信路(11)上で次のようにプロセッサ番号
を伝達することで決定できる。 (1)各プロセッサは自プロセッサのプロセッサ番号を
プロセッサ間通信路(11)に送信する。 (2)各プロセッサは、プロセッサ間通信路(11)か
ら他のプロセッサ番号を受け取ったら、自プロセッサの
プロセッサ番号と比較し、自プロセッサのプロセッサ番
号の方が値が小さければ自プロセッサの番号を、自プロ
セッサのプロセッサ番号の方が値が大きければそのまま
の番号をプロセッサ間通信路(11)に送信し自プロセ
ッサはスレーブ・プロセッサとなる。また、受け取った
プロセッサ番号が自プロセッサのプロセッサ番号と同一
の場合には、自プロセッサがマスタ・プロセッサとな
る。
アドレスXに対するデータAの書き込み要求が、プロセ
ッサ#2から同一アドレスXに対するデータBの書き込
み要求が同時に発生した場合に、本発明による方式で共
有データレジスタ(10)への書き込みを行った場合の
動作を示した図である。最初にプロセッサ#0からのデ
ータAの書き込み要求は、プロセッサ#0がマスタ・プ
ロセッサであるので、プロセッサ#0から順に共有デー
タレジスタ(10)にデータAの書き込みを実行してい
く。一方、プロセッサ#2はスレーブ・プロセッサであ
るので、プロセッサ#3に対して実際のデータBの書き
込みは行わずに書き込み要求を伝達する。この要求がマ
スタ・プロセッサであるプロセッサ#0に到達すると、
プロセッサ#0から順に共有データレジスタ(10)に
データBの書き込みを実行していく。これによりすべて
のプロセッサにおいて、まずデータAが共有データレジ
スタ(10)に書き込まれ、続いてデータBが上書きさ
れるので、最終的にはすべてのプロセッサの共有データ
レジスタ(10)の値はBで一致する。
にバッファ(12)をもうけた本発明の実施例である。
プロセッサ間通信路(11)は、データ通信路(15)
とアドレス・コマンド通信路(16)から構成され、デ
ータ通信路(15)で転送されるデータは、まずバッフ
ァ(12)のデータ格納部(13)に登録される。ま
た、アドレス・コマンド通信路(16)で転送されるア
ドレス・データ転送IDは、まずバッファ(12)のア
ドレス格納部(14)に登録される。アドレス・コマン
ド通信路へは、データを書き込むべきアドレスの他に該
当データ転送の識別ID、データの書き込みを命令する
コマンド、データを書き込まずに転送することを命令す
るコマンド、該当IDのデータをバッファ(12)から
共有データレジスタ(10)へ書き込みことを命令する
コマンド、データの書き込みを完了したことを通知する
コマンド、前記マスタ・プロセッサ、スレーブ・プロセ
ッサを決定するためのプロセッサ番号を通知するコマン
ド、データの読み出しを命令するコマンド、データおよ
びアドレスの初期化を命令するコマンドが伝送される。
なお、データとアドレス・コマンドの対応関係が特定で
きれば、データとアドレス・コマンドは同時刻に到着す
る必要性はない。
アドレスXに対するデータAの書き込み要求が、プロセ
ッサ#2から同一アドレスXに対するデータBの書き込
み要求が同時に発生した場合に、図7に示した本発明に
よる方式で共有データレジスタ(10)への書き込みを
行った場合の動作を示した図である。なお、図8で網掛
け矢印は、該当通信路または配線上をデータもしくはア
ドレス、コマンドが送信されていることを示す。プロセ
ッサ#0はマスタ・プロセッサであり、プロセッサ#0
からはデータ通信路(15)上にデータA、アドレス・
コマンド通信路(16)上にアドレスXへの書き込み命
令が送信される。各プロセッサでは、このデータ転送を
受けて、まずバッファ(12)にデータAおよびアドレ
スXを登録し、続いて共有データレジスタ(10)のア
ドレスXのデータを登録すべき箇所にデータAを書き込
む。なお、最後のスレーブ・プロセッサであるプロセッ
サ#3は、データAのデータ転送を受けたら、データA
のデータ転送処理の完了のみを通知すればよい。そのた
めには、プロセッサ#3は、自分が最後のスレーブ・プ
ロセッサであることを認識している必要がある。なお、
プロセッサ#3は、そのままのデータおよびアドレス・
コマンドをマスタ・プロセッサであるプロセッサ#0に
転送してもよいが、その場合には、マスタ・プロセッサ
は、プロセッサ間通信路から受信した書き込みコマンド
を完了通知と解釈すればよい。
レスXへのデータBの書き込みは、プロセッサ#2がス
レーブ・プロセッサであるので、アドレス・コマンド通
信路(16)へはアドレスXに対する書き込みはせずに
データを転送するコマンドを送信する。各プロセッサは
このデータ通信により、バッファ(12)にデータBお
よびアドレスXを登録するが、共有データレジスタ(1
0)への書き込みは行わない。このデータ転送がマスタ
・プロセッサに到達すると、マスタ・プロセッサはアド
レス・コマンド通信路(16)へ送信するアドレス・コ
マンドをアドレスXへの書き込み命令に変換して送信す
る。これにより以降は各プロセッサにおいて前記データ
Aと同様の方法によりデータBが共有データレジスタ
(10)へ書き込まれていく。このアドレスXへのデー
タBの書き込み命令は送信元であるプロセッサ#2に到
達すると、該当データ転送IDのデータをバッファ(1
2)から共有データレジスタ(10)へ書き込む命令に
変換して送信し、データは送信しない。これはバッファ
(12)にデータBがすでに登録されているためであ
る。
(10)とプロセッサ間通信路(11)に遅延時間格納
部(18)を加えた構成を示したものである。各プロセ
ッサは、データ転送の際にプロセッサ固有のプロセッサ
識別IDを付加して送信し、遅延時間格納部(18)に
はこのプロセッサ識別IDを登録する。プロセッサ識別
IDは、全プロセッサ数をYとすると、マスタ・プロセ
ッサがY−1、以下リング網に接続されている順にY−
2、Y−3、…、1、0と1ずつ減少させる。あるプロ
セッサから次のプロセッサへのデータ転送に要する時間
を1として、共有データレジスタ(12)への実際のデ
ータ登録は遅延時間格納部(18)に登録された値だけ
の時間を遅延させて行う。プロセッサ識別IDがZのプ
ロセッサは、前記プロセッサ識別IDの決定方法によれ
ば、プロセッサ識別ID0のプロセッサに比べて、時間
Zだけ早くデータ転送が完了する。よって、時間Zだけ
共有データレジスタ(12)への実際のデータ登録を遅
延させることで、データ転送を開始した際の絶対時間で
データ書き込みの順序関係を保証することが可能とな
る。なお、この際に同時にデータ転送を開始したデータ
の場合、同時に共有データレジスタ(12)へのデータ
登録を行うこととなるが、同一アドレスであった場合や
書き込みを行うためのリソースに競合が発生した場合に
は、全プロセッサで共通化してあるプロセッサ識別ID
に応じた優先制御を行うことで、コヒーレンスを保つこ
とが可能である。
ッファ(12)をもった図7の構成に追加したものであ
る。図9と同様にして、共有データレジスタ(12)へ
のデータ登録を、データ転送を開始した際の絶対時間の
順序関係を保証して行うことができる。図9の構成との
差異は、データ登録の遅延をバッファ(12)でデータ
を保持することで行う点である。
ムにおけるコヒーレンスを保ったデータ転送処理を高速
に実現することができる。また、バッファをもうけるこ
とにより通信路のトラフィックを削減し、通信路の使用
効率を高めたデータ転送処理を行える。さらに、データ
書き込み処理のタイミングにデータ発信元のプロセッサ
に応じた遅延をもたせることで、データ書き込みの絶対
時間での順序関係を保証することが可能となる。
ッサシステムの構成を示す図である。
る並列処理およびデータ転送の関係を示す模式図であ
る。
ッサ間通信路を用意した共有メモリ型マルチプロセッサ
システムの構成を示す図である。
処理の例を示す図である。
処理においてコヒーレンスを保つ処理方法を示す模式図
である。
処理においてコヒーレンスを保つ処理方法に基づく動作
例を示す模式図である。
ッサ間通信路に加えてバッファを用意した共有メモリ型
マルチプロセッサシステムの構成を示す図である。
処理においてバッファを用いたコヒーレンスを保つ処理
方法に基づく動作例を示す模式図である。
ッサ間通信路に加えて遅延時間格納部を用意した共有メ
モリ型マルチプロセッサシステムの構成を示す図であ
る。
セッサ間通信路に加えてバッファおよび遅延時間格納部
を用意した共有メモリ型マルチプロセッサシステムの構
成を示す図である。
Claims (4)
- 【請求項1】 複数のプロセッサと、メモリで構成され
る共有メモリ型マルチプロセッサシステムにおけるデー
タ通信方法であって、 前記各プロセッサに、共有データを格納するための自プ
ロセッサ用のレジスタを設け、各プロセッサ間をリング
網で結合し、前記複数のプロセッサの内の1つのプロセ
ッサを主プロセッサとし、他のプロセッサを従プロセッ
サとし、該従プロセッサは前記各プロセッサ上の前記レ
ジスタにデータを書き込む場合にリング網上で書き込み
を行うデータを前記主プロセッサに転送し、該主プロセ
ッサからリング網を経由して全てのプロセッサ上の前記
レジスタに前記書き込みを行うデータを書き込むことを
特徴とするデータ通信方法。 - 【請求項2】 請求項1記載のデータ通信方法であっ
て、 各プロセッサはリング網上を転送されるデータを一時的
に保持するバッファを持ち、前記主プロセッサからリン
グ網を経由して全てのプロセッサに書き込みを許可する
信号が到着するまで該バッファにデータを保持し、該信
号の到着により前記レジスタへデータを格納することを
特徴とするデータ通信方法。 - 【請求項3】 請求項1記載のデータ通信方法であっ
て、 前記各プロセッサは固有の識別番号を持ち、各プロセッ
サはデータ転送の際に前記識別番号を付加してリング網
上を転送し、前記主プロセッサがリング網を経由して全
てのプロセッサ上の前記レジスタに前記書き込みを行う
データ転送を行う際に該データ転送に付加された前記識
別番号に応じた遅延を付加した上で送信することを特徴
とするデータ通信方法。 - 【請求項4】 請求項2記載のデータ通信方法であっ
て、 前記各プロセッサは固有の識別番号を持ち、各プロセッ
サはデータ転送の際に前記識別番号を付加してリング網
上を転送し、前記主プロセッサからリング網を経由して
全てのプロセッサに書き込みを許可する信号の到着によ
り前記バッファから前記レジスタへデータを格納する際
に、該識別番号に応じた遅延を付加することを特徴とす
るデータ通信方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002070099A JP2003271574A (ja) | 2002-03-14 | 2002-03-14 | 共有メモリ型マルチプロセッサシステムにおけるデータ通信方法 |
US10/217,485 US7155540B2 (en) | 2002-03-14 | 2002-08-14 | Data communication method in shared memory multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002070099A JP2003271574A (ja) | 2002-03-14 | 2002-03-14 | 共有メモリ型マルチプロセッサシステムにおけるデータ通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003271574A true JP2003271574A (ja) | 2003-09-26 |
Family
ID=28035040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002070099A Pending JP2003271574A (ja) | 2002-03-14 | 2002-03-14 | 共有メモリ型マルチプロセッサシステムにおけるデータ通信方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7155540B2 (ja) |
JP (1) | JP2003271574A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014060473A (ja) * | 2012-09-14 | 2014-04-03 | Toshiba Corp | 無線伝送システム及び無線伝送方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7493417B2 (en) * | 2002-12-12 | 2009-02-17 | International Business Machines Corporation | Method and data processing system for microprocessor communication using a processor interconnect in a multi-processor system |
US7359932B2 (en) * | 2002-12-12 | 2008-04-15 | International Business Machines Corporation | Method and data processing system for microprocessor communication in a cluster-based multi-processor system |
US7360067B2 (en) * | 2002-12-12 | 2008-04-15 | International Business Machines Corporation | Method and data processing system for microprocessor communication in a cluster-based multi-processor wireless network |
US7356568B2 (en) * | 2002-12-12 | 2008-04-08 | International Business Machines Corporation | Method, processing unit and data processing system for microprocessor communication in a multi-processor system |
US7162573B2 (en) * | 2003-06-25 | 2007-01-09 | Intel Corporation | Communication registers for processing elements |
US7894426B2 (en) * | 2005-02-04 | 2011-02-22 | Hewlett-Packard Development Company, L.P. | Conduit port for network chips |
JP2007148709A (ja) * | 2005-11-28 | 2007-06-14 | Hitachi Ltd | プロセッサシステム |
US8953489B2 (en) * | 2011-12-15 | 2015-02-10 | International Business Machines Corporation | Selecting a master processor from an ambiguous peer group |
CN103377086A (zh) * | 2012-04-27 | 2013-10-30 | 华为技术有限公司 | 用于异步多核系统操作共享资源的方法、装置及系统 |
CN110352590A (zh) * | 2018-02-05 | 2019-10-18 | 思科技术公司 | 具有多个插槽的可配置存储服务器 |
EP3767481A1 (de) * | 2019-07-19 | 2021-01-20 | PLS Patent-, Lizenz- und Schutzrechte Verwertung GmbH | Prozessor |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5097409A (en) * | 1988-06-30 | 1992-03-17 | Wang Laboratories, Inc. | Multi-processor system with cache memories |
JPH0241535A (ja) | 1988-08-02 | 1990-02-09 | Seiichi Miyazaki | データ処理装置 |
JPH05189380A (ja) | 1992-01-14 | 1993-07-30 | Fujitsu Ltd | 共通データ管理方式 |
US5551048A (en) * | 1994-06-03 | 1996-08-27 | Digital Equipment Corporation | Ring based distributed communication bus for a multiprocessor network |
KR100240572B1 (ko) * | 1996-12-05 | 2000-01-15 | 윤종용 | 프로그램 메모리를 공유하는 멀티 프로세서 시스템 |
US6253292B1 (en) * | 1997-08-22 | 2001-06-26 | Seong Tae Jhang | Distributed shared memory multiprocessor system based on a unidirectional ring bus using a snooping scheme |
US6112283A (en) | 1998-08-06 | 2000-08-29 | Intel Corporation | Out-of-order snooping for multiprocessor computer systems |
US6557056B1 (en) * | 1998-12-30 | 2003-04-29 | Nortel Networks Limited | Method and apparatus for exchanging data between transactional and non-transactional input/output systems in a multi-processing, shared memory environment |
US6496902B1 (en) * | 1998-12-31 | 2002-12-17 | Cray Inc. | Vector and scalar data cache for a vector multiprocessor |
JP4049957B2 (ja) | 1999-10-29 | 2008-02-20 | 富士ゼロックス株式会社 | マルチプロセッサシステム |
US6976155B2 (en) * | 2001-06-12 | 2005-12-13 | Intel Corporation | Method and apparatus for communicating between processing entities in a multi-processor |
US6839808B2 (en) * | 2001-07-06 | 2005-01-04 | Juniper Networks, Inc. | Processing cluster having multiple compute engines and shared tier one caches |
-
2002
- 2002-03-14 JP JP2002070099A patent/JP2003271574A/ja active Pending
- 2002-08-14 US US10/217,485 patent/US7155540B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014060473A (ja) * | 2012-09-14 | 2014-04-03 | Toshiba Corp | 無線伝送システム及び無線伝送方法 |
Also Published As
Publication number | Publication date |
---|---|
US7155540B2 (en) | 2006-12-26 |
US20030177273A1 (en) | 2003-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5263169A (en) | Bus arbitration and resource management for concurrent vector signal processor architecture | |
US5043873A (en) | Method of parallel processing for avoiding competition control problems and data up dating problems common in shared memory systems | |
US3323109A (en) | Multiple computer-multiple memory system | |
US7610451B2 (en) | Data transfer mechanism using unidirectional pull bus and push bus | |
US6453367B2 (en) | Methods and apparatus for providing direct memory access control | |
JP2003271574A (ja) | 共有メモリ型マルチプロセッサシステムにおけるデータ通信方法 | |
JPH06266615A (ja) | 順次データ転送型メモリ及び順次データ転送型メモリを用いたコンピュータシステム | |
JP3431941B2 (ja) | データ処理システムにおける命令の実行順序を決定する方法および装置 | |
EP2437159B1 (en) | Apparatus for data comparison and control method thereof | |
JP2591502B2 (ja) | 情報処理システムおよびそのバス調停方式 | |
US7254667B2 (en) | Data transfer between an external data source and a memory associated with a data processor | |
JP2001236335A (ja) | 分散メモリ型並列計算機及びそのデータ転送終了確認方法 | |
JP3808525B2 (ja) | ライト及び/もしくはリードアクセス優先順位管理装置 | |
JPH04286048A (ja) | 競合最小化プロセッサおよびシステム・バス・システム | |
JP2006285872A (ja) | マルチcpuシステム | |
WO2011030498A1 (ja) | データ処理装置及びデータ処理方法 | |
JPH1185673A (ja) | 共有バスの制御方法とその装置 | |
JP2699873B2 (ja) | バス制御回路 | |
JP2001273191A (ja) | コンピュータシステム | |
JPH03241442A (ja) | ストアバッファ制御方式 | |
JP2705955B2 (ja) | 並列情報処理装置 | |
JPS5975354A (ja) | プロセッサ装置 | |
EP1990725A1 (en) | Central processing unit, central processing unit control method, and information processing system | |
JP3791463B2 (ja) | 演算装置及びデータ転送システム | |
JP2000067008A (ja) | マルチプロセッサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040318 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050309 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060317 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060411 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060612 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070320 |