JPH08212178A - Parallel computer - Google Patents

Parallel computer

Info

Publication number
JPH08212178A
JPH08212178A JP7020137A JP2013795A JPH08212178A JP H08212178 A JPH08212178 A JP H08212178A JP 7020137 A JP7020137 A JP 7020137A JP 2013795 A JP2013795 A JP 2013795A JP H08212178 A JPH08212178 A JP H08212178A
Authority
JP
Japan
Prior art keywords
data
command
address
read
addresses
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
JP7020137A
Other languages
Japanese (ja)
Inventor
Toshiaki Tarui
俊明 垂井
Hideya Akashi
英也 明石
Naonobu Sukegawa
直伸 助川
Keimei Fujii
啓明 藤井
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 JP7020137A priority Critical patent/JPH08212178A/en
Publication of JPH08212178A publication Critical patent/JPH08212178A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To reduce the overhead of accesses by issuing a single network command for the requests of accesses to be given to plural discontinuous data on the addresses of other processing units(PU) and then having the automatic accesses to these data by means of hardware. CONSTITUTION: In a write command mode, the addresses included in the even- numbered words are outputted to an address bus 160 and the data included in the odd-numbered words are outputted to a data bus 161. Then these addresses and data are written in a main storage 120. Thereby, the writing operations can be requested by a single network command to the discontinuous addresses of the main storage 120. In a read command mode, the addresses included in the even-numbered words are outputted to the bus 160 and an access is given to the storage 120. Then these addresses are paired with the return destination addresses included in the odd-numbered words of a request command, and a remote write command is acquired by a selector 141 and a header assembly circuit 140. This write command is sent back to a requester PU which processes the received command as a write command.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は複数のプロセッシングユ
ニットからなる並列計算機におけるデータ転送方式に関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer system in a parallel computer composed of a plurality of processing units.

【0002】[0002]

【従来の技術】計算機性能の飛躍的向上に関して、多数
台のプロセッシングユニット(以下、PU)を並列動作
させる、並列計算機が有望視されている。並列計算機で
は、多数台のPUの間で効率良くデータを通信すること
が重要で、特に大規模な数値演算では、計算に必要な大
量のデータを、PU間で一括して高速に転送するための
アーキテクチャが必要である。
2. Description of the Related Art A parallel computer in which a large number of processing units (hereinafter, referred to as PUs) are operated in parallel is regarded as promising for dramatically improving computer performance. In a parallel computer, it is important to communicate data efficiently between a large number of PUs, especially in a large-scale numerical operation, in order to transfer a large amount of data required for calculation collectively between the PUs at high speed. Architecture is required.

【0003】従来の並列計算機におけるデータ転送機構
は、特開平6−19856号公報に示されているように、連続
したアドレスのデータを一括して転送する機構が採用さ
れていた。各PUは他PUの主記憶との間でDMAを行
うための機構を持ち、転送したいデータの領域を指定す
ると、DMA機構のハードウェアが指定された領域を自
動的に転送する。
As a data transfer mechanism in a conventional parallel computer, as shown in Japanese Patent Application Laid-Open No. 6-19856, a mechanism for collectively transferring data of consecutive addresses has been adopted. Each PU has a mechanism for performing DMA with the main memory of another PU, and when the area of the data to be transferred is designated, the hardware of the DMA mechanism automatically transfers the designated area.

【0004】[0004]

【発明が解決しようとする課題】上記従来技術では、転
送しようとするデータが全て連続したアドレス(もしく
はストライドアクセスなどの定型的なパターン)に存在
する場合は有効であるが、転送するデータのアドレス
が、連続でないランダムなアドレスの場合には、効率が
悪いという問題がある。
The above-mentioned conventional technique is effective when all the data to be transferred exists at consecutive addresses (or a fixed pattern such as stride access), but the address of the data to be transferred is effective. However, in the case of random addresses that are not continuous, there is a problem of poor efficiency.

【0005】例えば、リモートの非連続な領域に書き込
みを行う場合を考える。その場合、従来の連続アドレス
への書き込みのみが可能なDMAデータ転送機構では、
相手のメモリ上に複数のデータを一括して書き込むこと
ができない。そのため、 (1)1ワード毎にリモート書き込みコマンドを出す。 (2)書き込むデータと書き込むアドレスを入れた2本
の配列を、一旦、相手先PUの別々の領域に2回に分け
て転送した後、相手先のPUに、本来書き込むべき領域
への実際の書き込み処理を依頼する。等の方式が取られ
ていた。
For example, consider the case where writing is performed in a remote non-continuous area. In that case, in the conventional DMA data transfer mechanism that can only write to consecutive addresses,
Multiple data cannot be written in the memory of the other party at once. Therefore, (1) a remote write command is issued for each word. (2) After temporarily transferring the two arrays containing the data to be written and the address to be written to different areas of the destination PU in two steps, the actual data to the area to be originally written to the destination PU is actually transferred to the destination PU. Request write processing. And so on.

【0006】(1)の方式は、1ワード毎の書き込みコ
マンドを多数送出しなければならないため、実行時間が
増大するばかりか、ネットワーク上に大量のパケットを
出す必要が有るため、ネットワークの負荷が増大し、問
題である。
In the method (1), a large number of write commands for each word must be sent, so that not only the execution time increases, but also a large number of packets need to be sent out on the network, which imposes a load on the network. Increasing and problematic.

