(57)【特許請求の範囲】
【請求項１】
複数のデータ伝送路が直列に接続され、それらのデータ伝送路がデータの転送要求信号およびデータの転送許可信号を互いに送受信しながらデータパケットの伝送を行うデータ駆動型情報処理装置であって、
前記データパケットの処理内容を規定する情報を有する処理内容検出フィールドおよびタグフィールドより構成される１つのレジスタ、および
前記データ伝送路に処理内容を決定するフラグと、タグフィールドと、データフィールドとを含むデータパケットが入力されたことに応じて、前記レジスタのタグフィールドと前記データパケットのタグフィールドが同一の情報を有しているか否かを判別し、その判別結果に基づいて、前記レジスタの処理内容検出フィールドに格納されている情報に従って前記データパケットのフラグを変更する処理を行う処理手段を備えた、データ駆動型情報処理装置。
【請求項２】
前記処理手段は、前記レジスタの処理内容検出フィールドに格納されている情報がホスト転送情報である場合には、前記データパケットに対して次のデータ伝送路に転送する通常転送処理とは異なる外部のホストへ転送するホスト転送処理を実行することを特徴とする、請求項１に記載のデータ駆動型情報処理装置。
【請求項３】
複数のデータ伝送路が直列に接続され、それらのデータ伝送路がデータの転送要求信号およびデータの転送許可信号を互いに送受信しながらデータパケットの伝送を行うデータ駆動型情報処理装置であって、
前記データパケットの処理内容を規定する情報を有する処理内容検出フィールドおよびタグフィールドより構成される第１のレジスタ、
前記データパケットの処理内容を規定する情報を有する処理内容検出フィールドおよびタグマスクフィールドより構成される第２のレジスタ、
処理内容を決定するフラグとタグフィールドとデータフィールドとを含むデータパケットが前記データ伝送路に入力されたことに応じて、前記第１のレジスタのタグフィールドに格納されているタグデータおよび前記データパケットのタグフィールドに格納されているタグデータに、それぞれ前記第２のレジスタのタグマスクフィールドに格納されているタグマスクデータによってマスク処理し、マスク処理後の第１のレジスタのタグフィールドとマスク処理後の該データパケットのタグフィールドが同一の情報を有しているか否かを判別し、その判別結果に基づいて、前記第１のレジスタの処理内容検出フィールドおよび前記第２のレジスタの処理内容検出フィールドに格納されている情報に従って前記データパケットのフラグを変更する処理を行う処理手段を備えた、データ駆動型情報処理装置。
【請求項４】
前記処理手段は、前記第１のレジスタの処理内容検出フィールドに格納されている情報がホスト転送情報である場合には、前記データパケットに対して次のデータ伝送路に転送する通常転送処理とは異なる外部のホストへ転送するホスト転送処理を実行することを特徴とする、請求項３に記載のデータ駆動型情報処理装置。
【請求項５】
さらに、前記処理手段から前記ホスト転送処理の実行を指し示す転送要求信号が入力された場合に、前記外部のホストへ転送するホスト転送処理と前記通常転送処理とを行うために、２個のデータパケットの生成を指示する信号を出力するとともに、生成される前記２個のデータパケットを識別するためにホスト転送処理を決定するフラグを操作する操作信号を一方のデータパケットに出力する自己同期型転送制御回路を備えたことを特徴とする、請求項２あるいは４に記載のデータ駆動型情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はデータ駆動型情報処理装置に関し、特に、１つのパルスから複数個のパルスの転送を可能とした自己同期型転送制御回路を用いた多出力命令により、プログラム実行効率を向上させるデータ駆動型情報処理装置に関する。
【０００２】
【従来の技術】
近年のマルチメディア化に伴い、画像処理などでは多量の演算が要求される。このような多量の演算を高速に処理する装置として、データ駆動型情報処理装置（以下、データ駆動型プロセッサと称する）が提案されている。データ駆動型プロセッサでは、ある処理に必要な入力データがすべて揃いかつその処理に必要な演算装置などの資源が割当てられたときに処理が行なわれるという規則に従って処理が進行する。データ駆動型の情報処理動作を含むデータ処理装置には、非同期のハンドシェイク方式を採用したデータ伝送装置が用いられる。このようなデータ伝送装置では、複数のデータ伝送路が接続され、それらのデータ伝送路がデータの転送要求信号（以下、ＳＥＮＤ信号と称する）およびデータの転送を許可するか否かを示す転送許可信号（以下、ＡＣＫ信号と称する）を互いに送受信しながら、自律的なデータ転送が行なわれる。
【０００３】
図８は従来およびこの発明が適用されるデータパケットのフォーマットを示す図である。図８において、データパケットは行先ノード番号ＮＤ♯を格納するための行先ノード番号領域Ｆ１と、世代番号ＧＮ♯を格納するための世代番号領域Ｆ２と、命令コードＯＰＣを格納するための命令コード領域Ｆ３およびデータＤＡＴＡを格納するためのデータ領域Ｆ４を含む。ここで、世代番号とは、並列処理をしたいデータ群同士を区別するための番号である。行先ノード番号とは、同一世代内の入力データ同士を区別するための番号である。命令コードとは、命令デコーダに格納されている命令を実行するためのものである。
【０００４】
図９は従来のハンドシェイク方式を採用したデータ伝送装置の一例を示すブロック図である。図９において、入力されるパケットデータは、Ｃ素子１ａと１ｂとによって制御されてパイプラインレジスタ９ａ→９ｂと順に転送されていく間に、ロジック回路９ｃでシーケンスに処理される。図９において、たとえばパイプラインレジスタ９ａがデータ保持状態である場合、後段のパイプラインレジスタ９ｂがデータ保持状態にあれば、パイプラインレジスタ９ａからパイプラインレジスタ９ｂにはデータは送られない。
【０００５】
また、後段のパイプラインレジスタ９ｂがデータを保持していない状態であれば、もしくはデータを保持していない状態になれば、少なくとも予め設定された遅延時間をかけてデータがパイプラインレジスタ９ａからロジック回路９ｃで処理されてパイプラインレジスタ９ｂに送られる。このように接続された隣のパイプラインレジスタとの間で送受信されるＣＩ端子とＣＯ端子で入出力されるＳＥＮＤ信号およびＲＩ端子とＲＯ端子で入出力されるＡＣＫ信号とに従って非同期に、そして少なくとも予め設定された遅延時間をかけてデータ伝送を行なうような制御を自己同期型転送制御と呼び、そのようなデータ転送を制御する回路を自己同期型転送制御回路と呼ぶ。
【０００６】
図１０は図９に示したＣ素子の動作を説明するためのタイミングチャートである。Ｃ素子１ａは端子ＣＩから図１０（ａ）に示す「Ｌ」レベルのパルスを受取ると、端子ＲＩに入力される転送許可信号が図１０（ｅ）に示すように許可状態であれば、端子ＣＯから図１０（ｄ）に示すパルスを出力するとともに、パイプラインレジスタ９ｂに図１０（ｃ）に示すパルスを出力する。パイプラインレジスタ９ｂはＣ素子１ａから与えられるパルスに応答して、与えられる入力パケットデータを保持し、またその保持したデータを出力パケットデータとして出力する。さらに、Ｃ素子１ａは、前段に対して図１０（ｂ）に示すパルスを出力する。
【０００７】
図１１は自己同期型同軸転送制御回路の具体的な回路図である。この自己同期型転送制御回路はたとえば特開平６−８３７３１号公報に記載されたものである。図１１において、パルス入力端子ＣＩは前段部からのパルス状のＳＥＮＤ信号（転送要求信号）を受け、転送許可出力端子ＲＯは前段部にＡＣＫ信号（転送許可信号）を出力する。パルス出力端子ＣＯは後段部にパルス状のＳＥＮＤ信号を出力し、転送許可入力端子ＲＩは後段部からＡＣＫ信号を受ける。
【０００８】
マスタリセット入力端子ＭＲはマスタリセット信号を受ける。マスタリセット入力端子ＭＲ（図９には示さず）に「Ｈ」レベルのパルスが与えられると、インバータ４０ｅで反転され、フリップフロップ４０ａ，４０ｂがリセットされてＣ素子が初期化される。そして、パルス出力端子ＣＯ，転送許可出力端子ＲＯはともに初期状態として「Ｈ」レベル信号を出力する。転送許可出力端子ＲＯの出力が「Ｈ」レベルであることは転送許可状態を示し、逆に「Ｌ」レベルであることは転送禁止状態を示している。また、パルス出力端子ＣＯの出力が「Ｈ」レベルであることは、後段にデータ転送を要求していない状態を示し、逆に「Ｌ」レベルであることは後段にデータ転送を要求しているまたはデータを転送している状態を示している。
【０００９】
パルス入力端子ＣＩに「Ｌ」レベルの信号が入力されると、すなわち前段からデータ転送が要求されると、フリップフロップ４０ａはセットされ、その出力Ｑに「Ｈ」レベル信号を出力する。この「Ｈ」レベル信号はインバータ４０ｄで反転されて転送許可入力端子ＲＯからは「Ｌ」レベル信号が出力され、さらなるデータ転送を禁止する。一定時間後、パルス入力端子ＣＩに「Ｈ」レベルの信号が入力され、前段部から当該Ｃ素子へのデータのセットが終了する。この状態でかつ転送許可入力端子ＲＩから「Ｈ」レベル信号が入力されている、すなわち後段部からデータ転送を許可されている状態で、かつパルス出力端子ＣＯが「Ｈ」レベル信号を出力している、すなわち後段部へデータ転送している途中でない状態（データ転送を後段に要求していない状態）であれば、ＮＡＮＤゲート４０ｃはアクティブとなり、「Ｌ」レベル信号を出力する。
【００１０】
その結果、フリップフロップ４０ａと４０ｂはともにリセットされ、フリップフロップ４０ｂはパイプラインレジスタへのパルス出力端子ＣＰから遅延素子４０ｅを介して「Ｈ」レベル信号を出力するとともに、パルス出力端子ＣＯから遅延素子４０ｆを介して後段部のＣ素子へ「Ｌ」レベルのＳＥＮＤ信号を出力する。すなわち、後段部へデータ転送を要求する。「Ｌ」レベルのＳＥＮＤ信号を受けた後段のＣ素子は、そのＣ素子に対してさらなるデータ転送が行なわれないように転送禁止を示すＡＣＫ信号を「Ｌ」レベルにしてＲＯ端子から出力する。該Ｃ素子は転送許可入力端子ＲＩからの「Ｌ」レベルのＡＣＫＣ信号を入力し、この信号によりフリップフロップ４０ｂがセットされる。その結果、パイプラインレジスタへのパルス出力端子ＣＰから遅延素子４０ｅを介して「Ｌ」レベル信号が出力され、また後段部へのパルス出力端子ＣＯから遅延素子４０ｆを介して「Ｈ」レベルのＳＥＮＤ信号が出力され、データ転送を終了する。
【００１１】
図１２は図１０に示したデータ転送制御回路を含んで構成された従来のデータ駆動型プロセッサの概略ブロック図である。図１２において、データ駆動型プロセッサＰｅは、合流部ＪＮＣと、発火制御部ＦＣと、演算部ＦＰと、プログラム記憶部ＰＳと、分岐部ＢＲＮと、複数個のパイプラインレジスタ４ａ〜４ｃと、複数のＣ素子２ａ〜２ｃを含む。各Ｃ素子２ａ〜２ｃは前段および後段のＣ素子とのパケット転送パルス（ＣＩ，ＣＯ，ＲＩ，ＲＯの信号）のやり取りによって対応する処理部（ＦＣ，ＦＰ，ＢＳ）についてのパケット転送を制御する。各パイプラインレジスタ４ａ〜４ｃは対応のＣ素子２ａ〜２ｃからのパルス入力に応じて、前段の処理部より入力されているデータを取込んで保持し、出力段に導出し、次のパルスまでこれを保持する。
【００１２】
図１２において、プロセッサＰｅに図８に示したデータパケットが入力されると、入力パケットはまず合流部ＪＮＣを通り、発火制御部ＦＣに伝達され、行先ノード番号ＮＤ♯と世代番号ＧＮ♯とに基づいて同一のパケットの間で対データが形成される。すなわち、ノード番号ＮＤ♯と世代番号ＧＮ♯が一致し，データの異なる２つのデータパケットの検出を行ない、両番号が一致する２つのうち一方のデータパケットのデータを他方のデータパケットのデータ領域Ｆ４（図８）に追加格納し、この他方のデータパケットを出力する。データ領域Ｆ４に対データ（１組のデータ）を格納したパケットは次に演算部ＦＰに伝達される。演算部ＦＰは伝達されたデータパケットを入力し、その入力パケットの命令コードＯＰＣに基づいて該入力パケットの内容に対して所定の演算を行ない、演算結果を該入力パケットのデータ領域Ｆ４に格納する。該入力パケットは次にプログラム記憶部ＰＳに伝達される。
【００１３】
プログラム記憶部ＰＳは伝達されたデータパケットを入力し、その入力パケットの行先ノード番号ＮＤ♯に基づいて、プログラム記憶部ＰＳ内のプログラムメモリから上位の行先ノード番号ＮＤ♯と上位の命令コードＯＰＣとコピーフラグＣＰＹを読出す。そして、読出された行先ノード番号ＮＤ♯および命令コードＯＰＣが該入力パケットの行先ノード番号領域Ｆ１および命令コード領域Ｆ３にそれぞれ格納される。さらに、読出されたコピーフラグＣＰＹが「１」であれば、プログラムメモリ中の上位アドレスも有効と判断されて、上位アドレスに記憶されている行先ノード番号ＮＤ♯および命令コードＯＰＣを格納したパケットも生成される。
【００１４】
プログラム記憶部ＰＳから出力されるパケットは分岐部ＢＲＮへ伝達され、その行先ノード番号ＮＤ♯に基づいて出力されるか、または再度プロセッサ内部に戻される。同一データを３個にコピーするためには、このプロセッサ内部に戻されたパケットでコピー処理をすることになる。したがって、同一データを複数個コピーするためには、複数回プロセッサへパケットを戻してコピー処理しなければならない。
【００１５】
【発明が解決しようとする課題】
上述のデータ駆動型情報処理装置においては、何らかの障害などによってデータフロープログラムが期待どおり動作しないときに、たとえばデータ駆動型情報処理装置自身に関するハードウェア的なもの、あるいは実行させているデータフロープログラムに起因するソフトウェア的なものなどの誤りの原因を効率よく発見するためのデバッグ装置が求められる。
【００１６】
データ駆動型情報処理装置のデバッグ装置に関しては、特開平５−１５１３７０号公報の「データ駆動型計算機」に見られるようなプログラムの実行状態を把握するために、ソースプログラムの指定行に対応するデータフロープログラムのノードにおける局所的な停止とその後の実行の再開を行なうことのできるデバッグ装置がある。
【００１７】
このようなデバッグ装置は、ソースプログラムの各行の終了箇所に対応するノードへ、ＮＯＰ（演算を行なわずに周回する）命令を追加するプログラム変換手段を使い、ソースプログラムの処理を終了したい行にプログラムを停止するように指示すると、対応するＮＯＰ命令を出力命令に変更したデータフロープログラムを出力するようにすることで、プログラムの任意の指定箇所にてプログラムを一時的に停止させ、データ駆動型計算機に何らかの操作（たとえば、メモリ内容読出など）を行なった後、停止位置から再度プログラムを起動するというブレーク機能を備えることで、プログラムの停止後にデータ駆動型計算機内の状態情報を獲得（たとえば、メモリの内容獲得など）した後、停止したときの状態のまま再度プログラムの実行を継続させるというものである。
【００１８】
しかしながら、上述のデバッグ機能では、ソースプログラム中の各行の終了箇所すべてにＮＯＰ命令が追加されるため、追加されたＮＯＰ命令の数だけ無駄な周回パケットが発生し、プログラムの処理速度が低下してしまう。さらに、ＮＯＰ命令という新しいノードの追加により、発火制御部ＦＣの待ち合せ空間におけるデータパケットの到着順序や時間ごとの循環パイプライン上のデータパケットの混雑具合が変化するなど、ソースプログラムの動作をそのまま再現できないという問題点があった。
【００１９】
それゆえに、この発明の主たる目的は、プログラムの処理速度および再現性に影響を与えることなく、プログラム中の任意の中間結果の情報を得るための機能を有するデータ駆動型情報処理装置を提供することである。
【００２０】
【課題を解決するための手段】
この発明は、複数のデータ伝送路が直列に接続され、それらのデータ伝送路がデータの転送要求信号およびデータの転送許可信号を互いに送受信しながらデータパケットの伝送を行うデータ駆動型情報処理装置であって、データパケットの処理内容を判別する処理内容検出フィールドおよびタグデータフィールドより構成される１つのレジスタ、およびデータ伝送路に処理内容を決定するフラグと、タグフィールドと、データフィールドとを含むデータパケットが入力されたことに応じて、レジスタのタグフィールドとデータパケットのタグフィールドが同一の情報を有しているか否かを判別し、その判別結果に基づいて、レジスタの処理内容検出フィールドに格納されている情報に従って前記データパケットに対して処理を行う処理手段を備えたことを特徴とする。
【００２１】
他の発明は、複数のデータ伝送路が直列に接続され、それらのデータ伝送路がデータの転送要求信号およびデータの転送許可信号を互いに送受信しながらデータパケットの伝送を行うデータ駆動型情報処理装置であって、データパケットの処理内容を判別する処理内容検出フィールドおよびタグデータフィールドより構成される第１のレジスタと、データパケットの処理内容を判別する処理内容検出フィールドおよびタグマスクフィールドより構成される第２のレジスタと、処理内容を決定するフラグとタグフィールドとデータフィールドとを含むデータパケットがデータ伝送路に入力されたことに応じて、第１のレジスタのタグデータフィールドに格納されているタグデータおよびデータパケットのタグフィールドに格納されているタグデータに、それぞれ第２のレジスタのタグマスクフィールドに格納されているタグマスクデータによってマスク処理し、マスク処理後の第１のレジスタのタグフィールドとマスク処理後の該データパケットのタグフィールドが同一の情報を有しているか否かを判別し、その判別結果に基づいて、第１のレジスタの処理内容検出フィールドおよび第２のレジスタの処理内容検出フィールドに格納されている情報に従ってデータパケットに対して処理を行う処理手段を備えたことを特徴とする。
【００２２】
好ましくは、レジスタまたは第１のレジスタの処理内容検出フィールドに格納されている情報に従ってデータパケットに対して行う処理は、外部へ転送するホスト転送処理であることを特徴とする。
【００２３】
より好ましくは、レジスタまたは第１のレジスタの処理内容検出フィールドに格納されている情報に従ってデータパケットに対して行う処理は、外部へ転送するホスト転送処理と、前記タグ情報に基づく通常転送処理とであることを特徴とする。
【００２４】
さらにより好ましくは、外部へ転送するホスト転送処理とタグ情報に基づく通常転送処理を行うために、転送要求信号に対して２個のデータパケットを生成するとともに、２個のデータパケットを識別するためにホスト転送フラグを操作する操作信号を出力する自己同期型転送制御回路を備えたことを特徴とする。
【００２５】
【発明の実施の形態】
図１はこの発明の第１の実施形態のデータ駆動型情報処理装置のブロック図である。図１において、データ駆動型情報処理装置は、前述の図１２に示したＣ素子２ｂに代えて自己同期型転送制御回路３が設けられるとともに、演算部ＦＰとパイプラインレジスタ４ｂとの間に処理内容決定機構４が新たに設けられ、それ以外の構成は図１２と同じである。処理内容決機構４は演算部ＦＰからデータパケットが入力されると、予め設定されているタグフィールドに格納されているタグ情報との一致検出を行なう。なお、パイプラインレジスタ４ｂには、転送フラグとタグフィールドとデータフィールドとが格納されるようになっている。
【００２６】
なお、以下の説明では、タグフィールドとは、図８に示したデータパケットの構成において、データ領域Ｆ４以外の行先ノード番号フィールドＦ１と世代番号フィールドＦ２と命令コードフィールドＦ３を併せてタグフィールドと称するものとする。
【００２７】
図２はこの発明の第２の実施形態を示すブロック図である。この図２に示した実施形態はパイプラインレジスタ４ｂと４ｃとの間にホスト転送フラグ操作回路５を設けた以外は図１の実施形態と同じである。ホスト転送フラグ操作回路５は自己同期転送制御回路３からのＦＥＢ信号に基づいてホスト転送フラグを変える機能を有している。
【００２８】
図３は図１および図２に示した処理内容決定機構４の具体的なブロック図である。図３において、処理内容決定機構４は設定レジスタ４１と一致検出部４２と処理内容決定部４３とを含む。設定レジスタ４１には、予め何らかの手段、たとえばメモリ内容の読出や外部端子からの入力などにより、処理を施したいデータパケットのタグ情報がタグフィールド４１ａに予め記憶されており、その際に行ないたい処理内容情報（データパケットのホスト転送，コピー，消去など）が処理内容検出フィールド４１ｂに予め記憶されている。
【００２９】
図１および図２に示した演算部ＦＰから出力されたデータパケット４１ｃはタグフィールド４１ｄとデータフィールド４１ｅとフラグ４１ｆとを有しており、フラグ４１ｆはタグフィールド４１ｄが所有するタグ情報によらずこのデータパケット４１ｃの処理内容を決定する。一致検出部４２は、設定レジスタ４１に予め記憶されているタグフィールド４１ａが所有するタグ情報とデータパケット４１ｃのタブフィールド４１ｄが所有するタグ情報が一致しているか否かを検出する。そして、一致検出部４２は両者が一致していれば「Ｈ」レベル信号を出力し、不一致の場合は「Ｌ」レベル信号を出力する。この一致検出部４２の出力は処理内容決定部４３に与えられる。処理内容決定部４３は一致検出部４２から「Ｈ」レベル信号が出力された場合のみ、設定レジスタ４１の処理内容検出フィールド４１ｂが所有する処理内容情報を検出し、検出した処理内容情報に従ってデータパケット４１ｃに対して処理を行なうように指示する。
【００３０】
もし、一致検出部４２が不一致の場合に「Ｌ」レベル信号を出力すると、データパケット４１ｃは通常の動作を行なう。また、これら２つのタグ情報が同一である場合、一致検出部４２は処理内容決定部４３に「Ｈ」レベル信号を出力し、処理内容決定部４３において設定レジスタ４１の処理内容検出フィールド４１ｂが所有する処理内容情報が検出され、検出された処理内容情報に従ってデータパケット４１ｃに対して処理が行なわれる。たとえば、データパケット４１ｃが所有するフラグ４１ｆに新たな情報が与えられて、新たなフラグ４１ｆ′となる。なお、このとき、データパケット４１ｃのタグフィールド４１ｄとデータフィールド４１ｅはそのまま用いられ、新たなデータパケット４１ｃ′として図１および図２に示したパイプラインレジスタ４ｂによって保持される。また、処理内容決定部４３は図１に示した自己同期型転送制御回路３に対してＥＸＢとＣＰＹの制御信号を出力する。
【００３１】
なお、図３に示した新たなデータパケット４１ｃ′のフラグ４１ｆ′が獲得した情報がホスト転送情報である場合、このデータパケット４１ｃ′は所有するタグ情報によらず強制的にホストに転送される。ここで、ホストとは図１に示したデータ駆動型情報処理装置が複数接続されている場合には、これらの装置から外部へ出力されることを意味している。
【００３２】
図４は図１および図２に示した自己同期型転送制御回路を示す回路図である。図４において、パルス入力端子ＣＩは前段部からのパルス状の転送要求信号を受け、転送許可出力端子ＲＯは前段部に転送許可信号を出力する。パルス出力端子ＣＯは後段部にパルス状の転送要求信号を出力し、転送許可入力端子ＲＩは後段部から転送許可信号を受ける。マスタリセット入力端子ＭＲＢはマスタリセット信号を受け、ＥＸＢ端子はパケット消去信号を受ける。ＣＰＹ端子はパケットコピー信号を受ける。
【００３３】
さらに、自己同期型転送制御回路３は、Ｃ素子３ａ，３ｂと、Ｄタイプフリップフロップ３ｃ，３ｄ，３ｅと、ＮＡＮＤゲート３ｇ，３ｈと、ＯＲゲート３ｉと、ＡＮＤゲート３ｊ，３ｋと、インバータ３ｆ，３ｌ，３ｍと、遅延素子３ｐとを含む。
【００３４】
図５は図４に示した自己同期型転送制御回路の動作を説明するためのタイミングチャートである。
【００３５】
次に、図５のタイミングチャートを参照しながら、図４の自己同期型転送制御回路のパケット消去動作と、パケット通常転送動作と、パケットコピー動作について順に説明する。
【００３６】
まず、マスタリセット端子ＭＲから「Ｈ」レベルのパルスが入力されると、Ｃ素子３ａと３ｂとがリセットされ、それぞれのパルス出力端子ＣＯと転送許可出力端子ＲＯがともに「Ｈ」レベル信号を出力する。その結果、自己同期型転送制御回路３のパルス出力端子ＣＯと転送許可出力端子ＲＯが図５（ｇ），（ｂ）に示すように、ともに「Ｈ」レベル信号を出力し、自己同期型転送制御回路３が初期化される。また、フリップフロップ３ｎも「Ｈ」レベルのリセット信号によってリセットされ、遅延素子３ｐを介してＦＥＢ端子から図５（ｆ）に示すような「Ｌ」レベル信号が出力される。さらに、Ｄタイプフリップフロップ３ｅに非同期でリセットがかかり、そのＱ出力から「Ｌ」レベル信号が出力される。この信号はインバータ３ｌで反転され、３入力ＡＮＤゲート３ｊに「Ｈ」レベル信号が入力される。
【００３７】
ＥＸＢ端子に図５（ｃ）に示す「Ｌ」レベル信号が入力されることにより、自己同期型転送制御回路３はパケット消失動作を行なう。すなわち、ＥＸＢ端子に「Ｌ」レベル信号が入力されている状態において、自己同期型転送制御回路３のパルス入力端子ＣＩに図５（ａ）に示すような「Ｌ」レベルのパルス信号が入力されると、Ｃ素子３ａのパルス入力端子ＣＩに「Ｌ」レベルのパルス信号が入力される。
【００３８】
一方、ＲＩ端子はマスタリセット信号ＭＲが入力された後であるため、「Ｈ」レベルになっており、Ｃ素子３ａは従来の動作をして、一定時間後に端子ＣＩを「Ｈ」レベルにすると、Ｃ素子３ａは従来技術での説明のように、パイプラインレジスタ３ｂへのパルス出力端子ＣＰから「Ｌ」レベルから「Ｈ」レベルの信号を出力する。出力端子ＣＰの信号の立上がりに同期して、Ｄタイプフリップフロップ３ｃがＥＸＢ端子から入力されている「Ｌ」レベル信号をＤタイプフリップフロップ３ｃの出力Ｑから導出する。これにより、ＮＡＮＤゲート３ｈは「Ｈ」レベル信号を出力し、ＡＮＤゲート３ｋの出力を「Ｈ」レベルにする。
【００３９】
また、ＯＲゲート３ｉにも「Ｌ」レベル信号が入力されるため、Ｃ素子３ａのパルス出力端子ＣＯから出力される信号がそのままＯＲゲート３ｉの出力信号となる。さらに自己同期型転送制御回路３の転送許可入力端子ＲＩは図５（ｈ）に示すように初期状態として「Ｈ」レベル信号が与えられているため、ＯＲゲート３ｉの出力信号がＡＮＤゲート３ｊに入力され、そのままＡＮＤゲート３ｊから出力される。
【００４０】
結果的に、Ｃ素子３ａのパルス出力端子ＣＯから出力される信号は、そのまま自己同期型転送制御回路３の転送許可入力端子ＲＩに入力されることになる。
【００４１】
上述のごとく、Ｃ素子３ａのパルス出力端子ＣＯからは「Ｌ」レベル信号が出力されているので、Ｃ素子３ａの転送許可入力端子ＲＩには「Ｌ」レベル信号が入力される。これにより、Ｃ素子３ａの端子ＣＰは「Ｈ」レベルから「Ｌ」レベルに変化する。また、Ｃ素子３ａの端子ＣＯは「Ｌ」レベルから「Ｈ」レベルに変化し、その信号がＯＲゲート３ｉとＡＮＤゲート３ｊを介してＣ素子３ａのＲＩ端子に入力される。自己同期型転送制御回路３の端子ＣＯが「Ｈ」レベルのままであり、つまり後段への転送要求が行なわれず、前段からはデータが転送されてくるため、転送されてきたデータパケットは上書きされることで消去される。なお、このパケット消去の説明は、この発明による自己同期型転送制御回路がパケット消去，通常動作およびコピー動作の一連の動作が可能であることを説明するものであり、この発明の要旨である中間結果の情報を得るための機能には関係はしない。
【００４２】
次に、自己同期型転送制御回路３のパケット通常転送動作について説明する。ＥＸＢ端子から「Ｈ」レベル信号が入力され、かつＣＰＹ端子から「Ｌ」レベル信号が入力されている状態において、自己同期型転送制御回路３のパルス入力端子ＣＩから「Ｌ」レベルのパルス信号が入力されると、Ｃ素子３ａのパルス入力端子ＣＩに「Ｌ」レベルのパルス信号が入力されて一定時間後に入力端子ＣＩが「Ｈ」レベルにされる。すると、Ｃ素子３ａは従来と同様の動作を行ない、Ｃ素子３ａのパルス出力端子ＣＯは「Ｈ」レベルから「Ｌ」レベルの信号を出力し、パイプラインレジスタへのパルス出力端子ＣＰは「Ｌ」レベルから「Ｈ」レベルに変化する信号を出力する。
【００４３】
ＣＰ端子の信号の立上がりに応じて、Ｄタイプフリップフロップ３ｃはＥＸＢ端子から入力されている「Ｈ」レベル信号を自己同期型転送制御回路の端子ＣＰが立上がる前に「Ｈ」レベルに設定されてフリップフロップ３ｃの出力Ｑが導出され、Ｄタイプフリップフロップ３ｄはＣＰＹ端子から入力されている図５（ｄ）に示す「Ｌ」レベル信号をフリップフロップ３ｄの出力Ｑに導出する。
【００４４】
Ｄタイプフリップフロップ３ｄから出力される「Ｌ」レベル信号は、ＮＡＮＤゲート３ｇに入力され、このＮＡＮＤゲート３ｇの出力が「Ｈ」レベルとなる。この「Ｈ」レベル信号でＣ素子３ｂのパルス入力端子ＣＩに入力され続けるため、Ｃ素子３ｂはこのモードでは動作しない。
【００４５】
Ｄタイプフリップフロップ３ｃの出力の「Ｈ」レベル信号はＮＡＮＤゲート３ｈに入力されるため、ＮＡＮＤゲート３ｈの出力はインバータ３ｆが出力する信号の反転信号を、すなわちＣ素子３ａのＣＯ端子の出力と同一の信号を出力することになる。
【００４６】
また、Ｃ素子３ｂのＣＯ端子は「Ｈ」レベルに固定されているため、ＮＡＮＤゲート３ｈから出力された信号はＮＡＮＤゲート３ｋに入力され、そのままＮＡＮＤゲート３ｋから出力される。すなわち、Ｃ素子３ａのＣＯ端子の出力信号と同一の信号が自己同期型転送制御回路３のＣＯ端子から出力されることになる。Ｄタイプフリップフロップ３ｃの「Ｈ」レベルの出力信号はＯＲゲート３ｉに入力されるため、このＯＲゲート３ｉの出力は「Ｈ」レベルに固定される。インバータ３ｌの出力は「Ｈ」レベルであるため、ＡＮＤゲート３ｊの出力は自己同期型転送制御回路３のＲＩ端子から入力される信号と同一の信号となる。
【００４７】
すなわち、自己同期型転送制御回路３のＲＩ端子から入力される信号と同一の信号がＣ素子３ａのＲＩ端子に入力される。Ｃ素子３ａのＣＰ端子（自己同期型転送制御回路３のＣＰ端子と同じ）が「Ｌ」レベルから「Ｈ」レベルになると、それに伴ってＣ素子３ａが動作してそのＣＯ端子から出力される信号が「Ｈ」レベルから「Ｌ」レベルに変化するため、自己同期型転送制御回路３のＣＯ端子から出力される信号が「Ｈ」レベルから「Ｌ」レベルに変化して出力される。
【００４８】
一定時間後に自己同期型転送制御回路３のＲＩ端子から入力される信号が「Ｈ」レベルから「Ｌ」レベルに変化するため、Ｃ素子３ａのＲＩ端子に入力される信号が「Ｈ」レベルから「Ｌ」レベルに変化する。これを受けて、Ｃ素子３ａのＣＰ端子は「Ｈ」レベルから「Ｌ」レベルに変化して出力され、Ｃ素子３ａのＣＯ端子から出力される信号が「Ｌ」レベルから「Ｈ」レベルに変化する。すなわち、自己同期型転送制御回路３のＣＯ端子から出力される信号が「Ｌ」レベルから「Ｈ」レベルに変化する。一定時間後に自己同期型転送制御回路３のＲＩ端子から「Ｈ」レベル信号が入力されて自己同期型転送制御回路３のパケット通常転送動作を終了する。
【００４９】
最後に、自己同期型転送制御回路３のパケットコピー動作について説明する。ＥＸＢ端子から「Ｈ」レベル信号が入力されかつＣＰＹ端子から「Ｈ」レベル信号が入力されている状態において、自己同期型転送制御回路３のパルス入力端子ＣＩに「Ｈ」レベルから「Ｌ」レベルに変化するパルス信号が入力されると、Ｃ素子３ａのパルス入力端子ＣＩに「Ｈ」レベルのパルス信号が入力され、一定時間後に「Ｌ」レベルから「Ｈ」レベルに変化すると、これに伴ってＣ素子３ａが従来の動作をして、Ｃ素子３ａのパルス出力端子ＣＯより「Ｈ」レベルから「Ｌ」レベルに変化する信号が出力される。また、パイプラインレジスタへのパルス出力端子ＣＰより「Ｌ」レベルから「Ｈ」レベルに変化する信号が出力される。出力端子ＣＰの信号の立上がりに応じて、Ｄタイプフリップフロップ３ｃはＥＸＢ端子から入力されている「Ｈ」レベル信号をフリップフロップ３ｃの出力Ｑに導出し、またＤタイプフリップフロップ３ｄはＣＰＹ端子から入力されている「Ｈ」レベル信号を出力Ｑから導出する。
【００５０】
Ｃ素子３ａのＣＯ端子の出力は、「Ｈ」レベルから「Ｌ」レベルに変化し、この「Ｌ」レベル信号はインバータ３ｆに入力されて反転され、その出力が「Ｈ」レベルになる。インバータ３ｆの出力の「Ｈ」レベル信号はＮＡＮＤゲート３ｈに入力され、またＤタイプフリップフロップ３ｃの出力Ｑは「Ｈ」レベル信号を出力しているので、ＮＡＮＤゲート３ｈの出力は「Ｌ」レベルとなる。この「Ｌ」レベル信号がＡＮＤゲート３ｋに与えられ、このＡＮＤゲート３ｋから「Ｌ」レベル信号が出力される。すなわち、自己同期型転送制御回路３のＣＯ端子から「Ｌ」レベル信号が出力される。
【００５１】
一定時間後、自己同期型転送制御回路３のＲＩ端子から「Ｌ」レベル信号が入力される。先のインバータ３ｆの出力の「Ｈ」レベル信号がＮＡＮＤゲート３ｇにも入力される。また、Ｄタイプフリップフロップ３ｃ，３ｄはともに「Ｈ」レベル信号を出力するため、ＮＡＮＤゲート３ｇの出力は「Ｌ」レベルとなる。この「Ｌ」レベル信号がＣ素子３ｂのパルス入力端子ＣＩに入力され、これによりＣ素子３ｂの転送許可出力端子ＲＯから「Ｌ」レベル信号が出力される。Ｄタイプフリップフロップ３ｅは非同期でセットされるため、Ｄタイプフリップフロップ３ｅの出力端子Ｑは「Ｌ」レベルから「Ｈ」レベルに変化する。この「Ｈ」レベル信号がインバータ３１で反転されて出力され、「Ｌ」レベル信号がＡＮＤゲート３ｊに入力される。
【００５２】
ＡＮＤゲート３ｊは「Ｌ」レベル信号を出力し、その「Ｌ」レベル信号はＣ素子３ａのＲＩ端子に入力される。これにより、Ｃ素子３ａのＣＰ端子は「Ｈ」レベルから「Ｌ」レベルに変化し、Ｃ素子３ａのＣＯ端子は「Ｌ」レベルから「Ｈ」レベルに変化する。また、自己同期型転送制御回路３のＲＩ端子から入力された「Ｈ」レベル信号が「Ｌ」レベルに変化してＣ素子３ｂのＲＩ端子に入力され、Ｃ素子３ｂのＣＯ端子から出力される信号が「Ｌ」レベルから「Ｈ」レベルに変化する。Ｃ素子３ａのＣＯ端子からの信号が「Ｌ」レベルから「Ｈ」レベルに変化するので、インバータ３ｆとＮＡＮＤゲート３ｈとＡＮＤゲート３ｋを介して、自己同期型転送制御回路３のＣＯ端子に「Ｌ」レベルから「Ｈ」レベルに変化した信号が出力される。一定時間後に自己同期型転送制御回路３のＲＩ端子に「Ｈ」レベル信号が入力され、１個目のパケットの転送が終了する。
【００５３】
Ｃ素子３ａのＣＯ端子から出力される信号が「Ｌ」レベルから「Ｈ」レベルに変化するときは、インバータ３ｆとＮＡＮＤゲート３ｇを介してＣ素子３ｂのＣＩ端子に入力される信号が「Ｌ」レベルから「Ｈ」レベルに変化することになる。これにより、Ｃ素子３ｂのＣＩ端子信号が立上がるときには、Ｃ素子３ｂのＣＯ端子とＲＩ端子がともに「Ｈ」レベル信号であるため、Ｃ素子３ｂはＣＰ端子より「Ｌ」レベルから「Ｈ」レベルに変化する信号を出力し、ＣＯ端子は「Ｈ」レベルから「Ｌ」レベルに変化する信号を出力する。Ｃ素子３ｂのＣＰ端子の出力である「Ｈ」レベル信号はフリップフロップ３ｎをセットするため、遅延素子３ｐを介して自己同期型転送制御回路３のＦＥＢ端子からは「Ｈ」レベル信号が出力されるようになる。以降、Ｃ素子３ｂのＣＩ端子は、「Ｈ」レベルで固定された状態になるため、Ｃ素子３ｂはパルス出力動作をしなくなる。また、このときＣ素子３ｂのＣＰ端子から「Ｈ」レベル信号を、該素子のＣＯ端子からは「Ｌ」レベル信号を出力している状態になる。すなわち、自己同期型転送制御回路３のＣＯ端子からは２個目のコピーパケットを転送するために、「Ｌ」レベル信号を出力している状態である。
【００５４】
一定時間後に、自己同期型転送制御回路３のＲＩ端子には「Ｌ」レベル信号が入力されるため、Ｃ素子３ｂのＲＩ端子には「Ｌ」レベル信号が入力される。Ｃ素子３ｂはこれを受け、そのＣＰ端子から出力される信号を「Ｈ」レベルから「Ｌ」レベルに変化させ、そのＣＯ端子から「Ｌ」レベルから「Ｈ」レベルに変化する信号を出力する。これにより、自己同期型転送制御回路３のＣＯ端子には、「Ｌ」レベルから「Ｈ」レベルに変化する信号が出力される。
【００５５】
また、Ｃ素子３ｂのＣＰ端子の信号の立下がりにより、インバータ３ｍを介してＤタイプフリップフロップ３ｅにクロック信号が入力され、Ｄタイプフリップフロップ３ｅはそのＤ入力が「Ｌ」レベルになっているため、その出力端子Ｑからも「Ｌ」レベル信号を出力し、インバータ３ｌがこの「Ｌ」レベル信号を「Ｈ」レベル信号に反転してＡＮＤゲート３ｊに入力する。ＡＮＤゲート３ｊの出力は「Ｌ」レベルに固定されたものが自己同期型転送制御回路３のＲＩ端子から入力される信号と同一の信号に変化する。自己同期型転送制御回路３のＣＯ端子が「Ｈ」レベル信号を出力しているため、一定時間後に自己同期型転送制御回路３のＲＩ端子には、後段での処理が終わり転送許可状態となって、「Ｌ」レベルから「Ｈ」レベル信号が入力される。この「Ｈ」レベルの入力信号はＡＮＤゲート３ｊを介してＣ素子３ａのＲＩ端子に入力される。
【００５６】
以上の動作によって自己同期型転送制御回路３のコピー動作を終了する。この自己同期型転送制御回路３は、図１に示すように、前段のＣ素子２ａからパルス入力端子ＣＩに１個のパルスが与えられると、パイプラインレジスタ４ｂにＣＰ端子から１個のパルスを出力し、後段のＣ素子２ｃにパルス出力端子ＣＯから２個のパルスを出力することが可能となる。
【００５７】
図１および図２において、プログラム処理中のデータパケットのホスト転送は、自己同期型転送制御回路３が通常転送モードであり、ＥＸＢ信号が「Ｈ」レベルであり、ＣＰＹ信号が「Ｌ」レベルに設定され、ＦＥＢ信号が未使用とされる状態で行われる。この状態で、ホスト転送させたいデータパケットのタグ情報が処理内容決定機構４の設定レジスタ４１が所有するタグフィールド４１ａに記憶されていて、またホスト転送情報が処理内容検出フィールド４１ｂに予め記憶されている。
【００５８】
設定レジスタ４１のタグ情報とデータパケット４１ｃが所有するタグ情報とが一致したときに、データパケット４１ｃに対してたとえばフラグを「１」にしてホスト転送情報を与えることにより、ホスト転送を実現できる。これにより、データパケット４１ｃは強制的に外部へ出力（ホストへ）される。また、プログラム処理中のデータパケットのコピーは、図２に示すように、コピーさせたいデータパケットのタグ情報を処理内容決定機構４中の設定レジスタ４１が所有するタグフィールドに記憶させておき、コピー情報を設定レジスタ４１が所有する処理内容検出フィールド４１ｂに予め記憶しておき、これら２つのタグ情報が一致したとき、またそのデータパケット４１ｃのコピーを行ないたい場合は次段の自己同期型転送制御回路３のＣＰＹ端子およびＥＸＢ端子の入力をともに「Ｈ」レベルにすることにより実現できる。この際、プログラムの変更は行なわないので、設定レジスタ４１が所属するタグフィールド４１ａへの設定を変更するだけで、プログラムの処理速度および再現性に影響を与えることなく、指定したデータパケット４１ｃの演算結果に対して処理を行なうことが可能となる。
【００５９】
上述のタグ情報が一致してコピー動作を行なうと、コピー動作による１個目のパケット転送はＦＥＢ信号が「Ｌ」レベルのため、ホスト転送フラグの操作は行なわれず、データパケット４１ｃのタグフィールド４１ｄの情報に従って、以後通常の動作が行なわれる。
【００６０】
次の２個目のパケット転送ＦＥＢ信号が「Ｈ」レベルのため、ホスト転送フラグ操作回路５によりホスト転送フラグが変えられ、したがってこのデータパケットは分岐部ＢＲＮを介して強制的に外部（ホスト）へ転送されることになる。これにより、プログラムの処理速度および再現性に影響を与えることなく、中間結果の情報を引き出すことができる。
【００６１】
図６はこの発明の第３の実施形態のデータ駆動型情報処理装置のブロック図であり、図７は図６に示した処理内容決定機構の具体的なブロック図である。
【００６２】
図６において、図１および図２の実施形態と同様にして、演算部ＦＰとパイプラインレジスタ３ｂとの間には図７に示すような処理内容決定機構７が設けられる。そして、演算部ＦＰで演算処理された後のデータパケットに対し、そのタグフィールドに格納されているタグ情報と処理内容決定機構７に内蔵されている設定レジスタが所有するタグ情報の一致検出を常に行ない、処理内容決定機構７の第１の設定レジスタが所有する処理内容検出フィールド１をホスト転送情報を格納するホスト転送検出フィールドとし、第２の設定レジスタが所有する処理内容検出フィールド２をコピー情報を格納するコピー検出フィールドとする。
【００６３】
次に、図７を参照して、処理内容決定機構７の具体的な構成について説明する。処理内容決定機構７は、第１の設定レジスタ７１と第２の設定レジスタ７２と第１のマスク処理部７３と第２のマスク処理部７４と一致検出部７５と処理内容決定部７６とを含む。第１のレジスタ７１は処理内容検出フィールド７ａとタグデータフィールド７ｂとを有し、前述の図３に示した設定レジスタ４１に対応している。設定レジスタ７２はデータパケット７ｅの処理内容を指定する処理内容検出フィールド７ｃと図４に示したタグフィールド４１ａに相当するタグマスクフィールド７ｄとを有している。データパケット７ｅは図４のデータパケット４１ｃと同様にして、フラグ７ｆとタグフィールド７ｇとデータフィールド７ｈとを有している。フラグ７ｆはタグフィールド７ｇが所有するタグ情報によらずにそのデータパケット７ｅの処理内容を決定する。
【００６４】
マスク処理部７３，７４は一致検出に必要なタグ情報のみを出力させる。そして、一致検出部７５はマスク処理後の設定レジスタ７１のタグデータフィールド７ｂが所有するタグ情報とマスク処理後のデータパケット７ｅのタグフィールド７ｇが所有するタグ情報が一致したときのみ「Ｈ」レベル信号を出力し、不一致の場合は「Ｌ」レベル信号を出力する。処理内容決定部７６は一致検出部７５から「Ｈ」レベル信号が出力された場合のみ設定レジスタ７１の処理内容検出フィールド７ａが所有する処理内容情報および設定レジスタ７２の処理内容検出フィールド７ｃが所有する処理内容情報を検出し、検出した処理内容情報に従ってデータパケット７ｅに対して処理を行なう。
【００６５】
設定レジスタ７１および７２は、前述の図３と同様にして、メモリ内容の読出や外部端子からの入力などの手段により、処理を施したいデータパケット７ｅのタグ情報をタグデータフィールド７ｂに記憶させ、一致検出に必要なタグ情報以外の情報にマスク処理を施すための情報をタグマスクフィールド７ｄに記憶させ、その際に行ないたい処理内容情報（たとえば、データパケットのホスト転送，コピーなど）を処理内容検出フィールド７ａおよび７ｃに予め記憶しておく。次に、マスク処理部７３，７４によって、設定レジスタ７１のタグデータフィールド７ｂが所有するタグ情報とデータパケット７ｅのタグフィールド７ｇが所有するタグ情報に対して、設定レジスタ７２のタグマスクフィールド７ｄを用いて一致検出に必要な情報のみを抽出（たとえば、命令コードのみを抽出するなど）するためのマスク処理を行なう。
【００６６】
そして、一致検出部７５によってマスク処理後のデータパケット７ｅのタグフィールド７ｇが所有するタグ情報とマスク処理後の設定レジスタ７１のタグデータフィールド７ｂが所有するタグ情報が同一であるか否かを判別する。これら２つのタグ情報が同一である場合、一致検出部７５から処理内容決定部７６に対して「Ｈ」レベル信号が出力され、処理内容決定部７６によって設定レジスタ７１の処理内容検出フィールド７ａが所有する処理内容情報および設定レジスタ７２の処理内容検出フィールド７ｃが所有する処理内容情報を検出し、検出した処理内容情報に従ってデータパケット７ｅに対して処理が行なわれる（たとえば、前述の図３に示したように、データパケット４１ｃが所有するフラグ４１ｆに情報を与えるなど）。
【００６７】
このようにして、新規情報を獲得したデータパケット７ｅ′は所有する情報に従って動作を行なう。また、これら２つのタグ情報が同一でない場合、一致検出部７５から処理内容決定部７６に「Ｌ」レベル信号が出力され、データパケット７ｅは通常の動作を行なう。
【００６８】
図６に示すように、ホスト転送させたいデータパケットのタグ情報が、処理内容決定機構７の設定レジスタ７１の所有するタグデータフィールド７ｂに予め記憶され、また一致検出に必要な情報のみを抽出するための情報が設定レジスタ７２の所有するタグマスクフィールド７ｄに予め記憶されている。マスク処理後のデータパケット７ｅのタグフィールド７ｇが所有するタグ情報と、マスク処理後の設定レジスタ７１のタグデータフィールド７ｂが所有するタグ情報とが一致したときに、ホスト転送情報およびコピー情報が自己同期型転送制御回路３に与えられてデータパケット７ｅがコピーされ、第１パケットはそのまま通常の動作を行ない、第２パケットはホスト転送される。以下、その実現方法について説明する。
【００６９】
まず、マスク処理後のデータパケット７ｅのタグフィールド７ｇが所有するタグ情報とマスク処理後の設定レジスタ７１のタグデータフィールド７ｂが所有するタグ情報が一致したときに、処理内容決定機構７から自己同期型転送制御回路３にＣＰＹ信号が送られる。自己同期型転送制御回路３はＣＰＹ端子に「Ｈ」レベル信号が入力されると、端子ＣＯからのＳＥＮＤパルス信号とパケットを２個ずつ出力させる。１個目のパケットは「Ｌ」レベルのＦＥＢ信号とともに出力され、２個目のパケットは「Ｈ」レベルのＦＥＢ信号とともに出力される。このＦＥＢ信号を用いて、データパケット７ｅのホスト転送フラグ７ｆが操作され、ホスト転送情報が記憶される。すなわち、パイプラインレジスタ４ａからパイプラインレジスタ４ｂに転送される１個目のパケットはホスト転送フラグが「Ｌ」レベルとなっているため、以後、通常動作を行ない、２個目のパケットはホスト転送フラグ７ｆが「Ｈ」レベルとなっているため、ホストへ転送される。
【００７０】
上述のごとく構成されたこの発明の実施形態のデータ駆動型情報処理装置は、たとえば処理内容決定機構７のマスク処理部７３，７４によって命令コードのみを抽出するように設定することにより、プログラムを実行しながら同一命令コードを持つすべてのデータパケットをホスト転送させることが可能になるなどその用途を極めて広げることができる。
【００７１】
さらに、この際にプログラムの変更を行なわないので、設定レジスタ７１，７２が所有するタグデータフィールド７ｂおよびタグマスクフィールド７ｄへの設定を変更するだけで、プログラムの処理速度および再現性に影響を与えることなく、指定したデータパケット７ｅの演算結果をホストへ転送させ、かつプログラムを続行することが可能となる。
【００７２】
さらに、図６に示した実施形態は、図１の実施形態におけるタグフィールドの上方に格納されている行先ノード番号Ｆ１，世代番号Ｆ２，命令コードＦ３のすべての一致を検出するものをさらに発展させたものである。そして、一致検出に必要な情報のみを抽出するための情報を格納したタグマスクフィールドと、この情報に基づいてマスク処理を行なうマスク処理部を処理内容決定機構７に設置することにより、タグフィールドに格納されているＦ１〜Ｆ３の任意のフィールドのみの一致のデータパケットを外部に引出すことができる。たとえば、同一命令コードＦ３を持つデータパケット（Ｆ１，Ｆ２とは異なる）をまとめて検出して外部（ホスト）に転送できる。
【００７３】
また、タグデータフィールド７ｂおよびタグマスクフィールド７ｄの設定を変えることで、任意のデータパケットをまとめて容易に抽出できるまでデバッグの自由度が増す。また、この処理ではプログラムの変更は行なわれず、コピー機能によりホストへ転送されるデータパケットとは別にタグ情報に基づいて転送されるデータパケットがあるため、プログラムの処理速度および再現性に影響を与えずに、指定した任意のデータパケットに格納された中間結果の情報を外部に引出せるとともに、プログラムを続行することが可能となる。
【００７４】
上述のごとく、図１に示した実施形態においては、自己同期型転送制御回路と処理内容決定機構４により、データパケット４１ｃ内に新たに設置したホスト転送フラグ４１ｆを操作することで、中間結果の情報を容易に得ることができる。さらに、プログラムの変更を伴わずに、設定レジスタが所有するタグフィールドの設定を変更するだけで、任意のデータパケットをデータ駆動型情報処理装置の外部（ホスト）に引出すことができる。
【００７５】
また、上述のごとく、図２に示した第２の実施形態において、自己同期型転送制御回路３、処理内容決定機構４、ホスト転送フラグ操作回路５により、データパケット４１ｃ内に新たに設置したホスト転送フラグ４１ｆを操作することで、中間結果の情報を容易に得ることができる。また、コピー機能により２つのデータパケットを作ることで、一方はデータパケット内のタグ情報に従って通常の動作を行ない、他の一方は強制的に外部（ホスト）に引出すことにより、プログラムの処理速度および再現性に影響を与えることなく、中間結果の情報を容易に引出すことができる。また、第１の実施形態と同様にして、プログラムの変更を伴わずに、設定レジスタ４１が所有するタグフィールドの設定を変更するだけで、任意のデータパケットをデータ駆動型情報処理装置の外部（ホスト）に引出すことができる。
【００７６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００７７】
【発明の効果】
以上のように、この発明によれば、処理内容を決定するフラグとタグフィールドとデータフィールドとからなるデータパケットを入力し、予めレジスタに記憶されているタグフィールドとデータパケットのタグフィールドとが同一の情報を有しているか否かを判別し、その判別結果に基づいてレジスタの処理内容検出フィールドに格納される情報に従ってデータパケットに対して処理を行なうことにより、プログラムの処理速度および再現性に影響を与えることなくプログラム中の指定した中間結果をホストに転送させることが可能となり、効果的なデバッグ機能を備えたデータ駆動型情報処理装置を実現できる。
【００７８】
さらに、タグ情報の一致検出の際に、マスク処理を行なって一致検出に必要な情報のみを取出すことにより、一度に複数のデータパケットの情報を得ることが可能となり、より効果的なデバッグ機能を備えたデータ駆動型情報処理装置を実現できる。
【図面の簡単な説明】
【図１】  この発明の第１の実施形態のデータ駆動型情報処理装置の概略ブロック図である。
【図２】  この発明の第２の実施形態のデータ駆動型情報処理装置のブロック図である。
【図３】  図１および図２に示した処理内容決定機構の具体的なブロック図である。
【図４】  自己同期型転送制御回路の具体的な回路図である。
【図５】  図４に示した自己同期型転送制御回路の動作を説明するためのタイミングチャートである。
【図６】  この発明の第３の実施形態のデータ駆動型情報処理装置のブロック図である。
【図７】  図６に示した処理内容決定機構の具体的なブロック図である。
【図８】  従来例およびこの発明の実施形態に適用されるデータパケットのフォーマットを示す図である。
【図９】  従来のハンドシェイク方式を採用したデータ伝送装置の一例を示すブロック図である。
【図１０】  図９に示したＣ素子の動作を説明するためのタイミングチャートである。
【図１１】  図１０に示したＣ素子の具体的な回路図である。
【図１２】  従来のデータ駆動型情報処理装置のブロック図である。
【符号の説明】
２ａ，２ｃ，３ａ，３ｂ，３ｃ  Ｃ素子、３  自己同期型転送制御回路、４ａ，４ｂ，４ｃ  パイプラインレジスタ、４，７  処理内容決定機構、８  ホスト転送フラグ操作回路、４１，７１，７２  レジスタ、４２，７５  一致検出部、４３，７６  処理内容決定部、７３，７４  マスク処理部、ＪＮＣ  合流部、ＦＣ  発火制御部、ＦＰ  演算部、ＰＳ  プログラム記録部、ＢＲＮ  分岐部。
【図１】
0003983447.tif 000002
【図２】
0003983447.tif 000003
【図３】
0003983447.tif 000004
【図４】
0003983447.tif 000005
【図５】
0003983447.tif 000006
【図６】
0003983447.tif 000007
【図７】
0003983447.tif 000008
【図８】
0003983447.tif 000009
【図９】
0003983447.tif 000010
【図１０】
0003983447.tif 000011
【図１１】
0003983447.tif 000012
【図１２】
0003983447.tif 000013