JPH04267466A - 連想並列処理システム - Google Patents
連想並列処理システムInfo
- Publication number
- JPH04267466A JPH04267466A JP3278900A JP27890091A JPH04267466A JP H04267466 A JPH04267466 A JP H04267466A JP 3278900 A JP3278900 A JP 3278900A JP 27890091 A JP27890091 A JP 27890091A JP H04267466 A JPH04267466 A JP H04267466A
- Authority
- JP
- Japan
- Prior art keywords
- picket
- memory
- units
- processing
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 234
- 238000000034 method Methods 0.000 title claims description 38
- RLLPVAHGXHCWKJ-IEBWSBKVSA-N (3-phenoxyphenyl)methyl (1s,3s)-3-(2,2-dichloroethenyl)-2,2-dimethylcyclopropane-1-carboxylate Chemical group CC1(C)[C@H](C=C(Cl)Cl)[C@@H]1C(=O)OCC1=CC=CC(OC=2C=CC=CC=2)=C1 RLLPVAHGXHCWKJ-IEBWSBKVSA-N 0.000 claims abstract description 198
- 238000003491 array Methods 0.000 claims abstract description 6
- 230000015654 memory Effects 0.000 claims description 142
- 230000006870 function Effects 0.000 claims description 33
- 238000012546 transfer Methods 0.000 claims description 14
- 239000013598 vector Substances 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 12
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 claims description 9
- 229910052710 silicon Inorganic materials 0.000 claims description 9
- 239000010703 silicon Substances 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000007667 floating Methods 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000011017 operating method Methods 0.000 claims 1
- 239000000758 substrate Substances 0.000 claims 1
- 238000005192 partition Methods 0.000 abstract description 5
- 238000001816 cooling Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 13
- 239000000872 buffer Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000035508 accumulation Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 101150073669 NCAN gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 150000002678 macrocyclic compounds Chemical class 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures 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/8015—One dimensional arrays, e.g. rings, linear arrays, buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17337—Direct connection machines, e.g. completely connected computers, point to point communication networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17337—Direct connection machines, e.g. completely connected computers, point to point communication networks
- G06F15/17343—Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17381—Two dimensional, e.g. mesh, torus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures 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/803—Three-dimensional arrays or hypercubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02B—INTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
- F02B75/00—Other engines
- F02B75/02—Engines characterised by their cycles, e.g. six-stroke
- F02B2075/022—Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle
- F02B2075/027—Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle four
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Nonlinear Science (AREA)
- Multi Processors (AREA)
- Exchange Systems With Centralized Control (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Hardware Redundancy (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセツサによ
り並列計算するシステム、より具体的に言えば、空冷式
のチツプに適し、単純化されたアーキテクチヤであつて
、バイトを直列に処理するSIMDアーキテクチヤによ
つて構成された複数プロセツサの並列計算システム及び
その方法に関する。
り並列計算するシステム、より具体的に言えば、空冷式
のチツプに適し、単純化されたアーキテクチヤであつて
、バイトを直列に処理するSIMDアーキテクチヤによ
つて構成された複数プロセツサの並列計算システム及び
その方法に関する。
【0002】
【従来の技術】米国特許第3537074号には、並列
のプロセツサと、1つだけのプログラムによつて制御さ
れる制御装置と、片割れのベクトルをストアするための
複数個のレジスタと、マスク・レジスタと、ベクトル・
レジスタ中のデータに同時に動作するための1つ、また
はそれ以上の制御ユニツトのインストラクシヨンのシー
ケンスに応答する手段とを有するアレイ・コンピユータ
を記載しており、1970年代に、この米国特許に記載
された並列プロセツサは、SIMD(Single I
nstruction Multiple Data)
マシンとして知られるようになつた。 また、このマシンは、並列プロセツサのアレイを駆動す
るプログラム可能な制御ユニツトで構成されているよう
に記載されており、各プロセツサは、メモリ部分、算術
演算ユニツト、プログラムのデコード部分及び入/出力
部分を持つている。これらのシステムは、或る場合には
ホスト・コンピユータと関連された大きな箱体であつた
。SIMDと、通常のプロセツサとを比較すると、SI
MDマシンのシステムにおいて、すべてのSIMDプロ
セツサは関連するプロセツサとは異なつたデータの組を
持つており、SIMDのすべてのプロセツサは共通のコ
ントローラによつて管理されていることが両者の間の重
要な相異である。また、SIMDコンピユータは、各イ
ンストラクシヨンが1つの演算子ではなく、データのベ
クトルで動作すると言う点で、通常のフオン・ノイマン
型のプロセツサとは異なつている。
のプロセツサと、1つだけのプログラムによつて制御さ
れる制御装置と、片割れのベクトルをストアするための
複数個のレジスタと、マスク・レジスタと、ベクトル・
レジスタ中のデータに同時に動作するための1つ、また
はそれ以上の制御ユニツトのインストラクシヨンのシー
ケンスに応答する手段とを有するアレイ・コンピユータ
を記載しており、1970年代に、この米国特許に記載
された並列プロセツサは、SIMD(Single I
nstruction Multiple Data)
マシンとして知られるようになつた。 また、このマシンは、並列プロセツサのアレイを駆動す
るプログラム可能な制御ユニツトで構成されているよう
に記載されており、各プロセツサは、メモリ部分、算術
演算ユニツト、プログラムのデコード部分及び入/出力
部分を持つている。これらのシステムは、或る場合には
ホスト・コンピユータと関連された大きな箱体であつた
。SIMDと、通常のプロセツサとを比較すると、SI
MDマシンのシステムにおいて、すべてのSIMDプロ
セツサは関連するプロセツサとは異なつたデータの組を
持つており、SIMDのすべてのプロセツサは共通のコ
ントローラによつて管理されていることが両者の間の重
要な相異である。また、SIMDコンピユータは、各イ
ンストラクシヨンが1つの演算子ではなく、データのベ
クトルで動作すると言う点で、通常のフオン・ノイマン
型のプロセツサとは異なつている。
【0003】最も平凡なタイプのマルチ・プロセツサは
、各プロセツサが別々のデータ・セツトに動作する別々
のプログラムを実行する複数のインストラクシヨンの複
数のデータ・システム(Multiple Instr
uction Multiple Data Syst
em−MIMD)である。MIMDシステムの中のプロ
セツサは、別個に分かれたタスクを遂行するか、または
、共通の主たるタスクの異なつたサブ・タスクを遂行す
る。
、各プロセツサが別々のデータ・セツトに動作する別々
のプログラムを実行する複数のインストラクシヨンの複
数のデータ・システム(Multiple Instr
uction Multiple Data Syst
em−MIMD)である。MIMDシステムの中のプロ
セツサは、別個に分かれたタスクを遂行するか、または
、共通の主たるタスクの異なつたサブ・タスクを遂行す
る。
【0004】SIMD並列プロセツサの考え方が進歩す
るにつれて、米国特許第4435758号に記載されて
いるように、遂行されるべきシステムのタスクの間に高
い独立性があり、自由に競合できる場合には、SIMD
モードで動作する同期プロセツサのネツトワークが表示
されると考えられていた。実際、米国特許第44357
58号は、その問題と改善方法とを記載しており、そし
て、条件付きブランチの実行を与えるために、米国特許
第4101960号に記載された技術の改良をしなけれ
ばならなかつた。
るにつれて、米国特許第4435758号に記載されて
いるように、遂行されるべきシステムのタスクの間に高
い独立性があり、自由に競合できる場合には、SIMD
モードで動作する同期プロセツサのネツトワークが表示
されると考えられていた。実際、米国特許第44357
58号は、その問題と改善方法とを記載しており、そし
て、条件付きブランチの実行を与えるために、米国特許
第4101960号に記載された技術の改良をしなけれ
ばならなかつた。
【0005】並列プロセツシングの国際会議の会報の「
多形態の大円環のネツトワーク(Polymorphi
c−Torus Network)」と題するリー(H
.Li)等の報告書の411頁乃至414頁に記載され
ているように、新型の殆どのSIMDマシンを記載する
ことが通例になつてきた。1989年8月のIBMテク
ニカル・デイスクロージヤ・ブレテイン第32巻3A号
には、ベクトルに対して粗のマトリツクスの積算におけ
る実行の速度を改善するために、再編成の目的のために
他のスイツチング・ネツトワークによつて重ねられたメ
ツシユ・ネツトワークを有し、かつ、リー等によつて記
載されたメツシユ・トポロジーによつて物理的に接続さ
れたN×N個のプロセツサの大量用の並列アーキテクチ
ヤのためのマトリツクス・ベクトル積算法が記載されて
いる。
多形態の大円環のネツトワーク(Polymorphi
c−Torus Network)」と題するリー(H
.Li)等の報告書の411頁乃至414頁に記載され
ているように、新型の殆どのSIMDマシンを記載する
ことが通例になつてきた。1989年8月のIBMテク
ニカル・デイスクロージヤ・ブレテイン第32巻3A号
には、ベクトルに対して粗のマトリツクスの積算におけ
る実行の速度を改善するために、再編成の目的のために
他のスイツチング・ネツトワークによつて重ねられたメ
ツシユ・ネツトワークを有し、かつ、リー等によつて記
載されたメツシユ・トポロジーによつて物理的に接続さ
れたN×N個のプロセツサの大量用の並列アーキテクチ
ヤのためのマトリツクス・ベクトル積算法が記載されて
いる。
【0006】与えられた行中のすべてのプロセツサは全
く同じインストラクシヨンを実行するけれども、各行は
異なつてプログラムされているような複数の行のプロセ
ツサによつて動作するSIMDマシン及びSIMD/M
IMDマシンを作るための考えを示した1990年の刊
行物がある。1990年1月のIBMテクニカル・デイ
スクロージヤ・ブレテイン、第32巻8B号のリー(H
.Li)、ドム(B.Dom)等の発明には、特別の繰
り返し動作を行なうメモリ・インスペクシヨン機能を処
理するための並列的なローカル演算子エンジン(Par
allel Local Operator Engi
ne−PLOE)と称される構造を持つアーキテクチヤ
が記載されている。
く同じインストラクシヨンを実行するけれども、各行は
異なつてプログラムされているような複数の行のプロセ
ツサによつて動作するSIMDマシン及びSIMD/M
IMDマシンを作るための考えを示した1990年の刊
行物がある。1990年1月のIBMテクニカル・デイ
スクロージヤ・ブレテイン、第32巻8B号のリー(H
.Li)、ドム(B.Dom)等の発明には、特別の繰
り返し動作を行なうメモリ・インスペクシヨン機能を処
理するための並列的なローカル演算子エンジン(Par
allel Local Operator Engi
ne−PLOE)と称される構造を持つアーキテクチヤ
が記載されている。
【0007】このアプリケーシヨンは、SIMDマシン
に割り当てることができるばかりでなく、フオン・ノイ
マンのマシンにも割り当てることができるタスクとを、
新しく作られたアーキテクチヤにより形成されたチツプ
で遂行することができるシステムであつて、現在の技術
で製造することのできる空冷式のシステムを想定するこ
とができる。
に割り当てることができるばかりでなく、フオン・ノイ
マンのマシンにも割り当てることができるタスクとを、
新しく作られたアーキテクチヤにより形成されたチツプ
で遂行することができるシステムであつて、現在の技術
で製造することのできる空冷式のシステムを想定するこ
とができる。
【0008】背景の技術を振り返つてみると、他の技術
は、例えば米国特許第4942516号に記載されてい
るように、1つのシリコン・チツプ上にデータをストア
し、アクセスするための静的なインストラクシヨン用の
ROM及びレジスタを持つプロセツサを使用することに
関連しているが、この種類のものは、SIMDタイプの
複雑なアプリケーシヨンには無関係である。
は、例えば米国特許第4942516号に記載されてい
るように、1つのシリコン・チツプ上にデータをストア
し、アクセスするための静的なインストラクシヨン用の
ROM及びレジスタを持つプロセツサを使用することに
関連しているが、この種類のものは、SIMDタイプの
複雑なアプリケーシヨンには無関係である。
【0009】本発明のシステムも目指しているような手
段、即ち、異なつたタスクを遂行するための種々の手段
を記載した他の刊行物がある。例えば、マトリツクス乗
算は並列演算することができることは知られている。本
発明のシステムを使用することができるアプリケーシヨ
ンは、人工頭脳に関するアプリケーシヨンがある。内容
がアドレス可能である(図3を参照)か、または連想メ
モリ(associative memory)は、大
学の研究室レベルにおける種々の処理チツプでアドレス
される。或る場合におけるAIアプリケーシヨンに対し
て、行ロジツクによつて前のサーチ動作の結果に関して
行選択を基礎にすることは有用であることが知られてい
る。これに関しては、クルウワー・アカデミツク出版社
(Kluwer Academic Publishe
rs)1989年刊行のデルガド(J.G.Delga
do)他1名著の「人工頭脳のためのVLSI」の95
頁乃至108頁のピーター・コゲ(PeterKogg
e))等の「VLSI及びルール・ベースのシステム」
と題する記載を参照されたい。然しながら、その他の提
案は、本発明が指向する方向とは異なつた方向を目指す
技術である。1つの提案は、1988年12月の「VL
SIシステム・デザイン」に記載された大量の並列化に
用いるためのオクスフオードの「インテリジエント・メ
モリ」である。他の技術としては、再構成可能の完全並
列の連想処理方式を実行するために適するVLSI連想
メモリ・チツプを開示するために、VLSI連想メモリ
の並列処理を試みた刊行物がある。古典的な連想メモリ
・アーキテクチヤの使用を教示したこのアプローチは、
関連するデータ転送に対して莫大な数の出力ピンを必要
とする。これについては、カリフオルニヤ大学の電気及
びコンピユータ・エンジニヤリング部の報告書#ECS
−h404627を参照されたい。
段、即ち、異なつたタスクを遂行するための種々の手段
を記載した他の刊行物がある。例えば、マトリツクス乗
算は並列演算することができることは知られている。本
発明のシステムを使用することができるアプリケーシヨ
ンは、人工頭脳に関するアプリケーシヨンがある。内容
がアドレス可能である(図3を参照)か、または連想メ
モリ(associative memory)は、大
学の研究室レベルにおける種々の処理チツプでアドレス
される。或る場合におけるAIアプリケーシヨンに対し
て、行ロジツクによつて前のサーチ動作の結果に関して
行選択を基礎にすることは有用であることが知られてい
る。これに関しては、クルウワー・アカデミツク出版社
(Kluwer Academic Publishe
rs)1989年刊行のデルガド(J.G.Delga
do)他1名著の「人工頭脳のためのVLSI」の95
頁乃至108頁のピーター・コゲ(PeterKogg
e))等の「VLSI及びルール・ベースのシステム」
と題する記載を参照されたい。然しながら、その他の提
案は、本発明が指向する方向とは異なつた方向を目指す
技術である。1つの提案は、1988年12月の「VL
SIシステム・デザイン」に記載された大量の並列化に
用いるためのオクスフオードの「インテリジエント・メ
モリ」である。他の技術としては、再構成可能の完全並
列の連想処理方式を実行するために適するVLSI連想
メモリ・チツプを開示するために、VLSI連想メモリ
の並列処理を試みた刊行物がある。古典的な連想メモリ
・アーキテクチヤの使用を教示したこのアプローチは、
関連するデータ転送に対して莫大な数の出力ピンを必要
とする。これについては、カリフオルニヤ大学の電気及
びコンピユータ・エンジニヤリング部の報告書#ECS
−h404627を参照されたい。
【0010】米国特許出願第07/519332号は、
MIMDプロセツサのように複雑ではなく、多額の費用
を要することなく、より柔軟性を以て並列処理を遂行す
ることのできる多次元アレイの処理エレメントの技術が
開示されている。この特許出願は上述のヨーロツパ特許
出願よりも早く公開されている。この米国特許出願に記
載されたシステムは、種々の並列処理エレメント中の制
御ロジツクを接続するバスに沿つてローカル・ビツトを
直列に実行するための大域インストラクシヨンを送り、
修正されたビツトはデコードされるローカル・ビツト・
ライン上に使用するために大域インストラクシヨンの選
択されたビツトをプログラム的に修正する。
MIMDプロセツサのように複雑ではなく、多額の費用
を要することなく、より柔軟性を以て並列処理を遂行す
ることのできる多次元アレイの処理エレメントの技術が
開示されている。この特許出願は上述のヨーロツパ特許
出願よりも早く公開されている。この米国特許出願に記
載されたシステムは、種々の並列処理エレメント中の制
御ロジツクを接続するバスに沿つてローカル・ビツトを
直列に実行するための大域インストラクシヨンを送り、
修正されたビツトはデコードされるローカル・ビツト・
ライン上に使用するために大域インストラクシヨンの選
択されたビツトをプログラム的に修正する。
【0011】また、バイト幅のSIMDプロセツサに関
して、1989年5月のIEEE会報第136巻に「S
IMDマイクロプロセツサ・アレイのデザイン」と題す
るジエスホープ(C.R.Jesshope)等の論文
がある。この論文は、SIMDのアーキテクチヤの学術
的な研究論文である。幾つかの項目は、本発明の目的と
同じことを指向しており、バイト幅のSIMDアーキテ
クチヤを持つプロセツサが記載されている。この論文は
、RAMボード(1キロバイト)及び1チツプ当り複数
(4個)の処理エレメント(PE)に限定された8ビツ
ト処理の累算器のアーキテクチヤのエレメントと、或る
程度大きなローカルな独立性とを有する処理エレメント
を提案している。然しながら、このような提案された構
造を使用しているけれども、連想処理は与えられていな
い。提案されている構造は、本発明において与えられて
いる、隣接ユニツトとのバイト幅のコミユニケーシヨン
を与えていない。従つて、並列処理の従来技術を進歩さ
せるために、集積回路チツプ上に実行可能な本発明の技
術が必要である。この他に、1990年2月のIEEE
の「コンピユータ」中に記載されたダンカン(R.Du
ncan)の「並列コンピユータのアーキテクチヤのサ
マリー」を参照されたい。
して、1989年5月のIEEE会報第136巻に「S
IMDマイクロプロセツサ・アレイのデザイン」と題す
るジエスホープ(C.R.Jesshope)等の論文
がある。この論文は、SIMDのアーキテクチヤの学術
的な研究論文である。幾つかの項目は、本発明の目的と
同じことを指向しており、バイト幅のSIMDアーキテ
クチヤを持つプロセツサが記載されている。この論文は
、RAMボード(1キロバイト)及び1チツプ当り複数
(4個)の処理エレメント(PE)に限定された8ビツ
ト処理の累算器のアーキテクチヤのエレメントと、或る
程度大きなローカルな独立性とを有する処理エレメント
を提案している。然しながら、このような提案された構
造を使用しているけれども、連想処理は与えられていな
い。提案されている構造は、本発明において与えられて
いる、隣接ユニツトとのバイト幅のコミユニケーシヨン
を与えていない。従つて、並列処理の従来技術を進歩さ
せるために、集積回路チツプ上に実行可能な本発明の技
術が必要である。この他に、1990年2月のIEEE
の「コンピユータ」中に記載されたダンカン(R.Du
ncan)の「並列コンピユータのアーキテクチヤのサ
マリー」を参照されたい。
【0012】(定義)本明細書において使用されている
主な用語を以下に定義する。
主な用語を以下に定義する。
【0013】ピケツト − 1クロツク・サイクル
の中でビツト並列のバイト情報を処理するためにローカ
ル・メモリと処理エレメントとの組み合わせで構成され
るのが好ましい処理アレイの中の1個のエレメント。
の中でビツト並列のバイト情報を処理するためにローカ
ル・メモリと処理エレメントとの組み合わせで構成され
るのが好ましい処理アレイの中の1個のエレメント。
【0014】ピケツト・チツプ − 1個のピケツ
ト・チツプは単一のシリコン・チツプ上に複数個のピケ
ツトを含んでいる。
ト・チツプは単一のシリコン・チツプ上に複数個のピケ
ツトを含んでいる。
【0015】ピケツト・プロセツサ・システム(または
、サブシステム) − ピケツトのアレイと、コミ
ユニケーシヨン・ネツトワークと、I/Oシステムと、
マイクロプロセツサで構成されたSIMDコントローラ
と、キヤンド・ルーチン・プロセツサと、アレイを動作
するマイクロプロセツサとを含む全体のシステム。
、サブシステム) − ピケツトのアレイと、コミ
ユニケーシヨン・ネツトワークと、I/Oシステムと、
マイクロプロセツサで構成されたSIMDコントローラ
と、キヤンド・ルーチン・プロセツサと、アレイを動作
するマイクロプロセツサとを含む全体のシステム。
【0016】ピケツトのアーキテクチヤ − 以下
のような問題を含み、幾つかの雑多な種類の問題に適合
するフイーチヤを持つSIMDアーキテクチヤの良好な
実施例。− セツト連想処理 −
並列的な数字の集中的な処理− イメージ処理と
類似した物理的なアレイの処理
のような問題を含み、幾つかの雑多な種類の問題に適合
するフイーチヤを持つSIMDアーキテクチヤの良好な
実施例。− セツト連想処理 −
並列的な数字の集中的な処理− イメージ処理と
類似した物理的なアレイの処理
【0017】ピケツトのアレイ − 幾何学的な順
序で配列されたピケツトの集合。用語「ピケツト」は、
軍事用の言葉のピケツト・ライン、つまり防衛線に機能
的には類似しているけれども、この用語は、トム・ソー
ヤーと彼の白い柵からきている。
序で配列されたピケツトの集合。用語「ピケツト」は、
軍事用の言葉のピケツト・ライン、つまり防衛線に機能
的には類似しているけれども、この用語は、トム・ソー
ヤーと彼の白い柵からきている。
【0018】
【発明が解決しようとする課題】従来の技術によつて複
雑なアプリケーシヨンをコンパクトなプロセツサで実行
しようとする包括的な問題を解決するためには、従来の
技術において、1つの処理エレメント当り数千ビツト程
度までの容量で、しかもビツト直列で動作するメモリで
実行しなければならないことと、半導体チツプ1個当り
数個の処理エレメントだけでは不充分であると言うこと
とが問題である。このため、非常に高い密度で製造する
ことができ、しかも、空冷の冷却方式に適した構造であ
り、かつ、軽量でコンパクトな装置に適している半導体
チツプのアーキテクチヤの出現が望まれている。本発明
は、バイト幅のポートを持つ各処理ユニツトが、十分な
量のバイト幅のメモリ及び制御ロジツクに接続され、そ
して、処理ユニツトのN次元アレイを形成することによ
つて、上述の問題を解決している。幾つかの処理ユニツ
トを含む仕切り可能なセクシヨンのアレイがシリコン・
チツプに含まれている。これについては、以下に詳細に
述べられる。このような解決方法により生じた付加的な
問題も、本発明により解決されている。これらの解決方
法は、処理ユニツトを独立して実行することを可能とし
た。このことに関しては、アレイ中の各処理ユニツトが
入力を取り出すエレメントを選択することが可能な処理
アレイを開示している上述のヨーロツパ特許出願第A−
208127号を参照されたい。
雑なアプリケーシヨンをコンパクトなプロセツサで実行
しようとする包括的な問題を解決するためには、従来の
技術において、1つの処理エレメント当り数千ビツト程
度までの容量で、しかもビツト直列で動作するメモリで
実行しなければならないことと、半導体チツプ1個当り
数個の処理エレメントだけでは不充分であると言うこと
とが問題である。このため、非常に高い密度で製造する
ことができ、しかも、空冷の冷却方式に適した構造であ
り、かつ、軽量でコンパクトな装置に適している半導体
チツプのアーキテクチヤの出現が望まれている。本発明
は、バイト幅のポートを持つ各処理ユニツトが、十分な
量のバイト幅のメモリ及び制御ロジツクに接続され、そ
して、処理ユニツトのN次元アレイを形成することによ
つて、上述の問題を解決している。幾つかの処理ユニツ
トを含む仕切り可能なセクシヨンのアレイがシリコン・
チツプに含まれている。これについては、以下に詳細に
述べられる。このような解決方法により生じた付加的な
問題も、本発明により解決されている。これらの解決方
法は、処理ユニツトを独立して実行することを可能とし
た。このことに関しては、アレイ中の各処理ユニツトが
入力を取り出すエレメントを選択することが可能な処理
アレイを開示している上述のヨーロツパ特許出願第A−
208127号を参照されたい。
【0019】
【課題を解決するための手段】本発明に従つて、「ピケ
ツト」アーキテクチヤと称されるアーキテクチヤが与え
られる。本発明に従つたこのアーキテクチヤは、従来の
SIMD処理エレメント(PE)と或る程度類似してい
る処理エレメント構造を使用しており、本発明の処理エ
レメントは、ピケツト・ライン(防衛線)が必要な時に
一致し、そして、独立してフオン・ノイマン型の動作を
行なうことができるように改良されている。このアーキ
テクチヤは、ピケツトと呼ばれる処理ユニツトの各々の
中に制御ロジツクを有し、そして並列処理をするために
配列された処理ユニツトのN次元アレイを使用するよう
に開発されたものである。
ツト」アーキテクチヤと称されるアーキテクチヤが与え
られる。本発明に従つたこのアーキテクチヤは、従来の
SIMD処理エレメント(PE)と或る程度類似してい
る処理エレメント構造を使用しており、本発明の処理エ
レメントは、ピケツト・ライン(防衛線)が必要な時に
一致し、そして、独立してフオン・ノイマン型の動作を
行なうことができるように改良されている。このアーキ
テクチヤは、ピケツトと呼ばれる処理ユニツトの各々の
中に制御ロジツクを有し、そして並列処理をするために
配列された処理ユニツトのN次元アレイを使用するよう
に開発されたものである。
【0020】本発明のシステムは、単一インストラクシ
ヨンの複数データ(SIMD)ストリームのマシンのよ
うな計算能力を有しており、しかも、並列処理エレメン
トの配列によつて性能が改良されている。本発明はデー
タ依存(data dependency)により生じ
る問題を除去することができる。SIMD動作において
、本発明のプロセツサ、または処理エレメントの機能は
、1つの処理エレメントに対して異なつたマシン・サイ
クル数を必要とさせるようなデータ依存がない。。
ヨンの複数データ(SIMD)ストリームのマシンのよ
うな計算能力を有しており、しかも、並列処理エレメン
トの配列によつて性能が改良されている。本発明はデー
タ依存(data dependency)により生じ
る問題を除去することができる。SIMD動作において
、本発明のプロセツサ、または処理エレメントの機能は
、1つの処理エレメントに対して異なつたマシン・サイ
クル数を必要とさせるようなデータ依存がない。。
【0021】本発明に従つたアーキテクチヤは、1つの
処理エレメントを連想処理で遂行するのに適している各
ピケツトを連想動作の方法の下で、情報を並列に処理す
る処理エレメントに接続されたローカル・メモリを含ん
でいるビツト並列で動作する処理エレメントを持つ複数
個のピケツト・ユニツト、即ち全体的な「ピケツト」で
構成されるシステムを形成する。本発明の1実施例にお
いて、各ピケツトを水平方向に関連させた方法が示され
ている。従つて、このように配列されたピケツトのアレ
イは、セツト連想メモリを構成している。
処理エレメントを連想処理で遂行するのに適している各
ピケツトを連想動作の方法の下で、情報を並列に処理す
る処理エレメントに接続されたローカル・メモリを含ん
でいるビツト並列で動作する処理エレメントを持つ複数
個のピケツト・ユニツト、即ち全体的な「ピケツト」で
構成されるシステムを形成する。本発明の1実施例にお
いて、各ピケツトを水平方向に関連させた方法が示され
ている。従つて、このように配列されたピケツトのアレ
イは、セツト連想メモリを構成している。
【0022】1つのチツプ上のセツト連想並列処理シス
テムの本発明は、連想処理が遂行できるように、メモリ
から取り出される大きなデータの組から、小さなデータ
の組を形成することができる。通常は比較動作そのもの
である連想動作は、「ピケツト」のメモリ及び実行ユニ
ツトを用いて、並列のデータの組全体に遂行される。
テムの本発明は、連想処理が遂行できるように、メモリ
から取り出される大きなデータの組から、小さなデータ
の組を形成することができる。通常は比較動作そのもの
である連想動作は、「ピケツト」のメモリ及び実行ユニ
ツトを用いて、並列のデータの組全体に遂行される。
【0023】この「ピケツト」アレイにおいて、各ピケ
ツトは、より大きな組からのデータの一部を持つている
。加えて、各ピケツトはその一部のデータからデータの
一部分を選択する。従つて、一組のピケツトの各ピケツ
トの中のデータの一部分は、データの組を構成し、並列
に配列されたすべてのピケツトによつて、そのデータの
組に対して連想動作が遂行される。
ツトは、より大きな組からのデータの一部を持つている
。加えて、各ピケツトはその一部のデータからデータの
一部分を選択する。従つて、一組のピケツトの各ピケツ
トの中のデータの一部分は、データの組を構成し、並列
に配列されたすべてのピケツトによつて、そのデータの
組に対して連想動作が遂行される。
【0024】現在の技術で達成可能な設計によつて、1
個のチツプ上に設けられるエレメントは、データ・フロ
ー及び制御ロジツクに関する50000個のゲートと、
数メガバイトのDRAMメモリまでが限度であろう。こ
れらの各チツプは複数個のピケツト、即ち処理ユニツト
を含むように構成される。グラフイツク処理に使用可能
なテキスト処理のための本発明の実施例において、1つ
のピケツト・チツプ上に、各ピケツト用の32キロバイ
トのDRAMメモリを持つ16個のピケツトがあり、そ
して、このシステムは、1024個の処理エレメントの
アレイを作るために、上述のピケツト・チツプを64個
含んでいる。このピケツト・アーキテクチヤは、CMO
S技術で製造することが可能であり、このCMOS技術
は、1つのチツプの上に繰り返しパターンで配列された
四百万ビツトのDRAMを作ることが可能であり、そし
て、チツプ上で利用可能な残りのチツプ表面領域は、チ
ツプ上にピケツトを形成するために、データ・フロー及
び制御ロジツクを形成することのできる五万個までの論
理エレメントを用いた標準的な論理セルで満たされてい
る。本発明の実施例において、ピケツトは、ローカル(
地域的)に独立してデータを処理することができるよう
に、システムが配列されており、また、離隔したピケツ
トの間の接続は「スライド」によつて行なわれる。
個のチツプ上に設けられるエレメントは、データ・フロ
ー及び制御ロジツクに関する50000個のゲートと、
数メガバイトのDRAMメモリまでが限度であろう。こ
れらの各チツプは複数個のピケツト、即ち処理ユニツト
を含むように構成される。グラフイツク処理に使用可能
なテキスト処理のための本発明の実施例において、1つ
のピケツト・チツプ上に、各ピケツト用の32キロバイ
トのDRAMメモリを持つ16個のピケツトがあり、そ
して、このシステムは、1024個の処理エレメントの
アレイを作るために、上述のピケツト・チツプを64個
含んでいる。このピケツト・アーキテクチヤは、CMO
S技術で製造することが可能であり、このCMOS技術
は、1つのチツプの上に繰り返しパターンで配列された
四百万ビツトのDRAMを作ることが可能であり、そし
て、チツプ上で利用可能な残りのチツプ表面領域は、チ
ツプ上にピケツトを形成するために、データ・フロー及
び制御ロジツクを形成することのできる五万個までの論
理エレメントを用いた標準的な論理セルで満たされてい
る。本発明の実施例において、ピケツトは、ローカル(
地域的)に独立してデータを処理することができるよう
に、システムが配列されており、また、離隔したピケツ
トの間の接続は「スライド」によつて行なわれる。
【0025】本発明のピケツト技術は拡張可能であり、
例えば、1つのピケツト(16メガビツトのDRAMメ
モリ・チツプ)の各々に128キロバイトのDRAMを
持ち、このピケツト・アーキテクチヤは、現在の8ビツ
トのカラー・グラフイツク、または白黒のグラフイツク
が上述の実施例で処理するのと同様の方法で、24ビツ
トのフル・カラー・グラフイツクを処理することができ
る。実験的な製造技術の結果によると、上述の高い密度
を持ち、空冷式の冷却で動作することのできる均一な製
品を製造することが可能であることが判つている。カラ
ー・グラフイツクに対して、本発明の良好なピケツト・
アーキテクチヤは、1つのチツプ当り16個のピケツト
の使用にとどめて、1ピケツト当り128キロバイトに
、チツプ上のDRAMの量を増加することができる。 代案として、96キロバイトのメモリを有し、1ピケツ
ト・チツプ当り24ピケツト・ユニツトのアーキテクチ
ヤがフル・カラー・グラフイツク処理に使用することが
できる。
例えば、1つのピケツト(16メガビツトのDRAMメ
モリ・チツプ)の各々に128キロバイトのDRAMを
持ち、このピケツト・アーキテクチヤは、現在の8ビツ
トのカラー・グラフイツク、または白黒のグラフイツク
が上述の実施例で処理するのと同様の方法で、24ビツ
トのフル・カラー・グラフイツクを処理することができ
る。実験的な製造技術の結果によると、上述の高い密度
を持ち、空冷式の冷却で動作することのできる均一な製
品を製造することが可能であることが判つている。カラ
ー・グラフイツクに対して、本発明の良好なピケツト・
アーキテクチヤは、1つのチツプ当り16個のピケツト
の使用にとどめて、1ピケツト当り128キロバイトに
、チツプ上のDRAMの量を増加することができる。 代案として、96キロバイトのメモリを有し、1ピケツ
ト・チツプ当り24ピケツト・ユニツトのアーキテクチ
ヤがフル・カラー・グラフイツク処理に使用することが
できる。
【0026】
【実施例】図1は、ヨーロツパ特許出願第883078
55/88−A号及びイギリス特許出願第A−1445
714号に細部が示された代表的な従来のSIMDシス
テムが示されている。このような従来の装置において、
SIMDコンピユータは、各プロセツサが複数個のSI
MDメモリ装置の1つと関連しており、並列にリンクさ
れているビツト直列の複数個のプロセツサを含む並列ア
レイ・プロセツサを有する単一インストラクシヨンの複
数データのコンピユータである。入力/出力のI/Oシ
ステムは、SIMDユニツトに対するステージング・シ
ステムとして動作し、そして、ホスト・コンピユータ(
これはメーン・フレーム、またはマイクロプロセツサで
もよい)と、SIMDコンピユータとの間のデータの双
方向の2次元転送をする一時記憶域を含んでいる。I/
Oシステムは、通常、バツフア・セクシヨンで構成され
るか、または、大きなメモリの一部として構成される複
数個のSIMDメモリ装置と一時記憶域との間のデータ
の流れを制御するために、ホスト・コンピユータ及び一
時記憶域の間のデータ流を制御する入力/出力処理手段
とを含んでいる。従つて、I/Oシステムの入力動作は
、ホスト・コンピユータから一時記憶域へのデータ転送
と、第2ステツプにおいて、一時記憶域から、SIMD
メモリ装置へのデータ転送とを含んでおり、また、出力
動作は、ホスト・コンピユータとSIMDコンピユータ
との間のデータを、2次元のバスを介して転送する2段
階の処理である。I/O転送用の入力/出力システムは
、別個のユニツト、即ち、ホスト・コンピユータのサブ
・ユニツトでもよいし、SIMDコントローラが一時的
I/Oバツフア・ストレージの制御として動作する場合
には、SIMDコンピユータ中の1つのユニツトでもよ
い。
55/88−A号及びイギリス特許出願第A−1445
714号に細部が示された代表的な従来のSIMDシス
テムが示されている。このような従来の装置において、
SIMDコンピユータは、各プロセツサが複数個のSI
MDメモリ装置の1つと関連しており、並列にリンクさ
れているビツト直列の複数個のプロセツサを含む並列ア
レイ・プロセツサを有する単一インストラクシヨンの複
数データのコンピユータである。入力/出力のI/Oシ
ステムは、SIMDユニツトに対するステージング・シ
ステムとして動作し、そして、ホスト・コンピユータ(
これはメーン・フレーム、またはマイクロプロセツサで
もよい)と、SIMDコンピユータとの間のデータの双
方向の2次元転送をする一時記憶域を含んでいる。I/
Oシステムは、通常、バツフア・セクシヨンで構成され
るか、または、大きなメモリの一部として構成される複
数個のSIMDメモリ装置と一時記憶域との間のデータ
の流れを制御するために、ホスト・コンピユータ及び一
時記憶域の間のデータ流を制御する入力/出力処理手段
とを含んでいる。従つて、I/Oシステムの入力動作は
、ホスト・コンピユータから一時記憶域へのデータ転送
と、第2ステツプにおいて、一時記憶域から、SIMD
メモリ装置へのデータ転送とを含んでおり、また、出力
動作は、ホスト・コンピユータとSIMDコンピユータ
との間のデータを、2次元のバスを介して転送する2段
階の処理である。I/O転送用の入力/出力システムは
、別個のユニツト、即ち、ホスト・コンピユータのサブ
・ユニツトでもよいし、SIMDコントローラが一時的
I/Oバツフア・ストレージの制御として動作する場合
には、SIMDコンピユータ中の1つのユニツトでもよ
い。
【0027】SIMDコンピユータそれ自身は、複数個
の処理エレメントを有するプロセツサ・アレイと、個々
の処理エレメントを接続するネツトワークと、従来通り
に分離された複数個のSIMDメモリ・デバイスとを含
んでいる。SIMDコンピユータは並列にリンクされ動
作される多数の独立した処理エレメントを有する並列ア
レイ・プロセツサである。SIMDコンピユータはイン
ストラクシヨンの流れを発生する制御ユニツトを含み、
そしてまた、コンピユータに対して必要なタイミング信
号を与える。種々の処理エレメントを相互接続するネツ
トワークは、独立した処理エレメントの相互接続体系の
或る種の形式を含んでおり、そして、相互接続は、メツ
シユ(mesh)、多形態の大円環(polymirp
hic−tours)及び超立体(hypercube
)のようなトポロジーを取ることができる。複数個のメ
モリ・デバイスは、個々の処理エレメントのビツト・デ
ータを直接にストアするストレージであり、そして、大
容量メモリを仕切つたパテイシヨン式のバツフアであつ
てもよいメモリ・デバイスの数と、処理エレメントの数
との間には1対1の対応関係がある。
の処理エレメントを有するプロセツサ・アレイと、個々
の処理エレメントを接続するネツトワークと、従来通り
に分離された複数個のSIMDメモリ・デバイスとを含
んでいる。SIMDコンピユータは並列にリンクされ動
作される多数の独立した処理エレメントを有する並列ア
レイ・プロセツサである。SIMDコンピユータはイン
ストラクシヨンの流れを発生する制御ユニツトを含み、
そしてまた、コンピユータに対して必要なタイミング信
号を与える。種々の処理エレメントを相互接続するネツ
トワークは、独立した処理エレメントの相互接続体系の
或る種の形式を含んでおり、そして、相互接続は、メツ
シユ(mesh)、多形態の大円環(polymirp
hic−tours)及び超立体(hypercube
)のようなトポロジーを取ることができる。複数個のメ
モリ・デバイスは、個々の処理エレメントのビツト・デ
ータを直接にストアするストレージであり、そして、大
容量メモリを仕切つたパテイシヨン式のバツフアであつ
てもよいメモリ・デバイスの数と、処理エレメントの数
との間には1対1の対応関係がある。
【0028】例えば、図1に示されたようなシステムに
おいては、ホスト・プロセツサ28が与えられている。 このプロセツサは、アレイ・コントローラ14(これは
一時的バツフア・ストレージを含んでいる)にマイクロ
コードをロードするのに用いられ、そして、ホスト・コ
ントローラのデータ・バス30と、アドレス及び制御バ
ス31とを介して、データをアレイ・コントローラ14
と交換し、かつアレイ・コントローラ14の状態を監視
する。この例におけるホスト・プロセツサは、メインフ
レーム・コンピユータ、またはパーソナル・コンピユー
タのような任意の汎用目的のコンピユータであつてよい
。この従来例において、プロセツサ・アレイは、2次元
(2D)ベースで説明されているが、このアレイは異な
つた配列、例えば3次元(3D)、あるいは4次元(4
D)のクラスタ配列として構成することができる。 SIMDアレイ・プロセツサは、処理エレメント(i,
j)のアレイと、処理エレメントP(i,j)への大域
インストラクシヨンの流れを発生するためのアレイ・コ
ントローラ14とを含んでいる。図1に示してはいない
が、この従来例は、一時に1個のビツトを処理する処理
エレメントを持つており、そして、処理エレメントに関
連したメモリのパテイシヨンであるストレージのブロツ
クに関連している。処理エレメントは、双方向ビツト・
ラインによつてそれらの関連する隣の処理エレメントに
、所謂、NEWS(北、東、西、南)ネツトワークによ
つて接続される。従つて、処理エレメントP(i,j)
は、北方、西方、東方及び南方の方向に夫々、処理エレ
メントP(i−1,j)、P(i,j+1)、P(i,
j−1)及びP(i+1,j)に接続されている。この
代表的な例においては、NEWSネツトワークは、北方
及び南方の辺が双方向に相互接続され、かつ、西方及び
東方のエツジが同様に相互接続されるように、トロイダ
ル的に接続される。データをプロセツサのアレイに入力
し、そして、データをプロセツサから出力するために、
コントローラのアレイのデータ・バス26はNEWSネ
ツトワークに接続される。図示されているように、それ
は、アレイの西方−東方の境界に接続されるが、付加的
な接続として、トロイダルの東方−西方NEWS接続に
接続された双方向のトリステイト(3状態)ドライバに
よつて、北方−南方の境界に接続することができる。若
し、処理エレメントの数が、図示のような16×16の
マトリツクスの代わりに、32×32のマトリツクスに
すれば、後述される良好な実施例において、1024個
の処理エレメントが従来の技術で達成することができる
。図示の例において、1本のラインは1個のビツト・ラ
インに使用されるが、機能的なエレメントに接続した2
本のラインは、バスの複数本のラインを表わすのに用い
られている。
おいては、ホスト・プロセツサ28が与えられている。 このプロセツサは、アレイ・コントローラ14(これは
一時的バツフア・ストレージを含んでいる)にマイクロ
コードをロードするのに用いられ、そして、ホスト・コ
ントローラのデータ・バス30と、アドレス及び制御バ
ス31とを介して、データをアレイ・コントローラ14
と交換し、かつアレイ・コントローラ14の状態を監視
する。この例におけるホスト・プロセツサは、メインフ
レーム・コンピユータ、またはパーソナル・コンピユー
タのような任意の汎用目的のコンピユータであつてよい
。この従来例において、プロセツサ・アレイは、2次元
(2D)ベースで説明されているが、このアレイは異な
つた配列、例えば3次元(3D)、あるいは4次元(4
D)のクラスタ配列として構成することができる。 SIMDアレイ・プロセツサは、処理エレメント(i,
j)のアレイと、処理エレメントP(i,j)への大域
インストラクシヨンの流れを発生するためのアレイ・コ
ントローラ14とを含んでいる。図1に示してはいない
が、この従来例は、一時に1個のビツトを処理する処理
エレメントを持つており、そして、処理エレメントに関
連したメモリのパテイシヨンであるストレージのブロツ
クに関連している。処理エレメントは、双方向ビツト・
ラインによつてそれらの関連する隣の処理エレメントに
、所謂、NEWS(北、東、西、南)ネツトワークによ
つて接続される。従つて、処理エレメントP(i,j)
は、北方、西方、東方及び南方の方向に夫々、処理エレ
メントP(i−1,j)、P(i,j+1)、P(i,
j−1)及びP(i+1,j)に接続されている。この
代表的な例においては、NEWSネツトワークは、北方
及び南方の辺が双方向に相互接続され、かつ、西方及び
東方のエツジが同様に相互接続されるように、トロイダ
ル的に接続される。データをプロセツサのアレイに入力
し、そして、データをプロセツサから出力するために、
コントローラのアレイのデータ・バス26はNEWSネ
ツトワークに接続される。図示されているように、それ
は、アレイの西方−東方の境界に接続されるが、付加的
な接続として、トロイダルの東方−西方NEWS接続に
接続された双方向のトリステイト(3状態)ドライバに
よつて、北方−南方の境界に接続することができる。若
し、処理エレメントの数が、図示のような16×16の
マトリツクスの代わりに、32×32のマトリツクスに
すれば、後述される良好な実施例において、1024個
の処理エレメントが従来の技術で達成することができる
。図示の例において、1本のラインは1個のビツト・ラ
インに使用されるが、機能的なエレメントに接続した2
本のラインは、バスの複数本のラインを表わすのに用い
られている。
【0029】この従来例において、アレイ・コントロー
ラはインストラクシヨン・バス18を通つて処理エレメ
ントに並列にインストラクシヨンを発生し、そして、行
選択ライン20及び列選択ライン22を介して行選択信
号及び列選択信号を発生する。これらのインストラクシ
ヨンは、処理エレメントに対して、ストレージからのデ
ータをロードさせ、データを処理させ、そして、ストレ
ージ中に再度データをストアさせる。従つて、論理的に
は、アレイ・プロセツサの主メモリは、1024個の処
理エレメントのアレイに対して1024個のパテイシヨ
ンのスライス(区画)に分離される。このことは、転送
ステツプにおいて、一度に、32個の32ビツト・ワー
ドがストレージ中に転送されるか、またはストレージか
ら転送されることを意味する。読み取り、または書き込
み動作を遂行するために、メモリは、アドレス・バス2
4を介してメモリ・アドレス・ラインに供給されるイン
デツクス・アドレスによつてアドレスされ、そして、読
み取り、または書き込み動作は、各処理エレメントに並
列に供給される。読み取り動作の間において、行及び列
選択ライン上の行及び列選択信号は、どの処理エレメン
トが動作を行なうかを特定する。従つて、ここで説明し
ている例においては、アレイが32×32である場合、
選択された行中の32個の処理エレメント中に、メモリ
から1つの32ビツト・ワードを読み取ることが可能で
ある。処理エレメントは、1ビツト幅であるメモリ(i
,j)のスライス、即ちブロツクに関連される。区画付
けされたメモリ、つまりメモリのブロツクは、論理的に
言つて、関連した個々の処理メモリに1対1の関係で関
連されているが、メモリのブロツクは通常、他のチツプ
の上に物理的に分離されている。上述のようなアレイプ
ロセツサの従来のアーキテクチヤがどのようにして作ら
れるのかは、ここでは述べないけれども、単一のチツプ
上にプロセツサのアレイと十分なメモリとを有する本発
明のピケツトがどのようにして作られるかについては以
下に説明される。
ラはインストラクシヨン・バス18を通つて処理エレメ
ントに並列にインストラクシヨンを発生し、そして、行
選択ライン20及び列選択ライン22を介して行選択信
号及び列選択信号を発生する。これらのインストラクシ
ヨンは、処理エレメントに対して、ストレージからのデ
ータをロードさせ、データを処理させ、そして、ストレ
ージ中に再度データをストアさせる。従つて、論理的に
は、アレイ・プロセツサの主メモリは、1024個の処
理エレメントのアレイに対して1024個のパテイシヨ
ンのスライス(区画)に分離される。このことは、転送
ステツプにおいて、一度に、32個の32ビツト・ワー
ドがストレージ中に転送されるか、またはストレージか
ら転送されることを意味する。読み取り、または書き込
み動作を遂行するために、メモリは、アドレス・バス2
4を介してメモリ・アドレス・ラインに供給されるイン
デツクス・アドレスによつてアドレスされ、そして、読
み取り、または書き込み動作は、各処理エレメントに並
列に供給される。読み取り動作の間において、行及び列
選択ライン上の行及び列選択信号は、どの処理エレメン
トが動作を行なうかを特定する。従つて、ここで説明し
ている例においては、アレイが32×32である場合、
選択された行中の32個の処理エレメント中に、メモリ
から1つの32ビツト・ワードを読み取ることが可能で
ある。処理エレメントは、1ビツト幅であるメモリ(i
,j)のスライス、即ちブロツクに関連される。区画付
けされたメモリ、つまりメモリのブロツクは、論理的に
言つて、関連した個々の処理メモリに1対1の関係で関
連されているが、メモリのブロツクは通常、他のチツプ
の上に物理的に分離されている。上述のようなアレイプ
ロセツサの従来のアーキテクチヤがどのようにして作ら
れるのかは、ここでは述べないけれども、単一のチツプ
上にプロセツサのアレイと十分なメモリとを有する本発
明のピケツトがどのようにして作られるかについては以
下に説明される。
【0030】従来例の処理エレメントP(i,j)それ
自身は、各レジスタが単一ビツトの情報をストアするこ
とができ、そして、繰り上げを含む入力レジスタ及び出
力レジスタと、ALU(算術演算論理ユニツト)とを含
むものとして理解するのがよい。これは、ALUの入力
、出力に接続され、そしてまた、個々の処理エレメント
P(i,j)と関連されたメモリ(i,j)のスライス
の双方向のデータ・ポートに接続されたマルチプレクサ
でもある。
自身は、各レジスタが単一ビツトの情報をストアするこ
とができ、そして、繰り上げを含む入力レジスタ及び出
力レジスタと、ALU(算術演算論理ユニツト)とを含
むものとして理解するのがよい。これは、ALUの入力
、出力に接続され、そしてまた、個々の処理エレメント
P(i,j)と関連されたメモリ(i,j)のスライス
の双方向のデータ・ポートに接続されたマルチプレクサ
でもある。
【0031】別々のインストラクシヨン・バス及びデー
タ・バスがあり、そして、アレイ・コントローラは、マ
イクロコードのストレージを持つており、このストレー
ジにおいて、アレイによつて遂行されるべき処理を決め
るマイクロコードがデータ・バス30と、アドレス及び
制御バス31とを使用したホスト・プロセツサ28によ
つてロードされる。アレイ・コントローラの動作がホス
ト・プロセツサ28によつて開始された後、アレイ・コ
ントローラ14の中のマイクロコード・ストレージに接
続されたマイクロコード制御ユニツトによつて、マイク
ロコードの順序付けが制御される。アレイ・コントロー
ラのALU及びレジスタ・バンクは、アレイ・メモリの
アドレスと、ループ計数と、ジヤンプ・アドレス計算と
、アレイ・コントローラのアドレス・バス上の出力であ
る汎用目的レジスタの動作との発生に用いられる。また
、アレイ・コントローラは、行及び列マスク・コードを
デコードするためのマスク・レジスタを有し、そして、
特定のオペレーシヨン・コードが、情報バスを通つて処
理エレメントに通過する。この例において、アレイ・コ
ントローラは、アレイ・コントローラの中にあつて、機
能的には、ホスト・コントローラのデータ・バスとコン
トローラのアレイのデータ・バスとの間にあるデータ・
バツフアを持つことができる。データは、コントロール
・ストレージ中のマイクロコードの制御の下で、このバ
ツフアから、プロセツサのアレイの中にロードされ、あ
るいは、プロセツサのアレイから、このバツフアの中に
ロードされる。この目的のために、このバツフアは、ア
レイ・コントローラ中のマイクロコードの制御の下で双
方向性のFIFO(最初に入力したものを最初に出力す
る)バツフアとして配列されている。この従来のシステ
ムに関するより細部については、上述の例、特に米国特
許出願第07/519332号のSIMDアレイ・プロ
セツサを参照されたい。
タ・バスがあり、そして、アレイ・コントローラは、マ
イクロコードのストレージを持つており、このストレー
ジにおいて、アレイによつて遂行されるべき処理を決め
るマイクロコードがデータ・バス30と、アドレス及び
制御バス31とを使用したホスト・プロセツサ28によ
つてロードされる。アレイ・コントローラの動作がホス
ト・プロセツサ28によつて開始された後、アレイ・コ
ントローラ14の中のマイクロコード・ストレージに接
続されたマイクロコード制御ユニツトによつて、マイク
ロコードの順序付けが制御される。アレイ・コントロー
ラのALU及びレジスタ・バンクは、アレイ・メモリの
アドレスと、ループ計数と、ジヤンプ・アドレス計算と
、アレイ・コントローラのアドレス・バス上の出力であ
る汎用目的レジスタの動作との発生に用いられる。また
、アレイ・コントローラは、行及び列マスク・コードを
デコードするためのマスク・レジスタを有し、そして、
特定のオペレーシヨン・コードが、情報バスを通つて処
理エレメントに通過する。この例において、アレイ・コ
ントローラは、アレイ・コントローラの中にあつて、機
能的には、ホスト・コントローラのデータ・バスとコン
トローラのアレイのデータ・バスとの間にあるデータ・
バツフアを持つことができる。データは、コントロール
・ストレージ中のマイクロコードの制御の下で、このバ
ツフアから、プロセツサのアレイの中にロードされ、あ
るいは、プロセツサのアレイから、このバツフアの中に
ロードされる。この目的のために、このバツフアは、ア
レイ・コントローラ中のマイクロコードの制御の下で双
方向性のFIFO(最初に入力したものを最初に出力す
る)バツフアとして配列されている。この従来のシステ
ムに関するより細部については、上述の例、特に米国特
許出願第07/519332号のSIMDアレイ・プロ
セツサを参照されたい。
【0032】上述の従来の装置と本発明の実施例とを比
較することができる。図2は、1クロツク・サイクルで
、1バイトの情報を処理するための処理エレメントに接
続されたローカル・メモリ102と組み合わされた処理
エレメントALU101を含む基本的なピケツト・ユニ
ツト100を示す図である。図2に示されているように
、複数個のローカル・メモリを有するピケツト処理アレ
イが、シリコン・ベースのチツプの上に形成され、1バ
イト幅で処理するデータ・フローが、右隣の位置及び左
隣の位置の2方向にデータを通過する隣位置コミユニケ
ーシヨン・バスの論理行、即ちリニヤ・アレイに配列さ
れるように、横方向の隣位置のピケツト(図2において
左側及び右側のピケツト)と共にリニヤ・アレイを形成
するピケツト・ユニツトが、シリコン・ベースのチツプ
、即ち「ピケツト・チツプ」上に形成される。「ピケツ
ト・チツプ」中のピケツトの集合は、チツプ上で水平方
向が望ましい、幾何学的順序で配列されている。図2は
、各ピケツトの処理エレメント及びメモリの間にコミユ
ニケーシヨン通路を含む複数のメモリ及びデータ・フロ
ーを持ち、1つのピケツト・チツプ上に2つのピケツト
のピケツト・アレイを示した代表的な実施例を示してい
る。本発明の実施例において、アレイ中の処理エレメン
トと1対1の関係を持つメモリの間のデータ・コミユニ
ケーシヨン通路は、1バイト幅であり、そして、左隣の
位置、または右隣の位置と交差しており、そして、離れ
たピケツトの処理エレメントとのコミユニケーシヨンは
、「スライド」により行なわれる。
較することができる。図2は、1クロツク・サイクルで
、1バイトの情報を処理するための処理エレメントに接
続されたローカル・メモリ102と組み合わされた処理
エレメントALU101を含む基本的なピケツト・ユニ
ツト100を示す図である。図2に示されているように
、複数個のローカル・メモリを有するピケツト処理アレ
イが、シリコン・ベースのチツプの上に形成され、1バ
イト幅で処理するデータ・フローが、右隣の位置及び左
隣の位置の2方向にデータを通過する隣位置コミユニケ
ーシヨン・バスの論理行、即ちリニヤ・アレイに配列さ
れるように、横方向の隣位置のピケツト(図2において
左側及び右側のピケツト)と共にリニヤ・アレイを形成
するピケツト・ユニツトが、シリコン・ベースのチツプ
、即ち「ピケツト・チツプ」上に形成される。「ピケツ
ト・チツプ」中のピケツトの集合は、チツプ上で水平方
向が望ましい、幾何学的順序で配列されている。図2は
、各ピケツトの処理エレメント及びメモリの間にコミユ
ニケーシヨン通路を含む複数のメモリ及びデータ・フロ
ーを持ち、1つのピケツト・チツプ上に2つのピケツト
のピケツト・アレイを示した代表的な実施例を示してい
る。本発明の実施例において、アレイ中の処理エレメン
トと1対1の関係を持つメモリの間のデータ・コミユニ
ケーシヨン通路は、1バイト幅であり、そして、左隣の
位置、または右隣の位置と交差しており、そして、離れ
たピケツトの処理エレメントとのコミユニケーシヨンは
、「スライド」により行なわれる。
【0033】「スライド」とは、送られているメツセー
ジに対してピケツトが透過でなければ、通常その情報を
受け取ることができるピケツトのアドレス・ロケーシヨ
ンを通過して、最も近くの隣の位置のアクテイブのピケ
ツト・ユニツトにデータが到着し、そして受け取られる
まで、隣ではない位置に、1サイクルで情報を転送する
手段である。従つて、スライドは、「オフに転じた」ピ
ケツトを通過して、隣の位置ではない離れた位置に情報
を送る機能を持つている。ピケツト「A」が、離れたピ
ケツト「G」に情報を転送することを望んでいるものと
仮定する。そのサイクルの前に介入した「A」と「G」
の間にあるピケツトは、これらの「B」乃至「F」ピケ
ツトがオフになることによつて透過にされる。次に、次
の1つのサイクルにおいて、ピケツト「A」は、右側へ
そのメツセージを送り、このメツセージを転送している
間において、オフに転じて透過になつたピケツト「B」
乃至「F」を通つて上述のメツセージを通過させ、そし
て、ピケツト「G」は未だオンなので、ピケツト「G」
がメツセージを受け取る。「スライド」の通常の使用に
おいて、情報はアレイの格子(ラテイス)を通つてリニ
ヤに転送されるが、スライドのアプローチは、2次元的
なメツシユにより動作することもできるし、或は、多次
元的なアレイの中で動作することもできる。
ジに対してピケツトが透過でなければ、通常その情報を
受け取ることができるピケツトのアドレス・ロケーシヨ
ンを通過して、最も近くの隣の位置のアクテイブのピケ
ツト・ユニツトにデータが到着し、そして受け取られる
まで、隣ではない位置に、1サイクルで情報を転送する
手段である。従つて、スライドは、「オフに転じた」ピ
ケツトを通過して、隣の位置ではない離れた位置に情報
を送る機能を持つている。ピケツト「A」が、離れたピ
ケツト「G」に情報を転送することを望んでいるものと
仮定する。そのサイクルの前に介入した「A」と「G」
の間にあるピケツトは、これらの「B」乃至「F」ピケ
ツトがオフになることによつて透過にされる。次に、次
の1つのサイクルにおいて、ピケツト「A」は、右側へ
そのメツセージを送り、このメツセージを転送している
間において、オフに転じて透過になつたピケツト「B」
乃至「F」を通つて上述のメツセージを通過させ、そし
て、ピケツト「G」は未だオンなので、ピケツト「G」
がメツセージを受け取る。「スライド」の通常の使用に
おいて、情報はアレイの格子(ラテイス)を通つてリニ
ヤに転送されるが、スライドのアプローチは、2次元的
なメツシユにより動作することもできるし、或は、多次
元的なアレイの中で動作することもできる。
【0034】本発明の良好な実施例における処理エレメ
ントのアクセスは、ビツトに対して直列による動作では
なく、バイトに対して直列な動作(従つて、ビツトに対
して並列な動作)で行なわれる。各プロセツサは、ロー
カル・メモリのブロツク、及び関連したパテイシヨン、
またはそのページにアクセスするのではなく、それ自身
に接続されたメモリにアクセスする。1ビツトのバスの
代わりに、1キヤラクタ(文字)の幅、または複数キヤ
ラクタの幅のバスが与えられる。1クロツク・サイクル
において、情報を1ビツト毎に処理するのではなく、1
クロツク・サイクルで1バイトが処理される(または、
他の実施例のシステムにおいては、複数のキヤラクタ・
バイトを重複して動作させる)。従つて、関連したメモ
リの幅にマツチするために、8ビツト、16ビツト、ま
たは32ビツトを、各ピケツト処理エレメントの間で転
送することができる。本発明の良好な実施例においては
、各ピケツト・チツプは、32キロ・バイトの8(9)
ビツト幅を持ち、好ましくは、リニヤ・アレイのピケツ
ト・ノード毎にこの32キロ・バイトを持つ16個のピ
ケツトを持つのが望ましい。本発明の1実施例において
、各関連メモリは、DRAMとしてのCMOSであり、
キヤラクタ・バイトは9ビツトである(自己チエツク機
能を持つ8ビツト・キヤラクタとして機能する)。
ントのアクセスは、ビツトに対して直列による動作では
なく、バイトに対して直列な動作(従つて、ビツトに対
して並列な動作)で行なわれる。各プロセツサは、ロー
カル・メモリのブロツク、及び関連したパテイシヨン、
またはそのページにアクセスするのではなく、それ自身
に接続されたメモリにアクセスする。1ビツトのバスの
代わりに、1キヤラクタ(文字)の幅、または複数キヤ
ラクタの幅のバスが与えられる。1クロツク・サイクル
において、情報を1ビツト毎に処理するのではなく、1
クロツク・サイクルで1バイトが処理される(または、
他の実施例のシステムにおいては、複数のキヤラクタ・
バイトを重複して動作させる)。従つて、関連したメモ
リの幅にマツチするために、8ビツト、16ビツト、ま
たは32ビツトを、各ピケツト処理エレメントの間で転
送することができる。本発明の良好な実施例においては
、各ピケツト・チツプは、32キロ・バイトの8(9)
ビツト幅を持ち、好ましくは、リニヤ・アレイのピケツ
ト・ノード毎にこの32キロ・バイトを持つ16個のピ
ケツトを持つのが望ましい。本発明の1実施例において
、各関連メモリは、DRAMとしてのCMOSであり、
キヤラクタ・バイトは9ビツトである(自己チエツク機
能を持つ8ビツト・キヤラクタとして機能する)。
【0035】ピケツトの間、そして、処理エレメントの
間の並列通路でバイト幅のバスのデータ・フローは、従
来のシステムの直列ビツト構成を超えて大きく改良され
るけれども、このことはまた、この改良によつて強化さ
れた並列方式が、更に次の問題を生じており、新規に開
発されたアーキテクチヤが暗に含む問題を理解すること
が必要である。これに対する重要な解決法について以下
に説明する。
間の並列通路でバイト幅のバスのデータ・フローは、従
来のシステムの直列ビツト構成を超えて大きく改良され
るけれども、このことはまた、この改良によつて強化さ
れた並列方式が、更に次の問題を生じており、新規に開
発されたアーキテクチヤが暗に含む問題を理解すること
が必要である。これに対する重要な解決法について以下
に説明する。
【0036】ここで考慮される特徴は、左隣及び右隣へ
の転送と、図面を参照して説明したスライドのメカニズ
ムとに加えて、2バイト幅のブロードキヤスト・バスを
与えているので、すべてのピケツトは同じデータを同時
に見ることができる。ピケツト制御及びアドレスの転送
は、このブロードキヤスト・バスにより転送される。ま
た、このバスは、セツト結合動作及び他の比較動作、ま
たは同期式マツチ動作を遂行する時に、比較データを供
給する。
の転送と、図面を参照して説明したスライドのメカニズ
ムとに加えて、2バイト幅のブロードキヤスト・バスを
与えているので、すべてのピケツトは同じデータを同時
に見ることができる。ピケツト制御及びアドレスの転送
は、このブロードキヤスト・バスにより転送される。ま
た、このバスは、セツト結合動作及び他の比較動作、ま
たは同期式マツチ動作を遂行する時に、比較データを供
給する。
【0037】1つのインストラクシヨン・ストリームの
制御の下で、ピケツト・データ処理エレメント内の処理
を与える高度の並列データ構成を持つタスクは、人工知
能のパターン・マツチング、マルチ・センサの最適割り
当てにおけるセンサ及びトラツクの融合、コンテクスト
検索及びイメージ処理のアプリケーシヨンを含んでいる
。然しながら、現在入手可能なこれら多くのアプリケー
シヨンは、1つのクロツク時間内で、ビツト毎に直列に
行なう処理をしているので、SIMD処理は使用されて
いない。例えば、従来の通常の直列処理エレメントのS
IMDマシンは、各ADD(加算)処理サイクル毎に1
ビツトを実行するのとは対照的に、32ビツト並列のマ
シンは、1つの加算サイクルに32ビツトを実行するこ
とができる。
制御の下で、ピケツト・データ処理エレメント内の処理
を与える高度の並列データ構成を持つタスクは、人工知
能のパターン・マツチング、マルチ・センサの最適割り
当てにおけるセンサ及びトラツクの融合、コンテクスト
検索及びイメージ処理のアプリケーシヨンを含んでいる
。然しながら、現在入手可能なこれら多くのアプリケー
シヨンは、1つのクロツク時間内で、ビツト毎に直列に
行なう処理をしているので、SIMD処理は使用されて
いない。例えば、従来の通常の直列処理エレメントのS
IMDマシンは、各ADD(加算)処理サイクル毎に1
ビツトを実行するのとは対照的に、32ビツト並列のマ
シンは、1つの加算サイクルに32ビツトを実行するこ
とができる。
【0038】各処理エレメント毎に32キロバイトを持
つ構造において、各処理エレメントに対して論理的に利
用可能なメモリは、通常のSIMDマシンが与えるメモ
リの数よりも遥かに多数のメモリを与える。
つ構造において、各処理エレメントに対して論理的に利
用可能なメモリは、通常のSIMDマシンが与えるメモ
リの数よりも遥かに多数のメモリを与える。
【0039】本発明に従つて、チツプの回路の中に入り
、そしてチツプの回路から出るデータは最小限に維持さ
れているので、チツプ上のピン接触子は少数である。 このDRAMメモリは、メモリ・アレイの裏側の列デマ
ルチプレクシングを除去することによつて「行−列」ア
クセスをサポートし、そして、並列にされたデータ・フ
ローに対してメモリ・アレイの行を読み取る行アドレス
を与えるような通常のメモリのCMOSアレイである。
、そしてチツプの回路から出るデータは最小限に維持さ
れているので、チツプ上のピン接触子は少数である。 このDRAMメモリは、メモリ・アレイの裏側の列デマ
ルチプレクシングを除去することによつて「行−列」ア
クセスをサポートし、そして、並列にされたデータ・フ
ローに対してメモリ・アレイの行を読み取る行アドレス
を与えるような通常のメモリのCMOSアレイである。
【0040】このメモリは、データに加えて、「トリ・
ビツト(tri−bit)」、即ち「トリツト(tri
t)」を含んでおり、これは、ロジツク1か、ロジツク
0の何れかである通常のバイナリ・デイジツトではなく
、「ロジツク1」か、「ロジツク0」か、または「ドン
トケア(don’t care)(無視)」かの何れか
のロジツクによつて認識される3状態を持つている。マ
ツチ・フイールド中のドントケアはロジツク1か、また
はロジツク0の何れかとマツチする。トリツトはストレ
ージ・アレイ中の相次ぐストレージ・ロケーシヨンに含
まれている。マスクは、ピケツト処理エレメントのマス
ク・レジスタに差し向けられたメモリの中にストアされ
たデータの他のフオームである。
ビツト(tri−bit)」、即ち「トリツト(tri
t)」を含んでおり、これは、ロジツク1か、ロジツク
0の何れかである通常のバイナリ・デイジツトではなく
、「ロジツク1」か、「ロジツク0」か、または「ドン
トケア(don’t care)(無視)」かの何れか
のロジツクによつて認識される3状態を持つている。マ
ツチ・フイールド中のドントケアはロジツク1か、また
はロジツク0の何れかとマツチする。トリツトはストレ
ージ・アレイ中の相次ぐストレージ・ロケーシヨンに含
まれている。マスクは、ピケツト処理エレメントのマス
ク・レジスタに差し向けられたメモリの中にストアされ
たデータの他のフオームである。
【0041】ストレージ・アレイはコマンドを含むこと
ができ、このことは、1つのピケツトは他のピケツトと
は異なつた動作をすることが可能であることを意味する
。すべてのピケツトであることは必要ではないが、大部
分のピケツトに含まれている動作の間での個々のピケツ
トのオン・チツプの制御が、独特なSIMD動作を実現
するのを可能とする。ピケツトに与えられた1つの簡単
な制御機能は、ステータス出力が特別な状態を満足した
すべてのピケツトの動作を中断する機能である。従つて
、ゼロでない状態がドーズ(doze)を意味する。ド
ーズは、ピケツトが動作を一時停止した状態であり、そ
して、ピケツトを不活性に転ずるが、ステータスは覚え
ている状態である。ピケツトに与えられる他のコマンド
は、ピケツトの状態に基づくか、または、スライド動作
の前にバスに与えられたコマンドに基づいて、メモリへ
の書き込みを禁止したり、あるいは、メモリへの書き込
みを許容するコマンドである。
ができ、このことは、1つのピケツトは他のピケツトと
は異なつた動作をすることが可能であることを意味する
。すべてのピケツトであることは必要ではないが、大部
分のピケツトに含まれている動作の間での個々のピケツ
トのオン・チツプの制御が、独特なSIMD動作を実現
するのを可能とする。ピケツトに与えられた1つの簡単
な制御機能は、ステータス出力が特別な状態を満足した
すべてのピケツトの動作を中断する機能である。従つて
、ゼロでない状態がドーズ(doze)を意味する。ド
ーズは、ピケツトが動作を一時停止した状態であり、そ
して、ピケツトを不活性に転ずるが、ステータスは覚え
ている状態である。ピケツトに与えられる他のコマンド
は、ピケツトの状態に基づくか、または、スライド動作
の前にバスに与えられたコマンドに基づいて、メモリへ
の書き込みを禁止したり、あるいは、メモリへの書き込
みを許容するコマンドである。
【0042】夫々が32キロバイトのメモリを持つ16
個の強力なピケツトを1つのピケツト・チツプに適用す
ることによつて、たつた64個のチツプが1024個の
プロセツサと、32768キロバイトのメモリを与える
。ピケツトのアレイは、一組の連想メモリを含んでいる
。また、本発明は数字を集中処理するイメージ分析及び
ベクトル処理に使用することができる。この強力なピケ
ツト処理アレイは、現在、たつた2枚の小さなカードに
実装することができる。数千のピケツトが、より小型で
低電力に実装されたパツケージとすることができ、例え
ば、飛行中の航空機において、大きな積載量を考えるこ
となしに、ビデオのフレーム時間内か、小さな遅延時間
でイメージ処理のアプリケーシヨンの実行を可能にする
。
個の強力なピケツトを1つのピケツト・チツプに適用す
ることによつて、たつた64個のチツプが1024個の
プロセツサと、32768キロバイトのメモリを与える
。ピケツトのアレイは、一組の連想メモリを含んでいる
。また、本発明は数字を集中処理するイメージ分析及び
ベクトル処理に使用することができる。この強力なピケ
ツト処理アレイは、現在、たつた2枚の小さなカードに
実装することができる。数千のピケツトが、より小型で
低電力に実装されたパツケージとすることができ、例え
ば、飛行中の航空機において、大きな積載量を考えるこ
となしに、ビデオのフレーム時間内か、小さな遅延時間
でイメージ処理のアプリケーシヨンの実行を可能にする
。
【0043】このピケツトの力は、狭い空間に実装され
た大容量の連想メモリ・システムを作成する可能性があ
り、そして、システムの設計者がこのような新しいシス
テムの使用に慣れた後には、この処理能力を種々のアプ
リケーシヨンに使用することができる。
た大容量の連想メモリ・システムを作成する可能性があ
り、そして、システムの設計者がこのような新しいシス
テムの使用に慣れた後には、この処理能力を種々のアプ
リケーシヨンに使用することができる。
【0044】図3は、完全連想メモリと呼ばれているメ
モリを示しており、これは、関連することが要求された
時、すべてのメモリ・ロケーシヨンに対して比較値が与
えられ、そして、メモリの一致ライン(比較の一致を表
わす出力ライン)上に、メモリのすべてのロケーシヨン
が、同時に応答するようなメモリである。連想メモリそ
れ自身は公知である。メモリ及び処理エレメントの並列
ピケツトを使用して、サーチを行なうためにバイト転送
を持つ本発明のシステムにおいて、N個のワードを含む
メモリの中でワードKをサーチするために、データの入
力と、サーチをするためのマスクとがある。一致したす
べてのピケツトがステータス・ラインを上昇し、次に、
他の動作が最初に一致したKを読み取る、即ち一致した
Kを選択する。通常、セツト連想動作と言われているこ
の動作は、相次ぐワードに対してピケツトのメモリをサ
ーチすることによつて繰り返し行なうことができる。同
様に、上昇された選択ラインが参加を表示し、そしてブ
ロードキヤスト・データが選択されたすべてのピケツト
にコピーされるブロードキヤスト動作によつて、書き込
み動作が行なわれる。
モリを示しており、これは、関連することが要求された
時、すべてのメモリ・ロケーシヨンに対して比較値が与
えられ、そして、メモリの一致ライン(比較の一致を表
わす出力ライン)上に、メモリのすべてのロケーシヨン
が、同時に応答するようなメモリである。連想メモリそ
れ自身は公知である。メモリ及び処理エレメントの並列
ピケツトを使用して、サーチを行なうためにバイト転送
を持つ本発明のシステムにおいて、N個のワードを含む
メモリの中でワードKをサーチするために、データの入
力と、サーチをするためのマスクとがある。一致したす
べてのピケツトがステータス・ラインを上昇し、次に、
他の動作が最初に一致したKを読み取る、即ち一致した
Kを選択する。通常、セツト連想動作と言われているこ
の動作は、相次ぐワードに対してピケツトのメモリをサ
ーチすることによつて繰り返し行なうことができる。同
様に、上昇された選択ラインが参加を表示し、そしてブ
ロードキヤスト・データが選択されたすべてのピケツト
にコピーされるブロードキヤスト動作によつて、書き込
み動作が行なわれる。
【0045】他の実施例は、図3に示したタイプの完全
連想メモリの部分を含ませるために、各ピケツトに利用
可能なDRAMメモリの数を減らしている。若し、例え
ば512バイトの完全連想メモリが含まれていれば、す
べてのピケツトは一組のサーチ・インデツクスを含むこ
とができ、そして、1回の動作で、512掛ける102
4個のピケツトは、1動作毎に約512000回の比較
、つまり、1マイクロ秒の比較動作において、毎秒51
2ギガ回の比較を行なうことができる。この考えを延長
すれば、1マイクロ秒で数テラ回の比較動作回数の範囲
にまで応用することができる。この実施例は、現在の計
算能力を遥かに超えた高度の能力によつて情報の集中的
なサーチを行なう連想タスクを強化するものである。
連想メモリの部分を含ませるために、各ピケツトに利用
可能なDRAMメモリの数を減らしている。若し、例え
ば512バイトの完全連想メモリが含まれていれば、す
べてのピケツトは一組のサーチ・インデツクスを含むこ
とができ、そして、1回の動作で、512掛ける102
4個のピケツトは、1動作毎に約512000回の比較
、つまり、1マイクロ秒の比較動作において、毎秒51
2ギガ回の比較を行なうことができる。この考えを延長
すれば、1マイクロ秒で数テラ回の比較動作回数の範囲
にまで応用することができる。この実施例は、現在の計
算能力を遥かに超えた高度の能力によつて情報の集中的
なサーチを行なう連想タスクを強化するものである。
【0046】別のアルゴリズムのアプリケーシヨン、あ
るいは別の動作をするアプリケーシヨンや、人工知能の
試みや、SIMDの環境で試みられる並列的なプログラ
ミングなどに加えて、図2に示されたようなメモリ及び
バイト幅の処理エレメントを連想動作に用いると、現在
利用可能なアプリケーシヨンにおいて、SIMDの環境
にある上述のチツプ構成を持つマシンにより動作するこ
とができるアプリケーシヨンは多数のものがある。
るいは別の動作をするアプリケーシヨンや、人工知能の
試みや、SIMDの環境で試みられる並列的なプログラ
ミングなどに加えて、図2に示されたようなメモリ及び
バイト幅の処理エレメントを連想動作に用いると、現在
利用可能なアプリケーシヨンにおいて、SIMDの環境
にある上述のチツプ構成を持つマシンにより動作するこ
とができるアプリケーシヨンは多数のものがある。
【0047】マトリツクス掛け算を含んで単純に並列化
可能な算術演算のタスク及びこの特別なメモリ・マシン
で行なうことができる他のタスクは、フオン・ノイマン
型のマシンで遂行することができるが、例えば、3次元
イメージのパターン・マツチングのような膨大な並列化
に適用可能なアプリケーシヨンによつて非常に高速化す
ることができるイメージ・マッチング及びイメージ処理
や、データベースの質問機能や、人工知能の分野におけ
るパターン・マツチングや、ネツトワークのブリツジの
他の側のユーザに行くメツセージを迅速に識別するため
のブリツジ中のネツトワーク制御や、ゲート・レベルの
シミユレーシヨンや、VLSIの基本ルールの違反の検
査装置などである。
可能な算術演算のタスク及びこの特別なメモリ・マシン
で行なうことができる他のタスクは、フオン・ノイマン
型のマシンで遂行することができるが、例えば、3次元
イメージのパターン・マツチングのような膨大な並列化
に適用可能なアプリケーシヨンによつて非常に高速化す
ることができるイメージ・マッチング及びイメージ処理
や、データベースの質問機能や、人工知能の分野におけ
るパターン・マツチングや、ネツトワークのブリツジの
他の側のユーザに行くメツセージを迅速に識別するため
のブリツジ中のネツトワーク制御や、ゲート・レベルの
シミユレーシヨンや、VLSIの基本ルールの違反の検
査装置などである。
【0048】メモリ・バンク及び関連した処理エレメン
トの利益を享受する処理の仕事は、アプリケーシヨン・
プログラマが新しいシステム・アーキテクチヤのパワー
の利益を受けるよう新しい開発をする時に、アプリケー
シヨン・プログラマが担う仕事である。
トの利益を享受する処理の仕事は、アプリケーシヨン・
プログラマが新しいシステム・アーキテクチヤのパワー
の利益を受けるよう新しい開発をする時に、アプリケー
シヨン・プログラマが担う仕事である。
【0049】デイジタル・システムの記述を保持する処
理は、ピケツト100個毎に1つのゲート、または1つ
のロジツク素子に対して、1個のアレイを使用すること
によつて強化することができる。そのようなシステムに
おいて、その処理は、ゲート入力として受け取つた信号
のリストとして各ゲートの記述を割り当て、そして、ゲ
ートが発生した信号を名付けることによつて開始される
。信号が変化するたびに、バス103によりその名前が
すべてのピケツトへブロードキヤストされ、そして、予
測されている入力信号の名前と並列に比較される。若し
、その比較の一致が見い出されると、データ・フロー・
レジスタのビツト中の信号の新しい値をピケツト中に記
録する。全ての信号変化が記録された時、すべてのピケ
ツトは、並列に制御ワードを読み出し、制御ワードは、
入力の現在の組を何のようにして使用するかをそれらの
データ・フローに知らせる。これらの計算を並列に遂行
させ、その結果をローカル・ゲートからの古い値と比較
する。出力が変化したピケツトのすべてのゲートをデー
タ・フロー・ステータス・ビツトに記録する。外部のコ
ントローラは、すべてのピケツトを質問し、そして、変
化された次のゲートを求める。次に、ピケツトから他の
すべてのピケツトに該当する信号名と値をブロードキヤ
ストし、そして、もはや信号が変化しないか、または、
この処理が停止されるまで、このサイクルが繰り返され
る。
理は、ピケツト100個毎に1つのゲート、または1つ
のロジツク素子に対して、1個のアレイを使用すること
によつて強化することができる。そのようなシステムに
おいて、その処理は、ゲート入力として受け取つた信号
のリストとして各ゲートの記述を割り当て、そして、ゲ
ートが発生した信号を名付けることによつて開始される
。信号が変化するたびに、バス103によりその名前が
すべてのピケツトへブロードキヤストされ、そして、予
測されている入力信号の名前と並列に比較される。若し
、その比較の一致が見い出されると、データ・フロー・
レジスタのビツト中の信号の新しい値をピケツト中に記
録する。全ての信号変化が記録された時、すべてのピケ
ツトは、並列に制御ワードを読み出し、制御ワードは、
入力の現在の組を何のようにして使用するかをそれらの
データ・フローに知らせる。これらの計算を並列に遂行
させ、その結果をローカル・ゲートからの古い値と比較
する。出力が変化したピケツトのすべてのゲートをデー
タ・フロー・ステータス・ビツトに記録する。外部のコ
ントローラは、すべてのピケツトを質問し、そして、変
化された次のゲートを求める。次に、ピケツトから他の
すべてのピケツトに該当する信号名と値をブロードキヤ
ストし、そして、もはや信号が変化しないか、または、
この処理が停止されるまで、このサイクルが繰り返され
る。
【0050】他の処理は辞書の名前の検索である。全て
の辞書の名前の最初の文字を、ブロードキヤスト・デー
タ・アドレス・バス103上の所望のブロードキヤスト
名と比較することができるように、辞書の名前がピケツ
トのメモリ102中にストアされる。マツチしない全て
のピケツトは所定の制御信号によつてオフに転じられる
。次に、第2の文字が比較され、上述と同じプロシージ
ヤが行なわれ、以下同様に、アクテイブなピケツト・ユ
ニツトがなくなつた時点、つまり、辞書の名前の最後の
文字に到達するまで、同じ比較動作及びオフに転じるプ
ロシージヤが、後続する文字に対して繰り返される。 辞書の名前の最後の文字が処理された時点において、残
つたピケツト・ユニツトは質問され、所望のデータのイ
ンデツクスがシーケンサによつて読み取られる。
の辞書の名前の最初の文字を、ブロードキヤスト・デー
タ・アドレス・バス103上の所望のブロードキヤスト
名と比較することができるように、辞書の名前がピケツ
トのメモリ102中にストアされる。マツチしない全て
のピケツトは所定の制御信号によつてオフに転じられる
。次に、第2の文字が比較され、上述と同じプロシージ
ヤが行なわれ、以下同様に、アクテイブなピケツト・ユ
ニツトがなくなつた時点、つまり、辞書の名前の最後の
文字に到達するまで、同じ比較動作及びオフに転じるプ
ロシージヤが、後続する文字に対して繰り返される。 辞書の名前の最後の文字が処理された時点において、残
つたピケツト・ユニツトは質問され、所望のデータのイ
ンデツクスがシーケンサによつて読み取られる。
【0051】図4は、このようなシステムの制御ストラ
クチヤを示すSIMDサブシステムとして構成すること
ができる並列アレイの一部として単一のシリコン・チツ
プ上で、行に配列されたピケツト・ユニツトに対して並
列に接続された複数個のプロセツサ及びメモリと、ピケ
ツト・ユニツトとの基本的ピケツト構造を示す図である
。また、この基本的ピケツト構造は制御プロセツサと管
理用マイクロプロセツサとを示している。メモリ及び並
列の処理エレメントが示された図4において、図4の中
の同じチツプ上のロジツクは、セクシヨン・ラベルが付
された「ピケツトのアレイ」中に示されている。各メモ
リは、8(9)ビツトの文字幅が好ましいnビツト幅を
持つているが、概念的には、複数バイト幅のメモリのワ
ード幅を持つている。従つて、並列のピケツト・プロセ
ツサ・エレメントのメモリ部分は8(9)ビツト幅か、
または16ビツト、もしくは32ビツト幅が望ましい。 現在の好ましいCMOS技術によつて、各ピケツトは処
理エレメントを有する8ビツト(自己チエツクを持つ場
合は9ビツト幅)か、またはキヤラクタ幅の連想メモリ
を使用するのが望ましい。メモリは結合された処理エレ
メントと1対1で直接に関連されており、結合された処
理エレメントは、ALUと、マスク・レジスタ(マスク
動作のために用いるA&Q)と、ラツチ104(図4の
SR)と、そして、ピケツトの細部を示した図2に示さ
れているステータス・レジスタ107と、データ・フロ
ーAレジスタ105及びQレジスタ106(図4のDF
)とを含んでいる。チツプそれ自身の上の複数ビツト幅
のDRAMメモリと、処理エレメントとの間は1対1で
関連されているので、DRAM及び各ピケツト・プロセ
ツサのロジツクは、ネツトワークの接続を行なうのに何
等の負担をかけない。
クチヤを示すSIMDサブシステムとして構成すること
ができる並列アレイの一部として単一のシリコン・チツ
プ上で、行に配列されたピケツト・ユニツトに対して並
列に接続された複数個のプロセツサ及びメモリと、ピケ
ツト・ユニツトとの基本的ピケツト構造を示す図である
。また、この基本的ピケツト構造は制御プロセツサと管
理用マイクロプロセツサとを示している。メモリ及び並
列の処理エレメントが示された図4において、図4の中
の同じチツプ上のロジツクは、セクシヨン・ラベルが付
された「ピケツトのアレイ」中に示されている。各メモ
リは、8(9)ビツトの文字幅が好ましいnビツト幅を
持つているが、概念的には、複数バイト幅のメモリのワ
ード幅を持つている。従つて、並列のピケツト・プロセ
ツサ・エレメントのメモリ部分は8(9)ビツト幅か、
または16ビツト、もしくは32ビツト幅が望ましい。 現在の好ましいCMOS技術によつて、各ピケツトは処
理エレメントを有する8ビツト(自己チエツクを持つ場
合は9ビツト幅)か、またはキヤラクタ幅の連想メモリ
を使用するのが望ましい。メモリは結合された処理エレ
メントと1対1で直接に関連されており、結合された処
理エレメントは、ALUと、マスク・レジスタ(マスク
動作のために用いるA&Q)と、ラツチ104(図4の
SR)と、そして、ピケツトの細部を示した図2に示さ
れているステータス・レジスタ107と、データ・フロ
ーAレジスタ105及びQレジスタ106(図4のDF
)とを含んでいる。チツプそれ自身の上の複数ビツト幅
のDRAMメモリと、処理エレメントとの間は1対1で
関連されているので、DRAM及び各ピケツト・プロセ
ツサのロジツクは、ネツトワークの接続を行なうのに何
等の負担をかけない。
【0052】図4において、Bレジスタのラツチ(SR
)104のラツチは、メモリと、処理エレメントのAL
Uの関連したロジツクとの間に論理的に置かれており、
そして、そのラツチは、ピケツトのアレイに沿つた各処
理エレメントのための接続ポートの主要部になることは
注意を要する。各ピケツト・チツプは、ピケツト制御と
コミユニケーシヨンをするために、直線(一直線のバス
として示されている)に配列された複数個の並列ピケツ
ト処理エレメントを含んでいる。ベクトル・アドレス・
バスはメモリに対して共通であり、データ・ベクトル・
アドレス・レジスタは、どのデータが各メモリを通過す
るかを制御する。
)104のラツチは、メモリと、処理エレメントのAL
Uの関連したロジツクとの間に論理的に置かれており、
そして、そのラツチは、ピケツトのアレイに沿つた各処
理エレメントのための接続ポートの主要部になることは
注意を要する。各ピケツト・チツプは、ピケツト制御と
コミユニケーシヨンをするために、直線(一直線のバス
として示されている)に配列された複数個の並列ピケツ
ト処理エレメントを含んでいる。ベクトル・アドレス・
バスはメモリに対して共通であり、データ・ベクトル・
アドレス・レジスタは、どのデータが各メモリを通過す
るかを制御する。
【0053】また、図4は、本発明の1実施例において
、IBMのPS/2システムとして構成されたインテル
社製の386マイクロプロセツサを有する主プロセツサ
、即ちマイクロプロセツサMPのカードと、サブシステ
ム・コントローラとの間を相互接続しており、そして、
マイクロプロセツサMPは、大域インストラクシヨンを
、サブシステム・コントローラを通してキヤンド・ルー
チン・プロセツサCRPに送り、キヤンド・ルーチン・
プロセツサCRPは、インストラクシヨン・シーケンサ
402及び実行制御403にインストラクシヨンを与え
、実行制御403は インストラクシヨン・シーケン
サによつて呼び出された特別のマイクロコードを実行す
ることが示されている。このインストラクシヨン・シー
ケンサ402は、機能的にはコントローラと類似してい
る。然しながら、実施例のキヤンド・ルーチン・プロセ
ツサCRPの中にはローカル・レジスタ405が与えら
れており、ローカル・レジスタ405は、ローカル・レ
ジスタALU(図示せず)と協働して、ピケツトのアレ
イ406の中のすべてのピケツトにブロードキヤストす
るすべてのアドレツシングの基礎を与える。このように
して、ピケツトのリソースや、ピケツトの実行サイクル
を用いることなく、1つのALUの中のすべてのピケツ
トに対するアドレス計算が遂行される。この重要な付加
的な機能は、ピケツトのアレイに対する制御の柔軟性を
与えて、遂行される特別のタスクに対してドーズ機能、
禁止機能、またはその他の機能を可能とし、また、すべ
てのブロードキヤストインストラクシヨン、またはデー
タの機能からピケツトを分離するのを可能とする。
、IBMのPS/2システムとして構成されたインテル
社製の386マイクロプロセツサを有する主プロセツサ
、即ちマイクロプロセツサMPのカードと、サブシステ
ム・コントローラとの間を相互接続しており、そして、
マイクロプロセツサMPは、大域インストラクシヨンを
、サブシステム・コントローラを通してキヤンド・ルー
チン・プロセツサCRPに送り、キヤンド・ルーチン・
プロセツサCRPは、インストラクシヨン・シーケンサ
402及び実行制御403にインストラクシヨンを与え
、実行制御403は インストラクシヨン・シーケン
サによつて呼び出された特別のマイクロコードを実行す
ることが示されている。このインストラクシヨン・シー
ケンサ402は、機能的にはコントローラと類似してい
る。然しながら、実施例のキヤンド・ルーチン・プロセ
ツサCRPの中にはローカル・レジスタ405が与えら
れており、ローカル・レジスタ405は、ローカル・レ
ジスタALU(図示せず)と協働して、ピケツトのアレ
イ406の中のすべてのピケツトにブロードキヤストす
るすべてのアドレツシングの基礎を与える。このように
して、ピケツトのリソースや、ピケツトの実行サイクル
を用いることなく、1つのALUの中のすべてのピケツ
トに対するアドレス計算が遂行される。この重要な付加
的な機能は、ピケツトのアレイに対する制御の柔軟性を
与えて、遂行される特別のタスクに対してドーズ機能、
禁止機能、またはその他の機能を可能とし、また、すべ
てのブロードキヤストインストラクシヨン、またはデー
タの機能からピケツトを分離するのを可能とする。
【0054】ピケツトのアレイの中に含まれるデータに
対してSIMD処理を行なうために、ロードされたマイ
クロコード407を持つインストラクシヨン・シーケン
サ402は、主プログラムのマイクロプロセツサMPと
、キヤンド・ルーチン・プロセツサCRPのラン・タイ
ム・ライブラリ408のキヤンド・ルーチンとによつて
決められたSIMDインストラクシヨン・シーケンスの
下で実行することをピケツトのアレイにブロードキヤス
トする。
対してSIMD処理を行なうために、ロードされたマイ
クロコード407を持つインストラクシヨン・シーケン
サ402は、主プログラムのマイクロプロセツサMPと
、キヤンド・ルーチン・プロセツサCRPのラン・タイ
ム・ライブラリ408のキヤンド・ルーチンとによつて
決められたSIMDインストラクシヨン・シーケンスの
下で実行することをピケツトのアレイにブロードキヤス
トする。
【0055】サブシステムのインターフエースを介して
マイクロプロセツサMPに与えられるインストラクシヨ
ンは、マイクロプロセツサのサブシステム・コントロー
ラによつてマイクロプロセツサに送られる「Start
Process」、「Write Obser.
」及び「Read Result」を含む高レベルの
処理コマンドである。マイクロプロセツサMPは、図4
、図5、図6及び図7中に示されたサブシステム配列の
中のメーン・システム、即ち制御プロセツサであるとし
て考えることができる。この装置は、また、キーボード
のような周辺入力装置(図示せず)及びデイスプレー・
ユニツト等の付加的装置を持つ独立したユニツトでもよ
いことには注意を払う必要がある。この独立構成におい
て、マイクロプロセツサMPのシステムは、図7に示さ
れた線に沿つて挿入されるシーケンサ・カード(それは
キヤンド・ルーチン・プロセツサを構成する)と、プロ
セツサのアレイのカードとを含む市販のIBMのPS/
2であると考えることができる。ルーチン・ライブラリ
411は、CALL(,)、Kalman、Convo
lve、及びNav.Updateのようなプロセスの
全体の制御に対するルーチンのシーケンスを含むことが
できる。これらのルーチンの選択は、ユーザのプログラ
ムの選択に属しているので、全体の処理は、外部のホス
ト・プロセツサの制御の下か、またはMP中にあるユー
ザのプログラム412の制御の下で行なわれる。データ
・バツフア413は、並列ピケツト・プロセツサ・シス
テムへのデータの転送、または、並列ピケツト・プロセ
ツサ・システムからのデータを転送するために、MPの
メモリ中に与えられている。インストラクシヨン・シー
ケンサ402は、マイクロプロセツサからの制御信号の
ストリームと、キヤンド・ルーチン・ラン・タイム・ラ
イブラリ・メモリ408中にストアされているキヤンド
・ルーチンとを実行するように構成されている。これら
のルーチンの内のあるものは、キヤンド・ルーチン・ラ
ン・タイム・ライブラリ408によつて与えられるキヤ
ンド・ルーチンからのCALL(,)、Load B
lock、Sin、Cos、Find、Min、Ran
ge Copm及びMatrixMultiplyを
含んでいる。
マイクロプロセツサMPに与えられるインストラクシヨ
ンは、マイクロプロセツサのサブシステム・コントロー
ラによつてマイクロプロセツサに送られる「Start
Process」、「Write Obser.
」及び「Read Result」を含む高レベルの
処理コマンドである。マイクロプロセツサMPは、図4
、図5、図6及び図7中に示されたサブシステム配列の
中のメーン・システム、即ち制御プロセツサであるとし
て考えることができる。この装置は、また、キーボード
のような周辺入力装置(図示せず)及びデイスプレー・
ユニツト等の付加的装置を持つ独立したユニツトでもよ
いことには注意を払う必要がある。この独立構成におい
て、マイクロプロセツサMPのシステムは、図7に示さ
れた線に沿つて挿入されるシーケンサ・カード(それは
キヤンド・ルーチン・プロセツサを構成する)と、プロ
セツサのアレイのカードとを含む市販のIBMのPS/
2であると考えることができる。ルーチン・ライブラリ
411は、CALL(,)、Kalman、Convo
lve、及びNav.Updateのようなプロセスの
全体の制御に対するルーチンのシーケンスを含むことが
できる。これらのルーチンの選択は、ユーザのプログラ
ムの選択に属しているので、全体の処理は、外部のホス
ト・プロセツサの制御の下か、またはMP中にあるユー
ザのプログラム412の制御の下で行なわれる。データ
・バツフア413は、並列ピケツト・プロセツサ・シス
テムへのデータの転送、または、並列ピケツト・プロセ
ツサ・システムからのデータを転送するために、MPの
メモリ中に与えられている。インストラクシヨン・シー
ケンサ402は、マイクロプロセツサからの制御信号の
ストリームと、キヤンド・ルーチン・ラン・タイム・ラ
イブラリ・メモリ408中にストアされているキヤンド
・ルーチンとを実行するように構成されている。これら
のルーチンの内のあるものは、キヤンド・ルーチン・ラ
ン・タイム・ライブラリ408によつて与えられるキヤ
ンド・ルーチンからのCALL(,)、Load B
lock、Sin、Cos、Find、Min、Ran
ge Copm及びMatrixMultiplyを
含んでいる。
【0056】また、キヤンド・ルーチン・プロセツサC
RPの中には、「ロード」、「読み取り」、「加算」、
「掛け算」及び「マツチ」機能のような低レベルの実行
を制御するためのマイクロコード407がある。
RPの中には、「ロード」、「読み取り」、「加算」、
「掛け算」及び「マツチ」機能のような低レベルの実行
を制御するためのマイクロコード407がある。
【0057】このシステムにおいて、FOR/NEXT
の外部制御を、各処理ユニツトに与えるのが望ましい。 また、1実施例において、決定論的な(determi
nistic)浮動小数点バイトの正規化動作が与えら
れている。
の外部制御を、各処理ユニツトに与えるのが望ましい。 また、1実施例において、決定論的な(determi
nistic)浮動小数点バイトの正規化動作が与えら
れている。
【0058】本発明の実施例に与えられたシステムのマ
クロの改善の決定論的なアプローチを使用することによ
つて、ピケツトのグループ化と、「グループ」制御とを
可能としている。個々のピケツトの処理の変化に適合す
るために、ローカルなドーズ機能が与えられる。
クロの改善の決定論的なアプローチを使用することによ
つて、ピケツトのグループ化と、「グループ」制御とを
可能としている。個々のピケツトの処理の変化に適合す
るために、ローカルなドーズ機能が与えられる。
【0059】ユーザのプログラムがプロセツサのアレイ
による実行を必要とする場合には、原始的なコマンド、
アドレス及びブロードキヤスト・データがピケツト・プ
ロセツサのアレイに与えられる。
による実行を必要とする場合には、原始的なコマンド、
アドレス及びブロードキヤスト・データがピケツト・プ
ロセツサのアレイに与えられる。
【0060】システムの各部分が使用する特定の機能は
、遂行されるべきタスクによつて決定され、そして、ユ
ーザのプログラムのコンパイル動作の時に割り当てられ
る。
、遂行されるべきタスクによつて決定され、そして、ユ
ーザのプログラムのコンパイル動作の時に割り当てられ
る。
【0061】サブシステムの柔軟性は、むしろ共通問題
によつて説明することができる。例えば、マトリツク乗
算の問題....[x]*[y]=[z]を取り上げる
。
によつて説明することができる。例えば、マトリツク乗
算の問題....[x]*[y]=[z]を取り上げる
。
【0062】これは、以下の問題として表わすことがで
きる。
きる。
【0063】
【0064】これは、以下に示すようなパス(pass
)の数を示した近くのステートメントと、この例の場合
に与えられた1回のパス当りのクロツク・サイクルの数
が述べられているステートメントとによつて解くことが
できる。
)の数を示した近くのステートメントと、この例の場合
に与えられた1回のパス当りのクロツク・サイクルの数
が述べられているステートメントとによつて解くことが
できる。
【0065】
cycles/
passes
pass01 Call Matrix
Mult Fx
1 c
(R,M,C,Xadder, Y
addr, Zaddr)02 xSUB =
ySUB = zSUB = 1
1
303 DO I = 1 to C
1 304 DO
J = 1 to R
C
305 z = 0
CxR 5/6*06
DO K = 1 to M
CxR
307 ***Assign
to associative parallel p
rocessor***08 Zz
= Xx x Yy + Zz
CxRxM 204/
345*09 ***
Return result***10
xSUB = xSUB + R
CxRxM
211 ySUB = y
SUB + 1
CxRxM 212
NEXT K
CxRx
M 313 xSUB = x
SUB − MxR + 1
CxR 214
ySUB = ySUB − M
C
xR 215 zSUB
= aSUB + 1
CxR 2
16 NEXT J
CxR 317 xSU
B = 1
C
218 NEXT z
C 319 END
Call
1
1 註 *固定小数点(4バイト)
/浮動小数点(1+4バイト)
cycles/
passes
pass01 Call Matrix
Mult Fx
1 c
(R,M,C,Xadder, Y
addr, Zaddr)02 xSUB =
ySUB = zSUB = 1
1
303 DO I = 1 to C
1 304 DO
J = 1 to R
C
305 z = 0
CxR 5/6*06
DO K = 1 to M
CxR
307 ***Assign
to associative parallel p
rocessor***08 Zz
= Xx x Yy + Zz
CxRxM 204/
345*09 ***
Return result***10
xSUB = xSUB + R
CxRxM
211 ySUB = y
SUB + 1
CxRxM 212
NEXT K
CxRx
M 313 xSUB = x
SUB − MxR + 1
CxR 214
ySUB = ySUB − M
C
xR 215 zSUB
= aSUB + 1
CxR 2
16 NEXT J
CxR 317 xSU
B = 1
C
218 NEXT z
C 319 END
Call
1
1 註 *固定小数点(4バイト)
/浮動小数点(1+4バイト)
【0066】上述の例を
吟味すると、上述のステートメント08で表示されたタ
スクは、サイクル時間の約98%を必要としていること
が判る。従つて、そのタスクは並列ピケツト・プロセツ
サのSIMD構造に割り当てられる。他の処理はサイク
ル時間のたつた2%しか取らず、マイクロプロセツサの
中のアーキテクチヤの中で維持される。
吟味すると、上述のステートメント08で表示されたタ
スクは、サイクル時間の約98%を必要としていること
が判る。従つて、そのタスクは並列ピケツト・プロセツ
サのSIMD構造に割り当てられる。他の処理はサイク
ル時間のたつた2%しか取らず、マイクロプロセツサの
中のアーキテクチヤの中で維持される。
【0067】従つて、マトリツクス乗算のこの例を吟味
して、「マイクロ・プロセツサ」MP、「キヤンド・ル
ーチン・プロセツサ」CRP、「ローカル・レジスタ」
LR、または「ピケツト・アレイ」の何れかによる実行
が割り当てられる。
して、「マイクロ・プロセツサ」MP、「キヤンド・ル
ーチン・プロセツサ」CRP、「ローカル・レジスタ」
LR、または「ピケツト・アレイ」の何れかによる実行
が割り当てられる。
【0068】マトリツクス乗算の上述の例において、ス
テートメント01はメーン・プロセツサMPの中で実行
するように割り当てられ、ステートメント02、05、
10、11、13、14、15及び17はローカル・レ
ジスタLRの中で実行するように割り当てられ、ステー
トメント03、04、06、12、16、18及び19
はキヤンド・ルーチン・プロセツサCRPの中で実行す
るよう割り当てられるが、時間を浪費する他のマトリツ
クス処理は、単一のインストラクシヨンの下で、ピケツ
トのアレイで実行するよう割り当てられ、従つて、ステ
ートメント08の実行はピケツトのアレイに割り当てら
れる。
テートメント01はメーン・プロセツサMPの中で実行
するように割り当てられ、ステートメント02、05、
10、11、13、14、15及び17はローカル・レ
ジスタLRの中で実行するように割り当てられ、ステー
トメント03、04、06、12、16、18及び19
はキヤンド・ルーチン・プロセツサCRPの中で実行す
るよう割り当てられるが、時間を浪費する他のマトリツ
クス処理は、単一のインストラクシヨンの下で、ピケツ
トのアレイで実行するよう割り当てられ、従つて、ステ
ートメント08の実行はピケツトのアレイに割り当てら
れる。
【0069】図5は、複数個の並列ピケツト・プロセツ
サを組み込んだ複数並列式ピケツト・プロセツサ装置5
10を示す図である。図5に示した装置は、複数のター
ゲツトの追跡、センサ及びデータの融合、信号処理、人
工頭脳、サテライト・イメージ処理、パターン/ターゲ
ツト認識、リード・ソロモン・エンコード/デコード動
作のようなアプリケーシヨンに使用される装置であつて
、1024個のプロセツサに対して2枚乃至4枚のSE
M Eカード511(図5では、1システム当り4枚
のカードとして表わされている)を持つ1024個の並
列プロセツサを有するSIMDシステムとして構成され
ている。個々のカード512はウエツジロツク・スライ
ド(くさびにより固定する案内溝)を有するカード架装
着用仕切り513の中に挿抜可能に装着されており、そ
して、それらのカードには挿抜用のレバー516が設け
られているので、カバー517が閉じられた時に、32
メガバイト、または64ギガバイトのストレージを有し
、架台中にマウント可能な1秒間に約20億回の動作を
行う能力があるシステムを効果的に収容する。このシス
テムはコンパクトであり、複数個のピケツトのアレイは
、複数枚のカードの相互接続を可能とし、論理回路を有
するバツクパネル・ボード518の中に差し込まれる。 32メガバイトのストレージを持つプロセツサは4枚の
SEM Eカード上に形成されており、この装置の重
量は僅か約13.6キログラム(約30ポンド)しかな
い。電力は、図示されたように電源装置519により与
えられる。この空冷式のプロセツサのために必要な電力
は、約280ワツトである。各SIMDシステムは、関
連するメーンフレーム・コンピユータとのチヤンネル・
アダプタ・コミユニケーシヨン用、つまり、外部回路と
の接続のために2つのI/Oポート520を持つている
。夫々のプロセツサが4つのロジツク・ページで構成さ
れ、標準的な航空工学用のパツケージ方法を用い、そし
て外部メモリに接続するためのバス構造を有する図示の
複数並列式ピケツト・プロセツサは、主たる任務を遂行
するプロセツサのメモリ・バスに、I/Oポートを通し
て接続することができ、そして、主たる任務遂行用のプ
ロセツサのメモリ容量の拡張用として見ることができる
。
サを組み込んだ複数並列式ピケツト・プロセツサ装置5
10を示す図である。図5に示した装置は、複数のター
ゲツトの追跡、センサ及びデータの融合、信号処理、人
工頭脳、サテライト・イメージ処理、パターン/ターゲ
ツト認識、リード・ソロモン・エンコード/デコード動
作のようなアプリケーシヨンに使用される装置であつて
、1024個のプロセツサに対して2枚乃至4枚のSE
M Eカード511(図5では、1システム当り4枚
のカードとして表わされている)を持つ1024個の並
列プロセツサを有するSIMDシステムとして構成され
ている。個々のカード512はウエツジロツク・スライ
ド(くさびにより固定する案内溝)を有するカード架装
着用仕切り513の中に挿抜可能に装着されており、そ
して、それらのカードには挿抜用のレバー516が設け
られているので、カバー517が閉じられた時に、32
メガバイト、または64ギガバイトのストレージを有し
、架台中にマウント可能な1秒間に約20億回の動作を
行う能力があるシステムを効果的に収容する。このシス
テムはコンパクトであり、複数個のピケツトのアレイは
、複数枚のカードの相互接続を可能とし、論理回路を有
するバツクパネル・ボード518の中に差し込まれる。 32メガバイトのストレージを持つプロセツサは4枚の
SEM Eカード上に形成されており、この装置の重
量は僅か約13.6キログラム(約30ポンド)しかな
い。電力は、図示されたように電源装置519により与
えられる。この空冷式のプロセツサのために必要な電力
は、約280ワツトである。各SIMDシステムは、関
連するメーンフレーム・コンピユータとのチヤンネル・
アダプタ・コミユニケーシヨン用、つまり、外部回路と
の接続のために2つのI/Oポート520を持つている
。夫々のプロセツサが4つのロジツク・ページで構成さ
れ、標準的な航空工学用のパツケージ方法を用い、そし
て外部メモリに接続するためのバス構造を有する図示の
複数並列式ピケツト・プロセツサは、主たる任務を遂行
するプロセツサのメモリ・バスに、I/Oポートを通し
て接続することができ、そして、主たる任務遂行用のプ
ロセツサのメモリ容量の拡張用として見ることができる
。
【0070】図示された複数並列式ピケツト・プロセツ
サは1024個の並列接続された処理エレメントを含ん
でおり、各プロセツサは324キロバイトのローカル・
メモリを有し、並列ピケツト・プロセツサは、並列で8
ビツト幅、または、キヤラクタ幅(9ビツト幅)である
。
サは1024個の並列接続された処理エレメントを含ん
でおり、各プロセツサは324キロバイトのローカル・
メモリを有し、並列ピケツト・プロセツサは、並列で8
ビツト幅、または、キヤラクタ幅(9ビツト幅)である
。
【0071】各ピケツト中のプロセツサは、隣のプロセ
ツサとデータの交換を行い、そして、クロスバーが望ま
しいが、代案として、スライド・クロスバー、シヤツフ
ル・ネツトワーク(Shuffle Network)
、ベース3のNキユーブ(Base 3 N−Cube
)、またはベース8のNキユーブ(Base 8 N−
Cube)のバツクプレート相互接続ネツトワークを介
してページの間でデータの交換を行う。
ツサとデータの交換を行い、そして、クロスバーが望ま
しいが、代案として、スライド・クロスバー、シヤツフ
ル・ネツトワーク(Shuffle Network)
、ベース3のNキユーブ(Base 3 N−Cube
)、またはベース8のNキユーブ(Base 8 N−
Cube)のバツクプレート相互接続ネツトワークを介
してページの間でデータの交換を行う。
【0072】システムの個々のピケツト・プロセツサは
4枚のカードの内の2枚のカード・パツク内に含まれて
おり、PS/2マイクロプロセツサは1枚のカード上に
あり、キヤンド・ルーチン・プロセツサ・シーケンサは
、図6及び図7に模式的に示されているシステムに含ま
れている4枚のカードの内の他方のカードに含まれてい
る。個々のピケツト100、即ちピケツトのカード51
2は、ラツチ・アーキテクチヤ104と、シーケンサの
カード703の実行制御に結合されたローカル・レジス
タ405とによつて制御されるデータ状態に基づく動作
に入るか、または動作を除くために、キヤンド・ルーチ
ン・プロセツサCRPによつて構成することができる。 従つて、ピケツト・プロセツサは、整列と、浮動小数点
演算に関連した正規化動作とを独立して遂行することが
できる。
4枚のカードの内の2枚のカード・パツク内に含まれて
おり、PS/2マイクロプロセツサは1枚のカード上に
あり、キヤンド・ルーチン・プロセツサ・シーケンサは
、図6及び図7に模式的に示されているシステムに含ま
れている4枚のカードの内の他方のカードに含まれてい
る。個々のピケツト100、即ちピケツトのカード51
2は、ラツチ・アーキテクチヤ104と、シーケンサの
カード703の実行制御に結合されたローカル・レジス
タ405とによつて制御されるデータ状態に基づく動作
に入るか、または動作を除くために、キヤンド・ルーチ
ン・プロセツサCRPによつて構成することができる。 従つて、ピケツト・プロセツサは、整列と、浮動小数点
演算に関連した正規化動作とを独立して遂行することが
できる。
【0073】以下に説明されるように、プロセツサは共
通のシーケンサによつて並列に制御される。シーケンサ
のカード703は、ピケツト・プロセツサのコントロー
ラCRPを含み、そして、古典的なビツト直列の処理と
同様なバイト直列方式のSIMDプロセツサのアレイで
実行するためにコード化されたインストラクシヨンの単
一スレツドを、ピケツト・プロセツサに実行させる。こ
のコントローラは3つの層を持つている。ピケツトのた
めのマイクロ・コントロールは、近代的なプロセツサと
同様にマイクロプログラム化されている。マイクロコン
トロール及びピケツトは同じクロツク・システムCLK
で同期されているので、シーケンサによつて制御される
機能は同じクロツク時間で実行することができる。マイ
クロコントロールのシーケンサにコマンドを送ることは
、キヤンド・ルーチン・プロセツサの機能である。この
シーケンサ・カード703は、殆どの機能の間で、ルー
プ制御コマンドを実行するコントローラであり、新しい
マイクロコントロールの順序を最初から開始する。キヤ
ンド・ルーチン・ライブラリ408と、そのルーピング
機能とを持つこのコントローラは、良好に送られたピケ
ツトを保持し、結合されたコマンドを保持しない。キヤ
ンド・ルーチン・プロセツサのコントローラCRPは、
サブシステムにおいて、一次管理ピケツト・コントロー
ラとして動作するメーン・システムによつて呼び出され
たマクロの大量の集合を含んでいる。これは、ピケツト
・アレイのトツプ制御システムである。これは、ピケツ
トのアレイの活動を管理する386マイクロプロセツサ
である。任意の瞬間において、プロセツサのサブセツト
は、制御フローに独立して反応するが、アレイのすべて
のピケツトは、同じインストラクシヨンを実行する。
通のシーケンサによつて並列に制御される。シーケンサ
のカード703は、ピケツト・プロセツサのコントロー
ラCRPを含み、そして、古典的なビツト直列の処理と
同様なバイト直列方式のSIMDプロセツサのアレイで
実行するためにコード化されたインストラクシヨンの単
一スレツドを、ピケツト・プロセツサに実行させる。こ
のコントローラは3つの層を持つている。ピケツトのた
めのマイクロ・コントロールは、近代的なプロセツサと
同様にマイクロプログラム化されている。マイクロコン
トロール及びピケツトは同じクロツク・システムCLK
で同期されているので、シーケンサによつて制御される
機能は同じクロツク時間で実行することができる。マイ
クロコントロールのシーケンサにコマンドを送ることは
、キヤンド・ルーチン・プロセツサの機能である。この
シーケンサ・カード703は、殆どの機能の間で、ルー
プ制御コマンドを実行するコントローラであり、新しい
マイクロコントロールの順序を最初から開始する。キヤ
ンド・ルーチン・ライブラリ408と、そのルーピング
機能とを持つこのコントローラは、良好に送られたピケ
ツトを保持し、結合されたコマンドを保持しない。キヤ
ンド・ルーチン・プロセツサのコントローラCRPは、
サブシステムにおいて、一次管理ピケツト・コントロー
ラとして動作するメーン・システムによつて呼び出され
たマクロの大量の集合を含んでいる。これは、ピケツト
・アレイのトツプ制御システムである。これは、ピケツ
トのアレイの活動を管理する386マイクロプロセツサ
である。任意の瞬間において、プロセツサのサブセツト
は、制御フローに独立して反応するが、アレイのすべて
のピケツトは、同じインストラクシヨンを実行する。
【0074】個々の反応の幾つかの変化があるので、各
ピケツトのバイト制御機能(ドーズ機能、禁止機能等)
によつて、プログラミングが利用し、そして、プログラ
ムのコンパイル動作の間でシステムの制御の下で行われ
るローカルな独立性を持つている。
ピケツトのバイト制御機能(ドーズ機能、禁止機能等)
によつて、プログラミングが利用し、そして、プログラ
ムのコンパイル動作の間でシステムの制御の下で行われ
るローカルな独立性を持つている。
【0075】加えて、既に説明したように、ローカル・
メモリをアドレスする動作に対して独立性を持つている
。SIMDコントローラのシーケンサは、使用するすべ
てのピケツトに対する共通のアドレスを供給する。各ピ
ケツトは、データに依存するメモリ・アドレスを行なう
能力を強化するために、ローカルにアドレスすることを
増進することができる。
メモリをアドレスする動作に対して独立性を持つている
。SIMDコントローラのシーケンサは、使用するすべ
てのピケツトに対する共通のアドレスを供給する。各ピ
ケツトは、データに依存するメモリ・アドレスを行なう
能力を強化するために、ローカルにアドレスすることを
増進することができる。
【0076】加えて、ピケツトは、ローカルの状態に依
存してアレイの活動に参画させ、または参画させないこ
とができる。
存してアレイの活動に参画させ、または参画させないこ
とができる。
【0077】この特徴があるので、1つ、またはそれ以
上のグループに各ピケツトを割り当てる手段によつて、
SIMD処理にグループの概念を導入することが可能で
あり、構成の変更を発生することができる場合、処理は
、これらのグループ化に基づいて進行することができる
。1実施例において、ただ1つのグループか、またはグ
ループの組み合わせは、一度に活性化することができ、
夫々のグループが同じSIMDインストラクシヨンのス
トリームを実行する。或る種の動作は、サブセツト、ま
たはピケツトのグループの動作だけを必要とする。プロ
グラミングは、この能力を利用することができる。ロー
カルの参画の独立性はそのように仕事に適合させる。ピ
ケツトが多ければ多い程、計算速度が早くなるのは明ら
かである。
上のグループに各ピケツトを割り当てる手段によつて、
SIMD処理にグループの概念を導入することが可能で
あり、構成の変更を発生することができる場合、処理は
、これらのグループ化に基づいて進行することができる
。1実施例において、ただ1つのグループか、またはグ
ループの組み合わせは、一度に活性化することができ、
夫々のグループが同じSIMDインストラクシヨンのス
トリームを実行する。或る種の動作は、サブセツト、ま
たはピケツトのグループの動作だけを必要とする。プロ
グラミングは、この能力を利用することができる。ロー
カルの参画の独立性はそのように仕事に適合させる。ピ
ケツトが多ければ多い程、計算速度が早くなるのは明ら
かである。
【0078】参画するピケツトの数を増加するための1
つの方法は、各ピケツトに、ピケツト自身のインストラ
クシヨン・ストリームを実行させることである。これは
、実質的にSIMD内のMIMDである。同じSIMD
マシンをMIMDマシン、または、異なつた構成のマシ
ンとして構成することが可能である。この理由は、ピケ
ツトを、インストラクシヨンそれ自身の順序で動作する
ようにプログラムすることが可能なためである。
つの方法は、各ピケツトに、ピケツト自身のインストラ
クシヨン・ストリームを実行させることである。これは
、実質的にSIMD内のMIMDである。同じSIMD
マシンをMIMDマシン、または、異なつた構成のマシ
ンとして構成することが可能である。この理由は、ピケ
ツトを、インストラクシヨンそれ自身の順序で動作する
ようにプログラムすることが可能なためである。
【0079】各ピケツトは、それ自身の順序を持たせる
ことができ、ピケツト・レベルでのインストラクシヨン
の非常に簡単な組をデコードすることが可能であり、こ
のことは、より強力なローカルな処理を行うことが可能
となる。この機能が最初のアプリケーシヨンを見い出す
可能性がある場合には、この領域は複雑な意志決定を行
い、単純な固定小数点処理は、プログラマに対して他の
興味ある領域である。
ことができ、ピケツト・レベルでのインストラクシヨン
の非常に簡単な組をデコードすることが可能であり、こ
のことは、より強力なローカルな処理を行うことが可能
となる。この機能が最初のアプリケーシヨンを見い出す
可能性がある場合には、この領域は複雑な意志決定を行
い、単純な固定小数点処理は、プログラマに対して他の
興味ある領域である。
【0080】そのような単純なプログラムは、約二千を
越えない数のピケツト・プログラムのブロツクをピケツ
ト・メモリ102の中にロードすることができ、そして
、これらのブロツクは、SIMDコントローラのカード
703が特定されたxyzアドレスで始まる実行制御に
よつてローカルな実行を開始した時に、実行することが
できる。これは、コントローラが、余りにも多くのクロ
ツク数を計数した時か、または、図4のステータス・フ
アンネル(SF)レジスタによつて、タスク完了信号を
テストした時かの何れかまで連続される。
越えない数のピケツト・プログラムのブロツクをピケツ
ト・メモリ102の中にロードすることができ、そして
、これらのブロツクは、SIMDコントローラのカード
703が特定されたxyzアドレスで始まる実行制御に
よつてローカルな実行を開始した時に、実行することが
できる。これは、コントローラが、余りにも多くのクロ
ツク数を計数した時か、または、図4のステータス・フ
アンネル(SF)レジスタによつて、タスク完了信号を
テストした時かの何れかまで連続される。
【0081】ステータス・フアンネル・レジスタ(図4
のSF)は、各ピケツトのラツチ104を使用する。各
ピケツトは、ピケツトのステータス状態を反映するため
にロードすることが出来るラツチ104を持つている。 SIMDコントローラは、アレイ・ステータス・ライン
を監視することによつて、これらのラツチ(1つのピケ
ツト当り1つのラツチ)中の合計値をテストすることが
できる。このアレイ・ステータス・ラインは、各ピケツ
ト・ステータス・ラツチからの値の論理的組み合わせで
ある。
のSF)は、各ピケツトのラツチ104を使用する。各
ピケツトは、ピケツトのステータス状態を反映するため
にロードすることが出来るラツチ104を持つている。 SIMDコントローラは、アレイ・ステータス・ライン
を監視することによつて、これらのラツチ(1つのピケ
ツト当り1つのラツチ)中の合計値をテストすることが
できる。このアレイ・ステータス・ラインは、各ピケツ
ト・ステータス・ラツチからの値の論理的組み合わせで
ある。
【0082】以下の例において、500以内で250よ
りも大きな数を、数式、500>x>=250で表わす
範囲に調節したいものと仮定する。以下のルーチンは、
タスクが達成されたことを検出するためにステータス・
フアンネルを使用する。
りも大きな数を、数式、500>x>=250で表わす
範囲に調節したいものと仮定する。以下のルーチンは、
タスクが達成されたことを検出するためにステータス・
フアンネルを使用する。
【0083】
If VALUE < 500 th
en TURN YOUR PICKET O
FF STAT < − PICKET OF
F CONDITION IF STAT
FUNNEL = OFF then fi
nished − − − − VALUE < − VALUE −
250 Repeat
en TURN YOUR PICKET O
FF STAT < − PICKET OF
F CONDITION IF STAT
FUNNEL = OFF then fi
nished − − − − VALUE < − VALUE −
250 Repeat
【0084】従つて、多数並列式ピケツト・プロセツサ
の構成は種々の態様のSIMDプロセツサとして構成す
ることができる。良好な実施例におけるそのようなSI
MDマシンは、古典的な態様でインストラクシヨンの単
一のスレツドを実行するためにプログラムされ、そして
、SIMDコントローラ、または、シーケンサの全般的
な制御の下で、古典的なプロセツサと同様なシーケンス
方式でSIMDプロセツサのアレイに実行するためにコ
ード化される。アプリケーシヨン・レベルにおいて、こ
れは、ベクトル及びインストラクシヨンのようなベクト
ルによつて達成され、これらのベクトルはプロセツサの
中で進ませることも、プロセツサを通して進ませること
もできる。ベクトル・インストラクシヨンは、通常、6
個乃至10個のベクトル・インストラクシヨンをマイク
ロインストラクシヨンに加えることができる。
の構成は種々の態様のSIMDプロセツサとして構成す
ることができる。良好な実施例におけるそのようなSI
MDマシンは、古典的な態様でインストラクシヨンの単
一のスレツドを実行するためにプログラムされ、そして
、SIMDコントローラ、または、シーケンサの全般的
な制御の下で、古典的なプロセツサと同様なシーケンス
方式でSIMDプロセツサのアレイに実行するためにコ
ード化される。アプリケーシヨン・レベルにおいて、こ
れは、ベクトル及びインストラクシヨンのようなベクト
ルによつて達成され、これらのベクトルはプロセツサの
中で進ませることも、プロセツサを通して進ませること
もできる。ベクトル・インストラクシヨンは、通常、6
個乃至10個のベクトル・インストラクシヨンをマイク
ロインストラクシヨンに加えることができる。
【0085】図6は、並列プロセツサのサブシステムの
実施例の機能的なブロツク図である。システムのI/O
ポートを通して、ホスト・インターフエース制御413
によつて制御された時、サブシステムのシーケンサは、
処理エレメントの機能を制御する高機能のマクロを持つ
SIMDプログラムと同様に機能する。メモリをアドレ
スする動作は、8ビツト幅、即ちバイト幅のデータ・フ
ローで可能であり、そして、8モジユロの算術ロジツク
が、複数の機能(論理機能、積算機能及び除算機能)の
ために使用されている。浮動小数点のフオーマツトと、
個々のスリープ、ドーズ・モード及び分離アドレツシン
グを持つ独立したピケツト動作とが与えられている。
実施例の機能的なブロツク図である。システムのI/O
ポートを通して、ホスト・インターフエース制御413
によつて制御された時、サブシステムのシーケンサは、
処理エレメントの機能を制御する高機能のマクロを持つ
SIMDプログラムと同様に機能する。メモリをアドレ
スする動作は、8ビツト幅、即ちバイト幅のデータ・フ
ローで可能であり、そして、8モジユロの算術ロジツク
が、複数の機能(論理機能、積算機能及び除算機能)の
ために使用されている。浮動小数点のフオーマツトと、
個々のスリープ、ドーズ・モード及び分離アドレツシン
グを持つ独立したピケツト動作とが与えられている。
【0086】サブシステムのコントローラの配列が図7
に示されている。プロセツサのアレイ・カード512(
このサブシステムの例では4枚のカードとして示されて
いるが、2枚のSEM Eカードに減らすことが可能
である)は、サブシステム・コントローラ702に接続
されているシーケンサCRP703に接続されており、
サブシステム・コントローラ702は、次に、メーン・
メモリ・システムか、または、関連したマイクロチヤン
ネル・バス706にインターフエースするチツプ705
を経た構成の他のサブシステムかの何れかに接続されて
いる。良好な実施例において、サブシステムのコントロ
ーラはIBM社のPS/2(IBM社の商標)の汎用の
マイクロプロセツサ・ユニツトであり、インテル社の3
86プロセツサ・チツプと4メガバイトのメモリとを用
いている。このパーソナル・コンピユータのマイクロプ
ロセツサMP702は、サブシステム中のマイクロチヤ
ンネル・タイプのバス705、706を介してシーケン
サのカードに接続されている。
に示されている。プロセツサのアレイ・カード512(
このサブシステムの例では4枚のカードとして示されて
いるが、2枚のSEM Eカードに減らすことが可能
である)は、サブシステム・コントローラ702に接続
されているシーケンサCRP703に接続されており、
サブシステム・コントローラ702は、次に、メーン・
メモリ・システムか、または、関連したマイクロチヤン
ネル・バス706にインターフエースするチツプ705
を経た構成の他のサブシステムかの何れかに接続されて
いる。良好な実施例において、サブシステムのコントロ
ーラはIBM社のPS/2(IBM社の商標)の汎用の
マイクロプロセツサ・ユニツトであり、インテル社の3
86プロセツサ・チツプと4メガバイトのメモリとを用
いている。このパーソナル・コンピユータのマイクロプ
ロセツサMP702は、サブシステム中のマイクロチヤ
ンネル・タイプのバス705、706を介してシーケン
サのカードに接続されている。
【0087】
【発明の効果】本発明は、ビツトに対して並列でバイト
に対して直列に処理することのできるSIMDマシンの
並列計算能力を有し、非常に高い密度で製造することが
でき、しかも、空気冷却式に適した構造を持つ半導体チ
ツプを与え、これにより、軽量で、コンパクトな複数並
列式のプロセツサ装置を作ることができる。
に対して直列に処理することのできるSIMDマシンの
並列計算能力を有し、非常に高い密度で製造することが
でき、しかも、空気冷却式に適した構造を持つ半導体チ
ツプを与え、これにより、軽量で、コンパクトな複数並
列式のプロセツサ装置を作ることができる。
【図1】従来の技術に基づいて構成された最近のSIM
Dプロセツサを説明するための模式図である。
Dプロセツサを説明するための模式図である。
【図2】シリコン・ベースのチツプ上で、プロセツサ、
メモリ、制御ロジツク及び連想メモリで構成された1対
の基本的なピケツト・ユニツトであつて、ピケツト連想
メモリがアレイ中の他のピケツトとバイト単位のコミユ
ニケーシヨンをするピケツト・ユニツトを示す図である
。
メモリ、制御ロジツク及び連想メモリで構成された1対
の基本的なピケツト・ユニツトであつて、ピケツト連想
メモリがアレイ中の他のピケツトとバイト単位のコミユ
ニケーシヨンをするピケツト・ユニツトを示す図である
。
【図3】連想メモリの処理動作を説明するための図であ
る。
る。
【図4】マイクロプロセツサのコントローラと、キヤン
ド・ルーチンのための金属配線されたシーケンス・コン
トローラと、ピケツトのアレイとを使用し、そして、独
立した1個の単体として作ることができ、基本的な並列
ピケツト処理システムとして形成されたSIMDサブシ
ステムのための基本的な16(n)個のピケツト構成を
説明するための図である。
ド・ルーチンのための金属配線されたシーケンス・コン
トローラと、ピケツトのアレイとを使用し、そして、独
立した1個の単体として作ることができ、基本的な並列
ピケツト処理システムとして形成されたSIMDサブシ
ステムのための基本的な16(n)個のピケツト構成を
説明するための図である。
【図5】複数個の図4のピケツト・プロセツサを使用し
た複数ピケツト・プロセツサの装置を示す図である。
た複数ピケツト・プロセツサの装置を示す図である。
【図6】複数個の図4のピケツト・プロセツサを組み入
れた複数ピケツト処理システムを示す図である。
れた複数ピケツト処理システムを示す図である。
【図7】図5に示したカードを持つサブシステム・コン
トローラの配列を示す図である。
トローラの配列を示す図である。
14 アレイ・コントローラ
20 行選択ライン
22 列選択ライン
24 アドレス・バス
28 ホスト・プロセツサ
30 データ・バス
31 制御バス
100 ピケツト・ユニツト
101 ALU(算術演算ユニツト)102 ロー
カル・メモリ 103 ブロードキヤスト・データ・アドレス・バス
104 Bレジスタ 105 Aレジスタ 106 Qレジスタ 107 ステータス・レジスタ 402 インストラクシヨン・シーケンサ403
実行制御 405 ローカル・レジスタ 406 ピケツトのアレイ 407 マイクロコード 408 キヤンド・ルーチン(ラン・タイム・ライブ
ラリ) 411 ルーチン・ライブラリ 412 ユーザ・プログラム 413 データ・バツフア 510 複数並列式ピケツト・プロセツサ装置702
サブシステム・コントローラ703 シーケンサ
・カード
カル・メモリ 103 ブロードキヤスト・データ・アドレス・バス
104 Bレジスタ 105 Aレジスタ 106 Qレジスタ 107 ステータス・レジスタ 402 インストラクシヨン・シーケンサ403
実行制御 405 ローカル・レジスタ 406 ピケツトのアレイ 407 マイクロコード 408 キヤンド・ルーチン(ラン・タイム・ライブ
ラリ) 411 ルーチン・ライブラリ 412 ユーザ・プログラム 413 データ・バツフア 510 複数並列式ピケツト・プロセツサ装置702
サブシステム・コントローラ703 シーケンサ
・カード
Claims (39)
- 【請求項1】 各ピケツト・ユニツトが1つの処理エ
レメントに対して連想処理を行なう連想式の動作方法に
おいて、すべてのピケツト・ユニツト中の情報を並列に
処理するための処理エレメントに接続されているローカ
ル・メモリが組み合わされているビツト並列の処理エレ
メントを有するピケツト・ユニツトを複数個含む並列処
理システム。 - 【請求項2】 上記複数個のピケツト・ユニツトのメ
モリはアレイに配列されており、それらのメモリを持つ
ピケツト・ユニツトのアレイはセツト連想メモリを構成
することを特徴とする請求項1に記載の並列処理システ
ム。 - 【請求項3】 シリコン・ベースのチツプ上に複数の
メモリを有するピケツトの処理エレメントのアレイが形
成され、各処理エレメントの1つが2つのピケツト・ユ
ニツトの間で2方向にデータを通過する隣位置コミユニ
ケーシヨン通路によつて、バイト幅の列内容でアドレス
可能であり、論理行に、即ちアレイに配列されたメモリ
として動作することができるように、シリコン・ベース
のチツプ上に形成され、且つ、両側に隣接するピケツト
・ユニツトと共にアレイを形成している複数個のピケツ
ト・ユニツトを含むことを特徴とする請求項1に記載の
並列処理システム。 - 【請求項4】 複数個のピケツト・ユニツト及びメモ
リを有することと、各ピケツトの処理エレメント及びメ
モリの間と、ピケツト・ユニツトの間とにデータ・フロ
ーの通路を有するピケツト処理アレイのメモリ・チツプ
が与えられていることとを特徴とする請求項1に記載の
並列処理システム。 - 【請求項5】 アレイに配列された複数個のピケツト
・ユニツトが与えられ、各処理エレメントに対して1対
1で結合されたメモリを有するピケツト・ユニツトの間
でデータを転送する通路は、隣りのピケツト・ユニツト
の方向の左側若しくは右側に通じるか、または、スライ
ド・コミユニケーシヨンを与えるスライド手段によつて
離隔したピケツト・ユニツトに通じることを特徴とする
請求項1に記載の並列処理システム。 - 【請求項6】 上記スライド手段は、送られるメツセ
ージに対してピケツト・ユニツトが透過でなければ、通
常はその情報を受け取ることのできるピケツトのアドレ
ス・ロケーシヨンを通過して、最も近くにあるアクテイ
ブなピケツト・ユニツトにメツセージが到着して受け取
られるまで、隣ではないピケツト・ユニツト位置に1サ
イクルで情報を転送するのを可能とすることを特徴とす
る請求項5に記載の並列処理システム。 - 【請求項7】 上記スライド手段は、転送サイクルの
前に、割り込みピケツトが割込みピケツト・ユニツトを
オフにすることによつて透過にされ、そして、転送サイ
クルにおいて、制御手段が離隔したピケツト・ユニツト
の到達位置に、第1のピケツト・ユニツトにその情報を
送らせた時に、第1のピケツト・ユニツトから離隔した
ピケツト・ユニツトへの情報の転送が可能となるように
、「ターン・オフ」にされたピケツトを通過して、隣で
はない位置に情報を送ることによつて、スライド機能を
可能とすることを特徴とする請求項6に記載の並列処理
システム。 - 【請求項8】 2次元アレイを通る格子を直線的に通
つてメツセージを転送し、または、アレイ中の3次元方
向にメツセージを転送する手段が与えられたことを特徴
とする請求項6に記載の並列処理システム。 - 【請求項9】 各ピケツト・ユニツトはプロセツサに
接続されたローカル・メモリにアクセスするプロセツサ
を有し、そして、キヤラクタ幅、またはキヤラクタ幅の
倍数の幅のデータ及びインストラクシヨンがシステムの
1クロツク・サイクルでピケツト・ユニツトの間を通過
することを特徴とする請求項1に記載の並列処理システ
ム。 - 【請求項10】 各ピケツト・チツプはそれ自身のロ
ーカル・メモリを有することと、各ローカル・メモリは
、少なくとも32キロバイトのストレージを持つピケツ
ト・ユニツトのアレイ中にキヤラクタ幅のセツト連想メ
モリが与えられていることと、リニヤ・サブアレイのノ
ードとして16ピケツト・ユニツトが与えられているこ
ととを特徴とする請求項1に記載の並列処理システム。 - 【請求項11】 すべてのピケツト・ユニツトが同時
に同じデータを見ることができるように、ピケツト・ユ
ニツトの間のコミユニケーシヨンに対してブロードキヤ
スト・バスが与えられていることを特徴とする請求項2
に記載の並列処理システム。 - 【請求項12】 ピケツト・ユニツトのローカル・メ
モリは、メモリ・アレイの中でCMOSのDRAM型メ
モリであり、メモリ・アレイの裏側の列デマルチプレキ
シングを削除することによつて行−列アクセスをサポー
トし、そして、メモリ・アレイの行から、並列にデータ
・フローを読み出させる行アドレスを与えることを特徴
とする請求項2に記載の並列処理システム。 - 【請求項13】 ロジツク1か、またはロジツク0か
、またはドントケアの何れかを表示するロジツクによつ
て、3つの状態があり、且つ、セツト連想メモリのスト
レージ・アレイの中の相次ぐストレージ・ロケーシヨン
に、トリビツト(トリツト)が含まれるように、メモリ
はデータに加えて、「トリツト」を含むことを特徴とす
る請求項2に記載の並列処理システム。 - 【請求項14】 ピケツト・ユニツトによる個々の動
作に対して制御機能を与えるためのピケツト・ユニツト
制御手段が与えられていることを特徴とする請求項1に
記載の並列処理システム。 - 【請求項15】 上記ローカル・メモリは複数ビツト
のバイナリ参照ストレージ・アドレスを有することを特
徴とする請求項1に記載の並列処理システム。 - 【請求項16】 特別の状態に一致するステータス出
力を持つピケツト・ユニツトにおいて個々のピケツト・
ユニツト内の動作を一時中止させる制御機能用の制御手
段及び外部制御ストアが与えられ、上記制御機能は、ド
ーズ機能及び禁止機能を与え、ピケツト・ユニツトの状
態に基いてメモリを書き込み可能とし、上記外部制御ス
トアからの信号を受け取つた後に、ピケツト・ユニツト
に与えられた制御機能を可能とすることを特徴とする請
求項1に記載の並列処理システム。 - 【請求項17】 上記各ローカル・メモリ及びピケツ
ト・ユニツトの処理エレメントは、バイト転送手段と、
メモリ中の情報の位置のマスクと、データを入力する手
段とが与えられ、更に、サーチを行なうためにメモリを
アドレスする手段と、メモリ中のN個のワード中の1つ
のワードをサーチするために、サーチ用のマスク及びデ
ータの入力用の手段とが与えられ、サーチで一致した位
置は一致信号ラインを上昇し、別の動作が第1の一致を
選択し、上昇された選択ラインが参画を表示し、そして
、ブロードキヤスト・データが選択されたすべてのワー
ド位置にコピーされるブロードキヤスト動作を行なうブ
ロードキヤスト手段が設けられていることとを特徴とす
る請求項2に記載の並列処理システム。 - 【請求項18】 外部コントローラと、論理ゲート及
びレジスタを持つ複数個の処理ユニツトと、メモリとを
含む並列処理システム中で、デイジタル・システムの記
述を保持するための方法において、記述されたゲートが
発生した信号をその入力及び名前として記述し、受け取
つた信号のリストとしてデイジタル・システムの各ゲー
トの記述を割り当てるステツプと、上記信号が変化する
たびに、その名前がすべての処理ユニツトにブロードキ
ヤストされ、そして、予想されている入力信号の名前と
並列に比較されることを要求するステツプと、上記比較
の一致が見い出されたか否かを続け、そして、データフ
ロー・レジスタの新しい値を処理ユニツト中に記録する
ステツプと、すべての上記信号変化が記録されるまで続
行し、次に、出力を計算するために入力の現在の組をど
のように使用するかをそれらのデータフローに通知する
制御ワードをすべての処理ユニツトに並列に読み出させ
るステツプと、これらの計算を並列に行なわせて、その
結果をローカル・ゲートからの古い値と比較するステツ
プと、出力が変化した処理ユニツトのすべてのゲートを
データ・フローのステータス・レジスタ中に記録し、そ
して、外部コントローラにより、すべての処理ユニツト
に対して質問させて、変化した次のゲートを求めるステ
ツプと、上記処理ユニツトからの該当信号名及び値を、
他のすべての処理ユニツトに対してブロードキヤストし
、そして、信号変化が最早や発生しないか、または処理
が停止されるまで、上述のサイクルが繰り返されること
を含むデイジタル・システムの記述を保持する方法。 - 【請求項19】 処理ユニツト及びメモリの間でデー
タ及び制御信号を転送するために接続された複数個の処
理ユニツト及びローカル・メモリを持つ並列処理システ
ムを使用するデータの比較方法において、すべての辞書
名の最初の文字が、並列処理システムの複数個の処理ユ
ニツトにブロードキヤストされる所定のブロードキヤス
ト名の最初の文字と比較することができるように、処理
ユニツトのメモリ中に辞書の名前をストアすることと、
一致しないすべての処理ユニツトは与えられた制御特性
によつてオフにされ、次に、辞書名の第2の文字が比較
され、その後、アクテイブな処理ユニツトが無くなるか
、または辞書名の最終文字に達するまで、処理ユニツト
をオフにするプロシージヤが繰り返され、次に、上記処
理ユニツトに質問が与えられ、その後、処理ユニツトか
ら読み取られるべき所望のデータを索引することからな
るデータの比較方法。 - 【請求項20】 処理ユニツトは、各処理ユニツトに
対して1対1の関係でローカル・メモリに結合されてい
るALU、マスク・レジスタ、ラツチ、ステータス・レ
ジスタ(SR)及びデータ・フロー・レジスタ(DF)
を含む請求項1に記載の並列処理システム。 - 【請求項21】 上記ローカル・メモリは複数ビツト
幅のダイナミツク・ランダム・アクセス・メモリであり
、各ピケツト処理ユニツトのロジツクは、ダイナミツク
・ランダム・アクセス・メモリのローカル・メモリと同
じシリコン・チツプ基体上に形成されており、そして、
ローカル・メモリとその処理エレメントとの間には1対
1の直接の結合関係があり、セルを有する上記ローカル
・メモリは複数ビツト・アドレスを持つていることを特
徴とする請求項1に記載の並列処理システム。 - 【請求項22】 各処理ユニツトはマスク・レジスタ
とラツチが与えられており、上記ラツチは、上記複数個
の処理ユニツトに対して共通であるコミユニケーシヨン
・ラインに沿つて各処理ユニツトの接続ポートとして機
能するように設けられていることを特徴とする請求項1
に記載の並列処理システム。 - 【請求項23】 上記システムの個々のピケツト処理
ユニツトの状態を制御するために、外部制御シーケンサ
及びローカル制御レジスタ手段を有することを特徴とす
る請求項1に記載の並列処理システム。 - 【請求項24】 上記複数個のピケツト・ユニツトは
ローカルな独立性を持ち、そして、上記ピケツト・ユニ
ツトの結合ユニツト・アレイとして構成可能であること
を特徴とする請求項23に記載の並列処理システム。 - 【請求項25】 上記システムはSIMD及びMIM
Dとして構成することができ、そして、上記複数個の処
理ユニツトはプログラム可能な構成に割り当てされ、シ
ステムの個々の処理ユニツトは妥当なローカルな独立性
を持つていることを特徴とする請求項24に記載の並列
処理システム。 - 【請求項26】 バスを介して上記外部制御レジスタ
とコミユニケートし、大域インストラクシヨンを並列処
理システムによつて実行させる手段を持つているメーン
・プロセツサ・システムを有することを特徴とする請求
項23に記載の並列処理システム。 - 【請求項27】 上記外部制御シーケンサはマイクロ
コード・メモリに接続され、上記マイクロコード・メモ
リは機能用のキヤンド・ルーチンによつてプログラム可
能であることを特徴とする請求項23に記載の並列処理
システム。 - 【請求項28】 上記シーケンサは、バスにより上記
シーケンサに接続された処理ユニツトの機能を制御する
ための高い機能マクロが与えられており、システムのロ
ーカル・メモリのメモリ・アドレツシングは、バイト幅
のデータ・フローと、論理機能、加算、乗算及び除算機
能に使用されるモジユロ8の算術演算ロジツクを可能と
し、そして、上記並列ユニツトの中で浮動小数点動作と
、個々のピケツト処理ユニツトの別々のアドレツシング
によつて独立したスリープ及びドーズ・モードとが与え
られていることを特徴とする請求項26に記載の並列処
理システム。 - 【請求項29】 機能の動作は、上記メーン・プロセ
ツサ・システム、キヤンド・ルーチンを持つ上記外部制
御シーケンサ、上記ローカル・レジスタ手段、または上
記複数個のピケツト処理ユニツトにおいてプログラム的
に割り当てすることが可能であり、複数データの拡張処
理を必要とする単一インストラクシヨンは、SIMD処
理のために構成された上記複数個の処理ユニツトに割り
当てられていることを特徴とする請求項26に記載の並
列処理システム。 - 【請求項30】 システムの処理ユニツトは、プログ
ラム可能なローカルな独立性を持つ処理ユニツトのアレ
イによつて処理ユニツトのアレイに接続されており、ピ
ケツト処理ユニツトは、インストラクシヨンのそれ自身
のシーケンスによつて動作され、そして、データの状態
に基いて他の処理ユニツトに結合された動作に入るか、
または他の処理ユニツトに結合された動作から抜け出る
ことができ、そして、システムの処理ユニツトは浮動小
数点動作と関連した整列及び正規化動作を独立して行な
うことができることを特徴とする請求項24に記載の並
列処理システム。 - 【請求項31】 上記外部制御シーケンサは、キヤン
ド・ルーチン・ライブラリによつて与えられるキヤンド
・ルーチンによつて、CALL(,)、Load、Bl
ock、Sin、Cos、Find、Min、Rang
e及びMatrixMultiply等の動作を遂行す
るように構成されたことを特徴とする請求項23に記載
の並列処理システム。 - 【請求項32】 上記キヤンド・ルーチンはLoad
、Read、Add、Multiply及びMatch
機能の実行制御が与えられていることを特徴とする請求
項31に記載の並列処理システム。 - 【請求項33】 上記処理エレメントは上記アレイの
隣の処理ユニツトのアレイ中のデータ及び相互接続ネツ
トワークを介して上記システム中のページの間のデータ
を交換することを特徴とする請求項2に記載の並列処理
システム。 - 【請求項34】 上記ピケツト・アレイのために外部
制御プロセツサが与えられており、マイクロ・コードは
上記アレイの中の上記ピケツト・プロセツサのグループ
中のすべてのピケツトに対して並列に転送され、そして
、ピケツト処理ユニツトは、外部制御プロセツサが同じ
クロツク時間で実行できるように、同じクロツク・シス
テムに同期されていることを特徴とする請求項2に記載
の並列処理システム。 - 【請求項35】 ピケツト・アレイ用の上記外部制御
プロセツサの上に、マイクロ・チヤンネル・バスを通つ
て外部制御プロセツサに接続されたトツプ制御システム
・マイクロプロセツサがあり、そして、プロセツサのサ
ブセツトは制御フローに対して独立して応答するけれど
も、任意の時間において、アレイのすべてのピケツト処
理ユニツトが同じインストラクシヨンを実行するように
、システムが結合されていることを特徴とする請求項3
4に記載の並列処理システム。 - 【請求項36】 複数個で並列なピケツト処理ユニツ
トが外部ピケツト・コントローラとコミユニケートする
アドレス・バスに沿つて配列されており、ピケツト・シ
ステムのローカル・メモリに対して共通のベクトル・ア
ドレスがあり、そして、ピケツト・システムの各ローカ
ル・メモリに対してどのデータを通過するかを制御する
ためのデータ・ベクトル・アドレス・レジスタ手段があ
ることを特徴とする請求項1に記載の並列処理システム
。 - 【請求項37】 1つのピケツトから他のピケツトに
メツセージを通過する接続通路を準備している間に、ア
レイ中の他のすべてのピケツトと、ビツトに対して並列
にコミユニケートするための方法及び手段を与えるため
に、アレイに配列された複数個のピケツト・ユニツトと
、コミユニケーシヨン通路を持つピケツト・ユニツトの
間のデータ・フロー用の通路とを設けたことを特徴とす
る請求項2に記載の並列処理システム。 - 【請求項38】 ワイヤ−オア、またはドツトで接続
されたピケツトを使用して動作するN次元アレイを介し
て一方から他方にメツセージを通過することを特徴とす
る請求項37に記載の並列処理システム。 - 【請求項39】 ローカル・メモリの小さなセクシヨ
ンの中のすべてのロケーシヨンが、与えられたパターン
に対して一致比較動作を行なうようにしたことを特徴と
する請求項2に記載の並列処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US61159490A | 1990-11-13 | 1990-11-13 | |
US611594 | 1990-11-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04267466A true JPH04267466A (ja) | 1992-09-24 |
Family
ID=24449647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3278900A Pending JPH04267466A (ja) | 1990-11-13 | 1991-10-01 | 連想並列処理システム |
Country Status (15)
Country | Link |
---|---|
US (1) | US5822608A (ja) |
EP (1) | EP0485690B1 (ja) |
JP (1) | JPH04267466A (ja) |
KR (1) | KR960016880B1 (ja) |
CN (1) | CN1050919C (ja) |
AT (1) | ATE180586T1 (ja) |
BR (1) | BR9104603A (ja) |
CA (1) | CA2050166A1 (ja) |
CZ (1) | CZ280210B6 (ja) |
DE (1) | DE69131272T2 (ja) |
HU (1) | HU215139B (ja) |
PL (1) | PL167329B1 (ja) |
RU (1) | RU2084953C1 (ja) |
SK (1) | SK344091A3 (ja) |
TW (1) | TW229289B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6412059B1 (en) | 1998-10-02 | 2002-06-25 | Nec Corporation | Method and device for controlling cache memory |
Families Citing this family (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5625836A (en) | 1990-11-13 | 1997-04-29 | International Business Machines Corporation | SIMD/MIMD processing memory element (PME) |
US5765015A (en) | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Slide network for an array processor |
JP2525117B2 (ja) * | 1992-05-22 | 1996-08-14 | インターナショナル・ビジネス・マシーンズ・コーポレイション | アレイ・プロセッサ |
US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
WO1996035997A1 (fr) * | 1996-05-22 | 1996-11-14 | Yalestown Corporation N.V. | Processeur parallele |
DE19651075A1 (de) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
DE19654593A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit |
DE19654846A1 (de) | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
JP3961028B2 (ja) | 1996-12-27 | 2007-08-15 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等) |
DE19704044A1 (de) * | 1997-02-04 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine |
DE19704728A1 (de) | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704742A1 (de) | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
US6786420B1 (en) | 1997-07-15 | 2004-09-07 | Silverbrook Research Pty. Ltd. | Data distribution mechanism in the form of ink dots on cards |
US6021453A (en) * | 1997-04-24 | 2000-02-01 | Klingman; Edwin E. | Microprocessor unit for use in an indefinitely extensible chain of processors with self-propagation of code and data from the host end, self-determination of chain length and ID, (and with multiple orthogonal channels and coordination ports) |
US6789212B1 (en) | 1997-04-24 | 2004-09-07 | Edwin E. Klingman | Basic cell for N-dimensional self-healing arrays |
US6618117B2 (en) | 1997-07-12 | 2003-09-09 | Silverbrook Research Pty Ltd | Image sensing apparatus including a microcontroller |
US6803989B2 (en) | 1997-07-15 | 2004-10-12 | Silverbrook Research Pty Ltd | Image printing apparatus including a microcontroller |
AUPO850597A0 (en) | 1997-08-11 | 1997-09-04 | Silverbrook Research Pty Ltd | Image processing method and apparatus (art01a) |
US6624848B1 (en) | 1997-07-15 | 2003-09-23 | Silverbrook Research Pty Ltd | Cascading image modification using multiple digital cameras incorporating image processing |
US6879341B1 (en) | 1997-07-15 | 2005-04-12 | Silverbrook Research Pty Ltd | Digital camera system containing a VLIW vector processor |
US6690419B1 (en) | 1997-07-15 | 2004-02-10 | Silverbrook Research Pty Ltd | Utilising eye detection methods for image processing in a digital image camera |
US7724282B2 (en) | 1997-07-15 | 2010-05-25 | Silverbrook Research Pty Ltd | Method of processing digital image to correct for flash effects |
US6985207B2 (en) | 1997-07-15 | 2006-01-10 | Silverbrook Research Pty Ltd | Photographic prints having magnetically recordable media |
US7110024B1 (en) | 1997-07-15 | 2006-09-19 | Silverbrook Research Pty Ltd | Digital camera system having motion deblurring means |
US7551201B2 (en) | 1997-07-15 | 2009-06-23 | Silverbrook Research Pty Ltd | Image capture and processing device for a print on demand digital camera system |
AUPO802797A0 (en) | 1997-07-15 | 1997-08-07 | Silverbrook Research Pty Ltd | Image processing method and apparatus (ART54) |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
US6484065B1 (en) * | 1997-12-29 | 2002-11-19 | Kawasaki Microelectronics, Inc. | DRAM enhanced processor |
JP4158864B2 (ja) | 1998-03-18 | 2008-10-01 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | マトリックスのコサイン変換を計算するためのデータ処理装置およびその方法 |
US6079008A (en) * | 1998-04-03 | 2000-06-20 | Patton Electronics Co. | Multiple thread multiple data predictive coded parallel processing system and method |
US6067609A (en) * | 1998-04-09 | 2000-05-23 | Teranex, Inc. | Pattern generation and shift plane operations for a mesh connected computer |
US6185667B1 (en) * | 1998-04-09 | 2001-02-06 | Teranex, Inc. | Input/output support for processing in a mesh connected computer |
US6836838B1 (en) | 1998-06-29 | 2004-12-28 | Cisco Technology, Inc. | Architecture for a processor complex of an arrayed pipelined processing engine |
DE19840210A1 (de) * | 1998-09-03 | 2000-03-09 | Fraunhofer Ges Forschung | Verfahren zur Handhabung einer Mehrzahl von Schaltungschips |
AUPP702098A0 (en) | 1998-11-09 | 1998-12-03 | Silverbrook Research Pty Ltd | Image creation method and apparatus (ART73) |
US6658575B1 (en) * | 1999-03-17 | 2003-12-02 | Olympus Optical Co., Ltd. | Voice recording/reproducing apparatus which enters a standby mode while in a communication mode with an external device |
AUPQ056099A0 (en) | 1999-05-25 | 1999-06-17 | Silverbrook Research Pty Ltd | A method and apparatus (pprint01) |
AU5805300A (en) | 1999-06-10 | 2001-01-02 | Pact Informationstechnologie Gmbh | Sequence partitioning in cell structures |
AU2471001A (en) * | 1999-10-26 | 2001-05-08 | Arthur D. Little, Inc. | Multiplexing n-dimensional mesh connections onto (n + 1) data paths |
US6728863B1 (en) | 1999-10-26 | 2004-04-27 | Assabet Ventures | Wide connections for transferring data between PE's of an N-dimensional mesh-connected SIMD array while transferring operands from memory |
US6425026B1 (en) * | 2000-02-23 | 2002-07-23 | Teranex, Inc. | Distribution, processing, and reconstruction of variable-sized images using multiple processor arrays |
US6317695B1 (en) | 2000-03-30 | 2001-11-13 | Nutec Sciences, Inc. | Seismic data processing method |
US6452789B1 (en) * | 2000-04-29 | 2002-09-17 | Hewlett-Packard Company | Packaging architecture for 32 processor server |
DE50115584D1 (de) | 2000-06-13 | 2010-09-16 | Krass Maren | Pipeline ct-protokolle und -kommunikation |
US6745268B1 (en) | 2000-08-11 | 2004-06-01 | Micron Technology, Lnc. | Capacitive multidrop bus compensation |
WO2002029601A2 (en) * | 2000-10-04 | 2002-04-11 | Pyxsys Corporation | Simd system and method |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
JP2004517386A (ja) | 2000-10-06 | 2004-06-10 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | 方法および装置 |
CN1322452C (zh) * | 2001-02-24 | 2007-06-20 | 国际商业机器公司 | 环形和树形网络中的算术函数 |
EP1370967A4 (en) * | 2001-02-24 | 2009-10-21 | Ibm | OPTIMIZED RESIZING NETWORK SWITCH |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US7581076B2 (en) | 2001-03-05 | 2009-08-25 | Pact Xpp Technologies Ag | Methods and devices for treating and/or processing data |
RU2202123C2 (ru) * | 2001-06-06 | 2003-04-10 | Бачериков Геннадий Иванович | Параллельная вычислительная система с программируемой архитектурой |
US7657877B2 (en) | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
US7383421B2 (en) * | 2002-12-05 | 2008-06-03 | Brightscale, Inc. | Cellular engine for a data processing system |
US7069386B2 (en) * | 2001-08-10 | 2006-06-27 | Connex Technology, Inc. | Associative memory device |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US7577822B2 (en) | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
WO2003060747A2 (de) | 2002-01-19 | 2003-07-24 | Pact Xpp Technologies Ag | Reconfigurierbarer prozessor |
WO2003071432A2 (de) | 2002-02-18 | 2003-08-28 | Pact Xpp Technologies Ag | Bussysteme und rekonfigurationsverfahren |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US9170812B2 (en) * | 2002-03-21 | 2015-10-27 | Pact Xpp Technologies Ag | Data processing system having integrated pipelined array data processor |
AU2003286131A1 (en) | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US7451143B2 (en) * | 2002-08-28 | 2008-11-11 | Cisco Technology, Inc. | Programmable rule processing apparatus for conducting high speed contextual searches and characterizations of patterns in data |
US7394284B2 (en) | 2002-09-06 | 2008-07-01 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
WO2004038555A2 (en) | 2002-10-22 | 2004-05-06 | Isys Technologies | Robust customizable computer processing system |
KR101279726B1 (ko) | 2002-10-22 | 2013-06-27 | 제이슨 에이. 설리반 | 동적 모듈식 처리 유닛을 제공하기 위한 시스템 및 방법 |
JP2006512691A (ja) | 2002-10-22 | 2006-04-13 | アイシス テクノロジーズ | 改善された熱放散特性を有する非周辺処理制御モジュール |
GB0226249D0 (en) * | 2002-11-11 | 2002-12-18 | Clearspeed Technology Ltd | Traffic handling system |
US20040107197A1 (en) * | 2002-11-29 | 2004-06-03 | Shen Yu Yong | System, method and user interface allowing customized portfolio management |
US20040107214A1 (en) * | 2002-11-29 | 2004-06-03 | Hung Lup Cheong Patrick | Customized document portfolio system integrating IP libraries and technology documents |
US20040117374A1 (en) * | 2002-12-16 | 2004-06-17 | Hung Lup Cheong Patrick | Customized design portfolio integrating IP libraries and technology documents |
US7386539B2 (en) * | 2002-11-29 | 2008-06-10 | Taiwan Semiconductor Manufacturing Company, Ltd. | System, method, and user interface providing customized document portfolio management |
US7464254B2 (en) * | 2003-01-09 | 2008-12-09 | Cisco Technology, Inc. | Programmable processor apparatus integrating dedicated search registers and dedicated state machine registers with associated execution hardware to support rapid application of rulesets to data |
JP3987805B2 (ja) * | 2003-01-27 | 2007-10-10 | Necエレクトロニクス株式会社 | アレイ型プロセッサ |
EP1676208A2 (en) | 2003-08-28 | 2006-07-05 | PACT XPP Technologies AG | Data processing device and method |
WO2005103927A1 (en) * | 2004-04-22 | 2005-11-03 | Waratek Pty Limited | Modified computer architecture with finalization of objects |
JP2006243839A (ja) * | 2005-02-28 | 2006-09-14 | Toshiba Corp | 命令生成装置及び命令生成方法 |
US20090116484A1 (en) * | 2005-09-08 | 2009-05-07 | Matsushita Electric Industrial Co., Ltd. | Parallelizing Peer-to-Peer Overlays Using Multi-Destination Routing |
US7451293B2 (en) * | 2005-10-21 | 2008-11-11 | Brightscale Inc. | Array of Boolean logic controlled processing elements with concurrent I/O processing and instruction sequencing |
CN101371263A (zh) * | 2006-01-10 | 2009-02-18 | 光明测量公司 | 用于在并行处理系统中处理多媒体数据的算法步骤的方法和装置 |
WO2007082730A1 (de) | 2006-01-18 | 2007-07-26 | Pact Xpp Technologies Ag | Hardwaredefinitionsverfahren |
US8656143B2 (en) | 2006-03-13 | 2014-02-18 | Laurence H. Cooke | Variable clocked heterogeneous serial array processor |
US20070226455A1 (en) * | 2006-03-13 | 2007-09-27 | Cooke Laurence H | Variable clocked heterogeneous serial array processor |
US7657496B2 (en) * | 2006-06-26 | 2010-02-02 | Saffron Technology, Inc. | Nonlinear associative memories using linear arrays of associative memory cells, and methods of operating same |
US20080059764A1 (en) * | 2006-09-01 | 2008-03-06 | Gheorghe Stefan | Integral parallel machine |
US20080244238A1 (en) * | 2006-09-01 | 2008-10-02 | Bogdan Mitu | Stream processing accelerator |
US20080059763A1 (en) * | 2006-09-01 | 2008-03-06 | Lazar Bivolarski | System and method for fine-grain instruction parallelism for increased efficiency of processing compressed multimedia data |
US20080059467A1 (en) * | 2006-09-05 | 2008-03-06 | Lazar Bivolarski | Near full motion search algorithm |
US7990724B2 (en) | 2006-12-19 | 2011-08-02 | Juhasz Paul R | Mobile motherboard |
US8954484B2 (en) | 2009-06-12 | 2015-02-10 | Cray Inc. | Inclusive or bit matrix to compare multiple corresponding subfields |
US9251207B2 (en) * | 2007-11-29 | 2016-02-02 | Microsoft Technology Licensing, Llc | Partitioning and repartitioning for data parallel operations |
WO2010035173A1 (en) * | 2008-09-29 | 2010-04-01 | Nxp B.V. | Visual prosthesis implant |
DE102009025572A1 (de) * | 2009-06-19 | 2010-12-23 | Wolfgang Pree Gmbh | Eine Methode zur Entwicklung von garantiert korrekten Echtzeitsystemen |
US8930896B1 (en) | 2010-07-23 | 2015-01-06 | Amazon Technologies, Inc. | Data anonymity and separation for user computation |
RU2436151C1 (ru) | 2010-11-01 | 2011-12-10 | Федеральное государственное унитарное предприятие "Российский Федеральный ядерный центр - Всероссийский научно-исследовательский институт экспериментальной физики" (ФГУП "РФЯЦ-ВНИИЭФ") | Способ определения структуры гибридной вычислительной системы |
US20140281369A1 (en) * | 2011-12-23 | 2014-09-18 | Ashish Jha | Apparatus and method for sliding window data gather |
RU2513759C1 (ru) * | 2012-11-01 | 2014-04-20 | Федеральное государственное бюджетное учреждение науки Российской академии наук Научно-исследовательский институт системных исследований РАН (НИИСИ РАН) | Гетерогенный процессор |
US9323714B2 (en) * | 2012-12-06 | 2016-04-26 | Coherent Logix, Incorporated | Processing system with synchronization instruction |
CN105046162B (zh) * | 2014-03-12 | 2018-07-27 | 西部数据技术公司 | 在内容可寻址存储系统中维护并使用子对父映射的缓存 |
RU2614926C2 (ru) * | 2015-07-06 | 2017-03-30 | Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" | Мультипроцессорная система |
US9875045B2 (en) * | 2015-07-27 | 2018-01-23 | International Business Machines Corporation | Regular expression matching with back-references using backtracking |
CN110337369B (zh) * | 2017-04-14 | 2021-01-26 | 惠普发展公司,有限责任合伙企业 | 用于激活信号的延迟元件 |
CN113918481A (zh) | 2017-07-30 | 2022-01-11 | 纽罗布拉德有限公司 | 一种存储器芯片 |
US11514996B2 (en) | 2017-07-30 | 2022-11-29 | Neuroblade Ltd. | Memory-based processors |
US10402165B2 (en) * | 2017-08-30 | 2019-09-03 | Gsi Technology Inc. | Concurrent multi-bit adder |
US11256503B2 (en) | 2019-03-11 | 2022-02-22 | Untether Ai Corporation | Computational memory |
US12124530B2 (en) | 2019-03-11 | 2024-10-22 | Untether Ai Corporation | Computational memory |
CN111290787B (zh) * | 2019-06-19 | 2022-11-08 | 锐迪科(重庆)微电子科技有限公司 | 运算装置及运算方法 |
WO2021033125A1 (en) * | 2019-08-16 | 2021-02-25 | Untether Ai Corporation | Computational memory with processing element row and bank communications |
US11342944B2 (en) | 2019-09-23 | 2022-05-24 | Untether Ai Corporation | Computational memory with zero disable and error detection |
US11468002B2 (en) | 2020-02-28 | 2022-10-11 | Untether Ai Corporation | Computational memory with cooperation among rows of processing elements and memory thereof |
US11500811B2 (en) * | 2020-06-12 | 2022-11-15 | Alibaba Group Holding Limited | Apparatuses and methods for map reduce |
CN112540793A (zh) * | 2020-12-18 | 2021-03-23 | 清华大学 | 支持多访存模式的可重构处理单元阵列及控制方法、装置 |
CN118432817B (zh) * | 2024-07-02 | 2024-08-30 | 中山大学 | 基于risc-v处理器的量子密钥分发后处理片上系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6219960A (ja) * | 1985-07-17 | 1987-01-28 | Nec Corp | 多段構成プロセツサシステム |
JPS62139066A (ja) * | 1985-12-12 | 1987-06-22 | インタ−ナシヨナル・スタンダ−ド・エレクトリツク・コ−ポレイシヨン | オンバンドramおよびアドレス発生装置を有する単一命令多重デ−タセルアレイ処理装置 |
Family Cites Families (120)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3537074A (en) * | 1967-12-20 | 1970-10-27 | Burroughs Corp | Parallel operating array computer |
US3544973A (en) * | 1968-03-13 | 1970-12-01 | Westinghouse Electric Corp | Variable structure computer |
US4942516A (en) * | 1970-12-28 | 1990-07-17 | Hyatt Gilbert P | Single chip integrated circuit computer architecture |
US3970993A (en) * | 1974-01-02 | 1976-07-20 | Hughes Aircraft Company | Cooperative-word linear array parallel processor |
US4107773A (en) * | 1974-05-13 | 1978-08-15 | Texas Instruments Incorporated | Advanced array transform processor with fixed/floating point formats |
US4101960A (en) * | 1977-03-29 | 1978-07-18 | Burroughs Corporation | Scientific processor |
US4270170A (en) * | 1978-05-03 | 1981-05-26 | International Computers Limited | Array processor |
US4380046A (en) * | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
US4412303A (en) * | 1979-11-26 | 1983-10-25 | Burroughs Corporation | Array processor architecture |
US4314349A (en) * | 1979-12-31 | 1982-02-02 | Goodyear Aerospace Corporation | Processing element for parallel array processors |
US4338675A (en) * | 1980-02-13 | 1982-07-06 | Intel Corporation | Numeric data processor |
US4435758A (en) * | 1980-03-10 | 1984-03-06 | International Business Machines Corporation | Method for conditional branch execution in SIMD vector processors |
ZA811458B (en) * | 1980-03-28 | 1982-03-31 | Int Computers Ltd | Data processing system |
US4814979A (en) * | 1981-04-01 | 1989-03-21 | Teradata Corporation | Network to transmit prioritized subtask pockets to dedicated processors |
US4394726A (en) * | 1981-04-29 | 1983-07-19 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Distributed multiport memory architecture |
US4468727A (en) * | 1981-05-14 | 1984-08-28 | Honeywell Inc. | Integrated cellular array parallel processor |
DE3144015A1 (de) * | 1981-11-05 | 1983-05-26 | Ulrich Prof. Dr. 7500 Karlsruhe Kulisch | "schaltungsanordnung und verfahren zur bildung von skalarprodukten und summen von gleitkommazahlen mit maximaler genauigkeit" |
US4498133A (en) * | 1981-12-10 | 1985-02-05 | Burroughs Corp. | Selector switch for a concurrent network of processors |
BG35575A1 (en) * | 1982-04-26 | 1984-05-15 | Kasabov | Multimicroprocessor system |
US4523273A (en) * | 1982-12-23 | 1985-06-11 | Purdue Research Foundation | Extra stage cube |
JPS59132070A (ja) * | 1983-01-18 | 1984-07-30 | Mitsubishi Electric Corp | アレイ演算用デ−タ処理装置 |
JPS59146345A (ja) * | 1983-02-10 | 1984-08-22 | Masahiro Sowa | コントロ−ルフロ−並列計算機方式 |
US4739474A (en) * | 1983-03-10 | 1988-04-19 | Martin Marietta Corporation | Geometric-arithmetic parallel processor |
US4598400A (en) * | 1983-05-31 | 1986-07-01 | Thinking Machines Corporation | Method and apparatus for routing message packets |
US5212773A (en) | 1983-05-31 | 1993-05-18 | Thinking Machines Corporation | Wormhole communications arrangement for massively parallel processor |
US5008815A (en) * | 1983-05-31 | 1991-04-16 | Thinking Machines Corporation | Parallel processor |
US5146608A (en) * | 1983-05-31 | 1992-09-08 | Hillis W Daniel | Parallel processor array system controlled in response to composition status signal |
US4814973A (en) | 1983-05-31 | 1989-03-21 | Hillis W Daniel | Parallel processor |
US4621339A (en) * | 1983-06-13 | 1986-11-04 | Duke University | SIMD machine using cube connected cycles network architecture for vector processing |
US4604695A (en) * | 1983-09-30 | 1986-08-05 | Honeywell Information Systems Inc. | Nibble and word addressable memory arrangement |
DE3506749A1 (de) * | 1984-02-27 | 1985-09-26 | Nippon Telegraph & Telephone Public Corp., Tokio/Tokyo | Matrixprozessor und steuerverfahren hierfuer |
US4855903A (en) * | 1984-12-20 | 1989-08-08 | State University Of New York | Topologically-distributed-memory multiprocessor computer |
US4901224A (en) * | 1985-02-25 | 1990-02-13 | Ewert Alfred P | Parallel digital processor |
US5113523A (en) * | 1985-05-06 | 1992-05-12 | Ncube Corporation | High performance computer system |
US4805091A (en) * | 1985-06-04 | 1989-02-14 | Thinking Machines Corporation | Method and apparatus for interconnecting processors in a hyper-dimensional array |
US4967340A (en) * | 1985-06-12 | 1990-10-30 | E-Systems, Inc. | Adaptive processing system having an array of individually configurable processing components |
US5045995A (en) * | 1985-06-24 | 1991-09-03 | Vicom Systems, Inc. | Selective operation of processing elements in a single instruction multiple data stream (SIMD) computer system |
HU195972B (en) | 1985-07-01 | 1988-08-29 | Richter Gedeon Vegyeszet | Process for producing new diamino-androstane derivatives and pharmaceutical compositions containing them |
US5047917A (en) * | 1985-07-12 | 1991-09-10 | The California Institute Of Technology | Apparatus for intrasystem communications within a binary n-cube including buffer lock bit |
US4706191A (en) * | 1985-07-31 | 1987-11-10 | Sperry Corporation | Local store for scientific vector processor |
US4739476A (en) * | 1985-08-01 | 1988-04-19 | General Electric Company | Local interconnection scheme for parallel processing architectures |
EP0212031B1 (en) * | 1985-08-13 | 1990-11-07 | International Business Machines Corporation | Dynamic bandwidth allocation mechanism between circuit slots and packet bit stream in a communication network |
GB8521672D0 (en) * | 1985-08-30 | 1985-10-02 | Univ Southampton | Data processing device |
US4720780A (en) * | 1985-09-17 | 1988-01-19 | The Johns Hopkins University | Memory-linked wavefront array processor |
US4922408A (en) * | 1985-09-27 | 1990-05-01 | Schlumberger Technology Corporation | Apparatus for multi-processor communications |
US5021945A (en) * | 1985-10-31 | 1991-06-04 | Mcc Development, Ltd. | Parallel processor system for processing natural concurrencies and method therefor |
US4847755A (en) * | 1985-10-31 | 1989-07-11 | Mcc Development, Ltd. | Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies |
US4907148A (en) * | 1985-11-13 | 1990-03-06 | Alcatel U.S.A. Corp. | Cellular array processor with individual cell-level data-dependent cell control and multiport input memory |
US4736291A (en) * | 1985-11-22 | 1988-04-05 | Texas Instruments Incorporated | General-purpose array processor |
US4831519A (en) * | 1985-12-12 | 1989-05-16 | Itt Corporation | Cellular array processor with variable nesting depth vector control by selective enabling of left and right neighboring processor cells |
US4783782A (en) * | 1985-12-12 | 1988-11-08 | Alcatel U.S.A. Corporation | Manufacturing test data storage apparatus for dynamically reconfigurable cellular array processor chip |
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 |
US4916657A (en) * | 1985-12-12 | 1990-04-10 | Alcatel Usa, Corp. | Single instruction multiple data (SIMD) cellular array processing apparatus employing multiple state logic for coupling to data buses |
US4748585A (en) * | 1985-12-26 | 1988-05-31 | Chiarulli Donald M | Processor utilizing reconfigurable process segments to accomodate data word length |
US4925311A (en) * | 1986-02-10 | 1990-05-15 | Teradata Corporation | Dynamically partitionable parallel processors |
US5297260A (en) | 1986-03-12 | 1994-03-22 | Hitachi, Ltd. | Processor having a plurality of CPUS with one CPU being normally connected to common bus |
US4783738A (en) * | 1986-03-13 | 1988-11-08 | International Business Machines Corporation | Adaptive instruction processing by array processor having processor identification and data dependent status registers in each processing element |
US4814980A (en) * | 1986-04-01 | 1989-03-21 | California Institute Of Technology | Concurrent hypercube system with improved message passing |
US4809169A (en) * | 1986-04-23 | 1989-02-28 | Advanced Micro Devices, Inc. | Parallel, multiple coprocessor computer architecture having plural execution modes |
US4780873A (en) * | 1986-05-19 | 1988-10-25 | General Electric Company | Circuit switching network with routing nodes |
US4809347A (en) * | 1986-07-18 | 1989-02-28 | Hughes Aircraft Company | Computer vision architecture |
JPS6353678A (ja) * | 1986-08-22 | 1988-03-07 | Hitachi Ltd | ベクトル処理装置 |
US5038386A (en) * | 1986-08-29 | 1991-08-06 | International Business Machines Corporation | Polymorphic mesh network image processing system |
US4910665A (en) * | 1986-09-02 | 1990-03-20 | General Electric Company | Distributed processing system including reconfigurable elements |
US4860201A (en) * | 1986-09-02 | 1989-08-22 | The Trustees Of Columbia University In The City Of New York | Binary tree parallel processor |
US4985832A (en) * | 1986-09-18 | 1991-01-15 | Digital Equipment Corporation | SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors |
US5230079A (en) | 1986-09-18 | 1993-07-20 | Digital Equipment Corporation | Massively parallel array processing system with processors selectively accessing memory module locations using address in microword or in address register |
US5170484A (en) * | 1986-09-18 | 1992-12-08 | Digital Equipment Corporation | Massively parallel array processing system |
CN1008018B (zh) * | 1986-09-27 | 1990-05-16 | 徐肇昌 | 一种具有合作能力的同构型多计算机系统及其合作方法 |
US4841476A (en) * | 1986-10-06 | 1989-06-20 | International Business Machines Corporation | Extended floating point operations supporting emulation of source instruction execution |
US5010477A (en) * | 1986-10-17 | 1991-04-23 | Hitachi, Ltd. | Method and apparatus for transferring vector data between parallel processing system with registers & logic for inter-processor data communication independents of processing operations |
GB2211638A (en) * | 1987-10-27 | 1989-07-05 | Ibm | Simd array processor |
US5175865A (en) | 1986-10-28 | 1992-12-29 | Thinking Machines Corporation | Partitioning the processors of a massively parallel single array processor into sub-arrays selectively controlled by host computers |
US4891787A (en) * | 1986-12-17 | 1990-01-02 | Massachusetts Institute Of Technology | Parallel processing system with processor array having SIMD/MIMD instruction processing |
US5165023A (en) * | 1986-12-17 | 1992-11-17 | Massachusetts Institute Of Technology | Parallel processing system with processor array and network communications system for transmitting messages of variable length |
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 |
DE3702614A1 (de) * | 1987-01-29 | 1988-08-11 | Standard Elektrik Lorenz Ag | Digitales koppelnetz fuer leitungs- und paketvermittlung und koppeleinrichtung hierzu |
JPS63192153A (ja) * | 1987-02-05 | 1988-08-09 | Agency Of Ind Science & Technol | 並列デ−タ処理装置 |
US4964032A (en) * | 1987-03-27 | 1990-10-16 | Smith Harry F | Minimal connectivity parallel data processing system |
US4933846A (en) * | 1987-04-24 | 1990-06-12 | Network Systems Corporation | Network communications adapter with dual interleaved memory banks servicing multiple processors |
US4933895A (en) * | 1987-07-10 | 1990-06-12 | Hughes Aircraft Company | Cellular array having data dependent processing capabilities |
US5170482A (en) * | 1987-08-14 | 1992-12-08 | Regents Of The University Of Minnesota | Improved hypercube topology for multiprocessor computer systems |
US5008882A (en) * | 1987-08-17 | 1991-04-16 | California Institute Of Technology | Method and apparatus for eliminating unsuccessful tries in a search tree |
US4958273A (en) * | 1987-08-26 | 1990-09-18 | International Business Machines Corporation | Multiprocessor system architecture with high availability |
US4916652A (en) * | 1987-09-30 | 1990-04-10 | International Business Machines Corporation | Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures |
US4942517A (en) * | 1987-10-08 | 1990-07-17 | Eastman Kodak Company | Enhanced input/output architecture for toroidally-connected distributed-memory parallel computers |
US4943912A (en) * | 1987-10-13 | 1990-07-24 | Hitachi, Ltd. | Parallel processor system having control processor and array control apparatus for selectively activating different processors |
US4872133A (en) * | 1988-02-18 | 1989-10-03 | Motorola, Inc. | Floating-point systolic array including serial processors |
US4896265A (en) * | 1988-03-28 | 1990-01-23 | General Electric Company | Parallel broadcasting method and apparatus |
US4992926A (en) * | 1988-04-11 | 1991-02-12 | Square D Company | Peer-to-peer register exchange controller for industrial programmable controllers |
US5121498A (en) * | 1988-05-11 | 1992-06-09 | Massachusetts Institute Of Technology | Translator for translating source code for selective unrolling of loops in the source code |
US5038282A (en) * | 1988-05-11 | 1991-08-06 | Massachusetts Institute Of Technology | Synchronous processor with simultaneous instruction processing and data transfer |
US5056000A (en) * | 1988-06-21 | 1991-10-08 | International Parallel Machines, Inc. | Synchronized parallel processing with shared memory |
US5005120A (en) * | 1988-07-29 | 1991-04-02 | Lsi Logic Corporation | Compensating time delay in filtering signals of multi-dimensional reconvigurable array processors |
GB2223867A (en) * | 1988-09-09 | 1990-04-18 | Univ City | Multiprocessor data processing system |
US4920484A (en) * | 1988-10-05 | 1990-04-24 | Yale University | Multiprocessor/memory interconnection network wherein messages sent through the network to the same memory are combined |
US5041971A (en) * | 1988-11-30 | 1991-08-20 | Bolt Beranek And Newman Inc. | Memory accessing switch network |
US5189665A (en) | 1989-03-30 | 1993-02-23 | Texas Instruments Incorporated | Programmable configurable digital crossbar switch |
US5020059A (en) * | 1989-03-31 | 1991-05-28 | At&T Bell Laboratories | Reconfigurable signal processor |
US5181017A (en) | 1989-07-27 | 1993-01-19 | Ibm Corporation | Adaptive routing in a parallel computing system |
US5049982A (en) * | 1989-07-28 | 1991-09-17 | At&T Bell Laboratories | Article comprising a stacked array of electronic subassemblies |
US5173947A (en) * | 1989-08-01 | 1992-12-22 | Martin Marietta Corporation | Conformal image processing apparatus and method |
JPH0731780B2 (ja) * | 1989-09-08 | 1995-04-10 | 日本碍子株式会社 | 磁気ヘッド用コアの製造方法 |
US5072217A (en) * | 1989-10-31 | 1991-12-10 | International Business Machines Corporation | One-sided crosspoint switch with distributed control |
US5239654A (en) | 1989-11-17 | 1993-08-24 | Texas Instruments Incorporated | Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode |
US5212777A (en) | 1989-11-17 | 1993-05-18 | Texas Instruments Incorporated | Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation |
US5218709A (en) | 1989-12-28 | 1993-06-08 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Special purpose parallel computer architecture for real-time control and simulation in robotic applications |
US5175862A (en) * | 1989-12-29 | 1992-12-29 | Supercomputer Systems Limited Partnership | Method and apparatus for a special purpose arithmetic boolean unit |
US5197130A (en) | 1989-12-29 | 1993-03-23 | Supercomputer Systems Limited Partnership | Cluster architecture for a highly parallel scalar/vector multiprocessor system |
US5239629A (en) | 1989-12-29 | 1993-08-24 | Supercomputer Systems Limited Partnership | Dedicated centralized signaling mechanism for selectively signaling devices in a multiprocessor system |
US5280474A (en) | 1990-01-05 | 1994-01-18 | Maspar Computer Corporation | Scalable processor to processor and processor-to-I/O interconnection network and method for parallel processing arrays |
US5218676A (en) | 1990-01-08 | 1993-06-08 | The University Of Rochester | Dynamic routing system for a multinode communications network |
US5265124A (en) | 1990-02-15 | 1993-11-23 | Advanced Micro Devices, Inc. | Integrated multi-port repeater having shared resources |
US5142540A (en) * | 1990-03-13 | 1992-08-25 | Glasser Lance A | Multipart memory apparatus with error detection |
US5187801A (en) | 1990-04-11 | 1993-02-16 | Thinking Machines Corporation | Massively-parallel computer system for generating paths in a binomial lattice |
WO1991017507A1 (en) | 1990-05-07 | 1991-11-14 | Mitsubishi Denki Kabushiki Kaisha | Parallel data processing system |
US5136582A (en) * | 1990-05-29 | 1992-08-04 | Advanced Micro Devices, Inc. | Memory management system and method for network controller |
US5251097A (en) | 1990-06-11 | 1993-10-05 | Supercomputer Systems Limited Partnership | Packaging architecture for a highly parallel multiprocessor system |
US5253359A (en) | 1990-06-11 | 1993-10-12 | Supercomputer Systems Limited Partnership | Control and maintenance subsystem network for use with a multiprocessor computer system |
US5367636A (en) | 1990-09-24 | 1994-11-22 | Ncube Corporation | Hypercube processor network in which the processor indentification numbers of two processors connected to each other through port number n, vary only in the nth bit |
-
1991
- 1991-06-15 AT AT91109850T patent/ATE180586T1/de active
- 1991-06-15 DE DE69131272T patent/DE69131272T2/de not_active Expired - Fee Related
- 1991-06-15 EP EP91109850A patent/EP0485690B1/en not_active Expired - Lifetime
- 1991-08-28 CA CA002050166A patent/CA2050166A1/en not_active Abandoned
- 1991-10-01 JP JP3278900A patent/JPH04267466A/ja active Pending
- 1991-10-11 KR KR1019910017964A patent/KR960016880B1/ko not_active IP Right Cessation
- 1991-10-11 CN CN91109637A patent/CN1050919C/zh not_active Expired - Fee Related
- 1991-10-24 BR BR919104603A patent/BR9104603A/pt unknown
- 1991-10-28 TW TW080108435A patent/TW229289B/zh active
- 1991-11-12 HU HU913542A patent/HU215139B/hu not_active IP Right Cessation
- 1991-11-12 RU SU915010148A patent/RU2084953C1/ru active
- 1991-11-13 CZ CS913440A patent/CZ280210B6/cs not_active IP Right Cessation
- 1991-11-13 PL PL91292368A patent/PL167329B1/pl unknown
- 1991-11-13 SK SK3440-91A patent/SK344091A3/sk unknown
-
1994
- 1994-09-06 US US08/301,278 patent/US5822608A/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6219960A (ja) * | 1985-07-17 | 1987-01-28 | Nec Corp | 多段構成プロセツサシステム |
JPS62139066A (ja) * | 1985-12-12 | 1987-06-22 | インタ−ナシヨナル・スタンダ−ド・エレクトリツク・コ−ポレイシヨン | オンバンドramおよびアドレス発生装置を有する単一命令多重デ−タセルアレイ処理装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6412059B1 (en) | 1998-10-02 | 2002-06-25 | Nec Corporation | Method and device for controlling cache memory |
Also Published As
Publication number | Publication date |
---|---|
PL167329B1 (pl) | 1995-08-31 |
SK344091A3 (en) | 1995-01-05 |
KR960016880B1 (ko) | 1996-12-26 |
HU215139B (hu) | 1998-09-28 |
CA2050166A1 (en) | 1992-05-14 |
BR9104603A (pt) | 1992-06-23 |
CZ344091A3 (en) | 1995-05-17 |
DE69131272T2 (de) | 1999-12-09 |
DE69131272D1 (de) | 1999-07-01 |
PL292368A1 (en) | 1992-09-07 |
HU913542D0 (en) | 1992-02-28 |
EP0485690B1 (en) | 1999-05-26 |
ATE180586T1 (de) | 1999-06-15 |
EP0485690A2 (en) | 1992-05-20 |
CN1061482A (zh) | 1992-05-27 |
TW229289B (ja) | 1994-09-01 |
CN1050919C (zh) | 2000-03-29 |
EP0485690A3 (en) | 1994-09-21 |
US5822608A (en) | 1998-10-13 |
RU2084953C1 (ru) | 1997-07-20 |
CZ280210B6 (cs) | 1995-12-13 |
KR920010473A (ko) | 1992-06-26 |
HUT59496A (en) | 1992-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04267466A (ja) | 連想並列処理システム | |
US5815723A (en) | Picket autonomy on a SIMD machine | |
US5805915A (en) | SIMIMD array processing system | |
US5809292A (en) | Floating point for simid array machine | |
US5754871A (en) | Parallel processing system having asynchronous SIMD processing | |
US5963746A (en) | Fully distributed processing memory element | |
US5966528A (en) | SIMD/MIMD array processor with vector processing | |
US5963745A (en) | APAP I/O programmable router | |
US5708836A (en) | SIMD/MIMD inter-processor communication | |
US5734921A (en) | Advanced parallel array processor computer package | |
US5794059A (en) | N-dimensional modified hypercube | |
US5717943A (en) | Advanced parallel array processor (APAP) | |
US5588152A (en) | Advanced parallel processor including advanced support hardware | |
US5828894A (en) | Array processor having grouping of SIMD pickets | |
Johnson et al. | General-purpose systolic arrays | |
US5625836A (en) | SIMD/MIMD processing memory element (PME) | |
EP0570729A2 (en) | Apap I/O programmable router | |
US5765012A (en) | Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library | |
EP0570952A2 (en) | Slide network for an array processor | |
EP0570951A2 (en) | Advanced parallel array processor mechanical packaging | |
JPH06139200A (ja) | マルチプロセッサ・メモリ・システム | |
JPH0635875A (ja) | コンピュータ・システム | |
JP2625628B2 (ja) | 浮動小数点コンピュータ・システム | |
JPH0635878A (ja) | 単一命令複数データ/複数命令複数データ・プロセッサ・アレイ用コントローラ | |
Lopresti | Programmable Systolic Arrays |