JPH01211127A - データ駆動型データ処理装置 - Google Patents
データ駆動型データ処理装置Info
- Publication number
- JPH01211127A JPH01211127A JP3776488A JP3776488A JPH01211127A JP H01211127 A JPH01211127 A JP H01211127A JP 3776488 A JP3776488 A JP 3776488A JP 3776488 A JP3776488 A JP 3776488A JP H01211127 A JPH01211127 A JP H01211127A
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet
- memory
- program
- constant
- 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
Links
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、データ駆動型のデータ処理装置に関し、更に
詳述すれば、定数データの処理を容易且つ効率的に行い
得るデータ駆動型データ処理装置に関する。
詳述すれば、定数データの処理を容易且つ効率的に行い
得るデータ駆動型データ処理装置に関する。
一般にデータ駆動型データ処理装置は、データの流れを
アークにて示し、命令をアーク同士が接続されたノード
にて示すデータフローグラフをプログラムとして実行す
る所謂非ノイマン型コンピュータである。
アークにて示し、命令をアーク同士が接続されたノード
にて示すデータフローグラフをプログラムとして実行す
る所謂非ノイマン型コンピュータである。
このようなデータ駆動型データ処理装置では、処理対象
のデータと、宛先情報(アークの接続先を示す)とを含
むデータパケットが種々の処理要素、具体的にはデータ
処理回路間を転送される間に、データフローグラフに従
った宛先情報の付は替え、データの複製あるいは命令(
四則演算等)の実行等が行われる。
のデータと、宛先情報(アークの接続先を示す)とを含
むデータパケットが種々の処理要素、具体的にはデータ
処理回路間を転送される間に、データフローグラフに従
った宛先情報の付は替え、データの複製あるいは命令(
四則演算等)の実行等が行われる。
宛先情報は、データに対して実行されるべき命令の記憶
番地に対応しており、宛先情報の付は替えにより種々の
命令を同一のデータに施すことが可能である。即ち、宛
先情報により指示される宛先がデータフローグラフの上
の命令ノードを意味し、宛先情報の付は替えがアークの
接続を意味する。
番地に対応しており、宛先情報の付は替えにより種々の
命令を同一のデータに施すことが可能である。即ち、宛
先情報により指示される宛先がデータフローグラフの上
の命令ノードを意味し、宛先情報の付は替えがアークの
接続を意味する。
各処理要素は、データが到着すると直ちにそのデータに
所定の処理を施すように構成されており、データが各処
理要素にどのようなタイミングで到着するかは予め定め
られているわけではない。従って、二項演算のように二
つのデータがペアとして揃うことにより初めて実行可能
になる演算処理では、二つのデータの到着を待ち合わせ
て検出するベアリング機構が必要になる。
所定の処理を施すように構成されており、データが各処
理要素にどのようなタイミングで到着するかは予め定め
られているわけではない。従って、二項演算のように二
つのデータがペアとして揃うことにより初めて実行可能
になる演算処理では、二つのデータの到着を待ち合わせ
て検出するベアリング機構が必要になる。
ところで、プログラムの実行結果とは無開係に予め定め
られている定数データは、従来のこの種装置では予め特
定の記憶位置(メモリ等の)に格納しておき、プログラ
ム実行時に必要に応じて読出して処理するようになって
いる。このような構成、即ちデータパケットの待合わせ
を行うメモリの所定のアドレスに予め格納しである定数
データを発火検出時に読出して処理する構成のデータフ
ロー型プロセッサμP07281 (日本電気株式会社
)が1984年4月9日発行の「日経エレクトロニクス
」の第196頁に開示されている。
られている定数データは、従来のこの種装置では予め特
定の記憶位置(メモリ等の)に格納しておき、プログラ
ム実行時に必要に応じて読出して処理するようになって
いる。このような構成、即ちデータパケットの待合わせ
を行うメモリの所定のアドレスに予め格納しである定数
データを発火検出時に読出して処理する構成のデータフ
ロー型プロセッサμP07281 (日本電気株式会社
)が1984年4月9日発行の「日経エレクトロニクス
」の第196頁に開示されている。
ところで、上述のような従来のデータ駆動型データ処理
装置では、定数データが予め格納された待合わせのアド
レスにはそのデータと待合わせを行うデータのみが到着
することを前提として構成されている。換言すれば、こ
のような構成ではデータの待合わせアドレスをプログラ
ム作成時に固定して静的に割当ておく必要がある。この
ため、プログラムの作成作業が煩雑になると共に、たと
えば同一待合わせアドレスを複数のデータで共用すると
いうようなハフシュ方式によるメモリの効率的な利用が
出来ない等の難点がある。
装置では、定数データが予め格納された待合わせのアド
レスにはそのデータと待合わせを行うデータのみが到着
することを前提として構成されている。換言すれば、こ
のような構成ではデータの待合わせアドレスをプログラ
ム作成時に固定して静的に割当ておく必要がある。この
ため、プログラムの作成作業が煩雑になると共に、たと
えば同一待合わせアドレスを複数のデータで共用すると
いうようなハフシュ方式によるメモリの効率的な利用が
出来ない等の難点がある。
本発明はこのような従来のデータ駆動型データ処理装置
において定数データを取り扱う際の難点の解消を目的と
するものである。
において定数データを取り扱う際の難点の解消を目的と
するものである。
本発明のデータ駆動型データ処理装置では、データフロ
ープログラムに従って各データの宛先情報を格納する記
憶手段に定数データをその宛先情報のデータと連続して
読出されるようにして格納しておき、この定数データが
続出された場合にはデータパケットのデータが定数デー
タに書換えられるように構成しである。
ープログラムに従って各データの宛先情報を格納する記
憶手段に定数データをその宛先情報のデータと連続して
読出されるようにして格納しておき、この定数データが
続出された場合にはデータパケットのデータが定数デー
タに書換えられるように構成しである。
本発明は、演算処理対象のデータと宛先情報とを含むデ
ータパケットが入力され、入力されたデータパケットに
含まれる宛先情報を予めプログラム記憶手段に格納され
ているデータフロープログラムに従って書換えて出力し
、これらのデータパケットの内から発火制御手段により
前記宛先情報が一致する二つのデータパケットを一対の
処理対象として検出し、両データパケットに含まれるデ
ータに所定の処理を施すデータ駆動型データ処理装置に
おいて、前記プログラム記憶手段は、データフロープロ
グラムに従って、複数の宛先情報を格納し、また定数デ
ータをそれに対応する宛先情報に連続して読出されるべ
く格納するデータメモリと、該データメモリに格納され
ているデータそれぞれに、各データが読出された際に連
続して読出されるべき定数データの存否を識別する定数
データ識別手段とを備え、前記データメモリから読出さ
れたデータが定数データである場合に、出力されるべき
データパケットのデータを読出された定数データに書換
えるぺ(なしたことを特徴とする。
ータパケットが入力され、入力されたデータパケットに
含まれる宛先情報を予めプログラム記憶手段に格納され
ているデータフロープログラムに従って書換えて出力し
、これらのデータパケットの内から発火制御手段により
前記宛先情報が一致する二つのデータパケットを一対の
処理対象として検出し、両データパケットに含まれるデ
ータに所定の処理を施すデータ駆動型データ処理装置に
おいて、前記プログラム記憶手段は、データフロープロ
グラムに従って、複数の宛先情報を格納し、また定数デ
ータをそれに対応する宛先情報に連続して読出されるべ
く格納するデータメモリと、該データメモリに格納され
ているデータそれぞれに、各データが読出された際に連
続して読出されるべき定数データの存否を識別する定数
データ識別手段とを備え、前記データメモリから読出さ
れたデータが定数データである場合に、出力されるべき
データパケットのデータを読出された定数データに書換
えるぺ(なしたことを特徴とする。
本発明のデータ駆動型データ処理装置では、定数データ
はその宛先情報と共にデータフロープログラムに従って
プログラム記憶手段に格納され、定数データの宛先情報
が読出された場合に連続して読出され、データパケット
のデータと書換えられる。
はその宛先情報と共にデータフロープログラムに従って
プログラム記憶手段に格納され、定数データの宛先情報
が読出された場合に連続して読出され、データパケット
のデータと書換えられる。
第1図に本発明のデータ駆動型データ処理装置を用いた
システム例としてデータフロー計算機システムの概要を
示す。
システム例としてデータフロー計算機システムの概要を
示す。
同図に示すシステムは、システム内部のデータの基本単
位であるデータパケット(本来のデータ値の他に制御情
報を組み合わせて構成されている)を転送するリング状
転送路であるリングネットワークRNに、それ自身がリ
ングネットワークRNの一部をなすと共にデータパケッ
トの入出力を制御するネットワークインタフェースNI
F、 NIF、 NIFI・・・NIFnを介して、ホ
ストインタフェースH1、データ記す、9装置聞、デー
タフロー計算装置DFCI〜DFCnが結合されており
、ホストインタフェース旧には更にホスト計算機HCが
接続されている。
位であるデータパケット(本来のデータ値の他に制御情
報を組み合わせて構成されている)を転送するリング状
転送路であるリングネットワークRNに、それ自身がリ
ングネットワークRNの一部をなすと共にデータパケッ
トの入出力を制御するネットワークインタフェースNI
F、 NIF、 NIFI・・・NIFnを介して、ホ
ストインタフェースH1、データ記す、9装置聞、デー
タフロー計算装置DFCI〜DFCnが結合されており
、ホストインタフェース旧には更にホスト計算機HCが
接続されている。
同システムのデータフロー計算装置DFCI〜DFCn
とネットワークインタフェースNIFI〜NIFnそれ
ぞれとを組合わせたものは、内部がリング状をなすデー
タ駆動型データ処理装置として動作し、データフローグ
ラフによって記述されたデータ駆動型(データフロー型
)のプログラムを実行する。
とネットワークインタフェースNIFI〜NIFnそれ
ぞれとを組合わせたものは、内部がリング状をなすデー
タ駆動型データ処理装置として動作し、データフローグ
ラフによって記述されたデータ駆動型(データフロー型
)のプログラムを実行する。
具体的には、まずホスト計算機■Cから、ホストインタ
フェースH1、ネットワークインタフェースNIF 、
リングネットワークRN、ネットワークインタフェース
NIFi(iは1〜n)を介してデータフロー計算装置
叶Ciにプログラムがダウンロードされ、次に同じ経路
で、プログラムの実行を開始させるデータパケットであ
る開始パケ・ノドがデータフロー計算装置DFCiに入
力されるとプログラムの実行が開始され、プログラムの
実行が終了すると、実行の終了を示すデータパケットで
ある終了パケットが、データフロー計算tJ31D F
CiからネットワークインタフェースNIFt、
リングネットワークRN、 ネットワークインタフェー
スNrF、ホストインタフェースIfを介してホスト計
算機HCに出力される。
フェースH1、ネットワークインタフェースNIF 、
リングネットワークRN、ネットワークインタフェース
NIFi(iは1〜n)を介してデータフロー計算装置
叶Ciにプログラムがダウンロードされ、次に同じ経路
で、プログラムの実行を開始させるデータパケットであ
る開始パケ・ノドがデータフロー計算装置DFCiに入
力されるとプログラムの実行が開始され、プログラムの
実行が終了すると、実行の終了を示すデータパケットで
ある終了パケットが、データフロー計算tJ31D F
CiからネットワークインタフェースNIFt、
リングネットワークRN、 ネットワークインタフェー
スNrF、ホストインタフェースIfを介してホスト計
算機HCに出力される。
第2図に本発明のデータ駆動型データ処理装置の概略構
成を示す。同図の装置においてQはキューメモリ、門は
プログラム記憶手段、NIFはネットワークインタフェ
ース、FCは発火制御手段、EXEは命令実行手段であ
り、各処理要素がリング状に結合されている。なお、1
〜5と30.40.50はデータ線である。
成を示す。同図の装置においてQはキューメモリ、門は
プログラム記憶手段、NIFはネットワークインタフェ
ース、FCは発火制御手段、EXEは命令実行手段であ
り、各処理要素がリング状に結合されている。なお、1
〜5と30.40.50はデータ線である。
第2図を用いて本データ処理装置の動作の概略を説明す
る。ホスト計算1fiHcからロードされたプログラム
(データフローグラフ)は、プログラム記憶手段PMに
格納される。開始パケットが各要素、即ちネットワーク
インタフェースNIF 、発火制御手段FC1命令実行
手段EXE 、キューメモリQを介してプログラム記憶
手段PMに到着するとプログラムの実行が開始される。
る。ホスト計算1fiHcからロードされたプログラム
(データフローグラフ)は、プログラム記憶手段PMに
格納される。開始パケットが各要素、即ちネットワーク
インタフェースNIF 、発火制御手段FC1命令実行
手段EXE 、キューメモリQを介してプログラム記憶
手段PMに到着するとプログラムの実行が開始される。
プログラムの実行中にプログラム記憶手段PMに入力さ
れるパケットの制御情報はこのデータフローグラフに従
って付は替えられたり、あるいは同じデータフローグラ
フに従ってデータパケットの複製処理が行なわれたりす
る。プログラム記憶手段PMから出力されたパケットは
ネットワークインタフェースNIFにおいて外部に出力
されるか発火制御手段FCに向けて転送されるかの選択
がなされる。
れるパケットの制御情報はこのデータフローグラフに従
って付は替えられたり、あるいは同じデータフローグラ
フに従ってデータパケットの複製処理が行なわれたりす
る。プログラム記憶手段PMから出力されたパケットは
ネットワークインタフェースNIFにおいて外部に出力
されるか発火制御手段FCに向けて転送されるかの選択
がなされる。
発火制御手段FCでは主に、二項演算命令などの左オペ
ランドと右オペランドとをデータ対として検出して、二
つのオペランドを対にして出力する発火制御処理を行う
。左オペランドは出力ライン5に、右オペランドは出力
ライン50に出力される。
ランドと右オペランドとをデータ対として検出して、二
つのオペランドを対にして出力する発火制御処理を行う
。左オペランドは出力ライン5に、右オペランドは出力
ライン50に出力される。
命令実行手段EXEでは、到着したパケットの制御情報
によって指定される命令を到着したパケットに対して施
して出力する。これらの両要素、発火制御手段FC1命
令実行手段EXEにおいてはパケットが滞ることはない
が、ネットワークインタフェースNIFにおいては外部
からパケットが入力される時、出力しようとしても出力
できない時、及びプログラム記憶手段PMにおいてデー
タの複製処理が行なわれる時はビジー状態となる。これ
らの場合には後続するデータパケットは停止してビジー
状態の解除を待たなければならない。キューメモリQは
このような時にデータを一時格納して待たせるためのバ
ンファリング機能を有している。
によって指定される命令を到着したパケットに対して施
して出力する。これらの両要素、発火制御手段FC1命
令実行手段EXEにおいてはパケットが滞ることはない
が、ネットワークインタフェースNIFにおいては外部
からパケットが入力される時、出力しようとしても出力
できない時、及びプログラム記憶手段PMにおいてデー
タの複製処理が行なわれる時はビジー状態となる。これ
らの場合には後続するデータパケットは停止してビジー
状態の解除を待たなければならない。キューメモリQは
このような時にデータを一時格納して待たせるためのバ
ンファリング機能を有している。
各処理要素において上記のような処理が施されながらデ
ータパケットが周回することによってプログラムが実行
される。また、データ処理装置内部に複数のデータパケ
ットが存在する時には、各々のデータパケットに対して
、異なる処理要素において同時に異なる処理を施すパイ
プライン型の処理を行なうことができる。従って、本デ
ータ処理装置は、リング状のパイプライン型データ処理
装置であると言える。
ータパケットが周回することによってプログラムが実行
される。また、データ処理装置内部に複数のデータパケ
ットが存在する時には、各々のデータパケットに対して
、異なる処理要素において同時に異なる処理を施すパイ
プライン型の処理を行なうことができる。従って、本デ
ータ処理装置は、リング状のパイプライン型データ処理
装置であると言える。
第3図及び第4図に本発明のデータ駆動型データ処理装
置の更に詳細な構成を示し、第5図〜第8図に本データ
処理装置に適用するデータパケットの構成を示す。
置の更に詳細な構成を示し、第5図〜第8図に本データ
処理装置に適用するデータパケットの構成を示す。
第5図はデータをデータ処理装置内部の所定のメモリに
ダウンロードするためのロードパケット、第6図はデー
タ処理装置内部の所定のメモリからデータをダンプする
(読み出す)ためのダンプパケット、第7図及び第8図
はプログラムの実行中に処理される実行パケットであり
、発火制御手段FCにおいて対となる左右のオペランド
が検出されて、二つのオペランドが組になって出力され
たときに第7図の構成となる。
ダウンロードするためのロードパケット、第6図はデー
タ処理装置内部の所定のメモリからデータをダンプする
(読み出す)ためのダンプパケット、第7図及び第8図
はプログラムの実行中に処理される実行パケットであり
、発火制御手段FCにおいて対となる左右のオペランド
が検出されて、二つのオペランドが組になって出力され
たときに第7図の構成となる。
以下これ等の図に基づきデータパケットについて説明す
る。
る。
総てのデータパケットは2語構成であり、1語目と2語
目とはヘッダ識別子Hによって識別される。各データパ
ケットはデータ値とその他の情報(制御情N)とからな
る。制御情報のうちfl、 f。
目とはヘッダ識別子Hによって識別される。各データパ
ケットはデータ値とその他の情報(制御情N)とからな
る。制御情報のうちfl、 f。
はパケット識別子であり第10図のように定義され、ロ
ード、ダンプ及び実行の各パケットを識別している。
ード、ダンプ及び実行の各パケットを識別している。
モジュール番号は、ホストインタフェース旧、データ記
憶装置叶、各データフロー計算装置叶ctDFC2・・
・DFCn等の各処理モジュールを識別する番号であり
、各モジュールは自分の番号を持っており自分のモジュ
ール番号を持ったデータパケットのみを入力するように
なっている。
憶装置叶、各データフロー計算装置叶ctDFC2・・
・DFCn等の各処理モジュールを識別する番号であり
、各モジュールは自分の番号を持っており自分のモジュ
ール番号を持ったデータパケットのみを入力するように
なっている。
対象メモリ番号はロードあるいはダンプの際に対象とな
るメモリを指定する番号であり、第11図のように定義
されている。
るメモリを指定する番号であり、第11図のように定義
されている。
セレクションコードは、データ処理装置内部でデータパ
ケットが処理される経路を規定したものであり各コード
値は第12図に示すような意味を持つ。即ち、両図の図
表に従えば、例えば開始パケットは、(S2 SI S
o )−“000”というプログラム記憶手段PM宛の
セレクションコードを保持しており、これが該手段PM
4こおいて(S2 SI So )−”101”に付は
替えられると、(S2SISO) =“101”を保持
したパケットは発火制御手段FCにおいて処理され、こ
の発火制御手段FCは処理を終えるとセレクションコー
ドを(S2S、S、) =“001”に変更したパケッ
トを出力する。このパケットは次には命令実行手段EX
Eにおいて処理され、この命令実行手段EXEは処理を
終えるとセレクションコードを(S2 St SO)=
“ooo”に変更したパケットを出力することにより、
パケットは再びプログラム記憶手段PM4こおいて処理
される。
ケットが処理される経路を規定したものであり各コード
値は第12図に示すような意味を持つ。即ち、両図の図
表に従えば、例えば開始パケットは、(S2 SI S
o )−“000”というプログラム記憶手段PM宛の
セレクションコードを保持しており、これが該手段PM
4こおいて(S2 SI So )−”101”に付は
替えられると、(S2SISO) =“101”を保持
したパケットは発火制御手段FCにおいて処理され、こ
の発火制御手段FCは処理を終えるとセレクションコー
ドを(S2S、S、) =“001”に変更したパケッ
トを出力する。このパケットは次には命令実行手段EX
Eにおいて処理され、この命令実行手段EXEは処理を
終えるとセレクションコードを(S2 St SO)=
“ooo”に変更したパケットを出力することにより、
パケットは再びプログラム記憶手段PM4こおいて処理
される。
このように、各処理要素は第12図に示す所定のセレク
ションコードを保持したパケットのみを処理しそれ以外
のパケットは何も行なわずに通過させるとともに、処理
を施したパケットに対して各処理要素がそのセレクショ
ンコードを次の処理要素に向けて更新することによって
、プログラムの実行処理が進行する。
ションコードを保持したパケットのみを処理しそれ以外
のパケットは何も行なわずに通過させるとともに、処理
を施したパケットに対して各処理要素がそのセレクショ
ンコードを次の処理要素に向けて更新することによって
、プログラムの実行処理が進行する。
この他に、ノード番号はデータフローグラフの各ノード
を識別する番号、環境番号は例えば本データ処理装置の
複数の使用者が本データ処理装置にロードされた同一の
プログラムを同時に実行する際に、各使用者を識別する
ための番号である。
を識別する番号、環境番号は例えば本データ処理装置の
複数の使用者が本データ処理装置にロードされた同一の
プログラムを同時に実行する際に、各使用者を識別する
ための番号である。
また、順序番号は相互に順序関係を持ち同一のノード番
号と環境番号とを保持した複数のデータパケットに対し
て同一のプログラムで記述された処理を行う時に各デー
タパケットの順序関係を識別する番号であり、Eは順序
関係を持つ複数のデータパケットのうちの末尾のデータ
パケットであるときのみ“1″となる末尾フラグである
。ノード番号、環境番号、順序番号を合わせたものをタ
グと呼び、このタグが一致した二つのパケットが二項演
算の左右オペランドとして検出される。
号と環境番号とを保持した複数のデータパケットに対し
て同一のプログラムで記述された処理を行う時に各デー
タパケットの順序関係を識別する番号であり、Eは順序
関係を持つ複数のデータパケットのうちの末尾のデータ
パケットであるときのみ“1″となる末尾フラグである
。ノード番号、環境番号、順序番号を合わせたものをタ
グと呼び、このタグが一致した二つのパケットが二項演
算の左右オペランドとして検出される。
L/I?は左右オペランドを区別するフラグであり、左
オペランドの時に“1”となる。
オペランドの時に“1”となる。
cy、 ovは演算の結果格納される演算フラグであり
、CYはキャリー (桁上げ)フラグ、Ovはオーバー
フロー(桁あふれ)フラグである。
、CYはキャリー (桁上げ)フラグ、Ovはオーバー
フロー(桁あふれ)フラグである。
TFは条件判定命令の実行によって格納される真偽フラ
グであり、判定結果が真の時“l”、偽の時“0”とな
る。
グであり、判定結果が真の時“l”、偽の時“0”とな
る。
次に、第3図、第4図に基づき、本データ処理装置の詳
細な動作を説明する。
細な動作を説明する。
第3図、第4図に付図表示したデータ駆動型データ処理
装置は、複数のレジスタが種々の回路を介してリング状
に接続された構成になっており、各レジスタに供給され
る共通のクロック信号(図では省略)に同期して、各レ
ジスタに後段のデータがランチ(保持)されると同時に
、それまで保持されていたデータ、あるいはそれまで保
持していたデータに所定の処理が施された結果のデータ
が前段のレジスタにラッチされることによりデータを順
次伝送する仕組みになっている。即ち、レジスタリング
上の各レジスタに保持されている複数のデータがクロッ
ク信号に同期して一斉に前段に向けてシフトされ、各段
において次のクロック信号までの時間に所定の処理を施
すことをくりかえすことによって循環パイプライン型の
処理が行なわれる。以下に、各処理要素の動作を説明す
る。
装置は、複数のレジスタが種々の回路を介してリング状
に接続された構成になっており、各レジスタに供給され
る共通のクロック信号(図では省略)に同期して、各レ
ジスタに後段のデータがランチ(保持)されると同時に
、それまで保持されていたデータ、あるいはそれまで保
持していたデータに所定の処理が施された結果のデータ
が前段のレジスタにラッチされることによりデータを順
次伝送する仕組みになっている。即ち、レジスタリング
上の各レジスタに保持されている複数のデータがクロッ
ク信号に同期して一斉に前段に向けてシフトされ、各段
において次のクロック信号までの時間に所定の処理を施
すことをくりかえすことによって循環パイプライン型の
処理が行なわれる。以下に、各処理要素の動作を説明す
る。
(1) キューメモリQ
データ線lにデータパケットの1語目が到着するとヘッ
ダ識別信号101がハイレベルに転じ、これに応じてF
IFO制御回路102は書き込み信号105を出力して
到着したデータパケットを1語口、2語目の順にFIF
Oメモ1月03に書き込む。FIFO制御回路102は
、FTFOメモリ103に滞在するデータパケットの数
を常時記憶する機能を持つ。FIFOメモリ103に滞
在するデータパケット数がゼロでなく且つ待ち要求信号
204によってj壽ちが要求されていなければ、読み出
し信号104が出力されて、FIFOメモリ103に書
き込まれているデータパケットのうち一番早く書き込ま
れたデータパケットが1語口、2語目の順に読み出され
てデータ線2に出力される。FIFOメモリ103に滞
在するデータパケット数がゼロの時および待ち要求信号
204によって待ちが要求されている時は、読み出し信
号104が禁止されてFIFOメモリ103からの読み
出しが禁止され、FIFOメモリ103への書込みのみ
が許可される。
ダ識別信号101がハイレベルに転じ、これに応じてF
IFO制御回路102は書き込み信号105を出力して
到着したデータパケットを1語口、2語目の順にFIF
Oメモ1月03に書き込む。FIFO制御回路102は
、FTFOメモリ103に滞在するデータパケットの数
を常時記憶する機能を持つ。FIFOメモリ103に滞
在するデータパケット数がゼロでなく且つ待ち要求信号
204によってj壽ちが要求されていなければ、読み出
し信号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語目に格納される。
ータパケットが到着するとプログラムメモリ制御回路2
01に制御情報202が入力され、アドレスレジスタ2
10にはロード(ダンプ)パケットの時はアドレスが、
実行パケットの時はノード番号がアドレス情報線211
を経てランチされると共にレジスタR1にパケットの1
語目がラッチされる。アドレスレジスタ210の出力は
プログラムメモリ203へのアドレスとなる。制御情報
がプログラムメモリ203へのロードを示していれば、
次のタイミングでパケットの2語目のデータ値がレジス
タR1から出力され、書き込み信号208によってデー
タ線212を介してプログラムメモリ203に書き込ま
れる。制御情報がプログラムメモリ203からのダンプ
を示していれば、読み出し信号207によってデータ線
212を介してプログラムメモリ203からデータ値が
読み出され、パケットの2語目に格納される。
ロードパケットによってプログラムメモリ203にはデ
ータフローグラフ(プログラム)の接続構造とプログラ
ムの実行中に使用される定数データ値が第9図に示すよ
うな形式でロードされる。
ータフローグラフ(プログラム)の接続構造とプログラ
ムの実行中に使用される定数データ値が第9図に示すよ
うな形式でロードされる。
第9図におけるモジュール番号、セレクションコード、
左右フラグ、ノード番号は、プログラム記憶手段PMに
到着したパケットに新しく付加するための制御情報であ
る。この他に定数データ値が格納されていることを示す
定数フラグ、データパケットの複数処理を行うことを示
すコピーフラグが記憶されている。
左右フラグ、ノード番号は、プログラム記憶手段PMに
到着したパケットに新しく付加するための制御情報であ
る。この他に定数データ値が格納されていることを示す
定数フラグ、データパケットの複数処理を行うことを示
すコピーフラグが記憶されている。
再び第3図に戻り、プログラム記憶手段PMに到着した
パケットがこのプログラム記憶手段PMで処理される実
行パケット(セレクションコード(S2S+So) =
“000”)であればプログラムメモリ制御回路201
はアドレスレジスタ210に保持されたノード番号をア
ドレスとしてプログラムメモリ203の内容を読み出し
、パケットの1語目の内のモジュ−小番号、セレクショ
ンコード、左右フラグ、ノード番号のフィールドを第9
図に示すような新しい制御情報に置換して、パケットの
2語目のデータ値はそのままで出力する。
パケットがこのプログラム記憶手段PMで処理される実
行パケット(セレクションコード(S2S+So) =
“000”)であればプログラムメモリ制御回路201
はアドレスレジスタ210に保持されたノード番号をア
ドレスとしてプログラムメモリ203の内容を読み出し
、パケットの1語目の内のモジュ−小番号、セレクショ
ンコード、左右フラグ、ノード番号のフィールドを第9
図に示すような新しい制御情報に置換して、パケットの
2語目のデータ値はそのままで出力する。
この時、プログラムメモリ203がら読み出されてプロ
グラムメモリ制御回路201に入力されているフラグ情
報206(定数フラグ、コピーフラグ)の内のコピーフ
ラグが“θ″であれば到着したパケットに対する処理を
終了する。もしコピーフラグが“1”、定数フラグが“
O”であれば、待ち要求信号204によりキューメモリ
Qに待ちを要求し、アドレスレジスタ210をインクリ
メントしてプログラムメモリ203を読み出し、制御情
報をプログラムメモリ203から読み出した新しい制御
情報に置換してパケットの1語目を出方すると共にプロ
グラムメモリ制御回路201に新たなフラグ情報を入力
し、新たに読み出した定数フラグが“0”であれば出力
するパケットの2語目のデータ値として、大カバケア)
が保持していたデータ値をそのまま出力し、新たに読み
出した定数フラグが“1”であればアドレスレジスタ2
10を更にインクリメントしてプログラムメモリ203
に格納されている定数データ値を読み出し、出力するパ
ヶソ]・の2語目のデータ値として、この定数データ値
を出力する。
グラムメモリ制御回路201に入力されているフラグ情
報206(定数フラグ、コピーフラグ)の内のコピーフ
ラグが“θ″であれば到着したパケットに対する処理を
終了する。もしコピーフラグが“1”、定数フラグが“
O”であれば、待ち要求信号204によりキューメモリ
Qに待ちを要求し、アドレスレジスタ210をインクリ
メントしてプログラムメモリ203を読み出し、制御情
報をプログラムメモリ203から読み出した新しい制御
情報に置換してパケットの1語目を出方すると共にプロ
グラムメモリ制御回路201に新たなフラグ情報を入力
し、新たに読み出した定数フラグが“0”であれば出力
するパケットの2語目のデータ値として、大カバケア)
が保持していたデータ値をそのまま出力し、新たに読み
出した定数フラグが“1”であればアドレスレジスタ2
10を更にインクリメントしてプログラムメモリ203
に格納されている定数データ値を読み出し、出力するパ
ヶソ]・の2語目のデータ値として、この定数データ値
を出力する。
このような動作を、キューメモリQを待ち状態にしたま
ま、新たに読み出したコピーフラグが“0”になるまで
繰り返す。これがパケットの複製処理である。
ま、新たに読み出したコピーフラグが“0”になるまで
繰り返す。これがパケットの複製処理である。
但し複製処理中に待ち要求信号302によって待ちが要
求されれば、アドレスレジスタ210のインクリメント
及びレジスタR1へのクロック信号の供給をレジスタ制
御線209によって停止させることによって複製処理を
中断する。
求されれば、アドレスレジスタ210のインクリメント
及びレジスタR1へのクロック信号の供給をレジスタ制
御線209によって停止させることによって複製処理を
中断する。
また、複製処理中以外の時に待ち要求信号302によっ
て待ちが要求されれば、レジスタR1へのクロック信号
を停止させてプログラム記憶手段門からのデータの出力
を停止させるとともに、待ち要求信号204をキューメ
モリQに向けて出力する。
て待ちが要求されれば、レジスタR1へのクロック信号
を停止させてプログラム記憶手段門からのデータの出力
を停止させるとともに、待ち要求信号204をキューメ
モリQに向けて出力する。
、このような待ち要求信号の連鎖により本データ処理装
置においては、キューメモリQを1ケ所に集中して保持
する構成が実現されている。
置においては、キューメモリQを1ケ所に集中して保持
する構成が実現されている。
このように、本発明のデータ駆動型データ処理装置では
、定数データはデータパケットの1語目の格納されるそ
の宛先情報である制御情報に引続いてプログラムメモリ
203から読出され、データパケットの2語目に格納さ
れる。
、定数データはデータパケットの1語目の格納されるそ
の宛先情報である制御情報に引続いてプログラムメモリ
203から読出され、データパケットの2語目に格納さ
れる。
(iii ) ネットワークインタフェースNIFネ
ットワークインタフェースNIFにおいては、o−F・
ダンプ制御回路307においてロードパヶ−/ トは消
去され(ヘッダ識別子が“0”にクリアされる)、ダン
プパケットのモジュール番号はホスト計算i1 II
C行きの番号(例えば(m2ml ff1Q 〕= ”
000”)に更新される。このインタフェースNIFに
到着するパケットには次の4種類がある。即ち、(a)
データ線3からデータ線4へ転送されるパケット
(内部通過パケット) (bl データ線3からデータ線4oへ転送される
パケット (出力パケット) (C) データ線30からデータ線4へ転送される
パケット(入力パケット) (d) データ線30からデータ線40へ転送され
るパケ・ノド (外部通過パケット) である。これらの内、内部通過パケット及び入力パケッ
トは、本データ処理装置の番号として設定されたモジュ
ール番号を保持しており、出力パケット及び外部通過パ
ケットはそれ以外のモジュール番号を保持している。
ットワークインタフェースNIFにおいては、o−F・
ダンプ制御回路307においてロードパヶ−/ トは消
去され(ヘッダ識別子が“0”にクリアされる)、ダン
プパケットのモジュール番号はホスト計算i1 II
C行きの番号(例えば(m2ml ff1Q 〕= ”
000”)に更新される。このインタフェースNIFに
到着するパケットには次の4種類がある。即ち、(a)
データ線3からデータ線4へ転送されるパケット
(内部通過パケット) (bl データ線3からデータ線4oへ転送される
パケット (出力パケット) (C) データ線30からデータ線4へ転送される
パケット(入力パケット) (d) データ線30からデータ線40へ転送され
るパケ・ノド (外部通過パケット) である。これらの内、内部通過パケット及び入力パケッ
トは、本データ処理装置の番号として設定されたモジュ
ール番号を保持しており、出力パケット及び外部通過パ
ケットはそれ以外のモジュール番号を保持している。
入出力制御回路301は、データ線3及び30よりそれ
ぞれ制御情報303及び304を入力する。この入出力
制御回路301の制御により、 ■ データ線3.30にそれぞれ内部通過パケット、外
部通過パケットが同時に到着した時は、内部通過パケッ
トはレジスタR2,R3を経て、また外部通過パケット
はレジスタR4,R5を経てそれぞれ停止することなく
通過する。
ぞれ制御情報303及び304を入力する。この入出力
制御回路301の制御により、 ■ データ線3.30にそれぞれ内部通過パケット、外
部通過パケットが同時に到着した時は、内部通過パケッ
トはレジスタR2,R3を経て、また外部通過パケット
はレジスタR4,R5を経てそれぞれ停止することなく
通過する。
■ データ線3.30にそれぞれ出力パケット、入力パ
ケット、入力パケットが同時に到着した時は、出力パケ
ットはレジスタ!72. R6を経て停止することなく
出力され、入力パケットはレジスタR4,R7を経て停
止することなく入力される。
ケット、入力パケットが同時に到着した時は、出力パケ
ットはレジスタ!72. R6を経て停止することなく
出力され、入力パケットはレジスタR4,R7を経て停
止することなく入力される。
■ データ線3,30にそれぞれ内部通過パケット、入
力パケットが同時に到着した時は、レジスタR2,R3
,R6へのクロック信号の供給とレジスタR3のデータ
出力を禁止する禁止信号が制御信号線305に出力され
ると共に、待ち要求信号302によって待ちが要求され
、入力パケットはレジスタR4,R7を経て停止するこ
となく入力され、しかる後に禁止信号と待ち要求信号が
解除されて内部通過パケットが通過する。
力パケットが同時に到着した時は、レジスタR2,R3
,R6へのクロック信号の供給とレジスタR3のデータ
出力を禁止する禁止信号が制御信号線305に出力され
ると共に、待ち要求信号302によって待ちが要求され
、入力パケットはレジスタR4,R7を経て停止するこ
となく入力され、しかる後に禁止信号と待ち要求信号が
解除されて内部通過パケットが通過する。
■ データ線3.30にそれぞれ出力パケット、外部通
過パケットが同時に到着した時は、レジスタR2,R3
,R6へのクロック信号の供給とレジスタR6のデータ
出力を禁止する禁止信号が制御信号線305に出力され
るとともに、待ち要求信号302によって待ちが要求さ
れ、外部通過パケットはレジスタR4,R5を経て停止
することなく通過し、しかる後に禁止信号と待ち要求信
号が解除されて出力パケットが出力される。
過パケットが同時に到着した時は、レジスタR2,R3
,R6へのクロック信号の供給とレジスタR6のデータ
出力を禁止する禁止信号が制御信号線305に出力され
るとともに、待ち要求信号302によって待ちが要求さ
れ、外部通過パケットはレジスタR4,R5を経て停止
することなく通過し、しかる後に禁止信号と待ち要求信
号が解除されて出力パケットが出力される。
■ データ線3.30にパケットが同時に到着しなかっ
たパケットは停止することなく所定の経路で転送される
。
たパケットは停止することなく所定の経路で転送される
。
(iv ) 発火制御手段FC
ロード(ダンプ)パケットが到着すると、アドレスタグ
レジスタ402にアドレス情報線401を経てアドレス
がラッチされ、アドレス線419に出力される。
レジスタ402にアドレス情報線401を経てアドレス
がラッチされ、アドレス線419に出力される。
対生成制御回路411にはパケットの制御情報409が
入力され、制御信号群410が出力され、データ線41
7.408の内のいずれかを介して、データメモリ40
5、タグメモリ406、ソーティングメモリ407の内
のいずれかにロード(いずれかがダンプ)される。
入力され、制御信号群410が出力され、データ線41
7.408の内のいずれかを介して、データメモリ40
5、タグメモリ406、ソーティングメモリ407の内
のいずれかにロード(いずれかがダンプ)される。
タグメモリ406の所定のフィールドは、待ち合わせデ
ータが存在する時に“1″となる存在フラグを記憶する
フラグメモリとして機能する。この存在フラグは、初期
状態ではロードフラグによりタグメモリ406の全アド
レスにわたって“0”にクリアされている。また、ソー
ティングメモリ407の内容も全アドレスにわたってク
リアされている。
ータが存在する時に“1″となる存在フラグを記憶する
フラグメモリとして機能する。この存在フラグは、初期
状態ではロードフラグによりタグメモリ406の全アド
レスにわたって“0”にクリアされている。また、ソー
ティングメモリ407の内容も全アドレスにわたってク
リアされている。
[52S150] =“101”の発火制御の実行パケ
ット、が到着すると、パケットのタグのうちの一部のフ
ィールドがアドレスタグレジスタ(ATR) 402に
ラッチされてアドレス線419に出力される。これをア
ドレスとして存在フラグ412が読み出される。
ット、が到着すると、パケットのタグのうちの一部のフ
ィールドがアドレスタグレジスタ(ATR) 402に
ラッチされてアドレス線419に出力される。これをア
ドレスとして存在フラグ412が読み出される。
一方、パケットのタグの内の順序番号を含む残りのフィ
ールドはデータタグレジスタ(DTR) 403にラッ
チされ、順序番号を含むデータタグ418が出力される
と共にデータ線417にはパケットの2語目のデータ値
が出力される。ここで読み出された存在フラグが“0”
であれば、データ値をデータメモリ405に、またデー
タタグをタグメモリ406に書き込むと共にタグメモリ
406の存在フラグを′1”に更新し、パケット更新回
路421においてパケットを消去する。これによって対
となる相手のパケットの到着を待ち合わせることになる
。
ールドはデータタグレジスタ(DTR) 403にラッ
チされ、順序番号を含むデータタグ418が出力される
と共にデータ線417にはパケットの2語目のデータ値
が出力される。ここで読み出された存在フラグが“0”
であれば、データ値をデータメモリ405に、またデー
タタグをタグメモリ406に書き込むと共にタグメモリ
406の存在フラグを′1”に更新し、パケット更新回
路421においてパケットを消去する。これによって対
となる相手のパケットの到着を待ち合わせることになる
。
読み出した存在フラグが“1′であれば、既に対となる
可能性のあるのパケットのデータ値とタグデータが記憶
されていることを示しており、この時、到着したパケッ
トの順序番号を含むタグデータ418とタグメモリ40
6から読み出したタグデータが比較″a414によって
比較される。この結果、一致信号413が出力されると
左右オペランドの対が検出されたことになり、到着した
パケットのデータ値がデータ線404を介してレジスタ
R9,RIOに、データメモリ405から読み出したデ
ータ値がデータ線416を介してレジスタR11,R1
2にそれぞれラッチされる。
可能性のあるのパケットのデータ値とタグデータが記憶
されていることを示しており、この時、到着したパケッ
トの順序番号を含むタグデータ418とタグメモリ40
6から読み出したタグデータが比較″a414によって
比較される。この結果、一致信号413が出力されると
左右オペランドの対が検出されたことになり、到着した
パケットのデータ値がデータ線404を介してレジスタ
R9,RIOに、データメモリ405から読み出したデ
ータ値がデータ線416を介してレジスタR11,R1
2にそれぞれラッチされる。
ここで、到着したパケットの左右フラグL/l?ビット
が“1″であればレジスタR9,1+12の出力が有効
となり、到着したパケットのL/Rビットが“0”であ
ればレジスタRIO,R11の出力が有効となる。
が“1″であればレジスタR9,1+12の出力が有効
となり、到着したパケットのL/Rビットが“0”であ
ればレジスタRIO,R11の出力が有効となる。
即ち、常にデータ線5には左オペランドのデータ値が、
データ線50には右オペランドのデータ値がそれぞれ出
力される。また、この時パケット更新回路421におい
てセレクションコードが(S251SO)=“001”
に更新される。
データ線50には右オペランドのデータ値がそれぞれ出
力される。また、この時パケット更新回路421におい
てセレクションコードが(S251SO)=“001”
に更新される。
(S2SISO] =“111”であるソーティングの
実行パケットが到着した時は、比較器414においてソ
ーティングメモリ407から読み出したデータと到着し
たパケットのタグ内の順序番号が比較される。
実行パケットが到着した時は、比較器414においてソ
ーティングメモリ407から読み出したデータと到着し
たパケットのタグ内の順序番号が比較される。
両者が一致しなかった場合には到着したパケットはその
ままデータ線5へ通過させられる。両者が一致した場合
は到着したパケットのセレクションコードが(5251
50) =“001”に更新されて出力されると共に、
更に到着したパケットの末尾フラグが“0”の時は、ソ
ーティング制御回路415により、それまでの値に”■
”を加えたものを順序番号線420を介してソーティン
グメモリ407に書き込み、末尾フラグが“1″の時は
“0”を書き込む。
ままデータ線5へ通過させられる。両者が一致した場合
は到着したパケットのセレクションコードが(5251
50) =“001”に更新されて出力されると共に、
更に到着したパケットの末尾フラグが“0”の時は、ソ
ーティング制御回路415により、それまでの値に”■
”を加えたものを順序番号線420を介してソーティン
グメモリ407に書き込み、末尾フラグが“1″の時は
“0”を書き込む。
(V) 命令実行手段EXE
命令コードメモリ510にロード (ダンプ)パケット
が到着すると、アドレスレジスタ534にアドレス値が
ラッチされ、データ線512を介して命令コードメモリ
510にデータ値がロード(命令コードメモリ510か
ら読み出したデータ値がダンプ)される。
が到着すると、アドレスレジスタ534にアドレス値が
ラッチされ、データ線512を介して命令コードメモリ
510にデータ値がロード(命令コードメモリ510か
ら読み出したデータ値がダンプ)される。
ローカルメモリ505にロード(ダンプ)パケ・7トが
到着するとマルチプレクサ503においてアドレス情報
線502が選択されてパケットの1語目に保持されてい
るアドレス値がアドレス線504に出力され、データ線
507を介してローカルメモリ505ニハケソトの28
吾目がロード(ローカルメモリ505から読み出したデ
ータ値がダンプ)される。
到着するとマルチプレクサ503においてアドレス情報
線502が選択されてパケットの1語目に保持されてい
るアドレス値がアドレス線504に出力され、データ線
507を介してローカルメモリ505ニハケソトの28
吾目がロード(ローカルメモリ505から読み出したデ
ータ値がダンプ)される。
命令コードメモリ510にはプログラムの実行前に、実
行するプログラム中の各ノード番号に対応した命令コー
ドがロードパケットによりロードされており、命令コー
ドメモリ510をノード番号によって参照すると対応す
る命令コードが読み出されるようになっている。
行するプログラム中の各ノード番号に対応した命令コー
ドがロードパケットによりロードされており、命令コー
ドメモリ510をノード番号によって参照すると対応す
る命令コードが読み出されるようになっている。
命令実行手段EXEで処理されるセレクションコード(
S2SISO) =“001”を保持した実行パケット
には1オペランドの命令パケット(単項演算命令など)
と2オペランドの命令パケソ1−(二項演算命令など)
がある。実行パケットが到着するとアドレスレジスタ5
34にはノード番号がラッチされて命令コードメモリ5
10から対応する命令コード513が読み出される。
S2SISO) =“001”を保持した実行パケット
には1オペランドの命令パケット(単項演算命令など)
と2オペランドの命令パケソ1−(二項演算命令など)
がある。実行パケットが到着するとアドレスレジスタ5
34にはノード番号がラッチされて命令コードメモリ5
10から対応する命令コード513が読み出される。
命令コード513は、デコーダ511によってデコード
され、命令の種類に応じた制御信号群514が出力され
る。制御信号群514は、レジスタR14,R16゜R
18,R20,R22の順に、到着したパケットの1語
目と平行して転送され、各処理要素における制御信号と
して使用される。
され、命令の種類に応じた制御信号群514が出力され
る。制御信号群514は、レジスタR14,R16゜R
18,R20,R22の順に、到着したパケットの1語
目と平行して転送され、各処理要素における制御信号と
して使用される。
命令の種類としては、
(at ローカルメモリ505からの読み出しまたは
それへの書き込みを行なう命令、 (bl 単項または二項の演算命令、FC+ シフ
ト命令、 (dl 条件判定命令、 (el 制御情報更新命令、 (f) (al〜(diの内のいくつかを組み合わせ
た複合命令、 がある。
それへの書き込みを行なう命令、 (bl 単項または二項の演算命令、FC+ シフ
ト命令、 (dl 条件判定命令、 (el 制御情報更新命令、 (f) (al〜(diの内のいくつかを組み合わせ
た複合命令、 がある。
制御信号群514は、上記の命令(al〜(elのそれ
ぞれに対応して制御信号群A〜制御信号群Eに分がれて
おり、それぞれの制御が独立に行われることによって、
ff)のような各種の複合命令の実行が可能となってい
る。
ぞれに対応して制御信号群A〜制御信号群Eに分がれて
おり、それぞれの制御が独立に行われることによって、
ff)のような各種の複合命令の実行が可能となってい
る。
制御信号群Aによってローカルメモリの読み出しまたは
書き込みが指定されていれば、マルチプレクサ503に
おいてアドレス情報線501が選択されパケットの2語
目の左オペランドデータ値がローカルメモリ505のア
ドレスとなる。更に読み出しの場合は、バッファ509
の出力を無効にしてローカルメモリ505からデータを
読み出してデータ線507を介して到着したパケットの
二語目の左データ値のフィールドに格納する。書き込み
の場合は、データ線508を介して到着したパケットの
左オペランドデータ値をローカルメモリ505に書き込
む。
書き込みが指定されていれば、マルチプレクサ503に
おいてアドレス情報線501が選択されパケットの2語
目の左オペランドデータ値がローカルメモリ505のア
ドレスとなる。更に読み出しの場合は、バッファ509
の出力を無効にしてローカルメモリ505からデータを
読み出してデータ線507を介して到着したパケットの
二語目の左データ値のフィールドに格納する。書き込み
の場合は、データ線508を介して到着したパケットの
左オペランドデータ値をローカルメモリ505に書き込
む。
制御信号群Bによって演算処理が指定されていれば、制
御信号521.522の制御により、算術論理−L −
’−7) (ALL!1)515.算術論理ユニット(
AlO2)516において、オペランドデータの下位デ
ータ、上位データの順に指定された算術/論理演算が行
なわれる。この時、データ線526を介して左オペラン
ドデータ値の内の下位データ値が、データ線527を介
して右オペランドデータ値の内の下位データ値がそれぞ
れ入力され、データ線528に演算結果データ値の内の
下位データ値が出力される。
御信号521.522の制御により、算術論理−L −
’−7) (ALL!1)515.算術論理ユニット(
AlO2)516において、オペランドデータの下位デ
ータ、上位データの順に指定された算術/論理演算が行
なわれる。この時、データ線526を介して左オペラン
ドデータ値の内の下位データ値が、データ線527を介
して右オペランドデータ値の内の下位データ値がそれぞ
れ入力され、データ線528に演算結果データ値の内の
下位データ値が出力される。
また、データ線529を介して左オペランドデータ値の
内の上位データ値が、データ線530を介して右オペラ
ンドデータ値の内の上位データ値がそれぞれ入力され、
データ線531に演算結果データ値の内の上位データ値
が出力される。
内の上位データ値が、データ線530を介して右オペラ
ンドデータ値の内の上位データ値がそれぞれ入力され、
データ線531に演算結果データ値の内の上位データ値
が出力される。
制御信号群Cによってシフトが指定されていれば、制御
信号523の制御によりシフタ517において所定のデ
ータシフト処理が実行される、またゼロ判定部518に
おいては、常時左オペランドデータ値がゼロであるか否
かの判定が行なわれる。
信号523の制御によりシフタ517において所定のデ
ータシフト処理が実行される、またゼロ判定部518に
おいては、常時左オペランドデータ値がゼロであるか否
かの判定が行なわれる。
制御信号群りによって条件判定処理が指定されていれば
制御信号524の制御により条件判定部519において
、指定された条件判定が行なわれ、その結果(真または
偽)が出力される。
制御信号524の制御により条件判定部519において
、指定された条件判定が行なわれ、その結果(真または
偽)が出力される。
制御信号群已によって制御処理が指定されていれば、制
御信号525の制御により制御処理部520において、
指定された制御処理(ノード番号の更新、順序番号の更
新、パケットの消去など)が行なわれる。
御信号525の制御により制御処理部520において、
指定された制御処理(ノード番号の更新、順序番号の更
新、パケットの消去など)が行なわれる。
以下、第13図〜第17図を参照して、条件判定処理部
519により実行される条件判定処理及び制御処理部5
20により実行される制御処理について更に詳細に説明
する。
519により実行される条件判定処理及び制御処理部5
20により実行される制御処理について更に詳細に説明
する。
第13図は条件判定処理部519及び制御処理部520
の詳細な構成を示すブロック図である。
の詳細な構成を示すブロック図である。
図中の真偽フラグ設定回路5191、順序番号読出し回
路5192はいずれも2系統の入力の内の一方をlビッ
トの制御信号により選択的に出力するマルチプレクサに
て構成されている。また末尾記号設定回路5201は、
2人力のORゲートにより構成されている。
路5192はいずれも2系統の入力の内の一方をlビッ
トの制御信号により選択的に出力するマルチプレクサに
て構成されている。また末尾記号設定回路5201は、
2人力のORゲートにより構成されている。
条件判定回路5193は第14図に示す如く、8人力マ
ルチプレクサにて構成されている。この条件判定回路5
193には、2人力命令の際の右オペランドパケットの
真偽フラグ、演算の結果化じる各種の演算フラグ(ゼロ
フラグ、符号ビットキャリーフラグ、オーバフローフラ
グ)及び入力パケットの末尾記号等がそれぞれ入力端子
■。+ 1.〜I3. r6に与えられている。
ルチプレクサにて構成されている。この条件判定回路5
193には、2人力命令の際の右オペランドパケットの
真偽フラグ、演算の結果化じる各種の演算フラグ(ゼロ
フラグ、符号ビットキャリーフラグ、オーバフローフラ
グ)及び入力パケットの末尾記号等がそれぞれ入力端子
■。+ 1.〜I3. r6に与えられている。
第4図に示されているデコーダ511において命令コー
ドに応じて出力された制御信号群514の内、条件判定
処理及び制御処理に関する制御信号群り及びEは、デー
タパケ・ノドの1語目がレジスタRL2に、2語目がレ
ジスタR19にそれぞれ保持されている間に、各処理要
素に入力される。そして、この制御信号群り及び已に従
ってそれぞれの処理要素、即ち条件処理部519及び制
御処理部520の各構成要素において命令コードに対応
する所定の処理が実行される。
ドに応じて出力された制御信号群514の内、条件判定
処理及び制御処理に関する制御信号群り及びEは、デー
タパケ・ノドの1語目がレジスタRL2に、2語目がレ
ジスタR19にそれぞれ保持されている間に、各処理要
素に入力される。そして、この制御信号群り及び已に従
ってそれぞれの処理要素、即ち条件処理部519及び制
御処理部520の各構成要素において命令コードに対応
する所定の処理が実行される。
条件や1定回路5193においては、第15図に示す如
く、制御信号DIを構成する4ビツト(Co−C3)の
値に応じた条件処理がなされ、判定結果として真(“1
”)または偽(”O”)が出力される。
く、制御信号DIを構成する4ビツト(Co−C3)の
値に応じた条件処理がなされ、判定結果として真(“1
”)または偽(”O”)が出力される。
ノード番号更新回路5202は第16図に示す如く加算
器にて構成されている。このノード番号更新回路520
2には、制御信号E3力ぜ0”であり且つ上述の条件判
定回路5193による判定結果が真の値(“1”)を示
している場合にのみキャリー人力COに”1″が入力さ
れる。これにより、パケットのノード番号が1だけイン
クリメントされた値となって出力される。
器にて構成されている。このノード番号更新回路520
2には、制御信号E3力ぜ0”であり且つ上述の条件判
定回路5193による判定結果が真の値(“1”)を示
している場合にのみキャリー人力COに”1″が入力さ
れる。これにより、パケットのノード番号が1だけイン
クリメントされた値となって出力される。
また条件判定回路5193の判定結果の信号は制御信号
D2として真偽フラグ設定回路5191にも与えられて
おり、この制御信号D2が0”の場合は真偽フラグ設定
回路5191において真偽フラグに条件判定結果(真ま
たは偽)が設定されて出力される。これらの処理要素に
おける処理の組合わせにより、たとえば入力パケットが
データ集合中の末尾データパケットである場合にのみ、
ノード番号の更新出力等の条件分岐命令、あるいは入力
パケットがデータ集合中の末尾データである場合にのみ
、真偽フラグに真の値(“1″)を設定して出力する条
件判定命令等が実行される。
D2として真偽フラグ設定回路5191にも与えられて
おり、この制御信号D2が0”の場合は真偽フラグ設定
回路5191において真偽フラグに条件判定結果(真ま
たは偽)が設定されて出力される。これらの処理要素に
おける処理の組合わせにより、たとえば入力パケットが
データ集合中の末尾データパケットである場合にのみ、
ノード番号の更新出力等の条件分岐命令、あるいは入力
パケットがデータ集合中の末尾データである場合にのみ
、真偽フラグに真の値(“1″)を設定して出力する条
件判定命令等が実行される。
次に第17図に示す如(、順序番号更新回路5203は
加算器にて、順序情報初期化回路5204は複数のAN
Dゲートにて構成されている。順序番号更新回路520
3は制御信号Elの制御により順序番号を1だけインク
リメントする順序番号更新命令を実行する。順序情報初
期化回路5204は制御信号E2の制御により順序番号
及び末尾番号を“0”にクリアする順序情報初期化命令
を実行する。また、末尾記号設定回路5201において
は、制御信号E4の制御により、末尾記号“1”を設定
する末尾記号設定命令が実行される。
加算器にて、順序情報初期化回路5204は複数のAN
Dゲートにて構成されている。順序番号更新回路520
3は制御信号Elの制御により順序番号を1だけインク
リメントする順序番号更新命令を実行する。順序情報初
期化回路5204は制御信号E2の制御により順序番号
及び末尾番号を“0”にクリアする順序情報初期化命令
を実行する。また、末尾記号設定回路5201において
は、制御信号E4の制御により、末尾記号“1”を設定
する末尾記号設定命令が実行される。
これらの種々の命令を組合わせたデータ駆動形のプログ
ラムを実行することにより、0から順に順序番号を付さ
れ、末尾データにのみ末尾記号を保持する順序情報を有
するデータのデータ集合を生成することが可能になる。
ラムを実行することにより、0から順に順序番号を付さ
れ、末尾データにのみ末尾記号を保持する順序情報を有
するデータのデータ集合を生成することが可能になる。
このようなデータ集合の生成は、プログラム実行によっ
て動的に実行可能であるため、各要素のデータを生成す
る処理の間に他の実行命令を適当に挿入すれば各要素相
互の生成間隔は自由に調整可能である。このようなデー
タ集合は、たとえば第4図に示す如きローカルメモリ5
05のようなデータ記憶回路から続出されて生成される
。
て動的に実行可能であるため、各要素のデータを生成す
る処理の間に他の実行命令を適当に挿入すれば各要素相
互の生成間隔は自由に調整可能である。このようなデー
タ集合は、たとえば第4図に示す如きローカルメモリ5
05のようなデータ記憶回路から続出されて生成される
。
また、第13図における順序番号読出し回路5192で
は、制御信号E5の制御により、入力パケットが保持し
ている順序番号をパケットの2語目に読出ず順序番号続
出し命令が実行される。このような命令の実行により、
データ集合の各要素のデータをその順序番号に従って、
たとえば第4図に示すローカルメモリ505の如きデー
タ記憶回路に書込むことが可能になる。
は、制御信号E5の制御により、入力パケットが保持し
ている順序番号をパケットの2語目に読出ず順序番号続
出し命令が実行される。このような命令の実行により、
データ集合の各要素のデータをその順序番号に従って、
たとえば第4図に示すローカルメモリ505の如きデー
タ記憶回路に書込むことが可能になる。
以上のように、命令実行部EXEにおいて所定の処理が
実行されたパケットは、パケット更新回路532におい
てセレクションコードが(5251SO) =“000
” (行先はプログラム記憶部PM)に更新されて出力
される。
実行されたパケットは、パケット更新回路532におい
てセレクションコードが(5251SO) =“000
” (行先はプログラム記憶部PM)に更新されて出力
される。
以上に詳述した如く、本発明のデータ駆動型データ処理
装置によれば、定数データをデータとして有するデータ
パケットを他の一般のデータパケットと全く同様に処理
することが可能になるので、プログラム作成に際して定
数データの待合わせアドレスを予め指定しておくような
坦雑な作業は不要になる。また、ハシ二方式を利用して
同一の待合わせアドレスを複数のデータにより共用する
というような待合わせ目の効率的な使用も可能になる。
装置によれば、定数データをデータとして有するデータ
パケットを他の一般のデータパケットと全く同様に処理
することが可能になるので、プログラム作成に際して定
数データの待合わせアドレスを予め指定しておくような
坦雑な作業は不要になる。また、ハシ二方式を利用して
同一の待合わせアドレスを複数のデータにより共用する
というような待合わせ目の効率的な使用も可能になる。
更に、定数データは記憶手段から読出された後、直ちに
演算処理することが可能になるので、定数データの読出
しに余分な回路、経路は不要になり、データ処理速度の
向上及び装置規模の小型化が図れる。
演算処理することが可能になるので、定数データの読出
しに余分な回路、経路は不要になり、データ処理速度の
向上及び装置規模の小型化が図れる。
第1図は本発明のデータ駆動型データ処理装置を組込ん
だデータフロー計算器のシステム構成を示すブロック図
、第2図は本発明のデータ駆動型データ処理装置の概略
の構成を示すブロック図、第3図及び第4図は本発明の
データ駆動型データ処理装置の詳細な構成を示すブロッ
ク図、第5図。 第6図、第7図及び第8図は本発明のデータ駆動型デー
タ処理装置に使用されるデータパケットの構成を示す模
式図、第9図は本発明のデータ駆動型データ処理装置の
プログラム記憶手段の記憶形式を示す模式図、第10図
、第11図及び第12図はコード対照を示す模式図、第
13図は条件判定処理部及び制御処理部の詳細な構成を
示すブロック図、第14図は条件判定回路の回路図、第
15図は条件判定回路のコード対照を示す模式図、第1
6図はノード番号更新回路の構成を示す回路図、第17
図は順序番号更新回路及び順序情報初期化回路の構成を
示す回路図である。 凹・・・プログラム記憶手段 NIF・・・ネットワー
クインターフェイス FC・・・発火制御手段 EX
E・・・命令実行手段 Q・・・キューメモリ201
・・・プログラムメモリ制御回路 203・・・プログ
ラムメモリ 206・・・フラグ情報210・・・ア
ドレスレジスタ 特 許 出願人 三洋電機株式会社 代理人 弁理士 河 野 登 夫 藁 1 図 入力 第 2 図 第 9 図 第 10 図 第 12 図 第15図
だデータフロー計算器のシステム構成を示すブロック図
、第2図は本発明のデータ駆動型データ処理装置の概略
の構成を示すブロック図、第3図及び第4図は本発明の
データ駆動型データ処理装置の詳細な構成を示すブロッ
ク図、第5図。 第6図、第7図及び第8図は本発明のデータ駆動型デー
タ処理装置に使用されるデータパケットの構成を示す模
式図、第9図は本発明のデータ駆動型データ処理装置の
プログラム記憶手段の記憶形式を示す模式図、第10図
、第11図及び第12図はコード対照を示す模式図、第
13図は条件判定処理部及び制御処理部の詳細な構成を
示すブロック図、第14図は条件判定回路の回路図、第
15図は条件判定回路のコード対照を示す模式図、第1
6図はノード番号更新回路の構成を示す回路図、第17
図は順序番号更新回路及び順序情報初期化回路の構成を
示す回路図である。 凹・・・プログラム記憶手段 NIF・・・ネットワー
クインターフェイス FC・・・発火制御手段 EX
E・・・命令実行手段 Q・・・キューメモリ201
・・・プログラムメモリ制御回路 203・・・プログ
ラムメモリ 206・・・フラグ情報210・・・ア
ドレスレジスタ 特 許 出願人 三洋電機株式会社 代理人 弁理士 河 野 登 夫 藁 1 図 入力 第 2 図 第 9 図 第 10 図 第 12 図 第15図
Claims (1)
- 【特許請求の範囲】 1、演算処理対象のデータと宛先情報とを含むデータパ
ケットが入力され、入力されたデータパケットに含まれ
る宛先情報を予めプログラム記憶手段に格納されている
データフロープログラムに従って書換えて出力し、これ
らのデータパケットの内から発火制御手段により前記宛
先情報が一致する二つのデータパケットを一対の処理対
象として検出し、両データパケットに含まれるデータに
所定の処理を施すデータ駆動型データ処理装置において
、前記プログラム記憶手段は、 データフロープログラムに従って、複数の宛先情報を格
納し、また定数データをそれに対応する宛先情報に連続
して読出されるべく格納するデータメモリと、 該データメモリに格納されているデータそれぞれに、各
データが読出された際に連続して読出されるべき定数デ
ータの存否を識別する定数データ識別手段とを備え、 前記データメモリから読出されたデータが定数データで
ある場合に、出力されるべきデータパケットのデータを
読出された定数データに書換えるべくなしたことを特徴
とするデータ駆動型データ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3776488A JPH01211127A (ja) | 1988-02-19 | 1988-02-19 | データ駆動型データ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3776488A JPH01211127A (ja) | 1988-02-19 | 1988-02-19 | データ駆動型データ処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01211127A true JPH01211127A (ja) | 1989-08-24 |
Family
ID=12506538
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3776488A Pending JPH01211127A (ja) | 1988-02-19 | 1988-02-19 | データ駆動型データ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01211127A (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63136232A (ja) * | 1986-11-28 | 1988-06-08 | Sharp Corp | 情報処理装置 |
| JPS6450130A (en) * | 1987-08-20 | 1989-02-27 | Mitsubishi Electric Corp | Associative storage device and data driving type computer |
-
1988
- 1988-02-19 JP JP3776488A patent/JPH01211127A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63136232A (ja) * | 1986-11-28 | 1988-06-08 | Sharp Corp | 情報処理装置 |
| JPS6450130A (en) * | 1987-08-20 | 1989-02-27 | Mitsubishi Electric Corp | Associative storage device and data driving type computer |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6289433B1 (en) | Superscalar RISC instruction scheduling | |
| US4675806A (en) | Data processing unit utilizing data flow ordered execution | |
| EP0644482B1 (en) | Dispatch of instructions to multiple execution units | |
| US4507728A (en) | Data processing system for parallel processing of different instructions | |
| EP0213842A2 (en) | Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor | |
| KR100346515B1 (ko) | 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일 | |
| KR0124812B1 (ko) | 독립적으로 액세스되는 중간 기억 장치를 이용하는 슈퍼스칼라 프로세서 시스템의 명령어 디스패치를 향상시키기 위한 시스템 및 그 방법 | |
| JPS623340A (ja) | 分岐方法 | |
| WO2001016715A9 (en) | Branch instructions in a multithreaded parallel processing system | |
| JPH05143443A (ja) | データ処理装置 | |
| US6003126A (en) | Special instruction register including allocation field utilized for temporary designation of physical registers as general registers | |
| JPH0553803A (ja) | プロセツサ | |
| JP3834145B2 (ja) | ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法 | |
| US7269716B2 (en) | Processor to efficiently rename decoded condition codes and instruction control method thereof | |
| HUT75816A (en) | Method of operation of a system for processing information, as well as the processing system | |
| US6104731A (en) | Method and apparatus for data forwarding in a processor having a dual banked register set | |
| JP2594093B2 (ja) | データ駆動型データ処理装置 | |
| JP2630779B2 (ja) | データ駆動型データ処理装置 | |
| EP0334131B1 (en) | Data processor performing operation on data having length shorter than one-word length | |
| JP2594091B2 (ja) | データ駆動型データ処理装置 | |
| JP2594092B2 (ja) | データ駆動型データ処理装置 | |
| JP2000163265A (ja) | 命令発行回路 | |
| JP2594140B2 (ja) | データ駆動型データ処理装置 | |
| JP2814683B2 (ja) | 命令処理装置 | |
| JP2639988B2 (ja) | データ駆動型データ処理装置 |