JPH08235137A - Multiprocessor system - Google Patents

Multiprocessor system

Info

Publication number
JPH08235137A
JPH08235137A JP7011127A JP1112795A JPH08235137A JP H08235137 A JPH08235137 A JP H08235137A JP 7011127 A JP7011127 A JP 7011127A JP 1112795 A JP1112795 A JP 1112795A JP H08235137 A JPH08235137 A JP H08235137A
Authority
JP
Japan
Prior art keywords
communication register
communication
processor
register
module
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.)
Granted
Application number
JP7011127A
Other languages
Japanese (ja)
Other versions
JP2731738B2 (en
Inventor
Noriyuki Ando
憲行 安藤
Masanobu Inaba
政信 稲葉
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/en
Publication of JPH08235137A publication Critical patent/JPH08235137A/en
Application granted granted Critical
Publication of JP2731738B2 publication Critical patent/JP2731738B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PURPOSE: To speed up synchronous communication control that is performed through a communication register by reducing buffering between processors accompanying reference to the communication register. CONSTITUTION: This multiprocessor system has (n) processors 100 which process data, a storage device 400 which stores data, and a communication register device 300 for communication synchronization among the processors. Those devices are mutually coupled together through a mutually coupling network 200. The communication register device 300 is further divided into (n) communication register modules which store the same contents. Each communication register module is occupied by one processor 101 one to one and referred to at the same time. When data is written in one communication register module, its contents are broadcast to other communication register modules.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は同期通信制御機構に関
し、特にマルチプロセッサシステムにおける同期通信制
御機構に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a synchronous communication control mechanism, and more particularly to a synchronous communication control mechanism in a multiprocessor system.

【0002】[0002]

【従来の技術】マルチプロセッサシステムにおいては、
各プロセッサ間の同期制御、排他制御、または、通信制
御のための共有変数を保持するために、通信レジスタと
よばれる高速な共有のレジスタを使用する場合がある。
この通信レジスタは、記憶装置と比較してアクセスタイ
ムが短く、または、スループットが高いことが要求され
る。各プロセッサはこの通信レジスタを介して通信を行
うことによって処理を高速化することができる。これら
同期制御、排他制御、または、通信制御においては、マ
ルチプロセッサシステムが十分な並列度を得られ難いた
め、並列度が高くなるに従ってこれら制御の全体の性能
に及ぼす影響は非常に大きくなる。従って、通信レジス
タ構成が、マルチプロセッサシステムの性能向上に及ぼ
す効果は非常に大きい。
2. Description of the Related Art In a multiprocessor system,
A high-speed shared register called a communication register may be used to hold a shared variable for synchronous control, exclusive control, or communication control between processors.
This communication register is required to have a short access time or a high throughput as compared with a storage device. Each processor can speed up the process by communicating via this communication register. In the synchronous control, the exclusive control, or the communication control, it is difficult for the multiprocessor system to obtain a sufficient degree of parallelism, so that the higher the degree of parallelism, the greater the effect on the overall performance of these controls. Therefore, the communication register configuration has a great effect on improving the performance of the multiprocessor system.

【0003】ここで同期制御の一例としてバリア同期に
ついて説明する。バリア同期とは、全プロセッサがバリ
ア同期ルーチンを実行するまで、各プロセッサがこのル
ーチンで待ち合わせをする処理をいう。図9にそのルー
チンを示す。但し、初期値としてワード#0の通信レジス
タにはバリア同期を行うプロセッサ数が格納され、ワー
ド#1の通信レジスタには非零値、また、スカラレジスタ
S0,S1には0値が格納されているものとする。
Barrier synchronization will be described as an example of synchronization control. Barrier synchronization is a process in which each processor waits in this routine until all the processors execute the barrier synchronization routine. FIG. 9 shows the routine. However, as the initial value, the communication register of word # 0 stores the number of processors that perform barrier synchronization, the communication register of word # 1 has a non-zero value, and a scalar register.
It is assumed that 0 value is stored in S0 and S1.

【0004】各命令の意味は以下の通りである。The meaning of each instruction is as follows.

【0005】FDCR S0,CR#0:通信レジスタの#0ワードの
値をスカラレジスタS0に格納した後、通信レジスタの#0
ワードの値を-1減する。
FDCR S0, CR # 0: The value of the # 0 word of the communication register is stored in the scalar register S0 and then the # 0 of the communication register
Decrement the word value by -1.

【0006】BL S0,loop1:スカラレジスタS0の値が0
値を越えるならば、loop1に分岐する。
BL S0, loop1: The value of the scalar register S0 is 0
If it exceeds the value, it branches to loop1.

【0007】SCR S1,CR#1 :スカラレジスタS1の値を通
信レジスタの#1ワードに格納する。
SCR S1, CR # 1: The value of the scalar register S1 is stored in the # 1 word of the communication register.

【0008】B loopend :無条件にloopendにジャン
プする。
B loopend: Unconditionally jump to loopend.

【0009】LCR S2,CR#1 :通信レジスタの#1ワードの
値をスカラレジスタS2に格納する。
LCR S2, CR # 1: The value of the # 1 word of the communication register is stored in the scalar register S2.

【0010】BNE S2,loop1:スカラレジスタS0の値が0
値以外ならば、loop1に分岐する。
BNE S2, loop1: The value of scalar register S0 is 0
If it is not a value, branch to loop1.

【0011】各プロセッサがバリアルーチンに入ると、
まず、通信レジスタワード#0の値をS0に退避して、デク
リメントする。通信レジスタの#0ワードにはプロセッサ
数が初期値として入っているので、全プロセッサがこの
ルーチンに入れば通信レジスタの#0ワードの値は0値に
なる。最後にこのルーチンに入ったプロセッサ以外はlo
op1に飛び、最後のプロセッサがルーチンに入るまで、
ここのループで待つことになる。最後のプロセッサか否
かはFDCR命令が読んできた通信レジスタの#0ワードの値
を見れば判別でき、最後ならば通信レジスタの#1ワード
に対し零値を書き込むことにより、これを他のプロセッ
サに通知する。
When each processor enters the barrier routine,
First, the value of communication register word # 0 is saved in S0 and decremented. The # 0 word of the communication register contains the number of processors as an initial value, so if all the processors enter this routine, the value of the # 0 word of the communication register will be zero. Lo except for the processor that last entered this routine
jump to op1 and until the last processor enters the routine,
You'll be waiting in a loop here. Whether or not it is the last processor can be determined by looking at the value of the # 0 word of the communication register that the FDCR instruction has read, and if it is the last processor, write a zero value to the # 1 word of the communication register to make it the other processor. To notify.

【0012】[0012]

【発明が解決しようとする課題】上述の従来のマルチプ
ロセッサシステムにおいては、複数個のプロセッサが発
行する複数個の通信レジスタアクセスリクエストのう
ち、通信レジスタ装置にアクセスできるリクエストの個
数は同時に1つに限られる。このことが、通信レジスタ
を用いた同期、排他、通信制御において大きなオーバヘ
ッドを生む要因になりうる。
In the above-described conventional multiprocessor system, the number of requests that can access the communication register device is one at a time among the plurality of communication register access requests issued by the plurality of processors. Limited This can cause a large overhead in synchronization, exclusion, and communication control using the communication register.

【0013】この場合、最後のプロセッサを除くプロセ
ッサは、FDCR命令を実行した後、最後のプロセッサが#1
ワードの値を零値にするまで、loop1内のLCR命令を繰り
返し実行することになる。この繰り返し実行のことをス
ピンロックという。スピンロックはルーチンに入った各
プロセッサ全てが実行するので、通信レジスタアクセス
が集中することになり、大きなアクセス競合が発生す
る。このアクセス競合により、新たにバリア同期ルーチ
ンに入ったプロセッサが実行するFDCR命令アクセスが、
最悪のケースではスピンロックしている既にバリア同期
待ちをしているプロセッサ分待たされてしまうことにな
る。
In this case, the processors other than the last processor execute the FDCR instruction, and then the last processor becomes # 1.
The LCR instruction in loop1 will be repeatedly executed until the word value becomes zero. This repeated execution is called a spin lock. Since the spin lock is executed by all the processors that have entered the routine, the communication register access is concentrated and a large access conflict occurs. Due to this access conflict, the FDCR instruction access executed by the processor newly entering the barrier synchronization routine is
In the worst case, the spin-locked processors will be kept waiting for the processors already waiting for the barrier synchronization.

【0014】図10を参照すると、4つのプロセッサに
より上述のバリア同期をとる際には、まず各プロセッサ
が逐次的に通信レジスタの#0ワードを減じ、その後各プ
ロセッサが終了したか否かをチェックする。したがっ
て、この4つのプロセッサによる場合には、同期終了ま
で8サイクルを要する。すなわち、N個のプロセッサで
は、(2×N)サイクルを要することになる。
Referring to FIG. 10, when the above-mentioned barrier synchronization is performed by four processors, first, each processor sequentially decreases the # 0 word of the communication register, and then it is checked whether or not each processor has ended. To do. Therefore, in the case of using these four processors, it takes eight cycles to complete the synchronization. That is, N processors require (2 × N) cycles.

【0015】本発明の目的は、上述した問題点を解決
し、通信レジスタを介した同期通信制御を高速化するこ
とにある。
An object of the present invention is to solve the above-mentioned problems and to speed up synchronous communication control via a communication register.

【0016】また、本発明の他の目的は、通信レジスタ
の参照に伴うプロセッサ間の緩衝を削減することにあ
る。
Another object of the present invention is to reduce the buffering between processors due to the reference of the communication register.

【0017】[0017]

【課題を解決するための手段】上記課題を解決するため
に本発明のマルチプロセッサシステムは、N個(Nは整
数)のプロセッサと、記憶装置と、通信レジスタ装置
と、これらプロセッサと記憶装置と通信レジスタ装置を
相互に結合する相互結合ネットワークとを含むマルチプ
ロセッサシステムにおいて、前記通信レジスタ装置は、
N個の通信レジスタモジュールを含み、これら通信レジ
スタモジュールの各々は互いに各語が同一内容を格納す
るように制御され、かつ、専ら1つの特定のプロセッサ
にのみ参照される。
In order to solve the above-mentioned problems, a multiprocessor system according to the present invention comprises N (N is an integer) processors, a memory device, a communication register device, and these processors and memory devices. In a multiprocessor system including an interconnected network for interconnecting communication register devices, said communication register device comprises:
It includes N communication register modules, each of which is controlled such that each word stores the same content, and is referenced exclusively by one particular processor.

【0018】また、本発明の他のマルチプロセッサシス
テムにおいて、前記相互結合ネットワークは、前記プロ
セッサからのライトリクエストを前記N個の通信レジス
タモジュールの全てに転送する。
Further, in another multiprocessor system of the present invention, the mutual coupling network transfers a write request from the processor to all of the N communication register modules.

【0019】また、本発明の他のマルチプロセッサシス
テムにおいて、前記通信レジスタ装置は、さらにネット
ワークインタフェース回路を含み、このネットワークイ
ンタフェース回路は前記プロセッサからのライトリクエ
ストを前記N個の通信レジスタモジュールの全てに転送
する。
Further, in another multiprocessor system of the present invention, the communication register device further includes a network interface circuit, and the network interface circuit sends a write request from the processor to all of the N communication register modules. Forward.

【0020】また、本発明の他のマルチプロセッサシス
テムにおいて、前記通信レジスタ装置は、さらに通信レ
ジスタネットワークを含み、この通信レジスタネットワ
ークは前記プロセッサからある通信レジスタモジュール
にライトリクエストが発生した場合には他の全ての通信
レジスタモジュールにライトリクエストを転送する。
Further, in another multiprocessor system of the present invention, the communication register device further includes a communication register network, and the communication register network is provided when a write request is issued from the processor to a communication register module. The write request is transferred to all communication register modules of.

【0021】また、本発明の他のマルチプロセッサシス
テムにおいて、前記通信レジスタモジュールの各々は、
さらにM語(Mは整数)からなるN個のセットに分割さ
れ、前記プロセッサからのリクエストがリードである場
合には、そのプロセッサが専有する通信レジスタモジュ
ールにおいてリードアクセスが発生し、前記プロセッサ
からのリクエストがライトである場合には、当該リクエ
ストが全ての通信レジスタモジュールにブロードキャス
トされて、全ての通信レジスタモジュールにおいてライ
トアクセスが発生し、前記プロセッサからのリクエスト
がテストアンドセットである場合には、前記通信レジス
タモジュールに1から順番に昇順に付されたモジュール
番号と前記セットに1から順番に昇順に付されたセット
番号とが一致するセットを含む通信レジスタモジュール
に対してテスト動作が行われ、そのテストの結果が”ロ
ック確保失敗”ならば当該テスト結果が前記プロセッサ
に返却され、”ロック確保成功”ならば同一アドレスの
全ての通信レジスタモジュールにおいてロックのライト
アクセスが発生する。
Further, in another multiprocessor system of the present invention, each of the communication register modules is
Furthermore, when the request from the processor is divided into N sets of M words (M is an integer), a read access occurs in the communication register module that the processor owns, and If the request is a write, the request is broadcast to all communication register modules, write access occurs in all the communication register modules, and if the request from the processor is test and set, A test operation is performed on a communication register module including a set in which the module numbers assigned to the communication register module in ascending order from 1 and the set numbers assigned to the set in ascending order from 1 match, and The result of the test is "Lock acquisition failure" If the test results are returned to the processor, the lock write access for all communication registers module "lock ensuring successful" if the same address is generated.

【0022】また、本発明の他のマルチプロセッサシス
テムにおいて、前記通信レジスタモジュールは、同時に
アクセス可能な複数のポートを有し、プロセッサからの
リードアクセスと、通信レジスタネットワークを介した
ライトアクセスとの同時アクセスを許容する。
Further, in another multiprocessor system of the present invention, the communication register module has a plurality of ports that can be accessed at the same time, and the read access from the processor and the write access via the communication register network are simultaneously performed. Allow access.

【0023】[0023]

【実施例】次に本発明の一実施例について図面を参照し
て詳細に説明する。
An embodiment of the present invention will now be described in detail with reference to the drawings.

【0024】図1を参照すると、本発明の一実施例のマ
ルチプロセッサシステムは、データの処理を行うn台の
プロセッサ100と、データを記憶する記憶装置400
と、プロセッサ間の通信同期のための通信レジスタ装置
300とを有し、これらは相互結合ネットワーク200
を介して相互に結合されている。
Referring to FIG. 1, a multiprocessor system according to an embodiment of the present invention includes n processors 100 for processing data and a storage device 400 for storing the data.
And a communication register device 300 for communication synchronization between processors, which are connected to each other by the interconnection network 200.
Are connected to each other via.

【0025】プロセッサ100は、相互結合ネットワー
クに対して各々1ポートのアクセスポートを有してい
る。また、記憶装置400は、全体で1ポートのアクセ
スポートを有しているものとする。
The processor 100 has one access port each for the interconnection network. The storage device 400 is assumed to have an access port of 1 port as a whole.

【0026】図2を参照すると、通信レジスタ装置30
0は、さらにn個の通信レジスタモジュール320に分
割されている。これら通信レジスタモジュール320の
各々には互いに一意に識別可能なモジュール番号という
識別子が付されている。図中、このモジュール番号を#
1等と表す。通信レジスタモジュール320は、相互結
合ネットワークに対して各々1ポートのアクセスポート
を有している。
Referring to FIG. 2, the communication register device 30.
0 is further divided into n communication register modules 320. Each of these communication register modules 320 is provided with an identifier called a module number that can uniquely identify each other. In the figure, change this module number to #
Expressed as 1 mag. The communication register modules 320 each have one access port for the interconnection network.

【0027】図1を参照すると、相互結合ネットワーク
200は各プロセッサに対し合計nポート、各通信レジ
スタ装置に対して合計nポート、主記憶装置に対して1
ポートのアクセスポートを持っている。アクセスポート
間にはアクセスパスが張られ、このアクセスパス上をア
クセスリクエストが流れる。また他の構成として、アク
セススループット向上を目的にアクセスポート、アクセ
スパスを多重に持つ構成も考えられる。例えば、主記憶
装置、相互結合ネットワーク間において、n本のアクセ
スパスを張る構成等がある。
Referring to FIG. 1, the interconnection network 200 has a total of n ports for each processor, a total of n ports for each communication register device, and one for main memory.
Have a port access port. An access path is set up between the access ports, and an access request flows on this access path. Further, as another configuration, a configuration having multiple access ports and access paths for the purpose of improving access throughput can be considered. For example, there is a configuration in which n access paths are set up between the main storage device and the mutual connection network.

【0028】プロセッサ100が記憶装置400または
通信レジスタ装置300にアクセスを行う場合、プロセ
ッサ100はリクエストパケットを生成して、これをア
クセスパスを通じて相互結合ネットワーク200に送出
する。相互結合ネットワーク200は複数個のプロセッ
サ100から送られて来る複数個のリクエストパケット
同士の競合を調停し、各リクエストパケットの行き先で
ある記憶装置400または通信レジスタ装置300にル
ーティングし、各々にアクセスパスを通じてリクエスト
パケットを送出する。記憶装置400または通信レジス
タ装置300に到着したリクエストパケットは、各装置
内でリードアクセス、もしくはライトアクセスが行われ
る。また、リードアクセスの場合は、再び相互結合ネッ
トワークを介してプロセッサにリードデータが返却され
る。
When the processor 100 accesses the storage device 400 or the communication register device 300, the processor 100 generates a request packet and sends it to the interconnection network 200 through the access path. The interconnection network 200 arbitrates the competition between a plurality of request packets sent from a plurality of processors 100, routes the request packets to the storage device 400 or the communication register device 300, which is the destination of each request packet, and provides an access path to each. To send the request packet. The request packet arriving at the storage device 400 or the communication register device 300 is read-accessed or write-accessed in each device. Further, in the case of read access, read data is returned to the processor via the mutual coupling network again.

【0029】図4を参照すると、相互結合ネットワーク
200を流れるリクエストパケットのフォーマットは、
アクセス先が記憶装置400なのか通信レジスタ装置3
00なのかを示すアクセス種別フィールド801と、ア
クセスがロードなのかストアなのか等を示すコードフィ
ールド802と、記憶装置400内のアドレスまたは通
信レジスタ300内のアドレスを示すアドレスフィール
ド803と、ライトデータ用のデータフィールド804
とから構成されている。ロードアクセスの場合は、読み
出されたデータがデータフィールドに保持され、相互結
合ネットワーク200を介してプロセッサ100に返却
される。
Referring to FIG. 4, the format of the request packet flowing through the interconnection network 200 is as follows.
Whether the access destination is the storage device 400 or the communication register device 3
Access type field 801 indicating whether it is 00, a code field 802 indicating whether the access is a load or a store, an address field 803 indicating an address in the storage device 400 or an address in the communication register 300, and a write data Data field 804
It consists of and. In the case of load access, the read data is held in the data field and returned to the processor 100 via the interconnection network 200.

【0030】相互結合ネットワーク200には、様々な
ネットワーク構成が適用できるが、プロセッサ100か
ら通信レジスタ装置300へのリクエストと、それとは
別のプロセッサ100から別の通信レジスタ装置300
へのリクエストとが同時にアクセスポートに到達した時
に、ブロッキングが発生しないようなネットワーク構成
が望ましい。例えば、ノンブロッキング型のクロスバー
スイッチ等は望ましい構成の一つである。
Various network configurations can be applied to the interconnection network 200, but a request from the processor 100 to the communication register device 300 and another processor 100 to another communication register device 300.
It is desirable to have a network configuration in which blocking does not occur when requests to the access port arrive at the access port at the same time. For example, a non-blocking type crossbar switch or the like is one of the desirable configurations.

【0031】図3を参照すると、通信レジスタ装置30
0内の各通信レジスタモジュール320は、複数個のワ
ードより構成される通信レジスタメモリ301と、通信
レジスタメモリ301へライトデータを供給するライト
レジスタ302と、通信レジスタメモリ301へアドレ
スを供給するアドレスレジスタ303と、通信レジスタ
メモリ301からリードされたデータを保持するリード
レジスタ304と、通信レジスタメモリ301にライト
を指示するライト指示レジスタ305と、通信レジスタ
メモリ301にリードを指示するリード指示レジスタ3
06と、相互結合ネットワーク200からのリクエスト
パケットを分解して各部に配布するリクエストパケット
制御回路311と、通信レジスタメモリ301へのアク
セスを制御する通信レジスタ制御回路310と、相互結
合ネットワーク200へのリプライパケットを生成する
リプライパケット制御回路312とを含んでいる。
Referring to FIG. 3, the communication register device 30.
Each communication register module 320 in 0 has a communication register memory 301 composed of a plurality of words, a write register 302 for supplying write data to the communication register memory 301, and an address register for supplying an address to the communication register memory 301. 303, a read register 304 that holds the data read from the communication register memory 301, a write instruction register 305 that instructs the communication register memory 301 to write, and a read instruction register 3 that instructs the communication register memory 301 to read.
06, a request packet control circuit 311 for decomposing request packets from the mutual connection network 200 and distributing them to each unit, a communication register control circuit 310 for controlling access to the communication register memory 301, and a reply to the mutual connection network 200. And a reply packet control circuit 312 for generating a packet.

【0032】通信レジスタメモリ301は0番地から連
続的にアドレス番号が振られている。プロセッサ100
からの通信レジスタアクセスでは、この通信レジスタア
ドレスを指定することにより、アクセスする通信レジス
タのワード位置を定める。
Address numbers are continuously assigned to the communication register memory 301 from address 0. Processor 100
In the communication register access from, the word position of the communication register to be accessed is determined by designating this communication register address.

【0033】通信レジスタメモリ301の各ワードに格
納されるデータの内容については自由に定めることがで
きる。単に同期のために使用するのであれば、ワードの
一部のビットまたは全部を同期用フラグとして使用して
もよい。また、最上位ビットのみを同期用フラグとして
使用して、残りのビットをプロセッサ間で受け渡すデー
タの格納用として使用してもよい。
The contents of the data stored in each word of the communication register memory 301 can be freely determined. If only used for synchronization, some or all of the bits of the word may be used as a synchronization flag. Alternatively, only the most significant bit may be used as a synchronization flag and the remaining bits may be used for storing data to be transferred between processors.

【0034】通信レジスタメモリ301に対してライト
を行う場合、ライト指示レジスタ305を1値に設定
し、ライトするワードのアドレスをアドレスレジスタ3
03に設定し、ライトするデータをライトレジスタ30
2に設定する。次のタイミングで、ライトレジスタ30
2の値は、通信レジスタメモリ301の、アドレスレジ
スタ303で指定されたワードに書き込まれる。
When writing to the communication register memory 301, the write instruction register 305 is set to one value and the address of the word to be written is set to the address register 3.
03, write data to be written to the write register 30
Set to 2. At the next timing, the write register 30
The value of 2 is written in the word specified by the address register 303 in the communication register memory 301.

【0035】通信レジスタメモリ301に対してリード
を行う場合、リード指示レジスタ306を1値に設定
し、リードするワードのアドレスをアドレスレジスタ3
03に設定する。次のタイミングで、通信レジスタメモ
リ301の、アドレスレジスタ303で指定されたワー
ドからデータが読み出され、リードレジスタ304へ保
持される。
When reading from the communication register memory 301, the read instruction register 306 is set to one value, and the address of the word to be read is set in the address register 3.
Set to 03. At the next timing, data is read from the word designated by the address register 303 in the communication register memory 301 and held in the read register 304.

【0036】通信レジスタメモリ301の周辺のこれら
のレジスタは、通信レジスタ制御回路310が制御す
る。
These registers around the communication register memory 301 are controlled by the communication register control circuit 310.

【0037】リクエストパケット制御回路311は、相
互結合ネットワーク200より到着するリクエストパケ
ットに対する処理を行う。相互結合ネットワーク200
よりリクエストパケットを受け取ったならば、リクエス
トコードフィールド802をデコードし、ロードアクセ
スなのかストアアクセスなのかも判断する。このデコー
ド結果は通信レジスタ制御回路310に送られる。リプ
ライパケット制御回路312は、リードレジスタに保持
されたデータをパケットのデータフィールド804に格
納して、相互結合ネットワーク200に対するリプライ
パケットとして構成する。
The request packet control circuit 311 processes a request packet arriving from the mutual coupling network 200. Interconnection network 200
When the request packet is received, the request code field 802 is decoded and it is also determined whether it is a load access or a store access. The decoding result is sent to the communication register control circuit 310. The reply packet control circuit 312 stores the data held in the read register in the data field 804 of the packet and configures it as a reply packet for the mutual coupling network 200.

【0038】次に、通信レジスタアクセスにおける、通
信レジスタモジュール320内での処理について述べ
る。
Next, the processing in the communication register module 320 in the communication register access will be described.

【0039】ストアアクセスの場合、通信レジスタメモ
リ301は、アドレスフィールド803で示されたアド
レスのワードに、データフィールド804内のデータが
書き込まれる。即ち、ライトタイミングにおいて、アド
レスフィールド803内の通信レジスタアドレスをアド
レスレジスタ303に入れる。また、データフィールド
804内のライトデータをライトレジスタ302に入れ
る。同時にライト指示レジスタ305を1値に設定する
ことにより、次のタイミングでライトアクセスが完了す
る。
In the case of store access, the data in the data field 804 is written in the word of the address indicated by the address field 803 in the communication register memory 301. That is, at the write timing, the communication register address in the address field 803 is put into the address register 303. Also, the write data in the data field 804 is put into the write register 302. At the same time, by setting the write instruction register 305 to 1 value, the write access is completed at the next timing.

【0040】ロードアクセスの場合、通信レジスタメモ
リ301は、アドレスフィールド803で示されたアド
レスのワードからデータを読み出す。即ち、リードタイ
ミングにおいて、アドレスフィールド803内の通信レ
ジスタアドレスをアドレスレジスタ303に入れ、同時
にリード指示レジスタ306を1値にする。次のタイミ
ングで、読み出されたデータがリードレジスタ304に
保持される。このリードレジスタ304の保持したデー
タをパケットのデータフィールド804に格納して、相
互結合ネットワークに対するリプライパケットとして構
成する。このリプライパケットは、相互結合ネットワー
ク200に送出される。
In the case of load access, the communication register memory 301 reads data from the word of the address indicated by the address field 803. That is, at the read timing, the communication register address in the address field 803 is put into the address register 303, and at the same time, the read instruction register 306 is set to 1 value. The read data is held in the read register 304 at the next timing. The data held by the read register 304 is stored in the data field 804 of the packet to form a reply packet for the interconnection network. This reply packet is sent to the interconnection network 200.

【0041】図2を参照すると、通信レジスタ装置30
0内の各通信レジスタモジュール320は、それぞれn
等分されている。この等分されたレジスタ群の各々をセ
ットとよぶ。このセットは1つ当たりmワードから構成
される。すなわち、各通信レジスタモジュール320
は、mワードのセットをn個づつ有している。なお、こ
のセットには互いに一意に識別可能な番号としてセット
番号が付されている。図中、このセット番号を%1等と
表す。
Referring to FIG. 2, the communication register device 30.
Each communication register module 320 in 0 has n
It is divided into equal parts. Each of these equally divided registers is called a set. This set consists of m words each. That is, each communication register module 320
Has n sets of m words each. A set number is given to this set as a number that can be uniquely identified from each other. In the figure, this set number is represented as% 1 and the like.

【0042】ここで、各通信レジスタモジュール320
において、そのモジュール番号と同じセット番号のセッ
トのことを実セットとよび、その実セットにおける通信
レジスタのことを実通信レジスタとよぶ。また、それ以
外の(n−1)個のセットのことをコピーセットとよ
び、そのセット内の通信レジスタのことを通信レジスタ
のコピーとよぶ。同一セット番号が付されたセットは、
同一の内容を格納するように制御される。例えば、通信
レジスタモジュール#1においては、%1のセットが実
セットであり、他のセットはコピーセットである。
Here, each communication register module 320
In the above, a set having the same set number as the module number is called an actual set, and a communication register in the actual set is called an actual communication register. The other (n-1) sets are called copy sets, and the communication registers in the set are called communication register copies. The sets with the same set number are
It is controlled to store the same contents. For example, in the communication register module # 1, the set of% 1 is a real set and the other sets are copy sets.

【0043】ある通信レジスタモジュール320にデー
タの書き込みが行われると、そのサイクルにおいて、他
の通信レジスタモジュール内の対応するワードに同一内
容のデータが書き込まれる。本実施例においては、相互
結合ネットワーク200がその書き込みを制御する。ま
た、各通信レジスタモジュール320において、ブロー
ドキャストによるデクリメントとチェック処理とが競合
する場合には、相互結合ネットワーク200がブロード
キャストの方を優先するように制御する。
When data is written to a certain communication register module 320, data of the same content is written to the corresponding word in another communication register module in that cycle. In this embodiment, the interconnection network 200 controls the writing. In addition, in each communication register module 320, when the decrement by broadcast and the check process conflict with each other, the mutual connection network 200 controls the broadcast to give priority to the broadcast.

【0044】図5を参照すると、本実施例において4つ
のプロセッサが同期を行う場合には、第1サイクル目で
通信レジスタモジュール#1でデクリメントが発生し、
これにより他の通信レジスタモジュールにブロードキャ
ストによる書き込みが発生する。また、第2サイクル目
では通信レジスタモジュール#2でデクリメントが発生
し、これにより他の通信レジスタモジュールにブロード
キャストによる書き込みが発生する。以降、第3サイク
ル目では通信レジスタモジュール#3について、また、
第4サイクル目では通信レジスタモジュール#4につい
て、同様の処理が行われる。そして、第5サイクル目で
は各通信レジスタモジュールにおいてチェックが行われ
て、その結果全てのプロセッサが同期した旨が確認され
る。すなわち、従来技術ではプロセッサ台数分を要して
いたチェックのフェーズが、本実施例では1サイクルで
完了することになる。
Referring to FIG. 5, when four processors are synchronized in this embodiment, decrement occurs in the communication register module # 1 in the first cycle,
As a result, writing by broadcasting occurs in another communication register module. Further, in the second cycle, decrement occurs in the communication register module # 2, which causes writing by broadcasting to other communication register modules. After that, in the third cycle, communication register module # 3,
In the fourth cycle, the same processing is performed on the communication register module # 4. Then, in the fifth cycle, a check is performed in each communication register module, and as a result, it is confirmed that all the processors are synchronized. That is, the check phase, which requires the number of processors in the conventional technique, is completed in one cycle in this embodiment.

【0045】以上の構成により、本実施例において、通
信レジスタアクセスは次のように処理される。リードア
クセスならば、アクセスを発行したプロセッサと同一の
モジュール番号を有する通信レジスタモジュールに対し
て、リードアクセスが行われる。このとき各通信レジス
タは、実セットかコピーセットかの区別無く、アクセス
されることになる。
With the above configuration, in this embodiment, the communication register access is processed as follows. In the case of read access, read access is performed to the communication register module having the same module number as the processor that issued the access. At this time, each communication register is accessed regardless of whether it is a real set or a copy set.

【0046】ライトアクセスならば、相互結合ネットワ
ーク200によってブロードキャストされた後、同一ア
ドレスの各通信レジスタモジュール320にライトされ
る。
In the case of write access, after being broadcast by the interconnection network 200, it is written in each communication register module 320 having the same address.

【0047】テスト&セット命令ならば、テストを行う
通信レジスタアドレスに該当する実通信レジスタが存在
する通信レジスタモジュールに対して、テスト処理を行
う。テストの結果、ロック確保失敗ならばテスト結果を
プロセッサに返却する。ロック確保成功ならば、ロック
ビットのライト動作を実通信レジスタに対し行い、ま
た、同一アドレスの全ての通信レジスタコピーに対し、
相互結合ネットワーク200を経由してロックビットの
ライト処理を行う。
In the case of the test & set instruction, the test process is performed on the communication register module having the actual communication register corresponding to the communication register address to be tested. If the lock is unsuccessful as a result of the test, the test result is returned to the processor. If the lock is successfully secured, the write operation of the lock bit is performed on the actual communication register, and for all communication register copies of the same address,
The lock bit write processing is performed via the mutual connection network 200.

【0048】このように、本発明の第1の実施例によれ
ば、各プロセッサに専用の通信レジスタモジュール32
0を設けて、それらに書き込みが発生した際には相互結
合ネットワーク200を介してその書き込みをブロード
キャストすることにより、各プロセッサ100から同時
にチェック動作を行えるようになり、このチェック動作
に要する時間を短縮することができる。
As described above, according to the first embodiment of the present invention, the communication register module 32 dedicated to each processor is provided.
By providing 0, and when a write occurs in them, the write is broadcast via the mutual coupling network 200, so that the check operation can be performed simultaneously from each processor 100, and the time required for this check operation is shortened. can do.

【0049】次に本発明の第2の実施例について説明す
る。この第2の実施例では、通信レジスタ装置300の
内部構成が以下のように異なる点以外は、上記第1の実
施例と同様の構成を有している。
Next, a second embodiment of the present invention will be described. The second embodiment has the same configuration as that of the first embodiment except that the internal configuration of the communication register device 300 is different as follows.

【0050】図6を参照すると、本発明の第2の実施例
における通信レジスタ装置300は、n個の通信レジス
タモジュール320を有している点は上記第1の実施例
と同様であるが、この通信レジスタモジュール320と
相互結合ネットワーク200との間にネットワークイン
タフェース回路330を有している点で第1の実施例と
は異なる。
Referring to FIG. 6, the communication register device 300 in the second embodiment of the present invention is similar to the first embodiment in that it has n communication register modules 320. It differs from the first embodiment in that a network interface circuit 330 is provided between the communication register module 320 and the interconnection network 200.

【0051】ネットワークインターフェース回路330
は、相互結合ネットワーク200と各通信レジスタモジ
ュール320間のインターフェース機構を有している。
リードアクセス時には、相互結合ネットワーク200よ
り送られたリクエストを入力ポートと同じ出力ポートへ
通過させる。ライトアクセス時には、リクエストを全て
の通信レジスタモジュール320へブロードキャストす
る。この時、リクエストフォーマットは、変更されるこ
となく、各通信レジスタモジュール320へ送られる。
テスト&セットアクセス時には、テストを行う通信レジ
スタアドレスに該当する実通信レジスタが存在する通信
レジスタモジュールに対して、そのリクエストをルーテ
ィングする。さらに、テスト&セットアクセスの結果、
ロック確保に成功したならば、その結果を全通信レジス
タモジュール320にブロードキャストする。
Network interface circuit 330
Has an interface mechanism between the interconnection network 200 and each communication register module 320.
At the time of read access, the request sent from the mutual coupling network 200 is passed to the same output port as the input port. At the time of write access, the request is broadcast to all communication register modules 320. At this time, the request format is sent to each communication register module 320 without being changed.
At the time of test & set access, the request is routed to the communication register module in which the actual communication register corresponding to the communication register address to be tested exists. In addition, as a result of test & set access,
If the lock is successfully secured, the result is broadcast to all communication register modules 320.

【0052】各通信レジスタモジュール320はネット
ワークインターフェース回路330から到着したリクエ
ストに対し、リクエストコードフィールド802で示さ
れた処理内容をアドレスフィールド803で示された通
信レジスタのワードに対し、アクセスを実行する。
Each communication register module 320 accesses the request received from the network interface circuit 330 to the processing contents shown in the request code field 802 and the word of the communication register shown in the address field 803.

【0053】この第2の実施例では、各通信レジスタモ
ジュール320において、ブロードキャストによるデク
リメントとチェック処理とが競合する場合には、ネット
ワークインターフェース回路330がブロードキャスト
の方を優先するように制御する。
In the second embodiment, in each communication register module 320, when the decrement by broadcast and the check process conflict with each other, the network interface circuit 330 controls to give priority to the broadcast.

【0054】以上の構成により、第2の実施例におい
て、通信レジスタアクセスは次のように処理される。リ
ードアクセスならば、アクセスを発行したプロセッサと
同一のモジュール番号を有する通信レジスタモジュール
に対して、リードアクセスが行われる。このとき各通信
レジスタは、実セットかコピーセットかの区別無く、ア
クセスされることになる。
With the above arrangement, in the second embodiment, the communication register access is processed as follows. In the case of read access, read access is performed to the communication register module having the same module number as the processor that issued the access. At this time, each communication register is accessed regardless of whether it is a real set or a copy set.

【0055】ライトアクセスならば、ネットワークイン
タフェース回路330によってブロードキャストされた
後、同一アドレスの各通信レジスタモジュール320に
ライトされる。
In the case of a write access, after being broadcast by the network interface circuit 330, it is written in each communication register module 320 of the same address.

【0056】テスト&セット命令ならば、テストを行う
通信レジスタアドレスに該当する実通信レジスタが存在
する通信レジスタモジュールに対して、テスト処理を行
う。テストの結果、ロック確保失敗ならばテスト結果を
プロセッサに返却する。ロック確保成功ならば、ロック
ビットのライト動作を実通信レジスタに対し行い、ま
た、同一アドレスの全ての通信レジスタコピーに対し、
ネットワークインタフェース回路330を経由してロッ
クビットのライト処理を行う。
In the case of the test & set instruction, the test process is performed on the communication register module having the actual communication register corresponding to the communication register address to be tested. If the lock is unsuccessful as a result of the test, the test result is returned to the processor. If the lock is successfully secured, the write operation of the lock bit is performed on the actual communication register, and for all communication register copies of the same address,
The lock bit write processing is performed via the network interface circuit 330.

【0057】このように、本発明の第2の実施例によれ
ば、各プロセッサに専用の通信レジスタモジュール32
0を設けて、それらに書き込みが発生した際にはネット
ワークインタフェース回路330を介してその書き込み
をブロードキャストすることにより、各プロセッサ10
0から同時にチェック動作を行えるようになり、このチ
ェック動作に要する時間を短縮することができる。
As described above, according to the second embodiment of the present invention, the communication register module 32 dedicated to each processor is used.
0 is provided, and when a write occurs in them, the write is broadcast via the network interface circuit 330, so that each processor 10
The check operation can be performed simultaneously from 0, and the time required for this check operation can be shortened.

【0058】次に本発明の第3の実施例について説明す
る。この第3の実施例では、通信レジスタ装置300の
内部構成が以下のように異なる点以外は、上記他の実施
例と同様の構成を有している。
Next, a third embodiment of the present invention will be described. The third embodiment has the same configuration as the other embodiments described above, except that the internal configuration of the communication register device 300 is different as follows.

【0059】図7を参照すると、本発明の第3の実施例
における通信レジスタ装置300は、n個の通信レジス
タモジュール320を有している点は他の実施例と同様
であるが、この通信レジスタモジュール320同士を結
合する通信レジスタネットワーク340を有する点で他
の実施例とは異なる。
Referring to FIG. 7, the communication register device 300 according to the third embodiment of the present invention is similar to the other embodiments in that it has n communication register modules 320. It differs from the other embodiments in having a communication register network 340 that couples the register modules 320 together.

【0060】この第3の実施例では、通信レジスタモジ
ュール320は各々2ポートを有しており、同時に最大
2つまでのアクセスを許容できる。
In this third embodiment, the communication register modules 320 each have two ports, and can simultaneously allow up to two accesses.

【0061】ある通信レジスタモジュール320にデー
タの書き込みが行われると、そのサイクルにおいて、他
の通信レジスタモジュール内の対応するワードに同一内
容のデータが書き込まれる。本実施例においては、通信
レジスタネットワーク340がその書き込みを制御す
る。また、各通信レジスタモジュール320において、
ブロードキャストによるデクリメントとチェック処理と
が競合する場合には、通信レジスタネットワーク340
がブロードキャストの方を優先するように制御する。
When data is written to a certain communication register module 320, data of the same content is written to the corresponding word in another communication register module in that cycle. In this embodiment, the communication register network 340 controls the writing. In each communication register module 320,
If there is a conflict between the decrement by broadcast and the check processing, the communication register network 340
Controls that the broadcast has priority.

【0062】図8を参照すると、本発明の第3の実施例
では、同一サイクルにおいて1つのデクリメントと1つ
以上のチェックとが許容される。すなわち、第1サイク
ル目でデクリメントを終えた通信レジスタモジュール#
1に対しては、第2サイクル目以降はチェック処理のた
めのアクセスが行われる。その後全通信レジスタモジュ
ールでデクリメントが行われると、全プロセッサが同期
を完了したことになる。そのため、第5サイクル目では
全ての通信レジスタモジュールにおいて同時にチェック
が行われ、その結果全プロセッサが同期を完了したこと
を確認することができる。
Referring to FIG. 8, in the third embodiment of the present invention, one decrement and one or more checks are permitted in the same cycle. That is, the communication register module # that has been decremented in the first cycle
1 is accessed for check processing in the second and subsequent cycles. When all the communication register modules are decremented after that, all the processors have completed the synchronization. Therefore, in the fifth cycle, all the communication register modules are checked at the same time, and as a result, it can be confirmed that all the processors have completed the synchronization.

【0063】以上の構成により、第3の実施例におい
て、通信レジスタアクセスは次のように処理される。リ
ードアクセスならば、アクセスを発行したプロセッサと
同一のモジュール番号を有する通信レジスタモジュール
に対して、リードアクセスが行われる。このとき各通信
レジスタは、実セットかコピーセットかの区別無く、ア
クセスされることになる。
With the above configuration, in the third embodiment, the communication register access is processed as follows. In the case of read access, read access is performed to the communication register module having the same module number as the processor that issued the access. At this time, each communication register is accessed regardless of whether it is a real set or a copy set.

【0064】ライトアクセスならば、通信レジスタネッ
トワーク340によってブロードキャストされた後、同
一アドレスの各通信レジスタモジュール320にライト
される。
In the case of write access, after being broadcast by the communication register network 340, it is written to each communication register module 320 having the same address.

【0065】テスト&セット命令ならば、テストを行う
通信レジスタアドレスに該当する実通信レジスタが存在
する通信レジスタモジュールに対して、テスト処理を行
う。テストの結果、ロック確保失敗ならばテスト結果を
プロセッサに返却する。ロック確保成功ならば、ロック
ビットのライト動作を実通信レジスタに対し行い、ま
た、同一アドレスの全ての通信レジスタコピーに対し、
通信レジスタネットワーク340を経由してロックビッ
トのライト処理を行う。
In the case of the test & set instruction, the test process is performed on the communication register module having the actual communication register corresponding to the communication register address to be tested. If the lock is unsuccessful as a result of the test, the test result is returned to the processor. If the lock is successfully secured, the write operation of the lock bit is performed on the actual communication register, and for all communication register copies of the same address,
The lock bit write processing is performed via the communication register network 340.

【0066】このように、本発明の第3の実施例によれ
ば、各プロセッサに専用の通信レジスタモジュール32
0を設けて、それらに書き込みが発生した際には通信レ
ジスタネットワーク340を介してその書き込みをブロ
ードキャストすることにより、各プロセッサ100から
同時にチェック動作を行えるようになり、このチェック
動作に要する時間を短縮することができる。
As described above, according to the third embodiment of the present invention, the communication register module 32 dedicated to each processor is used.
By providing 0, and when writing to them occurs, the writing is broadcast via the communication register network 340, so that each processor 100 can simultaneously perform the checking operation, and the time required for this checking operation is shortened. can do.

【0067】[0067]

【発明の効果】以上説明したように本発明によれば、通
信レジスタの参照に伴うプロセッサ間の緩衝を削減する
ことができる。また、これにより、通信レジスタを介し
た同期制御、排他制御、または、通信制御を高速化する
ことができる。
As described above, according to the present invention, it is possible to reduce the buffering between processors due to the reference of the communication register. Further, this makes it possible to speed up the synchronous control, the exclusive control, or the communication control via the communication register.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明のマルチプロセッサシステムの全体構成
を示す図である。
FIG. 1 is a diagram showing an overall configuration of a multiprocessor system of the present invention.

【図2】本発明の一実施例における通信レジスタ装置の
構成を示す図である。
FIG. 2 is a diagram showing a configuration of a communication register device according to an embodiment of the present invention.

【図3】本発明の一実施例における通信レジスタ装置内
の通信レジスタモジュールの構成を示す図である。
FIG. 3 is a diagram showing a configuration of a communication register module in the communication register device in the embodiment of the present invention.

【図4】本発明の一実施例における相互結合ネットワー
クを通るリクエストのフォーマットを示す図である。
FIG. 4 is a diagram showing a format of a request passing through an interconnection network according to an embodiment of the present invention.

【図5】本発明の第1の実施例および第2の実施例にお
けるタイムチャートである。
FIG. 5 is a time chart in the first and second embodiments of the present invention.

【図6】本発明の第2の実施例における通信レジスタ装
置の構成を示す図である。
FIG. 6 is a diagram showing a configuration of a communication register device according to a second embodiment of the present invention.

【図7】本発明の第3の実施例における通信レジスタ装
置の構成を示す図である。
FIG. 7 is a diagram showing a configuration of a communication register device according to a third embodiment of the present invention.

【図8】本発明の第3の実施例におけるタイムチャート
である。
FIG. 8 is a time chart in the third embodiment of the present invention.

【図9】バリア同期を実現するプログラムの一例であ
る。
FIG. 9 is an example of a program that realizes barrier synchronization.

【図10】従来のマルチプロセッサシステムによるタイ
ムチャートである。
FIG. 10 is a time chart of a conventional multiprocessor system.

【符号の説明】[Explanation of symbols]

100 プロセッサ 200 相互結合ネットワーク 300 通信レジスタ装置 301 通信レジスタメモリ 302 ライトレジスタ 303 アドレスレジスタ 304 リードレジスタ 305 ライト指示レジスタ 306 リード指示レジスタ 310 通信レジスタ制御回路 311 リクエストパケット制御回路 312 リプライパケット制御回路 320 通信レジスタモジュール 330 ネットワークインタフェース回路 340 通信レジスタネットワーク 400 記憶装置 100 processor 200 mutual coupling network 300 communication register device 301 communication register memory 302 write register 303 address register 304 read register 305 write instruction register 306 read instruction register 310 communication register control circuit 311 request packet control circuit 312 reply packet control circuit 320 communication register module 330 network interface circuit 340 communication register network 400 storage device

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 N個(Nは整数)のプロセッサと、記憶
装置と、通信レジスタ装置と、これらプロセッサと記憶
装置と通信レジスタ装置を相互に結合する相互結合ネッ
トワークとを含むマルチプロセッサシステムにおいて、 前記通信レジスタ装置は、N個の通信レジスタモジュー
ルを含み、これら通信レジスタモジュールの各々は互い
に各語が同一内容を格納するように制御され、かつ、専
ら1つの特定のプロセッサにのみ参照されることを特徴
とするマルチプロセッサシステム。
1. A multiprocessor system including N (N is an integer) processors, a storage device, a communication register device, and an interconnection network interconnecting the processors, the storage device, and the communication register device with each other. The communication register device includes N communication register modules, each of the communication register modules is controlled so that each word stores the same contents, and is exclusively referred to by one specific processor. A multiprocessor system characterized by.
【請求項2】 前記相互結合ネットワークは、前記プロ
セッサからのライトリクエストを前記N個の通信レジス
タモジュールの全てに転送することを特徴とする請求項
1記載のマルチプロセッサシステム。
2. The multiprocessor system according to claim 1, wherein the interconnection network transfers a write request from the processor to all of the N communication register modules.
【請求項3】 前記通信レジスタ装置は、さらにネット
ワークインタフェース回路を含み、このネットワークイ
ンタフェース回路は前記プロセッサからのライトリクエ
ストを前記N個の通信レジスタモジュールの全てに転送
することを特徴とする請求項1記載のマルチプロセッサ
システム。
3. The communication register device further includes a network interface circuit, and the network interface circuit transfers a write request from the processor to all of the N communication register modules. The described multiprocessor system.
【請求項4】 前記通信レジスタ装置は、さらに通信レ
ジスタネットワークを含み、この通信レジスタネットワ
ークは前記プロセッサからある通信レジスタモジュール
にライトリクエストが発生した場合には他の全ての通信
レジスタモジュールにライトリクエストを転送すること
を特徴とする請求項1記載のマルチプロセッサシステ
ム。
4. The communication register device further includes a communication register network, and when the communication register network issues a write request from a processor to a communication register module, the communication register network sends a write request to all other communication register modules. The multiprocessor system according to claim 1, wherein the multiprocessor system transfers.
【請求項5】 前記通信レジスタモジュールの各々は、
さらにM語(Mは整数)からなるN個のセットに分割さ
れ、 前記プロセッサからのリクエストがリードである場合に
は、そのプロセッサが専有する通信レジスタモジュール
においてリードアクセスが発生し、 前記プロセッサからのリクエストがライトである場合に
は、当該リクエストが全ての通信レジスタモジュールに
ブロードキャストされて、全ての通信レジスタモジュー
ルにおいてライトアクセスが発生し、 前記プロセッサからのリクエストがテストアンドセット
である場合には、前記通信レジスタモジュールに1から
順番に昇順に付されたモジュール番号と前記セットに1
から順番に昇順に付されたセット番号とが一致するセッ
トを含む通信レジスタモジュールに対してテスト動作が
行われ、そのテストの結果が”ロック確保失敗”ならば
当該テスト結果が前記プロセッサに返却され、”ロック
確保成功”ならば同一アドレスの全ての通信レジスタモ
ジュールにおいてロックのライトアクセスが発生するこ
とを特徴とする請求項1記載のマルチプロセッサシステ
ム。
5. Each of the communication register modules comprises:
Further, when the request from the processor is a read, the read access is generated in the communication register module that the processor exclusively uses, and the read access is generated by dividing the set into N sets of M words (M is an integer). If the request is a write, the request is broadcast to all the communication register modules, write access occurs in all the communication register modules, and if the request from the processor is test and set, Module numbers assigned to the communication register module in ascending order from 1 and 1 in the set
The test operation is performed on the communication register module including the set with the set number added in ascending order from the test result. If the test result is "lock acquisition failure", the test result is returned to the processor. 2. The multiprocessor system according to claim 1, wherein a write access to the lock occurs in all the communication register modules having the same address if the "lock is successfully secured".
【請求項6】 前記通信レジスタモジュールは、同時に
アクセス可能な複数のポートを有し、プロセッサからの
リードアクセスと、通信レジスタネットワークを介した
ライトアクセスとの同時アクセスを許容することを特徴
とする請求項4記載のマルチプロセッサシステム。
6. The communication register module has a plurality of ports that can be accessed at the same time, and allows simultaneous read access from a processor and write access via a communication register network. Item 4. The multiprocessor system according to Item 4.
JP7011127A 1994-01-28 1995-01-27 Multiprocessor system Expired - Lifetime JP2731738B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7011127A JP2731738B2 (en) 1994-01-28 1995-01-27 Multiprocessor system

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP806594 1994-01-28
JP6-8065 1994-12-26
JP6-322633 1994-12-26
JP32263394 1994-12-26
JP7011127A JP2731738B2 (en) 1994-01-28 1995-01-27 Multiprocessor system

Publications (2)

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

Family

ID=27277860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7011127A Expired - Lifetime JP2731738B2 (en) 1994-01-28 1995-01-27 Multiprocessor system

Country Status (1)

Country Link
JP (1) JP2731738B2 (en)

Also Published As

Publication number Publication date
JP2731738B2 (en) 1998-03-25

Similar Documents

Publication Publication Date Title
CA2122880C (en) Crossbar switch for multi-processor system
US4984235A (en) Method and apparatus for routing message packets and recording the roofing sequence
US7185224B1 (en) Processor isolation technique for integrated multi-processor systems
US5119481A (en) Register bus multiprocessor system with shift
US4621359A (en) Load balancing for packet switching nodes
US6330584B1 (en) Systems and methods for multi-tasking, resource sharing and execution of computer instructions
US5675736A (en) Multi-node network with internode switching performed within processor nodes, each node separately processing data and control messages
US5594918A (en) Parallel computer system providing multi-ported intelligent memory
US20090282408A1 (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
US7434016B2 (en) Memory fence with background lock release
US7290105B1 (en) Zero overhead resource locks with attributes
US7383419B2 (en) Address generation unit for a processor
JP2731742B2 (en) Parallel computer with cluster configuration
US5857111A (en) Return address adding mechanism for use in parallel processing system
JP2632074B2 (en) Data flow type information processing device
JP2731738B2 (en) Multiprocessor system
JPH0818565A (en) Data processing unit
CA2426422C (en) Scaleable interconnect structure for parallel computing and parallel memory access
JP4051788B2 (en) Multiprocessor system
Bryant et al. The DECNIS 500/600 multiprotocol bridge/router and gateway
JP2976700B2 (en) Synchronous control method between processors
JPH07107680B2 (en) Interprocessor data transfer device for parallel processor
JP3996355B2 (en) Multiprocessor system
JPH07110798A (en) Parallel processing system

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