(57)【特許請求の範囲】
【請求項１】
タグ情報と、複数個のデータとを含むデータパケットを出力する対データ生成部と、
前記対データ生成部の出力である前記データパケットを受け、前記対データ生成部から与えられる当該データパケット内の前記複数個のデータのうちの所定個数である第１のデータを用いたアドレス指定によりメモリを参照して得た前記第１のデータに対応するメモリ参照値と、当該データパケット内の前記複数個のデータのうちの前記第１のデータとは異なる前記第２のデータとを出力するメモリ制御部と、
前記メモリ参照値と前記第２のデータとに対して、データの入力位置に依存して結果が異なってくる、非対称な演算を行なって結果を出力する演算部と、
予めプログラムを記憶し、前記演算部の出力を受けて前記タグ情報中に次の命令を含んだデータパケットを生成して出力するプログラム記憶部と、
前記プログラム記憶部の出力と、前記対データ生成部の入力と、外部とに接続され、データパケットの前記タグ情報に基づいて前記データパケットを外部または前記対データ生成部に与えるためのデータパケット制御部とを含むデータ駆動型情報処理装置であって、
前記メモリ制御部と前記演算部との間に接続され、前記対データ生成部から出力される前記データパケット内の前記タグ情報に基づいて、前記メモリ制御部から出力される前記メモリ参照値と、前記第２のデータとの前記入力位置を入替えて前記演算部に与える選択器をさらに含む、データ駆動型情報処理装置。
【請求項２】
前記対データ生成部は、前記タグ情報と、前記第１および第２のデータの二つのデータとを含むデータパケットを出力し、
前記所定個数は１個である、請求項１に記載のデータ駆動型情報処理装置。
【請求項３】
前記対データ生成部は、前記複数個のデータの各々について、前記演算部において行なわれる非対称な演算への前記入力位置を表わす入力位置情報を前記タグ情報に含ませ、
前記選択器は、前記タグ情報に含まれる前記入力位置情報を用いて各データの前記演算部への前記入力位置を入替える、請求項１または２に記載のデータ駆動型情報処理装置。
【請求項４】
前記選択器は、前記タグ情報に含まれる命令コードを用いて各データの前記演算部への前記入力位置を入替える、請求項１または２に記載のデータ駆動型情報処理装置。
【請求項５】
前記対データ生成部は、前記複数個のデータの各々について、前記演算部において行なわれる非対称な演算に対する入力データの属性を表わす属性情報を前記タグ情報に含ませ、
前記選択器は、前記タグ情報に含まれる前記属性情報を用いて各データの前記演算部への前記入力位置を入替える、請求項１または２に記載のデータ駆動型情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はデータ間の多項演算を行なうデータ駆動型情報処理装置に関し、特に、各項の位置を変えることによって結果に相違が生じる多項演算を行なうことが可能なデータ駆動型情報処理装置に関する。
【０００２】
【従来の技術】
データ駆動原理は、本来的に自然な情報処理方式であると考えられる。このデータ駆動原理を基本原理とするデータ駆動型情報処理装置は、実行可能な高位仕様記述から直接変換された対象プログラムを効果的に実行しようとする研究計画から生まれた一連の情報処理装置の総称である。
【０００３】
データ駆動原理とは以下のようなものである。プログラムは複数の命令から構成される。各命令は、それぞれの実行に必要な引き数データがトークン（データパケット）の形ですべて到着すると実行可能な状態になる。命令が実行可能な状態になることを「発火」と呼ぶ。実行可能な状態になった命令は、その引き数データおよび実行結果の宛先とともに演算処理機構に送られる。
【０００４】
実行可能な状態となった命令があるか否かについての判定は発火制御機構と呼ばれるものが行なう。発火は、一つの演算の実行に必要なデータ（多くは一対のデータ）がそろったときに発生するので、発火制御機構は対データ生成部とも呼ばれる。発火制御機構はさらに、実行可能な状態になった命令が存在する場合に、その命令を、その引き数データおよび実行結果の宛先とともに演算処理機構に送る処理も実現する。このように発火制御機構が行なう処理を発火処理または対データ生成処理と呼ぶ。
【０００５】
演算処理機構では、当該命令が実行され、命令実行結果が、その宛先に従って、次に実行すべき命令の引き数データとしてトークンの形式で転送される。
【０００６】
図１０に、一般的なデータ駆動型情報処理装置を画像処理に用いた際のシステム構成例を示す。同様のシステム構成例は、金倉他「動的データ駆動型プロセッサによる並列処理方式の検討」情報処理学会「マイクロコンピュータ・アーキテクチャシンポジウム」論文集、１９９１．１１．１２、ｐｐ．９〜１８に示されている。
【０００７】
図１０を参照して、このシステムは、データ伝送路３２０およびデータ伝送路３２２にそれぞれ接続された入力ポートＩＡおよび入力ポートＩＢと、データ伝送路３２４およびデータ伝送路３２６にそれぞれ接続された出力ポートＯＡおよび出力ポートＯＢと、それぞれデータ伝送路３３０およびデータ伝送路３３２に接続された出力ポートＯＶおよび入力ポートＩＶとを有するデータ駆動型情報処理装置３００と、データ伝送路３３０およびデータ伝送路３３２によってデータ駆動型プロセッサ３００に接続された画像メモリ部３０２とを含む。
【０００８】
画像メモリ部３０２は、データ伝送路３３０およびデータ伝送路３３２に接続され、メモリへのアクセスを行なうためのメモリインタフェース３１２と、メモリアクセス制御線３４０によってメモリインタフェース３１２と相互接続された画像メモリ３１０とを含む。
【０００９】
データ駆動型情報処理装置３００は、データ伝送路３２０またはデータ伝送路３２２より入力データパケットの時系列を受ける。各データパケットは、入力時刻の順序にしたがって付けられる世代番号と呼ばれる識別子を持つ。データ駆動型情報処理装置３００には、後述するように、予め設定された処理内容が記憶されている。データ駆動型情報処理装置３００は、入力データパケットを受けると、データ駆動型情報処理装置３００に記憶されている処理内容にしたがって処理を進める。
【００１０】
データ駆動型情報処理装置３００は、処理の中で画像メモリ３１０に対するアクセスが必要となると、画像メモリ３１０に対するアクセス要求（画像メモリ３１０の内容の参照／更新など）を出力ポートＯＶを介してデータ伝送路３３０上に出力する。メモリインタフェース３１２は、このアクセス要求を受けるとメモリアクセス制御線３４０を介して画像メモリ３１０に対するアクセスを行ない、その結果をデータ伝送路３３２および入力ポートＩＶを介してデータ駆動型情報処理装置３００に返す。
【００１１】
入力データパケットに対するデータ駆動型情報処理装置３００内の処理が終了すると、データ駆動型情報処理装置３００は出力ポートＯＡまたは出力ポートＯＢを介して、出力データパケットをデータ伝送路３２４またはデータ伝送路３２６に出力する。
【００１２】
図１１は図１０に示すデータ駆動型情報処理装置３００の入出力パケットの基本構成を示す図である。図１２はデータ駆動型情報処理装置３００の基本構成を示す図である。
【００１３】
最初に図１２を参照して、データ駆動型情報処理装置３００は、外部からの入力データパケットと、データ駆動型情報処理装置３００の内部を流れるデータパケットとを合流させるための合流部３０と、合流部３０からデータパケットを受け、命令の実行に必要なデータがそろったか否かを判定し、必要なデータがそろったデータを含むデータパケットを出力するための発火制御部３２と、発火制御部３２から与えられるデータパケットに含まれるデータに対して、当該データパケットに含まれる命令コードにより決定される処理を行ない、結果を、次の命令のノード番号を含むデータパケットとして再構成し出力するための演算部３８と、予め命令を記憶したプログラムメモリを有しており、演算部３８からのデータパケットを受け、当該データパケットに含まれるノード番号をアドレスとしてプログラムメモリをアクセスすることにより、次に行なわれるべき命令コードと次のノード番号とを読出しデータパケットを構成して出力するためのプログラム記憶部４０と、プログラム記憶部４０からデータパケットを受け、その行先に応じて外部または合流部３０のいずれかに分岐させるための分岐部４２とを含む。合流部３０および分岐部４２は、データパケットのタグ情報に基づいてデータパケットを外部または発火制御部３２に与えるためのデータパケット制御を行なう。
【００１４】
図１１に示されるデータパケットは、合流部３０に入力されるデータパケットのものである。このデータパケットは発火制御部３２に与えられる。発火制御部３２に与えられたデータパケットは、対となって演算されるべき相手のデータパケットが到着するまで発火制御部３２の待合せ記憶領域に格納され待機する。対のデータパケットがそろった時点で、命令コードと対のデータとを含むデータパケットが再構成され演算部３８に送られる。
【００１５】
演算部３８は、受取ったデータパケットのデータに対して命令コードによって決まる処理を行ない、結果のデータパケットを再構成して出力する。
【００１６】
プログラム記憶部４０は、演算部３８からデータパケットを受けると、そのデータパケットに含まれるノード番号をアドレスとして自己の持つプログラム記憶メモリをアクセスし、次に行なわれるべき命令コードと次のノード番号とを参照して、データパケットを構成し出力する。プログラム記憶部４０が出力するデータパケットは、そこに含まれるノード番号にしたがってデータ駆動型情報処理装置３００の外部または合流部３０に分岐部４２によって振分けられる。
【００１７】
図１１を参照して、データ駆動型情報処理装置３００に入力されるデータパケットはデータパケットのヘッダに相当する情報を格納するためのタグ情報領域３６０と、データを格納するためのデータ領域２１２とを含む。
【００１８】
タグ情報領域３６０は、命令コード１００と、ノード番号１０２と、世代番号１０４と、左右属性フラグ１０６とを含む。
【００１９】
命令コード１００は、演算部３８内で行なわれる処理を特定するためのものである。演算部３８内の命令デコーダが命令コードをデコードすることにより、その命令コードに対応した特定の処理が実行される。
【００２０】
ノード番号１０２は図１２のプログラム記憶部４０に記憶されている命令コードとノード番号とを参照するためのアドレスとして使用される。
【００２１】
世代番号１０４は、時系列的に入力されるデータパケットのうちのデータ群同士を区別するためのデータの識別子として使用される。これらデータ群同士を世代番号で区別することにより、データ群同士は互いに並列に処理される。世代番号１０４はまた、画像メモリ３１０内に格納されている画像データをアクセスするためのアドレスとしての意味を有している。画像メモリ３１０のアドレスとして見る場合、世代番号１０４は上位ビットから順に、画像のページ番号を表わすフィールド番号ＦＤと、画像中の座標（ｘ、ｙ）を表わすライン番号ＬＮおよびピクセル番号ＰＸとを含む。
【００２２】
左右属性フラグ１０６は、いわゆる２項演算においてデータが演算の第１項のデータ（以下「左データ」と呼ぶ）であるか、第２項のデータ（以下「右データ」と呼ぶ。）であるかを示すためのフラグである。
【００２３】
データ領域２１２は、ｎ＋１個のデータ１０８−ｎ〜１０８−０を含む。
図１２に示すメモリ制御部３８０、演算部３８および画像メモリ部２２の関係を拡大して図１３に示す。図１３を参照して、演算部３８は、２項演算を行なう２項演算器１４０を含む。この２項演算器１４０は、第１の入力１４０Ａと第２の入力１４０Ｂとを有し、かつ第１項と第２項との関係が対称でない演算を行なうものとする。たとえば、第１の入力に与えられるデータを第１項、第２の入力に与えられるデータを第２項として、「第１項−第２項」という演算がそうした演算に相当する。
【００２４】
メモリ制御部３８０は、左右属性のある入力データのうち、一方のデータが画像メモリ部２２にアクセスする際のアドレスとなるようにデータの属性が予め定まっている場合、以下のような機能を実現する。たとえば、左データがメモリアドレスであり、右データが入力データである場合にはメモリ制御部３８０は以下のような機能を実現する。
【００２５】
メモリ制御部３８０は、発火制御部３２から与えられる右データ１２２はそのまま２項演算器１４０の第１の入力１４０Ａに与える。メモリ制御部３８０はさらに、発火制御部３２から与えられる左データ１２４をアドレス１２６として画像メモリ部２２に与える。メモリ制御部３８０は、このアクセスの結果画像メモリ部２２から出力されるメモリ参照値１２８を２項演算器１４０の第２の入力１４０Ｂに与える。すなわちこの場合、２項演算器１４０は、「入力データ−メモリ参照値」という演算を行なう。
【００２６】
【発明が解決しようとする課題】
上記した演算とよく似た演算として、「メモリ参照値−入力データ」という演算を行なうことが考えられる。この場合、上記した２項演算器１４０を用いるのであれば、一度「入力データ−メモリ参照値」という演算を行なったのち、さらに結果の符号を反転するという演算を行なう必要がある。または、「メモリ参照値−入力データ」という演算を行なう別の演算器を用意する必要がある。
【００２７】
同じ２項演算器１４０を用いて、上記した二つの演算を実行できるようにし、かつその際に余分な演算が不要となるようにすれば、ハードウェア量を削減することができて好ましい。そうした問題は、このような２項演算に限らず、入力されるデータの位置によって演算結果が異なってくるような演算に共通する。以下、このように、入力されるデータの位置（入力位置）によって演算結果が異なってくるような演算を「非対称な演算」と呼ぶこととする。ここではデータの「入力位置」と呼ぶが、これは各データの持つ属性情報と理解することもできる。
【００２８】
したがって本発明の目的は、非対称な演算を少ないハードウェアで実行することができ、かつ演算速度を犠牲にすることがないデータ駆動型情報処理装置を提供することである。
【００２９】
【課題を解決するための手段】
この発明のある局面にかかるデータ駆動型情報処理装置は、タグ情報と、複数個のデータとを含むデータパケットを出力する対データ生成部と、対データ生成部の出力であるデータパケットを受け、対データ生成部から与えられる当該データパケット内の複数個のデータのうちの所定個数である第１のデータを用いたアドレス指定によりメモリを参照して得た第１のデータに対応するメモリ参照値と、当該データパケット内の複数個のデータのうちの第１のデータとは異なる第２のデータとを出力するメモリ制御部と、メモリ参照値と第２のデータとに対して、データの入力位置に依存して結果が異なってくる、非対称な演算を行なって結果を出力する演算部と、予めプログラムを記憶し、演算部の出力を受けてタグ情報中に次の命令を含んだデータパケットを生成して出力するプログラム記憶部と、プログラム記憶部の出力と、対データ生成部の入力と、外部とに接続され、データパケットのタグ情報に基づいてデータパケットを外部または対データ生成部に与えるためのデータパケット制御部とを含むデータ駆動型情報処理装置であって、メモリ制御部と演算部との間に接続され、対データ生成部から出力されるデータパケット内のタグ情報に基づいて、メモリ制御部から出力されるメモリ参照値と、第２のデータとの入力位置を入替えて演算部に与える選択器をさらに含む。
【００３０】
好ましくは、対データ生成部は、タグ情報と、第１および第２のデータの二つのデータとを含むデータパケットを出力し、メモリ制御部がメモリアクセスに使用するデータの個数（所定個数）は１個である。
【００３１】
対データ生成部は、複数個のデータの各々について、演算部において行なわれる非対称な演算への入力位置を表わす入力位置情報をタグ情報に含ませ、選択器は、タグ情報に含まれる入力位置情報を用いて各データの演算部への入力位置を入替えるようにしてもよい。
【００３２】
選択器は、タグ情報に含まれる命令コードを用いて各データの演算部への入力位置を入替えるようにしてもよい。
【００３３】
対データ生成部は、複数個のデータの各々について、演算部において行なわれる非対称な演算に対する入力データの属性を表わす属性情報をタグ情報に含ませ、選択器は、タグ情報に含まれる属性情報を用いて各データの演算部への入力位置を入替えるようにしてもよい。
【００３４】
【発明の実施の形態】
[第１の実施の形態]
図１を参照して、本発明の第１の実施の形態にかかるデータ駆動型情報処理装置２０は、合流部３０と、合流部３０からデータパケットを受ける発火制御部３２と、発火制御部３２から与えられるデータパケットに基づいて、画像メモリ部２２に対するアクセスを実行するためのメモリ制御部３４と、メモリ制御部３４から出力されるデータパケットの右データと左データとを、データパケット内のタグ領域情報に格納されたタグ領域情報に基づいて入替える処理、およびそのまま出力する処理のいずれかを選択的に行なうための選択器３６とを含む。
【００３５】
データ駆動型情報処理装置２０はさらに、選択器３６から出力されるデータパケット内の左右データに対して、当該データパケットに含まれる命令コードにより決定される処理を行ない、結果を、次の命令のノード番号を含むデータパケットとして再構成し出力するための演算部３８と、演算部３８からのデータパケットを受けるプログラム記憶部４０と、プログラム記憶部４０からデータパケットを受ける分岐部４２とを含む。
【００３６】
図１において、図１２に示される部品と同じ部品には、同じ名称および参照符号を付してある。それらの機能も同一である。したがってここではそれらについての詳細な説明は繰返さない。
【００３７】
図１に示されるデータ駆動型情報処理装置において、発火制御部３２に入力される右データおよび左データのパケット形式をそれぞれ図２の上段の左右に、発火制御部３２から出力されるデータパケット５４のパケット形式を図２の下段に、それぞれ示す。
【００３８】
図２を参照して、右データのデータパケット５０と左データのデータパケット５２とは同じフォーマットである。すなわち、右データパケット５０は、命令コード６０、ノード番号６２、世代番号６４、データが右属性であることを識別するための右属性フラグ６６、および右データ６８を含む。左データのデータパケット５２は、命令コード７０、ノード番号７２、世代番号７４、データが左属性であることを識別するための左属性フラグ７６、および左データ７８を含む。
【００３９】
発火制御部３２から出力されるデータパケット５４は、タグ情報領域９０とデータ領域９２とを含む。タグ情報領域９０は、命令コード１００、ノード番号１０２、世代番号１０４、右属性フラグ１０６および左属性フラグ１０８を含む。データ領域９２は、右データ１１０および左データ１１２を含む。
【００４０】
発火制御部３２は、発火があった場合、右データのデータパケット５０の右属性フラグ６６と右データ６８とをそれぞれ出力データパケット５４の右属性フラグ１０６および右データ１１０に設定する。発火制御部３２はまた、左データのデータパケット５２の左属性フラグ７６および左データ７８をそれぞれ出力データパケット５４の左属性フラグ１０８および左データ１１２に設定する。したがって、右属性フラグ６６、左属性フラグはそれぞれ、データの属性を示すとともに、演算へのデータの入力位置（第１項か、第２項か）を示す入力位置情報であると考えることもできる。タグ情報領域９０内のほかの情報は、左右のデータパケット５０、５２と共通である。
【００４１】
図１に示されるメモリ制御部３４、画像メモリ部２２、選択器３６および演算部３８を抜き出して図３に示す。図３を参照して、演算部３８は図１３に示したものと同様の２項演算器１４０を有するものとする。
【００４２】
図３を参照して、選択器３６は、メモリ制御部３４からの右データ１２２を受けるように接続された第１の入力、メモリ参照値１２８を受けるように接続された第２の入力、データパケットのタグ情報１２０を反転したものを受けるように接続された制御入力、および出力線１３０を介して２項演算器１４０の第１の入力１４０Ａに接続された出力を有する第１のマルチプレクサ１５０と、メモリ制御部３４からの右データ１２２を受けるように接続された第１の入力、メモリ参照値１２８を受けるように接続された第２の入力、データパケットのタグ情報１２０を受けるように接続された制御入力、および出力線１３２を介して２項演算器１４０の第２の入力１４０Ｂに接続された出力を有する第２のマルチプレクサ１５２とを含む。
【００４３】
第１のマルチプレクサ１５０は、与えられるタグ情報を反転したものにしたがって二つの入力のいずれか一方を選択して出力する機能を有する。第２のマルチプレクサ１５２は、与えられるタグ情報にしたがって二つの入力のいずれか一方を選択して出力する機能を有する。すなわち第１および第２のマルチプレクサ１５０、１５２は、一方が第１の入力を選択しているときには、他方は第２の入力を選択するように、相補的に動作する。
【００４４】
ここで挙げる例においては、右データ１２２に入力データ、左データ１２４に画像メモリ参照値が与えられる場合、選択器３６はタグ情報にしたがって右データ１２２をそのまま出力線１３０上に出力し、左データ１２４そそのまま出力線１３２上に出力する。また右データ１２２に画像メモリ参照値、左データ１２４に入力データがそれぞれ与えられる場合、選択器３６はタグ情報にしたがって右データは出力線１３２に、左データは出力線１３０上に、それぞれ出力する。
【００４５】
このように、メモリ制御部３４と演算部３８との間に選択器３６を設けることにより、２項演算の第１項と第２項とを容易に切替えて同じ演算器で演算をすることができる。そのため演算のための回路のハードウェア量を増加させることなく、複数通りの演算を行なうことが可能となる。またそのためにデータパケットを余分に循環させる必要もない。
【００４６】
［第２の実施の形態］
上記した第１の実施の形態の装置では、選択器３６内のマルチプレクサの制御に、タグ情報を用いていた。しかし本発明はそうした実施の形態のみに限定されるわけではない。第２の実施の形態の装置では、図４に示す選択器３６に代えて、図５に示されるように、データパケット中の左右属性フラグ中の一部のビットに基づいて動作する選択器１６０を含む。
【００４７】
図５を参照して、この選択器１６０は、二つのマルチプレクサ１７２および１７４を含む。マルチプレクサ１７２の第１の入力には右データ１２２が入力される。第２の入力にはメモリ参照値１２８が入力される。出力は出力線１３０に接続される。マルチプレクサ１７２の制御端子には左右属性フラグ中の一部のビットを反転したものが入力される。マルチプレクサ１７４の第１の入力には右データ１２２が入力される。第２の入力にはメモリ参照値１２８が入力される。出力は出力線１３２に接続される。マルチプレクサ１７４の制御端子には左右属性フラグ中の一部のビットがそのまま入力される。
【００４８】
この第２の実施の形態の装置も、第１の実施の形態の装置と同様に動作し、同様の効果を奏することは明らかである。
【００４９】
［第３の実施の形態］
第３の実施の形態の装置では、図４に示す選択器３６または図５に示す選択器１６０に代えて、図６に示されるように、データパケット中の命令コード１９０に基づいて動作する選択器１８０を含む。
【００５０】
図６を参照して、この選択器１８０は、二つのマルチプレクサ１９２および１９４を含む。マルチプレクサ１９２の第１の入力には右データ１２２が入力される。第２の入力にはメモリ参照値１２８が入力される。出力は出力線１３０に接続される。マルチプレクサ１９２の制御端子には命令コード１９０を反転したものが入力される。マルチプレクサ１９４の第１の入力には右データ１２２が入力される。第２の入力にはメモリ参照値１２８が入力される。出力は出力線１３２に接続される。マルチプレクサ１９４の制御端子には命令コード１９０がそのまま入力される。
【００５１】
この第３の実施の形態の装置も、第１または第２の実施の形態の装置と同様に動作することは明らかである。
【００５２】
［第４の実施の形態］
第１の実施の形態〜第３の実施の形態にかかるデータ駆動型情報処理装置は、いずれも２項演算を行なう場合の改良に関していた。しかし、本発明は２項演算のみに適用可能なわけではなく、命令の実行結果が、命令への入力データの位置によって変わってくる非対称な演算であればどのようなものでもよい。第４の実施の形態の装置は、演算への入力が全部でｎ＋１個であり、その各々のデータについて左右の属性が設定されている場合を扱う。
【００５３】
図７に、この第４の実施の形態の装置で扱うデータパケットのフォーマットをを示す。このデータパケットは、図１に示す発火制御部３２に相当する部分から、この第４の実施の形態にかかるデータ駆動型処理装置の演算部に与えられる。図７を参照して、このデータパケット２００は、タグ情報領域２１０とデータ領域２１２とを含む。
【００５４】
タグ情報領域２１０は、命令コード１００、ノード番号１０２、世代番号１０４および左右属性フラグ領域１０６を含む。命令コード１００、ノード番号１０２、世代番号１０４は、図２に示した命令コード１００、ノード番号１０２および世代番号１０４と同じである。左右属性フラグ領域１０６は、後述するデータ領域２１２内の各データブロックごとに左右属性を識別するフラグを格納している。
【００５５】
データ領域２１２は、ｎ＋１個のデータブロック１０８−ｎ〜１０８−０を含む。本実施の形態では、左右属性フラグ領域１０６は、各データブロックごとにに、そのデータがそのまま入力データとなるか、画像メモリ部のアクセスのためのアドレス情報であるかを識別するフラグ（左右属性フラグ）を格納している。
【００５６】
ｎ＋１個のブロックのうち、タグ情報で決まるＸ個のブロックが入力データとなり、Ｙ（＝ｎ＋１−Ｘ）個のブロックが画像メモリ部のアクセスのためのアドレス情報であるとする。以下、説明を簡単にするために上記したＸ個のブロックについては左データ、Ｙ個のデータについては右データとして説明する。
【００５７】
図８を参照して、本実施の形態にかかるデータ駆動型情報処理装置は、図１に示すメモリ制御部３４、選択器３６および演算部３８にかえて、ｎ＋１個のデータについて後述する処理を行なうメモリ制御部２２０、選択器２２４および演算器２２６を含む。なお、本実施の形態にかかるデータ駆動型情報処理装置の構成のうち、メモリ制御部２２０、選択器２２４および演算器２２６以外の部分については、図１に示されるものとパケット構成を除いて同様である。
【００５８】
データ駆動型情報処理装置のメモリ制御部２２０は、ｎ＋１個のメモリ２２２−０〜２２２−ｎ個に接続されている。メモリ制御部２２０は、上記したＹ個の右データ２３６とタグ情報とにしたがい、右データ２３６をアドレスとしてメモリにアクセスしてＹ個のメモリ参照値２３８を読出し、このメモリ参照値２３８でパケットの右データ領域を書換えて選択器２２４に与える機能を有する。メモリ制御部２２０はまた、上述した左データについてはそのまま選択器２２４に与える。
【００５９】
選択器２２４は、メモリ制御部２２０から与えられる、伝送されてきたデータパケット内のタグ情報２３２に基づき、データ領域２１２内にあるｎ＋１個のデータブロックの各々について、それを右データとして出力するか、左データとして出力するかを選択する機能を持つ。
【００６０】
図９を参照して、この選択器２２４は、二つのマルチプレクサ２５０、２５２を含む。マルチプレクサ２５０の第１の入力にはメモリ制御部２２０からの出力のうち右データ（メモリ参照値）に相当するＹ個の入力が接続される。第２の入力には、左データに相当するＸ個の入力が接続される。マルチプレクサ２５０は、タグ情報２３２の反転したものに基づいて、第１の入力または第２の入力を選択して出力する機能を持つ。同じくマルチプレクサ２５２の第１の入力には右データ（メモリ参照値）に相当するＹ個の入力が接続される。第２の入力には、左データに相当するＸ個の入力が接続される。マルチプレクサ２５２は、タグ情報２３２に基づいて、第１の入力または第２の入力を選択して出力する機能を持つ。
【００６１】
上述の説明から明らかなように、マルチプレクサ２５０と２５２とは、一方が第１の入力を選択しているときには他方は第２の入力を選択する、というように相補的に動作する。
【００６２】
演算部２２６は、選択器２２４から与えられるｎ＋１個の入力に対してｎ＋１項演算を行なう、入力に関して非対称の演算器２４０を含む。これら入力のうち、マルチプレクサ２５０から与えられるものが右入力であり、マルチプレクサ２５２から与えられるものが左入力である。
【００６３】
この第４の実施の形態の装置において、タグ情報によってセレクタ２５０が第１の入力を選択しているときには、セレクタ２５２は第２の入力を選択している。演算器２４０の右入力には右入力（メモリ参照値）２３８が与えられ、左入力には左入力２３４が与えられる。セレクタ２５０が第２の入力を選択しているときには、セレクタ２５２は第１の入力を選択している。演算器２４０の右入力には左入力２３４が与えられ、左入力には右入力（メモリ参照値）２３８が与えられる。
【００６４】
したがって、この第４の実施の形態においても、同一の演算器２４０を用いて、右入力と左入力とを入替えない演算と、入替えた演算との双方を実行することができる。しかも、そのために余計なサイクルの間、データパケットをデータ駆動型情報処理装置内で循環させる必要もない。したがって処理が高速化される。さらに、一命令でメモリを参照しその参照結果に対してある演算を行なう場合にも、メモリ参照値を右データとして演算する場合と、左データとして演算する場合とを同一の演算器を用いて実現することができる。両者を別演算としてそのために必要な別個の演算回路を設ける必要がなく、ハードウェア量を特に増大させることなく、より柔軟に非対称な演算を実行することが可能となる。
【００６５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００６６】
【発明の効果】
以上のようにこの発明によれば、メモリ参照値とそのほかの入力データとを、各データの入力位置情報、または各データの属性情報、または命令コードに基づいて入替えて演算部に与えることができる。そのため、非対称な演算を行なうために複数通りの演算回路を用いたりすることなく、非対称な演算を、各項目を入替えて実行することができる。またそのために実行速度が犠牲になることもない。
【図面の簡単な説明】
【図１】  本発明の第１の実施の形態にかかるデータ駆動型情報処理装置のブロック図である。
【図２】  第１の実施の形態の装置で用いられるデータパケットのフォーマットを示す図である。
【図３】  第１の実施の形態の装置の要部を拡大して示す図である。
【図４】  第１の実施の形態の装置で用いられる選択器のブロック図である。
【図５】  第２の実施の形態の装置で用いられる選択器のブロック図である。
【図６】  第３の実施の形態の装置で用いられる選択器のブロック図である。
【図７】  第４の実施の形態の装置で用いられるデータパケットのフォーマットを示す図である。
【図８】  第４の実施の形態の装置の要部を拡大して示す図である。
【図９】  第４の実施の形態の装置で用いられる選択器のブロック図である。
【図１０】  従来のデータ駆動型情報処理装置を用いたシステムの構成を示す図である。
【図１１】  従来のデータ駆動型情報処理装置で用いられるデータパケットのフォーマットを示す図である。
【図１２】  従来のデータ駆動型情報処理装置のブロック図である。
【図１３】  従来のデータ駆動型情報処理装置の要部を拡大して示す図である。
【符号の説明】
２０，３００  データ駆動型情報処理装置、２２，３０２  画像メモリ部、３０  合流部、３２  発火制御部、３４，２２０，３８０  メモリ制御部、３６，１６０，１８０，２２４  選択器、３８  演算部、４０  プログラム記憶部、４２  分岐部、１４０  ２項演算器、１５０，１５２，１７２，１７４，１９２，１９４  マルチプレクサ、２２２−０〜２２２−ｎ  メモリ、３１０  画像メモリ、３１２  メモリインタフェース
【図１】
0003958534.tif 000002
【図２】
0003958534.tif 000003
【図３】
0003958534.tif 000004
【図４】
0003958534.tif 000005
【図５】
0003958534.tif 000006
【図６】
0003958534.tif 000007
【図７】
0003958534.tif 000008
【図８】
0003958534.tif 000009
【図９】
0003958534.tif 000010
【図１０】
0003958534.tif 000011
【図１１】
0003958534.tif 000012
【図１２】
0003958534.tif 000013
【図１３】
0003958534.tif 000014