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

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

Info

Publication number
JPH01211124A
JPH01211124A JP3776188A JP3776188A JPH01211124A JP H01211124 A JPH01211124 A JP H01211124A JP 3776188 A JP3776188 A JP 3776188A JP 3776188 A JP3776188 A JP 3776188A JP H01211124 A JPH01211124 A JP H01211124A
Authority
JP
Japan
Prior art keywords
data
packet
memory
processing
packets
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
JP3776188A
Other languages
English (en)
Other versions
JP2594091B2 (ja
Inventor
Yoichiro Nishikawa
洋一郎 西川
Hideji Hara
原 秀次
Hiroki Miura
三浦 宏喜
Yoshio Sakuta
作田 良夫
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)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データ駆動型のデータ処理装置に関し、更に
詳述すれば、配列データ等のデータ集合をより効率的に
処理することを可能としたデータ処理装置に関する。
〔従来の技術〕
一般にデータ駆動型データ処理装置は、データの流れを
アークにて示し、命令を、アーク同士が接続されたノー
ドにて示すデータフローグラフをプログラムとして実行
する所謂非ノイマン型コンピュータである。
このようなデータ駆動型データ処理装置では、処理対象
のデータと、宛先情報(アークの接続先を示す)とを含
むデータパケットが種々の処理要素、具体的にはデータ
処理回路間を転送される間に、テ゛−タフローグラフに
従った宛先情報の付は替え、データの複製あるいは命令
(四則演算等)の実行等が行われる。
宛先情報は、データに対して実行されるべき命令の記憶
番地に対応しており、宛先情報の付は替えにより種々の
命令を同一のデータに施すことが可能である。即ち、宛
先情報により指示される宛先がデータフローグラフの上
の命令ノードを意味し、宛先情報の付は替えがアークの
接続を意味する。
各処理要素は、データが到着すると直ちにそのデータに
所定の処理を施すように構成されており、データが各処
理要素にどのようなタイミングで到着するかは予め定め
られているわけではない。従って、二項演算のように二
つのデータがペアとして揃うことにより初めて実行可能
になる演算処理では、二つのデータの到着を待合わせて
検出するベアリング機構が必要になる。
このような機構、所謂発火機構は、たとえば宛先情報を
識別子として待ち合わせを行うデータフロー型プロセッ
サμP07281 (日本電気株式会社)が1984年
4月9日発行の[日経エレクトロニクス」の第196頁
に開示されている。
〔発明が解決しようとする課題〕
ところで、上述のような従来のデータ駆動型データ処理
装置では、複数のデータにて一単位に構成される配列デ
ータのようなデータ集合相互間での演算処理等では、デ
ータ集合に含まれる全データに同一の命令が実行される
にも拘わらず、各データは他のデータ集合中の対応する
データと待ち合わせを行う必要がある。
このような事情から、前述のような従来のデータ駆動型
データ処理装置が有している如き宛先情報のみによる待
合わせ機構(発火機構)では同一の宛先情報を有するデ
ータの対が同時に複数存在する可能性が生じるため、プ
ログラム通りの処理が保証されない。
このため、たとえばデータ集合の各データにそれぞれ異
なった宛先情報を持たせるか、あるいは同一の宛先情報
を有する各データに対してlデータの処理が終了した後
に次のデータを処理するような同期制御を行う必要が生
じる。
しかし前者の場合には、データ集合中の全データそれぞ
れについての命令を記憶する必要が生じ、メモリの効率
が低下する。しかも、予めデータ数が判明しているデー
タ集合に対する演算処理にのみ適用可能である。
一方後者では、本来非同期的に実行可能な各データの演
算処理に同期制御が必要になるため、データ駆動型デー
タ処理装置の最大の特徴が無意味になる他、ハードウェ
ア的な規模が拡大し、データ処理効率も低下する。
更にいずれの場合も、データ集合の各データを個別に処
理する点に着目しており、データ集合全体を一元的に管
理するという視点に欠けており、効率的な処理というに
は程遠い。
本発明はこのような従来のデータ駆動型データ処理装置
のデータ集合を取り扱う際の不具合の解消を目的とする
ものである。
〔課題を解決するための手段〕
本発明のデータ駆動型データ処理装置では、同一の宛先
情報を有する複数のデータにて構成されるデータ集合の
各要素のデータに順序番号を、また最後のデータに末尾
記号を付加する順序情報設定手段を備えている。
本発明は、演算処理対象のデータと、該データの宛先を
示す宛先情報とを含むデータパケットの内から発火制御
手段により前記宛先情報が一致する二つのデータパケッ
トを一対の処理対象として検出し、両データパケットに
含まれるデータに所定の処理を施すデータ駆動型データ
処理装置において、同一の宛先情報を有する複数のデー
タにて構成されるデータ集合内の各データのパケットに
対して、各データの順序を示す順序番号及び同一データ
集合内での末尾の順序であることを示す末尾記号にて構
成される順序情報を生成して付加する順序情報設定手段
を備えたことを特徴とする。
〔作用〕
本発明のデータ駆動型データ処理装置では、同一宛先情
報を有するデータ集合の各データに順序情報を付加する
手段を備えているので、複数のデータにて構成されるデ
ータ集合の各データを、同一の宛先情報にて、且つそれ
ぞれに付加された順序情報を識別子として取り扱うこと
が可能であり、また最後のデータに末尾記号が付与され
ているので任意のデータ数のデータ集合を取り扱うこと
が出来、更に各データの順序情報からそのデータのデー
タ集合中での位置関係を知ることも出来る。
〔発明の実施例〕
第1図に本発明のデータ駆動型データ処理装置を用いた
システム例としてデータフロー計算機システムの概要を
示す。
同図に示すシステムは、システム内部のデータの基本単
位であるデータパケット(本来のデータ値の他に制御情
報を組み合わせて構成されている)を転送するリング状
転送路であるリングネットワークRNに、それ自身がリ
ングネットワークRNの一部をなすと共にデータパケッ
トの入出力を制御するネットワークインタフェースNI
P、 NIF、 NIFI・・・NIFnを介して、ホ
ストインタフェース旧、データ記憶装置間、データフロ
ー計算値!DFCI〜DFCnが結合されており、ホス
トインタフェース旧には更にホスト計算機HCが接続さ
れている。
同システムのデータフロー計算装置0FCI〜DFCn
とネットワークインタフェースNIFI〜NIFnそれ
ぞれとを組合わせたものは、内部がリング状をなすデー
タ駆動型データ処理装置として動作し、データフローグ
ラフによって記述されたデータ駆動型(データフロー型
)のプログラムを実行する。
具体的には、まずホスト計算機ICから、ホストインタ
フェースHI、ネットワークインタフェースNIF 、
リングネットワークRN、ネットワークインタフェース
NIFi (iは1〜n)を介してデータフロー計算装
置DFCiにプログラムがダウンロードされ、次に同じ
経路で、プログラムの実行を開始させるデータパケット
である開始パケットがデータフロー計算装置DFCiに
入力されるとプログラムの実行が開始され、プログラム
の実行が終了すると、実行の終了を示すデータパケット
である終了パケットが、データフロー計算機DFCiか
らネットワークインタフェースNTFi、  リングネ
ットワークRN、 ネットワークインタフェースNIF
、ホストインタフェースH1を介してホスト計算機Hc
に出力される。
第2図に本発明のデータ駆動型データ処理装置の概略構
成を示す、同図の装置においてQはキューメモリ、PM
はプログラム記憶手段、NIFはネットワークインタフ
ェース、FCは発火制御手段、EXEは命令実行手段で
あり、各処理要素がリング状に結合されている。なお、
1〜5と30.40.50はデータ線である。
第2図を用いて本データ処理装置の動作の概略を説明す
る。ホスト計算機HCからロードされたプログラム(デ
ータフローグラフ)は、プログラム記憶手段部に格納さ
れる。開始パケットが各要素、即ちネットワークインタ
フェースNIF 、発火制御手段FC1命令実行手段E
XE 、キューメモリQを介してプログラム記憶手段部
に到着するとプログラムの実行が開始される。プログラ
ムの実行中にプログラム記憶手段PMに入力されるパケ
ットの制御情報はこのデータフローグラフに従って付は
替えられたり、あるいは同じデータフローグラフに従っ
てデータパケットの複製処理が行なわれたりする。プロ
グラム記憶手段P?Iから出力されたパケットはネット
ワークインタフェースNIFにおいて外部に出力される
か発火制御手段FCに向けて転送されるかの選択がなさ
れる。
発火制御手段FCでは主に、二項演算命令などの左オペ
ランドと右オペランドとをデータ対とじて検出して、二
つのオペランドを対にして出力する発火制御処理を行う
。左オペランドは出力ライン5に、右オペランドは出力
ライン50に出力される。
命令実行手段EXEでは、到着したパケットの制御情報
によって指定される命令を到着したパケットに対して施
して出力する。これらの両要素、発火制御手段FC1命
令実行手段EXEにおいてはパケットが滞ることはない
が、ネットワークインタフェースNIFにおいては外部
からパケットが入力される時、出力しようとしても出力
できない時、及びプログラム記憶手段PMにおいてデー
タの複製処理が行なわれる時はビジー状態となる。これ
らの場合には後続するデータパケットは停止してビジー
状態の解除を待たなければならない。キューメモリQは
このような時にデータを一時格納して待たせるためのバ
ンファリング機能を有している。
各処理要素において上記のような処理が施されながらデ
ータパケットが周回することによってプログラムが実行
される。また、データ処理装置内部に複数のデータパケ
ットが存在する時には、各々のデータパケットに対して
、異なる処理要素において同時に異なる処理を施すパイ
プライン型の処理を行なうことができる。従って、本デ
ータ処理装置は、リング状のパイプライン型データ処理
装置であると言える。
第3図及び第4図に本発明のデータ駆動型データ処理装
置の更に詳細な構成を示し、第5図〜第8図に本データ
処理装置に通用するデータパケットの構成を示す。
第5図はデータをデータ処理装置内部の所定のメモリに
ダウンロードするためのロードパケット、第6図はデー
タ処理装置内部の所定のメモリからデータをダンプする
(読み出す)ためのダンプパケット、第7図及び第8図
はプログラムの実行中に処理される実行パケットであり
、発火制御手段FCにおいて対となる左右のオペランド
が検出されて、二つのオペランドが組になって出力され
たときに第7図の構成となる。
以下これ等の図に基づきデータパケットについて説明す
る。
総てのデータパケットは2語構成であり、1語目と2語
目とはヘッダ識別子Hによって識別される。各データパ
ケットはデータ値とその他の情報(制御情報)とからな
る。制御情報のうちflfOはパケットta別子であり
第10図のように定義され、ロード、ダンプ及び実行の
各パケットを識別している。
モジュール番号は、ホストインタフェースHI。
データ記憶装置間、各データフロー計算装置DFCI。
DFC2・・・DFCn等の各処理モジュールを識別す
る番号であり、各モジュールは自分の番号を持っており
自分のモジュール番号を持ったデータパケ7)のみを入
力するようになっている。
対象メモリ番号はロードあるいはダンプの際に対象とな
るメモリを1旨定する番号であり、第11図のように定
義されている。
セレクションコードは、データ処理装置内部でデータパ
ケットが処理される経路を規定したものであり各コード
値は第12図に示すような意味を持つ。即ち、両図の図
表に従えば、例えば開始パケットは、(S2S、So)
 =“000″というプログラム記憶手段PM宛のセレ
クションコードを保持しており、これが該手段PMにお
いて(S2SIS(+) =“101″に付は替えられ
ると、(S2SISO) =“101”を保持したパケ
ットは発火制御手段FCにおいて処理され、この発火制
御手段FCは処理を終えるとセレクションコードを(S
2SISO)−”001”に変更したパケットを出力す
る。このパケットは次には命令実行手段EXEにおいて
処理され、この命令実行手段EXEは処理を終えるとセ
レクションコードを(S2SISO)=”000”に変
更したパケットを出力することにより、パケットは再び
プログラム記憶手段PMにおいて処理される。
このように、各処理要素は第12図に示す所定のセレク
ションコードを保持したパケットのみを処理しそれ以外
のパケットは何も行なわずに通過させるとともに、処理
を施したパケットに対して各処理要素がそのセレクショ
ンコードを次の処理要素に向けて更新することによって
、プログラムの実行処理が進行する。
この他に、ノード番号はデータフローグラフの幅1ノー
ドを識別する番号、環境番号は例えば本データ処理装置
の複数の使用者が本データ処理装置にロードされた同一
のプログラムを同時に実行する際に、各使用者を識別す
るための番号である。
また、順序番号は相互に順序関係を持ち同一のノード番
号と環境番号とを保持した複数のデータパケットに対し
て同一のプログラムで記述された処理を行う時に各デー
タパケットの順序関係を識別する番号であり、Eは順序
関係を持つ複数のデータパケットのうちの末尾のデータ
パケットであるときのみ“1”となる末尾フラグである
。ノード番号、環境番号、順序番号を合わせたものをタ
グと呼び、このタグが一致した二つのパケットが二項演
算の左右オペランドとして検出される。
L/Rは左右オペランドを区別するフラグであり、左オ
ペランドの時に“1”となる。
CY、Ovは演算の結果格納される演算フラグであり、
CYはキャリー(桁上げ)フラグ、Ovはオーバーフロ
ー(桁あふれ)フラグである。
TFは条件判定命令の実行によって格納される真讐5ラ
グであり、判定結果が真の時“1・、偽の時“θ″とな
る。
次に、第3図、第4図に基づき、本データ処理装置の詳
細な動作を説明する。
第3図、第4図に分図表示したデータ駆動型データ処理
装置は、複数のレジスタが種々の回路を介してリング状
に接続された構成になっており、各レジスタに供給され
る共通のクロック信号(図では省略)に同期して、各レ
ジスタに後段のデータがランチ(保持)されると同時に
、それまで保持されていたデータ、あるいはそれまで保
持していたデータに所定の処理が施された結果のデータ
が前段のレジスタにラッチされることによりデータを順
次伝送する仕組みになっている。即ちレジスタリング上
の各レジスタに保持されている複数のデータがクロック
信号に同期して一斉に前段に向けてシフトされ、各段に
おいて次のクロック信号までの時間に所定の処理を施す
ことをくりかえすことによって循環パイプライン型の処
理が行なわれる。以下に、各処理要素の動作を説明する
(1)  キューメモリQ データ線1にデータパケットの1語目が到着するとヘッ
ダ識別信号101がハイレベルに転じ、これに応じてF
IFO制御回路102は書き込み信号105を出力して
到着したデータパケットを1語目、2語目の順にFIF
Oメモリ103に書き込む、 FIFO制御回路102
は、FIFOメモリ103に滞在するデータパケットの
数を常時記憶する機能を持つ、 FIFOメモ1J10
3に滞在するデータパケット数がゼロでなく且つ待ち要
求信号204によって待ちが要求されていなければ、読
み出し信号104が出力されてFIFOメモリ103に
書き込まれているデータパケットのうち一番早(書き込
まれたデータパケットが1語口、2語目の順に読み出さ
れてデータ線2に出力される。FIFOメモリ103に
滞在するデータパケット数がゼロの時および待ち要求信
号204によって待ちが要求されている時は、読み出し
信号104が禁止されてFIFOメモリ103からの読
み出しが禁止され、FIFOメモリ103への書き込み
のみが許可される。
(ii )  プログラム記憶手段PMデータ線2にデ
ータパケットが到着するとプログラムメモリ制御回路2
01に制御情報202が入力され、アドレスレジスタ2
10にはロード(ダンプ)パケットの時はアドレスが、
実行パケットの時はノード番号がアドレス情報線211
を経てラッチされると共にレジスタR1にパケットの1
語目がラッチされる。アドレスレジスタ210の出力は
プログラムメモリ203へのアドレスとなる。制御情報
がプログラムメモリ203へのロードを示していれば、
次のタイミングでパケットの2語目のデータ値がレジス
タR1から出力され、書き込み信号208によってデー
タ線212を介してプログラムメモリ203に書き込ま
れる。制御情報がプログラムメモリ203からのダンプ
を示していれば、読み出し信号207によってデータ線
・212を介してプログラムメモリ203からデータ値
が読み出され、パケットの2語目に格納される。
ロードパケットによってプログラムメモリ203にはデ
ータフローグラフ(プログラム)の接続構造とプログラ
ムの実行中に使用される定数データ値が第9図に示すよ
うな形式でロードされる。
第9図におけるモジュール番号、セレクションコード、
左右フラグ、ノード番号は、プログラム記憶手段PMに
到着したパケットに新しく付加するための制御情報であ
る。この他に定数データ値が格納されていることを示す
定数フラグ、データパケットの複数処理を行うことを示
すコピーフラグが記憶されている。
再び第3図に戻り、プログラム記憶手段PMに到着した
パケットがこのプログラム記憶手段PMで処理される実
行パケット(セレクションコード(S2S+So) =
“000”)であればプロ坏う為メモリ制御回路201
はアドレスレジスタ210に保持されたノード番号をア
ドレスとしてプログラムメモリ203の内容を読み出し
、パケットの1語目の内のモジュール番号、セレクショ
ンコード、左右フラグ、ノード番号のフィールド′を第
9図に示すような新しい制御情報に置換して、パケット
の2語目のデータ値はそのままで出力する。
この時、プログラムメモリ203から読み出されてプロ
グラムメモリ制御回路201に入力されているフラグ情
報206(定数フラグ、コピーフラグ)の内のコピーフ
ラグが“01であれば到着したパケットに対する処理を
終了する。もしコピーフラグが“1”、定数フラグが°
0”であれば、待ち要求信号204によりキューメモリ
Qに待ちを要求し、アドレスレジスタ210をインクリ
メントしてプログラムメモリ203を読み出し、制御情
報をプログラムメモリ203から読み出した新しい制御
情報に置換してパケットの1語目を出力すると共にプロ
グラムメモリ制御回路201に新たなフラグ情報を入力
し、新たに読み出した定数フラグが“0”であれば出力
するパケットの2語目のデータ値として、入力パケット
が保持していたデータ値をそのまま出力し、新たに読み
出した定数フラグが“l#であればアドレスレジスタ2
10を更にインクリメントしてプログラムメモリ203
に格納されている定数データ値を読み出し、出力するパ
ケットの2語目のデータ値として、この定数データ値を
出力する。
こ−のような動作を、キューメモリQを待ち状態にした
まま、新たに読み出したコピーフラグが“0”になるま
で繰り返す。これがパケットの複製処理である。
但し複製処理中に待ち要求信号302によって待ちが要
求されれば、アドレスレジスタ210のインクリメント
及びレジスタR1へのクロック信号の供給をレジスタ制
御縁209によって停止させることによって複製処理を
中断する。
また、複製処理中以外の時に待ち要求信号302によっ
て待ちが要求されれば、レジスタR1へのクロック信号
を停止させてプログラム記憶手段PMがらのデータの出
力を停止させるとともに、待ち要求信号204をキュー
メモリQに向けて出力する。
このような待ち要求信号の連鎖により本データ処理装置
においては、キューメモリQを1ケ所に集中して保持す
る構成が実現されている。
(iii )  ネットワークインタフェースNIFネ
ットワークインタフェースNIFにおいては、ロード・
ダンプ制御回路307においてロードパケットは消去さ
れ(ヘッダ識別子が“0”にクリアされる)、ダンプパ
ケットのモジュール番号はホスト計算機HC行きの番号
(例えば〔鵬2111藷。〕=“000”)に更新され
る。このインタフェースNIFに到着するパケットには
次の4種類がある。即ち、(al   データ線3から
データ線4へ転送されるパケット(内部通過パケット) 0)  データ線3からデータ線40へ転送されるパケ
ット (出力パケット) (C)   データ線30からデータ線4へ転送される
パケット(入力パケット) (dl   データ線30からデータ線40へ転送され
るパケット (外部通過パケット) である。これらの内、内部通過パケット及び入カバケン
トは、本データ処理装置の番号として設定されたモジュ
ール番号を保持しており、出力パケット及び外部通過パ
ケットはそれ以外のモジュール番号を保持している。
入出力制御回路301は、データ線3及び3oよりそれ
ぞれ制御情報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を経てアドレス
がラッチされ、アドレス111419に出力される。
対生成制御回路41!にはパケットの制御情報409が
入力され、制御信号群410が出力され、データ線41
7.408の内のいずれかを介して、データメモリ40
5、タグメモリ406、ソーティングメモリ407の内
のいずれかにロード(いずれかがダンプ)される。
タグメモリ406の所定のフィールドは、待ち合わせデ
ータが存在する時に1”となる存在フラグを記憶するフ
ラグメモリとして機能する。この存在フラグは、初期状
態ではロードフラグによりタグメモリ406の全アドレ
スにわたって0”にクリアされている。また、ソーティ
ングメモリ407の内容も全アドレスにわたってクリア
されている。
(S2SISo)−“101”の発火制御の実行パケッ
トが到着すると、パケットのタグのうちの一部のフィー
ルドがアドレスタグレジスタ(八TR) 402にラッ
チされてアドレス線419に出力される。これをアドレ
スとして存在フラグ412が読み出される。
一方、パケットのタグの内の順序番号を含む残りのフィ
ールドはデータタグレジスタ(DTR) 403にラッ
チされ、順序番号を含むデータタグ418が出力される
と共にデータ線417にはパケットの2語目のデータ値
が出力される。ここで読出された存在フラグが”0”で
あれば、データ値をデータメモリ405に、またデータ
タグをタグメモリ406に書き込むと共にタグメモリ4
06の存在フラグを“1#に更新し、パケット更新回路
421においてパケットを消去する。これによって対と
なる相手のパケットの到着を待ち合わせることになる。
読み出した存在フラグが“1”であれば、既に対となる
可能性のあるのパケットめデータ値とタグデータが記憶
されていることを示しており、この時、到着したパケッ
トの順序番号を含むタグデータ418とタグメモリ40
6から読み出したタグデータが比較器414によって比
較される。この結果、一致信号413が出力されると左
右オペランドの対が検出されたことになり、到着したパ
ケットのデータ・値がデータ線404を介してレジスタ
R9、RIGに、データメモリ405から読み出したデ
ータ値がデータ線416を介してレジスタR11,R1
2にそれぞれラッチされる。
ここで、到着したパケットの左右フラグL/Rビットが
”l”であればレジスタR9,R12の出力が有効とな
り、到着したパケットのL/Rビットが“O′であれば
レジスタRIO,R11の出力が有効となる。
即ち、常にデータ線5には左オペランドのデータ値が、
データ線50には右オペランドのデータ値がそれぞれ出
力される。また、この時パケット更新回路421におい
てセレクションコードが(S2SISO)=“001”
に更新される。
(S2SISo) =“111”であるソーティングの
実行パケットが到着した時は、比較器414においてソ
ーティングメモリ407から読み出したデータと到着し
たパケットのタグ内の順序番号が比較される。
両者が一致しなかった場合は到着したパケットをそのま
まデータ線5へ通過させられる0両者が一致した場合は
到着したパケットのセレクションコードが(S2 SI
 So ) =“001”に更新されて出力されると共
に、更に到着したパケットの末尾フラグが“0”の時は
、ソーティング制御回路415により、それまでの値に
“1“を加えたものを順序番号線420を介してソーテ
ィングメモリ407に書き込み、末尾フラグが“1″の
時は“0”を書き込む。
(v)  命令実行手段EXE 命令コードメモリ510にロード(ダンプ)パケットが
到着すると、アドレスレジスタ534にアドレス値がラ
ッチされ、データ線512を介して命令コードメモリ5
1Oにデータ値がロード(命令コードメモリ510から
読み出したデータ値がダンプ)される。
ローカルメモリ505にロード(ダンプ)パケットが到
着するとマルチプレクサ503においてアドレス情報線
502が選択されてパケットの1語目に保持されている
アドレス値がアドレス線504に出力され、データ線5
07を介してローカルメモリ505にパケットの2語目
がロード(ローカルメモリ505から読み出したデータ
値がダンプ)される。
命令コードメモリ510にはプログラムの実行前に、実
行するプログラム中の各ノード番号に対応した命令コー
ドがロードパケットによりロードされており、命令コー
ドメモリ510をノード番号によって参照すると対応す
る命令コードが読み出されるようになっている。
命令実行手段EXEで処理されるセレクションコード(
S2S、So) =“001”を保持した実行パケット
には1オペランドの命令パケット(m1項演算命令など
)と2オペランドの命令パケット(二項演算命令など)
がある。実行パケットが到着するとアドレスレジスタ5
34にはノード番号がラッチされて命令コードメモリ5
10から対応する命令コード513が読み出される。
命令コード513は、デコーダ511によってデコード
され、命令の種類に応じた制御信号群514が出力され
る。制御信号群514は、レジスタR14,R16゜R
18,R20,R22の順に、到着したパケットの1語
目と平行して転送され、各処理要素における制御信号と
して使用される。
命令の種類としては、 (al  ローカルメモリ505からの読み出しまたは
それへの書き込みを行なう命令、 (bl  単項または二項の演算命令、(C1シフト命
令、 Tdl  条件判定命令、 (el  制御情報更新命令、 (fl  (al〜(d)の内のいくつかを組み合わせ
た複合命令、 がある。
制御信号群514は、上記の命令+8)〜(e)のそれ
ぞれに対応して制御信号群A〜制御信号群Eに分かれて
おり、それぞれの制御が独立に行われることによって、
if)のような各種の複合命令の実行が可能となってい
る。
制御信号群Aによってローカルメモリの読み出しまたは
書き込みが指定されていれば、マルチプレクサ503に
おいてアドレス情報線501が選択されパケットの2語
目の左オペランドデータ値がローカルメモリ505のア
ドレスとなる。更に読み出しの場合は、バッファ509
の出力を無効にしてローカルメモリ505からデータを
読み出してデータ線507を介して到着したパケットの
二語目の左データ値のフィールドに格納する。書き込み
の場合は、データ線508を介して到着したパケットの
左オペランドデータ値をローカルメモリ505に書き込
む。
制御信号群Bによって演算処理が指定されていれば、制
御信号521.522の制御により、算術論理ユニット
(AL[11)515.算術論理ユニット(ALU2)
516において、オペランドデータの下位データ、上位
データの順に指定された算術/論理演算が行なわれる。
この時、データ線526を介して左オペランドデータ値
の内の下位データ値が、データ線527を介して右オペ
ランドデータ値の内の下位データ値がそれぞれ入力され
、データ線528に演算結果データ値の内の下位データ
値が出力される。
また、データ線529を介して左オペランドデータ値の
内の上位データ値が、データ線530を介して右オペラ
ンドデータ値の内の上位データ値がそれぞれ入力され、
データ線531に演算結果データ値の内の上位データ値
が出力される。
制御信号群Cによってシフトが指定されていれば、制御
信号523の制御によりシフタ517において所定のデ
ータシフト処理が実行される、またゼロ判定部518に
おいては、常時左オペランドデータ値がゼロであるか否
かの判定が行なわれる。
制御信号群りによって条件判定処理が指定されていれば
制御信号524の制御により条件判定部519において
、指定された条件判定が行なわれ、その結果(真または
偽)が出力される。
制御信号群已によって制御処理が指定されていれば、制
御信号525の制御により制御処理部520において、
指定された制御処理(ノード番号の更新、順序番号の更
新、パケットの消去など)が行なわれる。
以下、第13図〜第17図を参照して、条件判定処理部
519により実行される条件判定処理及び制御処理部5
20により実行される制御処理について更に詳細に説明
する。
第13図は条件判定処理部519及び制御処理部520
の詳細な構成を示すブロック図である。
図中の真偽フラグ設定回路5191、順序番号読出し回
路5192はいずれも2系統の入力の内の一方を1ビツ
トの制御信号により選択的に出力するマルチプレクサに
て構成されている。また末尾記号設定回路5201は、
2人力のORゲートにより構成されている。
条件判定回路5193は第14図に示す如く、8人力マ
ルチプレクサにて構成されている。この条件判定回路5
193には、2人力命令の際の右オペランドパケットの
真偽フラグ、演算の結果生じる各種の演算フラグ(ゼロ
フラグ、符号ビット、キャリーフラグ、オーバフローフ
ラグ)及び入力パケットの末尾記号等がそれぞれ入力端
子10+ II〜15+ 16に与えられている。
第4図に示されているデコーダ511において命令コー
ドに応じて出力された制御信号群514の内、条件判定
処理及び制御処理に関する制御信号群り及びEは、デー
タパケットの1語目がレジスタR21に、2語目がレジ
スタR19にそれぞれ保持されている間に、各処理要素
に入力される。そして、この制御信号群り及びEに従っ
てそれぞれの処理要素、即ち条件処理部519及び制御
処理部520の各構成要素において命令コードに対応す
る所定の処理が実行される。
条件判定回路5193においては、第15図に示す如゛
り、制御信号01を構成する4ビーz)(Co−C3)
の値に応じた条件処理がなされ、判定結果として真(0
1”)または偽(0”)が出力される。
ノード番号更新回路5202は第16図に示す如く加算
器にて構成されている。このノード番号更新回路520
2には、制御信号E3が“0”であり且つ上述の条件判
定回路5193による判定結果が真の値(”1”)を示
している場合にのみキャリー人力COに11”が入力さ
れる。これにより、パケットのノード番号が1だけイン
クリメントされた値となって出力される。
また条件判定回路5193の判定結果の信号は制御信号
D2として真偽フラグ設定回路5191にも与えられて
、おり、この制御信号D2が“0”の場合は真偽フラグ
設定回路5191において真偽フラグに条件判定結果(
真または偽)が設定されて出力される。これらの処理要
素における処理の組合わせにより、たとえば入力パケッ
トがデータ集合中の末尾データパケットである場合にの
み、ノード番号の更新出力等の条件分岐命令、あるいは
入力パケットがデータ集合中の末尾データである場合に
のみ、真偽フラグに真の値(“1#)を設定して出力す
る条件判定命令等が実行される。
次に第17図に示す如く、順序番号更新回路5203は
加算器にて、順序情報初期化回路5204は複数のAN
Dゲートにて構成されている。順序番号更新回路520
3は制御信号Elの制御により順序番号を1だけインク
リメントする順序番号更新命令を実行する。順序情報初
期化回路5204は制御信号E2の制御により順序番号
及び末尾番号を“0”にクリアする順序情報初期化命令
を実行する。また、末尾記号設定回路5201において
は、制御信号E4の制御により、末尾記号“l”を設定
する末尾記号設定命令が実行される。
これらの種々の命令を組合わせたデータ駆動形のプログ
ラムを実行することにより、0から順に順序番号を付さ
れ、末尾データにのみ末尾記号を保持する順序情報を有
するデータのデータ集合を生成することが可能になる。
このようなデータ集合の生成は、プログラム実行によっ
て動的に実行可能であるため、各要素のデータを生成す
る処理の間に他の実行命令を適当に挿入すれば各要素相
互の生成間隔は自由に調整可能である。このようなデー
タ集合は、たとえば第4図に示す如きローカルメモリ5
05のようなデータ記憶回路から読出されて生成される
また、第13図における順序番号読出し回路5192で
は、制御信号E5の制御により、入力パケットが保持し
ている順序番号をパケットの2語目に読出す順序番号読
出し命令が実行される。このような命令の実行により、
データ集合の各要素のデータをその順序番号に従って、
たとえば第4図に示すローカルメモリ505の如きデー
タ記憶回路に書込むことが可能になる。
以上のように、命令実行部EXEにおいて所定の処理が
実行されたパケットは、パケット更新回路532におい
てセレクションコードが〔52SISo〕=“000”
(行先はプログラム記憶部PM)に更新されて出力され
る。
〔発明の効果〕
以上に詳述した如く、本発明のデータ駆動型データ処理
装置によれば、データ集合全体に同一の宛先情報を付し
たままで、その各要素のデータを順序情報で管理して処
理する手段を備えているので、データ集合の演算処理の
ために必要とされる命令記憶容量が節減され、且つ各要
素のデータの演算を非同期で処理可能であるため、配列
データ相互の演算のようなデータ集合処理の効率が向上
する。
【図面の簡単な説明】
第1図は本発明のデータ駆動型データ処理装置を組込ん
だデータフロー計算器のシステム構成を示すブロック図
、第2図は本発明のデータ駆動型データ処理装置の概略
の構成を示すブロック図、第3図及び第4図は本発明の
データ駆動型データ処理装置の詳細な構成を示すブロッ
ク図、第5図。 第6図、第7図及び第8図は本発明のデータ駆動型デー
タ処理装置に使用されるデータパケットの構成を示す模
式図、第9図は本発明のデータ駆動型データ処理装置の
プログラム記憶手段の記憶形式を示す模式図、第10図
、第11図及び第12図はコード対照を示す模式図、第
13図は条件判定処理部及び制御処理部の詳細な構成を
示すブロック図、第14図は条件判定回路の回路図、第
15図は条件判定回路のコード対照を示す模式図、第1
6図はノード番号更新回路の構成を示す回路図、第17
図は順序番号更新回路及び順序情報初期化回路の構成を
示す回路図である。 PM・・・プログラム記憶手段 NIF・・・ネットワ
ークインターフェイス  FC・・・発火制御手段 E
XE・・・命令実行手段  Q・・・キューメモリ50
5・・・ローカルメモリ 520・・・順序情報設定手
段5201・・・末尾記号設定回路  5202・・・
ノード番号更新回路  5203・・・順序番号更新回
路  5204・・・順序情報初期化回路 特 許 出願人  三洋電機株式会社 代理人 弁理士  河 野  登 夫 箆  1  図 入力 第  2  図 定数フラグ 第  9  図 第  10  図 藁  12  図 第15図 第  16  図

Claims (1)

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

Similar Documents

Publication Publication Date Title
US4507728A (en) Data processing system for parallel processing of different instructions
US4841436A (en) Tag Data processing apparatus for a data flow computer
US6289433B1 (en) Superscalar RISC instruction scheduling
US4675806A (en) Data processing unit utilizing data flow ordered execution
US6728845B2 (en) SRAM controller for parallel processor architecture and method for controlling access to a RAM using read and read/write queues
EP0213842A2 (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
EP0312764A2 (en) A data processor having multiple execution units for processing plural classes of instructions in parallel
US20060069882A1 (en) Memory controller for processor having multiple programmable units
TW200409023A (en) Synchronisation between pipelines in a data processing apparatus
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
JPH0844564A (ja) 浮動小数点装置における動的レジスタ管理方法及びそれを実行できるプロセッサ
WO2001016715A9 (en) Branch instructions in a multithreaded parallel processing system
CN101689107A (zh) 用于将条件指令扩展为无条件指令与选择指令的方法和系统
JPH0786845B2 (ja) データ処理装置
US6003126A (en) Special instruction register including allocation field utilized for temporary designation of physical registers as general registers
JPH0553803A (ja) プロセツサ
JP3834145B2 (ja) ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法
EP0797803B1 (en) Chunk chaining for a vector processor
JP2594093B2 (ja) データ駆動型データ処理装置
EP0334131B1 (en) Data processor performing operation on data having length shorter than one-word length
JPH01211124A (ja) データ駆動型データ処理装置
JP2630779B2 (ja) データ駆動型データ処理装置
JP2594092B2 (ja) データ駆動型データ処理装置
EP0700005B1 (en) Vector data bypass mechanism for vector computer
HUT75816A (en) Method of operation of a system for processing information, as well as the processing system

Legal Events

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