JP2002507300A - マニホールドアレイプロセッサ - Google Patents

マニホールドアレイプロセッサ

Info

Publication number
JP2002507300A
JP2002507300A JP50567099A JP50567099A JP2002507300A JP 2002507300 A JP2002507300 A JP 2002507300A JP 50567099 A JP50567099 A JP 50567099A JP 50567099 A JP50567099 A JP 50567099A JP 2002507300 A JP2002507300 A JP 2002507300A
Authority
JP
Japan
Prior art keywords
cluster
pes
array
torus
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP50567099A
Other languages
English (en)
Other versions
JP4118963B2 (ja
Inventor
ペカネック,ジェラルド,ジー.
クラク,チャールズ,ダブリュー.,ジュニアー
Original Assignee
ボプス インコーポレイテッド
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 ボプス インコーポレイテッド filed Critical ボプス インコーポレイテッド
Publication of JP2002507300A publication Critical patent/JP2002507300A/ja
Application granted granted Critical
Publication of JP4118963B2 publication Critical patent/JP4118963B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Multi Processors (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 アレイプロセッサは、矩形状アレイに組み合わされるクラスタに転置要素を配列している。各クラスタは、好ましくは、少なくとも2つの他のクラスタの処理要素と通信する処理要素から形成されている。更に、各クラスタ間の通信経路は互いに相容れないもので、即ち、各経路は、北と西か、又は南と東か、又は北と東か、又は南と西方向のいずれかの通信を行うものである。データ経路が互いに相容れないことによって、各クラスタの処理要素間での通信は単一のクラスタ間経路において結合される。即ち、北と東方向に向かってもう一つ別のクラスタと通信するクラスタからの通信は、一つの経路において結合され、かくして経路に要求される配線を半分に削減することができる。更に、最長の通信経路の長さは、従来のトーラスアレイに在るように、アレイの全体大きさによって直接的には確定されない。むしろ、最長の通信経路は、クラスタ間の空間によってのみ制限される。N×Nのトーラスの転置要素は、クラスタに組み合わされて互いにクラスタ間通信経路を介して通信する。これら転置要素は互いに直接接続しているので、転置要素の処理の待ち時間は、このアプローチにおいて排除される。更に、各PEは、単一の送信ポートと単一の受信ポートとを有することができる。その結果、個々のPEsはアレイのトポロジーから分離されることになる。

Description

【発明の詳細な説明】 マニホールドアレイプロセッサ 発明の背景 発明の分野 本発明は、一般に処理システムに関し、より具体的には並列処理アーキテクチ ャに関する。関連技術の説明 データを並列で処理する多くの計算タスクが展開されている。並列プロセッサ の効率は、並列プロセッサのアーキテクチャと、符号化されたアルゴリズムと、 並列要素におけるデータ配置とによって左右される。例えば、画像処理や、パタ ーン認識及びコンピュータグラフィックスは、全て、通常の二次元の又は三次元 のグリッドに配列されたデータを処理する応用である。データは、例えばオーデ ィオや、ビデオや、ソナー又はレーダの信号等の広範囲な各種の信号を表しても よい。一般に、その種のデータについて実行される離散コサイン変換(DCT) や離散逆コサイン変換(IDCT)、たたみこみ(合成積、重畳:convolutions )等の処理は、異なったグリッド・セグメントで同時に実行されるので、ある時 点で1台以上のプロセッサによりそのタスクを実行できるようにすることで、そ の種の処理を大幅に加速することができるマルチプロセッサアレイシステムが開 発されてきた。並列処理は、参考までにここに組み入れられている米国特許第5 ,065,339号;第5,146,543号;第5,146,420号;第5 ,148,515号;第5,546,336号;第5,542.026号;第5 ,612,908号及び第5,577,262号と;ヨーロッパ公告出願第0, 726,529号及び第0,726,532号を含む多数の特許の主題と成って いる。 並列処理アーキテクチャに対する一つの従来のアプローチは、最隣接メッシュ 接続コンピュータであり、それについては、1989年12月刊行のアコースチ ック、スピーチ及びシグナルの処理に関するIEEE会報(IEEE Transactions on Acoustics,Speech an dSignal Processing)の第37巻第12号の2158 〜2174ページに掲載されたR.サイファー(R.Cypher)氏とJ .L.C.サンズ(Sanz)氏著の画像処理用SIMD(単命令/多重データ)ア ーキテクチャとアルゴリズム及びコンピュータ展望(SIMD Architecture and Al gorithms for Image Processing and Computer Vision) と;1980年9月刊 行のコンピュータに関するIEEE会報(IEEE Transactions on Computers)の 第C−29巻第9号の836−840ページに掲載されたK.E.バッチャー( Batcher)氏著の大規模並列プロセッサの設計(Design of a Massively Paralle l Processor) と;1987年ニューヨーク州ニューヨークのジョンワイリ&兄 弟社(John Wiley & Sons)から刊行のL.ウール(L.Uhr)氏著の人工頭脳用 マルチ−コンピュータアーキテクチャ(Multi-Computer Architecture for Arti ficial Intelligence) の第8章97ページとに説明されている。 図1Aの最隣接トーラス(torus)接続コンピュータでは、多数の処理要素(P Es)がそれらの北、南、東及び西の隣接PEsとトーラス接続経路MPを介して接 続されており、また全てのPEsは、同期した単命令/複数データ(SIMD)方 式で作動される。トーラス接続コンピュータは、メッシュ接続コンピュータにラ ップアラウンド(wraparound:ループ状に)接続を付加することで得られるので、 メッシュ接続コンピュータでラップアラウンド接続していないものは、トーラス 接続コンピュータの部分集合として考えられよう。図1Bに示されているように 、各経路MPはT本の送信線とR本の受信線とを有してもよく、又は図1Cに示 されているように、各経路MPは、B本の双方向線を有してもよい。単方向と双 方向の通信は、両方共本発明によって企図されているものであるが、経路におけ る制御信号を除いたバスの総数は、以後一般にk本の線とし、その場合、双方向 バス設計ではk=Bであり、また単方向バス設計ではk=T+Rとなっている。 PEはその隣接したPEsのいずれにもデータを送信できるが、しかし一度に一つ しか送信できないと想定されている。例えば、各PEは、その東隣に一回の通信 サイクルでデータを送信できる。更に、データと命令は、コントローラから全て のPEsに、一つのブロードキャスト・ディスパッチ期間で同時にディスパッチさ れるようにブロードキャスト機構が用意されていると想定されている。 ビット−直列のPE間通信が、配線の繁雑さを最小限に抑えるために一般に採 用されるが、トーラス接続アレイ配線の繁雑さは、それにもかかわらず実装上の 問題を呈している。図1Aの従来のトーラス状に接続されたアレイは、PEsの4 ×4のアレイ10に接続された16個の処理要素を有している。各処理要素PEi,i には、各々その行と列の番号iとjが付標されている。各PEは、点と点の 接続で、その最近の北(N)隣りと、南(S)隣りと、東(E)隣りと、西(W )隣とに通報する。例えば、図1Aに示されているPE0,0とPE3,0との間の接 続は、PE0.0のNインタフェースとPE3,0の南インタフェースの間のラップア ラウンド接続であり、アレイをトーラス構成に形成するラップアラウンド・イン タフェースの一つを表わしている。そのような構成では、各行は、一組のN個の 相互接続部を含んでおり、N個の行に関して、N2の水平方向の接続部が在る。 同様に、各々N個の垂直方向の相互接続部を有したN列に関して、N2の垂直方 向の相互接続部が在る。図1Aの例では、N=4である。ラップアラウンド接続 を有したN×Nのトーラス接続コンピュータの集積回路の実装における金属被覆 線のような線の総数は、従って2kN2となり、その場合、kは各相互接続部に おける線の数である。その数kは、ビットの直列相互接続部のものに等しくなろ う。例えば、図1Aに示すように、4×4のアレイに対するk=1に関しては、 2kN2=32となる。 Nが比較的小さい場合の幾つかの応用に対しては、PEアレイ全体が単一の集 積回路に組み込まれているのが好ましい。本発明は、各PEが、例えば、個別の マイクロプロセッサのチップであるような実装を排除するものではない。トーラ ス接続コンピュータの線の総数は、かなりの数と成るために、相互接続部は、多 くの貴重な集積回路の『不動産(占有地)』、又は占拠チップ面積を使ってしま う。更に、PEの相互接続経路は、互いに非常に頻繁に交差してICレイアウト 処理を複雑にし、またクロストークにより通信ラインにノイズを起こす可能性が ある。更に、PEsをアレイの北と南の端で、また東と西の端で接続するラップア ラウンドリンクの長さは、アレイ寸法の増大と共に長くなる。この長くなった長 さは、各通信ラインの静電容量を増大し、それによってラインの最大伝送ビット 率を低減し、ラインに更にノイズを導入することにな る。 トーラスアレイのもう一つの短所は、転置要素(行と列番号が逆)間での処理 情況において生じる。ある処理要素とその転置要素は、通信経路において一つ以 上の仲介処理要素によって分離されているので、転置要素を使用する動作には待 ち時間が持ち込まれる。例えば、PE2,1が、その転置要素PE1,2からデータを 必要とする場合、そのデータは、仲介処理要素PE1,1又PE2,2を通って移動し なければならない。当然、これにより、例えPE1,1とPE2,2が他の動作状態に より占有されていない場合でも、遅れが生じることになる。しかし、PEsがマイ クロプロセッサ要素として実装されている一般的な場合には、PE1,1とPE2,2 が他の処理を実行することになったり、またPE1,2からPE1,1にデータ又は指 令を転送するために、それらがこれらの処理を通常の方式で保留しなければなら なく成ることは非常に有りそうなことである。従って、PE1,2からPE1,1にデ ータ又は指令を転送開始するにも幾つかの処理を伴なうであろうし、また転置デ ータを転送するためにPE1,1が強制的に保留されていた処理も遅延されること になる。そのような遅延は、PEを仲介する毎に雪だるま式に大きくなり、また 大きな待ち時間が、転置要素対の内、最も離れたものに対して持ち込まれること になる。例えば、図1AのPE2,1/PE1,3の転置要素対は、最小限3個の仲介 PEsを有していて、4つの通信段階の待ち時間を必要とし、また一般的な場合で は、PE3,1とPE1,3の間でデータ転送を行うために全てのそれらのPEsにおい て保留されなけらばならない全ての課題の待ち時間を更に持つことに成ろう。 トーラス状に接続されたアレイのそのような限界を認識すると、アレイに対す る新しいアプローチが、ここに参考までに全体的に組み込まれている米国特許第 5,612,908号と、イタリアのベニスで1993年10月25−27日に 開催された応用特定アレイプロセッサに関する1993年国際会議でのG.G. ペカネック(Pechanek)氏等による大形並列の対角折り畳みアレイプロセッサ( A Massively Parallel Diagonal Fold Array Processor) の140−143ペー ジと、ニューメキシコ州アルバカーキのニューメキシコ大学で1993年11月 4−5日に開催されたVLSI設計に関する第5回NASAシ ンポジュウム議事録のG.G.ペカネック氏等による多重折り畳みクラスタ形プ ロセッサのトーラスアレイ(Multiple Fold Clustered Processor Torus Array に開示されている。これらのトーラスアレイ組織の作動技法は、折り返しエッ ジとして、従来の最近隣接トーラスの対角のPEsを使ってPEsのアレイを折り畳む ことである。図2のアレイ20に示されているように、これらの技法は、PE間 配線を実質的に低減し、ラップアラウンド接続部の数と長さを減じ、PEsをそれ らの転置PEsに極めて接近して位置決めするために採用される。このプロセッサ アレイのアーキテクチャは、例えば、本発明と同じ発明者によって発明され、且 つここに参考までに全体的に組み込まれている米国特許第5,577,262号 と第5,612,908号及びヨーロッパ特許第0,726,532号とヨーロ ッパ特許第0,726,529号に開示されている。そのようなアレイは、例え ば一回折りの対角折りメッシュにおけるPEの組合わせの不規則性によって、従 来のトーラスアーキテクチャより優れた実質的な利益を与えてくれるが、4つの PEsと8つのPEsから成るクラスタが存在している三つ折りの対角折りメッシュに おいて、幾つかのPEは『2つずつ』にクラスタ化され、他は単一となっている 。アレイの全体の形状が三角形であることによって、対角折り式アレイは、効果 的で安価な集積回路の実装に対してかなりの障害となっている。更に、ヨーロッ パ特許第0,726,532号とヨーロッパ特許第0,726,529号におけ るような対角折りメッシュと他の従来のメッシュアーキテクチャでは、相互接続 トポロジーは、本来的にPE定義の一部となっている。これで、トポロジーにお けるPEの位置を定め、結果的に、PEsのトポロジーと、実装される一定の構成 へのそれらの接続性を制限することになる。かくして、プロセッサアレイ・アー キテクチャとプロセッサの相互接続において更に改良する必要がある。 発明の要約 本発明は、従来のトーラス状の処理要素アレイの配線必要条件と比較して、ア レイの相互接続配線の必要条件を実質的に低減する処理要素のアレイに関してい る。好適な実施例では、本発明に係る一つのアレイは、転置要素間での動作の待 ち時間で実質的な低下を達成する。更に、本発明のアレイは、アレイの 全体の大きさからラップアラウンド配線の長さを切り離し、それによって、最も 長い相互接続線の長さを短縮する。更に、通信しているPEs間で何ら衝突を起こ さないアレイ通信パターンのために、1つのPE当たり、ただ一つの送信ポート と一つの受信ポートとが必要とされ、隣同士の接続数とは無関係に、特定のトポ ロジーは、そのPE接続点(ノード)を必要としてもよい。アレイの好適な集積 回路実装は、矩形状又は正方形の輪郭を表す、組み合わされた同じ処理要素クラ スタの組合わせを含んでいる。処理要素の同一性と、処理要素クラスタの同一性 と、アレイの全体の輪郭の規則性は、アレイを特にコスト効果の高い集積回路の 製造に適したものとする。 本発明に従って集積回路を形成するために、処理要素は、単命令多重データ( 『SIMD』)処理の通信必要条件を利用するクラスタへと先ず組み合わされる 。処理要素は、次に、一つのクラスタの要素が、クラスタ内で、またただ二つの 他のクラスタのメンバーと通信するようにグループ化される。更に、各クラスタ の組成処理要素は、ただ2つの互に相容れない方向で他のクラスタの各々の処理 要素と通信する。当然、単方向に通信する能力を有したSIMDトーラスでは、 北/南の方向は、東/西の方向と互に相容れない。処理要素クラスタは、名称が 答えているように、好ましくは相互に物理的に非常に接近して形成されたプロセ ッサのグループである。例えば集積回路の実装では、クラスタの処理要素は、好 ましくは相互にできるだけ接近して、且つ好ましくはアレイにおける他のいずれ の処理要素よりもより互いに接近してレイアウトされるであろう。例えば、処理 要素の従来の4×4トーラスアレイに相当するアレイは、各々4つの要素から成 る4つのクラスタを有し、各クラスタが他の一つクラスタと北と東に向かっての み、またもう別の一つクラスタと南と西に向かってのみ通信するか、又は他の一 つクラスタと南と東に向かってのみ、またもう別の一つクラスタと北と西に向か ってのみ通信する。このようにPEsをクラスタ化することで、PEクラスタ間の 通信経路は、マルチプレクス(多重化)により共有され、かくしてアレイに必要 とされる相互接続配線を実質的に減らすことになろう。 好適な実施例では、クラスタを構成するPEsは、処理要素とそれらの転置 要素とが同じクラスタに存在し、且つクラスタ内の通信経路を介して互いに通信 し、それによって従来のトーラスアレイで実行された転置要素間の処理に関連し た待ち時間を排除するようにしている。更に、従来のラップアラウンド経路は、 PEからPEへのいずれの経路とも同等に扱われるので、最も長い通信経路も、 アレイの全体の大きさとは無関係に、クラスタ間の間隔程度に短くなるであろう 。本発明によれば、N×Mのトーラスは、N個のPEsから成るM個のクラスタの アレイに、又はM個のPEsから成るN個のクラスタのアレイに変換されてもよい 。 本発明のこれらの、また他の特長、局面及び長所は、添付図面も考慮して、次 の詳細な説明から当業者に明らかになるであろう。 図面の簡単な説明 図1Aは、従来技術の4×4の最近の隣りと接続したトーラス状の処理要素( PE)アレイのブロック図である。 図1Bは、どのように図1Aの従来技術のトーラス接続経路がT本の送信とR 本の受信の線を有しているかを示す図である。 図1Cは、どのように図1Aの従来技術のトーラス接続経路がB本の双方向線 を有しているかを図解する図である。 図2は、従来技術の対角に折られたメッシュのブロック図である。 図3Aは、本発明のPEアレイ内に適当に採用される処理要素のブロック図で ある。 図3Bは、本発明のPEアレイ内で適当に採用される代替処理要素のブロック 図である。 図4は、全てのトーラスのPE間通信リンクを示している4×4のトーラスの タイル貼り状配列を示す図である。 図5A乃至図5Gは、本発明に係るクラスタのグループ化のためのPEsの選定 を示している4×4のトーラスのタイル貼り状配列を示す図である。 図6は、クラスタ用のPEsの代替のグループ化を示している4×4のトーラス のタイル貼り状配列を示す図である。 図7は、PEクラスタ用PEの選定を示している3×3のトーラスのタイル 貼り状配列を示す図である。 図8は、PEクラスタ用PEsの選定を示している3×5のトーラスタイル貼り 状配列を示す図である。 図9は、PEクラスタ用PEsの選定の代替の斜方形/円筒状アプローチを示し ているブロック図である。 図10は、新しいPEクラスタのクラスタ間通信経路を示しているブロック図 である。 図11Aと図11Bは、PEクラスタの選定への代替の斜方形/円筒状アプロ ーチを示す図である。 図12は、5×4のPEアレイ用の斜方形/円筒状PE選定プロセスを示して いるブロック図である。 図13は、4×5のPEアレイ用の斜方形/円筒状PE選定プロセスを示して いるブロック図である。 図14は、5×5のPEアレイ用の斜方形/円筒状PE選定プロセスを示して いるブロック図である。 図15A乃至15Dは、6個のPEアレイによる3、4、5及び6個のクラス タのクラスタ間通信経路を各々示しているブロック図である。 図16は、4個の4−メンバークラスタのアレイ内における東/南通信経路を 示しているブロック図である。 図17は、4個の4−メンバークラスタのアレイ内における東/南及び西/北 の通信を示しているブロック図である。 図18は、クラスタスイッチと、図示されたクラスタに対するそのインタフエ ースとをより詳細に示し、図17の実施例のクラスタの内の一つを示しているブ ロック図である。 図19Aと19Bは、本発明の新しいアレイプロセッサで有利に実施される例 示上のコンボルージョンに採用されたコンボルージョン窓とコンボルージョン経 路とを各々示す図である。 図19Cと19Dは、4×4個のブロック内の画像の一部分と、従来のトーラ ス位置にロードされたブロックとを各々示しているブロック図である。そし て 図20A乃至24Bは、各コンボルージョン処理工程の終わりで、本発明に係 るマニホールドアレイの状態を示しているブロック図である。 詳細な説明 本実施例では、本発明に係る新しいアレイプロセッサは、1つのクラスタの要 素がただ2つの他のクラスタのメンバーと通信し、且つ各クラスタの構成処理要 素がただ2つの互いに相容れない方向で、他のクラスタの各々の処理要素と通信 するように、PEsをクラスタ又はグループで結合している。このようにPEsをクラ スタ化することで、PEのクラスタ間での通信経路が共有され、かくしてアレイ に必要とされる相互接続配線を実質的に減らすことができる。更に、各PEは、 単一の送信ポートと単一の受信ポートとを有することができるか、又は双方向の シーケンシャル、又は時間スライスした送信/受信の通信を実行する場合に、個 々のPEはアレイのトポロジーから分断される。即ち、各PEが各方向への通信 に1つずつの4つの双方向通信ポートを有している従来のトーラス接続アレイと は違って、新しいアレイアーキテクチャによって採用されたPEは、ただ一つの ポートを持つ必要があるだけである。単一の送信ポートと単一の受信ポートを使 用したこの例では、アレイの全てのPEsは、同時に送受信することができる。従 来のトーラスでは、このためには、1つのPE当たり、4つの送信ポートと4つ の受信ポートを、合計で8つのポートを必要とする。これに対し本発明では、P E当り1つの送信ポートと1つの受信ポートが、合計で2つのポートが必要とさ れる。 好適な本実施例では、クラスタを構成するPEsは、処理要素とそれらの転置要 素とは同じクラスタに位置決めされて、クラスタ内通信経路を通して互いに通信 するように選定されている。説明の都合上、処理要素はそれらが従来のトーラス アレイで見受けられるように呼ばれ、例えば、処理要素PE0,0は、従来のトー ラスアレイの『北西』の角に見受けられる処理要素となっている。結果的に、新 しいクラスタアレイのレイアウトは、従来のアレイプロセッサのものとは実質的 に異なってはいるが、同じデータは、従来のトーラスと新しいクラスタのアレイ の対応した処理要素に送られるであろう。例えば、新しいクラ スタアレイのPE0,0要素は、従来のトーラス接続アレイのPE0,0要素と同じ処 理上のデータを受信するであろう。更に、この説明で参照されている方向は、ト ーラス接続アレイの方向に関係している。例えば、処理要素間の通信が北から南 に行われていると言われた場合、それらの方向は、従来のトーラス接続アレイ内 での通信方向を参照している。 PEsは、特定の用途のために作成された簡単な構造の単一マイクロプロセッサ のチップとすることができる。次の説明に限定はされるものではないが、基本的 なPEについて、関連した構想を実証するために説明する。図3Aには、本発明 の新しいPEアレイの各PEに対して使用される一つの適当な実施例を図解して いるPE30の基本構造が示されている。図解を簡略化するために、インタフェ ースロジックとバッファは図示されていない。ブロードキャスト命令のバス31 は、SIMDコントローラ29からディスパッチされた命令を受け取るように接 続されており、またデータバス32は、メモリ33又はPE30の外部の別のデ ータ源からデータを受け取るように接続されている。レジスタファイル記憶媒体 34は、ソースオペランドデータを実行ユニット36に与える。命令デコーダ/ コントローラ38は、ブロードキャスト命令バス31を介して命令を受け取り、 レジスタファイル34内部のレジスタに制御信号21を与えるように接続されて おり、レジスタファイル34は、次にそれらの内容を経路22を経由してオペラ ンドとして実行ユニット36に与える。実行ユニット36は、命令デコーダ/コ ントローラ38から制御信号23を受け取り、経路24を経由してレジスタファ イル34に結果を与える。命令デコーダ/コントローラ38は、更に、クラスタ スイッチ使用可能化信号を、出力時に、スイッチ使用可能化(Switch Enable) と付標されたライン39に与える。クラスタスイッチの機能は、図18の説明と 関連して以下により詳細に説明する。データや指令のPE間通信は、受信(Rece ive)と付標された受信入力部37で受信され、送信(Send)と付標された送信 出力部35から送信される。 図3Bは、命令デコーダ/コントローラ38から受信された制御信号25に基 づいてデータフォーマット処理を行うインタフェース制御ユニット50を有した 代替のPE表示手段30’を示している。このデータフォーマット処理は 、各種の標準やインタフェース必要条件に合わせるために、例えば、並列から直 列への変換と直列から並列への変換や、データのコード化、データフォーマット 変換を有することができる。 図3Aに示されたPE30と同じタイプのPEsの従来の4×4の最隣接トーラ スが、図4において自ずからのタイル貼り状態で囲まれて示されている。中央部 の4×4のトーラス40は、そのトーラスのラップアラウンド接続を含んだリン グ42によって囲まれている。図4のタイル貼り状態は、ラップアラウンド接続 を『平坦化』し、それによって、本発明の一実施例のアレイに使用される好適な クラスタ形成プロセスを説明する手助けのために使われる説明の補助となってい る。例えば、ブロック42内部に示されているように、PE0,0から西へのラッ プアラウンド接続は、PE0,3となっており、PE1,3から東への接続はPE1,0 となっている等である。この図の利便性は、図5A−5Gについての以下の説明 と関連してより明らかになるであろう。 図5Aでは、基本的な4×4のPEトーラスは、もう一度、自らのタイル貼り 状態によって囲まれている。本発明では、PE0,0から東と南への通信にはPE0 ,1 とPE1,0を各々取り込むことになるのが分かる。更に、PE1,0へ東に向かっ て通信するPEは、PE1,3であり、またPE1,3は南に向かってPE2,3へ通信 する。従って、4つのPEのPE0,0、PE1,3、PE2,2及びPE3,1を一つのク ラスタに結合することでクラスタ44を形成し、そのクラスタ44からPEsは、 PE0,1、PE1,0、PE2,1及びPE3,2のPEsを含んだもう一つ別のクラスタ4 6と南と東に向かってのみ通信する。同様に、クラスタ46のPEsは、PE0,2、 PE1,1、PE2,0及びPE3,3のPEsを含んだクラスタ48のPEsと南と東に向か って通信する。クラスタ50のPE0,3、PE1,2、PE2,1及びPE3,0のPEsは 、クラスタ44と南と東に向かって通信する。この組合わせで、ただ2つの他の クラスタのPEsと通信し、且つそれらのクラスタに互いに相容れない方向で通信 するPEsのクラスタを作ることになる。即ち、例えば、クラスタ48のPEsは、ク ラスタ50のPEsと南と東に向かってのみ通信すると共に、クラスタ46のPEsと 北と西に向かってのみ通信する。この例のPEsのグループ化により、本発明に係 るアレイ内部でのPE間接続を、従来の 最隣接トーラスアレイの必要条件と比較して実質的に減らせることができる。 多くの他の組合わせも可能である。例えば、再度、PE0,0で開始して、北と 東への通信に関連してPEsをグループ化することで、図5Bのクラスタ52、5 4、56、58を作る。これらクラスタは、PEアレイの相互接続の必要性を大 幅に低減し、且つ最長のPE間の接続の長さを短縮するように組み合わされる。 しかし、これらクラスタは、図5Aのクラスタ44−50が行っているようにPE sとそれらの転置要素とを組み合わせてはいない。即ち、転置対のPE0,2/PE2,0 とPE1,3/PE3,1とがクラスタ56に含まれているが、転置対のPE0,1/ PE1,0はクラスタ54と58の間で分割されている。現在のところ好適な実施 例に係るアレイは、クラスタ内の全てのPEsを、それらの転置要素と組み合わせ た44−50のようなクラスタのみを採用している。例えば、図5Aでは、PE3,1 /PE1,3の転置対はクラスタ44内に含まれており、PE3,2、PE2,3及び PE1,0/PE0,1の転置対はクラスタ46内に含まれており、PE0,2/PE2,0 の転置対はクラスタ48内に含まれており、またPE3,0/PE0,3及びPE2,1 /PE1,2の転置対はクラスタ50内に含まれている。図5Cのクラスタ60、 62、64、68は、PE0,0で開始して、北と西に通信するPEsを組み合わせる ことで形成される。クラスタ60は、クラスタ44と同等であり、クラスタ62 はクラスタ46と同等であり、クラスタ64はクラスタ48と同等であり、クラ スタ68はクラスタ50と同等であることに注目すべきである。同様に、南と西 に通信するPEsを組み合わせることで形成される図5Dのクラスタ70−76は 、図5Bのクラスタ52−58に各々同等となっている。図5Eで示されるよう に、クラスタ45、47、49、51は、好適なクラスタ48、50、44、4 6と同等であるが、南と東に通信するPEsを組み合わせることでトーラス40内 に、いずれの『開始点』からも得られよう。 もう一つ別のクラスタ化が、図5Fに描かれており、そこでは、クラスタ61 、63、65、67は、トーラス40のタイル貼り形状に十字形パターンを形成 している。このクラスタ化は、互いに相容れない方向で2つの他のクラスタと通 信するクラスタを作るためにPEsをグループ化する幾つかの方法があ ることを実証している。即ち、クラスタ65のPE0,0とPE2,2は、クラスタ6 1のPE0,1及びPE2,3と東に向かって各々通信している。更に、クラスタ65 のPE1,1とPE3,3は、クラスタ61のPE1,0とPE3,2と西に向かって各々通 信している。以下により詳細に説明されているように、いま説明した東の方への 通信経路は、即ちPE0,0とPE0,1の間及びPE2,2とPE2,3の間の経路と他の クラスタ間の経路とは、例えば多重化により、互いに相容れないクラスタ間通信 経路と組み合わされてもよく、これによりPE間通信のために必要とされる相互 接続線の数を半分に減らすことができる。図5Fのクラスタ化は、更にクラスタ 内部で転置要素もグループ化している。 新しいアレイの大規模化の一態様が、図5Gによって示されており、そこでは 4×8のトーラスアレイが、2つの4×4アレイ40A、40Bとして描かれて いる。4×8のトーラスアレイから、8つの4−PEクラスタを作るために、こ の点に対して説明してきた技法を使うことができよう。更に、4×8トーラスを 2つの4×4トーラスに分割し、且つ各クラスタをクラスタ内に、即ちクラスタ 44Aと44Bに、また46Aと46B等に組み合わせることで、例えば、8つ の4−PEクラスタ構成に含まれた4×4サブクラスタの全ての接続性と転置関 係を備えた4つの8−PEクラスタが得られる。このクラスタの組み合わせアプ ローチは、一般的であり、また他の規模化も可能である。 好適でしかし唯一のものではないが、クラスタ化のプロセスについても以下に 説明する。i=0、1、2、・・・N−1で且つj=0、1、2、・・・N−1 の場合に、N×Nの基本的トーラスPEi,jが与えられれば、好適な南−と東− 通信クラスタは、PEi,j、PE(i+1)(ModN)(j+N-1)(ModN)、PE(i+2)(ModN)(j+N-2)(ModN)、…・PE(i+N-1)(ModN)(j+N-(N-1))(ModN)をグループ化す ることで形成されよう。この公式は、N個のPEsから成るN個のクラスタを有し たN×Nのトーラスアレイに対して書き直しされ、そこでクラスタのグループ化 は、iとjを選択し、次いで公式:いずれのi,jに対しても、また全てのa∈ {0、1、、N−1}に対してPE(i+a)(ModN),(j+N-a)(ModN)となる。 図6は、PE1,3で始まり、南と東に通信するPEsを組み合わせているクラスタ 44乃至50の形成を示している。実際には、クラスタ44乃至50は、 新しいアレイの4×4トーラス同等物の好適な実施例のクラスタであるが、開始 点として基本のN×Nトーラス40内の何のPEが使用されるかには無関係に、 南と東に通信するPEsを組み合わせることで得られる。図7と8は、3×3と3 ×5のトーラスを各々使っているアプローチの付加的な例を示している。 クラスタ構築プロセスを考察するもう一つ別の同等の方法が図9に示されてい る。これと、後続の似たような図では、ラップアラウンド線は簡明化のために図 から省いてある。従来の4×4トーラスは、各行の左側へのシフトによって図示 されているように、斜方形に先ず捩られている。このシフトは、斜方形の『垂直 スライス』において転置PEsをグループ化する働きをする。同じ大きさのクラス タを造るために、斜方形は、基本的に円筒に形成される。即ち、一番左か又は一 番西の垂直方向のスライス80は、その行の一番東のPE0,3と境界を接するよ うに囲って包まれている。スライス80の東側の垂直方向スライス82は、PE0,0 及びPE1,3と境界を接するように囲って包まれ、また次の東側の垂直方向ス ライス84は、PE0,1とPE1,0及びPE2,3と境界を接するように囲って包ま れている。明瞭にするために、全ての接続は示されていないが、全ての接続は元 の4×4トーラスの場合と同じ状態となっている。結果的にできた垂直方向スラ イスは、図5Aに示された好適な実施例44乃至50のクラスタを造り出し、同 じクラスタが図5Aと図6に関連した説明で図解された方式で造られることにな る。図10では、図9の斜方形/円筒化プロセスで造られたクラスタは、クラス タ間の接続を明らかにする図解目的のために『剥き開いてある』。例えば、クラ スタ44からクラスタ46への全てのPE間接続は、クラスタ46からクラスタ 48へのものや、クラスタ48からクラスタ50へのもの、クラスタ50からク ラスタ44のもののように南と東とに向いている。クラスタ間通信のこの共通性 は、SIMDプロセスにおけるPE間通信の性質と組み合わせて、PE間接続の 数を大幅に減らせるようする。以下に、図16と17に関連してより詳細に説明 するように、互いに相容ない通信、例えばクラスタ44からクラスタ46への南 と東へ向かった通信は、クラスタ間に通っている共通した一組の相互接続線に対 して多重化して使用される。結果 的に、以下で『マニホールドアレイ(manifold array)』と称される新しいアレ イのPE間接続配線は、従来の最隣接トーラスアレイに関連した相互接続線の数 を約半分に減らすことができる。 マニホールドアレイを造るために使用されるクラスタ形成プロセスは、対称と 成っていて、垂直方向にシフトされたトーラスの水平方向スライスを取ることで 形成されたクラスタは、水平方向にシフトされたトーラスの垂直方向のスライス を取って形成されたクラスタと同じである。図11Aと図11Bは、斜方形/円 筒化技法が、更に、垂直方向にシフトされたトーラスの水平方向スライスから好 適なクラスタを造るのにも採用されると言う事実を示している。図11Aでは、 従来の4×4トーラスアレイの列は、斜方形を造るために垂直方向にシフトされ ており、また図11Bでは、その斜方形は円筒内に包まれている。結果的に生じ た円筒の水平方向スライスは、好適なクラスタ44乃至50を与えてくれる。こ の点に対して図解されたいずれの技法も、従来のトーラスアレイと同等のPE間 接続性を与えてくれるマニホールド・アレイのクラスタを作り、実質的にPE間 配線の必要条件を減らすために採用される。 要約で注目したように、上記のクラスタ化プロセスは一般的であり、各々N× Mのトーラスアレイから、N個のPEsを含んだM個のクラスタから成るマニホー ルドアレイを造るのに採用される。例えば、5×4のトーラスアレイ同等物のた めに、5つのPEsから成る4つのクラスタを作る斜方形/円筒化アプローチが図 12に示されている。新しいPEクラスタ、例えばPE4,0、PE3,1、PE2,2 、PE1,3及びPE0.0を形成する垂直方向スライスは、以前に図示した4×4ア レイの転置クラスタ化関係を維持している。同様に、図13の線図に示されてい るように、4×5トーラスは、各々4×4トーラスで得られたものからほんの僅 か変更された転置関係で、4つのPEsから成る5つのクラスタを作り出す。実際 には、転置PEsは、4×4のクラスタ化されたアレイに関するものよりはほんの 僅かに異なった配列で共に依然クラスタ化されている。例えば転置対のPE1,0 /PE0,1とPE2,3/PE3,2は、好適な4×4マニホールドアレイ内部で同じ クラスタにグループ化されていたが、しかし、それらは、依然として対を成して いるのが見受けられるが、しかし、図13の4×5マ ニホールドアレイでは別々のクラスタにグループ化されている。図14のクラス タ選定図に示されているように、奇数アレイには奇数で、対角のPEsのPEi,j( i=jの場合)は、クラスタ当り一つだけ分配されている。 図15A乃至図15Dのブロック図は、新しいマニホールドアレイのクラスタ 間接続を示している。説明を簡略化するために、以下の説明では、特に述べられ ていない限り、単方向接続経路が採用されている。とはいえ、明瞭化のために、 本発明は、個々の線によって表された並列な相互接続経路や又はバスで説明して ある。ビット−直列通信、別言すれば単一ラインを有したバスも本発明が企図す るものである。バスマルチプレクサか、又はバススイッチが使用されている場合 、マルチプレクサ及び/若しくはスイッチは、バスにおけるライン数に対応して 複製されている。更に、PEsの適当なネットワーク接続どマイクロプロセッサチ ップの実装に関しては、新しいアレイが、ここに参考までに組み込まれているP .M.コゲ(Kogge)氏による「動的なマルチモードの並列プロセッサアレイア ーキテクチャ(Dynamic Multi-Mode Parallel Processor Array Architecture) の名称となっている米国特許第5,475,856号に説明されているようにM IMD、SIMD及びSISDのモードの間で動的切り換えられるようにするシ ステムと共に採用されている。 図15Aでは、クラスタ80、82、84は、クラスタスイッチ86とクラス タ間リンク88を介して互いに接続された3つのPEクラスタとなっている。特 定のトポロジーを造るためにどのようにマニホールドアレイPEsが互いに接続す るのかを理解するために、PEからの接続図は、単一のPEの接続図からPEsの クラスタのメンバーとしてのPEの接続図に変更されなければならない。SIM Dの単方向通信環境で作動するマニホールドアレイに対して、どのPEも、その PEと従来のトーラスにおけるPEsの内のその直接取り付けられたいずれの隣り との間の接続数に無関係に、ただ1つの送信ポートと1つの受信ポートとを必要 としている。一般に、通信しているPEs間に何ら衝突を起こさないアレイ通信パ ターンに対して、ただ1つの送信と1つの受信のポートが、特定トポロジーが、 そのPEsについて必要とする隣りへの接続数から独立して、PE当り必要とされ ている。 各々4つのPEsから成る4つのクラスタ44乃至50は、図15Bのアレイに 組み合わされている。クラスタスイッチ86と通信経路88とは、以下に図16 、17及び18の説明でより詳細に説明されているようにクラスタを接続してい る。同様に、各々5つのPEsから成る5つのクラスタ90乃至98は、図15C のアレイに組み合わされている。実際には、クラスタ90乃至98は、集積回路 のレイアウトを容易にし、且つ最長のクラスタ間接続の長さを短縮するように適 切に設置されている。図15Dは、各々6つのPEsを有した6つのクラスタ99 、100、101、102、104、106から成るマニホールドアレイを示し ている。新しいマニホールドアレイの通信経路86は、クラスタ間に存在してい るので、従来のトーラスアレイのラップアラウンド接続上の問題は排除されてい る。即ち、どんなにアレイが大きくなろうとも、何ら相互接続経路は、接続経路 88によって示されている基本的なクラスタ間空間よりも長くなる必要はない。 これは、全体のアレイに及ばなければならない従来のトーラスアレイのラップア ラウンド接続とは対照的になっている。 図16のブロック図は、4つのクラスタで、16個のPEのマニホールドアレ イの好適な実施例をより詳細に示している。クラスタ44から50は、多くは集 積回路レイアウトとなるように、矩形状又は正方形状に配列されている。接続経 路88とクラスタスイッチとは、この図により詳細に示されている。南と東への 接続は、PEs間の接続ライン数を減らすために、クラスタスイッチ86を介して 多重化されている。例えば、PE1,2とPE2,2との間の南方向の接続は、PE2, 1 らPE2,2への東方向の接続のように、接続経路110を介して行われる。上記 で分かるように、接続経路110のような各接続経路は、ビット−直列経路で、 結果的に、単一の金属被覆ラインによって集積回路実装で行われる。更に、接続 経路は、各々の制御ラインの存在が明らかにされた時にのみ使用が可能化される 。これら制御ラインは、図3Aに示された各PE3,0の命令デコーダ/コントロ ーラ38によって発生される。代わりに、これら制御ラインは、各クラスタスイ ッチに含まれている独立した命令デコーダ/コントローラによっても発生されて もよい。スイッチ当り多くのPEsが存在しているので、各PEによって発生され た多くのエネーブル信号が比較され、何らエラー が生じないように、また全てのPEsが同期して動作するために、それらが同じ値 を持つかどうか調べられる。即ち、北方向にはN、南方向にはS、東方向にはE 、西方向にはWと各注記された方向経路に組み合わされた制御ラインが設けられ ている。これらライン上の信号は、マルチプレクサが関連データ経路上のデータ を接続されたPEに該マルチプレクサを介して通せるようにするものである。こ の制御信号の存在が確認されない時には、関連データ経路はエネーブルにされず 、データはそれら経路に沿ってマルチプレクサを介して転送されない。 図17のブロック図は、4つのクラスタ44から50をリンクする相互接続経 路88とスイッチクラスタ86をより詳細に示している。この図では、西と北方 向の接続は、図16に示されている東と南方向の接続に加えられる。この図では 、各処理要素は2つの入力ポートと2つの出力ポートを持って示されているが、 好適な実施例では、クラスタスイッチ内で多重化して使用するもう一つ別の層は 、各PEの通信ポートを、入力に1つと、出力に1つとに減らすことになる。P E当り4つの隣接送信接続を有し、且つ単方向通信を行う、即ちPE当りただ1 つの送信方向を使用可能化する標準的なトーラスでは、各PE当り必要とされる 4つのマルチプレクサ、又はゲート制御される回路の送信経路が設けられている 。このゲート制御される回路は、好適には、マルチプレクサと、ANDゲートと 、エネーブルとディスエネーブルの制御信号を伴った3ステート隣接ドライバ/ レシーバと、他のその種のインタフェース・エネーブル/ディスエネーブル回路 とを有することができる。これは、PEの一部として規定された相互接続トポロ ジーによるものである。この成果は、標準トーラスには4N2個の多くの送信経 路が存在していることである。マニホールドアレイでは、同等の接続性と無制限 の通信を伴いつつも、ただ2N2個の多重化された、又はゲート制御される回路 の送信経路が必要とされるだけである。この2N2個の送信経路への削減により 、マルチプレクサと2N2個の送信経路とによって使われる面積が4N2個の送信 経路によって浪費されるものよりも大幅に少なくなるので、集積回路の面積を大 幅に節減することになる。 完全なクラスタスイッチ86は、図18のブロック図により詳細に示されて いる。北、南、東及び西方向の出力部は、既に図示されている通りである。もう 一つ別の多重化層部112が、クラスタスイッチ86に付加されている。この多 重化層112は、Aが付標された東/南方向の受信と、Bが付標された北/西方 向の受信との間の選定を行い、それによって、各PEの通信ポートの必要条件を 1つの受信ポートと1つの送りポートに減らしている。更に、転置PEsのPE1,3 とPE3,1の間の多重化接続が、Tの付標されたクラスタ間の転置接続を介して 行われる。特定のマルチプレクサ用のTマルチプレクサエネーブル信号が出力さ れると、転置PEからの通信が、そのマルチプレクサに関連したPEで受信され る。好適な実施例では、全てのクラスタは、PEとその転置PEとの間のような 転置経路を含んでいる。これらの図は、全体の接続組織を示しており、どのよう に多層集積回路の実装が、デザイン選択のおきまり事項として一般に行われるお きまりのアレイ相互接続の全部を達成するかを示めそうとするものではない。い ずれの集積回路レイアウトに関しても、IC設計者は、本発明に係るアレイの実 際のIC実装をレイアウトするプロセスにおいて、各種の同時に満たすことので きない条件取捨の考慮について分析するであろう。例えば、クラスタスイッチは 、多数のインタフェースの配線長さを短縮するためにPEクラスタ内に分布され るかもしれない。 トーラスアレイの通信能力と、マニホールドアレイについて画像処理アルゴリ ズムを実行する能力に対する同等性を実証するために、図19Aの3×3の窓を 使用した簡単な二次元のコンボルージョンについて以下に説明する。トーラス機 構のコンボルージョンに対するリーと(Lee)アガーワル(Aggarwal)のアルゴ リズムが使われる。1987年7月に刊行されたパター分析と機械知能に関する IEEE会報(IEEE Transactions on Patter Analysis and Machine Array Pro cessor)のPAMI−9巻の第4の590−594ページのS.Y.リー氏とJ .K.アガーワル氏の著作によるメッシュ状に接続されたアレイプロセッサの並 列二次元コンボルージョン(Parallel 2D Convolution on a Mesh Connected Ar ray Processor) を見ること。図3Aの基本のPE30の内部構造は、これらPEs 内の16個で4×4のマニホールドアレイについて実行されるようなコンボルー ジョンを実証するために使用される。この例の目 的のために、命令デコーダ/コントローラも、クラスタスイッチにマルチプレク サのエネーブル信号を与える。スイッチ当り多くのPEsが在るために、多くのエ ネーブル信号が、確実に何らエラーが生じず、且つ全てのPEsが同期して作動す るようにするために等しいかが比較される。 コンボルージョン用のS.Y.リー氏とJ.K.アガーワル氏のアルゴリズム に基づいて、マニホールドアレイは、望ましくは画像の大きさ、例えばN×Nの 画像に対してはN×Nのアレイとなろう。実装の結果によって、アレイは、大き なNに対してN×Nよりも小さいものと想定されなければならない。アレイの大 きさがC×Cと想定すると、画像処理は、コンボルージョン窓の大きさによって 必要とされる画像ブロックの重なりを考慮しながら、複数のC×Cのブロックに 区分される。N×Nの画像のエッジ効果を取り扱うために各種の技法が使用され る。例えば、(N+1)×(N+1)のアレイを効果的に発生する画素複製が使 用される。必要とされる処理を簡便にするために、ある応用の具体例において、 非常に小さなPEが定義され得ることに注目される。結果的に、多数のPEsが、 チップ上のマニホールドアレイの組織に設置されようが、それによって大きな画 像寸法に対するコンボルージョンの計算の効率を改善できるであろう。 コンボルージョン・アルゴリズムは、北/東/南/西方向の最隣接通信処理の 為に、トーラスアレイへのマニホールドアレイの組織化に機能的に同等であるこ とを実証する簡単な手段を提供する。結果的に、その例はアルゴリズムの通信態 様に焦点を合わせることになり、説明を簡略化するために、非常に小さい4×4 の画像寸法が4×4のマニホールドアレイに使用される。各々の前の4×4のブ ロックが完了した後、そのアレイに新しい4×4の画像セグメントをロードする ことによって、より大きなN×Nの画像が取り扱われる。4×4のアレイに対し ては、何らラップアラウンドが使われず、またエッジに対しては、PEs0が、物 理的実装には存在していない仮想のPEsから受け取られる。画素から成る1つの 4×4のブロックに対する処理は、この処理例に含まれることに成る。 コンボルージョンの一例が開始されるために、PEsは、図3Aのコントロ ーラ29のようなSIMDコントローラによって既に初期化されており、且つ画 素から成る最初の4×4ブロックは、各PEのレジスタR1にデータバスを介し てロードされているものと想定している。図19Cは、アレイ内にロードされる 4×4ブロックを有した画像の一部分を示している。図19Dは、このブロック が4×4のトーラス論理的位置にロードされているのを示している。更に、各P Eの累算合計レジスタR0は、零に初期化されていると想定している。このアル ゴリズムにとって取るに足らないが、R2も零に初期化されているように示され ている。コンボルージョン窓要素は、アルゴリズムの各段階で一度に一つづつブ ロードキャストされる。これら窓要素は、レジスタR2内に受信される。窓要素 をブロードキャストする以前の機械の初期状態は、図20Aに示されている。全 てのPEに対する3×3の隣接要素の重み付けされた画素値の合計を計算する段 階が、後に続く。 このアルゴリズムは、全てのPEsへの最初の窓要素W00の伝達(ブロードキ ャスト)で開始する。これが一旦各PEに受信されると、PEsは、第1のR0= R0+R2×R1又はR0=R0+W×Pを計算する。その計算の結果は、次に 、図19Bの選択されたコンボルージョン経路に従って最隣接PEに通信される 。説明を簡便化するために、説明される各処理段階は、コントローラからディス パッチされた命令によって各々制御される3つのサブ段階に:ブロードキャスト 窓要素段と、演算段と、通信段に区分される。この簡略化されたアプローチに対 する改良は、主要段2で開始して、窓要素ブロードキャスト段を結果段の通信と 重ねる等して展開される点に注目される。これらの点は、この説明の目的にとっ て必須ではなく、当業者によって認識されるであろう。上付き文字は、処理が進 むにつれて合計段の値を表すために使用される。計算された値の通信をフォロー する手助けとして、付標の下付き文字は、値が発生された源泉PEを示している 。画素{i、j}のコンボルージョン経路は、図19Bに示されている。図20 乃至図24は、各演算段の後のマニホールドアレイの状態を示している。 図20Bでは、W00が、PEsにブロードキャストされ、各PEが、R01=0 +W00×R1を計算して、R01を南方向のPEに通信し、そこで受信 されたR01の値が、PEsのレジスタR0に記憶される。 図21Aでは、W10が、PEsにブロードキャストされ、各PEが、R02=R 01+W10×R1を計算してR02を南方向のPEに通信し、そこで受信された R02の値が、PEsのレジスタR0に記憶される。 図21Bでは、W20が、PEsにブロードキャストされ、各PEが、R03=R 02+W20×R1を計算してR03を東方向のPEに通信し、そこで受信された R03の値が、PEsのレジスタR0に記憶される。 図22Aでは、W21が、PEsにブロードキャストされ、各PEが、R04=R 03+W21×R1を計算してR04を東方向のPEに通信し、そこで受信された R04の値が、PEsのレジスタR0に記憶される。 図22Bでは、W22が、PEsにブロードキャストされ、各PEが、R05=R 04+W22×R1を計算してR05を北方向のPEに通信し、そこで受信された R05の値が、PEsのレジスタR0に記憶される。 図23Aでは、W12が、PEsにブロードキャストされ、各PEが、R06=R 05+W12×R1を計算してR06を北方向のPEに通信し、そこで受信された R06の値が、PEsのレジスタR0に記憶される。 図23Bでは、W02が、PEsにブロードキャストされ、各PEが、R07=R 06+W02×R1を計算してR07を西方向のPEに通信し、そこで受信された R07の値が、PEsのレジスタR0に記憶される。 図24Aでは、W01が、PEsにブロードキャストされ、各PEが、R08=R 07+W01×R1を計算してR08を南方向のPEに通信し、そこで受信された R08の値が、PEsのレジスタR0に記憶される。 図24Bでは、W11が、PEsにブロードキャストされ、各PEはR09=R08 +W11×R1を計算して終了する。 上記の9つの段階の終わりで、各PEi,jは、(図19Bを参照して): Ci,j=W00Pi-1,j-1+W10Pi,j-1+W20Pi+1,j-1+W21Pi+1,j+W22Pi+1,j+1+W12Pi,j+1 +W02Pj-1,j+1+W01Pi-1,j+W11Pi+j 例えば、i=5、j=6に対して、C5,6=W00P4,5+W10P5,5+W20P6,5+W21P6,6+W 22P6,6+W22P6,7+W12P5,7+W02P4,7+W01P4,6+W11P5,6 この例の完了時に、もし処理上の仮定が与えられれば、4つの有効なコンボル ージョン値が計算される、即ちPEs{(1,1)、(1,2)、(2,1)、 (2,2)}におけるものが計算される点に注目される。これは、以前に説明し たように、エッジ効果によるものである。このアルゴリズムに必要どされるPE の簡単な性質によって、多数のPEsがチップの上に組み込まれ、それによって大 きな画像寸法に対するコンボルージョン計算の効率を大幅に高める。 上記例では、マニホールドアレイが、標準的なトーラスの4つの北、東、南、 西方向の通信方向に対してその通信能力で同等であり、また標準的なトーラスの 配線費用のほんの半分しか必要としないことを実証している。もし、整然とした 接続パターンと最短線長さと最小コストで実行される転置PEs間での通信を行う マニホールドアレイ能力が与えられれば、マニホールドアレイは、標準的なトー ラスを越えた付加能力を与えてくれる。マニホールドアレイの組織は、依然とし て転置要素間の通信と隣接要素間の通信の通信能力を与えつつも、PEsの同じ大 きさのクラスタから造られているのでより整然としているために、従来技術の標 準的な対角折りのトーラスに対して優れた設計を表している。 本発明の特定実施例の上記説明は、図解と説明の目的のために与えられたもの である。それは、本発明に網羅的であったり、又は開示された形式そのものに限 定しようとするものではなく、また多くの改造例や変形例も上記教示内で可能で ある。本発明の原理とその実際の応用とを最も良く説明し、それによって他の当 業者が本発明を最もよく利用できるようにするために、上記実施例が選択され且 つ説明してきた。本発明の技術的範囲は、これに添付された請求の範囲によって のみ制限されるものとなっている。
───────────────────────────────────────────────────── 【要約の続き】 理の待ち時間は、このアプローチにおいて排除される。 更に、各PEは、単一の送信ポートと単一の受信ポート とを有することができる。その結果、個々のPEsはアレ イのトポロジーから分離されることになる。

Claims (1)

  1. 【特許請求の範囲】 (1)各々がデータ及び指令を送信し且つ受信するための通信ポートを有した複 数の処理要素(PEs)のための相互接続システムであって、 PE間接続経路と、 互いに相容れないPE間接続経路を組み合わせ、それによって、従来のトーラ ス状に接続されたPEアレイのものと同等なPE間接続性を与えるのに必要とさ れる通信経路の数を実質的に減らすように前記PEsに接続されたクラスタスイッ チと、 を有することを特徴とする相互接続システム。 (2)前記クラスタスイッチは更に、転置PEs間で直接通信を行う接続部を具備 することを特徴とする請求項1に記載の相互接続システム。 (3)前記データ及び指令は、 a)前記通信ポートを介して西側のPEからデータを受信している間に、前記 通信ポートを介してデータを東側のPEに送信するための東送信/西受信モード と、 b)前記通信ポートを介して南側PEからデータを受信している間に、前記通 信ポートを介してデータを北側PEに送信するための北送信/南受信モードと、 c)前記通信ポートを介して北側PEからデータを受信している間に、前記通 信ポートを介してデータを南側PEに送信するための南送信/北受信モードと、 d)前記通信ポートを介して東側PEからデータを受信している間に、前記通 信ポートを介してデータを西側PEに送信するための西送信/東受信モードとの 4つの選択可能なモードの内の一つにより、前記通信ポートで送信され且つ受信 されることを特徴とする請求項1に記載の相互接続システム。 (4)前記データ及び指令は、前記転置PEs間で送信及び受信するための第5の 選択可能な転置送信/受信モードで送信され、且つ受信されることを特徴とする 請求項3に記載の相互接続システム。 (5)各PEにおけるレジスタ内にロードするために、同時に制御情報を各PE の制御ポートに送り、且つデータを各PEのデータポートに送るためにPEsに接 続されたコントローラ及びメモリを更に具備することを特徴とする請求項4に記 載の相互接続システム。 (6)前記PE間接続経路は、経路エネーブル信号によって選択的に切り換えら れることを特徴とする請求項5に記載の相互接続システム。 (7)前記経路エネーブル信号は、前記コントローラからの制御情報に基づいて 発生されることを特徴とする請求項5に記載の相互接続システム。 (8)各通信ポートは、1より大きいか又は等しい整数であるBビット幅の送信 及び受信の経路を有していることを特徴とする請求項4に記載の相互接続システ ム。 (9)各PEは、制御ポートを介して受信され且つPEsの各々に属している制御 ロジックで解読された通信命令に基づいて、もう一つ別の通信ポートを経由して データ又は指令を受信している間に、通信ポートを介して前記データ及び指令を 選択的に送信することを特徴とする請求項1に記載の相互接続システム。 (10)前記通信命令は、前記制御ポートを介してコントローラから前記制御ロ ジックによって受信されることを特徴とする請求項9に記載の相互接続システム 。 (11)前記クラスタスイッチは、前記PEsが、前記データ及び指令を受信して いる間に各々同時に指令又はデータを送る処理を支援することを特徴とする請求 項9に記載の相互接続システム。 (12)前記同時処理は、前記PEsが、データ又は指令を受信している間に各々 同時に指令又はデータを送信するように選択的に切り換えられることを特徴とす る請求項11に記載の相互接続システム。 (13)各々が、単一のPE間通信ポートを有した複数の処理要素(PEs)と、 従来のトーラス状に接続されたアレイのものと同等のPE間接続性を与えるよ うに接続されたPE間通信経路と、 を有することを特徴とするアレイプロセッサ。 (14)更に、直接的な転置PE通信を行うように接続されたPE間通信経路か ら構成されていることを特徴とする請求項13に記載のアレイプロセッサ。 (15)クラスタに配列された複数の処理要素(PEs)と、 各クラスタのPEsが、互いに相容れない方向において少なくとも2つの他のク ラスタの各々のPEsと通信するように接続されたPE間通信経路と、 前記互いに相容れない方向においてPE間通信を多重通信するように接続され たクラスタスイッチと、 を有することを特徴とするアレイプロセッサ。 (16)処理要素が、合計B本の線により送信し且つ受信する通信ポートを各々 が有したM個の処理要素を有するN個のクラスタと、 対を成した前記クラスタ間で接続された(M)(B)本の線数より少ないか又 は等しい通信経路と、 対の内の他方のクラスタにおける処理要素に対してトーラスの最近隣りであ る処理要素を含んでいる対の各クラスタメンバー及び、2つの互いに相容れない トーラス方向、即ち南と東、又は南と西、又は北と東、又は北と西方向において 前記クラスタの対の間での通信を許容する各経路と、 2(M)(B)本の線の全体に及ぶ通信を前記クラスタ対間の前記(M)(B )本の線の全体に及ぶ経路より少なく又は等しく結合するように接続されたマル チプレクサと、 を有することを特徴とするアレイプロセッサ。 (17)各クラスタの処理要素は、北と西のトーラス方向に向かって一つのクラ スタと、また南と東のトーラス方向に向かってもう一つ別のクラスタと通信する ことを特徴とする請求項16に記載のアレイプロセッサ。 (18)各クラスタの処理要素は、北と東のトーラス方向に向かって一つのクラ スタと、また南と西のトーラス方向に向かってもう一つ別のクラスタと通信する ことを特徴とする請求項16に記載のアレイプロセッサ。 (19)少なくとも一つのクラスタは、N×Nのトーラス転置対を有しているこ とを特徴とする請求項16に記載のアレイプロセッサ。 (20)クラスタスイッチは、マルチプレクサから構成されており、また前記ク ラスタスイッチは、2つの互いに相容れないトーラス方向からクラスタ内部の処 理要素に受信された通信を多重通信するように接続されていることを特徴とする 請求項16に記載のアレイプロセッサ。 (21)前記クラスタスイッチは、別の1つのクラスタに通信するためにクラス タ内部の処理要素からの通信を多重通信するように接続されていることを特徴と する請求項20に記載のアレイプロセッサ。 (22)前記クラスタスイッチは、クラスタ内部の転置処理要素間の通信を多 重通信するように接続されていることを特徴とする請求項21に記載のアレイプ ロセッサ。 (23)前記Nは、前記Mよりも大きいか又は等しいことを特徴とする請求項1 6に記載のアレイプロセッサ。 (24)前記Nは、前記Mよりも小さい値であることを特徴とする請求項16に 記載のアレイプロセッサ。 (25)各々の処理要素が、合計B本の線でデータ送信し且つ受信する際に通る 通信ポートを有しており、またクラスタ内部の各々の処理要素が、クラスタ外部 の処理要素に対するよりもクラスタ内部の他の処理要素に対して物理的により接 近して形成されているM個の処理要素から成るN個のクラスタと、 対の各クラスタメンバーが、対の他方のクラスタにおける処理要素に対してト ーラスの最近隣りとなっている処理要素を収容しており、各経路が、2つの互い に相容れないトーラス方向、即ち南と東か、又は南と西か、又は北と東か、又は 北と西方向において前記クラスタ対間での通信を許容しており、前記クラスタの 対の間に接続された(M)(B)本の線のよりも少ないか又は等しい通信経路と 、 合計2(M)(B)本の線による通信を前記クラスタ対の間における(M)( B)本の線の経路よりも上記のより少なく、又は等しく結合するように接続され たマルチプレクサと、 を有することを特徴とするアレイプロセッサ。 (26)各クラスタの処理要素は、北と西のトーラス方向において一つのクラス タと通信し、また南と東のトーラス方向において別の1つのクラスタと通信する ことを特徴とする請求項25に記載のアレイプロセッサ。 (27)各クラスタの処理要素は、北と東のトーラス方向において一つのクラ スタと通信し、また南と西のトーラス方向において別の1つのクラスタと通信す ることを特徴とする請求項25に記載のアレイプロセッサ。 (28)少なくとも一つのクラスタは、N×Nのトーラス転置対を有しているこ とを特徴とする請求項25に記載の請求のアレイプロセッサ。 (29)クラスタスイッチはマルチプレクサで構成されており、また前記クラス タスイッチは、2つの互いに相容れないトーラス方向からクラスタ内部の処理要 素に受信された通信を多重化して通信するように接続されていることを特徴とす る請求項25に記載のアレイプロセッサ。 (30)前記クラスタスイッチは、別の1つのクラスタに通信するためにクラス タ内部の処理要素からの通信を多重化通信するように接続されていることを特徴 とする請求項29に記載のアレイプロセッサ。 (31)前記クラスタスイッチは、前記クラスタ内部の転置処理要素間の通信を 多重化通信するように接続されていることを特徴とする請求項30に記載のアレ イプロセッサ。 (32)前記Nは、前記Mよりも小さい又は等しいことを特徴とする請求項25 に記載のアレイプロセッサ。 (33)前記Nは、前記Mよりも大きい値であることを特徴とする請求項25に 記載のアレイプロセッサ。 (34)前記処理要素間の通信は、ビット−直列となっており、また各処理要素 クラスタは、前記処理要素を介して2つの他のクラスタと通信するようになって いることを特徴とする請求項25に記載のアレイプロセッサ。 (35)前記処理要素間の通信経路はデータバスを含むことを特徴とする請求項 25に記載のアレイプロセッサ。 (36)前記通信経路は、双方向経路となっていることを特徴とする請求項25 に記載のアレイプロセッサ。 (37)前記通信経路は、単方向信号線を含むことを特徴とする請求項25に記 載のアレイプロセッサ。 (38)PとQは、各々上記アレイと同じ数のPEsを有したトーラス状に接続さ れたアレイの行数と列数であり、また前記PとQは、各々前記NとMに等しいこ とを特徴とする請求項25に記載のアレイプロセッサ。 (39)前記PとQは、各々前記アレイと同じ数のPEsを有したトーラス状に接 続されたアレイの行数と列数であり、また前記PとQは、各々前記MとNに等し いことを特徴とする請求項25に記載のアレイプロセッサ。 (40)iとjが、従来のトーラス状に接続されたアレイ内の各行と列のPE位 置を示しており、またi=0,1,2,…,N−1で、j=0,1,2,…,N −1となっていて、いずれのi,jに対してもまた全てのaE{0,1,…,N −1}に対してもクラスタのPE(i+a)(ModN),(i+N-a)(ModN)で配列された処理 要素(PEs)PEi,iと、 前記クラスタ間のPE間通信経路を多重化し、それによってトーラス状に接続 されたアレイのものと同等のPE間接続性を与えるように接続されたクラスタス イッチと、 を有することを特徴とするアレイプロセッサ。 (41)前記クラスタスイッチは、更にクラスタ内部の転置PE対におけるPEs 間で直接通信を行うように接続されていることを特徴とする請求項40に 記載の請求のアレイプロセッサ。 (42)前記クラスタは、スケラーブルであることを特徴とする請求項40に記 載の請求のアレイプロセッサ。 (43)各クラスタが、互いに相容れないトーラス方向においてのみ少なくとも 1つの他のクラスタの処理要素と通信する処理要素を有するように、M個の処理 要素から成るN個のクラスタに処理要素を配列する工程と、 前記互いに相容れないトーラス方向の通信を多重化して通信する工程と、を有 することを特徴とするアレイプロセッサを形成する方法。
JP50567099A 1997-06-30 1998-06-24 マニホールドアレイプロセッサ Expired - Fee Related JP4118963B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/885,310 US6023753A (en) 1997-06-30 1997-06-30 Manifold array processor
US08/885,310 1997-06-30
PCT/US1998/013111 WO1999000743A1 (en) 1997-06-30 1998-06-24 Manifold array processor

Publications (2)

Publication Number Publication Date
JP2002507300A true JP2002507300A (ja) 2002-03-05
JP4118963B2 JP4118963B2 (ja) 2008-07-16

Family

ID=25386618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50567099A Expired - Fee Related JP4118963B2 (ja) 1997-06-30 1998-06-24 マニホールドアレイプロセッサ

Country Status (10)

Country Link
US (7) US6023753A (ja)
EP (2) EP1742154B1 (ja)
JP (1) JP4118963B2 (ja)
KR (1) KR20010014381A (ja)
CN (1) CN1158616C (ja)
AT (2) ATE357021T1 (ja)
CA (1) CA2295109A1 (ja)
DE (2) DE69841929D1 (ja)
IL (1) IL133691A0 (ja)
WO (1) WO1999000743A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3062233A2 (en) 2015-02-27 2016-08-31 Fujitsu Limited Data transfer control apparatus, computer program, and parallel computing system
JP2022541999A (ja) * 2020-06-30 2022-09-29 上海寒武紀信息科技有限公司 計算装置、集積回路チップ、ボードカード、電子デバイスおよび計算方法

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023753A (en) * 1997-06-30 2000-02-08 Billion Of Operations Per Second, Inc. Manifold array processor
US6167502A (en) * 1997-10-10 2000-12-26 Billions Of Operations Per Second, Inc. Method and apparatus for manifold array processing
US6826522B1 (en) * 1999-06-21 2004-11-30 Pts Corporation Methods and apparatus for improved efficiency in pipeline simulation and emulation
DE10001874A1 (de) * 2000-01-18 2001-07-19 Infineon Technologies Ag Multi-Master-Bus-System
US6842811B2 (en) * 2000-02-24 2005-01-11 Pts Corporation Methods and apparatus for scalable array processor interrupt detection and response
US20020010810A1 (en) * 2000-03-01 2002-01-24 Ming-Kang Liu xDSL function ASIC processor & method of operation
AU2001245520A1 (en) * 2000-03-08 2001-09-17 Sun Microsystems, Inc. Vliw computer processing architecture having a scalable number of register files
RU2158319C1 (ru) * 2000-04-25 2000-10-27 Институт металлургии и материаловедения им. А.А. Байкова РАН Высокопрочная коррозионно- и износостойкая аустенитная сталь
US6925056B1 (en) 2000-07-25 2005-08-02 Sun Microsystems, Inc. System and method for implementing a routing scheme using intention packets in a computer network
US6741561B1 (en) 2000-07-25 2004-05-25 Sun Microsystems, Inc. Routing mechanism using intention packets in a hierarchy or networks
US6826148B1 (en) 2000-07-25 2004-11-30 Sun Microsystems, Inc. System and method for implementing a routing scheme in a computer network using intention packets when fault conditions are detected
SE522520C2 (sv) * 2000-11-02 2004-02-10 Ericsson Telefon Ab L M Signalbearbetningssystem
US7401161B2 (en) 2000-12-18 2008-07-15 Sun Microsystems, Inc. High performance storage array interconnection fabric using multiple independent paths
US6718428B2 (en) 2000-12-18 2004-04-06 Sun Microsystems, Inc. Storage array interconnection fabric using a torus topology
GB2370381B (en) * 2000-12-19 2003-12-24 Picochip Designs Ltd Processor architecture
US7072976B2 (en) * 2001-01-04 2006-07-04 Sun Microsystems, Inc. Scalable routing scheme for a multi-path interconnection fabric
DE60238041D1 (de) 2001-03-13 2010-12-02 Ecchandes Inc Visuelle einrichtung, verriegelnder zähler und bildsensor
US6909695B2 (en) * 2001-05-07 2005-06-21 Sun Microsystems, Inc. Fault-tolerant, self-healing routing scheme for a multi-path interconnection fabric in a storage network
US6883108B2 (en) * 2001-05-07 2005-04-19 Sun Microsystems, Inc. Fault-tolerant routing scheme for a multi-path interconnection fabric in a storage network
US7007189B2 (en) * 2001-05-07 2006-02-28 Sun Microsystems, Inc. Routing scheme using preferred paths in a multi-path interconnection fabric in a storage network
WO2002093925A1 (en) * 2001-05-17 2002-11-21 Optibase Apparatus and method for multiple rich media formats video broadcasting
KR100401946B1 (ko) * 2001-08-10 2003-10-17 박종원 주소계산과 자료이동방법 및 이를 이용한 충돌회피 기억 장치
US7000033B2 (en) * 2001-09-28 2006-02-14 Sun Microsystems, Inc. Mapping of nodes in an interconnection fabric
US7027413B2 (en) * 2001-09-28 2006-04-11 Sun Microsystems, Inc. Discovery of nodes in an interconnection fabric
AU2002363142A1 (en) * 2001-10-31 2003-05-12 Doug Burger A scalable processing architecture
EP1367778A1 (en) * 2002-05-31 2003-12-03 Fujitsu Siemens Computers, LLC Networked computer system and method using dual bi-directional communication rings
JP3987782B2 (ja) * 2002-10-11 2007-10-10 Necエレクトロニクス株式会社 アレイ型プロセッサ
US20060001669A1 (en) * 2002-12-02 2006-01-05 Sehat Sutardja Self-reparable semiconductor and method thereof
US7673118B2 (en) 2003-02-12 2010-03-02 Swarztrauber Paul N System and method for vector-parallel multiprocessor communication
US6950905B2 (en) * 2003-02-20 2005-09-27 Sun Microsystems, Inc. Write posting memory interface with block-based read-ahead mechanism
US7324564B2 (en) * 2003-02-20 2008-01-29 Sun Microsystems, Inc. Transmitting odd-sized packets over a double data rate link
US7873811B1 (en) * 2003-03-10 2011-01-18 The United States Of America As Represented By The United States Department Of Energy Polymorphous computing fabric
US7596678B2 (en) * 2003-04-23 2009-09-29 Micron Technology, Inc. Method of shifting data along diagonals in a group of processing elements to transpose the data
US7913062B2 (en) * 2003-04-23 2011-03-22 Micron Technology, Inc. Method of rotating data in a plurality of processing elements
US7581080B2 (en) * 2003-04-23 2009-08-25 Micron Technology, Inc. Method for manipulating data in a group of processing elements according to locally maintained counts
US7676648B2 (en) * 2003-04-23 2010-03-09 Micron Technology, Inc. Method for manipulating data in a group of processing elements to perform a reflection of the data
US7003594B2 (en) * 2003-05-12 2006-02-21 Sun Microsystems, Inc. Streaming protocol for storage devices
US7191311B2 (en) * 2003-12-13 2007-03-13 International Business Machines Corporation Method and system of interconnecting processors of a parallel computer to facilitate torus partitioning
US7937557B2 (en) * 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
US20060242156A1 (en) * 2005-04-20 2006-10-26 Bish Thomas W Communication path management system
US7904695B2 (en) * 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous power saving computer
JP3992110B2 (ja) * 2005-12-06 2007-10-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数の通信ノードの相互通信を制御する通信システム
US7617383B2 (en) * 2006-02-16 2009-11-10 Vns Portfolio Llc Circular register arrays of a computer
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US7904615B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous computer communication
DE102006027181B4 (de) * 2006-06-12 2010-10-14 Universität Augsburg Prozessor mit internem Raster von Ausführungseinheiten
US8099583B2 (en) * 2006-08-23 2012-01-17 Axis Semiconductor, Inc. Method of and apparatus and architecture for real time signal processing by switch-controlled programmable processor configuring and flexible pipeline and parallel processing
US7555637B2 (en) * 2007-04-27 2009-06-30 Vns Portfolio Llc Multi-port read/write operations based on register bits set for indicating select ports and transfer directions
US8122228B2 (en) * 2008-03-24 2012-02-21 International Business Machines Corporation Broadcasting collective operation contributions throughout a parallel computer
US8484440B2 (en) 2008-05-21 2013-07-09 International Business Machines Corporation Performing an allreduce operation on a plurality of compute nodes of a parallel computer
US8181003B2 (en) * 2008-05-29 2012-05-15 Axis Semiconductor, Inc. Instruction set design, control and communication in programmable microprocessor cores and the like
US8078833B2 (en) * 2008-05-29 2011-12-13 Axis Semiconductor, Inc. Microprocessor with highly configurable pipeline and executional unit internal hierarchal structures, optimizable for different types of computational functions
US8281053B2 (en) 2008-07-21 2012-10-02 International Business Machines Corporation Performing an all-to-all data exchange on a plurality of data buffers by performing swap operations
US20100023730A1 (en) * 2008-07-24 2010-01-28 Vns Portfolio Llc Circular Register Arrays of a Computer
US8150902B2 (en) 2009-06-19 2012-04-03 Singular Computing Llc Processing with compact arithmetic processing element
US8549249B1 (en) 2009-09-21 2013-10-01 Tilera Corporation Supporting secondary atomic operations using primary atomic operations
US8255702B1 (en) * 2009-12-03 2012-08-28 Altera Corporation Programmable logic device with improved security
US8910178B2 (en) 2011-08-10 2014-12-09 International Business Machines Corporation Performing a global barrier operation in a parallel computer
US8898432B2 (en) * 2011-10-25 2014-11-25 Geo Semiconductor, Inc. Folded SIMD array organized in groups (PEGs) of respective array segments, control signal distribution logic, and local memory
US9495135B2 (en) 2012-02-09 2016-11-15 International Business Machines Corporation Developing collective operations for a parallel computer
EP3298486B1 (en) * 2015-05-21 2022-08-24 Goldman, Sachs & Co. LLC General-purpose parallel computing architecture
US11449452B2 (en) 2015-05-21 2022-09-20 Goldman Sachs & Co. LLC General-purpose parallel computing architecture
US11106467B2 (en) 2016-04-28 2021-08-31 Microsoft Technology Licensing, Llc Incremental scheduler for out-of-order block ISA processors
WO2019147708A1 (en) * 2018-01-24 2019-08-01 Alibaba Group Holding Limited A deep learning accelerator system and methods thereof
CN110399976B (zh) * 2018-04-25 2022-04-05 华为技术有限公司 计算装置和计算方法
EP3654247A1 (en) 2018-11-15 2020-05-20 IMEC vzw Convolution engine for neural networks
US10565036B1 (en) 2019-02-14 2020-02-18 Axis Semiconductor, Inc. Method of synchronizing host and coprocessor operations via FIFO communication
US10831691B1 (en) * 2019-05-24 2020-11-10 International Business Machines Corporation Method for implementing processing elements in a chip card
CN113867790A (zh) * 2020-06-30 2021-12-31 上海寒武纪信息科技有限公司 计算装置、集成电路芯片、板卡和计算方法
CN113867791B (zh) * 2020-06-30 2023-09-26 上海寒武纪信息科技有限公司 一种计算装置、芯片、板卡、电子设备和计算方法
CN113867792A (zh) * 2020-06-30 2021-12-31 上海寒武纪信息科技有限公司 计算装置、集成电路芯片、板卡、电子设备和计算方法
US11635967B2 (en) * 2020-09-25 2023-04-25 Advanced Micro Devices, Inc. Vertical and horizontal broadcast of shared operands
US20220100699A1 (en) * 2020-09-30 2022-03-31 Beijing Tsingmicro Intelligent Technology Co., Ltd. Computing array and processor having the same
US11921668B2 (en) * 2020-09-30 2024-03-05 Beijing Tsingmicro Intelligent Technology Co., Ltd. Processor array and multiple-core processor
US11516087B2 (en) * 2020-11-30 2022-11-29 Google Llc Connecting processors using twisted torus configurations
US20230066045A1 (en) * 2021-08-30 2023-03-02 Taiwan Semiconductor Manufacturing Co., Ltd. Diagonal torus network

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3308436A (en) * 1963-08-05 1967-03-07 Westinghouse Electric Corp Parallel computer system control
US4270170A (en) * 1978-05-03 1981-05-26 International Computers Limited Array processor
US4509187A (en) * 1982-06-14 1985-04-02 At&T Bell Laboratories Time warp signal recognition processor using recirculating and/or reduced array of processor cells
US4644496A (en) * 1983-01-11 1987-02-17 Iowa State University Research Foundation, Inc. Apparatus, methods, and systems for computer information transfer
US5280474A (en) * 1990-01-05 1994-01-18 Maspar Computer Corporation Scalable processor to processor and processor-to-I/O interconnection network and method for parallel processing arrays
US5065339A (en) * 1990-05-22 1991-11-12 International Business Machines Corporation Orthogonal row-column neural processor
WO1991018349A1 (en) * 1990-05-22 1991-11-28 International Business Machines Corporation Scalable flow virtual learning neurocomputer
US5148515A (en) * 1990-05-22 1992-09-15 International Business Machines Corp. Scalable neural array processor and method
US5146420A (en) * 1990-05-22 1992-09-08 International Business Machines Corp. Communicating adder tree system for neural array processor
US5577262A (en) * 1990-05-22 1996-11-19 International Business Machines Corporation Parallel array processor interconnections
US5146543A (en) * 1990-05-22 1992-09-08 International Business Machines Corp. Scalable neural array processor
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
JP2601591B2 (ja) * 1991-11-26 1997-04-16 富士通株式会社 並列計算機およびその全対全通信方法
CA2073516A1 (en) * 1991-11-27 1993-05-28 Peter Michael Kogge Dynamic multi-mode parallel processor array architecture computer system
JP2647327B2 (ja) * 1992-04-06 1997-08-27 インターナショナル・ビジネス・マシーンズ・コーポレイション 大規模並列コンピューティング・システム装置
DE4214621C1 (ja) 1992-05-02 1993-06-03 Bundesrepublik Deutschland, Vertreten Durch Den Bundesminister Der Verteidigung, Dieser Vertreten Durch Den Praesidenten Des Bundesamtes Fuer Wehrtechnik Und Beschaffung, 5400 Koblenz, De
JP2572522B2 (ja) * 1992-05-12 1997-01-16 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピューティング装置
US5644517A (en) * 1992-10-22 1997-07-01 International Business Machines Corporation Method for performing matrix transposition on a mesh multiprocessor architecture having multiple processor with concurrent execution of the multiple processors
WO1994027216A1 (en) * 1993-05-14 1994-11-24 Massachusetts Institute Of Technology Multiprocessor coupling system with integrated compile and run time scheduling for parallelism
US6173387B1 (en) * 1994-05-11 2001-01-09 Intel Corporation Interleaved exchange in a network mesh
US5566342A (en) * 1994-08-31 1996-10-15 International Business Machines Corporation Scalable switch wiring technique for large arrays of processors
US5682491A (en) * 1994-12-29 1997-10-28 International Business Machines Corporation Selective processing and routing of results among processors controlled by decoding instructions using mask value derived from instruction tag and processor identifier
US5546336A (en) * 1995-01-19 1996-08-13 International Business Machine Corporation Processor using folded array structures for transposition memory and fast cosine transform computation
US5659785A (en) * 1995-02-10 1997-08-19 International Business Machines Corporation Array processor communication architecture with broadcast processor instructions
US6023753A (en) * 1997-06-30 2000-02-08 Billion Of Operations Per Second, Inc. Manifold array processor
US7596678B2 (en) * 2003-04-23 2009-09-29 Micron Technology, Inc. Method of shifting data along diagonals in a group of processing elements to transpose the data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3062233A2 (en) 2015-02-27 2016-08-31 Fujitsu Limited Data transfer control apparatus, computer program, and parallel computing system
US10091280B2 (en) 2015-02-27 2018-10-02 Fujitsu Limited Data transfer control apparatus that control transfer of data between nodes and parallel computing system
JP2022541999A (ja) * 2020-06-30 2022-09-29 上海寒武紀信息科技有限公司 計算装置、集積回路チップ、ボードカード、電子デバイスおよび計算方法
JP7483764B2 (ja) 2020-06-30 2024-05-15 寒武紀(西安)集成電路有限公司 計算装置、集積回路チップ、ボードカード、電子デバイスおよび計算方法

Also Published As

Publication number Publication date
IL133691A0 (en) 2001-04-30
ATE484028T1 (de) 2010-10-15
DE69841929D1 (de) 2010-11-18
US6892291B2 (en) 2005-05-10
US20040168040A1 (en) 2004-08-26
US20080052491A1 (en) 2008-02-28
CN1261966A (zh) 2000-08-02
EP1742154B1 (en) 2010-10-06
CN1158616C (zh) 2004-07-21
DE69837335D1 (de) 2007-04-26
JP4118963B2 (ja) 2008-07-16
US20070150698A1 (en) 2007-06-28
US7197624B2 (en) 2007-03-27
EP1742154A2 (en) 2007-01-10
KR20010014381A (ko) 2001-02-26
US6023753A (en) 2000-02-08
US20020069343A1 (en) 2002-06-06
ATE357021T1 (de) 2007-04-15
DE69837335T2 (de) 2007-12-20
EP1742154A3 (en) 2007-07-11
EP1002279B1 (en) 2007-03-14
US6338129B1 (en) 2002-01-08
CA2295109A1 (en) 1999-01-07
US7631165B2 (en) 2009-12-08
US8341381B2 (en) 2012-12-25
EP1002279A4 (en) 2004-03-31
EP1002279A1 (en) 2000-05-24
US20130019082A1 (en) 2013-01-17
US9390057B2 (en) 2016-07-12
WO1999000743A1 (en) 1999-01-07

Similar Documents

Publication Publication Date Title
JP4118963B2 (ja) マニホールドアレイプロセッサ
JP4447770B2 (ja) 相互接続システム及び並列プロセッサとその形成方法
US5682491A (en) Selective processing and routing of results among processors controlled by decoding instructions using mask value derived from instruction tag and processor identifier
US7272691B2 (en) Interconnect switch assembly with input and output ports switch coupling to processor or memory pair and to neighbor ports coupling to adjacent pairs switch assemblies
JPH07152722A (ja) Simdマルチプロセッサ用動的再構成可能スイッチ装置
US20040133750A1 (en) Apparatus for controlling access in a data processor
JP2525117B2 (ja) アレイ・プロセッサ
MXPA99011982A (en) Manifold array processor
Barry Methods and apparatus for manifold array processing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050420

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20051205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070417

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070712

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070827

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070815

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070913

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080424

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130502

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees