JP2731738B2 - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム

Info

Publication number
JP2731738B2
JP2731738B2 JP7011127A JP1112795A JP2731738B2 JP 2731738 B2 JP2731738 B2 JP 2731738B2 JP 7011127 A JP7011127 A JP 7011127A JP 1112795 A JP1112795 A JP 1112795A JP 2731738 B2 JP2731738 B2 JP 2731738B2
Authority
JP
Japan
Prior art keywords
communication register
processor
communication
register
access
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 - Lifetime
Application number
JP7011127A
Other languages
English (en)
Other versions
JPH08235137A (ja
Inventor
憲行 安藤
政信 稲葉
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP7011127A priority Critical patent/JP2731738B2/ja
Publication of JPH08235137A publication Critical patent/JPH08235137A/ja
Application granted granted Critical
Publication of JP2731738B2 publication Critical patent/JP2731738B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は同期通信制御機構に関
し、特にマルチプロセッサシステムにおける同期通信制
御機構に関する。
【0002】
【従来の技術】マルチプロセッサシステムにおいては、
各プロセッサ間の同期制御、排他制御、または、通信制
御のための共有変数を保持するために、通信レジスタと
よばれる高速な共有のレジスタを使用する場合がある。
この通信レジスタは、記憶装置と比較してアクセスタイ
ムが短く、または、スループットが高いことが要求され
る。各プロセッサはこの通信レジスタを介して通信を行
うことによって処理を高速化することができる。これら
同期制御、排他制御、または、通信制御においては、マ
ルチプロセッサシステムが十分な並列度を得られ難いた
め、並列度が高くなるに従ってこれら制御の全体の性能
に及ぼす影響は非常に大きくなる。従って、通信レジス
タ構成が、マルチプロセッサシステムの性能向上に及ぼ
す効果は非常に大きい。
【0003】ここで同期制御の一例としてバリア同期に
ついて説明する。バリア同期とは、全プロセッサがバリ
ア同期ルーチンを実行するまで、各プロセッサがこのル
ーチンで待ち合わせをする処理をいう。図9にそのルー
チンを示す。但し、初期値としてワード#0の通信レジス
タにはバリア同期を行うプロセッサ数が格納され、ワー
ド#1の通信レジスタには非零値、また、スカラレジスタ
S0,S1には0値が格納されているものとする。
【0004】各命令の意味は以下の通りである。
【0005】FDCR S0,CR#0:通信レジスタの#0ワードの
値をスカラレジスタS0に格納した後、通信レジスタの#0
ワードの値を-1減する。
【0006】BL S0,loop1:スカラレジスタS0の値が0
値を越えるならば、loop1に分岐する。
【0007】SCR S1,CR#1 :スカラレジスタS1の値を通
信レジスタの#1ワードに格納する。
【0008】B loopend :無条件にloopendにジャン
プする。
【0009】LCR S2,CR#1 :通信レジスタの#1ワードの
値をスカラレジスタS2に格納する。
【0010】BNE S2,loop1:スカラレジスタS0の値が0
値以外ならば、loop1に分岐する。
【0011】各プロセッサがバリアルーチンに入ると、
まず、通信レジスタワード#0の値をS0に退避して、デク
リメントする。通信レジスタの#0ワードにはプロセッサ
数が初期値として入っているので、全プロセッサがこの
ルーチンに入れば通信レジスタの#0ワードの値は0値に
なる。最後にこのルーチンに入ったプロセッサ以外はlo
op1に飛び、最後のプロセッサがルーチンに入るまで、
ここのループで待つことになる。最後のプロセッサか否
かはFDCR命令が読んできた通信レジスタの#0ワードの値
を見れば判別でき、最後ならば通信レジスタの#1ワード
に対し零値を書き込むことにより、これを他のプロセッ
サに通知する。
【0012】
【発明が解決しようとする課題】上述の従来のマルチプ
ロセッサシステムにおいては、複数個のプロセッサが発
行する複数個の通信レジスタアクセスリクエストのう
ち、通信レジスタ装置にアクセスできるリクエストの個
数は同時に1つに限られる。このことが、通信レジスタ
を用いた同期、排他、通信制御において大きなオーバヘ
ッドを生む要因になりうる。
【0013】この場合、最後のプロセッサを除くプロセ
ッサは、FDCR命令を実行した後、最後のプロセッサが#1
ワードの値を零値にするまで、loop1内のLCR命令を繰り
返し実行することになる。この繰り返し実行のことをス
ピンロックという。スピンロックはルーチンに入った各
プロセッサ全てが実行するので、通信レジスタアクセス
が集中することになり、大きなアクセス競合が発生す
る。このアクセス競合により、新たにバリア同期ルーチ
ンに入ったプロセッサが実行するFDCR命令アクセスが、
最悪のケースではスピンロックしている既にバリア同期
待ちをしているプロセッサ分待たされてしまうことにな
る。
【0014】図10を参照すると、4つのプロセッサに
より上述のバリア同期をとる際には、まず各プロセッサ
が逐次的に通信レジスタの#0ワードを減じ、その後各プ
ロセッサが終了したか否かをチェックする。したがっ
て、この4つのプロセッサによる場合には、同期終了ま
で8サイクルを要する。すなわち、N個のプロセッサで
は、(2×N)サイクルを要することになる。
【0015】本発明の目的は、上述した問題点を解決
し、通信レジスタを介した同期通信制御を高速化するこ
とにある。
【0016】また、本発明の他の目的は、通信レジスタ
の参照に伴うプロセッサ間の緩衝を削減することにあ
る。
【0017】
【課題を解決するための手段】上記課題を解決するため
に本発明のマルチプロセッサシステムは、N個(Nは整
数)のプロセッサと、記憶装置と、通信レジスタ装置
と、これらプロセッサと記憶装置と通信レジスタ装置を
相互に結合する相互結合ネットワークとを含むマルチプ
ロセッサシステムにおいて、前記通信レジスタ装置は、
N個の通信レジスタモジュールを含み、これら通信レジ
スタモジュールの各々は互いに各語が同一内容を格納す
るように制御され、かつ、専ら1つの特定のプロセッサ
にのみ参照される。
【0018】また、本発明の他のマルチプロセッサシス
テムにおいて、前記相互結合ネットワークは、前記プロ
セッサからのライトリクエストを前記N個の通信レジス
タモジュールの全てに転送する。
【0019】また、本発明の他のマルチプロセッサシス
テムにおいて、前記通信レジスタ装置は、さらにネット
ワークインタフェース回路を含み、このネットワークイ
ンタフェース回路は前記プロセッサからのライトリクエ
ストを前記N個の通信レジスタモジュールの全てに転送
する。
【0020】また、本発明の他のマルチプロセッサシス
テムにおいて、前記通信レジスタ装置は、さらに通信レ
ジスタネットワークを含み、この通信レジスタネットワ
ークは前記プロセッサからある通信レジスタモジュール
にライトリクエストが発生した場合には他の全ての通信
レジスタモジュールにライトリクエストを転送する。
【0021】また、本発明の他のマルチプロセッサシス
テムにおいて、前記通信レジスタモジュールの各々は、
さらにM語(Mは整数)からなるN個のセットに分割さ
れ、前記プロセッサからのリクエストがリードである場
合には、そのプロセッサが専有する通信レジスタモジュ
ールにおいてリードアクセスが発生し、前記プロセッサ
からのリクエストがライトである場合には、当該リクエ
ストが全ての通信レジスタモジュールにブロードキャス
トされて、全ての通信レジスタモジュールにおいてライ
トアクセスが発生し、前記プロセッサからのリクエスト
がテストアンドセットである場合には、前記通信レジス
タモジュールに1から順番に昇順に付されたモジュール
番号と前記セットに1から順番に昇順に付されたセット
番号とが一致するセットを含む通信レジスタモジュール
に対してテスト動作が行われ、そのテストの結果が”ロ
ック確保失敗”ならば当該テスト結果が前記プロセッサ
に返却され、”ロック確保成功”ならば同一アドレスの
全ての通信レジスタモジュールにおいてロックのライト
アクセスが発生する。
【0022】また、本発明の他のマルチプロセッサシス
テムにおいて、前記通信レジスタモジュールは、同時に
アクセス可能な複数のポートを有し、プロセッサからの
リードアクセスと、通信レジスタネットワークを介した
ライトアクセスとの同時アクセスを許容する。
【0023】
【実施例】次に本発明の一実施例について図面を参照し
て詳細に説明する。
【0024】図1を参照すると、本発明の一実施例のマ
ルチプロセッサシステムは、データの処理を行うn台の
プロセッサ100と、データを記憶する記憶装置400
と、プロセッサ間の通信同期のための通信レジスタ装置
300とを有し、これらは相互結合ネットワーク200
を介して相互に結合されている。
【0025】プロセッサ100は、相互結合ネットワー
クに対して各々1ポートのアクセスポートを有してい
る。また、記憶装置400は、全体で1ポートのアクセ
スポートを有しているものとする。
【0026】図2を参照すると、通信レジスタ装置30
0は、さらにn個の通信レジスタモジュール320に分
割されている。これら通信レジスタモジュール320の
各々には互いに一意に識別可能なモジュール番号という
識別子が付されている。図中、このモジュール番号を#
1等と表す。通信レジスタモジュール320は、相互結
合ネットワークに対して各々1ポートのアクセスポート
を有している。
【0027】図1を参照すると、相互結合ネットワーク
200は各プロセッサに対し合計nポート、各通信レジ
スタ装置に対して合計nポート、主記憶装置に対して1
ポートのアクセスポートを持っている。アクセスポート
間にはアクセスパスが張られ、このアクセスパス上をア
クセスリクエストが流れる。また他の構成として、アク
セススループット向上を目的にアクセスポート、アクセ
スパスを多重に持つ構成も考えられる。例えば、主記憶
装置、相互結合ネットワーク間において、n本のアクセ
スパスを張る構成等がある。
【0028】プロセッサ100が記憶装置400または
通信レジスタ装置300にアクセスを行う場合、プロセ
ッサ100はリクエストパケットを生成して、これをア
クセスパスを通じて相互結合ネットワーク200に送出
する。相互結合ネットワーク200は複数個のプロセッ
サ100から送られて来る複数個のリクエストパケット
同士の競合を調停し、各リクエストパケットの行き先で
ある記憶装置400または通信レジスタ装置300にル
ーティングし、各々にアクセスパスを通じてリクエスト
パケットを送出する。記憶装置400または通信レジス
タ装置300に到着したリクエストパケットは、各装置
内でリードアクセス、もしくはライトアクセスが行われ
る。また、リードアクセスの場合は、再び相互結合ネッ
トワークを介してプロセッサにリードデータが返却され
る。
【0029】図4を参照すると、相互結合ネットワーク
200を流れるリクエストパケットのフォーマットは、
アクセス先が記憶装置400なのか通信レジスタ装置3
00なのかを示すアクセス種別フィールド801と、ア
クセスがロードなのかストアなのか等を示すコードフィ
ールド802と、記憶装置400内のアドレスまたは通
信レジスタ300内のアドレスを示すアドレスフィール
ド803と、ライトデータ用のデータフィールド804
とから構成されている。ロードアクセスの場合は、読み
出されたデータがデータフィールドに保持され、相互結
合ネットワーク200を介してプロセッサ100に返却
される。
【0030】相互結合ネットワーク200には、様々な
ネットワーク構成が適用できるが、プロセッサ100か
ら通信レジスタ装置300へのリクエストと、それとは
別のプロセッサ100から別の通信レジスタ装置300
へのリクエストとが同時にアクセスポートに到達した時
に、ブロッキングが発生しないようなネットワーク構成
が望ましい。例えば、ノンブロッキング型のクロスバー
スイッチ等は望ましい構成の一つである。
【0031】図3を参照すると、通信レジスタ装置30
0内の各通信レジスタモジュール320は、複数個のワ
ードより構成される通信レジスタメモリ301と、通信
レジスタメモリ301へライトデータを供給するライト
レジスタ302と、通信レジスタメモリ301へアドレ
スを供給するアドレスレジスタ303と、通信レジスタ
メモリ301からリードされたデータを保持するリード
レジスタ304と、通信レジスタメモリ301にライト
を指示するライト指示レジスタ305と、通信レジスタ
メモリ301にリードを指示するリード指示レジスタ3
06と、相互結合ネットワーク200からのリクエスト
パケットを分解して各部に配布するリクエストパケット
制御回路311と、通信レジスタメモリ301へのアク
セスを制御する通信レジスタ制御回路310と、相互結
合ネットワーク200へのリプライパケットを生成する
リプライパケット制御回路312とを含んでいる。
【0032】通信レジスタメモリ301は0番地から連
続的にアドレス番号が振られている。プロセッサ100
からの通信レジスタアクセスでは、この通信レジスタア
ドレスを指定することにより、アクセスする通信レジス
タのワード位置を定める。
【0033】通信レジスタメモリ301の各ワードに格
納されるデータの内容については自由に定めることがで
きる。単に同期のために使用するのであれば、ワードの
一部のビットまたは全部を同期用フラグとして使用して
もよい。また、最上位ビットのみを同期用フラグとして
使用して、残りのビットをプロセッサ間で受け渡すデー
タの格納用として使用してもよい。
【0034】通信レジスタメモリ301に対してライト
を行う場合、ライト指示レジスタ305を1値に設定
し、ライトするワードのアドレスをアドレスレジスタ3
03に設定し、ライトするデータをライトレジスタ30
2に設定する。次のタイミングで、ライトレジスタ30
2の値は、通信レジスタメモリ301の、アドレスレジ
スタ303で指定されたワードに書き込まれる。
【0035】通信レジスタメモリ301に対してリード
を行う場合、リード指示レジスタ306を1値に設定
し、リードするワードのアドレスをアドレスレジスタ3
03に設定する。次のタイミングで、通信レジスタメモ
リ301の、アドレスレジスタ303で指定されたワー
ドからデータが読み出され、リードレジスタ304へ保
持される。
【0036】通信レジスタメモリ301の周辺のこれら
のレジスタは、通信レジスタ制御回路310が制御す
る。
【0037】リクエストパケット制御回路311は、相
互結合ネットワーク200より到着するリクエストパケ
ットに対する処理を行う。相互結合ネットワーク200
よりリクエストパケットを受け取ったならば、リクエス
トコードフィールド802をデコードし、ロードアクセ
スなのかストアアクセスなのかも判断する。このデコー
ド結果は通信レジスタ制御回路310に送られる。リプ
ライパケット制御回路312は、リードレジスタに保持
されたデータをパケットのデータフィールド804に格
納して、相互結合ネットワーク200に対するリプライ
パケットとして構成する。
【0038】次に、通信レジスタアクセスにおける、通
信レジスタモジュール320内での処理について述べ
る。
【0039】ストアアクセスの場合、通信レジスタメモ
リ301は、アドレスフィールド803で示されたアド
レスのワードに、データフィールド804内のデータが
書き込まれる。即ち、ライトタイミングにおいて、アド
レスフィールド803内の通信レジスタアドレスをアド
レスレジスタ303に入れる。また、データフィールド
804内のライトデータをライトレジスタ302に入れ
る。同時にライト指示レジスタ305を1値に設定する
ことにより、次のタイミングでライトアクセスが完了す
る。
【0040】ロードアクセスの場合、通信レジスタメモ
リ301は、アドレスフィールド803で示されたアド
レスのワードからデータを読み出す。即ち、リードタイ
ミングにおいて、アドレスフィールド803内の通信レ
ジスタアドレスをアドレスレジスタ303に入れ、同時
にリード指示レジスタ306を1値にする。次のタイミ
ングで、読み出されたデータがリードレジスタ304に
保持される。このリードレジスタ304の保持したデー
タをパケットのデータフィールド804に格納して、相
互結合ネットワークに対するリプライパケットとして構
成する。このリプライパケットは、相互結合ネットワー
ク200に送出される。
【0041】図2を参照すると、通信レジスタ装置30
0内の各通信レジスタモジュール320は、それぞれn
等分されている。この等分されたレジスタ群の各々をセ
ットとよぶ。このセットは1つ当たりmワードから構成
される。すなわち、各通信レジスタモジュール320
は、mワードのセットをn個づつ有している。なお、こ
のセットには互いに一意に識別可能な番号としてセット
番号が付されている。図中、このセット番号を%1等と
表す。
【0042】ここで、各通信レジスタモジュール320
において、そのモジュール番号と同じセット番号のセッ
トのことを実セットとよび、その実セットにおける通信
レジスタのことを実通信レジスタとよぶ。また、それ以
外の(n−1)個のセットのことをコピーセットとよ
び、そのセット内の通信レジスタのことを通信レジスタ
のコピーとよぶ。同一セット番号が付されたセットは、
同一の内容を格納するように制御される。例えば、通信
レジスタモジュール#1においては、%1のセットが実
セットであり、他のセットはコピーセットである。
【0043】ある通信レジスタモジュール320にデー
タの書き込みが行われると、そのサイクルにおいて、他
の通信レジスタモジュール内の対応するワードに同一内
容のデータが書き込まれる。本実施例においては、相互
結合ネットワーク200がその書き込みを制御する。ま
た、各通信レジスタモジュール320において、ブロー
ドキャストによるデクリメントとチェック処理とが競合
する場合には、相互結合ネットワーク200がブロード
キャストの方を優先するように制御する。
【0044】図5を参照すると、本実施例において4つ
のプロセッサが同期を行う場合には、第1サイクル目で
通信レジスタモジュール#1でデクリメントが発生し、
これにより他の通信レジスタモジュールにブロードキャ
ストによる書き込みが発生する。また、第2サイクル目
では通信レジスタモジュール#2でデクリメントが発生
し、これにより他の通信レジスタモジュールにブロード
キャストによる書き込みが発生する。以降、第3サイク
ル目では通信レジスタモジュール#3について、また、
第4サイクル目では通信レジスタモジュール#4につい
て、同様の処理が行われる。そして、第5サイクル目で
は各通信レジスタモジュールにおいてチェックが行われ
て、その結果全てのプロセッサが同期した旨が確認され
る。すなわち、従来技術ではプロセッサ台数分を要して
いたチェックのフェーズが、本実施例では1サイクルで
完了することになる。
【0045】以上の構成により、本実施例において、通
信レジスタアクセスは次のように処理される。リードア
クセスならば、アクセスを発行したプロセッサと同一の
モジュール番号を有する通信レジスタモジュールに対し
て、リードアクセスが行われる。このとき各通信レジス
タは、実セットかコピーセットかの区別無く、アクセス
されることになる。
【0046】ライトアクセスならば、相互結合ネットワ
ーク200によってブロードキャストされた後、同一ア
ドレスの各通信レジスタモジュール320にライトされ
る。
【0047】テスト&セット命令ならば、テストを行う
通信レジスタアドレスに該当する実通信レジスタが存在
する通信レジスタモジュールに対して、テスト処理を行
う。テストの結果、ロック確保失敗ならばテスト結果を
プロセッサに返却する。ロック確保成功ならば、ロック
ビットのライト動作を実通信レジスタに対し行い、ま
た、同一アドレスの全ての通信レジスタコピーに対し、
相互結合ネットワーク200を経由してロックビットの
ライト処理を行う。
【0048】このように、本発明の第1の実施例によれ
ば、各プロセッサに専用の通信レジスタモジュール32
0を設けて、それらに書き込みが発生した際には相互結
合ネットワーク200を介してその書き込みをブロード
キャストすることにより、各プロセッサ100から同時
にチェック動作を行えるようになり、このチェック動作
に要する時間を短縮することができる。
【0049】次に本発明の第2の実施例について説明す
る。この第2の実施例では、通信レジスタ装置300の
内部構成が以下のように異なる点以外は、上記第1の実
施例と同様の構成を有している。
【0050】図6を参照すると、本発明の第2の実施例
における通信レジスタ装置300は、n個の通信レジス
タモジュール320を有している点は上記第1の実施例
と同様であるが、この通信レジスタモジュール320と
相互結合ネットワーク200との間にネットワークイン
タフェース回路330を有している点で第1の実施例と
は異なる。
【0051】ネットワークインターフェース回路330
は、相互結合ネットワーク200と各通信レジスタモジ
ュール320間のインターフェース機構を有している。
リードアクセス時には、相互結合ネットワーク200よ
り送られたリクエストを入力ポートと同じ出力ポートへ
通過させる。ライトアクセス時には、リクエストを全て
の通信レジスタモジュール320へブロードキャストす
る。この時、リクエストフォーマットは、変更されるこ
となく、各通信レジスタモジュール320へ送られる。
テスト&セットアクセス時には、テストを行う通信レジ
スタアドレスに該当する実通信レジスタが存在する通信
レジスタモジュールに対して、そのリクエストをルーテ
ィングする。さらに、テスト&セットアクセスの結果、
ロック確保に成功したならば、その結果を全通信レジス
タモジュール320にブロードキャストする。
【0052】各通信レジスタモジュール320はネット
ワークインターフェース回路330から到着したリクエ
ストに対し、リクエストコードフィールド802で示さ
れた処理内容をアドレスフィールド803で示された通
信レジスタのワードに対し、アクセスを実行する。
【0053】この第2の実施例では、各通信レジスタモ
ジュール320において、ブロードキャストによるデク
リメントとチェック処理とが競合する場合には、ネット
ワークインターフェース回路330がブロードキャスト
の方を優先するように制御する。
【0054】以上の構成により、第2の実施例におい
て、通信レジスタアクセスは次のように処理される。リ
ードアクセスならば、アクセスを発行したプロセッサと
同一のモジュール番号を有する通信レジスタモジュール
に対して、リードアクセスが行われる。このとき各通信
レジスタは、実セットかコピーセットかの区別無く、ア
クセスされることになる。
【0055】ライトアクセスならば、ネットワークイン
タフェース回路330によってブロードキャストされた
後、同一アドレスの各通信レジスタモジュール320に
ライトされる。
【0056】テスト&セット命令ならば、テストを行う
通信レジスタアドレスに該当する実通信レジスタが存在
する通信レジスタモジュールに対して、テスト処理を行
う。テストの結果、ロック確保失敗ならばテスト結果を
プロセッサに返却する。ロック確保成功ならば、ロック
ビットのライト動作を実通信レジスタに対し行い、ま
た、同一アドレスの全ての通信レジスタコピーに対し、
ネットワークインタフェース回路330を経由してロッ
クビットのライト処理を行う。
【0057】このように、本発明の第2の実施例によれ
ば、各プロセッサに専用の通信レジスタモジュール32
0を設けて、それらに書き込みが発生した際にはネット
ワークインタフェース回路330を介してその書き込み
をブロードキャストすることにより、各プロセッサ10
0から同時にチェック動作を行えるようになり、このチ
ェック動作に要する時間を短縮することができる。
【0058】次に本発明の第3の実施例について説明す
る。この第3の実施例では、通信レジスタ装置300の
内部構成が以下のように異なる点以外は、上記他の実施
例と同様の構成を有している。
【0059】図7を参照すると、本発明の第3の実施例
における通信レジスタ装置300は、n個の通信レジス
タモジュール320を有している点は他の実施例と同様
であるが、この通信レジスタモジュール320同士を結
合する通信レジスタネットワーク340を有する点で他
の実施例とは異なる。
【0060】この第3の実施例では、通信レジスタモジ
ュール320は各々2ポートを有しており、同時に最大
2つまでのアクセスを許容できる。
【0061】ある通信レジスタモジュール320にデー
タの書き込みが行われると、そのサイクルにおいて、他
の通信レジスタモジュール内の対応するワードに同一内
容のデータが書き込まれる。本実施例においては、通信
レジスタネットワーク340がその書き込みを制御す
る。また、各通信レジスタモジュール320において、
ブロードキャストによるデクリメントとチェック処理と
が競合する場合には、通信レジスタネットワーク340
がブロードキャストの方を優先するように制御する。
【0062】図8を参照すると、本発明の第3の実施例
では、同一サイクルにおいて1つのデクリメントと1つ
以上のチェックとが許容される。すなわち、第1サイク
ル目でデクリメントを終えた通信レジスタモジュール#
1に対しては、第2サイクル目以降はチェック処理のた
めのアクセスが行われる。その後全通信レジスタモジュ
ールでデクリメントが行われると、全プロセッサが同期
を完了したことになる。そのため、第5サイクル目では
全ての通信レジスタモジュールにおいて同時にチェック
が行われ、その結果全プロセッサが同期を完了したこと
を確認することができる。
【0063】以上の構成により、第3の実施例におい
て、通信レジスタアクセスは次のように処理される。リ
ードアクセスならば、アクセスを発行したプロセッサと
同一のモジュール番号を有する通信レジスタモジュール
に対して、リードアクセスが行われる。このとき各通信
レジスタは、実セットかコピーセットかの区別無く、ア
クセスされることになる。
【0064】ライトアクセスならば、通信レジスタネッ
トワーク340によってブロードキャストされた後、同
一アドレスの各通信レジスタモジュール320にライト
される。
【0065】テスト&セット命令ならば、テストを行う
通信レジスタアドレスに該当する実通信レジスタが存在
する通信レジスタモジュールに対して、テスト処理を行
う。テストの結果、ロック確保失敗ならばテスト結果を
プロセッサに返却する。ロック確保成功ならば、ロック
ビットのライト動作を実通信レジスタに対し行い、ま
た、同一アドレスの全ての通信レジスタコピーに対し、
通信レジスタネットワーク340を経由してロックビッ
トのライト処理を行う。
【0066】このように、本発明の第3の実施例によれ
ば、各プロセッサに専用の通信レジスタモジュール32
0を設けて、それらに書き込みが発生した際には通信レ
ジスタネットワーク340を介してその書き込みをブロ
ードキャストすることにより、各プロセッサ100から
同時にチェック動作を行えるようになり、このチェック
動作に要する時間を短縮することができる。
【0067】
【発明の効果】以上説明したように本発明によれば、通
信レジスタの参照に伴うプロセッサ間の緩衝を削減する
ことができる。また、これにより、通信レジスタを介し
た同期制御、排他制御、または、通信制御を高速化する
ことができる。
【図面の簡単な説明】
【図1】本発明のマルチプロセッサシステムの全体構成
を示す図である。
【図2】本発明の一実施例における通信レジスタ装置の
構成を示す図である。
【図3】本発明の一実施例における通信レジスタ装置内
の通信レジスタモジュールの構成を示す図である。
【図4】本発明の一実施例における相互結合ネットワー
クを通るリクエストのフォーマットを示す図である。
【図5】本発明の第1の実施例および第2の実施例にお
けるタイムチャートである。
【図6】本発明の第2の実施例における通信レジスタ装
置の構成を示す図である。
【図7】本発明の第3の実施例における通信レジスタ装
置の構成を示す図である。
【図8】本発明の第3の実施例におけるタイムチャート
である。
【図9】バリア同期を実現するプログラムの一例であ
る。
【図10】従来のマルチプロセッサシステムによるタイ
ムチャートである。
【符号の説明】
100 プロセッサ 200 相互結合ネットワーク 300 通信レジスタ装置 301 通信レジスタメモリ 302 ライトレジスタ 303 アドレスレジスタ 304 リードレジスタ 305 ライト指示レジスタ 306 リード指示レジスタ 310 通信レジスタ制御回路 311 リクエストパケット制御回路 312 リプライパケット制御回路 320 通信レジスタモジュール 330 ネットワークインタフェース回路 340 通信レジスタネットワーク 400 記憶装置

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 N個(Nは整数)のプロセッサと、記憶
    装置と、通信レジスタ装置と、これらプロセッサと記憶
    装置と通信レジスタ装置を相互に結合する相互結合ネッ
    トワークとを含むマルチプロセッサシステムにおいて、 前記通信レジスタ装置は、N個の通信レジスタモジュー
    ルを含み、これら通信レジスタモジュールの各々は互い
    に各語が同一内容を格納するように制御され、かつ、専
    ら1つの特定のプロセッサにのみ参照されることを特徴
    とするマルチプロセッサシステム。
  2. 【請求項2】 前記相互結合ネットワークは、前記プロ
    セッサからのライトリクエストを前記N個の通信レジス
    タモジュールの全てに転送することを特徴とする請求項
    1記載のマルチプロセッサシステム。
  3. 【請求項3】 前記通信レジスタ装置は、さらにネット
    ワークインタフェース回路を含み、このネットワークイ
    ンタフェース回路は前記プロセッサからのライトリクエ
    ストを前記N個の通信レジスタモジュールの全てに転送
    することを特徴とする請求項1記載のマルチプロセッサ
    システム。
  4. 【請求項4】 前記通信レジスタ装置は、さらに通信レ
    ジスタネットワークを含み、この通信レジスタネットワ
    ークは前記プロセッサからある通信レジスタモジュール
    にライトリクエストが発生した場合には他の全ての通信
    レジスタモジュールにライトリクエストを転送すること
    を特徴とする請求項1記載のマルチプロセッサシステ
    ム。
  5. 【請求項5】 前記通信レジスタモジュールの各々は、
    さらにM語(Mは整数)からなるN個のセットに分割さ
    れ、 前記プロセッサからのリクエストがリードである場合に
    は、そのプロセッサが専有する通信レジスタモジュール
    においてリードアクセスが発生し、 前記プロセッサからのリクエストがライトである場合に
    は、当該リクエストが全ての通信レジスタモジュールに
    ブロードキャストされて、全ての通信レジスタモジュー
    ルにおいてライトアクセスが発生し、 前記プロセッサからのリクエストがテストアンドセット
    である場合には、前記通信レジスタモジュールに1から
    順番に昇順に付されたモジュール番号と前記セットに1
    から順番に昇順に付されたセット番号とが一致するセッ
    トを含む通信レジスタモジュールに対してテスト動作が
    行われ、そのテストの結果が”ロック確保失敗”ならば
    当該テスト結果が前記プロセッサに返却され、”ロック
    確保成功”ならば同一アドレスの全ての通信レジスタモ
    ジュールにおいてロックのライトアクセスが発生するこ
    とを特徴とする請求項1記載のマルチプロセッサシステ
    ム。
  6. 【請求項6】 前記通信レジスタモジュールは、同時に
    アクセス可能な複数のポートを有し、プロセッサからの
    リードアクセスと、通信レジスタネットワークを介した
    ライトアクセスとの同時アクセスを許容することを特徴
    とする請求項4記載のマルチプロセッサシステム。
JP7011127A 1994-01-28 1995-01-27 マルチプロセッサシステム Expired - Lifetime JP2731738B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7011127A JP2731738B2 (ja) 1994-01-28 1995-01-27 マルチプロセッサシステム

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP806594 1994-01-28
JP6-8065 1994-12-26
JP32263394 1994-12-26
JP6-322633 1994-12-26
JP7011127A JP2731738B2 (ja) 1994-01-28 1995-01-27 マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JPH08235137A JPH08235137A (ja) 1996-09-13
JP2731738B2 true JP2731738B2 (ja) 1998-03-25

Family

ID=27277860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7011127A Expired - Lifetime JP2731738B2 (ja) 1994-01-28 1995-01-27 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP2731738B2 (ja)

Also Published As

Publication number Publication date
JPH08235137A (ja) 1996-09-13

Similar Documents

Publication Publication Date Title
KR900006793B1 (ko) 패킷 스위치 다중 대기행렬 NxM 스위치 노오드 및 처리 방법
EP0198010B1 (en) Packet switched multiport memory nxm switch node and processing method
JP3670160B2 (ja) タスクに各リソースを割当てるための回路、複数のリソースを共用するための方法、命令を実行するためのプロセッサ、マルチタスクプロセッサ、コンピュータ命令を実行するための方法、マルチタスク方法、コンピュータプロセッサを含む装置、複数の所定のグループのタスクを実行するステップを含む方法、ネットワークデータを処理するステップを含む方法、複数のソフトウェアタスクを実行するための方法およびコンピュータプロセッサを含むネットワーク装置
US5119481A (en) Register bus multiprocessor system with shift
CA2122880C (en) Crossbar switch for multi-processor system
US5675736A (en) Multi-node network with internode switching performed within processor nodes, each node separately processing data and control messages
US6978459B1 (en) System and method for processing overlapping tasks in a programmable network processor environment
US7055151B1 (en) Systems and methods for multi-tasking, resource sharing and execution of computer instructions
US5659784A (en) Multi-processor system having communication register modules using test-and-set request operation for synchronizing communications
US5857111A (en) Return address adding mechanism for use in parallel processing system
JP2644185B2 (ja) データ処理装置
JP2001160815A (ja) 集積回路における相互接続モジュール用の接続ポート
JPH08235143A (ja) クラスタ構成の並列計算機
JP2731738B2 (ja) マルチプロセッサシステム
EP0700005B1 (en) Vector data bypass mechanism for vector computer
JP4051788B2 (ja) マルチプロセッサシステム
JP2976700B2 (ja) プロセッサ間同期制御方式
JP3982077B2 (ja) マルチプロセッサシステム
WO1991002310A1 (en) Non-busy-waiting resource control
JP2882304B2 (ja) マルチプロセッサシステム
JPH07107680B2 (ja) 並列プロセッサのプロセッサ間データ転送装置
JP3996355B2 (ja) マルチプロセッサシステム
JPH1091589A (ja) プロセッサ間同期制御装置
JP2589828B2 (ja) 複数のプロセッサと複数のメモリとを備えるデータ処理システム用中央処理ユニット
JP3704367B2 (ja) スイッチ回路

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19971125