JPH0636060A - スライド・ネットワークに使用するアレイ・プロセッサ - Google Patents

スライド・ネットワークに使用するアレイ・プロセッサ

Info

Publication number
JPH0636060A
JPH0636060A JP11933393A JP11933393A JPH0636060A JP H0636060 A JPH0636060 A JP H0636060A JP 11933393 A JP11933393 A JP 11933393A JP 11933393 A JP11933393 A JP 11933393A JP H0636060 A JPH0636060 A JP H0636060A
Authority
JP
Japan
Prior art keywords
picket
array
data
communication
processor
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
JP11933393A
Other languages
English (en)
Other versions
JP2525117B2 (ja
Inventor
Paul Amba Wilkinson
ポール・アンバ・ウイルキンソン
Norman Barker Thomas
トーマス・ノーマン・バーカー
Walren Difenderfer James
ジェイムス・ワーレン・ディフェンダファ
Peter Michael Kogge
ピータ・ミッチェル・コーゲ
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.)
International Business Machines Corp
Original Assignee
International Business 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0636060A publication Critical patent/JPH0636060A/ja
Application granted granted Critical
Publication of JP2525117B2 publication Critical patent/JP2525117B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • G06F15/17343Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture
    • 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】
【産業上の利用分野】本発明はコンピュータ及びコンピ
ュータ・システムに関し、特にプロセッサのアレイに関
する。本発明は、更に詳細には、隣又は隣接にはないか
もしれない受信先処理要素に情報を到達させるため、1
処理要素からの通過情報を使用可能にしてネットワーク
の通過中間処理要素をスライドさせるようにしたスライ
ド・ネットワークに使用するアレイ・プロセッサに関す
る。本発明による好ましい実施例のネットワーク・デー
タ通信経路は並列であり、ビット直列データ通信経路で
はない。
【0002】
【従来の技術】相互参照特許出願 本願は下記の関連特許出願の部分継続出願であり、その
優先権を要求する。“並列連想プロセッサ・システム”
と称するジェイ・ディーフェンダーファほかにより19
90年11月13日に提出の米国特許出願611,59
4号。“動的複数モード並列プロセッサ・アレイ・アー
キテクチャ”と称するピー・エム・コージにより199
1年11月27日に提出の米国特許出願798,788
号。
【0003】更に、本願は本願と同時出願の下記特許出
願と関連がある。“SIMD処理要素内の命令”と称す
るピー・エイ・ウイルキンソンほかにより1992年5
月22日に提出の米国特許出願。“SIMD機における
浮動小数点の実現”と称するピー・エイ・ウイルキンソ
ンほかにより1992年5月22日に提出の米国特許出
願。“SIMDピケットのグループ化”と称するピー・
エイ・ウイルキンソンほかにより1992年5月22日
に提出の米国特許出願。“アレイ・プロセッサ用スライ
ド・ネットワーク”と称するピー・エイ・ウイルキンソ
ンほかにより1992年5月22日に提出の米国特許出
願。“SIMD機におけるピケットの自律化”と称する
ピー・エイ・ウイルキンソンほかにより1992年5月
22日に提出の米国特許出願。“H−DOTSに基づく
アレイ・プロセッサ通信ネットワーク”と称するピー・
エイ・ウイルキンソンほかにより1992年5月22日
に提出の米国特許出願。“SIMD/MIMD機用制御
機能”と称するアール・アール・リチャードソンほかに
より1992年5月22日に提出の米国特許出願。
【0004】更に、本願は下記特許出願に関連がある。
“拡張並列アレイ・プロセッサ”と称するティー・バー
カほかにより1992年5月22日に提出の米国特許出
願。“SIMD/MIMD処理メモリー要素”と称する
ティー・バーカほかにより1992年5月22日に提出
の米国特許出願。“PME記憶及び転送/回路切替モー
ド”と称するティー・バーカほかにより1992年5月
22日に提出の米国特許出願。“完全分散処理メモリー
要素”と称するティー・バーカほかにより1992年5
月22日に提出の米国特許出願。“N次元修正ハイパー
コード”と称するティー・バーカほかにより1992年
5月22日に提出の米国特許出願。
【0005】“拡張並列プロセッサ・アレイ・ディレク
タ”と称するエム・ダップほかにより1992年5月2
2日に提出の米国特許出願。“APAP機械的パッケー
ジ”と称するエム・ダップほかにより1992年5月2
2日に提出の米国特許出願。“APAP I/O プロ
グラマブル・ルータ”と称するエム・ダップほかにより
1992年5月22日に提出の米国特許出願。“APA
P I/O ジッパ接続”と称するティー・バーカほか
により1992年3月に提出の米国特許出願。
【0006】本願及び上記出願中の特許出願はニューヨ
ーク州アーモンクのインターナショナル・ビジネス・マ
シーンズ・コーポレイションに譲渡され所有されてい
る。上記出願中の特許出願の記載は参照事項により本願
に編入される。
【0007】他の相互参照特許出願 本願と同一譲受人に譲渡され、本願出願時に所有した相
互参照特許出願は下記のものを含む。1988年9月2
7日に提出され、現在は“SIMDアレイ・プロセッ
サ”と称するジェイムス・エル・テイラにより1990
年5月4日に提出されたその継続出願第07/519,
332号の利益となるように放棄された米国特許出願第
07/250,595号(1989年5月3日にEPO
出願第88307855/88−Aとして最初開示され
た)。
【0008】“ポリモルフィック・メッシュに任意なグ
ラフを実現する回路及び方法”と称するエイチ・リーに
より1988年5月13日に提出の米国特許出願第07
/193,990号。“大容量並列SIMDコンピュー
タ用2次元入出力方式”と称するアール・ジャフェほか
により1989年10月24日に提出の米国特許出願第
07/426,140号。“並列プロセッサ・システム
におけるメモリー保護操作実行装置及び方法”と称する
ダヴリュー・シー・ディートリック,ジュニアほかによ
り1989年11月21日に提出の米国特許出願第07
/439,758号。
【0009】“相互接続処理要素システム及び相互接続
方法”と称するダヴィド・ビー・ロルフにより1991
年5月13日に提出の米国特許出願第07/698,8
66号。出願中の上記参照全特許出願は本願と同一譲受
人であるインターナショナル・ビジネス・マシーンズ・
コーポレイションに譲渡され所有されている。上記特許
出願の記載は参照事項により本願に編入される。
【0010】使用用語集 ・ALU プロセッサの演算論理装置である。 ・アレイ 1次元以上の構成要素又は要素の配列を示す。アレイは
ホートランのような言語において単一名で識別される順
序付きデータ項目(アレイ要素)群を含む。他の言語に
おいては、かかる順序付きデータ項目群の名称は全べて
同一属性を有するデータ要素群又は順序付き集合を示
す。
【0011】プログラム・アレイは一般に数又は次元属
性によって指定された次元を有する。又、アレイの宣言
子はある言語のアレイの各次元のサイズを指定すること
ができる。ある言語において、アレイはテーブルの要素
の配列である。ハードウェアを意味する場合、アレイは
大規模並列アーキテクチャの全体的に同一な構造(機能
要素)の集合である。データ並列演算におけるアレイ要
素は、並列が各独立であり、要求されたオペレーション
を並列に実行することができるときに、そのオペレーシ
ョンを割当てることができる要素である。一般に、アレ
イは処理要素の格子とみなすことができる。アレイの各
部には、部分データが正規の格子パターンの周囲を移動
することができるように、その部分データを割当てるこ
とができる。しかし、データはアレイの任意な位置に割
振り、又は割当てることができる。
【0012】・アレイ・ディレクタ アレイに対する制御装置としてプログラムされた装置で
ある。アレイ・ディレクタはアレイに配列された機能要
素のグループ化に対するマスタ・コントローラ(又は制
御装置)の機能を実行する。
【0013】・アレイ・プロセッサ 2つの主なタイプのアレイ・プロセッサがある。その1
つは複数命令複数データ(MIMD)アレイ・プロセッ
サであり、他方は単一命令複数データ(SIMD)アレ
イ・プロセッサである。MIMDアレイ・プロセッサに
おいては、アレイの処理要素は共通の命令ストリームを
経由する同一命令に制限されるが、各処理要素に関連す
るデータは個有である。本発明の好ましいアレイ・プロ
セッサは他の特性を有する。それは拡張アレイ・プロセ
ッサと呼称され、頭字語APAPを使用する。
【0014】・非同期 正規の時間関係がないことである。一方の機能の遂行に
より他方の機能の遂行を予想することができないという
ことである。すなわち、他方の機能の遂行との関係にお
いて規則的な又は予想可能な時間関係を持たずに発生す
るものである。制御状況下において、データが遊休要素
をアドレスするのを待ち状態にあるとき、コントローラ
は制御を引渡す位置を指定する。これによりオペレーシ
ョンの順次は維持されるが、他の事象の発生時刻と一致
しない。
【0015】・BOPS/GOPS BOPS又はGOPSは秒当り大量(数10億)のオペ
レーションと同じ意味を有する頭字語である。GOPS
参照。
【0016】・回路切替/記憶転送 これらの用語はノード・ネットワークを通してデータ・
パケットを移動する2つの機構を示す。記憶転送は各中
間ノードがデータ・パケットを受信し、そのメモリーに
記憶し、そしてその受信先の方に転送する。回路切替は
データ・パケットを中間ノード・メモリーに入力せず
に、そのノードを通して受信先の方に直接データ・パケ
ットを通過するよう、中間ノードの入力ポートを出力ポ
ートに論理的に接続することを指令する機構である。
【0017】・クラスタ クラスタは制御装置(クラスタ・コントローラ)及びそ
れに接続されたハードウェア(ターミナル機能装置、又
は仮想構成要素でよい)とから成るステーション(又は
端末、機能装置)である。本願のクラスタはノード・ア
レイとも称するPMEのアレイを含む。通常、クラスタ
は512PMEを持つ。本願の全PMEノード・アレイ
は、各々がクラスタ・コントローラ(CC)によって支
援されるクラスタ群から成る。
【0018】・クラスタ・コントローラ クラスタ・コントローラは1以上の装置又はそれに接続
されている機能装置に対する入出力(I/O)オペレー
ションを制御する装置である。クラスタ・コントローラ
は通常、それがIBM3601金融機関通信制御装置に
存在する場合には、装置に記憶されそこで遂行されるプ
ログラムによって制御されるが、それがIBM3272
制御装置に存在する場合には、ハードウェアにより全体
的に制御されうるものである。
【0019】・クラスタ・シンクロナイザ クラスタ・シンクロナイザは構成要素の同期オペレーシ
ョンを維持するため、クラスタの一部又は全部のオペレ
ーションを管理する機能装置である。この機能装置はプ
ログラムの遂行と特定の時間関係を維持する。
【0020】・コントローラ コントローラは相互接続ネットワークのリンクを経由し
てデータ及び命令の送信を制御する装置である。そのオ
ペレーションはコントローラが接続されているプロセッ
サで遂行されるプログラムにより、又は装置内で遂行さ
れるプログラムによって制御される。
【0021】・CMOS CMOSは相補型金属酸化物半導体技術に対する頭字語
である。それは通常動的ランダム・アクセス・メモリー
(DRAM)の製造に使用される。NMOSはDRAM
の製造に使用される他の技術である。CMOSが好まし
いが、APAPの製造に使用する技術は現に使用されて
いる半導体技術の範囲に制限されるべきものではない。
【0022】・ドッティング(Dotting) ドッティングは3以上のリードを物理的に共に接続する
ことにより結合することを示す。ほとんどのバックパネ
ル・バスはこの接続方式を共用する。この用語は経過時
間のオア・ドット(OR DOT)も表わすが、ここでは非常
に簡単なプロトコルによりバスに組合わせることができ
る複数のデータ源の識別に使用される。
【0023】本発明におけるI/Oジッパ(Zipper、後
述する)の概念は、ノードに入るポートがノードから出
るポートによって駆動され、又はシステム・バスからく
るデータによって駆動することができる概念の実現に使
用することができる。逆に、ノードから出るデータは他
のノードに対する入力と、システム・バスに対する入力
の両方に使用可能である。システム・バス及び他のノー
ドの両方に対するデータ出力は同時には行われず、サイ
クルが別である。
【0024】ドッティングは、2ポートPE或はPME
又はピケットがドッティングを利用することによって各
種編成のアレイに使用することができる場合におけるH
−DOTの検討で使用される。2D及び3Dメッシュ、
基数2N−立方(又は3次元)、疎基数4N−立方、及
び疎基数8N−立方等を含み、数個のトポロジが検討さ
れる。
【0025】・DRAM DRAMは動的ランダム・アクセス・メモリーの頭字語
であり、コンピュータの主メモリー用の記憶装置として
一般に使用される。用語DRAMはキャッシュとして、
又は主メモリーではないメモリーとしての使用にも適用
される。
【0026】・浮動小数点(FLOATING-POINT) 浮動小数点の数は2つの部分で表わされる。それらは、
固定小数点又は小数部と、ある想定の基数又はベース
(radix 、base)に対する指数部とである。指数は10
進小数点の実際の配置を示す。典型的な浮動小数点の表
現として、例えば、実数0.0001234は0.12
34−3として表わされる。その場合、0.1234は
固定小数点部であり、−3は指数である。
【0027】この例において、浮動小数点の基数又はベ
ース(radix 、base)は10である。この10は単位よ
り大きく、浮動小数点表示の指数により明示的に表わさ
れるか、浮動小数点表示の特性によって表示される冪で
累乗されてから、固定小数点部に乗算することにより実
数の表示を決定するようにした暗黙固定の正の整数の基
数を表わす。数字リテラルは実数同様浮動小数点の表記
法で表わすことができる。
【0028】・FLOPS この用語は秒当りの浮動小数点命令数を示す。浮動小数
点の計算は加算(ADD)、減算(SUB)、乗算(M
PY)、割算(DIV)及び他の多くのものを含む。秒
当りの浮動小数点命令のパラメータは屡加算又は乗算命
令を使用して計算され、一般に50/50比の混合を有
するものと推定することができる。この計算は指数、小
数、及び全べての必要な小数正規化の生成を含む。本実
施例においては、32ビット又は48ビット浮動小数点
ホーマットをアドレスすることができる(本実施例にお
いて、混合の場合、それを計数しなかったがより長くす
ることができる)。浮動小数点の計算は、固定小数点命
令によって行う場合、乗算命令を必要とする。あるもの
は結果を数字表示する場合10対1比を使用するが、あ
る特定の研究においてはより適切な使用として6.25
比を示した。各種アーキテクチャは異なる比率を有す
る。
【0029】・機能装置 機能装置は目的を達成することができるハードウェア、
ソフトウェア、又は両方の実体又はエンティティであ
る。
【0030】・Gバイト Gバイト(Gbytes)は10億(109 )バイトを示す。
Gbytes/sは秒当り10億バイトを表わす。
【0031】・GIGAFLOPS この用語は秒当り(10)**9浮動小数点命令を意味す
る。
【0032】・GOPS及びPETAOPS GOPS及びBOPSは意味が同一であり、秒当り10
9 オペレーションを意味する。PETAOPS は秒当り1012
オペレーションという現行機械の能力を意味する。本実
施例によるAPAP機のそれは、正に秒当り109 命令
を意味するBIP/GIPと同一である。ある機械にお
いて、その命令は2以上のオペレーション(すなわち、
加算及び乗算)を発生するかもしれないが、本発明はそ
のようなことはしない。その代り、1オペレーションを
実行するに多くの命令を使用するかもしれない。例え
ば、本発明は、64ビット演算を実行するに複数の命令
を使用する。しかし、本発明におけるオペレーションの
計数の際、ログ・オペレーションの計数を選択しなかっ
た。GOPSは、成果又はパホーマンスの表示に使用す
るに好ましいものであるかもしれないが、表示した使用
法に一貫性がない。あるものはMIPS/MOPSに遭
遇し、次にBIPS/BOPS、及びMega(メガ)
FLOPS /Giga(ギガ)FLOPS /Tera(テラ)FL
OPS /Teta(テタ)FLOPS に遭遇する。
【0033】・ISA ISAは命令セット・アーキテクチャを意味する。
【0034】・リンク リンクは物理的又は論理(ロジック)的であり、要素又
は構成要素である。物理的リンクは構成要素又は装置を
接続する物理的接続であるが、コンピュータのプログラ
ミングにおいて、リンクはプログラムの離れた部所間に
おいて制御及びパラメータを通過させる命令又はアドレ
スである。多重システムにおいて、リンクは実アドレス
又は仮想アドレスによって識別することができるリンク
識別用プログラム・コードによって指定することができ
る2システム間の接続である。かくして、一般に、リン
クは、論理的及び物理的両方において、物理的媒体及び
全プロトコルと、関連装置及びプログラミングとを含
む。
【0035】・MFLOPS この用語は秒当り(10)**6浮動小数点命令を意味す
る。
【0036】・MIMD MIMDはプロセッサ・アレイ・アーキテクチャを示す
ことに使用される。そこで、アレイの各プロセッサはそ
れ自体の命令ストリーム、すなわち複数の命令ストリー
ムを有し、各処理要素当り1つ配置された複数データ・
ストリームを遂行する。
【0037】・モジュール モジュールは他の構成要素と共に使用するよう設計され
たハードウェアの個別的且つ識別可能なプログラム装置
又は単位、又は機能装置又は単位である。又、単一電子
チップに含まれているPEの集合もモジュールと呼ばれ
る。
【0038】・ノード 一般にノードはリンクの接合又は接合点である。一般的
PEアレイの1PEはノードであることができる。ノー
ドは、又モジュールと称するPEの集合を含むことがで
きる。本実施例において、ノードはPMEのアレイを構
成し、PMEの集合をノードと称する。ノードは8PE
Mであることが好ましい。
【0039】・ノード・アレイ PMEから成るモジュールの集合は屡ノード・アレイと
称し、それは、モジュールから成るノードのアレイであ
る。ノード・アレイは通常数個のPMEより多いが、ノ
ード・アレイの用語は複数を包含する。
【0040】・PDE PDEは、部分微分方程式を示す。
【0041】・PDE緩和解答法 PDE緩和解答法はPDE(部分微分方程式)を解答す
るための方法である。PDE解答は公知汎用のほとんど
のスーパ・コンピュータ能力を使用するので、緩和法
(relaxation process)のよい例であるかもしれない。
PDE方程式を解く方法は多数有り、1より多い数値法
は緩和法を含む。例えば、有限構成要素法によりPDE
を解く場合、緩和法は大量のコンピュータ時間を消費す
る。
【0042】今、熱伝導の世界における例を考える。煙
突内部に熱いガスがあり、外には冷い風が吹いている場
合、煙突レンガ内の温度勾配はどのように形成されるだ
ろうか。各レンガを小さなセグメントと仮定し、各セグ
メント間における熱の流れ方を温度差の関数として方程
式を表わすことにより、熱伝導PDEは、有限要素問題
に変換することができる。そこで、内部及び外部を除く
全べての要素が室温であるのに対し、その境界セグメン
トが熱ガス温度及び冷風温度であったとして、緩和の開
始を決定しなければならない。
【0043】コンピュータ・プログラムはそのセグメン
トに流入する又は流出する熱の量に基づく各セグメント
の温度変数を更新することにより時間をモデル化する。
その場合、煙突を横切る温度変数群を緩和して、物理的
煙突において発生する実際の温度分布を与えるようにす
るまで、モデルの全セグメントを処理するに多数のサイ
クルを必要とする。
【0044】目的が煙突のガス冷却をモデル化すること
である場合、構成要素はガス方程式にまで拡張しなけれ
ばならず、煙突内部の境界の状態は他の有限リンク・モ
デルに連結され、処理又はプロセスを続行する。熱の流
れはセグメントとその隣接間温度差によって異なること
に注意する。温度変数を分布させるため、PE間通信経
路を使用する。それはこの隣接通信パターン、又はPD
E関係を並列演算に大いに適用可能にする特性である。
【0045】・ピケット(PICKET) ピケットはアレイ・プロセッサを構成する構成要素のア
レイの要素である。それはデータ・フロー(ALU R
EGS)、メモリー、制御、要素に関連する通信マトリ
ックスの部分である。その装置はそれらの制御及びアレ
イ相互通信機構部分を有する並列プロセッサ及びメモリ
ー要素から成る第1/第nのアレイ・プロセッサを示
す。ピケットはプロセッサ・メモリー要素又はPMEの
形態である。本発明によるPMEチップ設計プロセッサ
・ロジックは関連出願のピケット・ロジックを実現する
ことができ、ノードとして形成されたプロセッサ・アレ
イに対するロジックを有する。
【0046】用語ピケットは一般に使用の処理要素用の
アレイ用語PEに類似し、1クロック・サイクルでビッ
ト並列情報バイトを処理する、好ましくは処理要素と局
所メモリーとの組合せからなる処理アレイの構成要素で
ある。バイト幅データ・フロー・プロセッサと32kバ
イト以上のメモリーとから成るこの好ましい実施例は、
本質的に他のピケットに対する通信を制御し、接続す
る。
【0047】用語ピケットは機能的には軍によるピケ・
ラインの類推が相当ぴったりに適合するものと思われる
が、その語源はトム・ソイヤ(Tom Sawyer)及び彼の白
柵からとったものである。
【0048】・ピケット・チップ ピケット・チップは単一シリコン・チップ上に複数のピ
ケットを含む。
【0049】・ピケット・プロセッサ・システム(又は
サブシステム) ピケット・プロセッサはピケットのアレイ、通信ネット
ワーク、入出力(I/O)システム、及びマイクロプロ
セッサ、走査ルーチン・プロセッサ、及びアレイを走行
するマイクロ−コントローラから成るSIMDコントロ
ーラで構成される。
【0050】・ピケット・アーキテクチャ ピケット・アーキテクチャは下記のような問題を含む数
々の異なる種類の問題に適応する機能を有するSIMD
アーキテクチャに対する好ましい実施例である。 −集合連想処理 −並列数値的集中処理 −イメージに類似の物理的アレイ処理
【0051】・ピケット・アレイ ピケット・アレイは幾何学的順序で配列されたピケット
の集合、正規のアレイである。
【0052】・PME又はプロセッサ・メモリー要素 PMEはプロセッサ・メモリー要素に対して使用され
る。用語PMEは単一プロセッサ、メモリー、及び入出
力(I/O)可能システム要素又は本発明による並列ア
レイ・プロセッサの1つを形成する装置を示す。プロセ
ッサ・メモリー要素はピケットを包含する用語である。
プロセッサ・メモリー要素はプロセッサと、その関連メ
モリーと、制御インターフェースと、アレイ通信ネット
ワーク機構の部分とから成る第1/第nのプロセッサ・
アレイである。この要素はピケット・プロセッサ内又は
サブアレイの一部にあるような、又ここで説明する多重
プロセッサ・メモリー要素ノードにあるような正規のア
レイの接続機能を有するプロセッサ・メモリー要素を持
つことができる。
【0053】・経路指定 経路指定はメッセージを受信先に到達させるまでの物理
的経路の指定である。経路指定はソース又は発信元と受
信先とを有する。これら要素又はアドレスは一時的関係
又は類縁性を有する。メッセージの経路指定は屡指定表
を参照して得られるキーに基づき行われる。ネットワー
クにおいて、受信先はリンクを識別する経路制御アドレ
スに従い送信される情報の受信先としてアドレスされた
如何なる端末、ステーション、又はネットワーク・アド
レス可能な装置でよい。受信先フィールドはメッセージ
・ヘッダに置かれ、その受信先コードによって受信先が
識別される。
【0054】・SIMD SIMDはアレイの全プロセッサが単一の命令ストリー
ムから指令されて、処理要素当り1つ配置されている複
数データ・ストリームを遂行するようにしたプロセッサ
・アレイ・アーキテクチャである。
【0055】・SIMDMIMD又はSIMD/MIM
D この用語はある複雑な命令を処理する期間、MIMDか
らSIMDに切換えることができる二重機能を有する。
すなわち、2モードを有する機械を示す用語である。シ
ンキング・マシーンズ社の接続機型式CM−2は、MI
MD機の前端又は後端として置かれた場合、オペレーシ
ョンが異なる問題部分を遂行するため異なるモードを実
行すること(屡々二重モードという)を可能とする。
【0056】これらの機械はイリアク(Illiac)以来存
在し、マスタCPUと他のプロセッサとを相互接続する
バスを使用した。マスタ制御プロセッサは他のCPUの
処理の割込能力を有する。他のCPUは独立のプログラ
ム・コードを走行することができる。割込み中チェック
ポイント機能(制御されるプロセッサの現行状況の閉鎖
及び保管)に寄与する機能がなければならない。
【0057】・SIMIMD この用語はアレイの全プロセッサが単一の命令ストリー
ムから指令されて、処理要素当り1つ配置されている複
数データ・ストリームを遂行するようにしたプロセッサ
・アレイ・アーキテクチャである。この構造内で、命令
遂行を指定する各ピケット内のデータ従属オペレーショ
ンはSIMD命令ストリームによって制御される。
【0058】これはSIMD命令ストリームを使用して
複数データ・ストリーム(ピケット当り1つ)を操作す
る複数命令ストリーム(ピケット当り1つ)の逐次能力
を有する単一命令ストリーム機である。
【0059】・SISD SISDは単一命令単一データの頭字語である。
【0060】・スワッピング スワッピングとは、ある記憶区域のデータ内容を他の記
憶区域のデータ内容と交換することである。
【0061】・同期オペレーション MIMD機の同期オペレーションは、各活動が事象(通
常クロック)に関連する動作モードである。それはプロ
グラム・シーケンスで正規に発生する指定事象であるこ
とができる。オペレーションは独立して機能を実行する
よう多数のPEにディスパッチされる。制御はオペレー
ションが終了するまでコントローラに戻されない。機能
装置のアレイにオペレーション命令があった場合、その
要求は、制御がコントローラに戻されるまで、それらオ
ペレーションを終了しなければならない各アレイの要素
に対しコントローラから発生する。
【0062】・TERAFLOPS この用語はTERA(テラ)とFLOPS (前述)との結合
語であり、秒当り(10)**12浮動小数点メモリーを
意味する。
【0063】・VLSI VLSIは集積回路に対して使用された場合における超
大規模集積の頭字語である。
【0064】・ジッパ(Zipper) ジッパは新たに与えられた機能である。それはアレイ構
造の正規な相互接続の外部にある装置から接続されるべ
きリンクを考慮するものである。
【0065】背景技術 より高速なコンピュータに対する終りなき探求におい
て、今日の機械を困惑させる複雑な問題を克服するた
め、分割して数百及び数千のロー・コスト・マイクロプ
ロセッサを並列に連結することによりスーパ・スーパコ
ンピュータを作成するようにしてきた。かかる機械は大
規模並列と呼ばれる。大規模並列システムを作成するた
め、本発明者は新たな方法を作成した。本発明者が行っ
た多くの改良に対しては他の多くの業績の背景が考慮さ
れなければならない。
【0066】技術分野の要約において他の出願に対し参
照が行われた。その点については、本発明者による並列
連想プロセッサ・システム(米国特許出願第601,5
94号)と、拡張並列アレイ・プロセッサ(APAP)
に対する関連出願を参照するとよい。特定のアプリケー
ションに最もよく適合するアーキテクチャを選出するた
めにシステム交換が要求されるが、一つの解決法も満足
するものはなかった。そして、本発明者の思想は解決を
与えることを容易にした。
【0067】プロセッサ・アレイの処理要素間の通信は
アレイにおける問題の最も時間を消費する部分である。
その解決方法は多くの通信アーキテクチャから発生す
る。
【0068】簡単なコントローラ指向メッシュは、各構
成要素がNEWSネットワークにおいて東西南北の隣り
又は隣接するものと通信するための経路を与え、制御す
る。かかるNEWSネットワークはイメージと共に処理
するような正規のアレイ処理に使用するSIMD機にお
いて一般的である。
【0069】他の従来の通信ネットワークの解決法とし
ては2進N−立方がある。このネットワークは、メッセ
ージのヘッダ情報を検査して適切なメッセージの後処理
を決定することができることを各ノードの能力のある経
路プログラムに要求する。この方式に対するアプリケー
ションは典型的にはMIMDアレイにあったが、あるM
IMDアレイは2進N−立方ネットワーク経路プログラ
ムを含んでいた。
【0070】又、SIMD及び関連処理においては、処
理を通信から分離することが要求されていた。これはバ
イト幅データ・ストリームに対する適切な解決法ではな
かった。ここで検討された、従来技術から提案されるか
もしれないものを含む他の可能な方法はシリコンの使用
量が多過ぎるものであった。
【0071】前述の従来技術の説明の際、最隣接に対し
てのみ大量の情報移動を行うという説明において用語
“スライド”を使用した。“大規模並列プロセッサ・コ
ンピュータ”と称するフロッシュによる米国特許第4,
380,046号は、本発明者が適用するべき用語と信
じている本発明者による構成の実施とは無関係な方法に
対して、言葉“スライド”を使用している。
【0072】その代り、米国特許第4,380,046
号はイメージ・データの空間生成処理に対して適切なビ
ット・スライス・プロセッサの大規模アレイに関するも
のである。この1979特許はアレイ実現に必要なロジ
ック又は論理要素に対する従来技術SIMDプロセッサ
の状態を十分に記述し、単一チップ上における4処理要
素のパッケージングを示している。
【0073】米国特許第4,380,046号に使用す
る用語“スライディング”又はスライドは隣接の処理要
素に対するデータの移動について使用している。この特
許の図2にロジック・スライダ・サブユニットを参照す
ることができる。又、この特許の図11,12にS.レ
ジスタ(S-REGISTR) (スライド・コマンド;SLIDE COMM
AND)を参照することができる。この特許の更に他の数個
所に用語“スライド”を参照することができる。米国特
許第4,380,046号における用語“スライド”は
1方向に1ピクセル位置だけイメージ全体を移動するこ
とを示すものである。
【0074】かくして、すべての各処理要素は処理要素
からの1ピクセルのデータをその最上部からとり、その
イメージを1行下のピクセルに移動する。問題に類似性
があるにも拘らず、この特許は並列データ経路に関連す
る問題に言及していない。しかし、従来のSIMD機同
様、それに代り、直列データ経路について記述してい
る。
【0075】ここで分かるように、本発明者は用語“ス
ライド”(SLIDE) を通過する中間ピケットをスライドす
る1つのピケットに全然隣接していない受信先ピケット
に対して1片の情報を伝送する複数バイト幅並列データ
・ストリーム状態のその活動の説明に使用する。上記の
フロッシュ特許の装置はそれとは使用方法が異なり、こ
の特許装置は最隣接のもののみに対する大量移動の照会
に使用される。
【0076】“追加段立方”と称するアダムスによる米
国特許第4,523,273号はコンピュータ・アレイ
とそれら間のデータ経路指定システムとを記述してい
る。明らかに各プロセッサはデータ切換ボックスを有す
る。各データ切替ボックスは各入力が各出力又は両出力
に対して接続される4ポート(2入力及び2出力)を有
する。切替ボックスは形成されたアレイの入力端におい
て、汎用立方(又は3次元)接続ネットワークに対して
耐故障性を与えるための追加の列が含まれる。
【0077】
【発明が解決しようとする課題】本発明による特徴の1
つは要素のアレイに望ましい耐故障性を提供することで
あるのに対し、アダム特許はプロセッサ・アレイに対す
る汎用3次元相互接続構造における耐故障性の実現は記
述してはいるが、この構造は適当と思われる相互接続構
造より相当複雑である。
【0078】“ベクトル処理用3次元接続サイクル・ネ
ットワーク・アーキテクチャを使用したSIMD機”と
称するワグナによる米国特許第4,621,339号
は、3次元に接続され、アレイの遠隔要素間通信を有
し、SIMD編成を有する機械において、より“興味の
ある”問題を主役としうる環境を与えるようにするた
め、SIMD2−d経路指定ネットワーク及びその実現
手段を採用している。
【0079】その処理要素及びデータ経路は1ビット幅
である。しかし、その構造はデータがその間をスライド
することができる接続レジスタを有する複数バイト幅ピ
ケットのスライド構造又はその使用が望ましいというこ
とを提案していない。
【0080】“シフトレジスタ・プロセッサ間通信を有
する並列データ・プロセッサ”と称するミヤタによる米
国特許第4,858,110号は従来のSIMD機に対
しミヤタが想出したプロセッサ間通信を例示する。特許
第4,852,110号は2クロックによる通信“シフ
トレジスタ”を実現して、2−dメッシュのPE間通信
においてPE内の処理をオーバーラップすることにより
実行性能を改良した。シフトレジスタの第1のクロック
はPEが使用してそれをシフトし、第2のクロックはP
E間送信のために使用される。
【0081】この米国特許第4,858,110号は、
本発明のようにある別のものを提供する代りに、処理要
素間の通信に対してシフトレジスタを使用している。こ
の従来技術はSIMD機における処理要素間の通信を提
供する他の方法を示しているが、処理は通信から分離す
る必要がある。これらピケットを使用するバイト幅並列
データ・ストリーム・アーキテクチャの従来の解決方法
はシリコンの使用が多過ぎる。
【0082】従って、本発明の目的は、上記数々の従来
技術の欠点を除去し、簡単な構造により高速に処理要素
間通信を達成しうるようにすることである。
【0083】
【課題を解決する手段】本発明は、以下に説明するよう
に構成して上記の課題を解決した。すなわち、本発明
は、各ノードにおいて最少のハードウェアを有し、バイ
ト幅並列データーストリームを有することができる線形
又は複数次元アレイ・プロセッサの要素間通信を達成す
るよう改良したことにより、非活動又は使用不能な要素
に関連する諸問題を回避する能力を有するシステムを提
供し、単一伝送サイクルにおいて、1より多いアレイ要
素を通過するようにした通信を支援することを特徴とす
る。
【0084】本発明は、データがそれらを通してスライ
ドすることができる接続レジスタを具備することによ
り、最少のハードウェア及びシリコンによってプロセッ
サ要素間通信を支援し、処理と通信機能間を分離するこ
とができる複数バイト幅ピケットを使用可能にした。
【0085】本発明は次の事項を提供する。 ・スライド・バス構造 ・(イ)ピケットのドーズ化又はドーズ(doze: 半眠)
を支援する、及び ・(ロ)スライド・バスを使用して通信を制御する、 ようにしたピケット・アドレス指定組織。
【0086】この構成はアレイ・プロセッサの各ピケッ
トが右又は左隣接ピケットと通信する方法を提供する。
この方法は線形及びそれより高い次数のアレイに対して
適用可能である。
【0087】特に線形アレイのプロセッサ・アレイにお
いて、アレイの各要素が、例えば、左のものと同時に通
信するというように、複数の要素が共に同時に通信する
ことができるということが重要である。しかし、更に加
えて、本発明はアレイの選ばれた要素が1送信サイクル
中に最隣接以外の次元の遠隔にある他の要素と同時に通
信することができるシステムを提供する。
【0088】これは通信経路における中間要素を透過す
ることによって達成され、それによってデータが中間ノ
ードを通し受信先ノードに対して“スライド”すること
を可能にする。本発明は、又アレイ・プロセッサの処理
要素のアレイにおける耐故障性の実現において顕著な効
果を有する。
【0089】本発明者は大規模並列プロセッサと、新
“チップ”を作成することによる他のコンピュータ・シ
ステムと、新概念により設計されたシステムとを作成す
る新たな方法を創作した。本願はかかるシステムに対し
て向けられたものである。本願及びその関連出願におい
て記述した各種概念の説明はそれらの各出願において見
ることができる。それら各出願において説明した構成要
素は新たなシステムの作成の際、そのシステムに組入れ
ることができる。その技術も又現在の技術と組合わせる
ことができる。
【0090】本願及び関連出願に記載のピケット・プロ
セッサと、拡張並列アレイ・プロセッサ(APAP)と
称するものは念入りに作成された。ピケット・プロセッ
サはPMEを使用することができるということに興味が
あるかもしれない。ピケット・プロセッサは非常にコン
パクトなアレイ・プロセッサが望まれるという軍の適用
に特に有益であるかもしれない。その点につき、ピケッ
ト・プロセッサはAPAP、すなわち本願の拡張並列ア
レイ・プロセッサに関連する好ましい実施例とは幾分異
なるかもしれない。しかし、共通性は存在し、本願が提
供した面及び特徴は異なる機械にも適用することができ
る。
【0091】用語“ピケット”(PICKET)はプロセッサ及
びメモリーとそれらに含まれているアレイ相互通信に適
用可能な通信要素とから成るアレイ・プロセッサの第1
/第n要素を示す。ピケットの概念は、又第1/第nの
APAP処理アレイにも適用可能である。
【0092】ピケットの概念はデータの幅、メモリー・
サイズ、及びレジスタの数においてAPAPとは異なる
かもしれないが、APAPに代りうる大規模並列の本実
施例におけるそれは第1/第nの正規のアレイに対して
接続性を有するよう構成されるのに対し、APAPのP
MEはサブアレイの一部であるという点において異なる
ものである。両システム共SIMIMDを遂行することはでき
るが、ピケット・プロセッサはPEのMIMDと共にS
IMD機として構成されるので、直接SIMIMDを遂行する
ことができるのに対し、MIMD APAP構造はSI
MDをエミュレートするよう制御されたMIMD PE
を使用することによってSIMIMDを遂行するということが
異なる。両機械共PMEを使用する。
【0093】両システム共、第1/第nのプロセッサ・
アレイが処理要素、その関連メモリー、制御バス・イン
ターフェース、及びアレイ通信ネットワークの一部であ
る場合における、アレイ通信ネットワークと相互接続さ
れる“N”要素を有するアレイのためのアレイ処理装置
から成る並列アレイ・プロセッサとして構成することが
できる。
【0094】並列アレイ・プロセッサは、処理装置が2
つのモードのどちらかで、又は両方で動作するよう指令
され、SIMDオペレーションおよびMIMDオペレー
ションに対するこれら2つのモード間を自由に移動する
ことができる二重オペレーション・モード能力を有す
る。すなわち、SIMDがその組織のモードである場合
には、処理装置はSIMIMDモードのそれ自体の命令を遂行
するよう各要素に指令するべき能力を有し、MIMDが
処理装置の組織に対する実施モードの場合には、処理装
置はMIMDの遂行をシミュレートするようアレイの選
ばれた要素を同期する能力を有する。これをMIMD−
SIMDと呼ぶことができる。
【0095】両システムの並列アレイ・プロセッサはア
レイの要素間に情報の通過用経路を有するアレイ通信ネ
ットワークを提供する。情報の移動は2つの方法のいず
れかによって導くことができる。第1の方法として、移
動中のデータがその受信先を規定せず、アレイ・コント
ローラが全べてのメッセージが同時に同一方向に移動す
るよう指示するが、第2の方法においては、各メッセー
ジはその最初に配置されたヘッダにある受信先の規定に
従い自動的に経路指定される。
【0096】処理装置の複数のコピーを有する並列アレ
イ・プロセッサのアレイのセグメントは単一半導体チッ
プ上に配備され、アレイの各コピー・セグメントはその
セグメントに接続されたアレイ通信ネットワークの一部
及びバッファと、ドライバと、マルチプレクサと、アレ
イ通信ネットワークを拡張するようアレイの他のセグメ
ントとシームレスに接続されるべきアレイのセグメント
部を使用可能にする制御部とを含む。
【0097】コントローラからの経路又は制御バスは、
制御バスがアレイの各要素に延び、それらの活動を制御
するよう各処理装置に対して接続される。
【0098】並列アレイの各処理要素セグメントは単一
半導体チップの範囲内に含まれているプロセッサ・メモ
リー要素の複数のコピーを含み、アレイのセグメントを
有し、チップ内に含まれているアレイ・セグメントに対
する制御の通信を支援するため、レジスタ・バッファと
アレイ制御バスの一部とを含む。
【0099】両方共メッシュ移動又は経路指定移動とを
実現することができる。通常、APAPは、一方ではチ
ップの8要素が相互に関係し、他方ではチップが相互に
関係する二重相互接続構造を実現する。チップにおける
プログラマブル経路指定は前述したように、一般的には
PME間でリンクを設定するが、ノードは他の方法で接
続することができる。チップ上では、本質的に、正規の
APAP構造は2×4メッシュであり、そのノード相互
接続は経路指定疎8進N−立方であることができる。両
システム共、点対点経路で構成されるべきマトリックス
を使用可能にするPE(PME)間でPE間相互通信経
路を有する。
【0100】
【実施例】以下、添付図面に基づき本発明によるアレイ
・プロセッサ用スライド・ネットワークの好ましい実施
例を詳細に説明する。図1は本発明の好ましい実施例に
よる相互接続スライド・バスを有するピケット群を示す
アレイのブロック図である。
【0101】米国特許出願番号第07/611,594
号の図2〜7に示す“並列連想プロセッサ・システム”
はそのピケット間においてデータを通すため、左隣接と
通信するか又は右隣接と通信する能力を持つ各ピケット
から成る配列を配置した。この好ましい実施例はこの構
造に適用可能であり、その方法は2次元及びそれより高
い次元のアレイに適用可能である。
【0102】提案した実施例は各ピケットにおける多重
バイト幅レジスタと、全べてのピケットがデータを同時
に左隣接に又は右隣接に伝送することができるように、
左方への多重バイト幅経路及び右方への多重バイト幅経
路を含む。その機構はスライド・バス(SLIDE BUS)と呼
ばれる。
【0103】図1は相互接続スライド・バスを有するピ
ケットの集合と、制御手段及び通信経路を含む典型的な
処理要素アレイの実現手段とを示す。各ピケットにおけ
るスライド・レジスタ(SR)は、データが右からピケ
ットを通過するときにそれが透過するように透過とする
ことができ、データは同一のクロック・サイクル中にピ
ケットを通過して左のピケットにスライドされる。
【0104】図2は本発明の好ましい実施例による1ピ
ケット内のロジック及びその隣接する2つのピケット
と、スライド・パスとを示すブロック図である。各ピケ
ットはピケット・スライド・レジスタを経由するスライ
ドイン通信及びスライドアウト通信により例示されてい
るスライド・レジスタ(REG)を有する。スライド・
レジスタはピケットのALUに対する入力を供給する。
かくして、図2は図1に示す2つの“ピケット”を詳細
に示したものである。
【0105】スライド・レジスタはメモリー・ブロック
とALUブロックとの間に設けられる。単純左/右通信
は直隣接より遠いピケットとの点対点通信を含むよう数
個の中間ピケット(透過)を通過して拡張することがで
きる。図3は、制御がスライド・レジスタからの入力と
図2に示すALUに対する出力とを有する透過制御機能
を示す図である。
【0106】次に、スライド・バスと、ピケットのドー
ズ(半眠)とを支援するピケット・アドレス指定、及び
スライド・バスを使用した通信の制御とスライド・レジ
スタとが精密に形成されたピケット間の点対点通信をア
ドレスする。
【0107】単純左/右通信は直隣接より遠いピケット
との点対点通信を含むよう拡張することができる。それ
は適切な制御により、同時に数回の非オーバーラップ点
対点通信を支援することが可能である。
【0108】スライド・バス構造 図2は1ピケットとその隣接ピケット内のロジックを示
す図である。処理要素又はピケットは多重バイト幅並列
データ・フロー、有意な量の並列メモリー(例えば、3
2k〜64kバイト)、及び通信シフト・レジスタ又は
スライド・レジスタを含む。
【0109】このレジスタのキー機能は、その透過モー
ドにある。例えば、パケット3が通信オペレーションに
関与しておらず、ピケット2がピケット4に情報を送信
しようとする場合、ピケット2からスライド・バスに送
出されている情報はピケット3を通して流れ、直ちにピ
ケット4にクロックインすることが可能であるというよ
うに、ピケット3は透過にすることができる。この透過
機能は数個の連続ピケットに適用され、1クロック・サ
イクルで数個のピケットをスライドすることを可能にす
る。
【0110】スライド・バスの制御はサブシステム・コ
ントローラ又はマイクロ・コントローラと称するアレイ
・コントローラから発行された同報通信コマンドにより
行われる。しかし、各ピケットはこの通信オペレーショ
ンを達成するため、そのコマンドを変更する能力を有す
る。そのため、各ピケットは送信機、受信機、終端要
素、又は一般にデータ通信に必要な他の機能となるよう
そのコマンドを変換する。
【0111】スライド・バス(SLIDE BUS)に対する本発
明によるバイト幅アプローチのキー機能はピケットの透
過性にある。ピケットのレジスタは、ピケットが処理実
行に活動関与していない場合、データを透過させること
ができるようにする。レジスタが透過性であると、右か
らピケットに透過されてきたデータは、クロックの介在
を必要とせずにそのピケットを通して左のピケットに通
過する。
【0112】透過モードはラッチを構成するロジックに
設計される。その概念は、図3に示すように、透過のと
きにレジスタ・ラッチをバイパスすることができるもの
と想定して可視化することができる。効率良く設定する
ため、この実施例におけるバイパス機能はラッチと一体
である。複数個のかかる適切なラッチ設計が存在する。
【0113】図3は透過ラッチの可視化を可能にするよ
うにして示したものである。アレイ・コントローラがピ
ケットを活動化せず、ピケットにデータをロードせず、
又はピケットが使用不能の場合に、スライド・バスは透
過可能とされる。又、ピケットのスライド・バスは、ピ
ケットが一時的にドーズ(半眠)モードにあり、現行処
理に関与していない場合に透過である。
【0114】スライド・バスは下記の機能を処理する能
力を有する。 1.左スライド(SLIDE LEFT)はSIMDコントローラ
が全べての活動ピケットに対し直左のピケットにデータ
を転送させ、直右のピケットからのデータを受入れさせ
ることを可能にする。 2.右スライド(SLIDE RIGHT)はSIMDコントローラ
が全べての活動ピケットに対し直右のピケットにデータ
を転送させ、直左のピケットからのデータを受入れさせ
ることを可能にする。
【0115】3.同報通信はスライド・バスに実行可能
である。この場合、全ピケットが透過となるよう指令さ
れる。次に、データ・ソースはバスの一端にデータを挿
入する。そこで、データは全ピケットでアクセスされ、
透過バスを介して他端に流れる。全活動ピケットはデー
タを捕獲し、それを処理用ピケットに転送する。そこ
で、バスを通る伝搬時間はコントローラによって調整さ
れなければならない。その遅延は経路の各ピケットにお
ける新ゲートの活動回路遅延を含む。
【0116】同報通信のデータ・ソースはSIMDアレ
イのコントローラであってもよく、ピケットの1つであ
ってもよい。それは、同報通信の情報により、及び関係
ピケットの情報を捕獲することにより他のピケットを更
新する“好結果”のピケットを持つことに特に有益であ
る。
【0117】4.複数ピケット移動(MULTI-PICKET MOV
ES)はソース又は発信元ピケット及び受信先ピケットを
識別し、中間ピケット・セグメントの全べてを透過させ
ることによりスライド・バスにおいて実行することがで
きる。複数伝送はセグメントがオーバーラップしない場
合、同時に達成することができる。
【0118】スライド・バス方式は、データを故障ピケ
ットを通過させて次の活動ピケットに渡すというよう
に、単に故障ピケットのスライド・ラッチを透過にする
ことにより、故障ピケットをバイパスするように使用す
ることができる。この方式は故障ピケットのほか、非活
動ピケットにも適用することができる。
【0119】スライド・バスの制御 スライド機能の制御は転送クロック時間中の全活動の制
御を含む。次に述べるような制御に対する4つの機能が
ある。 1.左バスから受信する。 2.右バスから受信する。 3.ラッチをクロックする(データを保管する)。 4.透過モードを活動化する。
【0120】上記機能はピケット内の2つの制御に組合
わされる。その1つは転送の方向を示す。この機能はア
レイ・コントローラからくるものであって、ピケットに
よって変更されず、1サイクル中の転送全べては同一方
向である。第2の制御は、ピケットがデータをラッチす
るか、通過させるかを示す。これはピケット・ドーズ
(DOZE)インジケータに接続され、ピケットが活動
状態のときにはスライド・レジスタがデータを捕獲し、
ピケットが活動状態でないドーズのときには、スライド
・レジスタがデータを通過させるということを示す。
【0121】スライド・ラッチとピケット・メモリーと
の間のデータの移動は、ピケット対ピケット通信サイク
ルの前又は後のクロック・サイクルで行われ、ここでは
これ以上考察しない。
【0122】故障ピケット環境下におけるピケットの識
別方法 SIMDアレイで行われる多くの活動は“アレイ”活動
であり、特定のピケットを識別し、分離する理由がな
い。事実、アレイ内の活動の制御の多くは内容のクラス
による。1つのコマンドは“360より多い値を持つ全
ピケット−自己を使用不能にする”であるかもしれな
い。
【0123】しかし、他の時間では、情報又は活動は特
定のピケットに向けられなければならないときがある。
特定のアドレス指定に対する他の要求は対にするか、さ
もなければピケットを数値判別集合にグループ化するこ
とが必要である。しかし、ピケットは正しく動的な方法
で活動化され、そして非活動化されることができ、勿
論、故障も発生するかもしれない。
【0124】これらの要求に適合するため、2つのピケ
ット・アドレス方式がある。その1つの物理的アドレス
指定方式は製造のときに決定され、コントローラによる
特定の物理的ピケットのアクセスに使用される。第2の
方式は論理的なピケットのアドレス識別に使用される。
物理的アドレス順に活動ピケットを識別する論理的アド
レスは各ピケット・メモリーの特定のメモリー・アドレ
スに記憶される。勿論、論理的アドレスはピケットがア
レイに加えられ、アレイから減じられる度ごとに調節さ
れなければならない。
【0125】アレイの中間からピケットを除去するた
め、全ピケットの論理的アドレスをより大きなピケット
・アドレスに調節する。論理的アドレスを調節する処理
手順は下記ステップ1〜4の手順に従う。
【0126】1.1コマンドを使用して、除去されるも
のより小さい論理的アドレスを有する全ピケットをター
ンオフする。 2.全べて他のピケットは2つのコマンドにより次のよ
り高いものにそれらの論理的アドレスを通過する。コン
トローラはある方法でその物理的アドレス・マップを論
理的アドレス・マップに更新する。 3.データが論理的アドレスに結合されなければならな
い場合、ここでアプリケーション従属データの移動が発
生する。 4.次に、コントローラはその物理的アドレスを使用し
て除去されたピケットを使用不能にする。
【0127】以上、説明した好ましい実施例における上
記の簡単且つ低オーバーヘッド方式は本実施例による並
列SIMDアレイの制御の重要な部分である。本発明
は、以上説明した好ましい実施例の記載のみでなく、特
許請求の範囲に記載の事項を含み、本発明の理念の範囲
内において、現在及び将来において行われる改良、変
更、強化をすべて含むことは当業者の理解するところで
ある。
【0128】
【発明の効果】本発明は以上説明したように構成し、特
に簡単な構成により、プロセッサ・アレイの複数の隣接
アレイ要素間で同一方向に同時送信可能にしたことによ
り、又不要なアレイ要素を同一クロック内でデータを透
過させるようにしたことにより、高速且つ低オーバーヘ
ッド、更に耐故障性のあるデータ通信を行いうるスライ
ド・ネットワーク用アレイ・プロセッサを提供すること
ができた。
【図面の簡単な説明】
【図1】本発明の好ましい実施例によるアレイ・プロセ
ッサに適したスライド・ネットワーク用相互接続スライ
ド・バスを有する一組のピケットを示すアレイのブロッ
ク図
【図2】本発明の好ましい実施例による1ピケットとそ
の隣接ピケット内のロジックを示すブロック図
【図3】本発明の好ましい実施例によるスライド・レジ
スタと特にその透過とを示した透過ラッチを例示する図
【符号の説明】
1〜5,N ピケット SR スライド・レジスタ ALU 演算論理装置 REG スライド・レジスタ DF データ・フロー
───────────────────────────────────────────────────── フロントページの続き (72)発明者 トーマス・ノーマン・バーカー アメリカ合衆国13850、ニューヨーク州、 ベスタル、サンセット・アベニュー、136 番地 (72)発明者 ジェイムス・ワーレン・ディフェンダファ アメリカ合衆国13827、ニューヨーク州、 オウゴ、フロント・ストリート、396番地 (72)発明者 ピータ・ミッチェル・コーゲ アメリカ合衆国13760、ニューヨーク州、 エンジコット、ドーチェスタ・ドライブ、 7番地

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 アレイ・コントローラを有するデータ処
    理システムと、複数のアレイ処理要素と、処理要素間通
    信用相互接続経路とを含み、各前記アレイ処理要素は単
    一通信サイクルにおいて複数の処理要素通信を可能にす
    るプロセッサ間通信用並列通信レジスタを有することを
    特徴とするSIMD機能を実行するアレイ・プロセッ
    サ。
  2. 【請求項2】 前記処理要素は多重バイト幅並列データ
    ・フロー用要素と、並列メモリーと、スライド・レジス
    タとして機能する並列通信レジスタとを含むピケットで
    あることを特徴とする請求項1記載のアレイ・プロセッ
    サ。
  3. 【請求項3】 前記処理要素通信レジスタは透過とさ
    れ、データが経路における最初の不透過ピケットまで中
    間の全透過ピケットを通過するようにしたことを特徴と
    する請求項1記載のアレイ・プロセッサ。
  4. 【請求項4】 前記処理要素通信レジスタは透過とさ
    れ、ピケット内の制御信号により又はアレイ・コントロ
    ーラの制御の下に、SIMDモードのピケットが局所に
    おける特定のデータ転送に関与するか否かを決定するよ
    うにしたことを特徴とする請求項2記載のアレイ・プロ
    セッサ。
  5. 【請求項5】 前記処理要素通信レジスタは透過通信レ
    ジスタとされ、システムを耐故障性とするべくスライド
    経路に故障ピケット用システム・バイパスを具備するこ
    とを特徴とする請求項3記載のアレイ・プロセッサ。
  6. 【請求項6】 前記処理要素通信レジスタは、通信デー
    タを必要とする2つのピケット間に通信オペレーション
    に関与しない中間ピケットが存在するという透過モード
    を有し、前記通信オペレーションに関与しない中間ピケ
    ットは前記透過モードにおいてその受信先に情報を通過
    し、発信元ピケットからスライド・バスに送信した情報
    は前記中間ピケットを通過して直ちに受信先ピケットに
    クロックインするよう伝送することを特徴とする請求項
    3記載のアレイ・プロセッサ。
  7. 【請求項7】 前記アレイ・コントローラは、 全べての活動ピケットに対し、直左のピケットにデータ
    を送信させ、直右のピケットからデータを受信させるよ
    う左スライドを実行し、 全べての活動ピケットに対し、直右のピケットにデータ
    を送信し、直左のピケットからデータを受信するよう右
    スライドを実行し、 処理要素を透過とするよう指令することによりスライド
    ・バスとして機能する通信経路に同報通信し、関係ピケ
    ットにおいて該情報を捕獲させるようにしたことを特徴
    とする請求項1記載のアレイ・プロセッサ。
  8. 【請求項8】 前記アレイ・プロセッサはピケット間通
    信サイクルの前又は後のクロック・サイクルにおいて行
    われるスライド・ラッチとピケット・メモリー間でデー
    タを移動することを特徴とする請求項1記載のアレイ・
    プロセッサ。
  9. 【請求項9】 前記アレイ・プロセッサは各ピケット・
    メモリーの特定のメモリー・アドレスに記憶されて活動
    ピケットを識別する論理的ピケット・アドレスを識別
    し、前記論理的アドレスはピケットがアレイに加えら
    れ、アレイから減じられる度ごとに調節されるようにし
    たことを特徴とする請求項2記載のアレイ・プロセッ
    サ。
  10. 【請求項10】 前記アレイ・プロセッサが、1コマン
    ドを使用して制御を除去したアドレスより小さい論理的
    アドレスを有する他の全べてのピケットをターンオフ
    し、 2つのコマンドにより、他の全べてのピケットをそれら
    の次に高い論理的アドレスに通過し、 データを論理的アドレスに結合しなければならない場
    合、アプリケーション従属データ移動が行われるように
    し、 物理的アドレスを使用して前記コントローラによるピケ
    ットの除去を不能にするようにしたことにより、 前記ピケットの論理的アドレスをより大きいピケット・
    アドレスと交換してアレイの中間からピケットを除去す
    るようにしたことを特徴とする請求項2記載のアレイ・
    プロセッサ。
JP5119333A 1992-05-22 1993-04-23 アレイ・プロセッサ Expired - Lifetime JP2525117B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US887456 1986-07-21
US88745692A 1992-05-22 1992-05-22

Publications (2)

Publication Number Publication Date
JPH0636060A true JPH0636060A (ja) 1994-02-10
JP2525117B2 JP2525117B2 (ja) 1996-08-14

Family

ID=25391175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5119333A Expired - Lifetime JP2525117B2 (ja) 1992-05-22 1993-04-23 アレイ・プロセッサ

Country Status (2)

Country Link
EP (1) EP0570952A2 (ja)
JP (1) JP2525117B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011013919A (ja) * 2009-07-01 2011-01-20 Fujitsu Ltd 転送速度設定方法、データ転送装置及び情報処理システム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL110573A (en) * 1994-08-04 1998-10-30 Orad Hi Tec Systems Ltd Video transmission device and method
GB2348983A (en) * 1999-04-09 2000-10-18 Pixelfusion Ltd Parallel data processing system
US7526630B2 (en) 1999-04-09 2009-04-28 Clearspeed Technology, Plc Parallel data processing apparatus
US7627736B2 (en) 1999-04-09 2009-12-01 Clearspeed Technology Plc Thread manager to control an array of processing elements
US7506136B2 (en) 1999-04-09 2009-03-17 Clearspeed Technology Plc Parallel data processing apparatus

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5010477A (en) * 1986-10-17 1991-04-23 Hitachi, Ltd. Method and apparatus for transferring vector data between parallel processing system with registers & logic for inter-processor data communication independents of processing operations
GB2223867A (en) * 1988-09-09 1990-04-18 Univ City Multiprocessor data processing system
EP0485690B1 (en) * 1990-11-13 1999-05-26 International Business Machines Corporation Parallel associative processor system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
COMPUTER ARCHITECTURE AND PARALLEL PROCESSING *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011013919A (ja) * 2009-07-01 2011-01-20 Fujitsu Ltd 転送速度設定方法、データ転送装置及び情報処理システム

Also Published As

Publication number Publication date
JP2525117B2 (ja) 1996-08-14
EP0570952A2 (en) 1993-11-24
EP0570952A3 (ja) 1994-04-20

Similar Documents

Publication Publication Date Title
US5617577A (en) Advanced parallel array processor I/O connection
US5754871A (en) Parallel processing system having asynchronous SIMD processing
US5708836A (en) SIMD/MIMD inter-processor communication
US5630162A (en) Array processor dotted communication network based on H-DOTs
US5815723A (en) Picket autonomy on a SIMD machine
US5966528A (en) SIMD/MIMD array processor with vector processing
US5963745A (en) APAP I/O programmable router
US5805915A (en) SIMIMD array processing system
US5717943A (en) Advanced parallel array processor (APAP)
US5734921A (en) Advanced parallel array processor computer package
US5588152A (en) Advanced parallel processor including advanced support hardware
US5794059A (en) N-dimensional modified hypercube
US5809292A (en) Floating point for simid array machine
US5963746A (en) Fully distributed processing memory element
US5428803A (en) Method and apparatus for a unified parallel processing architecture
US5625836A (en) SIMD/MIMD processing memory element (PME)
US5594918A (en) Parallel computer system providing multi-ported intelligent memory
EP0570729A2 (en) Apap I/O programmable router
JPH04267466A (ja) 連想並列処理システム
US5765015A (en) Slide network for an array processor
JP2525117B2 (ja) アレイ・プロセッサ
EP0570951A2 (en) Advanced parallel array processor mechanical packaging
JPH0652125A (ja) コンピュータ・システム
JPH0675931A (ja) コンピュータ・システム
JP2625628B2 (ja) 浮動小数点コンピュータ・システム