JPH05500124A - Concurrent computation/communication mechanism in SIMD architecture - Google Patents

Concurrent computation/communication mechanism in SIMD architecture

Info

Publication number
JPH05500124A
JPH05500124A JP2509527A JP50952790A JPH05500124A JP H05500124 A JPH05500124 A JP H05500124A JP 2509527 A JP2509527 A JP 2509527A JP 50952790 A JP50952790 A JP 50952790A JP H05500124 A JPH05500124 A JP H05500124A
Authority
JP
Japan
Prior art keywords
processor
output
node
architecture
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2509527A
Other languages
Japanese (ja)
Inventor
ハマーストロム,ダニエル・ダブリュー
Original Assignee
アダプティブ・ソリューションズ・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アダプティブ・ソリューションズ・インコーポレーテッド filed Critical アダプティブ・ソリューションズ・インコーポレーテッド
Publication of JPH05500124A publication Critical patent/JPH05500124A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。 (57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 SIMDアーキテクチャにおける並行演算/通信機構(技術分野) 本発明は、コンピュータのプロセッサ・アーキテクチャに関し、特にSIMDア ーキテクチャにおける並行演算/通信を提供するアーキテクチャに関する。この アーキテクチャは、1つのプロセッサ・ノードにおいて同時のデータ処理および 通信を可能にする出方プロセッサ・ノードを含む。[Detailed description of the invention] Parallel computation/communication mechanism in SIMD architecture (technical field) TECHNICAL FIELD The present invention relates to computer processor architecture, and in particular to SIMD processor architecture. The present invention relates to architectures that provide parallel computation/communication in architectures. this The architecture supports simultaneous data processing and Contains an outgoing processor node that enables communication.

(背景技術) ニューラル・ネットワークは、コンピュータが人間の思考過程を忠実に近づくこ とを可能にするアーキテクチャの一形態である。ニューラル・ネットワーク・ア ーキテクチャの一つの形態は、1つの指令が多数のプロセッサ、従ってデータ・ セットを同時に指令することを許容する、単一命令ストリーム、多重データ・ス トリーム(SIMD)演算を可能にする。(Background technology) Neural networks allow computers to closely approximate human thought processes. It is a form of architecture that enables neural network a One form of architecture is that a single command can be sent to multiple processors and therefore data Single instruction stream, multiple data streams that allow sets to be commanded simultaneously Enables stream (SIMD) operations.

伝統的な従来のコンピュータにより実行される現在ある従来のアルゴリズムを用 いて解決することができない幾っがの重要な実際の問題がある。これらの問題は 、しばしば不完全に特定され、大きな探索スペースを要求する多くの小さな制約 により特徴付けられる。using existing conventional algorithms executed by traditional conventional computers. There are some important real problems that cannot be solved. These problems are , many small constraints that are often poorly specified and require a large search space. Characterized by

コンピュータ音声認識、コンピュータ・ビジョンおよびロボット制御の如きコン ピュータによる主要な認識情報の処理は、この分類に属する。伝統的な演算モデ ルは、この種の問題を解決するため用いられるならば、演算負荷下の障害点に行 き詰まる。また、動物はトランジスタより数百万倍遅いニューロンを用いてこれ らのタスクを行う。ニューロンは、ΣW + + 0 +とじて表現することが できる入力の加重和を行う。ここでwllは「メモリ刊がら引出された値、0. は人力値である。SIMDの乗算/累計機能はこの演算を行う。Computers such as computer voice recognition, computer vision and robot control The main processing of recognition information by computers belongs to this category. Traditional calculation model If used to solve this type of problem, the I get stuck. Animals also do this using neurons that are millions of times slower than transistors. perform these tasks. Neuron can be expressed as ΣW + + 0 + Performs a weighted sum of possible inputs. Here wll is the value pulled from memory, 0. is the human power value. The SIMD multiply/accumulate function performs this operation.

膨大な並行演算のためのアーギュメントであるFeldmanの1ooステ・ツ ブ・ルールは、500ミリ秒の時間を有する「人間の」認識過程が5ミリ秒のニ ューロン切換え時間内で実施が可能であることを述べている。もしこの「スイ。Feldman's 1oo step is an argument for massively parallel operations. The rule is that a "human" cognitive process with a duration of 500 milliseconds It is stated that implementation is possible within the uron switching time. If this “Sui.

チング」時間が遅ければ、多数の「スイッチ」で高速のシステムを構成すること もできる4、このことは、2つの非常に異なる演算モデルが使用されることを示 唆する。これはまた、神経系統か行うことを行うコンピュータを構築するために は、コンピュータは動物の神経系統をエミュレートするように構成しなければな らないことを示唆する。SIMDシステムは、大規模な並行ニューラル・ネット ワークをエミュレー・1・するように設計される演算システムである。If switching time is slow, configure a high-speed system with many switches. 4, which indicates that two very different computational models are used. suggest This can also be used to build a computer that does what the nervous system does. The computer must be configured to emulate the animal's nervous system. This suggests that there is no such thing. SIMD systems are massively parallel neural networks. A computing system designed to emulate a workpiece.

神経系統、およびニューロ演算コンピュータは、人力ノイズおよびハードウェア 故障の許容性を有する連続的な、非シンボリックな大規模な並行構造を特徴とし ている。表示即ち入力は、独立的に結果即ち結論に到達し、従って最終出力の結 論に達するため情報を一般化し内挿する演算要素のグループ間に分散される。Nervous system and neuro-computing computers are free from human noise and hardware Characterized by continuous, non-symbolic, massively parallel structures with fault tolerance ing. The display, or input, independently reaches the result, or conclusion, and therefore the final output, the conclusion. distributed among groups of computational elements that generalize and interpolate information to arrive at a theory.

換言すれば、コネクショニスト/ニューラル・ネットワークは、多数の小さな演 算要素の大規模な並行演算を用いて「良好な」解をめる。このモデルは、仮説生 成および支配的な即ち「最もあり得る」仮説に対する緩和の1つである。。In other words, connectionist/neural networks are Find a ``good'' solution using massively parallel operations on computational elements. This model is based on the hypothesis It is one of the relaxations to the dominant or ``most likely'' hypothesis. .

探索速度は、探索スペースの大きさとは多少とも独立的である1、学習は、デー タ構造の割付けとは対照的に、接続(シナプス)の強さを逓増的に変化させるプ ロセスである。このようなニューラル・ネットワークにおける「プログラミング 」は−例である。The search speed is more or less independent of the size of the search space1, and learning In contrast to the allocation of data structure, a program that incrementally changes the strength of connections (synapses) It is a process. "Programming" in such neural networks ” is an example.

通信ノード・ユニットの全接続性あるいは近似全接続性(30%以上)が構成さ れる場合は、データ・セットが使用された後側々のプロセッサが相互に通信する ことを待つのに大量の時間が消費される。公知の処理ユニットは、全てのプロセ ッサ・ノードがそれらの前に使用したデータを送るまで後続のデータ・セットに ついての演算の起生を許容する機構を提供するものではない。Total connectivity or near total connectivity (more than 30%) of communicating nodes/units is configured. processors on both sides communicate with each other after the data set is used. A lot of time is wasted waiting for things to happen. A known processing unit handles all processes. to subsequent data sets until the server nodes send their previously used data. It does not provide a mechanism that allows operations to occur.

(発明の開示) 本発明の目的は、並行演算および通信機能をSIMD構造において提供する並行 使用アーキテクチャの提供にある。(Disclosure of invention) It is an object of the present invention to provide parallel computing and communication functions in a SIMD structure. Provides a usage architecture.

本発明の別の目的は、同様な出力プロセッサが送信ネットワーク上で処理された データを送る間、処理データを保持する出力プロセッサ・アーキテクチャの提供 にある。Another object of the invention is that a similar output processor is Providing an output processor architecture that retains processing data while sending data It is in.

本発明の別の目的は、プロセッサが後続のデータ・セットについて作動する間処 理データを格納する出力プロセッサの提供にある、。Another object of the invention is to provide an intermediate processing method for the processor to operate on subsequent data sets. The purpose of the invention is to provide an output processor that stores the logical data.

本発明の四に別の目的は、通信ネットワーク上で通信プロトコルを調停するため の出力プロセッサにおける機構の提供にある9゜本発明の並行使用アーキテクチ ャは、入力バス、人カニニット、操作ユニットおよび出力バスを含む単一の命令 ストリー1、の多心データ・ストリーlトプロセッサ・ノートにおいて使用され ることを、α図する1、このアーキテクチャは、人カニニットおよび種々の操作 ユニットからデータを受取る出力バラ77・ユニットを備えた出力プロセッサを 含む。プロセッサ・ノートは、出力ハッフ7・ユニットからのデータを格納し出 力バスで選択された時間に伝送する。S IMD演算を指令し、プロセッサ・ノ ード、および関連する出力プロセッサ・ノートおよび出力バッファ・ユニット間 のデータ交換を制御する制御ユニットが設けられる。出力プロセッサは、出力バ ス上のデータの格納および伝送を指令する内部コントローラを有する。A fourth object of the present invention is to arbitrate communication protocols on a communication network. 9. The concurrent use architecture of the present invention consists in providing a mechanism in the output processor of The controller is a single instruction including an input bus, a person crab unit, an operation unit and an output bus. Stream 1, used in multi-core data stream processor notebooks. Figure 1. This architecture can be used to perform various operations such as an output processor with an output rose 77 unit that receives data from the unit; include. The processor note stores and outputs data from the output Huff 7 unit. power bus to transmit at the selected time. S Commands IMD operation and executes processor node between the output processor notes and output buffer units, and associated output processor notes and output buffer units. A control unit is provided for controlling the data exchange. The output processor It has an internal controller that directs the storage and transmission of data on the device.

本発明の上記および他の目的および利点については、以降の説明を図面に関して 読めば更に明らかになるであろう。The foregoing and other objects and advantages of the present invention will be further explained with reference to the drawings. It will become clearer if you read it.

(図面の簡単な説明) 図1は、本発明により構成されたプロセッサ・ノートのアレイの概略図、図2は 、図1のプロセッサ・ノート内に含まれる通信ノードの回報通信パターンの概略 図、 図3は、本発明の単一のプロセッサ・ノードのブロック図である1゜(実施例) 図面に関して、先ず図1においては、単一命令ストリーム、多重データーストリ ーム(SIMD)プロセッサのアレイが全体的に10で示される。アレイ10は 、プロセッサ・ノード12.14.16.18を含み、また特定の用途に必要と される多数のプロセッサ・ノードを含むことができる。図1は、簡単にするため 、また多数のプロセッサ・ノード間の相互作用の説明を可能にするため、このよ うなプロセッサ・ノードを4個のみ含む1.各プロセッサ・ノートは、入力バス 20と、出力バス22とに接続されている。バス20および22は図1において 単一エンティティ構造として示されるが、ある場合には人力および(または)出 力バスは多重バス構造であってもよい1゜1つのコントローラ24が制御バス2 6と接続され、このハスは史にプロセッサ・ノートの各々と接続されている1、 ある場合には、出力バス22は線28により人力バス20と直接接続され、ある いは出力バス22はブロセッ→ノ゛・ノートの別のアレイの入力バスと接続され るが、プロセッサ・ノートの別のアレイの出力バスは入力バス20と接続してよ い。(Brief explanation of the drawing) FIG. 1 is a schematic diagram of an array of processor notes constructed in accordance with the present invention; FIG. , an outline of the circular communication pattern of the communication nodes included in the processor notebook in Figure 1. figure, FIG. 3 is a block diagram of a single processor node of the present invention. Regarding the drawings, first, in Figure 1, there is a single instruction stream, multiple data streams. An array of system (SIMD) processors is indicated generally at 10. The array 10 is , processor node 12.14.16.18, and as needed for a particular application. A large number of processor nodes may be included. Figure 1 is for simplicity , and to enable the description of interactions between large numbers of processor nodes. 1. Contains only 4 processor nodes. Each processor note has an input bus 20 and an output bus 22. Buses 20 and 22 are shown in FIG. Although presented as a single entity structure, in some cases human and/or The power bus may have a multiple bus structure.1゜One controller 24 is connected to the control bus 2. 6, this lotus is historically connected to each of the processor notes 1, In some cases, output bus 22 is directly connected to human-powered bus 20 by line 28, and in some cases Alternatively, the output bus 22 is connected to the input bus of another array of Blosset→No.notes. However, the output bus of another array of processor notes should be connected to input bus 20. stomach.

図1に示されるように、各プロセッサ・ノート(PN)は、プロセ・ソサ・ノー ド12〜28における30〜37で示される接続ノート(cN)の如き1対以1 の通信ノートを含む、、CNは、状態がPNに配置されるニューラル・ネットワ ークにおけるエミュレートされたノートと関連している1、各PNは、内部に配 置された幾つかのCNを持ち得る。従来のコンピュータ・アーキテクチヤ表示に 従って、プロセッサ・ノート12は、接続ノード0 (CNO)に対する状態情 報、および接続ノード4 (CN4)に対する状態情報を有し、プロセッサ・ノ ート14は、接続ノード1 (CNI)に対する状態情報および接続ノード5  (CN5)に対する状態情報を、プロセッサ・ノート16は、接続ノート2 ( CN2)に対する状態情報および接続ノード6 (CN6)に対する状態情報を 、またプロセッサ・ノード18は、接続ノード3 (CN3)に対する状態情報 および接続ノード7 (CN7)に対する状態情報を有する。。As shown in Figure 1, each processor note (PN) 1 pair or more, such as connecting notes (cN) indicated by 30 to 37 in nodes 12 to 28. , CN is a neural network whose state is located in PN. 1. Each PN associated with an emulated note in the may have several CNs placed. Traditional computer architecture display Therefore, processor note 12 provides state information for connected node 0 (CNO). information, and state information for connected node 4 (CN4), The port 14 provides status information for connection node 1 (CNI) and connection node 5. The processor note 16 transmits the status information for the connection notebook 2 (CN5) to the connection notebook 2 (CN5). state information for CN2) and state information for connected node 6 (CN6). , and the processor node 18 also provides state information for the connection node 3 (CN3). and state information for connection node 7 (CN7). .

暫時図2を参照すれば、接続ノード0〜7間にセットアツプされる同報パターン が示される。CNは「レイヤ(layer)Jに構成され、CN0−CN3は1 つのレイヤを含むが、CN4〜CN7は第2のレイヤを含んでいる。先に述べた ように、いずれか1つのプロセッサ・ノード、あるいはプロセッサ・ノードのア レイにおける接続ノートには2つより多いレイヤがある。、接続ノードは、同報 階層と呼ばれるもので作動し、これにおいては各接続ノード0〜3が接続ノード 4〜7の各々に対して同報する。このような回報階層を構成するための例示的な 手法は、参考のため本文に引用される1989年1月3日発行のHa+nmer −strom等の米国特許第4,796,199号[ニューラル・モデル情報処 理アーキテクチャおよびその方法(NEURAL−MODEL INFORMA TION−HANDLING ARCH!TECTURE AND METHO D’)」において開示されている1゜ 概念的には、使用し得るプロセッサ・ノードは、各々が各グロック毎に各人力に 対してその機能(乗算、累計および加重指標増分)を実行するプロセッサの「レ イヤ」として考えることができ、これにおいては1つのプロセッサ・ノートがそ の出力を他の全てのプロセッサ・ノードへ同報する。出力プロセッサ・ノード構 成を用いることにより、僅かに2つのレイヤ構成を用いてnクロックにおいて1 2回の接続を行うことが可能である。公知の従来SIMD構造は、nクロックに おいて02回の接続を行うことができるが、3つのレイヤ形態、即ち50%多い の構成を必要とする。Referring temporarily to Figure 2, the broadcast pattern set up between connected nodes 0 to 7 is shown. CN is configured in layer J, and CN0-CN3 are 1 CN4 to CN7 include a second layer. mentioned earlier , any one processor node or There are more than two layers of connection notes in a ray. , connected nodes broadcast It operates in what is called a hierarchy, in which each connected node 0-3 is a connected node. Broadcast to each of 4 to 7. An exemplary example for configuring such a circular hierarchy: The method is from Ha+nmer published on January 3, 1989, which is cited in the text for reference. - U.S. Patent No. 4,796,199 to Strom et al. [Neural Model Information Processing] NEURAL-MODEL INFORMA TION-HANDLING ARCH! TECTURE AND METHO 1゜ disclosed in “D’)” Conceptually, the processor nodes that can be used are The processor's In this case, one processor note broadcast its output to all other processor nodes. Output processor node structure By using the It is possible to make two connections. The known conventional SIMD structure has n clocks. 02 connections can be made in 3 layers, i.e. 50% more configuration.

10で示されるSIMDアレイにおける事象の通常のシーケンスは、各プロセッ サ・ノードに送られるデータの特定部分で始まる。データは、入力バス20上に 送られる1つの命令により操作される。各プロセッサ・ノードは、データについ て要求される如何なる動作でもこれを行い、次いで出力バス22を介して情報を 伝送するよう試みる。明らかに、各プロセッサ・ノートが同時に出ツノバスに送 出できるのではなく、通常の条件下では、アレイにおける各プロセッサ・ノード がその情報を出力バス上に送出するまで、プロセッサ・ノートは多くのクロック 即ちサイクルを待機しなければならない1゜この待機時間中、プロセッサ・ノー トは、送出するまで別の機能を実行することができないため、必然的にアイドリ ング状態で作動している1、この問題を解決するため、38.40.42および 44で示される如き出力プロセッサあるいは出力バッファが各プロセッサ・ノー ドのアーキテクチャに含まれる。、出力バッファは、関連する接続ノードから情 報を受取り、各プロセッサ・ノードが出力バス22での伝送りリアランスを受取 る如き時までこの情報あるいはデータを保持する。The normal sequence of events in a SIMD array, shown at 10, is as follows: starts with a specific portion of data sent to the server node. The data is on the input bus 20. Operated by a single command sent. Each processor node performs any operations required by the output bus 22, and then transmits the information via the output bus Attempt to transmit. Obviously, each processor note sends to the output bus at the same time. Under normal conditions, each processor node in the array The processor notebook will run many clocks until the processor sends its information onto the output bus. i.e. it has to wait for a cycle.During this waiting time, the processor node It is necessarily idle because it cannot perform another function until it is sent out. To solve this problem, 38.40.42 and An output processor or output buffer as shown at 44 is provided at each processor node. included in the architecture of the code. , the output buffer receives information from the associated connected node. each processor node receives a transmission response on output bus 22. retain this information or data until such time as possible.

データが出力バッファに保持されるため、出、IJプロセッサ・ノートが伝送を 待機中プロセッサ・ノートの残りは他の機能を実行することができる。。Since the data is held in the output buffer, the IJ processor note The remainder of the idle processor notes can perform other functions. .

ノートが適【1な時点に出力バス221−に伝送するように種々のプロセッサ・ ノード間の調停を制御するため、各プロセッサ・ノードはフリップ70ツブ46 .48.50および52の如きフリップ70ツブを含む1.フリップ70ツブは また、本文では調停信号ジェネレータとも呼ばれる、。The various processors are configured to transmit the notes to the output bus 221- at the appropriate times. To control arbitration between nodes, each processor node has a flip 70 tube 46. .. 1. Including flip 70 tubes such as 48.50 and 52. flip 70 tube Also referred to in the text as an arbitration signal generator.

次に図3において、プロセッサ・ノー・ド12の如き1つのプロセッサ・ノー・ ドの残りの構成要素が更に詳細に示される。、ノード12は、人力バス20およ び出力バス30と接続される入カニニット54を含む。再び、唯一の人力バスお よび出力ハスか簡単化のために示されている。多数の人力および(または)出力 バスが提供される場合は、入カニニット54および本文で説明する他のユニット は各人出力バスとの接続を有する。プロセッサーノード・コントローラ56は、 各プロセッサ・ノードに対する演算パラメータを確立するため設けられている1 、加算ユニット58は、加算を行い、入カニニット54、乗算器60から人力を 受取り、入出力バスと接続されている。3, one processor node, such as processor node 12, The remaining components of the code are shown in further detail. , the node 12 connects the human-powered bus 20 and and an input unit 54 connected to the output bus 30. Once again, the only human-powered bus and output are shown for simplicity. large number of manpower and/or output If a bus is provided, the input crab unit 54 and other units described in the text has a connection with each output bus. The processor node controller 56 is 1 provided for establishing operational parameters for each processor node. , the addition unit 58 performs addition and inputs human power from the input unit 54 and the multiplier 60. Connected to receiving and input/output buses.

レジスタ・ユニット62はレジスタ・アレイを含み、これはアーキテクチャの望 ましい実施態様において32個の16ビツト・レジスタを含む。他の多くの構成 を使用することもできる1、加重アドレス生成ユニット64は、待機メモリー・ ユニット66に対する次のアドレスを計算する。望ましい実施態様においては、 このメモリー・アドレスは2つの方法、即ち(1)加重アドレス・レジスタへの 直接書込み、あるいは(2)加重オフセット・レジスタの内容をメモリー・アド レス・レジスタのその時の内容に加えさせる指令の表明の1つにおいてセットす ることができ、これにより新しいアドレスを生じる。ノート・コントローラ56 、加算ユニット58、乗算器60、レジスタ・ユニット62および加重アドレス 生成ユニット64は、本文において操作ユニットと呼ばれるものを含む1゜出カ ニニット68は、データが出力バス22上に送られる前にデータを格納するため 設けられる1、出カニニット68は、データの伝送に先立ち出カニニットの残部 からデータを受取る出力プロセッサ・ノード38を含む。データは、出カニニッ トの一部である接続ノード30または34の如き1つ以、8Lの接続ノートによ り、出力バス22へ送られる1、出カニニット68は、最初に処理されたデータ を受取る出力バッファ・レジスタを含む。このデータが一4g+レジスタにロー ドされると、出力バッファ・ユニットは「保護状態」となる、、−j−j保護状 態になると、出力バッファはプロセッサ・ノードの残部とは独立的ではあるが同 期的に作動する。Register unit 62 includes a register array, which is configured as desired by the architecture. In the preferred embodiment, it includes 32 16-bit registers. many other configurations 1, the weighted address generation unit 64 has a standby memory Compute the next address for unit 66. In a preferred embodiment, This memory address can be accessed in two ways: (1) into a weighted address register; Write directly or (2) Add the contents of the weighted offset register to memory. set in one of the assertions of the command to be added to the current contents of the address register. This will result in a new address. Note controller 56 , addition unit 58, multiplier 60, register unit 62 and weighted address. The generation unit 64 has a 1° output including what is referred to in the text as the operating unit. Ninit 68 is used to store data before it is sent onto output bus 22. 1. The output unit 68 is provided with the remaining output unit 68 before data transmission. includes an output processor node 38 that receives data from the output processor node 38; The data is one or more connection nodes such as connection node 30 or 34 that are part of the 8L connection node. 1, output unit 68 sends the first processed data to output bus 22. includes an output buffer register that receives the output buffer register. This data is loaded into the 14g+ register. When the output buffer unit is Once in a state, the output buffer is independent of, but identical to, the rest of the processor node. Operates periodically.

一時に唯1つのPNが出力バスを使用できるため、どの出力バッファあるいは出 力プロセッサ・ノードが出力バス22上で最初に送信するかを決定するために、 異なるプロセッサ・ノートの出力バッファ間に一調停プロセスが提供される1、  用プロセッサ・ノードが伝送すると、プロセッサ・ノード12におけるフリッ プ70ツブ46の如きフリップフロップから延びる矢印70で示される初期接続 手順装置が次のプロセッサ・ノートに送信を信号する31図1の装置はこの送信 が直ぐ隣接するノードから生じることを示すが、これは必ずしも実際のプロセッ サ・ノード・アレイにおいて生じることを示すものではない。調停処理により他 のある送信順序が決定されることもある。Since only one PN can use the output bus at a time, no output buffer or To determine which power processor node transmits first on output bus 22, 1. An arbitration process is provided between the output buffers of different processor notes; When the processor node for Initial connection indicated by arrow 70 extending from a flip-flop such as knob 46 The device in Figure 1 signals the next processor note to send. originates from the immediately adjacent node, but this does not necessarily mean that the actual It is not intended to indicate what would occur in a server node array. Others due to mediation process A certain transmission order may be determined.

送信信号がコントローラ24によりアレイにおいて行われる他の操作との送信の 同期を許容するように表明される時にのみ、調停および送信が生じる。逐次、大 域および直接の如き調停/データ転送の幾つかのモードがアーキテクチャにおい て与えられる。コントローラ24およびフリップ70ツブ46.48.5帆52 は、プロセッサ動作のどの時点で信号が出力プロセッサ・ノートから送られるか を決定するように作動可能な調停手段と本文で呼ばれるものを含む1゜逐次モー ドは、それが意味するように、制御バス26−(二の側御信号が1つのプロセッ サ・ノードから次のプロセッサ・ノードへ移動することを要求する。The transmitted signal is connected to other operations performed on the array by controller 24. Arbitration and transmission occur only when asserted to allow synchronization. sequential, large Several modes of arbitration/data transfer, such as area and direct, are implemented in the architecture. given. Controller 24 and flip 70 tube 46.48.5 sail 52 is the point in processor operation when the signal is sent from the output processor note. 1° sequential mode including what is referred to in the text as an arbitration means operable to determine the The control bus 26- (which means that two side control signals are connected to one processor) request to move from one processor node to the next processor node.

入域調停は、全てのプロセッサ・ノードからの送信をIjf能にするがプロセッ サーノードをディジーチェーンで作動させる制御バス上で移動する信号を使用し 、他のプロセッサ・ノートは通過するがあるプロセッサ・ノードが送信すること を呵詣にすることにより、特定のサイクル即ちクロックにおけるデータは送らな い。Entry arbitration enables Ijf transmission from all processor nodes, but Uses a signal traveling on a control bus to daisy-chain the sarnodes. , that a processor node sends through which other processor nodes pass By observing the stomach.

直接調停は、データが調停出力バッファへ:!F込まれて直ちに次の送イ1?サ イクルと同時に出力バスに送信される状態において使用される。。Direct arbitration, the data goes to the arbitration output buffer:! Immediately after F is inserted, the next transfer is 1? sa It is used in situations where it is sent to the output bus at the same time as the cycle. .

SIMD構造においては、1つの命令が制御バス261−を全でのプロセッサ・ ノードに対して通過する。この命令は、同時に入力バス20上で入力されたII M々のプロセッサ・ノートに存在する値について実行される。各出力バッファは 、図1で38a、40a、42a、44aで示されるそれ自体の内部コントロー ラを持ち、これは各出力プロセッサが如何にSIMDコントローラ24と別個に 作動するかを説明する以下のコートおよび構造において記述される、。In a SIMD structure, one instruction can cause the control bus 261 to Pass through to the node. This instruction is simultaneously input on the input bus 20 It is performed on the values present in M processor notes. Each output buffer is , its own internal controllers, shown at 38a, 40a, 42a, 44a in FIG. This is how each output processor is separated from the SIMD controller 24. Described below are the coats and structures that explain how they work.

従来アーキテクチャにおいては、出力は出力バス22上を個々のプロセッサ・ノ ードから予め定めた送信シーケンスで送られる。これは、II!(論、新しい命 令セットまたは新しいデータをプロセッサ・ノートにおいて受取ることができる 前に、アレイの他のプロセッサ・ノードが送信を終了されるまで、プロセッサ・ ノードが待機することを要求する1、各PNに出力バッフ7を設けることは、プ ロセッサ・ノードが出力バスにおけるその順番を待つ間、処理データが格納され る場所を提供する。プロセッサ・ノードにおいては別の動作が生じ得、これは新 しいデータがロートされ、あるいは現存するデータが新しい命令セットにより操 作される。In conventional architectures, outputs are routed on output bus 22 to individual processor nodes. It is sent from the card in a predetermined transmission sequence. This is II! (A new life Instruction sets or new data can be received in the processor notebook before any other processor node in the array has finished transmitting. 1, providing an output buffer 7 for each PN requires a node to wait. Processing data is stored while the processor node waits for its turn on the output bus. provide a place to A different behavior may occur at the processor node, which is a new new data is loaded, or existing data is manipulated by a new instruction set. made.

線28は、あるプロセッサ・ノートからの出力データが1つのプロセッサ・ノー ドあるいは他のプロセッサ・ノードに対する人力データとなることが要求される ならば、可能状態にすることができる。このような可能状態化は、従来のマイク ロ回路機構によって行われ、図2において略図的に示される。。Line 28 indicates that output data from one processor node or other processor nodes. If so, you can enable it. This enablement is similar to traditional microphones. 2, which is shown schematically in FIG. .

アレイ10における個々のプロセッサの実際の動作については、ソフトウェア係 数で提供されるが本発明の出力プロセッサ・ノードを含む集積回路の物理的設計 に組込まれる下記の命令セットにより記述される1゜下記のコードは、ニューロ コンピュータ・チップにおけるPN構造の実際のCMO3構成を説明するコード の単純化である。以下に示すコードは、ある予め定義されたマクロにより修飾さ れたCプログラミング言語による1、このコードは、本文に延べる回路の実際の 構成におけるレジスタ転送レヘルの記述言語として使用される91強調文字は、 信シj、/S−トウエrあるいは一/ 7− l、ウニr要素、あるいは位相ま たはクロック・サイクルを示す。The actual operation of the individual processors in array 10 is explained by software personnel. a physical design of an integrated circuit provided in numbers but including an output processor node of the present invention; 1゜ The code below is written by the following instruction set that is incorporated into the neuron Code describing the actual CMO3 configuration of the PN structure in a computer chip This is a simplification of The code shown below is modified by some predefined macro. 1 in the C programming language, which is written in the C programming language. The 91 emphasis character used as the description language of the register transfer level in the configuration is Significance j, /S-toe r or 1/7-l, sea r element, or phase or or clock cycle.

変数phtおよびph2は、ダイナミックMOSデバイスを実現するため使用さ れる2つの位相のオーバーラツプしないクロックにおける2つの位相をンミュ意 味し、r BJはバス(1信号線以上)を意味し、「−1」はphiの間のみ有 効なダイナミック信号を意味する。1これらは任意に組合わせることができる。The variables pht and ph2 are used to realize a dynamic MOS device. The two phases of the two non-overlapping clocks are mutually exclusive. taste, r BJ means bus (more than 1 signal line), "-1" is only available during phi. means a valid dynamic signal. 1 These can be arbitrarily combined.

。 出カニニット(0bUNIT)(i8は、出力バッファを含む、、PNN出力バ ッファインターフェースは出力のため使用され、出力が入力とは独立的に実行す ることを可能にし、種々の再帰動作およびフィードバック動作の間使用される1 ゜if (reseL)tuuLsL=o;seqrght=0;obarmd =0:seqgo ID=0; 1このステップは、処理中使用される変数を初 期化する1、出力バスに対する出力バッファの調停の間、最も左側のPNからの 調停信号が逐次の調停OK信号、1eftffは、左側のPN12における本文 において調停信号ジェネレータ手段とも呼ばれるフリップ70ツブ46からの信 号であり、PN12が送信し今PN14の番であることを示す1゜ 出力バッフ7が書込まれる時、0b a、rmdフリップ70ツブ46がセット される。Ob armdは、出力バッファが保護され送信の用意があることを示 す。. Output unit (0bUNIT) (i8 is a PNN output buffer including an output buffer. Buffer interfaces are used for output and allow output to run independently of input. 1 used during various recursive and feedback operations. ゜if (reseL)tuuLsL=o;seqrght=0;obarmd =0: seqgo ID=0; 1 This step initializes the variables used during processing. During arbitration of the output buffer to the output bus, the output from the leftmost PN The arbitration signal is a sequential arbitration OK signal, and 1efff is the main text in PN12 on the left. The signal from flip 70 knob 46, also referred to as arbitration signal generator means, is 1°, which is transmitted by PN12 and indicates that it is now PN14's turn. When output buffer 7 is written, 0b a, rmd flip 70 knob 46 is set. be done. Ob armd indicates that the output buffer is secured and ready for transmission. vinegar.

この送信は、PN内部の残りの計算とは独立的に行い、本発明の出力バッファ・ アーキテクチャの中枢を形成する。This transmission is done independently of the rest of the calculations inside the PN, and our output buffer Forms the core of the architecture.

もし送信が2バイトであれば、下位のバイトが最初に送られる。これは、送信制 御が表明され、PNの出力バッファが保護されると生じる。これが2バイト送信 の2番目であることを示すため0utstフリツプ70ツブが使用される1、こ こで述べた全ての調停のrJI定は逐次モー1−で働き、ここてI’Nがその送 イ、1を完J゛した時右隣に信号する。、 xm i、 t:は、(調停信弓′ を受取ったならば)特定のPNの出カバソファに送信することを通知するSIM I)指令である。、5cc4c、trbフリップ70ツブは、この調停モードが ■f能状態にあることを小す、、r)utmd2はこれが2バイト送信であるこ とを示す4゜i f((+)hl)ANDb((+重訂md)ANDb(x劃[ ))(if(scqarb) ( ir (nuLSL−1) i oul、bus [32((+uLbur E IAND 0xFFQOL)〉>8+ (ILILsL−0; (市+irmd O; scqrg肌 l。If the transmission is 2 bytes, the lower byte is sent first. This is a sending system. Occurs when the PN control is asserted and the PN's output buffer is protected. This is 2 bytes sent 0utst flip 70 is used to indicate the second of 1, this All the arbitration rJI specifications described above work in sequential mode 1-, where I'N A. When you complete 1, send a signal to the person on your right. , xm i, t: is (arbitration Shinkyu' If you receive a SIM card that notifies you that it will be sent to a specific PN I) It is a directive. , 5cc4c, and trb flip 70 knobs have this arbitration mode. f) utmd2 recognizes that this is a 2-byte transmission. 4゜i f((+)hl)ANDb((+revised md)ANDb(x劃[ ))(if(scqarb)( ir (nuLSL-1) i oul, bus [32 ((+uLbur E IAND 0xFFQOL)>>8+ (ILILsL-0; (city+irmd O; scqrg skin l.

前のシーケンスは、逐次の調停に対する0utbuf状態マンーンを実行する。The previous sequence executes the 0utbuf state manmoon for sequential arbitration.

。 seclrghtは次のクロック時に送信するように次のPNに信号するels e if (scqgo II)) lif (ouLmd2) 1 全てのPNが出力バス22上で送信した後、調停プロトコルがリセツー・され、 システt、はこれ以上の出力が後にあるかを判定するため質問される1、即ち、 1r (reSet) obar+++d=0;(市ariid=1 ; 1 if ((ph2) ANDb (vcvul) ANDb (rgctl B 2==F RGBBIIS) ANDb(r B=F−OLITBLIF) )  tnbunmd=l ; 1 もし出力バッファが送信される情報を有するならば、Ob armdがセットさ れこのサイクルが反復する1、vCvalは、有効出力バッファ制御信号を示し 、とを示す、7レジスタ0UTBUFへの書込みはc)barmdをセットし、 これがPN出力バッファをオンに(可能化)する、7アレイ10のアーキテクチ ャの動作は下記の4口<要約することができる。。. seclrght els signals the next PN to transmit on the next clock e if (scqgo II)) lif (ouLmd2) 1 After all PNs have transmitted on the output bus 22, the arbitration protocol is reset and System t is interrogated to determine whether there are any more outputs to come, 1, i.e. 1r (reSet) obar+++d=0; (city ariid=1; 1 if ((ph2) ANDb (vcvul) ANDb (rgctl B 2==F RGBBIIS) ANDb(r B=F-OLITBLIF)) tnbunmd=l; 1 If the output buffer has information to be sent, Obarmd is set. 1, vCval indicates the valid output buffer control signal. , a write to register 7 0UTBUF indicates that c) sets barmd; This is the 7 array 10 architecture that turns on (enables) the PN output buffer. The operation of the camera can be summarized in the following four ways. .

即ち、 クロック0の期間 初めに、CN01CNI、CN2およびCN3が、それぞれプロセッサ・ノード 12.14.16.18のレジスタ62に漬かれる値を有する。これらの値は適 当な線上の各PNにおける各出力バッファへ書込まれる。That is, Clock 0 period Initially, CN01CNI, CN2 and CN3 are respectively processor nodes. It has the value stored in register 62 of 12.14.16.18. These values are is written to each output buffer in each PN on the appropriate line.

クロック1の期間: プロセッサ・ノード12における出力バプ7ア38が、CNOの出力を出力バス 22へ送る。この値は、プロセッサ・ノード12.14.16.18により線2 8および入力バス20を介して読出される。各プロセッサ・ノートは、加重メモ リー・ユニット66から重みを取出して、例えばCNOの出力にW、いw%、、 w6゜およびW7oの如き種々の重みを乗じる。次いで、出力バッフ738およ びプロセッサ・ノード12は、出力バス22上に全送信してもよいという調停信 号をフリップ70ツブ47および線70を介して次のプロセッサ・ノードである プロセッサ・ノード14における出力バッフ740へ送る。Clock 1 period: An output bus 7a 38 in the processor node 12 transfers the output of the CNO to an output bus. Send to 22. This value is set by processor node 12.14.16.18 on line 2. 8 and input bus 20. Each processor note is a weighted note The weights are extracted from the Lee unit 66 and applied to the output of the CNO, for example, W, w%, . Multiply by various weights such as w6° and W7o. Then, the output buffer 738 and and processor node 12 receive an arbitration signal on output bus 22 that it may transmit all. Flip signal 70 via tube 47 and line 70 to the next processor node. to output buffer 740 at processor node 14.

クロック2の期間: プロセッサ・ノード14における出力バッファ40は、CNIの出力を出力バス 22へ送る。この値は、線28および人力バス20を介してプロセッサ・ノード 12.14.16.18により読出される。各プロセッサ・ノートは、加重メモ リー・ユニット66からIRみを取出し、例えばCN Oの出力にW4.、W、 l、W81およびW71の々■き種々の爪みを乗じる。7次いで、出力バッファ 40およびプロセッサ・ノート14は、フリップ70ツブ48および線70によ り、いま送信してもよいとプロセッサ・ノート16における出力バッファ42に 信号する。Clock 2 period: Output buffer 40 in processor node 14 connects the output of CNI to an output bus. Send to 22. This value is sent to the processor node via line 28 and human power bus 20. Read by 12.14.16.18. Each processor note is a weighted note Take out the IR signal from the Lee unit 66 and apply it to the output of CN0, for example, W4. ,W, 1, W81 and W71 are multiplied by various nails. 7 Then the output buffer 40 and processor note 14 are connected by flip 70 knob 48 and line 70. The output buffer 42 in the processor notebook 16 indicates that it is OK to send the data now. signal.

データが処理されるまで、同様な動作が連続するクロック・サイクルの間に生じ る1、 プロセッサ・ノード機能を調べる別の方法は、各プロセッサ・ノードが乗算器6 0、加算ユニット58および2つの索引テーブル、油虫ア)・レス生成ユニット 64および加重メモリー66を有すると考えることである。、各ノードは人力を 受取り、各クロック毎に乗算−累計を行う3.累計ループの後、各プロセッサ・ ノードはその出力をその出力バッファへ移動し、回報のためのその戻りを待つ。Similar operations occur during successive clock cycles until the data is processed. Ru1, Another way to examine processor node functionality is that each processor node 0, addition unit 58 and two index tables, oil bug a) response generation unit 64 and weighted memory 66. , each node requires human power 3. Receive and perform multiplication-accumulation for each clock. After the cumulative loop, each processor The node moves its output to its output buffer and waits for its return for routing.

このステップは、下式の如く表わすことができる。即ち、i=1 従って、出力01は加重メモリー66から引出された値WIIに人力値01を乗 じたものの和に等しく、ここで全機能が加重アドレス生成ユニット64に格納さ れる。This step can be expressed as shown below. That is, i=1 Therefore, the output 01 is the value WII drawn from the weighted memory 66 multiplied by the human power value 01. where all functions are stored in the weighted address generation unit 64. It will be done.

本発明の望ましい実施態様を開示したが、請求の範囲に記載される如き本発明の 範囲から逸脱することなく変更および修正が可能であることが理解されよう。Having disclosed preferred embodiments of the invention, the present invention as set forth in the claims. It will be understood that changes and modifications may be made without departing from the scope.

産業上の利用性 本発明により構成されたプロセッサは、人間の頭脳の諸機能を分析および意志決 定用途においてシミュレートするため使用できるニューラル・ネットワーク・シ ステムにおいて有効である。Industrial applicability A processor configured according to the present invention analyzes various functions of the human brain and makes decisions. Neural network systems that can be used to simulate Effective in stems.

FIG、2 国際調査報告 1+le+n+l<II+l^pロー””””’r/1KQf’l/nlnM+ 1111′@″′1―肯1Tk、 Kテ/−匍10ヌ晃6FIG.2 international search report 1+le+n+l<II+l^plow””””’r/1KQf’l/nlnM+ 1111′@″′1-Ken 1Tk, Kte/-匍10nuko6

Claims (1)

【特許請求の範囲】 1.入力バス(20)と、入力ユニット(54)と、操作ユニット(56〜66 )と、出力バス(22)とを備えた単一命令ストリームの多重データ・ストリー ム(SIMD)プロセッサ・ノード(12、14、16、18)における出力プ ロセッサ・アーキテクチャにおいて、 入力ユニット(54)および操作ユニット(56〜66)からデータを受取る出 力ユニット(68)と、 選択プロセッサ・ノード(12)に配置され、出力ユニット(68)から選択さ れた時点にデータを格納して送出する出力バッファ(38)と、プロセッサ・ノ ード(12)と、関越する出力バッファ(38)と、出力ユニット(68)との 間のデータの交換を制御する制御ユニット(56)とを設けてなることを特徴と するアーキテクチャ。 2.プロセッサの作動のどの点で信号が出力バッファ(38)から送出されるか を決定する調停手段(46)を更に設けることを特徴とする請求項1記載のアー キテクチャ。 3.前記調停手段が、各プロセッサ・ノード(12)に配置されて次のプロセッ サ・ノード(14)に対する制御信号を生成する調停信号ジェネレータ(46) を含むことを特徴とする請求項2記載のアーキテクチャ。 4.各出力バッファが、データの格納の順序付けおよび出力バス(22)に対す る以後の伝送を制御する個別の内部コントローラ(38a)を含むことを特徴と する請求項1記載のアーキテクチャ。 5.各プロセッサ・ノード内に配置された複数の接続ノード(30、34)を含 み、該接続ノードがnクロックにおいてn2回の接続を行うように構成されるこ とを特徴とする請求項1記載のアーキテクチャ。 6.各クロックの間、選択された接続ノード(30)が、その関連するプロセッ サ・ノードを介して接続ノード(34、35、36、37)の全ての選択された セットに対して同報することを特徴とする請求頃5記載のアーキテクチャ。 7.入力バス(20)と、入力ユニット(54)と、操作ユニット(58〜66 )と、出力バス(22)とを備えた単一命令ストリームの多重データ・ストリー ム(SIMD)プロセッサ・ノード(12、14、16、18)における出力プ ロセッサ・アーキテクチャにおいて、 入力ユニット(54)および操作ユニット(58〜66)からデータを受取る出 力ユニット(68)と、 選択プロセッサ・ノード(12)に配置されて、選択された時点に出力ユニット (68)からのデータを格納して送出する出力バッファ(38)と、プロセッサ ・ノード(12)と、関連する出力バッファ(38)と、出力ユニット(68) との間のデータの交換を制御する制御ユニット(56)と、各プロセッサ・ノー ド(12)に配置されて、次のプロセッサ・ノード(14)に対して該次のプロ セッサ・ノードに伝送を指令する信号を生成する調停信号ジェネレータ(46) と を設けてなることを特徴とするアーキテクチャ。 8.各出力バッファ(38)が、データの格納の順序付けと出力バス(22)に 対する以後の伝送を制御する個別の内部コントローラ(38a)を含むことを特 徴とする請求項7記載のアーキテクチャ。 9.各プロセッサ・ノード(12)内に配置された複数の接続ノード(30、3 4)を含み、該接続ノードが、nクロックにおいてn2回の接続を行うように構 成されることを特徴とする請求項7記載のアーキテクチャ。 10.各クロックの間、選択された接続ノード(30)が、その関連するプロセ ッサ・ノードを介して接続ノード(34、35、36、37)の全ての選択され たセットに対して同報することを特徴とする請求項9記載のアーキテクチャ。[Claims] 1. An input bus (20), an input unit (54), and an operation unit (56 to 66) ) and an output bus (22). Output processors at SIMD processor nodes (12, 14, 16, 18) In processor architecture, an output for receiving data from the input unit (54) and the operating unit (56-66); a force unit (68); located at the selection processor node (12) and selected from the output unit (68). an output buffer (38) that stores and sends data at the point in time, and a processor node. between the board (12), the output buffer (38) and the output unit (68). and a control unit (56) for controlling data exchange between the architecture. 2. At what point in the operation of the processor is a signal sent out from the output buffer (38)? 2. The apparatus according to claim 1, further comprising arbitration means (46) for determining the architecture. 3. Said arbitration means is arranged in each processor node (12) to determine the next processor. Arbitration signal generator (46) that generates control signals for the server node (14) 3. The architecture of claim 2, further comprising: 4. Each output buffer has a data storage ordering and an output bus (22). and a separate internal controller (38a) for controlling subsequent transmission. 2. The architecture of claim 1. 5. Includes multiple connection nodes (30, 34) located within each processor node. If the connection node is configured to perform n2 connections in n clocks, The architecture of claim 1, characterized in that: 6. During each clock, a selected connection node (30) All selected nodes (34, 35, 36, 37) connected via the service node The architecture according to claim 5, characterized in that broadcasting is performed for sets. 7. An input bus (20), an input unit (54), and an operation unit (58 to 66) ) and an output bus (22). Output processors at SIMD processor nodes (12, 14, 16, 18) In processor architecture, Outputs for receiving data from the input unit (54) and the operating units (58-66) a force unit (68); located at the selected processor node (12) to output the output unit at the selected time. (68), an output buffer (38) for storing and transmitting data from the processor; - Node (12) and associated output buffer (38) and output unit (68) a control unit (56) for controlling the exchange of data between each processor node; the next processor node (14). Arbitration signal generator (46) that generates a signal instructing the processor node to transmit and An architecture characterized by the provision of. 8. Each output buffer (38) provides data storage ordering and an output bus (22). a separate internal controller (38a) for controlling subsequent transmission to the 8. The architecture of claim 7, wherein the architecture comprises: 9. A plurality of connection nodes (30, 3) located within each processor node (12) 4), and the connection node is configured to perform n2 connections in n clocks. 8. The architecture of claim 7, wherein: 10. During each clock, the selected connection node (30) All selected nodes (34, 35, 36, 37) connected via the server node 10. The architecture of claim 9, wherein said architecture broadcasts to said set.
JP2509527A 1990-05-30 1990-05-30 Concurrent computation/communication mechanism in SIMD architecture Pending JPH05500124A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1990/003066 WO1991019256A1 (en) 1990-05-30 1990-05-30 Mechanism providing concurrent computational/communications in simd architecture

Publications (1)

Publication Number Publication Date
JPH05500124A true JPH05500124A (en) 1993-01-14

Family

ID=22220890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2509527A Pending JPH05500124A (en) 1990-05-30 1990-05-30 Concurrent computation/communication mechanism in SIMD architecture

Country Status (3)

Country Link
EP (1) EP0485594A4 (en)
JP (1) JPH05500124A (en)
WO (1) WO1991019256A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978831A (en) * 1991-03-07 1999-11-02 Lucent Technologies Inc. Synchronous multiprocessor using tasks directly proportional in size to the individual processors rates

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4380046A (en) * 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
US4481580A (en) * 1979-11-19 1984-11-06 Sperry Corporation Distributed data transfer control for parallel processor architectures
US4412303A (en) * 1979-11-26 1983-10-25 Burroughs Corporation Array processor architecture
US4393464A (en) * 1980-12-12 1983-07-12 Ncr Corporation Chip topography for integrated circuit communication controller
US4428048A (en) * 1981-01-28 1984-01-24 Grumman Aerospace Corporation Multiprocessor with staggered processing
US4384273A (en) * 1981-03-20 1983-05-17 Bell Telephone Laboratories, Incorporated Time warp signal recognition processor for matching signal patterns
US4574394A (en) * 1981-06-01 1986-03-04 Environmental Research Institute Of Mi Pipeline processor
US4498134A (en) * 1982-01-26 1985-02-05 Hughes Aircraft Company Segregator functional plane for use in a modular array processor
BG35575A1 (en) * 1982-04-26 1984-05-15 Kasabov Multimicroprocessor system
US4580215A (en) * 1983-03-08 1986-04-01 Itt Corporation Associative array with five arithmetic paths
US4621339A (en) * 1983-06-13 1986-11-04 Duke University SIMD machine using cube connected cycles network architecture for vector processing
US4720780A (en) * 1985-09-17 1988-01-19 The Johns Hopkins University Memory-linked wavefront array processor
US4852048A (en) * 1985-12-12 1989-07-25 Itt Corporation Single instruction multiple data (SIMD) cellular array processing apparatus employing a common bus where a first number of bits manifest a first bus portion and a second number of bits manifest a second bus portion
US4773038A (en) * 1986-02-24 1988-09-20 Thinking Machines Corporation Method of simulating additional processors in a SIMD parallel processor array
US4873626A (en) * 1986-12-17 1989-10-10 Massachusetts Institute Of Technology Parallel processing system with processor array having memory system included in system memory
US4792894A (en) * 1987-03-17 1988-12-20 Unisys Corporation Arithmetic computation modifier based upon data dependent operations for SIMD architectures
US5129092A (en) * 1987-06-01 1992-07-07 Applied Intelligent Systems,Inc. Linear chain of parallel processors and method of using same

Also Published As

Publication number Publication date
EP0485594A1 (en) 1992-05-20
WO1991019256A1 (en) 1991-12-12
EP0485594A4 (en) 1995-02-01

Similar Documents

Publication Publication Date Title
CN110610236B (en) Device and method for executing neural network operation
US5175858A (en) Mechanism providing concurrent computational/communications in SIMD architecture
CN110689138B (en) Operation method, device and related product
US10719470B2 (en) Reconfigurable fabric direct memory access with multiple read or write elements
WO2017185386A1 (en) Device and method for performing forward operation of convolutional neural network
WO2017185387A1 (en) Method and device for executing forwarding operation of fully-connected layered neural network
JP6169697B2 (en) Apparatus and method for spiking neuron network learning
Morgan et al. The Ring Array Processor: A multiprocessing peripheral for connectionist applications
WO2018184570A1 (en) Operation apparatus and method
US5204938A (en) Method of implementing a neural network on a digital computer
US5325464A (en) Pyramid learning architecture neurocomputer
CN109542830B (en) Data processing system and data processing method
WO1991018351A1 (en) Pyramid learning architecture neurocomputer
US20210312320A1 (en) Machine learning network implemented by statically scheduled instructions, with compiler
CN115552420A (en) System on chip with deep learning accelerator and random access memory
EP0295646A2 (en) Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus
US20210326189A1 (en) Synchronization of processing elements that execute statically scheduled instructions in a machine learning accelerator
CN111078286B (en) Data communication method, computing system and storage medium
JPH05500124A (en) Concurrent computation/communication mechanism in SIMD architecture
JP2022511581A (en) Distributed AI training topology based on flexible cable connections
CN115577762A (en) RISC-V based AI computing heterogeneous system
WO2021212045A1 (en) Synchronization of processing elements and software managed memory hierarchy in a machine learning accelerator
JPH117432A (en) Information processor and semiconductor device
JPH11265297A (en) Distributed simulator system
Hoshino et al. Transputer network for dynamic control of multiple manipulators