JPH0589066A - 多次元並列処理システム - Google Patents

多次元並列処理システム

Info

Publication number
JPH0589066A
JPH0589066A JP3102742A JP10274291A JPH0589066A JP H0589066 A JPH0589066 A JP H0589066A JP 3102742 A JP3102742 A JP 3102742A JP 10274291 A JP10274291 A JP 10274291A JP H0589066 A JPH0589066 A JP H0589066A
Authority
JP
Japan
Prior art keywords
data
transposer
memory
transmit
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3102742A
Other languages
English (en)
Inventor
H Mark Bromley
マーク ブロムリイ エイチ.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thinking Machines Corp
Original Assignee
Thinking Machines Corp
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 Thinking Machines Corp filed Critical Thinking Machines Corp
Publication of JPH0589066A publication Critical patent/JPH0589066A/ja
Pending 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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 コントローラによって並列に制御される複数
の処理ノードからなる多次元並列処理システム。 【構成】 処理ノードは複数の通信リンクによって相互
に接続されている。各処理ノードはメモリ、トランスポ
ーザ・モジュールおよび経路指定ノードを備えている。
メモリはデータをスライス形式で記憶する。トランスポ
ーザ・モジュールはメモリに接続され、メモリからのデ
ータ・スライスのうち選択したもののトランスポーズ・
データ・ワードを生成する。経路指定ノードはトランス
ポーザ・モジュールと通信リンクとに接続され、データ
・ワードと通信リンクを利用して転送し、それによって
データ・スライスを処理ノード間で転送する。最後に、
コントローラは処理ノードのメモリ、トランスポーザ・
モジュールおよび経路指定ノードを並列に制御し、デー
タ・スライスを処理ノード間で一斉に転送できるように
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般的には多次元並列コ
ンピュータ・システムに関し、さらに具体的には、この
種のシステムの処理ノード間でデータを転送するための
通信構成に関する。
【0002】
【従来の技術】本明細書では、公知技術として、以下に
列挙した文献が引用されているが、これらはすべて本明
細書の一部を構成するものである。
【0003】(1)米国特許第4,598,400号明
細書(1986年7月1日交付、発明の名称:メッセー
ジ・パケットの経路指定方法と装置、以下「Hilli
s特許」と称す) (2)米国特許第4,814,973号明細書(198
9年3月21日交付、発明の名称:並列プロセッサ、以
下「Hillis他特許」と称す) (3)米国特許出願第07/043,126号明細書
(1987年4月27日出願、発明の名称:メッセージ
・パケットの経路指定方法と装置、以下「Hillis
他特許出願」と称す) (4)米国特許出願第07/179,020号明細書
(1988年4月8日出願、発明の名称並列プロセッサ
とコプロセッサ間をインタフェースで結ぶ方法と装置、
以下「Kahle他特許出願」と称す) コンピュータ・システムは、1つまたは2つ以上のプロ
セッサ、メモリおよび入出力システムから構成されてい
るのが一般的である。メモリはデータとそのデータを処
理するための命令を格納しておく場所である。プロセッ
サはデータを命令に従って処理し、処理したデータをメ
モリに記憶(保管)する。入出力システムは、データと
命令をシステムにロードし、処理したデータをシステム
から取り出す機能をもつ。
【0004】最新のコンピュータ・システムは「フォン
・ノイマン」を模範とした設計構造を採用している。こ
の設計構造では、各プロセッサはプログラム・カウンタ
をもち、このプログラム・カウンタはプロセッサが次に
実行すべき命令を収めている記憶場所を示している。あ
る命令の実行時に、プロセッサは次に処理する予定の命
令の記憶場所を示すようにプログラム・カウンタをイン
クリメントする。この種のシステムでは、各プロセッサ
はデータと命令を共用することが可能になっている。し
かし、プロセッサ同士が望ましくない形で干渉し合うの
を防止するために、この種のシステムは、各プロセッサ
が別々の命令ストリーム、つまり、別々の命令列を処理
するように構成されているのが代表的であり、プロセッ
サによるデータ・アクセスが秩序正しく行なえるように
するために、プロシージャが複雑化している場合があ
る。
【0005】フォン・ノイマン計算機では、1つの命令
ストリームの中の命令は1つのデータ・ストリームの中
のデータを処理するために使用されている。このような
計算機は、プロセッサが1つのときはSISD(単一命
令/単一データ)と呼ばれ、プロセッサが複数のときは
MIMD(複数命令/複数データ)と呼ばれているのが
普通である。データ配列(アレイ)の処理といったよう
に、計算の種類が複数のときは、いくつかのデータ・ス
トリームの中のデータを、同じ命令ストリームを使用し
て処理することが可能になっている。これらの計算で
は、SISD計算機は各データ・ストリームの中のデー
タに対して同じ演算または同じ演算列を反復的に実行す
ることになる。最近では、単一命令/複数データ(SI
MD)計算機が開発され、いくつかのデータ・ストリー
ムのすべての中のデータを並列処理している。SIMD
計算機は、複数のデータ・ストリームをすべて並列に処
理するので、このような問題の処理をSISD計算機よ
りも高速化することができ、また、MIMD計算機から
得られるものと同程度の並列処理をもっと安い費用で実
現することができる。
【0006】冒頭に挙げたHillis特許およびHi
llis他特許出願で開示されているSIMD計算機
は、ホスト・コンピュータ、マイクロ・コントローラ、
および処理要素のアレイ(配列)から構成されており、
各処理要素はビット直列プロセッサとメモリを備えてい
る。特に、ホスト・コンピュータはコマンドを生成し
て、これらをマイクロ・コントローラに送っている。あ
るコマンドを受けると、マイクロ・コントローラは1つ
または2つ以上のSIMD命令を処理要素アレイに送る
ようにしている。各SIMD命令は、処理要素のすべて
がそれぞれのメモリに記憶されているデータに対して同
じ演算を実行できるようになっている。
【0007】Hillis特許およびHillis他特
許出願に開示されているアレイは、さらに、処理要素間
のデータ転送を可能にする2つの通信構造(メカニズ
ム)を備えている。一方の通信構造は、各々の処理要素
がその最寄りの隣接処理要素の1つに選択的にデータを
送ることを可能にするものである。もう一方の通信構造
は、処理要素を多次元構成で実装した集積回路チップ相
互間を接続するグローバル・ルータ(経路指定)と呼ば
れるのもので、任意の処理要素がシステム内の任意の他
の処理要素にデータを送ることを可能にしている。最初
の通信構造は「NEWS」(処理要素が2次元配列に配
置されているものとした場合、ある処理要素がデータを
送ることができる東西南北の方向を表わしている)と呼
ばれ、この構造では、マイクロ・コントローラは、処理
要素のすべてが選択した隣接の処理要素との間でビット
直列データを一斉に送受することを可能にしている。最
近では、3次元配列で配置された処理要素間でデータを
一斉に転送することを可能にする「NEWS」型構造を
採用したアレイが開発されている。
【0008】他方、グローバル・ルータでは、データは
メッセージの形体で送られ、各メッセージは、データを
受け取る処理プロセッサを指定したアドレスを収めてい
る。マイクロ・コントローラは、処理要素がグローバル
・ルータを経由して一斉に、メッセージをビット直列形
式で送ることを可能にし、グローバル・ルータのタイミ
ングを制御しているが、NEWS構造と異なり、メッセ
ージの宛先を制御していない。しかし、情報に入れて送
ることができるアドレスと他のメッセージ・プロトコル
情報がオーバヘッドとなって、データ伝送速度を低下さ
せる原因になっている。
【0009】上述したように、Hillis特許および
Hillis特許出願に開示されているアレイでは、プ
ロセッサがビット直列方式になっている。これらのプロ
セッサは連続するデータ・ビットを直列に処理してい
る。最近に開発されたプロセッサ・アレイでは、ビット
直列方式のプロセッサに加えて、データをワード(語)
並列形式で処理するコプロセッサ(補助または共用プロ
セッサ)が含まれている。これらのコプロセッサは各々
が所定数のビット直列プロセッサに接続されて、処理ノ
ードを構成している。冒頭に挙げたKahle他特許出
願は、このようなコプロセッサをアレイ構造に接続する
ための構成を開示している。
【0010】
【発明が解決しようとする課題】本発明は、プロセッサ
・アレイに含まれる処理ノード間でデータ転送を可能に
する新規で、改良された通信構成を提供することを課題
としている。
【0011】
【課題を解決するための手段】要約して説明すると、本
発明による多重並列処理システムは、コントローラによ
って並列に制御される複数の処理ノードから構成されて
いる。これらの処理ノードは複数の通信リンクで相互に
接続されている。各処理ノードはメモリ、トランスポー
ザ(転置)モジュールおよび経路指定ノードから構成さ
れている。メモリはデータをスライス形式で保管(記
憶)する。トランスポーザ・モジュールはメモリに接続
され、データ・スライスのうちメモリから選択したもの
のトランスポーズ・データ・ワードを生成する。経路指
定ノードはトランスポーザ・モジュールと通信リンクと
に接続され、通信リンクを利用してトランスポーズ・デ
ータ・ワードを転送することにより、データ・スライス
を処理ノード相互間で転送する。最後に、コントローラ
はすべての処理ノードのメモリ、トランスポーザ・モジ
ュールおよび経路指定ノードを並列に制御して、データ
・スライスを処理ノード間で一斉に転送することを可能
にする。
【0012】
【実施例】本発明の特徴事項は特許請求の範囲の項に明
確化されているが、以下では、添付図面を参照して、本
発明の上述した利点およびその他の利点について実施例
を示して詳しく説明する。
【0013】図1は、本発明による通信構成を取り入れ
たコンピュータ・システムのブロック図である。コンピ
ュータ・システムはマイクロ・コントローラ5を備えて
おり、これはホスト6によって制御されると同時に、処
理ノードのアレイ(配列)を制御する。図1には、これ
らの1つが処理ノード10として示されている。処理を
行なうときは、ホスト・コンピュータ6からマイクロ・
コントローラ5にコマンドが送られる。あるコマンドを
受けると、マイクロ・コントローラ5は処理およびその
他の演算を並列に制御する1つまたは2つ以上の命令あ
るいは他の制御信号セットを、処理ノードのすべてに同
時に送ることができる。さらに、前掲のHillis特
許およびHillis他特許出願に説明されているよう
に、いくつかの処理ノード10が相互に接続されて、処
理ノード10間でデータを転送できるようになってい
る。
【0014】図1に示すように、処理ノード10は2つ
の処理要素(PE)チップ11Hと11L(総称する場
合は、符号11で示す)を備え、これらはデータ・バス
13を経由してメモリ12に接続されている。本発明の
1つの実施例では、データ・バスは32本のデータ線D
(31:0)からなり、これらは上位桁データ線D(3
1:16)(これはPEチップ11Hに接続されてい
る)と、下位桁データ線D(15:0)(これはPEチ
ップ11Lに接続されている)に分割されている。各々
のPEチップ11には、1組の直列プロセッサ(符号1
4で総称する)と経路指定ノード(符号15で総称す
る)が実装されている。これらの直列プロセッサは、マ
イクロ・プロセッサ5からSP INSTR直列プロセ
ッサ命令信号を受けて動作し、メモリ12に記憶されて
いるデータに対して処理を行なう。メモリ12は、メモ
リ12の記憶場所を指定しているMEM ADRSメモ
リ・アドレス信号と、MEM ADRSメモリ・アドレ
ス信号で指定された記憶場所にデータを記憶するのか、
そこからデータを取り出すのかを指定しているMEMC
TRLメモリ制御信号とを受けて動作する。MEM A
DRSメモリ・アドレス信号とMEM CTRLメモリ
制御信号はどちらも、マイクロ・コントローラ5から与
えられる。経路指定ノード15も、マイクロ・コントロ
ーラ5からRTRCTRL経路指定制御信号を受けて動作し、
データを収めているメッセージをある処理ノード10か
ら別の処理ノードに転送する。
【0015】本発明の実施例では、各々のPEチップ1
1には16個の直列プロセッサ14が実装されており、
各々はデータ・バス13のデータ線の1つと関連づけら
れている。つまり、各直列プロセッサ14は、データ線
D(i)(ただし、“1”は集合(31,…,0)から
の整数である)の1つからデータ・ビットを受け取り、
その1つ上にデータ・ビットを送出する。メモリ12は
記憶場所が32ビット・スライスに編成されており、各
スライスは、マイクロ・コントローラ5からのMEM
ADRSメモリ・アドレス信号の特定の2進コード値に
よって識別される。MEM ADRSメモリ・アドレス
信号の特定値で指定されたメモリ内のスライスからデー
タを取り出して、転送する場合は、メモリ12はそのス
ライスのビット31〜0をそれぞれデータ線D(31)
〜D(0)上に送出することになる。他方、MEM A
DRSメモリ・アドレス信号の特定値で指定されたメモ
リ内のスライスにデータをロードする場合は、メモリ1
2は、データ線D(31)〜D(0)からそれぞれビッ
ト31〜0を受け取って、それらをそのスライスのそれ
ぞれのビットにロードすることになる。
【0016】メモリ12に入っている複数ビット・ワー
ドのデータを直列プロセッサ14を使用して処理する場
合は、マイクロ・コントローラ5は、メモリ12内の連
続する記憶場所を指定した値をもつMEM ADRSメ
モリ・アドレス信号と、メモリ12に働きかけてデータ
のスライスを転送または記憶させるMEMCTRL制御
信号と、直列プロセッサ14に働きかけてそれぞれに関
連するデータ線D(i)上のビットに対して必要とする
演算を実行させるSP INSTR直列プロセッサ命令
信号とを反復的に生成する。従って、メモリ12内のデ
ータを見るとき、2つの見方がある。1つはスライス側
から見た見方であり、“SLICE”と表記した矢印で
示されている。これは、MEM ADRSメモリ・アド
レス信号を受けると、1つずつ、固定サイズ(長)ワー
ドのデータ(「データ・スライス」)がメモリから取り
出されてデータ・バス13上に送り出されるか、データ
・バス13からメモリに送り込まれることを表わしてい
る。もう1つは、プロセッサ側から見た見方であり、
“PROCESSOR”と表記した矢印で示されてい
る。これは、個々の直列プロセッサからアクセスできる
データのメモリ12内の編成を表わしている。
【0017】処理ノードのすべての経路指定ノード15
は、アレイを構成する処理ノード10間でメッセージの
転送ができるように相互に接続されている。各メッセー
ジはメッセージの受取先となる処理ノード10と直列プ
ロセッサ14を指定するアドレスを収めている。本発明
の実施例では、経路指定ノードは、前掲のHillis
特許に開示されているように、多次元構成で相互に接続
されている。各経路指定ノード15Hと15Lは、マイ
クロ・コントローラ5からのRTRCTRL経路指定制
御信号の制御を受けて、 それぞれ符号HC H(1
1:0)とHC L(11:0)で示した複数の通
信リンクを利用して、他の処理要素チップ11上に置か
れている他の経路指定ノード15にメッセージを送る。
【0018】さらに、各経路指定ノード15Hと15L
は、それぞれ符号HC H(11:0)とHC
L(11:0)で示した通信リンクを利用してメッセー
ジを受け取る。経路指定ノード15は、受け取った各々
のメッセージのアドレスから、そのメッセージが処理ノ
ード10に置かれた直列プロセッサ14宛であるかどう
かを判断し、そうであれば、そのメッセージをデータ・
バス13のデータ線D(i)上に結合し、そのデータ線
を通してメッセージを受け取る直列プロセッサ14はメ
モリ12をアクセスする。マイクロ・コントローラ13
は、MEMADRSメモリ・アドレス信号とMEM C
TRLメメモリ制御信号を出して、メッセージからのデ
ータをメモリ12に記憶できるようにする。他方、メッ
セージが処理ノード10に置かれた直列プロセッサ宛で
ないと経路指定ノード15が判断したときは、通信リン
クHC H(11:0)およびHC L(1
1:0)の1つを利用してそのメッセージを転送する。
どの通信リンクが利用されるかは、そのメッセージのア
ドレスで判断される。
【0019】各処理ノード10に接続された各種通信リ
ンクHC H(11:0),HC L(11:
0),HC H(11:0),HC L(1
1:0)は公知の方法で他の処理ノードのそれぞれに接
続されて、多次元的な相互接続を実現している。従っ
て、符号HC H(11:0)とHC L(1
1:0)で示されたアウトバウンド通信リンクはインバ
ウンド通信リンクに対応している。インバウント通信リ
ンクは、他の処理ノード10の経路指定ノード15では
符号HC H(11:0)とHC H(11:
0)で示すことができる。本発明の実施例では、経路指
定ノード15Hと15Lの回路は、前掲のHillis
特許およびHillis他特許出願で開示されているも
のと同じであるので、本明細書で詳しく説明することは
省略する。
【0020】処理ノード10は、スライス形式かプロセ
ッサ形式に編成されているメモリ12内のデータを処理
する補助プロセッサ20と、補助プロセッサ20とデー
タ・バス13間を結ぶインタフェースとなるトランスポ
ーザ・モジュール21をもつことも可能である。例え
ば、補助プロセッサ21を浮動小数点プロセッサにすれ
ば、浮動小数点データ形式のデータに対して算術演算と
論理演算を行なうことができる。各所の処理ノード10
に置かれている補助プロセッサ20とトランスポーザ・
モジュール21は、それぞれマイクロ・プロセッサ5か
らAPINSTR補助プロセッサ命令信号とXPOSE
R CTRLトランスポーザ制御信号を受けて動作す
る。マイクロ・コントローラ5から与えられる他の制御
信号の場合と同じように、マイクロ・コントローラから
出されるAP INSTR補助プロセッサ命令信号とX
POSER CTRLトランスポーザ制御信号は処理ノ
ード10のすべての補助プロセッサ20とトランスポー
ザ・モジュール21を同時並行に制御して、概ね同じ演
算を同時に実行できるようにする。
【0021】トランスポーザ・モジュール21はいくつ
かのトランスポーザ回路から構成されており、そのうち
の2つは、符号22と23を付けて図1に示されてい
る。トランスポーザ22は入力マルチプレクサ24から
入力データを受け取り、複数のスロットの1つにそのデ
ータを格納する。どのスロットに格納されるかは、書込
みポインタ・レジスタ25の内容で決まる。レジスタ2
5にポインタを入れてから、各データ項目をトランスポ
ーザのスロットに格納することが可能である。また、別
の方法として、レジスタに初期値をロードしてから、あ
るデータをトランスポーザ22にロードし、その後は、
連続するデータ項目がそこにロードされるつど、その内
容をインクリメントすることも可能である。入力マルチ
プレクサ24は、XPOSER CTRLトランスポー
ザ制御信号の制御を受けて、データ・バス13からか、
バス26からのデータ信号を選択的にトランスポーザ2
2と結合する。バス26からは、補助プロセッサ20か
らの処理データであることを表わしているAP IN
(31:0)補助プロセッサ・イン信号が送られる。さ
らに、トランスポーザ・モジュール21には、データを
トランスポーザ23に保管することを同じ方法で選択的
に制御する入力マルチプレクサ27と書込みポインタ・
レジスタ28が用意されている。
【0022】トランスポーザ22と23はXPOSER
CTRLトランスポーザ制御信号を受けて動作し、そ
こに保管されているデータを転置したものを生成する。
さらに、トランスポーザ・モジュール21は2つの出力
マルチプレクサ30と31を備えている。これらもXP
OSER CTRLトランスポーザ制御信号の受けて、
転置データをバス32を経由して補助プロセッサ20に
送るか、あるいはデータ・バス13を経由してメモリ1
2かPEチップ11に送るかを制御する。マルチプレク
サ30はトランスポーザ22と23の出力端子からデー
タ信号を受け取り、トランスポーザの一方からの信号を
選択的にデータ・バス13上に結合する。同様に、マル
チプレクサ31はトランスポーザ23の出力端子からデ
ータ信号を受け取り、トランスポーザの一方からの信号
を選択的にバス32上に結合して、補助プロセッサに送
る。
【0023】図1には示していないが、データ・バス1
3と補助プロセッサ20間を直結する(非転置)通路
を、処理ノード10に設けることも可能である。以上の
説明から理解されるように、トランスポーザ・モジュー
ル21は、データ・バス13の別々のデータ線を利用し
て直列に転送されるプロセッサ形式でメモリ21に保管
されているデータを、補助プロセッサ20による処理に
適した並列形式にトランスポーズ(転置)することを可
能にするものである。データがスライス形式でメモリ1
2に記憶されている場合は、転置の必要はない。さら
に、トランスポーザ・モジュール21は補助プロセッサ
20から処理データを受け取り、それをプロセッサ形式
でメモリ12に保管しておく必要がある場合は、データ
・バス13の所定のデータ線を利用して直列に転送でき
るようにデータを転置する。補助プロセッサ20からの
処理データをスライス形式でメモリ12に保管する必要
がある場合は、データを補助プロセッサ20から非転置
通路を経由してメモリ12に送ることができる。
【0024】本発明によれば、トランスポーザ・モジュ
ール21から得た転置データを最初からスライス形式で
メモリ12に保管しておき、その形式で処理要素11の
経路指定ノード15から転送することもできるので、処
理ノード10間のデータ転送を、経路指定ノード15相
互間を結ぶ各種通信リンクを利用して、スライス形式で
行なうことができる。この操作を可能にするために、処
理ノード10はマイクロ・コントローラの制御を受け
て、同時に送受できるので、各処理ノード10に置かれ
たトランスポーザ・モジュールのトランスポーザの一
方、つまり、トランスポーザ22を送信トランスポーザ
と名付けて、送信用に使用し、他方のトランスポーザ、
つまり、トランスポーザ23を受信トランスポーザと名
付けて、受信用に使用する。
【0025】データ・スライスが処理ノード10間で転
送されるときの詳しい操作については、図2と図3に示
されているデータの送受信の流れ図と、図4と図5に示
されている送信トランスポーザ22と受信トランスポー
ザ23に置かれているデータ編成図を参照して説明す
る。その予備段階として、処理ノード10間のデータ転
送は、大きく分けて3つの順序で行なわれる。最初に、
マイクロ・コントローラ5の一連の反復的制御を受け
て、処理ノード10は一斉にデータ・スライスをメモリ
12から送信トランスポーザ22に送る(図2のS10
1〜S106) 。次に、マイクロ・コントローラ5の制
御を受けて、処理ノード10は通信リンクを利用してデ
ータを反復的に送信し、同時に受信して、受信したデー
タを受信トランスポーザ23にロードする(図2のS1
04〜S104および図3のS111〜S114) 。従
って、送受信の様子を示している流れ図は別々の図で示
されているが、理解されるように、マイクロ・コントロ
ーラ5の制御を受けて、送信(図2のS104〜S10
6) と受信(図3のS111〜S114) はインタリー
ブ方式で同時に行なわれる。受信時には、処理ノード1
0は受信データをその受信トランスポーザ23にロード
する。受信トランポーザがデータで一杯になると、マイ
クロ・コントローラの一連の反復的制御を受けて、処理
ノード10は受信トランスポーザ23の内容をそれぞれ
のメモリ12に転送する(図3のS116とS117) 。
【0026】次に、図1と図2を参照して、もっと具体
的に説明する。初期状態では、メモリ12には、1組の
トランスポーザ・スロット・ポインタ(“XPOSER
SLOT PTRS”)と送信すべきデータ・スライ
ス(“XMIT DATA”)が格納されている。トラ
ンスポーザ・スロット・ポインタは、メモリ12内の連
続するスライスに、ポインタをもっている。これらのポ
インタは、送信トランスポーザ22側でメモリ12の連
続するデータ・スライスを保管すべきスロットと示され
た記憶場所を指している。図4を参照して下述するよう
に、トランスポーザ・スロット・ポインタは、事実上、
送信トランスポーザが各データ・スライスを結合すると
きに利用するバス13の特定のデータ線D(i)を選択
するのに対し、送信トランスポーザの方は、各データ・
スライスを送信するときに利用する特定の通信リンクH
H(11:0)またはHC L(11:0)
を選択する。通信リンクはアレイ内の異なる処理ノード
10に接続されているので、トランスポーザ・スロット
・ポインタは、事実上、送信データからなる各データ・
スライスを受け取るべき処理ノード10を選択する。
【0027】上述したように、マイクロ・コントローラ
5は、一連の反復操作で書込みトランスポーザ22にロ
ードを行なう。各反復操作において、マイクロ・コント
ローラ5はMEM ADRSメモリ・アドレス信号とX
POSER CTRLトランスポーザ制御信号を生成
し、これらの信号の制御を受けて、各処理ノード10に
おいて、(1)メモリ12はトランスポーザ・スロット
・ポインタをデータ・バス13上に結合し、(2)トラ
ンスポーザ・モジュール21はデータ・バス13上のポ
インタを書込みポインタ・レジスタ25にロードする
(S101) 。最初の反復では、S101で、MEM
ADRSメモリ・アドレス信号はトランスポーザ・スロ
ット・ポインタを収めているメモリ12内の最初の記憶
場所を指しており、このあとに続く反復では、MEM
ADRSメモリ・アドレス信号は連続するトランスポー
ザ・スロット・ポインタを収めているメモリ12内の連
続するスライスを指している。
【0028】各反復時に、トランスポーザ・スロット・
ポインタを書込みポインタ・レジスタ25にロードでき
るようにしたあと、マイクロ・コントローラ5は送信デ
ータ・スライスを収めているメモリ12内の記憶場所を
指しているMEMADRSメモリ・アドレス信号と、各
処理ノード10において、(1)メモリ12がデータ・
スライスをバス13上に結合することを可能にし、
(2)トランスポーザ・モジュール21がマルチプレク
サ24を通してデータ・スライスをデータ・バス13上
に結合して、送信書込みポインタ・レジスタ25に入っ
ているポインタが指しているスロットに入れることを可
能にするXPOSER CRTLトランスポーザ制御信
号とを生成する。最初の反復では、S101で、MEM
ADRSメモリ・アドレス信号は送信データを収めて
いるメモリ12内の最初の記憶場所を指しており、その
あとに続く反復では、MEM ADRSメモリ・アドレ
ス信号はメモリ12内の連続するスライスを指してい
る。
【0029】データ・スライスを送信トランスポーザ2
2にロードできるようにしたあと、マイクロ・コントロ
ーラは、送信トランスポーザ22が一杯になったかどう
か、つまり、通信リンクHC H(11:0)とH
L(11:0)の各々を利用して送信できるデ
ータ・スライスが送信トランスポーザ22にあるかどう
かを調べる(S103)。もしなければ、マイクロ・コ
ントローラはS101に戻って、別の反復を開始する。
送信トランスポーザが一杯であるとマイクロ・コントロ
ーラ5が判断したときは、S104に進んで、そこから
データを送ることを始める。
【0030】先に進む前に、一杯になった送信トランス
ポーザ22の内容について説明しておく。図4に示すよ
うに、送信トランスポーザには連続したスロット50
(0)〜50(31)(これらは代表して、符号50
(i)で示すことにする)があり、その各々には、デー
タ・バス13を構成するデータ線(31:0)を通って
そこに送られてきた1つのデータ・スライスが保管され
る。データ・スライスが保管されているスロット50
(i)は、送信書込みポインタ・レジスタ25に格納さ
れているポインタが指している。上述したように、各反
復時には、レジスタ25に入るポインタは、S102で
スロットにロードする前に、S101で用意される。
【0031】本発明の実施例では、送信トランスポーザ
22は、殆どのスロット50(0)〜50(11)とス
ロット50(16)〜50(27)にデータ・スライス
が収められたとき、一杯になるようにしている。各PE
チップ11に置かれた経路指定ノード15Lと15Hの
各々は12の出力通信リンクHC L(11:0)
とHC H(11:0)に接続されているので、こ
の実施例では、スロット50(0)〜50(11)と5
0(16)〜50(27)といったように、24個のス
ロットだけからのデータ・スライスを同時に送ることが
できる。この場合、送信トランスポーザ22には、図4
に示すように、通信リンクの各々を利用して送信すべき
データ・スライスがあるので、データ・スライスが他の
スロット50(i)に保管される場合は、これらのデー
タ・スライスは、この実施例では送られないことにな
る。
【0032】以上の説明から理解されるように、どのよ
うな計算がコンピュータ・システムによって実行される
かに応じて、送信トランスポーザ22を「一杯になっ
た」とみなすことができるので、送信すべきデータ・ス
ライスを収めるスロットが50(0)〜50(11)と
50(16)〜50(27)のすべてより少なければ、
送信が行なわれる。例えば、処理ノード10とそれぞれ
の最寄りの4つまたは6つの処理ノード間で“NEW
S”送信を行なう場合は、送信すべきデータ・スライス
を収めるスロット50(i)は4つまたは6つだけあれ
ばよい。その場合、送信書込みポインタ・レジスタ25
に反復的にロードされるトランスポーザ・スロット・ポ
インタを使用すれば、送信トランスポーザ22にある該
当のスロット50(i)を選択できるので、データ・ス
ライスは、該当する最寄りの処理ノード10に送られる
ことになる。
【0033】再び図2において、送信トランスポーザが
一杯になったとマイクロ・コントローラ5が判断する
と、各々がS104〜S106からなる一連の反復操作
を開始して、通信リンクを利用して送信トランスポーザ
22からデータの送信を行なう。この操作では、マイク
ロ・コントローラの反復制御を受けて、送信トランスポ
ーザ22に保管されているデータ・スライスのすべてか
ら順次ビットを同時に送ることができる。つまり、各反
復“i”時に、マイクロ・コントローラ5はXPOSE
R CTRLトランスポーザ制御信号を生成し、送信ト
ランスポーザ22はこの信号の制御を受けて、マルチプ
レクサ30を経由して送信トランスポーズ・ワードをデ
ータ・バス線13上で結合する(S104)。反復
“i”時の送信トランスポーズ・ワードは「i番目」の
ビットからなり、送信トランスポーザにあるスロット5
0のすべてに入っている。図4に示すように、各反復
時、スロット50(i)からのデータ・ビットがデータ
・バス13のデータ線D(i)上に送出される。
【0034】データがデータ・バス13上に送出される
と、マイクロ・コントローラ5はRTR CTRL経路
指定制御信号を生成するので、経路指定ノード15Hと
15L(図1)はこの信号の制御を受けて、データ線D
(11:0)とD(16:27)上のビットを、それぞ
れ通信リンクHC L(11:0)とHC
(11:0)上に送出することができる(S105)。
そのあと、マイクロ・コントローラ5は、データがすべ
て送信トランスポーザ22から送出されたかどうかを判
断し(S106)、送出されていなければ、S104に
戻って、次のトランスポーズ・ワードを送信できるよう
にする。他方、マイクロ・コントローラ5がS106
で、データがすべて送信トランスポーザから送出された
と判断したときは、送信操作を終了させる(S10
7)。
【0035】以上の説明から理解されるように、送信ト
ランスポーザ22からデータを送信するために必要なS
104〜S106の反復回数は、送信トランスポーザ2
2に保管されているデータ・スライスの中のデータのビ
ット数に対応している。送信トランスポーザ22から送
ることができる送信トランスポーズ・ワードの最大数
は、送信されるデータ・スライスの中のビットの最大数
に対応しており、本発明の実施例では32ビットになっ
ている。従って、マイクロ・コントローラ5は、データ
がすべて送信トランスポーザから送信されたかどうかを
判断するとき(S104で)、反復カウンタを使用して
S104〜S106の反復数をカウントにとり、反復カ
ウンタがデータ・スライスの中のビット数に対応する値
までカウントしたとき、あるいは送信すべきビット数が
全部でないときは、送信すべきビット数に対応する値ま
でカウントしたとき、終了することができる。
【0036】送信データの受信に関してマイクロ・コン
トローラ5の制御を受けて行なわれる操作について、図
3と図5を参照して説明する。上述したように、マイク
ロ・コントローラ5の制御を受けて、処理ノード10は
インタリーブ方式で送受信を行なうことができる。つま
り、マイクロ・コントローラ5の制御を受けて処理ノー
ド10の経路指定ノード15Hと15Lがトランスポー
ズ・ワードのビットをある反復操作時に通信リンクHC
H(11:0)とHC L(11:0)上に
送出できるとき、マイクロ・コントローラ5の制御を受
けて、処理ノード10は同時に反復される受信操作時
に、通信リンクHC H(11:0)とHC
L(11:0)からビットを受信することもできる。従
って、図3に示している受信操作の少なくとも一部は図
2に示す送信操作と同時に行なわれることになる。
【0037】図3に示すように、処理ノード10が通信
リンクからビットを受信することは、S112からS1
15までを続けて反復して行なわれ、各受信の反復はデ
ータ・ビットが送信反復時に通信リンク上に送出された
あと行なわれる(図2のS104〜S106)。これに
より、処理ノード10は、送信反復時に送られてきたビ
ットを受信することができる。連続する受信反復時に、
処理ノード10は、そこに接続された他の処理ノードか
らデータ・スライスの連続するビットを受信する。各々
の反復では、各処理ノード10はデータ・スライスの中
の対応するビット記憶場所からビットを受信する。連続
する反復では、各処理ノード10は受信トランスポーザ
23の連続するスロットにビットを保管するのが通常で
ある。従って、初期状態では、マイクロ・コントローラ
5はXPOSER CTRLトランスポーザ制御信号を
生成し、その信号の制御を受けて、各処理ノード10に
置かれているトランスポーザ・モジュール21は、受信
トランスポーザ23の最初のスロットを指すようにその
書込みポインタ・レジスタ28を初期設定する(S11
1)。
【0038】各処理ノード10の書込みポインタ・レジ
スタ28の初期設定を終えると、マイクロ・コントロー
ラ5は、各々がS112 〜115 からなる順次受信反復を開
始して、受信したデータを受信トランスポーザ23にロ
ードする。各々の反復時に、マイクロ・コントローラ5
はRTR CTRL経路指定制御信号を生成し、この信
号の制御を受けて、処理ノード10の経路指定ノード1
5Hと15Lは、そのとき通信リンクHC H(1
1:0)とHC L(11:0)上にあったデータ
・ビットをそれぞれ受信し、これらをデータ・バス13
のデータ線D(27:16)とD(11:0)上に結合
する(S112)。そのあと、マイクロ・コントローラ
5はXPOSERCTRLトランスポーザ制御信号を生
成し、この信号の制御を受けて、マルチプレクサ27は
データ・ビットを受信トランスポーザ23につながるデ
ータ・バス23のデータ線D(31:0)上に結合し、
受信トランスポーザ23は、書込みポインタ・レジスタ
28の内容が示している受信トランスポーザ23側のス
ロットにそれらを保管する(S113)。
【0039】図5に示すように、送信トランスポーザ2
2の場合と同じように、受信トランスポーザ23は、ス
ロット60(0)〜60(31)(これらは代表して符
号60(i)で示されている)で示した複数のスロット
を備えている。受信トランスポーザ23側のスロットに
は、「i番目」の受信反復時に受信したデータ・ビット
がロードされる。連続する反復では、通信リンクHC
H(11:0)とHC L(11:0)の各々
からのビットは、連続するスロット60内の同じビット
記憶場所と結合される。従って、図5に示すように、そ
こに接続された処理ノード10からのデータ・スライス
は、受信トランスポーザ23側の連続するスロット内の
同じビット記憶場所に置かれている。以上の説明から理
解されるように、受信トランスポーザ23から得られる
各トランスポーズ・ワードは、連続するスロット60内
の同じビット記憶場所からのビットから構成され、これ
らのビットは、上述したように、処理ノード10に送ら
れたデータ・スライスの連続するビットに対応してい
る。従って、受信トランスポーザにあるトランスポーズ
・ワードは、下述するように、受信側処理ノード10の
メモリ12内にデータ・スライスとして保管されるが、
これらを送ってきた処理ノード10のメモリ12内のデ
ータ・スライスに対応している。
【0040】再び図3に示すように、S113が終わる
と、マイクロ・コントローラ5は、処理ノード10に置
かれている受信トランスポーザ23が一杯になったかど
うかを判断し(S114)、一杯になっていなければ、
その制御を受けて、処理ノード10は、そのレジスタ2
8に格納されている受信書込みポインタをインクリメン
トする(S115)。マイクロ・コントローラの制御を
受けて実行された受信反復回数がデータ・スライスの中
のビット数に一致するか、あるいは送信すべきビットが
データ・スライスのすべてのビットより少ないないとき
はその少ないビット数に一致したとき、受信トランスポ
ーザ23は一杯になる。受信トランスポーザ23がまだ
一杯になっていないとマイクロ・コントローラ5が判断
したときは、S112に戻って次の受信反復が開始され
る。
【0041】他方、マイクロ・コントローラ5が、メッ
セージ転送サイクル期間にその制御の下で実行した受信
反復回数がデータ・スライスの中のビット数に一致した
とS111で判断したときは、S116とS117から
なる操作に進み、そこで処理ノード10がそれぞれの受
信トランスポーザ23の内容をメモリ12に転送できる
ようにする。この操作では、マイクロ・コントローラ5
は(i)メモリ12の受信データ領域の記憶場所を指定
しているMEM ADRSメモリ・アドレス信号と、
(ii)受信トランスポーザ23がマルチプレクサ30
を経由してトランスポーズ・ワードをデータ・バス13
上に結合できるようにするXPOSERCTRLトラン
スポーザ制御信号と、(iii)データ・バス13上の
信号で表わされたデータをメモリ12に格納できるよう
するMEM CTRLメモリ制御信号とを生成する(S
116)。次に、マイクロ・コントローラ5は、処理ノ
ード10に置かれている受信トランスポーザ23からの
トランスポーズ・ワードのすべてがそれぞれのメモリ1
2に格納されたかどうかを判断する(S117)。マイ
クロ・コントローラがS117で否定の判断を行なった
ときは、S116に戻って、受信トランスポーザ23か
らの次のトランスポーズ・ワードをそれぞれのメモリ1
2に格納できるようにする。逆に、マイクロ・コントロ
ーラ5がS117で肯定の判断を行なったときは、終了
する(S120)。
【0042】以上の説明から理解されるように、それぞ
れの処理ノード10の受信トランスポーザ23にデータ
を保管することを制御する書込みポインタ・レジスタ2
8の初期設定(S111)とインクリメント(S11
5)は、それぞれの処理ノードに受信されたスライスの
データ・ビットがその送信時と同じ順序で保管される場
合に行なわれる。どのような計算が行なわれるかに応じ
て、データ・スライスのバイト(8ビット・セクショ
ン)を入れ替えるといったように、ビットの順序を変更
することが望ましい場合がある。その場合には、送信操
作(図2)で使用したトランスポーザ・スロット・ポイ
ンタと同じようなスロット・ポインタをメモリ12に用
意しておき、送信操作(図2)のS101と同じよう
に、受信したデータを受信トランスポーザ23にロード
する前にスロット・ポインタを書込みポインタ・レジス
タ28にロードしておくことができる。受信データの中
のビットをセクションまたはグループで入れ替える場合
は、データ・ビットを保管しようとする受信トランスポ
ーザ23内の最初の記憶場所にポインタを用意してお
き、そのセクションの連続する記憶場所ごとにポインタ
をインクリメントしていくことができる。
【0043】
【発明の効果】これまでに説明した本発明の通信構成に
は、いくつかの利点がある。1つは、前掲のHilli
s特許およびHillis他特許出願に開示されている
システムの場合と異なり、スライス形式で編成されたデ
ータを処理ノード10相互間で転送できることである。
さらに、いくつかの環境では、本発明の通信構成による
と、Hillis特許およびHillis他特許出願に
開示されているシステムのグローバル・ルータやNEW
S構造によるよりも、高速にデータを転送できることで
ある。特に、本発明の1つの実施例では、Hillis
特許で説明されているグローバル・ルータと同じ配線と
経路指定ノード回路が使用されているが、その場合で
も、本発明の通信構成によれば、転送されるデータにア
ドレス情報を含んでいないので、少なくともデータの転
送を高速化することができる。
【0044】さらに、以上説明した通信構成によれば、
Hillis特許に開示されているNEWS構造よりも
転送を高速化することができることである。これは、N
EWS構造では、データを転送できるのが一方向に限ら
れ、しかも一度に1つの最寄りの隣接ノードとしか転送
できないのに対して、本発明によれば、最寄りの隣接ノ
ードのすべてとの間で同時にデータを転送できるためで
ある。さらに、NEWS構造では、最寄りの隣接ノード
との転送が2次元または3次元の配列(アレイ)パター
ンに限られているのに対して、本発明の通信構成によれ
ば、2次元、3次元、またはそれ以上の多次元の配列パ
ターンで転送を行なうことができるので、多数の計算で
利用することができることである。
【0045】これまでに述べてきたことは、本発明の特
定の実施例に限定されるものではなく、各種変更および
改良を加えて、本発明がもつ利点の一部またはすべてを
得ることが可能であることは勿論である。従って、特許
請求の範囲に明確されている記載には、本発明の精神と
範囲を逸脱しない限り、かかる変更および改良のすべて
が包含されるものである。
【図面の簡単な説明】
【図1】本発明による通信構成を採用したコンピュータ
・システムの一部を示したブロック図である。
【図2】新規通信構成の動作を説明するための流れ図で
ある。
【図3】新規通信構成の動作を説明するための流れ図で
ある。
【図4】新規通信構成の動作を説明するためのデータ構
造を示した概略図である。
【図5】新規通信構成の動作を説明するためのデータ構
造を示した概略図である。
【符号の説明】
5 マイクロ・コントローラ 6 ホスト・コンピュータ 10 処理ノード 11 処理要素(PE)チップ 12 メモリ 13 データ・バス 14 直列プロセッサ 15 経路指定ノード 20 補助プロセッサ 21 トランスポーザ・モジュール 22,23 トランスポーザ回路 24,27 入力マルチプレクサ 25,28 書込みポインタ・レジスタ 26 バス 30,31 出力マルチプレクサ 32 バス 50,60 スロット

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 複数の通信リンクで相互に接続された複
    数の処理ノードからなり、各々の処理ノードは、 (1)データをスライスで記憶するためのメモリと、 (2)メモリに接続され、メモリに記憶されているデー
    タ・スライスの中から選択したもののトランスポーズ・
    データ・ワードを生成するためのトランスポーザ・モジ
    ュールと、 (3)トランスポーザ・モジュールと通信リンクとに接
    続され、通信リンクを利用してトランスポーズ・データ
    ・ワードを転送し、それによってデータ・スライスを処
    理ノード相互間で転送するための経路指定ノードとを備
    え、 処理ノードのメモリ、トランスポーザ・モジュールおよ
    び経路指定ノードを並列に制御し、これによってデータ
    ・スライスを処理ノード間で一斉に転送できるようにす
    るコントローラからなることを特徴とする多次元並列処
    理システム。
  2. 【請求項2】 経路指定ノードも通信リンクからデータ
    ・スライスを受け取り、トランスポーザ・モジュールも
    経路指定ノードに受信されたデータ・スライスを転置し
    たものを生成して、それらをメモリに記憶しておくよう
    にしたことを特徴とする請求項1に記載の多次元並列処
    理システム。
  3. 【請求項3】 各々の処理ノードにおいて、メモリとト
    ランスポーザ・モジュールは複数のデータ線からなるバ
    スで相互に接続され、メモリは各々がアドレスで指定さ
    れた複数の記憶場所の1つに各々のデータ・スライスを
    記憶し、コントローラはアドレスをメモリと結合し、送
    信すべきデータ・スライスのメモリ内の記憶場所を指定
    するようにしたことを特徴とする請求項2に記載の多次
    元並列処理システム。
  4. 【請求項4】 各々のトランスポーザ・モジュールは、
    データ・スライスをメモリから受け取り、受信するとそ
    れに応じて、経路指定ノードに送るための送信トランス
    ポーズ・ワードを生成する送信トランスポーザと、デー
    タ・スライスを経路指定ノードから受け取り、受信する
    とそれに応じて、メモリに記憶するための受信トランス
    ポーズ・ワードを生成する受信トランスポーザとを備え
    ていることを特徴とする請求項2に記載の多次元並列処
    理システム。
  5. 【請求項5】 送信トランスポーザは、各々が通信リン
    クと関連づけられている複数のスロットを含み、トラン
    スポーザ・モジュールは、さらに、データ・スライスが
    格納される送信トランスポーザ側のスロットを指してい
    るポインタを格納するための送信書込みポインタ・レジ
    スタを備えており、これによって、データ・スライスを
    送信するときに利用するそれぞれの通信リンクにデータ
    ・スライスを関連づけ、送信書込みポインタ・レジスタ
    にポインタ値を設定することをコントローラの制御で行
    なうことを特徴とする請求項4に記載の多次元並列処理
    システム。
  6. 【請求項6】 各処理モジュールのメモリは、連続する
    送信ポインタを記憶し、送信ポインタのうち連続する送
    信ポインタを送信書込みポインタ・レジスタに連続的に
    送り、連続するデータ・スライスを処理ノードに置かれ
    た送信トランスポーザのスロットに記憶することをコン
    トローラの制御を受けて行なうことを特徴とする請求項
    5に記載の多次元並列処理システム。
  7. 【請求項7】 受信トランスポーザは複数のスロットを
    含み、各処理ノードは、さらに、経路指定ノードに受信
    したデータが格納される受信トランスポーザ側のスロッ
    トを指しているポインタを格納するための受信書込みポ
    インタ・レジスタを備えており、受信書込みポインタ・
    レジスタの最初のスロットを指すように、そして経路指
    定ノードからの連続するデータ・ワードを記憶するため
    に反復的にインクリメントするように、受信書込みポイ
    ンタ・レジスタを初期設定することをコントローラの制
    御で行なうことを特徴とする請求項4に記載の多次元並
    列処理システム。
  8. 【請求項8】 複数の通信リンクで相互に接続された複
    数の処理ノードからなり、各々の処理ノードは、 (1)各々がアドレスで指定され、データ・スライスと
    送信スロット・ポインタを記憶するための複数の記憶場
    所を備えたメモリと、 (2)トランスポーザ・モジュールと通信リンクとに接
    続され、通信リンクを利用してトランスポーズ・データ
    ・ワードを送受し、それによって処理ノード相互間でデ
    ータ・スライスを転送するための経路指定ノードと、 (3)トランスポーザ・モジュールを備えており、トラ
    ンスポーザ・モジュールは、 (a)メモリからデータ・スライスを受け取り、受信す
    るとそれに応じて、経路指定ノードに送るための送信ト
    ランスポーズ・ワードを生成し、各々が通信リンクと関
    連づけられた複数のスロットを備えている送信トランス
    ポーザと、 (b)データ・スライスが記憶される送信トランスポー
    ザ側のスロットを指しているポインタを格納し、それに
    よって、データ・スライスと送るときに利用するそれぞ
    れの通信リンクにデータ・スライスを関連づけるための
    送信書込みポインタ・レジスタと、 (c)経路指定ノードからのデータ・スライスを受け入
    れて、受信するとそれに応じて、メモリに記憶するため
    に受信トランスポーズ・ワードを生成するための複数の
    スロットを備えた受信トランスポーザと、 (d)経路指定ノードに受信したデータが記憶される受
    信トランスポーザ側のスロットを指しているポインタを
    格納するための受信書込みポインタ・レジスタとを備え
    ており、 処理ノードのメモリ、トランスポーザ・モジュールおよ
    び経路指定ノードを並列に処理し、それによってデータ
    ・スライスを処理ノード間で一斉に転送することを可能
    にするコントローラからなり、コントローラは送信する
    データ・スライスのメモリ内の記憶場所を指定したアド
    レスを生成してメモリに送り、さらに、コントローラ
    は、送信ポインタのうち連続する送信ポインタを送信書
    込みポインタ・レジスタに連続的に送り、連続するデー
    タ・スライスを処理ノードに置かれた送信トランスポー
    ザのスロットに記憶することを制御し、そして受信書込
    みポインタ・レジスタの最初のスロットを指すように受
    信書込みポインタ・レジスタを初期設定し、それを反復
    的にインクリメントして、経路指定ノードからの連続す
    るデータ・ワードを受信トランスポーザの連続するスロ
    ットに記憶することを制御することを特徴とする多次元
    並列処理システム。
JP3102742A 1990-05-08 1991-05-08 多次元並列処理システム Pending JPH0589066A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/520,701 US5247613A (en) 1990-05-08 1990-05-08 Massively parallel processor including transpose arrangement for serially transmitting bits of data words stored in parallel
US520,701 1990-05-08

Publications (1)

Publication Number Publication Date
JPH0589066A true JPH0589066A (ja) 1993-04-09

Family

ID=24073726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3102742A Pending JPH0589066A (ja) 1990-05-08 1991-05-08 多次元並列処理システム

Country Status (5)

Country Link
US (1) US5247613A (ja)
EP (1) EP0456201B1 (ja)
JP (1) JPH0589066A (ja)
CA (1) CA2041893A1 (ja)
DE (1) DE69122161T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021057076A (ja) * 2015-05-21 2021-04-08 ゴールドマン サックス アンド カンパニー エルエルシー 多目的の並列処理アーキテクチャ
US11449452B2 (en) 2015-05-21 2022-09-20 Goldman Sachs & Co. LLC General-purpose parallel computing architecture

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68909426T2 (de) * 1988-01-15 1994-01-27 Quantel Ltd Datenverarbeitung und -übertragung.
CA2043505A1 (en) * 1990-06-06 1991-12-07 Steven K. Heller Massively parallel processor including queue-based message delivery system
EP0552288A1 (en) * 1990-10-03 1993-07-28 Thinking Machines Corporation Parallel computer system
US5630162A (en) 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
JP2647327B2 (ja) 1992-04-06 1997-08-27 インターナショナル・ビジネス・マシーンズ・コーポレイション 大規模並列コンピューティング・システム装置
FR2692382A1 (fr) * 1992-06-16 1993-12-17 Technium Processeur parallèle pour traitement de multiple données par une série d'instructions répétitives.
AU4804493A (en) * 1992-08-07 1994-03-03 Thinking Machines Corporation Massively parallel computer including auxiliary vector processor
US5440687A (en) * 1993-01-29 1995-08-08 International Business Machines Corporation Communication protocol for handling arbitrarily varying data strides in a distributed processing environment
FR2707778B1 (fr) * 1993-07-15 1995-08-18 Bull Sa NÓoeud de processeurs.
US5622819A (en) * 1995-03-28 1997-04-22 Kinetic Biosystems, Inc. Centrifugal fermentation process
GB9509988D0 (en) * 1995-05-17 1995-07-12 Sgs Thomson Microelectronics Matrix transposition
US5819106A (en) * 1995-11-27 1998-10-06 Sun Microsystems, Inc. Method of transposing data buffer by selectively merging pairs of rows, interleaving two operands of equal length yielding output twice the length of each operand
US6836838B1 (en) 1998-06-29 2004-12-28 Cisco Technology, Inc. Architecture for a processor complex of an arrayed pipelined processing engine
US6101599A (en) * 1998-06-29 2000-08-08 Cisco Technology, Inc. System for context switching between processing elements in a pipeline of processing elements
US6513108B1 (en) 1998-06-29 2003-01-28 Cisco Technology, Inc. Programmable processing engine for efficiently processing transient data
US6119215A (en) * 1998-06-29 2000-09-12 Cisco Technology, Inc. Synchronization and control system for an arrayed processing engine
US6195739B1 (en) 1998-06-29 2001-02-27 Cisco Technology, Inc. Method and apparatus for passing data among processor complex stages of a pipelined processing engine
US6356548B1 (en) 1998-06-29 2002-03-12 Cisco Technology, Inc. Pooled receive and transmit queues to access a shared bus in a multi-port switch asic
US6728839B1 (en) 1998-10-28 2004-04-27 Cisco Technology, Inc. Attribute based memory pre-fetching technique
US6173386B1 (en) 1998-12-14 2001-01-09 Cisco Technology, Inc. Parallel processor with debug capability
US6385747B1 (en) 1998-12-14 2002-05-07 Cisco Technology, Inc. Testing of replicated components of electronic device
US6920562B1 (en) 1998-12-18 2005-07-19 Cisco Technology, Inc. Tightly coupled software protocol decode with hardware data encryption
US6529983B1 (en) 1999-11-03 2003-03-04 Cisco Technology, Inc. Group and virtual locking mechanism for inter processor synchronization
US6681341B1 (en) 1999-11-03 2004-01-20 Cisco Technology, Inc. Processor isolation method for integrated multi-processor systems
US6892237B1 (en) 2000-03-28 2005-05-10 Cisco Technology, Inc. Method and apparatus for high-speed parsing of network messages
US6505269B1 (en) 2000-05-16 2003-01-07 Cisco Technology, Inc. Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system
US6912626B1 (en) * 2000-08-31 2005-06-28 Micron Technology, Inc. Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner
US7376811B2 (en) * 2001-11-06 2008-05-20 Netxen, Inc. Method and apparatus for performing computations and operations on data using data steering

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63257052A (ja) * 1987-04-15 1988-10-24 Agency Of Ind Science & Technol マルチプロセツサシステム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB223867A (en) * 1923-10-26 1925-03-12 Paul Greve Improvements in twine polishing and drying machines
US4031512A (en) * 1975-05-29 1977-06-21 Burroughs Corporation Communications network for general purpose data communications in a heterogeneous environment
US4174514A (en) * 1976-11-15 1979-11-13 Environmental Research Institute Of Michigan Parallel partitioned serial neighborhood processors
US4380046A (en) * 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
US4314349A (en) * 1979-12-31 1982-02-02 Goodyear Aerospace Corporation Processing element for parallel array processors
US4727474A (en) * 1983-02-18 1988-02-23 Loral Corporation Staging memory for massively parallel processor
US4623996A (en) * 1984-10-18 1986-11-18 Mcmillen Robert J Packet switched multiple queue NXM switch node and processing method
GB2188175B (en) * 1986-03-18 1990-02-07 Stc Plc Data processing arrangement
US4910665A (en) * 1986-09-02 1990-03-20 General Electric Company Distributed processing system including reconfigurable elements
US4766534A (en) * 1986-10-16 1988-08-23 American Telephone And Telegraph Company, At&T Bell Laboratories Parallel processing network and method
US4891751A (en) * 1987-03-27 1990-01-02 Floating Point Systems, Inc. Massively parallel vector processing computer
US4984235A (en) * 1987-04-27 1991-01-08 Thinking Machines Corporation Method and apparatus for routing message packets and recording the roofing sequence
KR920001953B1 (ko) * 1987-06-30 1992-03-07 유니시스 코포레이숀 회로기판에서의 클록 디-큐잉(de-skewing)을 자동공급하는 방법 및 그 장치
US5136718A (en) * 1987-09-04 1992-08-04 Digital Equipment Corporation Communications arrangement for digital data processing system employing heterogeneous multiple processing nodes
US5043596A (en) * 1988-09-14 1991-08-27 Hitachi, Ltd. Clock signal supplying device having a phase compensation circuit
US5101347A (en) * 1988-11-16 1992-03-31 National Semiconductor Corporation System for reducing skew in the parallel transmission of multi-bit data slices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63257052A (ja) * 1987-04-15 1988-10-24 Agency Of Ind Science & Technol マルチプロセツサシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021057076A (ja) * 2015-05-21 2021-04-08 ゴールドマン サックス アンド カンパニー エルエルシー 多目的の並列処理アーキテクチャ
US11449452B2 (en) 2015-05-21 2022-09-20 Goldman Sachs & Co. LLC General-purpose parallel computing architecture

Also Published As

Publication number Publication date
EP0456201B1 (en) 1996-09-18
US5247613A (en) 1993-09-21
DE69122161D1 (de) 1996-10-24
EP0456201A3 (en) 1993-03-03
DE69122161T2 (de) 1997-02-06
EP0456201A2 (en) 1991-11-13
CA2041893A1 (en) 1991-11-09

Similar Documents

Publication Publication Date Title
JPH0589066A (ja) 多次元並列処理システム
EP0460599B1 (en) Massively parallel processor including queue-based message delivery system
US5247694A (en) System and method for generating communications arrangements for routing data in a massively parallel processing system
US5058001A (en) Two-dimensional array of processing elements for emulating a multi-dimensional network
EP0085520B1 (en) An array processor architecture utilizing modular elemental processors
EP0132926B1 (en) Parallel processor
US5367692A (en) Parallel computer system including efficient arrangement for performing communications among processing node to effect an array transposition operation
US7673118B2 (en) System and method for vector-parallel multiprocessor communication
EP0485690A2 (en) Parallel associative processor system
US5157785A (en) Process cell for an n-dimensional processor array having a single input element with 2n data inputs, memory, and full function arithmetic logic unit
US7073039B2 (en) Providing a register file memory with local addressing in a SIMD parallel processor
US8949576B2 (en) Arithmetic node including general digital signal processing functions for an adaptive computing machine
US4524428A (en) Modular input-programmable logic circuits for use in a modular array processor
US6675283B1 (en) Hierarchical connection of plurality of functional units with faster neighbor first level and slower distant second level connections
EP0570952A2 (en) Slide network for an array processor
EP0280969B1 (en) Architecture for twodimensional construction of a multidimensional array processor implementing hop command
EP0240354A1 (en) Memory Architecture for multiprocessor computers
EP0341406B1 (en) Methods and circuit for implementing an arbitrary graph on a polymorphic mesh
JP2755769B2 (ja) データ駆動型データ処理装置
JP2840295B2 (ja) 計算機のデータ通信システム
JPH0512230A (ja) 計算機のデータ通信システム
Cypher et al. Parallel Computer Architectures
CA2016193A1 (en) Optimized interconnect networks
JPS644218B2 (ja)