(57)【要約】【課題】処理の高速化およびプログラムメモリ容量の削減が可能なデータ駆動型情報処理装置を提供すること。【解決手段】対データ検出部１２は、対となるデータの待合わせを行ない、対となるデータを格納したデータパケットを生成して出力する。演算処理部１３は、対データ検出部１２から出力されるデータパケットに含まれる第１のデータ組内の相互演算の対象となるデータを第２のデータ組に基づいて選択し、選択されたデータの相互演算を行なう。そして、プログラム記憶部１４は、演算処理部１３による演算結果に行き先情報および命令情報を付加したデータパケットを生成して出力する。したがって、種々の演算が行なえるようになり、処理効率を向上させることが可能となる。また、必要となるプログラムメモリの容量を削減することが可能となる。【選択図】図１
2007183712.tif 000002
【特許請求の範囲】
【請求項１】
対となるデータの待合わせを行ない、対となるデータを格納したデータパケットを生成して出力する対データ検出手段と、
前記対データ検出手段から出力されるデータパケットに含まれる複数のデータ組に対して演算を行なう演算処理手段と、
前記演算処理手段による演算結果に行き先情報および命令情報を付加したデータパケットを生成して出力するプログラム記憶手段とを含み、
前記演算処理手段は、第１のデータ組内の相互演算の対象となるデータを第２のデータ組に基づいて選択し、該選択されたデータの相互演算を行なう、データ駆動型情報処理装置。
【請求項２】
前記演算処理手段は、値ゼロのデータを発生する値ゼロ発生手段と、
前記第２のデータ組内のデータのそれぞれに基づいて、前記第１のデータ組内のそれぞれのデータと前記値ゼロ発生手段によって発生された値ゼロのデータとを選択的に出力する複数の選択手段と、
前記複数の選択手段から出力されるデータを加算する加算手段とを含む、請求項１記載のデータ駆動型情報処理装置。
【請求項３】
前記演算処理手段は、予め設定された最小値のデータを発生する最小値発生手段と、
前記第２のデータ組内のデータのそれぞれに基づいて、前記第１のデータ組内のそれぞれのデータと前記最小値発生手段によって発生された最小値のデータとを選択的に出力する複数の選択手段と、
前記複数の選択手段から出力されるデータの中から最大値を算出して出力する最大値算出手段とを含む、請求項１記載のデータ駆動型情報処理装置。
【請求項４】
対となるデータの待合わせを行ない、対となるデータを格納したデータパケットを生成して出力する対データ検出手段と、
前記対データ検出手段から出力されるデータパケットに含まれる複数のデータ組に対して演算を行なう演算処理手段と、
前記演算処理手段による演算結果に行き先情報および命令情報を付加したデータパケットを生成して出力するプログラム記憶手段とを含み、
前記演算処理手段は、第１のデータ組内のそれぞれのデータに対して、第２のデータ組内の対応するデータで修飾演算を行なう、データ駆動型情報処理装置。
【請求項５】
前記演算処理手段は、前記第１のデータ組内のそれぞれのデータと、前記第２のデータ組内のデータを分割して得られた分割データのそれぞれとを乗算する複数の乗算手段と、
前記複数の乗算手段からの乗算結果を加算する加算手段とを含む、請求項４記載のデータ駆動型情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入出力ポートを相互に接続することによりマルチプロセッサを構成することが可能なデータ駆動型情報処理装置に関し、特に、映像信号による画像データ等を高速に処理するデータ駆動型情報処理装置に関する。
【背景技術】
【０００２】
近年、マルチメディア処理や高精細画像処理などの大容量データの高速処理が要求される様々な分野において、プロセッサ性能の向上に対する要求が高まっている。しかし、現在のＬＳＩ（Large Scale Integrated circuit）製造技術ではデバイスの高速化にも限度がある。そこで、並列処理が注目を浴びており、並列処理に関する研究、開発が盛んに行なわれている。
【０００３】
並列処理向きのコンピュータ・アーキテクチャの中でも、特にデータ駆動型アーキテクチャが注目されている。データ駆動型処理方式においては、「ある処理に必要な入力データが全て揃い、かつその処理に必要な演算装置などの資源が割当てられたときに処理が行なわれる。」という規則にしたがって、処理が並列に進められる。
【０００４】
図１０は、従来のデータ駆動型情報処理装置の概略構成およびデータパケット構成の一例を示す図である。図１０（ａ）に示すように、この従来のデータ駆動型情報処理装置は、合流部（Ｊ）２１１と、対データ検出部（ＦＣ）２１２と、演算処理部（ＦＰ）２１３と、プログラム記憶部（ＰＳ）２１４と、分岐部（Ｂ）２１５とを含み、周回パイプラインによって接続された構成を有する。
【０００５】
また、図１０（ｂ）に示すように、この従来のデータ駆動型情報処理装置で用いられるデータパケットは、命令情報２１６と、行き先情報（ノード番号）２１７と、世代番号２１８と、データ部２１９とを含む。このデータパケットにおいては、データ部２１９に１つのデータ１のみが含まれる。
【０００６】
命令情報２１６は、データ部２１９に対してどのような演算が行なわれるかを示す情報である。行き先情報２１７は、データがプログラムのどこをフェッチするかの情報を示しており、プログラム中のノード番号に相当する。世代番号２１８は、同一の行き先を有する複数のデータを識別するための情報である。
【０００７】
合流部２１１は、入力ポートおよび分岐部２１５から入力されるデータパケットの調停を行ない、これらのデータパケットを所定の順序に並べ替えて対データ検出部２１２に出力する。
【０００８】
対データ検出部２１２は、合流部２１１からデータパケットを受けると、演算すべき２つのデータパケットが揃うまで待合わせを行ない、データパケットが揃い次第これらのデータパケットを演算処理部２１３に出力する。なお、待合わせを行なう必要がないデータパケットはそのまま対データ検出部２１２から出力される。
【０００９】
演算処理部２１３は、対データ検出部２１２から受けたデータパケットに含まれる演算命令に応じて、データパケットに含まれるデータに加算、乗算などの算術演算や、論理演算などの演算を実行し、データパケットにその演算結果を格納してプログラム記憶部２１４に出力する。
【００１０】
プログラム記憶部２１４は、演算処理部２１３から受けたデータパケットに、プログラムの次の演算命令や行き先情報（ノード番号）を付加し、所定のビットフィールドによって構成されるデータパケットを生成して分岐部２１５に出力する。
【００１１】
分岐部２１５は、プログラム記憶部２１４から出力されたデータパケットの行き先情報を参照し、そのデータパケットを自身のプロセッサ内で処理すべきか否かを判定する。データパケットを自身のプロセッサ内で処理すべきと判定すれば、そのデータパケットを合流部２１１に出力する。データパケットが他のプロセッサで処理されるべきと判定すれば、そのデータパケットをプロセッサ外部に出力する。
【００１２】
このようなデータ駆動型情報処理装置に関連する技術として、特開平９−１１４６６４号公報（以下、特許文献１と呼ぶ。）に開示された発明がある。
【００１３】
図１１は、特許文献１に開示されたデータ駆動型情報処理装置の概略構成およびデータパケット構成の一例を示す図である。図１１（ａ）に示すように、このデータ駆動型情報処理装置は、図１０（ａ）に示す構成に加えて入力制御部２１０が追加されている。この入力制御部２１０は、入力ポート１〜Ｎから互いに独立な複数のデータを受け、１つのデータパケットに収容する。
【００１４】
図１１（ｂ）は、入力制御部２１０によって生成された複数のデータを含んだデータパケットの一例を示す図である。このデータパケットにおいては、データ部２１９にポート１〜Ｎから受けたＮ個のデータが含まれ、複数のデータが単一の命令情報２１６などを共有する構成となっている。
【００１５】
データ１〜Ｎの一例として、たとえば連続する世代番号を有し、かつ、それぞれが同一の命令情報２１６および行き先情報２１７を有するＮ個のデータを挙げることができる。この場合、世代番号２１８は、たとえばデータ１の世代番号とする。他のデータ２〜Ｎの世代番号は、各データの格納位置に基づいて世代番号２１８から復元することが可能である。
【００１６】
図１１（ｃ）は、対データ検出部２１２によって待合わせが行なわれた後のデータパケットの一例を示す図である。このデータパケットにおいては、２つのデータ組２２０および２２１を含み、第１のデータ組２２０はデータＡ１〜ＡＮを含み、第２のデータ組２２１はデータＢ１〜ＢＮを含む。
【００１７】
演算処理部２１３は、第１のデータ組２２０の各データＡ１〜ＡＮと、第２のデータ組２２１の各データＢ１〜ＢＮとの演算を並列に行なう。これによって、データの冗長度を下げ、処理の効率を向上させることが可能となる。
【特許文献１】特開平９−１１４６６４号公報
【特許文献２】特開２００１−２５６２１４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかしながら、上述した特許文献１に開示されたデータ駆動型情報処理装置は、複数のデータを有するデータパケットを処理することが可能であるが、１つのデータ組内のデータ間の相互の演算を行なうことはできない。
【００１９】
一方、特許文献２は、データパケット内の複数のデータの並べ替えを行なうｒｅｏｒｄｅｒ命令をサポートしたデータ駆動型情報処理装置を開示している。
【００２０】
図１２は、特許文献２に開示されたｒｅｏｒｄｅｒ命令を実行するための演算器を示す図である。この演算器は、４つのマルチプレクサ（以下、ＭＵＸと呼ぶ。）２３１〜２３４を含む。
【００２１】
ＭＵＸ２３１は、第２のデータ組２２１内のデータＢ０に応じて、第１のデータ組２２０内のデータＡ０〜Ａ３のいずれかを選択し、その結果を第３のデータ組２２２内のＣ０として出力する。ＭＵＸ２３２は、第２のデータ組２２１内のデータＢ１に応じて、第１のデータ組２２０内のデータＡ０〜Ａ３のいずれかを選択し、その結果を第３のデータ組２２２内のＣ１として出力する。ＭＵＸ２３３は、第２のデータ組２２１内のデータＢ２に応じて、第１のデータ組２２０内のデータＡ０〜Ａ３のいずれかを選択し、その結果を第３のデータ組２２２内のＣ２として出力する。ＭＵＸ２３４は、第２のデータ組２２１内のデータＢ３に応じて、第１のデータ組２２０内のデータＡ０〜Ａ３のいずれかを選択し、その結果を第３のデータ組２２２内のＣ３として出力する。
【００２２】
図１３は、ｒｅｏｒｄｅｒ命令を用いた演算処理の一例を示す図である。第２のデータ組２２１として、（Ｂ０，Ｂ１，Ｂ２，Ｂ３）に（３，２，０，１）が設定されている場合、ｒｅｏｒｄｅｒ命令が実行されると、第１のデータ組２２０の（Ａ０，Ａ１，Ａ２，Ａ３）が（Ａ３，Ａ２，Ａ０，Ａ１）に並べ替えられて、第３のデータ組２２２として出力される。
【００２３】
図１４は、データ組内の３画素に関する平滑化フィルタの処理を示す図である。図１４においては、第１のデータ組２２０と、第２のデータ組２２３とを用いて平滑化フィルタの処理を行なうところを示しており、第３のデータ組（Ｃ０，Ｃ１，Ｃ２，Ｃ３）として、（Ａ０＋Ａ１＋Ａ２，Ａ１＋Ａ２＋Ａ３，Ａ２＋Ａ３＋Ａ４，Ａ３＋Ａ４＋Ａ５）が出力されるところを示している。
【００２４】
図１５は、図１４に示す平滑化フィルタ処理のプログラム記述の一例を示す図である。ｒｅｏｒｄｅｒ命令３０１によって、第１のデータ組２２０が（Ａ１，Ａ２，Ａ３，Ａ０）に並べ替えられる。さらに、ｍｕｌ命令３０２によって、不要なデータにゼロが乗算されて（Ａ１，Ａ２，Ａ３，０）となる。したがって、ａｄｄ命令３０３による演算結果として、（Ａ０＋Ａ１，Ａ１＋Ａ２，Ａ２＋Ａ３，Ａ３）が出力される。
【００２５】
また、ｒｅｏｒｄｅｒ命令３０４によって、ｍｕｌ命令３０２から出力されるデータ組が（Ａ２，Ａ３，０，０）に並べ替えられる。このとき、ａｄｄ命令３０５による演算結果として、（Ａ０＋Ａ１＋Ａ２，Ａ１＋Ａ２＋Ａ３，Ａ２＋Ａ３，Ａ３）が出力される。
【００２６】
一方、ｒｅｏｒｄｅｒ命令３０６によって、第２のデータ組２２３が（Ａ４，Ａ４，Ａ４，Ａ５）に並べ替えられる。さらに、ｍｕｌ命令３０７によって、不要なデータにゼロが乗算され（０，０，Ａ４，Ａ５）となる。さらに、ｒｅｏｒｄｅｒ命令３０８によって、ｍｕｌ命令３０７から出力されるデータ組が（０，０，０，Ａ４）に並べ替えられる。このとき、ａｄｄ命令３０９による演算結果として、（０，０，Ａ４，Ａ４＋Ａ５）が出力される。したがって、ａｄｄ命令３１０による演算結果として、（Ａ０＋Ａ１＋Ａ２，Ａ１＋Ａ２＋Ａ３、Ａ２＋Ａ３＋Ａ４，Ａ３＋Ａ４＋Ａ５）が出力される。
【００２７】
このように、ｒｅｏｒｄｅｒ命令、ｍｕｌ命令、および、ａｄｄ命令を繰返して平滑化フィルタ処理を行なうことができるが、これらの命令を合わせると１０命令が必要になる。したがって、処理効率が低下するとともに、必要となるプログラムメモリの容量が増大するといった問題点があった。
【００２８】
本発明は、上記問題点を解決するためになされたものであり、第１の目的は、処理の高速化が可能なデータ駆動型情報処理装置を提供することである。
【００２９】
第２の目的は、プログラムメモリ容量の削減が可能なデータ駆動型情報処理装置を提供することである。
【課題を解決するための手段】
【００３０】
本発明のある局面に従えば、データ駆動型情報処理装置は、対となるデータの待合わせを行ない、対となるデータを格納したデータパケットを生成して出力する対データ検出手段と、対データ検出手段から出力されるデータパケットに含まれる複数のデータ組に対して演算を行なう演算処理手段と、演算処理手段による演算結果に行き先情報および命令情報を付加したデータパケットを生成して出力するプログラム記憶手段とを含み、演算処理手段は、第１のデータ組内の相互演算の対象となるデータを第２のデータ組に基づいて選択し、選択されたデータの相互演算を行なう。
【００３１】
好ましくは、演算処理手段は、値ゼロのデータを発生する値ゼロ発生手段と、第２のデータ組内のデータのそれぞれに基づいて、第１のデータ組内のそれぞれのデータと値ゼロ発生手段によって発生された値ゼロのデータとを選択的に出力する複数の選択手段と、複数の選択手段から出力されるデータを加算する加算手段とを含む。
【００３２】
好ましくは、演算処理手段は、予め設定された最小値のデータを発生する最小値発生手段と、第２のデータ組内のデータのそれぞれに基づいて、第１のデータ組内のそれぞれのデータと最小値発生手段によって発生された最小値のデータとを選択的に出力する複数の選択手段と、複数の選択手段から出力されるデータの中から最大値を算出して出力する最大値算出手段とを含む。
【００３３】
本発明の別の局面に従えば、データ駆動型情報処理装置は、対となるデータの待合わせを行ない、対となるデータを格納したデータパケットを生成して出力する対データ検出手段と、対データ検出手段から出力されるデータパケットに含まれる複数のデータ組に対して演算を行なう演算処理手段と、演算処理手段による演算結果に行き先情報および命令情報を付加したデータパケットを生成して出力するプログラム記憶手段とを含み、演算処理手段は、第１のデータ組内のそれぞれのデータに対して、第２のデータ組内の対応するデータで修飾演算を行なう。
【００３４】
好ましくは、演算処理手段は、第１のデータ組内のそれぞれのデータと、第２のデータ組内のデータを分割して得られた分割データのそれぞれとを乗算する複数の乗算手段と、複数の乗算手段からの乗算結果を加算する加算手段とを含む。
【発明の効果】
【００３５】
本発明のある局面によれば、演算処理手段が、第１のデータ組内の相互演算の対象となるデータを第２のデータ組に基づいて選択し、選択されたデータの相互演算を行なうので、種々の演算が行なえるようになり、処理効率を向上させることが可能となる。また、必要となるプログラムメモリの容量を削減することが可能となる。
【００３６】
また、演算処理手段が、値ゼロのデータを発生する値ゼロ発生手段と、第２のデータ組内のデータのそれぞれに基づいて、第１のデータ組内のそれぞれのデータと値ゼロ発生手段によって発生された値ゼロのデータとを選択的に出力する複数の選択手段と、複数の選択手段から出力されるデータを加算する加算手段とを含むので、平滑化フィルタ処理などを高速に行なうことが可能となる。
【００３７】
また、演算処理手段が、予め設定された最小値のデータを発生する最小値発生手段と、第２のデータ組内のデータのそれぞれに基づいて、第１のデータ組内のそれぞれのデータと最小値発生手段によって発生された最小値のデータとを選択的に出力する複数の選択手段と、複数の選択手段から出力されるデータの中から最大値を算出して出力する最大値算出手段とを含むので、データ組内の特定のデータの最大値を算出することが可能となる。
【００３８】
本発明の別の局面によれば、演算処理手段が、第１のデータ組内のそれぞれのデータに対して、第２のデータ組内の対応するデータで修飾演算を行なうので、第２のデータの与え方によって種々の演算が行なえるようになり、処理効率を向上させることが可能となる。また、必要となるプログラムメモリの容量を削減することが可能となる。
【００３９】
また、演算処理手段が、第１のデータ組内のそれぞれのデータと、第２のデータ組内のデータを分割して得られた分割データのそれぞれとを乗算する複数の乗算手段と、複数の乗算手段からの乗算結果を加算する加算手段とを含むので、積和演算を高速に行なうことが可能となる。
【発明を実施するための最良の形態】
【００４０】
（第１の実施の形態）
図１は、本発明の第１の実施の形態におけるデータ駆動型情報処理装置の概略構成を示すブロック図である。このデータ駆動型情報処理装置は、入力制御部１０と、合流部１１と、対データ検出部１２と、演算処理部１３と、プログラム記憶部１４と、分岐部１５とを含み、周回パイプラインによって接続された構成を有する。
【００４１】
入力制御部１０は、入力ポート１〜Ｎから互いに独立な複数のデータを受け、１つのデータパケットに収容して合流部１１に出力する。なお、この入力制御部１０が存在せず、合流部１１が外部から直接複数のデータを含んだデータパケットを受けるようにしてもよい。
【００４２】
合流部１１は、入力制御部１０および分岐部１５から入力されるデータパケットの調停を行ない、これらのデータパケットを所定の順序に並べ替えて対データ検出部１２に出力する。
【００４３】
対データ検出部１２は、合流部１１からデータパケットを受けると、演算すべき２つのデータパケットが揃うまで待ち合わせを行ない、データパケットが揃い次第これらのデータパケットを演算処理部１３に出力する。なお、待合わせを行なう必要がないデータパケットはそのまま対データ検出部１２から出力される。
【００４４】
演算処理部１３は、対データ検出部１２から受けたデータパケットに含まれる演算命令に応じて、データパケットに含まれるデータに加算、乗算などの算術演算や、論理演算などの演算を実行し、データパケットにその演算結果を格納してプログラム記憶部１４に出力する。
【００４５】
プログラム記憶部１４は、演算処理部１３から受けたデータパケットに、プログラムの次の演算命令や行き先情報（ノード番号）を付加し、所定のビットフィールドによって構成されるデータパケットを生成して分岐部１５に出力する。
【００４６】
分岐部１５は、プログラム記憶部１４から出力されたデータパケットの行き先情報を参照し、そのデータパケットを自身のプロセッサ内で処理すべきか否かを判定する。データパケットを自身のプロセッサ内で処理すべきと判定すれば、そのデータパケットを合流部１１に出力する。データパケットが他のプロセッサで処理されるべきと判定すれば、そのデータパケットをプロセッサ外部に出力する。
【００４７】
図２は、本発明の第１の実施の形態におけるデータ駆動型情報処理装置の演算処理部１３における演算処理を説明するための図である。なお、この図２においては、第１のデータ組２０のみが有効である場合を示しており、対データ検出部１２での待合わせは行なわれない。
【００４８】
図２に示すデータパケットは、命令情報１６と、行き先情報（ノード番号）１７と、世代番号１８と、第１のデータ組２０とを含む。また、データ組２０は、ＮビットのデータＡ１〜ＡＮを含む。演算処理部１３は、命令情報１６に応じて第１のデータ組２０に含まれるデータＡ１〜ＡＮに対する相互演算を行ない、その演算結果Ｃ１〜ＣＮを出力データパケットのデータ組２２に格納する。
【００４９】
図３は、本発明の第１の実施の形態における演算処理部１３の構成例を示す図である。演算処理部１３は、２つのデータの加算を行なう２入力加算器ＡＤＤ２（３１）と、３つのデータの加算を行なう３入力加算器ＡＤＤ３（３２）と、４つのデータの加算を行なう４入力加算器ＡＤＤ４（３３）とを含む。この演算処理部１３によって、演算結果（Ａ０，Ａ０＋Ａ１，Ａ０＋Ａ１＋Ａ２，Ａ０＋Ａ１＋Ａ２＋Ａ３）がデータ組２２として出力される。なお、演算処理部１３は、演算命令の種類に対応する他の演算器を複数有するものとする。
【００５０】
また、図３に示す演算処理部１３の構成は一例であって、データ組２０に含まれる複数のデータに対する相互演算を行なうものであれば、演算器がどのように構成されていてもよい。
【００５１】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、データパケットに含まれるデータ組に対して相互演算を行なうようにしたので、対データの待合わせを行なう必要がなく、データ駆動型情報処理装置の処理効率を向上させることが可能となった。また、演算処理部１３にアプリケーションに適した演算回路を組込むことによって、処理効率を向上させることができるとともに、必要となるプログラムメモリの容量を削減することが可能となった。
【００５２】
（第２の実施の形態）
本発明の第２の実施形態におけるデータ駆動型情報処理装置の概略構成は、図１に示す第１の実施の形態におけるデータ駆動型情報処理装置の概略構成と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
【００５３】
図４は、本発明の第２の実施の形態におけるデータ駆動型情報処理装置の演算処理部１３における演算処理を説明するための図である。なお、この図４においては、第１のデータ組２０および第２のデータ組２１の両方が有効である場合を示しており、対データ検出部１２での待合わせが行なわれたものである。
【００５４】
図４においては、第２のデータ組２１の内容（データＢ１〜ＢＮ）をマルチプレクサ（ＭＵＸ）の選択入力とし、ＭＵＸが第１のデータ組２０の内容（データＡ１〜ＡＮ）のいずれを演算対象とするかを選択する。演算処理部１３は、命令情報１６に応じてＭＵＸから出力されるデータに対する相互演算を行ない、その演算結果Ｃ１〜ＣＮを出力データパケットのデータ組２２に格納する。
【００５５】
図５は、本発明の第２の実施の形態における演算処理部１３の構成例を示す図である。演算処理部１３は、４つのデータの加算を行なう４入力加算器ＡＤＤ４（４１〜４４）を含む。ＡＤＤ４（４１〜４４）のそれぞれには、第１のデータ組２０（Ａ０〜Ａ３）が入力され、第２のデータ組２１内のデータＢ０〜Ｂ３に応じて、４つのデータの演算を行なう。
【００５６】
ＡＤＤ４（４１〜４４）は同じ内部構成を有しているが、ＡＤＤ４（４４）を例にとって説明する。ＡＤＤ４（４４）は、データＢ３（５１）内の各ビットに応じてデータを選択するＭＵＸ５２〜５５と、値ゼロのデータを発生する値ゼロ発生器５６と、４入力加算器５７とを含む。
【００５７】
ＭＵＸ５２は、データＢ３（５１）のビット０が“０”のときに、値ゼロ発生器５６からの値を選択して出力し、データＢ３（５１）のビット０が“１”のときに、第１のデータ組２０内のデータＡ０を選択して出力する。
【００５８】
ＭＵＸ５３は、データＢ３（５１）のビット１が“０”のときに、値ゼロ発生器５６からの値を選択して出力し、データＢ３（５１）のビット１が“１”のときに、第１のデータ組２０内のデータＡ１を選択して出力する。
【００５９】
ＭＵＸ５４は、データＢ３（５１）のビット２が“０”のときに、値ゼロ発生器５６からの値を選択して出力し、データＢ３（５１）のビット２が“１”のときに、第１のデータ組２０内のデータＡ２を選択して出力する。
【００６０】
また、ＭＵＸ５５は、データＢ３（５１）のビット３が“０”のときに、値ゼロ発生器５６からの値を選択して出力し、データＢ３（５１）のビット３が“１”のときに、第１のデータ組２０内のデータＡ３を選択して出力する。
【００６１】
ＡＤＤ５７は、ＭＵＸ５２〜５５から出力される値を加算して、第３のデータ組２２内のデータＣ３として出力する。図５に示すように、データＢ３の下位４ビットが“０１０１”であれば、加算器５７から“Ａ０＋Ａ２”がデータＣ３として出力される。
【００６２】
図６は、図５に示す演算処理部１３を用いて平滑化フィルタの処理を行なう場合のプログラム記述の一例を示す図である。なお、ｄｃａｌｃｘ命令は、図５に示す演算回路に演算を行なわせるための命令である。
【００６３】
ｄｃａｌｃｘ命令６１によって、第１のデータ組２０から演算結果（Ａ０＋Ａ１＋Ａ２，Ａ１＋Ａ２＋Ａ３，Ａ２＋Ａ３，Ａ３）が得られる。また、ｄｃａｌｃｘ命令６２によって、第２のデータ組２３から演算結果（０，０，Ａ４，Ａ４＋Ａ５）が得られる。ａｄｄ命令６３によって、これらの演算結果が加算され、データＣ０〜Ｃ３として（Ａ０＋Ａ１＋Ａ２，Ａ１＋Ａ２＋Ａ３、Ａ２＋Ａ３＋Ａ４，Ａ３＋Ａ４＋Ａ５）が出力される。
【００６４】
このように、従来では１０命令を要していた平滑化フィルタ処理のプログラムが、本実施の形態における演算処理部１３によって３命令で実行できるようになる。
【００６５】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、第２のデータ組２１の内容（データＢ１〜ＢＮ）をＭＵＸの選択入力とし、ＭＵＸが第１のデータ組２０の内容（データＡ１〜ＡＮ）のいずれを演算対象とするかを選択するようにしたので、平滑化フィルタ処理などを高速に行なうことができ、処理効率を向上させることができるとともに、必要となるプログラムメモリの容量を削減することが可能となった。
【００６６】
（第３の実施の形態）
本発明の第３の実施形態におけるデータ駆動型情報処理装置の概略構成は、図１に示す第１の実施の形態におけるデータ駆動型情報処理装置の概略構成と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。また、本発明の第３の実施の形態におけるデータ駆動型情報処理装置の演算処理部１３における演算処理は、図４を用いて説明したものと同様である。
【００６７】
図７は、本発明の第３の実施の形態における演算処理部１３の構成例を示す図である。演算処理部１３は、４つのデータの最大値を出力する４入力最大値算出器ＭＡＸ４（７１〜７４）を含む。ＭＡＸ４（７１〜７４）のそれぞれには、第１のデータ組２０（Ａ０〜Ａ３）が入力され、第２のデータ組２１内のデータＢ０〜Ｂ３に応じて、４つのデータの演算を行なう。
【００６８】
ＭＡＸ４（７１〜７４）は同じ内部構成を有しているが、ＭＡＸ４（７４）を例にとって説明する。ＭＡＸ４（７４）は、データＢ３（８１）内の各ビットに応じてデータを選択するＭＵＸ８２〜８５と、このシステムで取り扱うデータがとり得る最小値を発生する最小値発生器８６と、４入力最大値算出器８７とを含む。
【００６９】
ＭＵＸ８２は、データＢ３（８１）のビット０が“０”のときに、最小値発生器８６からの値を選択して出力し、データＢ３（８１）のビット０が“１”のときに、第１のデータ組２０内のデータＡ０を選択して出力する。
【００７０】
ＭＵＸ８３は、データＢ３（８１）のビット１が“０”のときに、最小値発生器８６からの値を選択して出力し、データＢ３（８１）のビット１が“１”のときに、第１のデータ組２０内のデータＡ１を選択して出力する。
【００７１】
ＭＵＸ８４は、データＢ３（８１）のビット２が“０”のときに、最小値発生器８６からの値を選択して出力し、データＢ３（８１）のビット２が“１”のときに、第１のデータ組２０内のデータＡ２を選択して出力する。
【００７２】
また、ＭＵＸ８５は、データＢ３（８１）のビット３が“０”のときに、最小値発生器８６からの値を選択して出力し、データＢ３（８１）のビット３が“１”のときに、第１のデータ組２０内のデータＡ３を選択して出力する。
【００７３】
ＭＡＸ８７は、ＭＵＸ８２〜８５から出力される値の最大値を算出して、第３のデータ組２２内のデータＣ３として出力する。図７に示すように、データＢ３の下位４ビットが“０１０１”であれば、ＭＡＸ８７からｍａｘ（Ａ０，Ａ２）がデータＣ３として出力される。
【００７４】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、第２のデータ組２１の内容（データＢ１〜ＢＮ）をＭＵＸの選択入力とし、ＭＵＸが第１のデータ組２０の内容（データＡ１〜ＡＮ）のいずれを演算対象とするかを選択するようにしたので、処理効率を向上させることができるとともに、必要となるプログラムメモリの容量を削減することが可能となった。
【００７５】
なお、本発明の第２の実施の形態および第３の実施の形態においては、演算内容を加算および最大値演算としたが、加算以外の減算、乗算などの算術演算や、最大値以外の最小値などの比較演算や、論理和、論理積などの論理演算などを演算内容とすることも可能である。
【００７６】
（第４の実施の形態）
本発明の第４の実施形態におけるデータ駆動型情報処理装置の概略構成は、図１に示す第１の実施の形態におけるデータ駆動型情報処理装置の概略構成と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
【００７７】
図８は、本発明の第４の実施の形態におけるデータ駆動型情報処理装置の演算処理部１３における演算処理を説明するための図である。なお、この図８においては、第１のデータ組２０および第２のデータ組２１の両方が有効である場合を示しており、対データ検出部１２での待合わせが行なわれたものである。
【００７８】
図８においては、第２のデータ組２１の内容（データＢ１〜ＢＮ）を修飾演算子とし、第１のデータ組２０の内容（データＡ１〜ＡＮ）に演算を行なう。演算処理部１３は、命令情報１６に応じて第１のデータ組２０内のデータＡ１〜ＡＮに対する相互演算を行ない、その演算結果Ｃ１〜ＣＮを出力データパケットのデータ組２２に格納する。
【００７９】
図９は、本発明の第４の実施の形態における演算処理部１３の構成例を示す図である。演算処理部１３は、４つのデータの加算を行なう４入力加算器ＡＤＤ４（９１〜９４）を含む。ＡＤＤ４（９１〜９４）のそれぞれには、第１のデータ組２０（Ａ０〜Ａ３）が入力され、第２のデータ組２１内のデータＢ０〜Ｂ３に応じて、４つのデータの演算を行なう。
【００８０】
ＡＤＤ４（９１〜９４）は同じ内部構成を有しているが、ＡＤＤ４（９４）を例にとって説明する。ＡＤＤ４（９４）は、データＢ３（１０１）が４分割されて入力される乗算器ＭＵＬ１０２〜１０５と、４入力加算器１０６とを含む。
【００８１】
ＭＵＬ１０２は、第１のデータ組２０内のデータＡ０に、データＢ３（１０１）内の下位４ビット（ビット３〜０）を乗算し、乗算結果をＡＤＤ１０６に出力する。
【００８２】
ＭＵＬ１０３は、第１のデータ組２０内のデータＡ１に、データＢ３（１０１）内の次の下位４ビット（ビット７〜４）を乗算し、乗算結果をＡＤＤ１０６に出力する。
【００８３】
ＭＵＬ１０４は、第１のデータ組２０内のデータＡ２に、データＢ３（１０１）内の次の下位４ビット（ビット１１〜８）を乗算し、乗算結果をＡＤＤ１０６に出力する。
【００８４】
また、ＭＵＬ１０５は、第１のデータ組２０内のデータＡ３に、データＢ３（１０１）内の上位４ビット（ビット１５〜１２）を乗算し、乗算結果をＡＤＤ１０６に出力する。
【００８５】
ＡＤＤ１０６は、ＭＵＬ１０２〜１０５から出力される値を加算して、第３のデータ組２２内のデータＣ３として出力する。図９に示すように、データＢ３が“００００  ０１０１  １１１１  ０１１１”であれば、４分割されたデータＢ０のそれぞれが符号付２進数と解釈すると、Ｃ３＝（５×Ａ２）−Ａ１＋（７×Ａ０）となる。
【００８６】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、第２のデータ組２１の内容により、第１のデータ組２０の内容を修飾演算するようにしたので、第２のデータ組２１の与え方によって種々の演算が行なえるようになり、処理効率を向上させることが可能となった。
【００８７】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００８８】
【図１】本発明の第１の実施の形態におけるデータ駆動型情報処理装置の概略構成を示すブロック図である。
【図２】本発明の第１の実施の形態におけるデータ駆動型情報処理装置の演算処理部１３における演算処理を説明するための図である。
【図３】本発明の第１の実施の形態における演算処理部１３の構成例を示す図である。
【図４】本発明の第２の実施の形態におけるデータ駆動型情報処理装置の演算処理部１３における演算処理を説明するための図である。
【図５】本発明の第２の実施の形態における演算処理部１３の構成例を示す図である。
【図６】図５に示す演算処理部１３を用いて平滑化フィルタの処理を行なう場合のプログラム記述の一例を示す図である。
【図７】本発明の第３の実施の形態における演算処理部１３の構成例を示す図である。
【図８】本発明の第４の実施の形態におけるデータ駆動型情報処理装置の演算処理部１３における演算処理を説明するための図である。
【図９】本発明の第４の実施の形態における演算処理部１３の構成例を示す図である。
【図１０】従来のデータ駆動型情報処理装置の概略構成およびデータパケット構成の一例を示す図である。
【図１１】特許文献１に開示されたデータ駆動型情報処理装置の概略構成およびデータパケット構成の一例を示す図である。
【図１２】特許文献２に開示されたｒｅｏｒｄｅｒ命令を実行するための演算器を示す図である。
【図１３】ｒｅｏｒｄｅｒ命令を用いた演算処理の一例を示す図である。
【図１４】データ組内の３画素に関する平滑化フィルタの処理を示す図である。
【図１５】図１４に示す平滑化フィルタ処理のプログラム記述の一例を示す図である。
【符号の説明】
【００８９】
１０，２１０  入力制御部、１１，２１１  合流部、１２，２１２  対データ検出部、１３，２１３  演算処理部、１４，２１４  プログラム記憶部、１５，２１５  分岐部、３１  ２入力加算器、３２  ３入力加算器、３３，４１〜４４，５７，９１〜９４，１０６  ４入力加算器、５２〜５５，８２〜８５，２３１〜２３４  ＭＵＸ、５６  値ゼロ発生器、７１〜７４，８７  ４入力最大値算出器、８６  最小値発生器、１０２〜１０５  乗算器。
【図１】
2007183712.tif 000003
【図２】
2007183712.tif 000004
【図３】
2007183712.tif 000005
【図４】
2007183712.tif 000006
【図５】
2007183712.tif 000007
【図６】
2007183712.tif 000008
【図７】
2007183712.tif 000009
【図８】
2007183712.tif 000010
【図９】
2007183712.tif 000011
【図１０】
2007183712.tif 000012
【図１１】
2007183712.tif 000013
【図１２】
2007183712.tif 000014
【図１３】
2007183712.tif 000015
【図１４】
2007183712.tif 000016
【図１５】
2007183712.tif 000017