(57)【特許請求の範囲】
【請求項１】
各々が他の処理要素（ＰＥ）と通信するための単一の入力ポートと単一の出力ポートを具備する通信ポートを有する複数の処理要素（ＰＥs）をトーラス状に接続したＰＥアレイで接続する相互接続システムであって、
クラスタにグループ分けされた処理要素同士をクラスタスイッチを介して接続し、各クラスタの処理要素が、前記クラスタスイッチ及びＰＥ間接続経路を通して互いに排他的な方向で他の２つのクラスタの処理要素と通信可能なＰＥ間接続経路と、
各クラスタスイッチが１つのクラスタにグループ分けされた各処理要素の通信ポートと当該クラスタの前記ＰＥ間接続経路との間に接続され、前記クラスタスイッチを接続するＰＥ間接続経路上でのＰＥ間の互いに排他的な通信を多重するようにスイッチングされる複数のクラスタスイッチと、
を有することを特徴とする相互接続システム。
【請求項２】
所定数の処理要素は転置ＰＥの組を形成し、前記クラスタスイッチは更に、前記転置ＰＥの組の間で直接通信を行うクラスタ間転置接続部を具備することを特徴とする請求項１に記載の相互接続システム。
【請求項３】
前記クラスタスイッチに接続され、前記クラスタスイッチを切替えて動作モードを選択するコントローラを更に有し、
データ及び指令は、
ａ）西側ＰＥの通信ポートを介して西側ＰＥからデータを受信している間に、東側ＰＥの通信ポートを介してデータを前記東側ＰＥに送信するための東送信／西受信モードと、
ｂ）南側ＰＥの通信ポートを介して前記南側ＰＥからデータを受信している間に、北側ＰＥの通信ポートを介してデータを前記北側ＰＥに送信するための北送信／南受信モードと、
ｃ）北側ＰＥの通信ポートを介して前記北側ＰＥからデータを受信している間に、南側ＰＥの通信ポートを介してデータを前記南側ＰＥに送信するための南送信／北受信モードと、
ｄ）東側ＰＥの通信ポートを介して前記東側ＰＥからデータを受信している間に、西側ＰＥの通信ポートを介してデータを前記西側ＰＥに送信するための西送信／東受信モードとの４つの選択可能なモードの内の一つにより、前記通信ポートで送信され且つ受信されることを特徴とする請求項１に記載の相互接続システム。
【請求項４】
前記データ及び指令は、前記転置ＰＥ間で送信及び受信するための第５の選択可能な転置送信／受信モードで送信され、且つ受信されることを特徴とする請求項３に記載の相互接続システム。
【請求項５】
各ＰＥは、制御ポートとコントローラと通信するためのポートを有し、前記コントローラは、各ＰＥにおけるレジスタ内にロードするために、同時に制御情報を各ＰＥの制御ポートに送り、且つデータを各ＰＥのデータポートに送るために各ＰＥの制御ポートに接続されることを特徴とする請求項４に記載の相互接続システム。
【請求項６】
前記ＰＥ間接続経路は、種々の接続経路を選択するクラスタスイッチを通して、経路エネーブル信号によって選択的に切り換えられることを特徴とする請求項５に記載の相互接続システム。
【請求項７】
前記経路エネーブル信号は、前記コントローラからの制御情報に基づいて発生されることを特徴とする請求項５に記載の相互接続システム。
【請求項８】
各通信ポートは、１より大きいか又は等しい整数であるＢビット幅の送信及び受信の経路を有していることを特徴とする請求項４に記載の相互接続システム。
【請求項９】
各ＰＥは、別の制御ポートを介して受信され且つ各ＰＥに属している制御ロジックで解読された通信命令に基づいて、もう一つ別の通信ポートを経由してデータ又は指令を受信している間に、通信ポートを介して前記データ又は指令を選択的に送信することを特徴とする請求項１に記載の相互接続システム。
【請求項１０】
前記通信命令は、前記制御ポートを介してコントローラから前記制御ロジックによって受信されることを特徴とする請求項９に記載の相互接続システム。
【請求項１１】
前記クラスタスイッチは、前記ＰＥが前記入力ポートを通して前記データ又は指令を受信している間に、各々同時に指令又はデータを前記出力ポートを通して送る処理を支援することを特徴とする請求項９に記載の相互接続システム。
【請求項１２】
前記同時処理は、前記ＰＥが、前記入力ポートを通してデータ又は指令を受信している間に、各々同時に指令又はデータを前記出力ポートを通して送信するように選択的に切り換えられることを特徴とする請求項１１に記載の相互接続システム。
【請求項１３】
クラスタにグループ分けされ、各クラスタは他の２つのクラスタと互いに排他的な方向で通信する複数の処理要素（ＰＥs）であって、各処理要素（ＰＥ）は他のＰＥと通信するための単一のＰＥ間通信ポートを有し、前記通信ポートのそれぞれは各単一の入力ポートと出力ポートとを有する複数のＰＥと、
切替え制御可能なクラスタスイッチを通してＰＥ間通信ポート同士を接続するＰＥ間通信経路と、
ＰＥ同士の通信のためにＰＥ間接続経路を相互排他的に選択し、複数のＰＥをトーラス状に接続する切り換え制御可能なクラスタスイッチと、
を有することを特徴とするアレイプロセッサ。
【請求項１４】
更に、直接的な転置ＰＥ通信を行うように接続されたＰＥ間通信経路を有することを特徴とする請求項１３に記載のアレイプロセッサ。
【請求項１５】
それぞれ単一の入力ポートと出力ポートとを有し各ＰＥが他のＰＥと通信するための通信ポートを有し、クラスタに配列された複数の処理要素（ＰＥs）と、
クラスタスイッチを通して前記ＰＥ同士を接続するＰＥ間通信経路とを有し、
当該クラスタスイッチは、ＰＥ間通信を多重化し、各クラスタのＰＥ同士を、互いに排他的な方向において少なくとも２つの他のクラスタのＰＥに、前記ＰＥ間通信経路を用いて接続するように動作可能であることを特徴とするアレイプロセッサ。
【請求項１６】
各クラスタが、それぞれ合計Ｂ本の線によりデータを送信し且つ受信する通信ポートを有するＭ個の処理要素を含むＮ個のクラスタと、
対を成した前記クラスタ間で接続されたＭ×Ｂ本の線数より少ないか又は等しい通信経路と、
対の内の他方のクラスタにおける処理要素に対してトーラスの最近隣りである処理要素を含んでいる対の各クラスタと、２つの互いに排他的なトーラス方向、即ち南と東、又は南と西、又は北と東、又は北と西方向において前記クラスタの対の間での通信を許容する各経路と、
前記トーラス全体における通信を前記クラスタ対間の前記Ｍ×Ｂ本の線数より少ないか又は等しい通信経路で行うように接続されたマルチプレクサと、
を有することを特徴とするアレイプロセッサ。
【請求項１７】
各クラスタの処理要素は、北と西のトーラス方向に向かって一つのクラスタと、また南と東のトーラス方向に向かってもう一つ別のクラスタと通信することを特徴とする請求項１６に記載のアレイプロセッサ。
【請求項１８】
各クラスタの処理要素は、北と東のトーラス方向に向かって一つのクラスタと、また南と西のトーラス方向に向かってもう一つ別のクラスタと通信することを特徴とする請求項１６に記載のアレイプロセッサ。
【請求項１９】
少なくとも一つのクラスタは、Ｎ×Ｎのトーラス転置対を有していることを特徴とする請求項１６に記載のアレイプロセッサ。
【請求項２０】
クラスタスイッチはマルチプレクサを有し、また前記クラスタスイッチは、２つの互いに排他的なトーラス方向からクラスタ内部の処理要素に受信された通信を多重するように接続されていることを特徴とする請求項１６に記載のアレイプロセッサ。
【請求項２１】
前記クラスタスイッチは、別の１つのクラスタに通信するためにクラスタ内部の処理要素からの通信を多重するように接続されていることを特徴とする請求項２０に記載のアレイプロセッサ。
【請求項２２】
前記クラスタスイッチは、クラスタ内部の転置処理要素間の通信を多重するように接続されていることを特徴とする請求項２１に記載のアレイプロセッサ。
【請求項２３】
前記Ｎは、前記Ｍよりも大きいか又は等しいことを特徴とする請求項１６に記載のアレイプロセッサ。
【請求項２４】
前記Ｎは、前記Ｍよりも小さい値であることを特徴とする請求項１６に記載のアレイプロセッサ。
【請求項２５】
各クラスタがＭ個の処理要素を有し、各々の処理要素が、合計Ｂ本の線でデータ送信し且つ受信するための通信ポートを有しており、またクラスタ内部の各々の処理要素が、クラスタ外部の処理要素に対するよりもクラスタ内部の他の処理要素に対して物理的により接近して形成されている、Ｎ個のクラスタと、
対の各クラスタが、対の他方のクラスタにおける処理要素に対してトーラスの最近隣りとなっている処理要素を収容しており、各経路が、２つの互いに排他的なトーラス方向、即ち南と東か、又は南と西か、又は北と東か、又は北と西方向において前記クラスタ対間での通信を許容しており、前記クラスタの対の間に接続されたＭ×Ｂ本の線のよりも少ないか又は等しい通信経路と、
前記トーラス全体における通信を前記クラスタ対間の前記Ｍ×Ｂ本の線数より少ないか又は等しい通信経路で行うように接続されたマルチプレクサと、
を有することを特徴とするアレイプロセッサ。
【請求項２６】
各クラスタの処理要素は、北と西のトーラス方向において一つのクラスタと通信し、また南と東のトーラス方向において別の１つのクラスタと通信することを特徴とする請求項２５に記載のアレイプロセッサ。
【請求項２７】
各クラスタの処理要素は、北と東のトーラス方向において一つのクラスタと通信し、また南と西のトーラス方向において別の１つのクラスタと通信することを特徴とする請求項２５に記載のアレイプロセッサ。
【請求項２８】
少なくとも一つのクラスタは、Ｎ×Ｎのトーラス転置対を有していることを特徴とする請求項２５に記載の請求のアレイプロセッサ。
【請求項２９】
クラスタスイッチは前記マルチプレクサを具備し、また前記クラスタスイッチは、２つの互いに排他的なトーラス方向からクラスタ内部の処理要素に受信された通信を多重化して通信するように接続されていることを特徴とする請求項２５に記載のアレイプロセッサ。
【請求項３０】
前記クラスタスイッチは、別の１つのクラスタに通信するためにクラスタ内部の処理要素からの通信を多重するように接続されていることを特徴とする請求項２９に記載のアレイプロセッサ。
【請求項３１】
前記クラスタスイッチは、前記クラスタ内部の転置処理要素間の通信を多重するように接続されていることを特徴とする請求項３０に記載のアレイプロセッサ。
【請求項３２】
前記Ｎは、前記Ｍよりも小さい又は等しいことを特徴とする請求項２５に記載のアレイプロセッサ。
【請求項３３】
前記Ｎは、前記Ｍよりも大きい値であることを特徴とする請求項２５に記載のアレイプロセッサ。
【請求項３４】
前記処理要素間の通信は、ビット−直列となっており、また各クラスタは、前記通信経路を介して２つの他のクラスタと通信するようになっていることを特徴とする請求項２５に記載のアレイプロセッサ。
【請求項３５】
前記処理要素間の通信経路はデータバスを含むことを特徴とする請求項２５に記載のアレイプロセッサ。
【請求項３６】
前記通信経路は、双方向経路となっていることを特徴とする請求項２５に記載のアレイプロセッサ。
【請求項３７】
前記通信経路は、単方向信号線を含むことを特徴とする請求項２５に記載のアレイプロセッサ。
【請求項３８】
アレイと同じ数のＰＥを有するトーラス状に接続されたアレイの行数と列数をそれぞれＰ，Ｑとすると、前記ＰとＱは、各々前記ＮとＭに等しいことを特徴とする請求項２５に記載のアレイプロセッサ。
【請求項３９】
同じ数のＰＥを有するトーラス状に接続されたアレイの行数と列数をそれぞれＰ，Ｑとすると、前記ＰとＱは、各々前記ＭとＮに等しいことを特徴とする請求項２５に記載のアレイプロセッサ。
【請求項４０】
ｉとｊが、トーラス状に接続されたアレイ内の各行と列のＰＥ位置を示しており、またｉ＝０，１，２，…，Ｎ−１で、ｊ＝０，１，２，…，Ｎ−１となっていて、いずれのｉ，ｊに対してまた全てのａ∈｛０，１，…，Ｎ−１｝に対してクラスタ状にＰＥ(i+a)(ModN),(j+N-a)(ModN)が配列された処理要素（ＰＥs）ＰＥi,jと、
前記クラスタ間のＰＥ間通信経路を多重化し、それによってトーラス状に接続されたアレイのものと同等のＰＥ間接続性を与えるように接続されたクラスタスイッチとを有し、
前記クラスタのそれぞれは同じ数の処理要素を含んでいることを特徴とするアレイプロセッサ。
【請求項４１】
前記クラスタスイッチは、更にクラスタ内部の転置ＰＥ対におけるＰＥs間で直接通信を行うように接続されていることを特徴とする請求項４０に記載の請求のアレイプロセッサ。
【請求項４２】
前記クラスタは、スケラーブルであることを特徴とする請求項４０に記載の請求のアレイプロセッサ。
【請求項４３】
各処理要素が、互いに排他的なトーラス方向においてのみ少なくとも１つの他のクラスタの処理要素と通信するように、各クラスタがＭ個の処理要素から成るＮ個のクラスタに処理要素を配列する工程と、
前記互いに排他的なトーラス方向の通信を多重化する工程と、
を有することを特徴とするアレイプロセッサを形成する方法。
【発明の詳細な説明】
発明の背景
発明の分野
本発明は、一般に処理システムに関し、より具体的には並列処理アーキテクチャに関する。
関連技術の説明
データを並列で処理する多くの計算タスクが展開されている。並列プロセッサの効率は、並列プロセッサのアーキテクチャと、符号化されたアルゴリズムと、並列要素におけるデータ配置とによって左右される。例えば、画像処理や、パターン認識及びコンピュータグラフィックスは、全て、通常の二次元の又は三次元のグリッドに配列されたデータを処理する応用である。データは、例えばオーディオや、ビデオや、ソナー又はレーダの信号等の広範囲な各種の信号を表してもよい。一般に、その種のデータについて実行される離散コサイン変換（ＤＣＴ）や離散逆コサイン変換（ＩＤＣＴ）、たたみこみ（合成積、重畳：convolutions）等の処理は、異なったグリッド・セグメントで同時に実行されるので、ある時点で１台以上のプロセッサによりそのタスクを実行できるようにすることで、その種の処理を大幅に加速することができるマルチプロセッサアレイシステムが開発されてきた。並列処理は、参考までにここに組み入れられている米国特許第５，０６５，３３９号；第５，１４６，５４３号；第５，１４６，４２０号；第５，１４８，５１５号；第５，５４６，３３６号；第５，５４２．０２６号；第５，６１２，９０８号及び第５，５７７，２６２号と；ヨーロッパ公告出願第０，７２６，５２９号及び第０，７２６，５３２号を含む多数の特許の主題と成っている。
並列処理アーキテクチャに対する一つの従来のアプローチは、最隣接メッシュ接続コンピュータであり、それについては、１９８９年１２月刊行のアコースチック、スピーチ及びシグナルの処理に関するＩＥＥＥ会報（IEEE Transactions on Acoustics, Speech and Signal Processing）の第３７巻第１２号の２１５８〜２１７４ページに掲載されたＲ．サイファー（R. Cypher）氏とＪ．Ｌ．Ｃ．サンズ（Sanz）氏著の画像処理用ＳＩＭＤ（単命令／多重データ）アーキテクチャとアルゴリズム及びコンピュータ展望（SIMD Architecture and Algorithms for Image Processing and Computer Vision）と；１９８０年９月刊行のコンピュータに関するＩＥＥＥ会報（IEEE Transactions on Computers）の第Ｃ−２９巻第９号の８３６−８４０ページに掲載されたＫ．Ｅ．バッチャー（Batcher）氏著の大規模並列プロセッサの設計（Design of a Massively Parallel Processor）と；１９８７年ニューヨーク州ニューヨークのジョンワイリ＆兄弟社（John Wiley & Sons）から刊行のＬ．ウール（L. Uhr）氏著の人工頭脳用マルチ−コンピュータアーキテクチャ（Multi-Computer Architecture for Artificial Intelligence）の第８章９７ページとに説明されている。
図１Ａの最隣接トーラス（torus）接続コンピュータでは、多数の処理要素（ＰＥs）がそれらの北、南、東及び西の隣接ＰＥsとトーラス接続経路ＭＰを介して接続されており、また全てのＰＥsは、同期した単命令／複数データ（ＳＩＭＤ）方式で作動される。トーラス接続コンピュータは、メッシュ接続コンピュータにラップアラウンド（wraparound：ループ状に）接続を付加することで得られるので、メッシュ接続コンピュータでラップアラウンド接続していないものは、トーラス接続コンピュータの部分集合として考えられよう。図１Ｂに示されているように、各経路ＭＰはＴ本の送信線とＲ本の受信線とを有してもよく、又は図１Ｃに示されているように、各経路ＭＰは、Ｂ本の双方向線を有してもよい。単方向と双方向の通信は、両方共本発明によって企図されているものであるが、経路における制御信号を除いたバスの総数は、以後一般にｋ本の線とし、その場合、双方向バス設計ではｋ＝Ｂであり、また単方向バス設計ではｋ＝Ｔ＋Ｒとなっている。ＰＥはその隣接したＰＥsのいずれにもデータを送信できるが、しかし一度に一つしか送信できないと想定されている。例えば、各ＰＥは、その東隣に一回の通信サイクルでデータを送信できる。更に、データと命令は、コントローラから全てのＰＥsに、一つのブロードキャスト・ディスパッチ期間で同時にディスパッチされるようにブロードキャスト機構が用意されていると想定されている。
ビット−直列のＰＥ間通信が、配線の繁雑さを最小限に抑えるために一般に採用されるが、トーラス接続アレイ配線の繁雑さは、それにもかかわらず実装上の問題を呈している。図１Ａの従来のトーラス状に接続されたアレイは、ＰＥsの４×４のアレイ１０に接続された１６個の処理要素を有している。各処理要素ＰＥi,jには、各々その行と列の番号ｉとｊが付標されている。各ＰＥは、点と点の接続で、その最近の北（Ｎ）隣りと、南（Ｓ）隣りと、東（Ｅ）隣りと、西（Ｗ）隣とに通報する。例えば、図１Ａに示されているＰＥ0,0とＰＥ3,0との間の接続は、ＰＥ0,0のＮインタフェースとＰＥ3,0の南インタフェースの間のラップアラウンド接続であり、アレイをトーラス構成に形成するラップアラウンド・インタフェースの一つを表わしている。そのような構成では、各行は、一組のＮ個の相互接続部を含んでおり、Ｎ個の行に関して、Ｎ2の水平方向の接続部が在る。同様に、各々Ｎ個の垂直方向の相互接続部を有したＮ列に関して、Ｎ2の垂直方向の相互接続部が在る。図１Ａの例では、Ｎ＝４である。ラップアラウンド接続を有したＮ×Ｎのトーラス接続コンピュータの集積回路の実装における金属被覆線のような線の総数は、従って２ｋＮ2となり、その場合、ｋは各相互接続部における線の数である。その数ｋは、ビットの直列相互接続部のものに等しくなろう。例えば、図１Ａに示すように、４×４のアレイに対するｋ＝１に関しては、２ｋＮ2＝３２となる。
Ｎが比較的小さい場合の幾つかの応用に対しては、ＰＥアレイ全体が単一の集積回路に組み込まれているのが好ましい。本発明は、各ＰＥが、例えば、個別のマイクロプロセッサのチップであるような実装を排除するものではない。トーラス接続コンピュータの線の総数は、かなりの数と成るために、相互接続部は、多くの貴重な集積回路の『不動産（占有地）』、又は占拠チップ面積を使ってしまう。更に、ＰＥの相互接続経路は、互いに非常に頻繁に交差してＩＣレイアウト処理を複雑にし、またクロストークにより通信ラインにノイズを起こす可能性がある。更に、ＰＥsをアレイの北と南の端で、また東と西の端で接続するラップアラウンドリンクの長さは、アレイ寸法の増大と共に長くなる。この長くなった長さは、各通信ラインの静電容量を増大し、それによってラインの最大伝送ビット率を低減し、ラインに更にノイズを導入することになる。
トーラスアレイのもう一つの短所は、転置要素（行と列番号が逆）間での処理情況において生じる。ある処理要素とその転置要素は、通信経路において一つ以上の仲介処理要素によって分離されているので、転置要素を使用する動作には待ち時間が持ち込まれる。例えば、ＰＥ2,1が、その転置要素ＰＥ1,2からデータを必要とする場合、そのデータは、仲介処理要素ＰＥ1,1又ＰＥ2,2を通って移動しなければならない。当然、これにより、例えＰＥ1,1とＰＥ2,2が他の動作状態により占有されていない場合でも、遅れが生じることになる。しかし、ＰＥsがマイクロプロセッサ要素として実装されている一般的な場合には、ＰＥ1,1とＰＥ2,2が他の処理を実行することになったり、またＰＥ1,2からＰＥ1,1にデータ又は指令を転送するために、それらがこれらの処理を通常の方式で保留しなければならなく成ることは非常に有りそうなことである。従って、ＰＥ1,2からＰＥ1,1にデータ又は指令を転送開始するにも幾つかの処理を伴なうであろうし、また転置データを転送するためにＰＥ1,1が強制的に保留されていた処理も遅延されることになる。そのような遅延は、ＰＥを仲介する毎に雪だるま式に大きくなり、また大きな待ち時間が、転置要素対の内、最も離れたものに対して持ち込まれることになる。例えば、図１ＡのＰＥ3,1／ＰＥ1,3の転置要素対は、最小限３個の仲介ＰＥsを有していて、４つの通信段階の待ち時間を必要とし、また一般的な場合では、ＰＥ3,1とＰＥ1,3の間でデータ転送を行うために全てのそれらのＰＥsにおいて保留されなけらばならない全ての課題の待ち時間を更に持つことに成ろう。
トーラス状に接続されたアレイのそのような限界を認識すると、アレイに対する新しいアプローチが、ここに参考までに全体的に組み込まれている米国特許第５，６１２，９０８号と、イタリアのベニスで１９９３年１０月２５−２７日に開催された応用特定アレイプロセッサに関する１９９３年国際会議でのＧ．Ｇ．ペカネック（Pechanek）氏等による大形並列の対角折り畳みアレイプロセッサ（A Massively Parallel Diagonal Fold Array Processor）の１４０−１４３ページと、ニューメキシコ州アルバカーキのニューメキシコ大学で１９９３年１１月４−５日に開催されたＶＬＳＩ設計に関する第５回ＮＡＳＡシンポジュウム議事録のＧ．Ｇ．ペカネック氏等による多重折り畳みクラスタ形プロセッサのトーラスアレイ（Multiple Fold Clustered Processor Torus Array）に開示されている。これらのトーラスアレイ組織の作動技法は、折り返しエッジとして、従来の最近隣接トーラスの対角のＰＥsを使ってＰＥsのアレイを折り畳むことである。図２のアレイ２０に示されているように、これらの技法は、ＰＥ間配線を実質的に低減し、ラップアラウンド接続部の数と長さを減じ、ＰＥsをそれらの転置ＰＥsに極めて接近して位置決めするために採用される。このプロセッサアレイのアーキテクチャは、例えば、本発明と同じ発明者によって発明され、且つここに参考までに全体的に組み込まれている米国特許第５，５７７，２６２号と第５，６１２，９０８号及びヨーロッパ特許第０，７２６，５３２号とヨーロッパ特許第０，７２６，５２９号に開示されている。そのようなアレイは、例えば一回折りの対角折りメッシュにおけるＰＥの組合わせの不規則性によって、従来のトーラスアーキテクチャより優れた実質的な利益を与えてくれるが、４つのＰＥsと８つのＰＥsから成るクラスタが存在している三つ折りの対角折りメッシュにおいて、幾つかのＰＥは『２つずつ』にクラスタ化され、他は単一となっている。アレイの全体の形状が三角形であることによって、対角折り式アレイは、効果的で安価な集積回路の実装に対してかなりの障害となっている。更に、ヨーロッパ特許第０，７２６，５３２号とヨーロッパ特許第０，７２６，５２９号におけるような対角折りメッシュと他の従来のメッシュアーキテクチャでは、相互接続トポロジーは、本来的にＰＥ定義の一部となっている。これで、トポロジーにおけるＰＥの位置を定め、結果的に、ＰＥsのトポロジーと、実装される一定の構成へのそれらの接続性を制限することになる。かくして、プロセッサアレイ・アーキテクチャとプロセッサの相互接続において更に改良する必要がある。
発明の要約
本発明は、従来のトーラス状の処理要素アレイの配線必要条件と比較して、アレイの相互接続配線の必要条件を実質的に低減する処理要素のアレイに関している。好適な実施例では、本発明に係る一つのアレイは、転置要素間での動作の待ち時間で実質的な低下を達成する。更に、本発明のアレイは、アレイの全体の大きさからラップアラウンド配線の長さを切り離し、それによって、最も長い相互接続線の長さを短縮する。更に、通信しているＰＥs間で何ら衝突を起こさないアレイ通信パターンのために、１つのＰＥ当たり、ただ一つの送信ポートと一つの受信ポートとが必要とされ、隣同士の接続数とは無関係に、特定のトポロジーは、そのＰＥ接続点（ノード）を必要としてもよい。アレイの好適な集積回路実装は、矩形状又は正方形の輪郭を表す、組み合わされた同じ処理要素クラスタの組合わせを含んでいる。処理要素の同一性と、処理要素クラスタの同一性と、アレイの全体の輪郭の規則性は、アレイを特にコスト効果の高い集積回路の製造に適したものとする。
本発明に従って集積回路を形成するために、処理要素は、単命令多重データ（『ＳＩＭＤ』）処理の通信必要条件を利用するクラスタへと先ず組み合わされる。処理要素は、次に、一つのクラスタの要素が、クラスタ内で、またただ二つの他のクラスタのメンバーと通信するようにグループ化される。更に、各クラスタの組成処理要素は、ただ２つの互に相容れない方向で他のクラスタの各々の処理要素と通信する。当然、単方向に通信する能力を有したＳＩＭＤトーラスでは、北／南の方向は、東／西の方向と互に相容れない。処理要素クラスタは、名称が答えているように、好ましくは相互に物理的に非常に接近して形成されたプロセッサのグループである。例えば集積回路の実装では、クラスタの処理要素は、好ましくは相互にできるだけ接近して、且つ好ましくはアレイにおける他のいずれの処理要素よりもより互いに接近してレイアウトされるであろう。例えば、処理要素の従来の４×４トーラスアレイに相当するアレイは、各々４つの要素から成る４つのクラスタを有し、各クラスタが他の一つクラスタと北と東に向かってのみ、またもう別の一つクラスタと南と西に向かってのみ通信するか、又は他の一つクラスタと南と東に向かってのみ、またもう別の一つクラスタと北と西に向かってのみ通信する。このようにＰＥsをクラスタ化することで、ＰＥクラスタ間の通信経路は、マルチプレクス（多重化）により共有され、かくしてアレイに必要とされる相互接続配線を実質的に減らすことになろう。
好適な実施例では、クラスタを構成するＰＥsは、処理要素とそれらの転置要素とが同じクラスタに存在し、且つクラスタ内の通信経路を介して互いに通信し、それによって従来のトーラスアレイで実行された転置要素間の処理に関連した待ち時間を排除するようにしている。更に、従来のラップアラウンド経路は、ＰＥからＰＥへのいずれの経路とも同等に扱われるので、最も長い通信経路も、アレイの全体の大きさとは無関係に、クラスタ間の間隔程度に短くなるであろう。本発明によれば、Ｎ×Ｍのトーラスは、Ｎ個のＰＥsから成るＭ個のクラスタのアレイに、又はＭ個のＰＥsから成るＮ個のクラスタのアレイに変換されてもよい。
本発明のこれらの、また他の特長、局面及び長所は、添付図面も考慮して、次の詳細な説明から当業者に明らかになるであろう。
【図面の簡単な説明】
図１Ａは、従来技術の４×４の最近の隣りと接続したトーラス状の処理要素（ＰＥ）アレイのブロック図である。
図１Ｂは、どのように図１Ａの従来技術のトーラス接続経路がＴ本の送信とＲ本の受信の線を有しているかを示す図である。
図１Ｃは、どのように図１Ａの従来技術のトーラス接続経路がＢ本の双方向線を有しているかを図解する図である。
図２は、従来技術の対角に折られたメッシュのブロック図である。
図３Ａは、本発明のＰＥアレイ内に適当に採用される処理要素のブロック図である。
図３Ｂは、本発明のＰＥアレイ内で適当に採用される代替処理要素のブロック図である。
図４は、全てのトーラスのＰＥ間通信リンクを示している４×４のトーラスのタイル貼り状配列を示す図である。
図５Ａ乃至図５Ｇは、本発明に係るクラスタのグループ化のためのＰＥsの選定を示している４×４のトーラスのタイル貼り状配列を示す図である。
図６は、クラスタ用のＰＥsの代替のグループ化を示している４×４のトーラスのタイル貼り状配列を示す図である。
図７は、ＰＥクラスタ用ＰＥの選定を示している３×３のトーラスのタイル貼り状配列を示す図である。
図８は、ＰＥクラスタ用ＰＥsの選定を示している３×５のトーラスタイル貼り状配列を示す図である。
図９は、ＰＥクラスタ用ＰＥsの選定の代替の斜方形／円筒状アプローチを示しているブロック図である。
図１０は、新しいＰＥクラスタのクラスタ間通信経路を示しているブロック図である。
図１１Ａと図１１Ｂは、ＰＥクラスタの選定への代替の斜方形／円筒状アプローチを示す図である。
図１２は、５×４のＰＥアレイ用の斜方形／円筒状ＰＥ選定プロセスを示しているブロック図である。
図１３は、４×５のＰＥアレイ用の斜方形／円筒状ＰＥ選定プロセスを示しているブロック図である。
図１４は、５×５のＰＥアレイ用の斜方形／円筒状ＰＥ選定プロセスを示しているブロック図である。
図１５Ａ乃至１５Ｄは、６個のＰＥアレイによる３、４、５及び６個のクラスタのクラスタ間通信経路を各々示しているブロック図である。
図１６は、４個の４−メンバークラスタのアレイ内における東／南通信経路を示しているブロック図である。
図１７は、４個の４−メンバークラスタのアレイ内における東／南及び西／北の通信を示しているブロック図である。
図１８は、クラスタスイッチと、図示されたクラスタに対するそのインタフェースとをより詳細に示し、図１７の実施例のクラスタの内の一つを示しているブロック図である。
図１９Ａと１９Ｂは、本発明の新しいアレイプロセッサで有利に実施される例示上のコンボルージョンに採用されたコンボルージョン窓とコンボルージョン経路とを各々示す図である。
図１９Ｃと１９Ｄは、４×４個のブロック内の画像の一部分と、従来のトーラス位置にロードされたブロックとを各々示しているブロック図である。そして
図２０Ａ乃至２４Ｂは、各コンボルージョン処理工程の終わりで、本発明に係るマニホールドアレイの状態を示しているブロック図である。
詳細な説明
本実施例では、本発明に係る新しいアレイプロセッサは、１つのクラスタの要素がただ２つの他のクラスタのメンバーと通信し、且つ各クラスタの構成処理要素がただ２つの互いに相容れない方向で、他のクラスタの各々の処理要素と通信するように、ＰＥsをクラスタ又はグループで結合している。このようにＰＥsをクラスタ化することで、ＰＥのクラスタ間での通信経路が共有され、かくしてアレイに必要とされる相互接続配線を実質的に減らすことができる。更に、各ＰＥは、単一の送信ポートと単一の受信ポートとを有することができるか、又は双方向のシーケンシャル、又は時間スライスした送信／受信の通信を実行する場合に、個々のＰＥはアレイのトポロジーから分断される。即ち、各ＰＥが各方向への通信に１つずつの４つの双方向通信ポートを有している従来のトーラス接続アレイとは違って、新しいアレイアーキテクチャによって採用されたＰＥは、ただ一つのポートを持つ必要があるだけである。単一の送信ポートと単一の受信ポートを使用したこの例では、アレイの全てのＰＥsは、同時に送受信することができる。従来のトーラスでは、このためには、１つのＰＥ当たり、４つの送信ポートと４つの受信ポートを、合計で８つのポートを必要とする。これに対し本発明では、ＰＥ当り１つの送信ポートと１つの受信ポートが、合計で２つのポートが必要とされる。
好適な本実施例では、クラスタを構成するＰＥsは、処理要素とそれらの転置要素とは同じクラスタに位置決めされて、クラスタ内通信経路を通して互いに通信するように選定されている。説明の都合上、処理要素はそれらが従来のトーラスアレイで見受けられるように呼ばれ、例えば、処理要素ＰＥ0,0は、従来のトーラスアレイの『北西』の角に見受けられる処理要素となっている。結果的に、新しいクラスタアレイのレイアウトは、従来のアレイプロセッサのものとは実質的に異なってはいるが、同じデータは、従来のトーラスと新しいクラスタのアレイの対応した処理要素に送られるであろう。例えば、新しいクラスタアレイのＰＥ0,0要素は、従来のトーラス接続アレイのＰＥ0,0要素と同じ処理上のデータを受信するであろう。更に、この説明で参照されている方向は、トーラス接続アレイの方向に関係している。例えば、処理要素間の通信が北から南に行われていると言われた場合、それらの方向は、従来のトーラス接続アレイ内での通信方向を参照している。
ＰＥsは、特定の用途のために作成された簡単な構造の単一マイクロプロセッサのチップとすることができる。次の説明に限定はされるものではないが、基本的なＰＥについて、関連した構想を実証するために説明する。図３Ａには、本発明の新しいＰＥアレイの各ＰＥに対して使用される一つの適当な実施例を図解しているＰＥ３０の基本構造が示されている。図解を簡略化するために、インタフェースロジックとバッファは図示されていない。ブロードキャスト命令のバス３１は、ＳＩＭＤコントローラ２９からディスパッチされた命令を受け取るように接続されており、またデータバス３２は、メモリ３３又はＰＥ３０の外部の別のデータ源からデータを受け取るように接続されている。レジスタファイル記憶媒体３４は、ソースオペランドデータを実行ユニット３６に与える。命令デコーダ／コントローラ３８は、ブロードキャスト命令バス３１を介して命令を受け取り、レジスタファイル３４内部のレジスタに制御信号２１を与えるように接続されており、レジスタファイル３４は、次にそれらの内容を経路２２を経由してオペランドとして実行ユニット３６に与える。実行ユニット３６は、命令デコーダ／コントローラ３８から制御信号２３を受け取り、経路２４を経由してレジスタファイル３４に結果を与える。命令デコーダ／コントローラ３８は、更に、クラスタスイッチ使用可能化信号を、出力時に、スイッチ使用可能化（Switch Enable）と付標されたライン３９に与える。クラスタスイッチの機能は、図１８の説明と関連して以下により詳細に説明する。データや指令のＰＥ間通信は、受信（Receive）と付標された受信入力部３７で受信され、送信（Send）と付標された送信出力部３５から送信される。
図３Ｂは、命令デコーダ／コントローラ３８から受信された制御信号２５に基づいてデータフォーマット処理を行うインタフェース制御ユニット５０を有した代替のＰＥ表示手段３０’を示している。このデータフォーマット処理は、各種の標準やインタフェース必要条件に合わせるために、例えば、並列から直列への変換と直列から並列への変換や、データのコード化、データフォーマット変換を有することができる。
図３Ａに示されたＰＥ３０と同じタイプのＰＥsの従来の４×４の最隣接トーラスが、図４において自ずからのタイル貼り状態で囲まれて示されている。中央部の４×４のトーラス４０は、そのトーラスのラップアラウンド接続を含んだリング４２によって囲まれている。図４のタイル貼り状態は、ラップアラウンド接続を『平坦化』し、それによって、本発明の一実施例のアレイに使用される好適なクラスタ形成プロセスを説明する手助けのために使われる説明の補助となっている。例えば、ブロック４２内部に示されているように、ＰＥ0,0から西へのラップアラウンド接続は、ＰＥ0,3となっており、ＰＥ1,3から東への接続はＰＥ1,0となっている等である。この図の利便性は、図５Ａ−５Ｇについての以下の説明と関連してより明らかになるであろう。
図５Ａでは、基本的な４×４のＰＥトーラスは、もう一度、自らのタイル貼り状態によって囲まれている。本発明では、ＰＥ0,0から東と南への通信にはＰＥ0,1とＰＥ1,0を各々取り込むことになるのが分かる。更に、ＰＥ1,0へ東に向かって通信するＰＥは、ＰＥ1,3であり、またＰＥ1,3は南に向かってＰＥ2,3へ通信する。従って、４つのＰＥのＰＥ0,0、ＰＥ1,3、ＰＥ2,2及びＰＥ3,1を一つのクラスタに結合することでクラスタ４４を形成し、そのクラスタ４４からＰＥsは、ＰＥ0,1、ＰＥ1,0、ＰＥ2,1及びＰＥ3,2のＰＥsを含んだもう一つ別のクラスタ４６と南と東に向かってのみ通信する。同様に、クラスタ４６のＰＥsは、ＰＥ0,2、ＰＥ1,1、ＰＥ2,0及びＰＥ3,3のＰＥsを含んだクラスタ４８のＰＥsと南と東に向かって通信する。クラスタ５０のＰＥ0,3、ＰＥ1,2、ＰＥ2,1及びＰＥ3,0のＰＥsは、クラスタ４４と南と東に向かって通信する。この組合わせで、ただ２つの他のクラスタのＰＥsと通信し、且つそれらのクラスタに互いに相容れない方向で通信するＰＥsのクラスタを作ることになる。即ち、例えば、クラスタ４８のＰＥsは、クラスタ５０のＰＥsと南と東に向かってのみ通信すると共に、クラスタ４６のＰＥsと北と西に向かってのみ通信する。この例のＰＥｓのグループ化により、本発明に係るアレイ内部でのＰＥ間接続を、従来の最隣接トーラスアレイの必要条件と比較して実質的に減らせることができる。
多くの他の組合わせも可能である。例えば、再度、ＰＥ0,0で開始して、北と東への通信に関連してＰＥsをグループ化することで、図５Ｂのクラスタ５２、５４、５６、５８を作る。これらクラスタは、ＰＥアレイの相互接続の必要性を大幅に低減し、且つ最長のＰＥ間の接続の長さを短縮するように組み合わされる。しかし、これらクラスタは、図５Ａのクラスタ４４−５０が行っているようにＰＥsとそれらの転置要素とを組み合わせてはいない。即ち、転置対のＰＥ0,2／ＰＥ2,0とＰＥ1,3／ＰＥ3,1とがクラスタ５６に含まれているが、転置対のＰＥ0,1／ＰＥ1,0はクラスタ５４と５８の間で分割されている。現在のところ好適な実施例に係るアレイは、クラスタ内の全てのＰＥsを、それらの転置要素と組み合わせた４４−５０のようなクラスタのみを採用している。例えば、図５Ａでは、ＰＥ3,1／ＰＥ1,3の転置対はクラスタ４４内に含まれており、ＰＥ3,2、ＰＥ2,3及びＰＥ1,0／ＰＥ0,1の転置対はクラスタ４６内に含まれており、ＰＥ0,2／ＰＥ2,0の転置対はクラスタ４８内に含まれており、またＰＥ3,0／ＰＥ0,3及びＰＥ2,1／ＰＥ1,2の転置対はクラスタ５０内に含まれている。図５Ｃのクラスタ６０、６２、６４、６８は、ＰＥ0,0で開始して、北と西に通信するＰＥsを組み合わせることで形成される。クラスタ６０は、クラスタ４４と同等であり、クラスタ６２はクラスタ４６と同等であり、クラスタ６４はクラスタ４８と同等であり、クラスタ６８はクラスタ５０と同等であることに注目すべきである。同様に、南と西に通信するＰＥsを組み合わせることで形成される図５Ｄのクラスタ７０−７６は、図５Ｂのクラスタ５２−５８に各々同等となっている。図５Ｅで示されるように、クラスタ４５、４７、４９、５１は、好適なクラスタ４８、５０、４４、４６と同等であるが、南と東に通信するＰＥsを組み合わせることでトーラス４０内に、いずれの『開始点』からも得られよう。
もう一つ別のクラスタ化が、図５Ｆに描かれており、そこでは、クラスタ６１、６３、６５、６７は、トーラス４０のタイル貼り形状に十字形パターンを形成している。このクラスタ化は、互いに相容れない方向で２つの他のクラスタと通信するクラスタを作るためにＰＥsをグループ化する幾つかの方法があることを実証している。即ち、クラスタ６５のＰＥ0,0とＰＥ2,2は、クラスタ６１のＰＥ0,1及びＰＥ2,3と東に向かって各々通信している。更に、クラスタ６５のＰＥ1,1とＰＥ3,3は、クラスタ６１のＰＥ1,0とＰＥ3,2と西に向かって各々通信している。以下により詳細に説明されているように、いま説明した東の方への通信経路は、即ちＰＥ0,0とＰＥ0,1の間及びＰＥ2,2とＰＥ2,3の間の経路と他のクラスタ間の経路とは、例えば多重化により、互いに相容れないクラスタ間通信経路と組み合わされてもよく、これによりＰＥ間通信のために必要とされる相互接続線の数を半分に減らすことができる。図５Ｆのクラスタ化は、更にクラスタ内部で転置要素もグループ化している。
新しいアレイの大規模化の一態様が、図５Ｇによって示されており、そこでは４×８のトーラスアレイが、２つの４×４アレイ４０Ａ、４０Ｂとして描かれている。４×８のトーラスアレイから、８つの４−ＰＥクラスタを作るために、この点に対して説明してきた技法を使うことができよう。更に、４×８トーラスを２つの４×４トーラスに分割し、且つ各クラスタをクラスタ内に、即ちクラスタ４４Ａと４４Ｂに、また４６Ａと４６Ｂ等に組み合わせることで、例えば、８つの４−ＰＥクラスタ構成に含まれた４×４サブクラスタの全ての接続性と転置関係を備えた４つの８−ＰＥクラスタが得られる。このクラスタの組み合わせアプローチは、一般的であり、また他の規模化も可能である。
好適でしかし唯一のものではないが、クラスタ化のプロセスについても以下に説明する。ｉ＝０、１、２、・・・Ｎ−１で且つｊ＝０、１、２、・・・Ｎ−１の場合に、Ｎ×Ｎの基本的トーラスＰＥi,jが与えられれば、好適な南−と東−通信クラスタは、ＰＥi,j、ＰＥ(i+1)(ModN)、(j+N-1)(ModN)、ＰＥ(i+2)(ModN)、(j+N-2)(ModN)、…、ＰＥ(i+N-1)(ModN)、(j+N-(N-1))(ModN)をグループ化することで形成されよう。この公式は、Ｎ個のＰＥsから成るＮ個のクラスタを有したＮ×Ｎのトーラスアレイに対して書き直しされ、そこでクラスタのグループ化は、ｉとｊを選択し、次いで公式：いずれのｉ，ｊに対しても、また全てのａ∈｛０、１、・・・、Ｎ−１｝に対してＰＥ(i+a)(ModN),(j+N-a)(ModN)となる。
図６は、ＰＥ1,3で始まり、南と東に通信するＰＥsを組み合わせているクラスタ４４乃至５０の形成を示している。実際には、クラスタ４４乃至５０は、新しいアレイの４×４トーラス同等物の好適な実施例のクラスタであるが、開始点として基本のＮ×Ｎトーラス４０内の何のＰＥが使用されるかには無関係に、南と東に通信するＰＥsを組み合わせることで得られる。図７と８は、３×３と３×５のトーラスを各々使っているアプローチの付加的な例を示している。
クラスタ構築プロセスを考察するもう一つ別の同等の方法が図９に示されている。これと、後続の似たような図では、ラップアラウンド線は簡明化のために図から省いてある。従来の４×４トーラスは、各行の左側へのシフトによって図示されているように、斜方形に先ず捩られている。このシフトは、斜方形の『垂直スライス』において転置ＰＥsをグループ化する働きをする。同じ大きさのクラスタを造るために、斜方形は、基本的に円筒に形成される。即ち、一番左か又は一番西の垂直方向のスライス８０は、その行の一番東のＰＥ0,3と境界を接するように囲って包まれている。スライス８０の東側の垂直方向スライス８２は、ＰＥ0,0及びＰＥ1,3と境界を接するように囲って包まれ、また次の東側の垂直方向スライス８４は、ＰＥ0,1とＰＥ1,0及びＰＥ2,3と境界を接するように囲って包まれている。明瞭にするために、全ての接続は示されていないが、全ての接続は元の４×４トーラスの場合と同じ状態となっている。結果的にできた垂直方向スライスは、図５Ａに示された好適な実施例４４乃至５０のクラスタを造り出し、同じクラスタが図５Ａと図６に関連した説明で図解された方式で造られることになる。図１０では、図９の斜方形／円筒化プロセスで造られたクラスタは、クラスタ間の接続を明らかにする図解目的のために『剥き開いてある』。例えば、クラスタ４４からクラスタ４６への全てのＰＥ間接続は、クラスタ４６からクラスタ４８へのものや、クラスタ４８からクラスタ５０へのもの、クラスタ５０からクラスタ４４のもののように南と東とに向いている。クラスタ間通信のこの共通性は、ＳＩＭＤプロセスにおけるＰＥ間通信の性質と組み合わせて、ＰＥ間接続の数を大幅に減らせるようする。以下に、図１６と１７に関連してより詳細に説明するように、互いに相容ない通信、例えばクラスタ４４からクラスタ４６への南と東へ向かった通信は、クラスタ間に通っている共通した一組の相互接続線に対して多重化して使用される。結果的に、以下で『マニホールドアレイ（manifold array）』と称される新しいアレイのＰＥ間接続配線は、従来の最隣接トーラスアレイに関連した相互接続線の数を約半分に減らすことができる。
マニホールドアレイを造るために使用されるクラスタ形成プロセスは、対称と成っていて、垂直方向にシフトされたトーラスの水平方向スライスを取ることで形成されたクラスタは、水平方向にシフトされたトーラスの垂直方向のスライスを取って形成されたクラスタと同じである。図１１Ａと図１１Ｂは、斜方形／円筒化技法が、更に、垂直方向にシフトされたトーラスの水平方向スライスから好適なクラスタを造るのにも採用されると言う事実を示している。図１１Ａでは、従来の４×４トーラスアレイの列は、斜方形を造るために垂直方向にシフトされており、また図１１Ｂでは、その斜方形は円筒内に包まれている。結果的に生じた円筒の水平方向スライスは、好適なクラスタ４４乃至５０を与えてくれる。この点に対して図解されたいずれの技法も、従来のトーラスアレイと同等のＰＥ間接続性を与えてくれるマニホールド・アレイのクラスタを作り、実質的にＰＥ間配線の必要条件を減らすために採用される。
要約で注目したように、上記のクラスタ化プロセスは一般的であり、各々Ｎ×Ｍのトーラスアレイから、Ｎ個のＰＥsを含んだＭ個のクラスタから成るマニホールドアレイを造るのに採用される。例えば、５×４のトーラスアレイ同等物のために、５つのＰＥsから成る４つのクラスタを作る斜方形／円筒化アプローチが図１２に示されている。新しいＰＥクラスタ、例えばＰＥ4,0、ＰＥ3,1、ＰＥ2,2、ＰＥ1,3及びＰＥ0,0を形成する垂直方向スライスは、以前に図示した４×４アレイの転置クラスタ化関係を維持している。同様に、図１３の線図に示されているように、４×５トーラスは、各々４×４トーラスで得られたものからほんの僅か変更された転置関係で、４つのＰＥsから成る５つのクラスタを作り出す。実際には、転置ＰＥsは、４×４のクラスタ化されたアレイに関するものよりはほんの僅かに異なった配列で共に依然クラスタ化されている。例えば転置対のＰＥ1,0／ＰＥ0,1とＰＥ2,3／ＰＥ3,2は、好適な４×４マニホールドアレイ内部で同じクラスタにグループ化されていたが、しかし、それらは、依然として対を成しているのが見受けられるが、しかし、図１３の４×５マニホールドアレイでは別々のクラスタにグループ化されている。図１４のクラスタ選定図に示されているように、奇数アレイには奇数で、対角のＰＥsのＰＥi,j（ｉ＝ｊの場合）は、クラスタ当り一つだけ分配されている。
図１５Ａ乃至図１５Ｄのブロック図は、新しいマニホールドアレイのクラスタ間接続を示している。説明を簡略化するために、以下の説明では、特に述べられていない限り、単方向接続経路が採用されている。とはいえ、明瞭化のために、本発明は、個々の線によって表された並列な相互接続経路や又はバスで説明してある。ビット−直列通信、別言すれば単一ラインを有したバスも本発明が企図するものである。バスマルチプレクサか、又はバススイッチが使用されている場合、マルチプレクサ及び／若しくはスイッチは、バスにおけるライン数に対応して複製されている。更に、ＰＥsの適当なネットワーク接続とマイクロプロセッサチップの実装に関しては、新しいアレイが、ここに参考までに組み込まれているＰ．Ｍ．コゲ（Kogge）氏による「動的なマルチモードの並列プロセッサアレイアーキテクチャ（Dynamic Multi-Mode Parallel Processor Array Architecture）の名称となっている米国特許第５，４７５，８５６号に説明されているようにＭＩＭＤ、ＳＩＭＤ及びＳＩＳＤのモードの間で動的切り換えられるようにするシステムと共に採用されている。
図１５Ａでは、クラスタ８０、８２、８４は、クラスタスイッチ８６とクラスタ間リンク８８を介して互いに接続された３つのＰＥクラスタとなっている。特定のトポロジーを造るためにどのようにマニホールドアレイＰＥsが互いに接続するのかを理解するために、ＰＥからの接続図は、単一のＰＥの接続図からＰＥsのクラスタのメンバーとしてのＰＥの接続図に変更されなければならない。ＳＩＭＤの単方向通信環境で作動するマニホールドアレイに対して、どのＰＥも、そのＰＥと従来のトーラスにおけるＰＥsの内のその直接取り付けられたいずれの隣りとの間の接続数に無関係に、ただ１つの送信ポートと１つの受信ポートとを必要としている。一般に、通信しているＰＥs間に何ら衝突を起こさないアレイ通信パターンに対して、ただ１つの送信と１つの受信のポートが、特定トポロジーが、そのＰＥsについて必要とする隣りへの接続数から独立して、ＰＥ当り必要とされている。
各々４つのＰＥsから成る４つのクラスタ４４乃至５０は、図１５Ｂのアレイに組み合わされている。クラスタスイッチ８６と通信経路８８とは、以下に図１６、１７及び１８の説明でより詳細に説明されているようにクラスタを接続している。同様に、各々５つのＰＥsから成る５つのクラスタ９０乃至９８は、図１５Ｃのアレイに組み合わされている。実際には、クラスタ９０乃至９８は、集積回路のレイアウトを容易にし、且つ最長のクラスタ間接続の長さを短縮するように適切に設置されている。図１５Ｄは、各々６つのＰＥsを有した６つのクラスタ９９、１００、１０１、１０２、１０４、１０６から成るマニホールドアレイを示している。新しいマニホールドアレイの通信経路８６は、クラスタ間に存在しているので、従来のトーラスアレイのラップアラウンド接続上の問題は排除されている。即ち、どんなにアレイが大きくなろうとも、何ら相互接続経路は、接続経路８８によって示されている基本的なクラスタ間空間よりも長くなる必要はない。これは、全体のアレイに及ばなければならない従来のトーラスアレイのラップアラウンド接続とは対照的になっている。
図１６のブロック図は、４つのクラスタで、１６個のＰＥのマニホールドアレイの好適な実施例をより詳細に示している。クラスタ４４から５０は、多くは集積回路レイアウトとなるように、矩形状又は正方形状に配列されている。接続経路８８とクラスタスイッチとは、この図により詳細に示されている。南と東への接続は、ＰＥs間の接続ライン数を減らすために、クラスタスイッチ８６を介して多重化されている。例えば、ＰＥ1,2とＰＥ2,2との間の南方向の接続は、ＰＥ2,1らＰＥ2,2への東方向の接続のように、接続経路１１０を介して行われる。上記で分かるように、接続経路１１０のような各接続経路は、ビット−直列経路で、結果的に、単一の金属被覆ラインによって集積回路実装で行われる。更に、接続経路は、各々の制御ラインの存在が明らかにされた時にのみ使用が可能化される。これら制御ラインは、図３Ａに示された各ＰＥ3,0の命令デコーダ／コントローラ３８によって発生される。代わりに、これら制御ラインは、各クラスタスイッチに含まれている独立した命令デコーダ／コントローラによっても発生されてもよい。スイッチ当り多くのＰＥsが存在しているので、各ＰＥによって発生された多くのエネーブル信号が比較され、何らエラーが生じないように、また全てのＰＥsが同期して動作するために、それらが同じ値を持つかどうか調べられる。即ち、北方向にはＮ、南方向にはＳ、東方向にはＥ、西方向にはＷと各注記された方向経路に組み合わされた制御ラインが設けられている。これらライン上の信号は、マルチプレクサが関連データ経路上のデータを接続されたＰＥに該マルチプレクサを介して通せるようにするものである。この制御信号の存在が確認されない時には、関連データ経路はエネーブルにされず、データはそれら経路に沿ってマルチプレクサを介して転送されない。
図１７のブロック図は、４つのクラスタ４４から５０をリンクする相互接続経路８８とスイッチクラスタ８６をより詳細に示している。この図では、西と北方向の接続は、図１６に示されている東と南方向の接続に加えられる。この図では、各処理要素は２つの入力ポートと２つの出力ポートを持って示されているが、好適な実施例では、クラスタスイッチ内で多重化して使用するもう一つ別の層は、各ＰＥの通信ポートを、入力に１つと、出力に１つとに減らすことになる。ＰＥ当り４つの隣接送信接続を有し、且つ単方向通信を行う、即ちＰＥ当りただ１つの送信方向を使用可能化する標準的なトーラスでは、各ＰＥ当り必要とされる４つのマルチプレクサ、又はゲート制御される回路の送信経路が設けられている。このゲート制御される回路は、好適には、マルチプレクサと、ＡＮＤゲートと、エネーブルとディスエネーブルの制御信号を伴った３ステート隣接ドライバ／レシーバと、他のその種のインタフェース・エネーブル／ディスエネーブル回路とを有することができる。これは、ＰＥの一部として規定された相互接続トポロジーによるものである。この成果は、標準トーラスには４Ｎ2個の多くの送信経路が存在していることである。マニホールドアレイでは、同等の接続性と無制限の通信を伴いつつも、ただ２Ｎ2個の多重化された、又はゲート制御される回路の送信経路が必要とされるだけである。この２Ｎ2個の送信経路への削減により、マルチプレクサと２Ｎ2個の送信経路とによって使われる面積が４Ｎ2個の送信経路によって浪費されるものよりも大幅に少なくなるので、集積回路の面積を大幅に節減することになる。
完全なクラスタスイッチ８６は、図１８のブロック図により詳細に示されている。北、南、東及び西方向の出力部は、既に図示されている通りである。もう一つ別の多重化層部１１２が、クラスタスイッチ８６に付加されている。この多重化層１１２は、Ａが付標された東／南方向の受信と、Ｂが付標された北／西方向の受信との間の選定を行い、それによって、各ＰＥの通信ポートの必要条件を１つの受信ポートと１つの送りポートに減らしている。更に、転置ＰＥsのＰＥ1,3とＰＥ3,1の間の多重化接続が、Ｔの付標されたクラスタ間の転置接続を介して行われる。特定のマルチプレクサ用のＴマルチプレクサエネーブル信号が出力されると、転置ＰＥからの通信が、そのマルチプレクサに関連したＰＥで受信される。好適な実施例では、全てのクラスタは、ＰＥとその転置ＰＥとの間のような転置経路を含んでいる。これらの図は、全体の接続組織を示しており、どのように多層集積回路の実装が、デザイン選択のおきまり事項として一般に行われるおきまりのアレイ相互接続の全部を達成するかを示めそうとするものではない。いずれの集積回路レイアウトに関しても、ＩＣ設計者は、本発明に係るアレイの実際のＩＣ実装をレイアウトするプロセスにおいて、各種の同時に満たすことのできない条件取捨の考慮について分析するであろう。例えば、クラスタスイッチは、多数のインタフェースの配線長さを短縮するためにＰＥクラスタ内に分布されるかもしれない。
トーラスアレイの通信能力と、マニホールドアレイについて画像処理アルゴリズムを実行する能力に対する同等性を実証するために、図１９Ａの３×３の窓を使用した簡単な二次元のコンボルージョンについて以下に説明する。トーラス機構のコンボルージョンに対するリーと（Lee）アガーワル（Aggarwal）のアルゴリズムが使われる。１９８７年７月に刊行されたパター分析と機械知能に関するＩＥＥＥ会報（IEEE Transactions on Patter Analysis and Machine Array Processor）のＰＡＭＩ−９巻の第４の５９０−５９４ページのＳ．Ｙ．リー氏とＪ．Ｋ．アガーワル氏の著作によるメッシュ状に接続されたアレイプロセッサの並列二次元コンボルージョン（Parallel 2D Convolution on a Mesh Connected Array Processor）を見ること。図３Ａの基本のＰＥ３０の内部構造は、これらＰＥs内の１６個で４×４のマニホールドアレイについて実行されるようなコンボルージョンを実証するために使用される。この例の目的のために、命令デコーダ／コントローラも、クラスタスイッチにマルチプレクサのエネーブル信号を与える。スイッチ当り多くのＰＥsが在るために、多くのエネーブル信号が、確実に何らエラーが生じず、且つ全てのＰＥsが同期して作動するようにするために等しいかが比較される。
コンボルージョン用のＳ．Ｙ．リー氏とＪ．Ｋ．アガーワル氏のアルゴリズムに基づいて、マニホールドアレイは、望ましくは画像の大きさ、例えばＮ×Ｎの画像に対してはＮ×Ｎのアレイとなろう。実装の結果によって、アレイは、大きなＮに対してＮ×Ｎよりも小さいものと想定されなければならない。アレイの大きさがＣ×Ｃと想定すると、画像処理は、コンボルージョン窓の大きさによって必要とされる画像ブロックの重なりを考慮しながら、複数のＣ×Ｃのブロックに区分される。Ｎ×Ｎの画像のエッジ効果を取り扱うために各種の技法が使用される。例えば、（Ｎ＋１）×（Ｎ＋１）のアレイを効果的に発生する画素複製が使用される。必要とされる処理を簡便にするために、ある応用の具体例において、非常に小さなＰＥが定義され得ることに注目される。結果的に、多数のＰＥsが、チップ上のマニホールドアレイの組織に設置されようが、それによって大きな画像寸法に対するコンボルージョンの計算の効率を改善できるであろう。
コンボルージョン・アルゴリズムは、北／東／南／西方向の最隣接通信処理の為に、トーラスアレイへのマニホールドアレイの組織化に機能的に同等であることを実証する簡単な手段を提供する。結果的に、その例はアルゴリズムの通信態様に焦点を合わせることになり、説明を簡略化するために、非常に小さい４×４の画像寸法が４×４のマニホールドアレイに使用される。各々の前の４×４のブロックが完了した後、そのアレイに新しい４×４の画像セグメントをロードすることによって、より大きなＮ×Ｎの画像が取り扱われる。４×４のアレイに対しては、何らラップアラウンドが使われず、またエッジに対しては、ＰＥs０が、物理的実装には存在していない仮想のＰＥsから受け取られる。画素から成る１つの４×４のブロックに対する処理は、この処理例に含まれることに成る。
コンボルージョンの一例が開始されるために、ＰＥsは、図３Ａのコントローラ２９のようなＳＩＭＤコントローラによって既に初期化されており、且つ画素から成る最初の４×４ブロックは、各ＰＥのレジスタＲ１にデータバスを介してロードされているものと想定している。図１９Ｃは、アレイ内にロードされる４×４ブロックを有した画像の一部分を示している。図１９Ｄは、このブロックが４×４のトーラス論理的位置にロードされているのを示している。更に、各ＰＥの累算合計レジスタＲ０は、零に初期化されていると想定している。このアルゴリズムにとって取るに足らないが、Ｒ２も零に初期化されているように示されている。コンボルージョン窓要素は、アルゴリズムの各段階で一度に一つづつブロードキャストされる。これら窓要素は、レジスタＲ２内に受信される。窓要素をブロードキャストする以前の機械の初期状態は、図２０Ａに示されている。全てのＰＥに対する３×３の隣接要素の重み付けされた画素値の合計を計算する段階が、後に続く。
このアルゴリズムは、全てのＰＥsへの最初の窓要素Ｗ００の伝達（ブロードキャスト）で開始する。これが一旦各ＰＥに受信されると、ＰＥsは、第１のＲ０＝Ｒ０＋Ｒ２×Ｒ１又はＲ０＝Ｒ０＋Ｗ×Ｐを計算する。その計算の結果は、次に、図１９Ｂの選択されたコンボルージョン経路に従って最隣接ＰＥに通信される。説明を簡便化するために、説明される各処理段階は、コントローラからディスパッチされた命令によって各々制御される３つのサブ段階に：ブロードキャスト窓要素段と、演算段と、通信段に区分される。この簡略化されたアプローチに対する改良は、主要段２で開始して、窓要素ブロードキャスト段を結果段の通信と重ねる等して展開される点に注目される。これらの点は、この説明の目的にとって必須ではなく、当業者によって認識されるであろう。上付き文字は、処理が進むにつれて合計段の値を表すために使用される。計算された値の通信をフォローする手助けとして、付標の下付き文字は、値が発生された源泉ＰＥを示している。画素｛ｉ、ｊ｝のコンボルージョン経路は、図１９Ｂに示されている。図２０乃至図２４は、各演算段の後のマニホールドアレイの状態を示している。
図２０Ｂでは、Ｗ００が、ＰＥsにブロードキャストされ、各ＰＥが、Ｒ０1＝０＋Ｗ００×Ｒ１を計算して、Ｒ０1を南方向のＰＥに通信し、そこで受信されたＲ０1の値が、ＰＥsのレジスタＲ０に記憶される。
図２１Ａでは、Ｗ１０が、ＰＥsにブロードキャストされ、各ＰＥが、Ｒ０2＝Ｒ０1＋Ｗ１０×Ｒ１を計算してＲ０2を南方向のＰＥに通信し、そこで受信されたＲ０2の値が、ＰＥsのレジスタＲ０に記憶される。
図２１Ｂでは、Ｗ２０が、ＰＥsにブロードキャストされ、各ＰＥが、Ｒ０3＝Ｒ０2＋Ｗ２０×Ｒ１を計算してＲ０3を東方向のＰＥに通信し、そこで受信されたＲ０3の値が、ＰＥsのレジスタＲ０に記憶される。
図２２Ａでは、Ｗ２１が、ＰＥsにブロードキャストされ、各ＰＥが、Ｒ０4＝Ｒ０3＋Ｗ２１×Ｒ１を計算してＲ０4を東方向のＰＥに通信し、そこで受信されたＲ０4の値が、ＰＥsのレジスタＲ０に記憶される。
図２２Ｂでは、Ｗ２２が、ＰＥsにブロードキャストされ、各ＰＥが、Ｒ０5＝Ｒ０4＋Ｗ２２×Ｒ１を計算してＲ０5を北方向のＰＥに通信し、そこで受信されたＲ０5の値が、ＰＥsのレジスタＲ０に記憶される。
図２３Ａでは、Ｗ１２が、ＰＥsにブロードキャストされ、各ＰＥが、Ｒ０6＝Ｒ０5＋Ｗ１２×Ｒ１を計算してＲ０6を北方向のＰＥに通信し、そこで受信されたＲ０6の値が、ＰＥsのレジスタＲ０に記憶される。
図２３Ｂでは、Ｗ０２が、ＰＥsにブロードキャストされ、各ＰＥが、Ｒ０7＝Ｒ０6＋Ｗ０２×Ｒ１を計算してＲ０7を西方向のＰＥに通信し、そこで受信されたＲ０7の値が、ＰＥsのレジスタＲ０に記憶される。
図２４Ａでは、Ｗ０１が、ＰＥsにブロードキャストされ、各ＰＥが、Ｒ０8＝Ｒ０7＋Ｗ０１×Ｒ１を計算してＲ０8を南方向のＰＥに通信し、そこで受信されたＲ０8の値が、ＰＥsのレジスタＲ０に記憶される。
図２４Ｂでは、Ｗ１１が、ＰＥsにブロードキャストされ、各ＰＥはＲ０9＝Ｒ０8＋Ｗ１１×Ｒ１を計算して終了する。
上記の９つの段階の終わりで、各ＰＥi,jは、（図１９Ｂを参照して）：
Ci,j=W00Pi-1,j-1+W10Pi,j-1+W20Pi+1,j-1+W21Pi+1,j+W22Pi+1,j+1+W12Pi,j+1+W02Pi-1,j+1+W01Pi-1,j+W11Pi,j
例えば、ｉ＝５、ｊ＝６に対して、C5,6=W00P4,5+W10P5,5+W20P6,5+W21P6,6+W22P6,6+W22P6,7+W12P5,7+W02P4,7+W01P4,6+W11P5,6
この例の完了時に、もし処理上の仮定が与えられれば、４つの有効なコンボルージョン値が計算される、即ちＰＥs｛（１，１）、（１，２）、（２，１）、（２，２）｝におけるものが計算される点に注目される。これは、以前に説明したように、エッジ効果によるものである。このアルゴリズムに必要とされるＰＥの簡単な性質によって、多数のＰＥsがチップの上に組み込まれ、それによって大きな画像寸法に対するコンボルージョン計算の効率を大幅に高める。
上記例では、マニホールドアレイが、標準的なトーラスの４つの北、東、南、西方向の通信方向に対してその通信能力で同等であり、また標準的なトーラスの配線費用のほんの半分しか必要としないことを実証している。もし、整然とした接続パターンと最短線長さと最小コストで実行される転置ＰＥs間での通信を行うマニホールドアレイ能力が与えられれば、マニホールドアレイは、標準的なトーラスを越えた付加能力を与えてくれる。マニホールドアレイの組織は、依然として転置要素間の通信と隣接要素間の通信の通信能力を与えつつも、ＰＥsの同じ大きさのクラスタから造られているのでより整然としているために、従来技術の標準的な対角折りのトーラスに対して優れた設計を表している。
本発明の特定実施例の上記説明は、図解と説明の目的のために与えられたものである。それは、本発明に網羅的であったり、又は開示された形式そのものに限定しようとするものではなく、また多くの改造例や変形例も上記教示内で可能である。本発明の原理とその実際の応用とを最も良く説明し、それによって他の当業者が本発明を最もよく利用できるようにするために、上記実施例が選択され且つ説明してきた。本発明の技術的範囲は、これに添付された請求の範囲によってのみ制限されるものとなっている。
【図１Ａ】
0004118963.tif 000002
【図１Ｂ】
0004118963.tif 000003
【図１Ｃ】
0004118963.tif 000004
【図２】
0004118963.tif 000005
【図３Ａ】
0004118963.tif 000006
【図３Ｂ】
0004118963.tif 000007
【図４】
0004118963.tif 000008
【図５Ａ】
0004118963.tif 000009
【図５Ｂ】
0004118963.tif 000010
【図５Ｃ】
0004118963.tif 000011
【図５Ｄ】
0004118963.tif 000012
【図５Ｅ】
0004118963.tif 000013
【図５Ｆ】
0004118963.tif 000014
【図５Ｇ】
0004118963.tif 000015
【図６】
0004118963.tif 000016
【図７】
0004118963.tif 000017
【図８】
0004118963.tif 000018
【図９】
0004118963.tif 000019
【図１０】
0004118963.tif 000020
【図１１Ａ】
0004118963.tif 000021
【図１１Ｂ】
0004118963.tif 000022
【図１２】
0004118963.tif 000023
【図１３】
0004118963.tif 000024
【図１４】
0004118963.tif 000025
【図１５Ａ】
0004118963.tif 000026
【図１５Ｂ】
0004118963.tif 000027
【図１５Ｃ】
0004118963.tif 000028
【図１５Ｄ】
0004118963.tif 000029
【図１６】
0004118963.tif 000030
【図１７】
0004118963.tif 000031
【図１８】
0004118963.tif 000032
【図１９Ａ】
0004118963.tif 000033
【図１９Ｂ】
0004118963.tif 000034
【図１９Ｃ】
0004118963.tif 000035
【図１９Ｄ】
0004118963.tif 000036
【図２０Ａ】
0004118963.tif 000037
【図２０Ｂ】
0004118963.tif 000038
【図２１Ａ】
0004118963.tif 000039
【図２１Ｂ】
0004118963.tif 000040
【図２２Ａ】
0004118963.tif 000041
【図２２Ｂ】
0004118963.tif 000042
【図２３Ａ】
0004118963.tif 000043
【図２３Ｂ】
0004118963.tif 000044
【図２４Ａ】
0004118963.tif 000045
【図２４Ｂ】
0004118963.tif 000046