Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3083582B2 - Parallel processing unit - Google Patents
[go: Go Back, main page]

JP3083582B2 - Parallel processing unit - Google Patents

Parallel processing unit

Info

Publication number
JP3083582B2
JP3083582B2 JP03098615A JP9861591A JP3083582B2 JP 3083582 B2 JP3083582 B2 JP 3083582B2 JP 03098615 A JP03098615 A JP 03098615A JP 9861591 A JP9861591 A JP 9861591A JP 3083582 B2 JP3083582 B2 JP 3083582B2
Authority
JP
Japan
Prior art keywords
packet
processing
ring bus
pipeline
type ring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP03098615A
Other languages
Japanese (ja)
Other versions
JPH05181817A (en
Inventor
篤浩 鈴木
良雄 吉岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP03098615A priority Critical patent/JP3083582B2/en
Publication of JPH05181817A publication Critical patent/JPH05181817A/en
Application granted granted Critical
Publication of JP3083582B2 publication Critical patent/JP3083582B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、高速に情報処理を行な
うための並列処理装置に係り、特に大量のデータを繰返
し処理する科学技術計算に好適なデータフロー型並列処
理装置および複数の処理手段間のネットワークに関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a parallel processing apparatus for performing high-speed information processing, and more particularly to a data flow type parallel processing apparatus and a plurality of processing means suitable for scientific and technical calculations for repeatedly processing a large amount of data. Regarding the network between.

【0002】[0002]

【従来の技術】超並列計算機の複数の処理手段(以降、
単位処理要素;PE:Processing Elementと呼ぶ)を接
続する方式としてバス型、リングバス型、ハイパーキュ
ーブ型、ツリー型、格子型、スター型、網結合型等が知
られている。
2. Description of the Related Art A plurality of processing means of a massively parallel computer (hereinafter, referred to as a plurality of processing means)
As a system for connecting a unit processing element (hereinafter referred to as PE: Processing Element), a bus type, a ring bus type, a hypercube type, a tree type, a lattice type, a star type, a network connection type, and the like are known.

【0003】リングバス型に関しての改良は、「Loop S
tructured Computerについて」,情報処理・計算機アー
キテクチャ研究会資料,56−1、および、「Loop Str
uctured Computerのトラヒック特性」,電子情報通信学
会論文誌’89/3 Vol.J72-D-I No.3,第149
頁〜第156頁、および、「Loop Structured Computer
の特性解析」,並列処理シンポジウムJSPP’89
第321頁〜第328頁で知られている。
[0003] Improvements regarding the ring bus type are described in "Loop S".
About tructured Computer ", Information Processing and Computer Architecture Workshop, 56-1 and" Loop Str
traffic characteristics of uctured Computer, ”IEICE Transactions '89 / 3 Vol. J72-DI No. 3, number 149
Page 156 to "Loop Structured Computer"
Characteristic Analysis ”, Parallel Processing Symposium JSPP'89
Known from pages 321 to 328.

【0004】図8は上記論文中に開示されたLoop Struc
tured Computer(以降LSCと呼ぶ)を示している。図
8中、710,720,730,740は単位処理要素
(PE)、711,721,731,741はシフトレ
ジスタ、750は複数のPE内のシフトレジスタの入出
力を順次接続して構成されたパイプライン型リングバス
である。特に、ホスト計算機との間でパケットの交換を
行なう制御部を構成するPE710をCU(Control Un
it)と呼ぶ。PE720,730,740は、記憶装置
と直接接続されていないため、PE710とパケットを
転送しあって記憶装置へアクセスする。パイプライン型
リングバス750上には、空パケット、データパケッ
ト、結果パケットが詰まっており、各PEはパイプライ
ン型リングバス710上を流れる自PE宛のデータパケ
ットおよび結果パケットを、空パケットまたは他PE宛
の結果パケットと交換する。各PEの処理は、自PE宛
のデータパケットを処理し、他PE宛の結果パケットを
作り出すことによって進行して行く。従来の技術による
LSCの処理方式には以下に述べる3種類がある。
FIG. 8 shows Loop Struc disclosed in the above-mentioned paper.
tured Computer (hereinafter referred to as LSC). 8, 710, 720, 730, and 740 are unit processing elements (PEs), 711, 721, 731, and 741 are shift registers, and 750 is configured by sequentially connecting inputs and outputs of shift registers in a plurality of PEs. This is a pipeline type ring bath. In particular, the PE 710 that constitutes a control unit for exchanging packets with the host computer is controlled by a CU (Control Un
call it). Since the PEs 720, 730, and 740 are not directly connected to the storage device, the PEs transfer packets with the PE 710 to access the storage device. An empty packet, a data packet, and a result packet are packed on the pipeline type ring bus 750, and each PE transmits a data packet and a result packet addressed to the own PE flowing on the pipeline type ring bus 710 to an empty packet or another packet. Exchange with result packet addressed to PE. The processing of each PE proceeds by processing a data packet addressed to the own PE and generating a result packet addressed to the other PE. There are the following three types of LSC processing methods according to the prior art.

【0005】(1)最初に各PEの処理機能を固定して
から処理データをパイプライン的に流す方式。
(1) A method in which processing data of each PE is first fixed and then processing data is flowed in a pipeline.

【0006】(2)処理機能と処理データをともに持つ
処理パケットをパイプライン的に流す方式。
(2) A method in which processing packets having both processing functions and processing data are flowed in a pipeline.

【0007】(3)上記(1),(2)が混在する処理
方式。
(3) A processing method in which the above (1) and (2) coexist.

【0008】パイプライン型リングバスを、CUを介し
て複数接続する処理形態も前記論文により知られてい
る。
A processing mode for connecting a plurality of pipeline ring buses via a CU is also known from the above-mentioned paper.

【0009】[0009]

【発明が解決しようとする課題】上記従来技術において
は、処理性能を向上させようとして一つのパイプライン
型リングバスにPEを増やしていくとパイプライン型リ
ングバスの輪が大きくなり、目的のPEにパケットが届
くまでの転送時間が長くなるという問題点があった。同
様に、処理性能の向上を目的としてPEを増やしていく
とパイプライン型リングバスを流れるデータパケットや
結果パケットのトラヒック量が増してPE内の結果パケ
ットがパイプライン型リングバスに出力できない事態が
生じ、その結果、PE内に自PE宛パケットを取り込む
こともできなくなるために、処理がデットロックすると
いう問題点があった。また、他のパイプライン型リング
バスとは独立なパイプライン型リングバスをCUを介し
て接続していく方式もあるが、CUには、パイプライン
型リングバス間をまたぐPE間のパケットの振り分け処
理に大きな負担がかかるため、パイプライン型リングバ
ス間のパケット転送時間が長くなりシステム性能が著し
く低下するという問題点があった。
In the above-mentioned prior art, if the number of PEs is increased to one pipeline type ring bus in order to improve the processing performance, the ring of the pipeline type ring bus becomes large, and the target PE is increased. However, there is a problem that the transfer time until the packet arrives becomes longer. Similarly, when the number of PEs is increased for the purpose of improving the processing performance, the traffic volume of data packets and result packets flowing through the pipeline-type ring bus increases, and the result packet in the PE cannot be output to the pipeline-type ring bus. As a result, a packet destined for the own PE cannot be captured in the PE, so that the processing is deadlocked. There is also a method in which a pipeline ring bus independent of other pipeline type ring buses is connected via a CU. However, the CU has a method of distributing packets between PEs that cross the pipeline type ring buses. Since a large load is applied to the processing, there is a problem that the packet transfer time between the pipeline type ring buses becomes long and the system performance is remarkably reduced.

【0010】本発明の目的は、多重プログラミング環境
に対応できるPE数を確保するために上記パイプライン
型リングバスのデータパケットおよび結果パケットのト
ラヒック量を容易に最適化することが可能であるネット
ワーク形態と処理方式とを提供することにある。
[0010] It is an object of the present invention to provide a network configuration which can easily optimize the traffic volume of the data packet and the result packet of the pipeline type ring bus in order to secure the number of PEs which can cope with the multiple programming environment. And a processing method.

【0011】[0011]

【課題を解決するための手段】上記目的を達成するため
に、本発明による並列処理装置は、複数のシフトレジス
タをリング状に接続した1層のパイプライン型リングバ
スを複数層設けるとともに、前記パイプライン型リング
バス上を流れるパケットを取り込んで処理する処理手段
を各層の各シフトレジスタに対して設け、さらに、各層
の少なくとも一つの処理手段に対してパケットの授受を
行なうパケット制御手段を設け、前記処理手段に、その
属する層の上の層の処理手段の出力を自層のパイプライ
ン型リングバスに取り込む機能を付与したものである。
In order to achieve the above object, a parallel processing apparatus according to the present invention comprises a plurality of one-layer pipeline-type ring buses in which a plurality of shift registers are connected in a ring shape. Providing processing means for taking in and processing packets flowing on the pipeline type ring bus for each shift register of each layer, further providing packet control means for sending and receiving packets to at least one processing means of each layer, The processing means is provided with a function of taking in the output of the processing means of the layer above the layer to which it belongs to the pipeline ring bus of its own layer.

【0012】前記パケットは、例えば、各処理手段に割
当てる機能を指定する機能情報を含むプログラム・パケ
ットと、該プログラム・パケットにより指定された機能
に基づき処理されるデータを含むデータ・パケットから
なる。
The packet includes, for example, a program packet containing function information for designating a function to be assigned to each processing means, and a data packet containing data processed based on the function designated by the program packet.

【0013】各処理手段は、好ましくは、前記パイプラ
イン型リングバス上を流れるパケットが自処理手段宛の
パケットであるか否かを判定する手段と、該手段の出力
に応じてそのパケットを取り込むか否かを切り換える手
段とを有する。この場合、各処理手段は、前記パイプラ
イン型リングバスからパケットを取り込む際、そのパケ
ットに代えて、上の層の処理手段からのパケットまたは
空パケットを当該パイプライン型リングバス上に乗せる
手段を有することが望ましい。
Each processing means preferably determines whether or not a packet flowing on the pipeline type ring bus is a packet addressed to its own processing means, and takes in the packet in accordance with an output of the means. Means for switching whether or not to perform the operation. In this case, each processing means, when capturing a packet from the pipeline type ring bus, means for placing a packet from the processing means of an upper layer or an empty packet on the pipeline type ring bus instead of the packet. It is desirable to have.

【0014】前記判定する手段には他の層の処理手段に
割当てられたパケットを検知する機能も付与し、該検知
時にそのパケットを下層のパイプライン型リングバスへ
スルーパスする経路を設けるようにしてもよい。
The above-mentioned judging means is also provided with a function of detecting a packet allocated to the processing means of another layer, and a path for passing the packet through to the pipeline ring bus of the lower layer at the time of the detection is provided. Is also good.

【0015】各処理手段は、前記パイプライン型リング
バス上に流れるパケットが空パケットであるか否かを判
定する手段と、該手段の出力に応じて、上の層の処理手
段からのパケットを当該パイプライン型リングバス上に
乗せるか否かを切り換える手段とを有してもよい。
Each processing means includes means for determining whether or not a packet flowing on the pipeline type ring bus is an empty packet, and, in accordance with an output from the means, a packet from a processing means in an upper layer is transmitted. Means for switching whether or not to put on the pipeline ring bus.

【0016】前記パケット制御手段は、好ましくは、第
1の演算を指定する第1のパケットと、該第1の演算の
結果を利用して行なう第2の演算を指定する第2のパケ
ットとを別個の処理手段に割当てる際、前記第1のパケ
ットを割当てる処理手段の層より下の層の処理手段に前
記第2のパケットを割当てるマッピング管理機能を有す
る。
[0016] The packet control means preferably includes a first packet designating a first operation and a second packet designating a second operation performed using a result of the first operation. When allocating to the separate processing means, it has a mapping management function of allocating the second packet to processing means of a layer lower than the layer of the processing means allocating the first packet.

【0017】本発明のその他の構成、および作用効果は
以下の記載により明らかとなろう。
The other constitutions, functions and effects of the present invention will be apparent from the following description.

【0018】[0018]

【作用】本発明は、それぞれ複数の処理手段からなる複
数の層を有し、パケット制御手段が各層の少なくとも一
つの処理手段にパケットを流すことが可能であり、ま
た、処理手段は上下のパイプライン型リングバスに接続
していることからパイプライン型リングバス間のパケッ
ト転送に処理手段を利用可能となるため、各層のパイプ
ライン型リングバスのデータパケットや結果パケットの
トラヒック量を最適な状態とすることができる。
The present invention has a plurality of layers each including a plurality of processing means, the packet control means can flow a packet to at least one processing means of each layer, and the processing means comprises upper and lower pipes. Since it is connected to the line-type ring bus, processing means can be used for packet transfer between the pipeline-type ring buses, so that the traffic volume of data packets and result packets of the pipeline-type ring bus in each layer is optimized. It can be.

【0019】[0019]

【実施例】以下、本発明の実施例について詳細に説明す
る。
Embodiments of the present invention will be described below in detail.

【0020】まず、図1に、本発明による並列処理装置
の全体構成の一例を示す。図1中、101はホスト計算
機、102はパケット制御装置、103は高速パケット
処理装置、104は記憶装置である。ホスト計算機10
1とパケット制御装置102とは、記憶装置104を共
有している。ホスト計算機101とパケット制御装置1
02との間には、ホスト計算機101がパケット制御装
置102に起動を指示する信号と、パケット制御装置1
02がホスト計算機101に処理を終了したことを知ら
せる信号とが授受されいる。高速パケット処理装置10
3は、複数のデータパスとパケット出力要求信号とでパ
ケット制御装置102に接続されている。ホスト計算機
101とパケット制御装置102との間のデータ転送、
およびパケット制御装置102と高速パケット処理装置
103との間のデータ転送は、全てパケットにより行わ
れる。図1のパケット制御装置102と高速パケット処
理装置103の第1列のPE(後述)とが従来のCUに
相当する。パケットの形式にはCU用、PE用にそれぞ
れ二つあり、一つは高級言語等で記述されたプログラム
をホスト計算機101内でコンパイルし記憶装置104
に格納したCUプログラム・パケットおよびCUデータ
・パケット形式、そして、もう一つは記憶装置104に
格納してあるCUプログラム・パケットおよびCUデー
タ・パケットをパケット制御装置102が高速パケット
処理装置103に流すために変換したPEプログラム・
パケットおよびPEデータ・パケット形式である。後者
のパケット形式の構成については後に詳述する。以下、
処理の流れの概略を説明する。
FIG. 1 shows an example of the overall configuration of a parallel processing apparatus according to the present invention. In FIG. 1, 101 is a host computer, 102 is a packet control device, 103 is a high-speed packet processing device, and 104 is a storage device. Host computer 10
1 and the packet control device 102 share the storage device 104. Host computer 101 and packet control device 1
02, the host computer 101 instructs the packet control device 102 to start, and the packet control device 1
02 informs the host computer 101 that the processing has been completed. High-speed packet processing device 10
Reference numeral 3 denotes a plurality of data paths and a packet output request signal, which are connected to the packet control device 102. Data transfer between the host computer 101 and the packet control device 102,
All data transfer between the packet control device 102 and the high-speed packet processing device 103 is performed by packets. The packet control device 102 in FIG. 1 and the PEs (described later) in the first column of the high-speed packet processing device 103 correspond to a conventional CU. There are two packet formats, one for CU and the other for PE. One is a program written in a high-level language or the like, compiled in the host computer 101, and stored in the storage device 104.
The CU program packet and the CU data packet format stored in the storage device 104 and the CU program packet and the CU data packet stored in the storage device 104 are sent to the high-speed packet processing device 103 by the packet control device 102. PE program converted for
Packet and PE data packet format. The configuration of the latter packet format will be described later in detail. Less than,
An outline of the processing flow will be described.

【0021】ホスト計算機101は、パケット制御装置
102に対してパケット処理実行を指示する。この指示
に応じて、パケット制御装置102は記憶装置104に
格納してあるCUプログラム・パケットを読みだし高速
パケット処理装置103に流すためのPEプログラム・
パケットに変換した後、該PEプログラム・パケットを
高速パケット処理装置103にパイプライン的に流し始
める。高速パケット処理装置103内部では、PEプロ
グラム・パケットの内容に従いマッピングが行なわれ
る。ここで、マッピングとは、演算機能を指定する各プ
ログラム・パケットを特定のPEに割当てる処理をい
う。プログラムパケットを受け取ったPEは割当て完了
報告を当該プログラムパケットに付加してパケット制御
装置102へ返送する。パケット制御装置102は、割
当て完了報告をカウントして全てのマッピングが終了し
たことを認識する。その時点で、パケット制御装置10
2は、記憶装置104に格納されているCUデータ・パ
ケットを読みだして高速パケット処理装置103に流す
PEデータ・パケットに変換し、該PEデータ・パケッ
トを高速パケット処理装置103にパイプライン的に流
す。全てのデータ・パケットの処理が終了した時点で、
パケット制御装置102はホスト計算機101に対して
終了報告を行い、同時に高速パケット処理装置103の
当該プログラムのマッピングの解除を行うためにプログ
ラム消去パケットを流し、当該プログラムの処理が終了
する。以上が本装置の処理の大まかな流れである。
The host computer 101 instructs the packet control device 102 to execute packet processing. In response to this instruction, the packet control device 102 reads out the CU program packet stored in the storage device 104 and sends the CU program packet to the high-speed packet processing device 103.
After the conversion into the packet, the PE program packet starts to flow to the high-speed packet processing device 103 in a pipeline manner. In the high-speed packet processing device 103, mapping is performed according to the contents of the PE program packet. Here, the mapping refers to a process of allocating each program packet specifying an arithmetic function to a specific PE. The PE that has received the program packet adds an assignment completion report to the program packet and returns it to the packet control device 102. The packet control device 102 counts the assignment completion report and recognizes that all mapping has been completed. At that time, the packet control device 10
2 reads the CU data packet stored in the storage device 104, converts it into a PE data packet to be sent to the high-speed packet processing device 103, and converts the PE data packet to the high-speed packet processing device 103 in a pipeline manner. Shed. When all data packets have been processed,
The packet control device 102 reports an end to the host computer 101, and at the same time, sends a program erasure packet to release the mapping of the program of the high-speed packet processing device 103, and the process of the program ends. The above is the general flow of the processing of the present apparatus.

【0022】次に、高速パケット処理装置103内部の
動作を説明する。図2は、3行4列の高速パケット処理
装置(トーラス型高速パケット処理装置という)103
の構成の一例を、パケット制御装置102および記憶装
置104とともに示している。211,212,21
3,214,221,222,223,224,23
1,232,233,234は、それぞれPEである。
図2中、それぞれパイプライン型リングバス10,2
0,30で接続している一つの行を層と呼び、PE
(1,1),PE(1,2),PE(1,3),PE
(1,4)を第1層、PE(2,1),PE(2,
2),PE(2,3),PE(2,4)を第2層、PE
(3,1),PE(3,2),PE(3,3),PE
(3,4)を第3層と呼ぶ。各層の第1列のPE(1,
1),PE(2,1),PE(3,1)は、それぞれパ
ケット制御装置102と接続されている。さらにこれら
のPEは、パケット制御装置102に対するパケットと
り込み要求信号を送出する機能を有する。PE(1,
1),PE(2,1),PE(3,1)を除く全てのP
Eは、上層のパイプライン型リングバスからパケットを
取り込み、パケットを処理し、下層のパイプライン型リ
ングバスへ処理済みのパケットを送り出すこと、およ
び、上層のパイプライン型リングバスからパケットを取
り込み、下層のパイプライン型リングバスへパケットを
スルーすることが可能である。PE(1,1),PE
(2,1),PE(3,1)の上下の接続バスはパケッ
ト制御装置102に接続されており、当該接続バスを通
してパケット制御装置102とのパケットの交換が行わ
れる。
Next, the operation inside the high-speed packet processing device 103 will be described. FIG. 2 shows a high-speed packet processing apparatus having three rows and four columns (referred to as a torus-type high-speed packet processing apparatus) 103.
Is shown together with the packet control device 102 and the storage device 104. 211, 212, 21
3,214,221,222,223,224,23
1,232,233,234 are PEs, respectively.
In FIG. 2, the pipeline type ring buses 10, 2 are respectively shown.
One row connected by 0, 30 is called a layer, and PE
(1, 1), PE (1, 2), PE (1, 3), PE
(1,4) is the first layer, PE (2,1), PE (2,
2), PE (2,3), PE (2,4) in the second layer, PE
(3,1), PE (3,2), PE (3,3), PE
(3, 4) is called a third layer. The first row of PEs in each layer (1,
1), PE (2, 1), and PE (3, 1) are connected to the packet control device 102, respectively. Further, these PEs have a function of transmitting a packet capture request signal to the packet control device 102. PE (1,
1), all P except PE (2,1), PE (3,1)
E captures packets from the upper pipelined ring bus, processes the packets, sends processed packets to the lower pipelined ring bus, and captures packets from the upper pipelined ring bus; It is possible to pass a packet to the lower pipeline ring bus. PE (1, 1), PE
The connection buses above and below (2, 1) and PE (3, 1) are connected to the packet controller 102, and packets are exchanged with the packet controller 102 via the connection bus.

【0023】尚、m行n列のトーラス型高速パケット処
理装置にも拡張することができる。また、第3層から第
1層への接続バスを除去した非トーラス型の実施例も考
えられる。この場合、第3層から第1層へのパケットの
転送はパケット制御装置102を介して行なうことにな
る。
The present invention can be extended to a torus-type high-speed packet processing apparatus having m rows and n columns. Further, a non-torus type embodiment in which a connection bus from the third layer to the first layer is removed is also conceivable. In this case, the transfer of the packet from the third layer to the first layer is performed via the packet control device 102.

【0024】図3に、PEの一構成例を示す。図3中、
301,302,303はシフトレジスタを構成するラ
ッチ、310は空パケット判定回路、320は処理パケ
ット判定回路、311,321,322は選択回路、3
23はスルーパス、330は空パケット生成器、340
は処理待ちパケットキュー、341は演算入力ラッチ
A、342は演算入力ラッチB、350は機能決定情報
レジスタ、360は演算・処理部、370はデータ・パ
ケット生成回路、380は出力待ちパケットキュー、3
72はパケット送出要求信号である。パケット送出要求
信号372は、図2の第1列のPE211,221,2
31にのみ必要とされる信号であるが、各PEを同一構
成とするためにはすべてのPEに設けておいてよい。ま
た、300はラッチ301へつながるパイプライン型リ
ングバス入力端子、304はラッチ303の出力を受け
るパイプライン型リングバス出力端子である。隣接する
PE間で、相互にパイプライン型リングバス入力端子3
00とパイプライン型リングバス出力端子304とを接
続することにより、パイプライン型リングバスが構成さ
れる。371はPEデータ・パケット出力端子、381
はPEプログラム/データ・パケット入力端子である。
図2で上下に隣接するPE間で、相互にPEデータ・パ
ケット出力端子371とPEプログラム/データ・パケ
ット入力端子381とをカスケード接続することによ
り、同列のPEがリング状に接続される。つまり、PE
内部のパイプライン型リングバスから取り出した(パケ
ット交換した)データ・パケットが、そのPE内の処理
待ちパケットキュー340から演算・処理部360に渡
り、演算結果はデータ・パケット生成回路370でデー
タ・パケットとなり、PEデータ・パケット出力端子3
71から隣接する下層のPEの出力待ちパケットキュー
380にキューイングされ、下層のパイプライン型リン
グバスへと転送(パケット交換)されるようになってい
る。なお、一つのPE内の出力待ちパケットキュー38
0を同一PE内のデータ・パケット生成回路370の後
段に設けてもよいが、図3のようにパイプライン型リン
グバスをPE内部に取り込んだ構造とすることにより、
出力待ちパケットキュー380とパイプライン型リング
バスとの間の物理的距離、および処理待ちパケットキュ
ー340とパイプライン型リングバスとの間の物理的距
離を短くし、パイプライン型リングバスの高速化を図る
ことができる。
FIG. 3 shows an example of the configuration of the PE. In FIG.
Latches 301, 302, and 303 constitute a shift register, 310 is an empty packet determination circuit, 320 is a processing packet determination circuit, 311, 321 and 322 are selection circuits,
23 is a through path, 330 is an empty packet generator, 340
Is a processing queue, 341 is a calculation input latch A, 342 is a calculation input latch B, 350 is a function determination information register, 360 is a calculation / processing unit, 370 is a data packet generation circuit, 380 is an output waiting packet queue,
72 is a packet transmission request signal. The packet transmission request signal 372 is the PE 211, 221, 2 in the first column of FIG.
Although the signal is required only for 31, it may be provided for all PEs so that each PE has the same configuration. Reference numeral 300 denotes a pipeline type ring bus input terminal connected to the latch 301, and reference numeral 304 denotes a pipeline type ring bus output terminal for receiving the output of the latch 303. Pipeline type ring bus input terminals 3 between adjacent PEs
By connecting 00 and the pipeline type ring bus output terminal 304, a pipeline type ring bus is configured. 371 is a PE data packet output terminal, 381
Is a PE program / data packet input terminal.
By cascading the PE data packet output terminal 371 and the PE program / data packet input terminal 381 mutually between vertically adjacent PEs in FIG. 2, PEs in the same row are connected in a ring. That is, PE
The data packet taken out (packet exchanged) from the internal pipeline type ring bus passes from the processing waiting packet queue 340 in the PE to the operation / processing unit 360, and the operation result is sent to the data packet generation circuit 370 by the data packet generation circuit 370. Becomes a packet, PE data packet output terminal 3
From 71, the packet is queued in the output waiting packet queue 380 of the adjacent lower layer PE, and is transferred (packet exchange) to the lower layer pipeline ring bus. Note that the output waiting packet queue 38 in one PE
0 may be provided at the subsequent stage of the data packet generation circuit 370 in the same PE, but by adopting a structure in which a pipeline type ring bus is incorporated in the PE as shown in FIG.
The physical distance between the output waiting packet queue 380 and the pipeline type ring bus and the physical distance between the processing waiting packet queue 340 and the pipeline type ring bus are shortened, and the speed of the pipeline type ring bus is increased. Can be achieved.

【0025】図4および図5はPEプログラム/データ
・パケット形式の一実施例を示している。400,42
0はタスク番号(TN)、401,421はパケット番
号(PN)である。402,422は、そのパケットが
割当てられるPEを指定する処理先PEアドレス(LN
PE)である。403は、プログラム・パケットの機能
を示す演算コード(FC)、404は発火条件(E
C)、405は出力データ型(DT)、424は後述す
るRTデータの型(DT)、406は演算結果を出力す
る個数(OC)、407,408,409,410は出
力先PEアドレス(LNPE)である。また、423は
コンディションコード(CC)、425はCUがデータ
管理するためのデータのシリアル番号(DN)、426
は演算データおよび結果データ(RT)を示している。
出力先PEアドレス407,408,409,410に
は、演算器の複数の入力ポートのいずれ(A側またはB
側)へ出力されるかを示す情報も含まれている。発火条
件404の左のビットが‘1’のとき演算入力Aが揃
い、右のビットが‘1’のとき演算入力Bが揃っている
ことを意味する。演算コード403が‘DATA’かつ
発火条件404が‘10’の時、407フィールドおよ
び408フィールドが演算入力Aの定数として、また、
演算コード403が‘DATA’かつ発火条件404が
‘01’の時、409フィールドおよび410フィール
ドが演算入力Bの定数となる。空パケットはタスク番号
400,420が‘0’であるときであり、また、プロ
グラム消去パケットはPEデータ・パケットのタスク番
号420が‘0’以外であり、かつパケット番号421
が‘0’であるときである。コンディションコード42
3が‘0’以外の場合、そのPEデータ・パケットの演
算入力データ426に演算エラーがあることを示してい
る。出力データ型406は、出力データが実数であるか
整数であるかを、それぞれ‘F’,‘I’で示す。
FIGS. 4 and 5 show one embodiment of the PE program / data packet format. 400, 42
0 is a task number (TN), and 401 and 421 are packet numbers (PN). Reference numerals 402 and 422 denote processing destination PE addresses (LN) that specify the PE to which the packet is assigned.
PE). 403 is an operation code (FC) indicating the function of the program packet, and 404 is a firing condition (E
C), 405 is an output data type (DT), 424 is an RT data type (DT) described later, 406 is the number of output results (OC), 407, 408, 409, 410 are output destination PE addresses (LNPE) ). 423 is a condition code (CC); 425 is a data serial number (DN) for data management by the CU;
Indicates operation data and result data (RT).
The output destination PE addresses 407, 408, 409, and 410 have any of a plurality of input ports (A side or B
Side) is also included. When the left bit of the firing condition 404 is “1”, the arithmetic inputs A are aligned, and when the right bit is “1”, the arithmetic inputs B are aligned. When the operation code 403 is “DATA” and the firing condition 404 is “10”, the 407 field and the 408 field are constants of the operation input A, and
When the operation code 403 is “DATA” and the firing condition 404 is “01”, the fields 409 and 410 are constants of the operation input B. An empty packet is when the task numbers 400 and 420 are “0”, and a program erasure packet is when the task number 420 of the PE data packet is other than “0” and the packet number 421
Is '0'. Condition code 42
When 3 is other than '0', it indicates that there is an operation error in the operation input data 426 of the PE data packet. The output data type 406 indicates whether the output data is a real number or an integer by 'F' and 'I', respectively.

【0026】図6は、PEの動作を説明するためのプロ
グラムの一例である。同図(a)は高級言語FORTR
ANで記述した1次元配列の乗算と加算を行うプログラ
ム、同図(b)は同図(a)のプログラムをホスト計算
機がコンパイルして得られたCUパケットに対してさら
にパケット制御装置102が変換処理を行なって得られ
たPEプログラム・パケットを示している。同図(c)
は同図(a)のPEプログラム・パケットに対応するP
Eデータ・パケットを示している。
FIG. 6 is an example of a program for explaining the operation of the PE. Figure (a) shows the high-level language FORTR.
A program for performing multiplication and addition of a one-dimensional array described in AN. FIG. 12B shows a packet controller 102 further converting a CU packet obtained by compiling the program shown in FIG. It shows a PE program packet obtained by performing the processing. Figure (c)
Is a P corresponding to the PE program packet shown in FIG.
5 shows an E data packet.

【0027】図6(b)において、PEプログラム・パ
ケット501は、タスク番号が‘1’でパケット番号が
‘1’、演算コードが乗算‘*’(この場合、A(i)
*B(i))であり、演算結果を実数としてPEアドレ
ス‘23’の演算器入力A側に出力するパケットを表
し、PEアドレス‘12’にマッピングされることを示
している。パケット502は、タスク番号が‘1’でパ
ケット番号が‘2’、演算コードが乗算‘*’(この場
合、パケット501の計算結果*S)であり、演算結果
を実数としてPEアドレス34の演算器入力A側に出力
するパケットを表し、PEアドレス‘23’にマッピン
グされることを示している。パケット503は、タスク
番号が‘1’でパケット番号が‘3’であり、PEアド
レス‘23’の演算器のA側に格納する定数SをPEア
ドレス23にマッピングすること表している。パケット
504は、タスク番号が‘1’でパケット番号が
‘4’、演算コードが加算‘+’(この場合、パケット
502の計算結果+C(i))であり、演算結果を実数
としてPEアドレス11の演算器入力A側に出力するパ
ケットを表し、PEアドレス‘34’にマッピングされ
ることを示している。パケット505は、タスク番号が
‘1’、パケット番号が‘5’で、演算器のB側入力に
パケット504の演算結果が送られて来たとき、それを
パケット制御装置102に転送するパケットを表し、P
Eアドレス11にマッピングされることを示している。
In FIG. 6B, the PE program packet 501 has a task number of “1”, a packet number of “1”, and an operation code of “*” (in this case, A (i)
* B (i)), which represents a packet to be output to the operation unit input A side of the PE address '23' with the operation result as a real number, and indicates that the packet is mapped to the PE address '12'. In the packet 502, the task number is “1”, the packet number is “2”, and the operation code is multiplication “*” (in this case, the calculation result * S of the packet 501). Represents a packet to be output to the device input A side, and indicates that the packet is mapped to the PE address '23'. The packet 503 has a task number of “1” and a packet number of “3”, and indicates that a constant S stored on the A side of the arithmetic unit having the PE address “23” is mapped to the PE address 23. In the packet 504, the task number is “1”, the packet number is “4”, the operation code is “+” (in this case, the calculation result of the packet 502 + C (i)), and the calculation result is a real number and the PE address 11 Indicates that the packet is output to the computing unit input A side, and is mapped to the PE address '34'. The packet 505 has a task number of “1”, a packet number of “5”, and, when the operation result of the packet 504 is sent to the B-side input of the arithmetic unit, the packet to be transferred to the packet control device 102. Represents, P
This indicates that the data is mapped to the E address 11.

【0028】図6(c)において、パケット510は、
タスク番号が‘1’、パケット番号が‘6’、転送先P
Eアドレスが‘12’のA側であり、PE内演算器入力
A側のRTデータの型が実数であることを表している。
パケット511は、タスク番号が‘1’でパケット番号
が‘7’、転送先PEアドレスが‘12’のB側であ
り、PE内演算器入力B側のRTデータの型が実数であ
ることを表している。パケット512は、タスク番号が
‘1’でパケット番号が‘8’、転送先PEアドレスが
‘34’のB側であり、PE内演算器入力B側のRTデ
ータの型が実数であることを表している。510,51
1,512の形式のPEデータ・パケットが、A
(1),B(1),C(1)からA(100),B(1
00),C(100)まで、パケット制御装置102に
より生成される。最後に、プログラム消去パケット51
3が生成される。
In FIG. 6C, the packet 510 is
Task number is '1', packet number is '6', transfer destination P
The E address is “12” on the A side, which indicates that the type of the RT data on the input A side of the processing unit in the PE is a real number.
The packet 511 indicates that the task number is “1”, the packet number is “7”, the transfer destination PE address is “B”, the B side, and the type of RT data on the B input side of the PE in the PE is a real number. Represents. The packet 512 indicates that the task number is “1”, the packet number is “8”, and the destination PE address is “34” on the B side, and that the type of RT data on the B input side of the PE in the PE is a real number. Represents. 510,51
The PE data packet in the format of 1,512 is A
(1), B (1), C (1) to A (100), B (1
00) and C (100) are generated by the packet control device 102. Finally, the program erase packet 51
3 is generated.

【0029】図7は、図6(b)に示したPEプログラ
ム・パケット群を高速パケット処理装置103にマッピ
ングした状態を示している。すなわち、PEプログラム
・パケット501,502,503,504,505
は、それぞれPEアドレス‘12’,‘23’,‘2
3’,‘34’,‘11’に割当てられている。パケッ
ト制御装置102は、各パケットを、通常その割当て先
のPEの属する層の第1列のPEを介してパイプライン
型リングバスに流すが、当該層の第1列のPEの出力待
ちパケットキュー380が込み合っている等の場合、他
の層から流すことも可能である。パケット処理装置10
2から流されるPEデータパケットは主に実線上を流れ
る。また、PE内処理待ちパケットキュー340が満杯
で取り込まれなかったパケットは点線で示されるパイプ
ライン型リングバスをPE内処理待ちキューが空くまで
回り続ける。
FIG. 7 shows a state in which the group of PE program packets shown in FIG. That is, the PE program packets 501, 502, 503, 504, 505
Are the PE addresses' 12 ',' 23 'and' 2, respectively.
3 ',' 34 ', and' 11 '. The packet control device 102 normally causes each packet to flow to the pipeline-type ring bus via the PE in the first row of the layer to which the PE to which the packet is assigned, but waits for the output queue of the PE in the first row of the layer. If 380 is crowded, it is also possible to flow from another layer. Packet processing device 10
The PE data packet flowing from 2 flows mainly on a solid line. Packets that are not taken in because the processing queue in the PE queue 340 are full continue to rotate around the pipeline ring bus indicated by the dotted line until the processing queue in the PE becomes empty.

【0030】図3のPEの構成、図4のPEプログラム
・パケット形式、および図9のフローチャートを参照
し、具体的なマッピングの動作について説明する。
The specific mapping operation will be described with reference to the configuration of the PE in FIG. 3, the PE program packet format in FIG. 4, and the flowchart in FIG.

【0031】(1)まず、パケット制御装置102は記
憶装置104からCUプログラム・パケットを読みだ
し、これをPEプログラム・パケットに変換した後(S
1)、処理先PEアドレス402に従い、パケット制御
装置102と接続されているPEの一つへそのPEプロ
グラム・パケットを転送する(S2)。
(1) First, the packet control device 102 reads a CU program packet from the storage device 104 and converts it into a PE program packet (S
1) According to the processing destination PE address 402, the PE program packet is transferred to one of the PEs connected to the packet control apparatus 102 (S2).

【0032】(2)このPEプログラム・パケットは、
当該PEの出力待ちパケットキュー380に格納され
る。
(2) This PE program packet is
It is stored in the output waiting packet queue 380 of the PE.

【0033】(3)空パケット判定回路310は、パイ
プライン型リングバスを常に監視しており(S3)、タ
スク番号が‘0’、つまり空パケットであることを検知
した場合、セレクタ311をパイプライン型リングバス
の流れから出力待ちパケットキュー380の出力へ切り
替え(S15)、出力待ちパケットキュー380に格納
してあるPEプログラム・パケットをパイプライン型リ
ングバスに乗せる。出力待ちパケットキュー380が空
の場合(S14)、セレクタ311の切り替えは起こら
ない。
(3) The empty packet determination circuit 310 constantly monitors the pipeline type ring bus (S3), and when detecting that the task number is "0", that is, an empty packet, sets the selector 311 to the pipe. The flow from the line-type ring bus is switched to the output of the output-waiting packet queue 380 (S15), and the PE program packet stored in the output-waiting packet queue 380 is put on the pipeline-type ring bus. When the output waiting packet queue 380 is empty (S14), switching of the selector 311 does not occur.

【0034】(4)処理パケット判定回路320は、パ
イプライン型リングバスを常に監視しており(S4)、
PEアドレスが機能決定情報レジスタ350に格納され
ているPEアドレスと等しい場合、セレクタ321をパ
イプライン型リングバスの流れから処理待ちパケットキ
ュー340の方へ、また、セレクタ322をパイプライ
ン型リングバスの流れから空パケット生成器330の方
へ同時に切り替え(S8)、処理待ちパケットキュー3
40に当該PEプログラム・パケットを格納すると同時
に、パイプライン型リングバスに空パケットを乗せる。
なお、機能決定情報レジスタ350のPEアドレスフィ
ールドには、そのPEのPEアドレスをシステム立ち上
げ時等に格納し、あるいは固定的に設定しておく。空パ
ケットをパイプライン型リングバスに乗せる際、出力待
ちパケットキュー380にパケットがあれば(S9)、
セレクタ311をパイプライン型リングバスの流れから
出力待ちパケットキュー380の方に切り替え(S1
2)、空パケットの代わりに当該パケットキュー380
内のパケットをパイプライン型リングバスに乗せる。処
理パケット判定回路320は、パイプライン型リングバ
ス上を流れるパケット(ラッチ301にラッチされたも
の)の割当て先PEの層が自層と異なるか否かも判定す
る(S5)。異なると判定された場合には、セレクタ3
21を自層のパイプライン型リングバスの流れからスル
ーパス323の方へ切り替え(S7)、下層の出力待ち
パケットキュー380を介して下層のパイプライン型リ
ングバスへ当該パケットを流し込む。
(4) The processing packet judgment circuit 320 constantly monitors the pipeline type ring bus (S4).
When the PE address is equal to the PE address stored in the function determination information register 350, the selector 321 is moved from the flow of the pipeline type ring bus to the packet queue 340 to be processed, and the selector 322 is moved to the pipeline ring bus. The flow is simultaneously switched from the flow to the empty packet generator 330 (S8), and the queued packet queue 3 for processing is processed.
At the same time as storing the PE program packet in 40, an empty packet is put on the pipeline type ring bus.
In the PE address field of the function determination information register 350, the PE address of the PE is stored when the system is started, or is fixedly set. When placing an empty packet on the pipeline ring bus, if there is a packet in the output waiting packet queue 380 (S9),
The selector 311 is switched from the flow of the pipeline type ring bus to the output waiting packet queue 380 (S1).
2) instead of the empty packet, the packet queue 380
The packets in the pipeline ring bus. The processing packet determination circuit 320 also determines whether or not the layer of the PE to which the packet (latched by the latch 301) flowing on the pipeline type ring bus is assigned is different from its own layer (S5). If it is determined that they are different, the selector 3
21 is switched from the flow of the pipeline ring bus of the own layer to the through path 323 (S7), and the packet is flowed into the pipeline ring bus of the lower layer via the output queue queue 380 of the lower layer.

【0035】(5)上記処理(4)で処理待ちパケット
キュー340に格納したPEプログラム・パケットの演
算コード403が‘DATA’以外ならば(S10)、
そのPEプログラム・パケットを機能決定情報レジスタ
350に格納する(S11)。演算コード403が‘D
ATA’であれば、このPEプログラム・パケットの発
火条件404に従い、定数を演算入力ラッチA341ま
たは演算入力ラッチB342に格納する(S13)。
(5) If the operation code 403 of the PE program packet stored in the processing waiting packet queue 340 in the above processing (4) is other than 'DATA' (S10)
The PE program packet is stored in the function determination information register 350 (S11). Operation code 403 is' D
If it is ATA ', the constant is stored in the operation input latch A341 or the operation input latch B342 according to the firing condition 404 of the PE program packet (S13).

【0036】(6)パケット制御装置102の制御下
で、CUプログラム・パケットがなくなるまで(S
6)、上記(1)〜(5)の処理が並列に繰返され、全
てのプログラム・パケットが各層の各PEに割り当てら
れる。
(6) Under the control of the packet controller 102, until there is no CU program packet (S
6) The above processes (1) to (5) are repeated in parallel, and all program packets are allocated to each PE in each layer.

【0037】以上がマッピング動作である。次に、図3
のPEの構成、図4のPEプログラム・パケット形式、
および図10のフローチャートを参照し、具体的なマッ
ピングの動作について説明する。
The above is the mapping operation. Next, FIG.
Configuration of PE, PE program packet format of FIG. 4,
A specific mapping operation will be described with reference to FIG.

【0038】(1)パケット制御装置102は、記憶装
置104からCUデータ・パケットを読みだし、これを
PEデータ・パケットに変換した後(S21)、処理先
PEアドレス422に従い、パケット制御装置102と
接続しているPEの一つへそのPEデータ・パケットを
転送する(S22)。
(1) The packet control device 102 reads out a CU data packet from the storage device 104, converts it into a PE data packet (S21), and, based on the processing destination PE address 422, communicates with the packet control device 102. The PE data packet is transferred to one of the connected PEs (S22).