【0007】(2)の方式は、ネットワークの負荷は軽
減されるが、一旦アドレス,データを着地させる領域が
新たに必要になり、メモリの使用効率が落ちる。さら
に、相手先のPUに余分な仕事が発生するため、プログ
ラムの実行時間が増大する問題がある。
In the method (2), the load on the network is reduced, but a new area for temporarily landing the address and data is newly required, and the efficiency of memory use decreases. Further, since the PU of the other party generates extra work, there is a problem that the execution time of the program increases.

【0008】リモートのPUの非連続なアドレスにある
データを読み出そうとした場合も、 (1)1ワード毎に読み出す (2)相手先のCPUに依頼してデータを連続領域に集
めてもらった後、一括して転送する 等の処理が必要となり、書き込みの場合と同様に処理効
率の大幅な低下を招く。
Even when trying to read data at non-contiguous addresses of a remote PU, (1) reading data word by word (2) requesting the other party's CPU to collect data in a continuous area After that, it is necessary to perform processing such as batch transfer, which causes a significant decrease in processing efficiency as in the case of writing.

【0009】特に近年、非定型なデータを扱うため、デ
ータ構造としてリストベクトルを利用したプログラムが
数多く見られる。リストベクトルのアクセスの場合、ア
クセス先のアドレスはポインタの配列で示されているた
め、一般には非連続なアドレスのへのデータアクセスと
なる。従ってリストベクトルのプログラムを高速に実行
するには、非連続なアドレスにあるデータを一括して高
速に転送する機構が必要となる。
In particular, in recent years, many programs that use list vectors as a data structure have been found to handle atypical data. In the case of list vector access, since the access destination address is indicated by an array of pointers, data access is generally to non-contiguous addresses. Therefore, in order to execute a list vector program at high speed, a mechanism for transferring data at non-contiguous addresses all at once at high speed is required.

【0010】[0010]

【課題を解決するための手段】上記目的を達成するため
に、複数のデータを転送するためのネットワークコマン
ドの中で、アクセスを行うリモートアドレスを1データ
毎に指定することが可能なコマンド構造とする。
In order to achieve the above object, a command structure capable of designating a remote address to be accessed for each data in a network command for transferring a plurality of data. To do.

【0011】他PUの非連続なアドレスへの書き込みの
場合、書き込み先のPUへ送られるネットワークコマン
ドの中に、書き込みアドレスと書き込むべきデータの組
を、任意の個数持たせる。上記コマンドを受け取ったP
Uは、コマンド中の各組のアドレス部分に入っている値
をアドレスバスに、データ部分に入っている値をデータ
バスに振り分け、アドレスで示される領域にデータを書
き込む処理をコマンドの長さだけ繰り返す。これによ
り、他PUのアドレスが非連続な複数のワードへの書き
込みを一つのコマンドで指示することができる。
In the case of writing to non-contiguous addresses of other PUs, a network command sent to a write destination PU has an arbitrary number of sets of write addresses and data to be written. P that received the above command
U distributes the value contained in the address part of each set in the command to the address bus and the value contained in the data part to the data bus, and writes data in the area indicated by the address for the length of the command. repeat. Thus, writing to a plurality of words whose addresses of other PUs are not continuous can be instructed by one command.

【0012】非連続なアドレスの読み出しの場合には、
ネットワーク上の要求コマンドに読み出しアドレスと、
読み出したデータを書き込むべき要求側のPUの主記憶
のアドレス(以下では返送先アドレスと呼ぶ)の組を、
任意の個数持たせる。上記コマンドを受け取ったPU
は、コマンド中の各組の中のアドレス部分に入っている
値をアドレスバスに出力して主記憶中の値を読み出した
後、返送先アドレスに書き込むための処理を行う。ここ
で、読み出した値の返送先アドレスへの書き込みは、そ
れ自体、複数の非連続なアドレスへの書き込みとなるの
で、前に記した非連続なアドレスへの書き込みコマンド
を用いて、読み出した値を返送先アドレスへ書き込むよ
うに指示する。これにより、他PUの、アドレスが非連
続な複数のワードのデータを読み出し、自PUの領域に
書き込むことが出来る。
In the case of non-consecutive address reading,
Read address in the request command on the network,
A set of addresses in the main memory of the requesting PU to which the read data should be written (hereinafter referred to as a return address) is
Have any number. PU that received the above command
Performs the processing for outputting the value contained in the address portion of each set in the command to the address bus, reading the value in the main memory, and then writing the value in the return destination address. Here, writing the read value to the return destination address is itself writing to a plurality of non-contiguous addresses, so the read value is written using the write command to the non-contiguous addresses described above. To write to the return address. As a result, it is possible to read data of a plurality of words of which addresses are not continuous in another PU and write the data in the area of the own PU.

【0013】[0013]

【作用】本発明によれば、ネットワーク上を流れる主記
憶アクセスコマンドで、アクセス先のアドレスをデータ
毎に指定し、さらに、返答側PUのハードウェアで前記
コマンドを分解し、主記憶をアクセスするハードウェア
を設ける。これにより、他PUの主記憶上のアドレスが
連続しない複数のデータを、1回のネットワークコマン
ドで高速にアクセスすることができる。
According to the present invention, the main memory access command flowing on the network designates the address of the access destination for each data, and further, the hardware of the responding PU decomposes the command to access the main memory. Provide hardware. As a result, a plurality of data whose addresses in the main memory of another PU are not consecutive can be accessed at high speed with a single network command.

【0014】図1に本発明の並列計算機のブロック図を
示す。図中130が他PUからの要求パケットのヘッダ
を分解するための回路、131が要求パケットのデータ
部のアドレスとデータ等を振り分けるための回路であ
る。データ部のワードの数をカウンタ150で数える。
書き込みコマンドの場合、偶数ワードに入っているアド
レスはアドレスバス160へ、奇数ワードに入っている
データはデータバス161へ出力し、主記憶への書き込み
を行う。これにより、主記憶の非連続なアドレスへの書
き込みを一つのネットワークコマンドで依頼することが
できる。
FIG. 1 shows a block diagram of a parallel computer of the present invention. In the figure, reference numeral 130 is a circuit for decomposing the header of a request packet from another PU, and 131 is a circuit for allocating the address and data of the data portion of the request packet. The number of words in the data part is counted by the counter 150.
In the case of a write command, the address contained in the even word is output to the address bus 160, and the data contained in the odd word is output to the data bus 161, and the main memory is written. As a result, writing to non-contiguous addresses in the main memory can be requested by one network command.

【0015】読み出しコマンドの場合は、偶数ワードに
入っているアドレスをアドレスバス160に出力し、主
記憶をアクセスした後、要求コマンドの奇数ワードに入
っている返送先アドレスと組にして、セレクタ141お
よびヘッダ組立回路140でリモート書き込みコマンド
を組立て、要求元PUに返送する。要求元PUでは前述
の書き込みコマンドとして処理を行うことにより、他P
Uの非連続なアドレスにあるデータを、自PUの非連続
なアドレスに転送することができる。
In the case of a read command, the address contained in the even word is output to the address bus 160, the main memory is accessed, and the selector 141 is paired with the return destination address contained in the odd word of the request command. Then, the remote writing command is assembled by the header assembling circuit 140 and returned to the requesting PU. At the requesting PU, the other P
Data at non-contiguous addresses of U can be transferred to non-contiguous addresses of its own PU.

【0016】図中のコンパレータ151はコマンド中の
アクセスワード数とカウンタ150の値を比べ、コマン
ド処理の終了を検出するための回路である。これによ
り、パケット中でアクセスするワード数を任意に指定で
き、柔軟なリモートアクセスを行うことが出来る。
A comparator 151 in the figure is a circuit for comparing the number of access words in a command with the value of the counter 150 to detect the end of command processing. As a result, the number of words to be accessed in the packet can be arbitrarily specified, and flexible remote access can be performed.

【0017】[0017]

【実施例】図1ないし図4に本発明の一実施例を示す。
図1は本発明の並列計算機のブロック図である。図2な
いし図4はPU間ネットワークのコマンドパケットのフ
ォーマットである。図2は非連続なアドレスへ複数のデ
ータの書き込みを指定するためのコマンド(以下ではマ
ルチワードライトと呼ぶ)、図3は非連続なアドレスの
複数のデータの読み出しを指定するためのコマンド(以
下ではマルチワードリードと呼ぶ)である。それに対し
て、図4は従来のDMA書き込みのコマンド(以下では
DMAライトと呼ぶ)である。
1 to 4 show an embodiment of the present invention.
FIG. 1 is a block diagram of a parallel computer of the present invention. 2 to 4 are formats of command packets in the PU-to-PU network. 2 is a command for designating writing of a plurality of data to non-contiguous addresses (hereinafter referred to as multi-word write), and FIG. 3 is a command for designating reading of a plurality of data of non-contiguous addresses (hereinafter Is called multiword read). On the other hand, FIG. 4 shows a conventional DMA write command (hereinafter referred to as DMA write).

【0018】図1において、100,200はPU、9
00はPU間ネットワークである。以下ではPU100
の内部のみ詳細に記す。他のPUも全く同一の構成を持
つ。PUの内部では、190がCPU、120が主記
憶、160がアドレスバス、161がデータバス、11
0がPU間で従来型のDMA転送を行うためのDMAコ
ントローラである。さらに、130は他PUからのマル
チワードリード,マルチワードライトコマンドのヘッダ
部を解釈するための要求コマンドヘッダ分解回路、13
1は要求コマンドのデータ部のアクセスアドレスと,書
き込みデータ(書き込みの場合)又は返送先アドレス
(読み出しの場合)を振り分けるためのスイッチであ
る。150はデータ部のワード数を数えるためのカウン
タ、150a0はカウンタの最下位ビット、151はコマン
ドパケットの終了を判定するための比較器、132,1
33は主記憶アクセスコマンドを出力するための回路で
ある。134はマルチワードリード,マルチワードライ
トコマンドを切り替えるためのスイッチである。140
はマルチワードリードの返答を行うためのマルチワード
ライトコマンドのヘッダを組み立てる回路、141はマ
ルチワードリードの返答を行うためのマルチワードライ
トコマンドのデータ部の、返送先アドレスとデータの組
を組み立てるためのセレクタである。
In FIG. 1, 100 and 200 are PU and 9
00 is a network between PUs. In the following, PU100
Only the inside of is described in detail. The other PUs have exactly the same configuration. Inside the PU, 190 is a CPU, 120 is a main memory, 160 is an address bus, 161 is a data bus, 11
Reference numeral 0 is a DMA controller for performing conventional DMA transfer between PUs. Further, 130 is a request command header decomposing circuit for interpreting a header part of a multiword read / multiword write command from another PU, 13
Reference numeral 1 is a switch for allocating the access address of the data part of the request command and the write data (for writing) or the return destination address (for reading). Reference numeral 150 is a counter for counting the number of words in the data section, 150a0 is the least significant bit of the counter, 151 is a comparator for determining the end of the command packet, 132, 1
Reference numeral 33 is a circuit for outputting a main memory access command. A switch 134 switches between multi-word read and multi-word write commands. 140
Is a circuit for assembling a multiword write command header for making a multiword read response, and 141 is for assembling a return destination address and data set in the data part of the multiword write command for making a multiword read response. Is a selector of.

【0019】本発明では、各PUがマルチワードコマン
ドを実行するために、パケット中のアドレス情報をスイ
ッチ131により切り分け、主記憶をアクセスする機構
を持つことに特徴が有る。
The present invention is characterized in that each PU has a mechanism for separating the address information in the packet by the switch 131 and accessing the main memory in order to execute the multi-word command.

【0020】先ず、システム全体の構成について述べ
る。システムは、プログラムを実行するPU(100,
200)が、ネットワークにより接続された構成を取
る。各PUはCPU190及び主記憶120を持ち、主
記憶分散型のマルチプロセッサシステムを構成してい
る。PU間の通信はネットワークを経由したパケット通
信で行われる。
First, the configuration of the entire system will be described. The system executes PU (100,
200) takes the configuration connected by the network. Each PU has a CPU 190 and a main memory 120, and constitutes a main memory distributed multiprocessor system. Communication between PUs is performed by packet communication via a network.

【0021】通常(従来型の)PU間の通信は110の
DMA通信機構によって主記憶上のあるまとまった領域
を一括して転送することにより行われる。
Communication between normal (conventional) PUs is carried out by collectively transferring a certain area on the main memory by means of the 110 DMA communication mechanism.

【0022】図4にネットワーク上のDMAライトコマ
ンドのフォーマットを示す。ネットワークコマンドはヘ
ッダとしてコマンド名1001,宛先PU番号100
2,コマンド長(データ部のワード数)1003,送信
元PU番号1004が置かれる。ヘッダ部の後にデータ
部が置かれる。データ部ではDMAの送り先アドレス1
300aに引続き、DMAで送られるデータ1300d
〜1306dが置かれる。ここで、この実施例でのデー
タの1ワードは4Bである。DMAの送信側では、図4
に示されるパケットをCPUが主記憶上に作成し、DM
Aコントローラは主記憶上のパケットをネットワークに
転送する。DMAライトコマンドを受けたPUのDMA
コントローラは、DATA0〜DATAn−1のデータ
を開始アドレスで示される領域から順番に書き込む。D
MAコントローラの詳細については既知の技術であるの
でここでは説明を略す。
FIG. 4 shows the format of a DMA write command on the network. A network command has a command name 1001 as a header and a destination PU number 100.
2, a command length (the number of words in the data section) 1003, a transmission source PU number 1004 are placed. The data part is placed after the header part. DMA destination address 1 in the data section
Data sent by DMA 1300d following 300a
~ 1306d is placed. Here, one word of data in this embodiment is 4B. On the DMA transmission side, as shown in FIG.
The CPU creates the packet shown in to the main memory, and DM
The A controller transfers the packet on the main memory to the network. DMA of PU that received DMA write command
The controller sequentially writes the data of DATA0 to DATAn-1 from the area indicated by the start address. D
Since the details of the MA controller are known techniques, the description thereof is omitted here.

【0023】次にマルチワードライトコマンドの動作に
ついて述べる。図2にマルチワードライトコマンドのフ
ォーマットを示す。ヘッダ部はDMA転送と同じである
が、データ部の形式が異なる。DMA転送ではデータ部
で指定される転送先アドレスは一つであるのに対し、マ
ルチワードライトではデータ1ワード毎にアドレスが指
定される。図の例では、Addr0で示されるアドレスにDa
ta0を、Addr1にData1を、という様に、各データ
を別々のアドレスに書き込むことが出来る。
Next, the operation of the multi-word write command will be described. FIG. 2 shows the format of the multi-word write command. The header part is the same as the DMA transfer, but the format of the data part is different. In the DMA transfer, there is one transfer destination address specified in the data section, whereas in multiword write, an address is specified for each word of data. In the example in the figure, Da is assigned to the address indicated by Addr0.
It is possible to write each data to different addresses, such as ta0, Addr1 and Data1.

【0024】マルチワードライトの要求側のPUでは、
図2のパケットをCPUが予め主記憶に作成し、DMA
コントローラ110を利用して主記憶上のパケットをネ
ットワークに転送する(この部分はDMAライトと全く
同じである)。
In the PU on the request side of multi-word write,
The CPU creates the packet shown in FIG. 2 in the main memory in advance, and DMA
The controller 110 is used to transfer the packet on the main memory to the network (this part is exactly the same as the DMA write).

【0025】マルチワードライトを受信したPUはパケ
ットのヘッダを要求コマンドヘッダ分解回路130に、
データ部をスイッチ131に送る。要求コマンドヘッダ
分解回路では、パケットのヘッダ部を分解し、コマンド
種に応じてマルチワードライトの場合は信号130dを
出力すると同時に、データ部の長さ130b,送り元P
U番号130eを出力する。さらにワード数カウンタ1
50にリセット/スタート信号130fを送る。カウン
タ150の出力とパケット中の長さフィールド130b
は比較機151で比較され、両者の値が異なる(カウン
タの値がパケットの長さより小さい)間、信号151a
が出力される。151aにより、カウンタ150がイネ
ーブルされると同時に、ゲート133によって、書き込
みコマンド133aが主記憶120に伝えられる。
The PU receiving the multi-word write sends the packet header to the request command header disassembling circuit 130,
The data part is sent to the switch 131. The request command header disassembling circuit disassembles the header part of the packet and outputs a signal 130d in the case of multiword write according to the command type, and at the same time, the length 130b of the data part and the source P
The U number 130e is output. Word count counter 1
A reset / start signal 130f is sent to 50. Output of counter 150 and length field 130b in packet
Are compared by the comparator 151, and while the two values are different (the counter value is smaller than the packet length), the signal 151a
Is output. At the same time that the counter 150 is enabled by 151a, the write command 133a is transmitted to the main memory 120 by the gate 133.

【0026】スイッチ131は、カウンタの最下位ビッ
ト150a0の値、つまり、パケットのデータ部の偶数
ワードか奇数ワードかに応じ、パケットのデータ部の値
131aを、アドレス131c(偶数ワードの場合)と
データ131d(奇数ワードの場合)に振り分ける(ス
イッチ134はマルチワードライトの場合データバス16
1に接続されてる)。これにより、パケット中のアドレ
スとデータの組をアドレスバス160とデータバス16
1に出力し、主記憶120に書き込むことが出来る。
The switch 131 sets the value 131a of the packet data portion to the address 131c (in the case of an even word) according to the value of the least significant bit 150a0 of the counter, that is, whether the data portion of the packet is an even word or an odd word. Allocate to data 131d (in the case of odd words) (switch 134 is data bus 16 in the case of multi-word write)
Connected to one). As a result, the set of address and data in the packet is transferred to the address bus 160 and the data bus 16
It can be output to 1 and written to the main memory 120.

【0027】カウンタ150の値がパケットのデータ長
130bと等しくなる(パケットが終了する)と、15
1a信号が出力されなくなる。それにより、主記憶への
書き込み信号133aが止められ、カウンタ150の動
作が止められ、処理が終了する。
When the value of the counter 150 becomes equal to the data length 130b of the packet (when the packet ends), 15
The 1a signal is no longer output. As a result, the write signal 133a to the main memory is stopped, the operation of the counter 150 is stopped, and the process ends.

【0028】以上の処理により、マルチワードライトコ
マンドの中の各アドレス,データの組を主記憶に書き込
むことが出来る。
By the above processing, each address and data set in the multi-word write command can be written in the main memory.

【0029】次に、マルチワードリードの動作について
述べる。図3にマルチワードリードコマンドのフォーマ
ットを示す。ヘッダ部はDMA転送等と同じである。マ
ルチワードリードは、相手先PUの任意のアドレスの値
を読み、自PUの任意のアドレスに書き込むためのコマ
ンドである。データ部には読み出す相手先PUのアドレ
スと、読み出したデータを書き込む自PU上のアドレス
(返送先アドレス)の組を複数持つ。
Next, the operation of multi-word read will be described. FIG. 3 shows the format of the multi-word read command. The header part is the same as the DMA transfer and the like. The multi-word read is a command for reading the value of an arbitrary address of the other party PU and writing it to an arbitrary address of its own PU. The data section has a plurality of sets of the address of the other party PU to read and the address (return destination address) of the own PU to which the read data is written.

【0030】図3の例では、相手先PUのAddr0で示さ
れるアドレスのデータを読み出し、自PUのDest0で示
されるアドレスに書き込み、Addr1のデータをDest1
に、という様に、相手先PUの別々のアドレスのデータ
を読み出し、自PUの別々のアドレスに書き込むことが
出来る。
In the example of FIG. 3, the data of the address indicated by Addr0 of the destination PU is read, the data of the address indicated by Dest0 of the own PU is written, and the data of Addr1 is indicated by Dest1.
As described above, it is possible to read data at different addresses of the partner PU and write to different addresses of the own PU.

【0031】マルチワードリードの要求側のPUでは、
図3のパケットをCPUが予め主記憶に作成し、DMA
コントローラ110を利用して主記憶上のパケットをネ
ットワークに転送する。
In the PU on the request side of multi-word read,
The CPU creates the packet of FIG. 3 in the main memory in advance, and DMA
The controller 110 is used to transfer the packet on the main memory to the network.

