JPH0217821B2 - - Google Patents

Info

Publication number
JPH0217821B2
JPH0217821B2 JP58050498A JP5049883A JPH0217821B2 JP H0217821 B2 JPH0217821 B2 JP H0217821B2 JP 58050498 A JP58050498 A JP 58050498A JP 5049883 A JP5049883 A JP 5049883A JP H0217821 B2 JPH0217821 B2 JP H0217821B2
Authority
JP
Japan
Prior art keywords
data
packet
processing
processing device
sent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP58050498A
Other languages
English (en)
Other versions
JPS59176846A (ja
Inventor
Akira Maeda
Kazunori Sekido
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP58050498A priority Critical patent/JPS59176846A/ja
Publication of JPS59176846A publication Critical patent/JPS59176846A/ja
Publication of JPH0217821B2 publication Critical patent/JPH0217821B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、複数台の処理装置と記憶装置からな
る並列データ処理装置における、処理装置と記憶
装置間とのデータ転送方式に関する。
〔発明の技術的背景とその問題点〕
近年、VLSI技術の発展に伴い多数の、VLSIに
より製作された処理装置からなる並列データ処理
装置の構築が容易となつた。これらの装置を構築
する上で最大の問題となる点は、その構成要素で
ある記憶装置部と多数の処理装置をいかに接続す
るかである。これまでの計算機システムなどでよ
く用いられた方式を第1図に示す。同図は、複数
台の処理装置12〜14が記憶制御部11を介し
記憶装置10に接続されている様子を示してい
る。記憶制御部11は、処理装置12〜14から
のアクセフ要求を受けつけ、それらの要求を出し
ている処理装置の1つを選択し記憶装置にアクセ
スせしむる制御をするものである。この方式は、
処理装置の台数が多くなると、記憶制御部11の
構造が複雑で多量のハードウエアが必要であり、
処理装置の台数は高々8台程度が限度であつた。
しかしひとたび第1図に示すような方式で並列デ
ータ処理装置を構築した後、処理装置の台数を増
やすことは、あらかじめ記憶制御部11に処理装
置を接続するポートを余分に用意しておかない限
りほとんど不可能である。このような余分のポー
トを常に用意しておくことはハードウエア資源を
有効に利用したことにならずはなはだ好ましくな
い。さらに各処理装置12〜14は、記憶装置内
に格納されているデータのどの部分を処理すべき
か常に管理しておらねばならず、これらの管理が
通常プログラムで行なわれることから、各処理装
置のプログラムを複雑なものとしている。また処
理装置の台数が故障などの理由で変更された時、
各処理装置内にある、データのアクセスを管理す
るプログラム部分を変更する必要があり、場合に
よつては各処理装置に対するプログラムを再ロー
テイングするなど煩雑な処理が要求されることが
ある。
以上に述べたような欠点を克服するため、第2
図に示すように、各処理装置12〜14内にそれ
ぞれレジスタ22〜24を設置し、これらのレジ
スタと記憶装置10の制御部11をリング状に接
続し、記憶装置と各処理装置間のデータ転送を行
なわせしむる方式が考えられる。処理装置の台数
をnとした時、n個のレジスタ22〜24をシフ
トレジスタとして構成し、制御部11はn個のデ
ータを記憶装置から読み出し、転送路20を介し
てシフトレジスタを構成しているレジスタ22〜
24に送出し、各処理装置にデータを受けとら
せ、各処理装置12〜14は受けとつたデータを
処理しその結果を対応するレジスタ22〜24に
それぞれ格納し、その後シフトレジスタ22〜2
4、転送路21を介して制御部11に送り、記憶
装置10に結果を書き込むわけである。この方式
では、処理装置の台数を追加するには、リング状
に接続した経路上にレジスタを1つ追加し、その
レジスタに処理装置を接続すれば良い。前記経路
上にレジスタを追加することは容易であり、処理
装置を任意個数追加することができる。またこの
場合各処理装置の処理手順は、処理装置の台数に
無関係なく対応するレジスタからデータを受けと
り、処理後その結果を該レジスタに格納する手順
で良く、プログラムの変更などは不必要であ。制
御部11や処理装置台数分のデータを送出し、処
理結果も同数受けとるように変更するだけで良
い。しかしながらこの方式の大きな欠点は、全処
理装置にデータを分配している間処理を開始する
ことができず、処理装置が遊んでしまう点であ
る。
この様子をもう少し詳しく説明する。今データ
が時間τごとにレジスタ22〜24間を次々と転
送されるものとし、各処理装置は受け取つたデー
タをT時間かかつて処理するとする。この場合n
個のデータを処理するのに要する時間は、n個の
シフトレジスタにデータを送る時間nτと処理時
間Tの和nτ+Tである。処理結果をレジスタ2
2〜24を介して記憶装置の制御部11に送る時
間は、次に処理するn個のデータを各処理装置に
分配する時間を利用することができ上記時間に加
える必要はない。すなわち処理装置12〜14
が、その結果をレジスタ22〜23に格納した時
点で、制御部11から次々と処理すべきデータを
送出するようにすれば良い。このnτ+T時間の
うち処理装置が動作しているのは、T時間のみで
あり、処理装置の台数を増加し、転送時間nτと
処理時間がほぼ同じ程度とすると各処理装置の稼
動率は1/2程度なつてしまう。
さらに各データに対する処理時間が異なる場
合、この方式では、最も時間のかかる処理が終了
するまで、データの転送が行なえず、処理装置が
遊ぶ可能性が更に大きくなる。例えば4台の処理
装置が、第3図に示すような処理時間の異なる16
ケのデータのすべてを処理し、記憶装置に返送す
るまでの時間は、4つづつに区切つた4組のデー
タに対し、4τの転送時間、20τの処理時間、さら
に最後の組データに対しては結果を返送する4τの
時間かかり計100τ時間となり、その転送のオーバ
ヘツドは大変大きなものとなつてしまう。
〔発明の目的〕
本発明は以上に鑑みなされたもので、その目的
とするところは、記憶装置と複数台の処理装置を
結合してなる並列データ処理装置において、処理
装置の追加が容易な並列データ処理装置を提供す
ることにある。
また他の目的とするところは、処理装置の追加
や、故障などにより処理装置の台数に変化が生じ
ても、記憶装置の読み出し、書き込みの制御手
順、各処理装置のデータ送受の制御手順のいずれ
をも変更する必要のない並列データ処理装置を提
供することにある。
さらに他の目的は、記憶装置と処理装置間のデ
ータ転送時において、処理装置が処理すべきデー
タを受けとれずに休止しているオーバヘツド時間
を極力少なくした並列データ処理装置を提供する
ことにある。
〔発明の概要〕
本発明は、制御部を有する記憶装置とn台処理
装置をノードとしリング状に結合し、前記ノード
上を、パケツトにより一方向に転送するシステム
において、パケツトは、データを保持しているか
否かを示す識別子と、第1種あるいは第2種のい
ずれのパケツトかを判別する識別子を持たせ、前
記制御部には、1つの第1種のパケツトと、n個
の第2種のパケツトを生成する手段と、これらの
パケツトを生成した時およびリング上のノードか
らパケツトを受けとつた時、そのパケツトが第1
種のパケツトならデータを格納せず空状態としノ
ードに送出し、そのパケツトが第2種のパケツト
なら、前記記憶装置より処理すべきデータを読み
出し前記パケツトに格納しノードに送出する手段
と、さらにノードからパケツトを受け取つた時、
そのパケツトがデータを保持していればそのデー
タを取り出し前記記憶装置に格納する手段をもた
せ、一方、各処理装置にはパケツトを受け取つた
時 (1) そのパケツトにデータが格納されており、そ
の処理装置が処理中あるいは処理を終了したデ
ータを保持していないなら、パケツト内のデー
タを受けとり空状態のパケツトを次のノードに
転送し、 (2) そのパケツトが空状態の場合、その処理装置
が処理中あるいは処理を終了したデータを保持
している時、処理中の場合は処理が完了するの
を待ち、処理結果をパケツトに格納し次のノー
ドへ転送し、 (3) 上記(1)、(2)以外の場合は、そのまま受け取つ
たパケツトを次のノードへ転送する。
手段を持たせたものである。
〔発明の効果〕
本発明によれば、記憶装置と複数台の処理装置
を結合してなる並列データ処理装置において、各
装置をノードとしてリング状に結合しているた
め、処理装置の追加が非常に単純に行なうことが
でき、また、データを転送する手順が、各装置が
受けとつたパケツトの状態にのみ影響され、処理
装置の台数とは無関係に、データの送受を行なう
ことができ、処理装置の台数が変化しても、その
データ送受の制御手順をなんら変更する必要のな
い結合手段が実現できる。さらにデータの転送お
よびその処理は並列に行なうことができ、データ
の処理時間が異なる場合もデータ転送のオーバヘ
ツドを極力少なくすることができる。
また制御部は送信するデータがどの処理装置で
行なわれるかまた受け取つたデータがどの処理装
置からのものであるのか等を全く知る必要がない
ので極めて簡単な回路構成とすることができる。
〔発明の実施例〕
次に本発明を実施例にもとづき詳細に説明す
る。第4図に全体の構成を示す。10はデータを
格納している記憶装置、11はその制御部であ
り、処理装置12〜14がそれぞれをノードとし
て転送路20,21等によりリング状に結合され
ている。制御部11内の31はデータを記憶装置
10から取り出すためのアドレスカウンタであ
る。32は処理装置から送られてきた結果を10
に格納するためのアドレスカウンタである。3
1,32はいずれも初期設定時において、それぞ
れデータの先頭番地がセツトされ、記憶装置への
アクセス時+1される。34は読み出したデータ
を一時格納するレジスタ、35は処理装置から送
られてきたデータを一時格納するレジスタであ
る。33は、リング上を巡回するパケツトを一時
格納するFIFO(First Fn First Out)構成のレジ
スタである。12〜14はそれぞれ処理装置であ
りn台接続されているものとする。処理装置12
〜14内の42〜44は、パケツトを格納するレ
ジスタであり、45〜47はデータの処理を行な
う部分である。
データを転送する転送路20,21上のデータ
形式は第5図に示すように、データを格納するフ
イールド54の他、転送路上にパケツトが存在す
ると1となるEXISTフイールド51、そのパケ
ツトにデータが存在する時1となるFULLフイー
ルド52、さらにそのパケツトが第1種のパケツ
トである時1になるNフイールド53から構成さ
れているものとする。なお後ほど詳しく説明する
が、パケツトを格納するFIFO33は、第5図に
示したパケツト全体を格納する必要はなく、その
パケツトが第1種のものであるか否かを示すNフ
イールド53の状態のみを憶えておけばよく、
FIFOのデータ幅は1ビツトで済む。
まずはじめに、制御部11がn+1個のパケツ
トを発生する。そのうちの1つは第1種のパケツ
トでn個は第2種のパケツトである。1つのパケ
ツトを第1種とするための(Nフイールドを1に
するための)手順について説明する。なおパケツ
トはノード間をτ時間ごとに移動しその移動は同
期して行なわれるものとする。初期状態において
アドレスカウンタ31には処理すべきデータが格
納されている記憶装置10の先頭番地、32には
処理された処理結果を格納する記憶装置10内の
領域の先頭番地が入つているとする。制御部11
は最初のタイミングでFULLフイードを0(デー
タが格納されていない空状態を示す)、Nフイー
ルド1(第1種のパケツトであることを示す)と
したパケツトを処理装置12へ送る(当然
EXISTフイールドは1になつている)。
次にアドレスカウンタ31により、記憶装置1
0からデータを順に読み出し、データフイールド
54にセツトし、FULLフイールドを1、Nフイ
ールドを0(第2種のパケツトを示す)としたパ
ケツトを次々と処理装置へ走る。これらのn個の
パケツトは、各処理装置を順に回り、先頭のパケ
ツト(Nフイールドを1とした第1種のパケツ
ト)は、丁度n+1クロツク目に制御部11に戻
つてくる。制御部11は、この時点でパケツトの
発生を停止すれば、n+1ケのパケツトが発生さ
れたことになる。
n台の処理装置のそれぞれは、次に示す手順で
パケツトとのデータの受け渡しをする。パケツト
が処理装置に対応するレジスタ42〜44に格納
されたことを、フイールドEXISTにより検出し
た時、次のいずれかの動作をとる。この手順を処
理装置パケツト転送手順と呼ぶことにする。
(1) そのパケツトがデータを格納していること
が、FULLフイールドが1になつていることに
より検出され、かつその処理装置は、先に送ら
れたデータを処理中でない、あるいは処理を終
了したデータを保持していない(送出し済)場
合は、パケツトからデータを取り出し処理を開
始し、FULLフイールドを0として次のノード
へ送る (2) 受けとつたパケツトのFULLフイールドが1
であるが、その処理装置がすでにデータを保持
(先に受けとつたデータの処理中又はその処理
結果を未だ送出していない)しておれば、その
ままそのパケツトを次のノードへ送る (3) FULLフイールドが0(そのパケツトにはデ
ータが格納されていない)でありかつその処理
装置が保持しているデータがない時、そのまま
そのパケツトを次のノードへ送る (4) FULLフイールドが0でありかつその処理装
置が処理中あるいは処理を終了したデータを保
持しておれば、処理中であれば処理が終了する
のを待ち、処理結果をパケツトに格納し、
FULLフイールドを1とし次のノードへ送る これらの動作をする処理装置の回路例を説明す
る。
第6図に処理装置12に対応した回路図を示す
がその他の処理装置も同様構成でよい。転送路2
0上の61〜64で示されるEXIST,FULL,
Nフイールドおよびデータはレジスタ42の65
〜68にそれぞれクロツク98に信号が印加され
た時セツトされる。クロツク信号98は、全処理
装置に共通に送られるクロツク97をANDゲー
ド73で制御してつくられる。その制御の方法に
ついては後程詳しく説明する。なお以後しばらく
の間信号線95は1として説明する。70は処理
部45がデータを保持しているかどうかを示すフ
リツプフロツプであり、信号線80により処理部
45がデータを受け取つた時リセツトされ、処理
結果を送り出した時セツトされる。今処理部45
がデータを保持していない、すなわちフリツプフ
ロツプ70はセツトされ、信号線83は1になつ
ているとし、回路の動作を順を追つて説明する。
信号線83は1になつているのでRゲート7
7、ANDゲート74、Rゲート76の出力は
それぞれ1になり、クロツク信号97はANDゲ
ート73の出力に印加され、転送路20の状態が
レジスタ42に取り込まれる。いまレジスタ42
のフイールド65が0、すなわちEXISTフイー
ルドが0の時、処理部45は信号線82によりパ
ケツトが致着していないことを検出し何もしな
い。このフイールド65が0である状態は、
ANDゲート75を介して信号線91により次報
の処理装置へ伝えられる。
つぎにEXISTフイールドが1かつフイールド
66のFULLフイールドが1の場合、すなわちデ
ータを格納しているパケツトが到着した場合(上
記(1))を考える。処理部45は、処理すべきデー
タを保持していないため、データ線85を介し、
レジスタ42の68に格納されたデータを受けと
り、フリツプフロツプ70をリセツトし、処理を
開始する。さらに信号線84を0にし、マルチプ
レクサ71のB入力を選択し、信号線92を0と
し(FULLフイールドを0とし)、データを格納
していないパケツトを転送することを次段の処理
装置に伝える。この時、信号線83は0になつて
も信号線87は1のままであるので、レジスタ4
2の内容はANDゲート75を介し信号線91に
そのまま伝えられる。なお信号線84を0にしマ
ルチプレクサ71のB入力を選択するのは次段の
処理装置がパケツトを受け取るまでの間である。
次段の処理装置がパケツトを受けとつたか否か
は、信号線95により判断できるが、詳細は後ほ
ど説明する。フリツプフロツプ70がリセツト状
態の時(すなわち処理中のデータを保持している
時)、レジスタ42のフイールド65が0になつ
ても(パケツトが存在しなくなつても)、あるい
はフイールド65が1、フイールド66が1とな
つても(データを格納したパケツトが到着して
も:上記(2))、次段の処理装置にレジスタ42の
内容がそのまま伝えられることは、回路図から容
易に判る。
さて次に、このフリツプフロツプ70がリセツ
トの状態の時、空の状態のパケツトが到着した場
合(上記(4))を想定してみる。すなわちレジスタ
42のフイールド65が1、66が0になつた場
合である。この時まだ処理が終つておらずフリツ
プフロツプ70はリセツトのままであるとする
と、Rゲート77の出力は0となり、ANDゲ
ート75の出力は0、さらにRゲート76の出
力は、インバータ78の出力が0であることか
ら、0となり、73の出力は抑制され、クロツク
がレジスタ42に印加されず、その内容は不変と
なる。すなわち次のパケツトを受けとれない状態
になつている。この状態になつていることは前段
の装置に信号線96が0になることにより伝えら
れる。さらにANDゲート75の出力が0になる
ことにより、次段の処理装置へは、EXISTフイ
ールドが0のデータが送られ、パケツトを転送し
ていないことになる。さて、処理部45での処理
が終了したとしよう。この時、フリツプフロツプ
70が信号線80によりセツトされ、データ線8
6に処理結果を載せ、信号線84を1とし、マル
チプレクサ71,72のB入力を選択する。この
時信号線91,92は1となり、次段の処理装置
に、処理結果を格納したパケツトを送ることがで
きる。以上説明したように第6図に示す回路によ
り、先に説明した処理装置パケツト転送手順を実
現することができる。
以上の説明の中にもでてきたが、パケツトを次
段の装置へ送ることができない場合がある。その
原因には2つ考えられ、1つは上の説明に出てき
たようにFULLフイールドが0の空状態のパケツ
トを受けとつたが、処理がまだ終つていず、パケ
ツトを次に回せない場合(上記(4))であり、他の
1つは、その処理装置自身はパケツトを次に送り
得るが、次段の処理装置がパケツトを受け取つて
くれない場合である。前者の場合の動作は先に説
明したとうりRゲート77の出力が0になるこ
とにより、ANDゲート73の出力を抑圧し、ク
ロツクの印加を禁止し、信号線96により前段の
装置に対しパケツトが受け取れないことを知らせ
ている。後者の場合、次段の処理装置が信号線9
5を0にすることにより、パケツトが受け取れな
いことを知らせてきた場合である。いまレジスタ
42にパケツトが存在しなければ、次段の状態に
かかわらず前段からパケツトを受けとることがで
きる。第6図において、レジスタ42のフイール
ド65が0の場合インバータ78の出力は1とな
りRゲート76の出力は信号線95の状態にか
かわらず1となり、レジスタ42にクロツクが印
加され、パケツトを受け取ることができるように
なつている。次にすでにレジスタ42にパケツト
がある場合を考えてみる。この場合は、インバー
タ78の出力は0であるので、信号95の状態が
そのまま96に伝えられ、前段の装置にパケツト
を受けとれないことを伝えることができる。なお
記憶装置の制御部からも前段の処理装置に対し、
パケツトを受け取れるか否かの信号が出力される
(但し本システムでは制御部はパケツトを格納す
るFIFがあるので常にパケツトが受け取れる状
態になつている)。また本制御部は、次段の処理
装置から送られる、パケツトが受け取り可能か否
かを示す信号に従い、パケツトの送り出しを制御
している。
次に記憶装置10の制御部の動作を説明する。
その基本的動作は次のような手順でおこなわれ
る。これを制御部パケツト転送手順と呼ぶことに
する。
(1) 処理装置からパケツトを受けとり、そのパケ
ツトがデータを格納している時、第4図に示し
たアドレスカウンタ32で示す記憶装置の番地
にそのデータを書き込み、パケツトのNフイー
ルド(第1種のパケツトか否かを示すフイール
ド)をFIF33に格納する。その後アドレス
カウンタ32の内容を+1する (2) 送られてきたパケツトが空ならパケツトのN
フイールドをFIF33にただ格納するだけで
ある (3) 次段の処理装置がパケツトを受けとることが
可能であり、FIF33の先頭のデータをとり
出しその値が0であれば(第1種のパケツトで
ないことを意味する)、アドレスカウンタ31
によりデータを読み出し、パケツトを、FULL
フイールドを1、Nフイールドを0として構成
し、データとともに次段へ送出する。この時ア
ドレスカウンタ31の内容を+1する (4) 次段の処理装置がパケツトを受けとることが
可能であり、FIF33の先頭のデータを取り
出し1であれば(第1種のパケツトであること
を意味する)、FULLフイールドを0、Nフイ
ールドを1とし(データは格納せず)次段の装
置へ送出する。
以上の動作を行なう制御部の回路例を第7図に
示す。パケツトが送られてきたか否かは、転送路
上のEXISTフイールド101により判断できる。
101が1なら処理装置からパケツトが送られて
きており、その時FULLフイールド102が1
(上記(1))なら104上のデータをレジスタ35
に取り込み、アドレスカウンタ32を番地として
記憶装置10に書き込めば良い。この時第1種の
パケツトか否かを示すNフイールド103の値を
FIF33に格納する。また送られてきたパケツ
トのFULLフイールド102が0(上記(2))なら
データは送られておらず、Nフイールドの値を
FIF33に取り込むだけでよい。これらの制御
は制御回路100により信号線112,114,
115を介して行なわれる。次段の処理装置がパ
ケツトを受け取れるか否かを示す信号96が1で
あり(パケツトが受け取れることを示す)、かつ
第1種のパケツトか否かを示すFIF33からの
出力が0(上記(3))ならアドレスカウンタ31を
番地として記憶装置10から読み出し、レジスタ
34に格納してあるデータを処理装置に送る。こ
の時転送路20上のEXISTフイールド61を1、
FULLフイールド62を1(パケツトにデータが
格納されていることを示す)、Nフイールド63
を0とする。
FIF33の出力をそのままフイールド63
に、インバータ107により反転した値をフイー
ルド62に出力することによりフイールド62,
63の制御は簡単に実現できる。またFIF33
からの出力が1(上記(4))の時(第1種のパケツ
トである時)、FULLフイールド62は0、Nフ
イールド63は1となり、データを格納していな
いパケツトを送出したことになる(この場合は記
憶装置10からの読み出しはおこらない)。記憶
装置10からの読み出し、FIF33からのデー
タの取り出しなどは、制御回路100により信号
線112,113,115を介しておこなわれ
る。なお信号95は、前段の処理装置に対しパケ
ツトが受けとれるか否かを示す働きをしている
が、この制御部11にはパケツトを格納するFIF
O33があるので、常にパケツトを受け取ること
ができるので常に1になつている。以上説明した
ように、第6図の回路により、前述の制御部パケ
ツト転送手順を実現することができる。
次にこれまで説明してきたパケツトの転送手順
により、データの送受がどのように行なわれるか
を説明する。簡単のため処理装置を3台としてデ
ータの送受法を中心に説明する。第8図a〜dに
おいて3台の処理装置P1〜P3がブロツク12
0に示されている。記憶装置およびその制御部は
記していないが、その制御部は4つのパケツトを
生成し、記憶装置からデータを読み出し処理装置
に送る。この時4番目のパケツト(第1種のパケ
ツト)はデータを格納しない空の状態で処理装置
に送られる。すなわち3個のデータと、1つの空
きパケツトが組となりブロツク121に示すよう
に順々に送出されるわけである。ブロツク121
における番号は、識別のためデータに付した番号
であり、空欄はデータが格納されていないことを
示している。最初のデータ1がP1に送られた状
態が同図aであり、P1はデータを保持していな
いため、データ1を取り込み処理をはじめる。さ
らにパケツトが送り込まれた空パケツトがP1に
送られた状態を同図bに示す。P1はデータ1を
保持しておりその処理の終るのを待ち結果をこの
空パケツトに格納する。同図bにおいて点線は次
のステツプで行なわれるデータの送受を示してい
る。同図cはさらにパケツトの転送が進んだ状態
である。直前のステツプでデータ4がP1にとり
込まれており、このデータ4を格納していたパケ
ツト(*印で示してある)が空パケツトとしてP
2に送られている。なおハツチングをほどこして
あるのは、処理された結果であることを示してい
る。同図cにおいてP2が処理結果を空パケツト
*に移し、次のステツプでデータ5がP2に取り
込まれる。同図dは同図cより転送が2ステツプ
進んだ様子を示しており、P3で処理されたデー
タ3と、P1で処理されたデータ4とが、それぞ
れ空パケツトに移されるところである。このよう
にして処理すべきデータが各処理装置に順に送り
込まれ、制御部は送り込まれた順序で次々と処理
結果を得ることができる。
次に処理装置が4台、データの処理時間が第3
図に示す場合について詳しくそのタイミングを調
べてみる。第9図にその結果が示されている。図
中P1〜P4は処理装置、Cは制御部を示す。また
添字Nは、第1種のパケツトであることを示し、
数字はデータの番号、〇で囲まれているのは、そ
のタイミングで処理装置にデータが取り込まれる
こと、さらに□で囲まれているのは処理結果であ
ることを示している。またeは空パケツトである
ことを示している。さて制御部は最初に第1種の
パケツトを空状態(eN)で送出し、続いて処理す
べきデータをパケツトを生成しながら順々に送り
出す。ステツプ5において制御部に第1種のパケ
ツトが戻つて来ており、5個のパケツトが生成さ
れたのでこの時点でパケツトの生成は停止され
る。図からも明らかなようにステツプ2でP1に
データ1が、ステツプ4でP2にデータ2が、さ
らにステツプ6でP3にデータ3が取り込まれて
いる。またステツプ6では、制御部11は第1種
のパケツト(eN)を、空状態のままP1へ転送し
ている。データ1に対する処理時間は、第3図に
示すように4であり、丁度第6ステツプでその処
理が終了する。すなわち第7ステツプでその結果
が、パケツトに格納されP2へ送られている。P
1はこのステツプ7で送られてきたデータ5を取
り込む、その時空になつたパケツトは第8ステツ
プでP2へ送られる。P2が処理しているデータ
2は、この第8ステツプで処理が終了し、処理結
果を送られてきた空パケツトに格納しP3へ送出
する。第9ステツプでP2は新しいデータ6を受
けとり、空パケツトを第10ステツプでP3へ送
る。第10ステツプで制御部11にデータ1の処理
結果が得られる。第11ステツプで空パケツトを受
けとつたP3は、データ3を処理しているが、そ
の処理は第3図に示すように20ステツプかかるた
めその時点では終了せず、第26ステツプまでその
終了を待つ。したがつて、第26ステツプまでパケ
ツトは停止している。P3は第27ステツプで処理
結果をP4へ送り、次に処理すべきデータ7を受
けとる。P4で処理されているデータ4は、その
処理時間は10ステツプであり、第28ステツプで空
パケツトを受けた時点では処理は終了しており、
直ちに次のステツプでその結果が制御部11へ送
られる。以下同様の手順で処理が進められ、制御
部11から順に送られたデータが、処理されその
順序で処理結果が制御部11に戻されてくる。な
おステツプ11〜26で制御部に2つのパケツトが存
在しているが、処理装置がまだパケツトを受け取
れる状態にならず、その内部(FIFO)に留めて
いるためである。但し、受け取つた処理結果はそ
のとき記憶装置に書き込んでいる。
第9図から明らかなように、第3図に示す16個
のデータの処理が済み、かつすべての処理結果が
制御部に戻されるまで60ステツプで済んでいる。
これは第2図に関連して述べた処理方式の場合の
100ステツプより大幅に短縮されていることが判
る。
本発明によれば処理装置をリング状に接続して
いるため、その台数を増加することは非常に容易
であり、さらにデータ転送の手順が、装置台数と
無関係であるため、台数が増加したりあるいは故
障等により減少したとしても、その手順を何ら変
更する必要のない、並列データ処理装置を提供す
ることができる。
【図面の簡単な説明】
第1図、第2図は従来の並列データ処理装置の
ブロツク図である。第3図は、あるデータの処理
時間の一例を示す図、第4図は本発明の一実施例
のブロツク図、第5図はデータ転送の際のデータ
の形式を示す図、第6図は本発明の一実施例で用
いた処理装置を示す図、第7図は、本発明の一実
施例で用いる制御部の詳細ブロツク図、第8図及
び第9図は、データ転送の進行状態を示す図であ
る。 10……記憶装置、11……制御部、12〜1
4……処理装置、31,32……カウンタ、3
4,35……レジスタ、33……FIFO、42〜
44……レジスタ、73〜78……論理ゲート、
71,72……マルチプレクサ。

Claims (1)

  1. 【特許請求の範囲】 1 制御部を有する記憶装置とn台の処理装置を
    ノードとしリング状に結合し、前記ノード上をパ
    ケツトにより一方向にデータを転送するシステム
    において、 該パケツトには、データを保持しているか否か
    を示す識別子と、第1種か第2種かの区別を示す
    識別子をもたせ、 前記制御部には、1個の第1種のパケツトとn
    個の第2種のパケツトを生成する手段と、これら
    のパケツトを生成した時および、リング上のノー
    ドからパケツトを受け取つた時、第1種のパケツ
    トに対してはデータを保持せしめず空状態とし、
    第2種のパケツトに対しては前記記憶装置より読
    み出したデータを格納せしめ、リング上のノード
    に送出する手段と、さらにノードから送られてき
    たパケツトにデータが格納されている時、該デー
    タを前記記憶装置に格納する手段を持たせ、 さらに各処理装置には、データを保持している
    パケツトを受け取つた時、該処理装置が既にデー
    タを保持しているならそのまま、次のノードへ送
    出し保持していないなら該パケツト内のデータを
    取り込みパケツトを空状態とし次のノードへ送出
    する手段と、空状態のパケツトを受けとつた時、
    該パケツトがデータを保持していなければそのま
    ま次のノードへ、データを保持していれば、該デ
    ータに対する処理の終了を待ちその結果を前記受
    け取つたパケツトに格納し次のノードに送出する
    手段を持たせたことを特徴とする並列データ処理
    装置。
JP58050498A 1983-03-28 1983-03-28 並列デ−タ処理装置 Granted JPS59176846A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58050498A JPS59176846A (ja) 1983-03-28 1983-03-28 並列デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58050498A JPS59176846A (ja) 1983-03-28 1983-03-28 並列デ−タ処理装置

Publications (2)

Publication Number Publication Date
JPS59176846A JPS59176846A (ja) 1984-10-06
JPH0217821B2 true JPH0217821B2 (ja) 1990-04-23

Family

ID=12860601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58050498A Granted JPS59176846A (ja) 1983-03-28 1983-03-28 並列デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS59176846A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0465423U (ja) * 1990-10-19 1992-06-08

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61107460A (ja) * 1984-10-30 1986-05-26 Mitsubishi Electric Corp マルチプロセツサシステム
JPS61131062A (ja) * 1984-10-30 1986-06-18 Mitsubishi Electric Corp マルチプロセツサシステム
JP2781550B2 (ja) * 1985-05-10 1998-07-30 株式会社日立製作所 並列処理計算機
JP3137117B2 (ja) * 1987-03-27 2001-02-19 将容 曽和 高速処理計算機
JP2634919B2 (ja) * 1990-02-05 1997-07-30 松下電器産業株式会社 マルチプロセッサ装置
JP2012038262A (ja) * 2010-08-11 2012-02-23 Fujitsu Ltd キャッシュメモリおよびデータ処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0465423U (ja) * 1990-10-19 1992-06-08

Also Published As

Publication number Publication date
JPS59176846A (ja) 1984-10-06

Similar Documents

Publication Publication Date Title
CN109933438B (zh) 高速共享内存数据收发系统
US6085303A (en) Seralized race-free virtual barrier network
US5592628A (en) Data communication system which guarantees at a transmission station the arrival of transmitted data to a receiving station and method thereof
US6996659B2 (en) Generic bridge core
JP3797491B2 (ja) データインタフェースおよびこれを使用した高速通信システム
JPS6252345B2 (ja)
US7035956B2 (en) Transmission control circuit, reception control circuit, communications control circuit, and communications control unit
US6131114A (en) System for interchanging data between data processor units having processors interconnected by a common bus
US5117489A (en) Data-driven processor having an internal tag-generating system for generating a distinct tagged information and assembling with un-tagged information of an input/output data packet
JPH0217821B2 (ja)
US6473821B1 (en) Multiple processor interface, synchronization, and arbitration scheme using time multiplexed shared memory for real time systems
US5848297A (en) Control apparatus for maintaining order and accomplishing priority promotion in a computer interconnect
US5442631A (en) Communication control device
US4053947A (en) Method and apparatus for executing sequential data processing instructions in function units of a computer
JP2013196509A (ja) 情報処理装置及びその制御方法
RU175049U9 (ru) УСТРОЙСТВО КОММУНИКАЦИОННЫХ ИНТЕРФЕЙСОВ SpaceWire
JPS5852264B2 (ja) マルチユニツト・システム
JP3031591B2 (ja) アクセス調停方式
JP2000112912A (ja) 分散メモリ型並列計算機におけるリモートメモリに対するテストアンドコピーの処理方式
JPH064401A (ja) メモリアクセス回路
KR100323910B1 (ko) 데이터인터페이스 및 이를 사용한 고속통신시스템
JPS598845B2 (ja) チヤンネル制御方式
KR940003300B1 (ko) 파이프라인 버스 프로토콜을 사용하는 시스템의 메모리큐
SU934465A1 (ru) Процессор ввода-вывода
JP2001175618A (ja) 並列計算機システム