【0039】(2)このPEデータ・パケットは当該P
Eの出力待ちパケットキュー380に格納される。
(2) The PE data packet is
E is stored in the output queue queue 380.

【0040】(3)空パケット判定回路310は、パイ
プライン型リングバスを常に監視しており(S23)、
タスク番号が‘0’、つまり空パケットであることを検
知した場合、セレクタ311をパイプライン型リングバ
スの流れから出力待ちパケットキュー380の出力へ切
り替え(S39)、出力待ちパケットキュー380に格
納してあるPEデータ・パケットをパイプライン型リン
グバスに乗せる。出力待ちパケットキュー380が空の
場合(S38)、セレクタ311の切り替えは起こらな
い。
(3) The empty packet determination circuit 310 constantly monitors the pipeline type ring bus (S23).
When detecting that the task number is '0', that is, an empty packet, the selector 311 is switched from the flow of the pipeline type ring bus to the output of the output waiting packet queue 380 (S39) and stored in the output waiting packet queue 380. The loaded PE data packet is put on a pipeline type ring bus. When the output waiting packet queue 380 is empty (S38), the switching of the selector 311 does not occur.

【0041】(4)処理パケット判定回路320はパイ
プライン型リングバスを常に監視しており(S24)、
PEアドレスが機能決定情報レジスタ350に格納され
ているPEアドレスと等しい場合、セレクタ321をパ
イプライン型リングバスの流れから処理待ちパケットキ
ュー340の方へ、また、セレクタ322をパイプライ
ン型リングバスの流れから空パケット生成器330の方
へ同時に切り替え(S25)、処理待ちパケットキュー
340にそのPEプログラム・パケットを格納すると同
時に、パイプライン型リングバスに空パケットを乗せ
る。この時、出力待ちパケットキュー380にパケット
があれば(S26)、セレクタ311をパイプライン型
リングバスの流れから出力待ちパケットキュー380の
方に切り替え(S35)、当該パケットキュー380内
のパケットをパイプライン型リングバスに乗せる。処理
パケット判定回路320は、割当て先PEの属する層が
自層と異なる場合には(S36)、セレクタ321を自
層のパイプライン型リングバスの流れからスルーパス3
23の方へ切り替え(S37)、下層の出力待ちパケッ
トキュー380を介して下層のパイプライン型リングバ
スへそのパケットを流し込む。
(4) The processing packet judgment circuit 320 constantly monitors the pipeline type ring bus (S24).
When the PE address is equal to the PE address stored in the function determination information register 350, the selector 321 is moved from the flow of the pipeline type ring bus to the packet queue 340 to be processed, and the selector 322 is moved to the pipeline ring bus. The flow is simultaneously switched to the empty packet generator 330 (S25), and the PE program packet is stored in the processing waiting packet queue 340, and at the same time, the empty packet is put on the pipeline type ring bus. At this time, if there is a packet in the output waiting packet queue 380 (S26), the selector 311 is switched from the flow of the pipeline type ring bus to the output waiting packet queue 380 (S35), and the packet in the packet queue 380 is piped. Put it on a line-type ring bath. When the layer to which the assignment destination PE belongs is different from the own layer (S36), the processing packet determination circuit 320 determines the selector 321 from the flow of the pipeline ring bus of the own layer to the through path 3
23 (S37), and the packet is sent to the lower-layer pipeline-type ring bus via the lower-layer output waiting packet queue 380.

【0042】(5)上記処理(4)で処理待ちパケット
キュー340に格納したPEデータ・パケットのパケッ
ト番号421が‘0’のとき(S27)、機能決定情報
レジスタ350を初期状態にする(S34)。PEデー
タ・パケットのコンディション・コード423が‘0’
であれば(S29)、演算・処理部360の、PEアド
レス422で指定された演算入力側にRTデータ426
を流しこむ。コンディション・コード423が‘0’以
外、つまり前の処理で演算エラーがあったときには、そ
のコンディション・コード423に定められた例外処理
を行う(S33)。なお、機能決定情報レジスタ350
内の発火条件の‘0’ビットは、演算データが所定の入
力側に取り込まれたとき‘1’へ変えられる。
(5) When the packet number 421 of the PE data packet stored in the processing waiting packet queue 340 in the above process (4) is '0' (S27), the function determination information register 350 is initialized (S34). ). The condition code 423 of the PE data packet is '0'
If (S29), the RT data 426 is input to the operation input side of the operation / processing unit 360 designated by the PE address 422.
Pour in. If the condition code 423 is other than “0”, that is, if there is an operation error in the previous processing, exception processing defined in the condition code 423 is performed (S33). Note that the function determination information register 350
The '0' bit of the firing condition is changed to '1' when the operation data is taken into a predetermined input side.

【0043】(6)機能決定情報レジスタ350内の発
火条件が‘11’となった場合(S28)、つまり、演
算データが揃った場合、そのPEデータ・パケットは演
算・処理部360で処理され(S30)、演算結果をデ
ータ・パケット生成回路370に送出して、PEデータ
・パケットを生成する(S31)。
(6) When the firing condition in the function determination information register 350 has become “11” (S 28), that is, when the operation data is complete, the PE data packet is processed by the operation / processing section 360. (S30) The calculation result is sent to the data packet generation circuit 370 to generate a PE data packet (S31).

【0044】(7)データ・パケット生成回路370
は、機能決定情報レジスタ350の演算結果を出力する
個数406と、出力先PEアドレス407,408,4
09,410とに従い、出力する個数分のPEデータ・
パケットを生成する。これらのPEデータ・パケットは
下層のPEの出力待ちパケットキュー380に格納され
る。
(7) Data packet generation circuit 370
Is the number 406 of output of the operation result of the function determination information register 350, and the output destination PE addresses 407, 408, 4
09, 410, the number of PE data to be output
Generate a packet. These PE data packets are stored in the output waiting packet queue 380 of the lower layer PE.

【0045】(8)上記(3)〜(7)の動作が全PE
で並列におこなわれる。但し、機能決定情報レジスタ3
50の演算コード403がOUT機能であるPEでは、
機能決定情報レジスタ350内の発火条件が‘11’の
場合、データ・パケット生成回路370はパケット制御
装置102に対してパケット送出要求372を送出する
と共に該データ・パケット生成回路370が生成したP
Eデータ・パケットをパケット制御装置102に流し込
む。そして、パケット制御装置102は記憶装置104
に当該結果を格納する。
(8) The above operations (3) to (7) are performed for all PEs.
Are performed in parallel. However, the function determination information register 3
In the PE where the operation code 403 of 50 is the OUT function,
When the firing condition in the function determination information register 350 is “11”, the data packet generation circuit 370 sends a packet transmission request 372 to the packet control device 102 and the P generated by the data packet generation circuit 370.
The E data packet flows into the packet controller 102. Then, the packet control device 102
To store the result.

【0046】(9)パケット制御装置102の制御下
で、CUデータ・パケットがなくなるまで(S32)、
上記(1)〜(8)までの処理が並列に繰返され、パケ
ット制御装置102は、全ての処理済みデータ・パケッ
トを受け取った時点でプログラム消去パケット513を
流し、当該プログラムで使用していたPEを他のタスク
のために開放する。
(9) Under the control of the packet controller 102, until there are no more CU data packets (S32)
The above processes (1) to (8) are repeated in parallel, and when the packet control device 102 receives all the processed data packets, it sends the program erasure packet 513 and the PE used in the program concerned. Frees up for other tasks.

【0047】[0047]

【発明の効果】本発明によれば、パイプライン型リング
バスに複数のPEを接続した構造を一つの層とし、PE
を介して層間接続を行なうことにより、パケット制御装
置を介することなく一つのパイプライン型リングバスか
ら他のパイプライン型リングバスにパケットが流れるた
め、パケット制御装置の負担が軽減され、その結果、パ
ケット制御装置はより多くのデータ・パケットを高速パ
ケット処理装置に流すことができ、多くのタスクが効率
よく並列に多重処理できる。
According to the present invention, a structure in which a plurality of PEs are connected to a pipeline type ring bus is formed as one layer,
By performing inter-layer connection via, packets flow from one pipeline-type ring bus to another without using a packet control device, so that the load on the packet control device is reduced, and as a result, The packet controller can pass more data packets to the high-speed packet processor, and many tasks can be efficiently multiplexed in parallel.

【0048】さらに、データ・パケットはPEの上層の
パイプライン型リングバスから入り、PE内演算器で処
理され、PEの下層のパイプライン型リングバスへと流
れていくため、PE内の結果パケットがパイプライン型
リングバスに出力できずにデットロックするおそれも軽
減される。
Further, the data packet enters from the pipeline ring bus in the upper layer of the PE, is processed by the arithmetic unit in the PE, and flows to the pipeline ring bus in the lower layer of the PE. Is not output to the pipeline type ring bus and the risk of deadlock is reduced.

【0049】層間のスルーパスを設けることにより、層
違いのパケットを迅速に目的の層へ転送することができ
る。勿論、各層のPEとCUが接続することで、連続し
た層のPEを割り当てられない場合でも、CUを介して
目的の層にデータを流し込むことができ、パケット制御
装置(およびPE)の利用効率を高めることが容易であ
る。
By providing a through path between layers, a packet of a different layer can be quickly transferred to a target layer. Of course, by connecting the PE and the CU of each layer, even when the PE of the continuous layer cannot be allocated, the data can flow into the target layer via the CU, and the utilization efficiency of the packet control device (and the PE) can be improved. Is easy to increase.

【0050】また、パイプライン型リングバスの一部を
構成するレジスタをPEに内蔵させることにより、パイ
プライン型リングバスと出力待ちパケットキューとの
間、および、パイプライン型リングバスと処理待ちパケ
ットキューとの間、の物理的距離が短くなるために、パ
イプライン型リングバスの高速化を図ることができる。
Further, by incorporating a register constituting a part of the pipeline type ring bus into the PE, the register between the pipeline type ring bus and the output waiting packet queue, and between the pipeline type ring bus and the processing waiting packet can be obtained. Since the physical distance from the queue is short, the speed of the pipeline type ring bus can be increased.

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

【図1】本発明の一構成例を示すブロック図。FIG. 1 is a block diagram showing a configuration example of the present invention.

【図2】本発明による3行4列のトーラス型高速パケッ
ト処理装置の一実施例の構成を示すブロック図。
FIG. 2 is a block diagram showing a configuration of an embodiment of a torus-type high-speed packet processing apparatus having three rows and four columns according to the present invention.

【図3】図2の単位処理要素(PE)の一構成例を示す
ブロック図。
FIG. 3 is a block diagram showing a configuration example of a unit processing element (PE) in FIG. 2;

【図4】実施例の装置に使用されるPEプログラム・パ
ケット形式の一例の説明図。
FIG. 4 is an explanatory diagram illustrating an example of a PE program packet format used in the apparatus according to the embodiment;

【図5】実施例の装置に使用されるPEデータ・パケッ
ト形式の一例の説明図。
FIG. 5 is an explanatory diagram illustrating an example of a PE data packet format used in the apparatus according to the embodiment;

【図6】実施例のPE動作を説明するためのプログラム
例の説明図。
FIG. 6 is an explanatory diagram of a program example for explaining a PE operation according to the embodiment;

【図7】実施例におけるプログラム・マッピング例の説
明図。
FIG. 7 is an explanatory diagram of an example of program mapping in the embodiment.

【図8】従来の高速パケット処理装置の構成のブロック
図。
FIG. 8 is a block diagram of a configuration of a conventional high-speed packet processing device.

【図9】実施例におけるプログラム・マッピングのフロ
ーチャート。
FIG. 9 is a flowchart of program mapping in the embodiment.

【図10】実施例における演算処理のフローチャート。FIG. 10 is a flowchart of a calculation process in the embodiment.

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

101…ホスト計算機、102…パケット制御装置、1
03…高速パケット処理装置、104…記憶装置、21
1,212,213,214,221,222,22
3,224,231,232,233,234…単位処
理要素、300…パイプライン型リングバス入力端子、
301,302,303…ラッチ、304…パイプライ
ン型リングバス出力端子、310…空パケット判定回
路、311,321,322…セレクタ、320…処理
パケット判定回路、323…スルーパス、330…空パ
ケット生成器、340…処理待ちパケットキュー、34
1…演算入力ラッチA、342…演算入力ラッチB、3
50…機能決定情報レジスタ、360…演算・処理部、
370…データ・パケット生成回路、371…PEデー
タ・パケット出力端子、372…パケット送出要求、3
80…出力待ちパケットキュー、381…PEプログラ
ム/データ・パケット入力端子、400,420…タス
ク番号、401,421…パケット番号、402,42
2…処理先PEアドレス、403…演算コード、404
…発火条件、405…出力データ型、406…出力個
数、407,408,409,410…出力先PEアド
レスおよび演算器入力ポート指定、423…コンディシ
ョン・コード、424…RTデータ型、425…データ
番号、426…演算データおよび結果データ、501,
502,503,504,、505…PEプログラム・
パケット、510,511,512…PEデータ・パケ
ット、513…プログラム消去パケット、710…制御
部、720,730,740…処理要素、711,71
2,713,714…シフトレジスタ。
101: Host computer, 102: Packet controller, 1
03: High-speed packet processing device, 104: Storage device, 21
1,212,213,214,221,222,22
3, 224, 231, 232, 233, 234: unit processing element, 300: pipeline type ring bus input terminal
Reference numerals 301, 302, 303: latch, 304: pipeline type ring bus output terminal, 310: empty packet determination circuit, 311, 321, 322 ... selector, 320: processing packet determination circuit, 323: through path, 330: empty packet generator 340... Queue for processing, 34
1 ... operation input latch A, 342 ... operation input latch B, 3
50: Function determination information register, 360: Operation / processing unit
370: data packet generation circuit; 371: PE data packet output terminal; 372: packet transmission request;
80: output waiting packet queue, 381: PE program / data packet input terminal, 400, 420: task number, 401, 421: packet number, 402, 42
2: Processing destination PE address, 403: Operation code, 404
... ignition condition, 405 ... output data type, 406 ... output number, 407,408,409,410 ... output destination PE address and operation unit input port designation 423 ... condition code 424 ... RT data type 425 ... data number , 426 ... operation data and result data, 501
502, 503, 504, 505 ... PE program
Packets, 510, 511, 512: PE data packet, 513: program erase packet, 710: control unit, 720, 730, 740: processing element, 711, 71
2,713,714... Shift register.

フロントページの続き (56)参考文献 並列処理シンポジウムJSPP’89論 文集 Feb.2−4 1989 p321− 328 吉岡良雄「Loop Struc tured Computerの特性解 析」 電子情報通信学会論文誌D−▲I▼ VOL.J72 NO.3 MARCH 1989 p149−156 吉岡良雄「Loop Structured Comput erのトラヒック特性」 (58)調査した分野(Int.Cl.7,DB名) G06F 15/16 610 G06F 13/36 530 G06F 15/82 JICSTファイル(JOIS)Continuation of the front page (56) References Parallel Processing Symposium JSPP'89 Papers Feb. 2-4 1989 pp. 321-328 Yoshio Yoshioka "Characteristic analysis of Loop Structured Computer" Transactions of the Institute of Electronics, Information and Communication Engineers D- ▲ I VOL. J72 NO. 3 MARCH 1989, p.149-156 Yoshio Yoshioka, "Traffic Characteristics of Loop Structured Computer" (58) Fields investigated (Int. Cl. 7 , DB name) G06F 15/16 610 G06F 13/36 530 G06F 15/82 JICST file ( JOIS)

Claims (11)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数のシフトレジスタをリング状に接続し
た1層のパイプライン型リングバスを複数層設けるとと
もに、 前記パイプライン型リングバス上を流れるパケットを取
り込んで処理する処理手段を各層の各シフトレジスタに
対して設け、 さらに、各層の少なくとも一つの処理手段に対してパケ
ットの授受を行なうパケット制御手段を設け、 前記処理手段に、その属する層の上の層の処理手段の出
力を自層のパイプライン型リングバスに取り込む機能を
付与したことを特徴とする並列処理装置。
1. A single-layer pipeline-type ring bus in which a plurality of shift registers are connected in a ring shape is provided in a plurality of layers, and processing means for receiving and processing packets flowing on the pipeline-type ring bus is provided in each layer. A shift register; and a packet control unit for transmitting and receiving a packet to and from at least one processing unit of each layer, wherein the processing unit outputs an output of a processing unit of a layer above the layer to which the unit belongs. A parallel processing device characterized by adding a function of taking in a pipeline type ring bus.
【請求項2】前記パケットは、各処理手段に割当てる機
能を指定する機能情報を含むプログラム・パケットと、
該プログラム・パケットにより指定された機能に基づき
処理されるデータを含むデータ・パケットからなること
を特徴とする請求項1記載の並列処理装置。
2. The method according to claim 1, wherein the packet is a program packet including function information designating a function to be assigned to each processing means.
2. The parallel processing device according to claim 1, comprising a data packet including data processed based on a function specified by the program packet.
【請求項3】各処理手段は、前記パイプライン型リング
バス上を流れるパケットが自処理手段宛のパケットであ
るか否かを判定する手段と、該手段の出力に応じてその
パケットを取り込むか否かを切り換える手段とを有する
ことを特徴とする請求項1または2記載の並列処理装
置。
3. Each of the processing means determines whether or not a packet flowing on the pipeline type ring bus is a packet addressed to its own processing means, and determines whether or not to take in the packet according to the output of the means. 3. The parallel processing device according to claim 1, further comprising means for switching whether or not the parallel processing is performed.
【請求項4】各処理手段は、前記パイプライン型リング
バスからパケットを取り込む際、そのパケットに代え
て、上の層の処理手段からのパケットまたは空パケット
を当該パイプライン型リングバス上に乗せる手段を有す
ることを特徴とする請求項3記載の並列処理装置。
4. When each processing means takes in a packet from the pipeline type ring bus, it places a packet from the processing means of an upper layer or an empty packet on the pipeline type ring bus instead of the packet. 4. The parallel processing apparatus according to claim 3, further comprising: means.
【請求項5】前記判定する手段は、他の層の処理手段に
割当てられたパケットを検知する機能も有し、更に該検
知時にそのパケットを下層のパイプライン型リングバス
へスルーパスする経路を設けたことを特徴とする請求項
3記載の並列処理装置。
5. The determining means has a function of detecting a packet assigned to a processing means of another layer, and further provides a path through which the packet is passed through to a pipeline ring bus of a lower layer at the time of the detection. 4. The parallel processing device according to claim 3, wherein:
【請求項6】各処理手段は、前記パイプライン型リング
バス上に流れるパケットが空パケットであるか否かを判
定する手段と、該手段の出力に応じて、上の層の処理手
段からのパケットを当該パイプライン型リングバス上に
乗せるか否かを切り換える手段とを有することを特徴と
する請求項1または4記載の並列処理装置。
6. A processing means for determining whether or not a packet flowing on the pipeline type ring bus is an empty packet, and in response to an output of the means, a signal from a processing means of an upper layer. parallel packet processing apparatus according to claim 1 or 4 further characterized in that a means for switching whether placed on the pipelined ring bus a.
【請求項7】前記パケット制御手段は、第1の演算を指
定する第1のパケットと、該第1の演算の結果を利用し
て行なう第2の演算を指定する第2のパケットとを別個
の処理手段に割当てる際、前記第1のパケットを割当て
る処理手段の層より下の層の処理手段に前記第2のパケ
ットを割当てるマッピング管理機能を有することを特徴
とする請求項1記載の並列処理装置。
7. The packet control means separates a first packet designating a first operation and a second packet designating a second operation performed using a result of the first operation. 2. The parallel processing according to claim 1, further comprising a mapping management function for allocating the second packet to a processing unit in a layer lower than a layer of the processing unit allocating the first packet when allocating the second packet. apparatus.
【請求項8】m行n列に配置したm×n個の処理手段
と、 各行ごとに前記処理手段に1対1に接続されたn個のシ
フトレジスタをリング状に接続して構成したm個のパイ
プライン型リングバスと、 第i行の処理手段の結果を、第i+1行の処理手段が接
続されたパイプライン型リングバスに転送する転送手段
と、 各行のパイプライン型リングバスに、被処理パケットを
乗せる機能と各行のパイプライン型リングバスから処理
済みのパケットを受ける機能とを有するパケット制御手
段と、 を備えたことを特徴とする並列処理装置。
8. An m × n processing means arranged in m rows and n columns, and an n number of shift registers connected to said processing means on a one-to-one basis in each row in a ring shape. Transfer means for transferring the result of the processing means of the i-th row to the pipeline-type ring bus connected to the processing means of the (i + 1) -th row; A parallel processing device comprising: packet control means having a function of placing a packet to be processed and a function of receiving a processed packet from a pipeline type ring bus of each row.
【請求項9】前記転送手段は、第m行の処理手段の結果
を、第1行の処理手段が接続されたパイプライン型リン
グバスに転送することを特徴とする請求項8記載の並列
処理装置。
9. The parallel processing according to claim 8, wherein said transfer means transfers the result of the processing means in the m-th row to a pipeline type ring bus connected to the processing means in the first row. apparatus.
【請求項10】前記転送手段による転送は、同列の処理
手段の間で行なうことを特徴とする請求項8または9記
載の並列処理装置。
10. The parallel processing apparatus according to claim 8, wherein the transfer by said transfer means is performed between processing means in the same row.
【請求項11】各処理手段は、前記パイプライン型リン
グバスの一部を構成するシフトレジスタと、該シフトレ
ジスタから取り込んだパケットを格納する第1のパケッ
トキューと、上の層の処理手段から前記シフトレジスタ
に取り込むべきパケットを格納する第2のパケットキュ
ーとを備えたことを特徴とする請求項1または8記載の
並列処理装置。
11. A processing system comprising: a shift register forming a part of the pipeline type ring bus; a first packet queue storing packets fetched from the shift register; 9. The parallel processing device according to claim 1, further comprising a second packet queue for storing a packet to be captured in the shift register.
JP03098615A 1991-04-30 1991-04-30 Parallel processing unit Expired - Lifetime JP3083582B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03098615A JP3083582B2 (en) 1991-04-30 1991-04-30 Parallel processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03098615A JP3083582B2 (en) 1991-04-30 1991-04-30 Parallel processing unit

Publications (2)

Publication Number Publication Date
JPH05181817A JPH05181817A (en) 1993-07-23
JP3083582B2 true JP3083582B2 (en) 2000-09-04

Family

ID=14224482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03098615A Expired - Lifetime JP3083582B2 (en) 1991-04-30 1991-04-30 Parallel processing unit

Country Status (1)

Country Link
JP (1) JP3083582B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8754896B2 (en) 2009-10-08 2014-06-17 Canon Kabushiki Kaisha Data processing apparatus having a parallel processing circuit including a plurality of processing modules, and method for controlling the same

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3732989B2 (en) 2000-01-12 2006-01-11 富士通株式会社 Packet switch device and scheduling control method
JP2005284646A (en) 2004-03-29 2005-10-13 Toshiba Corp Microprocessor
US20080235493A1 (en) * 2007-03-23 2008-09-25 Qualcomm Incorporated Instruction communication techniques for multi-processor system
JP6454577B2 (en) 2015-03-25 2019-01-16 ルネサスエレクトロニクス株式会社 Processing device and control method of processing device
JP6580381B2 (en) * 2015-06-12 2019-09-25 オリンパス株式会社 Image processing apparatus and image processing method
JP6580380B2 (en) * 2015-06-12 2019-09-25 オリンパス株式会社 Image processing apparatus and image processing method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
並列処理シンポジウムJSPP’89論文集 Feb.2−4 1989 p321−328 吉岡良雄「Loop Structured Computerの特性解析」
電子情報通信学会論文誌D−▲I▼ VOL.J72 NO.3 MARCH 1989 p149−156 吉岡良雄「Loop Structured Computerのトラヒック特性」

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8754896B2 (en) 2009-10-08 2014-06-17 Canon Kabushiki Kaisha Data processing apparatus having a parallel processing circuit including a plurality of processing modules, and method for controlling the same

Also Published As

Publication number Publication date
JPH05181817A (en) 1993-07-23

Similar Documents

Publication Publication Date Title
US12327114B2 (en) Processing cores and information transfer circuits arranged in matrix
US5377333A (en) Parallel processor system having computing clusters and auxiliary clusters connected with network of partial networks and exchangers
US4833468A (en) Layered network
EP0460599B1 (en) Massively parallel processor including queue-based message delivery system
EP0197103B1 (en) Load balancing for packet switching nodes
EP0138451B1 (en) Vector data processing system for indirect address instructions
US6336209B1 (en) Information processing system that processes portions of an application program using programmable logic circuits
JP2577865B2 (en) Vector processing apparatus and control method thereof
JP3554605B2 (en) Memory system, computer system, memory module, and active memory device
JPH0425586B2 (en)
JP3083582B2 (en) Parallel processing unit
JPH06500187A (en) Multidimensional processor systems and processor arrays with highly parallel input/output
US20070136560A1 (en) Method and apparatus for a shift register based interconnection for a massively parallel processor array
CN120316038A (en) Edge Large Language Model Inference System
EP0214870B1 (en) System for controlling a data transfer instruction with an extension storage device
JPH05274279A (en) Parallel processing apparatus and method
JPS58149556A (en) Parallel processing device
JP4117621B2 (en) Data batch transfer device
CA1329656C (en) Method for controlling a vector register and a vector processor applying thereof
Wah et al. Distributed scheduling of resources on interconnection networks
Siegel et al. Parallel memory system for a partitionable SIMD/MIMD machine
JP2840295B2 (en) Computer data communication system
JP2869100B2 (en) Element processor of parallel computer
JPH05324584A (en) Hypercube allocation method
Juang et al. Resource sharing interconnection networks in multiprocessors

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080630

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080630

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090630

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100630

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100630

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110630

Year of fee payment: 11

EXPY Cancellation because of completion of term