JP3618419B2 - データ駆動型情報処理装置 - Google Patents

データ駆動型情報処理装置 Download PDF

Info

Publication number
JP3618419B2
JP3618419B2 JP24149795A JP24149795A JP3618419B2 JP 3618419 B2 JP3618419 B2 JP 3618419B2 JP 24149795 A JP24149795 A JP 24149795A JP 24149795 A JP24149795 A JP 24149795A JP 3618419 B2 JP3618419 B2 JP 3618419B2
Authority
JP
Japan
Prior art keywords
data
output
data packet
processor
transfer control
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
Application number
JP24149795A
Other languages
English (en)
Other versions
JPH0981540A (ja
Inventor
眞一 芳田
剛司 村松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP24149795A priority Critical patent/JP3618419B2/ja
Priority to US08/718,258 priority patent/US5913055A/en
Publication of JPH0981540A publication Critical patent/JPH0981540A/ja
Application granted granted Critical
Publication of JP3618419B2 publication Critical patent/JP3618419B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Multi Processors (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データフローグラフを実行するデータ駆動型情報処理装置に関し、特に、実行すべきデータフローグラフのデバッグを容易に行なうことができるデータ駆動型情報処理装置に関する。
【0002】
【従来の技術】
データ駆動型プロセッサでは、「ある処理に必要なデータがすべて揃い、かつ、その処理に必要な演算処理のための資源が割当てられたときに処理を行なう」という単純な規則に従って処理が並列に進行する。データは、その宛先情報とともにデータパケットにより伝送される。
【0003】
図11に、従来の映像信号処理向きデータ駆動型情報処理システムのブロック構成図を示す。図11を参照して、この従来のシステムは、データ駆動型プロセッサ61と、画像メモリ部11とを含む。画像メモリ部11は、メモリインタフェース2と画像メモリ3とを含む。
【0004】
データ駆動型プロセッサ61は、入力ポートIA、IBおよびIVと、出力ポートOA、OBおよびOVとを含む。入力ポートIAおよびIBには、伝送路7および8がそれぞれ接続され、処理されるべき映像信号を含むデータパケットが与えられる。入力ポートIVには伝送路5が接続され、画像メモリ部11において行なわれる画像メモリ3に対するアクセス結果を含むデータパケットが与えられる。出力ポートOAおよびOBには伝送路9および10がそれぞれ接続され、当該システムにおいて行なわれた処理結果データを含むデータパケットが出力される。出力ポートOVには伝送路4が接続され、画像メモリ部11をアクセスするためのデータを含むデータパケットがメモリインタフェース2に対して送出される。
【0005】
メモリインタフェース2および画像メモリ3はメモリアクセス制御線6を介して相互に接続されている。このメモリアクセス制御線6上を伝送されるデータもデータパケットである。
【0006】
図12に、図11に示されるシステム内のデータ伝送路7〜10を介して伝送されるデータパケットのフィールド構成の例を示す。プロセッサ61に対して入出力されるデータパケット120は、プロセッサ内での処理の内容を示す命令コード122と、当該データパケットを処理すべきデータ駆動型プロセッサをシステム内で一意に指定するためのプロセッサ番号124と、当該データパケットを処理すべきプロセッサ上で実行されるべき命令を一意に指定するためのノード番号126と、データ伝送路7または8からプロセッサ61に対して入力される時点において、入力時系列の順序に従ってつけられている識別子である世代番号128と、データ130とを含む。世代番号128は、プロセッサ61においてはデータの待合せの際に利用され、メモリインタフェース2に対しては、画像メモリ3に対するアドレスとしての意味を持つ。
【0007】
なお図12に示されるように、この例では命令コード122と、プロセッサ番号124と、ノード番号126と、世代番号128と、データ130とはそれぞれ8ビット、9ビット、6ビット、24ビット、12ビットというビット長を有するが、これら各フィールドのビット長と、またデータパケット全体のパケット長とは、これ以外の値もとり得る。
【0008】
データ処理時には図11に示すシステムは次のように動作する。入力ポートIAまたはIBを介して、世代番号を持つ信号入力パケットが時系列的にプロセッサ61に与えられる。プロセッサ61は、予め映像処理のためのデータフロープログラムを記憶している。プロセッサ61は、与えられるデータをこのプログラムに基づいて処理し、処理結果を出力ポートOAまたはOBのいずれか一方のポートを介して送出する。
【0009】
画像メモリ3に対するアクセス(画像メモリ3に記憶されたデータの参照/更新など)が必要となった場合には、プロセッサ61の出力ポートOVを介して、画像メモリ部11に、画像メモリ3に対するアクセス要求を格納したデータパケットが送出される。メモリインタフェース2は、このアクセス要求を受取るとメモリアクセス制御線6を介して画像メモリ3に対してアクセスを行ない、その結果データを格納したデータパケットを伝送路5を介してプロセッサ60の入力ポートIVに与える。プロセッサ60は、入力ポートIVを介して与えられたデータパケットを受取り、前述のデータフロープログラムに基づいて処理を続行する。
【0010】
図13に、従来の映像処理向きデータ駆動型システムで使用されるデータ駆動型プロセッサ61のブロック構成図を示す。図13を参照して、従来のデータ駆動型プロセッサ61は、その入力端に入力ポートIAおよびIBが接続される入力処理部17と、合流部12と、データフロープログラムを記憶し、それに基づいて処理を実行する本体処理部13と、分岐部14と、その出力端に出力ポートOAおよびOBが接続される出力処理部15と、ネットワークを組むシステム内で当該プロセッサ61を一意に識別するための識別番号PE#を記憶するためのPE#レジスタ16と、データパケットを出力ポートOAおよびOBのいずれに送出するかを決定するための分岐条件が格納された分岐制御パラメータレジスタ群18とを含む。
【0011】
入力処理部17は、入力ポートIAまたはIBを介して入力されるデータパケットを受け、当該入力パケット中のプロセッサ番号とPE#レジスタ16の内容とを比較して、比較結果に従ってデータパケットを合流部12または出力処理部15に選択的に与えるためのものである。より具体的には、入力処理部17は、入力データパケット中のプロセッサ番号とPE#レジスタ16の内容とが一致した場合にはこのデータパケットを自プロセッサ宛のパケットと判断し、合流部12に与える。そうでない場合には入力処理部17は、当該パケットを他のプロセッサ宛のパケットであると判断し、当該入力パケットを出力処理部15に与える。
【0012】
合流部12は、入力処理部17から与えられるデータパケットと、後述する分岐部14から与えられるデータパケットとを合流させ、本体処理部13に与えるためのものである。本体処理部13は、合流部12から与えられるデータパケットを、所定のデータフロープログラムに従って処理するためのものである。この際仮に画像メモリ3(図11参照)に対するアクセスが必要な場合には、本体処理部13は出力ポートOVを介して画像メモリ部11に処理パケットを送出する。画像メモリ部11において処理された結果のデータパケットは、入力ポートIVを介してデータ駆動型プロセッサ61に受取られる。
【0013】
分岐部14は、本体処理部13から出力されるデータパケットを受け、当該データパケット内のプロセッサ番号と、PE#レジスタ16の内容とが一致するか否かに従って、当該データパケットを出力処理部15または合流部12に選択的に与えるためのものである。より具体的には、分岐部14は、入力されたデータパケットのプロセッサ番号とPE#レジスタ16の内容とが一致すれば、当該データパケットを合流部12に与える。さもなければ分岐部14は当該入力データパケットを出力処理部15に与える。
【0014】
出力処理部15は、分岐部14または入力処理部17から与えられるデータパケットを受け、当該入力データパケット中のプロセッサ番号または世代番号を参照して、予め分岐制御パラメータレジスタ群18に設定された分岐条件に従って、出力ポートOAまたはOBのいずれか一方に選択的にデータパケットを出力するためのものである。
【0015】
上述の図13に示すような構成を有するデータ駆動型プロセッサはたとえば、特開平6−162228号公報に開示されている。同公報に開示されたデータ駆動型プロセッサ装置では、IDパラメータレジスタ(PE)と、分岐比較データパラメータレジスタ(RD)と、分岐比較マスクパラメータレジスタ(RM)の3種のレジスタが分岐制御パラメータレジスタ群18として用意されている。このうち、IDパラメータレジスタ(PE)は、図13に示すPE#レジスタ16と等価であると考えられるので、図13に示される装置は特開平6−162228号公報に示されているデータフロープロセッサ装置と同等であり、分岐制御パラメータレジスタ群18としては、分岐比較データパラメータレジスタと分岐比較マスクパラメータレジスタとの2種類のレジスタがあれば十分であると考えられる。特開平6−162228号公報に従えば、分岐条件は次の式で表わされる。
【0016】
(RM.and.pe#).exor.(RM.and.RD)…(1)
なお式(1)において、RMおよびRDはそれぞれ、分岐比較マスクパラメータレジスタRMおよび分岐比較データパラメータレジスタRDに格納されている値である。また、pe#は、出力処理部15に対する当該入力パケット中のプロセッサ番号である。演算子andおよびexorはそれぞれ、ビットごとの論理積およびビットごとの排他的論理和を表わす。
【0017】
exor演算に対する非演算子(RM.and.pe#)と(RM.and.RD)とが一致すると、式(1)の値は0となる。この場合出力処理部15は、入力されたデータパケットを出力ポートOAを介して伝送路9上に出力する。exor演算に対する被演算子(RM.and.pe#)と(RM.and.RD)とが不一致の場合、式(1)の結果は0とはならない。この場合には出力処理部15は、入力されたデータパケットを出力ポートOBを介して伝送路10上に出力する。
【0018】
図14に、従来のデータ駆動型プロセッサ61の分岐部14の機能的な構成を示す。図14を参照して、分岐部14は、本体処理部13から与えられるデータパケット中のプロセッサ番号と、PE#レジスタ16の内容とを比較し、その判定結果を出力するための分岐先判定部142と、分岐先判定部142の出力によって制御され、本体処理部13から与えられるデータパケットを一方端子aを介して合流部12に、または他方端子bを介して出力処理部15に選択的に出力するためのセレクタ141とを含む。
【0019】
たとえば分岐先判定部142は、データパケット中のプロセッサ番号とPE#レジスタ16の内容とが一致した場合には「1」を、不一致のときには「0」をセレクタ141に与える。セレクタ141は、分岐先判定部142の出力が「1」のときにはデータパケットを合流部12に与え、「0」のときには出力処理部15に与える。
【0020】
図15に、従来の分岐部14のより具体的な構成を、合流部12および出力処理部15の関連部分とともに示す。図15を参照して、分岐部14は、データパケットが伝搬するパイプラインを構成するデータ伝送路72、74、76およびデータラッチ回路54、56を含む。データ伝送路72の入力側は本体処理部13内のデータラッチ回路(図示せず)に接続されている。データ伝送路76は分岐し、合流部12のデータラッチ回路60の入力と、出力処理部15内のデータラッチ回路58の入力とに接続されている。
【0021】
分岐部14はさらに、これらデータラッチ回路54、56によるデータのラッチのタイミングを制御するための転送制御素子44および46を含む。同様に合流部12は転送制御素子50を、出力処理部15は転送制御素子48をそれぞれ含む。転送制御素子44、46、48および50はそれぞれ、データラッチ回路54、56、58および60によるデータのラッチのタイミングを制御するためのクロックパルスを生成し、それぞれ対応のデータラッチ回路に与えるためのものである。各転送制御素子44、46、48、50は、データ保持信号CIの入力と、データ保持信号CO*(本願明細書では以下、図において信号名上に付されたオーバーバーを「*」で表わすものとする。)の出力と、後段からの空き信号RIの入力と、前段への空き信号RO*の出力とを有している。転送制御素子44、46、48、50はそれぞれ、データ保持信号CO*、CI、空き信号RO*、RIを前段および後段の転送制御素子と交信することにより、データラッチ上のデータの伝搬を制御する。
【0022】
分岐部14はさらに、本体処理部13からデータラッチ回路54を介して与えられるデータパケット内のプロセッサ番号と、PE#レジスタ16の内容とを比較し、一致した場合は「1」を、不一致の場合には「0」となる信号をデータラッチ回路56の入力に与える一致判定回路42と、転送制御素子46のCO*出力に入力が接続されたインバータ90と、インバータ90の出力に一方入力が、データラッチ回路56を介して一致判定回路42の出力に他方入力が接続されたNAND回路82と、データラッチ回路56を介して一致判定回路42の出力に入力が接続されたインバータ92と、インバータ90および92にそれぞれ接続された2つの入力を有するNAND回路86と、転送制御素子50および48の出力OR*にそれぞれ接続された2つの入力を有するAND回路88とを含む。NAND回路82の出力は転送制御素子50の入力CIに接続される。NAND回路86の出力は転送制御素子48の入力CIに接続される。
【0023】
図15に示す分岐部14の動作について簡単に説明する。まず、本体処理部13からのデータパケット内のプロセッサ番号とPE#レジスタ16の内容とが一致する場合を考える。一致判定回路42の出力はハイレベルとなる。また、転送制御素子44、46、50および48から出力されている信号CO*およびRO*がいずれもハイレベルであるものとする。この場合転送制御素子46への空き信号RIはハイレベルとなっている。このように後段からの空き信号RIがハイレベルとなっている場合、後段では前段からのデータを受けることが可能であることを示す。逆に後段からの空き信号RIがローレベルであれば、後段ではデータを受信する準備ができていないことを示す。
【0024】
転送制御素子46への前段からのデータ保持信号CIがローレベルに立下がると、転送制御素子46は前段に与える空き信号RO*をローレベルに立下げる。前段の転送制御素子44は、転送制御素子46から与えられる空き信号RIがローレベルとなったことに応答して、データ保持信号CO*をハイレベルに立上げる。転送制御素子46は、データ保持信号CIがハイレベルに立上がったことに応答して、データラッチ56に対してクロックパルスCPを立上げるとともに、空き信号RO*をローレベルに立下げる。データラッチ回路56は、クロックパルスの立上りに応答してデータラッチ回路54および一致判定回路42の出力をラッチする。
【0025】
さらに転送制御素子46は、ラッチパルスCPの立上がりに応答してデータ保持信号CO*をローレベルに立下げる。インバータ90の出力はローレベルからハイレベルに立上がる。前述のように一致判定回路42の出力はハイレベルであるため、NAND回路82の出力はハイレベルからローレベルに立下がる。転送制御素子50は、データ保持信号CIがローレベルとなったことに応答して、空き信号RO*をハイレベルからローレベルに立下げる。
【0026】
一方インバータ92の出力はローレベルであるため、NAND回路86の出力は、インバータ90の出力にかかわらず常にハイレベルである。転送制御素子48は動作せず、その空き信号RO*はハイレベルのままである。
【0027】
AND回路88の出力は、転送制御素子50の空き信号RO*がローレベルとなったことに応答してローレベルとなる。転送制御素子46は、空き信号RIがローレベルとなったことに応答してラッチパルスCPをローレベルに立下げるとともに、データ保持信号CO*をローレベルからハイレベルに立上げる。転送制御素子50はこれに応答してデータラッチ回路60へのクロックパルスを立ち上げてデータをラッチさせるとともに、空き信号RO*を再びハイレベルに立上げ、それによって転送制御素子46の空き信号RIもハイレベルに立上がる。このとき転送制御素子48は動作しない。すなわち、この場合、分岐部14でデータラッチ回路56にラッチされたデータは、合流部12のデータラッチ回路60のみにラッチされ、出力処理部15のデータラッチ回路58にはラッチされない。
【0028】
一方、一致判定回路42の出力が不一致を示す値、すなわち「0」である場合には、分岐部14内の各回路の動作は上述とは逆になり、データラッチ回路56のデータは出力処理部15のデータラッチ回路58のみにラッチされ、合流部12のデータラッチ回路60にはラッチされない。
【0029】
したがって一致判定回路42による判定結果に従って、分岐部14がデータを合流部12と出力処理部15とに選択的に出力させることとなり、データの分岐が実現できる。
【0030】
図16は、4台の映像処理向きデータ駆動型プロセッサ61を用いたシステムの構成例である。図16を参照して、このシステムの4つのプロセッサ61にはそれぞれ、当該プロセッサを一意に識別するための識別番号PE#0、PE#1、PE#2およびPE#3が割当てられる。これら識別記号0〜3は、それぞれのプロセッサ61のPEレジスタ16に格納される(図10参照)。以下、各プロセッサ61に割当てられた識別番号を用いてプロセッサを特定しながら説明する。
【0031】
図16に示すシステムにおいては、どのプロセッサからも他の任意のプロセッサにデータパケットを与えることができるようにネットワークが形成されている。たとえばプロセッサPE#0からプロセッサPE#1にデータパケットを与える場合を考える。この場合まず、プロセッサPE#0の出力ポートOAから、図12に示すプロセッサ番号124を目標のプロセッサPE#1の識別番号に設定したデータパケットを出力する。当該データパケットは、一旦プロセッサPE#3の入力ポートIAに与えられる。当該データパケットはその後、プロセッサPE#3の出力ポートOAから出力され、目標のプロセッサPE#1の入力ポートIAに与えられる。
【0032】
こうしたネットワークを構成するには、各プロセッサの分岐制御パラメータレジスタ群のRM、RDを、図16に示すように設定すればよい。各プロセッサでの出力ポートの選択の判定には、上述の式(1)が用いられるものとする。
【0033】
図16に示される例では、各プロセッサでの出力ポートの選択は次のように行なわれる。
【0034】
プロセッサPE#0では、出力データパケット中のプロセッサ番号124の最下位ビットが1であれば出力ポートOAを選択し、それ以外の場合には出力ポートOBを選択する。プロセッサPE#1では、データパケット中のプロセッサ番号124の最下位ビットが0であれば出力ポートOAを選択し、他の場合には出力ポートOBを選択する。プロセッサPE#2およびプロセッサPE#3では、データパケット中のプロセッサ番号124が0〜3であれば出力ポートOAを選択し、それ以外の場合には出力ポートOBを選択する。
【0035】
図17に、データ駆動型プロセッサで実行される一例として簡単なフローグラフを示す。図17に示すデータフローグラフは、入力データをxとしたとき、y=(x+2)(x−1)を求めるプログラムである。
【0036】
図17を参照して、このデータフローグラフは入力ノード102と、入力ノード102から与えられるデータを複製して2つに分岐させるコピーノード104と、コピーノード104から与えられるデータに「2」を加算する「+」ノード106と、コピーノード104から与えられるデータから1を減算する「−」ノード108と、「+」ノード106および「−」ノード108から与えられるデータを乗算するための「*」ノード110と、ノード110からのデータが与えられる出力ノード112とを含む。このデータフローグラフによれば、出力ノード112にはy=(x+2)(x−1)が得られるはずである。
【0037】
このデータフローグラフを実行するシステムの構成例を図18に示す。図18は、1台の映像処理向きデータ駆動型プロセッサ60を用いている。このプロセッサ60には、識別番号PE#0が割当てられている。このプロセッサPE#0に、図17に示す簡単なデータフローグラフを割当てた場合の、プロセッサPE#0の動作について説明する。
【0038】
プロセッサPE#0の入力ポートIAに、入力データ値xを格納したデータパケットが与えられる。このデータパケットのプロセッサ番号124(図12)は、プロセッサPE#0の識別番号である。また図12に示す命令コード120はコピーノードに対応するコピー命令である。
【0039】
データパケットは図13を参照して、入力処理部17に与えられる。入力処理部17は、当該データパケットが自プロセッサを宛先とすると判断し、このデータパケットを合流部12を経て本体処理部13に与える。本体処理部13では、入力データパケットにより「コピー」ノードに対応する処理が実行され、結果として入力データパケットとその複製とが出力される。この2つのデータパケットのノード番号は、それぞれ図17に示す「+」演算と「−」演算とを表わしている。またそれぞれのデータパケットのプロセッサ番号124(図12参照)は共にプロセッサPE#0を表わしている。
【0040】
複製後の2つのデータパケットは本体処理部13から出力され、分岐部14に与えられる。分岐部14は、入力されたデータパケットのいずれについても、そのプロセッサ番号124(図12参照)がPE#レジスタ16の内容と一致しているため、これらデータパケットを合流部12に与える。このデータパケットは再び本体処理部13に与えられ、それぞれ「+」と「−」の演算が実行される。
【0041】
この演算後の2つのデータパケットはともにノード番号126(図12参照)に「*」ノードが設定され、本体処理部13から出力される。プロセッサ番号124(図12参照)にはプロセッサPE#0を表わす値が格納される。「+」と「−」演算の実行の結果生成された2個のデータパケットはいずれも本体処理部13から分岐部14に与えられる。
【0042】
分岐部14は、入力された2個のデータパケットともそのプロセッサ番号124が自プロセッサ番号と一致するため、いずれのデータパケットも合流部12に与える。合流部12を経たこれらデータパケットは再び本体処理部13に与えられ、「*」ノードの左右の入力としてマッチングされて「*」演算が実行される。
【0043】
「*」演算実行後のデータパケットには、プロセッサ番号としてたとえば「PE#1」が付与されるように、本体処理部13(図13参照)はプログラミングされているものとする。このデータパケットは、本体処理部13から分岐部14に与えられる。分岐部14は、入力されたデータパケットのプロセッサ番号124が自プロセッサ番号と一致しないため、このデータパケットを出力処理部15に与える。出力処理部15は、前述のように分岐制御パラメータレジスタ群の設定内容に従って出力ポートを決定する。図18に示すようにレジスタが設定されている場合、データパケット内のプロセッサ番号124に「PE#1」が設定されている場合には当該データパケットは出力ポートOAから出力されることになる。
【0044】
【発明が解決しようとする課題】
上述のように図17に示されるデータフローグラフを図18に示すデータ駆動型プロセッサで実行した場合に、出力結果が正しく得られない場合がある。その原因としては、データフローグラフの記述ミスなどが考えられる。このような場合、データフローグラフのデバッグを行なう必要が生じる。
【0045】
従来、データフローグラフをデバッグする1つの方法として、実行途中の演算結果を出力させるようにデータフローグラフを修正し、そのようにして得られた実行途中の演算結果が期待どおりのものかどうかを調べる方法がある。図19に、デバッグのために図17に示すデータフローグラフを修正した例を示す。
【0046】
図19を参照して、この例では「+」演算と「−」演算との結果をいずれもプロセッサPE#0外に出力させるような修正が行なわれている。 すなわち、図19に示すように、データフローグラフを修正し、新たに2つのデバッグ用出力ノード114および116を設ける。これらデバッグ用出力114および116にはそれぞれ、「+」ノード106の出力と、「−」ノード108の出力とが、「*」ノード110とは別に出力される。
【0047】
こうして、図20に示すように、たとえば出力ポートOBに出力ノード114および116からのデータパケットが出力されるようにし、このデータパケットの内容を調べることができる。プロセッサ外に出力されたそれぞれの結果を期待値と比較することにより、データフローグラフのどの部分に誤りがあるかを調べることができる。
【0048】
図17に示した例は非常に簡単なデータフローグラフであるため、デバッグを行なうようにこのデータフローグラフを修正することはそれほど困難ではない。しかし、実用的な目的のために使用されるデータフローグラフははるかに複雑であり、どの部分の中間結果を出力すれば容易にデバッグできるのかがよくわからない場合が通常である。デバッグを容易に行なえるような中間結果を得るために、試行錯誤的にデータフローグラフを何度も修正することが多い。このため、従来のシステムではデータフローグラフのデバッグの効率が悪く、システムの構築に長時間を要するという問題が生じていた。
【0049】
それゆえに、請求項1に記載の発明は、データフローグラフのデバッグを容易にかつ効率的に行なうことができるデータ駆動型情報処理装置を提供することを目的とする。また請求項2または3に記載の発明は、テスト時にはデータフローグラフのデバッグを容易かつ効率的に行なえるように動作するとともに、テスト時以外には通常と同様の動作を行なうような切換が容易にできるデータ駆動型情報処理装置を提供することを目的とする。
【0050】
【課題を解決するための手段】
請求項1に記載のデータ駆動型情報処理装置は、データパケットを受ける入力ポートと、データパケットを出力するための出力ポートと、入力ポートを介して入力されたデータパケットを処理するための処理手段と、処理手段により出力されたデータパケットを、引続き処理手段で処理すべきか、または外部に出力すべきかを判定する際に利用される情報を格納するための格納手段と、処理手段により出力されたデータパケットを処理手段により引続き処理すべきか、または外部に出力すべきかを、当該データパケットの内容と、格納手段に格納された情報とに従って判定し、判定結果に従ってデータパケットを処理手段と出力ポートとのいずれかに分岐させるための分岐手段とを含み、分岐手段は、データパケットを処理手段により引続き処理すべきと判定したときには、当該データパケットの複製を作成し出力ポートに与える複製機構を有することを特徴とする。
【0051】
請求項2に記載のデータ駆動型情報処理装置は、請求項1に記載のデータ駆動型情報処理装置であって、分岐手段は、外部から与えられる分流指定信号に従って、複製機構を可能化し、または不能化するための機構をさらに有することを特徴とする。
【0052】
請求項3に記載のデータ駆動型情報処理装置は、請求項1に記載のデータ駆動型情報処理装置であって、分岐手段は、分流指定情報を保持するための記憶手段と、記憶手段に保持された分流指定情報に従って、複製機構を可能化し、または不能化するための機構とをさらに有することを特徴とする。
【0053】
いずれの請求項に記載のデータ駆動型情報処理装置においても、データパケットを引続き処理手段で処理すべきと判定された場合には、そのデータパケットの複製を複製機構が作成し、出力ポートを介して外部に出力する。通常であれば内容を知ることができない、内部のみを巡回するデータパケットの内容をデータフローグラフを変更することなく確認することができるので、データフローグラフのデバッグが容易になる。
【0054】
また請求項2または3に記載のように、外部から分流指定信号を与え、または分流指定情報を保持する記憶手段を設け、分流指定信号または分流指定情報に応じて、複製機構を可能化し、または不能化することにより、テスト時には外部に複製データパケットを出力し、通常動作時にはそのようなデータパケットを作成しないようにすることが容易にできる。
【0055】
【発明の実施の形態】
以下、本願発明の実施形態を詳細に説明する。
【0056】
図1に、本願発明のデータ駆動型情報処理装置の実施形態1に係るデータ駆動型プロセッサ1を含む映像信号処理向きデータ駆動型情報処理システムのブロック構成図を示す。図1に示すシステムは図11に示す従来のデータ駆動型プロセッサ61を用いたシステムとは、データ駆動型プロセッサ61に代えて本願発明に係るデータ駆動型プロセッサ1を使用している点を除いて同じである。したがってここでは以下に述べるデータ駆動型プロセッサ1の詳細な説明を除き、他の部分については詳細な説明は繰返さない。
【0057】
図1に示されるように、データ駆動型プロセッサ1に対しては、データ駆動型プロセッサ1をデバッグモードで動作させるか、通常動作モードで動作させるかを外部で設定するための分流指定信号を与える分流指定端子20が設けられている。以下に述べる実施形態では、分流指定端子20の信号が「0」であれば図11および図13に示す従来のデータ駆動型プロセッサ60と全く同一の動作を行なう。分流指定端子20の設定が「1」であれば、このデータ駆動型プロセッサ1は、従来はデータ駆動型プロセッサ1の内部のみで処理されていたデータパケットの複製を出力ポートOAまたはOBのいずれか一方に出力するようになっている。そうした動作に必要な構成について図2以下を参照して説明する。
【0058】
図2を参照して、本願発明の実施形態1に係るデータ駆動型プロセッサ1は、図13に示す従来のデータ駆動型プロセッサ61とほぼ同様であるが、図13に示す分岐部14に代えて、分流指定端子20からの分流指定信号に従って、デバッグモードの動作と、通常動作時の動作とを切換えて行なう分岐部24を含むことを特徴とする。データ駆動型プロセッサ1のその他の部分の構成は、図13に示す従来のデータ駆動型プロセッサ61のものと同一である。図2と図13とにおいて、対応する部品には同一の参照符号を付し、それらの詳細な説明はここでは繰返さない。
【0059】
図3を参照して、分岐部24は、機能的には、合流部12に接続される出力端子a、出力処理部15に接続される出力端子b、ならびに合流部12および出力処理部15の双方に接続される出力端子cを有し、本体処理部13から与えられるデータパケットを、制御信号に応答してこれら3つの出力端子のいずれかに与えるためのセレクタ241と、分流指定端子20に接続され、分流指定端子20の設定が1の場合にはセレクタ241を制御して本体処理部13から与えられるデータパケットを出力端子cに与えるようにし、分流指定端子20の設定が0の場合には図14に示す分岐先判定部142と同様に動作する分岐先判定部242とを含む。
【0060】
この分岐部24によれば、分流指定端子20の設定が1の場合には、本体処理部13から与えられたデータパケットは合流部12と出力処理部15との双方に与えられる。また分流指定端子20の設定が0の場合には、本体処理部13から与えられるデータパケットのプロセッサ番号とPE#レジスタ16の内容とを比較し、一致すればデータパケットを出力端子aを介して合流部12へ、不一致であれば出力端子bを介して出力処理部15にそれぞれ与えるように動作する。
【0061】
図4に、図2に示す本願発明の実施形態1のデータ駆動型プロセッサ1に使用される分岐部24のより具体的な構成を、合流部12および出力処理部15の一部とともに示す。図4と図15とにおいて、同一の部品には同一の参照符号および名称が与えられており、それらの機能も同一である。したがってここではそれらについての詳しい説明は繰返さない。
【0062】
図4に示される分岐部24が図15に示す従来の分岐部14と異なるのは、インバータ92の出力とNAND回路86の入力との間に、OR回路84が挿入されていることである。OR回路84の他方の入力は分流指定端子20に接続されている。OR回路84の出力はNAND回路86の入力に接続されている。その他の点では、図4の分岐部24は図15に示す従来の分岐部14と全く同じである。
【0063】
このOR回路84を設けたことにより、分流指定端子20の設定が1であるときには分岐部24はデバッグモードで動作し、分流指定端子20が0に設定されているときには従来の分岐部14と同様に動作する。デバッグモードにおいては、データパケットが合流部12に向けて分岐される場合には、そのデータパケットの複製が出力処理部15にも出力されることになる。以下、その動作を説明する。
【0064】
まず図4を参照して、分流指定端子20が0に設定されている場合を考える。この場合分岐部24は、図15に示す分岐部14と全く同様に動作することは明らかである。まず最初に、本体処理部13から与えられるデータパケットのプロセッサ番号124と、PE#レジスタ16の内容とが一致する場合について考察する。この場合一致判定回路42の出力がハイレベル(図5(B))、したがってインバータ92の出力はローレベル(図5(C))となる。分流指定端子20がローレベルに設定されているため、OR回路84の出力はローレベルとなる。
【0065】
図5に示すように、初期状態として転送制御素子46に入力されているデータ保持信号CIと空き信号RI、転送制御素子46から出力されているデータ保持信号CO*および空き信号RO*はすべてハイレベルであるものとする。このとき、転送制御素子50へのデータ保持信号CIおよび転送制御素子50からの空き信号RO*もハイレベルである。また転送制御素子48へのデータ保持信号CIおよび転送制御素子48からの空き信号RO*もハイレベルである。転送制御素子46からデータラッチ56への信号CPはローレベルである。
【0066】
まず、図5(D)に示すように、転送制御素子46へのデータ保持信号CIがハイレベルからローレベルに立下がる。これに応答して転送制御素子46は、転送制御素子44への空き信号RO*をハイレベルからローレベルに立下げる(図5(E))。するとこれに応答して、転送制御素子44はその出力するデータ保持信号CO*(転送制御素子46へのデータ保持信号CI)を再びハイレベルに立上げる。
【0067】
転送制御素子46は、データ保持信号CIがハイレベルに立上がったことに応答して、データラッチ56に対してクロックパルスCPを与える。すなわち転送制御素子46からデータラッチ56へのクロックパルスCPはハイレベルに立上がる(図5(F))。同じく転送制御素子46は、転送制御素子44への空き信号RO*を再びハイレベルに立上げる(図5(E))。
【0068】
そしてクロックパルスCPがハイレベルに立上がったことに応答して転送制御素子46は、次段へのデータ保持信号CO*をハイレベルからローレベルに立下げる(図5(G))。NAND回路82に対してデータラッチ回路56を介して一致判定回路42から与えられる信号はハイレベルであり、したがってNAND回路82は、転送制御素子46の出力の変化をそのまま合流部12の転送制御素子50にデータ保持信号CIとして与える(図5(I))。
【0069】
またNAND回路86に対して分流指定端子20からローレベルの信号が与えられており、インバータ92の出力もローレベルであるため、NAND回路86の出力はハイレベルのままとなる(図5(K))。
【0070】
転送制御素子50は、図5(J)に示すように、その出力する空き信号RO*をハイレベルからローレベルに立下げて(図5(F))データラッチ回路60に対してデータラッチのためのクロックパルスを与える。これによりデータラッチ回路60に、データラッチ回路56のラッチデータが伝送されることになる。一方データラッチ回路58は動作しない。
【0071】
転送制御素子50の出力する空き信号RO*がハイレベルからローレベルに変化すると、転送制御素子46への空き信号RIもハイレベルからローレベルに変化する(図5(H))。転送制御素子46は、入力される空き信号RIがハイレベルからローレベルになったことに応答して、クロックパルスCPを再びローレベルに立下げる(図5(F))とともに、その出力するデータ保持信号CO*をハイレベルに立上げる(図5(G))。これにより転送制御素子50に与えられるデータ保持信号CIもローレベルからハイレベルに立上がる(図5(I))。その結果転送制御素子50の出力する空き信号RO*は再びハイレベルに立上がる(図5(J))。
【0072】
続いて次のデータパケットに対して一致判定回路42による一致判定が行なわれるとともに、転送制御素子46へのデータ保持信号CIがローレベルに立下げられ、次の転送サイクルが開始されることになる。
【0073】
続いて図6を参照して、一致判定回路42において、本体処理部13から与えられたデータパケットのプロセッサ番号とPE#レジスタ16の内容とが一致していないと判定された場合の分岐部24の動作について考える。この場合一致判定回路42の出力はローレベル、したがってインバータ92の出力はハイレベルとなる。インバータ92の出力がハイレベルとなるためNAND回路86に対してOR回路84から与えられる信号もハイレベルとなる。したがってNAND回路86は、インバータ90を介して転送制御素子46から与えられるデータ保持信号CO*の波形変化をそのまま次段の転送制御素子48にデータ保持信号CIとして与える。
一方、NAND回路82に対してデータラッチ回路56を介して一致判定回路42から与えられる信号はローレベルである。したがってNAND回路82は、転送制御素子46の出力するデータ保持信号CO*の値にかかわらず、合流部12の転送制御素子50に対してはハイレベルのデータ保持信号CIを与える。したがって転送制御素子46からのデータ保持信号CO*の波形変化は転送制御素子50には伝搬されない。
【0074】
その結果、図6(A)〜(H)の波形は図5の対応波形と変わらないが、図6(I)および(J)に示すように、転送制御素子50は転送制御動作を行なわない。したがって合流部12のデータラッチ回路60はデータラッチ回路56のデータをラッチすることはない。また図6(K)および(L)に示すように出力処理部15のデータラッチ回路58のみがデータラッチ回路56のデータを受取ることになり、データパケットが出力処理部15のみに出力される。
【0075】
すなわちこの場合、データパケットは出力処理部15のみに出力され、合流部12に対しては与えられないことになる。
【0076】
次に分流指定端子20が「1」に設定されている場合を考える。
まず最初に、本体処理部13から与えられるデータパケットのプロセッサ番号124と、PE#レジスタ16の内容とが一致する場合について考察する。この場合一致判定回路42の出力はハイレベル、インバータ92の出力はローレベルとなる。インバータ92の出力はローレベルであるが、分流指定端子20が1に設定されているため、OR回路84の出力は常にハイレベルである。
【0077】
図7に示すように、初期状態として転送制御素子46に入力されているデータ保持信号CIと空き信号RI、転送制御素子46から出力されているデータ保持信号CO*および空き信号RO*はすべてハイレベルであるものとする。このとき、転送制御素子50へのデータ保持信号CIおよび転送制御素子50からの空き信号RO*もハイレベルである。また転送制御素子48へのデータ保持信号CIおよび転送制御素子48からの空き信号RO*もハイレベルである。転送制御素子46からデータラッチ56へのクロックパルスCPはローレベルである。
【0078】
まず、図7(D)に示すように、転送制御素子46へのデータ保持信号CIがハイレベルからローレベルに立下がる。これに応答して転送制御素子46は、転送制御素子44への空き信号RO*をハイレベルからローレベルに立下げる(図7(E))。するとこれに応答して、転送制御素子44はその出力するデータ保持信号CO*(転送制御素子46へのデータ保持信号CI)を再びハイレベルに立上げる(図7(D))。
【0079】
転送制御素子46は、データ保持信号CIがハイレベルに立上がったことに応答して、データラッチ56に対してクロックパルスCPを与える。すなわち転送制御素子46からのデータラッチ56へのクロックパルスCPはハイレベルに立上がる(図7(F))。同じく転送制御素子46は、転送制御素子44への空き信号RO*を再びハイレベルに立上げる(図7(E))。
【0080】
そしてクロックパルスCPがハイレベルに立上がったことに応答して転送制御素子46は、次段へのデータ保持信号CO*をハイレベルからローレベルに立下げる(図7(G))。NAND回路82に対して一致判定回路42から与えられる信号はハイレベルであり、したがってNAND回路82は、転送制御素子46の出力の変化をそのまま合流部12の転送制御素子50にデータ保持信号CIとして与える(図7(I))。
【0081】
またNAND回路86に対して分流指定端子20からハイレベルの信号が与えられているため、NAND回路86も同様に転送制御素子46の出力するデータ保持信号CO*の波形変化をそのまま出力処理部15の転送制御素子48に対してデータ保持信号CIとして与える(図7(K))。
【0082】
転送制御素子48および50は、図7(J)(K)に示すように、その出力する空き信号RO*をハイレベルからローレベルに立下げて(図7(F))にデータラッチ回路58および60に対してそれぞれデータラッチのためのクロックパルスを与える。これによりデータラッチ回路58および60に、データラッチ56のラッチデータが伝送されることになる。
【0083】
転送制御素子48および50の出力する空き信号RO*のいずれか一方がハイレベルからローレベルに変化すると、転送制御素子46への空き信号RIもハイレベルからローレベルに変化する(図7(H))。転送制御素子46は、入力される空き信号RIがハイレベルからローレベルになったことに応答して、クロックパルスCPを再びローレベルに立下げる(図7(F))とともに、その出力するデータ保持信号CO*をハイレベルに立上げる(図7(G))。これにより転送制御素子50および48に与えられるデータ保持信号CIもローレベルからハイレベルに立上がる(図7(I)および(K))。その結果転送制御素子48および50の出力する空き信号RO*は再びハイレベルに立上がる(図7(J)および(L))。
【0084】
続いて次のデータパケットに対して一致判定回路42による一致判定が行なわれるとともに、転送制御素子46へのデータ保持信号CIがローレベルに立下げられ(図7(D))、次の転送サイクルが開始されることになる。
【0085】
続いて図8を参照して、一致判定回路42において、本体処理部13から与えられたデータパケットのプロセッサ番号とPE#レジスタ16の内容とが一致していないと判定された場合の分岐部24の動作について考える。この場合一致判定回路42の出力はローレベルとなり、したがってインバータ92の出力はハイレベルとなる。インバータ92の出力がハイレベルであるためNAND回路86に対してOR回路84から与えられる信号もハイレベルである。したがってNAND回路86は、転送制御素子46から与えられるデータ保持信号CO*の波形変化をそのまま次段の転送制御素子48にデータ保持信号CIとして与える。
【0086】
一方、NAND回路82に対して一致判定回路42から与えられる信号はローレベルである。したがってNAND回路82は、転送制御素子46の出力するデータ保持信号CO*の値にかかわらず、合流部12の転送制御素子50に対してはハイレベルのデータ保持信号CIを与える。したがって転送制御素子46からのデータ保持信号CO*の波形変化は転送制御素子50には伝搬されない。
【0087】
その結果、図8(A)〜(H)ならびに(K)および(L)の波形は図7の対応波形と変わらないが、図8(I)および(J)に示すように、転送制御素子50は転送制御動作を行なわない。したがって合流部12のデータラッチ回路60はデータラッチ回路56のデータをラッチすることはない。データラッチ回路58のみがデータラッチ回路56のデータを受取ることになり、データパケットは出力処理部15のみに出力される。
【0088】
すなわちこの場合、データパケットが出力処理部15のみに出力され、合流部12に対しては与えられないことになる。
【0089】
前述のように一致判定回路42により、本体処理部13からのデータパケットのプロセッサ番号とPE#レジスタ16の内容とが一致した場合、合流部12に対してデータパケットが与えられるとともに、その複製が出力処理部15にも与えられる。この場合出力処理部15に与えられたデータパケットは、分岐部24で次プロセッサ行と判断されたデータパケットの複製と考えることができるから、そのデータパケットのプロセッサ番号124は自プロセッサ番号となっている。そしてまた前述のとおり出力処理部15は、分岐制御パラメータレジスタ群の設定内容とデータパケットの内容とに従って出力ポートを決定する。
【0090】
分岐制御パラメータレジスタRMおよびRDが図9に示されようにそれぞれ「00000001」に設定されている場合を考え、このプロセッサPE#0で図17に示すデータフローグラフを実行すると、プロセッサPE#0からは図9に示すようなデータパケットが出力される。この例では、分岐部24で複製されたデータパケットのプロセッサ番号にはPE#0が設定されている。したがってこれらデータパケットは出力ポートOBから出力されることになる。
【0091】
以上のようにこの実施形態1に係るデータ駆動型プロセッサでは、本体処理部13から出力されたデータパケットが再び本体処理部13に与えられて処理される場合には、そのデータパケットの複製がプロセッサ外に出力される。これらのデータパケットはデータフローグラフの中間演算結果であり、従来は、データフローグラフをデバッグ用に変更しないかぎり、プロセッサ外からその内容を確認することはできなかった。しかし上述のようにこの実施形態1のデータ駆動型プロセッサによれば、データフローグラフを修正することなく、この中間結果の内容をプロセッサ外から確認することができる。その内容を予め用意しておいた期待値と比較することにより、データフローグラフのデバッグを容易に行なうことができる。データフローグラフを修正する必要は全くないので、効率的にデバッグを行なうことが可能になる。しかもデバッグが終了すれば、分流指定端子20の設定を0とすることにより、上述のデバッグのためのデータパケット出力が行なわれることはなくなり、従来のデータ駆動型プロセッサと全く同一の動作が行なえる。すなわちデバッグモードの動作と通常動作モードの動作とを容易に切換えることができる。
【0092】
なおこの実施形態1における分流指定端子20の設定は、上述のようにデータ駆動型プロセッサ内のみを巡回するデータパケットの複製を外部に出力する分流指定を有効にするか無効にするかを指定するための情報である。この設定は、分流指定端子20のような外部端子だけではなく、データ駆動型プロセッサに設けられた内蔵レジスタを使用して行なうことも可能である。そのような分流指定レジスタ30を設けた、本願発明のデータ駆動型情報処理装置の実施形態2に係るデータ駆動型プロセッサ1aのブロック構成図を図10に示す。
【0093】
図10を参照して、この実施形態2のデータ駆動型プロセッサ1aは、図2に示すデータ駆動プロセッサ1の構成にさらに分流指定レジスタ30を加え、この分流指定レジスタ30に対する更新および参照処理が可能な分岐部34を分岐部24に代えて新たに含む点が特徴である。
【0094】
分岐部34は、特定の命令に応答して分流指定レジスタ30に値を格納させる機能をさらに含むこと以外には、図2および図4に示す分岐部24と同様の構成を有する。
【0095】
分流指定レジスタ30の値は、データ駆動型プロセッサを初期化する際にソフトウェア的に設定可能である。たとえば分流指定レジスタ30の設定を0とすれば図13に示す従来のデータ駆動型プロセッサと全く同一の動作を行なう。分流指定レジスタ30の設定を1とすれば、データ駆動型プロセッサ1a内を巡回していたデータパケットの複製が出力処理部15から外部に出力され、デバッグに使用できる。この分岐部34および出力処理部15の動作は実施形態1と同様であるので、ここではその詳細については繰返さない。
【0096】
以上のように本願発明の実施形態に係るデータ駆動型プロセッサによれば、分岐部24および34が、引続き本体処理部13で演算を行なうデータパケットを合流部12を介して本体処理部13に与えるとともに、その複製のデータパケットを出力処理部15を介して外部に出力する。そのため外部では処理途中の中間結果を確認することができ、期待値と比較することによってデータフローグラフのデバッグを容易に行なうことができる。デバッグに際して、従来のようにデータフローグラフを修正する必要がなく、効率的なデバッグを行なうことが可能になる。また分流設定端子20および分流指定レジスタ30の設定を通常動作を示す値とすることにより、従来と全く同一の動作に切り替えることが容易に行なえる。
【図面の簡単な説明】
【図1】本願発明の実施形態1に係るデータ駆動型プロセッサを含む映像信号処理向きデータ駆動型情報処理システムのブロック構成図である。
【図2】本願発明の実施形態1に係るデータ駆動型プロセッサのブロック構成図である。
【図3】図2に示すデータ駆動型プロセッサの分岐部の機能的構成を模式的に示す図である。
【図4】分岐部の構成をより具体的に示す回路ブロック図である。
【図5】分岐部の動作を示すタイミングチャートである。
【図6】分岐部の動作を示すタイミングチャートである。
【図7】分岐部の動作を示すタイミングチャートである。
【図8】分岐部の動作を示すタイミングチャートである。
【図9】実施の形態1のデータ駆動型プロセッサによるデータパケットの出力の態様を模式的に示す図である。
【図10】本願発明の実施形態2に係るデータ駆動型プロセッサのブロック構成図である。
【図11】従来のデータ駆動型プロセッサを含む映像処理向きデータ駆動型情報処理システムのブロック構成図である。
【図12】データパケットのフィールド構成を模式的に示す図である。
【図13】従来のデータ駆動型プロセッサのブロック構成図である。
【図14】従来のデータ駆動型プロセッサの分岐部の機能的構成を示す図である。
【図15】従来のデータ駆動型プロセッサの分岐部の回路ブロック図である。
【図16】4つのデータ駆動型プロセッサを含むシステムの構成図である。
【図17】データフローグラフの一例を示す図である。
【図18】従来のプロセッサによるデータパケットの出力の態様を示す図である。
【図19】デバッグのために修正されたデータフローグラフを模式的に示す図である。
【図20】従来のデータ駆動型プロセッサにおいてデバッグ用に修正されたデータフローグラフを実行した場合のデータパケットの出力の態様を模式的に示す図である。
【符号の説明】
1、1a データ駆動型プロセッサ
12 合流部
13 本体処理部
14、24、34 分岐部
15 出力処理部
20 分流指定端子
30 分流指定レジスタ
42 一致判定回路
44、46、48、50 転送制御素子

Claims (3)

  1. データパケットを受ける入力ポートと、
    データパケットを出力するための出力ポートと、
    前記入力ポートを介して入力されたデータパケットを処理するための処理手段と、
    前記処理手段により出力されたデータパケットを、引続き前記処理手段で処理すべきか、または外部に出力すべきかを判定する際に利用される情報を格納するための格納手段と、
    前記処理手段により出力されたデータパケットを前記処理手段により引続き処理すべきか、または外部に出力すべきかを、当該データパケットの内容と前記格納手段に格納された前記情報とに従って判定し、判定結果に従ってデータパケットを前記処理手段の入力と、前記出力ポートとに分岐させるための分岐手段とを含み、
    前記分岐手段は、データパケットを前記処理手段により引続き処理すべきと判定したときには、当該データパケットの複製を作成して前記出力ポートに与える複製機構を有する、データ駆動型情報処理装置。
  2. 前記分岐手段は、外部から与えられる分流指定信号に従って、前記複製機構を可能化し、または不能化するための機構をさらに有する、請求項1記載のデータ駆動型情報処理装置。
  3. 前記分岐手段は、分流指定情報を保持するための記憶手段と、
    前記記憶手段に保持された前記分流指定情報に従って、前記複製機構を可能化し、または不能化するための機構とをさらに有する、請求項1記載のデータ駆動型情報処理装置。
JP24149795A 1995-09-20 1995-09-20 データ駆動型情報処理装置 Expired - Fee Related JP3618419B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP24149795A JP3618419B2 (ja) 1995-09-20 1995-09-20 データ駆動型情報処理装置
US08/718,258 US5913055A (en) 1995-09-20 1996-09-20 Data driven information processor for executing and debugging a data flow graph without revising the data flow graph

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24149795A JP3618419B2 (ja) 1995-09-20 1995-09-20 データ駆動型情報処理装置

Publications (2)

Publication Number Publication Date
JPH0981540A JPH0981540A (ja) 1997-03-28
JP3618419B2 true JP3618419B2 (ja) 2005-02-09

Family

ID=17075211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24149795A Expired - Fee Related JP3618419B2 (ja) 1995-09-20 1995-09-20 データ駆動型情報処理装置

Country Status (2)

Country Link
US (1) US5913055A (ja)
JP (1) JP3618419B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3766779B2 (ja) * 2000-03-31 2006-04-19 シャープ株式会社 自己同期型データ伝送装置およびこれを用いたデータ駆動型情報処理装置
JP3796390B2 (ja) 2000-04-27 2006-07-12 シャープ株式会社 データ駆動型情報処理装置
US7103675B1 (en) * 2002-05-23 2006-09-05 Network General Technology Multiplexed request and reply packets
US7194609B2 (en) * 2002-08-08 2007-03-20 Hewlett-Packard Development Company, L.P. Branch reconfigurable systems and methods
JP4149360B2 (ja) * 2003-11-10 2008-09-10 シャープ株式会社 データ駆動型情報処理装置およびデータフロープログラムの実行制御方法
US7526759B2 (en) * 2005-04-19 2009-04-28 International Business Machines Corporation Debugging prototyped system solutions in solution builder wizard environment
US20060235760A1 (en) * 2005-04-19 2006-10-19 International Business Machines Corporation Properties file that will allow configuration input based on experience
US7797678B2 (en) * 2005-04-07 2010-09-14 International Business Machines Corporation Automatic generation of license package for solution components
US7770151B2 (en) * 2005-04-07 2010-08-03 International Business Machines Corporation Automatic generation of solution deployment descriptors
CN101848083B (zh) * 2009-03-23 2013-04-24 东北大学技术转移中心 通信设备及方法
US8887138B2 (en) 2012-05-25 2014-11-11 Telefonaktiebolaget L M Ericsson (Publ) Debugging in a dataflow programming environment
US10817406B2 (en) 2018-03-30 2020-10-27 Ab Initio Technology Llc Debugging an executable control flow graph that specifies control flow

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5038348A (en) * 1988-07-01 1991-08-06 Sharp Kabushiki Kaisha Apparatus for debugging a data flow program
US5369775A (en) * 1988-12-20 1994-11-29 Mitsubishi Denki Kabushiki Kaisha Data-flow processing system having an input packet limiting section for preventing packet input based upon a threshold value indicative of an optimum pipeline processing capacity
US5165036A (en) * 1989-01-31 1992-11-17 Sharp Kabushiki Kaisha Parallel processing development system with debugging device includes facilities for schematically displaying execution state of data driven type processor
US5745723A (en) * 1989-09-04 1998-04-28 Mitsubishi Denki Kabushiki Kaisha Data processing system capable of execution of plural instructions in parallel
JP2652079B2 (ja) * 1990-08-09 1997-09-10 シャープ株式会社 データ伝送装置
US5454115A (en) * 1991-12-25 1995-09-26 Sharp Kabushiki Kaisha Data driven type processor having data flow program divided into plurality of simultaneously executable program groups for an N:1 read-out to memory-access ratio
JP3312039B2 (ja) * 1992-01-08 2002-08-05 シャープ株式会社 データ駆動型情報処理装置
JP2772604B2 (ja) * 1992-10-27 1998-07-02 シャープ株式会社 データ処理システム
US5404558A (en) * 1992-02-17 1995-04-04 Sharp Kabushiki Kaisha Data driven type information processor having a plurality of memory banks
JPH06162228A (ja) * 1992-11-26 1994-06-10 Sharp Corp データフロープロセッサ装置
JP3285430B2 (ja) * 1993-09-02 2002-05-27 シャープ株式会社 データ駆動型情報処理装置

Also Published As

Publication number Publication date
JPH0981540A (ja) 1997-03-28
US5913055A (en) 1999-06-15

Similar Documents

Publication Publication Date Title
JP3618419B2 (ja) データ駆動型情報処理装置
JP2772604B2 (ja) データ処理システム
JPH08249306A (ja) データ駆動型情報処理装置
JP3983447B2 (ja) データ駆動型情報処理装置
US7519865B1 (en) Systems and methods for identifying incomplete transactions
JP3287901B2 (ja) データ駆動型情報処理システムにおける識別データ確認方法
JP3766779B2 (ja) 自己同期型データ伝送装置およびこれを用いたデータ駆動型情報処理装置
US5590355A (en) Data driven processor, a data driven information processing device, and a method of verifying path connections of a plurality of data driven processors in such a data driven information processing device
US5812806A (en) Data driven information processor configuring each data packet with a multi-attribute tag having at least two components
JPH06162228A (ja) データフロープロセッサ装置
US6874049B1 (en) Semaphores with interrupt mechanism
JP3738128B2 (ja) データ駆動型情報処理装置
JP3581419B2 (ja) データ駆動型情報処理装置
US5872961A (en) Microcomputer allowing external monitoring of internal resources
US5345378A (en) Method and apparatus for operating a programmable controller for controlling a technical process
JP3696625B2 (ja) データ駆動型情報処理装置
US7340586B2 (en) Data transfer for debugging in data driven type processor processing data packet with data flow program including transfer control bit setting instruction
JP3055139B2 (ja) マイクロプログラム制御方式
US7574341B1 (en) Speculative expectation based event verification
JP2824853B2 (ja) パターンデータ書込み方式
JP2743889B2 (ja) プログラム評価の方法および装置
JP3708560B2 (ja) データフロー型情報処理装置
JP2848619B2 (ja) テスト容易化回路
JPH01297746A (ja) メモリ診断方式
JP2723017B2 (ja) シミュレーションエンジン

Legal Events

Date Code Title Description
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: 20041026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041110

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: 20081119

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees