JP2000503427A - 画像処理プロセッサ - Google Patents

画像処理プロセッサ

Info

Publication number
JP2000503427A
JP2000503427A JP09525576A JP52557697A JP2000503427A JP 2000503427 A JP2000503427 A JP 2000503427A JP 09525576 A JP09525576 A JP 09525576A JP 52557697 A JP52557697 A JP 52557697A JP 2000503427 A JP2000503427 A JP 2000503427A
Authority
JP
Japan
Prior art keywords
data
unit
bus
processor
input
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
JP09525576A
Other languages
English (en)
Other versions
JP3573755B2 (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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of JP2000503427A publication Critical patent/JP2000503427A/ja
Application granted granted Critical
Publication of JP3573755B2 publication Critical patent/JP3573755B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 本発明は実質的にプロセッサユニットのマトリックス配置構成に関しており、この場合は各プロセッサユニットが算術論理演算ユニット(ALU2)と結果レジスタ(REGF)の他にさらなる算術論理演算ユニット(ALU1)と、乗算器/加算器ユニット(MA)と、分割されたイメージセクションバッファの部分記憶ユニット(ISB)と、ローカル汎用メモリ(GBM)とを有している。このプロセッサは、僅かなチップ面にもかかわらず高い処理速度を有し、高度な計算力の必要なイメージ処理手法のもとでもリアルタイムの処理を可能にする。

Description

【発明の詳細な説明】 画像処理プロセッサ この種のプロセッサは、例えば二次元コンボルーション、ガボール変換、ガウ ス又はラプラシアンピラミッド、ブロックマッチング、DCT,MPEG2等の 集約的コンピュータアルゴリズムの迅速な処理のために必要とされる。 公知文献“Design und Electronic 12 ,13.06.1995,30‐35頁”からは、この 目的のために例えば、次のような装置が公知である。すなわち臨界的計算時間の 信号処理アルゴリズムが、思い通りのプログラミングが可能な特殊なプロセッサ によって処理され、レジスタがオンチップメモリを介して供給を受け、複雑なク ロスバースイッチがオンチップメモリとプロセッサの間の最適なコミュニケーシ ョンを確保する、装置が公知である。この場合の欠点は、オンチップメモリへの 要求が高いことと、並行した演算装置の数が少ないことに基づく計算能力の低さ である。さらに4つ以上の並行した信号プロセッサが使用されている場合には、 通信コストの上昇と、それに伴うチップ面の増加が累算的となる。 また公知のマイクロプロセッサレポート“The Insider's Guide to Microproc essor‐Hardware,Volume 8, Nr.13,Oktober 3,1994,5‐9頁”からは、2つの積分器と3つの不動小数点ユニ ットを有する、大規模なパイプライン式スーパースカラー64ビットRISCプ ロセッサが公知である。これは2つのグラフィックユニット、詳細には加減ユニ ットと、並列積分演算のための乗算ユニットによって拡張されている。しかしな がらこの場合はレジスタポートの数が限られているため、2つの浮動小数点ない しグラフィックコマンドしか同時に処理することができない。このことは、画像 処理における多くの要求に対する計算能力が不十分であることを意味する。 さらに同様の公知のマイクロプロセッサレポート“The Insider's Guide to M icroprocessor‐Hardware,Decmber 6,1994,12‐15頁”からは、部分的に異なる 複数の実行ユニットが設けられ、各命令毎にそれらのうちの5つまでが同時にア ドレッシング可能であるプロセッサが公知である。この場合の欠点は比較的複雑 なコンパイラである。これはプロセッサの全ての待ち時間を考慮し、パラレル命 令がハードウエアに最適に対立なしで使用されることを保証するものである。 1994年にシカゴで開かれたビジュアルコミュニケーションとイメージ処理 (VCIP’94)に関する国際会議の議事録や、1993年にカリフォルニア のサンディエゴで開かれたIEEE国際会議“Custom Integrated Circuit Conf erence”の議事録4.6.1−4 .6.3からは、ローカルメモリと、ローカルメモリとプロセッサ素子の間のハイデ ータレートを有する高度な一次元パラレルSIMDプロセッサアレイが公知であ る。ここでは複雑な演算が個々の演算から統合的に構築され、この統合的演算の 比較的長い実行時間がここでも大量のプロセッサ素子によって補償される。最初 のケースではグローバルなマトリックスメモリが設けられ、これが個々のプロセ ッサ素子に対する二次元画像区分の分配を許可している。第2のケースでは、グ ローバルなコミュニケーション機能が一度はロードされたデータの多重使用を許 容し、プロセッサアレイと外部メモリの間の所要のワイヤリング帯域幅を低減す る。この場合の欠点は、困難なプログラミングと、パイプライン型プロセッサ素 子の複雑な制御と、非パイプライン型プロセッサ素子の低い周波数と、大容量の オンチップメモリである。 本発明の課題は、僅かな所要チップ面積のもとで、画像処理に頻繁に要される 手法毎に可及的に高速な処理速度を達成することのできる、画像処理のためのプ ロセッサを提供することである。 この課題は請求項1の特徴部分に記載の本発明によって解決される。 本発明の有利な構成例は従属請求項に記載される。 本発明の特に有利な点は、種々のデータフォーマットに対するシステムのスカ ラー処理性や再構成が容易 なことである。また低コストなシステム構造、例えば本発明によるプロセッサの 他には実質的に標準的なメモリチップしか必要とされないような画像処理システ ムやニューロコンピュータへの適合性も高い。さらに大きな利点は、前述したよ うな集約的コンピュータ画像処理アルゴリズムのリアルタイム処理の可能性であ る。 次に本発明を図面に基づき詳細に説明する。 図1は画像処理のための本発明によるプロセッサのプロセッサ素子のブロック 回路図である。 図2Aは図1によるプロセッサ素子の第1部分の詳細な回路図である。図2B は、図1によるプロセッサ素子の第2部分の詳細な回路図である。 図3は本発明によるプロセッサの第1実施例を示した図である。 図4は本発明によるプロセッサの第2実施例を示した図である。 図1には、画像処理のための本発明によるプロセッサのプロセッサ素子のブロ ック回路図が示されており、これは、算術論理演算ユニットALU2、レジスタ バンクREGS、イメージセクションバッファISB、汎用メモリGPM、さら なる算術論理演算ユニットALU1、乗算器/加算器ユニットMAを有している 。算術論理演算ユニットALU2は典型的には、加算部ADD、値領域シフトの ためのバレル回転子ROT 、ビット幅マッチングのための飽和装置SAT、最上位ビットmsbないし最下 位ビットlsbを決定する検出器DET、論理演算ユニットLUを有している。 この乗算器/加算器ユニットMAは典型的には乗算器アレイMULTAからなっ ており、このアレイは一連の個々の乗算器を有している。その個々の結果は、後 置接続されている加算器ツリーADDTによって総括的な結果に統合される。バ ッファISBは、例えば2×2画素毎の情報を保持できる二次元の双方向シフト レジスタとして解されてもよい。バッファISBには画像データが、図中の垂直 方向で入力/出力ポートim−down,im−upを介して、そして図中水平 方向では入力/出力ポートim−left,im−rightを介して読み込ま れたり読み出されたりする。メモリGPMは、標準メモリである。このメモリに はオンチップが設けられており、これはプロセッサ素子において第2のローカル データ伝送部として使用され、グローバルバスg−busを介して供給されてい る。このメモリGPMは、係数、回路コア、ビットマスク、ニューラルネットワ ーク等のための重み付けマトリックスを含んでいる。バッファISBの場合もメ モリGPMの場合も読み取りアクセスは、個々のデータに従ってではなく、デー タフォーマットに応じてマルチコンポーネントベクトルに対して行われる。総体 的に全てのプロセッサエレメントのイメージセクショ ンバッファは、分散された二次元イメージセクションバッファをあらわす。 プロセッサエレメント間のローカルコネクションを介して、イメージセクショ ンはピクセル毎に上下に又は左右にシフトされ得る。このことのために、エッジ 長さnのイメージセクションに対して、n個のピクセルがバッファISBのセル アレイのそれぞれのエッジに追従されなければならない。プロセッサエレメント は、その画像セグメントに読み取りのみのアクセスしか生じさせない。1つのア クセスによって個別の1個のピクセルだけが読み取られるのではなく、画素フォ ーマットに応じて、すなわち精度に応じて、画素のベクトル、アレイが読み取ら れる。 ローカルバッファISB及びメモリGPMからのデータはさらに算術論理演算 ユニットALU1に供給される。この算術論理演算ユニットALU1の出力側は 、乗算器/加算器ユニットMAの入力側に接続されている。この乗算器/加算器ユ ニットMAの出力側は、算術論理演算ユニットALU2の入力側に接続されてお り、この算術論理演算ユニットALU2の出力側はレジスタバンクREGFに接 続されている。レジスタバンクREGFの出力側は同時にプロセッサエレメント の出力側alu2−oである。レジスタバンクREGFの出力側並びにプロセッ サエレメントの入力側alu2−iは、算術論理演算ユニットALU2の入力 側に接続されている。 別の構成例では、入力側alu2−i及び/又はレジスタバンクREGFの出 力側は別の算術論理演算ユニットALU1の入力側に接続可能である。 また第3の構成例として、入力側alu2−i及び/又はレジスタバンクRE GFの出力側が、乗算器/加算器ユニットMAの入力側に接続されてもよい。 さらに第4の構成例として、入力側alu2−i及び/又はレジスタバンクR EGFの出力側が、別の算術論理演算ユニットALU1の入力側にも乗算器/加 算器ユニットMAの入力側にも接続されてもよい。 図2Aと図2Bには、本発明による画像処理のためのプロセッサのプロセッサ 素子の詳細が示されており、この場合図2Aには実質的にバッファISB、メモ リGPM、別の算術論理演算ユニットALU1、乗算加算ユニットMAが含まれ ており、図2Bには実質的に算術論理演算ユニットALU2、レジスタバンクR EGFが含まれている。さらにいくつかのレジスタCREG,MSBREG、S TAT、フォーマッタF1〜F4、エキスパンダEXP1〜EXP3、マルチプ レクサMUX0からMUX6が設けられている。これらは算術論理演算ユニット ALU1,ALU2に加えられ、データの選択ないしはワード長のマッチングに 用いられる。算術論理演算ユニットALU1の入力データは、ここでは2つのイ メージセクションバッファ ISB1,ISB2とメモリGPMから供給される。 2つのイメージセクションバッファは、例えばステレオイメージの処理の際に特 に有利である。さらにここでは次のようなことも可能である。すなわち32×3 2ビット積の乗算器への供給を直接算術論理演算ユニットALU2の結果レジス タから行うことが可能である。これは信号alu2_loc_out1を介して行われる。こ の場合最大で3つの入力ベクトルin_a,in_b,in_cが処理可能であ る。クロスバースイッチは、これらの3つの入力ベクトルに対する完全な融通性 を保証する。イメージセクションバッファISB1とISB2は、その隣からな いしイメージキャッシュからポートim_up,im_down,im_rig ht,im_leftを介して再ロードされる。イメージセクションバッファへ のイメージセクションの事前ロードも再ロードとシフトを介して行われる。読み 込みは信号im_opを介して制御される。この信号は、様々なシフト方向とス テップサイズを示す。メモリGPMは、そのデータをグローバルバスg_bus を介して得るか又はレジスタReg0〜Reg15(これらは算術論理演算ユニ ットALU2に対する結果レジスタを形成する)を有するレジスタバンクREG Fから得る。バッファISB1,ISB2とメモリGPMの出力データのデータ フォーマットは、同一であり、例えばそれぞれ128ビット幅のベクトルを形成 す る。この場合このベクトルは4つの32ビットデータか又は8つの16ビットデ ータ、又は16の8ビットデータを含む。 論理演算ユニットLU1a,LU1bは、信号alu1a_lopないしal u1b_lopによって制御され、各入力側a,bの論理結合を実行する。これ らの入力側はクロスバースイッチを介してバッファISB1,ISB2、メモリ GPMに接続されている。これらの入力側のフォーマットは信号alu1_fo rmを介してコミュニケーションされている。全てのバイナリ演算は、2つの入 力側のフォーマットと同一でなければならない。それにより各論理演算ユニット は、16の8ビットデータ対か8つの16ビットデータ対又は4つの32ビット データ対を平行処理することができる。論理演算ユニットLU1aとLU1bは 例えば以下の論理演算を支援する。: a(バイパス) NEGa、(NOT) a AND b、 a NAND b、 a OR b、 a NOR b、 a XOR b、 a XNOR b、 演算ユニットAU1は、論理演算ユニットLU1a ,LU1bの出力信号の論理結合を実施する。さらにこのユニットAU1は、補 助入力側cとdを有する。この場合補助入力側cは一定レジスタCREGの出力 側に接続され、補助入力側dは、クロスバースイッチを介してメモリに接続され ている。このユニットAU1で実施される演算は、信号alu1_aopと入力 側フォーマットalu1_formによって決定される。可能な桁拡張によって 、出力フォーマットは、入力フォーマットに依存して9,17,33ビットにな り、出力ベクトルは136ビットの幅を有するようになる。演算に関与する全て の入力側は同じフォーマットを有していなければならない。すなわち16個の8 ビットデータ対、又は8個の16ビットデータ対、又は4個の32ビットデータ 対が並行処理される。演算ユニットAU1は以下の演算を支援する。 a(バイパス)、 −a(2の補数)、 |a|(絶対値形成)、 a+b、 |a+b|、 −a+b、 |−a+b|、 −(a−b) −a−b 種々の閾値関数がaとbを比較し、この比較に依存 してa,c,d,0の出力がなされる。 乗算器MUX0によって、制御信号alu1 o2_selに依存してユニッ トLU1a又はLU1bの出力信号log_a又はlog_bの1つが選択され 、あるいはバッファ/メモリ内容が乗算器アレイに対するクロスバースイッチを 介して選択される。一定レジスタCREGは、例えばそれぞれ128ビットの4 つのベクトルを記憶できる。演算ユニットAU1の出力データアイテムを伴う事 前ロードは、信号creg_opに依存して行われる。レジスタ内容は、各クロ ックサイクル毎に送出される。このレジスタは、頻繁に繰り返し発生する定数の 記憶とメモリGPMの除去に用いられる。マルチプレクサMUX1とMUX2は 、乗算入力データの選択と、信号mult_i1 sel,mult_i2_s elに依存した乗算入力側i1,i2の対応付けに用いられる。このマルチプレ クサの出力側までは、全てのデータがそれらが乗算ブロックのi1又はi2のど ちらに対して定められているかにかかわらず統一されたフォーマットで存在する 。入力側i1,i2は、種々のフォーマットと有し、乗算器アレイの個々の乗算 器の入力側に直接接続される。マルチプレクサMUX1,MUX2を介してレジ スタバンクREGFのレジスタも32×32ビット積に対して選択され得る。フ ォーマッタF1,F2によって、選択された乗算コンフィグレーション(これは 信号mult_formによって確定する)に依存して、乗算器アレイの入力デ ータが処理される。データベクトルの全ての成分が処理されるわけではないコン フィグレーションに対しては、データセグメントを136ビットワード内で選択 する必要がある。このことは信号mult_i1_datもしくは信号mult _i2_datを用いて行われる。この制御情報は、演算のアドレスの構成成分 とみなされてもよい。例えば16×32ビットのもとでの乗算では、乗算器の入 力側i1は2つの16ビットデータを必要とし、入力側i2は2つの32ビット データを必要とする。これらは、i1に対して供給された8つの16ビットデー タと、i2に対して供給された4つの16ビットデータから選択されなければな らない。 乗算器アレイMULTAはここでは8つの乗算器からなる。これらはそれぞれ 16ビットのビット幅を有している。入力データのフォーマットに応じて、これ らの乗算器の(部分)結果は、後置接続された加算器ツリーADDTにおいて正 確な桁位置で唯一つの総結果の形成のために加算される。この総結果は、積の和 であり、その数値もデータフォーマットに依存している。乗算器に対する唯一の 制御ワードは、データフォーマットの確定のための信号mult_formであ る。それによりどのデータフラグが乗算に対し符号の無い又は2の補数として補 間されるべきかが内部制御 される。加算器ツリーは、加算前の個々の積のシフト確定のために、信号mul t_formを必要とする。設定されたデータフォーマットに応じて乗算器/加 算器ユニットMAは、以下の積からの和を計算する。 8つの8×8ビット積、又は 8つの8×16ビット積、又は 4つの16×16ビット積、又は 4つの8×32ビット積、又は 2つの16×32ビット積、又は 1つの32×32ビット積 信号add_selを用いて8つの部分積のそれぞれが選択的にブランク化さ れ得る。このことは積の和の代わりに個々の積を明確にするのに重要である。フ ォーマッタF3は、結果レジスタREGFからメモリGBMへのデータ転送の際 に関与する。フォーマットに応じて、結果データの下方の8,16,32ビット がフォーマッタF3によって収集され、128ビットワードが完全になるまでメ モリGBMに転送される。メモリGBMは、個々のデータの書込みも許容するの で、フォーマッタF3でのバッファなしでも転送が可能である。信号forma t3を介して、いくつのビットが(例えば8ビット、16ビット、32ビット) 算術論理演算ユニット2から考慮されるべきかが通達される。 算術論理演算ユニットALU2のデータ送信部は、 図2bにおいて結果レジスタバンクと乱数発生器RNDGの出力により加算器ツ リーADDTの出力信号add_tree_outを形成する。結果レジスタバ ンクの2つの出力側は、バスalu2_bus1,alu2_bus_2を介し て算術論理演算ユニットALU1,ALU2並びに乗算器/加算器ユニットMA に接続され、さらに各プロセッサ素子又は隣接するプロセッサ素子のレジスタか ら入力側alu2_i1又はalu2_i2を介して給電される。バスalu2 _bus1は、さらにコントローラから即値を供給される。サイクルの4つの結 果は、常時結果レジスタバンクの4セグメントレジスタにファイルされる。この 場合1つのセグメントレジスタはそれぞれ例えば4×64ビットを有している。 レジスタバンクREGFの結果レジスタは、4つの64ワードを含み、4つのデ ータアイテムをあらわしている。32×32ビット積の累算のもとで生じる、1 28ビットの結果の計算の場合、レジスタreg0〜reg15のうちの1つが 4つの64最上位ビットを含み、それぞれの隣接レジスタが4つの結果の4つの 64最下位ビットを含む。最大/最小に対するインデックスデータは、4つのイ ンデックス値に対するさらなるレジスタを占有する。このレジスタバンクは1つ の入力ポートと3つの出力ポートを有する。クロスバースイッチを介して2つの バスalu2_bus1とalu2_bus2は、固 有の結果レジスタからのデータ又は2つの異なる隣接プロセッサ素子からのデー タを供給し得る。隣接プロセッサ素子のデータは、ポートalu2_i1とal u2−i2から得られる。この場合選択は、マルチプレクサMUX5を介して行 われる。第3のレジスタ出力側は、プロセッサ素子の出力側alu2−oに接続 されている。これは同時に次の隣接プロセッサ素子ないし評価ユニットへの接続 をあらわす。評価ユニットへの結果の通過も可能である。これは例えばブロック マッチングの際の例えばグローバルな最大/最小サーチに対して必要とされる。 レジスタバンクの書込み入力側は、マルチプレクサMUX4を介して算術論理演 算ユニットALU2の出力側に接続されている。レジスタの4つのセグメントの 読み込み/読み出し順序は固定ではなく、アドレスに従って制御される。ここに 記載されるプロセッサエレメントのレジスタバンクは、16個の4−セグメント レジスタを含み、これは4×4プロセッサユニットを備えたプロセッサの場合、 8キロバイトのレジスタ総記憶容量を意味する。チップ面がそれを許容するなら ば、この数は0.5キロバイト(但し有利には1キロバイト)の細分において任 意に高めることができる。 ユーザーは各装置サイクルにおいて5つの機能グループのうちの1つにアクセ ス可能である。これはソースレジスタから目標レジスタへのパラレルデータパス によって実現される。これらの各ループの待ち時間は、4つのクロックを有する 1つの装置サイクルである。5つのデータパスは以下の通りである。 1.累算加算器ACCADD、最終加算器FDD、マルチプレクサMUX3、エ キスパンダEXP1〜EXP3、乱数発生器RNDGとの加算器ループ。この加 算器ループの機能は、累算演算、最小/最大サーチ、乱数の加算、丸め演算、加 算器ツリーからレジスタバンクの結果レジスタへの出力データの転送である。 2.算術論理シフト/ローテーションや最小/最大サーチのサポートのためのバー レルローテータROTを有するシフター/ローテーターループ。 3.64ビット値から8,16,32ビットへの飽和のための及び最小/最大サ ーチのための飽和ループ。 4.最上位ビットと最下位ビットの位置を求め、シフト操作又は飽和操作の際の オーバーフロー識別を可能にする検出器ループ。 5.2つのオペランドの論理結合を可能にする論理ループ。 累算加算器ACCADDは、入力側i1における66ビットのデータを入力側 i2における67ビットのデータに加算するか又は、入力側i2におけるデータ を入力側i1におけるデータから減算する。この結果は64ビットのデータであ る。信号acc_opは加算か減算かの決定を下す。入力側i1とi2の2つの データは、2の補数表示に現れる。ファイナル加算器FADDは、累算加算器A CCADDの出力データから非冗長的な67ビットフォーマットを形成する。そ こからは64の下位ビットがマルチプレクサMUX4に転送される。レジスタM SBREGは、装置サイクルのそれぞれ4つのデータからファイナル加算器の3 つのmsbsを記憶する。2重の値範囲を伴った加算では、これはその後に続く サイクルにおいて演算の完全性のために再び加算器ACCADDにフィードバッ クされる。エキスパンダEXP1は、66ビットワードを2の補数表示において レジスタMSBREGからの3つのビットの拡張によって形成する。この場合レ ジスタMSBREGからの3つのビットは、下位の3つの桁とその他の63の桁 を符号に応じて1と0で充たす。エキスパンダEXP2とEXP3は、符号なし か2の補数で存在する64ビットワードから2の補数表示の66ビットワードを 形成する。マルチプレクサMUX3は、累算加算器ACCADDのi1に対する 入力データを制御信号acc_i1_selに依存して選択する。この場合はエ キスパンダEXP2を介したバスalu_bus2、乱数発生器RNDGの出力 側、加算器ツリーの出力側又はエキスパンダEXP1の出力側、換言すれば先行 の加算部からの伝送が選択可能である。乱数発生器RNDGは、フィードバック シフトレジスタを介して事前にロードされた初期値に 基づいて擬似乱数を発生する。これはバスalu2bus1のデータに加算可能 である。初期値は、信号rnd_1dによってバスalu2_bus1からロー ドされる。信号rnd_opによって新たな乱数が形成され、送出されるか又は 発生器ユニットに再度送出される。この乱数発生器は、定常的丸め効果(例えば ディザーリング“dithering”)の発生のために必要である。ステータスレジス タSTAは、ファイナル加算器からの符号、オーバーフロー、ゼロ結果に対する フラグを含んでいる。ステータスビットは、各結果の前に算出される。信号st atus_opは、それが本当にステータスレジスタに受け入れられたか否かの 識別を行う。コントローラは、ステータスビットを読み取り評価することが可能 である。しかしながらこのステータスビットは、迂回なしでコントローラを介し てマルチプレクサMUX4に直接制御入力として得ることも可能である。これは 最小/最大サーチやその他の割当ての際に有利である。バーレル回転子ROTに よってバスalu2_bus1のデータの算術論理リンク及び計算シフトが0〜 63桁まで可能であり、さらに信号shift_opによって制御可能である。 シフト係数は定数(これは信号shift_opから直接導出される)か又は変 数(これはバスalu2_bus2を介して結果レジスタから供給される)であ る。一定のシフト係数の場合には、次の桁がバスa lu2_bus2から受け入れ可能である。バスalu2_bus1とバスal u2_bus1のデータが同じ場合には、このようにローテーションが生じる。 シフト/回転ループは、最小/最大サーチ又は生じ得る割当てのもとでも関与する 。これに対してはシフト係数0が設定される。飽和回路SATによってバスal u2_bus2のデータは信号sat_opによって特定された値範囲に適合化 される。この場合値範囲が8,16,32ビットで支援される。設定された範囲 からはみ出たデータは、表示可能な最大の正の数か又は表示可能な最小の負の数 に置換される(飽和)。この飽和か否かの判断は、検出器DETの信号det_ resに基づいてコントローラが決定し、各データ毎に飽和回路SATの信号s at_opを介して通知する。論理演算ユニットLUは、バスalu2_bus 1のデータとバスalu2_bus2のデータの論理結合を実施する。信号lu _opによって、AND、NAND、OR、NOR、XOR、XNOR、NEG の演算の制御が可能である。マルチプレクサMUX4は、信号alu2_opに 依存して前述の5つのデータパスのどれをレジスタに書き込むかを判断する。第 2の制御入力側は、制御レジスタSTATによって給電され、生じ得る割当て、 例えば最小/最大サーチのもとで支援する。この場合累算加算器ACCADDは 、2つのバスバスalu2_bus1のデータとバス alu2_bus2の間の差分を形成し、この差分の符号に基づいて、バスal u2_bus1のデータをバーレル回転子ROTを介して遮断された飽和と共に レジスタバンクヘ書き込むのか、バスalu2 bus2のデータのデータを飽 和ブロックSATを介して遮断された飽和と共にレジスタバンクへ書き込むのか を選択する。マルチプレクサMUX5は、信号alu_in_selに依存して プロセッサ素子の入力側alu2_i1又はalu2_i2のうちの1つと、隣 接プロセッサ素子を選択する。そのデータは、オペランドとして利用される。伝 送レジスタTREGは、4つの64ビットワードをバッファ記憶し、必要に応じ てフォーマッタF4を介してプロセッサ素子の出力側alu2_0に送出する。 伝送レジスタTREGは、さらに結果データの読み出しの際のバッファとして使 用され、プロセッサ素子列の右側の隣接プロセッサ素子に対するその伝送に用い られる。それにより結果レジスタは負荷されず、既に後続の演算に対して可用で ある。フォーマッタF4のもとでは信号format4_formに依存してレ ジスタバンクのレジスタ出力側reg_outの下位の1,2,4又は8バイト が信号format4_posによって確定されたフォーマッタ出力側のバイト ポジションにファイルされる。出力側のその他のバイトは、伝送レジスタから1 :1の割合で受け入れられる。このフォーマッタを用 いることにより、結果データの伝送の間プロセッサ素子列に沿って複数の結果1 ,2,又は4バイトが8バイトワードに統合され、それによって64ビットコネ クションがプロセッサ素子間で良好に活用される。マルチプレクサMUX6は、 制御信号alu2_out_selに依存してプロセッサ押しの出力側slu2 _oに対する出力データを選択する。この選択に対してはフォーマッタF4の出 力データ又はプロセッサ素子の入力データが用いられる。マルチプレクサMUX 6は、プロセッサ素子の2つの入力側の1つと、プロセッサ押しの出力側alu 2_oの、伝送レジスタにおけるバッファなしでの直接接続を可能にする。 図3には、16のプロセッサ素子PE11〜PE44を備えた本発明によるプロセ ッサが示されている。これらのプロセッサ素子はエッジ長さ4の二次元アレイの なかで接続されており、共通のコントローラによって制御されている。個々のプ ロセッサ素子のバッファISBがこのアレイの4つのエッジに再ロードピクセル を供給するために、これらのアレイを囲むように256ビット幅のピクセルバス p−busが環状に配置されている。このアレイは、グローバルバスg−bus を介してさらなる入力データを受け取る。これはイメージキャッシュCACHE か又は入力バッファIBUFか又は評価ユニットDUによって記憶される。この 評価ユニットDUを用いて例えばグレー値確定のため の除算、ヒストグラム実施がなされるか、又は値テーブルを用いた評価が実施さ れる。キャッシュメモリCACHEに対して多種の出力モードが占められ、入力 バッファIBOFは外部メモリとプロセッサ素子のメモリGMPとの間のFIF Oとしてのみ用いられる。 評価ユニットDUは、プロセッサ素子の結果レジスタからの入力データを受け 入れるタスクを有しており、場合によってはさらに後処理の実行と最終的にデー タを出力バッファを介して外部メモリへ伝送するかグローバルバスg−busを 介してプロセッサアレイに提供できるようにする。この後処理には、除算、ヒス トグラム、テーブルルックアップなどの演算が含まれる。プロセッサ素子内のそ れらの実行は、エリア又はメモリ強度にもよる。個々のプロセッサ素子から評価 ユニットへの伝送は、プロセッサ素子の入力側alu2_iと出力側alu2_ oを介して行われる。1つの行の4つのプロセッサ素子、例えば素子PE11〜P E44は、その入力側alu2_i1とalu2_i2を介してそれぞれ1つのチ ェーンを形成する。マルチプレクサMUX5を介して、最後の列のプロセッサ素 子PE11〜PE44は、1つのチェーンに接続可能である。それにより全ての結果 データは、水平及び垂直の値範囲を介して最終的に上方右側のプロセッサ素子P E14に至りそこから評価ユニットDUに到達可能である。同様の接続は、グロー バルな演算、例えば極限値 サーチなどの場合でも活用され、この場合は右側の列の4つのプロセッサ素子が 、上方右側のプロセッサ素子がグローバルな極限値を求める前に、それぞれその 行の極限値を求める。 全ての16のプロセッサは、相互に遅延することなく同じクロックで動作する 。このことは全てのプロセッサ素子に対する演算が常に同じ時点でトリガされる ことを意味する。それ故入力側alu2_iと出力側alu2_oを介した結果 レジスタの送出又は事前ロードが全てのプロセッサ素子を同時にそのレジスタ内 容を出力側に送出し、それと並行して入力側を介して供給されるデータを受け入 れる。グローバルな演算の際には、類似の方法が実施され、この場合は本来の演 算を実施する1つのチェーンの最後のプロセッサ素子がその入力側のデータをロ ーカル記憶された結果と論理結合させ、その結果を再びローカル記憶する。その 他のプロセッサ素子は、結果値の送出の際のような状態となる。 プロセッサ入力データは、入/出力ドライバIOTを介して入力バスI−Bu sに供給される。これは入力バッファIBUFとキャッシュメモリCACHEに 供給される。マルチプレクサMUXを介してグローバルバスg−busは、入力 バッファの出力側か又はキャッシュメモリの出力側に接続可能である。評価ユニ ットDUの出力側は出力バッファOBUFを介して出 力バスo−busに接続される。これは入/出力ドライバIOTを介してプロセ ッサ出力側に接続されている。 図4には、16のプロセッサ素子を備えた本発明によるプロセッサが示されて いる。これは図3のようにのみ示されているのではなく、いわゆるSIMDアレ イ(シングルインストラクションマルチプルデータアレイ)として示されている 。この場合は全てのプロセッサ素子が同じ命令を受け取るのではなく、スイッチ S1〜S8を用いていわゆるMIMDアレイ(マルチプルインストラクションデ ータアレイ)としても構築可能である。図4では2つのSIMDアレイを有する 1つのMIMDアレイが、8つのプロセッサ素子PE,PE*毎に示されている 。これらの各SIMDアレイは、固有のコントローラと、固有の評価ユニットD U1,DU2と、固有のイメージキャッシュCACHE1,CACHE2と、付 加的なマルチプレクサMUX′〜MUX′″を必要とする。2つのSIMDアレ イのそれぞれは、環状のピクセルバスP−bus1とP−bus2を有し、それ らは別個のキャッシュCACHE1、CACHE2によって供給される。これら のキャッシュは、それらのデータを、入力バスi−busを介して外部から受け 取るか又は評価ユニットDU1ないしDU2から受け取る。キャッシュメモリC ACHE2への評価ユニットDU1の結果の供給によ っては、処理チェーンを構築することが可能である。この場合は、プロセッサ素 子PEを有するSIMDアレイの出力データが、プロセッサ素子PE*を有する SIMDアレイに対する入力データとして使用される。帯域幅が許容されるなら ば、2つのSIMDアレイは異なる演算を外部入力データでも実行可能であり、 結果は再び外部メモリに送出される。ここに記載されるMIMD機能を備えたプ ロセッサアレイは、スイッチS1〜S8を介して再構成可能であり、この場合一 方では8つのプロセッサ素子を備えた非依存性のブロックとして構築可能であり 、他方では16のプロセッサ素子を備えた固有のSIMDアレイとしても構築可 能である。その際スイッチを介して2つのピクセルバスp−bus1とp−bu s2がシングルリングバス形成のために再構成される。同様に2つのキャッシュ CACHEp1,CACHE2もグローバルなキャッシュ形成のために共に接続 可能である。2つの評価ユニットは、コモンSIMDアレイの場合、タスクを共 有可能である。
【手続補正書】特許法第184条の8第1項 【提出日】1997年11月12日(1997.11.12) 【補正内容】 請求の範囲 1. 同種に構築されマトリックス方式で接続された多数のプロセッサ素子(P E11〜PE44)を備えた、画像処理プロセッサにおいて、 前記各プロセッサ素子が、レジスタバンク(REGF)を介してフィード バック結合された各算術論理演算ユニット(ALU2)の他に、分割されたイメ ージセクションバッファの各部分記憶ユニット(ISB)と、各ローカル汎用メ モリ(GPM)と、さらなる各算術論理演算ユニット(ALUI)と、各乗算器 /加算器ユニット(MA)とを有し、 前記各乗算器/加算器ユニットの入力側は、前記さらなる各算術論理演算 ユニットの出力側と接続され、該さらなる各算術論理演算ユニットの出力側自体 は、前記各部分記憶ユニットの出力側と前記各ローカル汎用メモリの出力側に接 続された入力側を有し、前記乗算器/加算器ユニットの出力側は、前記算術論理 演算ユニット(ALU2)の入力側に接続されており、 前記レジスタバンク(REGF)の出力側が、前記ローカル汎用メモリの入 力側及び/又は前記さらなる各算術論理演算ユニット(ALU1)の入力側、及 び/又は前記各乗算器/加算器ユニット(MA)の入力側に接続されて出力データ (ALU2−o) を供給し、 入力データ(ALU2−i)が、前記各算術論理演算ユニット(ALU2 )の入力側にも、前記さらなる算術論理演算ユニット(ALU1)及び/又は前 記乗算器/加算器ユニット(MA)の入力側にも供給され、 前記分割されたイメージセクションバッファの各部分記憶ユニットに画像 データ(im−down,im−left,im−UP,im−right)が 、隣接するプロセッサ素子の部分記憶ユニット(ISB)により供給され、さら に相応の隣接するプロセッサ素子が存在しない場合には、画像データがピクセル バス(p−bus)によって供給され、前記各ローカル汎用メモリ(GPM)が グローバルバス(g−bus)を介して計算データを供給されることを特徴とす る、画像処理プロセッサ。 2. 前記各部分記憶ユニット(ISB)と、各ローカル汎用メモリ(GPM) と、さらなる各算術論理演算ユニット(ALU1)と、各乗算器/加算器ユニッ ト(MA)の入力ワード幅が、フレキシブルに選択可能であり、選択された入力 ワード幅に応じて、入力データの多成分ベクトルがさらなる算術論理演算ユニッ ト(ALU1)と各乗算器/加算器ユニット(MA)において並行処理可能であ る、請求項1記載の画像処理プロセッサ。 3. 前記各乗算器/加算器ユニットは、並列に動作する多数の乗算器(MUL TA)からなり、これらは出力側で加算器ツリー(ADDT)によって統合され ている、請求項1〜5いずれか1項記載の画像処理プロセッサ。 4. 入力データバス(i−bus)がキャッシュメモリ(CACHE)を介し てピクセルバス(P−bus)に接続されている、請求項1〜3いずれか1項記 載の画像処理プロセッサ。 5. マルチプレクサ(MUX5)を用いて、マトリックスの最終列のプロセッ サ素子(PE14〜PE44)が、同じ行の隣接するプロセッサ素子(例えばPE13 )の出力側又は同じ列の隣接するプロセッサ素子(PE24)の出力側に選択的に 接続可能であり、データ流の方向において水平方向にも垂直方向にも後続のプロ セッサを有さない、最後のプロセッサ素子(PE14)の出力側が、評価ユニット (DU)に接続されている、請求項1〜4いずれか1項記載の画像プロセッサ。 6. 電子スイッチ(S1〜S8)により、マルチプレクサ(MUX′〜MUX ′″)を用いて、少なくとも2つの別個のグローバルバス(g−bus1,g− bus2)と少なくとも2つの別個のピクセルバス(p−bus1,p−bus 2)と少なくとも2つの別個のキャッシュメモリ(CACHE1,CA CHE2)と少なくとも2つの別個の評価ユニット(DU1,DU2)とを備え た少なくとも2つのプロセッサ素子(PE,PE*)グループが形成可能である 、請求項1〜5いずれか1項記載の画像処理プロセッサ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アレクサンダー シャコヴ ドイツ連邦共和国 D―81739 ミュンヘ ン ルドルフ―ツォルン―シュトラーセ 6 (72)発明者 ウルリヒ ラーマッハー ドイツ連邦共和国 D―80331 ミュンヘ ン ツヴァイブリュッケンシュトラーセ 19 (72)発明者 レーネ シュフニー ドイツ連邦共和国 D―01640 コスヴィ ヒ ガルテンシュトラーセ 10 (72)発明者 ニコラウス ブリュルス ドイツ連邦共和国 D―81549 ミュンヘ ン バランシュトラーセ 155 (72)発明者 イェルク グリーゼ ドイツ連邦共和国 D―80339 ミュンヘ ン キリアンスプラッツ 2

Claims (1)

  1. 【特許請求の範囲】 1. 同種に構築されマトリックス方式で接続された多数のプロセッサ素子(P E11〜PE44)を備えた、画像処理プロセッサにおいて、 前記各プロセッサ素子が、レジスタバンク(REGF)を介してフィード バック結合された各算術論理演算ユニット(ALU2)の他に、分割されたイメ ージセクションバッファの各部分記憶ユニット(ISB)と、各ローカル汎用メ モリ(GPM)と、さらなる各算術論理演算ユニット(ALU1)と、各乗算器 /加算器ユニット(MA)とを有し、該乗算器/加算器ユニットの出力側は、前記 算術論理演算ユニット(ALU2)の入力側に接続されていることを特徴とする 、画像処理プロセッサ。 2. 前記各部分記憶ユニット(ISB)と、各ローカル汎用メモリ(GPM) と、さらなる各算術論理演算ユニット(ALU1)と、各乗算器/加算器ユニッ ト(MA)の入力ワード幅が、フレキシブルに選択可能であり、選択された入力 ワード幅に応じて、入力データの多成分ベクトルがさらなる算術論理演算ユニッ ト(ALU1)と各乗算器/加算器ユニット(MA)において並行処理可能であ る、請求項1記載の画像処理プロセッサ。 3. 前記分割されたイメージセクションバッファの各 部分記憶ユニット(ISB)に画像データ(im−down,im−left, im−up,im−right)が、隣接するプロセッサ素子の部分記憶ユニッ ト(ISB)により供給され、さらに相応の隣接するプロセッサ素子が存在しな い場合には、画像データがピクセルバス(p−bus)によって供給され、各ロ ーカル汎用メモリ(GPM)はグローバルバス(g−bus)を介して計算デー タを供給される、請求項1又は2記載の画像処理プロセッサ。 4. 前記レジスタバンク(REGF)の出力側が、前記さらなる各算術論理演 算ユニット(ALU1)の入力側、及び/又は各乗算器/加算器ユニット(MA) の入力側に接続されている、請求項1〜3いずれか1項記載の画像処理プロセッ サ。 5. 前記算術論理演算ユニット(ALU2)の入力データ(ALU2−i)は 、前記さらなる算術論理演算ユニット(ALU1)及び/又は乗算器/加算器ユニ ット(MA)の入力側にも供給される、請求項1〜4いずれか1項記載の画像処 理プロセッサ。 6. 前記各乗算器/加算器ユニットは、並列に動作する多数の乗算器(MUL TA)からなり、これらは出力側で加算器ツリー(ADDT)によって統合され ている、請求項1〜5いずれか1項記載の画像処理プロセッサ。 7. 入力データバス(i−bus)がキャッシュメモリ(CACHE)を介し てピクセルバス(P−bus)に接続されている、請求項1〜6いずれか1項記 載の画像処理プロセッサ。 8. マルチプレクサ(MUX5)を用いて、マトリックスの最終列のプロセッ サ素子(PE14〜PE44)が、同じ行の隣接するプロセッサ素子(例えばPE1 3)の出力側又は同じ列の隣接するプロセッサ素子(PE24)の出力側に選択的 に接続可能であり、データ流の方向において水平方向にも垂直方向にも後続のプ ロセッサを有さない、最後のプロセッサ素子(PE14)の出力側が、評価ユニ ット(DU)に接続されている、請求項1〜7いずれか1項記載の画像処理プロ セッサ。 9. 電子スイッチ(S1〜S8)により、マルチプレクサ(MUX′〜MUX ′″)を用いて、少なくとも2つの別個のグローバルバス(g−bus1,g− bus2)と少なくとも2つの別個のピクセルバス(p−bus1,p−bus 2)と少なくとも2つの別個のキャッシュメモリ(CACHE1,CACHE2 )と少なくとも2つの別個の評価ユニット(DU1,DU2)とを備えた少なく とも2つのプロセッサ素子(PE,PE*)グループが形成可能である、請求項 1〜8いずれか1項記載の画像処理プロセッサ。
JP52557697A 1996-01-15 1996-12-13 画像処理プロセッサ Expired - Lifetime JP3573755B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE19601201 1996-01-15
DE19601201.5 1996-01-15
PCT/DE1996/002404 WO1997026603A1 (de) 1996-01-15 1996-12-13 Prozessor zur bildverarbeitung

Publications (2)

Publication Number Publication Date
JP2000503427A true JP2000503427A (ja) 2000-03-21
JP3573755B2 JP3573755B2 (ja) 2004-10-06

Family

ID=7782779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52557697A Expired - Lifetime JP3573755B2 (ja) 1996-01-15 1996-12-13 画像処理プロセッサ

Country Status (6)

Country Link
US (1) US6049859A (ja)
EP (1) EP0875031B1 (ja)
JP (1) JP3573755B2 (ja)
KR (1) KR100415417B1 (ja)
DE (1) DE59607143D1 (ja)
WO (1) WO1997026603A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019519863A (ja) * 2016-07-01 2019-07-11 グーグル エルエルシー 二次元実行レーンアレイおよび二次元シフトレジスタを有する画像プロセッサ上でのブロック処理のためのコアプロセス

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289434B1 (en) * 1997-02-28 2001-09-11 Cognigine Corporation Apparatus and method of implementing systems on silicon using dynamic-adaptive run-time reconfigurable circuits for processing multiple, independent data and control streams of varying rates
WO2000077652A2 (de) 1999-06-10 2000-12-21 Pact Informationstechnologie Gmbh Sequenz-partitionierung auf zellstrukturen
JP3922859B2 (ja) * 1999-12-28 2007-05-30 株式会社リコー 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US7308559B2 (en) * 2000-02-29 2007-12-11 International Business Machines Corporation Digital signal processor with cascaded SIMD organization
US6754801B1 (en) * 2000-08-22 2004-06-22 Micron Technology, Inc. Method and apparatus for a shift register based interconnection for a massively parallel processor array
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US9141390B2 (en) 2001-03-05 2015-09-22 Pact Xpp Technologies Ag Method of processing data with an array of data processors according to application ID
US9411532B2 (en) 2001-09-07 2016-08-09 Pact Xpp Technologies Ag Methods and systems for transferring data between a processing device and external devices
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
KR100444990B1 (ko) * 2001-12-29 2004-08-21 삼성전자주식회사 신호 처리 시스템
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
JP4388895B2 (ja) 2002-09-06 2009-12-24 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト リコンフィギュアラブルなシーケンサ構造
US7126991B1 (en) * 2003-02-03 2006-10-24 Tibet MIMAR Method for programmable motion estimation in a SIMD processor
US20040252547A1 (en) * 2003-06-06 2004-12-16 Chengpu Wang Concurrent Processing Memory
JP4700611B2 (ja) * 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
US20060215929A1 (en) * 2005-03-23 2006-09-28 David Fresneau Methods and apparatus for image convolution
US7602395B1 (en) * 2005-04-22 2009-10-13 Nvidia Corporation Programming multiple chips from a command buffer for stereo image generation
US7734114B1 (en) 2005-12-07 2010-06-08 Marvell International Ltd. Intelligent saturation of video data
EP2266046B1 (en) * 2008-03-03 2011-11-30 NEC Corporation A control apparatus for fast inter processing unit data exchange in a processor architecture with processing units of different bandwidth connection to a pipelined ring bus
US8130229B2 (en) * 2009-11-17 2012-03-06 Analog Devices, Inc. Methods and apparatus for image processing at pixel rate
DK177161B1 (en) 2010-12-17 2012-03-12 Concurrent Vision Aps Method and device for finding nearest neighbor
DK177154B1 (da) 2010-12-17 2012-03-05 Concurrent Vision Aps Method and device for parallel processing of images
US9749548B2 (en) 2015-01-22 2017-08-29 Google Inc. Virtual linebuffers for image signal processors
US9769356B2 (en) 2015-04-23 2017-09-19 Google Inc. Two dimensional shift array for image processor
US9756268B2 (en) 2015-04-23 2017-09-05 Google Inc. Line buffer unit for image processor
US10291813B2 (en) 2015-04-23 2019-05-14 Google Llc Sheet generator for image processor
US9785423B2 (en) 2015-04-23 2017-10-10 Google Inc. Compiler for translating between a virtual image processor instruction set architecture (ISA) and target hardware having a two-dimensional shift array structure
US9965824B2 (en) 2015-04-23 2018-05-08 Google Llc Architecture for high performance, power efficient, programmable image processing
US10095479B2 (en) 2015-04-23 2018-10-09 Google Llc Virtual image processor instruction set architecture (ISA) and memory model and exemplary target hardware having a two-dimensional shift array structure
US9772852B2 (en) * 2015-04-23 2017-09-26 Google Inc. Energy efficient processor core architecture for image processor
US9830150B2 (en) 2015-12-04 2017-11-28 Google Llc Multi-functional execution lane for image processor
US10313641B2 (en) 2015-12-04 2019-06-04 Google Llc Shift register with reduced wiring complexity
US10387988B2 (en) 2016-02-26 2019-08-20 Google Llc Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform
US10204396B2 (en) 2016-02-26 2019-02-12 Google Llc Compiler managed memory for image processor
US10380969B2 (en) 2016-02-28 2019-08-13 Google Llc Macro I/O unit for image processor
US10546211B2 (en) 2016-07-01 2020-01-28 Google Llc Convolutional neural network on programmable two dimensional image processor
US20180007302A1 (en) 2016-07-01 2018-01-04 Google Inc. Block Operations For An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register
US20180005059A1 (en) 2016-07-01 2018-01-04 Google Inc. Statistics Operations On Two Dimensional Image Processor
KR102008287B1 (ko) * 2017-05-23 2019-08-07 고려대학교 산학협력단 양방향 선입 선출 메모리와 이를 이용하는 컨볼루션 연산 처리 장치
CN108550102B (zh) * 2018-04-25 2022-05-17 珠海全志科技股份有限公司 一种硬件加速器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0727515B2 (ja) * 1987-03-05 1995-03-29 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 2次元メッシュ・アレイの処理要素
US4975843A (en) * 1988-11-25 1990-12-04 Picker International, Inc. Parallel array processor with interconnected functions for image processing
DE4019040A1 (de) * 1990-06-14 1991-12-19 Philips Patentverwaltung Multirechnersystem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019519863A (ja) * 2016-07-01 2019-07-11 グーグル エルエルシー 二次元実行レーンアレイおよび二次元シフトレジスタを有する画像プロセッサ上でのブロック処理のためのコアプロセス

Also Published As

Publication number Publication date
US6049859A (en) 2000-04-11
JP3573755B2 (ja) 2004-10-06
WO1997026603A1 (de) 1997-07-24
EP0875031A1 (de) 1998-11-04
KR100415417B1 (ko) 2004-04-17
DE59607143D1 (de) 2001-07-26
KR19990077230A (ko) 1999-10-25
EP0875031B1 (de) 2001-06-20

Similar Documents

Publication Publication Date Title
JP2000503427A (ja) 画像処理プロセッサ
US5287532A (en) Processor elements having multi-byte structure shift register for shifting data either byte wise or bit wise with single-bit output formed at bit positions thereof spaced by one byte
US5872987A (en) Massively parallel computer including auxiliary vector processor
US3943494A (en) Distributed execution processor
CN111310910A (zh) 一种计算装置及方法
US6446190B1 (en) Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor
US5081573A (en) Parallel processing system
US6112288A (en) Dynamic configurable system of parallel modules comprising chain of chips comprising parallel pipeline chain of processors with master controller feeding command and data
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
JPH087083A (ja) 算術及び論理混合組合せを形成する3入力算術論理装置
US6941446B2 (en) Single instruction multiple data array cell
JPH06208501A (ja) 集積回路
JPH07271969A (ja) レジスタ対から条件付きでメモリへ記憶させる装置
JPH07287567A (ja) 複数の独立区分と各区分からの結果を記憶するレジスタとを有する算術論理装置
WO1995009394A1 (en) Minimal instruction set computer architecture and multiple instruction issue method
US6006315A (en) Computer methods for writing a scalar value to a vector
JPH087084A (ja) 第1、第2及び第3の入力の第1のブール組合せプラス第1、第2及び第3の入力の第2のブール組合せの和を形成する3入力算術論理装置
JPH086544A (ja) 直交データ変換用回転レジスタ
US6269435B1 (en) System and method for implementing conditional vector operations in which an input vector containing multiple operands to be used in conditional operations is divided into two or more output vectors based on a condition vector
US5053986A (en) Circuit for preservation of sign information in operations for comparison of the absolute value of operands
US5119324A (en) Apparatus and method for performing arithmetic functions in a computer system
US6026486A (en) General purpose processor having a variable bitwidth
CA1236584A (en) Parallel processing system
US6728741B2 (en) Hardware assist for data block diagonal mirror image transformation
US6745318B1 (en) Method and apparatus of configurable processing

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040412

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040630

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080709

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090709

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090709

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100709

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term