(57)【特許請求の範囲】
【請求項１】
行先フィールド、命令フィールド、第１のデータフィールドおよび第２のデータフィールドからなるデータパケットを用いて情報処理するデータ駆動型情報処理装置であって、
複数の行先情報および複数の命令情報からなる第１のデータフロープログラムを記憶し前記データパケットを入力し、その行先フィールドの内容に基づくアドレス指定領域における前記第１データフロープログラムの次位の行先情報および次位の命令情報を読出し、それらの各情報を該入力データパケットの行先フィールドおよび命令フィールドにそれぞれ格納して該入力パケットを出力するプログラム記憶手段と、
前記第１データフロープログラムを含む第２のデータフロープログラムを記憶し、前記データパケットを入力し、その行先フィールドの内容に基づくアドレス指定を行なうことによって、前記第２データフロープログラムの次位の行先情報および次位の命令情報を読出し、該入力パケットの行先フィールドの内容に基づく前記プログラム記憶手段のアドレス指定領域にロードするプログラムロード手段と、
前記データパケットを入力し、該入力パケットの命令フィールドの命令情報を解読し、該入力パケットの第１および第２のデータフィールドの２つのデータに対して所定の演算処理を施し、その結果を該入力パケットの第１のデータフィールドに格納して該入力パケットを前記プログラム記憶手段に出力する演算手段と、
前記プログラム記憶手段から出力される前記データパケットと待合せを行ない、行先情報が一致する異なる２つのデータパケットのうち一方のデータパケットの第１のデータフィールドのデータを他方のデータパケットの第２のデータフィールドに格納してその他方のデータパケットを前記プログラムロード手段および前記演算手段に並行して出力するデータ対生成手段とを備え、
前記情報処理装置において、所定の条件によって実行すべき命令群を選択する選択構造を含むデータフロープログラムを実行する場合に、前記データ対生成手段は、入力された前記データパケットの内容に従い該入力データパケットの行先情報を操作する演算を実行して、前記アドレス指定領域を選択的に決定する行先操作手段を有する、データ駆動型情報処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明はデータ駆動型情報処理装置に関し、特に、選択構造を含むデータフロープログラムを処理するデータ駆動型情報処理装置に関する。
【０００２】
【従来の技術】
図２は、従来のデータ駆動型情報処理装置のブロック構成図である。
【０００３】
図３は、従来および本発明の一実施例に適用されるデータ駆動型情報処理装置において処理されるデータパケットのフィールド構成図である。
【０００４】
図４は、従来および本発明の一実施例に適用されるプログラム記憶部の記憶内容の一部を示す図である。
【０００５】
図３において、データパケットは行先フィールドＦ１、命令フィールドＦ２、データ１フィールドＦ３およびデータ２フィールドＦ４を含む。フィールドＦ１には行先情報が格納され、フィールドＦ２には命令情報が格納され、フィールドＦ３またはＦ４にはオペランドデータを含む各種データが格納される。
【０００６】
図２の情報処理装置にはプログラム記憶部１、データ対生成部５、演算処理部６および外部プログラム記憶部７を含む。
【０００７】
プログラム記憶部１には図４に示すデータフロープログラムが記憶される。図４に示されるデータフロープログラムは複数個の次位の行先情報、複数個の次位の命令情報および複数個のコピー有／無情報を含む。プログラム記憶部１は図３に示されたデータパケットを入力すると、入力パケットのフィールドＦ１に格納された行先情報に基づいたアドレス指定によって、図４に示されるように次位のプログラムデータ、すなわち次位の行先情報、次位の命令情報およびコピー有／無情報を読出す。読出された行先情報および命令情報は入力データパケットのフィールドＦ１およびＦ２にそれぞれ格納されて、該入力パケットは送出される。なお、このとき読出されたコピー有／無情報に基づいて、次アドレスに格納されたプログラムデータが読出されることもあるが、この詳細については後述する。
【０００８】
データ対生成部５は、プログラム記憶部１から出力されるデータパケットの待合せを行なう。すなわち、行先情報が一致する異なる２つのデータパケットを検出すると、２つのデータパケットのうち一方のデータパケットのオペランドデータ、たとえば図３におけるフィールドＦ３の内容を他方のデータパケットのフィールドＦ４に格納し、この他方のデータパケットを出力する。データ対生成部５から出力されるデータパケットは演算処理部６および外部プログラム記憶部７に送出される。演算処理部６は、データ対生成部５から出力されるデータパケットを入力し、入力データパケットに対して所定の演算処理を施し、その結果を該入力パケットのフィールドＦ３またはＦ４に格納し、該入力パケットをプログラム記憶部１に出力する。なお、演算処理部６はさらにＳＷおよびＳＷＣ命令実行部６１を含むが、この命令実行部の詳細については後述する。
【０００９】
外部プログラム記憶部７はプログラム記憶部１の記憶容量を仮想的に拡張するために設けられ、図４に示されるようなデータフロープログラムを予め記憶する。ここに記憶されるプログラムは、記憶部１に記憶されるプログラムデータを含む。外部プログラム記憶部７はデータ対生成部５から出力されるデータパケットを入力し、応じて次に実行されるべき命令を読出してプログラム記憶部１にダウンロードするよう動作する。詳細には、外部プログラム記憶部７は入力パケットのフィールドＦ１に格納された行先情報に基づいたアドレス指定によって、図４に示されるように次位の行先情報、次位の命令情報およびコピー有／無情報を読出し、読出した情報を入力データパケットのデータフィールドＦ３またはＦ４に格納し、該入力パケットをプログラム記憶部１に送出する。なお、このとき読出されたコピー有／無情報がコピー「有」であることに応じて、次のアドレスに格納されたプログラムデータも読出し同様にプログラム記憶部１にダウンロードする。プログラム記憶部１は記憶部７から入力したデータパケットの行先情報に基づくアドレス指定領域に、該入力パケットのフィールドＦ３またはＦ４に格納された次位のプログラムデータを書込む。
【００１０】
外部プログラム記憶部７におけるプログラム読出し時、行先情報に基づくアドレス指定領域に格納されたプログラムデータがプログラム記憶部１に既にダウンロードされているか否かを確認し、されていれば命令の読出は行なわれず、されていなければプログラム記憶部１に対して前述したプログラムデータのダウンロードが行なわれる。したがって、プログラム記憶部１は比較的小容量（高速アクセス）のメモリであるので、実行されるプログラムデータのみがダウンロードされてその有効活用が図られている。なお外部プログラム記憶部７はＳＷおよびＳＷＣ命令実行部７１を有し、入力データパケットの行先情報を操作してダウンロードすべきプログラムデータを選択するよう動作するが、その詳細は後述する。
【００１１】
上述したようにデータパケットがプログラム記憶部１、データ対生成部５、演算処理部６、プログラム記憶部１と回り続けると同時に、プログラム記憶部１、データ対生成部５、外部プログラム記憶部７、プログラム記憶部１と回り続けることにより、プログラム記憶部１に記憶されたデータフロープログラムに基づく演算が進行する。なお、データ対生成部５から同時に出力される２つのパケットのうち、記憶部７を経由するパケットの巡回速度の方が、演算処理部６を経由するそれよりも速い。
【００１２】
また、プログラム記憶部１とデータ対生成部５とはデータ伝送路１０ａ、１０ｂにより結合されており、データ対生成部５と外部プログラム記憶部７とはデータ伝送路１１により結合されており、さらにデータ対生成部５と演算処理部６とはデータ伝送路１３により結合されている。また、外部プログラム記憶部７とプログラム記憶部１はデータ伝送路１２により結合されており、演算処理部６とプログラム記憶部１とはデータ伝送路１４により結合されている。
【００１３】
図５は、コピー処理を含むデータフロープログラムをフローグラフで示した図である。
【００１４】
実行すべきデータフロープログラムにおいて、図５に示すようにデータのコピーが必要とされる場合、すなわちある演算結果たとえば図５における加算命令（＋）の出力が２個以上の他の演算、たとえば図５における乗算（＊）および減算（−）命令によって参照されるような場合、コピー処理はプログラム記憶部１において行なわれる。図４に示すように、プログラム記憶部１にはコピー有／無情報が記憶されている。まず、入力されたデータパケットの行先情報に基づきアドレス指定された領域に格納される情報が読出される。このとき、コピー有／無情報が「無」であれば、読出された行先情報および命令情報が入力パケットのフィールドＦ１およびＦ２のそれぞれに格納されて該入力パケットが出力され処理は終了する。一方、コピー有／無情報が「有」であれば、読出された行先情報および命令情報が入力パケットのフィールドＦ１およびＦ２に格納され、該入力パケットが出力されるとともに、次アドレスに記憶される行先情報、命令情報およびコピー有／無情報が読出される。引続いて読出されたコピー有／無情報が「無」であれば、データフィールドＦ３に入力データパケットのデータフィールドの内容を格納しかつ行先フィールドおよび命令フィールドに現在読出された次位の行先情報および命令情報を格納したデータパケットが出力されて処理は終了する。引続いて読出されたコピー有／無情報が「有」であれば、さらに続けて同様にコピー処理が行なわれる。
【００１５】
図６は、選択構造を含むデータフロープログラムの一例を表わしたフローグラフを示す図である。
【００１６】
図６において、Ｎ１〜Ｎ８，Ｎ４′およびＮ６′はノードである。Ｄ１〜Ｄ８，Ｄ４′およびＤ６′は各ノードのノード番号、すなわち行先情報である。ｏｐ１〜ｏｐ６，ｏｐ４′，ｏｐ６′，ＳＷおよびＳＷＣは各ノードのオペレーションコード、すなわち命令情報である。ただし、ｏｐ２およびｏｐ３は条件判定命令であり、入力データに応じた条件判定結果を「真」／「偽」として出力する。ＳＷＣおよびＳＷは、右入力データが「真」のとき、左入力データを左側の出力にそのまま導出し、「偽」のときは左入力データを右側の出力にそのまま導出する機能を有した命令である。したがって、図６のフローグラフは、ノードＮ２の出力が「真」のときノードＮ４およびＮ４′を、「偽」のときはノードＮ３の出力に従って、ノードＮ３の出力が「真」のときノードＮ５を、「偽」のときノードＮ６およびＮ６′を、選択的に実行する構造を表わしている。
【００１７】
図７は、図６のデータフローグラフにして表わされたデータフロープログラムに対応するプログラム記憶部１の記憶内容を示す図である。図２、図６および図７を用いてデータフロープログラムの選択構造による処理の流れについて説明する。
【００１８】
まず、ノードＮ１の演算結果に対応するデータパケットが演算処理部３から出力され、データ伝送路１４を通りプログラム記憶部１に入力された場合を想定する。
【００１９】
プログラム記憶部１において、その入力データパケットが有している行先情報Ｄ１に基づくアドレス指定によって、図７に示す記憶内容が読出され、行先情報Ｄ７、命令情報ＳＷＣおよびコピー有／無情報「無」が得られる。読出された行先情報Ｄ７および命令情報ＳＷＣは入力データパケットのフィールドＦ１およびＦ２にそれぞれ格納されて、該入力パケットはデータ対生成部５に与えられる。同様に、ノードＮ２の条件判定結果に従ってデータとして「真」／「偽」を持つデータパケットもプログラム記憶部１において行先情報および命令情報が更新され、行先情報Ｄ７および命令情報ＳＷＣを持つデータパケットが生成された後、データ対生成部５に与えられる。これにより、データ対生成部２においてノードＮ７に対するデータ対が生成され、データ対を格納したデータパケットは演算処理部６および外部プログラム記憶部７に与えられる。もし、ノードＮ２の条件判定結果が「真」であれば、演算処理部６の命令実行部６１においてノードＮ７、すなわちＳＷＣに対応する左入力データパケットはそのまま演算処理部６を通過するように制御されて、通過したデータパケットはプログラム記憶部１に入力される。
【００２０】
また、外部データ記憶部７の命令実行部７１においてもノードＮ２の条件判定結果が「真」であることにより、ノードＮ７に対応する命令がプログラム記憶部１に既にダウンロードされているかを確認し、されていれば何も出力せず、されていなければ入力パケットの行先情報Ｄ７に基づくアドレス指定によりプログラム記憶部１に対してノードＮ７に対応する命令のダウンロードを行なうように制御する。
【００２１】
このように、ノードＮ７、すなわち命令ＳＷＣの実行は、演算処理部６と外部プログラム記憶部７において並行して行なわれていることになる。
【００２２】
プログラム記憶部１に対する演算処理部６からの入力データパケットは行先情報Ｄ７を有しているため、プログラム記憶部１においてこの行先情報Ｄ７に基づくアドレス指定により、図７に示されるように次位の行先情報Ｄ４、次位の命令情報ｏｐ４およびコピー有／無情報「有」を読出す。この場合、プログラム記憶部１はその行先情報Ｄ４および命令情報ｏｐ４を持つ次位のデータパケットを出力するとともに、読出されたコピー有／無情報が「有」であるため、行先情報Ｄ７が指定するアドレスの次のアドレスを指定することによりコピー情報、すなわち次位の行先情報Ｄ４′、次位の命令情報ｏｐ４′および次位のコピー有／無情報「無」を読出し、コピー処理が行なわれる。したがって、行先情報Ｄ４および命令情報ｏｐ４を持つデータパケットと、行先情報Ｄ４′および命令情報ｏｐ４′を持つデータパケットとがプログラム記憶部１から連続して出力される。これは、ノードＮ７の左入力データパケットがデータフロープログラム上におけるノードＮ７の左出力に選択的に導出されていることを意味している。
【００２３】
逆に、ノードＮ２の条件判定結果が「偽」であれば、ノードＮ７、すなわちＳＷＣに対応する入力データパケットは演算処理部６の命令実行部６１においてその行先情報がＳＷＣにより値２が加算され“Ｄ７＋２”に更新された後、演算処理部６から出力され、プログラム記憶部１に入力される。
【００２４】
また、外部プログラム記憶部７の命令実行部７１においてもノードＮ２の条件判定結果が「偽」である場合により、行先情報が“Ｄ７＋２”に更新された後、“Ｄ７＋２”に対応する命令がプログラム記憶部１にダウンロードされているかを確認し、されていれば何も出力せず、ダウンロードされていなければ“Ｄ７＋２”に基づくアドレス指定により読出されたプログラムデータをプログラム記憶部１にロードする。
【００２５】
プログラム記憶部１に対する演算処理部６からのデータパケットの行先情報Ｄ７＋２に基づくアドレス指定により図７に示されるように次位の行先情報Ｄ８および命令情報ＳＷを持つデータパケットが出力される。これは、ノードＮ７の左入力データパケットがデータフロープログラム上におけるノードＮ７の右出力に選択的に導出されていることを意味している。
【００２６】
上述のようにノードＮ２の条件判定結果が「偽」であった場合は、行先情報Ｄ８および命令情報ＳＷを持つデータパケットがデータ対生成部５に与えられる。
【００２７】
一方、ノードＮ３の条件判定結果に従ってデータとして「真」／「偽」を持つデータパケットもまた、プログラム記憶部１に入力される。プログラム記憶部１は入力パケットの行先情報に基づくアドレス指定により、図７に示されるように次位の行先情報Ｄ８、次位の命令情報ＳＷおよびコピー有／無情報「無」を読出すので、読出された行先情報Ｄ８および命令情報ＳＷが該入力データパケットのフィールドＦ１およびＦ２にそれぞれ格納されて、該入力パケットがデータ対生成部５に与えられる。したがって、データ対生成部５においてノードＮ８に対するデータ対が生成され、演算処理部６および外部プログラム記憶部７に並行して与えられる。
【００２８】
もし、ノードＮ３の条件判定結果が「真」であれば、演算処理部６の命令実行部６１は、ノードＮ８、すなわちＳＷに対応する左入力データパケットをそのまま演算処理部３から出力し、プログラム記憶部１に与える。
【００２９】
また、外部プログラム記憶部７の命令実行部７１も、ノードＮ３の条件判定結果が「真」であることにより、ノードＮ８に対応する命令がプログラム記憶部１にダウンロードされているかを確認し、されていれば何も出力せず、されていなければプログラム記憶部１に対してノードＮ８に対応する命令をダウンロードする。
【００３０】
一方、演算処理部６からプログラム記憶部１に入力するデータパケットは行先情報Ｄ８を有しているため、プログラム記憶部１においてこの行先情報Ｄ８に基づくアドレス指定により、次位の行先情報Ｄ５、命令情報ｏｐ５およびコピー有／無情報「無」を読出す。読出された行先情報Ｄ５、および命令情報ｏｐ５は演算処理部６からの入力データパケットのフィールドＦ１およびＦ２にそれぞれ格納されて、該入力データパケットはデータ対生成部５に送出される。したがって、行先情報Ｄ５および命令情報ｏｐ５を持つデータパケットのみが出力される。
【００３１】
これは、ノードＮ８の左入力データパケットがデータフロープログラム上におけるノードＮ８の左出力に選択的に導出されていることを意味している。
【００３２】
逆に、ノードＮ３の条件判定結果が「偽」であれば、演算処理部６の命令実行部６１においては、ノードＮ８、すなわちＳＷに対応する入力データパケットの行先情報は命令ＳＷにより１が加算され、“Ｄ８＋１”に更新された後、該入力パケットは演算処理部６から出力されプログラム記憶部１に入力される。
【００３３】
また、外部プログラム記憶部７の命令実行部７１においても、ノードＮ３の条件判定結果が「偽」であることにより、行先情報がＤ８＋１に更新された後、Ｄ８＋１に対応する命令がプログラム記憶部１にダウンロードされているかを確認し、されていれば何も出力せず、されていなければプログラム記憶部１に対して、Ｄ８＋１に対応する命令をロードする。
【００３４】
プログラム記憶部１において、演算処理部３から入力されたデータパケットの行先情報にはＤ８＋１が格納されているので、プログラム記憶部１においてこの行先情報Ｄ８＋１に基づくアドレス指定により、次位の行先情報Ｄ６および命令情報ｏｐ６を格納したデータパケットが出力される。この場合、図７を参照してもわかるように、読出されたコピー「有」／「無」情報が「有」であるため、Ｄ８＋１が指定するアドレスの次のアドレスが指定されてコピー処理が行なわれる。したがって、次位の行先情報Ｄ６′、次位の命令情報ｏｐ６′および次位のコピー有／無情報「無」が読出され、行先情報にＤ６′、命令情報にｏｐ６′、データフィールドに入力データパケットのデータフィールドの内容を格納したデータパケットもまた生成されて出力される。
【００３５】
これは、ノードＮ８の左入力データパケットがデータフロープログラム上におけるノードＮ８の右出力に選択的に導出されることを意味している。
【００３６】
このように、データフロープログラムの従来の選択的実行は、右入力データの真／偽の値によって左入力データの行先を選択的に切換える命令ＳＷ、命令ＳＷＣまたはこれら２つの命令の組合わせによって実現されている。そして、命令ＳＷおよびＳＷＣが演算処理部６（命令実行部６１）および外部プログラム記憶部７（命令実行部７１）で並行して実行されていることにより、プログラム記憶部１において、演算結果と次位命令の待合せが正しく実行される。
【００３７】
【発明が解決しようとする課題】
従来のデータ駆動型情報処理装置では、選択構造を含むデータフロープログラムの処理を実現する場合、命令ＳＷ、ＳＷＣは演算処理部６の内部（命令実行部６１）および外部プログラム記憶部７の内部（命令実行部７１）で同一内容のデータについて並行して実行されていた。したがって演算処理部６の内部で命令ＳＷまたは命令ＳＷＣに関する条件判定結果に従う行先情報の更新処理内容と、外部プログラム記憶部７の内部における命令ＳＷまたは命令ＳＷＣに関する条件判定結果に従う行先情報の更新処理内容とが一致している場合に、初めてプログラム記憶部１において演算結果と次位命令の待合せが正しく実行されることになる。ところが、たとえば命令実行部７１において何らかの誤差が原因となって行先情報の更新処理結果が命令実行部６１のそれと一致しなくなった場合は、次の命令を正しくプログラム記憶部１にダウンロードできなくなり、データフロープログラムの処理が正しく実行できなくなってしまう。
【００３８】
このように、同じ命令（ＳＷ、ＳＷＣ）の実行が同一情報処理装置内の複数ヵ所で行なわれるがために、該命令が誤って実行される確率が極めて高くなり、ひいては該情報処理装置における処理の信頼性を低下させるという問題があった。
【００３９】
それゆえにこの発明の目的は、所定の条件によって実行すべき命令群を選択する選択構造を含むデータフロープログラムを処理する場合に、その処理の信頼性を向上させることのできるデータ駆動型情報処理装置を提供することである。
【００４０】
【課題を解決するための手段】
この発明に係るデータ駆動型情報処理装置は、行先フィールド、命令フィールド、第１のデータフィールドおよび第２のデータフィールドからなるデータパケットを用いて情報処理する装置であり、プログラム記憶手段と、プログラムロード手段と、演算手段と、データ対生成手段とを備える。
【００４１】
プログラム記憶手段は、複数の行先情報および複数の命令情報からなる第１のデータフロープログラムを記憶し、前記データパケットを入力し、その行先フィールドの内容に基づくアドレス指定領域における前記第１データフロープログラムの次位の行先情報および次位の命令情報を読出し、それらの各情報を該入力データパケットの行先フィールドおよび命令フィールドにそれぞれ格納して、該入力パケットを出力する。
【００４２】
プログラムロード手段は、プログラム記憶手段に記憶される第１データフロープログラムを含む第２のデータフロープログラムを記憶し、データパケットを入力し、その行先フィールドの内容に基づくアドレス指定を行なうことによって、第２データフロープログラムの次位の行先情報および次位の命令情報を読出し、これを、該入力パケットの行先フィールドの内容に基づくプログラム記憶手段のアドレス指定領域にロードする。
【００４３】
演算手段は、データパケットを入力し、入力パケットの命令フィールドの命令情報を解読し、この入力パケットの第１および第２のデータフィールドの２つのデータに対して所定の演算処理を施し、その結果を該入力パケットの第１のデータフィールドに格納して該入力パケットを前述のプログラム記憶手段に出力する。
【００４４】
データ対生成手段は、前述のプログラム記憶手段から出力されるデータパケットの待合せを行なう。詳細には、プログラム記憶手段から出力されるデータパケットを入力し、その行先情報が一致する異なる２つのデータパケットのうち一方のデータパケットの第１のデータフィールドのデータを他方のデータパケットの第２のデータフィールドに格納してその他方のデータパケットを前述のプログラムロード手段および前述の演算手段に並行して出力する機能を有する。特に、この情報処理装置において所定の条件によって実行すべき命令群を選択する選択構造を含むデータフロープログラムを実行する場合に、このデータ対生成手段は、入力したデータパケットの内容に従い該入力データパケットの行先情報を操作する演算を実行して、前述したアドレス指定領域を選択的に決定する行先操作手段を含む。
【００４５】
【作用】
この発明に係るデータ駆動型情報処理装置は上述のように構成されて、この情報処理装置において所定の条件によって実行すべき命令群を選択する選択構造を含むデータフロープログラムを実行する場合には、データ対生成手段からプログラムロード手段および演算手段に並行して与えられる各データパケットの行先情報は、予めデータ対生成手段の行先操作手段によりデータパケットの内容に従う演算により同様に操作されて、操作後の行先情報により後述するアドレス指定領域が選択的に決定される。プログラムロード手段はこのパケットを入力し、入力パケットの行先情報に基づくアドレス指定により読出した情報を該入力パケットの行先情報に基づくプログラム記憶手段のアドレス指定領域にロードする。演算手段は、データ対生成手段から出力されたパケットを入力し、演算処理し演算結果を格納した該入力パケットをプログラム記憶手段に出力する。プログラム記憶手段においては演算手段からのデータパケットの行先情報に基づくアドレス指定領域に格納される情報が、すなわちデータ対生成手段から出力されたデータパケットの行先情報に基づいて前述のプログラムロード手段からプログラム記憶手段にロードされた情報が読出される。したがって、プログラム記憶手段において演算手段から出力された演算結果を格納したデータパケットは正しく次位の行先情報および命令情報を受取ることが可能となる。
【００４６】
【実施例】
以下、この発明の一実施例について図面を参照して詳細に説明する。
【００４７】
図１は、この発明の一実施例によるデータ駆動型情報処理装置のブロック構成図である。
【００４８】
図１において情報処理装置はプログラム記憶部１、データ対生成部２、演算処理部３および外部プログラム記憶部４を含む。
【００４９】
プログラム記憶部１は従来のプログラム記憶部と同様な機能を有する。データ対生成部２はさらにＳＷおよびＳＷＣ命令実行部２１を含む。命令実行部２１は生成部２においてデータ対が検出され、検出されたデータパケットの命令情報が命令ＳＷまたは命令ＳＷＣである場合、該命令に従う演算を実行する。つまり、一方のデータパケットのデータフィールドに格納された条件判定結果（真／偽）に従って他方のデータパケットの行先情報を更新処理するような演算を実行した後、該他方のパケットを演算処理部３および外部プログラム記憶部４に出力するよう動作する。データ対生成部２のその他の動作は、前述した従来のデータ対生成部と同様である。
【００５０】
演算処理部３は従来の演算処理部に含まれていたＳＷおよびＳＷＣ命令実行部を含まない構造となっている。演算処理部３は入力データパケットに対して所定の演算処理を施し、その結果をプログラム記憶部１に出力するよう動作する。ただし、演算処理部３は入力データパケットに格納された命令情報が命令ＳＷまたは命令ＳＷＣである場合、該入力パケットをそのままプログラム記憶部１に出力するよう動作する。
【００５１】
外部プログラム記憶部４は従来の外部プログラム記憶部に含まれていたＳＷおよびＳＷＣ命令実行部を含まない構造となっている。外部プログラム記憶部４はデータ対生成部２から出力されるデータパケットを入力し、必要であれば該入力パケットの行先情報に基づく指定アドレス領域に格納された次に実行されるべき命令を読出し、プログラム記憶部１にダウンロードするよう動作する。このダウンロード時、該命令が既にプログラム記憶部１にダウンロードされている場合、このダウンロードは行なわれない。
【００５２】
このように、図１に示された本実施例による情報処理装置と図２に示された従来の情報処理装置とを比較してもわかるように、従来、情報処理装置の複数箇所に設けられていたＳＷおよびＳＷＣ命令実行部が、その機能が統括されて装置内の１ヵ所に設けられたことにより、情報処理装置の小型化が従来よりも推進される。
【００５３】
次に、図１の情報処理装置において図６に示されるデータフローグラフに従う選択構造を含むデータフロープログラムを処理した場合の動作について説明する。
【００５４】
まず、図６のノードＮ１における演算結果に対応するデータパケットが演算処理部３から出力されてデータ伝送路４を通ってプログラム記憶部１に入力されたと想定する。
【００５５】
プログラム記憶部１において演算処理部３から入力されたデータパケットに格納される行先情報Ｄ１に基づくアドレス指定によって、図７に示される記憶内容が読出され、行先情報Ｄ７、命令情報ＳＷＣおよびコピー有／無情報「無」を得る。したがってデータ対生成部２には行先情報Ｄ７、命令情報ＳＷＣを格納したデータパケットが与えられる。
【００５６】
一方、ノードＮ２の条件判定結果に従ってデータとして「真」／「偽」を格納したデータパケットがプログラム記憶部１において行先情報および命令情報が更新され、行先情報Ｄ７および命令情報ＳＷＣを持つデータパケットが生成された後、データ対生成部２に与えられる。
【００５７】
データ対生成部２において図６に示されるノードＮ７に対するデータ対が検出される。そして、ノードＮ２の条件判定結果が「真」であれば、ノードＮ７、すなわちＳＷＣに対応する左入力データパケットはそのままデータ対生成部２から出力され、演算処理部３および外部プログラム記憶部４に並行して与えられる。
【００５８】
演算処理部３は、データ対生成部２から与えられたデータパケットを入力し、そこに格納された命令情報が命令ＳＷＣであることに応じて、該入力データパケットをそのまま送出し、プログラム記憶部１に与える。
【００５９】
また、外部プログラム記憶部４は、入力データパケットに格納された命令情報、すなわちノードＮ７に対応する命令がプログラム記憶部１にダウンロードされているかを確認し、されていれば何も出力せず、されていなければプログラム記憶部１に対してノードＮ７に対応する命令のロードを従来と同様に行なう。
【００６０】
プログラム記憶部１において、演算処理部３からの入力データパケットは行先情報Ｄ７を有しているため、プログラム記憶部１においてこの行先情報Ｄ７に基づくアドレス指定により、図７に示されるように次位の行先情報Ｄ４、命令情報ｏｐ４およびコピー有／無情報「有」を読出す。この場合、従来と同様なコピー処理が行なわれる。したがって、プログラム記憶部１からは行先情報Ｄ４および命令情報ｏｐ４を格納したデータパケットと、行先情報Ｄ４′および命令情報ｏｐ４′を格納したデータパケットとが連続してデータ対生成部５に送出される。これは、図６に示されるノードＮ７の左入力データパケットがデータフロープログラム上におけるノードＮ７の左出力に選択的に導出されていることを意味している。
【００６１】
逆に、ノードＮ２の条件判定結果が「偽」であれば、ノードＮ７、すなわちＳＷＣに対応する左入力データパケットはデータ対生成部２の命令実行部２１において、その行先情報が命令ＳＷＣにより値２が加算され“Ｄ７＋２”に更新された後、データ対生成部２から出力される。生成部２から出力されたデータパケットは演算処理部３および外部プログラム記憶部４に並行して与えられる。演算処理部３はデータ対生成部２から出力されたデータパケットを入力し、そこに格納された命令情報が命令ＳＷＣであることに応じて、該入力データパケットをそのままプログラム記憶部１に送出する。一方、外部プログラム記憶部４は、データ対生成部２から入力したデータパケットに格納された命令情報Ｄ７＋２に対応する命令がプログラム記憶部１にダウンロードされているかを確認し、されていれば何も出力せず、ダウンロードされていなければ行先情報Ｄ７＋２に基づくアドレス指定領域に格納さた次位のプログラムデータを読出し、プログラム記憶部１にロードする。
【００６２】
プログラム記憶部１に対する演算処理部３からのデータパケットは行先情報Ｄ７＋２を格納する。プログラム記憶部１は入力パケットに格納された行先情報Ｄ７＋２に基づくアドレス指定により、図７に示されるように次位の行先情報Ｄ８および命令情報ＳＷおよびコピー有／無情報「無」を読出す。したがって、プログラム記憶部１からは行先情報Ｄ８および命令情報ＳＷを格納したデータパケットがデータ対生成部２に送出される。これは、ノードＮ７の左入力データパケットがデータフロープログラム上におけるノードＮ７の右出力に選択的に導出されることを意味している。
【００６３】
ノードＮ７以降のプログラム処理についても同様に、命令ＳＷＣまたは命令ＳＷ２に従う命令群を選択する際の行先情報の更新処理は、データ対生成部２の命令実行部２１においてのみ行なわれる。
【００６４】
このように、図１のデータ駆動型情報処理装置においては、実行すべき命令の選択を行なう命令ＳＷまたは命令ＳＷＣの処理がデータ対生成部２においてのみ行なわれることにより、従来、演算処理部と外部プログラム記憶部の２ヵ所で実現していた機能と等価な機能を該情報処理装置内の１ヵ所で実現できるとともに、プログラム記憶部１において、演算処理部３の演算結果が次位のプログラムデータを受けとる動作についての信頼性が向上する。
【００６５】
【発明の効果】
以上のようにこの発明によれば、所定の条件によって実行すべき命令群を選択する機能をデータ対生成手段にて行先操作手段として持たせることにより、常時プログラムロード手段および演算手段には同じ行先情報を格納したデータパケットが供給されるので、プログラム記憶手段において演算手段の演算結果が次位の行先情報および命令情報を読出す動作についての確実性が極めて高くなり、該情報処理装置における処理の信頼性が向上する。
【００６６】
また、所定の条件によって実行すべき命令群を選択する処理がデータ対生成手段（行先操作手段）においてのみ行なわれていることにより、従来、演算手段とプログラムロード手段との２ヵ所で実現していた同様な機能が該情報処理装置内の１ヵ所で実現できるので、該装置における回路の小規模化を実現することができる。
【図面の簡単な説明】
【図１】この発明の一実施例によるデータ駆動型情報処理装置のブロック構成図である。
【図２】従来のデータ駆動型情報処理装置のブロック構成図である。
【図３】従来およびこの発明の一実施例に適用されるデータ駆動型情報処理装置において処理されるデータパケットのフィールド構成図である。
【図４】従来およびこの発明の一実施例に適用されるプログラム記憶部の記憶内容の一部を示す図である。
【図５】コピー処理を含むデータフロープログラムをフローグラフで示す図である。
【図６】選択構造を含むデータフロープログラムの一例を表わしたフローグラフを示す図である。
【図７】図６のデータフローグラフにして表わされたデータフロープログラムに対応するプログラム記憶部の記憶内容を示す図である。
【符号の説明】
１  プログラム記憶部
２  データ対生成部
８  演算処理部
９  外部プログラム記憶部
２１  ＳＷおよびＳＷＣ命令実行部
ＳＷＣおよびＳＷ  右入力データの真／偽の値によって左入力データの行先を選択的に切換える命令。
なお、各図中、同一符号は同一または相当部分を示す。
【図１】
0003686091.tif 000002
【図２】
0003686091.tif 000003
【図３】
0003686091.tif 000004
【図４】
0003686091.tif 000005
【図５】
0003686091.tif 000006
【図６】
0003686091.tif 000007
【図７】
0003686091.tif 000008