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

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

Info

Publication number
JP2594092B2
JP2594092B2 JP3776288A JP3776288A JP2594092B2 JP 2594092 B2 JP2594092 B2 JP 2594092B2 JP 3776288 A JP3776288 A JP 3776288A JP 3776288 A JP3776288 A JP 3776288A JP 2594092 B2 JP2594092 B2 JP 2594092B2
Authority
JP
Japan
Prior art keywords
data
packet
order
information
memory
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
JP3776288A
Other languages
English (en)
Other versions
JPH01211125A (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 JP3776288A priority Critical patent/JP2594092B2/ja
Publication of JPH01211125A publication Critical patent/JPH01211125A/ja
Application granted granted Critical
Publication of JP2594092B2 publication Critical patent/JP2594092B2/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を介して、ホストインタフェースH1、デー
タ記憶装置DM、データフロー計算装置DFC1〜DFCnが結合
されており、ホストインタフェースH1には更にホスト計
算機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によって識別される。各データ
パケットはデータ値とその他の情報(制御情報)とから
なる。制御情報のうちf1,f0はパケット識別子であり第1
0図のように定義され、ロード,ダンプ及び実行の各パ
ケットを識別している。
モジュール番号は、ホストインタフェース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からの読み出しが禁止され、FIF
Oメモリ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"の発火制御の実行パケットが到着
すると、パケットのタグのうちの一部のフィールドがア
ドレスタグレジスタ(ART)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"を書き込む。
ここで、第18図及び第19図を参照して、発火制御部FC
による発火処理及びソーティング処理について説明す
る。
第19図はソーティング制御回路415のより詳細な構成
を示すブロック図である。
このソーティング制御回路415は、ソーティングメモ
リ407の内容を更新するためのソーティングメモリ更新
回路4150及び同じく初期化するためのソーティングメモ
リ初期化回路4151を主要な構成要素としている。
ソーティングメモリ更新回路4150は、具体的にはたと
えばフェアチャイルド社製の加算器74F283を数個組み合
わせて構成することが可能である。
ソーティング制御回路415は、ソーティングメモリ407
に与えられているソーティングメモリライト信号4152が
書込みを指示しており、且つ自身に与えられている順序
番号更新信号4153が更新を指示しており、更に入力パケ
ットの末尾記号が“0"である、即ち末尾ではないことを
示している場合にのみ、入力パケットの順序番号に“1"
を加算した値をソーティングメモリ407に書込む。ま
た、ソーティングメモリライト信号4152が書込みを指示
しており、且つ入力パケットの末尾記号が“1"である、
即ち末尾データである場合にのみソーティングメモリ40
7に“0"を書込む。他の場合にはソーティングメモリ更
新回路4150はソーティングメモリ407の更新は行わな
い。
第18図は対生成制御回路411のより詳細な構成を示す
ブロック図である。
対生成制御回路411は、2項命令の左右のパケットの
待ち合わせを制御する信号及びソーティング処理を制御
する信号を生成する発火制御論理回路4110と、第14図に
示されているR9〜R12の各レジスタの出力の選択を制御
する信号を生成するレジスタ制御論理回路4111と、各信
号のタイミングを遅延して調整するためのD−フリップ
フロップ4112,4113,4114等にて構成されている。
レジスタ制御論理回路4111は、上述の如く、R9〜R12
の各レジスタの出力を制御するようにレジスタ制御信号
を生成して出力する。
発火制御論理回路4110は、セレクションコード〔S2S1
S0〕=“101"を保持した実行パケットが到着した際に存
在フラグが“0"を示していればデータメモリライト信
号,タグメモリライト信号,フラグメモリライト信号,
パケット消去信号を出力し、フラグメモリライト値とし
て“1"を出力する。これにより、入力パケットのデータ
値とデータタグとをデータメモリ405とタグメモリ406と
にそれぞれ書込むと共に、パケットを消去する。またフ
ラグメモリには存在フラグ412を“1"に書換えて相手の
パケットの到着を待ち合わせる。
セレクションコードが〔S2S1S0〕=“101"の実行パケ
ットが到着した場合には、存在フラグ412が“1"であ
り、且つタグ一致信号が一致を示している場合にはデー
タメモリリード信号,フラグメモリライト信号,発火信
号を出力し、フラグメモリライトとして“0"を出力す
る。これにより、左右データをデータ対として出力する
と共にセレクションコードを〔S2S1S0〕=“001"に書換
えた上で発火したパケットとして命令実行部EXEにおい
て処理すべく出力する。
セレクションコード〔S2S1S0〕=“111"のパケットが
到着すると、比較制御信号により比較器414では入力パ
ケットが保持している順序番号とソーティングメモリ40
7の内容とが比較される。この比較の結果、両者が一致
していれば、ソーティングメモリライト信号及び順序番
号更新信号、更に宛先情報更新信号として“0"が出力さ
れ、ソーティングメモリ407の内容が更新されると共
に、到着パケットのセレクションコードが〔S S2S2
=“001"に更新され、命令実行部EXEにおいて処理され
るべく出力される。
比較結果が一致していない場合には、いずれの制御信
号も出力されず、到着パケットはそのまま出力される。
以上の説明から明らかなように、セレクションコード
〔S2S1S0〕=“111"を保持しているパケットの集合のそ
れぞれが発火制御部FCに到着する都度、それぞれがいか
なる順序で到着しても、それぞれが保持している順序情
報の昇順にセレクションコードが書換えられる。このた
め、命令実行部EXE及びプログラム記憶部における処理
は、順序番号の昇順に従って実行される。換言すれば、
到着パケットの並べ換えが行われる。
(v) 命令実行手段EXE 命令コードメモリ510にロード(ダンプ)パケットが
到着すると、アドレスレジスタ534にアドレス値がラッ
チされ、データ線512を介して命令コードメモリ510にデ
ータ値がロード(命令コードメモリ510から読み出した
データ値がダンプ)される。
ローカルメモリ505にロード(ダンプ)パケットが到
着するとマルチプレクサ503においてアドレス情報線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,算術論理ユニット(ALU1)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
〜I5,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
図は順序番号更新回路及び順序情報初期化回路の構成を
示す回路図、第18図は対生成制御回路の構成を示すブロ
ック図、第19図はソーティング制御回路の構成を示すブ
ロック図である。 PM……プログラム記憶手段、NIF……ネットワークイン
ターフェイス、FC……発火制御手段、EXE……命令実行
手段、Q……キューメモリ、405……データメモリ、407
……ソーティングメモリ、411……対生成制御回路、414
……比較器、415……ソーティング制御回路、505……ロ
ーカルメモリ、520……順序情報設定手段、4110……発
火制御論理回路、4150……ソーティングメモリ初期化回
路、4151……ソーティングメモリ初期化回路、5201……
末尾記号設定回路、5202……ノード番号更新回路、5203
……順序番号更新回路、5204……順序情報初期化回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 作田 良夫 大阪府守口市京阪本通2丁目18番地 三 洋電機株式会社内 (56)参考文献 特開 昭60−73746(JP,A)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】演算処理対象のデータと、該データの宛先
    を示す宛先情報とを含むデータパケットの内から発火制
    御手段により前記宛先情報が一致する二つのデータパケ
    ットを一対の処理対象として検出し、両データパケット
    に含まれるデータに所定の処理を施すデータ駆動型デー
    タ処理装置において、 同一の宛先情報を有する複数のデータにて構成されるデ
    ータ集合内の各データのパケットに対して、各データの
    順序を示す順序番号及び同一データ集合内での末尾の順
    序であることを示す末尾記号にて構成される順序情報を
    生成して付加する順序情報設定手段と、 データ集合の各データを格納し、それぞれのデータが格
    納された際の順序情報と同一の順序情報をそれぞれのデ
    ータの読出しに際して付加して出力するデータ記憶手段
    と、 該データ記憶手段に格納されている同一データ集合の各
    データを、それぞれ有する順序情報に従って所定の順序
    に並べ換えて読出す並べ換え手段とを備え、 前記発火制御手段は、同一宛先情報を有するデータ集合
    の各データをそれぞれの順序情報の一致を検出して所定
    の処理を実行すべくなしたことを特徴とするデータ駆動
    型データ処理装置。
  2. 【請求項2】前記並べ換え手段は、 順序番号を格納する順序情報記憶手段と、 前記データ記憶手段に到着したデータパケットに含まれ
    る順序情報と前記順序情報記憶手段に格納されている順
    序情報とを比較する比較手段と、 該比較手段による比較結果が一致した場合に、到着した
    データパケットに含まれる宛先情報を所定の値に書き換
    える宛先情報更新手段と、 前記比較手段による比較結果が一致した場合に、前記順
    序情報記憶手段の内容を所定の順序に従って更新する順
    序番号記憶手段更新手段と、 前記比較手段による比較結果が一致し、またそのデータ
    パケットに含まれる順序情報が末尾記号である場合に、
    前記順序情報記憶手段の内容を初期化する順序番号記憶
    手段初期化手段と を備えた請求項1記載のデータ駆動型データ処理装置。
JP3776288A 1988-02-19 1988-02-19 データ駆動型データ処理装置 Expired - Fee Related JP2594092B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPH01211125A JPH01211125A (ja) 1989-08-24
JP2594092B2 true JP2594092B2 (ja) 1997-03-26

Family

ID=12506484

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2594092B2 (ja)

Also Published As

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

Similar Documents

Publication Publication Date Title
EP1214661B1 (en) Sdram controller for parallel processor architecture
EP1236094B1 (en) Branch instruction for multithreaded processor
US5954815A (en) Invalidating instructions in fetched instruction blocks upon predicted two-step branch operations with second operation relative target address
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
US5386531A (en) Computer system accelerator for multi-word cross-boundary storage access
JP2000020326A (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
KR19980079301A (ko) 레지스터 파일 판독을 감소시키는 벡터 프로세서 디자인
JPH06259253A (ja) データプロセッサおよびその動作方法
JP2594093B2 (ja) データ駆動型データ処理装置
JP2594092B2 (ja) データ駆動型データ処理装置
US6725355B1 (en) Arithmetic processing architecture having a portion of general-purpose registers directly coupled to a plurality of memory banks
JP3146077B2 (ja) プロセッサ
US11847455B2 (en) Clearing register data using a write enable signal
JP2594091B2 (ja) データ駆動型データ処理装置
JP3983455B2 (ja) データ駆動型情報処理装置の実行制御装置
JP2630779B2 (ja) データ駆動型データ処理装置
JPH0793152A (ja) マイクロプロセッサ制御装置
EP0177712B1 (en) Masked data fetch and modifying device
JPH01211127A (ja) データ駆動型データ処理装置
JP3696625B2 (ja) データ駆動型情報処理装置
US20040006686A1 (en) Processor and instruction control method
JP2826490B2 (ja) ベクトルデータ処理装置
JP2639988B2 (ja) データ駆動型データ処理装置
JP3473506B2 (ja) パイプライン処理装置

Legal Events

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