JP2594091B2 - データ駆動型データ処理装置 - Google Patents

データ駆動型データ処理装置

Info

Publication number
JP2594091B2
JP2594091B2 JP3776188A JP3776188A JP2594091B2 JP 2594091 B2 JP2594091 B2 JP 2594091B2 JP 3776188 A JP3776188 A JP 3776188A JP 3776188 A JP3776188 A JP 3776188A JP 2594091 B2 JP2594091 B2 JP 2594091B2
Authority
JP
Japan
Prior art keywords
data
packet
sequence
output
information
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
JP3776188A
Other languages
English (en)
Other versions
JPH01211124A (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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP3776188A priority Critical patent/JP2594091B2/ja
Publication of JPH01211124A publication Critical patent/JPH01211124A/ja
Application granted granted Critical
Publication of JP2594091B2 publication Critical patent/JP2594091B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データ駆動型のデータ処理装置に関し、更
に詳述すれば、配列データ等のデータ集合をより効率的
に処理することを可能としたデータ処理装置に関する。
〔従来の技術〕
一般にデータ駆動型データ処理装置は、データの流れ
をアークにて示し、命令をアーク同士が接続されたノー
ドにて示すデータフローグラフをプログラムとして実行
する所謂非ノイマン型コンピュータである。
このようなデータ駆動型データ処理装置では、処理対
象のデータと、宛先情報(アークの接続先を示す)とを
含むデータパケットが種々の処理要素、具体的にはデー
タ処理回路間を転送される間に、データフローグラフに
従った宛先情報の付け替え、データの複製あるいは命令
(四則演算等)の実行等が行われる。
宛先情報は、データに対して実行されるべき命令の記
憶番地に対応しており、宛先情報の付け替えにより種々
の命令を同一のデータに施すことが可能である。即ち、
宛先情報により指示される宛先がデータフローグラフの
上の命令ノードを意味し、宛先情報の付け替えがアーク
の接続を意味する。
各処理要素は、データが到着すると直ちにそのデータ
に所定の処理を施すように構成されており、データが各
処理要素にどのようなタイミングで到着するかは予め定
められているわけではない。従って、二項演算のように
二つのデータがペアとして揃うことにより初めて実行可
能になる演算処理では、二つのデータの到着を待合わせ
て検出するペアリング機構が必要になる。
このような機構、所謂発火機構は、たとえば宛先情報
を識別子として待ち合わせを行うデータフロー型プロセ
ッサμPD7281(日本電気株式会社)が1984年4月9日発
行の「日経エレクトロニクス」の第196頁に開示されて
いる。
〔発明が解決しようとする課題〕
ところで、上述のような従来のデータ駆動型データ処
理装置では、複数のデータにて一単位に構成される配列
データのようなデータ集合相互間での演算処理等では、
データ集合に含まれる全データに同一の命令が実行され
るにも拘わらず、各データは他のデータ集合中の対応す
るデータと待ち合わせを行う必要がある。
このような事情から、前述のような従来のデータ駆動
型データ処理装置が有している如き宛先情報のみによる
待合わせ機構(発火機構)では同一の宛先情報を有する
データの対が同時に複数存在する可能性が生じるため、
プログラム通りの処理が保証されない。
このため、たとえばデータ集合の各データにそれぞれ
異なった宛先情報を持たせるか、あるいは同一の宛先情
報を有する各データに対して1データの処理が終了した
後に次のデータを処理するような同期制御を行う必要が
生じる。
しかし前者の場合には、データ集合中の全データそれ
ぞれについての命令を記憶する必要が生じ、メモリの効
率が低下する。しかも、予めデータ数が判明しているデ
ータ集合に対する演算処理にのみ適用可能である。
一方後者では、本来非同期的に実行可能な各データの
演算処理に同期制御が必要になるため、データ駆動型デ
ータ処理装置の最大の特徴が無意味になる他、ハードウ
ェア的な規模が拡大し、データ処理効率も低下する。
更にいずれの場合も、データ集合の各データを個別に
処理する点に着目しており、データ集合全体を一元的に
管理するという視点に欠けており、効率的な処理という
には程遠い。
本発明はこのような従来のデータ駆動型データ処理装
置のデータ集合を取り扱う際の不具合の解消を目的とす
るものである。
〔課題を解決するための手段〕
本発明のデータ駆動型データ処理装置では、同一の宛
先情報を有する複数のデータにて構成されるデータ集合
の各要素のデータに順序番号を、また最後のデータに末
尾記号を付加する順序情報設定手段を備えている。
本発明は、演算処理対象のデータと、該データの宛先
を示す宛先情報とを含むデータパケットの内から発火制
御手段により前記宛先情報が一致する二つのデータパケ
ットを一対の処理対象として検出し、両データパケット
に含まれるデータに所定の処理を施すデータ駆動型デー
タ処理装置において、同一の宛先情報を有する複数のデ
ータにて構成されるデータ集合内の各データのパケット
に対して、各データの順序を示す順序番号及び同一デー
タ集合内での末尾の順序であることを示す末尾記号にて
構成される順序情報を生成して付加する順序情報設定手
段を備えたことを特徴とする。
〔作用〕
本発明のデータ駆動型データ処理装置では、同一宛先
情報を有するデータ集合の各データに順序情報を付加す
る手段を備えているので、複数のデータにて構成される
データ集合の各データを、同一の宛先情報にて、且つそ
れぞれに付加された順序情報を識別子として取り扱うこ
とが可能であり、また最後のデータに末尾記号が付与さ
れているので任意のデータ数のデータ集合を取り扱うこ
とが出来、更に各データの順序情報からそのデータのデ
ータ集合中での位置関係を知ることも出来る。
〔発明の実施例〕
第1図に本発明のデータ駆動型データ処理装置を用い
たシステム例としてデータフロー計算機システムの概要
を示す。
同図に示すシステムは、システム内部のデータの基本
単位であるデータパケット(本来のデータ値の他に制御
情報を組み合わせて構成されている)を転送するリング
状転送路であるリングネットワークRNに、それ自身がリ
ングネットワークRNの一部をなすと共にデータパケット
の入出力を制御するネットワークインタフェースNIF,NI
F,NIF1…NIFnを介して、ホストインタフェースHI、デー
タ記憶装置DM、データフロー計算装置DFC1〜DFCnが結合
されており、ホストインタフェースHIには更にホスト計
算機HCが接続されている。
同システムのデータフロー計算装置DFC1〜DFCnとネッ
トワークインタフェースNIF1〜NIFnそれぞれとを組合わ
せたものは、内部がリング状をなすデータ駆動型データ
処理装置として動作し、データフローグラフによって記
述されたデータ駆動型(データフロー型)のプログラム
を実行する。
具体的には、まずホスト計算機HCから、ホストインタ
フェースHI、ネットワークインタフェースNIF、リング
ネットワークRN、ネットワークインタフェースNIFi(i
は1〜n)を介してデータフロー計算装置DFCiにプログ
ラムがダウンロードされ、次に同じ経路で、プログラム
の実行を開始させるデータパケットである開始パケット
がデータフロー計算装置DFCiに入力されるとプログラム
の実行が開始され、プログラムの実行が終了すると、実
行の終了を示すデータパケットである終了パケットが、
データフロー計算機DFCiからネットワークインタフェー
スNIFi,リングネットワークRN,ネットワークインタフェ
ースNIF,ホストインタフェースHIを介してホスト計算機
HCに出力される。
第2図に本発明のデータ駆動型データ処理装置の概略
構成を示す。同図の装置においてQはキューメモリ、PM
はプログラム記憶手段、NIFはネットワークインタフェ
ース、FCは発火制御手段、EXEは命令実行手段であり、
各処理要素がリング状に結合されている。なお、1〜5
と30、40、50はデータ線である。
第2図を用いて本データ処理装置の動作の概略を説明
する。ホスト計算機HCからロードされたプログラム(デ
ータフローグラフ)は、プログラム記憶手段PMに格納さ
れる。開始パケットが各要素、即ちネットワークインタ
フェースNIF、発火制御手段FC、命令実行手段EXE、キュ
ーメモリQを介してプログラム記憶手段PMに到着すると
プログラムの実行が開始される。プログラムの実行中に
プログラム記憶手段PMに入力されるパケットの制御情報
はこのデータフローグラフに従って付け替えられたり、
あるいは同じデータフローグラフに従ってデータパケッ
トの複製処理が行なわれたりする。プログラム記憶手段
PMから出力されたパケットはネットワークインタフェー
スNIFにおいて外部に出力されるか発火制御手段FCに向
けて転送されるかの選択がなされる。
発火制御手段FCでは主に、二項演算命令などの左オペ
ランドと右オペランドとをデータ対として検出して、二
つのオペランドを対にして出力する発火制御処理を行
う。左オペランドは出力ライン5に、右オペランドは出
力ライン50に出力される。
命令実行手段EXEでは、到着したパケットの制御情報
によって指定される命令を到着したパケットに対して施
して出力する。これらの両要素、発火制御手段FC、命令
実行手段EXEにおいてはパケットが滞ることはないが、
ネットワークインタフェースNIFにおいて外部からパケ
ットが入力される時、出力しようとしても出力できない
時、及びプログラム記憶手段PMにおいてデータの複製処
理が行なわれる時はビジー状態となる。これらの場合に
は後続するデータパケットは停止してビジー状態の解除
を待たなければならない。キューメモリQはこのような
時にデータを一時格納して待たせるためのバッファリン
グ機能を有している。
各処理要素において上記のような処理が施されながら
データパケットが周回することによってプログラムが実
行される。また、データ処理装置内部に複数のデータパ
ケットが存在する時には、各々のデータパケットに対し
て、異なる処理要素において同時に異なる処理を施すパ
イプライン型の処理を行なうことができる。従って、本
データ処理装置は、リング状のパイプライン型データ処
理装置であると言える。
第3図及び第4図に本発明のデータ駆動型データ処理
装置の更に詳細な構成を示し、第5図〜第8図に本デー
タ処理装置に適用するデータパケットの構成を示す。
第5図はデータをデータ処理装置内部の所定のメモリ
にダウンロードするためのロードパケット、第6図はデ
ータ処理装置内部の所定のメモリからデータをダンプす
る(読み出す)ためのダンプパケット、第7図及び第8
図はプログラムの実行中に処理される実行パケットであ
り、発火制御手段FCにおいて対となる左右のオペランド
が検出されて、二つのオペランドが組になって出力され
たときに第7図の構成となる。
以下これ等の図に基づきデータパケットについて説明
する。
総てのデータパケットは2語構成であり、1語目と2
語目とはヘッダ識別子Hによって識別される。各データ
パケットはデータ値とその他の情報(制御情報)とから
なる。制御情報のうちf1f0はパケット識別子であり第10
図のように定義され、ロード,ダンプ及び実行の各パケ
ットを識別している。
モジュール番号は、ホストインタフェースHI、データ
記憶装置DM、各データフロー計算装置DFC1,DFC2…DFCn
等の各処理モジュールを識別する番号であり、各モジュ
ールは自分の番号を持っており自分のモジュール番号を
持ったデータパケットのみを入力するようになってい
る。
対象メモリ番号はロードあるいはダンプの際に対象と
なるメモリを指定する番号であり、第11図のように定義
されている。
セレクションコードは、データ処理装置内部でデータ
パケットが処理される経路を規定したものであり各コー
ド値は第12図に示すような意味を持つ。即ち、両図の図
表に従えば、例えば開始パケットは、〔S2S1S0〕=“00
0"というプログラム記憶手段PM宛のセレクションコード
を保持しており、これが該手段PMにおいて〔S2S1S0〕=
“101"に付け替えられると、〔S2S1S0〕=“101"を保持
したパケットは発火制御手段FCにおいて処理され、この
発火制御手段FCは処理を終えるとセレクションコードを
〔S2S1S0〕=“001"に変更したパケットを出力する。こ
のパケットは次に命令実行手段EXEにおいて処理され、
この命令実行手段EXEは処理を終えるとセレクションコ
ードを〔S2S1S0〕=“000"に変更したパケットを出力す
ることにより、パケットは再びプログラム記憶手段PMに
おいて処理される。
このように、各処理要素は第12図に示す所定のセレク
ションコードを保持したパケットのみを処理しそれ以外
のパケットは何も行なわずに通過させるとともに、処理
を施したパケットに対して各処理要素がそのセクション
コードを次の処理要素に向けて更新することによって、
プログラムの実行処理が進行する。
この他に、ノード番号はデータフローグラフの各ノー
ドを識別する番号、環境番号は例えば本データ処理装置
の複数の使用者が本データ処理装置にロードされた同一
のプログラムを同時に実行する際に、各使用者を識別す
るための番号である。
また、順序番号は相互に順序関係を持ち同一のノード
番号と環境番号とを保持した複数のデータパケットに対
して同一のプログラムで記述された処理を行う時に各デ
ータパケットの順序関係を識別する番号であり、Eは順
序関係を持つ複数のデータパケットのうちの末尾のデー
タパケットであるときのみ“1"となる末尾フラグであ
る。ノード番号、環境番号、順序番号を合わせたものを
タグと呼び、このタグが一致した二つのパケットが二項
演算の左右オペランドとして検出される。
L/Rは左右オペランドを区別するフラグであり、左オ
ペランドの時に“1"となる。
CY、OVは演算の結果格納される演算フラグであり、CY
はキャリー(桁上げ)フラグ、OVはオーバーフロー(桁
あふれ)フラグである。
TFは条件判定命令の実行によって格納される真偽フラ
グであり、判定結果が真の時“1"、偽の時“0"となる。
次に、第3図、第4図に基づき、本データ処理装置の
詳細な動作を説明する。
第3図、第4図に分図表示したデータ駆動型データ処
理装置は、複数のレジスタが種々の回路を介してリング
状に接続された構成になっており、各レジスタに供給さ
れる共通のクロック信号(図では省略)に同期して、各
レジスタに後段のデータがラッチ(保持)されると同時
に、それまで保持されていたデータ、あるいはそれまで
保持していたデータに所定の処理が施された結果のデー
タが前段のレジスタにラッチされることによりデータを
順次伝送する仕組みになっている。即ちレジスタリング
上の各レジスタに保持されている複数のデータがクロッ
ク信号に同期して一斉に前段に向けてシフトされ、各段
において次のクロック信号までの時間に所定の処理を施
すことをくりかえすことによって循環パイプライン型の
処理が行なわれる。以下に、各処理要素の動作を説明す
る。
(i) キューメモリQ データ線1にデータパケットの1語目が到着するとヘ
ッダ識別信号101がハイレベルに転じ、これに応じてFIF
O制御回路102は書き込み信号105を出力して到着したデ
ータパケットを1語目、2語目の順にFIFOメモリ103に
書き込む。FIFO制御回路102は、FIFOメモリ103に滞在す
るデータパケット数を常時記憶する機能を持つ。FIFOメ
モリ103に滞在するデータパケット数がゼロでなく且つ
待ち要求信号204によって待ちが要求されていなけれ
ば、読み出し信号104が出力されてFIFOメモリ103に書き
込まれているデータパケットのうち一番早く書き込まれ
たデータパケットが1語目,2語目の順に読み出されてデ
ータ線2に出力される。FIFOメモリ103に滞在するデー
タパケット数がゼロの時および待ち要求信号204によっ
て待ちが要求されている時は、読み出し信号104が禁止
されてFIFOメモリ103からの読み出しが禁止され、FIFO
メモリ103への書き込みのみが許可される。
(ii) プログラム記憶手段PM データ線2にデータパケットが到着するとプログラム
メモリ制御回路201に制御情報202が入力され、アドレス
レジスタ210にはロード(ダンプ)パケットの時はアド
レスが、実行パケットの時はノード番号がアドレス情報
線211を経てラッチされると共にレジスタR1にパケット
の1語目がラッチされる。アドレスレジスタ210の出力
はプログラムメモリ203へのアドレスとなる。制御情報
がプログラムメモリ203へのロードを示していれば、次
のタイミングでパケットの2語目のデータ値がレジスタ
R1から出力され、書き込み信号208によってデータ線212
を介してプログラムメモリ203に書き込まれる。制御情
報がプログラムメモリ203からのダンプを示していれ
ば、読み出し信号207によってデータ線212を介してプロ
グラムメモリ203からデータ値が読み出され、パケット
の2語目に格納される。
ロードパケットによってプログラムメモリ203にはデ
ータフローグラフ(プログラム)の接続構造とプログラ
ムの実行中に使用される定数データ値が第9図に示すよ
うな形式でロードされる。
第9図におけるモジュール番号、セレクションコー
ド、左右フラグ、ノード番号は、プログラム記憶手段PM
に到着したパケットに新しく付加するための制御情報で
ある。この他に定数データ値が格納されていることを示
す定数フラグ、データパケットの複数処理を行うことを
示すコピーフラグが記憶されている。
再び第3図に戻り、プログラム記憶手段PMに到着した
パケットがこのプログラム記憶手段PMで処理される実行
パケット(セレクションコード〔S2S1S0〕=“000")で
あればプログラムメモリ制御回路201はアドレスレジス
タ210に保持されたノード番号をアドレスとしてプログ
ラムメモリ203の内容を読み出し、パケットの1語目の
内のモジュール番号、セレクションコード、左右フラ
グ、ノード番号のフィールドを第9図に示すような新し
い制御情報に置換して、パケットの2語目のデータ値は
そのままで出力する。
この時、プログラムメモリ203から読み出されてプロ
グラムメモリ制御回路201に入力されているフラグ情報2
06(定数フラグ、コピーフラグ)の内のコピーフラグが
“0"であれば到着したパケットに対する処理を終了す
る。もしコピーフラグが“1"、定数フラグが“0"であれ
ば、待ち要求信号204によりキューメモリQに待ちを要
求し、アドレスレジスタ210をインクリメントしてプロ
グラムメモリ203を読み出し、制御情報をプログラムメ
モリ203から読み出した新しい制御情報に置換してパケ
ットの1語目を出力すると共にプログラムメモリ制御回
路201に新たなフラグ情報を入力し、新たに読み出した
定数フラグが“0"であれば出力するパケットの2語目の
データ値とし、入力パケットが保持していたデータ値を
そのまま出力し、新たに読み出した定数フラグが“1"で
あればアドレスレジスタ210を更にインクリメントして
プログラムメモリ203に格納されている定数データ値を
読み出し、出力するパケットの2語目のデータ値とし
て、この定数データ値を出力する。
このような動作を、キューメモリQを待ち状態にした
まま、新たに読み出したコピーフラグが“0"になるまで
繰り返す。これがパケットの複製処理である。
但し複製処理中に待ち要求信号302によって待ちが要
求されれば、アドレスレジスタ210のインクリメント及
びレジスタR1へのクロック信号の供給をレジスタ制御線
209によって停止させることによって複製処理を中断す
る。
また、複製処理中以外の時に待ち要求信号302によっ
て待ちが要求されれば、レジスタR1へのクロック信号を
停止させてプログラム記憶手段PMからのデータの出力を
停止させるとともに、待ち要求信号204をキューメモリ
Qに向けて出力する。このような待ち要求信号の連鎖に
より本データ処理装置においては、キューメモリQを1
ケ所に集中して保持する構成が実現されている。
(iii) ネットワークインタフェースNIF ネットワークインタフェースNIFにおいては、ロード
・ダンプ制御回路307においてロードパケットは消去さ
れ(ヘッド識別子が“0"にクリアされる)、ダンプパケ
ットのモジュール番号はホスト計算機HC行きの番号(例
えば〔m2m1m0〕=“000")に更新される。このインタフ
ェースNIFに到着するパケットには次の4種類がある。
即ち、 (a) データ線3からデータ線4へ転送されるパケッ
ト(内部通過パケット) (b) データ線3からデータ線40へ転送されるパケッ
ト(出力パケット) (c) データ線30からデータ4へ転送されるパケット
(入力パケット) (d) データ線30からデータ線40へ転送されるパケッ
ト(外側通過パケット) である。これらの内、内部通過パケット及び入力パケッ
トは、本データ処理装置の番号として設定されたモジュ
ール番号を保持しており、出力パケット及び外部通過パ
ケットはそれ以外のモジュール番号を保持している。
入出力制御回路301は、データ線3及び30よりそれぞ
れ制御情報303及び304を入力する。この入出力制御回路
301の制御により、 データ線3,30にそれぞれ内部通過パケット、外部通
過パケットが同時に到着した時は、内部通過パケットは
レジスタR2,R3を経て、また外部通過パケットはレジス
タR4,R5を経てそれぞれ停止することなく通過する。
データ線3,30にそれぞれ出力パケット、入力パケッ
ト、入力パケットが同時に到着した時は、出力パケット
はレジスタR2,R6を経て停止することなく出力され、入
力パケットはレジスタR4,R7を経て停止することなく入
力される。
データ線3,30にそれぞれ内部通過パケット、入力パ
ケットが同時に到着した時は、レジスタR2,R3,R6へのク
ロック信号の供給とレジスタR3のデータ出力を禁止する
禁止信号が制御信号線305に出力されると共に、待ち要
求信号302によって持ちが要求され、入力パケットはレ
ジスタR4,R7を経て停止することなく入力され、しかる
後に禁止信号と待ち要求信号が解除されて内部通過パケ
ットが通過する。
データ線3,30にそれぞれ出力パケット、外部通過パ
ケットが同時に到着した時は、レジスタR2,R3,R6へのク
ロック信号の供給とレジスタR6のデータ出力を禁止する
禁止信号が制御信号線305に出力されるとともに、待ち
要求信号302によって待ちが要求され、外部通過パケッ
トはレジスタR4,R5を経て停止することなく通過し、し
かる後に禁止信号と待ち要求信号が解除されて出力パケ
ットが出力される。
データ線3,30にパケットが同時に到着しなかったパ
ケットは停止することなく所定の経路で転送される。
(iv) 発火制御手段FC ロード(ダンプ)パケットが到着すると、アドレスタ
グレジスタ402にアドレス情報線401を経てアドレスがラ
ッチされ、アドレス線419に出力される。
対生成制御回路411にはパケットの制御情報409が入力
され、制御信号群410が出力され、データ線417,408の内
のいずれかを介して、データメモリ405、タグメモリ40
6、ソーティングメモリ407の内のいずれかにロード(い
ずれかがダンプ)される。
タグメモリ406の所定のフィールドは、待ち合わせデ
ータが存在する時に“1"となる存在フラグを記憶するフ
ラグメモリとして機能する。この存在フラグは、初期状
態ではロードフラグによりタグメモリ406の全アドレス
にわたって“0"にクリアされている。また、ソーティン
グメモリ407の内容も全アドレスにわたってクリアされ
ている。
〔S2S1S0〕=“101"の発火制御の実行パケットが到着
すると、パケットのタグのうちの一部のフィールドがア
ドレスタグレジスタ(ATR)402にラッチされてアドレス
線419に出力される。これをアドレスとして存在フラグ4
12が読み出される。
一方、パケットのタグの内の順序番号を含む残りのフ
ィールドはデータタグレジスタ(DTR)403にラッチさ
れ、順序番号を含むデータタグ418が出力されると共に
データ線417にはパケットの2語目のデータ値が出力さ
れる。ここで読出された存在フラグが“0"であれば、デ
ータ値をデータメモリ405に、またデータタグをタグメ
モリ406に書き込むと共にタグメモリ406の存在フラグを
“1"に更新し、パケット更新回路421においてパケット
を消去する。これによって対となる相手のパケットの到
着を持ち合わせることになる。
読み出した存在フラグが“1"であれば、既に対となる
可能性のあるのパケットのデータ値とタグデータが記憶
されていることを示しており、この時、到着したパケッ
トの順序番号を含むタグデータ418とタグメモリ406から
読み出したタグデータが比較器414によって比較され
る。この結果、一致信号413が出力されると左右オペラ
ンドの対が検出されたことになり、到着したパケットの
データ値がデータ線404を介してレジスタR9、R10に、デ
ータメモリ405から読み出したデータ値がデータ線416を
介してレジスタR11,R12にそれぞれラッチされる。
ここで、到着したパケットの左右フラグL/Rビットが
“1"であればレジスタR9,R12の出力が有効となり、到着
したパケットのL/Rビットが“0"であればレジスタR10,R
11の出力が有効となる。即ち、常にデータ線5には左オ
ペランドのデータ値が、データ線50には右オペランドの
データ値がそれぞれ出力される。また、この時パケット
更新回路421においてセレクションコードが〔S2S1S0
=“001"に更新される。
〔S2S1S0〕=“111"であるソーティングの実行パケッ
トが到着した時は、比較器414においてソーティングメ
モリ407から読み出したデータと到着したパケットのタ
グ内の順序番号が比較される。両者が一致しなかった場
合は到着したパケットをそのままデータ線5へ通過させ
られる。両者が一致した場合は到着したパケットのセレ
クションコードが〔S2S1S0〕=“001"に更新されて出力
されると共に、更に到着したパケットの末尾フラグが
“0"の時は、ソーティング制御回路415により、それま
での値に“1"を加えたものを順次番号線420を介してソ
ーティングメモリ407に書き込み、末尾フラグが“1"の
時は“0"を書き込む。
(v) 命令実行手段EXE 命令コードメモリ510にロード(ダンプ)パケットが
到着すると、アドレスレジスタ534にアドレス値がラッ
チされ、データ線512を介して命令コードメモリ510にデ
ータ値がロード(命令コードメモリ510から読み出した
データ値がダンプ)される。
ローカルメモリ505にロード(ダンプ)パケットが到
着するとマルチプレクサ53においてアドレス情報線502
が選択されてパケットの1語目に保持されているアドレ
ス値がアドレス線504に出力され、データ線507を介して
ローカルメモリ505にパケットの2語目がロード(ロー
カルメモリ505から読み出したデータ値がダンプ)され
る。
命令コードメモリ510にはプログラムの実行前に、実
行するプログラム中の各ノード番号に対応した命令コー
ドがロードパケットによりロードされており、命令コー
ドメモリ510をノード番号によって参照すると対応する
命令コードが読み出されるようになっている。
命令実行手段EXEで処理されるセレクションコード〔S
2S1S0〕=“001"を保持した実行パケットには1オペラ
ンドの命令パケット(単項演算命令など)と2オペラン
ドの命令パケット(二項演算命令など)がある。実行パ
ケットが到着するとアドレスレジスタ534にはノード番
号がラッチされて命令コードメモリ510か対応する命令
コード513が読み出される。
命令コード513は、デコーダ511によってデコードさ
れ、命令の種類に応じた制御信号群514が出力される。
制御信号群514は、レジスタR14,R16,R18,R20,R22の順
に、到着したパケットの1語目と平行して転送され、各
処理要素における制御信号として使用される。
命令の種類としては、 (a) ローカルメモリ505からの読み出しまたはそれ
への書き込みを行なう命令、 (b) 単独または二項の演算命令、 (c) シフト命令、 (d) 条件判定命令、 (e) 制御情報更新命令、 (f) (a)〜(d)の内のいくつかを組み合わせた
複合命令、 がある。
制御信号群514は、上記の命令(a)〜(e)のそれ
ぞれに対応して制御信号群A〜制御信号群Eに分かれて
おり、それぞれの制御が独立に行われることによって、
(f)のような各種の複合命令の実行が可能となってい
る。
制御信号群Aによってローカルメモリの読み出しまた
は書き込みが指定されていれば、マルチブレクサ503に
おいてアドレス情報線501が選択されパケットの2語目
の左オペランドデータ値がローカルメモリ505のアドレ
スとなる。更に読み出しの場合は、バッファ509の出力
を無効にしてローカルメモリ505からデータを読み出し
てデータ線507を介して到着したパケットの二語目の左
データ値のフィールドに格納する。書き込みの場合は、
データ線508を介して到着したパケットの左オペランド
データ値をローカルメモリ505に書き込む。
制御信号群Bによって演算処理が指定されていれば、
制御信号521,522の制御により、算術論理ユニット(ALU
1)515,算術論理ユニット(ALU2)516において、オペラ
ンドデータの下位データ、上位データの順に指定された
算術/論理演算が行なわれる。この時、データ線526を
介して左オペランドデータ値の内の下位データ値が、デ
ータ線527を介して右オペランドデータ値の内の下位デ
ータ値がそれぞれ入力され、データ線528に演算結果デ
ータ値の内の下位データ値が出力される。
また、データ線529を介して左オペランドデータ値の
内の上位データ値が、データ線530を介して右オペラン
ドデータ値の内の上位データ値がそれぞれ入力され、デ
ータ線531に演算結果データ値の内の上位データ値が出
力される。
制御信号群Cによってシフトが指定されていれば、制
御信号523の制御によりシフタ517において所定のデータ
シフト処理が実行される、またゼロ判定部518において
は、常時左オペランドデータ値がゼロであるか否かの判
定が行なわれる。
制御信号群Dによって条件判定処理が指定されていれ
ば制御信号524の制御により条件判定部519において、指
定された条件判定が行なわれ、その結果(真または偽)
が出力される。
制御信号群Eによって制御処理が指定されていれば、
制御信号525の制御により制御処理部520において、指定
された制御処理(ノード番号の更新、順序番号の更新、
パケットの消去など)が行なわれる。
以下、第13図〜第17図を参照して、条件判定処理部51
9により実行される条件判定処理及び制御処理部520によ
り実行される制御処理について更に詳細に説明する。
第13図は条件判定処理部519及び制御処理部520の詳細
な構成を示すブロック図である。
図中の真偽フラグ設定回路5191、順序番号読出し回路
5192はいずれも2系統の入力の内の一方を1ビットの制
御信号により選択的に出力するマルチプレクサにて構成
されている。また末尾記号設定回路5201は、2入力のOR
ゲートにより構成されている。
条件設定回路5193は第14図に示す如く、8入力マルチ
プレクサにて構成されている。この条件判定回路5193に
は、2入力命令の際の右オペランドパケットの真偽フラ
グ、演算の結果生じる各種の演算フラグ(ゼロフラグ,
符号ビット,キャリーフラグ,オーバフローフラグ)及
び入力パケットの末尾記号等がそれぞれ入力端子I0,I1
5,I6に与えられている。
第4図に示されているデコーダ511において命令コー
ドに応じて出力された制御信号群514の内、条件判定処
理及び制御処理に関する制御信号群D及びEは、データ
パケットの1語目がレジスタR21に、2語目がレジスタR
19にそれぞれ保持されている間に、各処理要素に入力さ
れる。そして、この制御信号群D及びEに従ってそれぞ
れの処理要素、即ち条件処理部519及び制御処理部520の
各構成要素において命令コードに対応する所定の処理が
実行される。
条件判定回路5193においては、第15図に示す如く、制
御信号D1を構成する4ビット(C0〜C3)の値に応じた条
件処理がなされ、判定結果として真(“1")または偽
(“0")が出力される。
ノード番号更新回路5202は第16図に示す如く加算器に
て構成されている。このノード番号更新回路5202には、
制御信号E3が“0"であり且つ上述の条件判定回路5193に
よる判定結果が真の値(“1")を示している場合にのみ
キャリー入力Coに“1"が入力される。これにより、パケ
ットのノード番号が1だけインクリメントされた値とな
って出力される。
また条件判定回路5193の判定結果の信号は制御信号D2
として真偽フラグ設定回路5191にも与えられており、こ
の制御信号D2が“0"の場合は真偽フラグ設定回路5191に
おいて真偽フラグに条件判定結果(真または偽)が設定
されて出力される。これらの処理要素における処理の組
合わせにより、たとえば入力パケットがデータ集合中の
末尾データパケットである場合にのみ、ノード番号の更
新出力等の条件分岐命令、あるいは入力パケットがデー
タ集合中の末尾データである場合にのみ、真偽フラグに
真の値(“1")を設定して出力する条件判定命令等が実
行される。
次に第17図に示す如く、順序番号更新回路5203は加算
器にて、順序情報初期化回路5204は複数のANDゲートに
て構成されている。順序番号更新回路5203は制御信号E1
の制御により順序番号を1だけインクリメントする順序
番号更新命令を実行する。順序情報初期化回路5204は制
御信号E2の制御により順序番号及び末尾番号を“0"にク
リアする順序情報初期化命令を実行する。また、末尾記
号設定回路5201においては、制御信号E4の制御により、
末尾記号“1"を設定する末尾記号設定命令が実行され
る。
これらの種々の命令を組合わせたデータ駆動形のプロ
グラムを実行することにより、0から順に順序番号を付
され、末尾データにのみ未尾記号を保持する順序情報を
有するデータのデータ集合を生成することが可能にな
る。このようなデータ集合の生成は、プログラム実行に
よって動的に実行可能であるため、各要素のデータを生
成する処理の間に他の実行命令を適当に挿入すれば各要
素相互の生成間隔は自由に調整可能である。このような
データ集合は、たとえば第4図に示す如きローカルメモ
リ505のようなデータ記憶回路から読出されて生成され
る。
また、第13図における順序番号読出し回路5192では、
制御信号E5の制御により、入力パケットが保持している
順序番号をパケットの2語目に読出す順序番号読出し命
令が実行される。このような命令の実行により、データ
集合の各要素のデータをその順序番号に従って、たとえ
ば第4図に示すローカルメモリ505の如きデータ記憶回
路に書込むことが可能になる。
以上のように、命令実行部EXEにおいて所定の処理が
実行されたパケットは、パケット更新回路532において
セレクションコードが〔S2S1S0〕=“000"(行先はプロ
グラム記憶部PM)に更新されて出力される。
〔発明の効果〕
以上に詳述した如く、本発明のデータ駆動型データ処
理装置によれば、データ集合全体に同一の宛先情報を付
したままで、その各要素のデータを順序情報で管理して
処理する手段を備えているので、データ集合の演算処理
のために必要とされる命令記憶容量が節減され、且つ各
要素のデータの演算を非同期で処理可能であるため、配
列データ相互の演算のようなデータ集合処理の効率が向
上する。
【図面の簡単な説明】 第1図は本発明のデータ駆動型データ処理装置を組込ん
だデータフロー計算器のシステム構成を示すブロック
図、第2図は本発明のデータ駆動型データ処理装置の概
略の構成を示すブロック図、第3図及び第4図は本発明
のデータ駆動型データ処理装置の詳細な構成を示すブロ
ック図、第5図,第6図,第7図及び第8図は本発明の
データ駆動型データ処理装置に使用されるデータパケッ
トの構成を示す模式図、第9図は本発明のデータ駆動型
データ処理装置のプログラム記憶手段の記憶形式を示す
模式図、第10図,第11図及び第12図はコード対照を示す
模式図、第13図は条件判定処理部及び制御処理部の詳細
な構成を示すブロック図、第14図は条件判定回路の回路
図、第15図は条件判定回路のコード対照を示す模式図、
第16図はノード番号更新回路の構成を示す回路図、第17
図は順序更新番号回路及び順序情報初期化回路の構成を
示す回路図である。 PM……プログラム記憶手段、NIF……ネットワークイン
ターフェイス、FC……発火制御手段、EXE……命令実行
手段、Q……キューメモリ 505……ローカルメモリ、520……順序情報設定手段、52
01……末尾記号設定回路、5202……ノード番号更新回
路、5203……順序番号更新回路、5204……順序情報初期
化回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 作田 良夫 大阪府守口市京阪本通2丁目18番地 三 洋電機株式会社内 (56)参考文献 特開 昭60−73746(JP,A)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】演算処理対象のデータと、該データの宛先
    を示す宛先情報とを含むデータパケットの内から発火制
    御手段により前記宛先情報が一致する二つのデータパケ
    ットを一対の処理対象として検出し、両データパケット
    に含まれるデータに所定の処理を施すデータ駆動型デー
    タ処理装置において、 同一の宛先情報を有する複数のデータにて構成されるデ
    ータ集合内の各データのパケットに対して、各データの
    順序を示す順序番号及び同一データ集合内での末尾の順
    序であることを示す末尾記号にて構成される順序情報を
    生成して付加する順序情報設定手段を備えたことを特徴
    とするデータ駆動型データ処理装置。
  2. 【請求項2】前記順序情報設定手段は、データパケット
    に含まれる順序情報を初期化する順序情報初期化手段
    と、順序番号を1ずつインクリメントしつつデータパケ
    ットに順次設定する順序番号更新手段と、同一データ集
    合の最後のデータパケットを検出して末尾記号を設定す
    る末尾記号設定手段とを備えた請求項1記載のデータ駆
    動型データ処理装置。
  3. 【請求項3】前記末尾記号を検出する手段を備え、該手
    段が末尾記号を検出することにより、任意数のデータに
    て構成されるデータ集合を処理すべくなした請求項1ま
    たは2記載のデータ駆動型データ処理装置。
  4. 【請求項4】各データパケットに含まれる順序情報を読
    出す手段を備え、各データを該手段により読出された順
    序情報に対応するアドレスに格納するデータ記憶手段を
    備えた請求項1記載のデータ駆動型データ処理装置。
JP3776188A 1988-02-19 1988-02-19 データ駆動型データ処理装置 Expired - Fee Related JP2594091B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3776188A JP2594091B2 (ja) 1988-02-19 1988-02-19 データ駆動型データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3776188A JP2594091B2 (ja) 1988-02-19 1988-02-19 データ駆動型データ処理装置

Publications (2)

Publication Number Publication Date
JPH01211124A JPH01211124A (ja) 1989-08-24
JP2594091B2 true JP2594091B2 (ja) 1997-03-26

Family

ID=12506454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3776188A Expired - Fee Related JP2594091B2 (ja) 1988-02-19 1988-02-19 データ駆動型データ処理装置

Country Status (1)

Country Link
JP (1) JP2594091B2 (ja)

Also Published As

Publication number Publication date
JPH01211124A (ja) 1989-08-24

Similar Documents

Publication Publication Date Title
CA1323938C (en) Control of multiple function units with parallel operation in a microcoded execution unit
US5954815A (en) Invalidating instructions in fetched instruction blocks upon predicted two-step branch operations with second operation relative target address
US4896259A (en) Apparatus for storing modifying data prior to selectively storing data to be modified into a register
US5185868A (en) Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
WO2001016715A9 (en) Branch instructions in a multithreaded parallel processing system
JPH0786845B2 (ja) データ処理装置
US7082499B2 (en) External memory control device regularly reading ahead data from external memory for storage in cache memory, and data driven type information processing apparatus including the same
JPH0668736B2 (ja) 2個のシステムクロックサイクルを利用する書込み動作をもったキャッシュメモリユニットを供与する装置及び方法
EP0284364A2 (en) High speed computer system
JP3146077B2 (ja) プロセッサ
JP2594093B2 (ja) データ駆動型データ処理装置
JP2594091B2 (ja) データ駆動型データ処理装置
US11847455B2 (en) Clearing register data using a write enable signal
JP2594092B2 (ja) データ駆動型データ処理装置
JPH11316681A (ja) 命令バッファへのロ―ド方法、装置およびプロセッサ
JP3983455B2 (ja) データ駆動型情報処理装置の実行制御装置
KR19980079726A (ko) 프로세서에 저장 인스트럭션을 전송하는 시스템 및 방법
JP2630779B2 (ja) データ駆動型データ処理装置
EP0334131B1 (en) Data processor performing operation on data having length shorter than one-word length
JP2000163265A (ja) 命令発行回路
EP0177712B1 (en) Masked data fetch and modifying device
JPH0793152A (ja) マイクロプロセッサ制御装置
US7143247B1 (en) Method and apparatus for parallel execution pipeline data storage in a computer memory
JPH01211127A (ja) データ駆動型データ処理装置

Legal Events

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