CZ280210B6 - Paralelní procesorový systém - Google Patents

Paralelní procesorový systém Download PDF

Info

Publication number
CZ280210B6
CZ280210B6 CS913440A CS344091A CZ280210B6 CZ 280210 B6 CZ280210 B6 CZ 280210B6 CS 913440 A CS913440 A CS 913440A CS 344091 A CS344091 A CS 344091A CZ 280210 B6 CZ280210 B6 CZ 280210B6
Authority
CZ
Czechia
Prior art keywords
picket
processor
memory
data
pickets
Prior art date
Application number
CS913440A
Other languages
English (en)
Inventor
James Warren Dieffenderfer
Peter Michael Kogge
Paul Amba Wilkinson
Nicholas Jerome Schoonover
Original Assignee
International Business Machines Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corporation filed Critical International Business Machines Corporation
Publication of CZ344091A3 publication Critical patent/CZ344091A3/cs
Publication of CZ280210B6 publication Critical patent/CZ280210B6/cs

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • G06F15/17343Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/803Three-dimensional arrays or hypercubes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02BINTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
    • F02B75/00Other engines
    • F02B75/02Engines characterised by their cycles, e.g. six-stroke
    • F02B2075/022Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle
    • F02B2075/027Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle four

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (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)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational 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)
  • Hardware Redundancy (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Systém obsahuje množinu procesorových piketových jednotek. Každá procesorová piketová jednotka (100) obsahuje místní paměť (102), jejíž výstup je připojen ke vstupu B-registru (104), jehož výstup je připojen ke vstupu (B) bitového paralelního procesorového prvku (101), jehož výstup je připojen ke vstupu A-registru (105), jehož výstup je připojen ke vstupu Q-registru (106), jehož výstup je připojen ke vstupu (A) bitového paralelního procesorového prvku (101) a ke vstupu B-registru (104) a ke vstupu místní paměti (102). ŕ

Description

Paralelní procesorový systém
Oblast techniky
Vynález se týká paralelního procesního systému obsahujícího množství piketových jednotek, kde každá piketová jednotka má bitový paralelní procesní prvek kombinovaný s místní paměti připojenou ke procesnímu prvku pro paralelní zpracování informace ve všech piketových jednotkách asociativním způsobem, kde každá piketová jednotka je uzpůsobena ke prováděni jednoho prvku asociačního procesu.
Dosavadní stav techniky
Související přihlášky vynálezu, podané přihlašovatelem předkládané přihlášky vynálezu, jsou tyto:
přihlašovatelé R. Jaffe Input/Output Scheme for a přihláška vynálezu Spojených států amerických ná 21. listopadu 1989, a spol,. název Method
Protection Operations in a Parallel
Přihláška vynálezu Spojených států amerických 07/250,595, podaná 27. září 1988, nyní opuštěna ve prospěch její pokračovací přihlášky sériového čísla 07/519,33^, podané 4. května 1990, přihlašovatel James L. Taylor, název SIMD Array Processor (tato přihláška vynálezu byla původně zveřejněna jako přihláška EPO sériového čísla 88307855/88-A 3. května 1989, přihláška vynálezu Spojených států amerických 07/193,990, podaná 13. května 1988, přihlašovatel H. Li, název Methods and Circuit for Implementing an Arbitrary Graph on a Polymorphic Mesh, přihláška vynálezu
24. října 1989, Two-d imens iona1 SIMD Compute rs 07/439,758, podapřihlašovatelé W. C. Dietrich, Jr. and Apparatus for Performing Memory Processor Systém.
Spojených států amerických 07/426,140, podaná a spol., název Massively Parallel
Patentový spis Spojených států amerických, vydaný 27. října 1970, autoři R. A. Stokes a spol., popisuje řadový počítač s paralelními procesory a jednou programovatelnou řídicí jednotkou, množstvím registrů pro uložení doplňkových vektorů, maskovacích registrů a prostředků, uzpůsobených pri pdezvu na sled jedné nebo několika instrukcí řídicí jednotky pro odpovídající operace s daty v registrech vektorů. Během roku 1970 se paralelní procesory, popsané Stokesem, staly známými jako JIMD (Jedna Instrukce Množství Dat) stroje. Takovéto stroje mohou být také popsány tak, že sestávají z programovatelné řídicí jednotky, ovládající řadu n paralelních procesorů, kde každý procesor má paměť, aritmetickou jednotku, dekodér programu a vstupní/výstupní jednotku. Tyto systémy představovaly velké skříně, které byly někdy sdruženy s vnějším velínem. Významný rozdíl mezi JIMD a obecnějšími procesory byl ten, že v takových systémech mohou všechny JIMD procesory mít v přidruženém procesoru rozdílnou množinu dat, avšak všechny procesory jsou ovládány společným řadičem. JIMD počítače jsou také odlišné od obecnějších procesorů Von Neumanna v tom, že každá instrukce zpracovává spíše vektor dat než jediný operand.
Nejobecnější Mnoho Instrukci zvláštní program, typy mnohaprocesorových systémů jsou systémy Mnoho Dat, kde každý procesor může provádět pracující se zvláštní množinou dat. Procesory
-1CZ 280210 B6 v MIMD systému mohou provádět oddělené úkoly, nebo mohou provádět rozličné dílčí úkoly společného hlavního úkolu.
S pokrokem přemýšlení o JIMD paralelních procesorech se uvažovalo, jak je ukázáno v patentovém spisu Spojených států amerických číslo 4,435,758, autoři Lorie a spol., datum vydání 6. březen 1984, název Method for Conditional Branch Execution in SIMD Vector Processors, že může být výhodné, když úkoly, které má systém provádět, jsou vysoce nezávislé a prosté sporů, avšak když úkoly mají spor o zdroje, potom může být označena síť synchronních procesorů, pracující v JIMD. Patentový spis Spojených států amerických číslo 4,435,758 popsal tento problém a také popsal zlepšení, která provedl ve srovnání s obsahem patentového spisu Spojených států amerických číslo 4,101.960 ze dne 18. července 1978, autoři R. A. Stokes a spol., s ohledem na provádění podmíněných větvi.
Stalo se normou popisovat nejpokrokovější JIMD stroje jako sériové procesory se synchronními bity, uspořádané v matici NxN, jak je ukázáno příkladem mnohaprocesorového systému, popsaným v pojednání autorů H. Li a M. Maresca o názvu Polymorphic-Torus Network, Proceedings of the International Conference on Parallel Processing, str. 411-414. Metody násobeni maticových vektorů pro takovou masivně paralelní architekturu, popsané od H. Li a spol. pro NxN procesory, propojené fyzicky smyčkovou topologií a se smyčkovou sítí překrytou jinou spínací síti pro účely zpětné konfigurace, byly podrobné popsány v časopisu IBM Technical Disclosure Bulletin, sv. 32, číslo 3A srpen 1989, pro zlepšení rychlosti prováděni výpočtu násobení řídké matice s vektorem.
Existuje publikace 1990, která ukazuje, že bylo také věnováno úsilí vytvořit JIMD a JIMD/MIMD stroje, které pracují s mnoha řadami procesorů, kde všechny procesory dané řady provádějí přesné stejnou instrukci, avšak každá řada je naprogramována odlišné. Viz příklad, popsaný od H. Li, B. Dom a R. Jaffe v IBM Technical Disclosure Bulletin, sv. 32, 8B, leden 1990, kde je popsána architektura s touto konfigurací, která byla nazvána Parallel Local Operátor Engine (PLOE), pro zpracováni specifických opakovačích inspekčních funkcí paměti.
j
Tato přihláška plánuje vývoj vzduchem chlazeného systému, který může být vyráběn stávající technologii, která může vytvořit .na čipu množinu s nové uspořádanou architekturou, úkoly, které byly uvažovány pro JIMD stroje, jakož i úkoly, které byly uvažovány pro stroje podle Von Neumanna.
Na základě přehledu dosavadního stavu techniky se zjišťuje, že jiní popsali použití procesoru s paměti ROM pro statické instrukce a registry pro ukládání a přistup k datům na jediném křemíkovém čipu, viz například patentový spis Spojených států amerických číslo 4,942,516, zveřejněný 17. července 1990, původce G. Hyatt, název Single Chip Integrated Circuit Computer Architecture, tento druh práce však neměl vztah ke komplexním aplikacím JIMD typu.
Jiní autoři popsali rozličné prostředky pro různé úkoly, na které má být náš systém také zaměřen. Je známo, že násobeni matic může být prováděno paralelné. Jsou známy publikace, které se tý-2CZ 280210 B6 kaji aplikací, ke kterým může náš systém být použit, které souvisí s umělou inteligencí. Obsahově adresovatelné (viz. obr. 3) nebo asociativní paměti byly adresovány na univerzální úrovni s rozličnými procesními čipy. Bylo zde zjištěno, že pro AI aplikace je v některých případech vhodné založit volbu řádku na výsledcích předešlých vyhledávacích operací, se řádkovou logikou. Viz VLSI for Artificial Intelligence, Jose G. Delgado-Frias a Will R. Moore, vydavatelství Kluver Academie Publishers, 1989, str. 95-108, VLSI and Rule-Based Systems, Peter Kogge, Mark Brule a Charles Stormon, pro diskuzi aplikaci. Nicméně, elegantní návrhy jiných autorů zdánlivé směrují obor jiným směrem, než činí původci vynálezu. Jeden způsob spočívá na oxfordských čipech Intelligent Memory pro masivní paralelismus, které byly popsány v publikaci VLSI Systems Design, December 1988, str. 18-28 v pojednání, jehož autorem je Senior Editor Bob Cushman, a které má název Matrix Crunshing with Massive Parallelism. Jiní autoři se snažili o paralelní prováděni procesu na asociativní paměti VLSI za účelem popsáni čipu asociativní paměti VLSI, vhodného pro implementaci přestavitelného, úplně paralelního asociativního schématu provádění procesů. Tento přístup spočíval na úvaze, že použití klasické architektury asociativní paměti by vyžadovalo nepřiměřený počet výstupů pro zavedené přenosy dat. Viz například pojednání Parallel Processing on VLSI Associative Memory, autorů S. Hengen a I. Scherson, podpořené NSF cenou ECS-h404627 a přednesené autory na Department of Electrical and Computer Engineering, University of California, Santa Barbara, CA 93106.
Problém, se kterým jsme se setkali, je potřeba vytvořit kompaktní procesory pro komplexní aplikace, a při bližším zkoumání tohoto problému jsme zjistili, že dřívější návrhy, které byly omezeny na bitové sériové implementace s nejvýše několika málo tisíci bitů paměti na jeden procesní prvek, a s malým počtem procesních prvků na jeden elektronický čip, byly nedostačující. Jako výsledek jsme dospěli k potř.ebé vymezit architekturu, která by mohla být vyráběna s dramaticky vyššími hustotami a přesto byla vhodná pro prostředí chlazené vzduchem a mohla být balena v lehké a kompaktní jednotce.
Výsledkem je řešení, které představuje N rozměrné pole procesních jednotek bytové šíře, z nichž každá je spojena s odpovídajícím segmentem paměti bytové šíře a se řídicí logikou. Rozdélitelná sekce pole, obsahující několik procesních jednotek, je obsažena na křemíkovém čipu. To bude podrobné popsáno dále. Naše vlastni řešeni způsobilo přídavné problémy k řešení za účelem zlepšení chováni systému a my jsme vynalezli řešení za účelem dalšího vyvíjeni navržené architektury. Některá z těchto řešení umožňují nezávislé chování procesních prvků. V této souvislosti při zpětném pohledu jsme zjistili, že dosavadní stav techniky, popsaný v evropské přihlášce vynálezu EP-A-208,457, popisoval řadu procesorů, ve které každý procesní prvek v řadě měl možnost zvolit prvek, ze kterého dostává svůj vstupní signál.
Závislá přihláška vynálezu 07/519,332, podaná 4. května
1990, přihlašovatel James L. Taylor, pokračující k přihlášce číslo 07/250,595, podané 27. září 1988, o názvu SIMD Array Processor, popisuje mnohorozměrné pole procesních prvků, které má zvýšený stupeň flexibility k umožnění lepšího využití potenciálu pro paralelní prováděni procesů bez dosažení nákladů a složitosti
-3CZ 280210 B6
MIMD procesoru. Tato aplikace byla původně poprvé zveřejněna 3. května 1989 jako evropská přihláška vynálezu EPO 88/307885/88-A. Zde popisovaný systém vysílá globální instrukci pro místní bitové sériové provádění podél sběrnice, spojující řídicí logiku, v rozličných paralelních procesních prvcích a programově přeměňuje zvolené bity globální instrukce pro použití v místních bitových linkách, kde se přeměněné bity dekódují.
Zpětný pohled také identifikoval jednu diskuzi o JIMD procesorových prvcích bytové šíře o názvu Design of SIMD Microprocessor Array, jejíž autoři jsou C. R. Jesshope, R. 0’Gorman a spol., a která byla zveřejněna v IEEE Proceedings sv. 136, květen 1989. Toto pojednání popisuje školní studii JIMD architektur autory, kteří jsou z Departement of Electronics and Computer Science na The University, Southampton, UK. Mnohé výtvory jsou podobné těm, které diskutujeme, a popisují procesor, který má JIMD architekturu bytové šíře. Pojednáni navrhuje procesní prvky s prvky s architekturou osmibitového procesního akumulátoru, omezenou RAM paměť na kartě (lkbyt) a množství PE na čipu (4), jakož i určitý významný stupeň místní autonomie. Nicméně, při použití takové navrhované struktury není zajištěno asociativní provádění procesů. Bude ukázáno, že navrhovaná struktura nezajišťuje sousední komunikaci bytové šíře, jako tomu je v případě předloženého vynálezu. Jiné výtvory, které jsme vyvinuli také nejsou navrženy. Tudíž zde existuje potřeba našeho piketového systému, který je proveditelný na čipu integrovaného obvodu za účelem pokroku ve stavu techniky paralelního prováděni procesů. Viz pojednání Summary of Parallel Computer Architectures jehož autorem je R. Duncan, a které je publikováno v časopisu IEEE Computer v únoru 1990.
Za účelem snadného postupu při popisu předloženého vynálezu zde následuje obecný, neomezující popis nové terminologie oboru. Piket - prvek procesního pole, sestávající přednostně z kombinovaného procesního prvku s místní pamětí pro bitové prováděni procesů s paralelními byty informace v hodinovém cyklu. Přednostní provedení, sestávající z procesoru bytové šíře pro proud dat, 32 kbytů nebo více paměti, základních řízení, má vazbu pro komunikace s jinými pikety.
Piketový čip obsahuje množství piketů na jednom křemíkovém čipu. Piketový procesorový systém (nebo podsystém) - celkový systém, sestávající z pole piketů, komunikační sítě, I/O systému a JIMD kontroléru, obsahujícího mikroprocesor, procesoru uložené rutiny a mikrokontroléru, který spouští pole.
Piketová architektura - přednostní provedení JIMD architektury s výtvory, které usnadňují některé druhy problémů, jako asociativní provádění procesů s množinami, paralelní intenzivní provádění numerických procesů či prováděni procesů s fyzickými poli, podobnými obrazům.
Pole piketů - soubor piketů, uspořádaných v geometrickém pořádku .
Výraz piket původně značí vojenskou hlídkovou linii.
-4CZ 280210 B6
Podstata vynálezu
Vynález vytváří paralelní procesorový systém, obsahující množinu procesorových piketových jednotek, kde každá procesorová piketová jednotka obsahuje místní parné·!:, jejíž výstup je připojen ke vstupu B-registru, jehož výstup je připojen ke vstupu (B) bitového paralelního procesorového prvku, jehož výstup je připojen ke vstupu A-registru, jehož výstup je připojen ke vstupu Q-registru, jehož výstup je připojen ke vstupu (A) bitového paralelního procesorového prvku a ke vstupu.B-registru a ke vstupu místní paměti. Je výhodné, když každá procesorová piketová jednotka dále obsahuje sběrnici vysílaných dat/adres, která je připojena k A-registru a k místní paměti. Dále je výhodné, když každá procesorová piketová jednotka dále obsahuje řídicí/stavový registr, který je připojen k bitovému paralelnímu procesorovému prvku. Dále je výhodné, když bitový paralelní procesorový prvek má šířku alespoň 8 bitů. Dále je výhodné, když místní paměť má velikost alespoň 32 x 8 kilobitú. Dále je výhodné, když paralelní procesorový systém podle vynálezu obsahuje alespoň 16 procesorových piketových jednotek.
Vynález množinového asociativního paralelního procesního systému na jediném čipu umožňuje vyjmout menší množinu dat z větší množiny z paměti, kde na ní může být provedena asociativní operace. Tato asociativní operace, kterou je typicky nějaké exaktní srovnání, se provádí na celé množině dat paralelné použitím piketové paměti a prováděcí jednotky.
V piketovém poli má každý piket část dat z větší množiny. Přídavné každý piket zvolí jeden kus dat z jejich části. Jeden kus dat v každém z množiny piketů takto obsahuje množinu dat, na které se provádí všemi pikety paralelné asociativní operace.
Návrh, který může být v současnosti implementován až do 50 kgate proudu dat a řídicí logiky, a s množstvím megabitů paměti DRAM na jediném čipu. Každý z těchto čipů má konfiguraci takovou, že obsahuje množství piketů nebo procesních jednotek. V přednostním provedení pro zpracování textu, které je schopné užívat grafiky, je 16 piketů se 32 kbyty paměti DRAM pro každý piket na jediném piketovém čipu, a systém obsahuje řadu 64 takových piketových čipů, poskytující řadu 1024 procesních prvků. Tato piketová architektura může být vyráběna technologii CMOS, která umožňuje uložit 4 miliony bitů DRAM v opakovaných vzorech na jediném čipu a zbývající povrch čipu je vyplněn logickými standardními buňkami, které budou používat až 50 k logických prvků a které mohou vytvářet proud dat a řídicí logiku pro vytváření piketů na čipu. Uspořádali jsme systém tak, že pikety mohou zpracovávat data s místní autonomii a vytvořili jsme skluz mezi pikety.
Technologie piketů je schopna expanze a se 128 kbyty DRAM v každém jednotlivém piketu (čip se 16 Mbity paměti DRAM) architektura piketu obsáhne úplnou 24-bitovou barevnou grafiku stejným způsobem jako text, a 8-bitová barevná nebo šedá stupnicová grafika jsou prováděny s naším obvyklým přednostním provedením. Pokusná výrobní technologie ukazuje, že tuto hustotu je možno pro blízkou budoucnost předvídat jako konzistentní výrobek, schopný pracovat v prostředí, chlazeném vzduchem. Pro barevnou grafiku by
-5CZ 280210 B6 naše přednostní architektura piketů měla zvýšit množství DRAM na čipu na 128 kbytů pro jeden piket při zachování 16 piketů na jednom čipu. Alternativně by pro procesory plně barevné grafiky mohlo být použito 24 piketových jednotek na jednom piketovém čipu s 96 kbytů paměti. ·
Přehled obrázků na výkresech
Přednosti provedení předloženého vynálezu je znázorněno na výkresech, kde obr. 1 je schematické znázornění dosavadního JIMD procesoru, který je popsán v závislé přihlášce vynálezu, která může být považována za reprezentativní objekt dosavadního stavu techniky, obr. 2 znázorňuje pár základních piketových jednotek, které jsou uspořádány na křemíkové bázi, s procesorem, pamětí, řídicí logikou a asociativní pamětí, s bytovou komunikací s jinými pikety v poli, obr. 3 znázorňuje asociativní provádění procesu v paměti, obr. 4 znázorňuje základní 16 (n) uspořádání piketů pro podsystém JIMD, který používá mikroprocesorový kontrolér, pevně zadrátovaný sekvenční kontrolér pro uložené rutiny a pole piketů, a které tvoří základní paralelní piketový procesorový systém, který může být také oddělenou jednotkou, obr. 5 znázorňuje mnohonásobný piketový procesorový systém, který zahrnuje množství piketových procesorů z obr. 4, obr. 6 je funkční blokový diagram podsystému, obr. 7 znázorňuje uspořádání kontroléru podsystému s kartami podle obr. 5.
Příklady provedení vynálezu
Obr. 1 znázorňuje typický JIMD systém podle dosavadního stavu techniky typu, popsaného obecné v evropské přihlášce vynálezu Taylora a IBM číslo 88307855/88-A, a v britské přihlášce vynálezu UK-A-1,445,714. V takových zařízeních podle dosavadního stavu techniky je JIMD počítač počítač s jednou instrukcí a množstvím dat, mající paralelní řadový procesor, obsahující množství paralelně spojených bitových sériových procesorů, z nichž každý je sdružen s jednou z množství pamětí JIMD. Vstupní/výstupní systém působí jako etapový systém pro jednotku JIMD a obsahuje dočasnou ukládaci oblast pro dvousmérný dvourozmérový přenos dat mezi vnějším počítačem (což může být hlavní panel nebo mikroprocesor) a JIMD počítačem. Vstupní/výstupní systém obsahuje vstupní a výstupní procesní prostředky pro řízení proudu dat mezi vnějším počítačem a dočasnou ukládaci oblasti a množstvím pamětí JIMD, což obvykle jsou organizované pufrové sekce nebo části větší paměti. Vstupní operace systému vstup/výstup tudíž způsobí přenos dat z paměti vnějšího počítače do dočasné ukládaci oblasti a v druhém kroku do JIMD paměti, a pro výstup je zde také proces o dvou krocích, který přenáší přes dvourozměrnou sběrnici data mezi vnějším počítačem a JIMD počítačem. Vstupní/výstupní systém pro vstup/výstup dat může být oddělená jednotka, podjednotka vnějšího počítače, nebo často je to jednotka uvnitř JIMD počítače, kde JIMD kontrolér působí jako řídicí orgán pro dočasné ukládání v pufru při vstupu/výstupu dat.
*
Samotný JIMD počítač obsahuje řadu procesorů, mající množství procesních prvků a síť, která propojuje jednotlivé procesní prvky a množství obvyklých oddělených JIMD pamětí. JIMD počítač je paralelní řadový procesor, mající velký počet jednotlivých
-6CZ 280210 B6 procesních prvků, spojených a pracujících paralelné. JIMD počítač zahrnuje řídicí jednotku, která vyvíjí proud instrukcí pro procesní prvky a také vytváří potřebné časovači signály pro počítač. Sít, která propojuje rozličné procesní prvky, obsahuje určitou formu propojovacího schéma pro jednotlivé procesní prvky a toto propojení může být provedeno rozličnými topologiemi, jako je smyčková, polymorfní torus nebo hyperkubická. Množství pamětí je pro bezprostřední ukládáni bitových dat pro jednotlivé procesní prvky a je zde korespondence jedna-na-jednu mezi počtem procesních prvků a počtem pamětí, které mohou být výše uvedenou pufrovou částí větší paměti.
Například, jak je znázorněno na obr. 1, je zde vnější procesor 28. Tento vnější procesor 28 je použit pro ukládání programů v mikrokódu do řádkového kontroléru 14 (který obsahuje pufr pro dočasné uložení) pro výměnu dat s ním a pro záznam jeho stavu přes datovou sběrnici 30 vnějšího kontroléru a adresovou a řídicí sběrnici 31. Vnější procesor 28 v tomto příkladu by mohl být jakýkoli vhodný univerzální počítač, jako vnější panel nebo osobní počítač. V tomto příkladu podle dosavadního stavu techniky je řada procesorů řady znázorněna jako na 2-D bázi, avšak řada může být organizována i odlišně, například na 3-D nebo 4-D skupinovém uspořádáni. JIMD řadový procesor obsahuje pole 12 procesních prvků P(i,j) a řádkový kontrolér 14 pro vydávání proudu globálních instrukci procesním prvkům P(i,j). Ačkoliv to na obr. 1 není znázorněno, příklad podle dosavadního stavu techniky má procesní prvky, které pracují na jednom bitu v jednom čase a má sdružený blok ukládání, který je částí paměti, sdružené s procesním prvkem. Procesní prvky jsou propojeny tak zvanou SVZJ (Sever, Východ, Západ, Jih) sítí s jejich příslušnými sousedy dvousmérnými bitovými linkami. Procesní prvek P(i,j) je takto spojen s procesními prvky P(i-l,j), P(i,j+1), P(i,j-1) a P(i+l,j) ve směrech Sever, Východ, Západ a Jih. V tomto typickém přikladu je sít SVZJ u svých okrajů propojena toroidálné, takže severní a jižní okraje jsou propojeny dvousmérné, a západní a východní okraje jsou propojeny podobné. Aby data mohla vstupovat do a vystupovat z pole procesorů, je k síti SVZJ připojena datová sběrnice 26 řádkového kontroléru. Jak je znázorněno, je připojena k východo-západnímu okraji pole. Místo toho nebo přídavné může být připojena k severo-jižnímu okraji dvousmérnými třístavovými ovladači, které jsou připojeny k toroidálnímu východo-západnímu SVZJ spojení. Jako v přednostním provedení, které bude popsáno, 1024 procesních prvků by mohl být docíleno dosavadním stavem techniky, kdyby počet procesních prvků v tomto příkladu byl 32x32 místo znázorněných 16x16. Ve znázornění jedna linka označuje jednobitovou linku, zatímco dvojitá linka, spojující funkční prvky, je užita pro znázornění množství spojovacích linek nebo sběrnice.
V tomto příkladu podle dosavadního stavu techniky řádkový kontrolér vysílá instrukce paralelně k procesním prvkům přes instrukční sběrnici 18 a vysílá volbu řádku a volnu sloupce linkami 20 volby řádku, popřípadě linkami 22 volby sloupce. Tyto instrukce způsobí, že do procesních prvků jsou zavedena data ze zásoby a jsou zpracována a potom uložena ještě jednou v zásobě. Pro tento účel má každý procesní prvek přístup k bitové části (sekce nebo pufr) hlavní paměti. Logicky je proto hlavni paměť řadového procesoru rozdělena do 1024 částí pro řadu 1024 procesních prvků. To znamená, že až třicet dvě 32-bitová slova mohou
-7CZ 280210 B6 být přenášena do nebo ze zásoby v jednom času v přenosovém kroku. K provedení operace čtení nebo psaní je paměť adresována ve výrazech indexové adresy, která se přivádí k adresovým linkám paměti přes adresovou sběrnici 24 a instrukce čtení nebo psaní se přivádí ke každému procesnímu prvku paralelně. Během operace čtení signály volby řádku a sloupce na linkách volby řádku a sloupce identifikuji procesní prvek, který má provést operaci. V popisovaném příkladu je tudíž možno číst jedno 32-bitové slovo z paměti do třiceti dvou procesních prvků ve vybraném řádku, když pole je 32x32. Procesní prvek je sdružen s částí nebo blokem paměti (i,j,) široké jeden bit. Zatímco část nebo blok paměti je logicky sdružen na bázi jedna-na-jednu se sdruženým jednotlivým procesním prvkem, může být, a typicky je, fyzicky oddělen na jiném čipu. Nevíme, jak s touto dřívější architekturou by popisovaný řadový procesor mohl být vyroben, jako může být náš piket vyroben se řadou procesorů a odpovídající pamětí na jediném čipu druhu, dále popsaného.
Procesní prvky P(i,j) příkladu z dosavadního stavu techniky mají být chápány tak, že obsahují ALU, se vstupními a výstupními registry, které zahrnují přenos, a každý z nich je schopen uchovat jeden bit informace. Je zde multiplexer, který je připojen k ALU vstupu, výstupu a také ke dvousměrnému datovému portu části paměti (i, j ) , sdružené s jednotlivým procesním prvkem P(i,j).
Jsou zde zvláštní instrukční a datové sběrnice a řadový kontrolér má zásobník mikrokódu, do kterého se uloží mikrokód, definující proces, který má být proveden řadou procesorů, vnějším procesorem 28 při použiti datové sběrnice 30 a adresové a řídicí sběrnice 31. Když byla operace řadového kontroléru začata vnějším procesorem 28, je sekvence mikrokódu řízena řídicí jednotkou mikrokódu, která je připojena k zásobníku mikrokódu uvnitř řadového kontroléru 14.. ALU a sada registrů řadového kontroléru jsou použity př^. vyvíjení adres řadové paměti, čítání smyček, výpočtu skoků adres a registrových operaci pro obecné účely, které jsou vysílány na adresovou sběrnici řadového kontroléru. Řadový kontrolér také má maskovací registry pro dekódování maskovacích kódů řádku a sloupce, a specifické operační kódy přicházejí k procesním prvkům přes instrukční sběrnici. V tomto příkladu by řadový kontrolér mohl mít uvnitř datový pufr, avšak funkčně mezi datovou sběrnici vnějšího kontroléru a datovou sběrnicí řadového kontroléru. Z tohoto pufru jsou data zaváděna pod kontrolou mikrokódu v kontrolním zásobníku do řady procesorů a naopak. Pro tento účel je pufr uspořádán jako dvousměrný FIFO pufr pod kontrolou kontroly mikrokódu v řadovém kontroléru. Více podrobností takových systému podle dosavadního stavu techniky je možno nalézt ve výše citovaných příkladech, zejména v přihlášce vynálezu Spojených států amerických U.S.S.N. 07/519,332, přihlašovatel Taylor, název SIMD Array Processor.
Přehlídka předchozích dřívějších pokusů může být srovnána s přednostními provedeními předloženého vynálezu. Obr. 2 znázorňuje základní piketovou jednotku 100. obsahující kombinovaný procesní prvek ALU 101 s místní paměti 102 k němu připojenou pro zpracování jednoho bytu informace v hodinovém cyklu. Jak je znázorněno, piketová jednotka je vytvořena na čipu křemíkové báze nebo piketovém čipu s lineárním polem piketů s postranními sousedy (vlevo a vpravo na obrázku), takže na čipu křemíkové báze je
-8CZ 280210 B6 vytvořeno piketové procesní pole s množstvím místních pamětí, jednou pro každý proud procesních dat bytové šíře, uspořádaných v logickém řádku nebo v lineární řadě se sousedními komunikačními sběrnicemi pro průchod dat dvousměrné vpravo a vlevo. Soubor piketů v piketovém čipu je uspořádán v geometrickém seřazení, přednostně vodorovně na čipu. Obr. 2 znázorňuje typickou implementaci dvou piketů piketové řady na piketovém čipu s množstvím pamětí a proudem dat, zahrnujícím komunikační cesty mezi každým procesním prvkem piketu a paměti. V našem přednostním provedení komunikační cesty dat mezi paměti jedna-na-jednu s procesními prvky řady má šíři bytu a napříč, vlevo nebo vpravo se sousedem, nebo se skluzem pro komunikaci se vzdálenějšími piketovými procesory.
Skluz může být definován jako prostředek pro přenos informace v jednom cyklu do nesousední polohy umístěním piketové adresy, která by normálně byla schopna přijmout informaci, kdyby nebyla průhledná pro zprávu vyslanou, dokud nepřijde a není přijata u nejbližšiho aktivního souseda, který ji přijme. Skluz tedy působí tak, že vysílá informaci do nesousední polohy přes vyřazené pikety. Nechť piket A má vyslat informaci do vzdáleného piketu G. Před tímto cyklem jsou mezilehlé pikety učiněny průhlednými vyřazením piketů B až F. Potom v následujícím jediném cyklu A vyšle svou zprávu vpravo a tato projde pikety B až F, které jsou průhledné, protože jsou vyřazeny a G přijme zprávu, protože je stále v činnosti. Při normálním použití informace skluz je zpráva přenášena lineárně napříč struktury, skluz může však také pracovat s dvourozměrnou smyčkou nebo s mnohorozměrnou řadou.
Přístup procesních prvků v našem přednostním provedení není bitové sériový v operaci, nýbrž spíše bytové sériový. Každý procesor má přístup k jeho vlastní připojené paměti spíše, než aby měl přístup k bloku místní paměti a některé přidružené její části nebo stránce. Sběrnice šíře znaku nebo násobku znaku je použita místo šíře jednoho bitu. Místo jednoho bitu se zpracovává byt (nebo v budoucích systémech s uvažovaným dvojnásobným výkonem znakovém bytu několik bytů) informace v jednom hodinovém cyklu. Mezi každým procesním prvkem piketu může takto protékat 8, 16 nebo 32 bitů k vyrovnání šíře přidružené paměti. V našem přednostním provedení má každý piketový čip 8 (9) bitů šíře paměti ze 32 Kbytů a přednostně 16 piketů s těmito 32 Kbyty zásoby na piketový uzel lineární řady. V našem přednostním provedení je každá přidružená paměť vytvořena v CMOS jako DRAM a znakový byte je 9 bitů (které funguji jako osmibitový znak s vlastní zkouškou).
Paralelní cesta bytové šíře proudu dat sběrnice mezi pikety a mezi procesním prvkem a jeho paměti je podstatné zlepšeni oproti sériové bitové struktuře systémů dosavadního stavu techniky, avšak je třeba uvážit, že zvýšený paralelizmus má za následek přídavné problémy, které vyžadují řešeni, když se porozumí implikacím nové dosažené architektury. Významná řešeni jsou zde popsána .
Vlastnost, která bude hodnocena, je, že přídavné k přenosům vlevo a vpravo na sousední místo a mechanismu skluzu, který byl popsán s přihlédnutím k výkresům, jsme vytvořili také vysílací sběrnici šíře dvou byte, takže všechny pikety mohou vidět tatáž
-9CZ 280210 B6 data ve stejném času. Řízení piketu a propagace adresy se také přenáší na tuto vysílací sběrnici. Tato sběrnice dodává srovnávací data, když se provádějí asociační operace s množinami a jiné srovnávací nebo matematické operace.
Úlohy, které mají vysoce paralelní datové struktury, které jim dávají možnost zpracování v piketových procesních prvcích dat při řízení proudu jedné instrukce, nacházejí použití ve skládání vzorů umělé inteligence,- spojování čidla a stopy v optimálním určování s více čidly, zkoumání kontextu a zpracování obrazu. Nicméně, mnohé z těchto použití, nyní možných, nebylo užito v JIMD procesech s ohledem na sériové bitové provádění procesů pod jedním časem hodin. Tak například tradiční sériový procesní prvek JIMD stroje provádí jeden bit operace ADD pro každý cyjtlus procesoru, zatímco 32-bitový paralelní stroj může provést 32 bitů operace ADD v jednom cyklu.
Uspořádání 32 KB na procesní prvek přivede mnohem více logicky dosažitelné paměti ke každému procesnímu prvku, než tradiční JIMD stroj.
Počet kolíků na čipu byl udržen nízký, protože data, která jdou do a z čipu, byla udržena minimální. Paměť DRAM je obvyklá řadová paměť CMOS a jedna, která má přístup řádek-sloupec potlačením sloupcové demultiplexace na zadní straně paměťové řady a vytvořením adresy řádku, která čte řádek paměťové řady k proudu dat paralelně.
Přídavně k datům paměť obsahuje tri-bits nebo třít, takže zde jsou tři stavy, rozeznávané logikou, místo tradičního binary digit, tedy buď logická 1, logická 0 nebo neznám. Tento neznám v překrytém poli kryje buď logickou 1 nebo logickou 0. Trit je obsažen v postupných místech zásoby v zásobní řadě. Masky jsou jiná forma dat, uložených v paměti, která jsou směrována na maskový registr piketového procesního prvku.
Jelikož řada zásoby může obsahovat příkazy, umožňuje to, že jeden piket může provádět jinou operaci než jiný piket. Čipová kontrola jednotlivých piketů během operací, zahrnující mnoho piketů, ne však nutné všechny, umožňuje implementace, které jsou možné pouze pro JIMD operace. Jedna vytvořená jednoduchá kontrolní funkce spočívá v tom, že jsou závislé operace v kterémkoli piketu, jehož stavový výstup splňuje nějakou specifickou podmínku, tak nenulová podmínka může znamenat klid. Klid je podmínka, která zastavuje operace a uvádí piket do neaktivního, avšak vědomého stavu. Jiný vytvořený příkaz je zamezení nebo dovolení zápisu do paměti, spočívající na podmínkách v piketu nebo na příkazu, daného sběrnici před operaci skluzu.
Použitím piketového čipu se 16 výkonnými pikety, z nichž každý má 32 KB paměti, pouze 64 čipy vytvoří 1024 procesorů a paměť 32768 KB. Řada piketů obsahuje množinovou asociativní paměť. Vynález je také užitečný pro numerické intenzivní zpracování analýzy obrazu, jakož i provádění procesů s vektory. Tato výkonná piketová procesní řada může být dnes balená pouze na dvou malých kartách! Bude ukázáno, že tisíce piketů mohou být výhodně zabaleny v obalu s nízkým výkonem a lépe přenosném, což umožňuje provádění aplikací zpracování obrazu s minimálním zpožděním nebo
-10CZ 280210 B6 v rozsahu času jednoho videosnímku, například během letu dopravního letadla bez významných platebních zatížení.
Výkonnost piketů vede na možnost použití velkých přidružených paměťových systémů, zabalených do sméstnaných pouzder, a umožňuje použití procesní výkonnosti v řadě aplikací, když projektant systému si navykne používat nový systém.
Obr. 3 znázorňuje strukturu, která může být označena jako úplně asociativní paměť tehdy, když se asociace žádá, srovnávaná hodnota je předána do všech míst paměti a všechna místa paměti současně odpovídají se svými stykovými linkami. Asociativní paměť je v oboru o sobě známá. V systému zde popisovaném je při použití paralelních piketů paměti a procesních prvků, které mají bytové přenosy za účelem provádění průzkumu, vstup dat a maska pro průzkum za účelem zjištění místa slova K mezi N slovy v paměti. Všechny stýkající se pikety zdvihnou stavovou linku a potom oddělená operace čte nebo vybere první styk K. Tato operace, obecně zvaná asociativní množina, může být opakována nahoru přes piketovou paměť. Podobné je dosaženo zápisu přes vysílací operaci, ve které zdvižená vybraná linka označuje participaci a vysílaná data jsou kopírována do všech vybraných piketů.
Jiné provedení, ačkoliv není jediné přednostní, snižuje velikost paměti DRAM, dosažitelné pro každý piket pro umožnění inkluze některé sekce plně asociativní paměti typu, znázorněného na obr. 3. Kdyby bylo zahrnuto 512 bytů úplně asociativní paměti, každý piket by obsahoval množinu průzkumných indexů a v jedné operaci 512 krát 1024 piketů dává 512k srovnáni na operaci, nebo 512 Gig-srovnáni za sekundu při jedné mikrosekundě pro operaci. S roztažitelností může být koncept posunut do rozsahu mnoha Tera-srovnáni. Toto provedení zesiluje asociativní úlohy, které zavádějí extenzivní průzkum informace s možnostmi, vysoce přesahujícími současné výpočetní možnosti.
Když tato asociační operace, užívající paméť a v šíři bytu spojené procesní prvky, jak je znázorněno na obr. 2, přídavně k použitím odlišných algoritmů nebo operaci, umělé inteligenci a paralelnímu programování, byla zkoušena v JIMD situacích, jsou zde mnohé přídavné aplikace, nyní použitelné pro stroj s uspořádáním čipu, které popisujeme, v prostředí JIMD, které může obsahovat: Jednoduché paralelizovatelné aritmetické úlohy včetně násobeni matic a jiné úlohy, které mohou být prováděny ve strojích se specializovanou pamětí;
Úlohy krytí obrazů a zpracování obrazů, které mohou být prováděny ve Von Neumannových strojích, avšak které mohou být značně zrychleny s aplikacemi, přizpůsobitelnými krajnímu paralelizmu, například kryti vzorů trojrozměrného obrazu;
Dotazové funkce podložené daty;
Kryti vzorů v oblasti umělé inteligence;
Kontrola sítí v můstcích pro rychlou identifikaci zpráv, které jdou k uživateli na druhé straně můstku sítě;
Simulace úrovně hradel;
a kontroly porušeni základních pravidel VLSI.
Procesní úlohy, které využívají výhody banky pamětí a přidružených procesních prvků, se objeví aplikačním programátorům,
-11CZ 280210 B6 až najdou, jak získat výhodu výkonnosti nové systémové architektury.
Proces udržení popisu digitálního systému může být usnadněn použitím řady k jednomu hradlu nebo logickému prvku na jeden piket 100. V takovém systému by proces mohl začít označením každého popisu hradla jako výčtu signálů, které hradlo přijímá jako vstupy a pojmenováním signálu, který vyvíjí. Požaduje se změna signálu v každém času, jeho jméno se vysílá na sběrnici 103 ke všem piketům a je srovnáváno paralelné se jmény očekávaných vstupních signálů. Když se nalezne krytí, zaznamená se v piketu nová hodnota signálu v bitu registru proudu dat. Když byly zaznamenány všechny změny signálu, způsobí se ve všech piketech paralelní čtení kontrolního slova, které sdělí jejich proudu dat, jak se má využít běžná množina vstupů pro výpočet výstupu. Způsobí se, aby tyto výpočty byly provedeny paralelné, s výsledky srovnanými se starými hodnotami z místního hradla. Zaznamenají se ve stavovém bitu proudu dat všechna hradla piketů, jejichž výstupy se mění. Způsobí se, aby vnější kontrolér přezkoušel všechny pikety a vyžádá se následující hradlo, které se změnilo. Potom se vyšle odpovídající jméno signálu a hodnota z piketu do všech ostatních piketů, jak byly původně určeny, a cyklus se opakuje tak dlouho, až nenastávají žádné změny signálu, nebo se proces zastaví.
Jiný proces je vyhledání jména slovníku. Jména jsou uschována v piketové paměti 102 tak, že první písmeno všech jmen může být srovnáno s prvním písmenem žádaného vysílaného jména na adresové sběrnici 103 vysílaných dat. Všechny pikety prosté krytí jsou vyřazeny kontrolní vlastností, které použijeme. Potom se srovná druhé písmeno a srovnávací a vyřazovací procedura se opakuje pro po sobě následující písmena (znaky) tak dlouho, až nezůstává žádná piketová jednotka aktivní, nebo byl dosažen konec slova. V tomto okamžiku se všechny zbývající piketové jednotky podrobí dotazu a index žádaných dat se přečte sekvenčním obvodem.
Obr. 4 znázorňuje základní uspořádání piketů množství paralelních procesorů a pamětí, piketových jednotek, uspořádaných v řadě na jediném křemíkovém čipu jako část paralelní řady, která může být uspořádána jako JIMD podsysUém, znázorňující řídicí seskupeni takového systému. Zde je také znázorněn řídicí procesor a mikroprocesor supervizoru. Na obr. 4 je znázorněna paměť a logika paralelního procesního prvku na stejném čipu, které jsou na obr. 4 znázorněny v sekci, označené Array of Pickets. Každá paměť je v šíři n bitů, přednostně v šíři znaku, 8 (9) bitů, jak bylo uvedeno, avšak koncepčně také může mít šíři slova několika byte. Paměťová část paralelního procesního prvku piketu bude mít přednostně šíři 8 (9) bitů, nebo alternativně 16 nebo 32 bitů. Při běžné CMOS technologii dáváme přednost použiti asociativní paměti šíře 8 bitů, nebo šíře znaku (šíře 9 bitů byte s vlastní kontrolou) pro každý piketový procesní prvek. Paměti jsou přímo sdruženy jedna-na-jednu se spojeným procesním prvkem, který obsahuje ALU, maskovací registry (A & Q užité pro maskování), a zámek 104 (SP v obr. 4) jakož i stavové registry 107 a registry A 105 a Q 106 proudu dat (DF na obr. 4), které jsou podrobněji znázorněny v diagramu piketu na obr. 2. DRAM a logika každého piketového procesoru nemají žádnou zátěž nějaké propojovací sítě, nýbrž je zde přímé jedna-na jednu přidružení mezi pamětí DRAM mnohabi
-12CZ 280210 B6 tové šíře a jejím procesním prvkem na samotném čipu. K obr. 4 je třeba uvést, že zámek (SR) 104 registru skluzu B je umístěn logicky mezi pamětí a přidruženou logikou ALU procesního prvku a zámek je v podstatě vazební port pro každý procesní prvek podél piketové řady. Každý piketový čip obsahuje množství paralelních piketových procesních prvků, uspořádaných v lince (která je znázorněna jako přímá sběrnice) pro komunikaci s piketovým řízením. Sběrnice adres vektorů je společná k paměti a adresový registr vektoru dat kontroluje, jaká data procházejí přes každou paměť.
Obr. 4 také znázorňuje propojení mezi hlavní nebo mikroprocesorovou kartou MP, která v našem přednostním provedení je mikroprocesor 386, uspořádaný jako PS/2 systém s kontrolérem podsystému, kterým procházejí globální instrukce do procesoru uložených rutin CRP, který jsme opatřili, který opatřuje instrukce pro sekvenční obvod 402 instrukcí a řízení 403 provádění, které provádí specifický mikrokód, vyvolaný sekvenčním obvodem 402 instrukcí. Tento sekvenční obvod 402 instrukcí by mohl být ve funkci přirovnán ke kontroléru. Nicméně také v procesoru CRP uložených rutin jsme zavedli místní registry 405, které spolu s (neznázorněnými) lokálními registry ALU zajišťují bázi pro všechno adresování, které se vysílá do všech piketů v řadě 406 piketů. Takto se výpočty adres provádějí pro všechny pikety v jednom ALU bez použití piketových zdrojů, nebo myslitelně bez použití piketových prováděcích cyklů. Tento významný přídavek přidává piketové řadé pružnost řízení tím, že umožňuje klid, potlačení a jiné řídicí funkce pro specializované úkoly, které mají být prováděny, a umožňuje oddělení piketů od jakékoli vysílané instrukce nebo datové funkce.
Sekvenční obvod 402 se zavedeným mikrokódem 407 vysílá do řady piketů pro provádění pod JIMD sled instrukci, určený hlavním programovým mikroprocesorem MP a uloženými rutinami procesoru CRP uložených rutin knihovny 408 doby běhu k umožnění provádění procesů JIMD s daty, obsaženými v řadé piketů.
Instrukce, dodané mikroprocesoru MP přes rozhraní podsystému, jsou vytvořeny jako procesní příkazy vysoké úrovně, které mohou obsahovat Start Procesu, Zápis Pozor, a Čti Výsledek, které se zavedou do mikroprocesoru kontrolérem podsystému mikroprocesoru MP. Mikroprocesor může být uvažován jako hlavní systém nebo řídicí procesor v podsystému v uspořádání, znázorněném na obr. 4, 5, 6 a 7. Je pochopitelné, že tato jednotka by mohla být oddělenou jednotkou s přidáním (neznázorněného) periferního vstupního zařízení, jako klávesnice a displeje. V tomto odděleném uspořádání by systém MP mohl být uvažován jako komerční PS/2, ke kterému se karty, obsahující kartu se sekvenčním obvodem (která obsahuje procesor uložených rutin), a karty řady procesorů jsou vloženy podél linek, znázorněných na obr. 7. Knihovna 411 rutin může obsahovat sledy rutin pro celkové řízení procesu, jako CALL (,); Kalman, Convolve, a Nav. Update. Výběr těchto rutin se děje přes uživatelský program a tedy celkové provádění procesů může být řízeno vnějším počítačem nebo uživatelským programem 412, uloženým v MP. V pamětmi MP je uložen datový pufr 413 pro přenos dat do a z paralelního systému piketových procesorů. Sekvenční obvod 402 instrukcí je uspořádán, aby prováděl řídicí proud z MP, jakož i uložené rutiny, které jsou v paměti 408 knihovny časů běhu uložených rutin. Některé z těchto rutin zahrnují CALL ( , ), Load
-13CZ 280210 B6
Block, Sin, Cos, Find, Min, Range Comp. a Matrix Multiply z uložených rutin knihovny 408 časů běhu uložených rutin.
Uvnitř CRP je také mikrokód 407 pro provádění řízeni funkcí nižší úrovně, jako Load, Read, Add, Multiply, a funkce krytí.
Dáváme přednost a zajišťujeme vnější řízení FOR/NEXT pro každou procesní jednotku. Zajišťujeme také normalizovanou implementaci bytu deterministické pohyblivé řádové čárky.
Použiti deterministického přístupu k vývoji makro pro systém, který jsme zajistili, dovoluje uspořádání piketů do skupin a skupinovou kontrolu. Místní funkce klidu je zajištěna pro umožněni změn provádění procesů jednotlivých piketů.
Kdyby uživatelský program vyžadoval prováděni řadou procesorů jsou pro řadu piketových procesorů zajištěny primitivní příkazy, adresy a vysílaná data.
Zvláštní funkce, kterou využívá každá část systému, je určena úlohou, která má být prováděna, a označena během překladu uživatelského programu.
Pružnost podsystému může být osvětlena spíše obecným problémem. Vezmeme například problém násobení matic...[x] * [y]=[Z].
Problém může být zapsán takto:
xl xR+1 ...
yl yM+1 xR X2R ... xRxM yM y2M ... yMxC
C zl zR+1 ...
R zR Z2R ... zR+C
Problém, který by byl řešen rého je osvětlen počet průchodů a průchod, je podán prostřednictvím následujícím údajem, vedle ktepočet hodinových cyklů na jeden příkladu.
průchodů cyklů/ průchod
Call Matrix Mult Fx (R, M, C, Xaddr, Yadrr, Zaddr) xSUB = ySUB = zSUB = 1
-14CZ 280210 B6
03 DO I = 1 to C 1 3
04 DO J = 1 to R C 3
05 z = 0 CxR 5/6*
06 DO K = 1 to M CxR 3
07 ***Převedf na asociativní paralelní procesor* **
08 Zz = Xx x Yy + Zz CxRxM 204/345*
09 ***Vrať výsledek***
10 xSUB = xSUB + R CxRxM 2
11 ySUB = ySUB + 1 CxRxM 2
12 NEXT K CxRxM 3
13 xSUB = xSUB - MxR + 1 CxR 2
14 ySUB = ySUB - M CxR 2
15 zSUB = zSUB + 1 CxR 2
16 NEXT J CxR 3
17 xSUB = 1 C 2
18 NEXT z C 3
19 END Ca11 1 1
Poznámka * Pevná čárka (4 byte) / Pohyblivá čárka (1+4 Byte)
Z prohlídky výše uvedeného příkladu je zřejmé, že úloha identifikovaná výše uvedeným příkazem 08, spotřebuje asi 98
cyklického času. Je tedy převedena na JIMD organizaci paralelního piketového procesoru. Ostatní procesy potřebují pouze 2 % cyklického času a jsou udrženy v architektuře uvnitř mikroprocesoru.
Také prohlídka příkladu násobení matic svědčí pro provádění (a každý údaj po překladu by způsobil provedeni ve specifickém lokačním systému) bud na MP, CRP, LR nebo řadě piketů.
Ve výše uvedeném příkladu násobení matic příkaz 01 by měl být přiřazen hlavnímu procesoru MP, zatímco příkazy 02, 05, 10, 11, 13, 14, 15 a 17 by měly být přiřazeny místnímu registru LR, a příkazy 03, 04, 06, 12, 16, 18 a 19 by měly být přiřazeny pro provádění procesorem CRP uložených rutin, s jinak čas spotřebujícim prováděním procesů s maticemi, tudíž přiřazeny pro provádění pod jednou instrukcí řadě piketů s přiřazením příkazu 08 řadě piketů.
Obr. 5 znázorňuje mnohonásobný paralelní systém piketových procesorů 510, který zahrnuje množství paralelních piketových procesorů. Pro aplikace, jako stopování mnohonásobných cílů, spojováni čidel a dat, zpracování signálů, umělá inteligence, zpracování obrazů satelitů, sledování vzorů/úkolů, operace kódování a dekódování metodou Reed-Solomon, byl námi vytvořen systém, který může být uspořádán v přednostním provedení jako JIMD systém s 1024 paralelními procesory se dvěma ke 4 SEM E kartami 511 (zde reprezentovány jako 4 karty pro jeden systém) pro každých 1024 procesorů. Jednotlivé karty 512 jsou zasouvatelné do vanového montážního oddílu 513 s kluznými lištami 514 a karty jsou opatře
-15CZ 280210 B6 ny *zasouvacími/vysouvacími pákami 516, takže když se uzavře víko 517, uzavře účinné systém v oddílu se zásobou 32 nebo 64 Mbyte s prováděcí schopností asi 2 bilionů operací za sekundu. Systém je kompaktní a řada množství piketů je zasazena do karty 518 zadního panelu, která má v sobé logiku, která umožňuje propojení množství karet. Procesor se 32 M byte zásoby je vytvořen na čtyřech kartách SEM E a systém má hmotnost pouze asi 10 kg. Napájení je provedeno zdrojem 519, jak je znázorněno. Příkon vzduchem chlazeného procesoru takové výkonnosti je podle odhadu pouze asi 280 W. Každý JIMD systém má dva I/O porty 520 pro komunikaci kanálovým adaptérem s přidruženými hlavními panely, nebo jinak se zbytkem světa. Se znázorněným vícenásobným paralelním piketovým procesorem, z nichž každý sestává ze 4 logických stránek a s použitím standardního leteckého balení a sběrnicové struktury pro připojení k nějaké vnější paměti (například sběrnice Pl, TM a IEEE 488) může být procesor připojen přes I/O port k paměťové sběrnici nějakého misijního procesoru a může být uvažován jako prodloužení paměťového prostoru misijního procesoru.
Se znázorněným mnohonásobným paralelním piketovým procesorem, obsahujícím 1024 paralelních procesních prvků, má každý procesor 32 kbyte místní paměti a přidružená cesta k piketovému paralelnímu procesoru je paralelní šíře 8 bitů nebo znaku (9 bitů) .
Procesory uvnitř každého piketu si vyměňují data s jinými sousedními procesory a mezi stránkami přes zadní propojovací síť, přednostně křížový přepínač, alternativně skluzový křížový přepínač, přihrádkovou síť, bázi 3 N-krychle nebo bázi 8 N-krychle.
Jednotlivé piketové procesory systému jsou obsaženy uvnitř svazku dvou karet ze čtyř karet, a mikroprocesor PS/2 na jedné kartě, zatímco sekvenční obvod procesoru uložených rutin je obsažen na jiné z těch čtyř karet, které obsahují systém, schematicky znázorněný na obr. 5,6 a 7. Jednotlivé pikety 100 karet 512 piketů mohou být uspořádány ve společném útvaru s procesorem CRP uložených rutin pro vstup do nebo výstup z operací, založených na podmínkách dat a řízených architekturou zámku 104 a místními registry 405, které jsou připojeny k řízeni provádění procesů karty CRP 703 sekvenčního obvodu. Takto mohou piketové procesory provádět nezávisle srovnávací a normalizační operace, které jsou přidruženy k operacím v pohyblivé řádové čárce.
Procesory jsou řízeny paralelné společným sekvenčním obvodem, jak je zde popsáno. Karta 703 sekvenčního obvodu obsahuje kontrolér CRP piketového procesoru a může způsobit, že piketový procesor provede jedinou posloupnost operací, kódovanou pro provedeni na řadě JIMD procesorů v bytové sekvenci, podobné klasickému bitovému sériovému provádění procesů. Kontrolér má tři vrstvy. Mikro-kontrola pro pikety je v mikrokódu, podobné jako to je u moderních procesorů, a je přenesen paralelně do všech piketů. Mikro-kontrola a pikety jsou synchronizovány na stejný hodinový systém CLK, takže funkce, řízené sekvenčním obvodem, mohou být prováděny ve stejném hodinovém času. Zaváděcí příkazy do sekvenčního obvodu mikro-kontroly jsou funkcí procesoru uložených rutin. Karta 703 sekvenčního obvodu je pevné zadrátovaný kontrolér, který při většině funkcí provádí smyčkové řídicí příkazy a rekurzivně startuje nové sekvence mikro-kontroly. Tento kontrolér se svou
-16CZ 280210 B6 knihovnou 408 uložených rutin a se svou smyčkovou funkcí udržuje pikety dobře zásobovány a nesvázány příkazy. Procesor kontroléru CRP uložených rutin obsahuje velkou sbírku makro, která jsou vyvolávána hlavním systémem, který působí v podsystému jako primární supervizorový kontrolér piketů. To je vrcholový kontrolní systém řady piketů. Je to 386 mikroprocesorů, které ovládají řady piketů. V daném okamžiku mohou všechny pikety řady provádět tutéž instrukci, ačkoliv podmnožiny procesorů mohou reagovat individuálně na kontrolní proud.
Je zde více odchylek individuálních reakcí, takže místní autonomie působením bytové řídicí funkce pro každý piket (klid, potlačení atd.) je zde místní autonomie, jejíž výhodu může přivodit programováni a která může být provedena pod kontrolou systému během překladu programu.
Navíc, jak bylo popsáno, je zde autonomie adresování místní paměti. JIMD kontrolér sekvenčního obvodu dodává společnou adresu pro všechny užívané pikety. Každý piket může tuto adresu místně zvýšit ke zvýšení její schopnosti přístupu k datově závislé paměti .
Navíc, některý piket se může nebo nemusí podílet na působení řady v závislosti na místních podmínkách.
S těmito vlastnostmi je nyní možné zavést koncepci skupin do JIMD provádění procesů opatřením prostředků pro každý piket pro jeho přiřazení k jedné nebo více z určitých skupin, a prováděni procesů může probíhat v závislosti na těchto skupinách, kde změna uspořádání se může odehrávat v podstatě letmo. V jednom provedení může být pouze jedna skupina nebo kombinace skupin aktivní v jednom času a každá provádí tentýž proud JIMD instrukcí. Některé operace vyžadují práci pouze s podmnožinou nebo skupinou piketů. Programováni muže získat výhodu z této schopnosti. Místní participační autonomie je určena k této práci. Je zřejmé, že čím více piketů počítá, tím lépe.
Jedna cesta ke zvýšení počtu piketů, které se podílejí na provádění procesů, spočívá v tom, že se umožní, aby každý piket prováděl jeho vlastní proud instrukcí. To je v podstatě MIMD uvnitř JIMD. Nyní je možné v podstatě uspořádat tentýž JIMD stroj jako MIMD systém, nebo jako stroj úplné jiného uspořádání. To je možné proto, že je možné programovat piket, aby pracoval se svým vlastním sledem instrukcí.
Protože každý piket může být vytvořen tak, aby měl svůj vlastní sled, dekódováni, a je možná velmi jednoduchá množina instrukcí na úrovni piketu a to umožňuje mnohem extenzivnější místní provádění procesů. Oblasti, ve kterých se nejsnadněji najde počáteční aplikace, jsou v komplexním rozhodováni, nicméně jednoduché provádění procesů v pevné řadové čárce představuje další zájmovou oblast programátorů.
Takový jednoduchý program by zavedl bloky piketového programu, například na větší než 2K, do piketové paměti 102 a tyto mohou být prováděny, když JIMD karta 703 začne místní provádění řízením provádění, začínajícím u některé specifikované adresy xyz. To by pokračovalo, když kontrolér bud napočítá příslušný
-17CZ 280210 B6 počet hodinových cyklu, nebo provede test pro úplný signál úlohy ovládáním stavového kanálu (SF) registry, znázorněnými na obr. 4.
Stavový kanál (SF obr. 4) používá zámek 104 pro každý piket. Každý piket má zámek 104,· který může být naložen, aby udával stavovou podmínku piketu. JIMD kontrolér může testovat kolektivní hodnotu v těchto zámcích (jeden na jeden piket) ovládáním linky stavu řady. Tato linka stavu řady je logická kombinace hodnot z každého ze zámků stavu piketů.
V následujícím přikladu předpokládáme, že chceme nastavit hodnotu vyšší než 250, která je v rozsahu 500 x =250. Následující rutina by použila stavový kanál pro zjištění, že úloha byla splněna .
If VALUE 500 then TURN YOUR PICKET OFF
STÁT - PICKET OFF CONDITION
IF STÁT FUNNEL = OFF then finished - - - VALUE - VALUE - 250
Repeat
Tak může být uspořádání mnohonásobných paralelních piketových procesorů uspořádáno rozličnými způsoby, a jako JIMD procesor. Takový JIMD stroj v přednostním provedení je programován, aby prováděl jediný sled instrukcí klasickým způsobem a je kódován, aby prováděl operace na řadě JIMD procesorů sekvenčním postupem, podobným klasickým procesorům, při obecném řízení JIMD kontroléru nebo sekvenčního obvodu. Na aplikační úrovni je to splněno vektorem a vektoru podobnými instrukcemi, a vektory mohou být zpracovány procesory a přes procesor. Vektorové instrukce mohou být sloučeny s mikroinstrukcemi, typicky se 6 až 10 takovými instrukcemi.
S takovým přednostním provedením se systém jeví schematicky, jak je znázorněn ve funkčním blokovém diagramu podsystému paralelních procesoru, znázorněném na obr. 6. Přes I/O porty systému, řízené řízením vnějšího rozhraní 413, funguje sekvenční obvod podsystému podobné jako JIMD program s vysoce funkčními makro bloky, řídícími funkce procesních prvků. Adresováni paměti dovoluje proud dat 8 bitů, šíře byte a je užita aritmetická logika modulo 8 pro funkce (logické, add, multiply a divide). Je učiněno opatření pro formát pohyblivé řádové čárky a pro autonomní operaci piketů s individuálním spánkovým a klidovým modem a odděleným adresováním.
Uspořádáni kontroléru podsystému je znázorněno na obr. 7. Každá z karet 512 řady procesorů (znázorněno jako 4 v tomto znázornění podsystému, avšak je možné provést redukci na dvě SEM E karty) je připojena k sekvenčnímu obvodu CRP 703, který je připojen ke kontroléru 702 podsystému, který je spojen bud' se systémem hlavní paměti, nebo s jiným podsystémem v uspořádání přes » rozhraní čipu 705 ke přidružené sběrnici 706 mikrokanálu. V přednostním provedeni je kontrolér podsystému obecné účelová mikroprocesorová jednotka PS/2 společnosti IBM (ochranná známka IBM) a používá procesní čip Intel 386 a paměť 4 Mbyte. Mikroprocesor
-18CZ 280210 B6
MP 702 osobního počítače je připojen ke kartě sekvenčního obvodu přes sběrnici 705, 706 mikrokanálového typu uvnitř podsystému.
Je zřejmé, že jsou možné mnohé modifikace a variace předloženého vynálezu ve světle těchto výkladů a je tedy třeba uvážit, že připojené patentové nároky umožňují, že vynález může být vytvořen v praxi i jinak, než jak byl popsán.
Speciálně následující výtvory mohou být alternativně kombinovány nebo spojeny s opatřeními, definovanými v nárocích:
1) Skluzový prostředek umožňuje přenos informace v jediném cyklu do nesousedni polohy piketové jednotky umístěním adresy piketu, který by normálně byl schopen přijmout informaci, kdyby nebyl průhledný pro zprávu, vyslanou dokud nepřijde a je přijata nejbližším aktivním sousedem, který ji přijme;
2) Skluzový prostředek umožňuje skluzovou funkci vysláním informace do nesousedni polohy přes vyřazené pikety, umožňuje první piketové jednotce přenést informaci do vzdáleného piketu, když před přenosovým cyklem jsou bránící pikety učiněny průhlednými jejich vyřazením a potom v přenosovém cyklu řídicí prostředek způsobí, že první piketová jednotka vyšle informaci do místa určení v odlehlé piketové jednotce;
3) jsou opatřeny prostředky pro přenos zpráv lineárně přes strukturu, přes dvourozměrnou síť, nebo v trojrozměrném směru v řadě;
4) množství piketových jednotek má místní autonomii a je možné je uspořádat jako svázanou jednotku do řady zmíněných piketových j ednotek;
5) systém je možno uspořádat jako JIMD a MIMD systém a skupiny množství procesních jednotek jsou přiřazeny k programovatelnému uspořádání, ve kterém individuální jednotky systému mají určitý stupeň místní autonomie;
6) je zahrnut hlavni procesorový systém, který komunikuje s vnějším kontrolním sekvenčním obvodem přes sběrnici a hlavní systém má prostředek pro způsobení provádění globálních instrukci paralelním procesním systémem;
7) vnější řídicí sekvenční obvod je připojen k mikrokódové paměti, která je programovatelná uloženými rutinami pro funkce;
8) sekvenční obvod je opatřen vysokofunkčnimi makro bloky pro řízeni funkcí procesních jednotek, které jsou k sekvenčnímu obvodu připojeny sběrnicí, a kde adresováni paměti místních pamětí systému umožňuje proud dat síře byte a aritmetickou logiku modulo 8 užít pro funkce logické, add, multiply a divide, a kde je učiněno opatření pro operace v pohyblivé řádové čárce se zmíněnými paralelními jednotkami a pro individuální mody spánku a klidu s odděleným adresováním individuálních piketových procesních jednotek;
9) prováděni operací s funkcemi je programovatelné umistitelné k provádění uvnitř systému hlavního procesoru, s vnějším řídicím sekvenčním obvodem s uloženými rutinami, s prostředky místního registru, nebo uvnitř množství piketových procesních jednotek, a kde jedny instrukce, vyžadující rozsáhlé provádění procesů na množství dat, jsou přiřazeny ke zmíněnému množství
-19CZ 280210 B6 procesních jednotek, které je uspořádáno pro JIMD provádění procesů;
10) procesní jednotky systému jsou spojeny do řady procesních jednotek s procesními jednotkami řady, majícími programovatelnou místní autonomii, a kde piketová procesní jednotka může pracovat se svým vlastním sledem instrukcí a může vstoupit do nebo vystoupit z operací, spojených s jinými procesními jednotkami na základě podmínek dat, a kde procesní jednotky systému mohou nezávisle provádět zařazení a normalizaci v operacích, které jsou přidruženy k operacím v pohyblivé řadové čárce;
11) zmíněný vnější řídicí sekvenční obvod je uspořádán pro provádění operací jako CALL ( , ), Load, Block, Sin, Cos, Find, Min, Range, a Matrix Multiply uloženými rutinami, zajištěnými knihovnou času běhu uložených rutin;
12) uložené rutiny jsou zajištěny pro provádění kontrolních, Load, Read, Add, Multiply a Match funkcí;
13) nějaký procesní prvek vymění data v řadě sousedních procesních jednotek řady a mezi stránkami ve zmíněném systému přes propojovací síť;
14) je zde opatřen vnější řídicí procesor pro řadu piketů, a kde mikro-kontrolní kód je přenášen paralelné ke všem piketům skupiny piketových procesorů v řadě, a kde řídicí procesor a piketové procesní jednotky jsou synchronizovány na tentýž hodinový systém, takže funkce, řízené vnějším řídicím procesorem, mohou být prováděny ve stejném času hodin;
15) nad vnějším řídicím procesorem pro řadu piketů je vrcholový řídicí systém jako mikroprocesor, svázaný s vnějším řídicím procesorem přes sběrnici mikrokanálu, kterýžto vrcholový mikroprocesor ovládá aktivitu řady piketů, a kde je systém spojen tak, že v daném okamžiku všechny piketové procesní jednotky řady mohou provádět tutéž instrukci, ačkoliv podmnožiny procesorů mohou reagovat individuálně na řídicí proud;
16) množství piketových paralelních procesních jednotek je uspořádáno podél adresové sběrnice pro komunikaci s vnějším piketovým kontrolérem, a kde je vektorová adresa společná lokálním pamětem piketového systému a kde je registr vektorové adresy dat, aby kontroloval, jaká data jdou do každé místní paměti piketového systému. Komunikace se řízením piketů. Sběrnice vektorové adresy je společná paměti a registr vektorové adresy dat zjišťuje, jaká data jdou přes každou asociativní paměť množiny,
17) je zde opatřeno množství piketových jednotek, uspořádaných v řadě, a cesty pro proud dat mezi piketovými jednotkami, majícími komunikační cesty, vytvářející způsoby a prostředky pro bitovou paralelní komunikaci se všemi ostatními pikety v řadě při opatřeni vazební cesty pro přenos zpráv z jednoho piketu do některého jiného piketu;
18) zprávy mohou být přenášeny z jednoho piketu do některého jiného piketu přes N-rozměrnou řadu, implementovanou užitím drátu, nebo bodové spojené pikety;
19) je implementována malá sekce místní paměti, takže každé místo v této sekci současně bude provádět srovnání krytí proti danému vzoru.

Claims (6)

1. Paralelní procesorový systém, obsahující množinu procesorových piketových jednotek, vyznačující se tím, že každá procesorová piketová jednotka (100) obsahuje místní paměť (102), jejíž výstup je připojen ke vstupu B-registru (104), jehož výstup je připojen ke vstupu (B) bitového paralelního procesorového prvku (101), jehož výstup je připojen ke vstupu A-registru (105), jehož výstup je připojen ke vstupu Q-registru (106), jehož výstup je připojen jednak ke vstupu (A) bitového paralelního procesorového prvku (101), jednak ke vstupu B-registru (104) a jednak ke vstupu místní paměti (102).
2. Paralelní procesorový systém podle nároku 1, vyznačující se tím, že každá procesorová piketová jednotka (100) dále obsahuje sběrnici (103) vysílaných dat/adres, která je připojena k A-registru (105) a k místní paměti (102).
3. Paralelní procesorový systém podle kteréhokoli z nároků 1 a 2, vyznačující se tím, že každá procesorová piketová jednotka (100) dále obsahuje řidicí/stavový registr (107), který je připojen k bitovému paralelnímu procesorovému prvku (101) .
4. Paralelní procesorový systém podle kteréhokoli z nároků 1 až 3, vyznačující se tím, že bitový paralelní procesorový prvek (101) má šířku alespoň 8 bitů.
5. Paralelní procesorový systém podle kteréhokoli z nároků 1 až 4, vyznačující se tím, že místní paměť (102) má velikost alespoň 32 x 8 kilobitů.
6. Paralelní procesorový systém podle kteréhokoli z nároků 1 až 5, vyznačující se tím, že obsahuje alespoň 16 procesorových piketových jednotek (100).
CS913440A 1990-11-13 1991-11-13 Paralelní procesorový systém CZ280210B6 (cs)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US61159490A 1990-11-13 1990-11-13

Publications (2)

Publication Number Publication Date
CZ344091A3 CZ344091A3 (en) 1995-05-17
CZ280210B6 true CZ280210B6 (cs) 1995-12-13

Family

ID=24449647

Family Applications (1)

Application Number Title Priority Date Filing Date
CS913440A CZ280210B6 (cs) 1990-11-13 1991-11-13 Paralelní procesorový systém

Country Status (15)

Country Link
US (1) US5822608A (cs)
EP (1) EP0485690B1 (cs)
JP (1) JPH04267466A (cs)
KR (1) KR960016880B1 (cs)
CN (1) CN1050919C (cs)
AT (1) ATE180586T1 (cs)
BR (1) BR9104603A (cs)
CA (1) CA2050166A1 (cs)
CZ (1) CZ280210B6 (cs)
DE (1) DE69131272T2 (cs)
HU (1) HU215139B (cs)
PL (1) PL167329B1 (cs)
RU (1) RU2084953C1 (cs)
SK (1) SK344091A3 (cs)
TW (1) TW229289B (cs)

Families Citing this family (128)

* Cited by examiner, † Cited by third party
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.)
ATE243390T1 (de) 1996-12-27 2003-07-15 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen umladen von datenflussprozessoren (dfps) sowie bausteinen mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen (fpgas, dpgas, o.dgl.)
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
US6803989B2 (en) 1997-07-15 2004-10-12 Silverbrook Research Pty Ltd Image printing apparatus including a microcontroller
US6618117B2 (en) 1997-07-12 2003-09-09 Silverbrook Research Pty Ltd Image sensing apparatus including a microcontroller
US6879341B1 (en) 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
US7110024B1 (en) 1997-07-15 2006-09-19 Silverbrook Research Pty Ltd Digital camera system having motion deblurring means
US6690419B1 (en) 1997-07-15 2004-02-10 Silverbrook Research Pty Ltd Utilising eye detection methods for image processing in a digital image camera
AUPO850597A0 (en) 1997-08-11 1997-09-04 Silverbrook Research Pty Ltd Image processing method and apparatus (art01a)
US7705891B2 (en) 1997-07-15 2010-04-27 Silverbrook Research Pty Ltd Correction of distortions in digital images
US20040119829A1 (en) 1997-07-15 2004-06-24 Silverbrook Research Pty Ltd Printhead assembly 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)
US6985207B2 (en) 1997-07-15 2006-01-10 Silverbrook Research Pty Ltd Photographic prints having magnetically recordable media
US6624848B1 (en) 1997-07-15 2003-09-23 Silverbrook Research Pty Ltd Cascading image modification using multiple digital cameras incorporating image processing
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
KR100538605B1 (ko) 1998-03-18 2005-12-22 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 데이터 처리 장치, 행렬 변환 방법 및 컴퓨터 판독가능한 매체
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)
JP3439350B2 (ja) 1998-10-02 2003-08-25 Necエレクトロニクス株式会社 キャッシュ・メモリ制御方法及びキャッシュ・メモリ制御装置
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)
JP2003505753A (ja) 1999-06-10 2003-02-12 ペーアーツェーテー インフォルマツィオーンステヒノロギー ゲゼルシャフト ミット ベシュレンクテル ハフツング セル構造におけるシーケンス分割方法
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
US6487651B1 (en) * 1999-10-26 2002-11-26 Assabet Ventures MIMD arrangement of SIMD machines
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
RU2168757C1 (ru) * 2000-06-08 2001-06-10 ООО "Микротест-ТЕЛ" Способ защиты информационных ресурсов локальной вычислительной сети, соединенной с глобальной информационной сетью, от несанкционированного доступа пользователей глобальной информационной сети в локальную вычислительную сеть при обмене сигналами сообщений электронной почты и устройство для его осуществления
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
US20020052868A1 (en) * 2000-10-04 2002-05-02 Sanjeev Mohindra SIMD system and method
JP2004517386A (ja) 2000-10-06 2004-06-10 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト 方法および装置
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
CN1269053C (zh) * 2001-02-24 2006-08-09 国际商业机器公司 分组路由方法、系统及用于分组路由的可扩展网络交换机
CA2437629A1 (en) * 2001-02-24 2002-09-06 International Business Machines Corporation Arithmetic functions in torus and tree networks
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7581076B2 (en) 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or processing data
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
WO2005045692A2 (en) 2003-08-28 2005-05-19 Pact Xpp Technologies Ag 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
RU2202123C2 (ru) * 2001-06-06 2003-04-10 Бачериков Геннадий Иванович Параллельная вычислительная система с программируемой архитектурой
JP2004533691A (ja) 2001-06-20 2004-11-04 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データを処理するための方法
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
EP1483682A2 (de) 2002-01-19 2004-12-08 PACT XPP Technologies AG Reconfigurierbarer prozessor
EP2043000B1 (de) 2002-02-18 2011-12-21 Richter, Thomas Bussysteme und Rekonfigurationsverfahren
US9170812B2 (en) * 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
AU2003286131A1 (en) 2002-08-07 2004-03-19 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
EP1537486A1 (de) 2002-09-06 2005-06-08 PACT XPP Technologies AG Rekonfigurierbare sequenzerstruktur
KR101197513B1 (ko) 2002-10-22 2012-11-09 제이슨 에이. 설리반 동적 모듈식 처리 유닛을 제공하기 위한 시스템 및 방법
BR0315570A (pt) 2002-10-22 2005-08-23 Jason A Sullivan Módulo de controle de processamento não-periféricos possuindo propriedades aperfeiçoadas de dissipação de calor
US7242574B2 (en) 2002-10-22 2007-07-10 Sullivan Jason A Robust customizable computer processing system
RU2386163C2 (ru) * 2002-10-22 2010-04-10 Джейсон А. САЛЛИВАН Системы и способы обеспечения динамического модульного устройства обработки данных
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
US7386539B2 (en) * 2002-11-29 2008-06-10 Taiwan Semiconductor Manufacturing Company, Ltd. System, method, and user interface providing customized document 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
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エレクトロニクス株式会社 アレイ型プロセッサ
CA2563900C (en) * 2004-04-22 2015-01-06 Waratek Pty Ltd Modified computer architecture with coordinated objects
US7685561B2 (en) * 2005-02-28 2010-03-23 Microsoft Corporation Storage API for a common data platform
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
US20070188505A1 (en) * 2006-01-10 2007-08-16 Lazar Bivolarski Method and apparatus for scheduling the processing of multimedia data in parallel processing systems
JP2009524134A (ja) 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
EP2154607A3 (en) * 2006-02-03 2010-07-14 Fish, Russell H. III. Thread optimized multiprocessor architecture
US20070226455A1 (en) * 2006-03-13 2007-09-27 Cooke Laurence H Variable clocked heterogeneous serial array processor
US8656143B2 (en) 2006-03-13 2014-02-18 Laurence H. Cooke 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
WO2008027567A2 (en) * 2006-09-01 2008-03-06 Brightscale, Inc. 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 Федеральное государственное унитарное предприятие "Российский Федеральный ядерный центр - Всероссийский научно-исследовательский институт экспериментальной физики" (ФГУП "РФЯЦ-ВНИИЭФ") Способ определения структуры гибридной вычислительной системы
WO2013095605A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Apparatus and method for sliding window data gather
RU2513759C1 (ru) * 2012-11-01 2014-04-20 Федеральное государственное бюджетное учреждение науки Российской академии наук Научно-исследовательский институт системных исследований РАН (НИИСИ РАН) Гетерогенный процессор
WO2014088698A2 (en) * 2012-12-06 2014-06-12 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
EP3558682A4 (en) * 2017-04-14 2020-10-07 Hewlett-Packard Development Company, L.P. DELAY ELEMENTS FOR ACTIVATION SIGNALS
US11514996B2 (en) 2017-07-30 2022-11-29 Neuroblade Ltd. Memory-based processors
KR102782323B1 (ko) 2017-07-30 2025-03-18 뉴로블레이드, 리미티드. 메모리 기반 분산 프로세서 아키텍처
US10402165B2 (en) * 2017-08-30 2019-09-03 Gsi Technology Inc. Concurrent multi-bit adder
US12124530B2 (en) 2019-03-11 2024-10-22 Untether Ai Corporation Computational memory
WO2020183396A1 (en) 2019-03-11 2020-09-17 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处理器的量子密钥分发后处理片上系统

Family Cites Families (122)

* Cited by examiner, † Cited by third party
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
US5008815A (en) * 1983-05-31 1991-04-16 Thinking Machines Corporation Parallel processor
US4814973A (en) 1983-05-31 1989-03-21 Hillis W Daniel Parallel processor
US5212773A (en) 1983-05-31 1993-05-18 Thinking Machines Corporation Wormhole communications arrangement for massively parallel processor
US4598400A (en) * 1983-05-31 1986-07-01 Thinking Machines Corporation Method and apparatus for routing message packets
US5146608A (en) * 1983-05-31 1992-09-08 Hillis W Daniel Parallel processor array system controlled in response to composition status signal
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
JPS6219960A (ja) * 1985-07-17 1987-01-28 Nec Corp 多段構成プロセツサシステム
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
DE3580481D1 (de) * 1985-08-13 1990-12-13 Ibm Mechanismus zur dynamischen zuordnung von bandbreite zwischen durchschaltkanaelen und paketbitstrom in einem nachrichtennetz.
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
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
US4835729A (en) * 1985-12-12 1989-05-30 Alcatel Usa, Corp. Single instruction multiple data (SIMD) cellular array processing apparatus with on-board RAM and address generator apparatus
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
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
US4860201A (en) * 1986-09-02 1989-08-22 The Trustees Of Columbia University In The City Of New York Binary tree parallel processor
US4910665A (en) * 1986-09-02 1990-03-20 General Electric Company Distributed processing system including reconfigurable elements
US5170484A (en) * 1986-09-18 1992-12-08 Digital Equipment Corporation Massively parallel array processing system
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
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
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
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
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
US4891787A (en) * 1986-12-17 1990-01-02 Massachusetts Institute Of Technology Parallel processing system with processor array having SIMD/MIMD instruction processing
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
US5038282A (en) * 1988-05-11 1991-08-06 Massachusetts Institute Of Technology Synchronous processor with simultaneous instruction processing and data transfer
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
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
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
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
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
US5239629A (en) 1989-12-29 1993-08-24 Supercomputer Systems Limited Partnership Dedicated centralized signaling mechanism for selectively signaling devices in a multiprocessor system
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
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

Also Published As

Publication number Publication date
CZ344091A3 (en) 1995-05-17
BR9104603A (pt) 1992-06-23
EP0485690B1 (en) 1999-05-26
PL167329B1 (pl) 1995-08-31
RU2084953C1 (ru) 1997-07-20
DE69131272D1 (de) 1999-07-01
KR960016880B1 (ko) 1996-12-26
DE69131272T2 (de) 1999-12-09
TW229289B (cs) 1994-09-01
HUT59496A (en) 1992-05-28
JPH04267466A (ja) 1992-09-24
CN1061482A (zh) 1992-05-27
HU913542D0 (en) 1992-02-28
EP0485690A2 (en) 1992-05-20
CA2050166A1 (en) 1992-05-14
ATE180586T1 (de) 1999-06-15
SK344091A3 (en) 1995-01-12
US5822608A (en) 1998-10-13
CN1050919C (zh) 2000-03-29
EP0485690A3 (en) 1994-09-21
HU215139B (hu) 1998-09-28
PL292368A1 (en) 1992-09-07
KR920010473A (ko) 1992-06-26

Similar Documents

Publication Publication Date Title
CZ280210B6 (cs) Paralelní procesorový systém
Uhr Algorithm-structured computer arrays and networks: architectures and processes for images, percepts, models, information
EP3729279B1 (en) A unified memory organization for neural network processors
US5809292A (en) Floating point for simid array machine
US5815723A (en) Picket autonomy on a SIMD machine
Dongarra et al. Solving linear systems on vector and shared memory computers
JáJá Parallel algorithms
Duncan A survey of parallel computer architectures
US5754871A (en) Parallel processing system having asynchronous SIMD processing
US5842031A (en) Advanced parallel array processor (APAP)
US5713037A (en) Slide bus communication functions for SIMD/MIMD array processor
US5794059A (en) N-dimensional modified hypercube
US5187801A (en) Massively-parallel computer system for generating paths in a binomial lattice
US5247613A (en) Massively parallel processor including transpose arrangement for serially transmitting bits of data words stored in parallel
US7673118B2 (en) System and method for vector-parallel multiprocessor communication
Bartoloni et al. A hardware implementation of the APE100 architecture
EP0570952A2 (en) Slide network for an array processor
Lopresti An Architecture for Programmable Systolic Arrays
Krikelis et al. An Associative Approach to Computer
Lopresti Programmable Systolic Arrays
Bezek et al. The Execube parallel processor chip and cellular automata for tactical route planning
JPH0668282A (ja) 浮動小数点コンピュータ・システム

Legal Events

Date Code Title Description
IF00 In force as of 2000-06-30 in czech republic
MM4A Patent lapsed due to non-payment of fee

Effective date: 20061113