JPH02240765A - Data communication system for computer - Google Patents
Data communication system for computerInfo
- Publication number
- JPH02240765A JPH02240765A JP1063091A JP6309189A JPH02240765A JP H02240765 A JPH02240765 A JP H02240765A JP 1063091 A JP1063091 A JP 1063091A JP 6309189 A JP6309189 A JP 6309189A JP H02240765 A JPH02240765 A JP H02240765A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor
- communication
- packet
- processors
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 62
- 238000012545 processing Methods 0.000 claims abstract description 23
- 238000012546 transfer Methods 0.000 claims abstract description 13
- 239000011159 matrix material Substances 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 12
- 230000002457 bidirectional effect Effects 0.000 claims description 2
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 230000007246 mechanism Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010304 firing Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
Description
【発明の詳細な説明】
(イン 産業上の利用分野
本発明は、計算機、特にデータ駆動計算機のデータ通信
システム、該システムに用いるプロセッサ、並びにデー
タ通信方法に関する。DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a data communication system for a computer, particularly a data-driven computer, a processor used in the system, and a data communication method.
(ロ)従来の技術
近年、実用的な並列処理計算機の実現に向けて研究が進
められており、本願発明者は、既にデータ駆動計算機と
その言語処理系ソフトウェアの開発、及びそれらの評価
を終了している。(b) Conventional technology In recent years, research has been progressing toward the realization of practical parallel processing computers, and the inventor has already completed the development and evaluation of a data-driven computer and its language processing software. are doing.
[田中他: 「データ駆動計算機SPMの試作」、情報
処理学会第36口金国大会講演論文集7 B −5゜
西用他= 「データ駆動計算機SPMのコンパイラ」、
同7B−6゜
田中他: 「データ駆動計算機SPMの性能評価(1)
」情報処理学会第37口金国大会講演論文集lN−4゜
岡本他: 「データ駆動計算機SPMの性能評価(2)
」同lN−5゜〕
一般に、データ駆動計算機は、種々の命令がデータの流
れを示すアークによって接続されるデータ70−グラフ
をプログラムとして実行する6のであり、言い替えれば
、「処理可能なデータから処理を実行していく」という
ような非ノイマン型の思想に従い簡単な実行規則によっ
て演算処理が行なノ)れる。[Tanaka et al.: "Prototype of data-driven computer SPM", Information Processing Society of Japan 36th Annual Conference Proceedings 7B-5゜Nishiyo et al. = "Compiler for data-driven computer SPM",
7B-6゜Tanaka et al.: “Performance evaluation of data-driven computer SPM (1)
"Information Processing Society of Japan 37th National Conference Proceedings lN-4゜Okamoto et al.: "Performance evaluation of data-driven computer SPM (2)
] In general, a data-driven computer executes as a program a data graph in which various instructions are connected by arcs indicating the flow of data. Arithmetic processing is performed according to simple execution rules in accordance with the non-Neumann-type philosophy of "executing processing."
斯様なデータ駆動計算機は、主としてデータ対検出機構
、演算処理機構、プログラム記憶機構の三つの構成要素
からなり、その実行処理の概略は以下のとおりである。Such a data-driven computer mainly consists of three components: a data pair detection mechanism, an arithmetic processing mechanism, and a program storage mechanism, and the outline of its execution processing is as follows.
まず、データ駆動型計算機ではパケットと呼ばれるーま
とまりのデータ集合を単位として使用しており、該パケ
ットは処理対象データ、データフローグラフの接続情報
(ノード番号)並びに命令コードなどから構成される。First, a data-driven computer uses a set of data called a packet as a unit, and the packet is composed of data to be processed, connection information (node number) of a data flow graph, instruction code, and the like.
このデータ対検出機構では演算が可能なオペランドパケ
ットの組を検出して出力する。そして検出されたオペラ
ンドパケットの組は演算処理機構″:′処理される。こ
の結果パケットはプログラム記憶機構で新たなノード番
号を付与されデータ対検出機構に送られる。斯る処理を
繰り返し続けることにより一連の処理が実行される。This data pair detection mechanism detects and outputs a set of operand packets that can be operated on. The detected set of operand packets is then processed by the arithmetic processing mechanism.The resultant packet is given a new node number in the program storage mechanism and sent to the data pair detection mechanism.By continuing to repeat this process, A series of processing is executed.
本願発明者は、現在、上述の如きデータフロー計算機に
於て、特にそのプロセッサアーキテクチャに種々の改良
を加えた高並列データ駆動計算機E D D E N
(Enhanced Data Driven ENg
ine)の開発を進めている。このEDDENでは、l
チップのC\105−LSIによって実現する要素プロ
セッサを、最大lT124台接続した大規模データ駆動
計算機の稼働を目指し、また、PE数台の小規模システ
ム、PE数十台の中規模システムなど柔軟な構成がとれ
るようにし、信号処理、画像処理、グラフィックス、各
種シミュレーション、CADなどの広範な分野に適応さ
れることが目標となっている。The inventor of the present application is currently developing a highly parallel data-driven computer E D D E N in which various improvements have been made to the above-mentioned data flow computer, especially its processor architecture.
(Enhanced Data Driven
ine) is currently being developed. In this EDDEN, l
We aim to operate a large-scale data-driven computer that connects up to 124 IT element processors realized by C\105-LSI chips, and we also aim to operate flexible systems such as small-scale systems with several PEs and medium-scale systems with several dozen PEs. The goal is to make it configurable and apply it to a wide range of fields such as signal processing, image processing, graphics, various simulations, and CAD.
(ハ)発明が解決しようとする課題
−h述の如く、多数の要素プロセッサを接続したシステ
ムの構築のためには、各要素プロセッサ中での演算処理
とプロセッサ間通信処理との独立化、並びにプロセッサ
間通信のためのネットワークシステムの最適化等が要求
され、これ等の実現によって高性能計算機が得られる。(c) Problems to be solved by the invention - As mentioned in h, in order to construct a system in which a large number of element processors are connected, it is necessary to make the arithmetic processing in each element processor and the communication processing between processors independent, and Optimization of network systems for inter-processor communication is required, and by realizing these optimizations, high-performance computers can be obtained.
(ニ)課題を解決するための手段
本発明のデータ通信システムは、多数のプロセッサを行
列配置し、各縦方向のプロセッサ列を循環的に結合する
複数の縦通信線と各横方向のプロセッサ行を循環的に結
合する複数の横通信線とでプロセッサ間のデータ通信を
行う計算機のデータ通信システムであり、各プロセッサ
は少なくともデータ処理部と通信制御部とからなり、該
通信制御部が該データ処理部から得られる処理データを
縦方向線、或は横方向線のいずれかの方向のプロセッサ
に選択的に転送する通信制御、並びに、該通信制御部が
隣接プロセッサから縦方向線あるいは横方向線を介して
得られるデータを該プロセッサのデータ処理部に供給す
るか、又は縦方向線あるいは横方向線のいずれかの方向
のプロセッサに選択的に転送する通信制御を司るもので
ある。(d) Means for Solving the Problems The data communication system of the present invention arranges a large number of processors in rows and columns, and has a plurality of vertical communication lines that cyclically connect each vertical processor column and each horizontal processor row. A data communication system for a computer that performs data communication between processors using a plurality of horizontal communication lines that cyclically connect the data. Communication control that selectively transfers processing data obtained from a processing unit to a processor in either a vertical line or a horizontal line, and the communication control unit transfers processing data from an adjacent processor to a vertical line or a horizontal line. It is in charge of communication control for supplying data obtained through the processor to the data processing section of the processor, or selectively transferring data to the processor in either the vertical direction or the horizontal direction.
本発明のデータ通信シテスムのプロセッサは、行方向及
び列方向夫々四方の隣接プロセッサとの結合の為に4個
の双方向の入出力ポートを備え、各ポートに通信データ
の基本的情報量に該当する記憶容量を持つ入力レジスタ
、並びに出力レジスタを具備したものである。The processor of the data communication system of the present invention is equipped with four bidirectional input/output ports for connection with four adjacent processors in each row direction and column direction, and each port corresponds to the basic information amount of communication data. It is equipped with an input register and an output register with a storage capacity of
本発明のデータ通信方法は、行列番号と対応付けられて
行列結合された複数のデータフロー型のプロセッサ間で
通信データの送受信を行うデータ通信方法であり、上記
通信データには、送信先プロセッサに対応付けられた列
番号が送信先行列番号として書き込まれており、上記各
プロセッサは、該プロセッサ自身の行列番号と該プロセ
ッサに転送されて来た通信データの送信先行列番号とを
比較し、両番号が一致する時の通信データを該プロセッ
サでデータ処理し、不一致の時の通信データを隣接プロ
セッサに転送するものである。The data communication method of the present invention is a data communication method in which communication data is transmitted and received between a plurality of data flow type processors that are matrix-coupled in association with matrix numbers, and the communication data includes The associated column number is written as the destination column number, and each processor compares its own column number with the destination column number of the communication data transferred to the processor, and Communication data when the numbers match are processed by the processor, and communication data when the numbers do not match is transferred to an adjacent processor.
(ホ)作用
本発明のデータ通信シテスムによれば、多数のプロセッ
サがトーラス接続さノLるネットワークシステムを採用
すると共に、各プロセッサに主にプロセッサ間通信のた
めの通信制御部をデータ処理部とは独立して設けたもの
であるので、プロセッサのLSI化実現の際に、上下ト
ーラス接続によりビン数削限、−様構造が図れ、上記通
信制御部の独立性を保った型のLSI内蔵により、シス
テム全体の小型化、低価格化が望める。(e) Operation According to the data communication system of the present invention, a network system in which a large number of processors are connected in a torus is adopted, and each processor has a communication control unit mainly for inter-processor communication as a data processing unit. Since these are provided independently, when realizing the processor as an LSI, it is possible to reduce the number of bins by connecting the upper and lower torus, and to create a --like structure. , the entire system can be made smaller and lower in price.
また、本発明システムのプロセッサは、四方の隣接プロ
セッサとの入出力を行う4個の入出力ポートに夫々通信
データの基本的情報量、即ち1パケット分の情報量を持
つ入力レジスタと出力レジスタとを1対にして備えてい
るので、データ転送毎に必ずパケ・lト単位でプロセッ
サ間のデータ転送が完rできる。従って、パケット単位
の途中でデータ転送が停帯する事がないので、停帯デー
タが他のデータの通信を妨げると云ったデッドロック現
象を回避が可能となる。In addition, the processor of the system of the present invention has an input register and an output register each having a basic information amount of communication data, that is, an information amount of one packet, at four input/output ports that perform input/output with neighboring processors on four sides. Since the processors are provided as a pair, data transfer between processors can be completed in packet units every time data is transferred. Therefore, since data transfer does not stall in the middle of a packet, it is possible to avoid a deadlock phenomenon in which stalled data interferes with communication of other data.
さらに、本発明のデータ通信方法によれば、通信データ
中に送信先プロセッサ番号(対応行列番号)が書き込ま
れているので、各プロセッサでは内部的に発生したデー
タ、あるいは他のプロセッサから転送されて来たデータ
の送信先プロセッサ番号を検知してこのデータを四方の
隣接プロセンサの内、いずれのプロセッサに転送すべき
かがプロセッサ自身で判断できる。従って、データは各
プロセッサの転送動作により、最短ルートで宛先プロセ
ッサに通信できるセルフルーティングを実現できる。Furthermore, according to the data communication method of the present invention, the destination processor number (corresponding matrix number) is written in the communication data, so each processor uses internally generated data or data transferred from other processors. By detecting the destination processor number of the incoming data, the processor itself can determine which processor among the four adjacent processors this data should be transferred to. Therefore, self-routing can be realized in which data can be communicated to the destination processor through the shortest route by the transfer operation of each processor.
(へ)実施例
第1図に本発明実施例としての高並列データ駆動計算機
のシステムを示し、第2図に要素プロセッサの構成を示
す。(f) Embodiment FIG. 1 shows a highly parallel data-driven computer system as an embodiment of the present invention, and FIG. 2 shows the configuration of element processors.
まず第2図の要素プロセッサ(PE)は、基本的にはプ
ログラム記憶(PS)、発火制御・カラー管理部(FC
CM)、命令実行部(EXE)、及びキューメモリ(Q
)が巡回パイプライン(リング)構造に接続された構成
としている。First, the element processor (PE) shown in Fig. 2 basically consists of a program storage (PS), a firing control/color management section (FC
CM), instruction execution unit (EXE), and queue memory (Q
) are connected in a circular pipeline (ring) structure.
プログラム記憶(PS)はノード番号の更新、定数付与
、及び結果のコピーを行う。発火制御・カラー管理部(
FCCM)は、前述の2段階の待ち合わせ記憶方式で発
火制御及びカラーの獲得・解放の管理を行う。命令実行
部(EXE)は、浮動小数点・整数演算、条件判定、分
岐、簡易定数発生などの命令、及びそれらの複合命令を
実行する。The program storage (PS) updates node numbers, assigns constants, and copies results. Ignition control/color management department (
FCCM) performs firing control and management of color acquisition and release using the above-mentioned two-stage queue storage method. The instruction execution unit (EXE) executes instructions such as floating point/integer arithmetic, condition determination, branching, and simple constant generation, and composite instructions thereof.
キュー(Q)はリング上でのあらゆるデータ流変動を吸
収する緩衝記憶である。緩衝記憶が必要となるのは、■
コピー、■リングへの強制的入力、■リングからの出力
遅延、■(FCCM)における待ちリストのサーチ、な
どが生じた時である。本要素プロセッサ(PE)には、
キュー(Q)のデータ滞在量に応じて■〜■の動作モー
ドを動的に変更する機能を付加し、これによって並列度
の制御を行う。The queue (Q) is a buffer that absorbs any data flow fluctuations on the ring. Buffer memory is required because ■
This is when copying, (1) forced input to the ring, (2) delay in output from the ring, (2) search of waiting list in (FCCM), etc. occur. This elemental processor (PE) includes:
A function is added to dynamically change the operation modes of ① to ② according to the amount of data retained in the queue (Q), thereby controlling the degree of parallelism.
また、キュー(Q)がやむなくオーバーフローした時に
は、外部データメモリ(EDM)上に外部キューを形成
してこれを吸収し、プログラム実行の継続を図る。Furthermore, when the queue (Q) inevitably overflows, an external queue is created on the external data memory (EDM) to absorb the overflow and continue program execution.
ネットワーク制御部(NC)は、東西南北4系統の通信
ポートを保持し、最大1024プロセツサ(PE)のト
ーラス結合網に基づくルーティング制御を行う。ベクト
ル演算制御部(VC)は、ベクトル演算関連命令、及び
通常のメモリアクセス命令の実行制御を行う。該制御部
(VC)と、入力制御部(IC)及び出力制御部(OC
)の間には構造体(ベクトル)通信用のバイパス線を設
ける。外部データメモリ(EDM)は、構造体等を格納
するデータメモリであり、容量は512KByte(1
28に語X32bit)程度とする。タロツク方式は同
期式であるが、上記ネットワーク制御部(NC)内部は
自己開明式で動作するものとする。The network control unit (NC) maintains four communication ports for north, south, east, and west, and performs routing control based on a torus connection network of a maximum of 1024 processors (PE). A vector calculation control unit (VC) controls the execution of vector calculation related instructions and normal memory access instructions. The control section (VC), the input control section (IC) and the output control section (OC)
) is provided with a bypass line for structure (vector) communication. External data memory (EDM) is a data memory that stores structures, etc., and has a capacity of 512 KB (1
28 words x 32 bits). Although the tarock system is a synchronous system, it is assumed that the inside of the network control section (NC) operates in a self-discovery system.
斯様な要素プロセッサ(1’E)を多数用いたEDDE
Nの基本的な構成は第1図に示すようにnXn台の要素
プロセッサをトーラス結合網で接続することを基本とす
る。該トーラス結合網とは、多数のプロセッサを行列配
置し、各縦方向、即ち南北方向(N−5)のプロセッサ
列を循環的に結合する複数の縦通信線と各横方向、即ち
東西方向(W−E)のプロセッサ行を循環的に結合する
複数の横通信線とで任意のプロセッサ間のデータ通信を
可能としたものである。EDDE using many such element processors (1'E)
The basic configuration of N is based on connecting nXn element processors in a torus connection network, as shown in FIG. The torus connection network is a network in which a large number of processors are arranged in rows and columns, and a plurality of vertical communication lines cyclically connect processor rows in each vertical direction, that is, north-south direction (N-5), and each horizontal direction, that is, east-west direction (N-5). Data communication between arbitrary processors is possible using a plurality of horizontal communication lines that cyclically connect the processor rows of W-E).
本実施例システムでは、ネットワークとのデータのやり
とりは、南北方向(N−5)の任意の通信ノンタにネッ
トワークインタフェース(NIF)を挿入することによ
って行う。該インタフェース(NIF)、及び要素プロ
セッサ16〜64台を1枚のプロセッサポート上に実装
し、トーラス接続リンクをプリント基板上に形成する。In the system of this embodiment, data exchange with the network is performed by inserting a network interface (NIF) into any communication terminal in the north-south direction (N-5). The interface (NIF) and 16 to 64 element processors are mounted on one processor port, and a torus connection link is formed on a printed circuit board.
小・中規模システムの構成としては、ホスト計算機とし
て汎用のEWSまたはパソコンを用い、それらのバスイ
ンタフェースを介してネットワークインタフェース(N
IF)に接続する。実装形態としては、1〜4枚のプロ
セッサボードと1枚のバスインタフェースボードを、E
WS等のラックに直接挿入することにする。The configuration of a small/medium-sized system uses a general-purpose EWS or a personal computer as the host computer, and a network interface (N
IF). In terms of implementation, one to four processor boards and one bus interface board are mounted on an E.
We will insert it directly into the rack of WS etc.
大規模システムの構成としては、応用分野に応じて、次
の2種類の構成法が考えられる。As for the configuration of a large-scale system, the following two types of configuration methods can be considered depending on the field of application.
■ クラスタ接続
前述のプロセッサボードを1つのクラスタとして、クラ
スタ間をクラスタインタフェースを介して接続する。ク
ラスタインタフェースは、各クラスタ内のデータの収集
・分配の管理を行う。■Cluster connection The processor boards described above are connected as one cluster, and the clusters are connected via a cluster interface. The cluster interface manages the collection and distribution of data within each cluster.
■ 大型トーラス接続
1024台(32X32台)の要素プロセッサをトーラ
ス結合網で接続する。実装形態としては、1枚のプリン
ト基板に南北(N−5)方向の32台の要素ブロセ・ノ
サとNIFとを実装し、東西(W−E)方向のリンクは
マザーボード1に形成する。■ Large torus connection 1024 (32 x 32) element processors are connected by a torus connection network. As a mounting form, 32 elements Brose-Nosa and NIF are mounted in the north-south (N-5) direction on one printed circuit board, and links in the east-west (W-E) direction are formed on the motherboard 1.
上述の構成のデータ駆動計算機で用いられるデータパケ
ットには、大別して、プログラム実行に使用する実行パ
ケットとプログラム実行以外に使用される非実行パケッ
トがあり、第4図(a)〜(e)にその実例を示してい
る。尚、パケット形式は、構造体本体を保持したパケッ
ト以外は固定長とし、プロセッサ(PE)内のパイプラ
インリング上では33ビット×2語、ネットワーク上で
は18ビット×4語構成を採用している。The data packets used in the data-driven computer configured as described above can be roughly divided into execution packets used for program execution and non-execution packets used for purposes other than program execution. An example of this is shown. The packet format is a fixed length except for the packet that holds the structure body, and is 33 bits x 2 words on the pipeline ring in the processor (PE) and 18 bits x 4 words on the network. .
以下に、第4図のパケットフォーマットに於ける各フィ
ールドの内容を示す。The contents of each field in the packet format of FIG. 4 are shown below.
HD(lbit月285パケツトの際の1語目(ヘッダ
)と2語目(テイル)の識別子。ヘッダの時 1“EX
(lbit戸パイプラインリング上からPE外部へ出力
されるパケットを識別するフラグ
5IODE(2bit戸実行パケット、非実行パケット
等のパケットの種類を識別する識別コード
5−CODE(3bit):〜l0DEと合わせてパケ
ットに対する処理を規定する識別コード
OPCODE−M(5bit):メイン命令コード。命
令実行部(EXE)における命令の種類を規定する。ま
た、n5yncの際に同期処理を行うデータの数を保持
する。HD (lbit) Identifier of the first word (header) and second word (tail) in the case of 285 packets per month.If it is a header, 1"EX
(lbit Flag 5IODE for identifying packets output from the pipeline ring to the outside of the PE (2bit Identification code 5-CODE (3 bits) for identifying the type of packet such as execution packet, non-execution packet, etc.: ~ Combined with l0DE Identification code OPCODE-M (5 bits): Main instruction code. Specifies the type of instruction in the instruction execution unit (EXE). Also holds the number of data to be synchronously processed during n5ync. .
0PCODE−5(6bi t):サブ命令コード。メ
イン命令コードで規定された命令を更に詳細に規定する
。0PCODE-5 (6 bits): Sub instruction code. The commands defined by the main instruction code will be defined in more detail.
聞ODE*(最大11bit):データフローグラフの
ノード番号
C0LOR(4bi t):カラー識別子。サブルーチ
ンコールによるプログラム共用、時系別データに対する
処理なと、同一データフローグラフを多重実行する際に
環境を識別する職別番号。ODE* (maximum 11 bits): Data flow graph node number C0LOR (4 bits): Color identifier. A job number that identifies the environment when sharing programs through subroutine calls, processing time-based data, and executing the same data flow graph multiple times.
PH1(LObit):PE番号。最大1024台のP
Eを識別するための識別番号。PH1 (LObit): PE number. Maximum of 1024 P
Identification number for identifying E.
DATA(32bi t): 32ビツトの整数あるい
は浮動少数点数。DATA (32bit): 32-bit integer or floating point number.
HT(1bit)二語数が4語以上のパケットの際に、
ヘッダ及びテイルと中間の語とを識別するフラグヘッダ
またはテイルの時に°l となる。HT (1 bit) When the number of two words is 4 or more words,
A flag that identifies headers, tails, and intermediate words is °l for headers or tails.
RQ(1bit):ネットワーク上を転送3れるパケッ
トに付加するフラグで、ネットワーク上で13!転送さ
れる度に値が反転するため、語の存在を認識できる。更
に、値が反転することが、パケットを前方へ転送するた
めの転送要求信号となる。また、HTフラグと合わせて
、ヘッダとテイルとを識別できる。RQ (1 bit): A flag added to packets transferred on the network. The existence of the word can be recognized because the value is inverted each time it is transferred. Furthermore, inversion of the value becomes a transfer request signal for forwarding the packet. In addition, the header and tail can be identified together with the HT flag.
ADDRESS(16bi t ) :各メモリのデー
タのロード/ダンプなどの際に、メモリアドレスを格納
する。ADDRESS (16bit): Stores the memory address when loading/dumping data in each memory.
以上の基本構成を持つ本発明実施例の計算機の特徴的な
構成は、要素プロセッサ(PE)での本来のデータ処理
のための各機構とは独立して動作するネットワーク制御
部(NC)にある。The characteristic configuration of the computer according to the embodiment of the present invention having the above basic configuration is the network control unit (NC) that operates independently of each mechanism for original data processing in the element processor (PE). .
該ネットワーク制御部(NC)は第4図(c)及び同図
(e)の如きパケットを当該プロセッサ(PE)から受
けとり、又は他のプロセッサ(PE)から受けとって、
そのパケットの第1語口にある(PE@Iを検知する。The network control unit (NC) receives the packets shown in FIGS. 4(c) and 4(e) from the processor (PE) or from another processor (PE),
Detects (PE@I at the first beginning of the packet.
この[PE番]には該パケットが転送されるべき宛先の
プロセッサの行列番号形式の宛先のプロセッサ番号(x
、y)が書き込まれているので、この値と当該プロセッ
サの番号(x、 y)との比較を行われる。This [PE number] is the destination processor number (x
, y) have been written, this value is compared with the number (x, y) of the processor in question.
この比較処理により、例えば、X=xでない限り、パケ
ットを西(W)から東(W)へ、あるいは束(E)から
西(W)へ転送する。Through this comparison process, for example, unless X=x, the packet is transferred from the west (W) to the east (W) or from the bundle (E) to the west (W).
X=xであれば、y=yでない限りパケットは市(S)
から北(N)へ、あるいは北(N)がら南(S)・\転
送する。If X=x, the packet is sent to city(S) unless y=y
Transfer from north (N) to south (S) or from north (N) to south (S).
そして、X=x且つY=yとなった時にこのパケットが
当該プロセッサ内でのデータ処理に供せられるのである
。Then, when X=x and Y=y, this packet is subjected to data processing within the processor.
従って、データパケットはトーラス結合された多数の行
列プロセッサ間を、まず、東西方向に転送され、その後
南北方向に転送される事になり、これによって、最低路
離転送のセルフルーティングを実現している。Therefore, data packets are transferred between a large number of torus-coupled matrix processors, first in the east-west direction, and then in the north-south direction, thereby realizing self-routing with minimum path distance transfer. .
第3図に上述の如きトーラスネットワーク上でのセルフ
ルーティングを実現する為のネットワーク制御部(NC
)のデートシステムを模式的に示し、同図に従い、その
ルーティングアルゴリズムを示す。尚、第3図に於て、
(RNI)(RNO)は孔入出力ホートを構成する入力
シフトレジスタ、及び出力シフトレジスタであり、4段
のレジスタ(r)からなる。同様に(R5I)(R5O
)は重大出力ポート、(RWl)(R^゛0)は四人出
力ポート、(REI)(REO)は東入出力ポートを構
成している。又、「OJは合流、「◎」は分岐を示して
いる。Figure 3 shows the network control unit (NC) for realizing self-routing on the torus network as described above.
) is schematically shown, and its routing algorithm is shown according to the same figure. In addition, in Figure 3,
(RNI) (RNO) is an input shift register and an output shift register that constitute a hole input/output port, and consists of four stages of registers (r). Similarly (R5I) (R5O
) constitutes the critical output port, (RWl) (R^゛0) constitutes the four-person output port, and (REI) (REO) constitutes the east input/output port. Further, "OJ" indicates a confluence, and "◎" indicates a branch.
ルーティングアルゴリズムは以下のとおり。The routing algorithm is as follows.
■、自分のPE番号を(x、y)、ネットワークをpX
q(q:N−*S方向、q:W−4E方向)のトーラス
、パケットの行き先PE番号を(x、y)とし、
△Xミ(X −x )mod q l△x1≦q/2
△yミ(Y−1)modp l△y1≦p/2とする
。■, your PE number (x, y), network pX
The torus of q (q: N-*S direction, q: W-4E direction), the destination PE number of the packet is (x, y), and △Xmi (X - x ) mod q l△x1≦q/2
Δymi(Y-1) modp lΔy1≦p/2.
11、PE番号は、NからSの方向に順にy=o、1.
2、・・・ p
WからEの方向に順に
x=O1l、2、・・・、q とする。11. The PE numbers are y=o, 1.
2,... p Let x=O1l, 2,..., q in the direction from W to E.
11■、\l0DEはパケットのタグの\l0DEフィ
ールドの値を意味する。(〜l0DE−(10はホスト
へのパケットである。)
(1)R1
△y=QのときパケットをPへ出力
Δy≠0.のときパケットをSへ出力
(2)R2
△X≠0のときパケットをWへ出力
△x=Oかつ△y〉0のときパケットをSへ出力
△x=0かつ△y=QかつMODE≠、00のときパケ
ットをPへ出力
Δx = OかつΔy=0がッMODE=00のときパ
ケットをNへ出力
Δx=0かつ△yくOのときパケットをNへ出力
(3)R3
Δx+QのときパケットをEへ出力
Δx=0かつ△y〉0のときパケットをSへ出力
Δx=OかツL y = OかつM OD E≠00の
ときパケットをPへ出力
△X=Oかつ△y=Qかつ!+l0DE=00のときパ
ケットをN・入出力
△x=Oかつ△y〈0のときパケットをNへ出力
(4)R4
Δ〜==0かつMODE≠00のときパケットをPへ出
力
ニ−・≠0またはMODE= 00のときパケットをN
へ出力
(5)R5
△x>OのときパケットをEへ出力
△x=Oかつ△y〉0のときパケットをSへ出力
△x=OかつΔ)r≦OのときパケットをNへ出力
△x<0のときパケットをWへ出力
■、パケットのヘッダが到着したときにルーティングを
行い、以降のデータはパケットのテイルが到着するまで
、同じ経路に出力する。11■, \l0DE means the value of the \l0DE field of the tag of the packet. (~l0DE-(10 is the packet to the host.) (1) R1 When △y=Q, output the packet to P. When Δy≠0., output the packet to S. (2) R2 When △X≠0. When △x=O and △y>0, output the packet to S. When △x=0 and △y=Q and MODE≠, 00, output the packet to P. △x = O and △y=0. When MODE=00, output the packet to N. When Δx=0 and △y〉O, output the packet to N. (3) R3 When Δx+Q, output the packet to E. When Δx=0 and △y〉0, output the packet to N. Outputs the packet to S when Δx=O or L y = O and MOD E≠00 Outputs the packet to P when ΔX=O and Δy=Q and!+l0 When DE=00, outputs the packet to N・Input/output Δx When =O and △y〈0, output the packet to N (4) R4 When Δ~==0 and MODE≠00, output the packet to P. When ≠0 or MODE=00, output the packet to N.
Output to (5) R5 When △x>O, output the packet to E. When △x=O and △y>0, output the packet to S. When △x=O and Δ)r≦O, output the packet to N. When Δx<0, output the packet to W.■, Routing is performed when the header of the packet arrives, and subsequent data is output to the same route until the tail of the packet arrives.
V、P E番号(X、Y)とネットワークのサイズは、
あらかじめ設定できるものとする。ただし、p、(1は
2のべき乗に限る。また、△X、△yを計算するときに
、モジユロをとらないモード(格子状ネットワークに対
応)ことら可能とする。V, PE number (X, Y) and network size are:
It shall be possible to set it in advance. However, p, (1 is limited to a power of 2. Also, when calculating △X and △y, it is possible to use a mode that does not take the modulus (corresponding to a lattice network).
Vl 、 I’ Eをリング状に接続する場合ら、N
−Sを結線すれば、上のルーティングアルゴリズムでル
ーティングできる。When connecting Vl and I'E in a ring, N
If -S is connected, routing can be performed using the above routing algorithm.
以ヒがセルフルーティングアルゴリズムの1例であるが
、これに限られるものでない。The following is an example of a self-routing algorithm, but it is not limited thereto.
一方、第3図のネットワーク制御部(NC)の入出力ポ
ートの構成は、図示の如く、4段の各18ピントのシフ
トレジスタ(r)・・・の入力ポート、同じく4段のシ
フトレジスタ(r)・・・の出力ポートを備えているの
で、14図(c)、(e)の4語形式のパケットがその
まま全て入力ポート、あるいは出力ポートに格納できる
事になる。この事は、トーラスネットワークのように双
方向通信が必要な双方向通信路上で、一方向の前にパケ
ットがつかえている状態でこの方向のパケット転送が停
止していても、パケット単位がポート部で中断して停止
すると云うデッドロックの原因の一つを解消する事にな
る。即ち、例えば入出力ポートの人出側あるいは出力側
に1まとまりのパケットが完全に格納されるので、当該
プロセッサで、他のパケットの他の方向への転送が可能
となる。On the other hand, the configuration of the input/output ports of the network control unit (NC) in FIG. 3 is as shown in the diagram. r)..., so the four-word format packets shown in FIGS. 14(c) and (e) can all be stored as they are in the input port or output port. This means that on a two-way communication path that requires two-way communication, such as a torus network, even if a packet is stuck in front of one direction and packet transfer in that direction is stopped, the packet unit is transferred to the port. This eliminates one of the causes of deadlock, which is when the process is interrupted and stopped. That is, for example, since one set of packets is completely stored on the input or output side of the input/output port, the processor can transfer other packets in other directions.
(ト)発明の効果
本発明のよれば、システム全体の小型化、低価格化のた
めに、通信制御機構をもPEチップに内蔵でき、プロセ
ッサの基本的な結合状態により、チップのピン数制限、
プロセッサ間距離が小さい、セルフルーティングが可能
、−棟構造、デッドロック回避が可能、実装が容易とな
るデータ通信システム、その為のプロセッサ、並びにデ
ータ通信方法を実現する事ができる。(G) Effects of the Invention According to the present invention, in order to reduce the size and cost of the entire system, a communication control mechanism can also be built into the PE chip, and the number of pins on the chip is limited by the basic connection state of the processor. ,
It is possible to realize a data communication system in which the distance between processors is small, self-routing is possible, a block structure is possible, deadlock can be avoided, and implementation is easy, a processor therefor, and a data communication method.
第1図は本発明のデータ通信システムを示すシステム図
、第2図は本発明のプロセッサの蜆略構成を示すブロッ
ク図、第3図は本発明プロセッサの要部ゲート構成の模
式図、第4図(a)乃至(e)はパケット構成図である
。
(PE)・・・要素プロセッサ、(EXE)・・・命令
実行部、(ED〜1)・・・外部データメモリ、(NC
)・・・ネットワーク制911部。FIG. 1 is a system diagram showing the data communication system of the present invention, FIG. 2 is a block diagram showing the schematic configuration of the processor of the present invention, FIG. 3 is a schematic diagram of the main gate configuration of the processor of the present invention, and FIG. Figures (a) to (e) are packet configuration diagrams. (PE)...Element processor, (EXE)...Instruction execution unit, (ED~1)...External data memory, (NC
)...Network system 911 part.
Claims (3)
セッサ列を循環的に結合する複数の縦通信線と各横方向
のプロセッサ行を循環的に結合する複数の横通信線とで
プロセッサ間のデータ通信を行う計算機のデータ通信シ
ステムに於て、各プロセッサは少なくともデータ処理部
と通信制御部とからなり、 該通信制御部が該データ処理部から得られる処理データ
を縦方向線、或は横方向線のいずれかの方向のプロセッ
サに選択的に転送する通信制御、並びに、該通信制御部
が隣接プロセッサから縦方向線あるいは横方向線を介し
て得られるデータを該プロセッサのデータ処理部に供給
するか、又は縦方向線あるいは横方向線のいずれかの方
向のプロセッサに選択的に転送する通信制御を司る事を
特徴とする計算機のデータ通信システム。(1) A large number of processors are arranged in rows and columns, and multiple vertical communication lines cyclically connect each vertical processor row and multiple horizontal communication lines cyclically connect each horizontal processor row. In a data communication system for a computer that performs data communication, each processor includes at least a data processing section and a communication control section, and the communication control section converts processed data obtained from the data processing section into vertical lines or Communication control that selectively transfers data to a processor in either direction of a horizontal line, and the communication control unit transfers data obtained from an adjacent processor via a vertical line or a horizontal line to a data processing unit of the processor. 1. A data communication system for a computer, characterized in that it manages communication control for supplying or selectively transferring data to a processor in either a vertical line or a horizontal line.
ロセッサに於て、 行方向及び列方向夫々四方の隣接プロセッサとの結合の
為に4個の双方向の入出力ポートを備え、各ポートに通
信データの基本的情報量に該当する記憶容量を持つ入力
レジスタ、並びに出力レジスタを具備したことを特徴と
するプロセッサ。(2) In the processor of the data communication system for a computer according to claim 1, the processor is provided with four bidirectional input/output ports for coupling with four adjacent processors in each of the row and column directions, and each port A processor comprising an input register and an output register having a storage capacity corresponding to the basic amount of communication data.
データフロー型のプロセッサ間で通信データの送受信を
行うデータ通信方法に於て、上記通信データには、送信
先プロセッサに対応付けられた行列番号が送信先行列番
号として書き込まれており、 上記各プロセッサは、該プロセッサ自身の行列番号と該
プロセッサに転送されて来た通信データの送信先行列番
号とを比較し、両番号が一致する時の通信データを該プ
ロセッサでデータ処理し、不一致の時の通信データを隣
接プロセッサに転送するデータ通信方法。(3) In a data communication method in which communication data is sent and received between multiple data flow type processors that are matrix-coupled in association with matrix numbers, the above communication data includes information that is associated with a destination processor. The row number is written as the destination row number, and each processor compares its own row number with the destination row number of the communication data transferred to the processor, and if both numbers match. A data communication method in which communication data at a time is processed by the processor, and communication data at a time when there is a mismatch is transferred to an adjacent processor.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1063091A JP2657090B2 (en) | 1989-03-14 | 1989-03-14 | Computer data communication system |
| US08/551,694 US5689647A (en) | 1989-03-14 | 1995-11-01 | Parallel computing system with processing element number setting mode and shortest route determination with matrix size information |
| US08/754,870 US5926643A (en) | 1989-03-14 | 1996-11-22 | Data driven processor performing parallel scalar and vector processing |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1063091A JP2657090B2 (en) | 1989-03-14 | 1989-03-14 | Computer data communication system |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9031984A Division JPH09190421A (en) | 1997-02-17 | 1997-02-17 | Data communication system for computer |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02240765A true JPH02240765A (en) | 1990-09-25 |
| JP2657090B2 JP2657090B2 (en) | 1997-09-24 |
Family
ID=13219300
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1063091A Expired - Fee Related JP2657090B2 (en) | 1989-03-14 | 1989-03-14 | Computer data communication system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2657090B2 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58181168A (en) * | 1982-04-17 | 1983-10-22 | Nippon Telegr & Teleph Corp <Ntt> | Autonomous processor array system |
| JPS6028345A (en) * | 1983-07-26 | 1985-02-13 | Fujitsu Ltd | Communication system in parallel computer |
| JPS60181962A (en) * | 1984-02-29 | 1985-09-17 | Fujitsu Ltd | Communicating system in parallel computer |
| JPS63257052A (en) * | 1987-04-15 | 1988-10-24 | Agency Of Ind Science & Technol | Multiprocessor system |
-
1989
- 1989-03-14 JP JP1063091A patent/JP2657090B2/en not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58181168A (en) * | 1982-04-17 | 1983-10-22 | Nippon Telegr & Teleph Corp <Ntt> | Autonomous processor array system |
| JPS6028345A (en) * | 1983-07-26 | 1985-02-13 | Fujitsu Ltd | Communication system in parallel computer |
| JPS60181962A (en) * | 1984-02-29 | 1985-09-17 | Fujitsu Ltd | Communicating system in parallel computer |
| JPS63257052A (en) * | 1987-04-15 | 1988-10-24 | Agency Of Ind Science & Technol | Multiprocessor system |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2657090B2 (en) | 1997-09-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5617577A (en) | Advanced parallel array processor I/O connection | |
| US8737392B1 (en) | Configuring routing in mesh networks | |
| US9384165B1 (en) | Configuring routing in mesh networks | |
| US6631439B2 (en) | VLIW computer processing architecture with on-chip dynamic RAM | |
| US5119481A (en) | Register bus multiprocessor system with shift | |
| EP0460599B1 (en) | Massively parallel processor including queue-based message delivery system | |
| US5594918A (en) | Parallel computer system providing multi-ported intelligent memory | |
| EP0539595A1 (en) | Data processor and data processing method | |
| HK1044056B (en) | Instruction memory with associative cross-bar switch | |
| JPH05233281A (en) | Electronic computer | |
| CN111630505A (en) | Deep learning accelerator system and method therefor | |
| US7673118B2 (en) | System and method for vector-parallel multiprocessor communication | |
| JP2549241B2 (en) | Computer system | |
| JPH02240765A (en) | Data communication system for computer | |
| JPH09190421A (en) | Data communication system for computer | |
| EP0570951A2 (en) | Advanced parallel array processor mechanical packaging | |
| JP2840295B2 (en) | Computer data communication system | |
| US7404048B2 (en) | Inter-cluster communication module using the memory access network | |
| JP2869100B2 (en) | Element processor of parallel computer | |
| CN121501743B (en) | Artificial intelligence chips, artificial intelligence processor cores, and electronic devices | |
| JP2869101B2 (en) | Data communication system for parallel computer | |
| JP2755769B2 (en) | Data driven data processor | |
| JP2840294B2 (en) | Data communication system for parallel computer | |
| JP2975722B2 (en) | Computer data communication system | |
| JPH04281583A (en) | Data driven type processor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |