(57)【特許請求の範囲】
【請求項１】
データパケットを受ける入力ポートと、
データパケットを出力するための出力ポートと、
前記入力ポートを介して入力されたデータパケットを処理するための処理手段と、
前記処理手段により出力されたデータパケットを、引続き前記処理手段で処理すべきか、または外部に出力すべきかを判定する際に利用される情報を格納するための格納手段と、
前記処理手段により出力されたデータパケットを前記処理手段により引続き処理すべきか、または外部に出力すべきかを、当該データパケットの内容と前記格納手段に格納された前記情報とに従って判定し、判定結果に従ってデータパケットを前記処理手段の入力と、前記出力ポートとに分岐させるための分岐手段とを含み、
前記分岐手段は、データパケットを前記処理手段により引続き処理すべきと判定したときには、当該データパケットの複製を作成して前記出力ポートに与える複製機構を有する、データ駆動型情報処理装置。
【請求項２】
前記分岐手段は、外部から与えられる分流指定信号に従って、前記複製機構を可能化し、または不能化するための機構をさらに有する、請求項１記載のデータ駆動型情報処理装置。
【請求項３】
前記分岐手段は、分流指定情報を保持するための記憶手段と、
前記記憶手段に保持された前記分流指定情報に従って、前記複製機構を可能化し、または不能化するための機構とをさらに有する、請求項１記載のデータ駆動型情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データフローグラフを実行するデータ駆動型情報処理装置に関し、特に、実行すべきデータフローグラフのデバッグを容易に行なうことができるデータ駆動型情報処理装置に関する。
【０００２】
【従来の技術】
データ駆動型プロセッサでは、「ある処理に必要なデータがすべて揃い、かつ、その処理に必要な演算処理のための資源が割当てられたときに処理を行なう」という単純な規則に従って処理が並列に進行する。データは、その宛先情報とともにデータパケットにより伝送される。
【０００３】
図１１に、従来の映像信号処理向きデータ駆動型情報処理システムのブロック構成図を示す。図１１を参照して、この従来のシステムは、データ駆動型プロセッサ６１と、画像メモリ部１１とを含む。画像メモリ部１１は、メモリインタフェース２と画像メモリ３とを含む。
【０００４】
データ駆動型プロセッサ６１は、入力ポートＩＡ、ＩＢおよびＩＶと、出力ポートＯＡ、ＯＢおよびＯＶとを含む。入力ポートＩＡおよびＩＢには、伝送路７および８がそれぞれ接続され、処理されるべき映像信号を含むデータパケットが与えられる。入力ポートＩＶには伝送路５が接続され、画像メモリ部１１において行なわれる画像メモリ３に対するアクセス結果を含むデータパケットが与えられる。出力ポートＯＡおよびＯＢには伝送路９および１０がそれぞれ接続され、当該システムにおいて行なわれた処理結果データを含むデータパケットが出力される。出力ポートＯＶには伝送路４が接続され、画像メモリ部１１をアクセスするためのデータを含むデータパケットがメモリインタフェース２に対して送出される。
【０００５】
メモリインタフェース２および画像メモリ３はメモリアクセス制御線６を介して相互に接続されている。このメモリアクセス制御線６上を伝送されるデータもデータパケットである。
【０００６】
図１２に、図１１に示されるシステム内のデータ伝送路７〜１０を介して伝送されるデータパケットのフィールド構成の例を示す。プロセッサ６１に対して入出力されるデータパケット１２０は、プロセッサ内での処理の内容を示す命令コード１２２と、当該データパケットを処理すべきデータ駆動型プロセッサをシステム内で一意に指定するためのプロセッサ番号１２４と、当該データパケットを処理すべきプロセッサ上で実行されるべき命令を一意に指定するためのノード番号１２６と、データ伝送路７または８からプロセッサ６１に対して入力される時点において、入力時系列の順序に従ってつけられている識別子である世代番号１２８と、データ１３０とを含む。世代番号１２８は、プロセッサ６１においてはデータの待合せの際に利用され、メモリインタフェース２に対しては、画像メモリ３に対するアドレスとしての意味を持つ。
【０００７】
なお図１２に示されるように、この例では命令コード１２２と、プロセッサ番号１２４と、ノード番号１２６と、世代番号１２８と、データ１３０とはそれぞれ８ビット、９ビット、６ビット、２４ビット、１２ビットというビット長を有するが、これら各フィールドのビット長と、またデータパケット全体のパケット長とは、これ以外の値もとり得る。
【０００８】
データ処理時には図１１に示すシステムは次のように動作する。入力ポートＩＡまたはＩＢを介して、世代番号を持つ信号入力パケットが時系列的にプロセッサ６１に与えられる。プロセッサ６１は、予め映像処理のためのデータフロープログラムを記憶している。プロセッサ６１は、与えられるデータをこのプログラムに基づいて処理し、処理結果を出力ポートＯＡまたはＯＢのいずれか一方のポートを介して送出する。
【０００９】
画像メモリ３に対するアクセス（画像メモリ３に記憶されたデータの参照／更新など）が必要となった場合には、プロセッサ６１の出力ポートＯＶを介して、画像メモリ部１１に、画像メモリ３に対するアクセス要求を格納したデータパケットが送出される。メモリインタフェース２は、このアクセス要求を受取るとメモリアクセス制御線６を介して画像メモリ３に対してアクセスを行ない、その結果データを格納したデータパケットを伝送路５を介してプロセッサ６０の入力ポートＩＶに与える。プロセッサ６０は、入力ポートＩＶを介して与えられたデータパケットを受取り、前述のデータフロープログラムに基づいて処理を続行する。
【００１０】
図１３に、従来の映像処理向きデータ駆動型システムで使用されるデータ駆動型プロセッサ６１のブロック構成図を示す。図１３を参照して、従来のデータ駆動型プロセッサ６１は、その入力端に入力ポートＩＡおよびＩＢが接続される入力処理部１７と、合流部１２と、データフロープログラムを記憶し、それに基づいて処理を実行する本体処理部１３と、分岐部１４と、その出力端に出力ポートＯＡおよびＯＢが接続される出力処理部１５と、ネットワークを組むシステム内で当該プロセッサ６１を一意に識別するための識別番号ＰＥ＃を記憶するためのＰＥ＃レジスタ１６と、データパケットを出力ポートＯＡおよびＯＢのいずれに送出するかを決定するための分岐条件が格納された分岐制御パラメータレジスタ群１８とを含む。
【００１１】
入力処理部１７は、入力ポートＩＡまたはＩＢを介して入力されるデータパケットを受け、当該入力パケット中のプロセッサ番号とＰＥ＃レジスタ１６の内容とを比較して、比較結果に従ってデータパケットを合流部１２または出力処理部１５に選択的に与えるためのものである。より具体的には、入力処理部１７は、入力データパケット中のプロセッサ番号とＰＥ＃レジスタ１６の内容とが一致した場合にはこのデータパケットを自プロセッサ宛のパケットと判断し、合流部１２に与える。そうでない場合には入力処理部１７は、当該パケットを他のプロセッサ宛のパケットであると判断し、当該入力パケットを出力処理部１５に与える。
【００１２】
合流部１２は、入力処理部１７から与えられるデータパケットと、後述する分岐部１４から与えられるデータパケットとを合流させ、本体処理部１３に与えるためのものである。本体処理部１３は、合流部１２から与えられるデータパケットを、所定のデータフロープログラムに従って処理するためのものである。この際仮に画像メモリ３（図１１参照）に対するアクセスが必要な場合には、本体処理部１３は出力ポートＯＶを介して画像メモリ部１１に処理パケットを送出する。画像メモリ部１１において処理された結果のデータパケットは、入力ポートＩＶを介してデータ駆動型プロセッサ６１に受取られる。
【００１３】
分岐部１４は、本体処理部１３から出力されるデータパケットを受け、当該データパケット内のプロセッサ番号と、ＰＥ＃レジスタ１６の内容とが一致するか否かに従って、当該データパケットを出力処理部１５または合流部１２に選択的に与えるためのものである。より具体的には、分岐部１４は、入力されたデータパケットのプロセッサ番号とＰＥ＃レジスタ１６の内容とが一致すれば、当該データパケットを合流部１２に与える。さもなければ分岐部１４は当該入力データパケットを出力処理部１５に与える。
【００１４】
出力処理部１５は、分岐部１４または入力処理部１７から与えられるデータパケットを受け、当該入力データパケット中のプロセッサ番号または世代番号を参照して、予め分岐制御パラメータレジスタ群１８に設定された分岐条件に従って、出力ポートＯＡまたはＯＢのいずれか一方に選択的にデータパケットを出力するためのものである。
【００１５】
上述の図１３に示すような構成を有するデータ駆動型プロセッサはたとえば、特開平６−１６２２２８号公報に開示されている。同公報に開示されたデータ駆動型プロセッサ装置では、ＩＤパラメータレジスタ（ＰＥ）と、分岐比較データパラメータレジスタ（ＲＤ）と、分岐比較マスクパラメータレジスタ（ＲＭ）の３種のレジスタが分岐制御パラメータレジスタ群１８として用意されている。このうち、ＩＤパラメータレジスタ（ＰＥ）は、図１３に示すＰＥ＃レジスタ１６と等価であると考えられるので、図１３に示される装置は特開平６−１６２２２８号公報に示されているデータフロープロセッサ装置と同等であり、分岐制御パラメータレジスタ群１８としては、分岐比較データパラメータレジスタと分岐比較マスクパラメータレジスタとの２種類のレジスタがあれば十分であると考えられる。特開平６−１６２２２８号公報に従えば、分岐条件は次の式で表わされる。
【００１６】
（ＲＭ．ａｎｄ．ｐｅ＃）．ｅｘｏｒ．（ＲＭ．ａｎｄ．ＲＤ）…（１）
なお式（１）において、ＲＭおよびＲＤはそれぞれ、分岐比較マスクパラメータレジスタＲＭおよび分岐比較データパラメータレジスタＲＤに格納されている値である。また、ｐｅ＃は、出力処理部１５に対する当該入力パケット中のプロセッサ番号である。演算子ａｎｄおよびｅｘｏｒはそれぞれ、ビットごとの論理積およびビットごとの排他的論理和を表わす。
【００１７】
ｅｘｏｒ演算に対する非演算子（ＲＭ．ａｎｄ．ｐｅ＃）と（ＲＭ．ａｎｄ．ＲＤ）とが一致すると、式（１）の値は０となる。この場合出力処理部１５は、入力されたデータパケットを出力ポートＯＡを介して伝送路９上に出力する。ｅｘｏｒ演算に対する被演算子（ＲＭ．ａｎｄ．ｐｅ＃）と（ＲＭ．ａｎｄ．ＲＤ）とが不一致の場合、式（１）の結果は０とはならない。この場合には出力処理部１５は、入力されたデータパケットを出力ポートＯＢを介して伝送路１０上に出力する。
【００１８】
図１４に、従来のデータ駆動型プロセッサ６１の分岐部１４の機能的な構成を示す。図１４を参照して、分岐部１４は、本体処理部１３から与えられるデータパケット中のプロセッサ番号と、ＰＥ＃レジスタ１６の内容とを比較し、その判定結果を出力するための分岐先判定部１４２と、分岐先判定部１４２の出力によって制御され、本体処理部１３から与えられるデータパケットを一方端子ａを介して合流部１２に、または他方端子ｂを介して出力処理部１５に選択的に出力するためのセレクタ１４１とを含む。
【００１９】
たとえば分岐先判定部１４２は、データパケット中のプロセッサ番号とＰＥ＃レジスタ１６の内容とが一致した場合には「１」を、不一致のときには「０」をセレクタ１４１に与える。セレクタ１４１は、分岐先判定部１４２の出力が「１」のときにはデータパケットを合流部１２に与え、「０」のときには出力処理部１５に与える。
【００２０】
図１５に、従来の分岐部１４のより具体的な構成を、合流部１２および出力処理部１５の関連部分とともに示す。図１５を参照して、分岐部１４は、データパケットが伝搬するパイプラインを構成するデータ伝送路７２、７４、７６およびデータラッチ回路５４、５６を含む。データ伝送路７２の入力側は本体処理部１３内のデータラッチ回路（図示せず）に接続されている。データ伝送路７６は分岐し、合流部１２のデータラッチ回路６０の入力と、出力処理部１５内のデータラッチ回路５８の入力とに接続されている。
【００２１】
分岐部１４はさらに、これらデータラッチ回路５４、５６によるデータのラッチのタイミングを制御するための転送制御素子４４および４６を含む。同様に合流部１２は転送制御素子５０を、出力処理部１５は転送制御素子４８をそれぞれ含む。転送制御素子４４、４６、４８および５０はそれぞれ、データラッチ回路５４、５６、５８および６０によるデータのラッチのタイミングを制御するためのクロックパルスを生成し、それぞれ対応のデータラッチ回路に与えるためのものである。各転送制御素子４４、４６、４８、５０は、データ保持信号ＣＩの入力と、データ保持信号ＣＯ＊（本願明細書では以下、図において信号名上に付されたオーバーバーを「＊」で表わすものとする。）の出力と、後段からの空き信号ＲＩの入力と、前段への空き信号ＲＯ＊の出力とを有している。転送制御素子４４、４６、４８、５０はそれぞれ、データ保持信号ＣＯ＊、ＣＩ、空き信号ＲＯ＊、ＲＩを前段および後段の転送制御素子と交信することにより、データラッチ上のデータの伝搬を制御する。
【００２２】
分岐部１４はさらに、本体処理部１３からデータラッチ回路５４を介して与えられるデータパケット内のプロセッサ番号と、ＰＥ＃レジスタ１６の内容とを比較し、一致した場合は「１」を、不一致の場合には「０」となる信号をデータラッチ回路５６の入力に与える一致判定回路４２と、転送制御素子４６のＣＯ＊出力に入力が接続されたインバータ９０と、インバータ９０の出力に一方入力が、データラッチ回路５６を介して一致判定回路４２の出力に他方入力が接続されたＮＡＮＤ回路８２と、データラッチ回路５６を介して一致判定回路４２の出力に入力が接続されたインバータ９２と、インバータ９０および９２にそれぞれ接続された２つの入力を有するＮＡＮＤ回路８６と、転送制御素子５０および４８の出力ＯＲ＊にそれぞれ接続された２つの入力を有するＡＮＤ回路８８とを含む。ＮＡＮＤ回路８２の出力は転送制御素子５０の入力ＣＩに接続される。ＮＡＮＤ回路８６の出力は転送制御素子４８の入力ＣＩに接続される。
【００２３】
図１５に示す分岐部１４の動作について簡単に説明する。まず、本体処理部１３からのデータパケット内のプロセッサ番号とＰＥ＃レジスタ１６の内容とが一致する場合を考える。一致判定回路４２の出力はハイレベルとなる。また、転送制御素子４４、４６、５０および４８から出力されている信号ＣＯ＊およびＲＯ＊がいずれもハイレベルであるものとする。この場合転送制御素子４６への空き信号ＲＩはハイレベルとなっている。このように後段からの空き信号ＲＩがハイレベルとなっている場合、後段では前段からのデータを受けることが可能であることを示す。逆に後段からの空き信号ＲＩがローレベルであれば、後段ではデータを受信する準備ができていないことを示す。
【００２４】
転送制御素子４６への前段からのデータ保持信号ＣＩがローレベルに立下がると、転送制御素子４６は前段に与える空き信号ＲＯ＊をローレベルに立下げる。前段の転送制御素子４４は、転送制御素子４６から与えられる空き信号ＲＩがローレベルとなったことに応答して、データ保持信号ＣＯ＊をハイレベルに立上げる。転送制御素子４６は、データ保持信号ＣＩがハイレベルに立上がったことに応答して、データラッチ５６に対してクロックパルスＣＰを立上げるとともに、空き信号ＲＯ＊をローレベルに立下げる。データラッチ回路５６は、クロックパルスの立上りに応答してデータラッチ回路５４および一致判定回路４２の出力をラッチする。
【００２５】
さらに転送制御素子４６は、ラッチパルスＣＰの立上がりに応答してデータ保持信号ＣＯ＊をローレベルに立下げる。インバータ９０の出力はローレベルからハイレベルに立上がる。前述のように一致判定回路４２の出力はハイレベルであるため、ＮＡＮＤ回路８２の出力はハイレベルからローレベルに立下がる。転送制御素子５０は、データ保持信号ＣＩがローレベルとなったことに応答して、空き信号ＲＯ＊をハイレベルからローレベルに立下げる。
【００２６】
一方インバータ９２の出力はローレベルであるため、ＮＡＮＤ回路８６の出力は、インバータ９０の出力にかかわらず常にハイレベルである。転送制御素子４８は動作せず、その空き信号ＲＯ＊はハイレベルのままである。
【００２７】
ＡＮＤ回路８８の出力は、転送制御素子５０の空き信号ＲＯ＊がローレベルとなったことに応答してローレベルとなる。転送制御素子４６は、空き信号ＲＩがローレベルとなったことに応答してラッチパルスＣＰをローレベルに立下げるとともに、データ保持信号ＣＯ＊をローレベルからハイレベルに立上げる。転送制御素子５０はこれに応答してデータラッチ回路６０へのクロックパルスを立ち上げてデータをラッチさせるとともに、空き信号ＲＯ＊を再びハイレベルに立上げ、それによって転送制御素子４６の空き信号ＲＩもハイレベルに立上がる。このとき転送制御素子４８は動作しない。すなわち、この場合、分岐部１４でデータラッチ回路５６にラッチされたデータは、合流部１２のデータラッチ回路６０のみにラッチされ、出力処理部１５のデータラッチ回路５８にはラッチされない。
【００２８】
一方、一致判定回路４２の出力が不一致を示す値、すなわち「０」である場合には、分岐部１４内の各回路の動作は上述とは逆になり、データラッチ回路５６のデータは出力処理部１５のデータラッチ回路５８のみにラッチされ、合流部１２のデータラッチ回路６０にはラッチされない。
【００２９】
したがって一致判定回路４２による判定結果に従って、分岐部１４がデータを合流部１２と出力処理部１５とに選択的に出力させることとなり、データの分岐が実現できる。
【００３０】
図１６は、４台の映像処理向きデータ駆動型プロセッサ６１を用いたシステムの構成例である。図１６を参照して、このシステムの４つのプロセッサ６１にはそれぞれ、当該プロセッサを一意に識別するための識別番号ＰＥ＃０、ＰＥ＃１、ＰＥ＃２およびＰＥ＃３が割当てられる。これら識別記号０〜３は、それぞれのプロセッサ６１のＰＥレジスタ１６に格納される（図１０参照）。以下、各プロセッサ６１に割当てられた識別番号を用いてプロセッサを特定しながら説明する。
【００３１】
図１６に示すシステムにおいては、どのプロセッサからも他の任意のプロセッサにデータパケットを与えることができるようにネットワークが形成されている。たとえばプロセッサＰＥ＃０からプロセッサＰＥ＃１にデータパケットを与える場合を考える。この場合まず、プロセッサＰＥ＃０の出力ポートＯＡから、図１２に示すプロセッサ番号１２４を目標のプロセッサＰＥ＃１の識別番号に設定したデータパケットを出力する。当該データパケットは、一旦プロセッサＰＥ＃３の入力ポートＩＡに与えられる。当該データパケットはその後、プロセッサＰＥ＃３の出力ポートＯＡから出力され、目標のプロセッサＰＥ＃１の入力ポートＩＡに与えられる。
【００３２】
こうしたネットワークを構成するには、各プロセッサの分岐制御パラメータレジスタ群のＲＭ、ＲＤを、図１６に示すように設定すればよい。各プロセッサでの出力ポートの選択の判定には、上述の式（１）が用いられるものとする。
【００３３】
図１６に示される例では、各プロセッサでの出力ポートの選択は次のように行なわれる。
【００３４】
プロセッサＰＥ＃０では、出力データパケット中のプロセッサ番号１２４の最下位ビットが１であれば出力ポートＯＡを選択し、それ以外の場合には出力ポートＯＢを選択する。プロセッサＰＥ＃１では、データパケット中のプロセッサ番号１２４の最下位ビットが０であれば出力ポートＯＡを選択し、他の場合には出力ポートＯＢを選択する。プロセッサＰＥ＃２およびプロセッサＰＥ＃３では、データパケット中のプロセッサ番号１２４が０〜３であれば出力ポートＯＡを選択し、それ以外の場合には出力ポートＯＢを選択する。
【００３５】
図１７に、データ駆動型プロセッサで実行される一例として簡単なフローグラフを示す。図１７に示すデータフローグラフは、入力データをｘとしたとき、ｙ＝（ｘ＋２）（ｘ−１）を求めるプログラムである。
【００３６】
図１７を参照して、このデータフローグラフは入力ノード１０２と、入力ノード１０２から与えられるデータを複製して２つに分岐させるコピーノード１０４と、コピーノード１０４から与えられるデータに「２」を加算する「＋」ノード１０６と、コピーノード１０４から与えられるデータから１を減算する「−」ノード１０８と、「＋」ノード１０６および「−」ノード１０８から与えられるデータを乗算するための「＊」ノード１１０と、ノード１１０からのデータが与えられる出力ノード１１２とを含む。このデータフローグラフによれば、出力ノード１１２にはｙ＝（ｘ＋２）（ｘ−１）が得られるはずである。
【００３７】
このデータフローグラフを実行するシステムの構成例を図１８に示す。図１８は、１台の映像処理向きデータ駆動型プロセッサ６０を用いている。このプロセッサ６０には、識別番号ＰＥ＃０が割当てられている。このプロセッサＰＥ＃０に、図１７に示す簡単なデータフローグラフを割当てた場合の、プロセッサＰＥ＃０の動作について説明する。
【００３８】
プロセッサＰＥ＃０の入力ポートＩＡに、入力データ値ｘを格納したデータパケットが与えられる。このデータパケットのプロセッサ番号１２４（図１２）は、プロセッサＰＥ＃０の識別番号である。また図１２に示す命令コード１２０はコピーノードに対応するコピー命令である。
【００３９】
データパケットは図１３を参照して、入力処理部１７に与えられる。入力処理部１７は、当該データパケットが自プロセッサを宛先とすると判断し、このデータパケットを合流部１２を経て本体処理部１３に与える。本体処理部１３では、入力データパケットにより「コピー」ノードに対応する処理が実行され、結果として入力データパケットとその複製とが出力される。この２つのデータパケットのノード番号は、それぞれ図１７に示す「＋」演算と「−」演算とを表わしている。またそれぞれのデータパケットのプロセッサ番号１２４（図１２参照）は共にプロセッサＰＥ＃０を表わしている。
【００４０】
複製後の２つのデータパケットは本体処理部１３から出力され、分岐部１４に与えられる。分岐部１４は、入力されたデータパケットのいずれについても、そのプロセッサ番号１２４（図１２参照）がＰＥ＃レジスタ１６の内容と一致しているため、これらデータパケットを合流部１２に与える。このデータパケットは再び本体処理部１３に与えられ、それぞれ「＋」と「−」の演算が実行される。
【００４１】
この演算後の２つのデータパケットはともにノード番号１２６（図１２参照）に「＊」ノードが設定され、本体処理部１３から出力される。プロセッサ番号１２４（図１２参照）にはプロセッサＰＥ＃０を表わす値が格納される。「＋」と「−」演算の実行の結果生成された２個のデータパケットはいずれも本体処理部１３から分岐部１４に与えられる。
【００４２】
分岐部１４は、入力された２個のデータパケットともそのプロセッサ番号１２４が自プロセッサ番号と一致するため、いずれのデータパケットも合流部１２に与える。合流部１２を経たこれらデータパケットは再び本体処理部１３に与えられ、「＊」ノードの左右の入力としてマッチングされて「＊」演算が実行される。
【００４３】
「＊」演算実行後のデータパケットには、プロセッサ番号としてたとえば「ＰＥ＃１」が付与されるように、本体処理部１３（図１３参照）はプログラミングされているものとする。このデータパケットは、本体処理部１３から分岐部１４に与えられる。分岐部１４は、入力されたデータパケットのプロセッサ番号１２４が自プロセッサ番号と一致しないため、このデータパケットを出力処理部１５に与える。出力処理部１５は、前述のように分岐制御パラメータレジスタ群の設定内容に従って出力ポートを決定する。図１８に示すようにレジスタが設定されている場合、データパケット内のプロセッサ番号１２４に「ＰＥ＃１」が設定されている場合には当該データパケットは出力ポートＯＡから出力されることになる。
【００４４】
【発明が解決しようとする課題】
上述のように図１７に示されるデータフローグラフを図１８に示すデータ駆動型プロセッサで実行した場合に、出力結果が正しく得られない場合がある。その原因としては、データフローグラフの記述ミスなどが考えられる。このような場合、データフローグラフのデバッグを行なう必要が生じる。
【００４５】
従来、データフローグラフをデバッグする１つの方法として、実行途中の演算結果を出力させるようにデータフローグラフを修正し、そのようにして得られた実行途中の演算結果が期待どおりのものかどうかを調べる方法がある。図１９に、デバッグのために図１７に示すデータフローグラフを修正した例を示す。
【００４６】
図１９を参照して、この例では「＋」演算と「−」演算との結果をいずれもプロセッサＰＥ＃０外に出力させるような修正が行なわれている。  すなわち、図１９に示すように、データフローグラフを修正し、新たに２つのデバッグ用出力ノード１１４および１１６を設ける。これらデバッグ用出力１１４および１１６にはそれぞれ、「＋」ノード１０６の出力と、「−」ノード１０８の出力とが、「＊」ノード１１０とは別に出力される。
【００４７】
こうして、図２０に示すように、たとえば出力ポートＯＢに出力ノード１１４および１１６からのデータパケットが出力されるようにし、このデータパケットの内容を調べることができる。プロセッサ外に出力されたそれぞれの結果を期待値と比較することにより、データフローグラフのどの部分に誤りがあるかを調べることができる。
【００４８】
図１７に示した例は非常に簡単なデータフローグラフであるため、デバッグを行なうようにこのデータフローグラフを修正することはそれほど困難ではない。しかし、実用的な目的のために使用されるデータフローグラフははるかに複雑であり、どの部分の中間結果を出力すれば容易にデバッグできるのかがよくわからない場合が通常である。デバッグを容易に行なえるような中間結果を得るために、試行錯誤的にデータフローグラフを何度も修正することが多い。このため、従来のシステムではデータフローグラフのデバッグの効率が悪く、システムの構築に長時間を要するという問題が生じていた。
【００４９】
それゆえに、請求項１に記載の発明は、データフローグラフのデバッグを容易にかつ効率的に行なうことができるデータ駆動型情報処理装置を提供することを目的とする。また請求項２または３に記載の発明は、テスト時にはデータフローグラフのデバッグを容易かつ効率的に行なえるように動作するとともに、テスト時以外には通常と同様の動作を行なうような切換が容易にできるデータ駆動型情報処理装置を提供することを目的とする。
【００５０】
【課題を解決するための手段】
請求項１に記載のデータ駆動型情報処理装置は、データパケットを受ける入力ポートと、データパケットを出力するための出力ポートと、入力ポートを介して入力されたデータパケットを処理するための処理手段と、処理手段により出力されたデータパケットを、引続き処理手段で処理すべきか、または外部に出力すべきかを判定する際に利用される情報を格納するための格納手段と、処理手段により出力されたデータパケットを処理手段により引続き処理すべきか、または外部に出力すべきかを、当該データパケットの内容と、格納手段に格納された情報とに従って判定し、判定結果に従ってデータパケットを処理手段と出力ポートとのいずれかに分岐させるための分岐手段とを含み、分岐手段は、データパケットを処理手段により引続き処理すべきと判定したときには、当該データパケットの複製を作成し出力ポートに与える複製機構を有することを特徴とする。
【００５１】
請求項２に記載のデータ駆動型情報処理装置は、請求項１に記載のデータ駆動型情報処理装置であって、分岐手段は、外部から与えられる分流指定信号に従って、複製機構を可能化し、または不能化するための機構をさらに有することを特徴とする。
【００５２】
請求項３に記載のデータ駆動型情報処理装置は、請求項１に記載のデータ駆動型情報処理装置であって、分岐手段は、分流指定情報を保持するための記憶手段と、記憶手段に保持された分流指定情報に従って、複製機構を可能化し、または不能化するための機構とをさらに有することを特徴とする。
【００５３】
いずれの請求項に記載のデータ駆動型情報処理装置においても、データパケットを引続き処理手段で処理すべきと判定された場合には、そのデータパケットの複製を複製機構が作成し、出力ポートを介して外部に出力する。通常であれば内容を知ることができない、内部のみを巡回するデータパケットの内容をデータフローグラフを変更することなく確認することができるので、データフローグラフのデバッグが容易になる。
【００５４】
また請求項２または３に記載のように、外部から分流指定信号を与え、または分流指定情報を保持する記憶手段を設け、分流指定信号または分流指定情報に応じて、複製機構を可能化し、または不能化することにより、テスト時には外部に複製データパケットを出力し、通常動作時にはそのようなデータパケットを作成しないようにすることが容易にできる。
【００５５】
【発明の実施の形態】
以下、本願発明の実施形態を詳細に説明する。
【００５６】
図１に、本願発明のデータ駆動型情報処理装置の実施形態１に係るデータ駆動型プロセッサ１を含む映像信号処理向きデータ駆動型情報処理システムのブロック構成図を示す。図１に示すシステムは図１１に示す従来のデータ駆動型プロセッサ６１を用いたシステムとは、データ駆動型プロセッサ６１に代えて本願発明に係るデータ駆動型プロセッサ１を使用している点を除いて同じである。したがってここでは以下に述べるデータ駆動型プロセッサ１の詳細な説明を除き、他の部分については詳細な説明は繰返さない。
【００５７】
図１に示されるように、データ駆動型プロセッサ１に対しては、データ駆動型プロセッサ１をデバッグモードで動作させるか、通常動作モードで動作させるかを外部で設定するための分流指定信号を与える分流指定端子２０が設けられている。以下に述べる実施形態では、分流指定端子２０の信号が「０」であれば図１１および図１３に示す従来のデータ駆動型プロセッサ６０と全く同一の動作を行なう。分流指定端子２０の設定が「１」であれば、このデータ駆動型プロセッサ１は、従来はデータ駆動型プロセッサ１の内部のみで処理されていたデータパケットの複製を出力ポートＯＡまたはＯＢのいずれか一方に出力するようになっている。そうした動作に必要な構成について図２以下を参照して説明する。
【００５８】
図２を参照して、本願発明の実施形態１に係るデータ駆動型プロセッサ１は、図１３に示す従来のデータ駆動型プロセッサ６１とほぼ同様であるが、図１３に示す分岐部１４に代えて、分流指定端子２０からの分流指定信号に従って、デバッグモードの動作と、通常動作時の動作とを切換えて行なう分岐部２４を含むことを特徴とする。データ駆動型プロセッサ１のその他の部分の構成は、図１３に示す従来のデータ駆動型プロセッサ６１のものと同一である。図２と図１３とにおいて、対応する部品には同一の参照符号を付し、それらの詳細な説明はここでは繰返さない。
【００５９】
図３を参照して、分岐部２４は、機能的には、合流部１２に接続される出力端子ａ、出力処理部１５に接続される出力端子ｂ、ならびに合流部１２および出力処理部１５の双方に接続される出力端子ｃを有し、本体処理部１３から与えられるデータパケットを、制御信号に応答してこれら３つの出力端子のいずれかに与えるためのセレクタ２４１と、分流指定端子２０に接続され、分流指定端子２０の設定が１の場合にはセレクタ２４１を制御して本体処理部１３から与えられるデータパケットを出力端子ｃに与えるようにし、分流指定端子２０の設定が０の場合には図１４に示す分岐先判定部１４２と同様に動作する分岐先判定部２４２とを含む。
【００６０】
この分岐部２４によれば、分流指定端子２０の設定が１の場合には、本体処理部１３から与えられたデータパケットは合流部１２と出力処理部１５との双方に与えられる。また分流指定端子２０の設定が０の場合には、本体処理部１３から与えられるデータパケットのプロセッサ番号とＰＥ＃レジスタ１６の内容とを比較し、一致すればデータパケットを出力端子ａを介して合流部１２へ、不一致であれば出力端子ｂを介して出力処理部１５にそれぞれ与えるように動作する。
【００６１】
図４に、図２に示す本願発明の実施形態１のデータ駆動型プロセッサ１に使用される分岐部２４のより具体的な構成を、合流部１２および出力処理部１５の一部とともに示す。図４と図１５とにおいて、同一の部品には同一の参照符号および名称が与えられており、それらの機能も同一である。したがってここではそれらについての詳しい説明は繰返さない。
【００６２】
図４に示される分岐部２４が図１５に示す従来の分岐部１４と異なるのは、インバータ９２の出力とＮＡＮＤ回路８６の入力との間に、ＯＲ回路８４が挿入されていることである。ＯＲ回路８４の他方の入力は分流指定端子２０に接続されている。ＯＲ回路８４の出力はＮＡＮＤ回路８６の入力に接続されている。その他の点では、図４の分岐部２４は図１５に示す従来の分岐部１４と全く同じである。
【００６３】
このＯＲ回路８４を設けたことにより、分流指定端子２０の設定が１であるときには分岐部２４はデバッグモードで動作し、分流指定端子２０が０に設定されているときには従来の分岐部１４と同様に動作する。デバッグモードにおいては、データパケットが合流部１２に向けて分岐される場合には、そのデータパケットの複製が出力処理部１５にも出力されることになる。以下、その動作を説明する。
【００６４】
まず図４を参照して、分流指定端子２０が０に設定されている場合を考える。この場合分岐部２４は、図１５に示す分岐部１４と全く同様に動作することは明らかである。まず最初に、本体処理部１３から与えられるデータパケットのプロセッサ番号１２４と、ＰＥ＃レジスタ１６の内容とが一致する場合について考察する。この場合一致判定回路４２の出力がハイレベル（図５（Ｂ））、したがってインバータ９２の出力はローレベル（図５（Ｃ））となる。分流指定端子２０がローレベルに設定されているため、ＯＲ回路８４の出力はローレベルとなる。
【００６５】
図５に示すように、初期状態として転送制御素子４６に入力されているデータ保持信号ＣＩと空き信号ＲＩ、転送制御素子４６から出力されているデータ保持信号ＣＯ＊および空き信号ＲＯ＊はすべてハイレベルであるものとする。このとき、転送制御素子５０へのデータ保持信号ＣＩおよび転送制御素子５０からの空き信号ＲＯ＊もハイレベルである。また転送制御素子４８へのデータ保持信号ＣＩおよび転送制御素子４８からの空き信号ＲＯ＊もハイレベルである。転送制御素子４６からデータラッチ５６への信号ＣＰはローレベルである。
【００６６】
まず、図５（Ｄ）に示すように、転送制御素子４６へのデータ保持信号ＣＩがハイレベルからローレベルに立下がる。これに応答して転送制御素子４６は、転送制御素子４４への空き信号ＲＯ＊をハイレベルからローレベルに立下げる（図５（Ｅ））。するとこれに応答して、転送制御素子４４はその出力するデータ保持信号ＣＯ＊（転送制御素子４６へのデータ保持信号ＣＩ）を再びハイレベルに立上げる。
【００６７】
転送制御素子４６は、データ保持信号ＣＩがハイレベルに立上がったことに応答して、データラッチ５６に対してクロックパルスＣＰを与える。すなわち転送制御素子４６からデータラッチ５６へのクロックパルスＣＰはハイレベルに立上がる（図５（Ｆ））。同じく転送制御素子４６は、転送制御素子４４への空き信号ＲＯ＊を再びハイレベルに立上げる（図５（Ｅ））。
【００６８】
そしてクロックパルスＣＰがハイレベルに立上がったことに応答して転送制御素子４６は、次段へのデータ保持信号ＣＯ＊をハイレベルからローレベルに立下げる（図５（Ｇ））。ＮＡＮＤ回路８２に対してデータラッチ回路５６を介して一致判定回路４２から与えられる信号はハイレベルであり、したがってＮＡＮＤ回路８２は、転送制御素子４６の出力の変化をそのまま合流部１２の転送制御素子５０にデータ保持信号ＣＩとして与える（図５（Ｉ））。
【００６９】
またＮＡＮＤ回路８６に対して分流指定端子２０からローレベルの信号が与えられており、インバータ９２の出力もローレベルであるため、ＮＡＮＤ回路８６の出力はハイレベルのままとなる（図５（Ｋ））。
【００７０】
転送制御素子５０は、図５（Ｊ）に示すように、その出力する空き信号ＲＯ＊をハイレベルからローレベルに立下げて（図５（Ｆ））データラッチ回路６０に対してデータラッチのためのクロックパルスを与える。これによりデータラッチ回路６０に、データラッチ回路５６のラッチデータが伝送されることになる。一方データラッチ回路５８は動作しない。
【００７１】
転送制御素子５０の出力する空き信号ＲＯ＊がハイレベルからローレベルに変化すると、転送制御素子４６への空き信号ＲＩもハイレベルからローレベルに変化する（図５（Ｈ））。転送制御素子４６は、入力される空き信号ＲＩがハイレベルからローレベルになったことに応答して、クロックパルスＣＰを再びローレベルに立下げる（図５（Ｆ））とともに、その出力するデータ保持信号ＣＯ＊をハイレベルに立上げる（図５（Ｇ））。これにより転送制御素子５０に与えられるデータ保持信号ＣＩもローレベルからハイレベルに立上がる（図５（Ｉ））。その結果転送制御素子５０の出力する空き信号ＲＯ＊は再びハイレベルに立上がる（図５（Ｊ））。
【００７２】
続いて次のデータパケットに対して一致判定回路４２による一致判定が行なわれるとともに、転送制御素子４６へのデータ保持信号ＣＩがローレベルに立下げられ、次の転送サイクルが開始されることになる。
【００７３】
続いて図６を参照して、一致判定回路４２において、本体処理部１３から与えられたデータパケットのプロセッサ番号とＰＥ＃レジスタ１６の内容とが一致していないと判定された場合の分岐部２４の動作について考える。この場合一致判定回路４２の出力はローレベル、したがってインバータ９２の出力はハイレベルとなる。インバータ９２の出力がハイレベルとなるためＮＡＮＤ回路８６に対してＯＲ回路８４から与えられる信号もハイレベルとなる。したがってＮＡＮＤ回路８６は、インバータ９０を介して転送制御素子４６から与えられるデータ保持信号ＣＯ＊の波形変化をそのまま次段の転送制御素子４８にデータ保持信号ＣＩとして与える。
一方、ＮＡＮＤ回路８２に対してデータラッチ回路５６を介して一致判定回路４２から与えられる信号はローレベルである。したがってＮＡＮＤ回路８２は、転送制御素子４６の出力するデータ保持信号ＣＯ＊の値にかかわらず、合流部１２の転送制御素子５０に対してはハイレベルのデータ保持信号ＣＩを与える。したがって転送制御素子４６からのデータ保持信号ＣＯ＊の波形変化は転送制御素子５０には伝搬されない。
【００７４】
その結果、図６（Ａ）〜（Ｈ）の波形は図５の対応波形と変わらないが、図６（Ｉ）および（Ｊ）に示すように、転送制御素子５０は転送制御動作を行なわない。したがって合流部１２のデータラッチ回路６０はデータラッチ回路５６のデータをラッチすることはない。また図６（Ｋ）および（Ｌ）に示すように出力処理部１５のデータラッチ回路５８のみがデータラッチ回路５６のデータを受取ることになり、データパケットが出力処理部１５のみに出力される。
【００７５】
すなわちこの場合、データパケットは出力処理部１５のみに出力され、合流部１２に対しては与えられないことになる。
【００７６】
次に分流指定端子２０が「１」に設定されている場合を考える。
まず最初に、本体処理部１３から与えられるデータパケットのプロセッサ番号１２４と、ＰＥ＃レジスタ１６の内容とが一致する場合について考察する。この場合一致判定回路４２の出力はハイレベル、インバータ９２の出力はローレベルとなる。インバータ９２の出力はローレベルであるが、分流指定端子２０が１に設定されているため、ＯＲ回路８４の出力は常にハイレベルである。
【００７７】
図７に示すように、初期状態として転送制御素子４６に入力されているデータ保持信号ＣＩと空き信号ＲＩ、転送制御素子４６から出力されているデータ保持信号ＣＯ＊および空き信号ＲＯ＊はすべてハイレベルであるものとする。このとき、転送制御素子５０へのデータ保持信号ＣＩおよび転送制御素子５０からの空き信号ＲＯ＊もハイレベルである。また転送制御素子４８へのデータ保持信号ＣＩおよび転送制御素子４８からの空き信号ＲＯ＊もハイレベルである。転送制御素子４６からデータラッチ５６へのクロックパルスＣＰはローレベルである。
【００７８】
まず、図７（Ｄ）に示すように、転送制御素子４６へのデータ保持信号ＣＩがハイレベルからローレベルに立下がる。これに応答して転送制御素子４６は、転送制御素子４４への空き信号ＲＯ＊をハイレベルからローレベルに立下げる（図７（Ｅ））。するとこれに応答して、転送制御素子４４はその出力するデータ保持信号ＣＯ＊（転送制御素子４６へのデータ保持信号ＣＩ）を再びハイレベルに立上げる（図７（Ｄ））。
【００７９】
転送制御素子４６は、データ保持信号ＣＩがハイレベルに立上がったことに応答して、データラッチ５６に対してクロックパルスＣＰを与える。すなわち転送制御素子４６からのデータラッチ５６へのクロックパルスＣＰはハイレベルに立上がる（図７（Ｆ））。同じく転送制御素子４６は、転送制御素子４４への空き信号ＲＯ＊を再びハイレベルに立上げる（図７（Ｅ））。
【００８０】
そしてクロックパルスＣＰがハイレベルに立上がったことに応答して転送制御素子４６は、次段へのデータ保持信号ＣＯ＊をハイレベルからローレベルに立下げる（図７（Ｇ））。ＮＡＮＤ回路８２に対して一致判定回路４２から与えられる信号はハイレベルであり、したがってＮＡＮＤ回路８２は、転送制御素子４６の出力の変化をそのまま合流部１２の転送制御素子５０にデータ保持信号ＣＩとして与える（図７（Ｉ））。
【００８１】
またＮＡＮＤ回路８６に対して分流指定端子２０からハイレベルの信号が与えられているため、ＮＡＮＤ回路８６も同様に転送制御素子４６の出力するデータ保持信号ＣＯ＊の波形変化をそのまま出力処理部１５の転送制御素子４８に対してデータ保持信号ＣＩとして与える（図７（Ｋ））。
【００８２】
転送制御素子４８および５０は、図７（Ｊ）（Ｋ）に示すように、その出力する空き信号ＲＯ＊をハイレベルからローレベルに立下げて（図７（Ｆ））にデータラッチ回路５８および６０に対してそれぞれデータラッチのためのクロックパルスを与える。これによりデータラッチ回路５８および６０に、データラッチ５６のラッチデータが伝送されることになる。
【００８３】
転送制御素子４８および５０の出力する空き信号ＲＯ＊のいずれか一方がハイレベルからローレベルに変化すると、転送制御素子４６への空き信号ＲＩもハイレベルからローレベルに変化する（図７（Ｈ））。転送制御素子４６は、入力される空き信号ＲＩがハイレベルからローレベルになったことに応答して、クロックパルスＣＰを再びローレベルに立下げる（図７（Ｆ））とともに、その出力するデータ保持信号ＣＯ＊をハイレベルに立上げる（図７（Ｇ））。これにより転送制御素子５０および４８に与えられるデータ保持信号ＣＩもローレベルからハイレベルに立上がる（図７（Ｉ）および（Ｋ））。その結果転送制御素子４８および５０の出力する空き信号ＲＯ＊は再びハイレベルに立上がる（図７（Ｊ）および（Ｌ））。
【００８４】
続いて次のデータパケットに対して一致判定回路４２による一致判定が行なわれるとともに、転送制御素子４６へのデータ保持信号ＣＩがローレベルに立下げられ（図７（Ｄ））、次の転送サイクルが開始されることになる。
【００８５】
続いて図８を参照して、一致判定回路４２において、本体処理部１３から与えられたデータパケットのプロセッサ番号とＰＥ＃レジスタ１６の内容とが一致していないと判定された場合の分岐部２４の動作について考える。この場合一致判定回路４２の出力はローレベルとなり、したがってインバータ９２の出力はハイレベルとなる。インバータ９２の出力がハイレベルであるためＮＡＮＤ回路８６に対してＯＲ回路８４から与えられる信号もハイレベルである。したがってＮＡＮＤ回路８６は、転送制御素子４６から与えられるデータ保持信号ＣＯ＊の波形変化をそのまま次段の転送制御素子４８にデータ保持信号ＣＩとして与える。
【００８６】
一方、ＮＡＮＤ回路８２に対して一致判定回路４２から与えられる信号はローレベルである。したがってＮＡＮＤ回路８２は、転送制御素子４６の出力するデータ保持信号ＣＯ＊の値にかかわらず、合流部１２の転送制御素子５０に対してはハイレベルのデータ保持信号ＣＩを与える。したがって転送制御素子４６からのデータ保持信号ＣＯ＊の波形変化は転送制御素子５０には伝搬されない。
【００８７】
その結果、図８（Ａ）〜（Ｈ）ならびに（Ｋ）および（Ｌ）の波形は図７の対応波形と変わらないが、図８（Ｉ）および（Ｊ）に示すように、転送制御素子５０は転送制御動作を行なわない。したがって合流部１２のデータラッチ回路６０はデータラッチ回路５６のデータをラッチすることはない。データラッチ回路５８のみがデータラッチ回路５６のデータを受取ることになり、データパケットは出力処理部１５のみに出力される。
【００８８】
すなわちこの場合、データパケットが出力処理部１５のみに出力され、合流部１２に対しては与えられないことになる。
【００８９】
前述のように一致判定回路４２により、本体処理部１３からのデータパケットのプロセッサ番号とＰＥ＃レジスタ１６の内容とが一致した場合、合流部１２に対してデータパケットが与えられるとともに、その複製が出力処理部１５にも与えられる。この場合出力処理部１５に与えられたデータパケットは、分岐部２４で次プロセッサ行と判断されたデータパケットの複製と考えることができるから、そのデータパケットのプロセッサ番号１２４は自プロセッサ番号となっている。そしてまた前述のとおり出力処理部１５は、分岐制御パラメータレジスタ群の設定内容とデータパケットの内容とに従って出力ポートを決定する。
【００９０】
分岐制御パラメータレジスタＲＭおよびＲＤが図９に示されようにそれぞれ「０００００００１」に設定されている場合を考え、このプロセッサＰＥ＃０で図１７に示すデータフローグラフを実行すると、プロセッサＰＥ＃０からは図９に示すようなデータパケットが出力される。この例では、分岐部２４で複製されたデータパケットのプロセッサ番号にはＰＥ＃０が設定されている。したがってこれらデータパケットは出力ポートＯＢから出力されることになる。
【００９１】
以上のようにこの実施形態１に係るデータ駆動型プロセッサでは、本体処理部１３から出力されたデータパケットが再び本体処理部１３に与えられて処理される場合には、そのデータパケットの複製がプロセッサ外に出力される。これらのデータパケットはデータフローグラフの中間演算結果であり、従来は、データフローグラフをデバッグ用に変更しないかぎり、プロセッサ外からその内容を確認することはできなかった。しかし上述のようにこの実施形態１のデータ駆動型プロセッサによれば、データフローグラフを修正することなく、この中間結果の内容をプロセッサ外から確認することができる。その内容を予め用意しておいた期待値と比較することにより、データフローグラフのデバッグを容易に行なうことができる。データフローグラフを修正する必要は全くないので、効率的にデバッグを行なうことが可能になる。しかもデバッグが終了すれば、分流指定端子２０の設定を０とすることにより、上述のデバッグのためのデータパケット出力が行なわれることはなくなり、従来のデータ駆動型プロセッサと全く同一の動作が行なえる。すなわちデバッグモードの動作と通常動作モードの動作とを容易に切換えることができる。
【００９２】
なおこの実施形態１における分流指定端子２０の設定は、上述のようにデータ駆動型プロセッサ内のみを巡回するデータパケットの複製を外部に出力する分流指定を有効にするか無効にするかを指定するための情報である。この設定は、分流指定端子２０のような外部端子だけではなく、データ駆動型プロセッサに設けられた内蔵レジスタを使用して行なうことも可能である。そのような分流指定レジスタ３０を設けた、本願発明のデータ駆動型情報処理装置の実施形態２に係るデータ駆動型プロセッサ１ａのブロック構成図を図１０に示す。
【００９３】
図１０を参照して、この実施形態２のデータ駆動型プロセッサ１ａは、図２に示すデータ駆動プロセッサ１の構成にさらに分流指定レジスタ３０を加え、この分流指定レジスタ３０に対する更新および参照処理が可能な分岐部３４を分岐部２４に代えて新たに含む点が特徴である。
【００９４】
分岐部３４は、特定の命令に応答して分流指定レジスタ３０に値を格納させる機能をさらに含むこと以外には、図２および図４に示す分岐部２４と同様の構成を有する。
【００９５】
分流指定レジスタ３０の値は、データ駆動型プロセッサを初期化する際にソフトウェア的に設定可能である。たとえば分流指定レジスタ３０の設定を０とすれば図１３に示す従来のデータ駆動型プロセッサと全く同一の動作を行なう。分流指定レジスタ３０の設定を１とすれば、データ駆動型プロセッサ１ａ内を巡回していたデータパケットの複製が出力処理部１５から外部に出力され、デバッグに使用できる。この分岐部３４および出力処理部１５の動作は実施形態１と同様であるので、ここではその詳細については繰返さない。
【００９６】
以上のように本願発明の実施形態に係るデータ駆動型プロセッサによれば、分岐部２４および３４が、引続き本体処理部１３で演算を行なうデータパケットを合流部１２を介して本体処理部１３に与えるとともに、その複製のデータパケットを出力処理部１５を介して外部に出力する。そのため外部では処理途中の中間結果を確認することができ、期待値と比較することによってデータフローグラフのデバッグを容易に行なうことができる。デバッグに際して、従来のようにデータフローグラフを修正する必要がなく、効率的なデバッグを行なうことが可能になる。また分流設定端子２０および分流指定レジスタ３０の設定を通常動作を示す値とすることにより、従来と全く同一の動作に切り替えることが容易に行なえる。
【図面の簡単な説明】
【図１】本願発明の実施形態１に係るデータ駆動型プロセッサを含む映像信号処理向きデータ駆動型情報処理システムのブロック構成図である。
【図２】本願発明の実施形態１に係るデータ駆動型プロセッサのブロック構成図である。
【図３】図２に示すデータ駆動型プロセッサの分岐部の機能的構成を模式的に示す図である。
【図４】分岐部の構成をより具体的に示す回路ブロック図である。
【図５】分岐部の動作を示すタイミングチャートである。
【図６】分岐部の動作を示すタイミングチャートである。
【図７】分岐部の動作を示すタイミングチャートである。
【図８】分岐部の動作を示すタイミングチャートである。
【図９】実施の形態１のデータ駆動型プロセッサによるデータパケットの出力の態様を模式的に示す図である。
【図１０】本願発明の実施形態２に係るデータ駆動型プロセッサのブロック構成図である。
【図１１】従来のデータ駆動型プロセッサを含む映像処理向きデータ駆動型情報処理システムのブロック構成図である。
【図１２】データパケットのフィールド構成を模式的に示す図である。
【図１３】従来のデータ駆動型プロセッサのブロック構成図である。
【図１４】従来のデータ駆動型プロセッサの分岐部の機能的構成を示す図である。
【図１５】従来のデータ駆動型プロセッサの分岐部の回路ブロック図である。
【図１６】４つのデータ駆動型プロセッサを含むシステムの構成図である。
【図１７】データフローグラフの一例を示す図である。
【図１８】従来のプロセッサによるデータパケットの出力の態様を示す図である。
【図１９】デバッグのために修正されたデータフローグラフを模式的に示す図である。
【図２０】従来のデータ駆動型プロセッサにおいてデバッグ用に修正されたデータフローグラフを実行した場合のデータパケットの出力の態様を模式的に示す図である。
【符号の説明】
１、１ａ  データ駆動型プロセッサ
１２  合流部
１３  本体処理部
１４、２４、３４  分岐部
１５  出力処理部
２０  分流指定端子
３０  分流指定レジスタ
４２  一致判定回路
４４、４６、４８、５０  転送制御素子
【図１】
0003618419.tif 000002
【図２】
0003618419.tif 000003
【図３】
0003618419.tif 000004
【図４】
0003618419.tif 000005
【図５】
0003618419.tif 000006
【図６】
0003618419.tif 000007
【図７】
0003618419.tif 000008
【図８】
0003618419.tif 000009
【図９】
0003618419.tif 000010
【図１０】
0003618419.tif 000011
【図１１】
0003618419.tif 000012
【図１２】
0003618419.tif 000013
【図１３】
0003618419.tif 000014
【図１４】
0003618419.tif 000015
【図１５】
0003618419.tif 000016
【図１６】
0003618419.tif 000017
【図１７】
0003618419.tif 000018
【図１８】
0003618419.tif 000019
【図１９】
0003618419.tif 000020
【図２０】
0003618419.tif 000021