JP2005504394A - デジタル信号処理でコンボリューション演算を効率的に行うプログラマブルアレイ - Google Patents
デジタル信号処理でコンボリューション演算を効率的に行うプログラマブルアレイ Download PDFInfo
- Publication number
- JP2005504394A JP2005504394A JP2003533145A JP2003533145A JP2005504394A JP 2005504394 A JP2005504394 A JP 2005504394A JP 2003533145 A JP2003533145 A JP 2003533145A JP 2003533145 A JP2003533145 A JP 2003533145A JP 2005504394 A JP2005504394 A JP 2005504394A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- array
- communication
- processing
- nearest
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
- Complex Calculations (AREA)
Abstract
デジタル信号処理のためのコンポーネントアーキテクチャが提案される。同一のプロセッサから構成される2次元のリコンフィギュラブルなアレイであって、各プロセッサは最近隣セルと通信するアレイは、コンボリューション演算、有限インパルス(FIR)応答、及び適応有限インパルス応答を対応づけることのできる、簡単でパワー効率の良いプロットフォームを与える。適応FIRは、簡単なプログラムを各セルにダウンロードすることによって実現される。各プログラムは、ローカルタップアップデート、係数アップデート及び最近隣のものとの通信のための、周期的な演算処理を定める。定常状態処理の間、メモリとの高帯域通信は必要とされない。このコンポーネントアーキテクチャは、外部コントローラ、即ち汎用目的デジタルシグナルプロセッサに相互接続されて、スタティックなコンフィギュレーションをもたらし、あるいは定常状態処理を補足する。
Description
【技術分野】
【0001】
本発明は、デジタル信号処理に関し、特に、集積回路におけるデジタル信号処理を最適化することに関する。
【背景技術】
【0002】
コンボリューション演算はデジタル信号処理において一般的であり、有限インパルス応答(FIR)フィルタを実現するために用いられる。以下は、係数ベクトルCを有するデータ信号Xのコンボリューションを一般的に表現したものである。
【0003】
【数1】
ここで、データ信号Xと、システム応答すなわちフィルタ係数ベクトルCとは両方とも因果関係がある。
【0004】
各出力データYn,2Nに対して、メモリからのデータフェッチ、N回の乗算及びN個の積の和が実行されなければならない。メモリトランザクションは通常、2つの離れたメモリロケーションから実行され、1つは係数Ci、もう一つはデータXn−iである。係数が定常動作動作期間中に頻繁にアップデートされるリアルタイム適応フィルタの場合、係数をアップデート及びストアするため、追加のメモリトランザクション及び算術演算を実行しなければならない。汎用目的のデジタルシグナルプロセッサは特に、フォン・ノイマン型プロセッサにおいてこの演算を効率的に実行するために最適化されてきた。しかしながら、ある用途においては、高信号処理レートと過酷なパワー消費制約とが衝突し、汎用目的デジタルシグナルプロセッサは依然として非現実的なままである。
【0005】
そのような制約に対処するため、多数のアルゴリズ的でアーキテクチャ的な方法が用いられてきた。ある一般的な方法は、周波数領域において処理を実行することである。従って、アルゴリズム的に、コンボリューション演算は、ある変換、例えばフーリエ変換を用いてスペクトラムの形に変換でき、その後、逆変換により所望の和を生成できる。多くの場合において、効率的な高速フーリエ変換技術は、実際に、時間ドメインでの元のコンボリューション演算よりも、全体の計算負荷を減少する。単一キャリアの地上波チャネルのデコーディングの背景においては、まさにそのような技術は、ATSC8−VSBイコライザの部分的な実行のために提案されてきており、ここに述べられた一般的な課題に基づいた、出願人Dagnachew Birruの米国特許出願09−840203、09−840200号明細書においてより完全に述べられている。これらの出願の全テキストはここに参考として組み入れられる。
【0006】
アルゴリズム要件あるいはメモリ制約のためにコンボリューション演算を周波数領域に容易に変換できない場合は、特定のASICプロセッサが、コンボリューション演算を実行するために、また、適応係数アップデートアルゴリズムにおける詳細な選択に対応するために提案されてきており、これらのことは、高速度データ通信のためのGrayverによるA.リコンフィギュラブル8 GOP ASICアーキテクチャ、通信で上等部門のIEEEジャーナルVol.18, No.11(2000年11月)、及びE.Dujardin and O.Gay-Bellileによるデジタル通信のためのプログラマブルアーキテクチャ:単一キャリア研究、ISPACS2000、ホノルル、2000年11月に述べられている。
【0007】
そのようなASIC構想の重要な特徴は、(1)特化されたセルが演算ハードウェア及びメモリを備え、係数及び状態の記憶を伴って全てのタップ演算をローカライズすること(2)セルの機能がローカルにプログラムされ、種々のセル間で複製されること、を含む。
【0008】
進んだリコンフィギュラブルマルチプロセッサシステムにおける研究が、複雑なワークステーション処理システムに適用され成功した。Michael Taylorは、洗練されていないプロトタイプ設計ドキュメント、MITコンピュータサイエンス研究所、2001年1月において、例えば、ダイナミックプログラマブル通信ネットワークと同様に、スタティックなプログラマブルネットワークを用いて通信するプログラマブルプロセッサ“tiles(タイル)”のアレイについて述べている。スタティックなネットワークは、コンフィギュレーションの間定義される相互接続によってリコンフィギュラブルなクロスバネットワークを用いて任意のプロセッサを接続し、一方、ダイナミックネットワークは、ダイナミックルーティングを用いて、パケット転送スキームを実行する。それぞれの場合において、相互接続は、ソースセルからプログラムされる。
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、上述した全てのアーキテクチャラルな解決手法では、(Grayverの文献にあるように)一次元のチェーンにフィルタが制限されることにより柔軟性が弱められ、あるいは、取り扱う処理の範囲がコンボリューション演算を越えるため複雑性が高くなる。それ故、現在のシステムは、提案されたものか現存しているものかを問わず、柔軟性と簡易性との両方を備えるものではない。
【0010】
よって、これらのスキームに対する優位な改善は、コンボリューション演算の問題に対する柔軟性を高め、さらに簡潔なプログラム及び通信コントロールを維持することである。
【課題を解決するための手段】
【0011】
コンボリューション演算機能の実行及び他のデジタル信号処理動作のためのコンポーネントアーキテクチャが提案される。同一プロセッサの2次元アレイは、各プロセッサが最近隣プロセッサと通信し、単純でパワー効率のよいプラットフォームを提供し、コンボリューション演算、有限インパルス応答(FIR)フィルタ及び適応有限インパルスフィルタがそのプラットフォームに対応づけられ得る。適応FIRは簡単なプログラムを各セルにダウンロードすることによって実現できる。各プログラムは、ローカルタップアップデート、係数アップデート及び最近隣セルとの通信を行うための周期的な演算処理を定める。定常状態処理の間、メモリとの高帯域通信は必要とされない。
【0012】
このコンポーネントアーキテクチャは、外部コントローラ、即ち、汎用目的デジタルシグナルプロセッサと相互接続されて、スタティックなコンフィギュレーションを与え、あるいは定常状態処理を補足する。
【0013】
好ましい実施例において、追加のアレイ構造が元のアレイに重ね合わせられ得、アレイ素子を含む追加のアレイ構造のメンバは、部分合計収束点に配置され、リソース利用効率を最大化する。
【0014】
上述の従来技術を改良するアレイ構造は、以下の特徴、即ち、新しいデータが追加されたときセル間での状態の進行(progression)を許容する新規なセル間通信スキーム、演算結果の合計を実現する新規なシリアル追加構想、並びに、外部デバイスによる、セルプログラミング、状態及び係数へのアクセス、を備える。
【0015】
本発明の基本的なアイデアは簡単である。DSP動作を実行するためのより効率的で柔軟なプラットフォームが与えられ、最近隣プロセッサとの通信を行うプロセッサアレイと、ローカルプログラムコントロールとを有する。
【発明を実施するための最良の形態】
【0016】
以下、添付された図面を参照して、従来技術を越える本発明の利益及び本発明の詳細について説明する。
【0017】
図1に示すように、同一プロセッサの2次元アレイ(ここに示された典型的な実施例では4×8)が描かれており、それぞれ、演算処理ハードウェア110、コントロール120、レジスタファイル130及び通信制御機能部140を備える。各プロセッサは、ローカルに記憶したデータ、あるいは、他のプロセッサからの入力データに基づいて、個々に演算処理を実行するようにプログラムされ得る。
【0018】
理想的には、プロセッサは、スタートアップの間は、スタティックに構成され、定常状態動作期間は、周期的なスケジュールで動作する。このアーキテクチャを選択することで、演算処理によって状態及び係数の記憶を同じ場所に配置し、メモリ装置との高帯域通信を排除する利点がある。
【0019】
以下は、本発明により達成される有益な事項である。
【0020】
1.簡易な最適化を促進するため安定したセル及びアレイ構造を保持すること
2.より大きなアレイサイズへの拡張性のための用意
3.パワーを最小化し、通信ボトルネックを避けるために、ローカライズされた通信を可能な限り保持すること
4.複雑でないプログラミング
5.必要に応じて、方法と手段とを対応づけることを簡易に開発する許容性
図2は、プロセッサの相互通信アーキテクチャを示す。プログラミング及びルーティイングの簡易性を保ち、通信距離を最小化するため、通信は、最近隣のプロセッサ間に制限される。従って、あるプロセッサ201は、最近隣のプロセッサ210、220、230、240とだけ、通信できる。
【0021】
図3に示すように、最近隣プロセッサとの通信は、通信対象である固定(bound)入力ポートを参照して、各プロセッサについて定められる。固定入力ポートは、単に、特定の最近隣の物理出力ポート310を、あるプロセッサの論理入力ポート320へ対応づけている。論理入力ポート320は、着目するプロセッサにおいて論理演算処理の対象になる。より好ましい実施例においては、各プロセッサ出力ポートは、最近隣のコンフィギュラブルな入力ポートに無条件に接続される。プロセッサの演算処理結果は、これらの物理出力ポートへ書込み可能であり、また、望むならば、前記プロセッサの最近隣、つまりアレイ素子が、そのデータを受け入れるようにプログラムされ得る。
【0022】
図3に示すランダムアクセスコンフィギュレーション330に従って、スタティックコンフィギュレーションステップは、最近隣の出力ポート310の任意の組み合わせを論理入力ポート320へ対応づけることをロードできる。その対応付けは、Bind_inxレジスタ340に格納され、Bind_inxレジスタ340は、コンフィギュレーションマルチプレクサ350に選択信号として接続され、入ってくる最近隣のデータをアレイ素子すなわちプロセッサの内部論理入力ポートへ実際に接続する。
【0023】
図3の典型的な装置は1セルあたり4つの出力ポートを表示しているが、別の実施例において、1つのセルにつき1つの出力ポートを有する簡易化されたアーキテクチャを実行して、コンフィギュラブルな入力ポートの複雑性を減少あるいは削除してもよい。この手段では、基本的に、最近隣セルを選択するために、内部演算プログラムに責任がおかれ、その最近隣セルの出力は、この場合、物理入力ポートに接続される入力として設計される。
【0024】
言い換えると、図3に示す特徴は、コンフィギュレーションモードで実行されるように、ある特定のセルを1つの入力ポートに固定的に対応づけることを許容する。簡単な方法では、この入力固定ハードウェア及びこれに対応するコンフィギュレーションステップが除去され、ランタイムコントロールが、どのセル出力にアクセスするべきかを選択する。その接続は、簡単な上述の実施例と同一であるが、セル設計及びプログラミングの複雑性は簡素化される。
【0025】
図3に示されるより複雑な固定メカニズムは、セル間でコントローラを共有するとき、要するに、“SIMD”(Single Instruction Multiple Data:単一命令複数データ処理)装置を作製するときに、最も有用である。
【0026】
図4は、演算コントロール用のアーキテクチャを示す。プログラマブルデータパス素子410は、内部記憶レジスタ420あるいは入力データポート430の組み合わせで動作する。データパス演算結果440は、選択されたローカルレジスタ450あるいは出力ポート460のいずれかに書き込まれ得る。データパス素子410は、RISCのような動作をコード化したオペコード、つまり、ソースオペランド(srcx)及び目的オペランド(dxtx)によって、一貫性のあるオペコードにおいてコントロールされる。適応FIRフィルタの対応付けのため、簡易な巡回プログラムを各セルにダウンロードできる。コントローラは、プログラム記憶装置をアドレス指定する簡易なプログラムカウンタから構成され、結果として生じるオペコードがデータパスに適用される。係数と状態は、ローカルレジスタファイル内に記憶される。実施例において、タップ演算は、フィルタ加算を実現するために最近隣セルの演算結果(product)を一連に加算した後、上記2つを乗算することを伴う。さらに、フィルタ遅延ラインに沿って、状態の進行が、最近隣セル間で、レジスタシフトによって実現される。
【0027】
さらに複雑なアレイセルが、“VLIW”(Very Large Instruction Word)コントローラによって制御される多数のデータパス素子で定められ得る。例えばARTデザイナのようなアーキテクチャ統合ツールによって生成されるようなASIP(application specific instruction processor)が、これらの複雑なアレイ処理素子を実現するために用いることができる。
【0028】
本発明の典型的な実施において、図5〜図11は、上述した本発明のアーキテクチャに従って構成及びプログラムされた4x8のプロセッサアレイに、32タップリアルFIRフィルタを対応づけた状態を示す。状態フロー及び後続のタップ演算は、図5に示すようにして実現され、第1のステップでは、32個のセルのそれぞれは、そのフィルタの1タップを演算し、続くステップ(図6〜図11に示す6回のプロセッササイクル)では、その演算結果が合計されて1つの最終演算結果になる。説明を簡単にするため、個々のアレイ素子を以降、アレイの素子(i,j)として示し、iは行、jは列であり、アレイの最上位の左側の素子を、最初すなわち(1,1)素子として定める。
【0029】
図6〜図11は、アレイを間で部分的な演算結果を合計する状態を詳述し、初期の合計段階の間、最近隣のものとの通信の構想の効率を示す。図6に示すステップにおいて、アレイの各行に沿って、列1-3は3:1加算を実行して演算結果が列2に記憶され、列4-6は3:1加算を実行して演算結果が列5に記憶され、列7-8は2:1加算を実行して演算結果が列8に記憶される。図7に示すステップにおいて、アレイの列2,5,8のそれぞれにおいて、行1-2、行3-4の中間合計が結合され、演算結果が素子(2,2)(2,5)(2,8)及び(3,2)(3,5)(3,8)にそれぞれ記憶される。これらのステップの間、プロセッサハードウェア及び相互接続ネットワークは、演算結果項を結合するのにうまく利用され、従って、入手できるリソースを効率よく利用している。
【0030】
しかしながら、図8に示すステップによって、全アレイは、図7に示すステップの演算結果が記憶された3つのアレイ素子のペアを用いる加算ステップで占められなければならない。図9〜図10に示すステップにおいて、全アレイは、図11に示すようにして3つの部分合計を結合して最終演算結果を算出するために、これら3つの部分合計を近くのセルにシフトすることに占められ、最後の3:1加算で、アレイ素子(3,5)に最終演算結果を蓄積する。
【0031】
容易に理解できるように、離れた部分合計を結合するためにアレイの残りをアイドル状態にすることはいくぶん非効率である。リソースをより望ましく利用して結合を促進するようなアーキテクチャの増強は、理想的には、簡易なアレイ構造及びプログラミングモデルを保持し、拡張可能性を維持するべきである。最近隣セルの要求を緩和して(relaxe)、追加のセルとの通信を許容することは、ルーティング及びプロセッサ設計を複雑にし、より大きなアレイにおいて近接問題(proximity problem)を妨げない。従って、好適な実施例においては、追加のアレイ構造は、元のものに重ねることができ、そのメンバは、最近隣セルの2つの3:1合計の後(例えば図6に示した段階の後)、部分合計収束点に配置されたアレイ素子から構成される。このことは、部分合計の収集に対して重要な増強を与える。
【0032】
重ねられたアレイが図12に示される。重ねられたアレイは、各素子が、最近隣素子として最も近い部分合計収束点を備える点を除き、下に横たわるアレイと同じアーキテクチャを保持する。同様に、2つのアレイ間の交わりは、部分和収束点で起こる。従って、好ましい実施例において、部分合計の第1の段階は、現存のアレイを用いて実行され、そこでは、リソース利用は好適なままであり、部分合計の後の段階は、重ねられたアレイにおいて同様に最近隣素子との通信で実行されるが、このノードは、元の部分合計収束点、例えば図12における列2、5、8に存在する。図12〜図14は、最終演算結果へ向けて合計の結合を加速して行う状態を示す。
【0033】
図15は、重ねられた3x3アレイを有した9x9タップアレイを示す。従って、重ねられたアレイは、9x9アレイの各3x3ブロックの中心に収束点を有する。部分演算結果の結合を効率的に有するより大きなアレイは、収束点のアレイをさらに追加することによって可能である。結果として効率的に提供されるアレイサイズは9N−1であり、Nはアレイの層数である。従って、N層に対しては、最大9Nまで、セル出力は、最近隣セルとの通信を用いて効率的に結合される。即ち、フィルタ追加ツリーを完成させるために単にセル間でシフトしなければならない孤立の部分合計を有さない。
【0034】
アレイサイズが増大するような再帰は、上述した例から容易に認識できる。図12〜図14は、最近隣セルとの通信を用いてタップ演算結果の合計を加速するためにどのように別のアレイレベルを用いるのかを示す。第2レベルは、x3周期性を除き、オリジナルの下に横たわるレベルと同じであり、セルは、レベル0の9個のセルよりなるクラスタから部分合計を生成する下に横たわるセルに結合される。
【0035】
必要なレベルの数は、アレイへの配置が望まれるセルの数に依存する。もし、四角形内に9タップからなるクラスタが存在すれば、最近隣のものとの通信は、ちょうど1アレイレベルで全ての項を合計でき、結果は中心セルに集まる。
【0036】
81セルまでのより大きなアレイに対しては、部分合計を受け取るために各クラスタの中心上にレベル1のセルを配置して9セルからなるクラスタにおけるセルを組織化し、レベル0とレベル1との両方で各クラスタを結合する。レベル1で、最近隣は、隣接したクラスタ(レベル1のアレイを伴わずに別の状況で孤立した部分合計を現時点で含んでいる)の出力である。9個のレベル0のセルからなるこの3x3スーパークラスタに対して、演算結果は、レベル1の部分合計が結合された後、中心のレベル1のセルにおいて現れる。
【0037】
81より大きく、729(93)より小さいアレイに対しては、3x3のレベル1のセルを備えた、81個のレベル0のセルからなるスーパークラスタを組み立て、次いで、レベル2のセルをそのクラスタの中心セルの上に配置して、レベル1の部分合計を受け取る。全ての3つのレベルが互いに結合され、従って、レベル2セルは現時点で、最近隣のものとの通信を用いて、隣接するスーパークラスタからの部分演算結果を結合でき、演算結果は中心のレベル2のセルにおいて現れる。
【0038】
スーパークラスタリングを再帰的に適用することによってアレイをさらに増大できる。もちろん、ある時点で、VLSIワイヤ遅延制約が、上位レベルセルが物理的に遠くに離れる要因になり、最終的にアレイの拡張性を制限する。
【0039】
次に、アレイ素子にコンフィギュレーションデータを送る方法と、アレイと外部プロセスと間でサンプルストリームを交換する方法とを述べる。小さなアレイとのサンプル交換と同様、コンフィギュレーションにも適した1つの方法を図16に示す。ここで、バス1610は全てのアレイ素子を外部コントローラ1620に接続する。外部コントローラは、コンフィギュレーションあるいはデータ交換用のセルを選択でき、アドレスブロードキャスト及びローカルセルデコードメカニズム、あるいはさらにRAMに用いられるような行及び列のプリデコーディング及び選択方法を用いる。この技術の魅力はその単純性にあるけれども、大きなアレイサイズで不十分にスケールし、大きなサンプル交換レートに対して通信ボトルネックになり得る。
【0040】
図17は、アレイと外部プロセスとの間で効率的にデータストリームを交換する、より拡張可能性のある方法を示す。アレイボーダにおける拡張I/Oポートは、アレイ階層の各レベルにおいて、アレイのルーティング及びコントロールを複雑にすることなく、ボーダセルへ好適にルートされる。任意の機能性及び結合性をアレイに加えることが便利であるが、ボーダセルは、アレイセルにおいて役立つように、通常、簡易なプログラミングモデルに従う。任意の機能性は、決定フィードバックイコライザのスライサのようなフィルタ間動作を挿入するために用いることができる。さらに、ボーダセルは、コントローラの介在がほとんどない状態で、外部ストリームI/Oを供給できる。好ましい実施例においては、図16に示すスタティックコンフィギュレーション目的のためのバスは、図17に示す定常状態通信のためのボーダプロセッサ(border processor)に沿って結合され、従って、ほとんどのあるいはあらゆる用途をサポートする。
【0041】
上述したようなタップアレイ素子に対するデータフローを図18にブロック図として示す。
【0042】
最後に、特定の適用の場面における本発明の例として、図19は、マルチスタンダードチャネルデコーダを示し、本発明によるリコンフィギュラブルなプロセッサアレイが、適応フィルタリング用に設定され、適応フィルタアレイ1901として機能する。前方におけるデジタルフィルタ、すなわちデジタルフロントエンド1902は、同じもの、あるいは本発明の装置を最適化したいくつかの他のバージョンにさらに対応付けできる。FFT(fast fourier transform:高速フーリエ変換)モジュール1903は、FEC(forward error correction:前方誤り訂正)モジュール1904と同様に、本発明による処理アレイに対応付けされ得るが、チャネルデコーディング用途においてこれらのモジュールにアレイ手段を適用する有用性は一般的にさほど高くない。
【0043】
従って、本発明は、簡易なプログラム及び通信コントロールを保持しつつも、コンボリューション問題に対する柔軟性を増強する。同様に、適応FIRは、本発明を用いて各セルに簡易なプログラムをダウンロードすることによって実現できる。各プログラムは、ローカルタップアップデート、係数アップデート及び最近隣のものとの通信のための周期的な演算処理を定める。定常状態処理の間、メモリとの高帯域通信は必要とされない。
【0044】
必要に応じて、フィルタサイズ、即ち対応付けられるフィルタの数は、本発明において、多くのチャネルデコーディング用途に要求される値を超えて拡張可能である。さらに、コンポーネントアーキテクチャは、アレイ構造を阻害せずに、すなわち、セル及びルーティングの最適化を難しくせずに、フィルタ無し機能、コントロール及び外部I/Oを提供する。
【0045】
上述では本発明の好ましい実施例について述べたが、当業者であれば、種々の変形及び追加をなし得る。
【図面の簡単な説明】
【0046】
【図1】本発明に従った、同一プロセッサのアレイを示す。
【図2】アレイにおける各プロセッサが最近隣セルと通信できることを示す。
【図3】本発明に従った、最近隣セルの出力ポートの任意の組み合わせを論理近隣入力ポートにロードするプログラマブルスタティックスキームを示す。
【図4】本発明に従った、セルの演算コントロールアーキテクチャを示す。
【図5】本発明に従って32タップリアルFIRを4x8のプロセッサアレイに対応づけた状態を示す。
【図6】本発明に従って32タップリアルFIRを4x8のプロセッサアレイに対応づけた状態を示す。
【図7】本発明に従って32タップリアルFIRを4x8のプロセッサアレイに対応づけた状態を示す。
【図8】本発明に従って32タップリアルFIRを4x8のプロセッサアレイに対応づけた状態を示す。
【図9】本発明に従って32タップリアルFIRを4x8のプロセッサアレイに対応づけた状態を示す。
【図10】本発明に従って32タップリアルFIRを4x8のプロセッサアレイに対応づけた状態を示す。
【図11】本発明に従って32タップリアルFIRを4x8のプロセッサアレイに対応づけた状態を示す。
【図12】本発明の好適な実施例に従って最終結果に向けて合計の結合を加速する状態を示す。
【図13】本発明の好適な実施例に従って最終結果に向けて合計の結合を加速する状態を示す。
【図14】本発明の好適な実施例に従って最終結果に向けて合計の結合を加速する状態を示す。
【図15】本発明の好適な実施例に従った、重ねられた3x3アレイを備えた9x9タップアレイを示す。
【図16】外部マイクロコントローラ及びランダムアクセスコンフィギュレーションバスを備えたアレイ装置を示す。
【図17】アレイと外部プロセスとの間でデータストリームを正式に交換する、拡張性のある方法を示す。
【図18】図17に示すタップアレイ素子のブロック図を示す。
【図19】本発明に従った典型的な適用例を示す。
【0001】
本発明は、デジタル信号処理に関し、特に、集積回路におけるデジタル信号処理を最適化することに関する。
【背景技術】
【0002】
コンボリューション演算はデジタル信号処理において一般的であり、有限インパルス応答(FIR)フィルタを実現するために用いられる。以下は、係数ベクトルCを有するデータ信号Xのコンボリューションを一般的に表現したものである。
【0003】
【数1】
ここで、データ信号Xと、システム応答すなわちフィルタ係数ベクトルCとは両方とも因果関係がある。
【0004】
各出力データYn,2Nに対して、メモリからのデータフェッチ、N回の乗算及びN個の積の和が実行されなければならない。メモリトランザクションは通常、2つの離れたメモリロケーションから実行され、1つは係数Ci、もう一つはデータXn−iである。係数が定常動作動作期間中に頻繁にアップデートされるリアルタイム適応フィルタの場合、係数をアップデート及びストアするため、追加のメモリトランザクション及び算術演算を実行しなければならない。汎用目的のデジタルシグナルプロセッサは特に、フォン・ノイマン型プロセッサにおいてこの演算を効率的に実行するために最適化されてきた。しかしながら、ある用途においては、高信号処理レートと過酷なパワー消費制約とが衝突し、汎用目的デジタルシグナルプロセッサは依然として非現実的なままである。
【0005】
そのような制約に対処するため、多数のアルゴリズ的でアーキテクチャ的な方法が用いられてきた。ある一般的な方法は、周波数領域において処理を実行することである。従って、アルゴリズム的に、コンボリューション演算は、ある変換、例えばフーリエ変換を用いてスペクトラムの形に変換でき、その後、逆変換により所望の和を生成できる。多くの場合において、効率的な高速フーリエ変換技術は、実際に、時間ドメインでの元のコンボリューション演算よりも、全体の計算負荷を減少する。単一キャリアの地上波チャネルのデコーディングの背景においては、まさにそのような技術は、ATSC8−VSBイコライザの部分的な実行のために提案されてきており、ここに述べられた一般的な課題に基づいた、出願人Dagnachew Birruの米国特許出願09−840203、09−840200号明細書においてより完全に述べられている。これらの出願の全テキストはここに参考として組み入れられる。
【0006】
アルゴリズム要件あるいはメモリ制約のためにコンボリューション演算を周波数領域に容易に変換できない場合は、特定のASICプロセッサが、コンボリューション演算を実行するために、また、適応係数アップデートアルゴリズムにおける詳細な選択に対応するために提案されてきており、これらのことは、高速度データ通信のためのGrayverによるA.リコンフィギュラブル8 GOP ASICアーキテクチャ、通信で上等部門のIEEEジャーナルVol.18, No.11(2000年11月)、及びE.Dujardin and O.Gay-Bellileによるデジタル通信のためのプログラマブルアーキテクチャ:単一キャリア研究、ISPACS2000、ホノルル、2000年11月に述べられている。
【0007】
そのようなASIC構想の重要な特徴は、(1)特化されたセルが演算ハードウェア及びメモリを備え、係数及び状態の記憶を伴って全てのタップ演算をローカライズすること(2)セルの機能がローカルにプログラムされ、種々のセル間で複製されること、を含む。
【0008】
進んだリコンフィギュラブルマルチプロセッサシステムにおける研究が、複雑なワークステーション処理システムに適用され成功した。Michael Taylorは、洗練されていないプロトタイプ設計ドキュメント、MITコンピュータサイエンス研究所、2001年1月において、例えば、ダイナミックプログラマブル通信ネットワークと同様に、スタティックなプログラマブルネットワークを用いて通信するプログラマブルプロセッサ“tiles(タイル)”のアレイについて述べている。スタティックなネットワークは、コンフィギュレーションの間定義される相互接続によってリコンフィギュラブルなクロスバネットワークを用いて任意のプロセッサを接続し、一方、ダイナミックネットワークは、ダイナミックルーティングを用いて、パケット転送スキームを実行する。それぞれの場合において、相互接続は、ソースセルからプログラムされる。
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、上述した全てのアーキテクチャラルな解決手法では、(Grayverの文献にあるように)一次元のチェーンにフィルタが制限されることにより柔軟性が弱められ、あるいは、取り扱う処理の範囲がコンボリューション演算を越えるため複雑性が高くなる。それ故、現在のシステムは、提案されたものか現存しているものかを問わず、柔軟性と簡易性との両方を備えるものではない。
【0010】
よって、これらのスキームに対する優位な改善は、コンボリューション演算の問題に対する柔軟性を高め、さらに簡潔なプログラム及び通信コントロールを維持することである。
【課題を解決するための手段】
【0011】
コンボリューション演算機能の実行及び他のデジタル信号処理動作のためのコンポーネントアーキテクチャが提案される。同一プロセッサの2次元アレイは、各プロセッサが最近隣プロセッサと通信し、単純でパワー効率のよいプラットフォームを提供し、コンボリューション演算、有限インパルス応答(FIR)フィルタ及び適応有限インパルスフィルタがそのプラットフォームに対応づけられ得る。適応FIRは簡単なプログラムを各セルにダウンロードすることによって実現できる。各プログラムは、ローカルタップアップデート、係数アップデート及び最近隣セルとの通信を行うための周期的な演算処理を定める。定常状態処理の間、メモリとの高帯域通信は必要とされない。
【0012】
このコンポーネントアーキテクチャは、外部コントローラ、即ち、汎用目的デジタルシグナルプロセッサと相互接続されて、スタティックなコンフィギュレーションを与え、あるいは定常状態処理を補足する。
【0013】
好ましい実施例において、追加のアレイ構造が元のアレイに重ね合わせられ得、アレイ素子を含む追加のアレイ構造のメンバは、部分合計収束点に配置され、リソース利用効率を最大化する。
【0014】
上述の従来技術を改良するアレイ構造は、以下の特徴、即ち、新しいデータが追加されたときセル間での状態の進行(progression)を許容する新規なセル間通信スキーム、演算結果の合計を実現する新規なシリアル追加構想、並びに、外部デバイスによる、セルプログラミング、状態及び係数へのアクセス、を備える。
【0015】
本発明の基本的なアイデアは簡単である。DSP動作を実行するためのより効率的で柔軟なプラットフォームが与えられ、最近隣プロセッサとの通信を行うプロセッサアレイと、ローカルプログラムコントロールとを有する。
【発明を実施するための最良の形態】
【0016】
以下、添付された図面を参照して、従来技術を越える本発明の利益及び本発明の詳細について説明する。
【0017】
図1に示すように、同一プロセッサの2次元アレイ(ここに示された典型的な実施例では4×8)が描かれており、それぞれ、演算処理ハードウェア110、コントロール120、レジスタファイル130及び通信制御機能部140を備える。各プロセッサは、ローカルに記憶したデータ、あるいは、他のプロセッサからの入力データに基づいて、個々に演算処理を実行するようにプログラムされ得る。
【0018】
理想的には、プロセッサは、スタートアップの間は、スタティックに構成され、定常状態動作期間は、周期的なスケジュールで動作する。このアーキテクチャを選択することで、演算処理によって状態及び係数の記憶を同じ場所に配置し、メモリ装置との高帯域通信を排除する利点がある。
【0019】
以下は、本発明により達成される有益な事項である。
【0020】
1.簡易な最適化を促進するため安定したセル及びアレイ構造を保持すること
2.より大きなアレイサイズへの拡張性のための用意
3.パワーを最小化し、通信ボトルネックを避けるために、ローカライズされた通信を可能な限り保持すること
4.複雑でないプログラミング
5.必要に応じて、方法と手段とを対応づけることを簡易に開発する許容性
図2は、プロセッサの相互通信アーキテクチャを示す。プログラミング及びルーティイングの簡易性を保ち、通信距離を最小化するため、通信は、最近隣のプロセッサ間に制限される。従って、あるプロセッサ201は、最近隣のプロセッサ210、220、230、240とだけ、通信できる。
【0021】
図3に示すように、最近隣プロセッサとの通信は、通信対象である固定(bound)入力ポートを参照して、各プロセッサについて定められる。固定入力ポートは、単に、特定の最近隣の物理出力ポート310を、あるプロセッサの論理入力ポート320へ対応づけている。論理入力ポート320は、着目するプロセッサにおいて論理演算処理の対象になる。より好ましい実施例においては、各プロセッサ出力ポートは、最近隣のコンフィギュラブルな入力ポートに無条件に接続される。プロセッサの演算処理結果は、これらの物理出力ポートへ書込み可能であり、また、望むならば、前記プロセッサの最近隣、つまりアレイ素子が、そのデータを受け入れるようにプログラムされ得る。
【0022】
図3に示すランダムアクセスコンフィギュレーション330に従って、スタティックコンフィギュレーションステップは、最近隣の出力ポート310の任意の組み合わせを論理入力ポート320へ対応づけることをロードできる。その対応付けは、Bind_inxレジスタ340に格納され、Bind_inxレジスタ340は、コンフィギュレーションマルチプレクサ350に選択信号として接続され、入ってくる最近隣のデータをアレイ素子すなわちプロセッサの内部論理入力ポートへ実際に接続する。
【0023】
図3の典型的な装置は1セルあたり4つの出力ポートを表示しているが、別の実施例において、1つのセルにつき1つの出力ポートを有する簡易化されたアーキテクチャを実行して、コンフィギュラブルな入力ポートの複雑性を減少あるいは削除してもよい。この手段では、基本的に、最近隣セルを選択するために、内部演算プログラムに責任がおかれ、その最近隣セルの出力は、この場合、物理入力ポートに接続される入力として設計される。
【0024】
言い換えると、図3に示す特徴は、コンフィギュレーションモードで実行されるように、ある特定のセルを1つの入力ポートに固定的に対応づけることを許容する。簡単な方法では、この入力固定ハードウェア及びこれに対応するコンフィギュレーションステップが除去され、ランタイムコントロールが、どのセル出力にアクセスするべきかを選択する。その接続は、簡単な上述の実施例と同一であるが、セル設計及びプログラミングの複雑性は簡素化される。
【0025】
図3に示されるより複雑な固定メカニズムは、セル間でコントローラを共有するとき、要するに、“SIMD”(Single Instruction Multiple Data:単一命令複数データ処理)装置を作製するときに、最も有用である。
【0026】
図4は、演算コントロール用のアーキテクチャを示す。プログラマブルデータパス素子410は、内部記憶レジスタ420あるいは入力データポート430の組み合わせで動作する。データパス演算結果440は、選択されたローカルレジスタ450あるいは出力ポート460のいずれかに書き込まれ得る。データパス素子410は、RISCのような動作をコード化したオペコード、つまり、ソースオペランド(srcx)及び目的オペランド(dxtx)によって、一貫性のあるオペコードにおいてコントロールされる。適応FIRフィルタの対応付けのため、簡易な巡回プログラムを各セルにダウンロードできる。コントローラは、プログラム記憶装置をアドレス指定する簡易なプログラムカウンタから構成され、結果として生じるオペコードがデータパスに適用される。係数と状態は、ローカルレジスタファイル内に記憶される。実施例において、タップ演算は、フィルタ加算を実現するために最近隣セルの演算結果(product)を一連に加算した後、上記2つを乗算することを伴う。さらに、フィルタ遅延ラインに沿って、状態の進行が、最近隣セル間で、レジスタシフトによって実現される。
【0027】
さらに複雑なアレイセルが、“VLIW”(Very Large Instruction Word)コントローラによって制御される多数のデータパス素子で定められ得る。例えばARTデザイナのようなアーキテクチャ統合ツールによって生成されるようなASIP(application specific instruction processor)が、これらの複雑なアレイ処理素子を実現するために用いることができる。
【0028】
本発明の典型的な実施において、図5〜図11は、上述した本発明のアーキテクチャに従って構成及びプログラムされた4x8のプロセッサアレイに、32タップリアルFIRフィルタを対応づけた状態を示す。状態フロー及び後続のタップ演算は、図5に示すようにして実現され、第1のステップでは、32個のセルのそれぞれは、そのフィルタの1タップを演算し、続くステップ(図6〜図11に示す6回のプロセッササイクル)では、その演算結果が合計されて1つの最終演算結果になる。説明を簡単にするため、個々のアレイ素子を以降、アレイの素子(i,j)として示し、iは行、jは列であり、アレイの最上位の左側の素子を、最初すなわち(1,1)素子として定める。
【0029】
図6〜図11は、アレイを間で部分的な演算結果を合計する状態を詳述し、初期の合計段階の間、最近隣のものとの通信の構想の効率を示す。図6に示すステップにおいて、アレイの各行に沿って、列1-3は3:1加算を実行して演算結果が列2に記憶され、列4-6は3:1加算を実行して演算結果が列5に記憶され、列7-8は2:1加算を実行して演算結果が列8に記憶される。図7に示すステップにおいて、アレイの列2,5,8のそれぞれにおいて、行1-2、行3-4の中間合計が結合され、演算結果が素子(2,2)(2,5)(2,8)及び(3,2)(3,5)(3,8)にそれぞれ記憶される。これらのステップの間、プロセッサハードウェア及び相互接続ネットワークは、演算結果項を結合するのにうまく利用され、従って、入手できるリソースを効率よく利用している。
【0030】
しかしながら、図8に示すステップによって、全アレイは、図7に示すステップの演算結果が記憶された3つのアレイ素子のペアを用いる加算ステップで占められなければならない。図9〜図10に示すステップにおいて、全アレイは、図11に示すようにして3つの部分合計を結合して最終演算結果を算出するために、これら3つの部分合計を近くのセルにシフトすることに占められ、最後の3:1加算で、アレイ素子(3,5)に最終演算結果を蓄積する。
【0031】
容易に理解できるように、離れた部分合計を結合するためにアレイの残りをアイドル状態にすることはいくぶん非効率である。リソースをより望ましく利用して結合を促進するようなアーキテクチャの増強は、理想的には、簡易なアレイ構造及びプログラミングモデルを保持し、拡張可能性を維持するべきである。最近隣セルの要求を緩和して(relaxe)、追加のセルとの通信を許容することは、ルーティング及びプロセッサ設計を複雑にし、より大きなアレイにおいて近接問題(proximity problem)を妨げない。従って、好適な実施例においては、追加のアレイ構造は、元のものに重ねることができ、そのメンバは、最近隣セルの2つの3:1合計の後(例えば図6に示した段階の後)、部分合計収束点に配置されたアレイ素子から構成される。このことは、部分合計の収集に対して重要な増強を与える。
【0032】
重ねられたアレイが図12に示される。重ねられたアレイは、各素子が、最近隣素子として最も近い部分合計収束点を備える点を除き、下に横たわるアレイと同じアーキテクチャを保持する。同様に、2つのアレイ間の交わりは、部分和収束点で起こる。従って、好ましい実施例において、部分合計の第1の段階は、現存のアレイを用いて実行され、そこでは、リソース利用は好適なままであり、部分合計の後の段階は、重ねられたアレイにおいて同様に最近隣素子との通信で実行されるが、このノードは、元の部分合計収束点、例えば図12における列2、5、8に存在する。図12〜図14は、最終演算結果へ向けて合計の結合を加速して行う状態を示す。
【0033】
図15は、重ねられた3x3アレイを有した9x9タップアレイを示す。従って、重ねられたアレイは、9x9アレイの各3x3ブロックの中心に収束点を有する。部分演算結果の結合を効率的に有するより大きなアレイは、収束点のアレイをさらに追加することによって可能である。結果として効率的に提供されるアレイサイズは9N−1であり、Nはアレイの層数である。従って、N層に対しては、最大9Nまで、セル出力は、最近隣セルとの通信を用いて効率的に結合される。即ち、フィルタ追加ツリーを完成させるために単にセル間でシフトしなければならない孤立の部分合計を有さない。
【0034】
アレイサイズが増大するような再帰は、上述した例から容易に認識できる。図12〜図14は、最近隣セルとの通信を用いてタップ演算結果の合計を加速するためにどのように別のアレイレベルを用いるのかを示す。第2レベルは、x3周期性を除き、オリジナルの下に横たわるレベルと同じであり、セルは、レベル0の9個のセルよりなるクラスタから部分合計を生成する下に横たわるセルに結合される。
【0035】
必要なレベルの数は、アレイへの配置が望まれるセルの数に依存する。もし、四角形内に9タップからなるクラスタが存在すれば、最近隣のものとの通信は、ちょうど1アレイレベルで全ての項を合計でき、結果は中心セルに集まる。
【0036】
81セルまでのより大きなアレイに対しては、部分合計を受け取るために各クラスタの中心上にレベル1のセルを配置して9セルからなるクラスタにおけるセルを組織化し、レベル0とレベル1との両方で各クラスタを結合する。レベル1で、最近隣は、隣接したクラスタ(レベル1のアレイを伴わずに別の状況で孤立した部分合計を現時点で含んでいる)の出力である。9個のレベル0のセルからなるこの3x3スーパークラスタに対して、演算結果は、レベル1の部分合計が結合された後、中心のレベル1のセルにおいて現れる。
【0037】
81より大きく、729(93)より小さいアレイに対しては、3x3のレベル1のセルを備えた、81個のレベル0のセルからなるスーパークラスタを組み立て、次いで、レベル2のセルをそのクラスタの中心セルの上に配置して、レベル1の部分合計を受け取る。全ての3つのレベルが互いに結合され、従って、レベル2セルは現時点で、最近隣のものとの通信を用いて、隣接するスーパークラスタからの部分演算結果を結合でき、演算結果は中心のレベル2のセルにおいて現れる。
【0038】
スーパークラスタリングを再帰的に適用することによってアレイをさらに増大できる。もちろん、ある時点で、VLSIワイヤ遅延制約が、上位レベルセルが物理的に遠くに離れる要因になり、最終的にアレイの拡張性を制限する。
【0039】
次に、アレイ素子にコンフィギュレーションデータを送る方法と、アレイと外部プロセスと間でサンプルストリームを交換する方法とを述べる。小さなアレイとのサンプル交換と同様、コンフィギュレーションにも適した1つの方法を図16に示す。ここで、バス1610は全てのアレイ素子を外部コントローラ1620に接続する。外部コントローラは、コンフィギュレーションあるいはデータ交換用のセルを選択でき、アドレスブロードキャスト及びローカルセルデコードメカニズム、あるいはさらにRAMに用いられるような行及び列のプリデコーディング及び選択方法を用いる。この技術の魅力はその単純性にあるけれども、大きなアレイサイズで不十分にスケールし、大きなサンプル交換レートに対して通信ボトルネックになり得る。
【0040】
図17は、アレイと外部プロセスとの間で効率的にデータストリームを交換する、より拡張可能性のある方法を示す。アレイボーダにおける拡張I/Oポートは、アレイ階層の各レベルにおいて、アレイのルーティング及びコントロールを複雑にすることなく、ボーダセルへ好適にルートされる。任意の機能性及び結合性をアレイに加えることが便利であるが、ボーダセルは、アレイセルにおいて役立つように、通常、簡易なプログラミングモデルに従う。任意の機能性は、決定フィードバックイコライザのスライサのようなフィルタ間動作を挿入するために用いることができる。さらに、ボーダセルは、コントローラの介在がほとんどない状態で、外部ストリームI/Oを供給できる。好ましい実施例においては、図16に示すスタティックコンフィギュレーション目的のためのバスは、図17に示す定常状態通信のためのボーダプロセッサ(border processor)に沿って結合され、従って、ほとんどのあるいはあらゆる用途をサポートする。
【0041】
上述したようなタップアレイ素子に対するデータフローを図18にブロック図として示す。
【0042】
最後に、特定の適用の場面における本発明の例として、図19は、マルチスタンダードチャネルデコーダを示し、本発明によるリコンフィギュラブルなプロセッサアレイが、適応フィルタリング用に設定され、適応フィルタアレイ1901として機能する。前方におけるデジタルフィルタ、すなわちデジタルフロントエンド1902は、同じもの、あるいは本発明の装置を最適化したいくつかの他のバージョンにさらに対応付けできる。FFT(fast fourier transform:高速フーリエ変換)モジュール1903は、FEC(forward error correction:前方誤り訂正)モジュール1904と同様に、本発明による処理アレイに対応付けされ得るが、チャネルデコーディング用途においてこれらのモジュールにアレイ手段を適用する有用性は一般的にさほど高くない。
【0043】
従って、本発明は、簡易なプログラム及び通信コントロールを保持しつつも、コンボリューション問題に対する柔軟性を増強する。同様に、適応FIRは、本発明を用いて各セルに簡易なプログラムをダウンロードすることによって実現できる。各プログラムは、ローカルタップアップデート、係数アップデート及び最近隣のものとの通信のための周期的な演算処理を定める。定常状態処理の間、メモリとの高帯域通信は必要とされない。
【0044】
必要に応じて、フィルタサイズ、即ち対応付けられるフィルタの数は、本発明において、多くのチャネルデコーディング用途に要求される値を超えて拡張可能である。さらに、コンポーネントアーキテクチャは、アレイ構造を阻害せずに、すなわち、セル及びルーティングの最適化を難しくせずに、フィルタ無し機能、コントロール及び外部I/Oを提供する。
【0045】
上述では本発明の好ましい実施例について述べたが、当業者であれば、種々の変形及び追加をなし得る。
【図面の簡単な説明】
【0046】
【図1】本発明に従った、同一プロセッサのアレイを示す。
【図2】アレイにおける各プロセッサが最近隣セルと通信できることを示す。
【図3】本発明に従った、最近隣セルの出力ポートの任意の組み合わせを論理近隣入力ポートにロードするプログラマブルスタティックスキームを示す。
【図4】本発明に従った、セルの演算コントロールアーキテクチャを示す。
【図5】本発明に従って32タップリアルFIRを4x8のプロセッサアレイに対応づけた状態を示す。
【図6】本発明に従って32タップリアルFIRを4x8のプロセッサアレイに対応づけた状態を示す。
【図7】本発明に従って32タップリアルFIRを4x8のプロセッサアレイに対応づけた状態を示す。
【図8】本発明に従って32タップリアルFIRを4x8のプロセッサアレイに対応づけた状態を示す。
【図9】本発明に従って32タップリアルFIRを4x8のプロセッサアレイに対応づけた状態を示す。
【図10】本発明に従って32タップリアルFIRを4x8のプロセッサアレイに対応づけた状態を示す。
【図11】本発明に従って32タップリアルFIRを4x8のプロセッサアレイに対応づけた状態を示す。
【図12】本発明の好適な実施例に従って最終結果に向けて合計の結合を加速する状態を示す。
【図13】本発明の好適な実施例に従って最終結果に向けて合計の結合を加速する状態を示す。
【図14】本発明の好適な実施例に従って最終結果に向けて合計の結合を加速する状態を示す。
【図15】本発明の好適な実施例に従った、重ねられた3x3アレイを備えた9x9タップアレイを示す。
【図16】外部マイクロコントローラ及びランダムアクセスコンフィギュレーションバスを備えたアレイ装置を示す。
【図17】アレイと外部プロセスとの間でデータストリームを正式に交換する、拡張性のある方法を示す。
【図18】図17に示すタップアレイ素子のブロック図を示す。
【図19】本発明に従った典型的な適用例を示す。
Claims (23)
- デジタル信号処理を実行する装置であって、
プロセシングセルの2次元アレイを備え、
各セルは、最近隣セルと通信し、通信はローカルにプログラムされたことを特徴とする装置。 - セル間通信は、前記最近隣セルに限定されたことを特徴とする請求項1に記載の装置。
- 前記最近隣セルとの通信は、プログラム可能なスタティックなスキームに従ったことを特徴とする請求項2に記載の装置。
- 全てのタップ演算、全ての係数及び状態の記憶は、各セルにおいてローカルになされることを特徴とする請求項3に記載の装置。
- 各セルは4つの出力ポートを備えたことを特徴とする請求項4に記載の装置。
- 各セルは、最近隣セルのそれぞれからの出力ポートのうちの1つ、内部で保持されたデータ、あるいはそれらの組み合わせを入力として受け取ることを特徴とする請求項5に記載の装置。
- 各プロセシングセルは、最近隣セルの出力ポートの種々の組み合わせを論理入力ポートに対応づけたものを記憶したメモリを有することを特徴とする請求項6に記載の装置。
- 前記メモリはレジスタを含むことを特徴とする請求項7に記載の装置。
- 各セルは、さらに、演算コントロールアーキテクチャを含むことを特徴とする請求項4乃至6のいずれかに記載の装置。
- 前記演算コントロールアーキテクチャは、ローカルコントローラ、内部記憶レジスタ、及びデータパス素子とを含むことを特徴とする請求項9に記載の装置。
- 前記データパス素子は少なくとも、加算、乗算及びシフト演算を実行可能に構成されたことを特徴とする請求項10に記載の装置。
- 前記データパス素子は、前記ローカルコントローラによって、オペコードのようなRISCとされたことを特徴とする請求項11に記載の装置。
- 前記算術コントロールアーキテクチャは、ローカルVLIWコントローラ、内部記憶レジスタ、及び複数のデータパス素子を含むことを特徴とする請求項9に記載の装置。
- 前記データパス素子はそれぞれ少なくとも加算、乗算及びシフト演算を実行可能に構成されたことを特徴とする請求項13に記載の装置。
- 前記プロセシングセルは、ASIPとして実現されたことを特徴とする請求項13に記載の装置。
- 前記ASIPは、アーキテクチャ統合ツールによって生成されたことを特徴とする請求項15に記載の装置。
- さらに、1以上重ねられたより小さい2次元アレイを備え、各重ねられたアレイは、1層低いアレイと、特定の収束点において通信する請求項9に記載の装置。
- さらに、1以上重ねられたより小さい2次元アレイを備え、各重ねられたアレイは、1層低いアレイと、特定の収束点において通信する請求項13に記載の装置。
- 全てのアレイ階層における利用可能なポートに接続し、外部プロセスとの通信を促進するプログラム可能なボーダセルをさらに含む請求項17に記載の装置。
- 全てのアレイ階層における利用可能なポートに接続し、外部プロセスとの通信を促進するプログラム可能なボーダセルをさらに含む請求項19に記載の装置。
- デジタル信号処理による演算を効率的に行う方法であって、
プロセシング素子の2次元アレイへ前記演算を対応付け、各素子は最近隣素子とのみ通信し、通信はローカルにプログラムされたことを特徴とする方法。 - 各素子の演算処理はローカルにコントロールされ、全ての処理は、入力あるいは出力の通信対象、あるいはローカルレジスタに関連づけられたことを特徴とする請求項21に記載の方法。
- 請求項9に記載の装置を含み、前記装置は、適応フィルタリングを実行することを特徴とするマルチスタンダードチャネルデコーダ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/968,119 US20030065904A1 (en) | 2001-10-01 | 2001-10-01 | Programmable array for efficient computation of convolutions in digital signal processing |
PCT/IB2002/003760 WO2003030010A2 (en) | 2001-10-01 | 2002-09-11 | Programmable array for efficient computation of convolutions in digital signal processing |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005504394A true JP2005504394A (ja) | 2005-02-10 |
Family
ID=25513762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003533145A Pending JP2005504394A (ja) | 2001-10-01 | 2002-09-11 | デジタル信号処理でコンボリューション演算を効率的に行うプログラマブルアレイ |
Country Status (5)
Country | Link |
---|---|
US (1) | US20030065904A1 (ja) |
EP (1) | EP1466265A2 (ja) |
JP (1) | JP2005504394A (ja) |
KR (1) | KR20040041650A (ja) |
WO (1) | WO2003030010A2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040003201A1 (en) * | 2002-06-28 | 2004-01-01 | Koninklijke Philips Electronics N.V. | Division on an array processor |
GB2424503B (en) * | 2002-09-17 | 2007-06-20 | Micron Technology Inc | An active memory device |
WO2004053717A2 (en) * | 2002-12-12 | 2004-06-24 | Koninklijke Philips Electronics N.V. | Modular integration of an array processor within a system on chip |
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 |
KR100731976B1 (ko) * | 2005-06-30 | 2007-06-25 | 전자부품연구원 | 재구성 가능 프로세서의 효율적인 재구성 방법 |
US8755515B1 (en) | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US4964032A (en) * | 1987-03-27 | 1990-10-16 | Smith Harry F | Minimal connectivity parallel data processing system |
-
2001
- 2001-10-01 US US09/968,119 patent/US20030065904A1/en not_active Abandoned
-
2002
- 2002-09-11 WO PCT/IB2002/003760 patent/WO2003030010A2/en not_active Application Discontinuation
- 2002-09-11 EP EP02765239A patent/EP1466265A2/en not_active Withdrawn
- 2002-09-11 KR KR10-2004-7004787A patent/KR20040041650A/ko not_active Application Discontinuation
- 2002-09-11 JP JP2003533145A patent/JP2005504394A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20040041650A (ko) | 2004-05-17 |
WO2003030010A3 (en) | 2004-07-22 |
US20030065904A1 (en) | 2003-04-03 |
WO2003030010A2 (en) | 2003-04-10 |
EP1466265A2 (en) | 2004-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kwon et al. | Maeri: Enabling flexible dataflow mapping over dnn accelerators via reconfigurable interconnects | |
US11360930B2 (en) | Neural processing accelerator | |
US6920545B2 (en) | Reconfigurable processor with alternately interconnected arithmetic and memory nodes of crossbar switched cluster | |
US5081575A (en) | Highly parallel computer architecture employing crossbar switch with selectable pipeline delay | |
Bittner et al. | Colt: An experiment in wormhole run-time reconfiguration | |
US4943909A (en) | Computational origami | |
Bartic et al. | Highly scalable network on chip for reconfigurable systems | |
US8949576B2 (en) | Arithmetic node including general digital signal processing functions for an adaptive computing machine | |
CN111199275B (zh) | 用于神经网络的片上系统 | |
US11531637B2 (en) | Embedding rings on a toroid computer network | |
JP2005531843A (ja) | アレイプロセッサにおける除算 | |
JP2023107786A (ja) | オンチップ動作の初期化 | |
WO2017007318A1 (en) | Scalable computation architecture in a memristor-based array | |
WO2020193728A1 (en) | A partitionable networked computer | |
JP2005504394A (ja) | デジタル信号処理でコンボリューション演算を効率的に行うプログラマブルアレイ | |
US11614946B2 (en) | Networked computer | |
US11372791B2 (en) | Embedding rings on a toroid computer network | |
Benyamin et al. | Optimizing FPGA-based vector product designs | |
Gupta et al. | Performance analysis of a synchronous, circuit-switched interconnection cached network | |
CN112486905A (zh) | 可重构异构化pea互连方法 | |
KR20050085545A (ko) | 코프로세서, 코프로세싱 시스템, 집적 회로, 수신기, 기능유닛 및 인터페이싱 방법 | |
KR20050016642A (ko) | 디지털 신호 처리 동작 구현 장치 및 분할 알고리즘 실행방법 | |
US11169956B2 (en) | Networked computer with embedded rings field | |
Pechanek et al. | An introduction to an array memory processor for application specific acceleration | |
Young Hur et al. | Partially reconfigurable point-to-point FPGA interconnects |