JPS63223857A - 並列プロセツサ - Google Patents

並列プロセツサ

Info

Publication number
JPS63223857A
JPS63223857A JP62056507A JP5650787A JPS63223857A JP S63223857 A JPS63223857 A JP S63223857A JP 62056507 A JP62056507 A JP 62056507A JP 5650787 A JP5650787 A JP 5650787A JP S63223857 A JPS63223857 A JP S63223857A
Authority
JP
Japan
Prior art keywords
data
identifier
processor
arithmetic processing
communication path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP62056507A
Other languages
English (en)
Inventor
Teruo Tanaka
輝雄 田中
Naoki Hamanaka
濱中 直樹
Koichiro Omoda
面田 耕一郎
Junji Nakakoshi
中越 順二
Kazuo Oshima
尾島 和郎
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
Priority to JP62056507A priority Critical patent/JPS63223857A/ja
Priority to DE3751229T priority patent/DE3751229T2/de
Priority to EP87111124A priority patent/EP0258650B1/en
Publication of JPS63223857A publication Critical patent/JPS63223857A/ja
Pending 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
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は並列プロセッサシステムにおけるプロセッサ間
のデータ通信による性能低下を抑える方式に関するもの
である。
〔従来の技術] 従来の並列プロセッサにおけるプロセッサ間データ通信
方式の一つに、他プロセツサから送られて@たデータを
受信バッファに一時おき、受信プロセッサが必要な時に
データを取シ込む方式がある。この種の装置としては、
7tとえは特開昭60−49464などがめる。一般に
、受信バッファがFIFOで構成され、かつ送信プロセ
ッサが一台の場合は問題ないが、一般に受信バッファに
データを送シ込む送信プロセッサは複数台あるため、受
信バッファに転送さnてきたデータを識別子子データと
いう組で一時保持し、受信プロセッサは識別子をチェッ
クすることにより必要なデータを取り込む。したがって
、受信バッファは連想記憶装置で構成嘔れることが考え
られる。
ココで、受信プロセッサの中で、データを受信し、受1
gバッファに一時保持する所をデータ受信部%命令を実
行処理する所を命令実行部と呼ぶ。
また、並列プロセッサにおいて、各(逐次処理)プロセ
ッサの実行効率を上げるために複数のプロセスを1つの
プロセッサに割りつけ、それらのプロセスのうち実行可
能なプロセスを実行し、受信データ待ちなどの状態によ
り、実行不可能な場合は別の実行可能なプロセスの実行
に切)かえる(いわゆる並行プロセス)ことが行われる
ことがある。
〔発明が解決しようとする問題点〕
上記従来技術では、たとえばプロセッサで複数のプロセ
スによる並行プロセスを実行し、かつ実行可能なプロセ
スがなく受信データ待ちのプロセスが複数ろる場合、受
信データ待ちのプロセスを1つ1つ起動し、受信命令を
発行することによって受信バッファを検索する必要があ
った。したがって、プロセッサが必要以上にむだな動作
を行い、データの到着を待たされることがめった。
たとえば、4つのPi、P2.P3およびP4という受
信データ待ちのプロセスが、1)、Pl。
P2.P3.P4の順番に起動されるようにグログラミ
ングされていたと仮定する。かりに、P4のプロセスが
待っているデータが受信バッファに到盾し、かつ他のP
l、P2.P3のプロセスが待っているデータが受信バ
ッファに到着していなくても、PL、P2.P3.P4
の唄に起動されるようにプログラミングされているので
まず、Plのプロセス全起動し、受1g砧令全発行し受
信バッファに所望のデータが届いていないことを確認し
、Plのプロセス金持ち状態にして、P2のプロセスを
起動する。この手j臓をく)返しP4を起動してはじめ
て(P4が)所望のデータを受信することがロエ能にな
9.処理を進めることができる。
本発明の目的は、受信データ待ちのプロセスがある時に
、受信バッファに所望のデータが届いたプロセスから起
動することを可能にすることに工9、プロセッサ間デー
タ通信により生じる並列処理のオーバヘッドを削減する
ことにるる。
〔問題点を解決するための手段〕
上記目的は、プロセッサ間データ転送方式における受信
側のプロセッサ内のデータ受信部で、識別子、プロセス
番号およびデータを一時保持する受信バッファ(第1の
連想記憶装置ンに対して検索子およびプロセス番号で検
索を行い、所望のデータが児つからない場合に、前記検
索子およびプロセス番号を第2の連想記憶装置に格納す
る。以恢、前記プロセッサ内のデータ受信部に、識別子
、プロセス−1f号およびデータが到着した時に、受信
バッファ(第1の連想記憶fcnlt)に一時保持する
と同時に、第2の連想記憶装置に対して到着した識別子
およびプロセス番号を用いて検索を行う。
一致する検索子およびプロセス番号が児つかった場合は
、命令実行部に対して前記プロセス番号のプロセスが要
求していた受信データが受信バッファ(第1の連想記憶
g装置)に到着したことを知らせることによシ達成され
る。
〔作用〕
第2の連想記憶装置を設けることによシ、現在受信デー
タを要求しているプロセスおよびそのプロセスが望んで
いる受信データtデータ受信部が知ることができ、所望
のデータが届いた時にデータ受信部は所望の受信データ
が届いたことを能動的に命令実行部に報告することがで
きる。
〔実施例」 以下、本発明の実施例を1図面により詳細に説明する。
第1図は1本発明の実施例を示す並列プロセッサの全体
構成図である。
第1図において、1はプロセッサエレメント間のデータ
転送路、2−1ないし2−3はプロセッサエレメント(
以下、PEと略記する。なお。
1’Eの内部は2−1のみ示しているが他も同−構成で
あるン、3はPE内のメモリ部、4は送信先PE′ti
号、識別子、プロセス着号およびデータからメツセージ
を構成し、メツセージをデータ転送路1に送9出すメツ
セージ生成送信装置、5は命令実行部、6は受信データ
を一時保持して、命令実行部5からの要求によシデータ
を命令実行部5に送シ出すデータ受信装置、8は受信デ
ータを一時保持する第1の連想記憶装置、13は第1の
連想記憶装置t8t−検索して所望のデータが見つから
なかった時に、検索で用いた検索子、プロセス番号を一
時保持する第2の連想記憶装置、16はマイクロプロセ
ッサ、17はメモリ部3内のプロセス実行を管理する領
域、26は命令デコーダ。
28はレジスタ群、30は演算部、32は命令実行部5
で実行中のプロセスの番号を保持するレジスタをそれぞ
れ示す。
第1凶では、PEは3台だけ示されているが。
もちろんこれ以外の場合も含まれる。
PE間データ転送路1は、メツセージ中の転送情報(送
信先PE番号)を用いて、目的のPEまでメツt−ジを
転送する機能を持っている。なお、このPE間データ転
送路1は、クロスバスイッチ。
多段スイッチネットワーク、あるいはパス等裡々の構成
が考えられる。
PE2−1を用いてPE内での複数プロセスの実行制御
について説明する。
1’E内のプロセスrc2つのリスト(実行プロセスリ
スト、待機プロセスリストンで管理される。
リスト中の各セル22ないし25はプロセス番号、実行
すべき命令アドレス(IAと略す)および次のセルへの
ポインタから構成されている。
実行プロセスリストは先頭ポインタA18から指示され
タリストで、いつでもセル内に保持している命令アドレ
スから実行を開始できる状態のプロセスを保持している
。末尾ポインタAT19は。
実行プロセスリストの最後のセルラ指示する。
待機プロセスリストは先頭ポインタW20から指示され
たリストで、プロセスが命令実行部5で命令実行中に、
データ受信命令を実行したが所望の受信データがデータ
受信装[6に届いていないため受信データ待“しになっ
たプロセスを保持している。末尾ポインタ21は、待機
プロセスリストの最後のセルを指示する。
命令実行部5で実行中のレジスタ32で示されたプロセ
スが終了して消滅した場合、あるいは受信データ待ちの
状態になり待機プロセスリストに接続された場合に、か
わりに先頭ポインタA1Bで指示されfc実行プロセス
リストの先頭のセル22内のプロセスがセル内の命令ア
ドレス(IA)から命令実行部5にて命令実行を再開す
る。この時、プロセス番号が、線t39を通してVラス
タ32にセットされる。
PE2−1を用いてPE間のデータ転送処理について説
明する。
まず、送信処理を説明する。命令で送信処理が指示ちれ
ると、メツセージ生成送信装置4は転送すべきデータ、
データを識別する識別子および送信先PE番号を磁L4
0”f通してレジスタ28から、あるいは@141を通
してメモリ部3から取り込み、さらに現在実行中のプロ
セス番号をレジスタ32から線142を通して取り込み
、それらもとにメツセージ全生成し、 ?fs143を
通してデータ転送路1にメツセージを送出する。
次に、受信処理を説明する。データ転送路1上のメツセ
ージ内の送信PE番号がPE2−1の場合、PE2−1
は線14 ’4を通してメツセージを受信し、メツセー
ジから識別子、プロセス番号およびデータを取シ出し、
at45,8146および線t47を通じて第1の連想
記憶装置8に取シ込む。識別子、プロセス番号およびデ
ータを第1の連想記憶装置8に格納したことを示すため
にvalidビット12を1にする。
さらに、第1の連想記憶装置8上に一時保持されたデー
タ11は命令実行部5で解読実行されたデータ受信命令
で指示さn、命令実行部5に取りまれる。データ受信命
令によシ受信データ11を命令実行部5に取り込む処理
を詳細に説明する。
メモリ部3から謙148を通して命令デコーダ26に送
られた受信命令は解読され、データ受信装置6に起動t
かける。データ受信命令はたとえは第1図中の27のよ
うな形式となっている。命令27−1は命令がデータ受
信命令であることを示す。オペランドR127−2は受
信データの格納先のレジスタの番号を示す。オペランド
R227−3は受信データを検索するための検索子29
を保持するレジスタの番号を示す。
データ受信命令はデータ受信装置6に起動をかけると同
時に、受信命令のオペランドR227−3で指定された
レジスタ上の検索子29を線t49を通して、またレジ
スタ32上の現在実行中のプロセス番号を9150を通
して、第1の連想記憶装d8に送る。連想記憶装置18
は、この検索子およびプロセス番号の組を用いて、一致
する識別子9およびプロセス番号100組を検索する。
もし、一致する識別子およびプロセス番号の組が見つか
った場合は、対応する受信データ11を線A51を通し
て命令実行部5内の受信命令のオペランドR127−2
で(1足されたレジスタに送る。
同時に、at52を通して所望の受信データが見つかっ
たことを演算部30内の条件コードレジスタ(ee) 
2 iにセットする。
もし、所望のデータが見つからない場合、つまりまだ連
想記憶装[8上にデータが届いていない場合には、Mt
52t−通してデータが見つかったことを乗杆コードレ
ジスタ(CU)21にセットし、命令実行部5に知らせ
る。命令実行部5で命令実行中のプロセスは所望の受信
データが到看しないので、一般には次の処理に進むこと
ができず、退避され待機プロセスリストに接続される。
命令実行部5では実行プロセスリストから新しいプロセ
スが命令実行部に送りこまれ、命令実行処理をはじめる
。−万、データ受信1tttにおいては%巌t49およ
び線t50で送られてきた検索子およびプロセス番号に
よる第1の連想記憶装置8の検索が失敗した場合、$1
54および線755を通して検索子およびプロセス番号
が第2の連想記憶装置13にセットされる。
第2の連想記憶装置i13に検索子14およびプロセス
番号15の組が保持されている場曾には。
データ転送路1から線t44を通してメツセージ全受信
しメツセージから識別子、プロセス番号およびデータを
取り出し、線145.線t46およびMt47を通じて
第1の連想記憶装置8に取り込むのと同時に、線t56
および線t57を通して識別子およびプロセス番号音(
検索子として)第2の連想記憶装置13に送り検索を行
う。
もし、一致する検索子およびプロセス番号の組が見つか
った場合には、そのプロセス番号を線A58を通してマ
イクロプロセッサ16を起tlbfる。
検出された検索子14%プロセス番号15の組は第2の
連想記憶装置13から削除される。
マイクロプロセッサ16はあらかじめプログラミングさ
れておシ、第2図の処理フローに示した動作を行う。
まず、処理70で命令実行部5との排他制御をするため
に、命令実行部5からの実行プロセスリストおよび待機
プロセスリストを含む領域17へのアクセス1に禁止す
る。
処理71で、待機プロセスリストから、第2の連想記憶
装置から栂L58を通して送られてきたプロセス番号を
含むセルを探索する。
処理72で、処理71で見つけたセルを実行プロセスリ
ストの末尾に連結する。
処理73で、待機プロセスリスト上の上記セルを削除す
る。
処理74で、処理70で実行した領域17へのアクセス
禁止を解除する。
起動のかかったマイクロプロセッサが処理を実行する前
の各プロセスリストの状態を第3−1図に示し、処理を
実行した後の谷プロセスリストの状態を第3−2図に示
す。ただし、指定されたプロセス番号を含むセルを矢印
で示した。
本実施例では高速化のためにマイクロプロセッサを用い
たが、fit58の出力光を命令実行部5とし直接プロ
セス番号を供った割込みなどをかけ、待機プロセスリス
トから実行プロセスリストへの前記プロセス番号を含む
セルの移動を命令実行部5が行うことも考えられる。
本実施例では、第2の連想記憶装置13で検索に用いる
貴素を検索子とプロセス番号としたが。
検索子と受信データの格納先アドレスなどの検索子と別
の要素、あるいは検索子のみを要素とすることが考えら
れる。
〔発明の効果〕
本発明によれば、データ受信部に受信データが到着した
時に、その受信データを必要としているプロセスがある
かどうかがすぐにわかるので、プロセッサ間データ通信
により生じる並列処理オーバヘッドを削減することにあ
る。
【図面の簡単な説明】
第1図は本発明の一実施例を示す並列プロセッサの構成
図、第2図は第1図内のマイクロプロセッサに設定され
た処理の流れ図、第3図は複数のプロセスを管理する管
理リストの一実施例。 l・・・データ転送路、2−1. 2−2. 2−3・
・・プロセッサエレメント、3・・・メモリ部、4・・
・メツセージ生成送信装置、5・・・命令実行部、6・
・・データ受信装置、8・・・第1の連想記憶装置、1
3・・・第2の連想記憶装置、16・・・マイクロプロ
セッサ。 32・・・実行中のプロセス番号を保持するレジスタ。 代理人 弁理士 小川勝男゛″゛′ 第 2 図 第3−1図 万3−Z図

Claims (1)

  1. 【特許請求の範囲】 1、複数台のプロセツサと各プロセツサ相互間でデータ
    転送を行うための通信路を備えた並列プロセツサにおい
    て、 データ送信命令およびデータ受信命令を解読するととも
    に、該通信路からのデータ受信と並行し演算処理手段と
    、 データ送信命令に基づき、該演算処理手段で作成された
    データを上記通信路に送出する手段と、 データ受信命令に基づき、演算処理手段から検索子を受
    け取り一時保持し、該通信路からデータおよび該データ
    に対する識別子を受信した時に、識別子を用いて、識別
    子と検索子を比較し一致を判定する連想記憶手段と、 該連想記憶手段で一致が検出された時に、検出されたこ
    とを該演算処理手段に報告する手段を有することを特徴
    とする並列プロセツサ。 2、複数台のプロセツサと各プロセツサ相互間でデータ
    転送を行うための通信路を備えた並列プロセツサにおい
    て、 データ送信命令およびデータ受信命令を解読するととも
    に、該通信路からのデータ受信と並行して演算処理手段
    と、 データ送信命令に基づき、該演算処理手段で作成された
    データを上記通信路に送出する手段と、 各プロセツサ内に上記通信路から受信したデータおよび
    該データに対する識別子を一時保持し、データ受信命令
    に基づき、該一時保持したデータの中から所望のデータ
    を取り出すために、演算処理手段から読み出すべきデー
    タを検索する検索子を受け取り、検索子と識別子を比較
    し一致を判定する第1の連想記憶手段と、 該第1の連想記憶手段で所望のデータが見つからなかつ
    た場合に検索子を一時保持し、該通信路からデータおよ
    び該データに対する識別子を受信した時に識別子を用い
    て、識別子と検索子を比較し一致を判定する第2の連想
    記憶手段と、 該第2の連想記憶手段で一致が検出された時に、検出さ
    れたことを前記演算処理手段に報告する手段と、 を有することを特徴とする並列プロセツサ。 3、複数台のプロセツサと各プロセツサ相互間でデータ
    転送を行うための通信路を備えた並列プロセツサにおい
    て、 データ送信命令およびデータ受信命令を解読するととも
    に、該通信路からのデータ受信と並行して演算処理手段
    と、 データ送信命令に基づき、該演算処理手段で作成された
    データを該通信路に送出する手段と、各プロセツサ内に
    該通信路から受信したデータおよび該データに対する識
    別子およびプロセス番号を一時保持し、データ受信命令
    に基づき、該一時保持したデータの中から所望のデータ
    を取り出すために、演算処理手段から読み出すべきデー
    タを検索する検索子および演算処理手段で実行中のプロ
    セス番号を受け取り、検索子と識別子を比較し、かつプ
    ロセス番号を比較し、一致を判定する第1の連想記憶手
    段と、 該第1の連想記憶手段で所望のデータが見つからなかつ
    た場合、検索に用いた検索子およびプロセス番号を一時
    保持し、該通信路からデータ、プロセス番号および該デ
    ータに対する識別子を受信した時に、識別子およびプロ
    セス番号を用いて、識別子と検索子を比較し、かつプロ
    セス番号を比較し、一致を判定する第2の連想記憶手段
    と、 該第2の連想記憶手段で一致が検出された時に、検出さ
    れたプロセス番号を該演算処理手段に報告する手段と、 を有することを特徴とする並列プロセツサ。
JP62056507A 1986-08-01 1987-03-13 並列プロセツサ Pending JPS63223857A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP62056507A JPS63223857A (ja) 1987-03-13 1987-03-13 並列プロセツサ
DE3751229T DE3751229T2 (de) 1986-08-01 1987-07-31 Parallelrechnersystem, geeignet für asynchrone Datenübertragung.
EP87111124A EP0258650B1 (en) 1986-08-01 1987-07-31 Parallel computer system capable of asynchronous data transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62056507A JPS63223857A (ja) 1987-03-13 1987-03-13 並列プロセツサ

Publications (1)

Publication Number Publication Date
JPS63223857A true JPS63223857A (ja) 1988-09-19

Family

ID=13029038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62056507A Pending JPS63223857A (ja) 1986-08-01 1987-03-13 並列プロセツサ

Country Status (1)

Country Link
JP (1) JPS63223857A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02288918A (ja) * 1989-01-17 1990-11-28 Landmark Graphics Corp 同時に動作しているコンピュータプログラム間の情報伝達方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02288918A (ja) * 1989-01-17 1990-11-28 Landmark Graphics Corp 同時に動作しているコンピュータプログラム間の情報伝達方法

Similar Documents

Publication Publication Date Title
US5010477A (en) Method and apparatus for transferring vector data between parallel processing system with registers & logic for inter-processor data communication independents of processing operations
US6125399A (en) Computer system including a plurality of nodes for transferring through a data transfer network messages having distinguishing fields used for distinguishing the messages and controlling receipt thereof
US5675736A (en) Multi-node network with internode switching performed within processor nodes, each node separately processing data and control messages
JP3451103B2 (ja) データ通信装置及び方法
KR100766732B1 (ko) 고속의 낮은 오버헤드의 콘텍스트 전환을 실행하는 디바이스 및 방법
CA2497807A1 (en) Vector processing apparatus with overtaking function
JPS6215891B2 (ja)
JP2002208949A (ja) データパイプ・ルーティング・ブリッジ
CN102446087A (zh) 指令预取方法与预取装置
JP2753240B2 (ja) 並列プロセッサ
JPS63223857A (ja) 並列プロセツサ
EP0258650B1 (en) Parallel computer system capable of asynchronous data transmission
US6591325B1 (en) Method and apparatus of out-of-order transaction processing using request side queue pointer and response side queue pointer
JPH11317783A (ja) ヘッダ処理装置とそのヘッダ処理方法
JP2748359B2 (ja) 並列プロセッサシステムおよび並列プロセッサによる複数の命令列の実行方法
JP2795312B2 (ja) プロセス間通信スケジューリング方式
JPH07107680B2 (ja) 並列プロセッサのプロセッサ間データ転送装置
JP3234629B2 (ja) データ駆動型プロセッサ
JP2913963B2 (ja) 命令バッファシステム
JPS63111562A (ja) 並列プロセツサのプロセツサ間ベクトルデ−タ転送方式
JPH10111798A (ja) 情報処理装置
JPH03241442A (ja) ストアバッファ制御方式
JP2001236238A (ja) 割込処理方法
JPH08110894A (ja) 並列計算機システム
JPH01194056A (ja) 並列プロセッサ