JP2594140B2 - データ駆動型データ処理装置 - Google Patents
データ駆動型データ処理装置Info
- Publication number
- JP2594140B2 JP2594140B2 JP28447388A JP28447388A JP2594140B2 JP 2594140 B2 JP2594140 B2 JP 2594140B2 JP 28447388 A JP28447388 A JP 28447388A JP 28447388 A JP28447388 A JP 28447388A JP 2594140 B2 JP2594140 B2 JP 2594140B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet
- program
- memory
- queue 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Description
【発明の詳細な説明】 (イ)産業上の利用分野 本発明は、データ駆動型のデータ処理装置に関するも
のであり、詳しくは、データ処理装置内部のキューメモ
リのオーバーフローを防止する機能をもつデータ駆動型
データ処理装置に関する。
のであり、詳しくは、データ処理装置内部のキューメモ
リのオーバーフローを防止する機能をもつデータ駆動型
データ処理装置に関する。
(ロ)従来の技術 一般に、データ駆動型のデータ処理装置は、種々の命
令がデータの流れを示すアークによって接続されるデー
タフローグラフをプログラムとして実行するものであ
り、データ値と制御情報を含むデータが種々の処理要素
を経て転送される間に、データフローグラフに沿って制
御情報の付け換えやデータの複製や命令実行が行なわれ
る。各処理要素は、データの到着に応じてそのデータに
所定の処理を施すように構成され、データが各処理要素
にどのようなタイミングで到着するかは予め規定されて
いない。つまり、外部からの入力、外部への出力、デー
タの複製処理等の種々の処理が発生するタイミングは予
め規定できない。
令がデータの流れを示すアークによって接続されるデー
タフローグラフをプログラムとして実行するものであ
り、データ値と制御情報を含むデータが種々の処理要素
を経て転送される間に、データフローグラフに沿って制
御情報の付け換えやデータの複製や命令実行が行なわれ
る。各処理要素は、データの到着に応じてそのデータに
所定の処理を施すように構成され、データが各処理要素
にどのようなタイミングで到着するかは予め規定されて
いない。つまり、外部からの入力、外部への出力、デー
タの複製処理等の種々の処理が発生するタイミングは予
め規定できない。
従って、データの複製処理などの、通常の処理時間よ
りも長い時間を要するような特殊な処理が発生した時に
は、その処理要素に後続して到着しようとしているデー
タは、その特殊な処理の終了を待つ必要がある。一般
に、データ駆動型データ処理装置においては、このよう
なデータを一時的にキューメモリに貯えて待たせてい
る。ところがキューメモリの容量には自ずと限界がある
ため、キューメモリのオーバーフローが生じる可能性が
ある。このようなオーバーフローが生じると、プログラ
ムの実行は不可能となり、実行を中止しなければならな
い。また、同じプログラムを再実行しても、やはり同じ
ようにオーバーフローを生じるため、プログラム(デー
タフローグラフの接続情報)を変更、修正して、再実行
させる作業を繰り返さなくてはならない。このような作
業は、一般に多大の時間を要するため、ハードウェアに
よってキューメモリのオーバーフローを防止する機能が
要求されている。
りも長い時間を要するような特殊な処理が発生した時に
は、その処理要素に後続して到着しようとしているデー
タは、その特殊な処理の終了を待つ必要がある。一般
に、データ駆動型データ処理装置においては、このよう
なデータを一時的にキューメモリに貯えて待たせてい
る。ところがキューメモリの容量には自ずと限界がある
ため、キューメモリのオーバーフローが生じる可能性が
ある。このようなオーバーフローが生じると、プログラ
ムの実行は不可能となり、実行を中止しなければならな
い。また、同じプログラムを再実行しても、やはり同じ
ようにオーバーフローを生じるため、プログラム(デー
タフローグラフの接続情報)を変更、修正して、再実行
させる作業を繰り返さなくてはならない。このような作
業は、一般に多大の時間を要するため、ハードウェアに
よってキューメモリのオーバーフローを防止する機能が
要求されている。
従来、例えば、昭和59年4月9日付で発行された日経
エレクトロニクスの第181頁から第218頁に開示されてい
るデータ駆動型のデータ処理装置、あるいは、特開昭58
−103037「キューメモリ装置」に示されているデータ駆
動型データ処理装置においては、データの複製を伴わな
いデータを待たせるデータキュー(DQ)、及びデータの
複製処理を伴うデータを待たせるジェネレータキュー
(GQ)を備え、データキュー(DQ)に貯えられているデ
ータ量がある程度以上になると、ジェネレータキュー
(GQ)からのデータの読み出しを停止することによっ
て、データキュー(DQ)のオーバーフローを防止してい
る。
エレクトロニクスの第181頁から第218頁に開示されてい
るデータ駆動型のデータ処理装置、あるいは、特開昭58
−103037「キューメモリ装置」に示されているデータ駆
動型データ処理装置においては、データの複製を伴わな
いデータを待たせるデータキュー(DQ)、及びデータの
複製処理を伴うデータを待たせるジェネレータキュー
(GQ)を備え、データキュー(DQ)に貯えられているデ
ータ量がある程度以上になると、ジェネレータキュー
(GQ)からのデータの読み出しを停止することによっ
て、データキュー(DQ)のオーバーフローを防止してい
る。
(ハ)発明が解決しようとする問題点 しかるに、上述の従来のデータ処理装置においては、
データキュー(DQ)のオーバーフローを防止するため
に、別のキューメモリであるジェネレータキュー(GQ)
を設けており、キューメモリのためのハードウエア量が
大きくなってしまい、結果的にデータ処理装置全体のハ
ードウエア量が大きくなってしまうという問題点があっ
た。
データキュー(DQ)のオーバーフローを防止するため
に、別のキューメモリであるジェネレータキュー(GQ)
を設けており、キューメモリのためのハードウエア量が
大きくなってしまい、結果的にデータ処理装置全体のハ
ードウエア量が大きくなってしまうという問題点があっ
た。
更に、上述の従来のデータ処理装置においてはデータ
の複製処理を伴うデータを待たせるジェネレータキュー
(GQ)のオーバフローを防止する機能を有していないと
いう問題点があった。
の複製処理を伴うデータを待たせるジェネレータキュー
(GQ)のオーバフローを防止する機能を有していないと
いう問題点があった。
従って、本発明の目的は、特殊な別系統のキューメモ
リを設けずに、単一のキューメモリにデータ複製処理を
伴うデータ、及びデータ複製処理を伴わないデータを混
在して待たせ、ハードウェア量の大幅な増加を必要とせ
ずに、キューメモリのオーバーフローを総合的に防止す
ることのできるデータ駆動型データ処理装置を提供する
ことである。
リを設けずに、単一のキューメモリにデータ複製処理を
伴うデータ、及びデータ複製処理を伴わないデータを混
在して待たせ、ハードウェア量の大幅な増加を必要とせ
ずに、キューメモリのオーバーフローを総合的に防止す
ることのできるデータ駆動型データ処理装置を提供する
ことである。
(ニ)問題点を解決するための手段 本発明のデータ駆動型データ処理装置は、キューメモ
リを1ケ所に集中して保持し、更に、このキューメモリ
の中のデータ量を監視するデータ量監視手段と、キュー
メモリ中のデータ滞在量に応じてデータの複製処理を行
なうデータ複製手段を保持するものである。
リを1ケ所に集中して保持し、更に、このキューメモリ
の中のデータ量を監視するデータ量監視手段と、キュー
メモリ中のデータ滞在量に応じてデータの複製処理を行
なうデータ複製手段を保持するものである。
(ホ)作用 本発明のデータ駆動型データ処理装置は、そのプログ
ラム記憶手段には、到着したデータに付加すべき制御情
報が、データフローグラフのノード識別子(ノード番
号)と対応づけられてテーブル形式で格納される。デー
タフローグラフに従って処理装置内部でデータの複製を
行なう時には、データ複製手段によってこのテーブルが
連続的にアクセスされて、同一のデータに種々の制御情
報が付加されてプログラム記憶手段から連続的に出力さ
れる。この間、キューメモリからの出力は禁止され、キ
ューメモリへの入力データはキューメモリ内部に滞るこ
とになる。データ量監視手段はこのキューメモリ中のデ
ータ滞在量を監視し、データ複製手段に伝える。データ
複製手段は、データ滞在量が所定の値より小さい時は、
1つのデータの到着に応じて、プログラム(データフロ
ーグラフ)に従った数のデータを連続的に出力する。つ
まりこの時、原理的には、1つのデータの到着に応じて
複製するデータの数は無制限である。
ラム記憶手段には、到着したデータに付加すべき制御情
報が、データフローグラフのノード識別子(ノード番
号)と対応づけられてテーブル形式で格納される。デー
タフローグラフに従って処理装置内部でデータの複製を
行なう時には、データ複製手段によってこのテーブルが
連続的にアクセスされて、同一のデータに種々の制御情
報が付加されてプログラム記憶手段から連続的に出力さ
れる。この間、キューメモリからの出力は禁止され、キ
ューメモリへの入力データはキューメモリ内部に滞るこ
とになる。データ量監視手段はこのキューメモリ中のデ
ータ滞在量を監視し、データ複製手段に伝える。データ
複製手段は、データ滞在量が所定の値より小さい時は、
1つのデータの到着に応じて、プログラム(データフロ
ーグラフ)に従った数のデータを連続的に出力する。つ
まりこの時、原理的には、1つのデータの到着に応じて
複製するデータの数は無制限である。
一方、データ滞在量が所定の値以上になると、一つの
データの到着に応じて複製するデータの数の上限値を小
さい値(例えば2)に限定する。これによって、キュー
メモリの出力を禁止する時間の短時間に押さえるととも
に、処理装置内部のデータ量、及びキューメモリに入力
されるデータ量が増加するのを抑制することができ、キ
ューメモリのオーバーフローを未然に防ぐことができ
る。
データの到着に応じて複製するデータの数の上限値を小
さい値(例えば2)に限定する。これによって、キュー
メモリの出力を禁止する時間の短時間に押さえるととも
に、処理装置内部のデータ量、及びキューメモリに入力
されるデータ量が増加するのを抑制することができ、キ
ューメモリのオーバーフローを未然に防ぐことができ
る。
(ヘ)実施例 第1図に本発明のデータ駆動型データ処理装置を用い
たシステム例としてデータフロー計算機システムの概要
を示す。同図のシステムは、システム内部のデータの基
本単位であるデータパケット(本来のデータ値の他に制
御情報を組み合わせたもの)を転送するリング状転送路
であるリングネットワーク(RN)に、それ自身がリング
ネットワーク(RN)の一部をなしデータパケットの入出
力を制御するネットワークインタフェース(NIF)(NI
F)(NIF1)・・・(NIFn)を介して、ホストインタフ
ェース(HI)、データ記憶装置(DM)、データフロー計
算装置1(DFC1)、・・・、データフロー計算装置n
(DFCn)が結合されて、ホストインタフェース(HI)に
はさらにホスト計算機(HC)がつながっている。
たシステム例としてデータフロー計算機システムの概要
を示す。同図のシステムは、システム内部のデータの基
本単位であるデータパケット(本来のデータ値の他に制
御情報を組み合わせたもの)を転送するリング状転送路
であるリングネットワーク(RN)に、それ自身がリング
ネットワーク(RN)の一部をなしデータパケットの入出
力を制御するネットワークインタフェース(NIF)(NI
F)(NIF1)・・・(NIFn)を介して、ホストインタフ
ェース(HI)、データ記憶装置(DM)、データフロー計
算装置1(DFC1)、・・・、データフロー計算装置n
(DFCn)が結合されて、ホストインタフェース(HI)に
はさらにホスト計算機(HC)がつながっている。
同システムのデータフロー計算装置n(DFCn)とネッ
トワークインタフェース(NIFn)とを合わせたものは、
内部がリング状をなすデータ駆動型データ処理装置とし
て動作し、データフローグラフによって記述されたデー
タ駆動型(データフロー型)のプログラムを実行する。
具体的には、まずホスト計算機(HC)から、ホストイン
タフェース(HI)、ネットワークインタフェース(NI
F)、リングネットワーク(RN)、ネットワークインタ
フェース(NIFn)を介してデータフロー計算装置n(DF
Cn)にプログラムがダウンロードされ、次に同じ経路
で、プログラムの実行を開始させるデータパケットであ
る開始パケットがデータフロー計算装置n(DFCn)に入
力されるとプログラムの実行が開始され、プログラムの
実行が終了すると、実行の終了を示すデータパケットで
ある終了パケットが、データフロー計算装置n(DFCn)
からネットワークインタフェース(NIFn)、リングネッ
トワーク(RN)、ネットワークインタフェース(NI
F)、ホストインターフェース(HI)を介してホスト計
算機(HC)に出力される。
トワークインタフェース(NIFn)とを合わせたものは、
内部がリング状をなすデータ駆動型データ処理装置とし
て動作し、データフローグラフによって記述されたデー
タ駆動型(データフロー型)のプログラムを実行する。
具体的には、まずホスト計算機(HC)から、ホストイン
タフェース(HI)、ネットワークインタフェース(NI
F)、リングネットワーク(RN)、ネットワークインタ
フェース(NIFn)を介してデータフロー計算装置n(DF
Cn)にプログラムがダウンロードされ、次に同じ経路
で、プログラムの実行を開始させるデータパケットであ
る開始パケットがデータフロー計算装置n(DFCn)に入
力されるとプログラムの実行が開始され、プログラムの
実行が終了すると、実行の終了を示すデータパケットで
ある終了パケットが、データフロー計算装置n(DFCn)
からネットワークインタフェース(NIFn)、リングネッ
トワーク(RN)、ネットワークインタフェース(NI
F)、ホストインターフェース(HI)を介してホスト計
算機(HC)に出力される。
第2図に本発明のデータ駆動型データ処理装置の概略
構成を示す。同図の装置に於いて(Q)はキューメモ
リ、(PM)はプログラム記憶手段、(NIF)はネットワ
ークインタフェース、(FC)は発火制御手段、(EXE)
は命令実行手段であり、各処理要素がリング状に結合さ
れている。(1)〜と(30)、(40)、(50)はデータ
線である。
構成を示す。同図の装置に於いて(Q)はキューメモ
リ、(PM)はプログラム記憶手段、(NIF)はネットワ
ークインタフェース、(FC)は発火制御手段、(EXE)
は命令実行手段であり、各処理要素がリング状に結合さ
れている。(1)〜と(30)、(40)、(50)はデータ
線である。
第2図を用いて本データ処理装置の動作の概略を説明
する。ホスト計算機(HC)からロードされたプログラム
(データフローグラフ)は、プログラム記憶手段(PM)
に格納される。開始パケットが上記各要素(NIF)、(F
C)、(EXE)、(Q)を介してプログラム記憶手段(P
M)に到着するとプログラムの実行が開始される。プロ
グラムの実行中に該記憶手段(PM)に入力されるパケッ
トの制御情報はこのデータフローグラフに従って付け替
えられたり、同じくデータフローグラフに従ってデータ
パケットの複製処理が行なわれたりする。プログラム記
憶手段(PM)から出力されたパケットはネットワークイ
ンターフェース(NIF)において外部に出力されるか発
火制御手段(FC)に向けて転送されるかの選択がなされ
る。この発火制御手段(FC)では主に、二項演算命令な
どの左オペランドと右オペランドをデータ対として検出
して、二つのオペランドを対にして出力する発火制御処
理を行なう。左オペランドは出力ライン(5)に右オペ
ランドは出力ライン(50)に出力される。命令実行手段
(EXE)では、到着したパケットの制御情報によって指
定される命令を到着したパケットに対して施して出力す
る。発火制御手段(FC)命令実行手段(EXE)において
はパケットが滞ることがないがネットワークインターフ
ェース(NIF)において外部からパケットが入力される
時と出力しようとして出力できない時、及びプログラム
記憶手段(PM)においてデータの複製処理が行なわれる
時はビジー状態となり後続するデータパケットは停止し
てビジー状態の解除を待たなければならない。キューメ
モリ(Q)はこのような時にデータを一時格納して待た
せるためのパッファリング機能を遂行する。キューメモ
リ(Q)は、内部のキューメモリ中のデータ滞在量を監
視するデータ監視手段を含んでいる。プログラム記憶手
段(PM)においてデータ複製処理の必要が生じた時、キ
ューメモリ(Q)のデータ滞在量が所定の値より小さい
ならばプログラム記憶手段(PM)に格納されたプログラ
ムに従った数の複製データを連続して出力するが、キュ
ーメモリ(Q)のデータ滞在量が所定の値以上ならば一
度に連続して出力する複製データの数を2以下に制限
し、ビジー状態の期間を最小限に押さえる。これによっ
て、キューメモリ(Q)のデータ滞在量の増加を抑制
し、キューメモリ(Q)のオーバーフローを防ぐことが
できる。
する。ホスト計算機(HC)からロードされたプログラム
(データフローグラフ)は、プログラム記憶手段(PM)
に格納される。開始パケットが上記各要素(NIF)、(F
C)、(EXE)、(Q)を介してプログラム記憶手段(P
M)に到着するとプログラムの実行が開始される。プロ
グラムの実行中に該記憶手段(PM)に入力されるパケッ
トの制御情報はこのデータフローグラフに従って付け替
えられたり、同じくデータフローグラフに従ってデータ
パケットの複製処理が行なわれたりする。プログラム記
憶手段(PM)から出力されたパケットはネットワークイ
ンターフェース(NIF)において外部に出力されるか発
火制御手段(FC)に向けて転送されるかの選択がなされ
る。この発火制御手段(FC)では主に、二項演算命令な
どの左オペランドと右オペランドをデータ対として検出
して、二つのオペランドを対にして出力する発火制御処
理を行なう。左オペランドは出力ライン(5)に右オペ
ランドは出力ライン(50)に出力される。命令実行手段
(EXE)では、到着したパケットの制御情報によって指
定される命令を到着したパケットに対して施して出力す
る。発火制御手段(FC)命令実行手段(EXE)において
はパケットが滞ることがないがネットワークインターフ
ェース(NIF)において外部からパケットが入力される
時と出力しようとして出力できない時、及びプログラム
記憶手段(PM)においてデータの複製処理が行なわれる
時はビジー状態となり後続するデータパケットは停止し
てビジー状態の解除を待たなければならない。キューメ
モリ(Q)はこのような時にデータを一時格納して待た
せるためのパッファリング機能を遂行する。キューメモ
リ(Q)は、内部のキューメモリ中のデータ滞在量を監
視するデータ監視手段を含んでいる。プログラム記憶手
段(PM)においてデータ複製処理の必要が生じた時、キ
ューメモリ(Q)のデータ滞在量が所定の値より小さい
ならばプログラム記憶手段(PM)に格納されたプログラ
ムに従った数の複製データを連続して出力するが、キュ
ーメモリ(Q)のデータ滞在量が所定の値以上ならば一
度に連続して出力する複製データの数を2以下に制限
し、ビジー状態の期間を最小限に押さえる。これによっ
て、キューメモリ(Q)のデータ滞在量の増加を抑制
し、キューメモリ(Q)のオーバーフローを防ぐことが
できる。
各処理要素において上記のような処理が施されながら
データパケットが周回することによってプログラムが実
行される。また、データ処理装置内部に複数のデータパ
ケットが存在する時には、各々のデータパケットに対し
て、異なる処理要素において同時に異なる処理を施すパ
イプライン型の処理を行なうことができる。従って本デ
ータ処理装置は、リング状のパイプライン型データ処理
装置であると言える。
データパケットが周回することによってプログラムが実
行される。また、データ処理装置内部に複数のデータパ
ケットが存在する時には、各々のデータパケットに対し
て、異なる処理要素において同時に異なる処理を施すパ
イプライン型の処理を行なうことができる。従って本デ
ータ処理装置は、リング状のパイプライン型データ処理
装置であると言える。
第3図にキューメモリ(Q)の更に詳細な構成図を示
し、第4図にプログラム記憶手段(PM)の更に詳細な構
成図を示す。更に、第5図〜第8図に本データ処理装置
に適用するデータパケットの構成を示す。第5図はデー
タをデータ処理装置内部の所定のメモリにダウンロード
するためのロードパケット、第6図はデータ処理装置内
部の所定のメモリからデータをダンプする(読み出す)
ためのダンプパケット、第7図及び第8図はプログラム
の実行中に処理される実行パケットであり、発火制御手
段(FC)において対となる左右のオペランドが検出され
て、二つのオペランドが組になって出力されたときに第
7図の構成となる。全てのデータパケットは2語構成で
あり、1語目と2語目はヘッダ識別子〔H〕によって識
別される。各データパケットはデータ値とその他の情報
(制御情報)から成る。制御情報のうち〔f1、f0〕はパ
ケット識別子であり第10図のように定義されている。モ
ジュール番号は、ホストインターフェース(H1)、デー
タ記憶装置(DM)、及び各データフロー計算装置(DFC
1)、(DFC2)、・・・(DFCn)などの各処理モジュー
ルを識別する番号であり、各モジュールは自分の番号を
持っており自分のモジュール番号を持ったデータパケッ
トのみを入力するようになっている。対象メモリ番号
〔S2S1S0〕はロードあるいはダンプの際に対象となるメ
モリを指定する番号である。セレクションコード〔S2S1
S0〕は、データ処理装置内部でデータパケットが処理さ
れる経路を規定したものであり各コード値は第11図に示
すような意味を持つ。即ち、例えば、開始パケットは、
〔S2S1S0〕=〔000〕というプログラム記憶手段(PM)
宛のセレクションコードを保持しており、これが記憶手
段(PM)において〔S2S1S0〕=〔101〕に付け替えられ
ると、〔S2S1S0〕=〔101〕を保持したパケットは発火
制御手段(FC)において処理され、該手段(FC)は処理
を終えるとセレクションコードを〔S2S1S0〕=〔001〕
に変更したパケットを出力する。するとこのパケットは
次には命令実行手段(EXE)において処理され、該手段
(EXE)は処理を終えるとセレクションコードを〔S2S1S
0〕=〔000〕に変更したパケットを出力することによ
り、パケットは再びプログラム記憶手段(PM)において
処理される。このように、各処理要素は第11図に示す所
定のセレクションコードを保持したパケットのみを処理
しそれ以外のパケットは何も行なわずに通過させるとと
もに、処理を施したパケットに対して各処理要素がその
セレクションコードを次の処理要素に向けて更新するこ
とによって、プログラムの実行処理が進行する。この他
に、ノード番号はデータフローグラフの各ノードを識別
する番号、環境番号は例えば本データ処理装置の複数の
使用者が本データ処理装置にロードされた同一のプログ
ラムを同時に実行する際に、各使用者を識別するための
番号である。また、順序番号は相互に順序関係を持ち同
一のノード番号と環境番号を保持した複数のデータパケ
ットに対して同一のプログラムで記述された処理を行な
う時に各データパケットの順序関係を識別する番号であ
り、〔E〕順序関係を持つ複数のデータパケットのうち
の末尾のデータパケットであるときのみ1となる末尾フ
ラグである。〔ノード番号〕、〔環境番号〕、〔順序番
号〕を合わせたものをタグと呼び、このタグの一致した
二つのパケットが二項演算の左右オペランドとして検出
される。〔L/R〕は左右オペランドを区別するフラグで
あり、左オペランドの時1となる。〔CY〕、〔OV〕は演
算の結果格納される演算フラグであり、〔CY〕はキャリ
ー(桁上げ)フラグ、〔OV〕はオーバーフロー(桁あふ
れ)フラグである。〔TF〕は条件判定命令の実行によっ
て格納される真偽フラグであり、判定結果が、真の時
1、偽の時0となる。第9図にプログラム記憶手段にお
ける記憶形式を示す。
し、第4図にプログラム記憶手段(PM)の更に詳細な構
成図を示す。更に、第5図〜第8図に本データ処理装置
に適用するデータパケットの構成を示す。第5図はデー
タをデータ処理装置内部の所定のメモリにダウンロード
するためのロードパケット、第6図はデータ処理装置内
部の所定のメモリからデータをダンプする(読み出す)
ためのダンプパケット、第7図及び第8図はプログラム
の実行中に処理される実行パケットであり、発火制御手
段(FC)において対となる左右のオペランドが検出され
て、二つのオペランドが組になって出力されたときに第
7図の構成となる。全てのデータパケットは2語構成で
あり、1語目と2語目はヘッダ識別子〔H〕によって識
別される。各データパケットはデータ値とその他の情報
(制御情報)から成る。制御情報のうち〔f1、f0〕はパ
ケット識別子であり第10図のように定義されている。モ
ジュール番号は、ホストインターフェース(H1)、デー
タ記憶装置(DM)、及び各データフロー計算装置(DFC
1)、(DFC2)、・・・(DFCn)などの各処理モジュー
ルを識別する番号であり、各モジュールは自分の番号を
持っており自分のモジュール番号を持ったデータパケッ
トのみを入力するようになっている。対象メモリ番号
〔S2S1S0〕はロードあるいはダンプの際に対象となるメ
モリを指定する番号である。セレクションコード〔S2S1
S0〕は、データ処理装置内部でデータパケットが処理さ
れる経路を規定したものであり各コード値は第11図に示
すような意味を持つ。即ち、例えば、開始パケットは、
〔S2S1S0〕=〔000〕というプログラム記憶手段(PM)
宛のセレクションコードを保持しており、これが記憶手
段(PM)において〔S2S1S0〕=〔101〕に付け替えられ
ると、〔S2S1S0〕=〔101〕を保持したパケットは発火
制御手段(FC)において処理され、該手段(FC)は処理
を終えるとセレクションコードを〔S2S1S0〕=〔001〕
に変更したパケットを出力する。するとこのパケットは
次には命令実行手段(EXE)において処理され、該手段
(EXE)は処理を終えるとセレクションコードを〔S2S1S
0〕=〔000〕に変更したパケットを出力することによ
り、パケットは再びプログラム記憶手段(PM)において
処理される。このように、各処理要素は第11図に示す所
定のセレクションコードを保持したパケットのみを処理
しそれ以外のパケットは何も行なわずに通過させるとと
もに、処理を施したパケットに対して各処理要素がその
セレクションコードを次の処理要素に向けて更新するこ
とによって、プログラムの実行処理が進行する。この他
に、ノード番号はデータフローグラフの各ノードを識別
する番号、環境番号は例えば本データ処理装置の複数の
使用者が本データ処理装置にロードされた同一のプログ
ラムを同時に実行する際に、各使用者を識別するための
番号である。また、順序番号は相互に順序関係を持ち同
一のノード番号と環境番号を保持した複数のデータパケ
ットに対して同一のプログラムで記述された処理を行な
う時に各データパケットの順序関係を識別する番号であ
り、〔E〕順序関係を持つ複数のデータパケットのうち
の末尾のデータパケットであるときのみ1となる末尾フ
ラグである。〔ノード番号〕、〔環境番号〕、〔順序番
号〕を合わせたものをタグと呼び、このタグの一致した
二つのパケットが二項演算の左右オペランドとして検出
される。〔L/R〕は左右オペランドを区別するフラグで
あり、左オペランドの時1となる。〔CY〕、〔OV〕は演
算の結果格納される演算フラグであり、〔CY〕はキャリ
ー(桁上げ)フラグ、〔OV〕はオーバーフロー(桁あふ
れ)フラグである。〔TF〕は条件判定命令の実行によっ
て格納される真偽フラグであり、判定結果が、真の時
1、偽の時0となる。第9図にプログラム記憶手段にお
ける記憶形式を示す。
以下では、第3図、第4図及び第9図を用いて本デー
タ処理装置の動作を更に詳細に説明する。
タ処理装置の動作を更に詳細に説明する。
I.キューメモリ(Q)の動作 キューメモリ(Q)は、FIFOメモリ(103)、FIFO制
御回路(102)、及びデータ量監視視手段(MONIT)から
構成される。データ量監視手段(MONIT)は、カウンタ
(109)、デコーダ(111)を含む。
御回路(102)、及びデータ量監視視手段(MONIT)から
構成される。データ量監視手段(MONIT)は、カウンタ
(109)、デコーダ(111)を含む。
カウンタ(109)の出力は、キューメモリ滞在データ
数(110)であり、これは、外部からのカウンタリセッ
ト信号(108)によってゼロに初期化される。
数(110)であり、これは、外部からのカウンタリセッ
ト信号(108)によってゼロに初期化される。
データ線(1)にデータパケットの1語目が到着する
とヘッダ識別信号(101)がハイレベルになりこれに応
じて、FIFO制御回路(102)は書き込み信号(105)を出
力して到着したデータパケットを1語目、2語目の順に
FIFOメモリ(103)に書き込む。この時、インクリメン
ト信号(107)によってカウンタ(109)は、インクリメ
ントされる。
とヘッダ識別信号(101)がハイレベルになりこれに応
じて、FIFO制御回路(102)は書き込み信号(105)を出
力して到着したデータパケットを1語目、2語目の順に
FIFOメモリ(103)に書き込む。この時、インクリメン
ト信号(107)によってカウンタ(109)は、インクリメ
ントされる。
FIFO制御回路(102)は、キューメモリ滞在データ数
(110)がゼロでなく、かつ待ち要求信号(204)によっ
て待ちが要求されていなければ、読み出し信号(104)
が出力して、FIFOメモリ(103)に書き込まれているデ
ータパケットのうち一番早く書き込まれたデータパケッ
トを、1語目、2語目の順に読み出してデータ線2に出
力する。
(110)がゼロでなく、かつ待ち要求信号(204)によっ
て待ちが要求されていなければ、読み出し信号(104)
が出力して、FIFOメモリ(103)に書き込まれているデ
ータパケットのうち一番早く書き込まれたデータパケッ
トを、1語目、2語目の順に読み出してデータ線2に出
力する。
FIFOメモリ(103)に滞在するデータパケット数(11
0)がゼロの時、または待ち要求信号(204)によって待
ちが要求されている時は、読みだし信号(104)が禁止
されてFIFOメモリ(103)からの読みだしが禁止され、F
IFOメモリ(103)への書き込みのみが許可される。
0)がゼロの時、または待ち要求信号(204)によって待
ちが要求されている時は、読みだし信号(104)が禁止
されてFIFOメモリ(103)からの読みだしが禁止され、F
IFOメモリ(103)への書き込みのみが許可される。
また、データ量監視手段(MONIT)内のデコーダ(11
1)はキューメモリ滞在データ数(110)が所定の値(例
えばFIFOメモリの最大量の15/16)以上になると、デー
タ複製処理抑制信号(112)を出力する。
1)はキューメモリ滞在データ数(110)が所定の値(例
えばFIFOメモリの最大量の15/16)以上になると、デー
タ複製処理抑制信号(112)を出力する。
II.プログラム記憶手段(PM)の動作 プログラム記憶手段(PM)は、プログラムメモリ(20
3)、データ複製手段(201)、インクリメント機能をも
ったヘッダレジスタ(R1)及びアドレスレジスタ(21
0)、及びテイルレジスタ(R2)から構成されている。
3)、データ複製手段(201)、インクリメント機能をも
ったヘッダレジスタ(R1)及びアドレスレジスタ(21
0)、及びテイルレジスタ(R2)から構成されている。
データ線(2)にデータパケットが到着するとプロデ
ータ複製手段(201)に制御情報(202)が入力され、ア
ドレスレジスタ(210)にはロード(ダンプ)パケット
の時はアドレスが、実行パケットの時はノード番号がア
ドレス情報線(211)を経てラッチされるとともにレジ
スタ(R1)にパケットの1語目がラッチされる。アドレ
スレジスタ(210)の出力はプログラムメモリ(203)へ
のアドレスとなる。制御情報がプログラムメモリ(20
3)へのロードを示しておれば、次のタイミングでパケ
ットの2語目のデータ値がレジスタ(R2)から出力さ
れ、書き込み信号(208)によってデータ線(212)を介
してプログラムメモリ(203)に書き込まれる。制御情
報がプログラムメモリ(203)からのダンプを示してお
れば、読みだし信号(207)によってデータ線(212)を
介してプログラムメモリ(203)からデータ値が読みだ
されパケットの2語目に格納される。
ータ複製手段(201)に制御情報(202)が入力され、ア
ドレスレジスタ(210)にはロード(ダンプ)パケット
の時はアドレスが、実行パケットの時はノード番号がア
ドレス情報線(211)を経てラッチされるとともにレジ
スタ(R1)にパケットの1語目がラッチされる。アドレ
スレジスタ(210)の出力はプログラムメモリ(203)へ
のアドレスとなる。制御情報がプログラムメモリ(20
3)へのロードを示しておれば、次のタイミングでパケ
ットの2語目のデータ値がレジスタ(R2)から出力さ
れ、書き込み信号(208)によってデータ線(212)を介
してプログラムメモリ(203)に書き込まれる。制御情
報がプログラムメモリ(203)からのダンプを示してお
れば、読みだし信号(207)によってデータ線(212)を
介してプログラムメモリ(203)からデータ値が読みだ
されパケットの2語目に格納される。
ロードパケットによってプログラムメモリ(203)に
はデータフログラフ(プログラム)の接続構造とプログ
ラムの実行中に使用される定数データ値が第9図に示す
ような形式でロードされる。同図におけるモジュール番
号、セレクションコード、L/R、ノード番号は、プログ
ラム制御手段(PM)に到着したパケットに新しく付加す
るための制御情報である。この他に定数データ値が格納
されていることを示す定数フラグ、データパケットの複
製処理を行なうことを示すコピーフラグが記憶されてい
る。
はデータフログラフ(プログラム)の接続構造とプログ
ラムの実行中に使用される定数データ値が第9図に示す
ような形式でロードされる。同図におけるモジュール番
号、セレクションコード、L/R、ノード番号は、プログ
ラム制御手段(PM)に到着したパケットに新しく付加す
るための制御情報である。この他に定数データ値が格納
されていることを示す定数フラグ、データパケットの複
製処理を行なうことを示すコピーフラグが記憶されてい
る。
再び第3図に戻り、プログラム制御手段(PM)に到着
したパケットが該手段(PM)で処理される実行パケット
(セレクションコード[S2S1S0]=[000])であれば
アドレスレジスタ(210)に保持されたノード番号をア
ドレスとしてプログラムメモリ(PM)を読みだし、パケ
ットの1語目のうちのモジュール番号、セレクションコ
ード、L/R、ノード番号のフィールドを第9図に示すよ
うな新しい制御情報に置換して、パケットの2語目のデ
ータ値はそのままにして出力する。この時プログラムメ
モリ(203)から読みだされてデータ複製手段(201)に
入力されているフラグ情報(206)(定数フラグ、コピ
ーフラグ)のうちのコピーフラグが“0"であれば到着し
たパケットに対する処理を終了する。
したパケットが該手段(PM)で処理される実行パケット
(セレクションコード[S2S1S0]=[000])であれば
アドレスレジスタ(210)に保持されたノード番号をア
ドレスとしてプログラムメモリ(PM)を読みだし、パケ
ットの1語目のうちのモジュール番号、セレクションコ
ード、L/R、ノード番号のフィールドを第9図に示すよ
うな新しい制御情報に置換して、パケットの2語目のデ
ータ値はそのままにして出力する。この時プログラムメ
モリ(203)から読みだされてデータ複製手段(201)に
入力されているフラグ情報(206)(定数フラグ、コピ
ーフラグ)のうちのコピーフラグが“0"であれば到着し
たパケットに対する処理を終了する。
もしコピーフラグが“1"であれば、待ち要求信号(20
4)によりキューメモリ(Q)に待ちを要求する。更に
この時、データ複製処理抑制信号(112)が出力されて
いるかどうかをデータ複製手段(201)において判定す
る。
4)によりキューメモリ(Q)に待ちを要求する。更に
この時、データ複製処理抑制信号(112)が出力されて
いるかどうかをデータ複製手段(201)において判定す
る。
抑制信号(112)が出力されていなければ、アドレス
レジスタ(210)をインクリメントして、プログラムメ
モリ(203)の次の番地を読み出し、読み出した新しい
制御情報に置換してパケットの1語目を出力するととも
にデータラムメモリ制御回路(201)に新たなフラグ情
報を入力し、新たに読み出した定数フラグが“0"であれ
ば出力するパケットの2語目のデータ値として、入力パ
ケットの保持していたデータ値をそのまま出力し、新た
に読み出した定数フラグが“1"であればアドレスレジス
タ(210)をさらにインクリメントしてプログラムメモ
リ(203)に格納されている定数データ値を読み出し、
出力するパケットの2語目のデータ値として、この定数
データ値を出力する。このような動作を、キューメモリ
を待ち状態にしたまま、新たに読み出したコピーフラグ
が“0"になるまで繰り返す。(複製数無制限のパケット
複製処理) 一方、抑制信号(112)が出力されていれば、ヘッダ
レジスタ(R1)に保持されている到着したデデータパケ
ットの制御情報のうちのノード番号を1インクリメント
した制御情報を1語目のデータとしてデータ線(3)に
出力し、しかる後に、到着したデータパケットの2語目
のデータ値をテイルレジスタ(R2)を介してデータ線
(3)に出力して、到着した一つのデータパケットに対
する処理を終了する。従って、例えば、第9図のような
形式でプログラムが記憶されている時に、ノード番号m
を保持したデータパケットが到着すると、抑制信号(11
2)が出力されていない時は、プログラムメモリ(203)
のm番地、m+1番地、m+2番地の内容を制御情報と
した3つのデータパケットが連続的に出力され、2つの
パケットを出力する間、キューメモリは出力禁止状態と
なる。一方、抑制信号(112)が出力されていれば、m
番地の制御情報を保持したデータパケット、及び到着し
たデータパケットのノード番号を1インクリメントした
ノード番号m+1を保持したデータパケットの2つのデ
ータパケットを出力し、1つのパケット出力する間のみ
キューメモリ(Q)は禁止状態となる。ここで出力した
m+1のノード番号を保持したデータパケットは、パイ
プラインリング上を周回し、しかるべき後に、再びプロ
グラム記憶手段(PS)に到着する。この時も、やはり抑
制信号(112)の有無に応じて同様に選択的に処理を行
なう。即ち、通常は、データ駆動型処理方式の利点を生
かして一度に多数のデータを複製する並列的処理を進
め、キューメモリのデータ滞在量が所定の値以上になる
と、逐次的処理に変更することになる。このような処理
方式により、キューメモリのオーバーフローが防止され
る。
レジスタ(210)をインクリメントして、プログラムメ
モリ(203)の次の番地を読み出し、読み出した新しい
制御情報に置換してパケットの1語目を出力するととも
にデータラムメモリ制御回路(201)に新たなフラグ情
報を入力し、新たに読み出した定数フラグが“0"であれ
ば出力するパケットの2語目のデータ値として、入力パ
ケットの保持していたデータ値をそのまま出力し、新た
に読み出した定数フラグが“1"であればアドレスレジス
タ(210)をさらにインクリメントしてプログラムメモ
リ(203)に格納されている定数データ値を読み出し、
出力するパケットの2語目のデータ値として、この定数
データ値を出力する。このような動作を、キューメモリ
を待ち状態にしたまま、新たに読み出したコピーフラグ
が“0"になるまで繰り返す。(複製数無制限のパケット
複製処理) 一方、抑制信号(112)が出力されていれば、ヘッダ
レジスタ(R1)に保持されている到着したデデータパケ
ットの制御情報のうちのノード番号を1インクリメント
した制御情報を1語目のデータとしてデータ線(3)に
出力し、しかる後に、到着したデータパケットの2語目
のデータ値をテイルレジスタ(R2)を介してデータ線
(3)に出力して、到着した一つのデータパケットに対
する処理を終了する。従って、例えば、第9図のような
形式でプログラムが記憶されている時に、ノード番号m
を保持したデータパケットが到着すると、抑制信号(11
2)が出力されていない時は、プログラムメモリ(203)
のm番地、m+1番地、m+2番地の内容を制御情報と
した3つのデータパケットが連続的に出力され、2つの
パケットを出力する間、キューメモリは出力禁止状態と
なる。一方、抑制信号(112)が出力されていれば、m
番地の制御情報を保持したデータパケット、及び到着し
たデータパケットのノード番号を1インクリメントした
ノード番号m+1を保持したデータパケットの2つのデ
ータパケットを出力し、1つのパケット出力する間のみ
キューメモリ(Q)は禁止状態となる。ここで出力した
m+1のノード番号を保持したデータパケットは、パイ
プラインリング上を周回し、しかるべき後に、再びプロ
グラム記憶手段(PS)に到着する。この時も、やはり抑
制信号(112)の有無に応じて同様に選択的に処理を行
なう。即ち、通常は、データ駆動型処理方式の利点を生
かして一度に多数のデータを複製する並列的処理を進
め、キューメモリのデータ滞在量が所定の値以上になる
と、逐次的処理に変更することになる。このような処理
方式により、キューメモリのオーバーフローが防止され
る。
(ト)発明の効果 以上述べたように、本発明のデータ駆動型データ処理
装置は、ハードウェアの大幅な増加を必要とせずに、デ
ータ複製処理によって生じるキューメモリのオーバーフ
ローを未然に防ぐことができる。これによって、キュー
メモリの最大容量に見合った効率的なデータ駆動型プロ
グラム実行が可能となる。
装置は、ハードウェアの大幅な増加を必要とせずに、デ
ータ複製処理によって生じるキューメモリのオーバーフ
ローを未然に防ぐことができる。これによって、キュー
メモリの最大容量に見合った効率的なデータ駆動型プロ
グラム実行が可能となる。
更に、これによって、オーバーフローの発生に伴う、
プログラムの変更、修正、再実行といった作業の必要が
無くなり、ハードウェアの制限を意識せずにプログラム
が作成できるようになるためプログラム開発効率が大幅
に向上する。
プログラムの変更、修正、再実行といった作業の必要が
無くなり、ハードウェアの制限を意識せずにプログラム
が作成できるようになるためプログラム開発効率が大幅
に向上する。
第1図は本発明を用いたデータ駆動型データ処理装置が
用いられるデータフロー計算機システムの構成図、第2
図は本発明を用いたデータ駆動型データ処理装置の構成
図、第3図はキューメモリの構成図、第4図はプログラ
ム記憶手段の構成図、第5図、第6図、第7図、並びに
第8図は本発明を用いたデータ駆動型データ処理装置に
おいて用いられる夫々のデータパケットの構成図、第9
図は本発明を用いたデータ駆動型データ処理装置のプロ
グラム記憶手段の記憶形式の一例を示すメモリ図、第10
図及び第11図は夫々コード対照表図である。 (DFCn)……データフロー計算装置、 (PM)……プログラム記憶手段、 (Q)……キューメモリ、 (MONIT)……データ量監視手段。
用いられるデータフロー計算機システムの構成図、第2
図は本発明を用いたデータ駆動型データ処理装置の構成
図、第3図はキューメモリの構成図、第4図はプログラ
ム記憶手段の構成図、第5図、第6図、第7図、並びに
第8図は本発明を用いたデータ駆動型データ処理装置に
おいて用いられる夫々のデータパケットの構成図、第9
図は本発明を用いたデータ駆動型データ処理装置のプロ
グラム記憶手段の記憶形式の一例を示すメモリ図、第10
図及び第11図は夫々コード対照表図である。 (DFCn)……データフロー計算装置、 (PM)……プログラム記憶手段、 (Q)……キューメモリ、 (MONIT)……データ量監視手段。
Claims (1)
- 【請求項1】データ値と制御情報を含むデータをプログ
ラムに従って、処理するデータ駆動型のデータ処理装置
に於て、 1つのデータの到着によって複数のデータを生成するデ
ータ複製処理を行なうデータ複製手段と、前記データ複
製処理の終了を待ち合わせる待ちデータを貯えるための
キューメモリと、 前記キューメモリに貯えられているデータ量を監視する
データ量監視手段とを備え、 前記キューメモリに貯えられているデータ量に応じて、
前記データ複製手段において1つのデータの到着によっ
て生成される複製データ数の上限値を変更することを特
徴としたデータ駆動型データ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28447388A JP2594140B2 (ja) | 1988-11-10 | 1988-11-10 | データ駆動型データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28447388A JP2594140B2 (ja) | 1988-11-10 | 1988-11-10 | データ駆動型データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02129773A JPH02129773A (ja) | 1990-05-17 |
JP2594140B2 true JP2594140B2 (ja) | 1997-03-26 |
Family
ID=17678980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28447388A Expired - Fee Related JP2594140B2 (ja) | 1988-11-10 | 1988-11-10 | データ駆動型データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2594140B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2668156B2 (ja) * | 1990-08-28 | 1997-10-27 | シャープ株式会社 | データ駆動型情報処理装置の実行制御方法 |
-
1988
- 1988-11-10 JP JP28447388A patent/JP2594140B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH02129773A (ja) | 1990-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2539199B2 (ja) | デジタルプロセッサ制御装置 | |
US4896259A (en) | Apparatus for storing modifying data prior to selectively storing data to be modified into a register | |
KR100335785B1 (ko) | 데이타처리명령의실행 | |
JP2594140B2 (ja) | データ駆動型データ処理装置 | |
IE61307B1 (en) | Method to execute two instruction sequences in an order determined in advance | |
JP2639988B2 (ja) | データ駆動型データ処理装置 | |
EP0700005B1 (en) | Vector data bypass mechanism for vector computer | |
JP2630779B2 (ja) | データ駆動型データ処理装置 | |
EP0177712B1 (en) | Masked data fetch and modifying device | |
US3387273A (en) | High speed serial processor | |
JP2906958B2 (ja) | ユーザプログラムロード方式 | |
JP2594093B2 (ja) | データ駆動型データ処理装置 | |
JP2814683B2 (ja) | 命令処理装置 | |
JP2594091B2 (ja) | データ駆動型データ処理装置 | |
JP2755646B2 (ja) | データ駆動型データ処理装置 | |
JP2001184259A (ja) | 演算処理装置及び該装置におけるデータ転送方法 | |
JP2883488B2 (ja) | 命令処理装置 | |
JP2622026B2 (ja) | 中央処理装置におけるレジスタ書込制御方式 | |
JP2604604B2 (ja) | スタック制御装置 | |
JPH0447350A (ja) | 主記憶読み出し応答制御方式 | |
JP2594092B2 (ja) | データ駆動型データ処理装置 | |
JP2635863B2 (ja) | 中央処理装置 | |
JPH0283779A (ja) | ベクトル処理装置の命令実行制御方式 | |
JPS61143850A (ja) | 処理装置 | |
JP2000194554A (ja) | 演算処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |