JPS63303460A - 並列プロセッサ - Google Patents

並列プロセッサ

Info

Publication number
JPS63303460A
JPS63303460A JP63008315A JP831588A JPS63303460A JP S63303460 A JPS63303460 A JP S63303460A JP 63008315 A JP63008315 A JP 63008315A JP 831588 A JP831588 A JP 831588A JP S63303460 A JPS63303460 A JP S63303460A
Authority
JP
Japan
Prior art keywords
data
identifier
instruction
message
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP63008315A
Other languages
English (en)
Other versions
JP2753240B2 (ja
Inventor
Teruo Tanaka
輝雄 田中
Naoki Hamanaka
濱中 直樹
Koichiro Omoda
面田 耕一郎
Junji Nakakoshi
中越 順二
Shigeo Nagashima
長島 重夫
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
Publication of JPS63303460A publication Critical patent/JPS63303460A/ja
Application granted granted Critical
Publication of JP2753240B2 publication Critical patent/JP2753240B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/8053Vector processors
    • G06F15/8092Array of vector units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は並列プロセッサシステムにおけるプロセッサ間
のデータ通信による性能低下を抑える方式に関するもの
である。
〔従来の技術〕
従来の並列プロセッサにおけるプロセッサ間データ通信
方式の1つに、他プロセツサから送られてきたデータを
受信バッファに一時おき、受信プロセッサが必要な時に
データを取り込む方式がある。この種の装置としては、
たとえば特開昭60−49464などがある。受信バッ
ファがFiFOで構成され、送信プロセッサが一台の場
合は問題ないが、一般に受信バッファにデータを送り込
む送信プロセッサは複数台あるため、受信バッファに転
送されてきたデータを識別子+データという組で一時保
持し、受信プロセッサは識別子をチェックすることによ
り必要なデータを取り込む。したがって受信バッファは
連想記憶装置で構成されることがある。
〔発明が解決しようとする課頭〕
上記従来技術では、受信プロセッサは受信バッファ(連
想記憶装置)上の識別子を検索してデータを取り込むた
め、複数のデータが必要な場合1つ1つのデータを順番
に取り込む必要がある。この時一般に複数のデータは複
数の送信プロセッサから送られてくるため、どのような
順番で受信バッファ(連想記憶装置)に到着しているか
わからない。そのため受信プロセッサが必要以上にデー
タの到着を待たされることがあった。
たとえば、他のプロセッサで計算された結果A。
B、C,Dの4つのデータを受信し、そのうちの最大値
を示すデータを検索する処理を受信プロセッサが行う場
合、受信プロセッサ上の処理手順(プログラム)が受信
バッファ(連想記憶装置ilりからA、B、C,Dの順
にデータを取り込むようになっていたと仮定すると、B
、C,Dのデータが受信バッファに届いていてもAのデ
ータが届くまでは受信プロセッサは動作を進めることが
できない、A、B、C,Dのデータの識別子を同じにす
れば受信バッファ(連想記憶装置)に到着したデータか
ら順に取り込むことができるが、この場合データの区別
をつけることができなくなる。
さらに、上記従来技術では、ひとつの受信認識命令で1
台のプロセッサから送られてくるデータの認識を行なう
ようになっているため、前述したような複数のプロセッ
サから送られてくる複数のデータの全ての到着を確認す
る必要がある処理においては、データを送信してくるプ
ロセッサ台数と同数の受信確J、2命令を実行しなけれ
ばならないことがある。例えば、第10図のような8行
8列の配列データを4台のプロセッサに第11図のよう
に列方向に分割して2列ずつ持たせて列方向に並列に計
算を行なった後、行方向に並列に計算を行なう必要があ
る場合、第12図のように4台のプロセッサにデータを
配置することになる。このとき、上記の従来技術が1回
の送信命令の実行で1個のデータの送信を行なう仕様で
あるとすると、各プロセッサは3台の他のプロセッサに
対して12回の送信命令を実行し、少なくとも12回の
受信確認命令を実行することになる。受信確認命令を用
いてデータの到着を確認するプログラムを作るときに、
例えば前述したような受信を確認する順序を固定し、最
初に確認するデータの到着の確認を待ってから次のデー
タの確認を行なう、というプログラムの作り方があるが
、送信側の各プロセッサの処理の進み具合に差がある場
合、確認する順序と到着する順序は一致するとは限らず
、最悪の場合には最初に確認するデータの到着が最後に
なることもありえる。このような場合、すでに到着して
いるデータの確認は最後に到着したデータの確認の後に
行なわれるので、全データの到着確認に関する時間が待
ち時間によって延長されるのみならず、受信データの一
時格納域である受信バッファは確認すべき全データアを
保持する必要があるのでハードウェア規模が増大する。
これを避けるために、やはり上記の受信確認命令を用い
てデータの到着順にデータの到着確認を行なうようなプ
ログラムの作り方を用いると、到着する複数のデータの
うちどのデータの確認が済んだか、まだ確認の済んでい
ないデータはどれかの管理をプログラムで行なわなけれ
ばならず、データの到着の確認をする順序は望ましい順
序で行なえるものの、確認をするための命令処理が複雑
になり、結局は高速な受信確認処理は難しい。
上記の2つのプログラム実行 は、並列計算機の持つプロセッサ台数が増加した時、プ
ロセッサ間データ転送の高速化をはかり、並列計算機の
性能向上をはかろうとしたときに次第に顕著になり、並
列計算機の利点を生かせなくなるという欠点がある。
本発明の目的は、プロセッサ間のデータ通信において、
データを受信する受信プロセッサは、(1)受信バッフ
ァ(連想記憶装置)に届いているデータから順に受信プ
ロセッサにデータを区別をつけて取り込むことを可能に
すること、(2)他のプロセッサから送られてくるデー
タのメモリへの取り込み演算と並列に行ない、他プロセ
ツサから送られてくるデータがすでに到着したか否かを
効率よく確認すること であり、それらによって、逐次実行用のプログラムを並
列計算機用に書き直すときに必然的に生じるプロセッサ
間データ通信に関する処理のオーバヘッドを軽減し、並
列計算機を効率よく動作させることにある。
〔疎開を解決するための手段〕
上記目的(1)は、プロセッサ間データ転送における受
信側のプロセッサで受信バッファ(連想記憶装置)内に
一時保持される識別子とデータのうち識別子をメイン識
別子MK、サブ識別子SKに分け、メイン識別子MKを
受信バッファからのデータの検索のために使い、サブ識
別子SKとデータを受信プロセッサに取り込み、サブ識
別子SKを受信プロセラミ内でデータの識別子として使
うことにより達成される。
また、受信プロセッサ内でデータを区別するサブ識別子
SKの必要な長さはデータの数で決定されるので、任意
の検索長で検索可能な連想記憶装置を実現することによ
り、メイン識別子MKおよびサブ識別子SKの長さを自
由に変えることができる。
さらに、目的(2)は、プロセッサ間データ転送におけ
る受信側のプロセッサでのプログラム実行の観点から見
て相互に関連するデータ群、例えば2次元配列の1行の
データなどの受信を個々のデータの発信元プロセッサが
同一であるか否かにかかわらず到着順にプロセッサの命
令実行と独立にメモリへ転送できるようにすることにし
て達成される。たとえば、相互に関連するデータ群の全
てが到着したか否かの確認を上記のメモリへの転送の回
数で行なうことにより達成される。
〔作用〕
解決手段(1)により、受信プロセッサでたとえば変換
則が成立つような処理を行う場合、その処理に必要なデ
ータをメイン識別子MKを用いて受信バッファ(連想記
憶装りに到着しているデータから類サブ識別子SKと共
に取り出すことにより、受信プロセッサが遊休する時間
を最小にすることができる。
また、連想記憶装置の中から所望のデータを検索する長
さ、つまりメイン識別子MKの長さを自由に指定し、か
つ任意長の検索を可能にすることにより識別子を有効に
使用することができる。
さらに解決手段(2)より、プロセッサに到着したデー
タのメモリへの書き込みを、プロセッサの命令実行を独
立に行なうことにより、データの転送のための命令実行
数を削減できる。また、複数のデータの受信完了の確認
を受信したデータ数で行なうことにより、データの受信
確認をデータごとに行なう命令を用いる場合と比べて受
信確認に必要な命令実行数を削減できる。
〔実施例〕
以下、本発明の第1の実施例を、図面により詳細に説明
する。第1図は、本発明の第1の実施例を示す並列プロ
セッサの全体構成図である。
第1図において、1はプロセッサエレメント間のデータ
転送路、2−1〜2−3はプロセッサエレメント(以下
PEと略記す)である、各PEの内部構成は互いに同一
構成である。3はPE内のメモリ、6は送信先PE番号
、送信すべきデータおよびそれに割り当てられた識別子
からメツセージを構成し、メツセージをデータ転送路l
に送り出すメツセージ生成送信装置、5は処理装置、4
は受信データを一時保持して、処理装置5からの要求に
よりデータを処理装置5に送り出すデータ受信装置、8
は受信データを一時保持する連想記憶装置、13は命令
レジスタ、14は命令実行制御部、15は汎用レジスタ
群、18はベクトル処理ユニット、20はスカラ演算器
である。命令実行制御部14は、メモリ3から順次命令
を命令レジスタ13に読出し、読出された命令の実行を
制御するものである。読出された命令が汎用レジスタ群
15内のいずれかを指定する場合、その指定されたレジ
スタ番号をそこに供給し、あるいは読出された命令が指
定する演算を実行するように演算部18,20を制御す
る。ベクトル処理ユニツ1−18は第2図にその詳細を
示すようにベクトル演算器7】とベタ1−ルレジスタ群
70とからなる。
第1図ではPEは3台だけ示されているが、もちろんこ
れ以外の場合も含まれる。PE間データ転送路1は、P
Eから送出されたメツセージ中の送信先PE番号を有す
るPEまでそのメツセージを伝送する。なお、このPE
間データ転送路1は、4クロスパイスイツチ、多段スイ
ッチネットワーク・1、あるいはバス等、種々の構成が
考えられる。
PE間のデータ転送処理について説明する。
まず、送信処理を説明する。メツセージの送信を要求す
る命令を送信命令と呼ぶ。この命令の形式は以下の通り
である。
5END  GRI、GR2,GR3,GR4ここで5
ENDはオペコード、ORI〜GR4は送信すべきデー
タ、送信すべきデータに対する識別子MKおよび、識別
子SKおよび、送信先のPE番号をそれぞれ保持する汎
用レジスタの番号である。
この命令が命令レジスタ13にセットされると、命令制
御部14はこれら4つの汎用レジスタの内容を読出し、
メツセージ生成送信装置内のメツセージ生成部34に線
Q31を介して送出する。
メツセージ生成部34は供給されたデータ、データ識別
子(MK、SK)および送信先PE番号を組合せてメツ
セージを生成し、そのメツセージをレジスタ33にセッ
トし、さらに出力バッファ32を経て、データ転送路1
に送出する。データ転送路はこのメツセージの送信先P
E番号を有するPEにデータおよびデータ識別子を送出
する。
以上の動作は先の出願特願昭 61−182361号に記載のものと本質的に同じであ
る。本発明で特徴的なのは、送信するデータに対する識
別子を、そのデータが属するデータ群を表わすメイン識
別子MKとそのデータ群内でそのデータを他のデータか
ら識別するためのサブ識別子SKとから構成しておく所
に特徴がある。
たとえば、大量のデータ群の中から最大値を見つける場
合、まず、前記データ群を各プロセッサに分配し、各プ
ロセッサがそれぞれ担当したデータ群の中から最大値を
検出し、そのプロセッサごとに1つずつ求まったプロセ
ッサ内の最大値データをデータ群すべての中の最大値を
検索するために、ある1つのプロセッサに転送すること
を考える。
この時、送信すべきデータとともに、メイン識別子MK
は、転送データが最大値検索のためのデータであること
を示し、サブ識別子SKは前記データ群中のデータの番
号を示すようにする。
これらのメイン識別子MKおよびサブで識別子SKは、
転送データとともに、線Q31を通してメツセージ生成
部34に送られる。
別の例として、送信すべきデータがあるベクトルデータ
内の1つの要素の場合、メイン識別子MKとして、その
ベクトルデータに割り当てられた識別子を用い、サブ識
別子SKとして、ベクトルデータ内のその要素番号を用
いる。
この時の送命令の形式は以下のようになる。
5END VRI、GR2,GR3,GR4ここで、V
RIは送信すべきベクトルデータを保持するベクトルレ
ジスタ番号、GR2はデータに対する識別子MK、GR
3はベクトルデータ内転送すべき要素番号およびGR4
は送信先のr’E番号をそれぞれ保持する汎用レジスタ
の番号である。
VRIとGR3をもとにベクトル処理ユニット18内の
ベクトルレジスタ(図示せず)からデータを取り出し、
Q35を介して、メツセージ生成部34に転送データが
送られる。メイン識別子MK、サブ識別子SKおよび送
り先PE番号は、それぞれGR2,GR3およびGR4
で指定された汎用レジスタの内容として、線1231を
介して、メツセージ生成部34に送られる。この送信命
令をGR3で指定される汎用レジスタの内容、つまり要
素番号、を変更しつつ繰り返すことにより、ベタ1〜ル
レジスタ中のベクトルデータをすべて転送することが可
能となる。
データ転送路1上のメツセージ内の送信先PE番号がP
E2−1の場合、そのメツセージ内の識別子およびデー
タがPE2−1に送られ、入力バッファ7を通して連想
記憶装置8に取り込まれる。
連想記憶装置8の各エントリは、メイン識別子MK、サ
ブ識別子SK、データおよびそのエントリが有効である
ことを示す有効ビットv1□を保持する4つのフィール
ドからなり、連想記憶装置8は、その中の一つのエント
リに新たに受信した識別子MK、SKおよびデータを書
き込んだときにそのエントリの有効ビット■、1を1に
する。
こうして、PEから他のPEへの−っのメツセージの送
信が完了する。
次に、各PEにおける、連想記憶装置8からのデータの
読出しについて説明する。
この読出しを要求する命令を受信命令と呼ぶ。
また、以下では、この命令の実行により読出されたデー
タを受信データと呼ぶ本実施例では幾つかの受信命令が
ある。
その一つの命令の形式は次の通りである。
RECEIVE  GRI、GR2,GR3ここで、R
ECE IVEは、この命令のオペコード、GRL、G
R2,GR3はそれぞれ、受信したデータを格納すべき
汎用レジスタの番号、検索に用いる識別子を保持してい
る汎用レジスタの番号およびその識別子の内、現に検索
に用いるべき部分の長さく検索用識別子長)を保持して
いる汎用レジスタの番号を示す。本実施例では、メイン
識別子MKを検索に用いるので、検索用識別子長として
このメイン識別子の長さを用いる。なお、受信したデー
タに付加されているサブ識別子SKは番号GR1+1の
汎用レジスタに格納する。
メモリ3から命令レジスタ13に受信命令がセットされ
た場合、命令制御部14より連想記憶装置8に起動をか
ける。同時に受信命令で指定された2つの汎用レジスタ
GR2,GR3内の検索用識別子長および検索用識別子
をそれぞれ線Q41および線Q42を通して連想記憶装
置8に送る。
連想記憶装置8は、入力された検索用識別子の内。
検索用識別子長の部分、つまり本実施例ではメイン識別
子の部分に一致するメイン識別子を有するエントリを探
す。もし、一致するメイン識別子MKが見つかった場合
は、対応するサブ識別子SKおよびデータをそれぞれ線
Q43およびaQ44を介して、処理装置5に送る。同
時に線Q45を介して、巨的のデータが見つかったこと
を示す信号(”1”)スカシ演算部21内の条件コード
レジスタ(cC)21にセットする。さらに。
そのデータに付随している有効ビットVをOとする。ま
た、もし目的のデータが見つからない場合、つまり未だ
連想記憶装置8上にデータが届いていない場合には、線
Q45を通して、データが見つからなかったことを示す
信号(0”)を同じレジスタ21にセットする。
処理袋@5では読出されたサブ識別子SKとデータを受
信命令14に従い、番号(GR1+t)およびGRIの
汎用レジスタにそれぞれ書込む。
こうして、一つの受信命令の実行を終了する。
この受信命令の実行後、命令制御部14は、次の命令と
して用意されているデータ受信に成功したか否かを判別
するための、それ自体周知の条件分岐命令(Branc
h on Condit、ion命令)をメモリ3から
読出し実行する。この命令で条件コードレジスタ21の
内容が0であれば前述の受信命令に分岐する。もし、条
件フードレジスタ21内の内容が1であれば、この条件
付分岐命令につづく命令列をメモリ3から読出し実行す
る。この命令列は、受信したデータに演算を施すための
命令列である。たとえば、検索用識別子で指定される同
一のメイン識別子を有するデータ、すなわち同一群内の
データの内、最大値を有するデータを検索する場合であ
る。受信命令の実行時に、データとともにサブ識別子を
受信したのは、最大値を有するデータを識別する番号と
してサブ識別子SKを用いるためである。以下簡単にこ
の最大値検索用のスカラ命令列を説明する。汎用レジス
タ群15の一つの汎用レジスタ(この番号をGR4とす
る)を最大値格納用に定めておき、他の一つの汎用レジ
スタ(この番号をG R5とする)をその最大値を有す
るデータのサブ識別子格納用に定めておき、それらの汎
用レジスタ初期値をいずれも0としておく。受信命令お
よび条件付分岐命令の次の命令列として、番号GRIの
汎用レジスタ内にある受信したデータと番号GR4の汎
用レジスタ内のデータの比較をスカラ演算器20で実行
し、大きい方のデータを番号GR4の汎用レジスタに格
納する処理および番号(GR1+1)の汎用レジスタ 
′内にある受信したデータに対するサブ識別子SKと番
号GR5の汎用レジスタにあるサブ識別子SKの内の一
方を上記比較結果に応じて選択して番号GR5の汎用レ
ジスタに格納する処理を実行する命令列を用いる。
この命令列の実行後、受信したデータの総数をカラン1
〜し、その数があらかじめ定めた要素数に達していない
かにより分岐を行うために、計数分岐命令(Rranc
h on Count; Register)を実行す
る。すなわち、ある番号GR6の汎用レジスタにあらか
じめ必要受信要素数を記憶しておき、この命令の実行時
にその要素数を1だけカウントダウンし、その値がOで
なければ、この命令が指定する、ある汎用レジスタに記
憶してあったアドレスの命令ヘジャンプする。このアド
レスを上記受信命令のアドレスとすることにより、受信
要素数があらかじめ定めた必要受信′要素数に達してい
ない場合に、再度、受信命令が実行されることになる。
このように、前述の受信命令では、連想記憶装置8から
、検索用識別子で指定されたメイン2別子を有する複数
のデータを、サブ識別子の値に関係なく、読出すことか
で′き、データ転送路から後続のデータが連想記憶′J
A置8に送出されている間に、受信命令で読出したデー
タに対する演算を処理装置8で実行できる。このように
、本実施例では同一 内のデニタをそれらにサブ識別子
違いに関係なく連想記憶装置から読出し、処理すること
ができる。
本実施例で用いる他の受信命令は、 RECEIVE VRI、’GR2,GR3の形式を有
する。ここで、GR2,GR3は先に述べた命令と同じ
く、検索用識別子およびその検索用識別子の内、検索に
用いる部分の長さを示す検索用識別子長である。また、
VRlはこの受信命令で受信されたデータを格納するベ
クI−ルレジスタの番号を示す。すなわち、この命令は
、検索用識別子と一致するメイン識別子MKが付されて
いるデータを連想記憶装置8から読出し、この命令で指
定する番号V R1のベクトルレジスタに格納すること
を要求する命令である。この際、連想記憶装置8から読
出されたデータに付されたサブ識別子SKは、そのベク
トルレジスタ内のデータ格納位置を指定するのに用いら
れる。以下、この命令の実行時の装置動作を述べる。
この命令が命令レジスタ13に格納されたとき、命令制
御部14は、その命令が指定するベクトルレジスタ番号
VRIをベクトル処理ユニット18へ線1280を介し
て送出するとともに、最初の受信命令のときと同じく、
検索用識別子と検索用識別子長を汎用レジスタ群15か
ら連想記憶装置8に送出する。そこから一致するメイン
識別子MKを有するデータが読出された場合、そのデー
タおよびそれに付されたサブ識別子SKがそれぞれ線Q
44.Q43を介してベクトル処理ユニツ1−18へ送
出される。第2図を参照するに、ベタ1〜ル処理ユニッ
ト18はベクトルレジスタ群70とベクトル演算器71
、メモリ3 (第1図)あるいはベクトル演算器71あ
るいは連想記憶装置8から供給されるベクトルデータを
書込むべきベクトルレジスタを選択するセレクタ77、
また、ベクトル演算器71へベクトルデータを供給すべ
きベクトルレジスタを選択するセレクタ78、各ベクト
ルレジスタごとに設けた書込み回路71W、読出し回路
71Rからなる。第2図では、書込み回路71W、読出
し回路71Rはベクトルレジスタ70−1に対するもの
のみ示しである。書込み回路71Wは、書込みアドレス
を保持するWAレジスタ72、+1力ウントアツプ回路
74、線243からの入力と回路74の出力をセレクト
してWAPレジスタ72に供給するセレクタ76からな
る。読出し回路71Rは、読出しアドレスを保持するR
Aレジスタ73、この値を+1アツプする+1力ウント
アツプ回路75とからなる。
上記受信命令が実行されると、線Q80を介して命令実
行制御部13(第1図)からこの命令が指定するベクト
ルレジスタ番号VRIがセレクタ77に入力され、連想
記憶装置8(第1図)からaQ44上に読出されたデー
タがその番号VRLのベクトルレジスタに送出される。
今、ベクトルレジスタ70−1が上記受信命令で指定さ
れた番号VRIのベクトルレジスタとする。このとき、
このベク1へルレジスタ70−1に付随する書込み回路
71Wが命令制御部J4により起動され、がつセレクタ
76は線Q43からの入力をセレクトする。その結果、
連想記憶装置8から線Q43上に出力されたサブ識別子
SKがWAレジスタ72にセットされ、線244から供
給されたデータがベタ1〜ルレジスタ70−1の、サブ
識別子SKに対応する記憶装置に書き込まれる。以上か
ら明らかなごとく、メイン識別子としてベクトルデータ
に割り当てられた番号を用い、サブ識別子として、その
ベタ1−ルデータ内のそれぞれの要素に割り当てられた
番号を用いることにより、受信したデータ (ベクトル
要素)を一つのベクトルレジスタ内に書込むことができ
る。
以上の受信命令の実行時に、メイン識別子が一致するデ
ータがあったかを条件コートレジスタ21 (第]閏)
に、反映させるのは最初に述べた受信命令の場合と同じ
であり、そのレジスタ内の値を判別するために、条件分
岐(Branch onCondition )命令を
上記受信命令の次に実行し、データ受信不成功時には再
度上記受信命令を実行するのも、最初に述べた受信命令
の場合と同じである。さらに、上記受信命令の実行後、
必要数のベクトル要素が受信されたかを判別するために
、前述したのと同じ、計数分岐命令(Branch o
nCounj instwction)を用い、必要回
数だけ、上記受信命令を実行する。
こうして、一つのベクトルレジスタに必要数のベクトル
要素を格納できる。その後、ベクトル演算命令あるいは
ベクトルデータをメモリ3(第1図)にストアする命令
あるいは逆にメモリからベクトルデータをロードする命
令を実行することにより、受信したベクトルデータに対
する処理を実行できる。
なお、以上述べた二つの受信命令の他に、他の受信命令
を実行させるように変形することもできる。たとえば、
汎用レジスタあるいはベクトルレジスタ以外のレジスタ
(たとえば浮動小数点レジスタ(図示せず))に受信し
たデータを格納するようにすることもできる。
第3図は連想記憶装置8の詳細構成図である。
図中、50−1−1ないし50 1  Qおよび50−
m−1ないし50−m−Qはデータ識別子(本実施例で
は識別子がQビットの場合を示す)を保持するレジスタ
、54−1ないし54−mはデータを保持するレジスタ
、55−1ないし55−mはデータの有効性を示す有効
ビット■を保持するレジスタ、56および57はセレク
タである。
連想記憶装置8上では、識別子、データおよび有効ビッ
トVを組として保持している。
データ転送路l (第1図)から送られてきたメツセー
ジから識別子とデータを取り出し、線Q36および線Q
37を通してレジスタ 50−3−1から5O−i−Qおよび対応するレジスタ
54−1に送り込まれる。ここで、iは1からmまでの
間の数字で、対応する有効ビットVが0を示している中
から選択される。処理装置5(第1図)で解読された受
信命令で示された検索用識別子は、線Q42を通して5
1−1−1ないし51’IQおよび51−m−1ないし
51−m−Qの入力とする。さらに、同じ受信命令で示
された検索用識別手長を、線Q41を通して、識別手長
デコード回路54に送り込む。識別手長デコード回路5
4では検索用識別手長をデコードし、たとえば、検索用
識別手長がSビットの場合は、左からSビットを0、残
り((!−s)ビットを1として、OR回路52 1 
1ないし52 1  QおよびOR回討52−m−1な
いし52−m−Qの入力とする。
したがって、検索は検索用識別手長に対応する識別子部
分で行われることになる。もちろんデータの有効性を示
す有効ビットレジスタV55−]および55−mもチェ
ックされ、線Q62−1および線Q620−mを介して
それぞれA N D回路53−1およびAND回路53
−mの入力となる。
検索した結果は軸f163−1および線悲63−mを通
してプライオリティエンコーダ55に送られる。プライ
オリティエンコーダ55は一致を検出したものの中から
1′を選び、その結果をもとに、線Q64を介してセレ
クタ56およびセレクタ57を切り換える。また、一致
したメイン識別子を有するデータに対する有効ビットを
線Q64上の信号によりリセットする。プライオリティ
エンコーダ55からは指定された長さの識別子部分が一
致したデータが見つかったか否かを線Q45を通して条
件コードレジスタ22(第1図)に送る。さらに、セレ
クタ56からの出力と線Q61とのビット毎の論理和を
取り、線Q43を介して選択されたサブ識別子SKを、
セレクタ57からはデータがそれぞれ処理装置5(第1
図)に送られる。
以上から明らかなとおり、本実施例では、データ群ごと
に付された識別子(メイン識別子MK)を用いて、それ
に属する複数のデータを連想記憶装置から取り出しうる
ようにした所に特徴がある。
したがって、この目的のためには、サブ識別子がデータ
に付されていない場合でも本発明は適用しうる。さらに
、メイン識別手長MKが一定であるならば、検索用識別
手長を処理装置5から連想記憶装置8に供給する必要が
ない。しかし1本実施例のごとく、識別手長を指定する
場合には、いろいろのメイン識別手長の場合も同一の連
想記憶装置を用いることができる。さらに、検索用識別
手長をメイン識別手長とサブ識別手長の和にした場合、
二つの識別子がともに一致する識別子を有するデータも
同−装置上で検索可能となるという利点もある。
以下、本発明の第2の一実力恒例を図面を参照して説明
する。
本実施例は、第1の実施例と同様に、送信すべきデータ
に付加する識別子として、そのデータが7、!する特定
のデータ群を表わすメイン識別子MKと、そのデータ群
内の他のデータとそのデータを区別するためのサブ識別
子SKを用い、連想記憶装置からのデータ読出しにあた
っては、メイン識別子が同じデータを検索する。
しかし、第1の実施例では、一つの送信命令で一つのデ
ータを他のプロセッサエレメントに送信し、一つの受信
命令で一つのデータを、連想記憶装置から読み出したの
に対し、本実施例では、一つの送信命令で一群のデータ
を他のプロセッサエレメント群に送信し、一つの受信命
令で複数のデータを連想記憶装置から読出す。以下、そ
の詳細を速入る。
第4図において、No、2はネッ1へワーク、103は
プロセッサエレメントであり、複数のプロセッサエレメ
ント103はネットワーク102で相互にメツセージを
交換しあうように接続されている。
第5図は送信されるメツセージ200の内容を説明する
ものであり、DSTは転送先のプロセッサニレメン1−
池号、MKおよびS Kはこのメツセージ内のデータを
識別するための識別子で、MKはメツセージ内のデータ
が屈するデータ群を識別するためのメイン識別子、SK
はそのデータが該データ群内のどの要素であるかを識別
するためのサブ識別子である。たとえば、メイン識別子
は各ベタ1−ルデータごとに割当てられる番号を表し、
サブ識別子はそのベクトルデータ内の各要素の番号o、
1.  ・・−・・又はnを表わす。第2の実施例では
、筒11j、のためMK、SKはそれぞれ固定長とした
が、第1の実施例で示したように可変長にすることも可
能である。第4図において、111はネッ[ヘワーク1
02からLAQ102を経由して送られてくるメツセー
ジを一時的に格納する連想メモリで、その一つのエント
リには受信した一つのメツセージ200(第5図)の識
別子MK、SKおよびDATAおよびそのエントリの有
効性を示す有効ビットを保持する。以下、Nmのために
、連想メモリ111の一つのエントリの内容をメツセー
ジ又は受信メツセージと呼ぶことにする。連想メモリ1
11は入力されるメイン識別子MKで連想検索を行い、
一致するメツセージのサブ識別子SKれおよびデータを
出力す−るように構成されている。112はローカルメ
モリであり、パイ1一単位にアドレス付けされている。
115はプロセッシングユニットであり、ローカルメモ
リ112に置かれている命令列を逐次実行する。このユ
ニットには第1図に示したのと同じように、命令実行制
御部(図示せず)の他に、汎用レジスタ群120、条件
コードレジスタ130、ベクトルレジスタ群117、ベ
クトル演算又はスカラ演算を行う演算器140を有する
。114は転送コントローラで、プロセッシングユニッ
ト115より検索用のメイン識別子MK、ベクトル長ロ
ーカルメモリアドレスUをfi12116より受けて、
連想メモリ111からベクトル長V1.に等しい数のベ
クトル要素が読み出されるまで、連想メモリ111に連
想検索させ、検索結果として得られるベクトル要素を線
Q115によりローカルメモリ112へ書込む。116
はリクエストキューであり、プロセッサニレメンhNo
、3から与えられる。他のプロセッサニレメン1〜10
3へのメツセージ送信要求を一時格納するバッファで、
先入れ先出しの原理で動作する。113はセンドコント
ローラで、リフニス1−キュー116から先入れ先出し
式に出力されるメツセージ送信要求をvAQ120より
受けて、線Ω118からローカルメモリ112上にあら
かじめ置かれているメツセージを読み出し、送信先プロ
セッサエレメント番号を付して線Q103を介してネッ
トワーク102へ送信する。
続いてプロセッサエレメント間の通信の動作およびセン
トコントローラ113の動作の説明をする。本発明に係
るプロセッシングユニット115は演算命令、データ転
送命令9仔岐命令のような通常命令と、特有の命令を実
行する。特有の命令は、プロセッサエレメント間の通信
に関係し、メツセージの送信を要求する送信要求命令(
以下S E N D命令と記す)、メツセージの受信処
理の終了確認を指示する命令(以下TE 5TRECE
 I VE命令と記す)である。
5END命令は次の仕様になっている。
5END  C,V ここに5ENDは5END命令のオペコードを示す。ロ
ーカルメモリ112上には、あらかじめ送出すべきベク
トルデータ203(第4図)(以下、メツセージデータ
ベクトルと呼ぶ)と、このベクトルデータ203の送信
に関連する信号からなるメツセージ制御ベク1〜ル20
2(第4図)を格納しておく。5END命令の第1オペ
ランドCは、メツセージ制御ベクトル202の先頭アド
レスであり、メツセージ制御ベクトルデータ202は第
6図に示すようにV Lフィールド202A、F L 
Gフィールド202Bからなるヘッダ202Aと、これ
に続く複数のバケツ1−制御フイールド202Bからな
る。VLT/イー/L/ド202Aはパケット制御フィ
ールド202Bの数、すなオ)ちベクトル長V[、を保
持し、F r、 Gフィールド202Bはデータの送信
処理の終了を示すフラグF 1.、 Gを保持する。5
END命令の実行に先立って、FLGをO以外の値の初
期化しておく。バケツ1へ制御フィールド202Bの各
要素は、信号DST j、 MK 、3 、 S’K 
5から成り、それぞれ受信先のプロセッサエレメントの
番号、およびメツセージデータベクトル203の各ベク
トル要素に割り当てられたメイン識別子、サブ識別子を
表す。
また、5END命令のもうひとつのオペランド■は、メ
ツセージデータベクトル203の先頭アドレスであり、
メツセージデータベクトル203の各要素は、第7図に
示すように一定長の複数のデータから成る。プロセッシ
ングユニツl−115がS E N 1)命令を実行す
ると、プロセッシングユニット115はこの命令のオペ
ランドであるCと■を第4図の線Q119を介してリク
エストキュー116に渡し、次の命令を実行する。
次に、第8図はセンドコントローラ113の構成を示す
。センドコントローラ113の動作は制御回路161の
制御のもとに次のように行なわれる。
(1)  リクエストキュー116から線Q120を介
して5END命令のオペランドCと■をとり出し、オペ
ランドCをgQ15Gを介してPCVBL/ジスタ15
7へ、線Q160.セL/’)9162.線fl161
を介してPCvΔレジスタ158へ与え、オペランドV
を線Q120、セレクタ163.線Q165を介してP
DVAレジスタ159へ与える。もしも、リクエストキ
ュー116が空であれば、空でなくなるまで待ち、上の
動作を行なう。
(2)  P CV Aレジスタ158内オペランドC
をアドレスとして線Q118を介してローカルメモリ1
12をアクセスしてメツセージ制御ベクトル202のベ
クトル長VLを読み出し、aQl 66. f!レクタ
164.L&Q170を介してVLレジスタ160に与
える。
(3)  VLレジスタ160内ベクトル長VLを線Q
167を介して0判定回路156に入力する。値が0で
あるときはステップ(7)へ進む。
(a)  線Q158,8加算回路153゜Q159.
セレクタ162.線Q161を介してPCVAレジスタ
158の内容を8だけ増す。
(b)  次にPCVAレジスタ158内の内容をアド
レスとして線Q118を介してメモリ112をアクセス
してメツセージ制御ベクI〜ル202(第7図)の次の
要素(今の場合はDSTO,MK○、5KO)を読み出
し、線Q 151を介してメツセージレジスタ151の
上位8バイトに与える。
その後、上記処理(a)を行う。
(4)  Pr)VΔレジスタ159内のオペランドV
をアドレスとして、ステップ(4)と同様にローカルメ
モリ112からメツセージデータベクトル203(第8
図)の第0要素を読み出し、メツセージレジスタ151
の下位8バイ1〜に与える。また、8加算回路154に
より、P L) V Aレジスタ159の内容を8だけ
増す。
(5)  ステップ(3)、(4)によりメツセージレ
ジスタ151に第5図の型式のメツセージが形成される
ので、これを線QI03を介してネットワーク102へ
与える。さらに、Vl。
レジスタ160の内容を1減算回路155により減算す
る。
(6)以上の処理の後に0判定回路156がV Lレジ
スタ160の内容がOであると判定すると、次のステッ
プ(7)へ行く。そうでなければステップ(3)へ行く
、すなわち、5END命令が指定したベタ1〜ル長分だ
けベクトル要素を送出後、次のステップ(7)へ行(。
(7)  P CV I’(レジスタ157の内容を4
加算回路152によって4だけ増した値をアドレスとし
て、ローカルメモリ112に線Ql18を介してアクセ
スし、メツセージ制御ベクトル202のFLGフィール
ドに常に値0を格納しているZEROレジスタ150の
内容を店込みこのフィールドを0クリアする。
以−Lのごとくにして、あるプロセッサニレメン1へか
らベク[〜ルデータの送信が行なオ〕れる。
次にRECEIVI心命令の説明をする。
RE CE I V E命令は次の仕様になっている。
丁<ECEIVE、MK、LENGTH,Uココニ、R
ECE IVEはRECEIVE命令のオペコード、M
Kは受信すべきベクトルデータ割り当てられたメイン識
別子を、L E N Ct T Hは受信するベクトル
要素の数を、Uは受信したベグ1−ルデータを格納すべ
きローカルメモリ112のエリア204 (第4図)の
先頭アドレスを表わす。
プロセッシングユニツ1〜115がRECE IVE命
令命令付実行と、プロセッシングユニット115はこの
命令のオペランドMK。
L l”: N G T IT 、 Uを線Q116を
介して転送コン1−ローラ114に渡し転送コントロー
ラ114を起動して次の命令の実行を開始する。
次に、転送コン1〜ローラ114の構成と動作を説明す
る。第10図は転送コン1〜ローラ114の構成と連想
メモリ111を示している。転送コントローラ114の
動作は制御回路175の制御のもとに次のように行なわ
れる。
(1)  プロセッシングユニット115から線Q11
6Aを介してダえられる、 RECE TVE命令のオペランドMK。
LENGTH,UをそれぞれMKレジスタ+71.VL
L/ジスタ173.PDVAレジスタ172にセラ1、
する。
(2)  制御回路175は、線Q111Aにより連想
メモリ111を起動する。連想メモリ111は線Q11
2を介して与えられたMKレジスタ171の内容MKと
一致するメイン識別子MKをもつ一つのメツセージをそ
こに一時格納されているメツセージ群の中から探し、あ
ればそのメツセージのサブ識別子SKとデータをそれぞ
れ線Q113.線Q114に出力し、線Q111Bの値
を1にすることにより制御回路175に一致メッセージ
の検出を通知し、かつそのメツセージを連想メモリ11
1から消去する。この消去はそのメツセージの有効ビッ
トVを○とするごとによりなされる。一致メッセージが
検出されなかったときには、新たなメツセージがネット
ワーク2から連想メモリ111に到着するごとに、それ
が一致メッセージか否かを判定し、一致メンセージが検
出されれば、上に述べたのと同じ以」作をする。
(3)  □転送コントローラ114では、線Q113
に出力されているサブ識別子SKを左3ピツ1−シフタ
170により左3ビツトシフトし、加算器177でこの
値とPDVAレジスタ172内の先頭アドレスUを加算
することにより、RE CE I V E命令のオペラ
ンドUで示されるローカルメモリ112内のメツセージ
データベタ1〜ルエリア204内の、前記サブ識別子S
Kを要素番号とする要素を格納するエントリのアドレス
を計算する。
この加算器177の出力および線Q114に出力された
データはそれぞれアドレス線Q115 1、データ線Q
115−2を介してり112に送られる。制御回路17
5は、線QIIIB上の信号が1になったことに応答し
て線Q187.制御線Q115−3を介してデータ書込
み指定をメモリ112に送出し、上記アドレスに上記デ
ータを格納する。
また、1減算回路176により、VLレジスタ173の
内容を1だけ減する。
(3)  この減算の結果が0でない場合、0判定回路
174の出力は0であり、制御回路175はステップ(
2)の処理に移る。こうして次々とベクトル要素が連想
メモリ111から検索され、ローカルメモリ112に書
き込まれる。もし、上記減算の結果が0であると、以」
二の動作は終了する。
このように転送コントローラ114は一度、RECE 
I V E命令により起動されると、その命令が指定さ
れたべりl−ル長VLに等しい一部メッセージが連想メ
モリ111から読出せるまで、このメモリ111をアク
セスし、かつ一致メッセージのデータをローカルメモリ
112に書込む。
次にTEST  RECEIVE命令の説明ヲする。こ
の命令は受信動作が完了したか否かを判別する命令で、
次の仕様になっている。
TRCV     R。
ここに、TRCVはこの命令のオペレーションコードを
表し、RJはプロセッシングユニット115内にある汎
用レジスタ群120(第4図)内の一つのレジスタの番
号である。プロセッシング−L−1−ッl〜115がT
EST  RECEIVE命令を実行すると、プロセッ
シングユニット115は線Q116Bを介して転送コン
トローラ114の中にあるVLレジスタ173の内容を
読み出してこの命令で指定された番号R6の汎用レジス
タにその値を格納する。このとき、この汎用レジスタに
格納した値が0か否かを判別し、0であったならOを、
Oでなかったならば1を条件コードレジスタ130 (
第4図)にセットする。次に、この条件コードを判別し
て、分岐する条件分岐命令を実行する。
続いて、本実施例の並列プロセッサの具体的な使用例を
説明する。ここでは第10図に示す8行8列の配列デー
タから4台のプロセッサニレメン1−PEI−PE4を
用いてそれの転置行列を示すデータを得る場合を説明す
る。第11図は第10図の配列の異なる2列のデータを
各プロセッサエレメントに割当てであるところを示して
いる。第12図はこれから説明する転置行列を求める操
作後に、各プロセッサエレメントが保持すべきデータを
示す。第13図は各プロセッサエレメントがそれぞれの
ローカルメモリ15上に転置行列を求める処理の前に保
持しているベクトルの一部を示す。第14図は各プロセ
ッサニレメン1−が、転置行列を示すデータを求める処
理をした後に、それぞれのローカルメモリ112上に格
納すべきベクトルの一部を示し、第15図はプロセッサ
エレメントPEI〜PE4のうちプロセッサニレメン1
〜PEI、PE2が5END命令を実行するときにオペ
ランドとして指定するメツセージ制御ベクトルC1,C
2を示す。第16図はプロセッサエレメントPEIが実
行するプログラムの例である。
プロセッサエレメントPE3.PE4にも同様のメツセ
ージ制御ベクトルを置き、同様のプロゲラt1を実行さ
せる。
プロセッサエレメントPEIは第16図のプログラムの
RECE I VE命令を実行してメイン識別子のf直
が1のメツセージが到着したら、データベグ1〜ルU1
の中のそれぞれのメツセージの持つサブ識別子に対応す
る位置に格納し、5END命令を実行するとこによりメ
ツセージ制御ベク1〜ル(:1、メツセージデータベタ
1−ルV□より、これらを送るメツセージを形成してネ
ットワーク102へ送信する。プロセッサエレメントP
EIではセントコントローラ113が上記メツセージの
送信を行い、転送コン1〜ローラ114が上記ベタ1〜
ル領域U工への1堅き込みを行う。この間、プロセッサ
エレメントPEI内のプロセッシングユニノ+−t 1
5は他の命令を実行することができる。
その後、TEST  RECEIVE命令を実行して転
置された配列のデータの全ての到着確認を行ない、その
後、条件分岐命令RN 7.を実行してT’ E S 
’「RE CEI ■IE命令の実行後の条件コ−ドに
より、全て到着しているかを判断して、必要ならばTE
ST  RECEIVE命令を繰り返す。
以上が配列の転置を行なう例である。ここではプロセッ
サニレメン1−PEIの処理のみ記したが他のプロセッ
サニレメン1−P E 2〜PE4も同様の処理を行な
って配列の転置を終了する。
以上の実施例では、他プロセツサへ送信するデータ、他
プロセツサから送られたデータの各I8場所をローカル
メモリ内としたが、これをプロセッサ内のベタ1〜ルレ
ジスタにすることも容易である。
バク1〜ルレジタを用いる場合には、ローカルメモリ上
のベクトルの先頭アドレスを指定するかわりに、ベタ1
〜ルレジスタの番号を指定すItばよい。
〔発明の効果〕
本発明によれば、交換則が成立つような処理に必要なデ
ータを受信バッファ(連想記憶装置)に到着した順に受
信プロセンサに取り込むことが可能であり、受信プロセ
ッサが遊休する時間を小さくすることができる。
また、本発明によれば、識別子を2つの部分に分ける境
界を自由に決められるので、有限長の識別子を有効に利
用することができる。
さらに、複数プロセッサエレメントからのデータ受イコ
の確認をひとつの命令で一括してできる。
また、受信起動命令にて一括してデータの受信処理を起
動でき、送信命令にて一括してデータの送信の起動がで
きる。これにより、多数のプロセッサエレメントと多数
のデータを送受する場合でも数令令の処理で済むので、
データの通信に関連する多数の命令処理によって並列処
理の効率が低丁することを防ぐ効果がある。
【図面の簡単な説明】
第1図は本発明の第1の実施例を示す並列プロセッサの
構成図、第2図は第1図のベクトル演算部の詳細構成図
、第3図は第1図の連想記憶装置の詳細構成図、第4図
は本発明の第2の実施例を示す並列プロセッサの全体構
成図、第5図はメツセージの型式を示す図、第6図はメ
ツセージ制御ベクトル(202)内のデータを示す図、
第7図は、メツセージデータベクトル(203)内のデ
ータを示す図、第8図は第4図のセンドコントローラ(
113)の構成図、第9図は第4図の転送コントローラ
(114)の構成図、第1017Iは転置処理を受ける
べき二次元配列データの一例を示す図、第llCmは転
置処理の前に、第10図のデータのどの列が4台のプロ
セッサニレメン1〜(1”’El〜PE4)に割当てら
れるかを示す図、第12図は、第10図のデータに対し
て転置処理を施した後に、4台のプロセッサエレメント
に保持されるべきデータ部分を示す図、第13図は、第
10図のデータの内、転置処理の前に4台のプロセッサ
エレメントで保持されるベキベグ1〜ルデータの部を示
す図、第14図は、第10図のデータに転置処理を施し
た結果として4台のプロセッサエレメントが保持すべき
ベクトルデータの一部を示す図、第15図は、第1.第
2のプロセッサニレメン1−(PEI)により用いられ
るメソセージ制御ベクトル(c工、C2)を示す図、第
16図は、第1のプロセッサエレメントで実行されるプ
ログラムの例を示す図である。 1・・データ転送路、 2−1.2−2.2−3・・プロセッサニレメン!−5
3・・メモリ、4・・データ受信装置、5・・処理装置
α、6・・メツセージ生成送信装置、8・・・連想記憶
装置、18・・・ベクトル演算部、102・・・ネット
ワーク、103・・・プロセッサエレメント、111・
・・連想メモリ、112・・・ローカルメモリ、113
・・センドコントローラ、114・・・転送コントロー
ラ、115・・・プロセッシングユニット、11G・・
リクエストキュー、117・ベクトルレジスタ。 ¥S回 庫7田 第7θ図 1 ツノ 固                   
  〕6ノ2 回IFE /117221PE3 jr
pa j第・J」 斗四 ノ45日 F’E/   FEz    PE3   PE4羊 
  75  回 yx/f’T:2 第 ・2図 R’ECEIVE   /  、 /l 、 W75E
NP   Ct、  Vt L−7尺CV    尺l β、VZ    L

Claims (1)

  1. 【特許請求の範囲】 1、(a)複数のプロセッサと、 (b)該複数のプロセッサ間のデータ転送を行うための
    ネットワークとを有し、 (c)各プロセッサが、 (c1)他のプロセッサに送信すべきデータならびに該
    データが属するデータ群を識別するためのメイン識別子
    および該データ群中の他のデータから該データを識別す
    るためのサブ識別子とからなるデータ識別子を含むメッ
    セージを該ネットワークに送信する第1の手段と、 (c2)該ネットワークからそのプロセッサに供給され
    た複数のメッセージを保持し、検索用のメイン識別子に
    応答して、該保持されたメッセージ中の、該検索用メイ
    ン識別子に一致するメイン識別子を有するメッセージに
    含まれるデータおよびサブ識別子を出力する第2の手段
    と、 (c3)複数の命令を実行する第3の手段であって、該
    第2の手段からのデータの読出しを要求する命令に応答
    して、該命令が指定する検索用のメイン識別子を該第2
    の手段に供給するものと、 を有する並列プロセッサ。 2、該第3の手段は、該検索用のメイン識別子を、該第
    2の手段から所定数のデータが出力されるまで繰り返し
    該第2の手段に供給する手段を有する特許請求の範囲第
    1項の並列プロセッサ。 3、該繰り返し供給手段は、該命令に応答して該繰り返
    し供給を実行する手段である第2項の並列プロセッサ。 4、該繰り返し供給手段は、該命令を繰り返し実行する
    ことにより該繰り返しを実行する手段である特許請求の
    範囲第2項の並列プロセッサ。 5、該第3の手段は、 該繰り返し供給手段による繰り返し供給実行中に、該命
    令の後続の命令を実行する手段を有する特許請求の範囲
    第3項の並列プロセッサ。 6、該第3の手段は、 複数のベクトルデータを保持する手段と、 該第2の手段から該繰り返し供給に対して出力された複
    数のデータを、該ベクトルデータ保持手段内の、該命令
    が指定する領域内の、それぞれのデータに付随するサブ
    識別子が指定する記憶位置に格納する手段を有する特許
    請求の範囲第3項記載の並列プロセッサ。 7、該第3の手段は、 ベクトルデータ保持手段と、 該第2の手段から供給されたデータを、該データに付随
    するサブ識別子により定まる、該ベクトルデータ保持手
    段内の位置に書込む手段を有する特許請求の範囲第2項
    の並列プロセッサ。 8、該ベクトルデータ保持手段は、それぞれのプロセッ
    サで実行される命令およびデータを保持するメモリであ
    る特許請求の範囲第7項の並列プロセッサ。 9、該ベクトルデータ保持手段は、ベクトルレジスタで
    ある第7項の並列プロセッサ。 10、該第3の手段は、該ベクトルデータ保持手段に保
    持されたベクトルデータにベクトル演算を施す演算器を
    有する特許請求の範囲第8項又は第9項の並列プロセッ
    サ。 11、該第1の手段は、該第3の手段によるデータ送信
    命令の実行に応答して、該命令で指定される複数のデー
    タおよびそれぞれに対するメイン識別子およびサブ識別
    子から、複数のメッセージを形成してそれぞれを順次出
    力する手段を有する特許請求の範囲第1項又は第3項の
    並列プロセッサ。 12、(a)複数のプロセッサと、 (b)該複数のプロセッサ間のデータ転送を行うための
    ネットワークとを有し、 (c)各プロセッサが、 (c1)他のプロセッサに送信すべきデータならびに該
    データが属するデータ群を識別するためのメイン識別子
    を含むメッセージを該ネットワークに送信する第1の手
    段と、 (c2)ネットワークから自己のプロセッサに供給され
    た複数のメッセージを保持し、検索用のメイン識別子に
    応答して、該保持されたメッセージ中の、該検索用メイ
    ン識別子に一致するメイン識別子を有するメッセージに
    含まれるデータおよびサブ識別子に出力する第2の手段
    と、 (c3)複数の命令を実行する第3の手段であって、該
    第2の手段からのデータの読出しを要求する命令に応答
    して、該命令が指定する検索用のメイン識別子を該第1
    の手段に該第2の手段から所定数のデータが出力される
    まで繰り返し該第2の手段に供給するものとを有する並
    列プロセッサ。 13、該繰り返し供給手段は、該命令に応答して該繰り
    返し供給を実行する手段である特許請求の範囲第12項
    の並列プロセッサ。 14、該繰り返し供給手段は、該命令を繰り返し実行す
    ることにより該繰り返しを実行する手段である特許請求
    の範囲第12項の並列プロセッサ。 15、該第1の手段は、該第3の手段によるデータ送信
    命令の実行に応答して、該命令で指定される複数のデー
    タおよびそれぞれに対するメイン識別子から、複数のメ
    ッセージを形成してそれぞれを順次出力する手段を有す
    る特許請求の範囲第13項の並列プロセッサ。 16、(a)複数のプロセッサと、 (b)該複数のプロセッサ間のデータ転送を行うための
    ネットワークとを有し、 (c)各プロセッサが、 (c1)他のプロセッサに送信すべきデータならびに該
    データを識別するための識別子を含むメッセージを該ネ
    ットワークに送信する第1の手段と、 (c2)該ネットワークから自己のプロセッサに供給さ
    れた複数のメッセージを保持し、検索用の識別子、およ
    び該検索用識別子の内、検索に用いられるべき部分の長
    さを示す検索用識別子長に応答して、該保持されたメッ
    セージ中の、該検索用識別子の内、該検索用識別子長に
    て指定された部分に一致する部分を有する識別子を有す
    るメッセージに含まれるデータを出力する第2の手段と
    、 (c3)複数の命令を実行する第3の手段であって、該
    第2の手段からのデータの読出しを要求する命令に応答
    して、該命令が指定する検索用の識別子および検索用識
    別子長を該第1の手段に供給するものと、 を有する並列プロセッサ。 17、該第2の手段は、該一致した部分を有する識別子
    の内、該一致する部分以外の部分を該データとともに出
    力する手段を有する特許請求の範囲第16項の並列プロ
    セッサ。
JP63008315A 1987-01-23 1988-01-20 並列プロセッサ Expired - Lifetime JP2753240B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP1235987 1987-01-23
JP1235887 1987-01-23
JP62-12359 1987-01-23
JP62-12358 1987-01-23

Publications (2)

Publication Number Publication Date
JPS63303460A true JPS63303460A (ja) 1988-12-12
JP2753240B2 JP2753240B2 (ja) 1998-05-18

Family

ID=26347965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63008315A Expired - Lifetime JP2753240B2 (ja) 1987-01-23 1988-01-20 並列プロセッサ

Country Status (2)

Country Link
US (1) US5086498A (ja)
JP (1) JP2753240B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689647A (en) * 1989-03-14 1997-11-18 Sanyo Electric Co., Ltd. Parallel computing system with processing element number setting mode and shortest route determination with matrix size information
EP0408810B1 (en) * 1989-07-20 1996-03-20 Kabushiki Kaisha Toshiba Multi processor computer system
AU630299B2 (en) * 1990-07-10 1992-10-22 Fujitsu Limited A data gathering/scattering system in a parallel computer
JP2770603B2 (ja) * 1991-03-14 1998-07-02 三菱電機株式会社 並列計算機
US5257384A (en) * 1991-09-09 1993-10-26 Compaq Computer Corporation Asynchronous protocol for computer system manager
FR2686175B1 (fr) * 1992-01-14 1996-12-20 Andre Thepaut Systeme de traitement de donnees multiprocesseur.
US5506992A (en) * 1992-01-30 1996-04-09 Saxenmeyer; George Distributed processing system with asynchronous communication between processing modules
US5434975A (en) * 1992-09-24 1995-07-18 At&T Corp. System for interconnecting a synchronous path having semaphores and an asynchronous path having message queuing for interprocess communications
US5464435A (en) * 1994-02-03 1995-11-07 Medtronic, Inc. Parallel processors in implantable medical device
JP2587586B2 (ja) * 1994-05-25 1997-03-05 甲府日本電気株式会社 データ転送方法
FI20012173A (fi) * 2001-11-09 2003-05-10 Nokia Corp Synkronisoiva paikallisverkko
US7082425B2 (en) * 2003-06-10 2006-07-25 Logicube Real-time searching of data in a data stream
US7676647B2 (en) * 2006-08-18 2010-03-09 Qualcomm Incorporated System and method of processing data using scalar/vector instructions
US8612505B1 (en) 2008-07-14 2013-12-17 The Mathworks, Inc. Minimum resource fast fourier transform
GB2470780B (en) * 2009-06-05 2014-03-26 Advanced Risc Mach Ltd A data processing apparatus and method for performing a predetermined rearrangement operation

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5522821B2 (ja) * 1974-11-15 1980-06-19
CA1059639A (en) * 1975-03-26 1979-07-31 Garvin W. Patterson Instruction look ahead having prefetch concurrency and pipe line features
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
US4128882A (en) * 1976-08-19 1978-12-05 Massachusetts Institute Of Technology Packet memory system with hierarchical structure
US4408273A (en) * 1980-05-27 1983-10-04 International Business Machines Corporation Method and means for cataloging data sets using dual keyed data sets and direct pointers
US4481571A (en) * 1981-09-11 1984-11-06 Data General Corp. Digital data processing system with accumulation instructions
US4604709A (en) * 1983-02-14 1986-08-05 International Business Machines Corp. Channel communicator
JPS6049464A (ja) * 1983-08-30 1985-03-18 Oki Electric Ind Co Ltd マルチプロセッサ計算機におけるプロセッサ間通信方式
US4601586A (en) * 1984-02-10 1986-07-22 Prime Computer, Inc. Solicited message packet transfer system
JPS61210477A (ja) * 1984-05-25 1986-09-18 Hitachi Ltd ベクトル型連想メモリシステム
US4713758A (en) * 1985-04-29 1987-12-15 American Telephone And Telegraph Company, At&T Bell Laboratories Computer testing arrangement
US4649473A (en) * 1985-06-17 1987-03-10 International Business Machines Corporation Flexible data transmission for message based protocols

Also Published As

Publication number Publication date
US5086498A (en) 1992-02-04
JP2753240B2 (ja) 1998-05-18

Similar Documents

Publication Publication Date Title
CA1068825A (en) Computer vector register processing
KR100956970B1 (ko) 프로세서에서의 마스킹된 저장 동작들을 위한 시스템 및방법
EP0054888B1 (en) Data-processing system with main and buffer storage control
EP0205809B1 (en) Vector processing
JPS63303460A (ja) 並列プロセッサ
US4320455A (en) Queue structure for a data processing system
EP0240032A2 (en) Vector processor with vector data compression/expansion capability
EP0208870A1 (en) Vector data processor
JP2006509306A (ja) 関係アプリケーションへのデータ処理システム相互参照用セルエンジン
US5297255A (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
JPS63129425A (ja) デ−タ処理装置
US5710932A (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
US20110246582A1 (en) Message Passing with Queues and Channels
JP2007233457A (ja) リオーダリング装置
US8255623B2 (en) Ordered storage structure providing enhanced access to stored items
CN112463218B (zh) 指令发射控制方法及电路、数据处理方法及电路
US5644761A (en) Basic operations synchronization and local mode controller in a VLSI central processor
EP0326164B1 (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
EP0105125B1 (en) Data processing system
US8924654B1 (en) Multistreamed processor vector packing method and apparatus
JP2006515446A (ja) 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム
JP3982077B2 (ja) マルチプロセッサシステム
JPH01194056A (ja) 並列プロセッサ
JPH01116832A (ja) データフロー制御コンピュータの命令処理方式
JP2881023B2 (ja) 命令バッファ構成方式