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
JP2945726B2 - Parallel processing system - Google Patents
[go: Go Back, main page]

JP2945726B2 - Parallel processing system - Google Patents

Parallel processing system

Info

Publication number
JP2945726B2
JP2945726B2 JP2207231A JP20723190A JP2945726B2 JP 2945726 B2 JP2945726 B2 JP 2945726B2 JP 2207231 A JP2207231 A JP 2207231A JP 20723190 A JP20723190 A JP 20723190A JP 2945726 B2 JP2945726 B2 JP 2945726B2
Authority
JP
Japan
Prior art keywords
data
processor
processor element
address
memory
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 - Fee Related
Application number
JP2207231A
Other languages
Japanese (ja)
Other versions
JPH0492951A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2207231A priority Critical patent/JP2945726B2/en
Publication of JPH0492951A publication Critical patent/JPH0492951A/en
Application granted granted Critical
Publication of JP2945726B2 publication Critical patent/JP2945726B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、プロセッサとメモリとを有する複数個のプ
ロセッサエレメントを結合して構成された並列処理シス
テムに関するものであり、特に、複数のプロセッサに同
一データを転送するブロードキャスト転送に係るもので
ある。
Description: BACKGROUND OF THE INVENTION (Industrial Application Field) The present invention relates to a parallel processing system configured by connecting a plurality of processor elements each having a processor and a memory. It relates to broadcast transfer for transferring the same data.

(従来の技術) 従来より複数個のプロセッサエレメントから構成され
た並列処理システムが多数提案されている。これらの並
列処理システムの基本構成を第6図に示しており、この
第6図において、並列処理システムは複数個のプロセッ
サエレメント102〜110を結合手段100で結合したもの
で、112はプロセッサ、113はメモリ、114は出力バッフ
ァ、115は入力バッファ、116はアドレスバス、117はデ
ータバスである。そして、前記結合手段100を用いて各
プロセッサエレメント102〜110の相互間でデータを転送
する。
(Prior Art) Many parallel processing systems composed of a plurality of processor elements have been conventionally proposed. FIG. 6 shows the basic configuration of these parallel processing systems. In FIG. 6, the parallel processing system is obtained by connecting a plurality of processor elements 102 to 110 by a connecting means 100. Is a memory, 114 is an output buffer, 115 is an input buffer, 116 is an address bus, and 117 is a data bus. Then, the data is transferred between the processor elements 102 to 110 using the coupling means 100.

この際、結合手段100を用いてプロセッサエレメント1
02〜110間で受渡しされる情報は、第7図に示すような
一定のプロトコル120と呼ぶ約束によって行われる。こ
のプロトコル120は、データの行き先を格納するアドレ
ス部122と、データを格納するデータ部124と、制御情報
を格納する制御部126とからなる。そして、プロトコル1
20でデータ交換を行う並列処理システムでは、ブロード
キャスト転送のステップは次の4つである。
At this time, the processor element 1
The information passed between 02 and 110 is made according to a convention called a fixed protocol 120 as shown in FIG. The protocol 120 includes an address unit 122 for storing a destination of data, a data unit 124 for storing data, and a control unit 126 for storing control information. And protocol 1
In a parallel processing system that exchanges data at 20, there are four steps in the broadcast transfer.

全てのプロセッサエレメント102〜110において、ま
ず、プロコトル120を設定する。
First, the protocol 120 is set in all the processor elements 102 to 110.

1つのプロセッサエレメント102において、ブロー
ドキャストされるデータメモリ113から読み取り、出力
バッファ114へ取り込む。
In one processor element 102, the data is read from the broadcast data memory 113 and is taken into the output buffer 114.

この出力バッファ114のデータを結合手段100に出力
し、各々のプロセッサエレメント102〜110が結合手段10
0からデータを入力バッファ115へと読み取る。
The data in the output buffer 114 is output to the combining means 100, and each of the processor elements 102 to 110
Data is read from 0 into the input buffer 115.

各々のプロセッサエレメント102〜110は入力バッフ
ァ115のデータをメモリ113に書き込む。
Each of the processor elements 102 to 110 writes the data of the input buffer 115 to the memory 113.

ここで、有限要素法プログラムの一部で繰り返し行わ
れる行列のベクトルの積を求める場合を考えてみる。
Here, consider a case where a product of matrix vectors repeatedly performed in a part of the finite element method program is obtained.

先ず、行列をn×n、ベクトルn×1とし、第3図に
示すように、各々のプロセッサ102〜110に、i行の行列
成分(j=1,n)及びi行のベクトル成分(j=1)を
格納する。FORTRANによってプログラムを記述すると次
のようになる。ただし、これ以後の説明ではn=5と
し、符号*は掛算を意味する。
First, assuming that the matrix is n × n and the vector is n × 1, as shown in FIG. 3, each of the processors 102 to 110 is provided with an i-row matrix component (j = 1, n) and an i-row vector component (j = 1) is stored. The following is a description of a program written in FORTRAN. However, in the following description, it is assumed that n = 5 and the symbol * means multiplication.

DO 10 i=1,N APV=0,0 DO 12 j=1,N 12 APV=APV+AU(i,j)*X(j,i) 10 B(i,1)=APV このプログラムにおいては、行列AのデータAU(i,j)
とベクトルXのデータ(j,1)とが異なるプロセッサエ
レメント102〜110にあるため並列計算が行えない。
DO 10 i = 1, N APV = 0,0 DO 12 j = 1, N 12 APV = APV + AU (i, j) * X (j, i) 10 B (i, 1) = APV In this program, the matrix A data AU (i, j)
And the data (j, 1) of the vector X are in different processor elements 102 to 110, so that parallel calculation cannot be performed.

そこで、プログラムの一部を書換え、次のようなプロ
グラムに変更する。
Therefore, a part of the program is rewritten and changed to the following program.

そして、制御動作としては(1)のブロードキャスト転
送と(2)の並列計算との2つに分かれる。つまり、ま
ず、最初に、iが1からnまでのプロセッサエレメント
102〜110からj=1のベクトル成分を各々のプロセッサ
エレメント102〜110にブロードキャストする。ここで、
配列X(i,1)ベクトルを表わし、XC(j,i)はブロード
キャスト転送後に可能する配列を表す。
Then, the control operation is divided into two, that is, the broadcast transfer of (1) and the parallel calculation of (2). That is, first, the processor element in which i is 1 to n
Broadcast the vector components of j = 1 from 102 to 110 to the respective processor elements 102 to 110. here,
An array X (i, 1) represents an vector, and XC (j, i) represents an array enabled after broadcast transfer.

次に、格納したデータである配列XC(j,i)と行列A
との成分を掛け合わせ、これの和をとる。ここで、AU
(i,j)は積を取る配列を、B(i,1)は結果を格納する
ベクトルを表わし、APVは積の中間和を表す。そして、
第3図の並列計算を示すと、次の通りである。
Next, the stored data array XC (j, i) and matrix A
Multiply the components by and sum them. Where AU
(I, j) represents an array for taking the product, B (i, 1) represents a vector for storing the result, and APV represents an intermediate sum of the product. And
The parallel calculation of FIG. 3 is as follows.

B1=a11*X1+a12*X2+a13*X3+a14*X4+a15*X5 B2=a21*X1+a22*X2+a23*X3+a24*X4+a25*X5 B3=a31*X1+a32*X2+a33*X3+a34*X4+a35*X5 B4=a41*X1+a42*X2+a43*X3+a44*X4+a45*X5 B5=a51*X1+a52*X2+a53*X3+a54*X4+a55*X5 以上の行列AとベクトルXの積を高速に並列計算を行
うためには高速なプロセッサエレメント間のブロードキ
ャストが必要となる。
B1 = a11 * X1 + a12 * X2 + a13 * X3 + a14 * X4 + a15 * X5 B2 = a21 * X1 + a22 * X2 + a23 * X3 + a24 * X4 + a25 * X5 B3 = a31 * X1 + a32 * X2 + a33 * X3 + a34 * X4 + a35 * X4 + a35 * X4 + a35 * X4 + a35 * X4 * X5 B5 = a51 * X1 + a52 * X2 + a53 * X3 + a54 * X4 + a55 * X5 To perform high-speed parallel calculation of the product of the matrix A and the vector X, high-speed broadcasting between processor elements is necessary.

また、ブロードキャスト転送を高速に行えば行列Aと
ベクトルXの積は高速に求められるが、行列Aが疎行列
の場合には、上述の方法はあまり有効ではない。つま
り、第4図に示すように、行列A内に0の成分が多数あ
り、0の行列成分とベクトル成分の積を行っても意味が
なく、特に、行列成分のnが大きくなった場合、意味の
ない0成分が存してメモリ113の有効利用がなされず、
さらに、データ格納しきれないことにもある。
If the broadcast transfer is performed at high speed, the product of the matrix A and the vector X can be obtained at high speed. However, when the matrix A is a sparse matrix, the above method is not very effective. That is, as shown in FIG. 4, there are many components of 0 in the matrix A, and it is meaningless to perform a product of the matrix component of 0 and the vector component. In particular, when n of the matrix component becomes large, There is a meaningless 0 component, and the memory 113 is not effectively used.
Furthermore, data may not be completely stored.

このために、リストベクトルが使用される。このリス
トベクトルは、第5図に示すように、i行にある0でな
い成分がj列目にあることを示し、これを使うことによ
りメモリ113の不要な0に対する。積の削減とメモリ113
の有効利用とが図られる。これをFORTRANによるプログ
ラムで記述すると次の様になる。
For this, a list vector is used. As shown in FIG. 5, this list vector indicates that the non-zero component in the i-th row is in the j-th column. Product reduction and memory 113
Is effectively used. This is described as follows in a FORTRAN program.

DO 10 i=1,N APV=0.0 DO 12 j=1,NZU(i,1) 12 APV=APV+AU(i,1)*X(IU(i,j),1) 10 B(i,1)=APV ここで、NZU(i,1)はi行にある非0成分の数、IU(i,
j)はi行の何列目に非0成分があるかを示し、AU(i,
j)はこれに対応する成分である。
DO 10 i = 1, N APV = 0.0 DO 12 j = 1, NZU (i, 1) 12 APV = APV + AU (i, 1) * X (IU (i, j), 1) 10 B (i, 1) = APV where NZU (i, 1) is the number of non-zero components in row i, IU (i, 1)
j) indicates in which column of the i-th row there is a non-zero component, and
j) is the corresponding component.

しかし、このままでは上述の例と同様に行列Aのデー
タAU(i,j)とベクトルXのデータX(i,1)が異なるプ
ロセッサエレメント102〜110にあるため並列計算が行え
ない。
However, in this state, the data AU (i, j) of the matrix A and the data X (i, 1) of the vector X are in different processor elements 102 to 110, as in the above-described example, so that parallel calculation cannot be performed.

そこで、並列計算を行うために次のようにプログラム
を変換する。
Therefore, the program is converted as follows to perform the parallel calculation.

この(3)はブロードキャスト転送を行うステップで、
(4)が並列計算を行うステップである。そして、リス
トベクトルを使用した場合、まず、最初のステップは、
リストベクトルで示されているベクトルX(IU(i,j),
1)の値だけ選択的に各々のプロセッサエレメント102〜
110に取り込むことである。次に、各々のプロセッサエ
レメント102〜110で並列計算する。
This (3) is a step of performing a broadcast transfer,
(4) is a step of performing parallel calculation. And when using a list vector, the first step is
The vector X (IU (i, j),
1) Select only each processor element 102 ~
It is to take in 110. Next, parallel calculation is performed by each of the processor elements 102 to 110.

この第4図の並列計算を示すと、次の通りである。 The parallel calculation of FIG. 4 is as follows.

B1=a11*X1+a13*X3+a15*X5 B2=a22*X2+a24*X4 B3=a31*X1+a33*X3+a15*X5 B4=a42*X2+a44*X4 B5=a53*X3+a55*X5 従って、リストベクトルて示されているデータを選択
的な各々のプロセッサエレメント102〜110に高速に転送
することにより、リストベクトルの使った行列Aとベク
トルXの積は高速に並列計算できる。
B1 = a11 * X1 + a13 * X3 + a15 * X5 B2 = a22 * X2 + a24 * X4 B3 = a31 * X1 + a33 * X3 + a15 * X5 B4 = a42 * X2 + a44 * X4 B5 = a53 * X3 + a55 * X5 Therefore, the data shown as a list vector By high-speed transfer to each of the selective processor elements 102 to 110, the product of the matrix A and the vector X using the list vector can be calculated in parallel at high speed.

更に言い換えると、プロセッサエレメント102〜110間
の高速なブロードキャスト及びこれを選択的に行うこと
を可能にすることにより、行列AとベクトルXの積を高
速に行うことができ、さらに、これを使う有機要素法の
プログラムを高速に並列計算することが可能となる。
In other words, by enabling high-speed broadcasting between the processor elements 102 to 110 and selectively performing this, the product of the matrix A and the vector X can be performed at high speed. High-speed parallel calculation of element method programs becomes possible.

(発明が解決しようとする課題) しかしながら、上述した従来の並列処理システムで
は、前記〜の動作を順に行い、各プロセッサエレメ
ント102〜110が〜の動作を行う毎にメモリアクセス
するので、高速にデータのブロードキャスト転送を行
うことができないという問題があった。また、有限要素
法で用いられるリストベクトルで示されているデータを
選択的に取り込むことができず、高速に行列Aベクトル
Xの積、さらには有限要素を計算することができないと
いう問題があった。
(Problems to be Solved by the Invention) However, in the above-described conventional parallel processing system, the above operations (1) to (5) are performed in order, and each of the processor elements 102 to 110 accesses the memory every time the operation (1) is performed. Broadcast transmission cannot be performed. Further, there is a problem that data represented by a list vector used in the finite element method cannot be selectively taken in, and a product of the matrix A vector X and a finite element cannot be calculated at high speed. .

本発明はかかる問題点を解決すべくなされたもので、
複数のプロセッサエレメントが結合された並列処理シス
テムにおいて、高速なブロードキャスト転送と、該ブロ
ードキャスト転送を任意のプロセッサエレメント間で行
うことを可能とし、有限要素法の1部分で用いられてい
るリスクベクトルを使った行列とベクトルの積を高速に
行える並列処理システムを提供することを目的としてい
る。
The present invention has been made to solve such problems.
In a parallel processing system in which a plurality of processor elements are combined, a high-speed broadcast transfer and the broadcast transfer can be performed between arbitrary processor elements, and a risk vector used in a part of the finite element method is used. It is an object of the present invention to provide a parallel processing system capable of performing a product of a matrix and a vector at high speed.

(課題を解決するための手段) 上記の目的を達成するために、請求項1に係る発明が
講じた手段は、先ず、プロセッサと該プロセッサが処理
を行うためのデータを蓄えておくメモリとを有する複数
個のプロセッサエレメントと、該プロセッサエレメント
間で相互にデータ転送が可能に各プロセッサエレメント
を繋ぐ結合手段と、複数個の前記プロセッサエレメント
に対して同一データを転送するブロードキャスト転送に
おける転送元のプロセッサエレメント番号とデータに対
応する変数アドレスとブロードキャスト転送を行うこと
を示すコントロール信号とを発生する第1のアドレス発
生器とを備えた並列処理システムを対象としている。
(Means for Solving the Problems) In order to achieve the above-mentioned object, means according to the first aspect of the present invention comprises a processor and a memory for storing data for the processor to perform processing. A plurality of processor elements, coupling means for connecting the processor elements so that data can be mutually transferred between the processor elements, and a transfer source processor in broadcast transfer for transferring the same data to the plurality of processor elements The present invention is directed to a parallel processing system including a first address generator that generates an element number, a variable address corresponding to data, and a control signal indicating that a broadcast transfer is to be performed.

そして、前記プロセッサエレメントは、前記メモリか
ら前記結合手段へデータを出力する出力バッファと、前
記第1アドレス発生器からのプロセッサエレメント番号
と自分のプロセッサエレメント番号とを比較して、その
結果を前記出力バッファに出力する第1の比較器とを備
えている。
The processor element compares an output buffer for outputting data from the memory to the combining means with a processor element number from the first address generator and its own processor element number, and outputs the result to the output section. A first comparator for outputting to the buffer.

更に、前記プロセッサエレメントは、出力バッファ内
のデータが変わる度に出力バッファのデータに対応する
変数アドレスを更新記憶する記憶手段と、該記憶手段内
の変数アドレスと第1アドレス発生器からの変数アドレ
スを比較して、その結果を前記出路バッファに出力する
第2の比較器とを備えている。
Further, the processor element includes a storage means for updating and storing a variable address corresponding to the data in the output buffer each time the data in the output buffer changes, a variable address in the storage means and a variable address from the first address generator. And a second comparator for outputting the result to the output buffer.

加えて、前記各プロセッサエレメントは、結合手段に
乗せられたデータを入力する入力バッファと、該入力バ
ッファのデータを前記メモリに書き込むアドレスを発生
する第2のアドレス発生器とを備えた構成としている。
In addition, each of the processor elements has an input buffer for inputting data loaded on the coupling means, and a second address generator for generating an address for writing data of the input buffer to the memory. .

また、請求項2に係る発明が講じた手段は、請求項1
記載の並列処理システムにおいて、各プロセッサエレメ
ントは、プロセッサエレメントにブロードキャスト転送
されるデータの中で必要なデータを出力するプロセッサ
エレメントのプロセッサエレメント番号を格納する先入
れ先出しメモリと、結合手段に乗せられているプロセッ
サエレメント番号と前記先出しメモリのプロセッサエレ
メントば合とを比較して、その結果を入力バッファ及び
第2のアドレス発生器に出力する第3の比較器とを備え
た構成としている。
The measures taken by the invention according to claim 2 correspond to claim 1.
In the parallel processing system described above, each processor element includes a first-in first-out memory that stores a processor element number of a processor element that outputs necessary data among data broadcast-transmitted to the processor element, and a processor mounted on a coupling unit. An element number is compared with the processor element of the advance memory, and a third comparator for outputting the result to an input buffer and a second address generator is provided.

(作用) 上記の構成により、請求項1に係る発明では、先ず、
ブロードキャスト転送を行う場合、第1のアドレス発生
器がプロセッサエレメント番号と変数アドレスとブロー
ドキャスト転送を示すコントロール信号として出力す
る。そして、各プロセッサエレメントは第1のアドレス
発生器からの信号を受け取り、変数アドレスに該当する
データをメモリから取り出して出力バッファに格納する
と共に、そのデータの変数アドレスを記憶手段に格納す
る。続いて、前記第1のアドレス発生器からのプロセッ
サエレメント番号に該当するプロセッサエレメントのみ
が出力バッファのデータを出力し、そのデータを各プロ
セッサエレメントが入力バッファに取り込み、メモリに
格納する。その後、前記第1のアドレス発生器がプロセ
ッサエレメント番号を順に変更し、該プロセッサエレメ
ント番号のプロセッサエレメントが出力バッファのデー
タを出力し、そのデータを順に各プロセッサエレメント
がメモリに格納する。
(Operation) With the above configuration, in the invention according to claim 1, first,
When performing a broadcast transfer, the first address generator outputs a processor element number, a variable address, and a control signal indicating the broadcast transfer. Each processor element receives the signal from the first address generator, retrieves data corresponding to the variable address from the memory, stores the data in the output buffer, and stores the variable address of the data in the storage means. Subsequently, only the processor element corresponding to the processor element number from the first address generator outputs the data of the output buffer, and each processor element takes the data into the input buffer and stores it in the memory. Thereafter, the first address generator sequentially changes the processor element number, the processor element of the processor element number outputs the data of the output buffer, and each processor element sequentially stores the data in the memory.

従って、各データがメモリアクセス無しで出力される
ので、ブロードキャスト転送を高速に行うことができ
る。
Therefore, since each data is output without accessing the memory, the broadcast transfer can be performed at high speed.

また、請求項2に係る発明では、先入れ先出しメモリ
に必要なデータを出力するプロセッサエレメントのプロ
セッサエレメント番号を格納しており、該プロセッサエ
レメント番号と第1のアドレス発生器からのプロセッサ
エレメント番号とを第3の比較器が比較し、一致してい
ると、プロセッサエレメントからのデータを取り込み、
メモリに格納する。
In the invention according to claim 2, the first-in first-out memory stores the processor element number of the processor element that outputs necessary data, and stores the processor element number and the processor element number from the first address generator in the first-in first-out memory. The three comparators compare and if they match, take in the data from the processor element,
Store in memory.

従って、データの選択的な取り込みを行うことができ
るので、メモリの有効利用を図ることができる。
Therefore, since data can be selectively taken in, the memory can be effectively used.

(実施例) 以下、本発明の実施例を図面に基づいて詳細に説明す
る。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

<実施例1> 第1図は、実施例1の並列処理システムを示すブロッ
ク図である。この第1図において、2,4,6,8,10は各々プ
ロセッサエレメント、50は第1のアドレス発生器であっ
て、該第1のアドレス発生器50はブロードキャスト転送
による転送元のプロセッサエレメント2〜10を示すプロ
セッサエレメント番号60と、転送データを示す変数アド
レス62と、ブロードキャスト転送を行うことを示すコン
トロール信号とを発生する。また、52はコントロール
線、54はアドレスバス、56はデータバスであって、該コ
ントロール線52とアドレスバス54とデータバス56とは、
各プロセッサエレメント2〜10及び第1のアドレス発生
器50を繋ぐ結合手段を構成し、相互にデータ転送等を可
能にしている。
First Embodiment FIG. 1 is a block diagram illustrating a parallel processing system according to a first embodiment. In FIG. 1, reference numerals 2, 4, 6, 8, and 10 denote processor elements, 50 denotes a first address generator, and the first address generator 50 is a processor element 2 of a transfer source by broadcast transfer. , A variable element 62 indicating transfer data, and a control signal indicating that a broadcast transfer is to be performed. 52 is a control line, 54 is an address bus, 56 is a data bus, and the control line 52, the address bus 54, and the data bus 56 are
Coupling means for connecting each of the processor elements 2 to 10 and the first address generator 50 is configured to enable mutual data transfer and the like.

一方、12はプロセッサ、13はメモリ、14はメモリ13か
らのデータをデータバス56に出力する出力バッファ、15
はデータバス56のデータを入力する入力バッファ、16は
アドレスバス、17はデータバスであって、それぞれプロ
セッサエレメント2〜10に設けられている。また、30は
第1の比較器、32は第2の比較器、34はプロセッサエレ
メント番号を格納するプロセッサエレメント番号レジス
タ、36は出力バッファ14のデータに対応する変数アドレ
スを変更記憶する記憶手段としての変数アドレスレジス
タであって、それぞれプロセッサエレメント2〜10に設
けられ、第1の比較器30は第1のアドレス発生器50から
のプロセッサエレメント番号60とプロセッサエレメント
番号レジスタ34に格納されている自己のプロセッサエレ
メント番号(例えば、第1のプロセッサエレメント2は
1,第2のプロセッサエレメント4は2の如く順に設定さ
れている。)とを比較して、その結果を出力バッファ14
に出力する一方、第2の比較器32は第1のアドレス発生
器50からの変数アドレス62と変数アドレスレジスタ36に
格納されている変数アドレスとを比較して、その結果を
出力バッファ14に出力する。
On the other hand, 12 is a processor, 13 is a memory, 14 is an output buffer for outputting data from the memory 13 to a data bus 56, 15
Is an input buffer for inputting data of the data bus 56, 16 is an address bus, and 17 is a data bus, which are provided in the processor elements 2 to 10, respectively. Reference numeral 30 denotes a first comparator, 32 denotes a second comparator, 34 denotes a processor element number register for storing a processor element number, and 36 denotes storage means for changing and storing a variable address corresponding to data in the output buffer 14. Variable address registers provided in the processor elements 2 to 10, respectively. The first comparator 30 stores the processor element number 60 from the first address generator 50 and the processor element number stored in the processor element number register 34. Processor element number (for example, the first processor element 2
1, the second processor element 4 is set in order as 2. ) And compare the result to output buffer 14
On the other hand, the second comparator 32 compares the variable address 62 from the first address generator 50 with the variable address stored in the variable address register 36, and outputs the result to the output buffer 14. I do.

更に、42は各プロセッサエレメント2〜10に設けられ
た第2のアドレス発生器であって、入力バッファ15に入
力したデータをメモリ12に書き込むためのアドレスを発
生する。
Further, reference numeral 42 denotes a second address generator provided in each of the processor elements 2 to 10, which generates an address for writing data input to the input buffer 15 to the memory 12.

次に、上述した並列処理システムにおけるブロードキ
ャスト転送動作について説明する。
Next, a broadcast transfer operation in the above-described parallel processing system will be described.

そこで、下記(1)の如くFORTRANによるプログラム
で示される行列とベクトルとの積を求めるためのブロー
ドキャスト転送について述べる。
Therefore, a broadcast transfer for obtaining a product of a matrix and a vector represented by a program by FORTRAN as described in (1) below will be described.

まず、始めに第1のアドレス発生器50は上位にプロセ
ッサエレメント番号60(値は1)を、下位に変数アドレ
ス62(X(*,1)、*は任意を示す。)を示すアドレス
をそれぞれアドレスバス54にのせ、さらにコントロール
線52にブロードキャストを行うことを示すコントロール
信号をのせる。
First, the first address generator 50 first sets the processor element number 60 (having a value of 1) in the upper part and the variable address 62 (X (*, 1), where * indicates any) as the lower part. A control signal indicating that a broadcast is to be performed is provided on an address bus 54 and a control line 52.

一方、各々のプロセッサエレメント2〜10は第1のア
ドレス発生器50からの各信号を受け取り、第1の比較器
30では第1のアドレス発生器50からのプロセッサエレメ
ント番号60とプロセッサエレメント番号レジスタ34の値
とを比較し、第2の比較器32では第1のアドレス発生器
50からの変数アドレス62と変数アドレスレジスタ36の値
とを比較し、該当するデータが出力バッファ14内に存在
するかを確める。そして、このプロセッサエレメント番
号60及び変数アドレス62が一致していると、後述の如く
出力バッファ14のデータを出力することになる。
On the other hand, each processor element 2 to 10 receives each signal from the first address generator 50 and
At 30, the processor element number 60 from the first address generator 50 is compared with the value of the processor element number register 34. At the second comparator 32, the first address generator
The variable address 62 from 50 is compared with the value of the variable address register 36 to confirm whether the corresponding data exists in the output buffer 14. When the processor element number 60 and the variable address 62 match, the data in the output buffer 14 is output as described later.

この場合、出力バッファ14及び変数アドレスレジスタ
36には該当するデータが存在しないため、各々のプロセ
ッサエレメント2〜10はアドレスバス16を介してメモリ
13をアクセスし、データを出力バッファ14へ書き込む。
つまり、第1のアドレス発生器50からの変数アドレス62
におけるX(*,1)の*は任意であるので各プロセッサ
エレメント2〜10は自己の値jに該当するデータX(j,
1)をメモリ13より取り出す。そして、アクセス後の出
力バッファ14には、第1のプロセッサエレメント2では
X(1,1)、第2のプロセッサエレメント4ではX(2,
1)といったように各々のプロセッサエレメント2〜10
でX(j,1)(j=1,5)のデータが格納される。これと
同時に、各々のプロセッサエレメント2〜10は変数アド
レスレジスタ36に変数アドレス62に格納する。この結
果、第2の比較器32は全てのプロセッサエレメント2〜
10で第1のアドレス発生器50からの変数アドレス62と変
数アドレスレジスタ36の値とが一致することになる。
In this case, the output buffer 14 and the variable address register
Since there is no corresponding data in 36, each processor element 2 to 10 is connected to the memory via the address bus 16.
13 is accessed and data is written to the output buffer 14.
That is, the variable address 62 from the first address generator 50
Is arbitrary in X (*, 1), each processor element 2 to 10 has data X (j,
1) is retrieved from the memory 13. Then, in the output buffer 14 after the access, X (1,1) in the first processor element 2 and X (2,1) in the second processor element 4.
1) each processor element 2-10
Stores the data of X (j, 1) (j = 1,5). At the same time, each of the processor elements 2 to 10 stores the variable address register 36 at the variable address 62. As a result, the second comparator 32 includes all the processor elements 2 to
At 10, the variable address 62 from the first address generator 50 matches the value of the variable address register 36.

更に、各のプロセッサエレメント2〜10における第1
の比較器30の結果に基づいて、全てのプロセッサエレメ
ント2〜10の中で第1のアドレス発生器50からのプロセ
ッサエレメント番号とプロセッサエレメント番号レジス
タ34との値が一致しているプロセッサエレメント2(4
〜10)のみが出力バッファ14のデータをデータバス56へ
出力する。この場合、プロセッサエレメント番号60は1
であり、第1のプロセッサエレメント2のデータX(1,
1)がデータバス56に出力される。
Furthermore, the first in each of the processor elements 2 to 10
Processor element 2 (in which the processor element number from the first address generator 50 matches the value in the processor element number register 34 among all the processor elements 2 to 10 based on the result of the comparator 30). 4
10) output the data of the output buffer 14 to the data bus 56. In this case, the processor element number 60 is 1
And the data X (1,1) of the first processor element 2
1) is output to the data bus 56.

最後に全てのプロセッサエレメント2〜10は、このデ
ータX(1,1)を入力バッファ15に取り込み、更に、こ
のデータX(1,1)を第2のアドレス発生器42のアドレ
スでXC(i,1)のデータとしてメモリ13へ格納する。
Finally, all the processor elements 2 to 10 fetch the data X (1,1) into the input buffer 15, and furthermore, fetch this data X (1,1) with the address of the second address generator 42, XC (i , 1) is stored in the memory 13.

次に、第1のアドレス発生器50がプロセッサエレメン
ト番号60を2に変える。このときには、各々のプロセッ
サエレメント2〜10の出力バッファ14には、先に述べた
動作によりX(1,1)、X(2,1)、X(3,1)、X(4,
1)、X(5,1)のデータが取り込まれており、更に、各
々のプロセッサエレメント2〜10の変数アドレスレジス
タ36には各データX(j,1)に対応する変数アドレスが
格納され得ているため、各々のプロセッサエレメント2
〜10における第2の比較器32は常に一致信号を出してい
る。そして、プロセッサエレメント番号60については第
2のプロセッサエレメント4のみ一致するため、該第2
のプロセッサエレメント4がメモリ13へのアクセス無し
で出力バッファ14のデータX(2,1)をデータバス56へ
出力する。
Next, the first address generator 50 changes the processor element number 60 to two. At this time, X (1,1), X (2,1), X (3,1), X (4,1) are output to the output buffers 14 of the respective processor elements 2 to 10 by the above-described operation.
1) and X (5,1), and the variable address register 36 of each processor element 2 to 10 may store a variable address corresponding to each data X (j, 1). Therefore, each processor element 2
The second comparator 32 in .about.10 always outputs a coincidence signal. Since the processor element number 60 matches only the second processor element 4, the second
Outputs the data X (2,1) of the output buffer 14 to the data bus 56 without accessing the memory 13.

この動作は、第1のアドレス発生器50でプロセッサエ
レメント番号60を3,4,5へ変えた場合にも同様に行われ
る。よって、各々のプロセッサエレメント2〜10には第
3図に示すベクトルXの各行成分が格納され、従来例と
比べた場合、メモリ13へのアクセス時間の減少が図ら
れ、ブロードキャスト転送について、従来の場合と比べ
て4/3倍だけ高速に行われる。そして、各々のプロセッ
サエレメント2〜10において、第3図に示す行列Aとベ
クトルXとの積の並列計算が行われる。
This operation is similarly performed when the processor element number 60 is changed to 3, 4, and 5 by the first address generator 50. Therefore, the respective row components of the vector X shown in FIG. 3 are stored in the respective processor elements 2 to 10, and the access time to the memory 13 is reduced as compared with the conventional example. It is performed 4/3 times faster than in the case. Then, in each of the processor elements 2 to 10, the parallel calculation of the product of the matrix A and the vector X shown in FIG. 3 is performed.

<実施例2> 第2図は実施例2の並列処理システムを示すブロック
図であり、第4図に示す疎行列AとベクトルXとの積を
求めるためのブロードキャスト転送を行うようにしたも
のである。
<Second Embodiment> FIG. 2 is a block diagram showing a parallel processing system according to a second embodiment, in which broadcast transfer for obtaining a product of a sparse matrix A and a vector X shown in FIG. 4 is performed. is there.

つまり、各々のプロセッサエレメント2〜10には、先
入れ先出しメモリ40と第3の比較器44とが設けられてい
る。該先入れ先出しメモリ40はブロードキャスト転送さ
れるデータの中で必要なデータを出力するプロセッサエ
レメント2〜10のプロセッサエレメント番号60が格納さ
れており、例えば、第4図において、1行目に相当する
第1のプロセッサエレメント2では1列目と3列目と5
列目とに対応して、X1,X2,X3に相当するプロセッサエレ
メント番号(1),(2),(3)が格納され、2行目
に相当する第2のプロセッサエレメント4では2列目と
4列目とに対応して、X2,X4に相当するプロセッサエレ
メント番号(2),(4)が格納されている。
That is, the first-in first-out memory 40 and the third comparator 44 are provided in each of the processor elements 2 to 10. The first-in first-out memory 40 stores processor element numbers 60 of processor elements 2 to 10 that output necessary data among data to be broadcast-transferred. For example, in FIG. In the processor element 2 of the first row, the third row, and the fifth row,
The processor element numbers (1), (2), and (3) corresponding to X1, X2, and X3 are stored in correspondence with the columns, and the second column in the second processor element 4 corresponding to the second row is stored. The processor element numbers (2) and (4) corresponding to X2 and X4 are stored in correspondence with and the fourth column.

また、第3の比較器44はアドレスバス54に乗せられて
いるプロセッサエレメント番号60、つまり、第1のアド
レス発生器50からのプロセッサエレメント番号60と先入
れ先出しメモリ40に格納されているプロセッサエレメン
ト番号とを比較して、入力バッファ15と第2のアドレス
発生器42とに結果を出力する。
The third comparator 44 is provided with the processor element number 60 on the address bus 54, that is, the processor element number 60 from the first address generator 50 and the processor element number stored in the first-in first-out memory 40. And outputs the result to the input buffer 15 and the second address generator 42.

次に、この並列処理システムのブロードキャスト転送
動作について説明する。
Next, the broadcast transfer operation of this parallel processing system will be described.

その際、転送データはFORTRANのプログラムで示すと
下記(2)のとおりである。
At this time, the transfer data is as shown in the following (2) in a FORTRAN program.

まず、初めに実施例1と同様に、第1のアドレス発生
器50は上位にプロセッサエレメント番号62(値は1)
を、下位に変数アドレス62(X(*,1)、*は任意を示
す。)を示すアドレスをそれぞれアドレスバス54にの
せ、さらにコントロール線52にはブロードキャストを行
うことを示すコントロール信号をのせる。
First, similarly to the first embodiment, the first address generator 50 has a processor element number 62 (value is 1) at a higher level.
And an address indicating a variable address 62 (X (*, 1), * indicates an arbitrary value) is placed on the address bus 54, and a control signal indicating that broadcasting is performed is placed on the control line 52. .

一方、各々のプロセッサエレメント2〜10は第1のア
ドレス発生器50からの各信号を受け取り、第1の比較器
30では第1のアドレス発生器50からのプロセッサエレメ
ント番号60とプロセッサエレメント番号レジスタ34の値
とを比較し、第2の比較器32では第1のアドレス発生器
50からの変数アドレス62と変数アドレスレジスタ36の値
とを比較し、該当するデータが出力バッファ14内に存在
するかを確かめて、各比較器30,32が一致信号を出力す
ると、後述の如く出力バッファ14のデータを出力する。
On the other hand, each processor element 2 to 10 receives each signal from the first address generator 50 and
At 30, the processor element number 60 from the first address generator 50 is compared with the value of the processor element number register 34. At the second comparator 32, the first address generator
The variable address 62 from 50 is compared with the value of the variable address register 36 to check whether the corresponding data exists in the output buffer 14, and when each of the comparators 30, 32 outputs a coincidence signal, as described below. The data in the output buffer 14 is output.

この場合、出力バッファ14及び変数アドレスレジスタ
36には該当するデータが存在しないため、各々のプロセ
ッサエレメント2〜10はアドレスバス16を介してメモリ
13をアクセスしデータを出力バッファ14へ書き込む。つ
まり、実施例1と同様に、各プロセッサエレメント2〜
10は自己の値jに該当するデータX(j,1)をメモリ13
より取り出す。そして、アクセス後の出力バッファ14
は、第1のプロセッサエレメント2ではX(1,1)、第
2のプロセッサエレメント4ではX(2,1)といったよ
うに各々のプロセッサエレメント2〜10でX(j,1)
(j=1,5)のデータが格納される。これと同時に、各
々のプロセッサエレメント2〜10は変数アドレスレジス
タ36に変数アドレス62を格納する。この結果、第2の比
較器32は全てプロセッサエレメント2〜10で第1のアド
レス発生器20からの変数アドレスと変数アドレスレジス
タ36の値とが一致することになる。
In this case, the output buffer 14 and the variable address register
Since there is no corresponding data in 36, each processor element 2 to 10 is connected to the memory via the address bus 16.
13 is accessed and data is written to the output buffer 14. That is, similarly to the first embodiment, each of the processor elements 2 to
10 stores data X (j, 1) corresponding to its value j in the memory 13
Take out from. Then, the output buffer 14 after the access
Is X (j, 1) in each of the processor elements 2 to 10, such as X (1,1) in the first processor element 2 and X (2,1) in the second processor element 4.
(J = 1,5) is stored. At the same time, each of the processor elements 2 to 10 stores the variable address 62 in the variable address register 36. As a result, the variable addresses from the first address generator 20 and the value of the variable address register 36 match in the processor elements 2 to 10 of all the second comparators 32.

更に、各々のプロセッサエレメント2〜10における第
1の比較器30の結果に基づいて、全てのプロセッサエレ
メント2〜10の中で第1のアドレス発生器50からのプロ
セッサエレメント番号60とプロセッサエレメント番号レ
ジスタ34の値か一致しているプロセッサエレメント2
(4〜10)のみが出力バッファ14のデータをデータバス
56へ出力する。この場合、プロセッサエレメント番号60
は1であり、第1のプロセッサエレメント2のデータX
(1,1)がデータバス56に出力される。
Further, based on the result of the first comparator 30 in each of the processor elements 2 to 10, the processor element number 60 and the processor element number register from the first address generator 50 among all the processor elements 2 to 10 are used. Processor element 2 with a value of 34 or matching
(4 to 10) only use the data bus of the output buffer 14
Output to 56. In this case, processor element number 60
Is 1 and the data X of the first processor element 2
(1, 1) is output to the data bus 56.

最後に、全てのプロセッサエレメント2〜10は、この
データX(1,1)を入力バッファ15に取り込む。そし
て、本実施例の特徴として第3の比較器44は、先入れ先
出しメモリ40のプロセッサエレメント番号と現在のアド
レスバス54に乗っている第1のアドレス発生器50からの
プロセッサエレメント番号60とが一致しているか否かを
判別し、一致しているプロセッサエレメント2〜10のみ
において、第3の比較器44が一致信号を出力し、このデ
ータX(1,1)を第2のアドレス発生器42のアドレスでX
C(i,1)のデータとしてもメモリ13へ格納する。その
際、一致したプロセッサエレメント2〜10のみ第2のア
ドレス発生器42の値を更新する。第4図及び第5図を例
にとれば、第1と第3のプロセッサエレメント2,6のみ
がデータXC(i,1)をメモリ13へ格納する。
Finally, all the processor elements 2 to 10 fetch the data X (1,1) into the input buffer 15. Then, as a feature of this embodiment, the third comparator 44 determines that the processor element number of the first-in first-out memory 40 matches the processor element number 60 from the first address generator 50 on the current address bus 54. The third comparator 44 outputs a coincidence signal only in the processor elements 2 to 10 that coincide with each other, and outputs the data X (1,1) to the second address generator 42. X by address
The data of C (i, 1) is also stored in the memory 13. At that time, the value of the second address generator 42 is updated only for the matching processor elements 2 to 10. 4 and 5, only the first and third processor elements 2 and 6 store data XC (i, 1) in the memory 13.

次に、第1のアドレス発生器50がプロセッサエレメン
ト番号60を2に変える。このときには、各々のプロセッ
サエレメント2〜10の出力バッファ14には、先に述べた
動作によりX(1,1)、X(2,1)、X(3,1)、X(4,
1)、X(5,1)のデータが取り込まれており、各々のプ
ロセッサエレメント2〜10における第2の比較器32は常
に一致信号を出力している。そして、プロセッサエレメ
ント番号60については第2のプロセッサエレメント4の
み一致するため、第2のプロセッサエレメント4がメモ
リ13へのアクセス無しで出力バッファ14のデータX(2,
1)をデータバス56へ出力する。この場合、第4図及び
第5図を例にとれば、第2と第4のプロセッサエレメン
ト4,8がデータXC(i,2)をメモリ13へ格納する。
Next, the first address generator 50 changes the processor element number 60 to two. At this time, X (1,1), X (2,1), X (3,1), X (4,1) are output to the output buffers 14 of the respective processor elements 2 to 10 by the above-described operation.
1) and X (5,1) are fetched, and the second comparator 32 in each of the processor elements 2 to 10 always outputs a coincidence signal. Since the processor element number 60 matches only the second processor element 4, the second processor element 4 accesses the data X (2,2,
1) is output to the data bus 56. In this case, taking FIGS. 4 and 5 as examples, the second and fourth processor elements 4, 8 store the data XC (i, 2) in the memory 13.

この動作は、第1のアドレス発生器50でのプロセッサ
エレメント番号60を3,4,5へ変えた場合にも同様に行わ
れる。よって、各々のプロセッサエレメント2〜10には
第4図に示す行列Aの非O成分に対応したベクトルXの
各行成分が格納され、従来例と比べた場合、メモリ13へ
のアクセス時間の減少が図られ、ブロードキャスト転送
について、従来の場合と比べて4/3倍だけ高速に行え
る。
This operation is similarly performed when the processor element number 60 in the first address generator 50 is changed to 3, 4, and 5. Therefore, each processor element 2 to 10 stores each row component of the vector X corresponding to the non-O component of the matrix A shown in FIG. 4, and the access time to the memory 13 is reduced as compared with the conventional example. As a result, the broadcast transfer can be performed 4/3 times faster than the conventional case.

更に、各々プロセッサエレメント2〜10にはリストベ
クトル(第5図参照)で示されているベクトルに対応す
るプロセッサエレメント番号を格納する先入れ先出しメ
モリ40を設け、このなかに格納されているプロセッサエ
レメント番号とアドレス54のプロセッサエレメント番号
60とを比較し、一致しているプロセッサエレメント2〜
10のみデータバス56をデータを取り込むことにより、ブ
ロードキャスト転送時の選択的なデータ取り込みを行う
ことになる。そして、各プロセッサエレメント2〜10に
おいて、第4図に示す行列AとベクトルXとの積との並
列計算が行われる。
Further, each of the processor elements 2 to 10 is provided with a first-in first-out memory 40 for storing a processor element number corresponding to a vector indicated by a list vector (see FIG. 5). Processor element number at address 54
60 and the matching processor elements 2 to 2
By taking in the data bus 56 only for the data 10, selective data taking-in at the time of broadcast transfer is performed. Then, in each of the processor elements 2 to 10, the parallel calculation of the product of the matrix A and the vector X shown in FIG. 4 is performed.

(発明の効果) 以上のように、請求項1に係る発明によれば、第1の
アドレス発生器がプロセッサエレメント番号と変数アド
レスとを示すアドレスを結合手段にのせ、プロセッサ番
号のみを変化させることによってブロードキャスト転送
を行うようにしたので、従来のように1つのデータ毎に
メモリアクセスする必要がないこところ、メモリアクセ
ス時間を減少させることができ、ブロードキャスト転送
の高速化を図ることができる。
(Effect of the Invention) As described above, according to the first aspect of the present invention, the first address generator puts the address indicating the processor element number and the variable address on the combining means, and changes only the processor number. Since the broadcast transfer is performed, the memory access time can be reduced and the speed of the broadcast transfer can be increased where it is not necessary to access the memory for each data as in the related art.

また、請求項2に係る発明によれば、各々のプロセッ
サエレメントにリストベクトルで示されているベクトル
に対応するプロセッサエレメント番号を格納する先入れ
先出しメモリを設け、この中に格納されているプロセッ
サエレメント番号と結合手段に乗せられているプロセッ
サエレメント番号とを比較し、一致している場合のみ結
合手段上のデータを取り込むようにしているので、ブロ
ードキャスト転送時の選択的なデータの取り込みを可能
にすることができることから、メモリの有効利用を図る
ことができると共に、疎行列とベクトルとの積などの計
算を高速に行うことができる。
According to the second aspect of the present invention, each processor element is provided with a first-in first-out memory for storing a processor element number corresponding to a vector indicated by a list vector. Since the processor element numbers on the linking means are compared with each other and the data on the linking means are fetched only when they match, it is possible to selectively fetch data at the time of broadcast transfer. As a result, the memory can be effectively used, and the calculation of the product of the sparse matrix and the vector can be performed at high speed.

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

第1図は本発明の実施例1における並列処理システムを
示すブロック図、第2図は本発明の実施例2における並
列処理システムを示すブロック図である。第3図は行列
とベクトルとの積を求める際に各々のプロセッサエレメ
ントに割り当てられるデータを示した図、第4図は疎行
列とベクトルとの積を求める際のデータを示す図、第5
図はリストベクトルを用いた疎行列のデータを圧縮した
状態を示す図である。第6図は従来の並列処理システム
を示すブロック図、第7図は従来のシステムに用いられ
るデータを示す図である。 2,4,6,8,10……プロセッサエレメント、12……プロセッ
サ、13……メモリ、14……出力バッファ、15……入力バ
ッファ、16……アドレスバス、17……データバス、30…
…第1の比較器、32……第2の比較器、34……プロセッ
サエレメント番号レジスタ、36……変数アドレスレジス
タ、40……先入れ先出しメモリ、42……第2のアドレス
発生器、44……第3の比較器、50……第1のアドレス発
生器、52……コントロール線、54……アドレスバス、56
……データバス、60……プロセッサエレメント番号、62
……変数アドレス。
FIG. 1 is a block diagram illustrating a parallel processing system according to a first embodiment of the present invention, and FIG. 2 is a block diagram illustrating a parallel processing system according to a second embodiment of the present invention. FIG. 3 is a diagram showing data assigned to each processor element when obtaining a product of a matrix and a vector, FIG. 4 is a diagram showing data when obtaining a product of a sparse matrix and a vector, FIG.
The figure shows a state in which data of a sparse matrix using a list vector is compressed. FIG. 6 is a block diagram showing a conventional parallel processing system, and FIG. 7 is a diagram showing data used in the conventional system. 2,4,6,8,10 ... processor element, 12 ... processor, 13 ... memory, 14 ... output buffer, 15 ... input buffer, 16 ... address bus, 17 ... data bus, 30 ...
... first comparator, 32 ... second comparator, 34 ... processor element number register, 36 ... variable address register, 40 ... first-in first-out memory, 42 ... second address generator, 44 ... Third comparator 50, first address generator 52, control line 54, address bus 56
…… Data bus, 60 …… Processor element number, 62
... Variable address.

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 15/163 G06F 17/16 G06F 15/177 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 6 , DB name) G06F 15/163 G06F 17/16 G06F 15/177

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】プロセッサと該プロセッサが処理を行うた
めのデータを蓄えておくメモリとを有する複数個のプロ
セッサエレメントと、該各プロセッサエレメント間で相
互にデータ転送が可能に各プロセッサエレメントを繋ぐ
結合手段と、 複数個の前記プロセッサエレメントに対して同一データ
を転送するブロードキャスト転送における転送元のプロ
セッサエレメント番号とデータに対応する変数アドレス
とブロードキャスト転送を行うことを示すコントロール
信号とを発生する第1のアドレス発生器とを備えた並列
処理システムであって、 前記各プロセッサエレメントは、 前記メモリから前記結合手段へデータを出力する出力バ
ッファと、 前記第1のアドレス発生器からのプロセッサエレメント
番号と自分のプロセッサエレメント番号とを比較して、
その結果を前記出力バッファに出力する第1の比較器
と、 前記出力バッファ内のデータが変わる度に出力バッファ
のデータに対応する変数アドレスを更新記憶する記憶手
段と、 該記憶手段内の変数アドレスと第1のアドレス発生器か
らの変数アドレスとを比較して、その結果を前記出力バ
ッファに出力する第2の比較器と、 前記結合手段に乗せられたデータを入力する入力バッフ
ァと、 該入力バッファのデータを前記メモリに書き込むアドレ
スを発生する第2のアドレス発生器とを備えていること
を特徴とする並列処理システム。
A plurality of processor elements each having a processor and a memory for storing data for the processor to perform processing, and a connection for connecting the processor elements so that data can be mutually transferred between the processor elements. Means for generating a control signal indicating that a broadcast transfer is to be performed and a variable address corresponding to a transfer source processor element number and data in the broadcast transfer for transferring the same data to the plurality of processor elements. A parallel processing system including an address generator, wherein each of the processor elements includes: an output buffer that outputs data from the memory to the coupling unit; a processor element number from the first address generator; Processor element number Compared to,
A first comparator for outputting the result to the output buffer; storage means for updating and storing a variable address corresponding to data in the output buffer each time data in the output buffer changes; and a variable address in the storage means. And a variable address from the first address generator, and a second comparator for outputting the result to the output buffer; an input buffer for inputting the data loaded on the combining means; A second address generator for generating an address for writing buffer data to the memory.
【請求項2】請求項1記載の並列処理システムにおい
て、 各プロセッサエレメントは、プロセッサエレメントにブ
ロードキャスト転送されるデータの中で必要なデータを
出力するプロセッサエレメントのプロセッサエレメント
番号を格納する先入れ先出しメモリと、 結合手段に乗せられているプロセッサエレメント番号と
前記先入れ先出しメモリのプロセッサエレメント番号と
を比較して、その結果を入力バッファ及び第2のアドレ
ス発生器に出力する第3の比較器とを備えていることを
特徴とする並列処理システム。
2. The parallel processing system according to claim 1, wherein each processor element includes a first-in first-out memory storing a processor element number of a processor element that outputs necessary data among data broadcast-transmitted to the processor element; A third comparator for comparing the processor element number loaded on the coupling means with the processor element number of the first-in first-out memory and outputting the result to an input buffer and a second address generator; A parallel processing system characterized by the following.
JP2207231A 1990-08-03 1990-08-03 Parallel processing system Expired - Fee Related JP2945726B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2207231A JP2945726B2 (en) 1990-08-03 1990-08-03 Parallel processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2207231A JP2945726B2 (en) 1990-08-03 1990-08-03 Parallel processing system

Publications (2)

Publication Number Publication Date
JPH0492951A JPH0492951A (en) 1992-03-25
JP2945726B2 true JP2945726B2 (en) 1999-09-06

Family

ID=16536409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2207231A Expired - Fee Related JP2945726B2 (en) 1990-08-03 1990-08-03 Parallel processing system

Country Status (1)

Country Link
JP (1) JP2945726B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235141A (en) * 1995-02-28 1996-09-13 Kofu Nippon Denki Kk Information processing system

Also Published As

Publication number Publication date
JPH0492951A (en) 1992-03-25

Similar Documents

Publication Publication Date Title
US4881168A (en) Vector processor with vector data compression/expansion capability
EP3407182B1 (en) Vector computing device
CN111651205B (en) A device and method for performing vector inner product operations
CN109543832B (en) Computing device and board card
US5821940A (en) Computer graphics vertex index cache system for polygons
CN109522052B (en) Computing device and board card
US6784888B2 (en) Method and apparatus for executing a predefined instruction set
US5586256A (en) Computer system using multidimensional addressing between multiple processors having independently addressable internal memory for efficient reordering and redistribution of data arrays between the processors
US20020144099A1 (en) Hardware architecture for fast servicing of processor interrupts
JPS60134974A (en) vector processing device
US5854620A (en) Method and apparatus for converting monochrome pixel data to color pixel data
US5940625A (en) Density dependent vector mask operation control apparatus and method
JP2945726B2 (en) Parallel processing system
TWI801601B (en) Database processing system and method for offloading database operations
CN112328208B (en) Computing device and method
JPS59114677A (en) vector processing device
JPH1153189A (en) Arithmetic device, arithmetic method, and computer-readable recording medium
US20220197696A1 (en) Condensed command packet for high throughput and low overhead kernel launch
KR920008212B1 (en) Two-dimensional fast fourier transform (FFT) processor using a mixed shuffle connection method (MSCM).
JP3278441B2 (en) Vector processing equipment
US6763421B2 (en) Instruction pair detection and pseudo ports for cache array
JP2852050B2 (en) Image processing device
JPH0435792B2 (en)
JPH04255064A (en) Parallel processor
JPH06230964A (en) Computer with cache memory

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees