(57)【要約】デジタル信号処理のためのコンポーネントアーキテクチャが提供される。それぞれがその最も隣接したプロセッサと通信する同一のプロセッサから成る二次元の復元可能なアレイは、単純且つ出力効率の高いプラットフォームを提供し、このプラットフォームに対して、重畳、有限インパルス応答（“ＦＩＲ”）フィルタ、適応有限インパルス応答フィルタをマッピングすることができる。簡単なプログラムを各セルに対してダウンロードすることにより、適応ＦＩＲを実現することができる。各プログラムは、ローカルタップ更新、係数更新、最も隣接したものとの通信のための周期的な算術処理を定める。安定した状態での処理中には、メモリとの高帯域通信は不要である。静的構成を提供するため、あるいは、安定した状態での処理を補うため、このコンポーネントアーキテクチャは、外部コントローラまたは汎用デジタル信号プロセッサと相互に接続されても良い。
2005531843.tif 000002
【特許請求の範囲】
【請求項１】
デジタル信号処理演算を実行する装置であって、
複数の処理セルから成る二次元アレイを備え、
各前記処理セルは、その最も近くに隣接した処理セルと通信を行ない、反復アルゴリズムの少なくとも１回の反復を実行し、前記反復アルゴリズムが自己制御式であることを特徴とする装置。
【請求項２】
セル間の通信が前記最も近くに隣接した処理セルに制限されることを特徴とする請求項１に記載の装置。
【請求項３】
前記最も近くに隣接した処理セルとの通信はプログラム可能な静的方式に従うことを特徴とする請求項２に記載の装置。
【請求項４】
前記反復アルゴリズムは除算を実行することを特徴とする請求項２に記載の装置。
【請求項５】
各前記処理セルは４つの出力ポートを有することを特徴とする請求項４に記載の装置。
【請求項６】
各前記処理セルは、前記最も近くに隣接した処理セルからの出力ポート、内部に記憶されたデータ、あるいは、これらの任意の組み合わせのうちの１つを入力として受け取ることを特徴とする請求項５に記載の装置。
【請求項７】
各前記処理セルが、最も近くに隣接した出力ポートの様々な組み合わせをその論理入力ポートへとマッピングしたものを記憶するためのメモリを有することを特徴とする請求項６に記載の装置。
【請求項８】
前記メモリがレジスタを備えることを特徴とする請求項７に記載の装置。
【請求項９】
各前記処理セルは、ニュートン・ラフソン法の一回の反復を実行することを特徴とする請求項８に記載の装置。
【請求項１０】
前記算術制御アーキテクチャは、
ローカルコントローラと、
内部記憶レジスタと、
データパス要素と、を備えることを特徴とする請求項９に記載の装置。
【請求項１１】
前記データパス要素は、少なくとも加算、乗算、シフト演算を実行可能であることを特徴とする請求項１０に記載の装置。
【請求項１２】
前記データパス要素には、前記ローカルコントローラにより、ＲＩＳＣ型オペコードが与えられていることを特徴とする請求項１１に記載の装置。
【請求項１３】
前記算術制御アーキテキチャは、
ローカルＶＬＩＷコントローラと、
内部記憶レジスタと、
複数のデータパス要素と、を備えることを特徴とする請求項９に記載の装置。
【請求項１４】
前記データパス要素はそれぞれ、少なくとも加算、乗算、シフト演算を実行可能であることを特徴とする請求項１３に記載の装置。
【請求項１５】
前記処理セルはＡＳＩＰとして実現されることを特徴とする請求項１３に記載の装置。
【請求項１６】
前記ＡＳＩＰはアーキテクチャ合成ツールによって生成されることを特徴とする請求項１５に記載の装置。
【請求項１７】
１つ以上の重畳された小さい二次元アレイを更に備え、
前記重畳された各アレイは、一層下側のアレイにおける特定の収束点で、前記一層下側のアレイと通信を行なうことを特徴とする請求項９に記載の装置。
【請求項１８】
１つ以上の重畳された小さい二次元アレイを更に備え、
前記重畳された各アレイは、一層下側のアレイにおける特定の収束点で、前記一層下側のアレイと通信を行なうことを特徴とする請求項１３に記載の装置。
【請求項１９】
プログラム可能な境界セルを更に備え、
このプログラマブル境界セルは、全てのアレイ階層内の利用可能なポートに接続するとともに、外部プロセッサとの通信を容易にすることを特徴とする請求項１７に記載の装置。
【請求項２０】
プログラム可能な境界セルを更に備え、
このプログラム可能な境界セルは、全てのアレイ階層内の利用可能なポートに接続するとともに、外部プロセッサとの通信を容易にすることを特徴とする請求項１９に記載の装置。
【請求項２１】
除算アルゴリズムを効率的に実行する方法であって、
前記除算アルゴリズムを、自己制御アルゴリズムの複数の反復に分割するステップであって、前記複数の反復のそれぞれが、複数のセルから成るマトリクスのうちの単一セル上で実行可能なステップと、
除算されるべき数とは無関係に、同数の反復を実行するステップとを含む方法。
【請求項２２】
各前記反復は、セルマトリクスの別個のセル上で実行されることを特徴とする請求項２１に記載の方法。
【請求項２３】
各前記反復は、数値が所定の範囲外にある場合にはその数値を右または左にシフトし、数値が前記所定の範囲内にある場合にはその数値をシフトしないステップをさらに含むことを特徴とする請求項２２に記載の方法。
【請求項２４】
前記反復アルゴリズムは、平方根関数を実行するために利用されることを特徴とする請求項３に記載の装置。
【請求項２５】
前記処理セルのサブセットがそれぞれ異なるアルゴリズムを実行し、複数の前記サブセットを互いに結び付けることにより、完全なシグナルチェーンが実施されることを特徴とする請求項３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタル信号処理に関し、特に、集積回路内でのデジタル信号処理演算の最適化に関する。１つの好ましい実施形態において、本発明は、アルゴリズムを使用して二次元のプロセッサアレイにおいて除算を行なうことに関する。
【背景技術】
【０００２】
重畳は、デジタル信号処理における一般的な手法であり、有限インパルス応答（ＦＩＲ）フィルタを実現するために一般的に適用される。以下は、データ信号Ｘと係数ベクトルＣとを重畳するための一般的な式である。
【数１】
2005531843.tif 000003
【０００３】
ここで、データ信号Ｘおよびシステム応答、すなわちフィルタ係数ベクトルＣは、両方とも、因果関係を示すと仮定する。
【０００４】
各出力データｙｎ毎に、２Ｎ個のデータがメモリから命令を取り出し、Ｎ個の乗算が行なわれるとともに、Ｎ個の積が合計されなければならない。メモリトランザクションは、通常、２つの別個の記憶場所から行なわれ、その各々は係数ＣｉおよびデータＸｎ−１に対応している。安定状態動作中に係数が頻繁に更新される実時間適応フィルタの場合には、係数を更新して記憶するために、追加のメモリトランザクションおよび算術計算を行なわなければならない。フォンノイマン型のプロセッサ上でこの計算を効率的に行なうために、特に汎用デジタル信号プロセッサが最適化されてきた。しかし、信号処理速度が高く、消費電力に関する厳しい制約を伴う特定の用途において、汎用デジタル信号プロセッサは、依然として実用的でない。
【０００５】
除算は、ＤＳＰアルゴリズムにおいて必要となり得る別の演算である。比較的高い帯域幅が必要とされるアルゴリズムに対して毎秒多数回の除算を行なうことも、汎用デジタル信号プロセッサにおいては、依然として非実用的である。
【０００６】
そのような制約に対処するため、多数のアルゴリズムおよびアーキテクチャ的な方法が適用されてきた。１つの一般的な方法は、周波数領域で処理を実行することである。したがって、アルゴリズム的に、例えばフーリエ変換等の所定の変換を使用して、重畳をスペクトルの積へと変換することができ、その後、逆変換によって所望の合計を算出することができる。多くの場合、効率的な高速フーリエ変換技術は、実際に、時間領域においてもとの重畳での計算負荷に比べ、全体的な計算負荷を軽減する。シングルキャリア地上回線デコーディング（single carrier terrestrial channel）との関連において、そのような技術は、本出願と共通の譲渡下にある米国特許出願０９／８４０，２０３および０９／８４０，２００（出願人：Dagnachew Birru）により詳細に記載されているように、ＡＴＳＣ ８−ＶＳＢイコライザの部分的な実施に関して提案されてきた。これらの米国特許出願のそれぞれの全文を参考としてここに組み込む。
【０００７】
アルゴリズムの要件やメモリの制約により、重畳が周波数領域へと容易に変換されない場合には、重畳を実行するとともに、適応性のある係数更新アルゴリズムにおける特定の選択を支持するために、専門のＡＳＩＣプロセッサが提案されてきた。なお、これについては、Grayver, Aによる“高速データ通信のための再構成可能な８ ＧＯＰ ＡＳＩＣアーキテクチャ（Reconfigurable 8 GOP ASIC Architecture for High-Speed data Communications）”（所定の通信領域に関するＩＥＥＥの定期刊行物（IEEE journal on Selected Areas Communications）、第１８巻、Ｎｏ．１１（２０００年１１月））およびE. DujardinおよびO. Gay-Bellile による“デジタル通信におけるプログラマブルアーキテクチャ(A programmable Architecture for digital communications)”（単一搬送波研究、ＩＳＰＡＣＳ２０００、ホノルル、２０００年１１月）に記載されている。
【０００８】
そのようなＡＳＩＣ方式の重要な特徴としては、
（１）係数および状態記憶を用いてタップ計算の全てをローカライズするための計算ハードウェアおよびメモリを有する専用のセル；（２）セルの機能を部分的にプログラムでき且つ様々なセルにわたって複製することができるという事実、を含む。
【０００９】
複雑なワークステーション処理システムに対して、進歩した再構成可能マルチプロセッサシステムの研究が順調に適用されてきた。例えば、マイケルテイラーによる“未加工プロトタイプ設計文書への書き込み（Taw Prototype Design Document）”（マサチューセッツ工科大学（MIT）コンピュータサイエンスラボ、２００１年1月）は、動的なプログラム可能な通信ネットワークと同様に静的なプログラム可能なネットワークを使用して通信するプログラム可能なプロセッサ“タイル”のアレイについて記載している。静的ネットワークは、再構成可能なクロスバーネットワークを使用する任意のプロセッサを、構成中に規定された相互接続部に接続し、一方、動的ネットワークは、動的ルーティングを使用して、パケット供給方式を実行する。それぞれの場合において、相互接続性は、ソースセルからプログラミングされる。
【００１０】
しかし、前述した全てのアーキテクチャ的な解決法において、フィルタを（Grayverの参考文献にあるように）リニアチェーンに制限することにより、自由度が損なわれ、そうでなければ、（Dujardin & Gay-BellileおよびTaylorにあるように）扱われるべき処理範囲が重畳を超えることから、複雑さが増す（例えばTaylorの参考文献には、複雑なプロセッサのアレイが記載されており、そこに記載されたシステム上にワークステーションを形成することができる）。したがって、現在のシステムは、提案されているか実在しているかにかかわらず、簡単という効率性および柔軟性の両方を提供することはできない。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
したがって、これらの方式を超える有利な改良を行ない、重畳の問題に関して自由度を高めつつ、簡単なプログラムおよび通信制御を維持する必要がある。
【課題を解決するための手段】
【００１２】
重畳機能および他のデジタル信号処理演算を実行するためのコンポーネントアーキテクチャが提供される。各プロセッサがその最も隣接するプロセッサと通信し、同一のプロセッサから成る二次元アレイは、簡単且つ電力効率の高いプラットフォームを提供し、このプラットフォームに対して、重畳、有限インパルス応答（“ＦＩＲ”）フィルタ、適応有限インパルス応答フィルタをマッピングすることができる。単純なプログラムを各セルに対してダウンロードすることにより、適応ＦＩＲを実現することができる。各プログラムは、ローカルタップ更新、係数更新、および、最も隣接するプロセッサとの通信、のための周期的な算術処理を特定する。また、反復アルゴリズムおよび自己制限アルゴリズムを使用して、同じプラットフォーム上で除算を実行することもできる。安定した状態で処理している間に、メモリとの高帯域通信は不要である。
【００１３】
このコンポーネントアーキテクチャは、静的構成を提供するため、あるいは、安定状態での処理を補うために、外部コントローラまたは汎用デジタル信号プロセッサと相互に接続されても良い。
【００１４】
好ましい実施形態においては、追加のアレイ構造は、資源利用効率を最大にするために、部分和収束点に位置するアレイ要素からなるこの追加のアレイ構造の部分において、もとのアレイ上に重複し得る。
【発明を実施するための最良の形態】
【００１５】
以下の特徴を提供することによって、前述した従来技術を改良するアレイアーキテクチャを提案する。すなわち、新たなデータが加わる時にセル同士の間の状態の進行を許可する新規のセル間通信方式や、積加算（product summation）、セルプログラミング、外部装置による状態および係数アクセス、を実現する新規の逐次加算方式を提供する。
【００１６】
本発明の基本的な発想は簡単なものである。ＤＳＰ演算を実行するための、より効果的且つより柔軟なプラットフォームが提案され、このプラットフォームは、最も隣接したもの同士の通信およびローカルプログラム制御を伴うプロセッサアレイである。以下、添付図面を参照しつつ、従来技術を凌ぐこのプロセッサアレイの利点およびその詳細について説明する。
【００１７】
図１には、複数の同一プロセッサからなる二次元アレイが示されており（図示の実施形態の例では４×８の網形）、各プロセッサは、演算処理ハードウェア１１０と、制御部１２０と、レジスタファイル１３０と、通信制御機能部１４０とを有している。各プロセッサは、部分的に記憶されたデータに対して、或いは、他のプロセッサから入力されるデータに対して算術演算を行なうように個別にプログラム可能である。
【００１８】
理想的には、プロセッサは、スタートアップ中に静的に構成されるとともに、安定状態で動作している間では、周期的スケジュールに基づいて動作する。このようなアーキテクチャを選択する利点は、算術処理を用いて状態および係数の記憶部を同じ場所に配置し、それにより、メモリデバイスとの高帯域通信を無くすことができるという点である。
【００１９】
本発明によって達成される有利な目的は次のとおりである。
Ａ．一貫したセルおよびアレイ構造を保持して、簡単な最適化を促進すること；
Ｂ．より広いアレイサイズへの拡張可能性をもたらすこと；
Ｃ．可能な範囲で部分的な通信を保持して、出力を最小限に抑えるとともに、通信上の障害を回避すること；
Ｄ．プログラミングが容易であること；
Ｅ．必要に応じてマッピング方法およびマッピングツールを簡単に開発することができること。
【００２０】
図２は、プロセッサ相互通信アーキテクチャを示している。通信距離を最小限に抑えるとともに、プログラミングおよびルーティングの容易性を保つために、通信は最も隣接するもの同士間の通信に制限される。したがって、所与のプロセッサ２０１はその最も隣接したプロセッサ２１０，２２０，２３０，２４０のみと通信することができる。
【００２１】
図３に示すように、最も隣接したプロセッサとの通信は、バウンド入力ポートを通信対象として参照することにより、プロセッサ毎に決定される。バウンド入力ポートは、特定の最も隣接した物理出力ポート３１０を所与のプロセッサの論理入力ポート３２０へと単純にマッピングしたものである。この時、論理入力ポート３２０は、該当するプロセッサにおいて、部分的な（local）演算処理の対象となる。好ましい実施形態において、各プロセッサの出力ポートは、その最も隣接したプロセッサの構成可能な入力ポートに対して無条件に接続される。プロセッサの演算処理は、これらの物理出力ポートに対して書き込むことができ、また、前記プロセッサの最も隣接したプロセッサ、すなわち、アレイ要素は、必要に応じてデータを受け入れるようにプログラムすることができる。
【００２２】
図３に示すランダムアクセス構成３３０によれば、静的構成ステップでは、最も隣接した出力ポート３１０の任意の組み合わせを論理入力ポート３２０にマッピングしたものをロードすることができる。このマッピングは、選択信号として構成マルチプレクサ３５０に接続されるBind inxレジスタ３４０内に記憶される。構成マルチプレクサ３５０は、入力される最も隣接したデータを、アレイ要素すなわちプロセッサの内部論理入力ポートに実際に接続する。
【００２３】
図３の実施形態では、セル毎に４つの出力ポートが示されているが、代替的な実施形態においては、セルごとに１つの出力ポートを有する簡単なアーキテクチャを実施することによって、再構成可能な入力ポートの複雑さを軽減或いは無くすことができる。このような方法は基本的に、出力が入力として望ましい最も隣接したプロセッサを選択する任務を内部算術プログラムに負わせ、その最も隣接したプロセッサはこの場合には物理入力ポートに接続される。
【００２４】
言い換えれば、図３に示す特徴により、構成モードで行なわれるような、１つの入力ポートに対して特定のセルを固定的にマッピングすることが可能になる。簡易化した方法では、この入力バインディングハードウェアおよびそれに対応する構成ステップは排除され、どのセル出力にアクセスするべきかを実行時間制御部が選択する。この簡易化した実施形態では、配線は同じであるが、セルの設計およびプログラミングの複雑性は簡素化される。
【００２５】
図３に示す複雑なバインディング機構は、セル同士間でコントローラを共有する際の最も有用な特徴であり、単一命令多重データ処理が可能なマシン、すなわち“ＳＩＭＤ”マシンを形成する。
【００２６】
図４は、演算制御のためのアーキテクチャを示している。プログラム可能なデータパス要素４１０は、内部記憶レジスタ４２０または入力データポート４３０の任意の組み合わせで動作する。データパス結果４４０は、選択されたローカルレジスタ４５０あるいは出力ポート４６０のうちの１つに対して書き込まれ得る。データパス要素４１０は、演算、ソースオペランド（srcx）、目的オペランド（dstx）を一貫したオペコードで符号化するＲＩＳＣ型オペコードによって制御される。適応ＦＩＲフィルタマッピングでは、単純な巡回プログラムを各セルにダウンロードすることができる。コントローラは、データパスに与えられた結果オペコードを用いてプログラム記憶装置をアドレス指定する簡単なプログラムカウンタから成る。係数および状態は、ローカルレジスタファイル内に記憶される。図示の実施形態において、タップ計算は、２を掛けた後に、最も隣接した積を連続的に加えていく演算を伴うものであり、それにより、フィルタ加算（filter summation）が実現される。また、フィルタ遅延線に沿った状態の進行は、最も近くに隣接したセルに亘るレジスタシフトによって実現される。
【００２７】
関連する“ＶＬＩＷ（Very Large Instruction Word）”コントローラによって制御された複数のデータパス要素を用いると、更に複雑なアレイセルを規定することができる。例えばＡＲ｜Ｔデザイナ等のアーキテクチャ合成ツールによって生成される特定用途向け命令プロセッサ（ＡＳＩＰ）を使用して、これらの複雑なアレイ処理要素を実現することができる。
【００２８】
本発明の一実施形態において、図５〜図１１は、前述したように本発明のアーキテクチャに従って配置されてプログラミングされた４×８のプロセッサアレイに３２タップ実数ＦＩＲフィルタをマッピングする様子を示している。状態フローおよびその後のタップ計算は、図５に示されるように実現される。この場合、第１のステップにおいて３２個のセルがそれぞれフィルタの１つのタップを計算し、次のステップ（図６〜図１１に示される６プロセッササイクル）において、その積が合計されて、最終的な１つの結果が得られる。説明を簡単にするため、以下、個々のアレイ要素を、アレイの（ｉ，ｊ）要素として表わす。ここで、ｉは行、ｊは列を示す。また、アレイの一番左上の要素を原点すなわち（１，１）要素として規定する。
【００２９】
上に述べたように、図６〜図１１は、アレイにおける部分積の合計を詳細に示しており、最初の合計段階の間において、最も近くに隣接したセルとの通信方式の効率を示している。図６に示すステップにおいては、アレイの各行に沿って、列１〜３が列２に記憶された結果との３：１加算を実行しており、列４〜６が列５に記憶された結果との３：１加算を実行しており、列７〜８が列８に記憶された結果との２：１加算を実行している。図７に示すステップでは、アレイの各列２，５，８における行１−２および行３−４の小計が組み合わされ、その結果は、要素（２，２）、（２，５）および（２，８）、並びに、（３，２）、（３，５）および（３，８）のそれぞれに記憶される。これらステップ中に、プロセッサハードウェアおよび相互接続ネットワークを充分に利用して積の項を組み合わせることにより、利用可能なリソースを効率的に使用することができる。
【００３０】
しかし、図８に示すステップによって、そのアレイ全体は、図７に示すステップの結果を記憶する３つのペアのアレイ要素に関する加算ステップで専用されなければならない。図９〜図１０に示すステップでは、これら３つの部分的な和を隣接するセルにシフトさせることにより、図１１に示すように、最後に３：１加算を用いてこれらを組み合わせて、最終結果を得る処理がアレイ全体に施される。この最終的な結果はアレイ要素（３，５）に記憶される。
【００３１】
図示したように、遠隔の部分和を組み合わせるためにアレイの残りをアイドル状態にしておくことは、やや非効率的である。より有効な資源の活用との組み合わせを容易にするためのアーキテクチャの強化は、理想的には単純なアレイ構造、プログラミングモデルを保持し、また、拡張可能性を保持しなければならない。付加的な隣接のアレイ要素との通信を可能にするための最も近くに隣接するという要件を緩和すると、ルーティングおよびプロセッサ構造が複雑になるとともに、大規模なアレイでは近接性の問題を排除することができない。したがって、好ましい実施形態においては、アレイ要素から成る構成部分で、追加のアレイ構造を、もとのアレイ構造の上に重畳させることができる。この場合、アレイ要素から成る構成部分は、最も隣接した２つの要素の３：１加算の後（すなわち、図示する例では、図６に示す段階の後）の部分和収束点に位置している。これにより、部分和の収集に関して著しい向上が得られる。
【００３２】
重畳されたアレイを図１２に示す。重畳されたアレイは、各要素がその最寄の隣接するアレイ要素として最寄の部分和収束点を有している場合を除き、下側にあるアレイと同じアーキテクチャを保持している。２つのアレイ間の交差も同様に部分和収束点で生じている。したがって、好ましい実施形態においては、部分的に和を計算する最初の段階が、同一の最も近くに隣接したセルとの通信を行うとともに、既存のアレイを使用して実行され、この場合、資源の利用が依然として有利であり、部分的に和を計算するその後の段階が、重畳されたアレイにおいて実行される。しかし、そのノードは、当初の部分和収束点、すなわち、図１２の列２，５，８にある。図１２〜図１４は、和の組み合わせを加速化して最終的な結果を得る状態を示している。
【００３３】
図１５は、重畳された３×３アレイを有する９×９タップアレイを示す。すなわち、重畳されたアレイは、９×９アレイの各３×３ブロックの中央に収束点を有している。効果的な部分積の組み合わせを有する大規模なアレイは、収束点の付加的なアレイを加えることにより可能である。効果的にサポートされたアレイサイズは、結果的に９Ｎ−１になる。ここで、Ｎは、アレイ層の数である。したがって、Ｎ個の層に対して、最も近くに隣接したセルとの通信を用いて、最大で９Ｎ個のセル出力を効果的に組み合わせることができる。すなわち、フィルタ加算ツリーを完成するためにセルを横切って単にシフトする必要のある分離した部分和（isolated partial sums）を有する必要が無い。
【００３４】
アレイサイズが大きくなるにつれて、再帰呼出が前述した例から容易に識別することができる。図１２から図１４は、最も近くに隣接したセルとの通信を使用してタップ積の和算を加速させるために他のアレイレベルを使用する方法を示している。第２のレベルは、ｘ３の周期性である点を除き、もとの下側のレベルと同じであり、また、セルは９個の０レベルセルのクラスタから部分和を生成する下側のセルに接続されている。
【００３５】
必要とされるレベルの数は、アレイ内に配置される所望のセル数に依存する。正方形の中に９個のタップから成るクラスタが存在する場合、最も近くに隣接したセルとの通信によって、ちょうど１つのアレイレベルを有する全ての項を、中央のセル内に累積する結果と足すことができる。
【００３６】
更に大きいアレイ、すなわち、最大で８１個のセルに関しては、セルを、９個のセルから成るクラスタに編成して、部分和を受け取るためにレベル１のセルを各クラスタの中心の上に位置付けるとともに、レベル０およびレベル１の両レベルで各クラスタを共に接続する。レベル１において、最寄の隣接するアレイ要素は、隣り合うクラスタの出力（ここでは、レベル１のアレイ無しに分離された部分和を含んでいる）である。９個の０レベルセルから成るこの３×３スーパークラスタの場合、レベル１の部分和が組み合わされた後、結果がレベル１の中央のセル内に現れる。
【００３７】
８１個よりも多く且つ７２９（９３）個よりも少ないアレイの場合には、３×３のレベル１のセルと共に、８１個のレベル０のセルから成るスーパークラスタを組み立て、その後、レベル１の部分和を受けるためにクラスタの中心のセルの上にレベル２のセルを位置づける。３つの全てのレベルが互いに結び付けられ、これにより、レベル２のセルは、最も近くに隣接したセルとの通信を使用して、隣接するスーパークラスタからの部分積を組み合わせることができる。この場合、結果は、レベル２の中心のセルに現れる。
【００３８】
スーパークラスタリングを再帰的に適用することによって、アレイを更に大きくすることができる。無論、ある時点では、更に上のレベルのセルが物理的に遠く離れるようになるにつれて、ＶＬＳＩワイヤ遅延限界が１つの要因になって、最終的に、アレイの拡張性が制限される。
【００３９】
次に、構成データをアレイ要素に対して通信するための方法、および、アレイと外部プロセッサとの間でサンプルストリームを交換するための方法について説明する。小さなアレイとのサンプル交換に適するとともに、構成に適した１つの方法を図１６に示す。ここで、バス１６１０は、全てのアレイ要素を外部コントローラ１６２０に接続している。外部コントローラは、アドレスブロードキャストおよびローカルセル復号機構、あるいは、ＲＡＭ型行列プレ復号選択方法（RAM-like row and column predecoding and selection method）を使用して、構成またはデータ交換のためのセルを選択することができる。この技術の魅力はその簡単さにあるが、しかし、この技術では、大きなアレイサイズに十分に対応することができず、大きなサンプル交換速度に対しては通信のボトルネックになる可能性がある。
【００４０】
図１７は、アレイと外部プロセッサとの間でデータストリームを効率的にやりとりするための更に拡張可能な方法を示している。アレイ階層の各レベルにおいてアレイの境界にある非拘束Ｉ／Ｏポートは、便利なことに、アレイのルーティングおよび制御を複雑化することなく、境界セルへとルート付けすることができる。ここでは、任意の機能性および接続性をアレイに加えることが便利であるが、境界セルは、アレイセルで利用された単純なプログラミングモデルに従うことができると思われる。したがって、任意の機能性は、決定フィードバックイコライザのスライサ等のフィルタ間操作を挿入するために、使用することができる。また、境界セルは、外部ストリームＩ／Ｏに僅かなコントローラ介入しか与えることができない。好ましい実施形態においては、静的構成を目的とする図１６のバスが、安定した状態での通信のために図１７に示された境界プロセッサと組み合わされ、それにより殆ど、或いは全ての用途がサポートされる。
【００４１】
図１８はタップアレイ要素のための前述したデータフローを示すブロック図である。
【００４２】
最後に、特定のアプリケーションにおける本発明の一例として、本発明の再構成可能なプロセッサアレイが適応フィルタアレイ１９０１として機能する適応フィルタリングを対象としてきたマルチスタンダードチャンネルデコーダを図１９に示す。また、前端部にあるデジタルフィルタ、すなわち、デジタルフロントエンド１９０２は、本発明の装置と同一の装置または他の最適化されたバージョンのいずれかに対してマッピングされることができる。ＦＥＣ（前進型誤信号訂正）モジュール１９０４とともにＦＦＴ（高速フーリエ変換）モジュール１９０３は、本発明の処理アレイにマッピングされ得る。
【００４３】
したがって、本発明は、単純なプログラムおよび通信制御を維持しながら、重畳の問題に対する自由度を高める。また、単純なプログラムを各セルにダウンロードすることにより、本発明を使用して適応ＦＩＲを実現することができる。各プログラムは、ローカルタップ更新、係数更新、最も隣接したプロセッサとの通信のための周期的な算術処理を特定する。安定した状態での処理中には、メモリとの高帯域通信は不要である。
【００４４】
更なる実施形態においては、ここに記載したプロセッサアレイ上でニュートン・ラフソン法を効果的に実行しても良い。ニュートン・ラフソン法では、反復プロセスにより、関数値に対する推定が改善され、正確な値に収束する。このアルゴリズムは、除算、平方根、対数計算を含む幾つかの複雑な計算のためのコンピュータ演算ハードウェアにおいて使用される。特に除算に関しては、ニュートン・ラフソン法は、除数の逆数を計算する。この逆数と被除数との掛け算によって、商の計算が完了する。アルゴリズムの第１のステップは、入力された除数を、アルゴリズムが良好に機能する範囲内に正規化することである。本実施例において、この範囲は１〜２の値であり、これにより逆数を１〜１／２にする。
【００４５】
また、数をシフトさせ正規化を完了させた因数は、次の演算のために記憶されなければならない。したがって、結果として得られる数のペアは、正規化された数および因数からなり、これらはいずれも数式２の数における浮動小数点表示を含んでいる。
【００４６】
数２
e ss1.0bbbbbbbbbbbbbbbbbbbb
【００４７】
ここで、ｅは、浮動小数点表示のための整数として表わされる指数である。Ｓは符号であり、ｂは任意の二進ビット値である。
【００４８】
１回のプロセッサ命令サイクル内で正規化された値を生成する専用の正規化ユニットを使用して、正規化を達成することができる。かかるユニットは、アレイアーキテクチャ内の各プロセッサセルに対してかなりの複雑さをもたらすため、代わりに、部分的な正規化命令が規定される。部分的な正規化命令により、完全な正規化を行なうために必要な付加的な命令サイクルを行うことなく、セル内でのハードウェアの追加を最小にしてこの機能を果たすことができる。入力された除数は、その絶対値が１よりも小さく又は２よりも大きい数に関して必要に応じて左あるいは右にシフトすることにより、１〜２の範囲内に設定される。１〜２の範囲内の任意の数を修正する必要は全く無い。これは、これらの数が既に所望の範囲内にあるからである。
【００４９】
前述した桁送り（シフト）演算は、１または複数のシフトレジスタ内で行なわれる。この場合、各演算シフトは、１ビット位置に制限される。特に、各演算を１つのセル上で実行することができるので、セルは高度な知能を殆ど或いは全く必要としない。あるいは、セルは、単に、１以下の数に関しては１ビット位置だけ左にシフトし、２よりも大きい数に関しては１ビット位置だけ右にシフトするとともに、１〜２の任意の数をそのままにしておく。
【００５０】
一例として、１×２−３に正規化されるべき０．１２５という入力値があるとする。前述した部分正規化を使用して、２つの部分正規化命令内で除数が正規化される。
【００５１】
記憶された非正規化値：0b000.001000000000000000000
正規パス１：0b000.010000000000000000000
正規パス２：0b000.100000000000000000000
正規パス３：0b001.000000000000000000000
正規化された仮数
0b001.000000000000000000000
指数  （−３）
0b111101予想値−＞0b111101
【００５２】
正規化処理を前述した最初の複数のステップに細分化する結果、アルゴリズムは、全体として、正規化される任意の特定の数に関して幾つのシフトが必要であるかを考慮する必要がなくなる。その代わり、正規化されるべき任意の数は、任意の可能な入力において必要な最大反復数により供給される。殆どシフトを必要としない数に関しては、シフトされることなく、後の反復によって単に供給される。これは、それらの数が所望の範囲内に設定され得る十分な回数だけシフトされた後、これらの数が１〜２という所要の境界内に入り、基本的なシフト処理の更なる反復では、結果的にシフトしなくなるからである。したがって、アルゴリズムが自己制御式（self-limiting）であることにより、ほとんど知能を必要とすることなく各反復を１つのセル上で行なうことができる。
【００５３】
前述したように、数が部分的に正規化されると、値Ｘnormに達する。この値Ｘnormは、ニュートン・ラフソン法においては以下のように使用される。
【００５４】
数３
ｙｎ＋１＝２ｙｎ−ｙｎ２Ｘnorm
【００５５】
ここで、まず見当をつけてＹ０を例えば０．５に設定する。ニュートン・ラフソン法が収束すると、Ｘnormの計算で生じたシフトを明らかにするべく適切な因数が与えられる。
【００５６】
例えば図２０から分かるように、アルゴリズムの各反復を別個の１つのセル上で実行することができ、それによりスピードと簡便性が得られる。自己制御式アルゴリズムを使用することにより、セルは、必要なシフト数を決定するためのインテリジェンスを有する必要はないが、任意の特定の数に関して必要なシフト数が小さいか或いは多いかを同様にして演算することができる。この特性により、セルを更に単純且つ経済的に製造することができる。
【００５７】
本発明においては、必要に応じて、フィルタサイズ、または、マッピングされるべきフィルタの量を、殆どのチャンネル復号アプリケーションに対して期待値以上に拡張することができる。また、コンポーネントアーキテクチャは、アレイ構造を乱すことなく、あるいは、セル及びルーティングの最適化を複雑にすることなく、非フィルタ機能、制御部、外部Ｉ／Ｏを導入することを可能にする。
【００５８】
また、複数のセルにわたってマッピングされる様々な信号処理機能に適応するこの構造の柔軟性により、同じアレイ上で複数の機能を結び付けることができるようになる。この方式において、セル群に対してマッピングされる機能は、アーキテクチャによって与えられる最も近くに隣接したセルとの通信を用いて、データを交換することができる。したがって、このアーキテクチャに対して、完全な信号処理チェーンをマッピングすることができる。
【００５９】
以上、本発明の好ましい実施形態を説明したが、当業者には明らかなように、様々な変更および追加を行なうことができる。それらの追加および変更は、添付の請求項によってカバーされるものである。
【図面の簡単な説明】
【００６０】
【図１】本発明による同一のプロセッサから成るアレイを示す図。
【図２】アレイ内の各プロセッサが、その最も隣接したプロセッサと通信することができることを示す図。
【図３】本発明に従って、最も隣接した出力ポートの任意の組み合わせを隣接する論理入力ポートに対してロードするプログラム可能な静的方式を示す図。
【図４】本発明に従って、セルの演算制御アーキテクチャを示す図。
【図５】本発明に従って、３２タップ実数ＦＩＲフィルタを４×８のプロセッサアレイにマッピングする様子を示す図。
【図６】本発明に従って、３２タップ実数ＦＩＲフィルタを４×８のプロセッサアレイにマッピングする様子を示す図。
【図７】本発明に従って、３２タップ実数ＦＩＲフィルタを４×８のプロセッサアレイにマッピングする様子を示す図。
【図８】本発明に従って、３２タップ実数ＦＩＲフィルタを４×８のプロセッサアレイにマッピングする様子を示す図。
【図９】本発明に従って、３２タップ実数ＦＩＲフィルタを４×８のプロセッサアレイにマッピングする様子を示す図。
【図１０】本発明に従って、３２タップ実数ＦＩＲフィルタを４×８のプロセッサアレイにマッピングする様子を示す図。
【図１１】本発明に従って、３２タップ実数ＦＩＲフィルタを４×８のプロセッサアレイにマッピングする様子を示す図。
【図１２】本発明の好ましい実施形態に従って、最終的な結果まで合計の組み合わせを加速させている状態を示す図。
【図１３】本発明の好ましい実施形態に従って、最終的な結果まで合計の組み合わせを加速させている状態を示す図。
【図１４】本発明の好ましい実施形態に従って、最終的な結果まで合計の組み合わせを加速させている状態を示す図。
【図１５】本発明の好ましい実施形態に従って、重複した３×３アレイを有する９×９タップアレイを示す図。
【図１６】外部マイクロコントローラおよびランダムアクセス構成バスを有するアレイの実施形態を示す図。
【図１７】アレイと外部処理との間でデータストリームを正式にやりとりするための拡張可能な方法を示す図。
【図１８】図１７に示されたタップアレイ要素のブロック図。
【図１９】本発明に従って、例示的な用途を示す図。
【符号の説明】
【００６１】
１１０  算術処理ハードウェア
１２０  制御部
１３０  レジスタファイル
１４０  通信制御機能部
２０１，２１０，２２０，２３０，２４０  プロセッサ
３１０  物理出力ポート
３２０  論理入力ポート
３３０  ランダムアクセス構成
３４０  Bind inxレジスタ
３５０  構成マルチプレクサ
４１０  プログラマブルデータパス要素
４２０  内部記憶レジスタ
４３０  入力データポート
４４０  データパス結果
４５０  ローカルレジスタ
４６０  出力ポート
【図１】
2005531843.tif 000004
【図２】
2005531843.tif 000005
【図３】
2005531843.tif 000006
【図４】
2005531843.tif 000007
【図５】
2005531843.tif 000008
【図６】
2005531843.tif 000009
【図７】
2005531843.tif 000010
【図８】
2005531843.tif 000011
【図９】
2005531843.tif 000012
【図１０】
2005531843.tif 000013
【図１１】
2005531843.tif 000014
【図１２】
2005531843.tif 000015
【図１３】
2005531843.tif 000016
【図１４】
2005531843.tif 000017
【図１５】
2005531843.tif 000018
【図１６】
2005531843.tif 000019
【図１７】
2005531843.tif 000020
【図１８】
2005531843.tif 000021
【図１９】
2005531843.tif 000022
【国際調査報告】
2005531843.tif 000023
2005531843.tif 000024
2005531843.tif 000025