【0032】マルチワードリードを受信したPUはパケ
ットのヘッダを要求コマンドヘッダ分解回路130に、
データ部をスイッチ131に送る。要求コマンドヘッダ
分解回路では、パケットのヘッダ部を分解し、コマンド
種に応じて、マルチワードリードの場合は信号130c
を出力すると同時に、データ部の長さ130b,送り元
PU番号130eを出力する。さらにワード数カウンタ
150にリセット/スタート信号130fを送る。カウ
ンタ150の出力とパケット中の長さフィールド130
bは比較機151で比較され、両者の値が異なる(カウ
ンタの値がパケットの長さより小さい)間、信号151
aが出力される。151aにより、カウンタ150がイ
ネーブルされると同時に、ゲート132によって、読み
出しコマンド132aが主記憶120に伝えられる。
Upon receiving the multi-word read, the PU sends the packet header to the request command header decomposing circuit 130.
The data part is sent to the switch 131. The request command header decomposing circuit decomposes the header part of the packet, and according to the command type, in the case of multiword read, the signal 130c is generated.
At the same time, the length of the data part 130b and the source PU number 130e are output. Further, a reset / start signal 130f is sent to the word number counter 150. Output of counter 150 and length field 130 in packet
b is compared by the comparator 151, and while the two values are different (the counter value is smaller than the packet length), the signal 151
a is output. The counter 150 is enabled by 151a, and at the same time, the read command 132a is transmitted to the main memory 120 by the gate 132.

【0033】スイッチ131は、カウンタの最下位ビッ
ト150a0の値、つまり、パケットのデータ部の偶数
ワードか奇数ワードかに応じ、パケットのデータ部の値
131aを、アクセスアドレス131c(偶数ワードの場
合)と返送先アドレス141b(奇数ワードの場合)に
振り分ける(スイッチ134はマルチワードリードの場
合セレクタ141に接続されてる)。その後、アドレス
バス160上のアドレスを用いて、主記憶の値が読み出
され、読み出されたデータは、データバス161を通
り、セレクタ141に入力される。
The switch 131 determines the value of the packet data portion according to the value of the least significant bit 150a0 of the counter, that is, whether it is an even word or an odd word of the packet data portion.
131a is allocated to an access address 131c (in the case of an even word) and a return destination address 141b (in the case of an odd word) (the switch 134 is connected to the selector 141 in the case of multiword read). After that, the value of the main memory is read using the address on the address bus 160, and the read data is input to the selector 141 via the data bus 161.

【0034】その後、返答コマンドヘッダ組立回路14
0,セレクタ141を用いて、読み出された値を送り元
のPUに返送するためのマルチワードライトコマンドが
出力される。このコマンドはAddr0〜Addrn−1に格納
されていた値を、送り元PUのDest0〜Destn−1に書
き込む。
Thereafter, the reply command header assembling circuit 14
0, a multi-word write command for returning the read value to the source PU is output using the selector 141. This command writes the values stored in Addr0 to Addrn-1 to Dest0 to Destn-1 of the source PU.

【0035】まず、返答コマンド組立回路140は要求
コマンドヘッダ分解回路130から伝えられた送り元P
U(つまり返答コマンド宛先PU)番号130e,コマ
ンド長130bより、返答用のマルチワードライトコマ
ンドのヘッダを送出する。パケットのデータ部141a
には、スイッチ141を用いて、カウンタの最下位ビッ
ト150a0の値(ただし、返答回路では、主記憶アク
セスを待つために、ディレイラッチ152を用いて1サ
イクル遅らせてある)、つまり、パケットのデータ部が
偶数ワードか奇数ワードかに応じ、返送先アドレス14
1b(偶数ワードの場合)もしくは読み出したデータ1
41c(奇数ワードの場合)を出力する。これにより、
送り元PUから送られてきた返送先アドレスと、主記憶
を読み出したデータの組をマルチワードライトコマンド
のデータ部として送り元PUに返送することができる。
First, the reply command assembling circuit 140 sends the source P sent from the request command header disassembling circuit 130.
The U (that is, reply command destination PU) number 130e and the command length 130b are used to send out the header of the multi-word write command for reply. Data part 141a of packet
The switch 141 is used to set the value of the least significant bit 150a0 of the counter (however, in the reply circuit, one cycle is delayed by using the delay latch 152 to wait for the main memory access), that is, the packet data. Return address 14 depending on whether the part is an even word or an odd word
1b (for even word) or read data 1
41c (in the case of an odd word) is output. This allows
The return destination address sent from the source PU and the set of data read from the main memory can be returned to the source PU as the data part of the multiword write command.

【0036】カウンタ150の値がパケットのデータ長
130bと等しくなる(パケットが終了する)と、15
1a信号の出力が止められる。それにより、主記憶への
読み出し信号132aが止められ、カウンタ150の動
作が止められ、返送コマンドの送出も終了する。以上の
処理により、マルチワードリードコマンドの中の各アド
レスの値を読み出し、送り元PUの返送先アドレスに書
き込むことができる。
When the value of the counter 150 becomes equal to the data length 130b of the packet (packet ends), 15
The output of the 1a signal is stopped. As a result, the read signal 132a to the main memory is stopped, the operation of the counter 150 is stopped, and the sending of the return command is completed. Through the above processing, the value of each address in the multiword read command can be read and written to the return destination address of the source PU.

【0037】以上の方式により、マルチワードライト,
マルチワードリードコマンドを用いて、他PUの主記憶
上のアドレスが非連続な複数のワードに対する、書き込
み,読み出し処理を一つのネットワークコマンドで一括
して行うことが可能である。
By the above method, multi-word write,
By using the multi-word read command, it is possible to collectively perform writing and reading processes for a plurality of words whose addresses in the main memory of another PU are not continuous with one network command.

【0038】[0038]

【発明の効果】本発明によれば、分散メモリ型の並列計
算機において、他PUにある、アドレスの連続しない複
数のデータに対するアクセスを、一つのネットワークコ
マンドで依頼し、ハードウェアで自動的に行うことによ
り、従来の連続アドレスに対するアクセスのみが可能な
DMA機構を使用した場合と比較して、アクセスのオー
バヘッドを大幅に削減することが可能になる。
According to the present invention, in a distributed memory type parallel computer, a single network command is used to request access to a plurality of data of non-consecutive addresses in another PU, and the data is automatically executed by hardware. As a result, it becomes possible to significantly reduce the access overhead as compared with the case of using the conventional DMA mechanism that can only access continuous addresses.

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

【図1】本発明の一実施例のリモートアクセス機構を持
った並列計算機のブロック図。
FIG. 1 is a block diagram of a parallel computer having a remote access mechanism according to an embodiment of the present invention.

【図2】ネットワーク上のマルチワードライトコマンド
のフォーマットを示す図。
FIG. 2 is a diagram showing a format of a multi-word write command on a network.

【図3】ネットワーク上のマルチワードリードコマンド
のフォーマットを示す図。
FIG. 3 is a diagram showing a format of a multiword read command on a network.

【図4】従来のDMA書き込みコマンドのフォーマット
を示す図。
FIG. 4 is a diagram showing a format of a conventional DMA write command.

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

100,200…プロセッシングユニット、110…D
MAコントローラ、110a…DMAコマンド、120
…主記憶、130…分解回路、130a…要求コマンド
ヘッダ、130b…データ長、130c…マルチワード
リード信号、130d…マルチワードライト信号、13
0e…送り元PU番号、130f…カウンタコントロー
ル信号、131…スイッチ、131a…要求コマンドデ
ータ、131c…主記憶アドレス、131d…返送先ア
ドレス、132…信号出力ゲート、133…信号出力ゲ
ート、134…切替スイッチ、140…組立回路、140a
…返答コマンドヘッダ、141…セレクタ、141a…
データ、141b…返送先アドレス、141c…読み出
しデータ、150…ワード数カウンタ、150a…カウ
ンタ出力、150a0…カウンタ出力最下位ビット、1
51…コンパレータ、151a…コマンドイネーブル信
号、152…ラッチ、160…アドレスバス、161…
データバス、190…CPU、900…ネットワーク。
100, 200 ... Processing unit, 110 ... D
MA controller, 110a ... DMA command, 120
... main memory, 130 ... decomposition circuit, 130a ... request command header, 130b ... data length, 130c ... multiword read signal, 130d ... multiword write signal, 13
0e ... Source PU number, 130f ... Counter control signal, 131 ... Switch, 131a ... Request command data, 131c ... Main storage address, 131d ... Return destination address, 132 ... Signal output gate, 133 ... Signal output gate, 134 ... Switch Switch, 140 ... Assembly circuit, 140a
... Reply command header, 141 ... Selector, 141a ...
Data, 141b ... Return address, 141c ... Read data, 150 ... Word number counter, 150a ... Counter output, 150a0 ... Counter output least significant bit, 1
51 ... Comparator, 151a ... Command enable signal, 152 ... Latch, 160 ... Address bus, 161 ...
Data bus, 190 ... CPU, 900 ... Network.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 藤井 啓明 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Hiroaki Fujii 1-280, Higashikoigokubo, Kokubunji, Tokyo Inside the Central Research Laboratory, Hitachi, Ltd.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】複数のプロセッシングユニットを持ち、各
プロセッシングユニットが独立した主記憶を持ち、前記
各プロセッシングユニットがネットワークにより接続さ
れている並列計算機において、他のプロセッシングユニ
ットの主記憶上にある、アドレスが連続しない複数のデ
ータに対するアクセスを、一つのネットワークコマンド
で指定することを特徴とする並列計算機。
1. In a parallel computer having a plurality of processing units, each processing unit having an independent main memory, and each processing unit being connected by a network, an address on the main memory of another processing unit. A parallel computer characterized by specifying access to a plurality of non-consecutive data with a single network command.
【請求項2】請求項1において、任意のアドレスを持つ
複数のデータへの書き込みを、同一のネットワークコマ
ンドで要求する並列計算機。
2. A parallel computer according to claim 1, wherein writing to a plurality of data having arbitrary addresses is requested by the same network command.
【請求項3】請求項2において、前記ネットワーク上の
データ書き込みコマンドで、書き込みアドレス,書き込
みデータの組を任意の個数持つことが可能である並列計
算機。
3. The parallel computer according to claim 2, wherein the data write command on the network can have an arbitrary number of sets of write addresses and write data.
【請求項4】請求項3において、他プロセッシングユニ
ットから到来した書き込みコマンド中の、書き込みアド
レス,書き込みデータを、主記憶のアドレス線,データ
線に振り分けるためのスイッチを持ち、主記憶への書き
込みを行う並列計算機。
4. The switch according to claim 3, further comprising a switch for allocating a write address and write data in a write command received from another processing unit to an address line and a data line of the main memory, and writing to the main memory. Parallel computer to do.
【請求項5】請求項1において、任意のアドレスを持つ
複数のデータへの読み出しを、同一のネットワークコマ
ンドで要求する並列計算機。
5. The parallel computer according to claim 1, wherein reading of a plurality of data having arbitrary addresses is requested by the same network command.
【請求項6】請求項5において、他のプロセッシングユ
ニットから読み出した複数のデータを、自プロセッシン
グユニットの主記憶値の任意の位置に置くことが出来る
並列計算機。
6. A parallel computer according to claim 5, wherein a plurality of data read from another processing unit can be placed at an arbitrary position of a main memory value of its own processing unit.
【請求項7】請求項6において、ネットワーク上のデー
タ読み出しコマンドで、他プロセッシングの主記憶上の
読み出しアドレス,読み出したデータを格納する自プロ
セッシングユニット上のアドレスの組を任意の個数持つ
ことが可能である並列計算機。
7. A data read command on a network according to claim 6, wherein an arbitrary number of sets of a read address on the main memory of another processing and an address on the own processing unit for storing the read data can be held. Is a parallel computer.
【請求項8】請求項7において、他プロセッシングユニ
ットから到来した読み出しコマンドの中の、読み出しア
ドレス,読み出したデータを格納するアドレスを、主記
憶のアドレス線,読み出したデータの返送先アドレスに
振り分けるためのスイッチを持ち、返送先アドレス,読
み出されたデータの組複数個を、一つの書き込みコマン
ドにまとめ、ネットワークへ出力するためのセレクタを
持つ並列計算機。
8. The method according to claim 7, wherein the read address and the address for storing the read data in the read command received from the other processing unit are distributed to the main memory address line and the return destination address of the read data. A parallel computer that has a switch to combine multiple sets of return destination address and read data into one write command and output to the network.
JP7020137A 1995-02-08 1995-02-08 Parallel computer Pending JPH08212178A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7020137A JPH08212178A (en) 1995-02-08 1995-02-08 Parallel computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7020137A JPH08212178A (en) 1995-02-08 1995-02-08 Parallel computer

Publications (1)

Publication Number Publication Date
JPH08212178A true JPH08212178A (en) 1996-08-20

Family

ID=12018752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7020137A Pending JPH08212178A (en) 1995-02-08 1995-02-08 Parallel computer

Country Status (1)

Country Link
JP (1) JPH08212178A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002077845A1 (en) * 2001-03-22 2002-10-03 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US6809734B2 (en) 2001-03-22 2004-10-26 Sony Computer Entertainment Inc. Resource dedication system and method for a computer architecture for broadband networks
US6826662B2 (en) 2001-03-22 2004-11-30 Sony Computer Entertainment Inc. System and method for data synchronization for a computer architecture for broadband networks
US7093104B2 (en) 2001-03-22 2006-08-15 Sony Computer Entertainment Inc. Processing modules for computer architecture for broadband networks
US7139882B2 (en) 2001-03-22 2006-11-21 Sony Computer Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US9183051B2 (en) 2004-03-29 2015-11-10 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
JP2017146676A (en) * 2016-02-15 2017-08-24 株式会社東芝 Control device and control method

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002077845A1 (en) * 2001-03-22 2002-10-03 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US6809734B2 (en) 2001-03-22 2004-10-26 Sony Computer Entertainment Inc. Resource dedication system and method for a computer architecture for broadband networks
US6826662B2 (en) 2001-03-22 2004-11-30 Sony Computer Entertainment Inc. System and method for data synchronization for a computer architecture for broadband networks
US7093104B2 (en) 2001-03-22 2006-08-15 Sony Computer Entertainment Inc. Processing modules for computer architecture for broadband networks
US7139882B2 (en) 2001-03-22 2006-11-21 Sony Computer Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US7233998B2 (en) 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US9183051B2 (en) 2004-03-29 2015-11-10 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
JP2017146676A (en) * 2016-02-15 2017-08-24 株式会社東芝 Control device and control method

Similar Documents

Publication Publication Date Title
US7389364B2 (en) Apparatus and method for direct memory access in a hub-based memory system
JP3946873B2 (en) Disk array controller
US5682551A (en) System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto
US6868087B1 (en) Request queue manager in transfer controller with hub and ports
JPH02103649A (en) Controller and information processing system
JPH04257054A (en) Inter-channel connecting apparatus
US5796979A (en) Data processing system having demand based write through cache with enforced ordering
JPH05274252A (en) Transaction execution method for computer system
JP4053208B2 (en) Disk array controller
US5829035A (en) System and method for preventing stale data in multiple processor computer systems
US5678062A (en) Input/output control method and data processor
JPH08212178A (en) Parallel computer
CN109992539B (en) Double-host cooperative working device
JP2591502B2 (en) Information processing system and its bus arbitration system
GB2352145A (en) Prevention of bottlenecking in data transfers
JP4025032B2 (en) Disk control device and data access method thereof
JPH11184761A (en) Read modify write control system
JP2000112912A (en) Processing system for test and copy against remote memory in distributed memory-type parallel computer
JP2594567B2 (en) Memory access control device
JPH1011387A (en) Information processor
EP1193606B1 (en) Apparatus and method for a host port interface unit in a digital signal processing unit
JP2000250713A (en) Disk array controller
JP2799528B2 (en) Multiprocessor system
JPH0535507A (en) Central processing unit
JP2006146949A (en) Disk array control device