JP2005531843A - アレイプロセッサにおける除算 - Google Patents

アレイプロセッサにおける除算 Download PDF

Info

Publication number
JP2005531843A
JP2005531843A JP2004517068A JP2004517068A JP2005531843A JP 2005531843 A JP2005531843 A JP 2005531843A JP 2004517068 A JP2004517068 A JP 2004517068A JP 2004517068 A JP2004517068 A JP 2004517068A JP 2005531843 A JP2005531843 A JP 2005531843A
Authority
JP
Japan
Prior art keywords
array
cell
processing
cells
processor
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.)
Pending
Application number
JP2004517068A
Other languages
English (en)
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2005531843A publication Critical patent/JP2005531843A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

デジタル信号処理のためのコンポーネントアーキテクチャが提供される。それぞれがその最も隣接したプロセッサと通信する同一のプロセッサから成る二次元の復元可能なアレイは、単純且つ出力効率の高いプラットフォームを提供し、このプラットフォームに対して、重畳、有限インパルス応答(“FIR”)フィルタ、適応有限インパルス応答フィルタをマッピングすることができる。簡単なプログラムを各セルに対してダウンロードすることにより、適応FIRを実現することができる。各プログラムは、ローカルタップ更新、係数更新、最も隣接したものとの通信のための周期的な算術処理を定める。安定した状態での処理中には、メモリとの高帯域通信は不要である。静的構成を提供するため、あるいは、安定した状態での処理を補うため、このコンポーネントアーキテクチャは、外部コントローラまたは汎用デジタル信号プロセッサと相互に接続されても良い。

Description

本発明はデジタル信号処理に関し、特に、集積回路内でのデジタル信号処理演算の最適化に関する。1つの好ましい実施形態において、本発明は、アルゴリズムを使用して二次元のプロセッサアレイにおいて除算を行なうことに関する。
重畳は、デジタル信号処理における一般的な手法であり、有限インパルス応答(FIR)フィルタを実現するために一般的に適用される。以下は、データ信号Xと係数ベクトルCとを重畳するための一般的な式である。
Figure 2005531843
ここで、データ信号Xおよびシステム応答、すなわちフィルタ係数ベクトルCは、両方とも、因果関係を示すと仮定する。
各出力データy毎に、2N個のデータがメモリから命令を取り出し、N個の乗算が行なわれるとともに、N個の積が合計されなければならない。メモリトランザクションは、通常、2つの別個の記憶場所から行なわれ、その各々は係数CおよびデータXn−1に対応している。安定状態動作中に係数が頻繁に更新される実時間適応フィルタの場合には、係数を更新して記憶するために、追加のメモリトランザクションおよび算術計算を行なわなければならない。フォンノイマン型のプロセッサ上でこの計算を効率的に行なうために、特に汎用デジタル信号プロセッサが最適化されてきた。しかし、信号処理速度が高く、消費電力に関する厳しい制約を伴う特定の用途において、汎用デジタル信号プロセッサは、依然として実用的でない。
除算は、DSPアルゴリズムにおいて必要となり得る別の演算である。比較的高い帯域幅が必要とされるアルゴリズムに対して毎秒多数回の除算を行なうことも、汎用デジタル信号プロセッサにおいては、依然として非実用的である。
そのような制約に対処するため、多数のアルゴリズムおよびアーキテクチャ的な方法が適用されてきた。1つの一般的な方法は、周波数領域で処理を実行することである。したがって、アルゴリズム的に、例えばフーリエ変換等の所定の変換を使用して、重畳をスペクトルの積へと変換することができ、その後、逆変換によって所望の合計を算出することができる。多くの場合、効率的な高速フーリエ変換技術は、実際に、時間領域においてもとの重畳での計算負荷に比べ、全体的な計算負荷を軽減する。シングルキャリア地上回線デコーディング(single carrier terrestrial channel)との関連において、そのような技術は、本出願と共通の譲渡下にある米国特許出願09/840,203および09/840,200(出願人:Dagnachew Birru)により詳細に記載されているように、ATSC 8−VSBイコライザの部分的な実施に関して提案されてきた。これらの米国特許出願のそれぞれの全文を参考としてここに組み込む。
アルゴリズムの要件やメモリの制約により、重畳が周波数領域へと容易に変換されない場合には、重畳を実行するとともに、適応性のある係数更新アルゴリズムにおける特定の選択を支持するために、専門のASICプロセッサが提案されてきた。なお、これについては、Grayver, Aによる“高速データ通信のための再構成可能な8 GOP ASICアーキテクチャ(Reconfigurable 8 GOP ASIC Architecture for High-Speed data Communications)”(所定の通信領域に関するIEEEの定期刊行物(IEEE journal on Selected Areas Communications)、第18巻、No.11(2000年11月))およびE. DujardinおよびO. Gay-Bellile による“デジタル通信におけるプログラマブルアーキテクチャ(A programmable Architecture for digital communications)”(単一搬送波研究、ISPACS2000、ホノルル、2000年11月)に記載されている。
そのようなASIC方式の重要な特徴としては、
(1)係数および状態記憶を用いてタップ計算の全てをローカライズするための計算ハードウェアおよびメモリを有する専用のセル;(2)セルの機能を部分的にプログラムでき且つ様々なセルにわたって複製することができるという事実、を含む。
複雑なワークステーション処理システムに対して、進歩した再構成可能マルチプロセッサシステムの研究が順調に適用されてきた。例えば、マイケルテイラーによる“未加工プロトタイプ設計文書への書き込み(Taw Prototype Design Document)”(マサチューセッツ工科大学(MIT)コンピュータサイエンスラボ、2001年1月)は、動的なプログラム可能な通信ネットワークと同様に静的なプログラム可能なネットワークを使用して通信するプログラム可能なプロセッサ“タイル”のアレイについて記載している。静的ネットワークは、再構成可能なクロスバーネットワークを使用する任意のプロセッサを、構成中に規定された相互接続部に接続し、一方、動的ネットワークは、動的ルーティングを使用して、パケット供給方式を実行する。それぞれの場合において、相互接続性は、ソースセルからプログラミングされる。
しかし、前述した全てのアーキテクチャ的な解決法において、フィルタを(Grayverの参考文献にあるように)リニアチェーンに制限することにより、自由度が損なわれ、そうでなければ、(Dujardin & Gay-BellileおよびTaylorにあるように)扱われるべき処理範囲が重畳を超えることから、複雑さが増す(例えばTaylorの参考文献には、複雑なプロセッサのアレイが記載されており、そこに記載されたシステム上にワークステーションを形成することができる)。したがって、現在のシステムは、提案されているか実在しているかにかかわらず、簡単という効率性および柔軟性の両方を提供することはできない。
したがって、これらの方式を超える有利な改良を行ない、重畳の問題に関して自由度を高めつつ、簡単なプログラムおよび通信制御を維持する必要がある。
重畳機能および他のデジタル信号処理演算を実行するためのコンポーネントアーキテクチャが提供される。各プロセッサがその最も隣接するプロセッサと通信し、同一のプロセッサから成る二次元アレイは、簡単且つ電力効率の高いプラットフォームを提供し、このプラットフォームに対して、重畳、有限インパルス応答(“FIR”)フィルタ、適応有限インパルス応答フィルタをマッピングすることができる。単純なプログラムを各セルに対してダウンロードすることにより、適応FIRを実現することができる。各プログラムは、ローカルタップ更新、係数更新、および、最も隣接するプロセッサとの通信、のための周期的な算術処理を特定する。また、反復アルゴリズムおよび自己制限アルゴリズムを使用して、同じプラットフォーム上で除算を実行することもできる。安定した状態で処理している間に、メモリとの高帯域通信は不要である。
このコンポーネントアーキテクチャは、静的構成を提供するため、あるいは、安定状態での処理を補うために、外部コントローラまたは汎用デジタル信号プロセッサと相互に接続されても良い。
好ましい実施形態においては、追加のアレイ構造は、資源利用効率を最大にするために、部分和収束点に位置するアレイ要素からなるこの追加のアレイ構造の部分において、もとのアレイ上に重複し得る。
以下の特徴を提供することによって、前述した従来技術を改良するアレイアーキテクチャを提案する。すなわち、新たなデータが加わる時にセル同士の間の状態の進行を許可する新規のセル間通信方式や、積加算(product summation)、セルプログラミング、外部装置による状態および係数アクセス、を実現する新規の逐次加算方式を提供する。
本発明の基本的な発想は簡単なものである。DSP演算を実行するための、より効果的且つより柔軟なプラットフォームが提案され、このプラットフォームは、最も隣接したもの同士の通信およびローカルプログラム制御を伴うプロセッサアレイである。以下、添付図面を参照しつつ、従来技術を凌ぐこのプロセッサアレイの利点およびその詳細について説明する。
図1には、複数の同一プロセッサからなる二次元アレイが示されており(図示の実施形態の例では4×8の網形)、各プロセッサは、演算処理ハードウェア110と、制御部120と、レジスタファイル130と、通信制御機能部140とを有している。各プロセッサは、部分的に記憶されたデータに対して、或いは、他のプロセッサから入力されるデータに対して算術演算を行なうように個別にプログラム可能である。
理想的には、プロセッサは、スタートアップ中に静的に構成されるとともに、安定状態で動作している間では、周期的スケジュールに基づいて動作する。このようなアーキテクチャを選択する利点は、算術処理を用いて状態および係数の記憶部を同じ場所に配置し、それにより、メモリデバイスとの高帯域通信を無くすことができるという点である。
本発明によって達成される有利な目的は次のとおりである。
A.一貫したセルおよびアレイ構造を保持して、簡単な最適化を促進すること;
B.より広いアレイサイズへの拡張可能性をもたらすこと;
C.可能な範囲で部分的な通信を保持して、出力を最小限に抑えるとともに、通信上の障害を回避すること;
D.プログラミングが容易であること;
E.必要に応じてマッピング方法およびマッピングツールを簡単に開発することができること。
図2は、プロセッサ相互通信アーキテクチャを示している。通信距離を最小限に抑えるとともに、プログラミングおよびルーティングの容易性を保つために、通信は最も隣接するもの同士間の通信に制限される。したがって、所与のプロセッサ201はその最も隣接したプロセッサ210,220,230,240のみと通信することができる。
図3に示すように、最も隣接したプロセッサとの通信は、バウンド入力ポートを通信対象として参照することにより、プロセッサ毎に決定される。バウンド入力ポートは、特定の最も隣接した物理出力ポート310を所与のプロセッサの論理入力ポート320へと単純にマッピングしたものである。この時、論理入力ポート320は、該当するプロセッサにおいて、部分的な(local)演算処理の対象となる。好ましい実施形態において、各プロセッサの出力ポートは、その最も隣接したプロセッサの構成可能な入力ポートに対して無条件に接続される。プロセッサの演算処理は、これらの物理出力ポートに対して書き込むことができ、また、前記プロセッサの最も隣接したプロセッサ、すなわち、アレイ要素は、必要に応じてデータを受け入れるようにプログラムすることができる。
図3に示すランダムアクセス構成330によれば、静的構成ステップでは、最も隣接した出力ポート310の任意の組み合わせを論理入力ポート320にマッピングしたものをロードすることができる。このマッピングは、選択信号として構成マルチプレクサ350に接続されるBind inxレジスタ340内に記憶される。構成マルチプレクサ350は、入力される最も隣接したデータを、アレイ要素すなわちプロセッサの内部論理入力ポートに実際に接続する。
図3の実施形態では、セル毎に4つの出力ポートが示されているが、代替的な実施形態においては、セルごとに1つの出力ポートを有する簡単なアーキテクチャを実施することによって、再構成可能な入力ポートの複雑さを軽減或いは無くすことができる。このような方法は基本的に、出力が入力として望ましい最も隣接したプロセッサを選択する任務を内部算術プログラムに負わせ、その最も隣接したプロセッサはこの場合には物理入力ポートに接続される。
言い換えれば、図3に示す特徴により、構成モードで行なわれるような、1つの入力ポートに対して特定のセルを固定的にマッピングすることが可能になる。簡易化した方法では、この入力バインディングハードウェアおよびそれに対応する構成ステップは排除され、どのセル出力にアクセスするべきかを実行時間制御部が選択する。この簡易化した実施形態では、配線は同じであるが、セルの設計およびプログラミングの複雑性は簡素化される。
図3に示す複雑なバインディング機構は、セル同士間でコントローラを共有する際の最も有用な特徴であり、単一命令多重データ処理が可能なマシン、すなわち“SIMD”マシンを形成する。
図4は、演算制御のためのアーキテクチャを示している。プログラム可能なデータパス要素410は、内部記憶レジスタ420または入力データポート430の任意の組み合わせで動作する。データパス結果440は、選択されたローカルレジスタ450あるいは出力ポート460のうちの1つに対して書き込まれ得る。データパス要素410は、演算、ソースオペランド(srcx)、目的オペランド(dstx)を一貫したオペコードで符号化するRISC型オペコードによって制御される。適応FIRフィルタマッピングでは、単純な巡回プログラムを各セルにダウンロードすることができる。コントローラは、データパスに与えられた結果オペコードを用いてプログラム記憶装置をアドレス指定する簡単なプログラムカウンタから成る。係数および状態は、ローカルレジスタファイル内に記憶される。図示の実施形態において、タップ計算は、2を掛けた後に、最も隣接した積を連続的に加えていく演算を伴うものであり、それにより、フィルタ加算(filter summation)が実現される。また、フィルタ遅延線に沿った状態の進行は、最も近くに隣接したセルに亘るレジスタシフトによって実現される。
関連する“VLIW(Very Large Instruction Word)”コントローラによって制御された複数のデータパス要素を用いると、更に複雑なアレイセルを規定することができる。例えばAR|Tデザイナ等のアーキテクチャ合成ツールによって生成される特定用途向け命令プロセッサ(ASIP)を使用して、これらの複雑なアレイ処理要素を実現することができる。
本発明の一実施形態において、図5〜図11は、前述したように本発明のアーキテクチャに従って配置されてプログラミングされた4×8のプロセッサアレイに32タップ実数FIRフィルタをマッピングする様子を示している。状態フローおよびその後のタップ計算は、図5に示されるように実現される。この場合、第1のステップにおいて32個のセルがそれぞれフィルタの1つのタップを計算し、次のステップ(図6〜図11に示される6プロセッササイクル)において、その積が合計されて、最終的な1つの結果が得られる。説明を簡単にするため、以下、個々のアレイ要素を、アレイの(i,j)要素として表わす。ここで、iは行、jは列を示す。また、アレイの一番左上の要素を原点すなわち(1,1)要素として規定する。
上に述べたように、図6〜図11は、アレイにおける部分積の合計を詳細に示しており、最初の合計段階の間において、最も近くに隣接したセルとの通信方式の効率を示している。図6に示すステップにおいては、アレイの各行に沿って、列1〜3が列2に記憶された結果との3:1加算を実行しており、列4〜6が列5に記憶された結果との3:1加算を実行しており、列7〜8が列8に記憶された結果との2:1加算を実行している。図7に示すステップでは、アレイの各列2,5,8における行1−2および行3−4の小計が組み合わされ、その結果は、要素(2,2)、(2,5)および(2,8)、並びに、(3,2)、(3,5)および(3,8)のそれぞれに記憶される。これらステップ中に、プロセッサハードウェアおよび相互接続ネットワークを充分に利用して積の項を組み合わせることにより、利用可能なリソースを効率的に使用することができる。
しかし、図8に示すステップによって、そのアレイ全体は、図7に示すステップの結果を記憶する3つのペアのアレイ要素に関する加算ステップで専用されなければならない。図9〜図10に示すステップでは、これら3つの部分的な和を隣接するセルにシフトさせることにより、図11に示すように、最後に3:1加算を用いてこれらを組み合わせて、最終結果を得る処理がアレイ全体に施される。この最終的な結果はアレイ要素(3,5)に記憶される。
図示したように、遠隔の部分和を組み合わせるためにアレイの残りをアイドル状態にしておくことは、やや非効率的である。より有効な資源の活用との組み合わせを容易にするためのアーキテクチャの強化は、理想的には単純なアレイ構造、プログラミングモデルを保持し、また、拡張可能性を保持しなければならない。付加的な隣接のアレイ要素との通信を可能にするための最も近くに隣接するという要件を緩和すると、ルーティングおよびプロセッサ構造が複雑になるとともに、大規模なアレイでは近接性の問題を排除することができない。したがって、好ましい実施形態においては、アレイ要素から成る構成部分で、追加のアレイ構造を、もとのアレイ構造の上に重畳させることができる。この場合、アレイ要素から成る構成部分は、最も隣接した2つの要素の3:1加算の後(すなわち、図示する例では、図6に示す段階の後)の部分和収束点に位置している。これにより、部分和の収集に関して著しい向上が得られる。
重畳されたアレイを図12に示す。重畳されたアレイは、各要素がその最寄の隣接するアレイ要素として最寄の部分和収束点を有している場合を除き、下側にあるアレイと同じアーキテクチャを保持している。2つのアレイ間の交差も同様に部分和収束点で生じている。したがって、好ましい実施形態においては、部分的に和を計算する最初の段階が、同一の最も近くに隣接したセルとの通信を行うとともに、既存のアレイを使用して実行され、この場合、資源の利用が依然として有利であり、部分的に和を計算するその後の段階が、重畳されたアレイにおいて実行される。しかし、そのノードは、当初の部分和収束点、すなわち、図12の列2,5,8にある。図12〜図14は、和の組み合わせを加速化して最終的な結果を得る状態を示している。
図15は、重畳された3×3アレイを有する9×9タップアレイを示す。すなわち、重畳されたアレイは、9×9アレイの各3×3ブロックの中央に収束点を有している。効果的な部分積の組み合わせを有する大規模なアレイは、収束点の付加的なアレイを加えることにより可能である。効果的にサポートされたアレイサイズは、結果的に9N−1になる。ここで、Nは、アレイ層の数である。したがって、N個の層に対して、最も近くに隣接したセルとの通信を用いて、最大で9個のセル出力を効果的に組み合わせることができる。すなわち、フィルタ加算ツリーを完成するためにセルを横切って単にシフトする必要のある分離した部分和(isolated partial sums)を有する必要が無い。
アレイサイズが大きくなるにつれて、再帰呼出が前述した例から容易に識別することができる。図12から図14は、最も近くに隣接したセルとの通信を使用してタップ積の和算を加速させるために他のアレイレベルを使用する方法を示している。第2のレベルは、x3の周期性である点を除き、もとの下側のレベルと同じであり、また、セルは9個の0レベルセルのクラスタから部分和を生成する下側のセルに接続されている。
必要とされるレベルの数は、アレイ内に配置される所望のセル数に依存する。正方形の中に9個のタップから成るクラスタが存在する場合、最も近くに隣接したセルとの通信によって、ちょうど1つのアレイレベルを有する全ての項を、中央のセル内に累積する結果と足すことができる。
更に大きいアレイ、すなわち、最大で81個のセルに関しては、セルを、9個のセルから成るクラスタに編成して、部分和を受け取るためにレベル1のセルを各クラスタの中心の上に位置付けるとともに、レベル0およびレベル1の両レベルで各クラスタを共に接続する。レベル1において、最寄の隣接するアレイ要素は、隣り合うクラスタの出力(ここでは、レベル1のアレイ無しに分離された部分和を含んでいる)である。9個の0レベルセルから成るこの3×3スーパークラスタの場合、レベル1の部分和が組み合わされた後、結果がレベル1の中央のセル内に現れる。
81個よりも多く且つ729(9)個よりも少ないアレイの場合には、3×3のレベル1のセルと共に、81個のレベル0のセルから成るスーパークラスタを組み立て、その後、レベル1の部分和を受けるためにクラスタの中心のセルの上にレベル2のセルを位置づける。3つの全てのレベルが互いに結び付けられ、これにより、レベル2のセルは、最も近くに隣接したセルとの通信を使用して、隣接するスーパークラスタからの部分積を組み合わせることができる。この場合、結果は、レベル2の中心のセルに現れる。
スーパークラスタリングを再帰的に適用することによって、アレイを更に大きくすることができる。無論、ある時点では、更に上のレベルのセルが物理的に遠く離れるようになるにつれて、VLSIワイヤ遅延限界が1つの要因になって、最終的に、アレイの拡張性が制限される。
次に、構成データをアレイ要素に対して通信するための方法、および、アレイと外部プロセッサとの間でサンプルストリームを交換するための方法について説明する。小さなアレイとのサンプル交換に適するとともに、構成に適した1つの方法を図16に示す。ここで、バス1610は、全てのアレイ要素を外部コントローラ1620に接続している。外部コントローラは、アドレスブロードキャストおよびローカルセル復号機構、あるいは、RAM型行列プレ復号選択方法(RAM-like row and column predecoding and selection method)を使用して、構成またはデータ交換のためのセルを選択することができる。この技術の魅力はその簡単さにあるが、しかし、この技術では、大きなアレイサイズに十分に対応することができず、大きなサンプル交換速度に対しては通信のボトルネックになる可能性がある。
図17は、アレイと外部プロセッサとの間でデータストリームを効率的にやりとりするための更に拡張可能な方法を示している。アレイ階層の各レベルにおいてアレイの境界にある非拘束I/Oポートは、便利なことに、アレイのルーティングおよび制御を複雑化することなく、境界セルへとルート付けすることができる。ここでは、任意の機能性および接続性をアレイに加えることが便利であるが、境界セルは、アレイセルで利用された単純なプログラミングモデルに従うことができると思われる。したがって、任意の機能性は、決定フィードバックイコライザのスライサ等のフィルタ間操作を挿入するために、使用することができる。また、境界セルは、外部ストリームI/Oに僅かなコントローラ介入しか与えることができない。好ましい実施形態においては、静的構成を目的とする図16のバスが、安定した状態での通信のために図17に示された境界プロセッサと組み合わされ、それにより殆ど、或いは全ての用途がサポートされる。
図18はタップアレイ要素のための前述したデータフローを示すブロック図である。
最後に、特定のアプリケーションにおける本発明の一例として、本発明の再構成可能なプロセッサアレイが適応フィルタアレイ1901として機能する適応フィルタリングを対象としてきたマルチスタンダードチャンネルデコーダを図19に示す。また、前端部にあるデジタルフィルタ、すなわち、デジタルフロントエンド1902は、本発明の装置と同一の装置または他の最適化されたバージョンのいずれかに対してマッピングされることができる。FEC(前進型誤信号訂正)モジュール1904とともにFFT(高速フーリエ変換)モジュール1903は、本発明の処理アレイにマッピングされ得る。
したがって、本発明は、単純なプログラムおよび通信制御を維持しながら、重畳の問題に対する自由度を高める。また、単純なプログラムを各セルにダウンロードすることにより、本発明を使用して適応FIRを実現することができる。各プログラムは、ローカルタップ更新、係数更新、最も隣接したプロセッサとの通信のための周期的な算術処理を特定する。安定した状態での処理中には、メモリとの高帯域通信は不要である。
更なる実施形態においては、ここに記載したプロセッサアレイ上でニュートン・ラフソン法を効果的に実行しても良い。ニュートン・ラフソン法では、反復プロセスにより、関数値に対する推定が改善され、正確な値に収束する。このアルゴリズムは、除算、平方根、対数計算を含む幾つかの複雑な計算のためのコンピュータ演算ハードウェアにおいて使用される。特に除算に関しては、ニュートン・ラフソン法は、除数の逆数を計算する。この逆数と被除数との掛け算によって、商の計算が完了する。アルゴリズムの第1のステップは、入力された除数を、アルゴリズムが良好に機能する範囲内に正規化することである。本実施例において、この範囲は1〜2の値であり、これにより逆数を1〜1/2にする。
また、数をシフトさせ正規化を完了させた因数は、次の演算のために記憶されなければならない。したがって、結果として得られる数のペアは、正規化された数および因数からなり、これらはいずれも数式2の数における浮動小数点表示を含んでいる。
数2
e ss1.0bbbbbbbbbbbbbbbbbbbb
ここで、eは、浮動小数点表示のための整数として表わされる指数である。Sは符号であり、bは任意の二進ビット値である。
1回のプロセッサ命令サイクル内で正規化された値を生成する専用の正規化ユニットを使用して、正規化を達成することができる。かかるユニットは、アレイアーキテクチャ内の各プロセッサセルに対してかなりの複雑さをもたらすため、代わりに、部分的な正規化命令が規定される。部分的な正規化命令により、完全な正規化を行なうために必要な付加的な命令サイクルを行うことなく、セル内でのハードウェアの追加を最小にしてこの機能を果たすことができる。入力された除数は、その絶対値が1よりも小さく又は2よりも大きい数に関して必要に応じて左あるいは右にシフトすることにより、1〜2の範囲内に設定される。1〜2の範囲内の任意の数を修正する必要は全く無い。これは、これらの数が既に所望の範囲内にあるからである。
前述した桁送り(シフト)演算は、1または複数のシフトレジスタ内で行なわれる。この場合、各演算シフトは、1ビット位置に制限される。特に、各演算を1つのセル上で実行することができるので、セルは高度な知能を殆ど或いは全く必要としない。あるいは、セルは、単に、1以下の数に関しては1ビット位置だけ左にシフトし、2よりも大きい数に関しては1ビット位置だけ右にシフトするとともに、1〜2の任意の数をそのままにしておく。
一例として、1×2−3に正規化されるべき0.125という入力値があるとする。前述した部分正規化を使用して、2つの部分正規化命令内で除数が正規化される。
記憶された非正規化値:0b000.001000000000000000000
正規パス1:0b000.010000000000000000000
正規パス2:0b000.100000000000000000000
正規パス3:0b001.000000000000000000000
正規化された仮数
0b001.000000000000000000000
指数 (−3)
0b111101予想値−>0b111101
正規化処理を前述した最初の複数のステップに細分化する結果、アルゴリズムは、全体として、正規化される任意の特定の数に関して幾つのシフトが必要であるかを考慮する必要がなくなる。その代わり、正規化されるべき任意の数は、任意の可能な入力において必要な最大反復数により供給される。殆どシフトを必要としない数に関しては、シフトされることなく、後の反復によって単に供給される。これは、それらの数が所望の範囲内に設定され得る十分な回数だけシフトされた後、これらの数が1〜2という所要の境界内に入り、基本的なシフト処理の更なる反復では、結果的にシフトしなくなるからである。したがって、アルゴリズムが自己制御式(self-limiting)であることにより、ほとんど知能を必要とすることなく各反復を1つのセル上で行なうことができる。
前述したように、数が部分的に正規化されると、値Xnormに達する。この値Xnormは、ニュートン・ラフソン法においては以下のように使用される。
数3
+1=2y−y norm
ここで、まず見当をつけてYを例えば0.5に設定する。ニュートン・ラフソン法が収束すると、Xnormの計算で生じたシフトを明らかにするべく適切な因数が与えられる。
例えば図20から分かるように、アルゴリズムの各反復を別個の1つのセル上で実行することができ、それによりスピードと簡便性が得られる。自己制御式アルゴリズムを使用することにより、セルは、必要なシフト数を決定するためのインテリジェンスを有する必要はないが、任意の特定の数に関して必要なシフト数が小さいか或いは多いかを同様にして演算することができる。この特性により、セルを更に単純且つ経済的に製造することができる。
本発明においては、必要に応じて、フィルタサイズ、または、マッピングされるべきフィルタの量を、殆どのチャンネル復号アプリケーションに対して期待値以上に拡張することができる。また、コンポーネントアーキテクチャは、アレイ構造を乱すことなく、あるいは、セル及びルーティングの最適化を複雑にすることなく、非フィルタ機能、制御部、外部I/Oを導入することを可能にする。
また、複数のセルにわたってマッピングされる様々な信号処理機能に適応するこの構造の柔軟性により、同じアレイ上で複数の機能を結び付けることができるようになる。この方式において、セル群に対してマッピングされる機能は、アーキテクチャによって与えられる最も近くに隣接したセルとの通信を用いて、データを交換することができる。したがって、このアーキテクチャに対して、完全な信号処理チェーンをマッピングすることができる。
以上、本発明の好ましい実施形態を説明したが、当業者には明らかなように、様々な変更および追加を行なうことができる。それらの追加および変更は、添付の請求項によってカバーされるものである。
本発明による同一のプロセッサから成るアレイを示す図。 アレイ内の各プロセッサが、その最も隣接したプロセッサと通信することができることを示す図。 本発明に従って、最も隣接した出力ポートの任意の組み合わせを隣接する論理入力ポートに対してロードするプログラム可能な静的方式を示す図。 本発明に従って、セルの演算制御アーキテクチャを示す図。 本発明に従って、32タップ実数FIRフィルタを4×8のプロセッサアレイにマッピングする様子を示す図。 本発明に従って、32タップ実数FIRフィルタを4×8のプロセッサアレイにマッピングする様子を示す図。 本発明に従って、32タップ実数FIRフィルタを4×8のプロセッサアレイにマッピングする様子を示す図。 本発明に従って、32タップ実数FIRフィルタを4×8のプロセッサアレイにマッピングする様子を示す図。 本発明に従って、32タップ実数FIRフィルタを4×8のプロセッサアレイにマッピングする様子を示す図。 本発明に従って、32タップ実数FIRフィルタを4×8のプロセッサアレイにマッピングする様子を示す図。 本発明に従って、32タップ実数FIRフィルタを4×8のプロセッサアレイにマッピングする様子を示す図。 本発明の好ましい実施形態に従って、最終的な結果まで合計の組み合わせを加速させている状態を示す図。 本発明の好ましい実施形態に従って、最終的な結果まで合計の組み合わせを加速させている状態を示す図。 本発明の好ましい実施形態に従って、最終的な結果まで合計の組み合わせを加速させている状態を示す図。 本発明の好ましい実施形態に従って、重複した3×3アレイを有する9×9タップアレイを示す図。 外部マイクロコントローラおよびランダムアクセス構成バスを有するアレイの実施形態を示す図。 アレイと外部処理との間でデータストリームを正式にやりとりするための拡張可能な方法を示す図。 図17に示されたタップアレイ要素のブロック図。 本発明に従って、例示的な用途を示す図。
符号の説明
110 算術処理ハードウェア
120 制御部
130 レジスタファイル
140 通信制御機能部
201,210,220,230,240 プロセッサ
310 物理出力ポート
320 論理入力ポート
330 ランダムアクセス構成
340 Bind inxレジスタ
350 構成マルチプレクサ
410 プログラマブルデータパス要素
420 内部記憶レジスタ
430 入力データポート
440 データパス結果
450 ローカルレジスタ
460 出力ポート

