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

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

Info

Publication number
JP2007183712A
JP2007183712A JP2006000197A JP2006000197A JP2007183712A JP 2007183712 A JP2007183712 A JP 2007183712A JP 2006000197 A JP2006000197 A JP 2006000197A JP 2006000197 A JP2006000197 A JP 2006000197A JP 2007183712 A JP2007183712 A JP 2007183712A
Authority
JP
Japan
Prior art keywords
data
data set
arithmetic processing
generating
arithmetic
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.)
Granted
Application number
JP2006000197A
Other languages
English (en)
Other versions
JP4255475B2 (ja
Inventor
Shinichi Yoshida
眞一 芳田
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 JP2006000197A priority Critical patent/JP4255475B2/ja
Priority to US11/648,794 priority patent/US20070198811A1/en
Publication of JP2007183712A publication Critical patent/JP2007183712A/ja
Application granted granted Critical
Publication of JP4255475B2 publication Critical patent/JP4255475B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/82Architectures of general purpose stored program computers data or demand driven

Abstract

【課題】処理の高速化およびプログラムメモリ容量の削減が可能なデータ駆動型情報処理装置を提供すること。
【解決手段】対データ検出部12は、対となるデータの待合わせを行ない、対となるデータを格納したデータパケットを生成して出力する。演算処理部13は、対データ検出部12から出力されるデータパケットに含まれる第1のデータ組内の相互演算の対象となるデータを第2のデータ組に基づいて選択し、選択されたデータの相互演算を行なう。そして、プログラム記憶部14は、演算処理部13による演算結果に行き先情報および命令情報を付加したデータパケットを生成して出力する。したがって、種々の演算が行なえるようになり、処理効率を向上させることが可能となる。また、必要となるプログラムメモリの容量を削減することが可能となる。
【選択図】図1

Description

本発明は、入出力ポートを相互に接続することによりマルチプロセッサを構成することが可能なデータ駆動型情報処理装置に関し、特に、映像信号による画像データ等を高速に処理するデータ駆動型情報処理装置に関する。
近年、マルチメディア処理や高精細画像処理などの大容量データの高速処理が要求される様々な分野において、プロセッサ性能の向上に対する要求が高まっている。しかし、現在のLSI(Large Scale Integrated circuit)製造技術ではデバイスの高速化にも限度がある。そこで、並列処理が注目を浴びており、並列処理に関する研究、開発が盛んに行なわれている。
並列処理向きのコンピュータ・アーキテクチャの中でも、特にデータ駆動型アーキテクチャが注目されている。データ駆動型処理方式においては、「ある処理に必要な入力データが全て揃い、かつその処理に必要な演算装置などの資源が割当てられたときに処理が行なわれる。」という規則にしたがって、処理が並列に進められる。
図10は、従来のデータ駆動型情報処理装置の概略構成およびデータパケット構成の一例を示す図である。図10(a)に示すように、この従来のデータ駆動型情報処理装置は、合流部(J)211と、対データ検出部(FC)212と、演算処理部(FP)213と、プログラム記憶部(PS)214と、分岐部(B)215とを含み、周回パイプラインによって接続された構成を有する。
また、図10(b)に示すように、この従来のデータ駆動型情報処理装置で用いられるデータパケットは、命令情報216と、行き先情報(ノード番号)217と、世代番号218と、データ部219とを含む。このデータパケットにおいては、データ部219に1つのデータ1のみが含まれる。
命令情報216は、データ部219に対してどのような演算が行なわれるかを示す情報である。行き先情報217は、データがプログラムのどこをフェッチするかの情報を示しており、プログラム中のノード番号に相当する。世代番号218は、同一の行き先を有する複数のデータを識別するための情報である。
合流部211は、入力ポートおよび分岐部215から入力されるデータパケットの調停を行ない、これらのデータパケットを所定の順序に並べ替えて対データ検出部212に出力する。
対データ検出部212は、合流部211からデータパケットを受けると、演算すべき2つのデータパケットが揃うまで待合わせを行ない、データパケットが揃い次第これらのデータパケットを演算処理部213に出力する。なお、待合わせを行なう必要がないデータパケットはそのまま対データ検出部212から出力される。
演算処理部213は、対データ検出部212から受けたデータパケットに含まれる演算命令に応じて、データパケットに含まれるデータに加算、乗算などの算術演算や、論理演算などの演算を実行し、データパケットにその演算結果を格納してプログラム記憶部214に出力する。
プログラム記憶部214は、演算処理部213から受けたデータパケットに、プログラムの次の演算命令や行き先情報(ノード番号)を付加し、所定のビットフィールドによって構成されるデータパケットを生成して分岐部215に出力する。
分岐部215は、プログラム記憶部214から出力されたデータパケットの行き先情報を参照し、そのデータパケットを自身のプロセッサ内で処理すべきか否かを判定する。データパケットを自身のプロセッサ内で処理すべきと判定すれば、そのデータパケットを合流部211に出力する。データパケットが他のプロセッサで処理されるべきと判定すれば、そのデータパケットをプロセッサ外部に出力する。
このようなデータ駆動型情報処理装置に関連する技術として、特開平9−114664号公報(以下、特許文献1と呼ぶ。)に開示された発明がある。
図11は、特許文献1に開示されたデータ駆動型情報処理装置の概略構成およびデータパケット構成の一例を示す図である。図11(a)に示すように、このデータ駆動型情報処理装置は、図10(a)に示す構成に加えて入力制御部210が追加されている。この入力制御部210は、入力ポート1〜Nから互いに独立な複数のデータを受け、1つのデータパケットに収容する。
図11(b)は、入力制御部210によって生成された複数のデータを含んだデータパケットの一例を示す図である。このデータパケットにおいては、データ部219にポート1〜Nから受けたN個のデータが含まれ、複数のデータが単一の命令情報216などを共有する構成となっている。
データ1〜Nの一例として、たとえば連続する世代番号を有し、かつ、それぞれが同一の命令情報216および行き先情報217を有するN個のデータを挙げることができる。この場合、世代番号218は、たとえばデータ1の世代番号とする。他のデータ2〜Nの世代番号は、各データの格納位置に基づいて世代番号218から復元することが可能である。
図11(c)は、対データ検出部212によって待合わせが行なわれた後のデータパケットの一例を示す図である。このデータパケットにおいては、2つのデータ組220および221を含み、第1のデータ組220はデータA〜Aを含み、第2のデータ組221はデータB〜Bを含む。
演算処理部213は、第1のデータ組220の各データA〜Aと、第2のデータ組221の各データB〜Bとの演算を並列に行なう。これによって、データの冗長度を下げ、処理の効率を向上させることが可能となる。
特開平9−114664号公報 特開2001−256214号公報
しかしながら、上述した特許文献1に開示されたデータ駆動型情報処理装置は、複数のデータを有するデータパケットを処理することが可能であるが、1つのデータ組内のデータ間の相互の演算を行なうことはできない。
一方、特許文献2は、データパケット内の複数のデータの並べ替えを行なうreorder命令をサポートしたデータ駆動型情報処理装置を開示している。
図12は、特許文献2に開示されたreorder命令を実行するための演算器を示す図である。この演算器は、4つのマルチプレクサ(以下、MUXと呼ぶ。)231〜234を含む。
MUX231は、第2のデータ組221内のデータB0に応じて、第1のデータ組220内のデータA0〜A3のいずれかを選択し、その結果を第3のデータ組222内のC0として出力する。MUX232は、第2のデータ組221内のデータB1に応じて、第1のデータ組220内のデータA0〜A3のいずれかを選択し、その結果を第3のデータ組222内のC1として出力する。MUX233は、第2のデータ組221内のデータB2に応じて、第1のデータ組220内のデータA0〜A3のいずれかを選択し、その結果を第3のデータ組222内のC2として出力する。MUX234は、第2のデータ組221内のデータB3に応じて、第1のデータ組220内のデータA0〜A3のいずれかを選択し、その結果を第3のデータ組222内のC3として出力する。
図13は、reorder命令を用いた演算処理の一例を示す図である。第2のデータ組221として、(B0,B1,B2,B3)に(3,2,0,1)が設定されている場合、reorder命令が実行されると、第1のデータ組220の(A0,A1,A2,A3)が(A3,A2,A0,A1)に並べ替えられて、第3のデータ組222として出力される。
図14は、データ組内の3画素に関する平滑化フィルタの処理を示す図である。図14においては、第1のデータ組220と、第2のデータ組223とを用いて平滑化フィルタの処理を行なうところを示しており、第3のデータ組(C0,C1,C2,C3)として、(A0+A1+A2,A1+A2+A3,A2+A3+A4,A3+A4+A5)が出力されるところを示している。
図15は、図14に示す平滑化フィルタ処理のプログラム記述の一例を示す図である。reorder命令301によって、第1のデータ組220が(A1,A2,A3,A0)に並べ替えられる。さらに、mul命令302によって、不要なデータにゼロが乗算されて(A1,A2,A3,0)となる。したがって、add命令303による演算結果として、(A0+A1,A1+A2,A2+A3,A3)が出力される。
また、reorder命令304によって、mul命令302から出力されるデータ組が(A2,A3,0,0)に並べ替えられる。このとき、add命令305による演算結果として、(A0+A1+A2,A1+A2+A3,A2+A3,A3)が出力される。
一方、reorder命令306によって、第2のデータ組223が(A4,A4,A4,A5)に並べ替えられる。さらに、mul命令307によって、不要なデータにゼロが乗算され(0,0,A4,A5)となる。さらに、reorder命令308によって、mul命令307から出力されるデータ組が(0,0,0,A4)に並べ替えられる。このとき、add命令309による演算結果として、(0,0,A4,A4+A5)が出力される。したがって、add命令310による演算結果として、(A0+A1+A2,A1+A2+A3、A2+A3+A4,A3+A4+A5)が出力される。
このように、reorder命令、mul命令、および、add命令を繰返して平滑化フィルタ処理を行なうことができるが、これらの命令を合わせると10命令が必要になる。したがって、処理効率が低下するとともに、必要となるプログラムメモリの容量が増大するといった問題点があった。
本発明は、上記問題点を解決するためになされたものであり、第1の目的は、処理の高速化が可能なデータ駆動型情報処理装置を提供することである。
第2の目的は、プログラムメモリ容量の削減が可能なデータ駆動型情報処理装置を提供することである。
本発明のある局面に従えば、データ駆動型情報処理装置は、対となるデータの待合わせを行ない、対となるデータを格納したデータパケットを生成して出力する対データ検出手段と、対データ検出手段から出力されるデータパケットに含まれる複数のデータ組に対して演算を行なう演算処理手段と、演算処理手段による演算結果に行き先情報および命令情報を付加したデータパケットを生成して出力するプログラム記憶手段とを含み、演算処理手段は、第1のデータ組内の相互演算の対象となるデータを第2のデータ組に基づいて選択し、選択されたデータの相互演算を行なう。
好ましくは、演算処理手段は、値ゼロのデータを発生する値ゼロ発生手段と、第2のデータ組内のデータのそれぞれに基づいて、第1のデータ組内のそれぞれのデータと値ゼロ発生手段によって発生された値ゼロのデータとを選択的に出力する複数の選択手段と、複数の選択手段から出力されるデータを加算する加算手段とを含む。
好ましくは、演算処理手段は、予め設定された最小値のデータを発生する最小値発生手段と、第2のデータ組内のデータのそれぞれに基づいて、第1のデータ組内のそれぞれのデータと最小値発生手段によって発生された最小値のデータとを選択的に出力する複数の選択手段と、複数の選択手段から出力されるデータの中から最大値を算出して出力する最大値算出手段とを含む。
本発明の別の局面に従えば、データ駆動型情報処理装置は、対となるデータの待合わせを行ない、対となるデータを格納したデータパケットを生成して出力する対データ検出手段と、対データ検出手段から出力されるデータパケットに含まれる複数のデータ組に対して演算を行なう演算処理手段と、演算処理手段による演算結果に行き先情報および命令情報を付加したデータパケットを生成して出力するプログラム記憶手段とを含み、演算処理手段は、第1のデータ組内のそれぞれのデータに対して、第2のデータ組内の対応するデータで修飾演算を行なう。
好ましくは、演算処理手段は、第1のデータ組内のそれぞれのデータと、第2のデータ組内のデータを分割して得られた分割データのそれぞれとを乗算する複数の乗算手段と、複数の乗算手段からの乗算結果を加算する加算手段とを含む。
本発明のある局面によれば、演算処理手段が、第1のデータ組内の相互演算の対象となるデータを第2のデータ組に基づいて選択し、選択されたデータの相互演算を行なうので、種々の演算が行なえるようになり、処理効率を向上させることが可能となる。また、必要となるプログラムメモリの容量を削減することが可能となる。
また、演算処理手段が、値ゼロのデータを発生する値ゼロ発生手段と、第2のデータ組内のデータのそれぞれに基づいて、第1のデータ組内のそれぞれのデータと値ゼロ発生手段によって発生された値ゼロのデータとを選択的に出力する複数の選択手段と、複数の選択手段から出力されるデータを加算する加算手段とを含むので、平滑化フィルタ処理などを高速に行なうことが可能となる。
また、演算処理手段が、予め設定された最小値のデータを発生する最小値発生手段と、第2のデータ組内のデータのそれぞれに基づいて、第1のデータ組内のそれぞれのデータと最小値発生手段によって発生された最小値のデータとを選択的に出力する複数の選択手段と、複数の選択手段から出力されるデータの中から最大値を算出して出力する最大値算出手段とを含むので、データ組内の特定のデータの最大値を算出することが可能となる。
本発明の別の局面によれば、演算処理手段が、第1のデータ組内のそれぞれのデータに対して、第2のデータ組内の対応するデータで修飾演算を行なうので、第2のデータの与え方によって種々の演算が行なえるようになり、処理効率を向上させることが可能となる。また、必要となるプログラムメモリの容量を削減することが可能となる。
また、演算処理手段が、第1のデータ組内のそれぞれのデータと、第2のデータ組内のデータを分割して得られた分割データのそれぞれとを乗算する複数の乗算手段と、複数の乗算手段からの乗算結果を加算する加算手段とを含むので、積和演算を高速に行なうことが可能となる。
(第1の実施の形態)
図1は、本発明の第1の実施の形態におけるデータ駆動型情報処理装置の概略構成を示すブロック図である。このデータ駆動型情報処理装置は、入力制御部10と、合流部11と、対データ検出部12と、演算処理部13と、プログラム記憶部14と、分岐部15とを含み、周回パイプラインによって接続された構成を有する。
入力制御部10は、入力ポート1〜Nから互いに独立な複数のデータを受け、1つのデータパケットに収容して合流部11に出力する。なお、この入力制御部10が存在せず、合流部11が外部から直接複数のデータを含んだデータパケットを受けるようにしてもよい。
合流部11は、入力制御部10および分岐部15から入力されるデータパケットの調停を行ない、これらのデータパケットを所定の順序に並べ替えて対データ検出部12に出力する。
対データ検出部12は、合流部11からデータパケットを受けると、演算すべき2つのデータパケットが揃うまで待ち合わせを行ない、データパケットが揃い次第これらのデータパケットを演算処理部13に出力する。なお、待合わせを行なう必要がないデータパケットはそのまま対データ検出部12から出力される。
演算処理部13は、対データ検出部12から受けたデータパケットに含まれる演算命令に応じて、データパケットに含まれるデータに加算、乗算などの算術演算や、論理演算などの演算を実行し、データパケットにその演算結果を格納してプログラム記憶部14に出力する。
プログラム記憶部14は、演算処理部13から受けたデータパケットに、プログラムの次の演算命令や行き先情報(ノード番号)を付加し、所定のビットフィールドによって構成されるデータパケットを生成して分岐部15に出力する。
分岐部15は、プログラム記憶部14から出力されたデータパケットの行き先情報を参照し、そのデータパケットを自身のプロセッサ内で処理すべきか否かを判定する。データパケットを自身のプロセッサ内で処理すべきと判定すれば、そのデータパケットを合流部11に出力する。データパケットが他のプロセッサで処理されるべきと判定すれば、そのデータパケットをプロセッサ外部に出力する。
図2は、本発明の第1の実施の形態におけるデータ駆動型情報処理装置の演算処理部13における演算処理を説明するための図である。なお、この図2においては、第1のデータ組20のみが有効である場合を示しており、対データ検出部12での待合わせは行なわれない。
図2に示すデータパケットは、命令情報16と、行き先情報(ノード番号)17と、世代番号18と、第1のデータ組20とを含む。また、データ組20は、NビットのデータA〜Aを含む。演算処理部13は、命令情報16に応じて第1のデータ組20に含まれるデータA〜Aに対する相互演算を行ない、その演算結果C〜Cを出力データパケットのデータ組22に格納する。
図3は、本発明の第1の実施の形態における演算処理部13の構成例を示す図である。演算処理部13は、2つのデータの加算を行なう2入力加算器ADD2(31)と、3つのデータの加算を行なう3入力加算器ADD3(32)と、4つのデータの加算を行なう4入力加算器ADD4(33)とを含む。この演算処理部13によって、演算結果(A0,A0+A1,A0+A1+A2,A0+A1+A2+A3)がデータ組22として出力される。なお、演算処理部13は、演算命令の種類に対応する他の演算器を複数有するものとする。
また、図3に示す演算処理部13の構成は一例であって、データ組20に含まれる複数のデータに対する相互演算を行なうものであれば、演算器がどのように構成されていてもよい。
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、データパケットに含まれるデータ組に対して相互演算を行なうようにしたので、対データの待合わせを行なう必要がなく、データ駆動型情報処理装置の処理効率を向上させることが可能となった。また、演算処理部13にアプリケーションに適した演算回路を組込むことによって、処理効率を向上させることができるとともに、必要となるプログラムメモリの容量を削減することが可能となった。
(第2の実施の形態)
本発明の第2の実施形態におけるデータ駆動型情報処理装置の概略構成は、図1に示す第1の実施の形態におけるデータ駆動型情報処理装置の概略構成と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
図4は、本発明の第2の実施の形態におけるデータ駆動型情報処理装置の演算処理部13における演算処理を説明するための図である。なお、この図4においては、第1のデータ組20および第2のデータ組21の両方が有効である場合を示しており、対データ検出部12での待合わせが行なわれたものである。
図4においては、第2のデータ組21の内容(データB〜B)をマルチプレクサ(MUX)の選択入力とし、MUXが第1のデータ組20の内容(データA〜A)のいずれを演算対象とするかを選択する。演算処理部13は、命令情報16に応じてMUXから出力されるデータに対する相互演算を行ない、その演算結果C〜Cを出力データパケットのデータ組22に格納する。
図5は、本発明の第2の実施の形態における演算処理部13の構成例を示す図である。演算処理部13は、4つのデータの加算を行なう4入力加算器ADD4(41〜44)を含む。ADD4(41〜44)のそれぞれには、第1のデータ組20(A0〜A3)が入力され、第2のデータ組21内のデータB0〜B3に応じて、4つのデータの演算を行なう。
ADD4(41〜44)は同じ内部構成を有しているが、ADD4(44)を例にとって説明する。ADD4(44)は、データB3(51)内の各ビットに応じてデータを選択するMUX52〜55と、値ゼロのデータを発生する値ゼロ発生器56と、4入力加算器57とを含む。
MUX52は、データB3(51)のビット0が“0”のときに、値ゼロ発生器56からの値を選択して出力し、データB3(51)のビット0が“1”のときに、第1のデータ組20内のデータA0を選択して出力する。
MUX53は、データB3(51)のビット1が“0”のときに、値ゼロ発生器56からの値を選択して出力し、データB3(51)のビット1が“1”のときに、第1のデータ組20内のデータA1を選択して出力する。
MUX54は、データB3(51)のビット2が“0”のときに、値ゼロ発生器56からの値を選択して出力し、データB3(51)のビット2が“1”のときに、第1のデータ組20内のデータA2を選択して出力する。
また、MUX55は、データB3(51)のビット3が“0”のときに、値ゼロ発生器56からの値を選択して出力し、データB3(51)のビット3が“1”のときに、第1のデータ組20内のデータA3を選択して出力する。
ADD57は、MUX52〜55から出力される値を加算して、第3のデータ組22内のデータC3として出力する。図5に示すように、データB3の下位4ビットが“0101”であれば、加算器57から“A0+A2”がデータC3として出力される。
図6は、図5に示す演算処理部13を用いて平滑化フィルタの処理を行なう場合のプログラム記述の一例を示す図である。なお、dcalcx命令は、図5に示す演算回路に演算を行なわせるための命令である。
dcalcx命令61によって、第1のデータ組20から演算結果(A0+A1+A2,A1+A2+A3,A2+A3,A3)が得られる。また、dcalcx命令62によって、第2のデータ組23から演算結果(0,0,A4,A4+A5)が得られる。add命令63によって、これらの演算結果が加算され、データC0〜C3として(A0+A1+A2,A1+A2+A3、A2+A3+A4,A3+A4+A5)が出力される。
このように、従来では10命令を要していた平滑化フィルタ処理のプログラムが、本実施の形態における演算処理部13によって3命令で実行できるようになる。
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、第2のデータ組21の内容(データB〜B)をMUXの選択入力とし、MUXが第1のデータ組20の内容(データA〜A)のいずれを演算対象とするかを選択するようにしたので、平滑化フィルタ処理などを高速に行なうことができ、処理効率を向上させることができるとともに、必要となるプログラムメモリの容量を削減することが可能となった。
(第3の実施の形態)
本発明の第3の実施形態におけるデータ駆動型情報処理装置の概略構成は、図1に示す第1の実施の形態におけるデータ駆動型情報処理装置の概略構成と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。また、本発明の第3の実施の形態におけるデータ駆動型情報処理装置の演算処理部13における演算処理は、図4を用いて説明したものと同様である。
図7は、本発明の第3の実施の形態における演算処理部13の構成例を示す図である。演算処理部13は、4つのデータの最大値を出力する4入力最大値算出器MAX4(71〜74)を含む。MAX4(71〜74)のそれぞれには、第1のデータ組20(A0〜A3)が入力され、第2のデータ組21内のデータB0〜B3に応じて、4つのデータの演算を行なう。
MAX4(71〜74)は同じ内部構成を有しているが、MAX4(74)を例にとって説明する。MAX4(74)は、データB3(81)内の各ビットに応じてデータを選択するMUX82〜85と、このシステムで取り扱うデータがとり得る最小値を発生する最小値発生器86と、4入力最大値算出器87とを含む。
MUX82は、データB3(81)のビット0が“0”のときに、最小値発生器86からの値を選択して出力し、データB3(81)のビット0が“1”のときに、第1のデータ組20内のデータA0を選択して出力する。
MUX83は、データB3(81)のビット1が“0”のときに、最小値発生器86からの値を選択して出力し、データB3(81)のビット1が“1”のときに、第1のデータ組20内のデータA1を選択して出力する。
MUX84は、データB3(81)のビット2が“0”のときに、最小値発生器86からの値を選択して出力し、データB3(81)のビット2が“1”のときに、第1のデータ組20内のデータA2を選択して出力する。
また、MUX85は、データB3(81)のビット3が“0”のときに、最小値発生器86からの値を選択して出力し、データB3(81)のビット3が“1”のときに、第1のデータ組20内のデータA3を選択して出力する。
MAX87は、MUX82〜85から出力される値の最大値を算出して、第3のデータ組22内のデータC3として出力する。図7に示すように、データB3の下位4ビットが“0101”であれば、MAX87からmax(A0,A2)がデータC3として出力される。
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、第2のデータ組21の内容(データB〜B)をMUXの選択入力とし、MUXが第1のデータ組20の内容(データA〜A)のいずれを演算対象とするかを選択するようにしたので、処理効率を向上させることができるとともに、必要となるプログラムメモリの容量を削減することが可能となった。
なお、本発明の第2の実施の形態および第3の実施の形態においては、演算内容を加算および最大値演算としたが、加算以外の減算、乗算などの算術演算や、最大値以外の最小値などの比較演算や、論理和、論理積などの論理演算などを演算内容とすることも可能である。
(第4の実施の形態)
本発明の第4の実施形態におけるデータ駆動型情報処理装置の概略構成は、図1に示す第1の実施の形態におけるデータ駆動型情報処理装置の概略構成と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
図8は、本発明の第4の実施の形態におけるデータ駆動型情報処理装置の演算処理部13における演算処理を説明するための図である。なお、この図8においては、第1のデータ組20および第2のデータ組21の両方が有効である場合を示しており、対データ検出部12での待合わせが行なわれたものである。
図8においては、第2のデータ組21の内容(データB〜B)を修飾演算子とし、第1のデータ組20の内容(データA〜A)に演算を行なう。演算処理部13は、命令情報16に応じて第1のデータ組20内のデータA〜Aに対する相互演算を行ない、その演算結果C〜Cを出力データパケットのデータ組22に格納する。
図9は、本発明の第4の実施の形態における演算処理部13の構成例を示す図である。演算処理部13は、4つのデータの加算を行なう4入力加算器ADD4(91〜94)を含む。ADD4(91〜94)のそれぞれには、第1のデータ組20(A0〜A3)が入力され、第2のデータ組21内のデータB0〜B3に応じて、4つのデータの演算を行なう。
ADD4(91〜94)は同じ内部構成を有しているが、ADD4(94)を例にとって説明する。ADD4(94)は、データB3(101)が4分割されて入力される乗算器MUL102〜105と、4入力加算器106とを含む。
MUL102は、第1のデータ組20内のデータA0に、データB3(101)内の下位4ビット(ビット3〜0)を乗算し、乗算結果をADD106に出力する。
MUL103は、第1のデータ組20内のデータA1に、データB3(101)内の次の下位4ビット(ビット7〜4)を乗算し、乗算結果をADD106に出力する。
MUL104は、第1のデータ組20内のデータA2に、データB3(101)内の次の下位4ビット(ビット11〜8)を乗算し、乗算結果をADD106に出力する。
また、MUL105は、第1のデータ組20内のデータA3に、データB3(101)内の上位4ビット(ビット15〜12)を乗算し、乗算結果をADD106に出力する。
ADD106は、MUL102〜105から出力される値を加算して、第3のデータ組22内のデータC3として出力する。図9に示すように、データB3が“0000 0101 1111 0111”であれば、4分割されたデータB0のそれぞれが符号付2進数と解釈すると、C3=(5×A2)−A1+(7×A0)となる。
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、第2のデータ組21の内容により、第1のデータ組20の内容を修飾演算するようにしたので、第2のデータ組21の与え方によって種々の演算が行なえるようになり、処理効率を向上させることが可能となった。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明の第1の実施の形態におけるデータ駆動型情報処理装置の概略構成を示すブロック図である。 本発明の第1の実施の形態におけるデータ駆動型情報処理装置の演算処理部13における演算処理を説明するための図である。 本発明の第1の実施の形態における演算処理部13の構成例を示す図である。 本発明の第2の実施の形態におけるデータ駆動型情報処理装置の演算処理部13における演算処理を説明するための図である。 本発明の第2の実施の形態における演算処理部13の構成例を示す図である。 図5に示す演算処理部13を用いて平滑化フィルタの処理を行なう場合のプログラム記述の一例を示す図である。 本発明の第3の実施の形態における演算処理部13の構成例を示す図である。 本発明の第4の実施の形態におけるデータ駆動型情報処理装置の演算処理部13における演算処理を説明するための図である。 本発明の第4の実施の形態における演算処理部13の構成例を示す図である。 従来のデータ駆動型情報処理装置の概略構成およびデータパケット構成の一例を示す図である。 特許文献1に開示されたデータ駆動型情報処理装置の概略構成およびデータパケット構成の一例を示す図である。 特許文献2に開示されたreorder命令を実行するための演算器を示す図である。 reorder命令を用いた演算処理の一例を示す図である。 データ組内の3画素に関する平滑化フィルタの処理を示す図である。 図14に示す平滑化フィルタ処理のプログラム記述の一例を示す図である。
符号の説明
10,210 入力制御部、11,211 合流部、12,212 対データ検出部、13,213 演算処理部、14,214 プログラム記憶部、15,215 分岐部、31 2入力加算器、32 3入力加算器、33,41〜44,57,91〜94,106 4入力加算器、52〜55,82〜85,231〜234 MUX、56 値ゼロ発生器、71〜74,87 4入力最大値算出器、86 最小値発生器、102〜105 乗算器。

Claims (5)

  1. 対となるデータの待合わせを行ない、対となるデータを格納したデータパケットを生成して出力する対データ検出手段と、
    前記対データ検出手段から出力されるデータパケットに含まれる複数のデータ組に対して演算を行なう演算処理手段と、
    前記演算処理手段による演算結果に行き先情報および命令情報を付加したデータパケットを生成して出力するプログラム記憶手段とを含み、
    前記演算処理手段は、第1のデータ組内の相互演算の対象となるデータを第2のデータ組に基づいて選択し、該選択されたデータの相互演算を行なう、データ駆動型情報処理装置。
  2. 前記演算処理手段は、値ゼロのデータを発生する値ゼロ発生手段と、
    前記第2のデータ組内のデータのそれぞれに基づいて、前記第1のデータ組内のそれぞれのデータと前記値ゼロ発生手段によって発生された値ゼロのデータとを選択的に出力する複数の選択手段と、
    前記複数の選択手段から出力されるデータを加算する加算手段とを含む、請求項1記載のデータ駆動型情報処理装置。
  3. 前記演算処理手段は、予め設定された最小値のデータを発生する最小値発生手段と、
    前記第2のデータ組内のデータのそれぞれに基づいて、前記第1のデータ組内のそれぞれのデータと前記最小値発生手段によって発生された最小値のデータとを選択的に出力する複数の選択手段と、
    前記複数の選択手段から出力されるデータの中から最大値を算出して出力する最大値算出手段とを含む、請求項1記載のデータ駆動型情報処理装置。
  4. 対となるデータの待合わせを行ない、対となるデータを格納したデータパケットを生成して出力する対データ検出手段と、
    前記対データ検出手段から出力されるデータパケットに含まれる複数のデータ組に対して演算を行なう演算処理手段と、
    前記演算処理手段による演算結果に行き先情報および命令情報を付加したデータパケットを生成して出力するプログラム記憶手段とを含み、
    前記演算処理手段は、第1のデータ組内のそれぞれのデータに対して、第2のデータ組内の対応するデータで修飾演算を行なう、データ駆動型情報処理装置。
  5. 前記演算処理手段は、前記第1のデータ組内のそれぞれのデータと、前記第2のデータ組内のデータを分割して得られた分割データのそれぞれとを乗算する複数の乗算手段と、
    前記複数の乗算手段からの乗算結果を加算する加算手段とを含む、請求項4記載のデータ駆動型情報処理装置。
JP2006000197A 2006-01-04 2006-01-04 データ駆動型情報処理装置 Expired - Fee Related JP4255475B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006000197A JP4255475B2 (ja) 2006-01-04 2006-01-04 データ駆動型情報処理装置
US11/648,794 US20070198811A1 (en) 2006-01-04 2007-01-03 Data-driven information processor performing operations between data sets included in data packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006000197A JP4255475B2 (ja) 2006-01-04 2006-01-04 データ駆動型情報処理装置

Publications (2)

Publication Number Publication Date
JP2007183712A true JP2007183712A (ja) 2007-07-19
JP4255475B2 JP4255475B2 (ja) 2009-04-15

Family

ID=38339761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006000197A Expired - Fee Related JP4255475B2 (ja) 2006-01-04 2006-01-04 データ駆動型情報処理装置

Country Status (2)

Country Link
US (1) US20070198811A1 (ja)
JP (1) JP4255475B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010282429A (ja) * 2009-06-04 2010-12-16 Canon Inc 画像処理装置及びその制御方法
JP2014112396A (ja) * 2014-01-07 2014-06-19 Canon Inc 画像処理装置及びその制御方法
JP2017033330A (ja) * 2015-08-03 2017-02-09 富士通株式会社 情報処理プログラム、情報処理装置およびレコードデータ処理方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8385971B2 (en) * 2008-08-19 2013-02-26 Digimarc Corporation Methods and systems for content processing
WO2015007369A1 (en) 2013-07-19 2015-01-22 Merck Patent Gmbh Biosensor array

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3285430B2 (ja) * 1993-09-02 2002-05-27 シャープ株式会社 データ駆動型情報処理装置
JP3706397B2 (ja) * 1994-06-06 2005-10-12 シャープ株式会社 データ駆動型情報処理装置
JPH08249306A (ja) * 1995-03-09 1996-09-27 Sharp Corp データ駆動型情報処理装置
JP3720094B2 (ja) * 1995-10-18 2005-11-24 シャープ株式会社 データ駆動型情報処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010282429A (ja) * 2009-06-04 2010-12-16 Canon Inc 画像処理装置及びその制御方法
JP2014112396A (ja) * 2014-01-07 2014-06-19 Canon Inc 画像処理装置及びその制御方法
JP2017033330A (ja) * 2015-08-03 2017-02-09 富士通株式会社 情報処理プログラム、情報処理装置およびレコードデータ処理方法

Also Published As

Publication number Publication date
US20070198811A1 (en) 2007-08-23
JP4255475B2 (ja) 2009-04-15

Similar Documents

Publication Publication Date Title
US6742012B2 (en) Apparatus and method for performing multiplication operations
CN111512292A (zh) 用于可配置空间加速器中的非结构化数据流的装置、方法和系统
KR101703797B1 (ko) 벡터 소팅 알고리즘 및 다른 알고리즘들을 지원하기 위한 트리 구조를 갖춘 기능 유닛
EP1351134A2 (en) Superpipelined arithmetic-logic unit with feedback
US7769982B2 (en) Data processing apparatus and method for accelerating execution of subgraphs
CN114207579A (zh) 包括标量处理单元的基于张量的硬件加速器
JP4349265B2 (ja) プロセッサ
JP4255475B2 (ja) データ駆動型情報処理装置
WO2020230374A1 (ja) 演算装置および演算システム
JP2006011825A (ja) 再構成可能演算装置および半導体装置
US7260711B2 (en) Single instruction multiple data processing allowing the combination of portions of two data words with a single pack instruction
US8358653B1 (en) Generating a pipeline of a packet processor from a parsing tree
US8385340B1 (en) Pipeline of a packet processor programmed to concurrently perform operations
JP5370352B2 (ja) Simd型プロセッサアレイシステム及びそのデータ転送方法
JP6378515B2 (ja) Vliwプロセッサ
EP1936492A1 (en) SIMD processor with reduction unit
US9164728B1 (en) Ternary DSP block
US8892623B2 (en) Data processing apparatus and method
US9606798B2 (en) VLIW processor, instruction structure, and instruction execution method
GB2523805A (en) Data processing apparatus and method for performing vector scan operation
JP2004220377A (ja) リコンフィギュラブル回路とそれを利用可能な集積回路装置およびデータ変換装置
US11113028B2 (en) Apparatus and method for performing an index operation
US8443102B1 (en) Pipeline of a packet processor programmed to extract packet fields
JP2009059187A (ja) マイクロプロセッサおよびデータ処理方法
JPH04184535A (ja) 並列演算装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080718

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090127

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

Free format text: PAYMENT UNTIL: 20120206

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140206

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees