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
Application number
JP2002070099A
Other languages
English (en)
Inventor
Tomohiro Nakamura
友洋 中村
Naonobu Sukegawa
直伸 助川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002070099A priority Critical patent/JP2003271574A/ja
Priority to US10/217,485 priority patent/US7155540B2/en
Publication of JP2003271574A publication Critical patent/JP2003271574A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop 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

(57)【要約】 【課題】 共有メモリ型マルチプロセッサシステムにお
けるデータ転送処理をコヒーレンスを保ちながら高速化
することにある。 【解決手段】 N+1個のプロセッサ(以下、Pro)の夫々に
対し、#0〜#Nの共有データレジスタ(以下、SReg)(10)が
用意され、全てのPro間でSReg(10)から同じデータが読
み出せるように、プロセッサ間通信路(15,16)で結ば
れ、各ProはマスタProとスレーブProに分けられ、SReg
へのデータ書き込むは、すべてマスタProから行われ、
スレーブProからSRegへのデータ書き込みは、一旦マス
タProへ書き込み要求を出した後に、マスタProからデー
タ書き込みが行われる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、共有メモリ型マル
チプロセッサ・システムにおけるデータ通信方法に関
し、コヒーレンスを保ったデータ通信を実現すること、
およびその高速化とコヒーレンス制御に関する。
【0002】
【従来の技術】各プロセッサがメモリを共有する共有メ
モリ型マルチプロセッサ・システムにおいて、並列プロ
グラムを実行する際に各プロセッサ間の共有データの通
信を行う必要がある。従来は、この共有データの通信を
行う場合には、コヒーレンスを保つためにロック処理と
呼ばれる処理を行ってきた。この処理は、データに対す
る排他制御を行う処理で、複数のプロセッサが共有する
データを1つのプロセッサが排他的に読み書きできるよ
うにする。この排他制御によって複数のプロセッサが同
時に読み書きすることによって、アクセス順序などによ
ってデータの読み出し値が異なるなど、不正な処理が行
われないようにすることができる。
【0003】排他制御の実現には、通常はプロセッサに
用意されるテストアンドセット命令などを利用する。テ
ストアンドセット命令は、(1)メモリ上のあるアドレ
スに格納されているデータをレジスタに読み出し、
(2)同じアドレスのメモリに値”1”を書き込み、
(3)レジスタに読み出した値が”0”であるかどうか
を判定する。以上の(1)〜(3)の動作を不可分に途
中で他のプロセッサから影響を受けたり、割り込みが入
ることなく実現することを保証している。各プロセッサ
はテストアンドセット命令によってレジスタに読み出し
た値が”0”であった場合にのみ排他制御が実現された
と判定し後続の排他制御が必要な処理を行う。この処理
が終わるとこのプロセッサはこのアドレスのメモリに
値”0”を書き込み、別のプロセッサが排他制御を実現
できるようにする。また、各プロセッサはテストアンド
セット命令によってレジスタに読み出された値が”1”
であった場合には、排他制御が実現できなかったとし
て、再びテストアンドセット命令を実行し、読み出し値
が”0”となるまで繰り返す。なお、テストアンドセッ
ト命令利用の排他制御については、「計算機アーキテク
チャと構成方法」(中沢喜三郎著/朝倉書店)1995年11月p
p.388 に記載されている。
【0004】
【発明が解決しようとする課題】従来のロック処理によ
る排他制御によってマルチプロセッサ間でコヒーレンス
を保ったデータ通信を行うことは時間がかかる処理であ
る。特に頻繁にデータ転送をする必要がある場合には、
ロック処理の影響により処理速度が大幅に低下する場合
がある。この原因としては、ロック処理が常にメインメ
モリ上でのデータ読み出し・書き込み処理となり、1回
のテストアンドセット命令の実行に多大な時間がかかる
ことが挙げられる。また、ロック処理に伴うメインメモ
リ上でのデータ読み出し・書き込みが1つの同一のアド
レスに対して行われることによりメモリアクセス性能の
低下を引き起こすことがある。本発明の目的は、テスト
アンドセット命令のような処理時間のかかる命令を使う
ことなく、簡単なハードウェア機構の追加により高速に
マルチプロセッサ間でのコヒーレンスを保ったデータ通
信を行うことにある。
【0005】
【課題を解決するための手段】上記目的を達成するた
め、本発明では、共有メモリ型マルチプロセッサシステ
ムにおける各プロセッサに夫々割り当てられた共有デー
タ通信用のレジスタを有し、このレジスタに共有データ
を書き込む。各プロセッサは他のプロセッサの前記レジ
スタの複製を有し、各プロセッサは間にリング網状の通
信路を有し、該通信路によって該レジスタの内容を伝達
する。このリング網状の通信路で結合されたレジスタ間
のデータ通信においては、複数のプロセッサの内の1つ
のプロセッサを主プロセッサとし、他のプロセッサを従
プロセッサとする。従プロセッサは各プロセッサ上の前
記レジスタにデータを書き込む場合にリング網上で書き
込みを行うデータを主プロセッサに転送し、主プロセッ
サからリング網を経由して全てのプロセッサ上の前記レ
ジスタに前記書き込みを行うデータを書き込むようにす
る。また、前記データ転送の際に、リング網上を転送さ
れるデータを一時的に保持するバッファを有し、主プロ
セッサからリング網を経由して全てのプロセッサに書き
込みを許可する信号が到着するまでデータはバッファに
保持され、前記信号が到着してから前記レジスタにデー
タを書き込む。
【0006】
【発明の実施の形態】本発明が対象とする共有メモリ型
マルチプロセッサシステムは図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)の間
でデータの転送が行われる。
【0007】図2は、マルチプロセッサシステムにおけ
る並列処理の動作を模式的に示したものである。図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)が行わ
れる。
【0008】マルチプロセッサ処理においては、プロセ
ッサ間で共有するデータに対するコヒーレンスの確保が
大きな問題である。特に、マルチプロセッサ間の同期に
関わるデータ転送は、厳密にコヒーレンスをとれる必要
がある一方、それら共有データの読み書きの速度は並列
処理性能に大きく影響するファクタである。しかしなが
ら、これらの解決のために複雑なハードウェアを実装す
ることは、コスト面での問題が大きい。そのため、これ
ら共有データのコヒーレンスを保ちながら高速なデータ
通信を簡単なハードウェアで行う方式を本発明で実現す
る。
【0009】図3は共有データレジスタ(10)とプロ
セッサ間通信路(11)を示したものである。プロセッ
サ間通信路としては、1対1に密にネットワークを張る
クロスバ方式や、通信ハブを設けてスター型にネットワ
ークを張る方式、リング状にネットワークを張る方式な
どが考えられる。クロスバ方式は、通信の高速性の面で
優れているが、複雑で高コストであり、さらにプロセッ
サの増加に対する柔軟性が低い。スター型はハブ部分に
通信が集中する点が問題である。リング型は、構造が最
も簡単でプロセッサ数の増加に対する柔軟性もあるが性
能は低い。本発明では、プロセッサ間通信路(11)と
して、リング型ネットワークにおける、コヒーレンスを
保った通信方式を実現する。図3はプロセッサ間通信路
(19)としてリング型を用いた実施例を示す。なお、
共有データレジスタ(10)がなく、共有データを直接
メモリに書き込む実施例もある。
【0010】リング型ネットワークによるプロセッサ間
通信路(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へのロード命令でデータを読み出しても、
読み出すプロセッサによって読み出されるデータが異な
ることを意味する。通常は、ソフトウェアで同時に同一
アドレスへ異なるデータを書き込むことは禁止されるべ
きであるが、プログラムバグなどによってそのようなこ
とが起こった場合にも、ハードウェアではデータの最終
値をコヒーレンスの取れた状態にするべきである。
【0011】図5は本発明による、リング型ネットワー
クのプロセッサ間通信路(11)におけるコヒーレンス
を保った通信方式を模式的に示したものである。本発明
の1実施例としては、プロセッサ番号の最も若いプロセ
ッサをマスタ・プロセッサ、他のプロセッサをスレーブ
・プロセッサとして、マスタ・プロセッサのみ書き込み
を開始するようにする方式がある。図5では、プロセッ
サ#0がマスタ・プロセッサとなり、プロセッサ#1・
#2・#3がスレーブ・プロセッサとなる。マスタ・プ
ロセッサであるプロセッサ#0から共有データレジスタ
(10)への書き込みは、図5に示すように→→
→の順で各プロセッサの共有データレジスタ(10)
に書き込まれる。一方スレーブ・プロセッサであるプロ
セッサ#1から共有データレジスタ(10)への書き込
みは、一度→→の順で実際の書き込みはせずに書
き込みの要求を伝達し、マスタ・プロセッサであるプロ
セッサ#0に伝達される。そして、プロセッサ#0から
→→→の順で各プロセッサの共有データレジス
タ(10)に実際の書き込みが行われる。他のスレーブ
・プロセッサの動作も同様にマスタプロセッサであるプ
ロセッサ#0までの伝達は実際の書き込みはせずに書き
込み要求の伝達だけであり、プロセッサ#0から順に実
際の書き込みが行われる。各プロセッサは、他のプロセ
ッサからの要求の到着と自プロセッサからの書き込み要
求の発生が同時に起こった場合には、他のプロセッサか
らの要求を優先的に処理し、自プロセッサからの要求は
他のプロセッサからの要求がない場合に行う。
【0012】なお、マスタ・プロセッサの決定は、プロ
セッサ間通信路(11)上で次のようにプロセッサ番号
を伝達することで決定できる。 (1)各プロセッサは自プロセッサのプロセッサ番号を
プロセッサ間通信路(11)に送信する。 (2)各プロセッサは、プロセッサ間通信路(11)か
ら他のプロセッサ番号を受け取ったら、自プロセッサの
プロセッサ番号と比較し、自プロセッサのプロセッサ番
号の方が値が小さければ自プロセッサの番号を、自プロ
セッサのプロセッサ番号の方が値が大きければそのまま
の番号をプロセッサ間通信路(11)に送信し自プロセ
ッサはスレーブ・プロセッサとなる。また、受け取った
プロセッサ番号が自プロセッサのプロセッサ番号と同一
の場合には、自プロセッサがマスタ・プロセッサとな
る。
【0013】図6は、図4と同様にプロセッサ#0から
アドレスXに対するデータAの書き込み要求が、プロセ
ッサ#2から同一アドレスXに対するデータBの書き込
み要求が同時に発生した場合に、本発明による方式で共
有データレジスタ(10)への書き込みを行った場合の
動作を示した図である。最初にプロセッサ#0からのデ
ータAの書き込み要求は、プロセッサ#0がマスタ・プ
ロセッサであるので、プロセッサ#0から順に共有デー
タレジスタ(10)にデータAの書き込みを実行してい
く。一方、プロセッサ#2はスレーブ・プロセッサであ
るので、プロセッサ#3に対して実際のデータBの書き
込みは行わずに書き込み要求を伝達する。この要求がマ
スタ・プロセッサであるプロセッサ#0に到達すると、
プロセッサ#0から順に共有データレジスタ(10)に
データBの書き込みを実行していく。これによりすべて
のプロセッサにおいて、まずデータAが共有データレジ
スタ(10)に書き込まれ、続いてデータBが上書きさ
れるので、最終的にはすべてのプロセッサの共有データ
レジスタ(10)の値はBで一致する。
【0014】図7は、共有データレジスタ(10)の他
にバッファ(12)をもうけた本発明の実施例である。
プロセッサ間通信路(11)は、データ通信路(15)
とアドレス・コマンド通信路(16)から構成され、デ
ータ通信路(15)で転送されるデータは、まずバッフ
ァ(12)のデータ格納部(13)に登録される。ま
た、アドレス・コマンド通信路(16)で転送されるア
ドレス・データ転送IDは、まずバッファ(12)のア
ドレス格納部(14)に登録される。アドレス・コマン
ド通信路へは、データを書き込むべきアドレスの他に該
当データ転送の識別ID、データの書き込みを命令する
コマンド、データを書き込まずに転送することを命令す
るコマンド、該当IDのデータをバッファ(12)から
共有データレジスタ(10)へ書き込みことを命令する
コマンド、データの書き込みを完了したことを通知する
コマンド、前記マスタ・プロセッサ、スレーブ・プロセ
ッサを決定するためのプロセッサ番号を通知するコマン
ド、データの読み出しを命令するコマンド、データおよ
びアドレスの初期化を命令するコマンドが伝送される。
なお、データとアドレス・コマンドの対応関係が特定で
きれば、データとアドレス・コマンドは同時刻に到着す
る必要性はない。
【0015】図8は、図4と同様にプロセッサ#0から
アドレス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に
転送してもよいが、その場合には、マスタ・プロセッサ
は、プロセッサ間通信路から受信した書き込みコマンド
を完了通知と解釈すればよい。
【0016】一方、プロセッサ#2から送信されたアド
レスXへのデータBの書き込みは、プロセッサ#2がス
レーブ・プロセッサであるので、アドレス・コマンド通
信路(16)へはアドレスXに対する書き込みはせずに
データを転送するコマンドを送信する。各プロセッサは
このデータ通信により、バッファ(12)にデータBお
よびアドレスXを登録するが、共有データレジスタ(1
0)への書き込みは行わない。このデータ転送がマスタ
・プロセッサに到達すると、マスタ・プロセッサはアド
レス・コマンド通信路(16)へ送信するアドレス・コ
マンドをアドレスXへの書き込み命令に変換して送信す
る。これにより以降は各プロセッサにおいて前記データ
Aと同様の方法によりデータBが共有データレジスタ
(10)へ書き込まれていく。このアドレスXへのデー
タBの書き込み命令は送信元であるプロセッサ#2に到
達すると、該当データ転送IDのデータをバッファ(1
2)から共有データレジスタ(10)へ書き込む命令に
変換して送信し、データは送信しない。これはバッファ
(12)にデータBがすでに登録されているためであ
る。
【0017】図9は、図3に示した共有データレジスタ
(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
に応じた優先制御を行うことで、コヒーレンスを保つこ
とが可能である。
【0018】図10は図9と同様の遅延時間格納部をバ
ッファ(12)をもった図7の構成に追加したものであ
る。図9と同様にして、共有データレジスタ(12)へ
のデータ登録を、データ転送を開始した際の絶対時間の
順序関係を保証して行うことができる。図9の構成との
差異は、データ登録の遅延をバッファ(12)でデータ
を保持することで行う点である。
【0019】
【発明の効果】本発明よれば、マルチプロセッサシステ
ムにおけるコヒーレンスを保ったデータ転送処理を高速
に実現することができる。また、バッファをもうけるこ
とにより通信路のトラフィックを削減し、通信路の使用
効率を高めたデータ転送処理を行える。さらに、データ
書き込み処理のタイミングにデータ発信元のプロセッサ
に応じた遅延をもたせることで、データ書き込みの絶対
時間での順序関係を保証することが可能となる。
【図面の簡単な説明】
【図1】本発明が対象とする共有メモリ型マルチプロセ
ッサシステムの構成を示す図である。
【図2】本発明が扱うマルチプロセッサシステムにおけ
る並列処理およびデータ転送の関係を示す模式図であ
る。
【図3】本発明による共有データレジスタおよびプロセ
ッサ間通信路を用意した共有メモリ型マルチプロセッサ
システムの構成を示す図である。
【図4】本発明によるリング網で結合されたデータ転送
処理の例を示す図である。
【図5】本発明によるリング網で結合されたデータ転送
処理においてコヒーレンスを保つ処理方法を示す模式図
である。
【図6】本発明によるリング網で結合されたデータ転送
処理においてコヒーレンスを保つ処理方法に基づく動作
例を示す模式図である。
【図7】本発明による共有データレジスタおよびプロセ
ッサ間通信路に加えてバッファを用意した共有メモリ型
マルチプロセッサシステムの構成を示す図である。
【図8】本発明によるリング網で結合されたデータ転送
処理においてバッファを用いたコヒーレンスを保つ処理
方法に基づく動作例を示す模式図である。
【図9】本発明による共有データレジスタおよびプロセ
ッサ間通信路に加えて遅延時間格納部を用意した共有メ
モリ型マルチプロセッサシステムの構成を示す図であ
る。
【図10】本発明による共有データレジスタおよびプロ
セッサ間通信路に加えてバッファおよび遅延時間格納部
を用意した共有メモリ型マルチプロセッサシステムの構
成を示す図である。
【符号の説明】
1 プロセッサ 2 キャッシュメモリ 3 メモリコントローラ・バス・共有キャッシュメモリ 4 メインメモリ 5 同期ポイント 6 プログラムコード 7 逐次処理コード 8 並列処理コード 9 データ転送 10 共有データレジスタ 11 プロセッサ間通信路 12 バッファ 13 データ格納部 14 アドレス格納部 15 データ通信路 16 アドレス・コマンド通信路 17 データ格納部 18 遅延時間格納部 19 遅延時間格納部 31 システムバス 32 メモリコントローラ 33 共有キャッシュメモリ
フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) H04L 12/42 H04L 12/42 Z Fターム(参考) 5B045 BB13 BB32 DD01 5B077 BA02 BA06 GG15 5K031 BA02 CA13 CB20 DA02 DB10

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサと、メモリで構成され
    る共有メモリ型マルチプロセッサシステムにおけるデー
    タ通信方法であって、 前記各プロセッサに、共有データを格納するための自プ
    ロセッサ用のレジスタを設け、各プロセッサ間をリング
    網で結合し、前記複数のプロセッサの内の1つのプロセ
    ッサを主プロセッサとし、他のプロセッサを従プロセッ
    サとし、該従プロセッサは前記各プロセッサ上の前記レ
    ジスタにデータを書き込む場合にリング網上で書き込み
    を行うデータを前記主プロセッサに転送し、該主プロセ
    ッサからリング網を経由して全てのプロセッサ上の前記
    レジスタに前記書き込みを行うデータを書き込むことを
    特徴とするデータ通信方法。
  2. 【請求項2】 請求項1記載のデータ通信方法であっ
    て、 各プロセッサはリング網上を転送されるデータを一時的
    に保持するバッファを持ち、前記主プロセッサからリン
    グ網を経由して全てのプロセッサに書き込みを許可する
    信号が到着するまで該バッファにデータを保持し、該信
    号の到着により前記レジスタへデータを格納することを
    特徴とするデータ通信方法。
  3. 【請求項3】 請求項1記載のデータ通信方法であっ
    て、 前記各プロセッサは固有の識別番号を持ち、各プロセッ
    サはデータ転送の際に前記識別番号を付加してリング網
    上を転送し、前記主プロセッサがリング網を経由して全
    てのプロセッサ上の前記レジスタに前記書き込みを行う
    データ転送を行う際に該データ転送に付加された前記識
    別番号に応じた遅延を付加した上で送信することを特徴
    とするデータ通信方法。
  4. 【請求項4】 請求項2記載のデータ通信方法であっ
    て、 前記各プロセッサは固有の識別番号を持ち、各プロセッ
    サはデータ転送の際に前記識別番号を付加してリング網
    上を転送し、前記主プロセッサからリング網を経由して
    全てのプロセッサに書き込みを許可する信号の到着によ
    り前記バッファから前記レジスタへデータを格納する際
    に、該識別番号に応じた遅延を付加することを特徴とす
    るデータ通信方法。
JP2002070099A 2002-03-14 2002-03-14 共有メモリ型マルチプロセッサシステムにおけるデータ通信方法 Pending JP2003271574A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014060473A (ja) * 2012-09-14 2014-04-03 Toshiba Corp 無線伝送システム及び無線伝送方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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