Claims (25)

  1. デジタル信号処理演算を実行する装置であって、
    複数の処理セルから成る二次元アレイを備え、
    各前記処理セルは、その最も近くに隣接した処理セルと通信を行ない、反復アルゴリズムの少なくとも1回の反復を実行し、前記反復アルゴリズムが自己制御式であることを特徴とする装置。
  2. セル間の通信が前記最も近くに隣接した処理セルに制限されることを特徴とする請求項1に記載の装置。
  3. 前記最も近くに隣接した処理セルとの通信はプログラム可能な静的方式に従うことを特徴とする請求項2に記載の装置。
  4. 前記反復アルゴリズムは除算を実行することを特徴とする請求項2に記載の装置。
  5. 各前記処理セルは4つの出力ポートを有することを特徴とする請求項4に記載の装置。
  6. 各前記処理セルは、前記最も近くに隣接した処理セルからの出力ポート、内部に記憶されたデータ、あるいは、これらの任意の組み合わせのうちの1つを入力として受け取ることを特徴とする請求項5に記載の装置。
  7. 各前記処理セルが、最も近くに隣接した出力ポートの様々な組み合わせをその論理入力ポートへとマッピングしたものを記憶するためのメモリを有することを特徴とする請求項6に記載の装置。
  8. 前記メモリがレジスタを備えることを特徴とする請求項7に記載の装置。
  9. 各前記処理セルは、ニュートン・ラフソン法の一回の反復を実行することを特徴とする請求項8に記載の装置。
  10. 前記算術制御アーキテクチャは、
    ローカルコントローラと、
    内部記憶レジスタと、
    データパス要素と、を備えることを特徴とする請求項9に記載の装置。
  11. 前記データパス要素は、少なくとも加算、乗算、シフト演算を実行可能であることを特徴とする請求項10に記載の装置。
  12. 前記データパス要素には、前記ローカルコントローラにより、RISC型オペコードが与えられていることを特徴とする請求項11に記載の装置。
  13. 前記算術制御アーキテキチャは、
    ローカルVLIWコントローラと、
    内部記憶レジスタと、
    複数のデータパス要素と、を備えることを特徴とする請求項9に記載の装置。
  14. 前記データパス要素はそれぞれ、少なくとも加算、乗算、シフト演算を実行可能であることを特徴とする請求項13に記載の装置。
  15. 前記処理セルはASIPとして実現されることを特徴とする請求項13に記載の装置。
  16. 前記ASIPはアーキテクチャ合成ツールによって生成されることを特徴とする請求項15に記載の装置。
  17. 1つ以上の重畳された小さい二次元アレイを更に備え、
    前記重畳された各アレイは、一層下側のアレイにおける特定の収束点で、前記一層下側のアレイと通信を行なうことを特徴とする請求項9に記載の装置。
  18. 1つ以上の重畳された小さい二次元アレイを更に備え、
    前記重畳された各アレイは、一層下側のアレイにおける特定の収束点で、前記一層下側のアレイと通信を行なうことを特徴とする請求項13に記載の装置。
  19. プログラム可能な境界セルを更に備え、
    このプログラマブル境界セルは、全てのアレイ階層内の利用可能なポートに接続するとともに、外部プロセッサとの通信を容易にすることを特徴とする請求項17に記載の装置。
  20. プログラム可能な境界セルを更に備え、
    このプログラム可能な境界セルは、全てのアレイ階層内の利用可能なポートに接続するとともに、外部プロセッサとの通信を容易にすることを特徴とする請求項19に記載の装置。
  21. 除算アルゴリズムを効率的に実行する方法であって、
    前記除算アルゴリズムを、自己制御アルゴリズムの複数の反復に分割するステップであって、前記複数の反復のそれぞれが、複数のセルから成るマトリクスのうちの単一セル上で実行可能なステップと、
    除算されるべき数とは無関係に、同数の反復を実行するステップとを含む方法。
  22. 各前記反復は、セルマトリクスの別個のセル上で実行されることを特徴とする請求項21に記載の方法。
  23. 各前記反復は、数値が所定の範囲外にある場合にはその数値を右または左にシフトし、数値が前記所定の範囲内にある場合にはその数値をシフトしないステップをさらに含むことを特徴とする請求項22に記載の方法。
  24. 前記反復アルゴリズムは、平方根関数を実行するために利用されることを特徴とする請求項3に記載の装置。
  25. 前記処理セルのサブセットがそれぞれ異なるアルゴリズムを実行し、複数の前記サブセットを互いに結び付けることにより、完全なシグナルチェーンが実施されることを特徴とする請求項3に記載の装置。
JP2004517068A 2002-06-28 2003-06-05 アレイプロセッサにおける除算 Pending JP2005531843A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/184,514 US20040003201A1 (en) 2002-06-28 2002-06-28 Division on an array processor
PCT/IB2003/002548 WO2004003780A2 (en) 2002-06-28 2003-06-05 Division on an array processor

Publications (1)

Publication Number Publication Date
JP2005531843A true JP2005531843A (ja) 2005-10-20

Family

ID=29779381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004517068A Pending JP2005531843A (ja) 2002-06-28 2003-06-05 アレイプロセッサにおける除算

Country Status (6)

Country Link
US (1) US20040003201A1 (ja)
EP (1) EP1520232A2 (ja)
JP (1) JP2005531843A (ja)
CN (1) CN100492342C (ja)
AU (1) AU2003239304A1 (ja)
WO (1) WO2004003780A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013206293A (ja) * 2012-03-29 2013-10-07 Fujitsu Semiconductor Ltd リコンフィグ可能な集積回路装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2395298B (en) * 2002-09-17 2007-02-14 Micron Technology Inc Flexible results pipeline for processing element
US7299339B2 (en) 2004-08-30 2007-11-20 The Boeing Company Super-reconfigurable fabric architecture (SURFA): a multi-FPGA parallel processing architecture for COTS hybrid computing framework
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
CN102200961B (zh) * 2011-05-27 2013-05-22 清华大学 一种动态可重构处理器内子单元的扩展方法
CN103543984B (zh) * 2012-07-11 2016-08-10 世意法(北京)半导体研发有限责任公司 用于特殊相关应用的修改型平衡吞吐量数据路径架构
CN103543983B (zh) * 2012-07-11 2016-08-24 世意法(北京)半导体研发有限责任公司 用于提高平衡吞吐量数据路径架构上的fir操作性能的新颖数据访问方法
US10885985B2 (en) 2016-12-30 2021-01-05 Western Digital Technologies, Inc. Processor in non-volatile storage memory
US10114795B2 (en) 2016-12-30 2018-10-30 Western Digital Technologies, Inc. Processor in non-volatile storage memory
US10581407B2 (en) * 2018-05-08 2020-03-03 The Boeing Company Scalable fir filter
CN109471062A (zh) * 2018-11-14 2019-03-15 深圳美图创新科技有限公司 定位方法、定位装置及定位系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4380051A (en) * 1980-11-28 1983-04-12 Motorola, Inc. High speed digital divider having normalizing circuitry
GB8605366D0 (en) * 1986-03-05 1986-04-09 Secr Defence Digital processor
US5038386A (en) * 1986-08-29 1991-08-06 International Business Machines Corporation Polymorphic mesh network image processing system
US4985832A (en) * 1986-09-18 1991-01-15 Digital Equipment Corporation SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors
US4964032A (en) * 1987-03-27 1990-10-16 Smith Harry F Minimal connectivity parallel data processing system
US5671170A (en) * 1993-05-05 1997-09-23 Hewlett-Packard Company Method and apparatus for correctly rounding results of division and square root computations
US20030065904A1 (en) * 2001-10-01 2003-04-03 Koninklijke Philips Electronics N.V. Programmable array for efficient computation of convolutions in digital signal processing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013206293A (ja) * 2012-03-29 2013-10-07 Fujitsu Semiconductor Ltd リコンフィグ可能な集積回路装置

Also Published As

Publication number Publication date
CN100492342C (zh) 2009-05-27
WO2004003780A3 (en) 2004-12-29
WO2004003780A2 (en) 2004-01-08
US20040003201A1 (en) 2004-01-01
EP1520232A2 (en) 2005-04-06
AU2003239304A1 (en) 2004-01-19
AU2003239304A8 (en) 2004-01-19
CN1729464A (zh) 2006-02-01

Similar Documents

Publication Publication Date Title
Kwon et al. Maeri: Enabling flexible dataflow mapping over dnn accelerators via reconfigurable interconnects
US11995027B2 (en) Neural processing accelerator
US10223334B1 (en) Native tensor processor
JP7315317B2 (ja) プロセッサおよびプロセッサのデータ転送方法
Nath et al. Efficient VLSI networks for parallel processing based on orthogonal trees
US5081575A (en) Highly parallel computer architecture employing crossbar switch with selectable pipeline delay
CN110352435A (zh) 利用链接指令的神经网络处理
WO2017127086A1 (en) Analog sub-matrix computing from input matrixes
Kung Computational models for parallel computers
Bartoloni et al. A hardware implementation of the APE100 architecture
US10853034B2 (en) Common factor mass multiplication circuitry
JP2005531843A (ja) アレイプロセッサにおける除算
NL2015114B1 (en) Scalable computation architecture in a memristor-based array.
JP2005504394A (ja) デジタル信号処理でコンボリューション演算を効率的に行うプログラマブルアレイ
Das et al. Multi-Mesh-an efficient topology for parallel processing
US7260709B2 (en) Processing method and apparatus for implementing systolic arrays
KR20050016642A (ko) 디지털 신호 처리 동작 구현 장치 및 분할 알고리즘 실행방법
Kung Warp experience: we can map computations onto a parallel computer efficiently
Pechanek et al. An introduction to an array memory processor for application specific acceleration
JP7243006B1 (ja) ネットワークオンチップリコンフィギュアビリティ
Laghari et al. Scheduling Techniques of Processor Scheduling in Cellular Automaton
US20240329930A1 (en) Heterogeneous multi-functional reconfigurable processing-in-memory architecture
Kim et al. Mapping of neural networks onto the memory-processor integrated architecture
CN114443146A (zh) 基于存算一体存储器的矢量处理器及其运行方法
Kumawat et al. CNN agnostic accelerator design for low latency inference on FPGAs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080104

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080404

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080626

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090717

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091218