JP3769445B2 - データ駆動型情報処理装置 - Google Patents
データ駆動型情報処理装置 Download PDFInfo
- Publication number
- JP3769445B2 JP3769445B2 JP2000090871A JP2000090871A JP3769445B2 JP 3769445 B2 JP3769445 B2 JP 3769445B2 JP 2000090871 A JP2000090871 A JP 2000090871A JP 2000090871 A JP2000090871 A JP 2000090871A JP 3769445 B2 JP3769445 B2 JP 3769445B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- information
- field
- input
- data packet
- 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
- 230000010365 information processing Effects 0.000 title claims description 62
- 238000000034 method Methods 0.000 claims description 30
- 238000001514 detection method Methods 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 33
- 239000000872 buffer Substances 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
この発明はデータ駆動型情報処理装置に関し、特に、複数のオペランドデータを格納したデータパケットを用いて演算処理するデータ駆動型情報処理装置に関する。
【0002】
【従来の技術および発明が解決しようとする課題】
図18(A)〜(D)は、従来のデータ駆動型情報処理装置とデータパケットの構成を示す図であり、特開平9−114664号公報に開示されたものを示す図である。
【0003】
図18(A)において従来のデータ駆動型情報処理装置は、外部からデータを入力するためのポートPi(i=1、2、3、…n)を接続する入力部100、合流部101、対データ検出部102、演算部103、プログラム記憶部104および分岐部105を含む。
【0004】
図18(B)には、演算部103の一部のブロック構成が示される。図18(C)と(D)には、従来のデータパケットのフィールド構成の一例と他の例が示される。
【0005】
図18(C)においてデータパケットは、命令情報OPを格納するフィールドF1、行先情報DNを格納するフィールドF2、世代番号GNを格納するフィールドF3および1つ以上のデータDi(i=1,2,3、…、n)を格納するフィールドF4を含む。
【0006】
図18(A)のプログラム記憶部104には、データフロープログラムが予め格納される。データフロープログラムは、命令情報OPおよび行先情報DNからなる組である複数のプログラムデータを含む。
【0007】
ここで命令情報OPは、対応するデータフィールドF4の内容に対して実行される演算を識別するための情報である。行先情報DNは、プログラム記憶部104から次位のプログラムデータを読出すために用いられる。以下、プログラム記憶部104におけるプログラムデータの読出をプログラムフェッチと呼ぶ。世代番号GNは、同一の行先情報DNを持つ複数のデータパケットを識別するための情報である。データDiは、入力部100にポートPiを介して入力された複数のデータを示し、ポートPi数相当のデータを示す。ここでは、フィールドF4内の複数のデータDiが1つの命令情報OP、行先情報DNおよび世代番号GNを共有する。
【0008】
図18(A)のデータ駆動型情報処理装置において、データパケットのフィールドF4中の一部のデータDiが演算に使用される場合には、図18(D)に示されるようなデータパケットのフィールド構成が採用される。図18(D)では、図18(C)のデータフィールドF4に代替してデータフィールドF50が設けられる。図18(D)の他のフィールド構成は図18(C)と同じであり説明は省略する。フィールドF50では、データDiのそれぞれに対応してフラグVが設けられる。フラグVは、対応するデータDiが演算に使用されるデータであること、すなわち有効なデータであること、および演算に使用されないデータであること、すなわち無効なデータであることのいずれかを示す。
【0009】
図18(A)において入力部100は、該データ駆動型情報処理装置の外部からデータを入力するためのポートPiから個別に複数のデータを入力して、図18(C)の1つのデータパケットのフィールドF4に格納して、該データパケットを出力する。合流部101は、入力部100と分岐部105から出力されるデータパケットを調停しながら入力して、順に対データ検出部102に出力する。対データ検出部102は、合流部100から与えられるデータパケットの待ち合わせを行ない、対となるデータパケットのうち、すなわち行先情報DNが一致する異なる2つのデータパケットのうち、一方のデータパケットのデータフィールドF4の内容を他方のデータパケットのデータフィールドF4に格納して、該他方のデータパケットを出力する。これにより、たとえば2項演算のための2つのオペランドデータとなるべきデータDiが対データとして検出される。ここでは、対データの一方をデータLDi(i=1,2,3、…、n)、他方をRDi(i=1,2,3、…、n)とする。
【0010】
演算部103は、対データ検出部102から出力されるデータパケットを入力して、該データパケットの命令情報OPを解読し、解読結果に基づいて該データパケットのデータフィールドF4に格納されたデータDiに対して所定演算処理を施し、その結果を該データパケットのデータフィールドF4に格納して出力する。
【0011】
プログラム記憶部104は、演算部103から出力されるデータパケットを入力して、該データパケットの行先情報DNに基づくアドレス指定によってデータフロープログラムから次位の行先情報DNおよび次位の命令情報OPを読出し、読出されたこれら情報を該入力データパケットのフィールドF2およびF1のそれぞれに格納して、該データパケットを出力する。分岐部105は、プログラム記憶部104から出力されるデータパケットを入力して、該入力データパケットの行先情報DNに基づいて、該データパケットを該データ駆動型情報処理装置の外部および合流部101のいずれかに出力する。
【0012】
演算部103は、図18(B)のように、演算部103に入力されたデータパケットの対データ(LDiとRDi)と命令情報OPが与えられる複数の演算器OPUi(i=1、2、3、…n)を含む。各演算器(OPUi)は、命令情報OPに基づいて対応する各対データを同時に演算処理して、演算結果としてデータDiを出力する。出力されたデータDiは該入力データパケットのフィールドF4にそれぞれ格納される。その後、該入力データパケットが出力される。
【0013】
上述したような従来のデータ駆動型情報処理装置では、データパケット内のデータDiのそれぞれに対して同じ演算処理を施す演算器(OPUi)が複数個準備され、これら演算器(OPUi)では、共通の命令情報OPにより演算処理がなされる。そのため、データパケット内のすべてのデータDiは、無条件に、同じ演算が施されることになる。したがって、データフィールドF4中の所望するデータDiに対してのみ演算を行なうためには、次のような処理が行なわれていた。つまり、演算に先立って予めデータパケットの分割を行なって、その後、所望するデータDiに対応した演算器(OPUi)でのみ所定演算が行なわれて、その後、分割されたデータパケットについて合成の処理を施していた。それゆえに、従来のデータ駆動型情報処理装置では、データフィールドF4中の所望するデータDiに対してのみ演算を行なう際には、処理が冗長となっていた。
【0014】
また、従来のデータ駆動型情報処理装置では、所望する一部のデータDiに対してのみ演算を施すために、図18(D)のデータパケットを用いて、対応するフラグVが有効を示す対データDiについてのみ、すなわち所望するデータDiについてのみ演算を行なうことができる。この方法によれば、上述のようなデータパケットの分割および合成の処理は省略されるので処理の冗長性は解消される。しかしながら、データパケットはデータDiのそれぞれについて、フラグVを格納するための領域を特別に有していたので、データパケットのサイズが大きくなって、該データ駆動型情報処理装置のデータ伝送路の幅が大きくなり、該装置の小型化が阻害されていた。
【0015】
それゆえに、この発明の目的は、複数のオペランドデータを格納したデータパケットを用いた演算処理の効率を上げることのできるデータ駆動型情報処理装置を提供することである。
【0016】
【課題を解決するための手段】
この発明のある局面に係るデータ駆動型情報処理装置は、行先情報を格納するための行先フィールドと、命令情報を格納するための命令フィールドと、互いに独立の複数データを格納するためのデータフィールドと、前記データフィールドの前記複数データのそれぞれに対応して、対応するデータの演算処理の結果を、次位の演算処理に反映させるか否かを指示する複数の反映指示情報を格納するための反映指示フィールドと、前記反映指示フィールドの前記複数の反映指示情報に共通して、当該複数の反映指示情報の操作内容を指示する操作情報を格納するための操作フィールドとを少なくとも有したデータパケットを順次入力して、対となる異なる2つの前記入力データパケットを検出して、対検出された一方の入力パケットのデータフィールドの内容を、対検出された他方の入力パケットのデータフィールドに格納して、該他方のデータパケットを出力する対データ検出部と、
前記対データ検出部から出力された前記データパケットを入力して、該入力データパケットの前記データフィールドの複数データのそれぞれを、前記命令フィールドの前記命令情報に従い個別に演算処理して、データパケットを出力する処理部と、
複数の前記命令情報および前記行先情報を含むデータフロープログラムを記憶したプログラム記憶部を有し、前記処理部から出力された前記データパケットを入力して、該データパケットの前記行先情報に基づいて前記プログラム記憶部から読出された次位の前記命令情報および次位の前記行先情報および次位の前記操作情報を、それぞれ、該入力データパケットの前記命令フィールドおよび前記行先フィールドおよび前記操作フィールドに格納して、該入力データパケットを少なくとも前記対データ検出部に出力する制御部とを備えて、以下の特徴を有する。
【0017】
つまり、前記処理部は、前記データフィールドの複数データのそれぞれに対応して設けられ、対応するデータについて演算処理を実行する複数の演算手段を含む。
【0018】
そして、前記演算手段は、
前記対応するデータについて、
前記入力データパケットの対応する前記反映指示情報および前記操作情報を入力し、前記反映指示情報の内容を、前記操作情報に基づいて操作して、操作された該反映指示情報を出力する操作手段と、
前記操作手段が出力する前記反映指示情報が反映しないことを指示していることに応じて前記対応するデータを選択し、前記操作手段が出力する前記反映指示情報が反映させることを指示していることに応じて前記対応するデータの前記演算処理の結果データを選択して、選択されたデータを出力データパケットの前記データフィールドに格納するデータ選択手段と、
前記操作手段が出力する前記反映指示情報が反映しないことを指示していることに応じて前記入力データパケットの対応する前記反映指示情報を選択し、前記操作手段が出力する前記反映指示情報が反映させることを指示していることに応じて、前記演算処理の結果に応じた内容が設定された前記反映指示情報を選択して、選択された前記反映指示情報を前記出力データパケットの前記反映指示フィールドに格納する反映指示情報選択手段と、を有する。
【0019】
上述のデータ駆動型情報処理装置によれば、入力データパケット中の複数データについて命令情報に従う演算処理が実行される際には、処理部のデータおよび反映指示情報選択手段により、反映指示情報に対応する複数データを用いて、演算処理結果を次位の命令情報による演算処理に反映させることが指示されているデータに対してのみ、その演算処理の結果データと、該演算処理の結果データに応じた内容が設定された反映指示情報が前記データパケットに格納されて出力される。
【0020】
このように、上述したデータ駆動型情報処理装置では、データパケット中の複数データのうち、その演算処理結果を次位の演算処理に反映させることが所望されるデータについてのみ演算処理結果を得る場合に、従来のようなデータパケットを分割および合成の処理ステップは省略される。それゆえに、データ駆動型情報処理装置において実行されるプログラムのデータ量、処理すべきデータパケットの数を減少させることができて、処理速度および処理効率を向上させることができる。
【0023】
したがって、処理部では、次位の命令情報に従う演算処理が実行される際には直前に実行された命令情報による演算処理結果に応じた内容が設定された反映指示情報に関わらず、操作手段が出力する反映指示情報に基づいてデータ選択手段および反映指示情報選択手段を次のように制御できる。つまり、データ選択手段に対しては、入力データパケットのデータを選択させたり、該データの該次位命令情報の演算処理の結果データを選択させたりでき、反映指示情報選択手段に対しては、入力データパケットの反映指示情報を選択させたり(言換えると、反映指示情報の内容を保持(コピー)させたり)、該次位命令情報の演算処理の結果に応じた内容が設定された反映指示情報を選択させたりできる。
【0024】
それゆえに、該データ駆動型情報処理装置では、同一命令情報に従い同一データに対して演算処理が行なわれる場合でも、操作情報を用いることにより、複数種類の命令情報が実行されたのと同様な処理結果を得ることができるから、情報処理に必要とされる命令情報の種類を少なくできる。このことから、少ない命令情報を用いて従来と同様な処理を実行できることになり、処理速度の向上と、プログラム記憶領域の削減が可能になる。
【0029】
この発明の他の局面に係るデータ駆動型情報処理装置は、行先情報を格納するための行先フィールドと、命令情報を格納するための命令フィールドと、互いに独立の複数データを格納するためのデータフィールドと、前記データフィールドの前記複数データのうち演算処理を施す対象のデータの数を示すデータ数情報を格納するために0から前記複数データの個数までの数を表現可能なビット長を有したデータ数フィールドとを少なくとも有したデータパケットを順次入力して、対となる異なる2つの前記入力データパケットを検出して、対検出された一方の入力パケットのデータフィールドの内容を、対検出された他方の入力パケットのデータフィールドに格納して、該他方のデータパケットを出力する対データ検出部と、
前記対データ検出部から出力された前記データパケットを入力して、該入力データパケットの前記データフィールドの複数データのそれぞれを、前記命令フィールドの前記命令情報に従い演算処理して、データパケットを出力する処理部と、
複数の前記命令情報および前記行先情報を含むデータフロープログラムを記憶したプログラム記憶部を有し、前記処理部から出力された前記データパケットを入力して、前記プログラム記憶部から読出された次位の前記命令情報および次位の前記行先情報および次位の前記データ数情報を、それぞれ、該入力データパケットの前記命令フィールドおよび前記行先フィールドおよび前記データ数フィールドに格納して、該入力データパケットを少なくとも前記対データ検出部に出力する制御部とを備えたデータ駆動型情報処理装置において、
前記処理部は、
前記複数データのそれぞれに対応して設けられ、対応するデータについて演算処理を実行する複数の演算手段を含み、
前記演算手段は、
前記対応するデータについて、前記命令情報に従って演算処理を実行する手段と、
前記対応するデータが、予め定められている規則と前記データ数情報とにより特定される演算処理対象データである場合には、前記演算処理の結果データを選択し、それ以外の場合には、前記対応するデータを選択して、出力データパケットのデータフィールドに格納する手段とを含むことを特徴とする。
【0030】
したがって、演算処理が施されることが所望されるデータ数に対してのみの演算処理結果を得ることができる。
【0031】
従来は、演算処理が施されることが所望されるデータ数に対してのみの演算処理結果を得ようとする場合には、複数データのそれぞれについて個別に演算処理が所望されるか否かの1ビットの情報を付加していた。それに対して、上述のデータ駆動型情報処理装置では、データパケットには、演算処理が所望されるデータの数を示すデータ数情報を格納するためのデータ数フィールドは複数データの個数に対応のビット長を有するだけでよいから、複数データが3個以上である場合には、従来に比較してデータパケットの長さを短縮できる。これにより、データ駆動型情報処理装置におけるデータパケット伝送、並びにその内容の読出/書込に要する処理時間が短縮して、処理速度は向上する。
【0032】
また、上述のデータ数情報により、データフィールドの複数データのうち、演算処理が施されることが所望されているデータが特定される。
【0033】
【発明の実施の形態】
以下、この発明の実施の形態1〜4について図面を参照し詳細に説明する。
【0034】
(実施の形態1)
本実施の形態1では、データパケット内の複数のデータDiのそれぞれに対して、該データDiについての演算結果を、次位の演算処理に反映するための1ビットのフラグデータFBiが付加される。これにより所定の値を示すフラグデータFBiに対応したデータDiに対してのみ、演算結果が得られて、演算結果は該データパケットにデータDiとして格納されて、次位の演算処理に与えられる。したがって、該演算結果を次位の演算処理に反映させることができる。
【0035】
図1(A)〜(D)は、この発明の各実施の形態に係るデータ駆動型情報処理装置のブロック構成と、データパケットのフィールド構成を示す図である。図2は、図1(A)の演算部13のブロック構成図である。図3は、図2の演算装置PPiのブロック構成図である。図4は、図3の演算器のブロック構成図である。図5(A)〜(D)は、図4の各演算回路の出力を表形式にして示す図である。図6(A)と(B)は、所定処理に対する従来のデータフローグラフとこの発明の実施の形態1に係るデータフローグラフとを示す図である。
【0036】
図1(A)の各実施の形態に係るデータ駆動型情報処理装置は、演算部およびプログラム記憶部の構成が各実施の形態毎に異なる。その他の各部は各実施の形態について共通である。なお、これら他の各部は、図18(A)のそれと同じであるから説明は省略する。図示される演算部13、13A、13Bおよび13Cのそれぞれ、およびプログラム記憶部14、14A、14Bおよび14Cのそれぞれは、実施の形態1、2、3および4のそれぞれに適用される。
【0037】
図1(B)において本実施の形態1に適用されるデータパケットは、命令情報OPが格納されるフィールドF1、行先情報DNが格納されるフィールドF2、世代番号GNが格納されるフィールドF3および互いに独立した複数データDiが格納されるフィールドF4、ならびにフィールドF51を含む。
【0038】
フィールドF51には、フィールドF4の複数データDiのそれぞれに対応したフラグデータFBi(i=1、2、3、…n)が格納される。
【0039】
なお、フラグデータFBiは、1ビットのデータであるが、ビット数はこれに限定されない。データフィールドF4のデータDiは、対データ検出部102により対データが検出された後は、図1(C)で示されるように対データであるデータLDiとRDiからなる。
【0040】
図1(D)には、プログラム記憶部14におけるデータフロープログラムが記憶されたプログラム記憶領域が示される。図示されるように、データフロープログラムは、次位の命令情報OPおよび行先情報DNからなるプログラムデータを複数含む。プログラム記憶部14は、図1(B)のデータパケットを入力すると、該入力データパケットの行先情報DNに基づくアドレス指定により、プログラム記憶領域から次位の命令情報OPおよび行先情報DNを読出して(プログラムフェッチして)、読出された情報のそれぞれを該入力データパケットのフィールドF1およびF2のそれぞれに格納して、該入力データパケットを出力する。これにより、データパケットに次位の命令情報OPおよび行先情報DNが付与される。
【0041】
図2において演算部13は、入力バッファ10I、出力バッファ10OおよびデータDiのそれぞれに対応して複数個の演算装置PPi(i=1、2、3、…n)を含む。入力バッファ10Iと出力バッファ10Oは、対データ検出部102から出力された対データ(LDiとRDi)を格納したデータパケットが並行して与えられるので、与えられた該データパケットの内容を格納する。ここでは説明を容易とするために、対データ検出部102から演算部13に与えられたデータパケットには、フラグデータFbiが格納されており、また演算部13の処理の結果によりフラグデータFBiが得られると想定する。
【0042】
図3において、図2の各演算装置PPiは演算器202、選択器203および204を含む同様な構成を有している。選択器203と204の構成は公知の技術で構成できるので説明を省略する。演算装置PPiは、入力バッファ10iに格納されたデータパケットの命令情報OP、データLDiとRDiからなる対データDiおよび該対データDiに対応のフラグデータFBiが与えられる。なお、図3においては、演算装置PPiの動作を簡単に説明するために、各部に与えられるデータについて、データg、h、i、j、kが示されている。
【0043】
演算器202は、図4に示されるように、演算回路210〜213と選択器214および215を含む。演算回路210〜213のそれぞれは、演算処理部210A〜213Aのそれぞれおよびフラグ処理部210B〜213Bのそれぞれを含む。演算処理部210A〜213Aのそれぞれは、演算器202に与えられるデータLDiとデータRDiとを入力して、入力したこれらのデータについて加算命令(ADD命令)、演算命令(SUB命令)、最大値を選択する命令(MAX命令)、最小値を選択する命令(MiN命令)に従う演算処理をそろぞれ実行して、演算結果を出力する機能を有する。ここでは、上述した4種類の演算を行なう演算処理部210A〜213Aを提示したが、適用される演算の種類および適用される演算処理部の数はこれに限定されない。
【0044】
フラグ処理部210B〜213Bのそれぞれは、対応する演算処理部210A〜213Aのそれぞれの演算結果に応じた値(0または1のいずれか)を示すための1ビットのフラグデータを出力する。
【0045】
選択器214は演算器202に与えられた命令情報OPと演算処理部210A〜213Aから出力された演算結果とを入力して、入力した演算結果の中から命令情報OPで示される演算命令に対応の演算結果(図のデータi参照)を選択して、出力する。また、選択器215は演算器202に与えられた命令情報OPとフラグ処理部210B〜213Bから出力されるフラグデータとを入力して、入力したフラグデータの中から命令情報OPで示される演算命令に対応した演算処理部のフラグ処理部から出力されたフラグデータ(図のデータh参照)を選択して出力する。
【0046】
演算器202から出力されるフラグデータ(データh参照)の、演算結果(データi参照)に対応した値が、図5(A)〜(D)に表形式にして示されている。図示されるように、フラグデータ(データh参照)は、入力データLDiとRDiの命令情報OPに基づく所定演算処理の結果に応じて、“1”および“0”のいずれかの値を取る。
【0047】
図3において選択器203は、演算装置PPiに与えられたデータLDi(図のデータj参照)とフラグデータFBi(図のデータk参照)と演算器202から出力された演算結果(図3と図4のデータi参照)とを入力して、フラグデータFbiの値に基づいて、データLDiと演算結果とのいずれか一方を選択して、データDiとして出力バッファ10Oに出力する。
【0048】
選択器204は、演算装置PPiに与えられたフラグデータFbi(図のデータg参照)と演算器202から出力されたフラグデータ(図3と図4のデータh参照)とを入力して、フラグデータFbiに基づいて、該フラグデータFbiおよびフラグデータ(図3と図4のデータh参照)のいずれかを選択して、フラグデータFBiとして出力バッファ10Oに出力する。
【0049】
演算装置PPiの動作において、演算器202で命令情報OPに従い演算されて、得られた演算結果(データi参照)は選択器203に与えられる。そして該演算によるフラグデータFbiの変化を示すためのフラグデータは、選択器204に与えられる(データh参照)。選択器203では、フラグデータFbiの値(データk参照)が、演算を行なうことを示す場合は、与えられた演算結果(データi参照)が選択されて、一方、演算を行なわないことを示す場合には入力データLDi(データj参照)が選択される。そして選択されたデータはデータDiとして出力バッファ10Oに出力される。
【0050】
また、選択器204ではフラグデータFbiの値(データkで示す)が、演算を行なうことを示す場合は、演算器202から入力したフラグデータ(データhで示す)が選択されて、また、演算を行なわないことを示す場合は、該演算装置PPi入力されたフラグデータFbi(データgで示す)が選択される。選択されたフラグデータはフラグデータFBiとして出力バッファ10Oに出力される。
【0051】
このように、図3の演算装置PPiが、データパケットの複数のデータDi(データLDiとRDiの対データ)のそれぞれに対して1個ずつ準備されることにより、入力されたn個の対データDiを命令情報OPに従い同時に演算処理することができる。また、各データDiに対応のフラグデータFbiが演算を行なうことを示す場合には、該データDiの演算処理結果(データiとデータh参照)を格納したデータパケットを出力することができ、各データDiに対応のフラグデータFbiが演算を行なわないことを示す場合には、演算処理結果ではなくて、入力データ(データLDiとフラグデータFbi)をすなわち、演算処理が施される前のデータを格納したデータパケットを出力することができる。
【0052】
ここで、図6(A)と(B)を参照して、従来のデータ駆動型情報処理装置の動作と比較しながら実施の形態1によるデータ駆動型情報処理装置の動作を説明する。図6(A)と(B)のそれぞれは、従来のデータ駆動型情報処理装置と本実施の形態1に係るデータ駆動型情報処理装置のそれぞれにおいて、データD1〜Dnを格納したデータパケットを入力して、データD1〜Dnのうちしきい値b未満のデータのみを2倍するための処理を実行するためのデータフロープログラムを記述したデータフローグラフである。図においては、ノード205〜209のそれぞれに、該ノードにおいて実行される命令情報OPで示される命令コードが示される。
【0053】
従来の図6(A)では、ノード205では、入力したデータパケットの各データDiとしきい値bとが比較され、しきい値b以上のデータDiを格納したデータパケットとしきい値b未満のデータDiを格納したデータパケットとに該入力データパケットが分割されて、分割により得られた各データパケットは次位のノード206と207にそれぞれ出力される。その後、しきい値b未満のデータDiは、ノード206において命令情報OP(命令コードMUL)に従い2倍されて、その結果を格納したデータパケットはノード207に与えられる。ノード207においては命令情報OP(命令コードPACK)に従い、ノード206から出力されたデータパケットとノード205から出力されたデータパケットとは合成されて、1つのデータパケットが出力される。
【0054】
本発明による図6(B)では、ノード208において、入力したデータパケットの各データDiとしきい値bとが比較されて、比較結果を、各データDiに対応するフラグデータFBiとして該入力データパケットに格納して、該データパケットはノード209に出力される。この際、しきい値b未満のデータDiに対応のフラグデータFBiには1が設定される。ノード209では、入力したデータパケット中の“1”であるフラグデータFBiに対応のデータDiのみに対して該データDiを2倍にした後、該入力データパケットを出力する。この際、“0”であるフラグデータFBiに対応したデータDiはそのまま出力される。
【0055】
このように同じ処理が実行される場合、従来のデータ駆動型情報処理装置に比較して、本実施の形態1のデータ駆動型情報処理装置においては、データパケットの合成処理(図6(A)のノード207の処理)の分だけ実行すべき命令数が少なくなっていること、そして分割処理が省略されたことで扱うデータパケット量も少なくなっていることにより、本実施の形態1に係るデータ駆動型情報処理装置では処理速度および処理効率は向上する。
【0056】
なお、ここではしきい値b未満のデータDiについては、対応のフラグデータFBiに“1”をセットするとしたが、“0”にセットするとしても、同様にして演算することができる。
【0057】
上述したように、データパケットの複数のデータDiのうち、所望するデータDiについてのみ演算結果を得ようとする場合には、従来はデータパケットを分割し、分割により得られたデータパケットのそれぞれに演算を行ない、その後、データパケットを合成する必要があったが、本実施の形態1によれば、データパケットを分割および合成することなく、所望の条件に一致するデータDiに対してのみ、すなわち対応するフラグデータFBiがその演算結果を次位の命令情報に従う演算処理に反映することを指示するようなデータDiに対してのみ演算結果を得ることができる。それゆえに、データ駆動型情報処理装置におけるプログラムのデータ量、処理するデータパケットの数を減少させることができるから、処理速度および処理効率を向上させることができる。
【0058】
(実施の形態2)
次に、この発明の実施の形態2について説明する。本実施の形態2では、データパケットに、後述するデータCTL(controlの略)を追加して格納し、データCTLの値に基づいて、(1)対応するフラグデータFBiの値にかかわらず、すべてのデータDiについて演算を実行する、(2)“1”であるフラグデータFBiに対応のデータDi、および“0”であるフラグデータFBiのデータDiのいずれかに対してのみ演算を実行する、(3)対応するフラグデータFBiの値にかかわらず、すべてのデータDiについて演算を行なわないといった、いずれかのケースを選択可能とするような特徴を有する。
【0059】
図7は、本実施の形態2に係る演算部13Aのブロック構成図であり、図8(A)〜(C)は、本実施の形態2に係るデータパケットの構成と該データパケットによりアクセスされるプログラム記憶部の構成を示す図であり、図9(A)と(B)は、図7の演算装置PPAiの構成と動作を示す図であり、図10(A)と(B)は、同一の処理に対する実施の形態1に係るデータ駆動型情報処理装置で実行されるデータフロープログラムに対応のデータフローグラフと、本実施の形態2に係るデータ駆動型情報処理装置で実行されるデータフロープログラムに対応のデータフローグラフを示す図である。
【0060】
本実施の形態2に係るデータ駆動型情報処理装置の構成に関しては、実施の形態1で示されたデータ駆動型情報処理装置の演算部13とプログラム記憶部14に代替して演算部13Aプログラム記憶部14Aが設けられた他は、実施の形態1に示されたものと同様であり、説明は省略する。
【0061】
図8(A)の本実施の形態2に係るデータパケットは、図1(B)の実施の形態1に係るデータパケットの構成にデータCTLが格納されるフィールドF52を追加して有する。データCTLは、フラグデータFbiに関わらず、図3の選択器203に対して、強制的に演算結果(図3のi参照)を出力させるか、強制的に演算前のデータ(図3のj参照)を出力させるかするように作用する。また、選択器204に対しては、フラグデータFbiに関わらず、入力されたフラグデータFbiの値および入力されたフラグデータFbiの反転された値のいずれかを出力させるように作用する。データCTLは、こここでは、値“0”〜“3”を示す2ビットのデータとしているが、ビット数はこれに限定されない。
【0062】
図8(C)には、プログラム記憶部14Aにおけるデータフロープログラムが記憶されたプログラム記憶領域が示される。図示されるように、データフロープログラムは、次位の命令情報OP、次位の行先情報DNおよびデータCTLからなるプログラムデータを複数含む。プログラム記憶部14Aは、図8(A)のデータパケットを入力すると、該入力データパケットの行先情報DNに基づくアドレス指定により、プログラム記憶領域から次位の命令情報OP、行先情報DNおよびデータCTLを読出して(プログラムフェッチして)、読出された情報のそれぞれを該入力データパケットのフィールドF1、F2およびF52のそれぞれに格納して、該入力データパケットを出力する。これにより、データパケットにデータCTLが付与される。なお、ここでは、データCTLはプログラムフェッチにより付与されるとしているが、入力部100においてデータパケットに付与されるようにしてもよい。
【0063】
図7の演算部13Aは入出力バッファ10AIおよび10AOならびに演算装置PPAiを有する。図7の入出力バッファ10AIおよび10AOには、演算部13Aに与えあられた図8(A)のデータパケットの内容が入力されて、一時的に格納されて出力される。
【0064】
図9(A)の演算装置PPAiは、図3の演算器202、操作部301、ならびに選択器302および303を備える。
【0065】
演算器202は図4で示されたものと同様であり説明は省略する。
選択器302は、演算装置PPAiに与えられるデータLDiと演算器202の演算結果と操作部301の出力値とを入力して、該出力値に基づいて、入力したデータLDiおよび演算結果のいずれか一方をデータDiとして出力する。また選択器303は、演算装置PPAiに与えられたフラグデータFbiと、演算器202の演算結果に対応したフラグデータと操作部301の出力値とを入力して、該出力値に基づいて、入力したフラグデータFbiおよび演算結果に対応したフラグデータのいずれか一方をフラグデータFBiとして出力する。
【0066】
ここでは、操作部301の出力値は、図9(B)のように操作される。具体的には、データCTL=1または2の場合には、選択器302と303によるフラグデータFbiの参照の仕方を反転させたり、データCTL=0または3の場合にはフラグデータFbiの値にかかわらず(無条件に)、命令情報OPに従う演算を実行または非実行させることができる。図9(A)の演算装置PPAiが、演算部103に入力するデータDi(対データ)のそれぞれに対応して1つずつ準備されることで、入力されたn個のデータDiを同時に演算処理することができる。
【0067】
ここで、図10(A)と(B)とを参照して、同一の処理に対する実施の形態1に係るデータ駆動型情報処理装置による動作と、実施の形態2に係るデータ駆動型情報処理装置による動作を説明する。ここで、同一の処理とは、入力したデータLDiとデータRDiとのうち、大きい方のデータに、さらに1を加算する処理をさす。図10(A)と(B)のそれぞれは、該処理を実施の形態1と2のそれぞれによるデータ駆動型情報処理装置で実行するためのデータフロープログラムに対応のデータフローグラフを示す。
【0068】
図10(A)と(B)では、ノード304と307において入力データDi(データLDiとRDi)について最大値を選択するための命令情報OP(命令MAX)が実行されて、ノード305では入力データに対してフラグデータFBiをセットするための命令情報OP(命令SET FB)が実行されて、ノード306と308においては入力データDi(データLDiとRDi)を加算するための命令情報OP(命令ADD)が実行される。
【0069】
実施の形態1による演算部13を有したデータ駆動型情報処理装置では、図10(A)に示されるように、ノード304において命令情報OP(“MAX”)に従う演算が実行された後、一旦、ノード305において、命令情報OP(“SET FB”)により、入力データパケット中のすべてのフラグデータFBiについて“1”がセットされる。その後、ノード306において命令情報OP(“ADD”)に従う演算が実行されることにより、該データ駆動型情報処理装置に入力したデータパケット内のすべてのデータDiについて1を足すことができる。
【0070】
これに対して、本実施の形態2に係る演算部13Aを有したデータ駆動型情報処理装置では、図10(B)で示されるように、ノード307において、命令情報OP(“MAX”)に従う演算が実行された後は、ノード308において命令情報OP(“ADD”)に従う演算が実行されることにより、該データ駆動型情報処理装置に入力したデータパケット内のすべてのデータDiについて1を足すことができる。
【0071】
つまり、図10(B)においては、ノード308で入力データパケットのデータDiに対して命令情報OP(“ADD”)が実行される際に、予めプログラム記憶部14Aによるプログラムフェッチにより、または入力部100により該入力データパケットのデータCTLに“0”が設定されるようにする。このことにより、ノード307においては入力データパケットのフラグデータFBiの値に関係なく、演算装置PPAiによる演算結果のデータDiがすべて出力されて、次位のノード308において、これらすべてのデータDi(データD1〜Dnのすべて)のそれぞれについて1を足すことができる。
【0072】
このように、同一の処理内容を示す図10(A)と図10(B)のフローグラフを比較すると、本実施の形態2に係るデータ駆動型情報処理装置では、実施の形態1に係るデータ駆動型情報処理装置におけるフラグデータFBiの再設定処理(SET FBに対応の処理)が省略される。したがって、本実施の形態2に係るデータ駆動型情報処理装置では、この省略分だけ、実行すべきプログラムステップ数が減少して、処理の速度と効率が向上する。
【0073】
上述の本実施の形態2によれば、データCTLを用いることにより、フラグデータFBiの操作とデータDiの演算とを同時に指示する命令情報OPに従う処理の実行直後であっても、フラグデータFBiの値に関係なく(無条件に)、データパケット内のすべてのデータDiに対して演算を行なうことができる。このため、同一内容の処理に対して、演算のみを指示する命令情報OPとフラグデータFBiの操作とデータDiの演算の両方を指示する命令情報OPとを個別に用意する必要がなくなって、該データ駆動型情報処理装置で実行すべき命令の種類を減らすことができる。
【0074】
(実施の形態3)
次に、実施の形態3について説明する。
【0075】
本実施の形態3では、データパケット内のフラグデータFBiの操作を行なうか行なわないかを指示するような後述するデータFO(Flag Operationの略)を用いることにより、該フラグデータFBiによる命令の実行または非実行の指定を、直後に実行される演算だけではなく、さらにその後に実行される複数の演算でも利用できるようにしたことを特徴とする。
【0076】
図11は、本実施の形態3に係る演算部のブロック構成図であり、図12(A)〜(C)は、本実施の形態3に係るデータパケットの構成と該データパケットの内容によりアクセスされるプログラム記憶領域の内容を示す図であり、図13(A)と(B)は、図11の演算装置PPBiの構成と動作を示す図である。
【0077】
図12(A)の本実施の形態3に係るデータパケットは、図8(A)のフィールド構成に追加して、データFOが格納されるフィールドF53を有する。データFOは、図3の選択器204の出力するフラグデータを、強制的に、演算装置に入力されたフラグデータFBiとするように作用する。データFOは、図1の入力部100により、またはプログラム記憶部104におけるプログラムフェッチにより、データパケットに設定される。ここでは、データFOは、値“0”および“1”のいずれかを示す1ビットのデータであるが、ビット数はこれに限定されない。
【0078】
図12(C)には、プログラム記憶部14Bにおけるデータフロープログラムが記憶されたプログラム記憶領域が示される。図示されるように、データフロープログラムは、次位の命令情報OP、行先情報DN、データCTLおよびデータFOからなるプログラムデータを複数含む。プログラム記憶部14Bは、図12(A)のデータパケットを入力すると、該入力データパケットの行先情報DNに基づくアドレス指定により、プログラム記憶領域から次位の命令情報OP、行先情報DN、データCTLおよびデータFOを読出して(プログラムフェッチして)、読出された情報のそれぞれを該入力データパケットのフィールドF1、F2、F52およびF53のそれぞれに格納して、該入力データパケットを出力する。これにより、データパケットにデータFOが付与される。なお、ここでは、データFOはプログラムフェッチによりデータパケットに付与されるとしているが、入力部100においてデータパケットに付与されるようにしてもよい。
【0079】
図11の実施の形態3による演算部13Bは、入出力バッファ10BIおよび10BOならびに演算装置PPBiを有する。図11の入出力バッファ10BIおよび10BOには、演算部13Bに与えられた図12(A)のデータパケットの内容が入力されて、一次的に格納されて出力される。
【0080】
図13(A)の演算装置PPBiは、前述した演算器202および操作部301と、操作部401、選択器402および403を含む。演算器202と操作部301は前述したものと同様であり説明は省略する。
【0081】
選択器402は演算器202の演算結果と、演算装置PPBiに与えられるデータパケットのデータLDiと、操作部401の出力データとを入力して、操作部401の出力データに基づいて、データLDiと演算結果とのいずれかを選択して、データDiとして出力する。選択器403は演算装置PPBiに与えられるフラグデータFbiと、演算器202の出力する演算結果に基づくフラグデータと、操作部401の出力データとを入力して、操作部401の出力データに基づいて、入力した2つのフラグデータの一方を選択して、フラグデータFBiとして出力する。
【0082】
操作部401は操作部301の出力する値とデータFOとを入力する。そして、図13(B)に示されるように、データFOの値に基づいて、操作部301から入力した値および0のいずれかを、選択器402と403に与える。選択器403には、操作部301の出力値が、図13(B)のように操作部401により操作された後に与えられる。したがって、選択器403は、データFOが0である際には、操作部301の出力値に関わらず、該演算装置PPBiが入力したフラグデータFbiをそのままフラグデータFBiとして出力し、データFOが1である際には、操作部301の出力値に基づいて、該演算装置PPBiが入力したフラグデータFbiと演算器202の演算結果に対応のフラグデータのいずれかをフラグデータFBiとして出力することができる。
【0083】
図14(A)と(B)は、同一処理に対する実施の形態2に係るデータフローグラフと本実施の形態3に係るデータフローグラフとを示す図である。この同一処理は、たとえば、データD1〜Dnを有するデータパケットの各データDiに対して、しきい値bを超えるデータは2倍し、かつ1を足して出力し、しきい値b以下のデータDiはそのまま出力するような処理である。この処理を、実施の形態2と本実施の形態3のデータ駆動型情報処理装置においてデータフロープログラムに従い実行する場合、対応するデータフローグラフはそれぞれ図14(A)と図14(B)のようになる。
【0084】
図14(A)と(B)ではノード404〜410が示される。ノード404と408では命令情報OPにより示される命令コード(Di>b?)が実行され、ノード405と409では命令情報OPにより示される入力データの乗算命令コード(MUL)に従う処理が実行され、ノード406では命令情報OPにより示されるフラグデータFBiのコピー命令コード(copy FB)に従う処理が実行され、ノード407と410では、命令情報OPにより示される入力データの加算命令コード(ADD)に従う処理が実行される。
【0085】
図14(A)に示される実施の形態2に係るデータフローグラフに従えば、まずノード404において、入力された図12(A)のデータパケットの各データDiは、しきい値bと比較されて、しきい値bより大きいデータDiに対応の該入力データパケットのフラグデータFBiが1にされて、該入力データパケットはノード405に与えられる(図のデータm参照)。一方、しきい値b以下のデータDiは、対応のフラグデータFBiを0にされて、該入力データパケットはノード406に与えられる(図のデータl参照)。なお、ノード404では、入力データパケットのデータCTLが0と設定されているため、フラグデータFBiの値にかかわらず演算処理(入力データDiとしきい値bとの比較処理)が実行される。
【0086】
ノード405では、ノード404から出力されたデータパケットを入力する。この際、該入力データパケットのフラグデータFBiは1であり、またデータCTLも1に設定されているため、該ノードに対応の命令情報OP(MUL)に従う乗算処理が実行されて、入力データパケットのデータDiのそれぞれは2倍になって、該入力データパケットは次位のノード406に出力される(図のデータp参照)。この乗算処理では、直前の(ノード404の)演算結果を正しく反映させようとするために、データCTLには予め1が設定されている。つまり、データCTLが1と設定されることにより、演算部13Bでは直前のフラグデータFbiの値が参照される。
【0087】
この場合は、フラグデータFbiは“1”と設定されているため、演算部13Bでは、演算器202から出力された演算結果に応じた値のフラグデータが、選択器303により選択されてフラグデータFBiとして出力される。したがって、出力されるフラグデータFBiの値が変化してしまうから、直前のノード404において設定されたフラグデータFBiの値は失われてしまう。言換えると、直前の(ノード404の)演算結果を正しく反映させることができなくなってしまう。そこで、次位のノード406において、命令情報OP(copy FB)に従う演算処理が実行されることにより、直前のノード404において設定されたフラグデータFBiの値が保持される。つまり、ノード404で値が設定されて出力されたフラグデータFBiを入力して、コピーして、該ノード406に入力されたデータパケットのフィールドF51に格納した後、該入力データパケットは、次位のノード407に与えられる。
【0088】
これにより、ノード405における命令情報OP(MUL)に従う演算結果のデータDiを格納して該ノード405から出力されたデータパケット(図中のデータp参照)のフラグデータFBiは、すべて1に戻される。一方のデータパケット(図中のデータl参照)のフラグデータFBiの値は0のままである。
【0089】
そして、次位のノード407において、与えられたデータパケットが入力されて、該入力データパケットの内容が命令情報OP(ADD)に従って処理されることにより、対応のフラグデータFBiが1であるデータDiには、すなわちノード405において乗算が実施されたデータDiには、1を足す処理が行なわれる。この際、演算結果を正しく反映させるために、データCTLは予め1が設定されている。つまり、前のフラグデータFbiの値を参照すると、この場合は、対応するフラグデータFBiは1のため、選択器は303は演算器202の演算結果に応じた値のフラグデータを出力するからである。一方の入力データパケット(図のデータl参照)については、対応するフラグデータFBiは0であるため、ノード407においては該入力データパケットのデータDiは加算処理が施されず、そのまま出力される。
【0090】
次に、本実施の形態3によるプログラムを図14(B)を参照して説明する。
まず、ノード408において命令情報OP((Di>b?)が実行されることにより、入力データパケットのデータDiとしきい値bとが大小比較される。ここでは、入力データパケットのデータFOは予め1と設定されているので、選択器403には操作部301の出力が、選択器401を介してそのまま入力される。そのため、前述した図14(A)のノード404の処理と同様な処理が行なわれる。つまり、ノード408において入力データパケットの各データDiは、しきい値bと比較されて、しきい値bより大きいデータDiは対応するフラグデータFBiが1に設定され、一方、しきい値b以下のデータDiは、対応のフラグデータFBiが0に設定される。また、該入力データパケット中のデータCTLは予め0と設定されているので、該データパケット中のフラグデータFBiの値にかかわらず(無条件で)、しきい値bとデータDiとの大小比較処理が実行されて、比較結果を格納したデータパケット(図のデータq参照)は次位のノード409に与えられる。
【0091】
ノード409では、与えられたデータパケットが入力されて、該入力データパケットの内容について命令情報OP(MUL)に従う演算が実行される。これにより、該入力データパケットのデータDiを2倍にする乗算処理が実行される。この際、該入力データパケットのデータCTLは予め1に設定されているので、該入力データパケットのフラグデータFBiが参照される。
【0092】
この参照結果、しきい値b以下のデータDiに対応するフラグデータFBiは0であるから、該データDiについてはノード409において命令情報OP(MUL)に従う演算は行なわれず、該データDiはそのまま出力される。一方、前述の参照結果、しきい値bより大きいデータDiは、対応するフラグデータFBiが1であるから、該データDiについてはノード409において命令情報OP(MUL)に従い、2倍にする処理が実行される。ただし、このとき、入力データパケットのデータFOは予め0に設定されているため、選択器403には操作部301からの出力(1:前のフラグデータFBiを参照)は入力されず、操作部401の出力(=0)が入力される。すなわち、選択器403は図9(B)のデータCTLが3に相当する場合の無条件の演算非実行となり、選択器403からは前のフラグデータFbiがそのまま出力される。
【0093】
一方、選択器402は、操作部301の信号が入力されるため、演算器202による演算結果(ここでは、2倍の乗算結果)を選択して、データDiとして出力する。このように、乗算命令(命令MUL)に従う演算処理実行後の出力は、しきい値b以下のデータDiはフラグデータFBiが0であるため、乗算非実行で、すなわちそのままの値で出力される。一方、しきい値bより大きいデータDiは乗算され、かつ対応のフラグデータFBiは変化せず、1のまま出力された状態となっている。
【0094】
続いて、ノード410において加算命令(命令ADD)に従う処理が実行されて入力データDiについて1が加算される。この際、複数の入力データDiの内しきい値b以下のデータDiは、対応するフラグデータFBiが0であるため、乗算処理が実行されず、そのままの値で出力される。一方、しきい値bより大きいので、乗算処理を経たデータDiは、前述したように対応のフラグデータFBiが1となっているため、加算処理が行なわれた後、出力される。
【0095】
ノード410では、ノード409と同じく入力データパケットのデータCTLは1およびFOは0であるため、図14(A)のノード407と同じ加算処理(命令ADDに従う処理)が実行される。これにより、入力データDiについて加算が実行され、該入力データDiの対応するフラグデータFBiとしては加算の演算処理結果が反映された演算器202出力のフラグデータが付与されて、該入力データパケットが出力される。
【0096】
このように、複数の入力データDiのそれぞれをしきい値bと比較して、しきい値b以下のデータDiはそのまま出力し、一方しきい値bより大きいデータDiについてはさらに2倍にし、かつ1を加算した後、出力することができた。
【0097】
図14(A)と(B)のフローグラフを比較した場合、図14(B)の実施の形態3に従う処理は、図14(A)の実施の形態2に従う処理におけるフラグデータFBiのコピー処理(“copy FB”に従う処理)が省略された分、同一内容の処理を行なう場合でも実施の形態2に比較して、実行すべきプログラムステップ数は減少して、データ駆動型情報処理装置における処理の速度ならびに効率は向上する。
【0098】
実施の形態3では、上述したようにフラグデータFBiを操作することにより、該フラグデータFBiによる命令の実行または非実行の指定を、直後に実行される演算だけではなく、さらにその後に実行される複数の演算でも利用できる。そのため、フラグデータの保存(コピー)処理は省略されることになり、データ駆動型情報処理装置における処理効率の低下とプログラム量の増大を防ぐことができる。
【0099】
(実施の形態4)
次に、実施の形態4について説明する。
【0100】
本実施の形態4では、データパケット中の複数データDiのうち、演算処理が所望されるデータ(以下、有効データと呼ぶ)の数を示すデータCNT(CouNT)を用いて、該データCNTのみにより、複数データDiにおける有効データDiの数が一意に指定されるとともに、有効データDiが一意に指定されることを特徴とする。
【0101】
つまり、データCNTの値により、複数データDi中の有効データDiの組合せが決定される。データCNTは値nxで示されて、値nxは0、1、2、…、nのいずれかの値である。例えば値nxが0であるとき、複数データDiには有効データDiは含まれないことが示される。また、例えば値nxが1であるときはデータD1のみが有効データであり、例えば値nxが2、3…、nのいずれかの値であるときは、データD1〜データDnxのnx個のデータが有効データとなる。
【0102】
図15(A)〜(E)は、本実施の形態4に係るデータパケットのフィールド構成と該データパケットの内容によりアクセスされるプログラム領域を示す図である。図15(A)は、命令情報OP、行先情報DN、世代番号GNおよび複数のデータDiおよびデータCNTが格納されるフィールドF1、F2、F3、F4およびF54からなるデータパケットである。図15(B)〜(D)は、前述した実施の形態1〜3のデータパケットのフィールド構成において、データCNTが格納されるフィールドF54が追加されている。
【0103】
本実施の形態4に係るデータ駆動型情報処理装置では、説明を簡単にするために図15(B)のデータパケットを用いて情報処理すると想定する。
【0104】
図15(E)には、本実施の形態4に係るデータ駆動型情報処理装置のプログラム記憶部14Cにおけるデータフロープログラムが記憶されたプログラム記憶領域が示される。図示されるように、データフロープログラムは、次位の命令情報OP、行先情報DN、データCNTからなるプログラムデータを複数含む。プログラム記憶部14Cは、図15(B)のデータパケットを入力すると、該入力データパケットの行先情報DNに基づくアドレス指定により、プログラム記憶領域から次位の命令情報OP、次位の行先情報DNおよびデータCNTを読出して(プログラムフェッチして)、読出された情報のそれぞれを該入力データパケットのフィールドF1、F2、およびF54のそれぞれに格納して、該入力データパケットを出力する。これにより、データパケットにデータCNTが付与される。なお、ここでは、データCNTはプログラムフェッチによりデータパケットに付与されるとしているが、入力部100においてデータパケットに付与されるようにしてもよい。
【0105】
データCNTは、対応するデータパケットのデータDiの最大数を示すビット長を有したデータであり、フィールドF54は該ビット長を有する。
【0106】
図16は、本実施の形態5に係る演算部13Cの構成図であり、図17(A)と(B)は、図16の演算装置PPCiの構成と動作を説明するための図である。
【0107】
ここでは、実施の形態1の構成にデータCNTに対応の構成が追加された場合を例示して説明する。なお、他の実施の形態にデータCNTが適用された場合であっても、本実施の形態と同様にしてデータCNTに対する構成が追加されることで、同様な処理を実行することができる。
【0108】
図16において演算部13Cには、入出力バッファ10CIおよび10COならびに演算装置PPCiが設けられる。入出力バッファ10CIおよび10COには、演算部13Cに与えられた図15(B)のデータパケットのデータが入力されて、一時的に格納されて出力される。
【0109】
図17(A)では、前述と同様の演算器202、選択器503および504を含む。選択器503は、図3の選択器203が入力するデータに追加して、データCNTを入力する。選択器503は、図17(B)に示されるようにデータCNT≦nの場合には対応する演算器202の出力する演算結果を選択、そうでない場合は、演算装置PPCiに与えられたデータLDiを、データDiとして出力する。選択器504は、図3の選択器204が入力するデータに追加して、データCNTを入力する。データCNT≦nの場合には演算器202の演算結果に応じたフラグデータを選択し、そうでない場合は、演算装置PPCiに与えられた前のフラグデータFbiを選択して、フラグデータFBiとして出力する。
【0110】
ここで、データパケット中の各データDiが有効データであるか否かを示す場合には、従来のデータパケット(図18(D)参照)では各データDiに対応してデータVが必要とされるのに対し、本実施の形態4に係るデータパケットの構成(図15(A))の場合、データCNTにより複数のデータDi中の有効データの数が指定される。したがって、データパケット中のデータDiの数nが3以上の場合、本実施の形態4によれば従来に比較してデータパケットの長さを短縮できる。たとえば、n=3の場合、従来は、データパケットにおいてデータVを格納するために3ビット長必要とされるが、本実施の形態4ではデータパケットにおいてデータCNTを格納するために2ビット(最大値3を表わすための“11”を示すことの可能なビット長)で済むため、従来に比較し1ビット分短縮できる。
【0111】
このように、本実施の形態4では有効なデータの数を数値で示すデータCNTを用いることにより、1データパケット当りに格納されるデータDiの最大数が3個以上の場合、該データパケットの長さを従来に比較して短縮できる。それゆえ似、データ駆動型情報処理装置におけるパケット伝送路の幅を小さくできて、装置を小型化できる。
【0112】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図1】 (A)〜(D)は、この発明の各実施の形態に係るデータ駆動型情報処理装置のブロック構成と、データパケットのフィールド構成を示す図である。
【図2】 図1(A)の演算部13のブロック構成図である。
【図3】 図2の演算装置PPiのブロック構成図である。
【図4】 図3の演算器のブロック構成図である。
【図5】 (A)〜(D)は、図4の各演算回路の出力を表形式にして示す図である。
【図6】 (A)と(B)は、所定処理に対する従来のデータフローグラフとこの発明の実施の形態1に係るデータフローグラフとを示す図である。
【図7】 本実施の形態2に係る演算部13Aのブロック構成図である。
【図8】 (A)〜(C)は、本実施の形態2に係るデータパケットの構成と該データパケットによりアクセスされるプログラム記憶部の構成を示す図である。
【図9】 (A)と(B)は、図7の演算装置PPAiの構成と動作を示す図である。
【図10】 (A)と(B)は、同一の処理に対する実施の形態1に係るデータ駆動型情報処理装置で実行されるデータフロープログラムに対応のデータフローグラフと、本実施の形態2に係るデータ駆動型情報処理装置で実行されるデータフロープログラムに対応のデータフローグラフを示す図である。
【図11】 本実施の形態3に係る演算部のブロック構成図である。
【図12】 (A)〜(C)は、本実施の形態3に係るデータパケットの構成と該データパケットの内容によりアクセスされるプログラム記憶領域の内容を示す図である。
【図13】 (A)と(B)は、図11の演算装置PPBiの構成と動作を示す図である。
【図14】 (A)と(B)は、同一処理に対する実施の形態2に係るデータフローグラフと本実施の形態3に係るデータフローグラフとを示す図である。
【図15】 (A)〜(E)は、本実施の形態4に係るデータパケットのフィールド構成と該データパケットの内容によりアクセスされるプログラム領域を示す図である。
【図16】 本実施の形態5に係る演算部13Cの構成図である。
【図17】 (A)と(B)は、図16の演算装置PPCiの構成と動作を説明するための図である。
【図18】 (A)〜(D)は、従来のデータ駆動型情報処理装置とデータパケットの構成を示す図である。
【符号の説明】
100 入力部、101 分岐部、102 対データ検出部、103,13,13A,13B,13C 演算部、104,14,14A,14B,14C プログラム記憶部、105 分岐部。
Claims (2)
- 行先情報を格納するための行先フィールドと、命令情報を格納するための命令フィールドと、互いに独立の複数データを格納するためのデータフィールドと、前記データフィールドの前記複数データのそれぞれに対応して、対応するデータの演算処理の結果を、次位の演算処理に反映させるか否かを指示する複数の反映指示情報を格納するための反映指示フィールドと、前記反映指示フィールドの前記複数の反映指示情報に共通して、当該複数の反映指示情報の操作内容を指示する操作情報を格納するための操作フィールドとを少なくとも有したデータパケットを順次入力して、対となる異なる2つの前記入力データパケットを検出して、対検出された一方の入力パケットのデータフィールドの内容を、対検出された他方の入力パケットのデータフィールドに格納して、該他方のデータパケットを出力する対データ検出部と、
前記対データ検出部から出力された前記データパケットを入力して、該入力データパケットの前記データフィールドの複数データのそれぞれを、前記命令フィールドの前記命令情報に従い個別に演算処理して、データパケットを出力する処理部と、
複数の前記命令情報および前記行先情報を含むデータフロープログラムを記憶したプログラム記憶部を有し、前記処理部から出力された前記データパケットを入力して、該データパケットの前記行先情報に基づいて前記プログラム記憶部から読出された次位の前記命令情報および次位の前記行先情報および次位の前記操作情報を、それぞれ、該入力データパケットの前記命令フィールドおよび前記行先フィールドおよび前記操作フィールドに格納して、該入力データパケットを少なくとも前記対データ検出部に出力する制御部とを備えたデータ駆動型情報処理装置において、
前記処理部は、前記データフィールドの複数データのそれぞれに対応して設けられ、対応するデータについて演算処理を実行する複数の演算手段を含み、
前記演算手段は、
前記対応するデータについて、
前記入力データパケットの対応する前記反映指示情報および前記操作情報を入力し、前記反映指示情報の内容を、前記操作情報に基づいて操作して、操作された該反映指示情報を出力する操作手段と、
前記操作手段が出力する前記反映指示情報が反映しないことを指示していることに応じて前記対応するデータを選択し、前記操作手段が出力する前記反映指示情報が反映させることを指示していることに応じて前記対応するデータの前記演算処理の結果データを選択して、選択されたデータを出力データパケットの前記データフィールドに格納するデータ選択手段と、
前記操作手段が出力する前記反映指示情報が反映しないことを指示していることに応じて前記入力データパケットの対応する前記反映指示情報を選択し、前記操作手段が出力する前記反映指示情報が反映させることを指示していることに応じて、前記演算処理の結果に応じた内容が設定された前記反映指示情報を選択して、選択された前記反映指示情報を前記出力データパケットの前記反映指示フィールドに格納する反映指示情報選択手段と、を有する、データ駆動型情報処理装置。 - 行先情報を格納するための行先フィールドと、命令情報を格納するための命令フィールドと、互いに独立の複数データを格納するためのデータフィールドと、前記データフィールドの前記複数データのうち演算処理を施す対象のデータの数を示すデータ数情報を格納するために0から前記複数データの個数までの数を表現可能なビット長を有したデータ数フィールドとを少なくとも有したデータパケットを順次入力して、対となる異なる2つの前記入力データパケットを検出して、対検出された一方の入力パケットのデータフィールドの内容を、対検出された他方の入力パケットのデータフィールドに格納して、該他方のデータパケットを出力する対データ検出部と、
前記対データ検出部から出力された前記データパケットを入力して、該入力データパケットの前記データフィールドの複数データのそれぞれを、前記命令フィールドの前記命令情報に従い演算処理して、データパケットを出力する処理部と、
複数の前記命令情報および前記行先情報を含むデータフロープログラムを記憶したプログラム記憶部を有し、前記処理部から出力された前記データパケットを入力して、前記プログラム記憶部から読出された次位の前記命令情報および次位の前記行先情報および次位の前記データ数情報を、それぞれ、該入力データパケットの前記命令フィールドおよび前記行先フィールドおよび前記データ数フィールドに格納して、該入力データパケットを少なくとも前記対データ検出部に出力する制御部とを備えたデータ駆動型情報処理装置において、
前記処理部は、
前記複数データのそれぞれに対応して設けられ、対応するデータについて演算処理を実行する複数の演算手段を含み、
前記演算手段は、
前記対応するデータについて、前記命令情報に従って演算処理を実行する手段と、
前記対応するデータが、予め定められている規則と前記データ数情報とにより特定される演算処理対象データである場合には、前記演算処理の結果データを選択し、それ以外の場合には、前記対応するデータを選択して、出力データパケットのデータフィールドに格納する手段とを含むことを特徴とする、データ駆動型情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000090871A JP3769445B2 (ja) | 2000-03-29 | 2000-03-29 | データ駆動型情報処理装置 |
US09/805,164 US6792522B2 (en) | 2000-03-29 | 2001-03-14 | Data driven information processor carrying out processing using packet stored with plurality of operand data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000090871A JP3769445B2 (ja) | 2000-03-29 | 2000-03-29 | データ駆動型情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001282766A JP2001282766A (ja) | 2001-10-12 |
JP3769445B2 true JP3769445B2 (ja) | 2006-04-26 |
Family
ID=18606410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000090871A Expired - Fee Related JP3769445B2 (ja) | 2000-03-29 | 2000-03-29 | データ駆動型情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6792522B2 (ja) |
JP (1) | JP3769445B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10792794B2 (en) | 2018-05-29 | 2020-10-06 | Simpson Strong-Tie Company Inc. | Fastener installation tools and systems |
JP7392407B2 (ja) * | 2019-11-14 | 2023-12-06 | 株式会社デンソー | センター装置、車両用電子制御システム、プログラム更新の進捗制御方法及びプログラム更新の進捗制御プログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5341506A (en) * | 1984-12-10 | 1994-08-23 | Nec Corporation | Data flow processor with a full-to-half word convertor |
US5021947A (en) * | 1986-03-31 | 1991-06-04 | Hughes Aircraft Company | Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing |
JPH0646414B2 (ja) * | 1987-10-20 | 1994-06-15 | シャープ株式会社 | 情報処理装置 |
US5327569A (en) * | 1989-08-28 | 1994-07-05 | Mitsubishi Denki Kabushiki Kaisha | Data driven type processor including a generation management system |
US5028186A (en) * | 1990-01-29 | 1991-07-02 | Mechanical Plastics Corp. | Hollow wall anchor with enhanced holding strength |
JP2668156B2 (ja) * | 1990-08-28 | 1997-10-27 | シャープ株式会社 | データ駆動型情報処理装置の実行制御方法 |
JP3442192B2 (ja) * | 1995-05-31 | 2003-09-02 | シャープ株式会社 | データ駆動型情報処理装置 |
JP3720094B2 (ja) | 1995-10-18 | 2005-11-24 | シャープ株式会社 | データ駆動型情報処理装置 |
RU2130198C1 (ru) * | 1997-08-06 | 1999-05-10 | Бурцев Всеволод Сергеевич | Вычислительная машина |
-
2000
- 2000-03-29 JP JP2000090871A patent/JP3769445B2/ja not_active Expired - Fee Related
-
2001
- 2001-03-14 US US09/805,164 patent/US6792522B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6792522B2 (en) | 2004-09-14 |
US20010029576A1 (en) | 2001-10-11 |
JP2001282766A (ja) | 2001-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6341343B2 (en) | Parallel processing instructions routed through plural differing capacity units of operand address generators coupled to multi-ported memory and ALUs | |
WO1997030395A1 (fr) | Memoire a acces multiples et processeur de donnees procurant l'acces a cette memoire | |
JP2002051072A (ja) | パケット処理装置 | |
US5125097A (en) | Data flow type information processors where data packets pass through plurality of merging and branching portions of the internal path | |
US5274777A (en) | Digital data processor executing a conditional instruction within a single machine cycle | |
US5555386A (en) | Data flow processor with variable logic connection between processors in a system | |
JPH05150979A (ja) | 即値オペランド拡張方式 | |
JPS61253541A (ja) | 命令処理装置 | |
US6516407B1 (en) | Information processor | |
US5349671A (en) | Microprocessor system generating instruction fetch addresses at high speed | |
US20020019927A1 (en) | Apparatus for issuing an instruction to a suitable issue destination | |
JP2580396B2 (ja) | パイプラインにおける分岐命令制御方式 | |
JP3769445B2 (ja) | データ駆動型情報処理装置 | |
JP2632074B2 (ja) | データフロー型情報処理装置 | |
JP2928680B2 (ja) | 複合条件処理方式 | |
JP3454393B2 (ja) | データ処理装置 | |
JP3469645B2 (ja) | データ駆動型情報処理装置 | |
JP2668156B2 (ja) | データ駆動型情報処理装置の実行制御方法 | |
JPH09305401A (ja) | コンピュータ及びコンパイラ | |
JPH07191955A (ja) | データ駆動型情報処理装置 | |
JPH0619705A (ja) | パイプライン制御方式 | |
JP2919184B2 (ja) | パイプライン処理を行う情報処理装置 | |
US20060015704A1 (en) | Operation apparatus and instruction code executing method | |
JP3708560B2 (ja) | データフロー型情報処理装置 | |
JP3124361B2 (ja) | メモリデータロード装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060106 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060206 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |