JPH09190421A - Data communication system for computer - Google Patents
Data communication system for computerInfo
- Publication number
- JPH09190421A JPH09190421A JP9031984A JP3198497A JPH09190421A JP H09190421 A JPH09190421 A JP H09190421A JP 9031984 A JP9031984 A JP 9031984A JP 3198497 A JP3198497 A JP 3198497A JP H09190421 A JPH09190421 A JP H09190421A
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- communication
- processor
- output
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 56
- 238000012545 processing Methods 0.000 claims abstract description 33
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 description 9
- 238000012546 transfer Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000010304 firing Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、計算機、特にデー
タ駆動計算機のデータ通信システムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer, and more particularly to a data communication system of a data driven computer.
【0002】[0002]
【従来の技術】近年、実用的な並列処理計算機の実現に
向けて研究が進められており、本願発明者は、既にデー
タ駆動計算機とその言語処理系ソフトウェアの開発、及
びそれらの評価を終了している。2. Description of the Related Art In recent years, research has been advanced toward the realization of a practical parallel processing computer, and the inventor of the present application has already completed the development of a data driven computer and its language processing system software and their evaluation. ing.
【0003】[田中他:「データ駆動計算機SPMの試
作」、情報処理学会第36回全国大会講演論文集7B−
5。[Tanaka et al .: "Prototype of Data Driven Computer SPM", Proc. Of the 36th National Conference of Information Processing Society of Japan, 7B-
5.
【0004】西川他:「データ駆動計算機SPMのコン
パイラ」、同7B−6。Nishikawa et al., "Compiler for Data Driven Computer SPM," 7B-6.
【0005】田中他:「データ駆動計算機SPMの性能
評価(1)」情報処理学会第37回全国大会講演論文集
1N−4。Tanaka et al .: "Performance Evaluation of Data Driven Computer SPM (1)" Proceedings of the 37th National Conference of Information Processing Society of Japan 1N-4.
【0006】岡本他:「データ駆動計算機SPMの性能
評価(2)」同1N−5。] 一般に、データ駆動計算機は、種々の命令がデータの流
れを示すアークによって接続されるデータフローグラフ
をプログラムとして実行するものであり、言い替えれ
ば、「処理可能なデータから処理を実行していく」とい
うような非ノイマン型の思想に従い簡単な実行規則によ
って演算処理が行われる。Okamoto et al., "Performance Evaluation of Data Driven Computer SPM (2)," 1N-5. ] In general, a data driven computer executes a data flow graph in which various instructions are connected by arcs indicating the flow of data as a program. In other words, "processes are executed from processable data". According to such a non-Neumann type idea, arithmetic processing is performed by a simple execution rule.
【0007】斯様なデータ駆動計算機は、主としてデー
タ対検出機構、演算処理機構、プログラム記憶機構の三
つの構成要素からなり、その実行処理の概略は以下のと
おりである。Such a data-driven computer is mainly composed of three components, that is, a data pair detecting mechanism, an arithmetic processing mechanism and a program storing mechanism. The outline of the execution processing is as follows.
【0008】まず、データ駆動型計算機ではパケットと
呼ばれる一まとまりのデータ集合を単位として使用して
おり、該パケットは処理対象データ、データフローグラ
フの接続情報(ノード番号)並びに命令コードなどから
構成される。First, in a data driven computer, a set of data called a packet is used as a unit, and the packet is composed of data to be processed, connection information (node number) of data flow graph, and instruction code. It
【0009】このデータ対検出機構では演算が可能なオ
ペランドパケットの組を検出して出力する。そして検出
されたオペランドパケットの組は演算処理機構で処理さ
れる。この結果、パケットはプログラム記憶機構で新た
なノード番号を付与されデータ対検出機構に送られる。
斯る処理を繰り返し続けることにより一連の処理が実行
される。In this data pair detection mechanism, a set of operand packets that can be operated is detected and output. Then, the detected set of operand packets is processed by the arithmetic processing unit. As a result, the packet is given a new node number in the program storage mechanism and sent to the data pair detection mechanism.
A series of processes is performed by repeating such processes.
【0010】本願発明者は、現在、上述の如きデータフ
ロー計算機に於て、特にそのプロセッサアーキテクチャ
に種々の改良を加えた高並列データ駆動計算機EDDE
N(Enhanced Data Driven ENgine)の開発を進めてい
る。The inventor of the present application is currently in charge of a highly parallel data driven computer EDDE in which the processor architecture of the data flow computer as described above is improved.
We are developing N (Enhanced Data Driven ENgine).
【0011】このEDDENでは、1チップのCMOS
−LSIによって実現する要素プロセッサを、最大10
24台接続した大規模データ駆動計算機の稼働を目指
し、また、PE数台の小規模システム、PE数十台の中
規模システムなど柔軟な構成がとれるようにし、信号処
理、画像処理、グラフィックス、各種シミュレーショ
ン、CADなどの広範な分野に適応されることが目標と
なっている。In this EDDEN, one-chip CMOS
-Maximum of 10 element processors realized by LSI
Aiming to operate a large-scale data-driven computer with 24 units connected, and with a flexible configuration such as a small-scale system with several PEs and a medium-scale system with several tens of PEs, signal processing, image processing, graphics, The goal is to be applied to a wide range of fields such as various simulations and CAD.
【0012】[0012]
【発明が解決しようとする課題】上述の如く、多数の要
素プロセッサを接続したシステムの構築のためには、各
要素プロセッサ中での演算処理とプロセッサ間通信処理
との独立化、並びにプロセッサ間通信のためのネットワ
ークシステムの最適化等が要求され、これ等の実現によ
って高性能計算機が得られる。As described above, in order to construct a system in which a large number of element processors are connected, independence of arithmetic processing and inter-processor communication processing in each element processor, and inter-processor communication Optimization of the network system and so on are required, and high performance computers can be obtained by realizing these.
【0013】[0013]
【課題を解決するための手段】本発明の計算機のデータ
通信システムは、多数のプロセッサを行列配置し、各縦
方向のプロセッサ列を循環的に結合する複数の縦通信線
と各横方向のプロセッサ行を循環的に結合する複数の横
通信線とでプロセッサ間のデータ通信を行う計算機のデ
ータ通信システムに於て、各プロセッサは、データ処理
を行うデータ処理部と、行方向及び列方向夫々四方の隣
接プロセッサとの結合の為に4個の双方向の入出力ポー
トを備えた通信制御部と、を有し、且つ前記各入出力ポ
ートに1パケット分の情報量に該当する記憶容量を持つ
入力レジスタ並びに出力レジスタと、前記各入出力ポー
トの出力レジスタ及び前記データ処理部の入力側にそれ
ぞれ対応して設けられた5個の合流制御回路部と、前記
各入出力ポートの入力レジスタ及び前記データ処理部の
出力側にそれぞれ対応して設けられた5個の分岐制御回
路部と、を備え、前記通信制御部は、前記分岐制御回路
部に送られた、入力レジスタから入力された通信データ
又は前記プロセッサから得られる処理データを前記合流
制御回路部に送るように制御し、また前記通信制御部
は、前記合流制御回路部に送られた前記処理データを前
記出力レジスタに、又は前記合流制御回路部に送られた
前記通信データを前記出力レジスタ或いは前記データ処
理部に送るように制御することを特徴とする。In a computer data communication system according to the present invention, a plurality of processors are arranged in rows and columns, and a plurality of vertical communication lines for cyclically coupling each vertical processor row and each horizontal processor. In a data communication system of a computer that performs data communication between processors with a plurality of horizontal communication lines that cyclically connect rows, each processor has a data processing unit that performs data processing, and a row direction and a column direction. And a communication controller having four bidirectional input / output ports for coupling with adjacent processors, and each of the input / output ports has a storage capacity corresponding to the information amount of one packet. An input register and an output register, five output control registers of the input / output ports and five merge control circuit units provided corresponding to the input sides of the data processing units, and the input / output ports of the input / output ports. Force register and five branch control circuit units provided respectively corresponding to the output side of the data processing unit, and the communication control unit inputs from the input register sent to the branch control circuit unit. Controlled communication data or processing data obtained from the processor to be sent to the merge control circuit unit, the communication control unit, the processing data sent to the merge control circuit unit to the output register, Alternatively, the communication data sent to the merge control circuit unit is controlled to be sent to the output register or the data processing unit.
【0014】特に、前記通信制御部の内部は、自己同期
式で動作することを特徴とする。In particular, the inside of the communication control unit operates in a self-synchronous manner.
【0015】[0015]
【発明の実施の形態】図1に本発明の一実施形態として
の高並列データ駆動計算機のシステムを示し、図2に要
素プロセッサの構成を示す。1 shows a system of a highly parallel data driven computer as an embodiment of the present invention, and FIG. 2 shows the configuration of an element processor.
【0016】まず、図2の要素プロセッサ(PE)は、
基本的にはプログラム記憶(PS)、発火制御・カラー
管理部(FCCM)、命令実行部(EXE)、及びキュ
ーメモリ(Q)が巡回パイプライン(リング)構造に接
続された構成としている。First, the element processor (PE) shown in FIG.
Basically, the program storage (PS), the firing control / color management unit (FCCM), the instruction execution unit (EXE), and the queue memory (Q) are connected in a cyclic pipeline (ring) structure.
【0017】プログラム記憶(PS)はノード番号の更
新、定数付与、及び結果のコピーを行う。発火制御・カ
ラー管理部(FCCM)は、2段階の待ち合わせ記憶方
式で発火制御及びカラーの獲得・解放の管理を行う。命
令実行部(EXE)は、浮動小数点・整数演算、条件判
定、分岐、簡易定数発生などの命令、及びそれらの複合
命令を実行する。The program storage (PS) updates the node number, assigns a constant, and copies the result. The firing control / color management unit (FCCM) manages firing control and acquisition / release of colors by a two-stage queuing storage system. The instruction execution unit (EXE) executes instructions such as floating point / integer arithmetic, condition determination, branching, and simple constant generation, and their composite instructions.
【0018】キュー(Q)はリング上でのあらゆるデー
タ流変動を吸収する緩衝記憶である。緩衝記憶が必要と
なるのは、コピー、リングへの強制的入力、リン
グからの出力遅延、(FCCM)における待ちリスト
のサーチ、などが生じた時である。本要素プロセッサ
(PE)には、キュー(Q)のデータ滞在量に応じて
〜の動作モードを動的に変更する機能を付加し、これ
によって並列度の制御を行う。Queue (Q) is a buffer memory that absorbs any data flow fluctuations on the ring. Buffer storage is needed when copying, forced input to the ring, output delay from the ring, waiting list search in (FCCM), etc. The element processor (PE) is provided with a function of dynamically changing the operation modes of to according to the data stay amount of the queue (Q), thereby controlling the parallelism.
【0019】また、キュー(Q)がやむなくオーバーフ
ローした時には、外部データメモリ(EDM)上に外部
キューを形成してこれを吸収し、プログラム実行の継続
を図る。Further, when the queue (Q) inevitably overflows, an external queue is formed on the external data memory (EDM) to absorb the external queue and continue program execution.
【0020】ネットワーク制御部(NC)は、東西南北
4系統の通信ポートを保持し、最大1024台のプロセ
ッサ(PE)のトーラス結合網に基づくルーティング制
御を行う。ベクトル演算制御部(VC)は、ベクトル演
算関連命令、及び通常のメモリアクセス命令の実行制御
を行う。前記制御部(VC)と、入力制御部(IC)及
び出力制御部(OC)の間には構造体(ベクトル)通信
用のバイパス線を設ける。外部データメモリ(EDM)
は、構造体等を格納するデータメモリであり、容量は5
12KByte(128K語×32bit)程度とす
る。クロック方式は同期式であるが、上記ネットワーク
制御部(NC)内部は自己同期式で動作するものとす
る。The network control unit (NC) holds communication ports of four systems of north, south, east, west and performs routing control based on a torus connection network of up to 1024 processors (PE). The vector operation controller (VC) controls execution of vector operation related instructions and normal memory access instructions. A bypass line for structure (vector) communication is provided between the control unit (VC) and the input control unit (IC) and the output control unit (OC). External data memory (EDM)
Is a data memory for storing structures and the like, and has a capacity of 5
It is about 12 KBytes (128 K words × 32 bits). The clock system is a synchronous system, but the inside of the network control unit (NC) operates in a self-synchronous system.
【0021】斯様な要素プロセッサ(PE)を多数用い
たEDDENの基本的な構成は図1に示すようにn×n
台の要素プロセッサをトーラス結合網で接続することを
基本とする。該トーラス結合網とは、多数のプロセッサ
を行列配置し、各縦方向、即ち南北方向(N <−>
S)のプロセッサ列を循環的に結合する複数の縦通信線
と各横方向、即ち東西方向(W <−> E)のプロセ
ッサ行を循環的に結合する複数の横通信線とで任意のプ
ロセッサ間のデータ通信を可能としたものである。The basic configuration of EDDEN using a large number of such element processors (PE) is n × n as shown in FIG.
The basic principle is to connect the element processors of the stand by the torus connection network. In the torus connection network, a large number of processors are arranged in a matrix, and each processor is arranged in the vertical direction, that is, in the north-south direction (N <->
S) a plurality of vertical communication lines that cyclically connect the processor columns and a plurality of horizontal communication lines that cyclically connect the processor rows in each lateral direction, that is, the east-west direction (W <-> E), to any processor. It enables data communication between them.
【0022】本実施形態システムでは、ネットワークと
のデータのやりとりは、南北方向(N <−> S)の
任意の通信リンクにネットワークインタフェース(NI
F)を挿入することによって行う。前記インタフェース
(NIF)、及び要素プロセッサ16〜64台を1枚の
プロセッサボート上に実装し、トーラス接続リンクをプ
リント基板上に形成する。In the system of the present embodiment, data is exchanged with the network by connecting the network interface (NI) to an arbitrary communication link in the north-south direction (N <-> S).
F) by inserting. The interface (NIF) and 16 to 64 element processors are mounted on one processor board, and a torus connection link is formed on a printed circuit board.
【0023】小・中規模システムの構成としては、ホス
ト計算機として汎用のEWSまたはパソコンを用い、そ
れらのバスインタフェースを介してネットワークインタ
フェース(NIF)に接続する。実装形態としては、1
〜4枚のプロセッサボードと1枚のバスインタフェース
ボードを、EWS等のラックに直接挿入することにす
る。As the configuration of the small / medium-scale system, a general-purpose EWS or personal computer is used as a host computer and is connected to a network interface (NIF) via the bus interface thereof. The mounting form is 1
~ 4 processor boards and 1 bus interface board will be directly inserted into a rack such as EWS.
【0024】大規模システムの構成としては、応用分野
に応じて、次の2種類の構成法が考えられる。As the configuration of the large-scale system, the following two types of configuration methods can be considered depending on the application field.
【0025】 クラスタ接続 前述のプロセッサボードを1つのクラスタとして、クラ
スタ間をクラスタインタフェースを介して接続する。ク
ラスタインタフェースは、各クラスタ内のデータの収集
・分配の管理を行う。Cluster Connection Using the processor boards described above as one cluster, the clusters are connected via a cluster interface. The cluster interface manages the collection and distribution of data in each cluster.
【0026】 大型トーラス接続 1024台(32台×32台)の要素プロセッサをトー
ラス結合網で接続する。実装形態としては、1枚のプリ
ント基板に南北(N <−> S)方向の32台の要素
プロセッサとNIFとを実装し、東西(W <−>
E)方向のリンクはマザーボード上に形成する。Large Torus Connection 1024 (32 × 32) element processors are connected by a torus connection network. As a mounting form, 32 element processors in the north-south (N <-> S) direction and the NIF are mounted on one printed circuit board, and the east-west (W <->
Links in the E) direction are formed on the motherboard.
【0027】上述の構成のデータ駆動計算機で用いられ
るデータパケットには、大別して、プログラム実行に使
用する実行パケットとプログラム実行以外に使用される
非実行パケットがあり、図4及び図5にその実例を示し
ている。尚、パケット形式は、構造体本体を保持したパ
ケット以外は固定長とし、プロセッサ(PE)内のパイ
プラインリング上では33ビット×2語、ネットワーク
上では18ビット×4語構成を採用している。The data packets used in the data-driven computer having the above-described configuration are roughly classified into execution packets used for program execution and non-execution packets used for other than program execution. Examples thereof are shown in FIGS. 4 and 5. Is shown. The packet format has a fixed length except for the packet holding the structure body, and employs a structure of 33 bits × 2 words on the pipeline in the processor (PE) and 18 bits × 4 words on the network. .
【0028】以下に、図4及び図5のパケットフォーマ
ットに於ける各フィールドの内容を示す。The contents of each field in the packet formats of FIGS. 4 and 5 are shown below.
【0029】HD(1bit):2語パケットの際の1
語目(ヘッダ)と2語目(テイル)の識別子。ヘッダの
時「1」。HD (1 bit): 1 for a 2-word packet
Identifier of the second word (header) and second word (tail). "1" for header.
【0030】EX(1bit):パイプラインリング上
からPE外部へ出力されるパケットを識別するフラグ。EX (1 bit): A flag for identifying a packet output from the pipeline ring to the outside of the PE.
【0031】MODE(2bit):実行パケット、非
実行パケット等のパケットの種類を識別する識別コー
ド。MODE (2 bits): Identification code for identifying the type of packet such as execution packet and non-execution packet.
【0032】S−CODE(3bit):MODEと併
せてパケットに対する処理を規定する識別コード。S-CODE (3 bits): An identification code that defines processing for a packet together with MODE.
【0033】OPCODE−M(5bit):メイン命
令コード。命令実行部(EXE)における命令の種類を
規定する。また、nsyncの際に同期処理を行うデー
タの数を保持する。OPCODE-M (5 bits): Main instruction code. Specifies the type of instruction in the instruction execution unit (EXE). It also holds the number of data items to be synchronized during nssync.
【0034】OPCODE−S(6bit):サブ命令
コード。メイン命令コードで規定された命令を更に詳細
に規定する。OPCODE-S (6 bits): Sub instruction code. The command specified by the main command code is specified in more detail.
【0035】NODE#(最大11bit):データフ
ローグラフのノード番号。NODE # (up to 11 bits): Node number of the data flow graph.
【0036】COLOR(4bit):カラー識別子。
サブルーチンコールによるプログラム共用、時系別デー
タに対する処理など、同一データフローグラフを多重実
行する際に環境を識別する識別番号。COLOR (4 bits): Color identifier.
Identification number that identifies the environment when multiple executions of the same data flow graph are performed, such as program sharing by subroutine calls and processing for time-based data.
【0037】PE#(10bit):PE番号。最大1
024台のPEを識別するための識別番号。PE # (10 bit): PE number. Up to 1
An identification number for identifying 024 PEs.
【0038】DATA(32bit):32ビットの整
数あるいは浮動小数点数。DATA (32 bit): 32-bit integer or floating point number.
【0039】HT(1bit):語数が4語以上のパケ
ットの際に、ヘッダ及びテイルと中間の語とを識別する
フラグヘッダまたはテイルの時に「1」となる。HT (1 bit): It is "1" in the case of a flag header or tail that distinguishes the header and tail from the intermediate word in the packet having four or more words.
【0040】RQ(1bit):ネットワーク上を転送
されるパケットに付加するフラグで、ネットワーク上で
1語転送される度に値が反転するため、語の存在を認識
できる。更に、値が反転することが、パケットを前方ヘ
転送するための転送要求信号となる。また、HTフラグ
と合わせて、ヘッダとテイルとを識別できる。RQ (1 bit): A flag added to a packet transferred on the network. The value is inverted every time one word is transferred on the network, so that the existence of the word can be recognized. Further, the inversion of the value becomes the transfer request signal for transferring the packet forward. Also, the header and tail can be identified together with the HT flag.
【0041】ADDRESS(16bit):各メモリ
のデータのロード/ダンプなどの際に、メモリアドレス
を格納する。ADDRESS (16 bits): A memory address is stored at the time of loading / dumping data in each memory.
【0042】以上の基本構成を持つ本発明実施形態の計
算機の特徴的な構成は、要素プロセッサ(PE)での本
来のデータ処理のための各機構とは独立して動作するネ
ットワーク制御部(NC)にある。The characteristic configuration of the computer of the embodiment of the present invention having the above basic configuration is that the network control unit (NC) operates independently of each mechanism for original data processing in the element processor (PE). )It is in.
【0043】前記ネットワーク制御部(NC)は図4
(c)及び図5(e)の如きパケットを当該プロセッサ
(PE)から受け取り、又は他のプロセッサ(PE)か
ら受け取って、そのパケットの第1語目にある[PE
#]を検知する。この[PE#]には該パケットが転送
されるべき宛先のプロセッサの行列番号形式の宛先のプ
ロセッサ番号(X,Y)が書き込まれているので、この
値と当該プロセッサの番号(x,y)との比較を行う。The network control unit (NC) is shown in FIG.
A packet as shown in (c) and FIG. 5 (e) is received from the processor (PE) concerned or from another processor (PE) and the first word [PE
#] Is detected. Since the processor number (X, Y) of the destination in the matrix number format of the destination processor to which the packet is to be transferred is written in this [PE #], this value and the number (x, y) of the relevant processor are written. Compare with.
【0044】この比較処理により、例えば、X=xでな
い限り、パケットを西(W)から東(E)へ、あるいは
東(E)から西(W)へ転送する。By this comparison process, for example, unless X = x, the packet is transferred from west (W) to east (E) or east (E) to west (W).
【0045】X=xであれば、Y=yでない限りパケッ
トは南(S)から北(N)へ、あるいは北(N)から南
(S)へ転送する。If X = x, then packets are forwarded from south (S) to north (N) or north (N) to south (S) unless Y = y.
【0046】そして、X=x且つY=yとなった時にこ
のパケットが当該プロセッサ内でのデータ処理に供せら
れるのである。Then, when X = x and Y = y, this packet is provided for data processing in the processor.
【0047】従って、データパケットはトーラス結合さ
れた多数の行列プロセッサ間を、まず、東西方向に転送
され、その後南北方向に転送される事になり、これによ
って、最短距離転送のセルフルーティングを実現してい
る。Therefore, the data packet is first transferred in the east-west direction and then transferred in the north-south direction among a large number of torus-coupled matrix processors, thereby realizing the self-routing of the shortest distance transfer. ing.
【0048】図3に上述の如きトーラスネットワーク上
でのセルフルーティングを実現する為のネットワーク制
御部(NC)のデータシステムを模式的に示し、同図に
従い、そのルーティングアルゴリズムを示す。尚、図3
に於て、(RNI)(RNO)は北入出力ポートを構成
する入力シフトレジスタ、及び出力シフトレジスタであ
り、4段のレジスタ(r)からなる。同様に(RSI)
(RSO)は南入出力ポート、(RWI)(RWO)は
西入出力ポート、(REI)(REO)は東入出力ポー
トを構成している。又、「○」は合流、「◎」は分岐を
示している。FIG. 3 schematically shows a data system of a network control unit (NC) for realizing self-routing on the torus network as described above, and its routing algorithm is shown according to FIG. FIG.
In the above, (RNI) and (RNO) are an input shift register and an output shift register which form a north input / output port, and are composed of four stages of registers (r). Similarly (RSI)
(RSO) constitutes a south input / output port, (RWI) (RWO) constitutes a west input / output port, and (REI) (REO) constitutes an east input / output port. In addition, “◯” indicates confluence and “⊚” indicates branching.
【0049】ルーティングアルゴリズムは以下のとお
り。 I.自分のPE番号を(x,y)、ネットワークをp×
q(p:N −> S方向、q:W −> E方向)のトー
ラス、パケットの行き先PE番号を(X,Y)とし、The routing algorithm is as follows. I. My PE number is (x, y), network is px
The torus of q (p: N-> S direction, q: W-> E direction), the destination PE number of the packet is (X, Y),
【0050】[0050]
【数1】 [Equation 1]
【0051】とする。 II.PE番号は、NからSの方向に順に y=0、1、2、・・・、p WからEの方向に順に x=0、1、2、・・・、q とする。 III.MODEはパケットのタグのMODEフィールド
の値を意味する。(MODE=00はホストへのパケッ
トである。) (1)R1 Δy=0のときパケットをPへ出力 Δy≠0のときパケットをSへ出力 (2)R2 Δx≠0のときパケットをWへ出力 Δx=0かつΔy>0のときパケットをSへ出力 Δx=0かつΔy=0かつMODE≠00のときパケッ
トをPへ出力 Δx=0かつΔy=0かつMODE=00のときパケッ
トをNへ出力 Δx=0かつΔy<0のときパケットをNへ出力 (3)R3 Δx≠0のときパケットをEへ出力 Δx=0かつΔy>0のときパケットをSへ出力 Δx=0かつΔy=0かつMODE≠00のときパケッ
トをPへ出力 Δx=0かつΔy=0かつMODE=00のときパケッ
トをNへ出力 Δx=0かつΔy<0のときパケットをNへ出力 (4)R4 Δy=0かつMODE≠00のときパケットをPへ出力 Δy≠0またはMODE=00のときパケットをNへ出
力 (5)R5 Δx>0のときパケットをEへ出力 Δx=0かつΔy>0のときパケットをSへ出力 Δx=0かつΔy≦0のときパケットをNへ出力 Δx<0のときパケットをWへ出力 IV.パケットのヘッダが到着したときにルーティングを
行い、以降のデータはパケットのテイルが到着するま
で、同じ経路に出力する。 V.PE番号(x,y)とネットワークのサイズは、あ
らかじめ設定できるものとする。ただし、p、qは2の
べき乗に限る。また、Δx、Δyを計算するときに、モ
ジェロをとらないモード(格子状ネットワークに対応)
ことも可能とする。 VI.PEをリング状に接続する場合も、N−Sを結線す
れば、上のルーティングアルゴリズムでルーティングで
きる。Assume that II. The PE numbers are y = 0, 1, 2, ... In the direction from N to S, and p = 0, 1, 2, ..., q in the direction from pW to E. III. MODE means the value of the MODE field of the tag of the packet. (MODE = 00 is a packet to the host.) (1) When R1 Δy = 0, output the packet to P. When Δy ≠ 0, output the packet to S. (2) When R2 Δx ≠ 0, send the packet to W. Output When Δx = 0 and Δy> 0 output the packet to S When Δx = 0 and Δy = 0 and MODE ≠ 00 output the packet to P When Δx = 0 and Δy = 0 and MODE = 00 send the packet to N Output When Δx = 0 and Δy <0, output packet to N (3) When R3 Δx ≠ 0, output packet to E When Δx = 0 and Δy> 0, output packet to S Δx = 0 and Δy = 0 When MODE ≠ 00, the packet is output to P. When Δx = 0 and Δy = 0 and MODE = 00, the packet is output to N. When Δx = 0 and Δy <0, the packet is output to N. (4) R4 Δy = 0 And if MODE ≠ 00 Output packet to P Output packet to N when Δy ≠ 0 or MODE = 00 (5) Output packet to E when R5 Δx> 0 Output packet to S when Δx = 0 and Δy> 0 Δx = 0 And when Δy ≦ 0, the packet is output to N. When Δx <0, the packet is output to W. IV. Routing is performed when the packet header arrives, and subsequent data is output to the same route until the packet tail arrives. V. The PE number (x, y) and the size of the network can be set in advance. However, p and q are limited to powers of two. In addition, when calculating Δx and Δy, the mode that does not take Mogello (corresponding to the grid network)
It is also possible. VI. Even when PEs are connected in a ring shape, routing can be performed by the above routing algorithm by connecting NS.
【0052】以上がセルフルーティングアルゴリズムの
1例であるが、これに限られるものでない。The above is one example of the self-routing algorithm, but the present invention is not limited to this.
【0053】一方、図3のネットワーク制御部(NC)
の入出力ポートの構成は、図示の如く、4段の各18ビ
ットのシフトレジスタ(r)・・・の入力ポート、同じ
く4段のシフトレジスタ(r)・・・の出力ポートを備
えているので、図4(c)、図5(e)の4語形式のパ
ケットがそのまま全て入力ポート、あるいは出力ポート
に格納できる事になる。この事は、トーラスネットワー
クのように双方向通信が必要な双方向通信路上で、一方
向の前にパケットがつかえている状態でこの方向のパケ
ット転送が停止していても、パケット単位がポート部で
中断して停止すると云うデッドロックの原因の一つを解
消する事になる。即ち、例えば入出力ポートの入力側あ
るいは出力側に1まとまりのパケットが完全に格納され
るので、当該プロセッサで、他のパケットの他の方向へ
の転送が可能となる。On the other hand, the network control unit (NC) of FIG.
As shown in the figure, the configuration of the input / output port of 4 is provided with input ports of four stages of 18-bit shift registers (r). Therefore, it is possible to store all of the 4-word format packets of FIGS. 4C and 5E in the input port or the output port. This means that on a two-way communication path such as a torus network that requires two-way communication, even if packet transfer in this direction is stopped while packets are being used before one direction, the packet unit is the port unit. This will eliminate one of the causes of the deadlock of interrupting and stopping. That is, for example, one packet is completely stored in the input side or the output side of the input / output port, so that the processor can transfer other packets in the other direction.
【0054】本実施形態では、多数のプロセッサがトー
ラス接続されるネットワークシステムを採用すると共
に、各プロセッサに主にプロセッサ間通信のための通信
制御部をデータ処理部とは独立して設けたものであるの
で、プロセッサのLSI化実現の際に、上記トーラス接
続によりピン数削減、一様構造が図れ、上記通信制御部
の独立性を保った形のLSI内蔵により、システム全体
の小型化、低価格化が望める。In this embodiment, a network system in which a large number of processors are connected in a torus is adopted, and each processor is provided with a communication control unit mainly for interprocessor communication independently of the data processing unit. Therefore, when implementing a processor LSI, the number of pins can be reduced and a uniform structure can be achieved by the torus connection, and the system can be made smaller and the cost can be reduced by incorporating the LSI with the communication controller independent. Can be expected.
【0055】また、本実施形態では、行方向及び列方向
夫々四方の隣接プロセッサとの結合の為に4個の双方向
の入出力ポートを備え、各ポートに通信データの基本的
情報量に該当する記憶容量をもつ入力レジスタ並びに出
力レジスタを具備する。Further, in this embodiment, four bidirectional input / output ports are provided for coupling with adjacent processors in four directions in each of the row direction and the column direction, and each port corresponds to the basic information amount of communication data. It has an input register and an output register having a storage capacity of
【0056】このように、本実施形態では、四方の隣接
プロセッサとの入出力を行う4個の入出力ポートに夫々
通信データの基本的情報量、即ち1パケット分の情報量
をもつ入力レジスタと出力レジスタとを一対にして備え
ているので、データ転送毎に必ずパケット単位でプロセ
ッサ間のデータ転送が完了できる。従って、パケット単
位の途中でデータ転送が停滞する事がないので、停滞デ
ータが他のデータの通信を妨げると云ったデッドロック
現象の回避が可能となる。As described above, in this embodiment, the four input / output ports for inputting / outputting from / to the adjacent processors on the four sides are provided with input registers each having a basic information amount of communication data, that is, an information amount for one packet. Since the output register is provided as a pair, the data transfer between the processors can always be completed in packet units for each data transfer. Therefore, since the data transfer does not stagnate in the middle of the packet unit, it is possible to avoid the deadlock phenomenon that the stagnation data hinders the communication of other data.
【0057】更に、本実施形態では、行列番号と対応付
けられて行列結合された複数のデータフロー型のプロセ
ッサ間で通信データの送受信を行うデータ通信方法であ
り、上記通信データには、送信先プロセッサに対応づけ
られた行列番号が送信先行列番号として書き込まれてお
り、上記各プロセッサは、該プロセッサ自身の行列番号
と該プロセッサに転送されて来た通信データの送信先行
列番号とを比較し、両番号が一致する時の通信データを
該プロセッサでデータ処理し、不一致の時の通信データ
を隣接プロセッサに転送するものである。Further, the present embodiment is a data communication method for transmitting and receiving communication data between a plurality of data flow type processors which are associated with a matrix number and are matrix-connected, and the communication data includes a transmission destination. The matrix number associated with the processor is written as the destination matrix number, and each processor compares the matrix number of the processor itself with the destination matrix number of the communication data transferred to the processor. , The communication data when both numbers match is processed by the processor, and the communication data when the numbers do not match are transferred to the adjacent processor.
【0058】このように、本実施形態では、通信データ
中に送信先プロセッサ番号(対応行列番号)が書き込ま
れているので、各プロセッサでは内部的に発生したデー
タ、あるいは他のプロセッサから転送されて来たデータ
の送信先プロセッサ番号を検知してこのデータを四方の
隣接プロセッサの内、いずれのプロセッサに転送すべき
かがプロセッサ自身で判断できる。従って、データは各
プロセッサの転送動作により、最短ルートで宛先プロセ
ッサに通信できるセルフルーティングを実現できる。As described above, in this embodiment, since the destination processor number (corresponding matrix number) is written in the communication data, the data internally generated in each processor or transferred from another processor. By detecting the destination processor number of the incoming data, the processor itself can determine which of the four adjacent processors the data should be transferred to. Therefore, self-routing can be realized in which data can be communicated to the destination processor by the shortest route by the transfer operation of each processor.
【0059】[0059]
【発明の効果】本発明によれば、システム全体の小型
化、低価格化のために、通信制御機構をもPEチップに
内蔵でき、プロセッサの基本的な結合状態により、チッ
プのピン数制限、プロセッサ間距離が小さい、一様構
造、デッドロック回避が可能、実装が容易となるデータ
通信システムを実現する事ができる。According to the present invention, in order to reduce the size and cost of the entire system, a communication control mechanism can be built in the PE chip, and the number of pins of the chip can be limited depending on the basic connection state of the processor. It is possible to realize a data communication system having a small inter-processor distance, a uniform structure, avoiding deadlock, and easy to implement.
【図1】本発明の一実施形態に係るデータ通信システム
を示すシステム図である。FIG. 1 is a system diagram showing a data communication system according to an embodiment of the present invention.
【図2】本発明の一実施形態に係るプロセッサの概略構
成を示すブロック図である。FIG. 2 is a block diagram showing a schematic configuration of a processor according to an embodiment of the present invention.
【図3】本発明の一実施形態に係るプロセッサの要部ゲ
ート構成の模式図である。FIG. 3 is a schematic diagram of a main-part gate configuration of the processor according to the embodiment of the present invention.
【図4】パケット構成図である。FIG. 4 is a packet configuration diagram.
【図5】パケット構成図である。FIG. 5 is a packet configuration diagram.
PE 要素プロセッサ EXE 命令実行部 EDM 外部データメモリ NC ネットワーク制御部 PE element processor EXE instruction execution unit EDM external data memory NC network control unit
Claims (2)
向のプロセッサ列を循環的に結合する複数の縦通信線と
各横方向のプロセッサ行を循環的に結合する複数の横通
信線とでプロセッサ間のデータ通信を行う計算機のデー
タ通信システムに於て、 各プロセッサは、データ処理を行うデータ処理部と、行
方向及び列方向夫々四方の隣接プロセッサとの結合の為
に4個の双方向の入出力ポートを備えた通信制御部と、
を有し、 且つ前記各入出力ポートに1パケット分の情報量に該当
する記憶容量を持つ入力レジスタ並びに出力レジスタ
と、 前記各入出力ポートの出力レジスタ及び前記データ処理
部の入力側にそれぞれ対応して設けられた5個の合流制
御回路部と、 前記各入出力ポートの入力レジスタ及び前記データ処理
部の出力側にそれぞれ対応して設けられた5個の分岐制
御回路部と、を備え、 前記通信制御部は、前記分岐制御回路部に送られた、入
力レジスタから入力された通信データ又は前記プロセッ
サから得られる処理データを前記合流制御回路部に送る
ように制御し、また前記通信制御部は、前記合流制御回
路部に送られた前記処理データを前記出力レジスタに、
又は前記合流制御回路部に送られた前記通信データを前
記出力レジスタ或いは前記データ処理部に送るように制
御することを特徴とする計算機のデータ通信システム。1. A plurality of processors are arranged in rows and columns, and a plurality of vertical communication lines that cyclically connect each vertical processor column and a plurality of horizontal communication lines that cyclically connect each horizontal processor row are provided. In a data communication system of a computer that performs data communication between processors, each processor has four bidirectional connections for connecting a data processing unit that performs data processing and adjacent processors in four rows and four columns. A communication control unit having an input / output port of
And an input register and an output register each having a storage capacity corresponding to the information amount of one packet in each of the input / output ports, and an output register of each of the input / output ports and an input side of the data processing unit. And 5 branching control circuit sections provided corresponding to the input registers of the input / output ports and the output side of the data processing section, respectively. The communication control unit controls to send the communication data input from the input register or the processing data obtained from the processor, which is sent to the branch control circuit unit, to the merge control circuit unit, and the communication control unit. Is the processing data sent to the merge control circuit unit to the output register,
Alternatively, a computer data communication system is characterized in that the communication data sent to the merge control circuit unit is controlled to be sent to the output register or the data processing unit.
動作することを特徴とする請求項1記載の計算機のデー
タ通信システム。2. The data communication system for a computer according to claim 1, wherein the inside of the communication control unit operates in a self-synchronous manner.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9031984A JPH09190421A (en) | 1997-02-17 | 1997-02-17 | Data communication system for computer |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9031984A JPH09190421A (en) | 1997-02-17 | 1997-02-17 | Data communication system for computer |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1063091A Division JP2657090B2 (en) | 1989-03-14 | 1989-03-14 | Computer data communication system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09190421A true JPH09190421A (en) | 1997-07-22 |
Family
ID=12346202
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9031984A Pending JPH09190421A (en) | 1997-02-17 | 1997-02-17 | Data communication system for computer |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09190421A (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6395559A (en) * | 1986-10-13 | 1988-04-26 | Mitsubishi Electric Corp | Processor for array computer |
-
1997
- 1997-02-17 JP JP9031984A patent/JPH09190421A/en active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6395559A (en) * | 1986-10-13 | 1988-04-26 | Mitsubishi Electric Corp | Processor for array computer |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0460599B1 (en) | Massively parallel processor including queue-based message delivery system | |
| US5617577A (en) | Advanced parallel array processor I/O connection | |
| JP2642039B2 (en) | Array processor | |
| US5689719A (en) | Parallel computer system including processing elements | |
| US5594918A (en) | Parallel computer system providing multi-ported intelligent memory | |
| US5689647A (en) | Parallel computing system with processing element number setting mode and shortest route determination with matrix size information | |
| EP0539595A1 (en) | Data processor and data processing method | |
| US8737392B1 (en) | Configuring routing in mesh networks | |
| US5765015A (en) | Slide network for an array processor | |
| JP2657090B2 (en) | Computer data communication system | |
| JP2549241B2 (en) | Computer system | |
| JP2869100B2 (en) | Element processor of parallel computer | |
| JP2840295B2 (en) | Computer data communication system | |
| CN121501743B (en) | Artificial intelligence chips, artificial intelligence processor cores, and electronic devices | |
| JP2840294B2 (en) | Data communication system for parallel computer | |
| JP2975722B2 (en) | Computer data communication system | |
| JP2869101B2 (en) | Data communication system for parallel computer | |
| JP2542922B2 (en) | Data drive type data processor | |
| JPH0696035A (en) | Processing element and parallel processing computer using the same | |
| JP2755769B2 (en) | Data driven data processor | |
| JP2625628B2 (en) | Floating point computer system | |
| JP2834909B2 (en) | Computer data communication system | |
| JP2840325B2 (en) | Data transfer method | |
| JPH06103248A (en) | Parallel processing computer | |
| JPH04281583A (en) | Data driven type processor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |