JP2637749B2 - データ処理装置とその処理方法 - Google Patents

データ処理装置とその処理方法

Info

Publication number
JP2637749B2
JP2637749B2 JP62298606A JP29860687A JP2637749B2 JP 2637749 B2 JP2637749 B2 JP 2637749B2 JP 62298606 A JP62298606 A JP 62298606A JP 29860687 A JP29860687 A JP 29860687A JP 2637749 B2 JP2637749 B2 JP 2637749B2
Authority
JP
Japan
Prior art keywords
data
processing
data storage
state
storage area
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
JP62298606A
Other languages
English (en)
Other versions
JPS63238653A (ja
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPS63238653A publication Critical patent/JPS63238653A/ja
Application granted granted Critical
Publication of JP2637749B2 publication Critical patent/JP2637749B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 (発明の属する技術分野) 本発明は、データ処理装置間でのデータ通信を伴うシ
ステムのデータ処理において、データ処理装置間のデー
タ転送処理と各データ処理装置でのデータ演算処理とを
並列に行なうための技術に関するものである。
(従来の技術) 従来、データ処理装置間でのデータ通信を伴うシステ
ムのデータ処理の一例としての、アレイプロセッサにお
けるデータ演算処理では、処理要素間のデータ転送処理
において、データ送・受信及びデータ演算処理は処理要
素の共通のデータ格納領域(メモリ等)を使っていたた
め、処理要素間のデータ授受を待ってデータ演算処理を
実行しなければならなかった。
そのため、データ転送とデータ演算処理を交互に繰り
返し行わなければならなかった。特に、ベクトルデータ
の転送を伴う行列乗算等の処理では転送データ量が多い
ため、アレイプロセッサの処理速度は処理要素間のデー
タ転送のオーバヘッドにより低下するという欠点があっ
た。
例えば、第16図に示すようなアレイプロセッサで、行
列A,Bの乗算処理を実行する場合について説明する。
各処理要素は、行列Aの成分データの受信、送信及び
データ演算処理用に共通のデータ格納領域をもち、ま
た、行列Bの成分データの受信及び演算ユニットへのデ
ータ供給及び演算結果の受け取り用のデータ格納領域を
もつ。
(l,m)行列A,(m,n)行列Bを と定義すると、行列C=A×Bのj列ベクトルcjで表わされる。
従って、行列Aを表わすベクトルデータ列 と行列Bを表わすベクトルデータ列 を第16図に示すようなデータフローに従ってアレイプロ
セッサに入力することによって、各処理要素において行
列Cの各成分をパイプライン処理で計算できる。
l=5,n=5の場合の処理動作例を第17図Aないし第1
7図Cに示す。
この例では、データ授受とデータ演算処理のデータ格
納領域を共有しているため、処理要素間のベクトルデー
タの転送とベクトルデータ間の内積演算はシリアルに行
われる。
例えば、時刻3においては、PE1はデータ を入力すると同時にそれまで保持していたデータ をPE2に転送する。さらに、ベクトルデータ を入力する。
PE2はこれと同時にPE1からデータ を受信し、外部からベクトルデータ を入力する。
時刻4においては、時刻3で入力したデータに対して
内積演算処理を実行する。上記のような処理では、処理
要素間のデータ転送に要する時間がオーバヘッドにな
り、処理の高速化が図れない。
(発明の目的) 本発明の目的は、上記のようなデータ処理装置間での
データ通信を伴うシステムのデータ処理において、デー
タ処理装置間のデータ転送処理と各データ処理装置での
データ演算処理とを並列化し、データ処理装置間のデー
タ転送に要する時間のオーバヘッドを低減し、上記のシ
ステムの並列処理の高効率化を達成できるデータ処理装
置を提供することにある。
(発明の構成) 本発明装置は、 1)データ受信端子を介して外部からデータを受信する
データ受信用のデータ格納領域、 2)データ送信端子を介して外部へデータを送信する送
信データ用のデータ格納領域、 3)演算実行ユニットに対するデータの供給並びに演算
結果の受取りを行うためのデータ演算処理用のデータ格
納領域をもち、 上記の各データ格納領域は互いに排他的かつ循環的に
データ受信用、データ送信用、データ演算処理用に切り
換わることができ、 上記の各データ格納領域のデータ受信、データ送信、
データ演算処理の各役割の切り換えを制御する手段と、 所望の演算を実行する手段と、 演算内容を制御する手段を有するデータ処理装置であ
って、データ処理装置間のデータ通信を伴うシステムで
のデータ処理におけるデータ通信時間のオーバヘッドを
低減し、処理速度の向上を図るものである。
(実施例) 以下、本発明の実施例の図面を用いて、発明を詳細に
説明する。
[実施例1] (l,m)行列Aと(m,n)行列Bの乗算を一次元アレイ
プロセッサで処理する例を示す。
行列A,Bを と定義する。ここで、 はそれぞれ行ベクトル、列ベクトルで で表わされ、 の転置ベクトルを表わす。
行列C=A×B,Cの(i,j)成分をcijで表わすとする
である。
行列Cのj列ベクトルを cj t=(c1j,c2j,…,cij,…,clj);(1≦j≦n) と定義すると、 である。
第1図に示すn個の処理要素からなる一次元アレイプ
ロセッサで、行列Cを求める場合のアレイプロセッサの
処理動作を、l=n=5の場合について第2図A,第2図
Bに示す。上記のアレイプロセッサに入力されるデータ
は、ベクトル列 及びベクトルデータ列 である。
第3図は本発明を処理要素の構成にもつ一実施例を概
略的に示すブロック図であり、1,2,3はデータ格納領
域、4は演算実行ユニット、5はコントロールユニッ
ト、6はデータ受信端子、7はデータ送信端子、8,9は
レジスタを示す。
各処理要素は、本発明の構成であるデータ受信用、デ
ータ送信用、データ演算処理用のデータ格納領域をも
ち、それらの容量は各ベクトルデータを格納できる大き
さ、すなわち、m個のデータ格納領域をもつ。
各処理要素はまた、ベクトルデータ列 の各ベクトルデータ並びに演算途中結果を格納するため
のデータ格納領域をもち、内積演算を実行する手段、デ
ータ授受並びに上記のデータ格納領域の各々のデータ受
信、データ送信、データ演算処理の各役割を制御する手
段をもつ。
第2図A,第2図Bの動作例では、各ベクトルデータ列
を互いに同期させて、各処理要素にパイプライン転送す
る規則的なデータフローにより、各処理要素は並列に行
列Cの各成分の演算処理を行う。
各処理要素の各データ格納領域は、各時刻毎に第4図
に示されるように、次のような循環的な各役割の切り換
えを行う。(ここで、時刻の単位は行列Cの各成分計算
またはベクトルデータ転送に要する時間とする。) 具体的に、時刻3,4,5でのPE1の3面のデータ格納領域
の処理動作について説明する。
時刻3において、データ受信用でベクトルデータ を受信したデータ格納領域は、時刻4でデータ送信用に
なり、このデータをPE2に転送する。また、時刻5にお
いてデータ演算処理用になり、このデータ と時刻1において入力し、保持されたベクトルデータ との内積演算処理に使われる。
一方、他の2つのデータ格納領域は、時刻3におい
て、それぞれベクトルデータ とベクトルデータ との内積演算処理用のデータ格納領域(データ演算処理
用)、時刻2で受信したベクトルデータ をPE2へ転送するデータ送信用のデータ格納領域(デー
タ送信用)である。
また、時刻4においては、それぞれベクトルデータ のデータ入力用のデータ格納領域(データ受信用)、ベ
クトルデータ とベクトルデータ との内積演算処理用のデータ格納領域(データ演算処理
用)である。
時刻5においては、それぞれベクトルデータ をPE2へ転送するデータ送信用のデータ格納領域(デー
タ送信用)、ベクトルデータ の入力用のデータ格納領域(データ受信用)として使用
される。
このような行列乗算の処理では、本発明のデータ受
信、データ送信、データ演算処理の3つの役割が互いに
排他的かつ循環的に切り換わるようなデータ格納領域の
構成により、常に処理要素内での内積演算処理と処理要
素間のデータ転送処理を並列に実行でき、アレイプロセ
ッサでの処理要素間のデータ転送に要する時間のオーバ
ヘッドを低減して効率的な処理が達成できる。
以下、本実施例による効果を定量的に評価する。
内積演算処理に要する時間をtp,ベクトルデータ の入力または転送に要する時間をttr,アレイプロセッサ
全体で演算処理を開始するまでに必要となるデータの初
期ロードに要する時間をt0と定義すると、(l,m)行列
Aと(m,n)行列Bの乗算処理に要する時間Tは、 Tt0+(l+n)×max[tp,ttr] …(1) で表わされる。ここで、max[x,y]はx,yのうちの最大
値を表わす。tp≧ttrの場合には、式(1)はTt0
(l+n)tpであり、データ転送処理が演算処理に隠さ
れ、総時間は演算処理時間だけに依存する。
また、tp<ttrの場合には、 式(1)はTt0+(l+n)ttrであり、データ演
算処理がデータ転送処理に隠され、総時間はデータ転送
処理だけに依存する。
演算処理とデータ転送をシリアルに実行する手段、す
なわち、データ転送用のデータ格納領域とデータ演算処
理用のデータ格納領域を共有し、データ転送用とデータ
演算処理用の各役割を時分割して用いる従来の技術では
行列の乗算処理に要する総時間T′は、 T′t0′+(l+n)×(tp+ttr) …(2) で表わされる。
式(1),(2)より 式(3)の分母、分子の第一項のt0′,t0は第二項に比
べて無視できるとすると、 である。
従って、式(4)よりT≦T′であり、本発明の構成
により、従来よりも高速の処理を達成できる。
tpttrの場合には、従来の2倍の処理速度向上を実
現でき得る。
次に、コントロールユニットの具体例について説明す
る。
コントロールユニットのブロック回路図を第5図に示
す。なおこのコントロールユニットは本発明の全実施例
に共通する。Address Counter 1,2,3は、各データ格納
領域,,をアドレシングするカウンタで、Base A
ddress Reg.1,2,3はこれらのAddress Counterのアドレ
ス値との比較対象となるデータを保持するレジスタであ
る。各Address Counterと対応するBase Address Reg.と
の値は、一致検出回路によって比較される。各一致検出
回路は、アドレス値の一致を示すフラグを発生する。各
一致検回路の出力するフラグは、各データ格納領域の役
割に対応して、データ送信、データ受信、データ演算用
の各格納領域に対するデータの授受動作状態を表わすフ
ラグとして定義でき、各マルチプレクサは、各々データ
送信状態、データ受信状態のフラグを切換え、これを送
信状態フラグ(SP)、受信状態フラグ(RF)としてモー
ドコントロール制御回路に送る。これらのフラグは、デ
ータ送信または、受信状態にあるデータ格納領域がデー
タの送信または、受信を完了したことを示すものであ
る。
詳細には、各Address Counterに送信または受信する
データ群の初期アドレスを、対応するBase Address Re
g.にその最終アドレスを設定し、Counterはデータを1
つ送信または受信するごとにインクリメントし、この値
がBase Address Reg.に一致したところでインクリメン
ト動作を終了し、一致のフラグが検出され、送信または
受信が完了する。
モードコントロール制御回路は、各データ格納領域の
役割状態を制御する。
制御信号MC(Mode Change Signal)は、各データ格納
領域の役割遷移を起動する信号であり、ST3,ST6はそれ
ぞれ、三状態循環状態遷移、六状態循環状態遷移(後述
する)の各過程を指定する制御信号である。制御信号P
n,Rn,Sn(n=1,2,3)は、それぞれのデータ格納領域
(n=1の時は,n=2の時は,n=3の時は)のデ
ータ演算用、データ受信用、データ送信用の役割状態に
示す信号である。制御信号MDFは六状態循環遷移の制御
を行う信号である。
デコーダ回路は、モードコントロール制御回路から各
データ格納領域の役割状態を示す制御信号とデータ演算
処理時のデータ格納領域の書込み、読出しを示す制御信
号WR,RD及びデータ送・受信時の書込み、読出しを示す
制御信号ASWR,ASRDとから個々のデータ格納領域のデー
タ読出し、書込みイネーブル信号RENn,WENn(n=1,3,
3)を発生する。
第6図に、モードコントロール回路の詳細論理図を示
す。
BMn(n=1,2,3)は、各データ格納領域の役割状態を
表し、Pn,Sn,Rn(n=1,2,3)のいずれかが、“High"で
あることを示す。レジスタ11〜16は、各データ格納領域
,,の役割状態値を制御するレジスタ群で、デー
タ格納領域の状態はレジスタ11,14、の状態はレジ
スタ12,15、の状態はレジスタ13,16、の各レジスタ値
によって定義される(データ演算用に対しては“11"、
データ受信用に対しては“10"、データ送信用に対して
は“01")。また、このレジスタ群において、は、リ
セット時に初期値“1"を保持し、は“0"を保持するレ
ジスタである。レジスタ11〜13,レジスタ14〜16は、シ
フトレジスタとして動作する。
第7図にデコーダ回路の論理図を示し、第8図,第9
図に三状態循環遷移制御、六状態循環遷移制御における
モードコントロール回路の動作のタイムチャートを示
す。
第8図において、各データ格納領域の状態値を示すシ
フトレジスタは、制御信号MCが1マシンサイクル入るご
とにシフト動作し、各データ格納領域の状態を示す信号
BMn(n=1,2,3)が互いに排他的に変化し、三状態循環
遷移を実現する。
第9図においては、各データ格納領域の状態値を示す
シフトレジスタは、制御信号MCが2マシンサイクル入る
ごとに1回シフト動作し、制御信号MDFは、制御信号MC
が1マシンサイクル入るごとにセットまたはリセットさ
れる。制御信号MDFが“Low"の時は、各データ格納領域
の状態は、BMn(n=1,2,3)の値により定義し、MDFが
“High"の時は、BMn=Pnのデータ格納領域をデータ演算
のデータ読出し専用に、BMn=Snのデータ格納領域をデ
ータ演算のデータ書込み専用の役割状態として定義する
ことにより、二面のデータ格納領域をデータ演算の読出
し、書込み専用に割当てる状態と、各々のデータ格納領
域をそれぞれデータ演算用、データ受信用、データ送信
用に割当てる状態とをMCが1マシンサイクルごとに交互
に切換え、六状態循環遷移を現実する。
[実施例2] たたみ込み演算を一次元アレイプロセッサで実行する
例を示す。
重み係数データ列をW={w1,w2,…,wk},入力デー
タ列をX={x1,x2,…,xn}とすると、たたみ込み演算
は yi=w1xi+w2xi+1+……+wkxi+k-1 で表わされる。
本実施例に対する本発明の構成を第5図に示す。処理
要素は第3図の構成をもつ。ここで、データ受信、デー
タ送信、データ演算処理用の各役割を担うデータ格納領
域はレジスタである。
第10図に示すようなk個の処理要素からなる一次元ア
レイプロセッサでのたたみ込み演算処理の動作を、k=
5、n=7の場合について第11図A,第11図Bに示す。
ここで、各処理要素は本発明の構成である上記の3種
類の役割を担うデータ格納領域(この例では、各データ
がスカラデータであるので、各データ格納領域はレジス
タでよい)をもち、乗算及び加算の機能、各データ格納
領域の処理モード及びデータ授受の制御手段をもつ。
また、入力データXのデータ格納領域をもち、この格
納領域は外部からのデータ入力とデータ演算処理用に同
時に用いることができるものとする。
さらに、演算途中結果の格納、保持する手段をもつも
のとする。
各々データ格納用レジスタは、データ受信、データ送
信、データ演算処理の各役割を互いに排他的かつ循環的
に切り換えることができる。
具体的に、時刻4,5,6でのPE1の各データ格納用レジス
タの動作について説明する。
時刻4において、データ受信用でw4を受信したデータ
格納用レジスタは、時刻5においてデータ送信用になり
データw4をPE2に送信する。また、時刻6において、デ
ータ演算処理用になり、時刻4で入力し、保持されてい
るx4との乗算用に使用される。ここで、時刻5で入力デ
ータx4を入力した入力データ用格納領域は、時刻6でデ
ータ演算処理用として使用される。
一方、他の2つのデータ格納用レジスタは、時刻4に
おいてそれぞれy1の成分w2x2の乗算処理用(データ演算
処理用)、時刻3で入力したデータw3をPE2へ転送する
データ転用用(データ送信用)として使用される。
また、時刻5においては、それぞれ、データ受信用で
のデータw5の入力用、データ演算処理用でのy1の成分w3
x3の乗算処理用として使用される。
時刻6においては、それぞれ時刻5で入力したデータ
w5をデータ送信用でPE2に送信、データ受信用で空デー
タの受信用として使用される。入力データ列Xは、各時
刻毎に全処理要素に同時転送される。
上記のように、たたみ込み演算処理では、本発明のデ
ータ受信、データ送信、データ演算処理の3種類の役割
が互いに排他的かつ循環的に切り換わる。
データ格納領域の構成により、常に処理要素でのyi
成分計算と処理要素間のデータ転送処理が並列に実行で
き、アレイプロセッサ上で処理要素間のデータ転送のオ
ーバヘッドなく、yiの演算がパイプライン並列処理で実
現できる。
演算結果は時刻7,8,9において、それぞれPE1ではy1,P
E2ではy2,PE3ではy3が得られる。
以下、本実施例の効果を定量的に示す。データwp(1
≦p≦k)を入力、転送するために要する時間をttr
各処理要素で乗算wpxi+p-1及びこの時刻までの計算結果 とこの乗算結果の加算に要する時間をtpとすると、結果
yiを求めるためにかかる総時間Tは、 Tt0+{k+(n+1−k)}×max[ttr,tp] =t0+(n+1)×max[ttr,tp] ……(5) で表わされる。ここで、t0は初期データロードに要する
時間であり、max[x,y]はx,yのうちの最大値を表わす
ものとする。
本実施例に示すたたみ込み演算処理では、処理要素間
のデータ転送は1個のスカラデータ転送であるので、t
tr<tpである。従って、 Tt0+(n+1)×tp ……(6) 従来の演算処理とデータ転送をシリアルに行う技術で
は、総時間T′は T′t0′+(n+1)(tp+ttr) ……(7) である。
式(6),(7)より、 式(8)より、T<T′であり、本発明の構成により
処理速度は 倍向上する。
[実施例3] 音声認識処理のDP(ダイナミックプログラミング)に
基づくパターンマッチング処理におけるベクトル距離計
算を、本発明の構成を搭載した処理要素(PE)から成る
一次元アレイプロセッサで実行する例を示す。
このベクトル距離計算(以後、d算計と呼ぶ)は、 で表される。ここで、i,jは、マッチングする入力パタ
ーンデータ時系列 の第iフレーム,標準パターンデータ時系列 の第jフレームを表し、kは各ベクトルデータの次数を
表す。
具体例として、i=5,j=5の場合をPE数=5の一次
元アレイプロセッサで処理する場合について説明する。
各PEで実行するd計算の処理フローを第12図Aないし
第12図Cに示す。各PEは、三面のデータ格納領域の他に
演算実行ユニットとのデータ授受を行なうことのできる
ワーキング用のデータ格納領域をもち、外部のバスから
データを入力することができる。
各PEは、バスから標準パターンデータを入力してこれ
をワーキング用のデータ格納領域に格納し、三面のデー
タ格納領域構成を使ったパイプライン処理によって入力
パターンデータを入力する。この処理フローは、一つの
d計算に要する処理時間を時刻単位として示されてお
り、各PEの三面のデータ格納領域の役割に各時刻毎に互
いに排他的にかつ循環的にデータ受信用,データ送信
用,データ演算処理用に切り換わる。PE3の時刻t+6
におけるd計算を例に、詳細な処理を説明する。
時刻t+6において、PE3は、PE2から標準パターンベ
クトルデータ をデータ受信状態のデータ格納領域に受信し、これと並
行して時刻t+5でPE2から受信した標準パターンベク
トルデータ をPE4に送信する。また、このPE間データ転送と並行し
て時刻t+3において受信した標準パターンベクトルデ
ータ と時刻t+2においてバスからワーキング用のデータ格
納領域に入力した入力パターンベクトルデータ とのベクトル距離計算処理(d33)を実行する。
PE3の三面の各データ格納領域の役割状態は、 のように互いに排他的に切り換わる。
各PEは、各時刻において同一の処理を行なう。
以上のように、互いに排他的かつ循環的に三状態の役
割を切り換えることができる三面のデータ格納領域構成
によって、PE間のデータ転送をデータ演算処理に隠すこ
とができ、データ転送のオーバヘッドのない高速なDPに
基づくパターンマッチングの並列ベクトル距離計算が実
現できる。
[実施例4] この実施例において、3つのデータ格納領域の各々を
循環的且つ排他的に、データ受信用,データ送信用,デ
ータ演算処理用の3状態に順次切換える状態Aと、前記
3つのうちの2つのデータ格納領域をデータ演算書込み
専用およびデータ演算読出し専用とする状態Bを交互に
切換え、上記の3つのデータ格納領域の各々をデータ演
算処理用(状態A)、データ演算の書込み専用(状態
B)、データ送信用(状態A)、ノーオペレーション
(状態B)、データ受信用(状態A)、データ演算の読
出し専用(状態B)、続いてデータ演算処理用(状態
A)と6状態に順次循環的に切換え、データ受信,デー
タ送信,データ演算処理を並列に実行する。
音声認識処理のDP(ダイナミックプログラミング)に
基づくパターンマッチング処理における累積距離計算
を、本発明の構成を搭載した処理要素(PE)から成る一
次元アレイプロセッサで実行する例を示す。
この累積距離計算(以後、g計算と呼ぶ)は、 で表される。ここで、i,jは、マッチングする入力パタ
ーンデータ時系列の第iフレーム,標準パターンデータ
時系列の第iフレームを表す。
具体例として、j=5,j=5の場合をPE数=5の一次
元アレイプロセッサで処理する場合について説明する。
各PEで実行するg計算の処理フロー第14図Aに示す。
各PEは、三面のデータ格納領域の他に演算実行ユニット
とのデータ授受を行なうことのできるワーキング用のデ
ータ格納領域をもち、その一部の領域に距離値di,j
テーブルが格納されているものとする。この処理フロー
では、各PEは、隣接するPEからそのPEのg計算に必要な
データ群を受信し、このデータとワーキング用のデータ
格納領域に保持されているデータとを使って隣接するPE
がそのg計算で必要とするデータ群を話算して、隣接す
るPEへ送信する。そして、各PEは、このデータ送信と並
行してそのPEのg,l値を計算する。
第14図Aにおいて、 g,l:対象となるg値,l値、 g-1,l-1:一時刻前のg値,l値、 送信,受信用の格納領域には、データ群(nj,Pa,la,P
c,lc)、ワーキングの格納領域には、データ群(pb,lb,
g-1,l-1,ga,gb,gc)及びdijテーブルが格納される。
このPEの処理フローに従って、一次元アレイプロセッ
サでのg計算の並行処理フローを第14図Bに示す。各PE
は第14図Aのステップa〜eをこの処理フローに従って
実行するが、あるPEのステップa,dは隣接するPEのステ
ップd,aに相当するので、アレイプロセッサの処理で
は、隣接するPEの間でステップaとdを対応させた並列
処理が実行できる。すなわち、データ演算処理と並列に
PE間データ転送が実行できる。
この処理フローを本発明の構成で実行した場合を第15
図Aないし第15図Eに示す。
ここでは、 はデータ群を表し、 と定義する。
第15図Aないし第15図Eは、一つのg値を計算するの
に要する時間を処理の時刻単位として処理フローを示し
ている。PE3の時刻t+4におけるg33の計算を例に、詳
細な処理を説明する。
各PEの三面のデータ格納領域は、各時刻に二つの役割
状態をとる。すなわち、二面がそれぞれデータ演算処理
用の読出し、書込み専用に割当てられる状態、三面がそ
れぞれデータ送信,データ受信,データ演算処理用に割
当てられる状態である。
時刻t+4において、PE3は、データ演算処理の読出
し専用状態のデータ格納領域から時刻t+3においてPE
2から受信したデータ を読出し、これとPE3内部のワーキングのデータ格納領
域に格納されていたデータから、送信用のデータ を計算し、データ演算処理の書込み専用の状態にあるデ
ータ格納領域にこれを格納する。そして、三面のデータ
格納領域をデータ送信用,データ受信用,データ演算処
理用の状態にして、求めたデータ をデータ送信用のデータ格納領域(書込み専用の状態に
あったデータ格納領域)から隣接するPEへ送信すると同
時に、データ受信用の状態にあるデータ格納領域に時刻
t+5計算に必要となるデータ を受信する。さらに、これと並列に、データ演算処理用
のデータ格納領域(読出し専用の状態にあったデータ格
納領域)からのデータとワーキング用のデータ格納領域
からのデータを使ってg33,l33を計算し、時刻t+4で
のg,l計算を終了する。
であり、ワーキング用のデータ格納領域にはg21+2d32,
l21が格納されているので、g33,l33はこれらのデータに
より求められる。
各時刻において、各PEは、上記と同様の処理を行な
う。
以上のような各PEでの処理を、六つの役割状態の循環
的な遷移をもつ三面のデータ格納領域構成を使って実行
することにより、データ転送をデータ演算処理に隠すこ
とができデータ転送によるオーバヘッドのない高速なDP
に基づくパターンマッチングの並列累積距離計算を実現
できる。
(発明の効果) 本発明によれば、データ処理装置間でのデータ通信を
伴うシステムのデータ処理において、データ処理装置間
のデータ転送処理と各データ処理装置でのデータ演算処
理の並列処理を可能とし、処理速度の向上を実現でき
る。
【図面の簡単な説明】
第1図及び第2図A、第2図Bは、それぞれ行列の乗算
処理において、本発明の実施例のアレイプロセッサの構
成とその処理動作を示す。 第3図及び第4図は、本発明の実施例を概略的に示すブ
ロック図とその状態の遷移を示す。 第5図は本発明の実施例のコントロールユニットのブロ
ック回路図を示す。 第6図は本発明の第5図の実施例のモードコントロール
回路の論理図を示す。 第7図は第5図の実施例のデコーダ回路の論理図を示
す。 第8図は、モードコントロール回路の三状態循環遷移制
御のタイムチャートを示す。 第9図は、モードコントロール回路の六状態循環遷移制
御のタイムチャートを示す。 第10図及び第11図A,第11図Bはそれぞれ、たたみ込み演
算処理における本発明の実施例を説明するためのアレイ
プロセッサの構成とその処理動作を示す。 第12図Aないし第12図Cは、ベクトル距離計算の処理フ
ローを示す。 第13図は、3つのデータ格納領域の六状態循環遷移を示
す。 第14図Aは、一次元アレイプロセッサの累積距離計算並
列処理フローを、第14図BはPEの累積距離計算フローを
それぞれ示す。 第15図Aないし第15図Eは、本発明の構成で実行した場
合の、累積処理計算の並列処理フローを示す。 第16図及び第17図Aないし第17図Cは、それぞれ、従来
の技術を説明するためのアレイプロセッサの構成とその
処理動作を示す。 1,2,3……データ格納領域、4……演算実行ユニット、
5……コントロールユニット、6……データ受信端子、
7……データ送信端子、8,9……レジスタ、11〜16……
レジスタ、 PE1〜PEn……処理要素、x1〜xn……入力データ列、w1
wk……重み係数データ列。

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】3つのデータ格納領域と, 所定の演算を実行する演算実行ユニットと, 上記3つのデータ格納領域から選択した1つのデータ格
    納領域をデータ受信用とし,そのデータ格納領域にデー
    タ受信端子を介した外部から受信したデータを格納する
    第1の手段と, 上記3つのデータ格納領域から選択した1つのデータ格
    納領域をデータ送信用とし,そのデータ格納領域に格納
    されているデータをデータ送信端子を介して外部へ送信
    する第2の手段と, 上記3つのデータ格納領域から選択した1つのデータ格
    納領域をデータ演算処理用とし,そのデータ格納領域に
    格納されているデータを上記演算実行ユニットにより演
    算の対象とする第3の手段と, 上記第1の手段,上記第2の手段および上記第3の手段
    が選択する上記データ格納領域を循環的且つ排他的に切
    換える制御手段とを備え, 上記制御手段によって,上記3つのデータ格納領域の各
    々に対する上記第1の手段によるデータ受信,上記第2
    の手段によるデータ送信および上記第3の手段によるデ
    ータ演算処理とが並列に行われるようにした ことを特徴とする並列データ処理装置。
  2. 【請求項2】3つのデータ格納領域の各々を,循環的且
    つ排他的に,データ受信用,データ送信用,データ演算
    処理用の3状態に順次切換え, 上記データ受信用に設定されている3つのデータ格納領
    域の1つにデータ受信端子を介して外部から受信したデ
    ータを格納する処理と, 上記データ送信用に設定されている3つのデータ格納領
    域の他の1つに格納されているデータをデータ送信端子
    を介して外部へ送信する処理と, 上記データ演算処理用に設定されている3つのデータ格
    納領域の残りの1つに格納されているデータについて演
    算を施す処理とを並列に行い, 上記各データ格納領域におけるデータ受信用の状態で外
    部から受信したデータを,データ送信用の状態で送信
    し,データ演算処理用の状態で演算する ことを特徴とする並列データ処理方法。
  3. 【請求項3】3つのデータ格納領域の各々を,循環的且
    つ排他的に,データ受信用,データ送信用,データ演算
    処理用の3状態に順次切換える状態Aと,前記の3つの
    うちの2つのデータ格納領域をデータ演算書込み専用お
    よびデータ演算読出し専用とする状態Bとを交互に切換
    え, 上記3つのデータ格納領域の各々を,データ受信用(状
    態A),データ演算の読出し専用(状態B),データ演
    算処理用(状態A),データ演算の書込み専用(状態
    B),データ送信用(状態A),ノーオペレーション
    (状態B),次にまたデータ受信用(状態A)と続く6
    状態に順次循環的に切換え, 上記各データ格納領域における上記データ受信用の状態
    で外部から受信したデータを,上記データ演算の読出し
    専用の状態においてそのデータ格納領域から読み出し,
    上記データ演算処理用の状態では演算実行ユニットによ
    り演算処理し,上記データ演算の書込み専用の状態で
    は,演算により得られた処理結果のうち送信しなければ
    ならない結果をそのデータ格納領域に書き込み,書き込
    まれたデータを上記データ送信用の状態で送信し, データ受信,データ送信,データ演算処理を並列に実行
    する ことを特徴とする並列データ処理方法。
JP62298606A 1986-11-27 1987-11-26 データ処理装置とその処理方法 Expired - Fee Related JP2637749B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP61-280848 1986-11-27
JP28084886 1986-11-27

Publications (2)

Publication Number Publication Date
JPS63238653A JPS63238653A (ja) 1988-10-04
JP2637749B2 true JP2637749B2 (ja) 1997-08-06

Family

ID=17630823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62298606A Expired - Fee Related JP2637749B2 (ja) 1986-11-27 1987-11-26 データ処理装置とその処理方法

Country Status (4)

Country Link
US (1) US5138704A (ja)
EP (1) EP0269995B1 (ja)
JP (1) JP2637749B2 (ja)
DE (1) DE3786330T2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU641418B2 (en) * 1989-09-20 1993-09-23 Fujitsu Limited A parallel data processing system for processing and transmitting data concurrently
FR2663138B1 (fr) * 1990-06-08 1992-09-11 France Etat Procede et circuit de traitement de signaux numeriques representatifs de vecteurs ou tuples de meme dimension et leur application a des ensembles de cardinalite et a des vecteurs ou tuples de dimensions quelconques.
JP2579246B2 (ja) * 1990-12-21 1997-02-05 シャープ株式会社 データ伝送装置
JPH04290155A (ja) * 1991-03-19 1992-10-14 Fujitsu Ltd 並列データ処理方式
WO1993014459A1 (en) * 1992-01-17 1993-07-22 Caelum Research Corporation Modular parallel processing system
US5546598A (en) * 1993-02-04 1996-08-13 Matsushita Electric Industrial Co., Ltd. Working situation management apparatus
JPH07271744A (ja) * 1994-03-31 1995-10-20 Matsushita Electric Ind Co Ltd 並列計算機
JP3125842B2 (ja) * 1995-03-03 2001-01-22 株式会社日立製作所 並列計算機での通信処理方法及びそのシステム
US5708835A (en) * 1995-03-27 1998-01-13 Hughes Electronics Dual-directional parallel processor
JPH0981532A (ja) * 1995-09-08 1997-03-28 Fujitsu Ltd 分散記憶型並列計算機
JP2792501B2 (ja) * 1996-02-28 1998-09-03 日本電気株式会社 データ転送方式およびデータ転送方法
US5999961A (en) * 1997-09-15 1999-12-07 California Institute Of Technology Parallel prefix operations in asynchronous processors
JP4306997B2 (ja) 2000-05-12 2009-08-05 富士通株式会社 データ制御装置及びatm制御装置
US7885796B2 (en) 2003-09-22 2011-02-08 Nec Soft, Ltd. Parallel calculation method and device
CN101840383B (zh) * 2010-04-28 2012-07-04 中国科学院自动化研究所 支持连续/离散地址多数据并行访问的可配置存储器
JP5680466B2 (ja) * 2011-03-29 2015-03-04 三菱重工業株式会社 並列処理システム及び並列処理システムの動作方法
CN106502806B (zh) * 2016-10-31 2020-02-14 华为技术有限公司 一种总线协议命令处理装置及相关方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52153714A (en) * 1976-06-16 1977-12-21 Matsushita Electric Ind Co Ltd Filing device
JPS54127653A (en) * 1978-03-28 1979-10-03 Toshiba Corp Data processor
EP0064074B1 (en) * 1980-11-10 1988-09-14 Wang Laboratories Inc. Data transmitting link
JPS5953957A (ja) * 1982-09-20 1984-03-28 Sanyo Electric Co Ltd メモリアクセス回路
US4504909A (en) * 1982-09-30 1985-03-12 General Electric Company Method of using an array processor for real time processing
US4546431A (en) * 1982-11-03 1985-10-08 Burroughs Corporation Multiple control stores in a pipelined microcontroller for handling jump and return subroutines
NL192637C (nl) * 1984-02-27 1997-11-04 Nippon Telegraph & Telephone Stelselprocessor.
CA1240400A (en) * 1984-12-20 1988-08-09 Herbert R. Carleton Topologically-distributed-memory multiprocessor computer

Also Published As

Publication number Publication date
JPS63238653A (ja) 1988-10-04
EP0269995A3 (en) 1989-03-22
EP0269995B1 (en) 1993-06-23
EP0269995A2 (en) 1988-06-08
DE3786330T2 (de) 1993-11-25
DE3786330D1 (de) 1993-07-29
US5138704A (en) 1992-08-11

Similar Documents

Publication Publication Date Title
JP2637749B2 (ja) データ処理装置とその処理方法
CN108416422B (zh) 一种基于fpga的卷积神经网络实现方法及装置
CN111860812B (zh) 一种用于执行卷积神经网络训练的装置和方法
US4628436A (en) Digital controller
EP0208870A1 (en) Vector data processor
US20240012788A1 (en) Systems and methods for implementing a machine perception and dense algorithm integrated circuit and enabling a flowing propagation of data within the integrated circuit
KR880011681A (ko) 메모리연결형 파면어레이 프로세서
CN114450699A (zh) 由处理单元实现的方法、可读存储介质和处理单元
CN109670581B (zh) 一种计算装置及板卡
CN114556260A (zh) 用于执行神经网络的装置和***
CN108491924B (zh) 一种面向人工智能计算的神经网络数据串行流水处理装置
CN109711540B (zh) 一种计算装置及板卡
CN111427838A (zh) 基于zynq动态更新卷积神经网络的分类***及方法
JP2518293B2 (ja) デ−タフロ−プロセツサ
JPH0650512B2 (ja) デ−タ処理装置
JPH06223166A (ja) 画像処理用汎用プロセッサ
JPS63147255A (ja) 複数の直列接続段を有する計算用プロセッサおよびこのプロセッサを応用したコンピュータならびに計算方法
CN111966399A (zh) 指令处理方法、装置及相关产品
JPH06309349A (ja) プログラム制御のプロセッサ
JP2961754B2 (ja) 情報処理装置の並列処理装置
KR920008212B1 (ko) MSCM(Mixed Shuffle Connection Method)을 이용한 이차원 FFT(Fast Fourier Transform)프로세서.
JP2001167084A (ja) ベクトル演算処理装置及びベクトルデータ移送方法
JPH10187659A (ja) 積和演算器
JPH01169607A (ja) プログラマブルコントローラ
CN117853310A (zh) 基于卷积神经网络fpga加速的图像处理方法及***

Legal Events

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