[go: up one dir, main page]

JP2561800B2 - Computer system equipment - Google Patents

Computer system equipment

Info

Publication number
JP2561800B2
JP2561800B2 JP5303285A JP30328593A JP2561800B2 JP 2561800 B2 JP2561800 B2 JP 2561800B2 JP 5303285 A JP5303285 A JP 5303285A JP 30328593 A JP30328593 A JP 30328593A JP 2561800 B2 JP2561800 B2 JP 2561800B2
Authority
JP
Japan
Prior art keywords
data
pme
zipper
memory
array
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.)
Expired - Lifetime
Application number
JP5303285A
Other languages
Japanese (ja)
Other versions
JPH06214964A (en
Inventor
ジャック ノーレス ビリー
アラン コリンス クライブ
マリー デスノイヤ クリスチン
ジョージ グライス ドナルド
ブルース ロルフ デイビット
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 JPH06214964A publication Critical patent/JPH06214964A/en
Application granted granted Critical
Publication of JP2561800B2 publication Critical patent/JP2561800B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、コンピュータシステ
ム、特に、共用メモリにアクセスする複数のプロセッサ
を持つ共用メモリ並列コンピュータ・システムに関す
る。
FIELD OF THE INVENTION This invention relates to computer systems, and more particularly to shared memory parallel computer systems having multiple processors accessing shared memory.

【0002】[0002]

【従来の技術】本出願は、以下の特許出願に関連する出
願である。
This application is an application related to the following patent applications.

【0003】デビッド・B・ロルフによる、「相互接続
方法および相互接続処理要素システム」と題する、19
91年5月13日提出、米国特許出願番号07/69
8,866。
[0003] David B. Rolf, entitled "Interconnect Method and Interconnect Processing Element System", 19
Filed May 13, 1991, US Patent Application No. 07/69
8,866.

【0004】T・バーカーその他による、「N次元変形
超立方体」と題する、1992年5月22日提出、米国
特許出願番号07/888,684。
T. Barker et al., US Patent Application No. 07 / 888,684, filed May 22, 1992, entitled "N-Dimensional Deformed Hypercube".

【0005】T・バーカーその他による「改良並列配列
プロセッサ」と題する、1992年5月22日提出、米
国特許出願07/887,630。
US Patent Application 07 / 887,630, filed May 22, 1992, entitled "Improved Parallel Array Processor" by T. Barker et al.

【0006】M・ダップその他による「APAP入出力プロ
グラム可能ルーター」と題する、1992年5月22日
提出、米国特許出願番号07/887,258。
US Patent Application No. 07 / 887,258, filed May 22, 1992, entitled "APAP Input / Output Programmable Router" by M. Dup et al.

【0007】T・バーカーその他による「APAP入出力ジ
ッパー接続」と題する、1992年5月22日提出、米
国出願番号07/887,259。
No. 07 / 887,259 filed May 22, 1992, entitled "APAP Input / Output Zipper Connection" by T. Barker et al.

【0008】T・バーカーその他による「完全分散処理
記憶素子」と題する、1992年5月22日提出、米国
特許出願番号07/887,508。
T. Barker et al., US Pat. Appl. No. 07 / 887,508, filed May 22, 1992, entitled "Completely Distributed Processing Storage Element".

【0009】これらの出願は、ニューヨーク州アーモン
クのIBM社によって所有される。
These applications are owned by IBM Corporation of Armonk, NY.

【0010】これらの特許出願における記述は、参照に
よって本出願に編入される。
The statements in these patent applications are incorporated herein by reference.

【0011】本出願に使用される幾つかの単語は辞書に
ある意味で使われるが、幾つかの単語又は用語に関して
は以下に定義する。
Some words used in this application are used in a dictionary sense, but some words or terms are defined below.

【0012】○HPPI高速度通信リンク 電気電子工学協会(IEEE)、米国規格協会(ANSI)また
は他の規格認定機関によって定義されたインタフェース
規格の規準に合う、高性能並行インタフェース(High P
erformance Parallel Interface)。
HPPI High Speed Communication Link A high performance parallel interface (High P) that meets the standards of interface standards defined by the Institute of Electrical and Electronics Engineers (IEEE), American National Standards Institute (ANSI) or other standards accreditation bodies.
erformance Parallel Interface).

【0013】○ヘッジホッグ共用メモリシステム ヘッジホッグは、分散コンピュータシステム要素間の通
信のために使用される共用メモリおよび処理機能を一体
化した装置である。
Hedgehog Shared Memory System A Hedgehog is a device that integrates shared memory and processing functions used for communication between distributed computer system elements.

【0014】○コンピュータシステム要素またはコンピ
ューティング・システム要素 コンピュータシステム要素またはコンピューティング・
システム要素は、データを源とする、同期化するあるい
は修正することができる要素を含む。
Computer system element or computing system element Computer system element or computing system
System elements include elements that can be data-sourced, synchronized, or modified.

【0015】○割込み処理ルーチン 割込み処理ルーチンは、割り込み直後のコンピュータの
状態を決定する、システム要素である。
Interrupt Processing Routine The interrupt processing routine is a system element that determines the state of the computer immediately after the interrupt.

【0016】○リンク帯域幅 リンク帯域幅は、情報を転送するための回線リンク要素
の容量で、通常バイト/秒単位で測定される。
Link Bandwidth Link bandwidth is the capacity of a line link element to transfer information, usually measured in bytes / second.

【0017】○ALU ALU(Arithmetic Logic Unit)は、プロセッサの論理演
算機構部分である。
ALU ALU (Arithmetic Logic Unit) is a logical operation mechanism part of a processor.

【0018】○配列 配列は、ひとつ以上の次元における要素の配置に関す
る。配列は、フォートランのような言語では単一の名に
よって識別される、データ項目(配列要素)の並んだセ
ットを含むことができる。他の言語では、データ項目の
並んだセットの名前は、すべてが同一属性を持つデータ
要素の並んだ集合またはセットを表す。プログラム配列
は通常、数または次元属性によって指定された次元を持
つ。配列の宣言子はまた、幾つかの言語において、配列
の各次元のサイズを指定する。幾つかの言語において、
配列はテーブル中の要素の配置である。ハードウェア的
意味において、配列は、大規模並列構造における一般に
同一の構造(機能要素)の集合である。データ並列コン
ピュータにおける配列要素は、操作を割り当てられ、並
列化されると、各々が必要な操作を独立して、並行に実
行することができる要素である。一般に配列は、処理要
素の格子と考えられる。セクション・データが正則格子
パターンに当てはまるように、配列のセクションにセク
ション・データを割り当てることができる。しかし、デ
ータにインデックスを付けるか、あるいは配列中の任意
の位置に割り当てることができる。
Array An array relates to the arrangement of elements in one or more dimensions. An array can include a side-by-side set of data items (array elements) identified by a single name in languages such as Fortran. In other languages, the name of a side-by-side set of data items represents a side-by-side set or set of data elements that all have the same attributes. Program arrays usually have a dimension specified by a number or dimension attribute. Array declarators also specify the size of each dimension of the array in some languages. In some languages,
An array is the arrangement of elements in the table. In a hardware sense, an array is a set of generally identical structures (functional elements) in a massively parallel structure. An array element in a data parallel computer is an element that, when assigned an operation and parallelized, can perform the required operation independently and in parallel. An array is generally considered a grid of processing elements. Section data can be assigned to sections of an array so that the section data fits in a regular grid pattern. However, the data can be indexed or assigned anywhere in the array.

【0019】○配列ディレクタ 配列ディレクタは、配列の制御装置としてプログラムさ
れた装置である。それは、配列に配置された機能要素の
組み分けのために、主制御装置としての機能を実行す
る。
Array Director An array director is a device programmed as a controller for an array. It performs the function of a main controller for the grouping of the functional elements arranged in an array.

【0020】○配列プロセッサ 配列プロセッサには2つの主要な型がある。それらは、
複数命令複数データ(MIMD)、および単一命令複数デー
タ(SIMD)である。MIMD配列プロセッサにおいて、配列
中の各処理要素は、それ自身のデータと共にそれ自身の
命令ストリームを実行する。SIMD配列プロセッサにおい
て、配列中の各処理要素は、共通命令ストリームを経由
する同じ命令に制限されるが、各処理要素に関連するデ
ータは各処理要素に特有である。本発明の好ましい配列
プロセッサは、他の特性も持つ。ここではそれを改良並
行配列プロセッサ(Advanced Parallel Array Processo
r)と呼び、頭字語APAPを使用する。
Array Processors Array processors come in two main types. They are,
Multiple instruction multiple data (MIMD) and single instruction multiple data (SIMD). In the MIMD Array Processor, each processing element in the array executes its own instruction stream with its own data. In the SIMD array processor, each processing element in the array is restricted to the same instruction via the common instruction stream, but the data associated with each processing element is unique to each processing element. The preferred array processor of the present invention has other characteristics. Here, it is an advanced parallel array process
r) and use the acronym APAP.

【0021】○非同期 非同期とは、同じ周期または時間関係なしで繰り返され
ることである。ひとつの機能の実行結果は、規則的また
は予測できる時間関係なしに起こる他の機能の実行の結
果に関しては、予測できない。制御状況において制御装
置は、データが空き要素がアドレス指定されるのを待っ
ている時、制御が渡される位置をアドレス指定する。こ
のことは、操作が事象と時間的に一致していない間も、
順序の中に残ることを許す。
Asynchronous Asynchronous means repeating without the same cycle or time relationship. The results of the execution of one function are unpredictable with respect to the results of the execution of other functions that occur in a regular or unpredictable time relationship. In the control situation, the controller addresses the location to which control is passed when data is waiting for a free element to be addressed. This means that while the operation does not match the event in time,
Allow to remain in order.

【0022】○介入 入出力ポートが、プロセッサ透過コンテクスト交換を起
こし、自己管理データ転送のためにプロセッサ・データ
流れおよび制御パスを使用する機構。
Intervention A mechanism by which an I / O port initiates a processor transparent context exchange and uses processor data flow and control paths for self-managed data transfers.

【0023】○回路交換/蓄積交換 これらの用語は、ノード・ネットワークを通してデータ
パケットを動かすための2つの機構を表す。蓄積交換
は、データパケットが、各中間ノードによって受け取ら
れメモリに保存され、宛先の方へ進められる機構であ
る。回路交換は、データパケットが中間ノードのメモリ
に入らないで直接ノードを通って目的地へ渡ることがで
きるように、中間ノードが入力ポートを出力ポートに論
理的に接続するよう命令される機構である。
Circuit Switching / Store Switching These terms describe two mechanisms for moving data packets through a node network. Store-and-forward is a mechanism by which data packets are received by each intermediate node, stored in memory, and forwarded to their destination. Circuit switching is a mechanism in which an intermediate node is instructed to logically connect an input port to an output port so that a data packet can pass directly through the node to its destination without going into the intermediate node's memory. is there.

【0024】○回路交換 メッセージが中間PMEによる付加的処理なしに最終宛先
の方へ中間PEを通って進むことができるように、中間PM
Eが論理上入力ポートを出力ポートに接続する、配列中
のPME間のデータ転送方法。
-Intermediate PM so that the circuit-switched message can travel through the intermediate PE towards its final destination without additional processing by the intermediate PME.
A method of data transfer between PMEs in an array, where E logically connects an input port to an output port.

【0025】○クラスタ クラスタは、制御装置(クラスタ制御装置)およびそれ
に結合するハードウェア(ターミナル、機能単位、ある
いは仮想構成要素)から成る局(または機能単位)であ
る。本発明のクラスタは、ノード配列と呼ばれることも
ある、PME配列を含む。通常、クラスタは512PMEを持
つ。本発明の全PMEノード配列は、一組のクラスタから
成り、各クラスタはクラスタ制御装置(CC)に支持され
ている。
Cluster A cluster is a station (or functional unit) consisting of a control device (cluster control device) and the hardware (terminal, functional unit, or virtual component) coupled to it. The cluster of the present invention comprises a PME array, sometimes called a node array. Usually, the cluster has 512 PMEs. The entire PME node array of the present invention consists of a set of clusters, each cluster supported by a cluster controller (CC).

【0026】○クラスタ制御装置 クラスタ制御装置は、それに接続する1つ以上の装置ま
たは機能単位に対する入出力操作を制御する装置であ
る。クラスタ制御装置は通常、IBM3601金融通信制
御装置におけるように、装置内で保存され実行されるプ
ログラムによって制御されるが、IBM3272制御装置
におけるように、ハードウェアによって完全に制御する
こともできる。
Cluster Control Device The cluster control device is a device that controls input / output operations for one or more devices or functional units connected to it. The cluster controller is typically controlled by programs stored and executed within the device, as in the IBM 3601 financial communications controller, but can also be fully controlled by hardware, as in the IBM 3272 controller.

【0027】○クラスタ同期装置 クラスタ同期装置は、機能単位がプログラムの実行と特
定の時間関係を維持することができるよう、要素の同期
操作を維持するために、すべてまたは一部のクラスタの
操作を管理する機能単位である。
Cluster Synchronizer The cluster synchronizer operates all or some of the clusters in order to maintain the synchronized operation of the elements so that the functional unit can maintain a specific time relationship with the execution of the program. It is a functional unit to be managed.

【0028】○制御装置 制御装置は、相互接続ネットワークのリンク上のデータ
および命令転送を管理する装置である。その操作は、制
御装置が接続するプロセッサによって実行されるプログ
ラム、または装置内で実行されるプログラムによって制
御される。
Control Device The control device is a device that manages data and instruction transfer on the links of the interconnection network. The operation is controlled by a program executed by a processor to which the control device is connected or a program executed in the device.

【0029】○CMOS CMOSは、相補形金属酸化物半導体(Complementary Meta
l-Oxide Semiconductor)技術の頭字語である。これは
一般に、動的直接アクセス記憶装置(DRAM)を製作する
のに使用される。NチャネルMOSは、DRAMを製作するため
に使用されるもうひとつの技術である。ここではCMOSが
好ましいが、APAPを製作するために使用される技術は、
使われる半導体技術の範囲を制限するものではない。
○ CMOS CMOS is a complementary metal oxide semiconductor.
l-Oxide Semiconductor) is an acronym for technology. It is commonly used to fabricate dynamic direct access storage devices (DRAM). N-channel MOS is another technology used to fabricate DRAM. CMOS is preferred here, but the technology used to fabricate APAP is
It does not limit the scope of semiconductor technology used.

【0030】○DRAM DRAMは、主記憶装置のためにコンピュータに使用され
る、動的直接アクセス記憶装置(Dynamic Random Acces
s Memory)一般的記憶装置、の頭字語である。しかし用
語DRAMは、キャッシュまたは主記憶装置ではない記憶装
置とて、使用されることもある。
DRAM DRAM is a dynamic direct access storage device (Dynamic Random Acces) used in a computer for a main storage device.
s Memory) is an acronym for general memory device. However, the term DRAM is sometimes used as a storage device that is not a cache or main memory.

【0031】○浮動小数点 浮動小数点数は2つの部分、固定小数点または小数部お
よび、見かけの基数または基本数への指数部、で表され
る。指数は、10進小数点の実際の位置を示す。典型的
浮動小数点表示において、実数0.0001234は、
0.1234ー3と表される。0.1234が固定少数
部でー3が指数である。この例において、浮動小数点基
数または基本数は10であり、10は1より大きい絶対
的固定正整数基本数を表わす。基数は、浮動小数点表示
において指数で表されるか、あるいは浮動小数点表示に
おいて指標によって表わされる数ぶん累乗され、実数を
決定するために固定少数部を掛けられる。数字直定数
は、浮動小数点表記法および実数で表すことができる。
Floating Point Floating point numbers are represented by two parts, a fixed point or fractional part and an exponent part to an apparent radix or base number. The exponent indicates the actual position of the decimal point. In a typical floating point representation, the real number 0.0001234 is
It is represented as 0.1234-3. 0.1234 is the fixed decimal part and -3 is the index. In this example, the floating point radix or base number is 10, with 10 representing an absolute fixed positive integer base number greater than one. The radix is expressed exponentially in floating-point representation, or raised to the power of the number represented by the index in floating-point representation, and multiplied by a fixed fraction to determine the real number. Numeric literals can be represented in floating point notation and real numbers.

【0032】○機能単位 機能単位は、目的を達成することができるハードウェ
ア、ソフトウェア、あるいはその両方の構成要素であ
る。
Functional Unit A functional unit is a component of hardware, software, or both capable of achieving the purpose.

【0033】○ギガバイト ギカバイトは、10億バイトを表す。ギガバイト/秒
は、10億バイト/秒である。
Gigabyte Gigabyte represents 1 billion bytes. Gigabytes / sec is 1 billion bytes / sec.

【0034】○入力転送完了割り込み 入出力メッセージ・ワードが受け取られ、それが転送完
了タグと一緒の時起こる、プログラム・コンテクスト交
換要求。
Input Transfer Complete Interrupt A program context exchange request that occurs when an I / O message word is received and it is with a transfer complete tag.

【0035】○ISA ISA(Instruction Set Architecture)は、命令セット
構造を意味する。
ISA ISA (Instruction Set Architecture) means an instruction set structure.

【0036】○リンク リンクは、物理的または論理的要素である。物理的リン
クは、要素または装置を結合するための物理的結合であ
る。コンピュータ・プログラミングにおいて、リンクは
プログラムの別々の部分間に制御およびパラメータを伝
達する、命令またはアドレスである。多重システムにお
いてリンクは、実アドレスまたは仮想アドレスとしてリ
ンクを識別するプログラム・コードによって指定され
る、2つのシステム間の結合である。したがって一般に
リンクは、物理的媒体、通信規約、関連する装置および
プログラムを含む。これは、論理的および物理的であ
る。
○ Link A link is a physical or logical element. A physical link is a physical connection for connecting elements or devices. In computer programming, a link is an instruction or address that conveys control and parameters between separate parts of a program. A link in a multiple system is a connection between two systems specified by program code that identifies the link as a real or virtual address. Thus, a link typically includes physical media, communication protocols, associated devices and programs. It is logical and physical.

【0037】○MIMD MIMDは、配列中の各プロセッサがそれ自身の命令ストリ
ーム、つまり複数命令(Multiple Instruction)ストリ
ームを、処理要素毎にある複数データ(MultipleData)
を実行するために持つ、プロセッサ配列構造を表すのに
使用される。
MIMD In MIMD, each processor in the array has its own instruction stream, that is, a multiple instruction stream, and multiple data (MultipleData) for each processing element.
Used to represent a processor array structure that has to implement.

【0038】○モジュール モジュールは、離散的、定義可能プログラム単位、ある
いは他の構成要素と共に使用されるよう設計されたハー
ドウェア機能単位である。また、ひとつの電子チップに
含まれるPEの集合もモジュールと呼ばれる。
Modules Modules are discrete, definable program units, or hardware functional units designed for use with other components. A group of PEs included in one electronic chip is also called a module.

【0039】○ノード 一般に、ノードはリンクの接合部である。PEの一般的配
列において、ひとつのPEはノードとなることができる。
ノードは、また、モジュールと呼ばれるPEの集合を含む
ことができる。本発明ではノードはPMEの配列で形成さ
れ、ここではPMEのセットをノードと呼ぶ。ノードは8P
MEであることが望ましい。
O Node Generally, a node is a junction of links. In the general arrangement of PEs, a PE can be a node.
A node can also include a collection of PEs called modules. In the present invention, a node is formed by an array of PMEs, and here, a set of PMEs is called a node. Node is 8P
ME is preferred.

【0040】○ノード配列 PMEで形成されるモジュールの集合は、ノード配列と呼
ばれることがある。ノード配列は通常数個のPMEより成
り、ここでは複数の配列を含む。
○ Node Array A set of modules formed by PME is sometimes called a node array. A node array usually consists of several PMEs, here containing multiple arrays.

【0041】○PMEまたはプロセッサ記憶素子 PMEは、プロセッサ記憶素子(Processor Memory Elemen
t)を表すのに使用される。ここでは用語PMEを、並列配
列プロセッサのひとつを形成する、ひとつのプロセッ
サ、メモリ、入出力可能システム要素または装置を表す
ために使用する。プロセッサ記憶素子は、ピケを含む用
語である。プロセッサ記憶素子は、プロセッサ、それに
結合するメモリ、制御インタフェースおよび配列通信ネ
ットワーク機構の一部分を含むプロセッサ配列のN分の
1である。この要素は、ピケ・プロセッサにおけるよう
に正則配列の連結性をもつプロセッサ記憶素子を持つこ
とができる。あるいは上記の多重プロセッサ記憶素子ノ
ードにおけるように、サブ配列の一部として、プロセッ
サ記憶素子を持つことができる。
PME or Processor Memory Element PME is a processor memory element (Processor Memory Element).
used to represent t). The term PME is used herein to refer to a processor, memory, I / O capable system element or device that forms one of the parallel array processors. Processor storage element is a term that includes pickets. A processor storage element is a Nth of an array of processors that includes a processor, a memory associated therewith, a control interface, and a portion of an array communication network facility. This element can have processor storage elements with regular array connectivity as in a Pique processor. Alternatively, processor storage elements can be included as part of the sub-array, as in the multiprocessor storage element node described above.

【0042】○方路選択 方路選択は、メッセージがその宛先に達する物理的経路
の割当てである。方路選択割当ては、源または基点およ
び宛先を持つ。これらの要素またはアドレスは、一時的
関係または類似性を持つ。しばしば、メッセージ方路選
択は、割当てテーブルに参照して得られるキーに基づ
く。ネットワークにおいて宛先は、リンクを識別する経
路制御アドレスによって転送される情報の宛先として
の、局またはネットワークアドレス指定可能装置であ
る。宛先フィールドは、メッセージヘッダ宛先コードを
もって宛先を識別する。
Route Selection Route selection is the assignment of a physical route through which a message reaches its destination. A route selection assignment has a source or origin and a destination. These elements or addresses have temporary relationships or similarities. Often, message routing is based on a key obtained by looking up an assignment table. A destination in a network is a station or network addressable device as the destination for information transferred by a routing address that identifies a link. The destination field identifies the destination with the message header destination code.

【0043】○実行時ソフトウェア 処理要素上で実行するソフトウェア。これは、オペレー
ティング・システム、監視プログラム、アプリケーショ
ンプログラム、サービス・プログラム、その他を含む。
Run-time software Software that executes on the processing element. This includes operating systems, monitoring programs, application programs, service programs, etc.

【0044】○SIMD 配列中のすべてのプロセッサが、ひとつの命令(Single
Instruction)ストリームから、処理要素毎にある複数
データ(Multiple Data)ストリームを実行するよう命
令される、プロセッサ配列構造。
○ All the processors in the SIMD array have one instruction (Single
Instruction) A processor array structure that is instructed to execute a multiple data stream for each processing element.

【0045】○スワッピング スワッピングは、記憶領域のデータ内容と、他の記憶領
域のデータ内容を交換することである。
Swapping Swapping is the exchange of the data content of a storage area with the data content of another storage area.

【0046】○同期操作 MIMD機械における同期操作は、各作用が事象(通常クロ
ック)に関係する、操作モードである。その事象は、プ
ログラム順序に定期的に起こる指定された事象であるこ
ともある。独立して機能を実行する多数のPEに、操作は
ディスパッチされる。操作が完了するまで、制御は制御
装置に戻らない。要求が機能単位配列へのものであるな
らば、要求は制御装置によって配列中の要素に生成さ
れ、その要素は、制御が制御装置に戻る前にその操作を
完了しなければならない。
Synchronous Operation Synchronous operation in MIMD machines is an operating mode in which each action is related to an event (usually a clock). The event may be a specified event that occurs regularly in the program order. Operations are dispatched to multiple PEs that perform their functions independently. Control does not return to the controller until the operation is complete. If the request is for a functional unit array, the request is made by the controller to an element in the array, which element must complete its operation before control returns to the controller.

【0047】○VLSI VLSIは、集積回路に適用される、超大規模集積化(very
large scale integration)の頭字語である。
VLSI VLSI is a very large scale integration (very
Large scale integration).

【0048】○ジッパー ジッパーは、新しく提供される機能である。ジッパー
は、配列構成の標準相互接続に外部装置からリンクする
ことを可能にする。この機能は、一群のネットワーク環
の動的遮断を可能にする。ネットワークが「ジッパーで
開閉される」とき、データは、ネットワークに出入りし
ないで環を横切ることができる。ネットワークが「ジッ
パーで開閉されない」とき、環は、環を横切るデータが
ネットワークに出入りする際通るネットワークの端を形
成し、壊される。ジッパーは、環を横切るデータがネッ
トワークに出入りするネットワークの端を形成する、壊
れた環のための機能を提供する。ジッパー・ノードは、
ジッパーに隣接するノードである。
Zipper Zipper is a newly provided function. The zipper allows linking from an external device to an array of standard interconnects. This feature allows dynamic blocking of a group of network rings. When the network is "zipped", data can cross the ring without entering or leaving the network. When the network is "not zippered", the ring is broken, forming the edge of the network through which data traverses the ring as it enters and leaves the network. The zipper provides the functionality for a broken ring, forming the edge of the network where data traversing the ring enters and leaves the network. Zipper node
A node adjacent to a zipper.

【0049】文献を調べると、ひとつの共用メモリと複
数の処理装置を持ついくつかのコンピュータシステムを
見つけることができる。これらの処理装置または機能単
位、および共用メモリは、相互接続していなければなら
ない。相互接続は、交換を通して行われる。コンピュー
タを相互接続させるこの方法において、データはあるポ
ートで交換に入り、少し遅れて、他のポートで消費され
る。この転送、相互交換、シフト、交換、あるいは方路
選択機能は、交換によって提供される。交換の実現は交
換内にデータをバッファすることを含むが、実現は本質
的にメモリを必要としない。複数のプロセッサが共用メ
モリと共に使われるとき、データ対象物は共用メモリ装
置に保存される。装置にアクセスを持つそれらのコンピ
ュータシステムは、そこにある対象物を共用することが
できる。対象物を共用するコンピュータシステムのいく
つかが対象物に書込みアクセスを持つならば、可干渉性
および正当性に関わる様々な問題が起こる。最新の技術
は、これらの問題を認識し、いくつかの解決策もある。
しかしそれらは、大規模並列システムでは適切に問題を
扱えない。
A search of the literature reveals several computer systems with one shared memory and multiple processors. These processing units or functional units and shared memory must be interconnected. Interconnection is through exchange. In this way of interconnecting computers, data enters the exchange at one port and is consumed at another port after a short delay. This transfer, mutual exchange, shift, exchange or route selection function is provided by the exchange. The implementation of the exchange involves buffering the data in the exchange, but the implementation is essentially memory free. When multiple processors are used with shared memory, the data objects are stored in the shared memory device. Those computer systems that have access to the device can share the objects that are there. If some of the computer systems sharing an object have write access to the object, various coherence and legitimacy problems arise. State-of-the-art technology recognizes these problems and there are several solutions.
However, they cannot handle the problem properly in a massively parallel system.

【0050】これまで刊行物および特許に発表された分
散共用メモリ・コンピュータシステムは、共有データを
持つコンピュータ間通信の問題を一貫性をもって扱って
いない。これらの刊行物および特許のいくつかが、ここ
に引用される。
The distributed shared memory computer systems published to date in publications and patents have not addressed the issue of inter-computer communication with shared data in a consistent manner. Some of these publications and patents are cited herein.

【0051】従来技術:刊行物 1. トランスピュータ・データブック、1989年初
版本において、プロセッサ、メモリおよびネットワーク
中で使用可能通信リンクをもつシングルチップ・インモ
スシステムが示されている。これは、ネットワーク中で
使用される可能性があるチップを示すために従来技術が
ここで再び参照されるように、以前の特許出願でも引用
されている。このインモス出版物に記述される要素は、
本発明を実行するために使用することができる。しかし
それは、トランスピュータ・チップを本発明と共に実現
できるということではない。本発明は、引用された関連
出願に記述されたチップによって実現されることが望ま
しい。 2. T・A・クリツその他による、IBM社のテクニカル
・ディスクロージャ・ブリテン27巻、No.10X、1
985年3月、において、任意の形式のネットワークを
もつ分散システムの構築を可能にする、高速共用メモリ
をもつ多重ポート・バス構造が記述されている。 3. IBM社のテクニカル・ディスクロージャ・ブリテン
33巻、No.11、1991年4月のバコグリによる論
文は、堅く結合した共用メモリ多重プロセッサを実現す
るために、第2レベル共有キャッシュおよび第2レベル
専用キャッシュへの共通インタフェースを持つ、多重プ
ロセッサ・コンピュータのための、第2レベル共用キャ
ッシュの実現を記述している。 4. また、知的交換装置を持つ開発中のいくつかのシ
ステムがあることを、考慮しなければならない。以前の
研究は、ここで問題にされる事柄に言及していなかっ
た。 従来技術:特許 ヨーロッパ、日本および米国特許の文献は、本発明とは
異なる。 1. 1989年12月19日提出、発行番号429
733 A2、ヨーロッパ特許出願89313252.
2は、イメージ・グラフィック・プロセッサを実施例と
する、マルチプロセッサ・システムおよび方法を開示し
ている。クロスバー・スイッチは、プロセッサ・メモリ
・リンクを確立するのに役立ち、全イメージ・プロセッ
サは、ひとつのシリコン・チップ上にある。しかし、交
換は知的ではなく、機械はSIMD機械であって、本発明の
システムのようなSIMD/MIMD機械ではない。 2. IBM社のロビン・チャンによる、1991年10月
8日発行米国特許5,056,000は共用メモリSPMD
をもつ相互接続交換の使用を開示している。 3. IBM社のアンダーソンその他による、1990年9
月18日発行米国特許4,958,273は、データを
保護する冗長技術を開示している。テラデータ社のフィ
リップ・ネッチェスによる1991年4月9日発行米国
特許5,006,978は、データモジュールがない基
礎的能動論理知的ネットワークを開示している。どちら
の特許も、多様なメモリ・モジュール間の並行処理を支
持する、メモリアクセス/交換ネットワークを開示して
いる。 4. ボルト・ベラネック、ニューマン、カーベイその
他による、1991年8月20日発行米国特許5,04
1,971は、知的交換装置を持たない並行処理コンピ
ュータを開示している。IBM社のジョージオその他によ
る、1991年12月10日発行米国特許5,072,
217は、交換マトリックスの制御のための片側クロス
ポイント交換を開示している。両特許とも、多様なプロ
セッサ間および多様なメモリ・モジュール間の並行処理
を支持する、メモリアクセス/交換ネットワークを開示
している。 5. 分散/多重ポート・メモリに関する他の特許があ
る。例えば米国特許4,394,726;4,809,
159;4,956,772。
Prior Art: Publications 1. In the Transputer Data Book, First Edition 1989, a single chip Inmos system with a processor, memory and communication links available in a network is shown. It has also been cited in previous patent applications, as prior art is again referred to herein to indicate chips that may be used in the network. The elements described in this Inmos publication are:
It can be used to carry out the present invention. However, it does not mean that a transputer chip can be implemented with the present invention. The present invention is preferably implemented with the chips described in the cited related applications. 2. T.A.Clitz et al., IBM Technical Disclosure Bulletin Vol. 27, No. 10X, 1
In March 985, a multi-port bus structure with high speed shared memory is described which allows the construction of distributed systems with networks of any type. 3. IBM Technical Disclosure Bulletin, Vol. 33, No. 11, April 1991, Bacoguri's paper, describes a second-level shared cache and a second-level dedicated implementation to implement a tightly coupled shared-memory multiprocessor. It describes an implementation of a second level shared cache for a multi-processor computer with a common interface to the cache. 4. It must also be taken into account that there are several systems under development with intelligent switching equipment. Previous studies did not mention what is at stake here. Prior Art: Patents The European, Japanese and US patent documents differ from the present invention. 1. Submitted December 19, 1989, Issue No. 429
733 A2, European patent application 893132252.
No. 2 discloses a multiprocessor system and method, with an image graphics processor as an example. The crossbar switch helps establish the processor memory link and the entire image processor is on one silicon chip. However, the exchange is not intelligent and the machine is a SIMD machine, not a SIMD / MIMD machine like the system of the present invention. 2. IBM's Robin Chan, issued October 8, 1991, US Pat. No. 5,056,000, is a shared memory SPMD.
Discloses the use of interconnect switching with. 3. IBM Anderson et al., September 1990
U.S. Pat. No. 4,958,273, issued May 18, discloses a redundancy technique for protecting data. U.S. Pat. No. 5,006,978 issued April 9, 1991, by Philip Nettis of Teradata, Inc. discloses a basic active logic intelligent network without data modules. Both patents disclose memory access / switch networks that support parallel processing between various memory modules. 4. Bolt Veranek, Newman, Carvey and others, US Patent 5,04, issued August 20, 1991.
1,971 discloses a parallel processing computer without an intelligent switching device. IBM Corp.'s Georgeo et al., US Pat. No. 5,072, issued Dec. 10, 1991.
217 discloses a one-sided crosspoint exchange for control of the exchange matrix. Both patents disclose a memory access / switching network that supports parallel processing between different processors and different memory modules. 5. There are other patents on distributed / multi-port memory. For example, U.S. Patents 4,394,726; 4,809,
159; 4,956,772.

【0052】並列システムのコンピュータシステムの接
続が交換によって提供されるとき、メモリを共用する処
理装置の数は交換をより複雑にし、待ち時間は非線形に
増大する。この影響は、共用メモリの使用を、処理装置
数の少ないシステムに制限する。
When a computer system connection in a parallel system is provided by switching, the number of processors sharing memory makes switching more complex and latency increases non-linearly. This effect limits the use of shared memory to systems with a small number of processors.

【0053】共用メモリ中の共用対象を使用すること
は、それらがシステムの処理装置による書込みアクセス
を通してのみ、状態を変化させることができるというこ
とを、意味する。書込みアクセス競合は容易に、容認で
きないレベルにまで増大する。処理装置が加えられると
き、共用メモリにアクセスを要求するプロセッサの数が
同時に増加する。競合が起こり、プロセッサ数が増加す
るにつれ、競合の量が増加する。システム中の接続およ
び競合仲裁者が交換の形式をとるとき、競合仲裁の複雑
さは、幾何学的にプロセッサの数と比例する。
Using shared objects in shared memory means that they can change state only through write access by the system's processing units. Write access contention easily grows to unacceptable levels. As processing units are added, the number of processors requesting access to shared memory simultaneously increases. As contention occurs and the number of processors increases, the amount of contention increases. When connections in the system and competitive arbitrators take the form of exchanges, the complexity of competitive arbitration is geometrically proportional to the number of processors.

【0054】例えば考える(Thinking)機械CM-5のよう
な、代わるべき手段は、インモス・チップのように、何
らかの方法で各システムに専用メモリを提供し、多様な
交換を使用してこれらを相互接続させることである。こ
れらのシステムは、共用メモリシステムに関する問題を
避けるのに役立つ。しかし、複数のコンピュータによる
対象物の共用が非常に複雑になり、共用対象の一貫した
見方を維持することに関するオーバーヘッドが、プロセ
ッサの数につれて非線形に増大する。
Alternatives, such as the Thinking Machine CM-5, provide dedicated memory to each system in some way, such as the Inmos chip, and use various interchanges to interconnect them. It is to connect. These systems help avoid problems with shared memory systems. However, the sharing of objects by multiple computers becomes very complex, and the overhead associated with maintaining a consistent view of the shared objects grows non-linearly with the number of processors.

【0055】従来技術において典型的に、DASDまたは他
の装置を共用するコンピュータシステムは、様々な交換
または交換ネットワークによって相互に接続させられ
る。ここにおいても、装置の数が増すにつれ、共用に関
する複雑さおよびオーバーヘッドが幾何学的に増大す
る。
Typically in the prior art, computer systems sharing a DASD or other device are interconnected by various switching or switching networks. Again, as the number of devices increases, sharing complexity and overhead geometrically increases.

【0056】必要なのは、処理装置、共用メモリ、DASD
および他の装置を含む、複数の機能単位を相互に接続さ
せるための方法である。装置がコンピュータシステムに
加えられる際の多大なオーバーヘッドまたは複雑さなし
に、多数の多様なシステムまたは企業構成要素を接続す
ることが望ましい。
All that is required is a processor, shared memory, DASD
And a method for connecting a plurality of functional units to each other, including other devices. It is desirable to connect a large number of diverse system or enterprise components without the tremendous overhead or complexity of adding a device to a computer system.

【0057】[0057]

【発明が解決しようとする課題】本発明は、多様なコン
ピュータシステム要素(CSE)の接続(交換)に使用す
ることができる多重ポート知的メモリを提供するコンピ
ュータシステム装置の使用に関する。多重ポート知的共
用メモリは、セルの集合、またはここでヘッジホッグと
呼ばれるノードに組織化される。各ノードは、有限のコ
ンピュータ・メモリおよび処理装置を含み、少くとも装
置を相互接続するリンクのK個が、ジッパー・ポートを
持つ。ヘッジホッグ・システムは、交換と共用メモリの
特性を合わせ持つ。さらに、ヘッジホッグ共用メモリ中
の対象物は、CSEの干渉なしで状態を変化させることが
できる。我々の目的は、メモリの実装および、交換機能
を持つチップ上の要素を処理することによって達成され
る。ヘッジホッグは、コミュニケーション・ネットワー
ク中のヘッジホッグを共有するいくつかのCSEに起こる
競合および可干渉性問題を解決し、これらの問題は明白
な通信を必要としない。
SUMMARY OF THE INVENTION The present invention is directed to the use of a computer system device that provides a multi-port intelligent memory that can be used to connect (swap) various computer system elements (CSEs). Multiport intelligent shared memory is organized into a collection of cells, or nodes referred to herein as hedgehogs. Each node contains a finite amount of computer memory and processing units, and at least K of the links interconnecting the devices have zipper ports. The hedgehog system combines the characteristics of exchange and shared memory. Moreover, objects in the Hedgehog shared memory can change state without CSE interference. Our goal is achieved by implementing the memory and processing elements on the chip with the exchange function. Hedgehog solves the contention and coherence issues that occur in some CSEs that share the hedgehog in the communication network, and these issues do not require explicit communication.

【0058】[0058]

【課題を解決するための手段】システムは、透過データ
転送を提供する。データは、ジッパーに結合したCSEに
よってジッパーを源とし、このデータは、システム中の
他のジッパー、従ってそのジッパーに結合するCSEに交
換されることができる。この様に交換は、共用メモリ内
の処理要素の制御下で達成される。このことは多様な交
換を提供し、アプリケーションによって、ネットワーク
を横切る通信におけるパケット・ヘッダの使用を、必要
とはしないが可能とする。
The system provides transparent data transfer. The data is sourced from the zipper by the CSE attached to the zipper, and this data can be exchanged for other zippers in the system and thus for the CSE attached to that zipper. The exchange is thus accomplished under the control of processing elements in shared memory. This provides a wide variety of exchanges and allows applications to use the packet header in communications across the network, although this is not required.

【0059】システムは、データ再編成モードを提供す
る。このモードにおいてデータは、ひとつのCSEから他
のCSEへ転送され、この転送間にデータを再編成するこ
とができる。この操作モードにおいて、マトリックスの
行および列が交換され、要素のリストがソートされるか
もしれない。
The system provides a data reorganization mode. In this mode data is transferred from one CSE to another CSE and the data can be reorganized during this transfer. In this mode of operation, the rows and columns of the matrix may be swapped and the list of elements may be sorted.

【0060】システムのデータ変更モードが、同様に提
供される。このモードにおいて、CSE間を転送される際
データが変更される。この操作モードにおいてマトリッ
クス要素は、スカラーを掛けられるか、あるいは同様に
変形することができる。
A data modification mode of the system is also provided. In this mode, data is changed when it is transferred between CSEs. In this mode of operation, the matrix elements can be scalar multiplied or similarly deformed.

【0061】透過データ共有モードは、ヘッジホッグに
結合したCSEによってデータ対象物が共有される機能
を、システムに提供する。データ干渉性の要求レベルを
維持するための通信規約は、ヘッジホッグ・チップ・メ
モリ内で実行することができる。そしてこれらの通信規
約は、チップの外部で処理する必要がない。したがって
外部資源を必要としない。
The transparent data sharing mode provides the system with the ability to share data objects by the CSE coupled to the hedgehog. The communication protocol for maintaining the required level of data coherence can be implemented in the Hedgehog chip memory. And these communication protocols do not have to be processed external to the chip. Therefore no external resources are required.

【0062】加えて、データ共有は再編成と組み合わせ
られることができる。ヘッジホッグ・チップ中のデータ
は、共用システムの干渉なしで再編成されることができ
る。接続システムは、ヘッジホッグ・チップの対象物に
メッセージを送り出すことによって、再編成を始めるこ
とができる。共用システムは、ヘッジホッグ内の通信規
約を実行する通信規約によって中間状態を保たないです
むが、この規約を意識することはない。
In addition, data sharing can be combined with reorganization. The data in the Hedgehog Chip can be reorganized without the interference of shared systems. The connection system can initiate the reorganization by sending a message to the object on the Hedgehog chip. The shared system does not need to maintain an intermediate state by the communication protocol that executes the communication protocol in the hedgehog, but is unaware of this protocol.

【0063】またシステムは、データ共有に変更を提供
する。ヘッジホッグ・チップ中のデータは、共用システ
ムの直接の干渉なしで再編成されることができる。接続
システムは、ヘッジホッグ対象物にメッセージを送り出
すことによって、変更を始めることができる。共用シス
テムは、メモリ内の通信規約を実行する通信規約によっ
て中間状態を保たないですむが、この規約を意識するこ
とはない。
The system also provides changes to data sharing. The data in the Hedgehog chip can be reorganized without the direct interference of the shared system. The connection system can initiate the change by sending a message to the hedgehog object. The shared system does not need to maintain an intermediate state by the communication protocol that executes the communication protocol in memory, but is unaware of this protocol.

【0064】ヘッジホッグ・チップ内で、チップ対象物
を、ヘッジホッグ・チップ・プロセッサにだけ知られて
いる安全トークンと関連させることによって、多様な安
全/完全性手段を実行することができる。それらのトー
クンに連結した処理のみが、対象物にアクセスを持つ。
これは同様に、ヘッジホッグ・チップの外部処理資源の
使用を必要としない。
Within the Hedgehog Chip, various security / integrity measures can be implemented by associating the chip object with a security token known only to the Hedgehog Chip Processor. Only processes linked to those tokens have access to the object.
This likewise does not require the use of external processing resources of the Hedgehog chip.

【0065】ヘッジホッグ・チップ対象物は、外部処理
資源を使用せずに、互いにメッセージを送信し、それら
の対象物の状態移行を始めることができる。この操作モ
ードにおいて、ヘッジホッグCSE要素は、共有コンピュ
ータ資源となる。ヘッジホッグ内に、メモリ、通信およ
び処理機能を統合することによって、CSE間の可干渉性
を保証するための通信が、劇的に減少する。
Hedgehog chip objects can send messages to each other and initiate state transitions for those objects without the use of external processing resources. In this mode of operation, the Hedgehog CSE element becomes a shared computer resource. By integrating memory, communication and processing functions within the Hedgehog, the communication to ensure coherency between CSEs is dramatically reduced.

【0066】データへの未許可アクセスは、メモリ自身
によって防ぐことができる。すべてのコンピュータのメ
モリ待ち時間は、共用対象物に対して一律である。そし
て、データ形式変換は、チップ自身のメモリによって実
行することができる。
Unauthorized access to data can be prevented by the memory itself. Memory latency for all computers is uniform for shared objects. Then, the data format conversion can be executed by the memory of the chip itself.

【0067】これらの改良は、以下に詳細に記述され
る。本発明の利点および特徴を理解するために、記述お
よび図面を参照されたい。
These improvements are described in detail below. To understand the advantages and features of the present invention, refer to the description and drawings.

【0068】[0068]

【実施例】好ましい実施例を詳細に述べる前に、本発明
のヘッジホッグ・システムを、例をあげて説明するのが
良いであろう。ヘッジホッグ装置は、処理およびメモリ
機能をもつ高性能交換装置である。これは、「改良並列
配列プロセッサ」と題する、1992年5月22日提出
米国特許07/887,630において記述されるPME
装置を使用して、実現される。ヘッジホッグ装置は、3
2キロバイト16ビット処理要素を備えるチップによっ
て提供される、共用電子記憶装置である。各PEはヘッジ
ホッグ・チップ上の64キロバイト、つまり、チップ上
の共用メモリ部分の集合であるヘッジホッグ・メモリの
64キロバイトを、アドレス指定することができる。上
記関連出願において記述されるように、ヘッジホッグ・
チップ上には8つのPEが存在する。このメモリ/PEチッ
プは、ノードと呼ばれる。
DETAILED DESCRIPTION Before describing the preferred embodiment in detail, the hedgehog system of the present invention may be described by way of example. Hedgehog devices are high performance switching devices with processing and memory functions. This is the PME described in US patent application 07 / 887,630 filed May 22, 1992, entitled "Improved Parallel Array Processor".
It is realized using the device. 3 hedgehog devices
Shared electronic storage provided by a chip with a 2 kilobyte 16-bit processing element. Each PE can address 64 kilobytes on the Hedgehog chip, or 64 kilobytes of hedgehog memory, which is a collection of shared memory portions on the chip. As described in the above related application, the hedgehog
There are 8 PEs on the chip. This memory / PE chip is called a node.

【0069】各ノードは、8X8ビット双方向性データ
経路によって、他の8つのノードに接続する。これらの
ノードは、様々な網構成において相互接続することがで
きる。そのような網構成のひとつは、ロルフによる、
「相互接続方法および相互接続処理要素システム」と題
する、1991年5月13日提出米国特許出願番号07
/698,866において既に記述され、ここに参照に
よって編入される。このような網構成のもうひとつは、
図1によって図示されるような好ましい実施例におけ
る、4次元トーラスである。チップ上で、PEは立方体結
合しているネットワークにおいて、8ビット単方向性二
重通信データ経路で接続している。したがって、チップ
から離れた各データ経路につきひとつのPEがあり、この
データ経路は、ジッパー接続ポート・インタフェースを
持つ。PEは、改良並列配列プロセッサに図示されるのと
同じ、固定小数点命令セットを実行する。それは、既知
の加算命令セットである。
Each node connects to eight other nodes by an 8x8 bit bidirectional data path. These nodes can be interconnected in various network configurations. One such network configuration is by Rolf,
US patent application Ser. No. 07 filed May 13, 1991, entitled "Interconnect Method and Interconnect Processing Element System"
/ 698,866 and is hereby incorporated by reference. Another such network configuration is
4 is a four-dimensional torus in the preferred embodiment as illustrated by FIG. On the chip, the PEs are connected in an 8-bit unidirectional duplex data path in a cube-bonded network. Therefore, there is one PE for each data path away from the chip, and this data path has a zipper connection port interface. The PE executes the same fixed-point instruction set as illustrated in the improved parallel array processor. It is a known add instruction set.

【0070】64のノードの集合は、クラスタと呼ば
れ、各クラスタに結合しているのがクラスタ制御装置で
ある。64のクラスタ集合は、全システムまたは機械と
なることができ、機械と結合しているのがクラスタ同期
装置である。制御装置および同期装置は、入出力操作、
SIMD制御、エラー検出または隔離のために、ジッパー接
続をもつネットワークたて糸を開けることに関係する。
CSE要素への物理的接続は、HPPIのような高速度通信リ
ンクを通して行われ、リンク接続を実行する機械は、ヘ
ッジホッグに接続することができる。
A set of 64 nodes is called a cluster, and a cluster control device is connected to each cluster. The 64 cluster set can be the entire system or machine, and coupled to the machine is a cluster synchronizer. The control unit and the synchronizer are for input / output operations,
Related to opening network warps with zipper connections for SIMD control, error detection or isolation.
The physical connection to the CSE element is through a high speed communication link, such as HPPI, and the machine performing the link connection can connect to the hedgehog.

【0071】各ヘッジホッグ・プロセッサは、それ自身
の命令カウンタを持つ。プロセッサは、MIMDモードにお
いて実行することができる。加えて、クラスタ制御装置
は、SIMDモード操作のために、通信ネットワークのPEに
命令または命令アドレスを一斉送信することができる。
命令アドレスの一斉送信は、純粋なSIMD操作モードから
純粋なMIMD操作モードに徐々に移行する操作モードを可
能にする。
Each hedgehog processor has its own instruction counter. The processor can run in MIMD mode. In addition, the cluster controller can broadcast an instruction or instruction address to the PE of the communication network for SIMD mode operation.
Broadcasting the instruction address enables an operating mode that gradually transitions from pure SIMD operating mode to pure MIMD operating mode.

【0072】入出力 データは、HPPIまたは他のリンクのような、高速度通信
リンクを通って、ヘッジホッグ・メモリへと移る。同時
にひとつ以上のヘッジホッグ・ノードにリンクからデー
タを提示することによって、これらのリンクの帯域幅お
よびヘッジホッグ・ノードの入出力帯域幅が一致させら
れる。このようにリンクに結合したヘッジホッグ・ノー
ドは、ジッパー・ノードと呼ばれる。ヘッジホッグ・メ
モリ中のジッパー・ノードの数は、リンク帯域幅と一致
するようにセットされる。したがって、ヘッジホッグ共
用メモリ内のジッパー・ノードの数はKであり、Kは K =
Bl/Bnで求められる。ここでBlはリンクの帯域幅であ
り、Bnはノードの帯域幅である。したがって、好ましい
実施例における好ましいチップのためのKは、8であ
る。このことは、ジッパー長に関しても述べることがで
きる。ジッパー・ノードは、ネットワークの1次元に沿
って置かれる。第2のジッパーは、ある種のアプリケー
ション(特にマトリックス転置)の効率を増すために、
システムの他の次元に沿って実行される。ジッパー・ノ
ードおよびノード中の適当な割込み処理ルーチンを使用
することによって、ホスト・コンピュータがリンク帯域
幅を維持することができるならば、データをリンク速度
でヘッジホッグ・メモリへ転送することができる。より
複雑な入出力操作も同様に可能である。
Input / output data travels through high speed communication links, such as HPPI or other links, to hedgehog memory. By presenting data from one link to more than one hedgehog node at the same time, the bandwidth of these links and the input / output bandwidth of the hedgehog node are matched. A hedgehog node bound to a link in this way is called a zipper node. The number of zipper nodes in the Hedgehog memory is set to match the link bandwidth. Therefore, the number of zipper nodes in hedgehog shared memory is K, and K is K =
Required by Bl / Bn. Here Bl is the bandwidth of the link and Bn is the bandwidth of the node. Therefore, K for the preferred chip in the preferred embodiment is 8. This can also be stated in terms of zipper length. Zipper nodes are placed along one dimension of the network. The second zipper is designed to increase the efficiency of certain applications, especially matrix transposition.
Performed along the other dimensions of the system. By using the zipper node and appropriate interrupt handling routines in the node, data can be transferred at the link speed to the hedgehog memory provided the host computer can maintain the link bandwidth. More complex I / O operations are possible as well.

【0073】プログラミング型モデル ヘッジホッグ共用メモリ・システムは、MIMDおよびSIMD
モードにおいて動くことができる。MIMDモードは、ヘッ
ジホッグ内の各処理要素内にプログラムカウンタを持つ
ことによって、提供される。ヘッジホッグは、基本的に
複数命令複数データ機械である。各ノード中のオペレー
ティング・システムは必要ではない。PE中で実行中のす
べてのコードは、割込み処理ルーチンを含み、アプリケ
ーション仕様コードとして見ることができる。これは、
アプリケーション設計者が、効率を最適化するためにア
プリケーションのすべての特性を利用することを可能に
する。例えばソート(SORT)または高速フーリエ変換
(FFT)のようなある種のアプリケーションは、決定性
メッセージ伝達パターンを持ち、それによりメッセージ
の宛先を決定するためにパケット・ヘッダに問い合わせ
る必要がない。
Programming Model The hedgehog shared memory system is MIMD and SIMD.
Can move in mode. MIMD mode is provided by having a program counter in each processing element in the Hedgehog. Hedgehog is basically a multiple instruction, multiple data machine. No operating system is required in each node. All code running in the PE, including interrupt handling routines, can be viewed as application-specific code. this is,
Allows application designers to take advantage of all the properties of the application to optimize efficiency. Certain applications, such as Sort (SORT) or Fast Fourier Transform (FFT), have a deterministic message delivery pattern, thereby eliminating the need to query the packet header to determine the destination of the message.

【0074】SIMD(一命令複数データ)機械は、PEおよ
び相互接続ネットワークに加えて、クラスタ制御装置お
よび機械同期装置によって実行される。64のノード・
クラスタそれぞれに1クラスタ制御装置があり、合計6
4の制御装置がある。ただひとつの機械同期装置が、ヘ
ッジホッグ共用メモリ・システムのためにある。制御バ
スは制御装置をノードに接続し、制御バスを使用してSI
MD操作モードが実行される。
The SIMD (Single Instruction Multiple Data) machine is implemented by the cluster controller and machine synchronizer in addition to the PE and interconnect network. 64 nodes
Each cluster has one cluster controller, for a total of 6
There are four controllers. There is only one machine synchronizer for the Hedgehog shared memory system. The control bus connects the controller to the node and uses the control bus to
MD operation mode is executed.

【0075】SIMDモードにおいて、各PEに同じ命令が制
御バス上を一斉送信され、機械は各終了操作で同期化さ
れる。加えて、各ノードは取出しを導き、各プロセッサ
の記憶装置から命令順序を実行する。順序の終わりに、
機械は再同期化される。各順序が同じであるならば、こ
の機械は、実行マクロ・レベルでSIMD機械型である。し
かし、各ノードにおける命令順序がアプリケーションの
実行間に徐々に異なってくると、システムはMIMDモード
に徐々に戻る。このように、ヘッジホッグ共用メモリ・
システムがコンピュータのMIMD、SIMDモードを区別しに
くくし始めることが解る。
In SIMD mode, the same instruction is broadcast to each PE on the control bus and the machines are synchronized on each end operation. In addition, each node directs the fetch and executes the instruction sequence from the memory of each processor. At the end of the order,
The machine is resynchronized. If each order is the same, then this machine is SIMD machine type at the execution macro level. However, if the order of instructions at each node gradually changes during the execution of the application, the system will gradually return to MIMD mode. In this way, the hedgehog shared memory
It turns out that the system begins to make it difficult to distinguish between the MIMD and SIMD modes of the computer.

【0076】本発明を詳細にここに記述する。図1は、
ここでヘッジホッグと呼ばれる共用メモリ交換装置の好
ましい実施例を図示している。装置は、装置のノードと
して複数のCSEを相互接続させる通信ネットワークを含
む。これらのCSEの各々は、コンピュータおよび直接ア
クセス記憶装置(DASD)を含む、様々なコンピュータシ
ステム要素を接続(交換)するのに使用される多重ポー
ト知的メモリを持つ。多重ポート知的共用メモリは、セ
ルまたはノードの集合に組織される。各ノードは、有限
のコンピュータ・メモリおよび演算処理装置を含み、少
くとも装置のノードのうちK個が、ジッパー・ポートに
隣接する。CSEは、交換と共用メモリの特性を合わせ持
つ。加えて、共用メモリ中の対象物は、ここでヘッジホ
ッグ・チップ(CSEおよびポート)に相互接続している
コンピュータの干渉なしで、状態を変更することができ
る。我々の目的は、メモリの実装および、交換機能と共
にチップ上の要素を処理することによって成し遂げられ
る。PMEヘッジホッグは、コミュニケーション・ネット
ワーク中のヘッジホッグを共有するいくつかのコンピュ
ータ装置に起こる競合および可干渉性問題を解決し、こ
れらの問題は明白な通信を必要としない。
The present invention is described in detail herein. Figure 1
A preferred embodiment of a shared memory switching device referred to herein as a hedgehog is illustrated. The device includes a communication network that interconnects multiple CSEs as nodes of the device. Each of these CSEs has a multi-port intelligent memory used to connect (exchange) various computer system elements, including computers and direct access storage devices (DASD). Multi-port intelligent shared memory is organized into a collection of cells or nodes. Each node contains a finite amount of computer memory and a processor, with at least K of the device's nodes adjacent to the zipper port. The CSE combines the characteristics of exchange and shared memory. In addition, objects in shared memory can change state without the interference of computers that are now interconnected to hedgehog chips (CSEs and ports). Our objectives are accomplished by implementing the memory and handling elements on the chip along with exchange functionality. PME Hedgehog solves the contention and coherence problems that occur in some computing devices sharing a Hedgehog in a communication network, and these problems do not require explicit communication.

【0077】図2に示されるシステムによって、透過デ
ータ転送は、データがジッパーに結合するCSEによって
そのジッパーを源とし、このデータがシステム中の他の
ジッパー、したがってそのジッパーに結合するCSEに切
り換えられることによって提供される。この様に、交換
は共用メモリ内で処理要素の制御下に達成される。この
ことは多様な切り換えを提供し、アプリケーションに依
存する、ネットワークを横切る通信におけるパケット・
ヘッダの使用を、必要とはしないが可能とする。
With the system shown in FIG. 2, the transparent data transfer is sourced from the zipper by the CSE whose data is bound to the zipper, and this data is switched to another zipper in the system and thus to the CSE which is bound to that zipper. Provided by. In this way, the exchange is accomplished in shared memory under the control of the processing elements. This provides a variety of switching and application-dependent packet packets in communications across the network.
Allows the use of headers, although not required.

【0078】図3は、本発明のデータ再編成モードを図
示する。このモードにおいて、データはひとつのCSEか
ら他のCSEへ転送され、転送間にデータを再編成するこ
とができる。この操作モードにおいて、マトリックスの
行および列を交換し、要素のリストをソートすることが
できる。
FIG. 3 illustrates the data reorganization mode of the present invention. In this mode, data is transferred from one CSE to another and the data can be reorganized between transfers. In this mode of operation, the rows and columns of the matrix can be swapped and the list of elements can be sorted.

【0079】図4は、データ変更モードを図示する。こ
のモードにおいて、CSE間で転送される際データが変更
される。この操作モードにおいて、マトリックスの要素
に、スカラーを掛けることができる。
FIG. 4 illustrates the data modification mode. In this mode, the data is modified as it is transferred between CSEs. In this mode of operation, the elements of the matrix can be multiplied by a scalar.

【0080】透過データ共有モードが、図5によって図
示される。このモードにおいて、データ対象物はヘッジ
ホッグに結合したCSEによって共有される。データ可干
渉性の要求レベルを維持するための通信規約は、ヘッジ
ホッグ・チップ・メモリ内で実行することができる。そ
してこれらの通信規約は、チップの外部で処理する必要
がない。したがって外部資源を必要としない。
The transparent data sharing mode is illustrated by FIG. In this mode, the data object is shared by the CSE attached to the hedgehog. The communication protocol for maintaining the required level of data coherency can be implemented in the Hedgehog chip memory. And these communication protocols do not have to be processed external to the chip. Therefore no external resources are required.

【0081】加えて、データ共有は再編成と組み合わせ
られることができる。ヘッジホッグ・チップ内のデータ
は、共用システムの干渉なしで再編成されることができ
る。接続システムは、ヘッジホッグ・チップ対象物にメ
ッセージを送り出すことによって、再編成を始めること
ができる。共用システムは、ヘッジホッグ内の通信規約
を実行する通信規約によって中間状態を保たないですむ
が、この規約を意識することはない。
In addition, data sharing can be combined with reorganization. The data in the Hedgehog Chip can be reorganized without the interference of shared systems. The connection system can initiate the reorganization by sending a message to the hedgehog tip object. The shared system does not need to maintain an intermediate state by the communication protocol that executes the communication protocol in the hedgehog, but is unaware of this protocol.

【0082】さらに、システムはデータ共有に変更を提
供する。ヘッジホッグ・チップ中のデータは、共用シス
テムの直接の干渉なしで再編成されることができる。接
続システムは、ヘッジホッグ対象物にメッセージを送り
出すことによって、変更を始めることができる。共用シ
ステムは、メモリ内の通信規約を実行する通信規約によ
って中間状態を保たないですむが、この規約を意識する
ことはない。
In addition, the system provides changes to data sharing. The data in the Hedgehog chip can be reorganized without the direct interference of the shared system. The connection system can initiate the change by sending a message to the hedgehog object. The shared system does not need to maintain an intermediate state by the communication protocol that executes the communication protocol in memory, but is unaware of this protocol.

【0083】ヘッジホッグ・チップ内で、チップ対象物
を、ヘッジホッグ・チップ・プロセッサにだけ知られて
いる安全トークンと関連させることによって、多様な安
全又は完全性手段を実行することができる。それらのト
ークンに連結した処理のみが、対象物にアクセスを持
つ。これは同様に、ヘッジホッグシステム外の処理資源
の使用を必要としない。
Within the Hedgehog Chip, various security or integrity measures can be implemented by associating the chip object with a security token known only to the Hedgehog Chip Processor. Only processes linked to those tokens have access to the object. This likewise does not require the use of processing resources outside the hedgehog system.

【0084】ヘッジホッグシステム対象物は、外部処理
資源を使用せずに、互いにメッセージを送信し、それら
の対象物の状態移行を始めることができる。この操作モ
ードにおいて、ヘッジホッグシステムは、図6に示され
るような共有コンピュータ資源となる。
Hedgehog system objects can send messages to each other and initiate state transitions for those objects without the use of external processing resources. In this mode of operation, the hedgehog system becomes a shared computer resource as shown in FIG.

【0085】本システム開発の結果、可干渉性を保証す
るコンピュータ共用データ間の通信要求を、劇的に減少
させることができる。
As a result of the development of this system, it is possible to dramatically reduce the communication requirement between computer shared data that guarantees coherence.

【0086】データへの未許可アクセスを、メモリ自身
によって防ぐことができる。すべてのコンピュータのメ
モリ待ち時間は、どの共用対象物に対しても一律であ
る。そして、データ形式変換は、チップ自身のメモリに
よって実行される。
Unauthorized access to data can be prevented by the memory itself. The memory latency of all computers is uniform for any shared object. Then, the data format conversion is executed by the memory of the chip itself.

【0087】ジッパーの記述 T・バーカーその他による、「APAP入出力ジッパー接
続」と題する、1992年5月22日提出、米国特許出
願番号07/887,259は、ネットワーク結合(カ
ップリング)を変更するための、ネットワーク結合(カ
ップリング)を破る方法を提供し、多重PMEコンピュー
タシステムに対する高速入出力ジッパーを開示してい
る。システム結合(カップリング)は、ジッパーと呼ば
れる。
Zipper Description T. Barker et al., US Pat. App. No. 07 / 887,259, filed May 22, 1992, entitled "APAP Input / Output Zipper Connection," changes the network coupling. A method for breaking network coupling is disclosed and a high speed input / output zipper for multiple PME computer systems is disclosed. The system coupling is called a zipper.

【0088】本発明の入出力ジッパー概念は、ノードへ
のポートが、ノードからのポートまたはシステムバスか
ら来るデータによって駆動される概念である。また、ノ
ードの外に置かれているデータは、他のノードまたはシ
ステムバスの両方に入力可能である。システムバスおよ
び他のノードへのデータの出力は、同時にではなく異な
る周期で実行される。カップリングは、端なしのネット
ワークおよび端をもつネットワーク間のネットワーク
を、動的に結合する。データは能動の時、ネットワーク
内へまたはネットワークから端を通り抜けて通る。カッ
プリングは、ネットワークに入ってくるデータの分散あ
るいは、ネットワークを出ていくデータの収集を可能に
し、端を通るデータ率はネットワーク外部のシステムの
保持最高データ率と一致する。
The I / O zipper concept of the present invention is that the port to the node is driven by the port from the node or the data coming from the system bus. Also, data located outside a node can be input to both other nodes or the system bus. The output of data to the system bus and other nodes is performed at different cycles rather than simultaneously. Coupling dynamically joins networks between endless networks and networks with ends. When active, the data passes into or out of the network through the edges. Coupling allows the distribution of data that enters the network or the collection of data that leaves the network, with the data rate passing through the edge being consistent with the maximum data rate maintained by systems outside the network.

【0089】ジッパーは、一群のネットワーク環の動的
破壊を可能にする。「ジッパーで開閉される」時、デー
タはネットワークに出入りせずに環を横切ることができ
る。「ジッパーで開閉されない」時、環を横切るデータ
が出入りするネットワークに端を形成して、環は壊れ
る。
Zipper allows dynamic destruction of a group of network rings. When "zipped", data can cross the ring without entering or leaving the network. When "unzipped", the ring breaks, forming an edge in the network through which data traverses the ring.

【0090】ジッパーは、「並列連想プロセッサシステ
ム」と題する、米国特許出願番号611,594に記述
されている。この特許出願は、チップ内にメモリと制御
論理のレプリカを作成し、ひとつのチップの複製からプ
ロセッサ・システムを作るという、ひとつのチップ内に
コンピュータ・メモリと制御論理を統合する考えを記述
している。この方法は、システムに、ひとつのチップ型
を開発し製作する費用で大規模並列処理機能を提供し、
同時に、チップ境界横断および回線長を減らすことによ
って効率を増大させる。
Zipper is described in US patent application Ser. No. 611,594, entitled "Parallel Associative Processor System". This patent application describes the idea of integrating computer memory and control logic in one chip, making a replica of the memory and control logic in the chip and making a processor system from a copy of one chip. There is. This method provides the system with massive parallel processing capability at the cost of developing and manufacturing one chip type,
At the same time, it increases efficiency by reducing chip boundary crossings and line lengths.

【0091】基となる特許は、1次元入出力構造およ
び、チップ内でその構造に結合した複数のSIMD処理記憶
素子(PME)の使用を記述している。本アプリケーショ
ンおよび参照関連アプリケーションは、その概念を1次
元以上に拡大し、データ転送およびプログラム割り込み
をもつ最大限の入出力システムを含む。以下の記述は、
1チップにつき8SIMD/MIMD PMEをもつ4次元入出力構
造の観点からなされる。しかし、米国特許出願番号61
1,594に記述されるように、それはより大きい次元
またはより多いPMEに拡大することができる。
The underlying patent describes a one-dimensional input / output structure and the use of multiple SIMD processing memory elements (PMEs) coupled to that structure in a chip. This application and reference-related applications extend the concept to more than one dimension and include a full I / O system with data transfer and program interrupts. The following description is
This is done from the perspective of a four-dimensional input / output structure with 8 SIMD / MIMD PME per chip. However, US Patent Application No. 61
It can be extended to larger dimensions or more PMEs, as described in 1,594.

【0092】上記アプリケーションおよび関連アプリケ
ーションは概念を、プロセッサ間通信から外部入出力装
置まで拡大する。さらにそれは、処理配列を制御するの
に必要なインタフェースおよび要素を記述している。要
約すると、入出力の3つの型が記述されている。(a)
プロセッサ間、(b)プロセッサと外部装置間、(c)
一斉送信/制御。大規模並行処理システムは、入出力帯
域幅要求のすべてのこれらの型が、プロセッサ・コンピ
ュータ機能と釣り合うことを要求する。配列内で、これ
らの要求は、以下にPMEと呼ばれる、高速割り込み状態
交換機能を備える16ビット命令セット構造コンピュー
タのレプリカを作ることによって達成される。他の大規
模並列機械上の処理要素と比較すると、PMEの特性は特
有である。それは、処理、方路選択、記憶装置および入
出力が完全に分散することを可能にする。これは、他の
どんな設計の特性でもない。
The above applications and related applications extend the concept from inter-processor communication to external input / output devices. In addition, it describes the interfaces and elements needed to control the processing array. In summary, three types of inputs and outputs are described. (A)
Between processors, (b) Between processor and external device, (c)
Broadcast / control. Massive parallel processing systems require all these types of I / O bandwidth requirements to be balanced with processor computer functionality. Within the array, these requirements are accomplished by making a replica of a 16-bit instruction set structure computer with fast interrupt state exchange capability, referred to below as PME. The characteristics of PME are unique when compared with other processing elements on massively parallel machines. It allows processing, routing, storage and I / O to be fully distributed. This is not a property of any other design.

【0093】上記参照アプリケーションで詳細に開示さ
れた改良並行配列プロセッサ(APAP)であるヘッジホッ
グ配列のブロック図が、図7に示される。ヘッジホッグ
は、一組のCSE1に含まれる。データおよび命令は、CSE
上で実行している通信および制御プログラムによって発
行される。これらのデータおよび命令は、配列ディレク
タのアプリケーションプログラム・インタフェース(AP
I)2に受け取られ翻訳される。APIは、クラスタ同期装
置3およびクラスタ制御装置4を通して、クラスタ5に
データおよび命令を渡す。クラスタは、ヘッジホッグの
メモリ、並行処理および交換方路選択を提供する。クラ
スタ同期装置およびクラスタ制御装置によって提供され
た機能は、適当なクラスタにデータおよび命令を発送
し、クラスタ間の負荷平衡を提供することである。
A block diagram of the improved parallel array processor (APAP) hedgehog array disclosed in detail in the above referenced application is shown in FIG. Hedgehog is included in the set of CSE1s. Data and instructions are CSE
Issued by the communications and control programs running above. These data and instructions are provided by the Array Director's application program interface (AP
I) Received in 2 and translated. The API passes data and instructions to the cluster 5 through the cluster synchronizer 3 and the cluster controller 4. The cluster provides memory for the hedgehog, concurrency and exchange routing. The function provided by the cluster synchronizer and cluster controller is to route data and instructions to the appropriate clusters and to provide load balancing between the clusters.

【0094】クラスタは、変形超立方体として相互接続
した多数のPMEから成る。超立方体において各セルは、
アドレスが1ビット異なるどんなセルでも隣接するもの
としてアドレス指定できる。環の中でどのセルも、アド
レスが±1違う2つのセルを、その隣接するものとして
アドレス指定することができる。ヘッジホッグに利用さ
れる変形超立方体は、環から超立方体を作るこれらの方
法を合わせ持つ。環の交差は、ノードと定義される。ノ
ードは、図8に示される好ましい実施例において、2n
PME 20および一斉送信制御インタフェース(BCI)2
1を含む。PMEは2Xn配列として、ノード内で構成され
る。nは、配列を特徴づけ物理的チップ・パッケージに
よって制限される、次元数あるいは環を表す。好ましい
実施例のためには、nは4である。チップ科学技術が進
歩するにつれて増加する「n」は、配列の次元数を増加
させる。
A cluster consists of a number of PMEs interconnected as a deformed hypercube. In the hypercube, each cell is
Any cell whose address differs by 1 bit can be addressed as adjacent. Two cells whose addresses differ by ± 1 in any cell in the ring can be addressed as their neighbors. The deformed hypercube used for hedgehog combines these methods of making a hypercube from a ring. The intersection of the rings is defined as a node. The nodes are 2n in the preferred embodiment shown in FIG.
PME 20 and Broadcast Control Interface (BCI) 2
Including 1. The PME is configured in the node as a 2Xn array. n represents the number of dimensions or rings that characterize the array and are constrained by the physical chip package. For the preferred embodiment, n is 4. “N”, which increases as chip technology advances, increases the dimensionality of the array.

【0095】図9は、PMEから配列への形成を示す。8
つのPMEは、ノード151を形成するために相互接続す
る。一群の8つのノードは、X次元環(16 PME)の中
で相互接続し、8つのノードに重なる他の群が、Y次元
環152の中で相互接続する。これは、ノード(512
PME)の8X8配列を持つ、ひとつの2次元クラスタを
生む。クラスタは、4次元配列要素153を形成するた
めに、最高8X8配列まで結合される。配列要素を横切
る8つのノードのあらゆる群が、W次元およびZ次元にお
いて相互接続する。ひとつのノードに対する4つの次元
すべてにおける相互接続路が、154に示される。配列
が一定あるいは直交である必要はないことに、注意され
たい。特定のアプリケーションまたは機械構成は、任意
の次元におけるノードの数を再定義することができる。
FIG. 9 shows the formation of PMEs into sequences. 8
The two PMEs interconnect to form node 151. A group of eight nodes interconnect in an X-dimensional ring (16 PME), and another group that overlaps eight nodes interconnects in a Y-dimensional ring 152. This is the node (512
PME) 8 × 8 array with one 2D cluster. The clusters are combined up to an 8x8 array to form a four-dimensional array element 153. Every group of eight nodes across the array elements interconnect in the W and Z dimensions. Interconnects in all four dimensions for one node are shown at 154. Note that the arrays need not be constant or orthogonal. A particular application or machine configuration can redefine the number of nodes in any dimension.

【0096】各PMEは、ノード26(図2)のただひと
つの環の中に存在する。環は、W、X、Y、Zで表される。
チップ内のPME20は、対にされ(すなわち+Wと-W)、
一方はノードの環に沿って外に時計回りにデータを動か
し、他方はノードの環に沿って外に反時計回りにデータ
を動かす23、26。こうして、PMEを各ノードの外部
ポートに提供する。各環の2つのPMEが、その外部入出
力ポート(+ W、-W、+X、-X、+ Y、-Y、+Z、-Z)によっ
て指定される。ノード内にはまた、4つの+nおよび4つ
の-n PMEを相互接続させる2つの環22がある。これら
の内部環は、メッセージが外部環間を移動するための経
路を提供する。APAPは4次元直交配列151ー154と
考えられるので、内部環によって、メッセージはすべて
の次元において配列を通って動くことができる。これ
は、PMEをノードの環の中にアドレス指定する、あるい
はノード内の隣接するPMEをアドレス指定することによ
って、どのPMEも対象物へメッセージを送ることができ
る、アドレス指定構成となる。
Each PME resides in the only ring of nodes 26 (FIG. 2). The ring is represented by W, X, Y and Z.
The PMEs 20 in the chip are paired (ie + W and -W),
One moves the data clockwise along the ring of nodes and the other moves the data counterclockwise outward along the ring of nodes 23, 26. Thus, PME is provided to the external port of each node. Two PMEs in each ring are designated by their external input / output ports (+ W, -W, + X, -X, + Y, -Y, + Z, -Z). Also within the node are two rings 22 interconnecting four + n and four -n PMEs. These inner rings provide a path for messages to travel between outer rings. Since APAP is considered a four-dimensional orthogonal array 151-154, the inner ring allows messages to move through the array in all dimensions. This is an addressing scheme where any PME can send a message to an object by addressing the PME into a ring of nodes or by addressing adjacent PMEs within a node.

【0097】各PMEは、図10において、4つの入力ポ
ートおよび4つの出力ポート(左の85、92、右の8
6、95、垂直93、94、そして外部80、81)を
持つ。出力ポートの3つおよび入力ポートの3つは、チ
ップ上の他のPMEへの完全二重二地点間接続である。第
4のポートは、チップ外のPMEに完全二重二地点間接続
を提供する。好ましい実現の物理的パッケージにおける
ピンおよび電力制約によって、実際の入出力インタフェ
ースは、4ビット幅経路97、98、99であり、これ
らはPME間データワードの4ニブル96、100を多重
送信するのに使用される。これらは図20に図示されて
いる。
In FIG. 10, each PME has four input ports and four output ports (85, 92 on the left and 8 on the right).
6, 95, vertical 93, 94, and external 80, 81). Three of the output ports and three of the input ports are full-duplex point-to-point connections to other PMEs on the chip. The fourth port provides a full-duplex point-to-point connection for off-chip PMEs. Due to the pin and power constraints in the preferred implementation physical package, the actual input / output interface is a 4-bit wide path 97, 98, 99 which is used to multiplex 4 nibbles 96, 100 of inter-PME data words. used. These are illustrated in FIG.

【0098】好ましい実施例において、PME入出力設計
は、3つの入出力操作モードを提供する。
In the preferred embodiment, the PME I / O design provides three I / O modes of operation.

【0099】○通常モード:2つの隣接するPME間のデ
ータを転送するために使用される。データ転送は、PME
ソフトウェアによって始められる。隣接するPMEより遠
いPMEを割り当てられたデータは、隣接するPMEによって
受け取られ、隣接するPMEから発送されたように送られ
なければならない。通常モードは、「PME蓄積交換/回
路交換モード」と題する関係アプリケーションの中で詳
細に記述されている。
Normal mode: Used to transfer data between two adjacent PMEs. Data transfer is PME
Started by software. Data that is assigned a PME farther than the adjacent PME must be received by the adjacent PME and sent as if it was sent by the adjacent PME. Normal mode is described in detail in a related application entitled "PME Store and Exchange / Circuit Exchange Mode".

【0100】○回路交換モード:PMEに渡すデータおよ
び制御を可能にする。これは、直接隣接しないPME間の
高速通信を可能にする。回路交換モードは、「PME蓄積
交換/回路交換モード」と題する関係アプリケーション
の中で詳細に記述されている。
Circuit switching mode: Enables data and control to pass to the PME. This enables high speed communication between PMEs that are not directly adjacent. The circuit switching mode is described in detail in the relevant application entitled "PME Store and Switch / Circuit Switching Mode".

【0101】○ジッパー・モード:クラスタ内のノード
からデータをロードする、あるいは読むために、配列制
御装置によって使用される。ジッパー・モードは、クラ
スタ・カード上のPME配列からデータを速く転送するた
めに、通常および回路交換モード機構を使用する。
Zipper mode: Used by the array controller to load or read data from the nodes in the cluster. Zipper mode uses normal and circuit-switched mode mechanisms for fast transfer of data from PME arrays on cluster cards.

【0102】配列W、X、Y、Z内の各環は、連続してい
る。配列には「端」は存在しない。概念的にジッパー
は、一時的端を形成するための、2つのノード間のイン
タフェースにおける環の論理的破壊である。ジッパーが
非能動ならば、配列は端を持たない。ジッパーが起動さ
れると、ノードの2つの列間のすべてのインタフェース
は壊され、その結果「端」は、配列および配列制御装置
間のデータ転送のために使用される。図11に参照する
と、例えばジッパー接続がノードのX=0行に沿った-Xイ
ンタフェース上に置かれたとすると、ノードのX=8(PME
xl5)250行とX=0(PME xO)253行間のインタフ
ェースは、もはや二地点間接続ではなく、第3の(ホス
ト)インタフェース251を持つ。通常データは、ホス
ト・インタフェースがそこにないかのように、PME xO
253およびPME xl5 250間を渡る。しかし、PME実
行時ソフトウェア制御下において、ジッパーが起動され
ると、データは配列250、253およびホスト251
間を配列の一時的端を通って転送される。ひとつのクラ
スタのひとつの行に沿ったジッパーは、8つのノードに
おいて環をこわす。最新の科学技術に基づく好ましい実
施例は、ひとつのクラスタのひとつのジッパーを通して
1秒につきおよそ57メガバイトを転送することができ
る。光学接続を始めとする将来の科学技術進歩は、この
データ速度を大幅に増加させると期待されている。
Each ring in the arrays W, X, Y and Z is continuous. There are no "edges" in the sequence. Conceptually, a zipper is a logical break in the ring at the interface between two nodes to form a temporary end. If the zipper is inactive, the array has no edges. When the zipper is activated, all interfaces between the two columns of nodes are broken so that the "edge" is used for data transfer between the array and array controller. Referring to FIG. 11, if, for example, a zipper connection is placed on the -X interface along the node's X = 0 line, the node's X = 8 (PME
The interface between line xl5) 250 and line X = 0 (PME xO) 253 has a third (host) interface 251 which is no longer a point-to-point connection. Normal data is PME xO as if the host interface was not there.
Cross between 253 and PME xl5 250. However, when the zipper is activated under PME runtime software control, the data will be stored in arrays 250, 253 and host 251
Transfers through the temporary ends of the array. A zipper along one row in one cluster breaks the ring at eight nodes. The preferred embodiment, based on modern technology, can transfer approximately 57 megabytes per second through one zipper in one cluster. Future scientific and technological advances, including optical connections, are expected to significantly increase this data rate.

【0103】図12は、この概念が、クラスタの2つの
「端」255、256にジッパーを置くためにどのよう
に拡大されるか示している。この方法は、異なるデータ
が各ジッパーに転送された場合、入出力帯域幅をおよそ
114メガバイト/秒に増加させる。あるいは、同一デ
ータが各ジッパーに転送された場合、配列内の直交デー
タ操作のおよそ57メガバイト/秒を支持する。直交デ
ータ操作は、配列内の高速転置および多重マトリックス
操作を支持する。理論上、あらゆるノード間インタフェ
ース上にジッパーは存在することができる。実際問題と
して、ジッパー・インタフェースをもつ各PMEは、メモ
リを満杯にすることを避け、さらにデータを受け取るこ
とができるように、配列入出力データを他のPMEへ転送
することができなければならない。ジッパーの数は、各
PMEのメモリ容量と、ジッパー・データが、ジッパー上
のPMEと配列内の他のPME間を転送される速度を決める技
術によって、制限される。
FIG. 12 illustrates how this concept can be expanded to place zips at the two "edges" 255, 256 of the cluster. This method increases the I / O bandwidth to approximately 114 megabytes / second when different data is transferred to each zipper. Alternatively, if the same data were transferred to each zipper, it would support approximately 57 megabytes / second of orthogonal data manipulation in the array. Orthogonal data manipulation supports fast transposition within arrays and multiple matrix manipulation. In theory, a zipper can exist on any internode interface. As a practical matter, each PME with a zipper interface must be able to transfer array I / O data to another PME so that it can avoid filling the memory and receive more data. The number of zippers is
The memory capacity of the PME and the zipper data are limited by techniques that determine the rate at which it can be transferred between the PME on the zipper and other PMEs in the array.

【0104】ジッパーの好ましい実施例は、ジッパー入
力およびジッパー出力の、2つの操作モードを持つ。ジ
ッパー入力操作は、データを配列制御装置からクラスタ
上のPMEの任意の群へ転送する。ジッパー入力操作は、
配列制御装置実行時ソフトウェアによって始められる。
配列制御装置実行時ソフトウェアはまず、ジッパー・イ
ンタフェースに沿ってPMEを、通常ジッパー(ZN)ある
いはジッパー回路交換(ZC)の2つのモードのうち1つ
に設定するために、PME SIMDモード一斉送信命令(上記
「SIMD/MIMD処理記憶素子」を参照)を使用する。配列
制御装置実行時ソフトウェアは、それからSIMD PMEソフ
トウェアをZNモードにし、ワードカウントを提供する。
ZNモードにおいて、PMEはXインタフェース80(図1
0)からデータを受け取ることができる。しかし、その
前に、メモリにそのインタフェースのための入力バッフ
ァを設定しなければならない。メモリ中の2つの位置
が、各入力データ・バッファの開始アドレス232およ
び、バッファに含まれるワード数233を含むために予
約される。加えて、PME制御レジスタ2(図14)は、
入力インタフェースを許可し173、入出力割り込みを
可能にする172、マスク・ビットを含む。一斉送信SI
MD PMEソフトウェアは、出力データ・ブロックを定義す
るために予約メモリ位置をロードし、入力データ転送を
許可するためにPME制御レジスタ2をロードする。ZNモ
ードにおいて、PMEは空き状態で入出力割り込みを待つ
か、あるいはZCモードへ移行する。
The preferred embodiment of the zipper has two modes of operation: zipper input and zipper output. The zipper input operation transfers data from the array controller to any group of PMEs on the cluster. Zipper input operation,
Started by array controller run-time software.
The array controller run-time software first sends a PME SIMD mode broadcast command to set the PME to one of two modes: normal zipper (ZN) or zipper circuit exchange (ZC) along the zipper interface. (See "SIMD / MIMD processing memory element" above). The array controller run-time software then puts the SIMD PME software in ZN mode and provides word count.
In ZN mode, the PME uses the X interface 80 (Fig. 1
0) can receive data. But before that, you must set up an input buffer in memory for that interface. Two locations in memory are reserved to contain the starting address 232 of each input data buffer and the number of words 233 contained in the buffer. In addition, the PME control register 2 (Fig. 14)
Includes mask bit, 173, enabling input interface, 172 enabling I / O interrupts. Broadcast SI
The MD PME software loads the reserved memory location to define the output data block and the PME control register 2 to allow the input data transfer. In ZN mode, the PME waits for an I / O interrupt in the empty state or shifts to ZC mode.

【0105】PMEのひとつの可能な機械構成に対するジ
ッパー入力操作が、図15に示されている。ここでは、
3つの異なるPMEへの8ワード転送の例が示されてい
る。データ・インタフェース(ジッパー)は、データを
PME260へ転送し、配列を通ってPMEからPMEへ移動す
る。好ましい実施例において、配列制御装置は、最初に
PE A 260、B 261、D 263をZNモードに、PE C
262をZCモードにセットする。ジッパー入力操作のた
めに、PME制御レジスタ1の「Z」163および「CS」1
70ビットをセットし、PMEをZCモードに設定する。
「Z」163ビットをセットし、「CS」170ビットを
リセットすると、PEはZNモードに置かれる。PEA、B、D
は、それぞれ3、4、1の初期カウントを割り当てられ
る。PE Aは、通常受信順序を使用して、3つのデータワ
ードを受け取る。ワードカウントがゼロになると、PE A
のハードウェアは、PME制御レジスタ1の「CS」170
ビットをリセットし、PE A 264をZCモードに置く。P
E B 269およびD 271で同じ順序が起こる。(PE D
への)最後のワード転送271に際して、配列制御装置
は、転送完了タグ(TC)ビット224を挿入することが
できる。TCビットがセットされると、PE AーDはビット
を検出し、入出力割り込み171要求を生成する。TC2
24ビットがセットされていなければ、PE AーDは、転
送完了時にZC モード272ー275に残る。
The zipper input operation for one possible mechanical configuration of the PME is shown in FIG. here,
An example of 8-word transfer to three different PMEs is shown. Data interface (zipper)
Transfer to PME 260 and move from PME to PME through array. In the preferred embodiment, the array controller first
PE A 260, B 261, D 263 in ZN mode, PE C
Set the 262 in ZC mode. "Z" 163 and "CS" 1 of PME control register 1 for zipper input operation
Set 70 bits to set PME to ZC mode.
Setting the "Z" 163 bit and resetting the "CS" 170 bit puts the PE in ZN mode. PEA, B, D
Are assigned initial counts of 3, 4, and 1, respectively. PE A receives three data words using the normal receive order. When the word count reaches zero, PE A
The hardware is "CS" 170 of PME control register 1.
Reset the bit and put PE A 264 in ZC mode. P
The same order occurs for EB 269 and D 271. (PE D
Upon the final word transfer 271 (to), the alignment controller may insert a transfer complete tag (TC) bit 224. When the TC bit is set, PE A-D will detect the bit and generate an I / O interrupt 171 request. TC2
If the 24 bit is not set, PE A-D will remain in ZC mode 272-275 upon completion of the transfer.

【0106】要求240がジッパー・インタフェース上
で検出されるとき、受信PMEは応答241を送り、入力
レジスタ87にデータをロードする。受信順序は、それ
から開始する。それはカウント233を減算し、入力バ
ッファ・アドレス232を加算し、PMEメモリ41にデ
ータワードを保存する。受信順序は、送信順序に類似し
ている。受信順序は、入出力アドレスおよびカウント・
フィールドを更新し、メモリ41に入力データ・ワード
をロードするために、メモリ41およびALU42にアク
セスをサイクル・スティールするのを待っている、空き
PMEに介入する。この順序は、カウントがゼロになりモ
ードがZCに交換されるまで、あるいは、TCタグが受け取
られ、対応する入力割り込みレジスタ・ビット171に
「転送完了」を示す割り込みコード190をセットする
まで、続く。
When the request 240 is detected on the zipper interface, the receiving PME sends a response 241 to load the input register 87 with the data. The reception sequence then begins. It subtracts count 233, adds input buffer address 232, and stores the data word in PME memory 41. The reception order is similar to the transmission order. The reception order is I / O address and count
Waiting to cycle steal access to memory 41 and ALU 42 to update fields and load memory 41 with input data words, free
Intervene in PME. This sequence continues until the count reaches zero and the mode is swapped to ZC, or until a TC tag is received and the corresponding input interrupt register bit 171 is set with an interrupt code 190 indicating "transfer complete". .

【0107】以下の条件に会うならば、PMEは要求に答
えて応答を生成する。 ○入力レジスタ87、100がセットされていない。 ○要求が禁止されていない174。 ○割り込み182が、その要求入力対して保留ではな
い。 ○要求入力が回路交換されていない。 ○要求がすべての現在要求のうちもっとも高い優先度を
持つ。
The PME responds to the request and generates a response if the following conditions are met: The input registers 87 and 100 are not set. ○ The request is not prohibited 174. The interrupt 182 is not pending for the request input. ○ The request input has not been replaced. O The request has the highest priority of all current requests.

【0108】入力レジスタ87、100は、応答226
が生成されてから、受信順序がメモリ中にデータワード
を保存するまで、使用中となる。入力レジスタが使用中
のとき、応答は禁止される。使用状態は、入力レジスタ
が受信順序が起こる前に上書きされることを防ぐ(受信
順序がメモリ・リフレッシュのために遅れる可能性があ
るので)。
The input registers 87, 100 have a response 226.
Is generated and is in use until the reception order stores the data word in memory. Responses are prohibited when the input register is busy. The usage state prevents the input register from being overwritten before the receive order occurs (since the receive order may be delayed due to memory refresh).

【0109】TCタグ・ビット224が送信ジッパーから
送り出されると、入出力割り込みラッチ171は、その
インタフェースのためにセットされる。割り込みラッチ
がPME実行時ソフトウェアによってリセットされるま
で、そのインタフェース上の次の応答226は生成され
ない。例えば、TCタグ・ビット224がXインタフェー
ス82からのデータ転送に際してセットされると、Xか
らの次の要求は、L割り込みが起こりL割り込みラッチが
リセットされるまで禁止される。
When the TC tag bit 224 is sent out of the transmit zipper, the I / O interrupt latch 171 is set for that interface. The next response 226 on that interface will not be generated until the interrupt latch is reset by the PME runtime software. For example, if the TC tag bit 224 is set during a data transfer from the X interface 82, the next request from X will be inhibited until an L interrupt occurs and the L interrupt latch is reset.

【0110】データワードがTCタグ224ビット・セッ
トと共に転送され、受信PMEがZNモードにあるならば、
入出力割り込み171が外部インタフェースのために生
成され、割り込みコード190が、TCを反映してセット
される。加えて、TCタグが送信ジッパーから送られる前
にバッファ・カウントがゼロになった場合、PMEはZCモ
ードに移行する。
If the data word is transferred with the TC tag 224 bit set and the receiving PME is in ZN mode:
An I / O interrupt 171 is generated for the external interface and an interrupt code 190 is set reflecting TC. In addition, if the buffer count reaches zero before the TC tag is sent from the transmit zipper, the PME goes into ZC mode.

【0111】PMEがZN受信モードにあるとき、それは、
メモリ・リフレッシュ順序およびジッパー入力のための
受信順序をのみ実行することができる。これは、ジッパ
ー・データ転送を最大PMEクロック速度で行うのに、必
要である。PME命令実行または非ジッパー入力のための
受信順序には、時間は与えられない。ZNモードにおいて
PEハードウェアは、ジッパー入力要求を除くすべての入
力要求を禁止する。ZCモードのPMEは、回路交換モード
におけるPMEのすべての操作が可能である。これは、ジ
ッパー・データ上の分割サブモードを使用する機能を含
む。
When the PME is in ZN receive mode, it
Only memory refresh order and receive order for zipper inputs can be performed. This is necessary to allow zipper data transfers at maximum PME clock speeds. No time is given to the receiving order for PME command execution or non-zip input. In ZN mode
PE hardware prohibits all input requests except zipper input requests. The ZC mode PME can perform all the operations of the PME in the circuit switching mode. This includes the ability to use the split submode on zipper data.

【0112】ジッパー出力操作は、クラスタの任意のPM
E群から、配列制御装置にデータを転送する。ジッパー
出力操作は、配列制御装置実行時ソフトウェアによって
始められる。そしてそれは最初に、ジッパー通常モー
ド、ジッパー回路交換モードの2つのモードのうちひと
つに、ジッパー・インタフェースのまわりのPMEを置
く、SIMDモード一斉送信命令を使用する。配列制御装置
実行時ソフトウェアは、ZNモードのPME SIMDソフトウェ
アに送り出すワードカウントを提供する。
The zipper output operation is performed on any PM of the cluster.
Transfer data from group E to the array controller. The zipper output operation is initiated by the array controller run-time software. And it first uses the SIMD mode broadcast command to place the PME around the zipper interface in one of two modes: zipper normal mode, zipper circuit exchange mode. The array controller run-time software provides the word count to send to the PME SIMD software in ZN mode.

【0113】概念的に、データは源となるPMEのメイン
・メモリから、CSEのバッファ・メモリへ転送される。
好ましい実施例において、各インタフェースのために2
つのメモリ中の位置が、出力データブロックの開始アド
レス230およびブロックに含まれるワード数231を
持つために、予約される。加えて、PME制御レジスタ1
(図14参照)は、データ出力の宛先およびモードを制
御する。一斉送信SIMD PMEソフトウェアは、転送モード
を定義するためにPME制御レジスタ1をロードする。一
斉送信SIMD PMEソフトウェアまたはPME実行時ソフトウ
ェアは、ホストへ転送するデータをもつ所定のメモリ位
置をロードする。それから、一斉送信SIMDPMEソフトウ
ェアは、所定のメモリ位置にアドレスおよびカウントを
ロードする。次にそれはPME制御レジスタ1をロード
し、最後に、データ送信順序を始める出力命令を実行す
る。
Conceptually, data is transferred from the source PME's main memory to the CSE's buffer memory.
2 for each interface in the preferred embodiment
A location in one memory is reserved to have the starting address 230 of the output data block and the number of words 231 contained in the block. In addition, PME control register 1
(See FIG. 14) controls the destination and mode of data output. Broadcast SIMD PME software loads PME control register 1 to define the transfer mode. Broadcast SIMD PME software or PME runtime software loads a given memory location with the data to transfer to the host. The broadcast SIMDPME software then loads the address and count into the predetermined memory location. Then it loads the PME control register 1 and finally executes the output instruction which starts the data transmission sequence.

【0114】PMEのひとつの可能な機械構成に対するジ
ッパー出力操作が、図19に示される。ここでは3つの
異なるPMEへの8ワード転送の例が示されている。デー
タ・インタフェース(ジッパー)は、PME280からデ
ータを転送し、配列を通してPMEからPMEへ移動する。
The zipper output operation for one possible mechanical configuration of the PME is shown in FIG. Here, an example of 8-word transfer to three different PMEs is shown. The data interface (zipper) transfers data from the PME 280 and moves through the array from PME to PME.

【0115】この例において、配列制御装置は、最初に
PE A 280、B 281、D 283をZNモードに設定
し、PE C 282をZCモードに設定する。ジッパー出力
操作のために、PME制御レジスタ1の「Z」163および
「CS」170ビットをセットし、PMEをZCモードに置
く。「Z」163をセットし「CS」170をリセットす
ると、PMEはZNモードに置かれる。PME A、B、Dは、カウ
ント3、4、1を割り当てられる。PME Aは、通常送信
順序を使用して、3つのデータワードを送り出す。ワー
ドカウントがゼロになると、PME AのハードウェアはPME
制御レジスタ1の「CS」170ビットをリセットし、PM
E A 284はZCモードに移行する。PME B 289および
D 295において同じ順序が起こる。PME DのPME制御レ
ジスタの「TC」164がセットされているならば、最後
のワード転送(PME Dから)に際して、PME Dは、転送完
了(TC)タグ224ビットを挿入する。TCタグがセット
されると、PME AーDはビットを検出し、入出力割り込み
171要求を生成する。TCタグセットされていない場
合、PME AーDは、転送が完了したときZCモードに残る。
In this example, the array controller first
Set PE A 280, B 281, D 283 to ZN mode and PE C 282 to ZC mode. For zipper output operation, set "Z" 163 and "CS" 170 bits of PME control register 1 to put PME in ZC mode. Setting "Z" 163 and resetting "CS" 170 puts the PME in ZN mode. PMEs A, B, D are assigned counts 3, 4, 1. PME A sends three data words using the normal transmission order. When the word count reaches zero, the PME A hardware is
Reset "CS" 170 bit of control register 1 to PM
The EA 284 goes into ZC mode. PME B 289 and
The same sequence occurs at D 295. On the last word transfer (from PME D), PME D inserts a 224 bit transfer complete (TC) tag if the "TC" 164 of PME D's PME control register is set. When the TC tag is set, PME A-D will detect the bit and generate an I / O interrupt 171 request. If the TC tag is not set, the PME A-D will remain in ZC mode when the transfer is complete.

【0116】各データワードが送信されると、送信順序
は、カウント231を減算し開始アドレス230を加算
し、メモリ41からデータワードを読む。データワード
は、送信レジスタ47、96にロードされ、任意のPME
97、161のインタフェースに送り出される。送信順
序は、入出力アドレスおよびカウント・フィールドを更
新し、送信レジスタ47、96をロードするために、メ
モリ41およびALU 42にアクセスをサイクル・スティ
ールのを待っている空きPMEに介入する。ジッパー転送
のために、PME制御レジスタのCXビット165は、PMEプ
ロセッサが送信順序が完了するまで空き状態にあるよう
に、セットされる。この順序は、カウントがゼロになる
まで続く。
When each data word is transmitted, the transmission order is such that the count 231 is subtracted, the start address 230 is added, and the data word is read from the memory 41. The data word is loaded into the transmit registers 47, 96 and stored in any PME.
97, 161 to the interface. The transmit order intervenes in the free PME waiting for cycle steals to access the memory 41 and ALU 42 to update the I / O address and count fields and load the transmit registers 47, 96. For zipper transfers, CX bit 165 of the PME control register is set so that the PME processor remains idle until the transmission order is complete. This sequence continues until the count reaches zero.

【0117】データ転送インタフェースは、4ビット幅
97である。したがって、各16ビット・データワード
220は、4ビット(1ニブル)づつ送信される。ま
た、タグ・ニブル221およびパリティ・ニブル222
は、データと共に送信される。転送形式は、223に示
される。送信順序は、図21に示される。インタフェー
ス上で、送信PMEは、受信ジッパー・インタフェースへ
要求225を生成する。応答226が受け取られると
き、送信PMEはデータ転送を開始し、他の送信順序が起
こる。次の送信順序は、応答が受け取られるまで起こら
ない。
The data transfer interface has a 4-bit width of 97. Therefore, each 16-bit data word 220 is transmitted by 4 bits (1 nibble). Also, the tag nibble 221 and the parity nibble 222
Is transmitted with the data. The transfer format is shown at 223. The transmission order is shown in FIG. On the interface, the sending PME makes a request 225 to the receiving zipper interface. When the response 226 is received, the sending PME initiates the data transfer and another order of transmission occurs. The next transmission order does not occur until the response is received.

【0118】TCビット164がPME制御レジスタ1でセ
ットされると、TCビット224は、転送された最後のデ
ータワードのタグフィールドにセットされる。このビッ
トは、受信ジッパーにデータ転送が終わったことを知ら
せる。
When TC bit 164 is set in PME Control Register 1, TC bit 224 is set in the tag field of the last data word transferred. This bit informs the receiving zipper that the data transfer is complete.

【0119】PMEがZN送信モードにあるとき、それは送
信およびメモリ・リフレッシュ順序のみを実行すること
ができる。これは、ジッパー・データ転送を最大PMEク
ロック速度で行うために必要である。時間は、PME命令
実行または非ジッパー入力のための受信順序には与えら
れない。ZN送信モードにおいては、PMEハードウェアは
すべての入力要求を禁止する。ZCモードにおけるPME
は、回路交換モードにおけるPMEのすべての操作が可能
である。これは、ジッパー・データ上の分割サブモード
を使用する機能を含む。
When the PME is in ZN transmit mode, it can only perform transmit and memory refresh order. This is necessary to allow zipper data transfers at maximum PME clock speeds. Time is not given to the receive order for PME command execution or non-zip input. In ZN transmission mode, PME hardware prohibits all input requests. PME in ZC mode
Is capable of all PME operation in circuit-switched mode. This includes the ability to use the split submode on zipper data.

【0120】図22の最上部および最下部に示されるよ
うに、ジッパー・インタフェースは、配列制御装置をク
ラスタ上のノードに接続する。通常インタフェースは、
2つのPME間の双方向性完全二重転送を提供する、2ニ
ブル(8ビット)単方向性二地点間インタフェースから
成る。「PME蓄積交換/回路交換モード」において、ひ
とつのPMEから他のPMEへ6ニブル転送するために記述さ
れた処理をここで使用する。本質的に情報は、左の20
0上のPMEから、データ経路202、要求回線203お
よび応答回線204を使用して転送される。同時に情報
は、右の201上のPMEから、データ経路210、要求
回線211および応答回線212を使用して転送され
る。ジッパーがインタフェース上に設置されるとき、デ
ータ経路214、要求回線215、および応答経路21
6は、配列にデータを転送するために加えられる。そし
て、データ経路217、要求回線218および応答経路
219は、配列からデータを取り出すために加えられ
る。配列制御装置実行時ソフトウェアは、PME201に
ジッパー送信順序を実行したいとき、PME200の実行
時ソフトウェアが、202、203および204を使用
禁止にするようにする。同様に、配列制御装置実行時ソ
フトウェアは、PME200にジッパー受信順序を実行し
たいとき、PME201の実行時ソフトウェアが、21
0、211および212を使用禁止にするようにする。
ジッパー論理の配置は、実現の際完全に任意であること
に注意されたい。それは簡単に同じノードの+Xおよび-X
インタフェース上に、あるいはW、Y、Zノード・インタ
フェースのどれかまたはすべてに、配置することができ
る。
The zipper interface connects the array controller to the nodes on the cluster, as shown at the top and bottom of FIG. The normal interface is
It consists of a two nibble (8-bit) unidirectional point-to-point interface that provides bidirectional full duplex transfer between two PMEs. The process described for 6 nibble transfers from one PME to another PME in "PME store and switch / circuit switch mode" is used here. Information is essentially 20 on the left.
Transferred from PME on 0 using data path 202, request line 203 and response line 204. At the same time, information is transferred from the PME on the right 201 using data path 210, request line 211 and response line 212. When the zipper is installed on the interface, the data path 214, the request line 215, and the reply path 21.
6 is added to transfer the data to the array. The data path 217, request line 218 and response path 219 are then added to retrieve the data from the array. The array controller runtime software causes the PME 200 runtime software to disable 202, 203, and 204 when it wants the PME 201 to perform the zipper transmission order. Similarly, when the array control device runtime software wants the PME 200 to execute the zipper reception order, the runtime software of the PME 201 is
The use of 0, 211 and 212 is prohibited.
Note that the placement of the zipper logic is completely arbitrary in its implementation. It's easily + X and -X on the same node
It can be placed on the interface or on any or all of the W, Y, Z node interfaces.

【0121】システム・アーキテクチャ 本好ましい実施例に使用されるシステム・アーキテクチ
ャの利点は、ISAシステムである。これは、APAPのプロ
グラミングを理解する技術者には、容易に理解されるで
あろう。PME ISAは、以下の表に示されるデータおよび
命令形式から成る。
System Architecture The advantage of the system architecture used in the preferred embodiment is the ISA system. This will be easily understood by those skilled in the programming of APAP. The PME ISA consists of the data and instruction format shown in the table below.

【0122】データ形式 基本(オペランド)サイズは、16ビット・ワードであ
る。PME記憶装置において、オペランドは整数語境界上
に置かれる。ワード・オペランド・サイズに加えて、他
のオペランド・サイズは、追加機能を支持するために1
6ビットの倍数得られる。オペランド長のどこにおいて
も、オペランドのビット位置は、左から右に、0から始
まって連続的に番号をつけられる。最高位または最上位
のビットへの参照は、常に左端のビット位置を表す。最
低位または最下位のビットへの参照は、常に右端のビッ
トの位置を表す。
Data Format The basic (operand) size is a 16 bit word. In PME storage, operands are placed on integer word boundaries. In addition to the word operand size, other operand sizes are 1 to support additional functionality.
A multiple of 6 bits is obtained. Everywhere in the operand length, the bit positions of the operands are numbered consecutively, starting from 0, from left to right. References to the most or most significant bit always represent the leftmost bit position. References to the least significant or least significant bit always represent the position of the rightmost bit.

【0123】命令形式 命令形式の長さは、16ビットまたは32ビットであ
る。PME記憶装置において、命令は16ビット境界上に
置かれなければならない。以下の汎用命令形式が使用さ
れる。通常、命令の最初の4ビットは命令コードを定義
し、OPビットと呼ばれる。付加ビットが、命令の定義を
拡大するか、あるいは命令に特有の条件を定義するため
に必要とされる場合もある。これらのビットは、OPXビ
ットと呼ばれる。
Instruction Format The length of the instruction format is 16 bits or 32 bits. In PME storage, instructions must be on 16-bit boundaries. The following general instruction format is used. Usually, the first 4 bits of an instruction define the instruction code and are called OP bits. Additional bits may be needed to extend the definition of an instruction or to define instruction-specific conditions. These bits are called OPX bits.

【0124】[0124]

【表1】 形式コード 操作 RR レジスタからレジスタ DA 直接アドレス指定 RS レジスタ記憶装置 RI レジスタ即値 SS 記憶装置から記憶装置 SPC 特殊 すべての形式は、共通のひとつのフィールドを持つ。フ
ィールドおよびその説明を以下に示す。 ビット0ー3 命令コード:このフィールドは時々命
令コード拡張フィールドと共に、実行される操作を定義
する。
Format Code Manipulation RR Register to Register DA Direct Addressing RS Register Storage RI Register Immediate SS Storage to Storage SPC Special All formats have one field in common. The fields and their descriptions are shown below. Bits 0-3 Op Code: This field, together with the Op Code Extension field, sometimes define the operation to be performed.

【0125】各形式の詳細な表が、フィールドの説明と
共に以下に示される。いくつかの命令のためには、多様
な命令を形成するために、2つの形式が組み合わされ
る。これらは主に、命令のためのアドレス指定モードを
含む。例えば、記憶装置から記憶装置命令は、直接アド
レス指定またはレジスタ・アドレス指定を含む形式を持
つ。
A detailed table for each format is given below, along with a description of the fields. For some instructions, the two formats are combined to form a variety of instructions. These mainly include addressing modes for instructions. For example, storage to storage instructions have the form including direct addressing or register addressing.

【0126】RR形式 レジスタからレジスタ(RR)形式は、2つの汎用レジス
タのアドレスを提供し、示されるように16ビット長で
ある。
RR Format The Register to Register (RR) format provides the addresses of two general purpose registers and is 16 bits long as shown.

【0127】[0127]

【表2】 RR形式は、命令コードに加えて以下の領域を持つ。 ビット4ー7 レジスタ・アドレス1:RAフィール
ドは、16の汎用レジスタのうちどれがオペランドや宛
先として使用されるか指定するために使用される。 ビット8ー11 ゼロ:ビット8がゼロであること
は、この形式がRRまたはDA形式であることを定義し、ビ
ット9ー11がゼロであることは、操作がレジスタから
レジスタ操作(直接アドレス形式の特別の場合)である
ことを定義する。 ビット12ー15 レジスタ・アドレス2:RBフィール
ドは、16の汎用レジスタのうちどれがオペランドとし
て使用されるか指定するために、使用される。
[Table 2] The RR format has the following areas in addition to the instruction code. Bits 4-7 Register Address 1: The RA field is used to specify which of the 16 general purpose registers are used as operands or destinations. Bits 8-11 Zero: A zero in Bit 8 defines that this format is an RR or DA format, and a zero in Bits 9-11 indicates that the operation is a register-to-register operation (direct address format). Special case). Bits 12-15 Register Address 2: The RB field is used to specify which of the 16 general purpose registers are used as operands.

【0128】DA形式 直接アドレス形式(DA)は、示されるように、ひとつの
汎用レジスタ・アドレスおよびひとつの直接記憶装置ア
ドレスを提供する。
DA Format The Direct Address Format (DA) provides a general register address and a direct storage address, as shown.

【0129】[0129]

【表3】 DA形式は、命令コード・フィールドに加えて以下の領域
を含む。 ビット4ー7 レジスタ・アドレス1:RAフィール
ドは、16の汎用レジスタのうちどれがオペランドや宛
先として使用されるか指定するために使用される。 ビット8 ゼロ:ゼロであるこのビットは、操
作が、直接アドレス操作またはレジスタからレジスタ操
作であることを定義する。 ビット9ー15 直接記憶装置アドレス:直接記憶装
置アドレス・フィールドは、レベル特有記憶ブロックま
たは共通記憶ブロックへのアドレスとして、使用され
る。直接アドレス・フィールドのビット9ー11は、直
接アドレス形式を定義するためにゼロ以外でなければな
らない。
[Table 3] The DA format contains the following areas in addition to the opcode field. Bits 4-7 Register Address 1: The RA field is used to specify which of the 16 general purpose registers are used as operands or destinations. Bit 8 Zero: This bit, which is zero, defines that the operation is a direct address operation or a register-to-register operation. Bits 9-15 Direct Storage Address: The Direct Storage Address field is used as an address to a level-specific or common storage block. Bits 9-11 of the direct address field must be non-zero to define the direct address format.

【0130】RS形式 レジスタ記憶装置形式(RS)は、ひとつの汎用レジスタ
・アドレスおよび間接記憶装置アドレスを提供する。
RS Format Register Store Format (RS) provides one general purpose register address and an indirect store address.

【0131】[0131]

【表4】 RS形式は、命令コード・フィールドに加えて以下の領域
を含む。 ビット4ー7 レジスタ・アドレス1:RAフィール
ドは、16の汎用レジスタのうちどれがオペランドや宛
先として使用されるか指定するために使用される。 ビット8 1:1であるこのビットは、操作が
レジスタ記憶装置操作であることを定義する。 ビット9ー11 レジスタ・データ:これらのビット
は、RBフィールドによって指定されたレジスタの内容を
変更するために使用される、符号付き値と考えられる。 ビット12ー15 レジスタ・アドレス2:RBフィール
ドは、16の汎用レジスタのうちどれが、オペランドの
ための記憶装置アドレスとして使用されるか指定するた
めに、使用される。
[Table 4] The RS format contains the following areas in addition to the opcode field. Bits 4-7 Register Address 1: The RA field is used to specify which of the 16 general purpose registers are used as operands or destinations. This bit, which is Bit 8 1: 1, defines that the operation is a register storage operation. Bits 9-11 Register Data: These bits are considered signed values used to modify the contents of the register specified by the RB field. Bits 12-15 Register Address 2: The RB field is used to specify which of the 16 general purpose registers will be used as the storage address for the operand.

【0132】RI形式 レジスタ即値形式(RI)は、ひとつの汎用レジスタ・ア
ドレスおよび16ビットの即値データを提供する。RI形
式は、示されるように、32ビット長である。
RI Format The Register Immediate Value Format (RI) provides one general purpose register address and 16 bits of immediate data. The RI format is 32 bits long as shown.

【0133】[0133]

【表5】 RI形式は、命令コード・フィールドに加えて以下の領域
を含む。 ビット4ー7 レジスタ・アドレス1:RAフィール
ドは、16の汎用レジスタのうちどれがオペランドや宛
先として使用されるか指定するために使用される。 ビット8 1:1であるこのビットは、この操
作がレジスタ記憶装置操作であることを定義する。 ビット9ー11 レジスタ・データ:これらのビット
は、プログラムカウンタの内容を変更するために使用さ
れる、符号付き値と考えられる。通常このフィールド
は、レジスタ即値形式の時は1の値を持つ。 ビット12ー15 ゼロ:ゼロであるこのフィールド
は、即値データ・フィールドを指す更新されたプログラ
ム・カウンタが、オペランドのための記憶装置アドレス
として使用されるよう指定するために、使用される。 ビット16ー31 即値データ:このフィールドは、レ
ジスタ即値命令のための16ビット即値データ・オペラ
ンドである。
[Table 5] The RI format includes the following areas in addition to the opcode field. Bits 4-7 Register Address 1: The RA field is used to specify which of the 16 general purpose registers are used as operands or destinations. This bit, which is Bit 8 1: 1, defines that this operation is a register storage operation. Bits 9-11 Register Data: These bits are considered signed values used to modify the contents of the program counter. Normally, this field has a value of 1 in the register immediate format. Bits 12-15 Zero: This field, which is zero, is used to specify that the updated program counter, which points to the immediate data field, is used as the storage address for the operand. Bits 16-31 Immediate Data: This field is a 16-bit immediate data operand for register immediate instructions.

【0134】SS形式 記憶装置から記憶装置(SS)形式は、2つの記憶装置ア
ドレス、つまり明示アドレスおよび暗黙アドレス、を提
供する。暗黙記憶装置アドレスは、汎用レジスタ1に含
まれる。レジスタ1は、命令の実行中に更新される。SS
命令には、直接アドレス形式および記憶装置アドレス形
式の2つの形式がある。
SS Format The storage to storage (SS) format provides two storage addresses: an explicit address and an implicit address. The implicit storage device address is contained in general register 1. Register 1 is updated during the execution of the instruction. SS
There are two types of instructions: direct address format and storage address format.

【0135】[0135]

【表6】 [Table 6]

【0136】[0136]

【表7】 SS形式は、命令コード・フィールドに加えて以下の領域
を含む。 ビット4ー7 拡張命令コードOPXフィールドは、命
令コードと共に、実行される命令を定義する。ビット4
ー5は、加算または減算のような、操作型を定義する。
ビット6ー7は、桁上げ、桁あふれ、および条件コード
がどのようにセットされるかを、制御する。ビット6が
0の時、桁あふれは無視され、ビット6が1の時、桁あ
ふれは認められる。ビット7が0の時、操作中の桁上げ
状態は無視され、ビット7が1の時、操作中の桁上げ状
態を含む。 ビット8 ゼロ:形式が直接アドレス形式であ
ることを定義する。 1:形式が記憶装置アドレス形式であることを定義す
る。 ビット9ー15 直接アドレス(直接アドレス形
式):直接記憶装置アドレス・フィールドは、レベル特
有記憶ブロックまたは共通記憶ブロックへのアドレスと
して、使用される。直接アドレス・フィールドのビット
9ー11は、直接アドレス形式を定義するためにゼロ以
外でなければならない。 ビット9ー11 レジスタ・デルタ(記憶装置アドレ
ス形式):これらのビットは、RBフィールドによって指
定されたレジスタの内容を変更するために使用される、
符号付き値と考えられる。 ビット12ー15 レジスタ・アドレス2(記憶装置ア
ドレス形式):RBフィールドは、16の汎用レジスタの
うちどれが、オペランドのための記憶装置アドレスとし
て使用されるか指定するために、使用される。
[Table 7] The SS format includes the following areas in addition to the opcode field. Bits 4-7 Extended Op Code The OPX field, together with the op code, defines the instruction to be executed. Bit 4
-5 defines an operation type, such as addition or subtraction.
Bits 6-7 control how carry, overflow, and condition codes are set. When bit 6 is 0, overflow is ignored and when bit 6 is 1, overflow is allowed. When bit 7 is 0, the carry state during operation is ignored, and when bit 7 is 1, the carry state during operation is included. Bit 8 Zero: Defines that the format is a direct address format. 1: Define that the format is a storage device address format. Bits 9-15 Direct Address (Direct Address Format): The direct storage address field is used as an address to a level-specific or common storage block. Bits 9-11 of the direct address field must be non-zero to define the direct address format. Bits 9-11 Register Delta (Storage Address Format): These bits are used to modify the contents of the register specified by the RB field,
Considered a signed value. Bits 12-15 Register Address 2 (Storage Address Format): The RB field is used to specify which of the 16 general purpose registers is used as the storage address for the operand.

【0137】SPC形式1 特殊(SPC1)形式は、ひとつの汎用レジスタ記憶装置
オペランド・アドレスを提供する。
SPC Format 1 The special (SPC1) format provides one general purpose register storage operand address.

【0138】[0138]

【表8】 [Table 8]

【0139】[0139]

【表9】 SPC1形式は、命令コード・フィールドに加えて以下の
領域を含む。 ビット4ー7 拡張OP:OPXフィールドは、命令コ
ードを拡張するために使用される。 ビット8 ゼロまたは1:このビットはゼロの
時、この操作がレジスタ操作であることを定義する。こ
のビットは1の時、操作がレジスタ記憶装置操作である
ことを定義する。 ビット9ー11 操作長:これらのビットは、16ビ
ット・ワードのオペランド長を指定するために使用され
る、符号なし値と考えられる。ゼロの値は長さ1に対応
し、B「111」の値は長さ8に対応する。 ビット12ー15 レジスタ・アドレス2:RBフィール
ドは、16の汎用レジスタのうちどれが、オペランドの
ための記憶装置アドレスとして使用されるか指定するた
めに使用される。
[Table 9] The SPC1 format includes the following areas in addition to the opcode field. Bits 4-7 Extended OP: The OPX field is used to extend the opcode. Bit 8 Zero or 1: When this bit is zero, this operation defines a register operation. When this bit is 1, it defines that the operation is a register storage operation. Bits 9-11 Operation Length: These bits are considered unsigned values used to specify the operand length of a 16-bit word. A value of zero corresponds to a length of 1 and a value of B "111" corresponds to a length of 8. Bits 12-15 Register Address 2: The RB field is used to specify which of the 16 general purpose registers will be used as the storage address for the operand.

【0140】SPC形式2 特殊(SPC2)形式は、ひとつの汎用レジスタ記憶装置
オペランド・アドレスを提供する。
SPC Format 2 The special (SPC2) format provides one general register storage operand address.

【0141】[0141]

【表10】 SPC2形式は、命令コード・フィールドに加えて以下の領
域を含む。 ビット4ー7 レジスタ・アドレス1:RAフィール
ドは、16の汎用レジスタのうちどれがオペランドや宛
先として使用されるか指定するために使用される。 ビット8ー11 拡張OP:OPXフィールドは、命令コ
ードを拡張するために使用される。 ビット12ー15 レジスタ・アドレス2:RBフィール
ドは、16の汎用レジスタのうちどれが、オペランドの
ための記憶装置アドレスとして使用されるか指定するた
めに、使用される。
[Table 10] The SPC2 format contains the following areas in addition to the opcode field. Bits 4-7 Register Address 1: The RA field is used to specify which of the 16 general purpose registers are used as operands or destinations. Bits 8-11 Extended OP: The OPX field is used to extend the instruction code. Bits 12-15 Register Address 2: The RB field is used to specify which of the 16 general purpose registers will be used as the storage address for the operand.

【0142】以下にISAの命令リストを示す。The ISA instruction list is shown below.

【0143】[0143]

【表11】 [Table 11]

【0144】[0144]

【表12】 [Table 12]

【0145】[0145]

【表13】 [Table 13]

【0146】[0146]

【表14】 [Table 14]

【0147】[0147]

【表15】 [Table 15]

【0148】[0148]

【表16】 [Table 16]

【0149】[0149]

【表17】 本発明の好ましい実施例を以上記述したが、この分野の
技術者が、現在および将来、本発明の範囲内で多様な改
良および拡張を行うことができることが、理解される。
[Table 17] While a preferred embodiment of this invention has been described above, it will be appreciated by those skilled in the art that various modifications and extensions can now and in the future be made within the scope of the invention.

【0150】[0150]

【発明の効果】本発明は以上説明したように構成されて
いるので、多様なコンピュータシステム要素の接続(交
換)に使用することができる、多重ポート知的メモリを
提供することができる。
Since the present invention is constructed as described above, it is possible to provide a multi-port intelligent memory which can be used for connection (exchange) of various computer system elements.

【図面の簡単な説明】[Brief description of drawings]

【図1】多様なデータ操作のための多数のネットワーク
・ノードをもつ接続ネットワークの一部として、複数の
ヘッジホッグCSE要素およびジッパー・ポートを示す、
好ましい実施例の概要図である。
FIG. 1 shows multiple hedgehog CSE elements and zipper ports as part of a connection network with multiple network nodes for various data operations.
FIG. 3 is a schematic diagram of a preferred embodiment.

【図2】単純データ転送のためのデータ透過モードを示
す図である。
FIG. 2 is a diagram showing a data transparent mode for simple data transfer.

【図3】スペース中のデータ転送のためのデータ再編成
モードを示す図である。
FIG. 3 shows a data reorganization mode for data transfer in space.

【図4】基準化およびイメージ回転機能を提供する、デ
ータ変更モードを示す図である。
FIG. 4 illustrates a data modification mode that provides scale and image rotation functions.

【図5】ジッパー・インタフェースとヘッジホッグ・チ
ップのデータ共有モードを示す図である。
FIG. 5 is a diagram showing a data sharing mode of a zipper interface and a hedgehog chip.

【図6】メモリおよびジッパー・インタフェースをもつ
ヘッジホッグCSE要素が、どのように能動データ対象物
を共有し、外部資源の干渉なしにチップ中の対象物状態
変化を提供するかを示した図である。
FIG. 6 is a diagram showing how a hedgehog CSE element with memory and zipper interface shares active data objects and provides object state changes in a chip without the interference of external resources. is there.

【図7】特に、ヘッジホッグの主要素および一組のCSE
へのヘッジホッグ・インタフェースを示す、典型的ヘッ
ジホッグ配列の機能ブロック図である。
FIG. 7. In particular, the main elements of the hedgehog and a set of CSE
FIG. 3 is a functional block diagram of an exemplary hedgehog array showing the hedgehog interface to the.

【図8】ノードを形成する多様な要素の相互接続を示
す、処理記憶素子ノードの概略図である。
FIG. 8 is a schematic diagram of a processing storage element node showing the interconnection of the various elements that form the node.

【図9】変形2進超立方体の概略図である。FIG. 9 is a schematic view of a modified binary hypercube.

【図10】回路交換経路の概略図である。FIG. 10 is a schematic diagram of a circuit switching path.

【図11】ひとつのPME間インタフェース上のジッパー
接続の概略図である。
FIG. 11 is a schematic diagram of a zipper connection on one PME-to-PME interface.

【図12】クラスタへの2つの直交接続ジッパー接続の
概略図である。
FIG. 12 is a schematic diagram of two orthogonal connection zipper connections to a cluster.

【図13】割り込みおよび入出力処理のための予約記憶
領域の概略図である。
FIG. 13 is a schematic diagram of a reserved storage area for interrupt and input / output processing.

【図14】割り込みおよび相互接続ネットワークの実現
を支持する、PME制御レジスタの概略図である。
FIG. 14 is a schematic diagram of PME control registers supporting the implementation of interrupt and interconnect networks.

【図15】ジッパー受信順序の概略図である。FIG. 15 is a schematic diagram of a zipper receiving order.

【図16】PME入出力間の入力インタフェース順序付け
の概略図である。
FIG. 16 is a schematic diagram of input interface ordering between PME inputs and outputs.

【図17】処理記憶素子(PME)のデータ流れ図であ
る。データ流れの原理セクションは、主記憶装置、一般
レジスタ、ALUおよびレジスタ、相互接続網の一部分を
含む。
FIG. 17 is a data flow diagram of a processing storage element (PME). The data flow principles section includes main memory, general registers, ALUs and registers, and parts of the interconnection network.

【図18】タグ、パリティ、PME入出力間に転送された
データワードの概略図である。
FIG. 18 is a schematic diagram of data words transferred between tags, parity, PME input and output.

【図19】ジッパー送信順序の概略図である。FIG. 19 is a schematic diagram of a zipper transmission order.

【図20】PE入出力データ流れの概略図である。FIG. 20 is a schematic diagram of a PE input / output data flow.

【図21】PME入出力間の出力インタフェース順序付け
の概略図である。
FIG. 21 is a schematic diagram of output interface ordering between PME inputs and outputs.

【図22】物理的ジッパー・インタフェースの概略図で
ある。
FIG. 22 is a schematic diagram of a physical zipper interface.

【符号の説明】 1 コンピュータシステム要素 2 アプリケーション・プロセッサ・インタフェース 3 クラスタ同期装置 4 クラスタ制御装置 5 クラスタ[Explanation of Codes] 1 Computer System Element 2 Application Processor Interface 3 Cluster Synchronizer 4 Cluster Controller 5 Cluster

───────────────────────────────────────────────────── フロントページの続き (72)発明者 クライブ アラン コリンス アメリカ合衆国 12601 ニューヨーク 州ポーキープシ モンロー ドライブ 9 (72)発明者 クリスチン マリー デスノイヤ アメリカ合衆国 12566 ニューヨーク 州パイン ブッシュ アッパー マウン テン ロード 858 (72)発明者 ドナルド ジョージ グライス アメリカ合衆国 12401 ニューヨーク 州キングストン ソーキル ルビー ロ ード 2179 (72)発明者 デイビット ブルース ロルフ アメリカ合衆国 12491 ニューヨーク 州ウエスト ハーレイ ボックス 215 エー ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Clive Alan Collins United States 12601 Pokey Sis Monroe Drive, New York 9 (72) Inventor Kristin Marie Desnoyer United States 12566 Pine Bush, Upper Maun Ten Road 858 (72) Inventor Donald George Grice United States 12401 Kingston Sawkill Ruby Road, New York 2179 (72) Inventor David Bruce Rolf United States 12491 West Harley Box, New York 215 A

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】各々がALU、該ALUに接続するメモ
リ、および通信インタフェースを持つ複数の機能単位
と、 前記機能単位を、コンピュータおよび直接アクセス記憶
装置を含む多様なコンピュータシステム要素が結合する
機能単位を持つセルまたはノードの集合ネットワークに
相互接続する手段と、 を有し、 前記機能単位のメモリが、前記コンピュータおよび直接
アクセス記憶装置を含む多様なコンピュータシステム要
素の接続の切換に使用される、セルまたはノードに定義
された共用メモリを交換する機能を提供する手段を有
し、 前記共用メモリ交換機能の定義されているノードのうち
K個がジッパー・ポートに隣接し、 前記ネットワークおよび機能単位が、接続切換の機能と
共用メモリ・プロセッサの機能を合わせ持つメモリおよ
び処理装置を提供する手段を有する、 コンピュータシステム装置。
1. A plurality of functional units each having an ALU, a memory connected to the ALU, and a communication interface; and a functional unit in which the various functional system units including a computer and a direct access storage device are combined with each other. A cell or node having means for interconnecting to a collective network of cells or nodes thereof, wherein the memory of the functional unit is used for switching connection of various computer system elements including the computer and the direct access storage device. Means for providing a function for exchanging the shared memory defined in paragraph 5, K of the nodes for which the shared memory exchanging function is defined are adjacent to zipper ports, and the network and the functional unit are connection switching. Memory and the functions of a shared memory processor And means for providing a processor, the computer system unit.
【請求項2】前記共用メモリ内の内容を、前記装置に相
互接続している前記コンピュータシステム要素とは独立
して変更できる、請求項1に記載のコンピュータシステ
ム装置。
2. The computer system device of claim 1, wherein the contents in the shared memory can be modified independently of the computer system elements interconnected to the device.
【請求項3】前記装置のK個のノードの各々が、メモリ
機能及び処理機能を有するヘッジホッグを備える、請求
項2に記載のコンピュータシステム装置。
3. The computer system device of claim 2, wherein each of the K nodes of the device comprises a hedgehog having memory and processing capabilities.
【請求項4】前記装置が透過データ転送を提供し、デー
タが、前記ジッパーに結合する前記コンピュータシステ
ム要素によって任意のジッパーから、他のジッパーに結
合するコンピュータシステム要素に交換され、該交換が
前記共用メモリ内の処理要素の制御下で達成されること
と、 前記ネットワークに渡る通信におけるパケット・ヘッダ
使用の多様な交換、許可を提供するが、それを必要とは
しないことと、 を備える、請求項3に記載のコンピュータシステム装
置。
4. The device provides transparent data transfer, wherein data is exchanged by a computer system element that is coupled to the zipper from any zipper to a computer system element that is coupled to another zipper. Being accomplished under control of a processing element in shared memory, and providing, but not requiring, various exchanges, authorizations of packet header usage in communications across the network. Item 4. The computer system device according to item 3.
JP5303285A 1992-12-04 1993-11-10 Computer system equipment Expired - Lifetime JP2561800B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US98617592A 1992-12-04 1992-12-04
US07/986,175 1992-12-04

Publications (2)

Publication Number Publication Date
JPH06214964A JPH06214964A (en) 1994-08-05
JP2561800B2 true JP2561800B2 (en) 1996-12-11

Family

ID=25532156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5303285A Expired - Lifetime JP2561800B2 (en) 1992-12-04 1993-11-10 Computer system equipment

Country Status (1)

Country Link
JP (1) JP2561800B2 (en)

Also Published As

Publication number Publication date
JPH06214964A (en) 1994-08-05

Similar Documents

Publication Publication Date Title
US5594918A (en) Parallel computer system providing multi-ported intelligent memory
US5617577A (en) Advanced parallel array processor I/O connection
US10282338B1 (en) Configuring routing in mesh networks
US5713037A (en) Slide bus communication functions for SIMD/MIMD array processor
US5754871A (en) Parallel processing system having asynchronous SIMD processing
US5963746A (en) Fully distributed processing memory element
US5710935A (en) Advanced parallel array processor (APAP)
US5588152A (en) Advanced parallel processor including advanced support hardware
US5963745A (en) APAP I/O programmable router
US8737392B1 (en) Configuring routing in mesh networks
US5734921A (en) Advanced parallel array processor computer package
US5864738A (en) Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller
US5428803A (en) Method and apparatus for a unified parallel processing architecture
US5966528A (en) SIMD/MIMD array processor with vector processing
US5630162A (en) Array processor dotted communication network based on H-DOTs
US6757761B1 (en) Multi-processor architecture for parallel signal and image processing
JPH0241553A (en) Data processing system
JP2561800B2 (en) Computer system equipment
JP2549241B2 (en) Computer system
JP2620487B2 (en) Computer package
JP2579419B2 (en) Multiprocessor memory system
JPH0636060A (en) Array-processor used for slide-network
Dickey et al. Designing VLSI network nodes to reduce memory traffic in a shared memory parallel computer
JPH0652126A (en) Message passing device of interconnected node network and computer system thereof
JPH0619864A (en) Array processor, processing element and mass parallel processor