CZ344091A3 - Parallel processor system - Google Patents

Parallel processor system Download PDF

Info

Publication number
CZ344091A3
CZ344091A3 CS913440A CS344091A CZ344091A3 CZ 344091 A3 CZ344091 A3 CZ 344091A3 CS 913440 A CS913440 A CS 913440A CS 344091 A CS344091 A CS 344091A CZ 344091 A3 CZ344091 A3 CZ 344091A3
Authority
CZ
Czechia
Prior art keywords
picket
memory
processing
parallel
processor
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
Ibm
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 Ibm filed Critical Ibm
Publication of CZ344091A3 publication Critical patent/CZ344091A3/cs
Publication of CZ280210B6 publication Critical patent/CZ280210B6/cs

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • G06F15/17343Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/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; CALCULATING OR 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

Description

(57) 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).
100
--*-<
PARALELNÍ
Oblast techniky
..... .. PROO
Vynález se týká paralelního procesního systému obsahújícího množství piketových jednotek, kde každá piketová jednotka má bitový paralelní procesní prvek kombinovaný s místní pamětí 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ění jednoho prvku asociačního procesu.
Související přihlášky vynálezu podané přihlašovatelem předkládané přihlášky vynálezu jsou tyto:
Přihláška vynálezu Spojených států amerických 07/250,595 podaná 27.září 1988, nyní opoštěna ve prospěch její pokračovací přihlášky sériového čísla 07/519,332 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 883O7855/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 Spojených států amerických 07/426,140 podaná 24.října 1989, přihlašovatelé R. Jaffe a spol., název Two-dimensional Input/Output Scheme for Massively Parallel SIMD Computers a přihláška vynálezu Spojených států amerických 07/439,758 podaná 21.listopadu 1989, přihlašovatelé W.C. Dietrich, Jr. a spol, název Method and Apparatus for Performing Memory Protection Operátions in a Parallel Processor System.
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 pro odezvu 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
-ft-' SRB8
-2JIML (Jedna Instrukce Množství Lat) 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 v
každý procesor má pamět, 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 JIML a obecnějšími procesory byl ten, že v takových systémech mohou všechny JIML 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.JIML 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ší typy mnohaprocesorových systémů jsou systémy Mnoho Instrukcí Mnoho Lat, kde každý procesor může provádět zvláštní program pracující se zvláštní množinou dat. Procesory v MIML 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 JIML paralelních procesorech se uvažovalo, jak je ukázáno v patentovém spise Spojených států amerických číslo 4,435,758, autoři Lorie a spol., datum vydání ů.březen 1984, název Method for Conditional Branch Execution in ŠIML 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 pro zdroje, potom může být oznav čena sít synchronních procesorů pracující v JIML. 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ětví.
Stalo se normou popisovat nejpokrokovější JIML 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 Ntetwork”, Proceedings of the International Conference on Parallel Processing, str.411-414. Metody násobení 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ítí pro účely zpětné konfigurace byly podrobně popsány v časopise IEM Technical
-3Disclosure Bulletin, sv.32,? číslo 3A srpen 1989’ pro zlepšení rychlosti provádění 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. Lom a R. Jaffe v IEM 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 (FLOE) pro zpracování specifických opakovačích inspekčních funkcí paměti*
Tato přihláška plánuje vývoj vzduchem chlazeného systému, který může být vyráběn stávající technologií, která může vytvořit na čipu množinu s nově uspořádanou architekturou úkoly, které byly uvažovány pro JHD 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ětí RCM pro statické instrukce a registry pro ukládání a přístup 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 JlMD 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ásobení matic může být prováděno paralelně. Jsou známy publikace, které se týkají 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 universá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 je 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 aplikací. 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 oxfordeký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ění procesů na asociativní paměti VLSI za účelem popsání čipu asociativní paměti VLSI vhodného pro implementaci přes tavitelného, úplně para· Tělní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-h4O4627 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.
Jako výsledek jsme přišli na ř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 vlastní řešení způsobile přídavné problémy k řešení za účelem zlepšení chování systému a my jsme vynalezli řešení za účelem dalšího vyvíjení 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 číslu 07/250,595
-5τ * .
podanému 27.září 1988 o názvu “SIMD Array-Processor*’ popisuje a mnoharozměrné pole procesních prvků/ které má zvýšený stupen flexibility k umožnění lepšího využiti potenciálu pro paralelní provádění procesů bez dosažení nákladů a složitosti 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í. 'Z
Zpětný pohled také identifikoval jednu diskuzi o JIMDprocesorových prvcích bytové šíře o názvu “Design of SBID Microprocessor Array“, jejíž autoři jsou C.R. Jesshope, R. OOorman 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ání navrhuje·procesní prvky s prvky s architekturou osmibitového procesního akumulátoru, omezenou RAM pamět 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 v
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 tachniky paralelního provádění procesů. Viz pojednání “Summary of Parallel Computer Architectures jehož autorem je R. Duncan a které je v časopise 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ění pro cesů s paralelními byty informace v hodinovém cyklu. Přednostní
-6-6provedení sestávající z procesoru bytové sf-ře—proljarS^d d£t ♦ 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ě, 1/0 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í procesu s množinami, paralelní intensivní provádění numerických procesů či provádění 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.
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í pamět, 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-reas gistru, 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ět má velikost alespoň 32 x 8 kilobitů. Dále je výhodné, když parav ' lelní procesorový systém podle vynálezu obsahuje alespoň 16·
- procesorových piketových jednotek. t '
-7fecoeiočního procesu. Vytvořili· jsme ceatu-pro vodorovné u-aseci— v
aci s-každým—piketem^.......Pamét-piketových jednotek je uopořádánav poli. Polo......piketů -tndíž-takt-o uspořádané obsahuje množinovou asociativní paměfe{
Vynález množinového acociativního paralelního procesního v* 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 y 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.
Ve 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 technologií 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 standartní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í autonomií 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 konsistentní výrobek schop ný pracovat v prostředí chlazeném vzduchem. Pro barevnou grafiků by naše přednostní architektura piketů měla zvýšit množství DRAM
-8I na čipu na 128 kbytů pro jeden piket při zachování 16 piketů | na jednom čipu. Alternativně by pro procesory plně barevné grafe fiky 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řednostní provedení předloženého vynálezu je znázorněno na výkresech, kde obr.l 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 representativní 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 v
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.l 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 Ι0Λ čí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ádací oblast pro dvousměrný dvourozměrný 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ádací oblastí a množstvím pamětí JIMD, což obvykle jsou organizované pufrové
Sí5«s»:’i:
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ádací oblasti a ve 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ít, 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 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č.
v
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ání 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 v obr.l, je zde vnější procesor 28. Tento vnější procesor 28 je použit pro ukládání programů v mikrokodu 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 aadresovou a řídicí sběrnici 31. Vnější procesor 28 v tomto příkladu by mohl být jakýkoli vhodný universá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ýp organizována i odlišně, například na 3-D nebo 4-D skupinovém uspořádání. 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 instrukcí procesním prvkům P(i,j). Ačkoliv to v obr.l 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říkladu 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ýchodozápadnímu SVZJ spojení. Jako v přednostním provedení, které bude popsáno, 1024 procesních prvků by mohlo 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 volbu 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 hlavní parně! ř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 být přenášena do nebo ze zásoby v jednom čase v přenosovém kroku. K provedení operace čtení nebo psaní je pamět 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 identifikují procesní prvek, který má provést operaci. V popisovaném příkladu je tudíž možno číst jedno 32bitové 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í
I
-11nebo blokem paměti (i,j) široké jeden bit. Zatímco část nebo blok paměti je logicky sdružen na bázi jadna-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ápany 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ý konZ # troler má zásobník mikrokodu, do kterého se uloží mikrokod definující proces, který má být proveden řadou procesorů,, vnějším procesorem 28 při použití datové sběrnice 22 a adresové a řídicí sběrnice 31» Když byla operace řadového kontroléru začata vnějším procesorem 28, je sekvence mikrokodu řízena řídicí jednotkou mikrokodu, která je připojena k zásobníku mikrokodu uvnitř řadového kontroléru 14. ALU a sada registrů řadového kontroléru jsou použity při vyvíjení adres řadové paměti, čítání smyček, výpočtu skoků adres a registrových operací 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í ke 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ěrnicí vnějšího kontroléru a datovou sběrnicí řadového kontroléru. Z tohoto pufru jsou data zaváděna pod kontrolou mikrokodu 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 mikrokodu v řadovém kontroléru. Více podrobností takových sesté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ý
-12procesní prvek ALU 101 s místní pamětí 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é baze nebo piketovém čipu s lineárním polem piketů s postranními sousedy (vlevo a vpravo v obrázku), takže na Čipu křemíkové baze je vy- * tvořeno piketové procesní pole s množstvím místních pamětí,-ječnou 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ětí. V našem přednostním provedení komunikační cesty dat mezi pamětí 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žšího aktivního souseda, který ji přijme. Skluz tedy působí tak, že vysílá informaci do nesousední polohy přes výraV ' zené pikety. Necht 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 8 mnoharozmě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 ke 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
13dvojnásobným výkonem znakového 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ět vytvořena v CMOS jako DRAM a znakový byte je 9 bitů (které fungují 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ětí je podstatné zlepšení 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šení když se porozumí implikacímnově dosažené architektury. Významné řešení jsou zde popsána.
Vlastnost, která bude hodnocena, je, že přídavně ke 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áž data ve stejném čase. Ří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áni 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ý cyklus 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 ze čipu byla udržena minimální. Pamět DRAM je obvyklá
řadová paměí CMOS a jedna ktará má přístup řádek-sloupec pov tlačením sloupcové demultiplexace na zadní straně pamětové řady a vytvořením adresy řádku, která čte řádek pamětové řady ke proudu dat paralelně.
Přídavně k datům pamět obsahuje tri-bits nebo trit, 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ích mnoho v
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 operací 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ět 32768 KB. Řada piketů obsahuje množinovou asociativní pamět. Vynález je také užitečný pro numerické intensivní zpracování analyzy obrazu jakož i provádění procesů s vektory. Tato výkonná piketová procesní řada může být dnes balena pouze na dvou malých kartách! Bude ukázáno, že tisíce piketů mohou být výhodně zabaleno 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 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žev ný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ět tehdy, když se asociace žádá, srovnávaná
-15hodnota 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ět 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 Ν' 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 v
piketovou pamět. 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í inkluse některé sekce plně asociativní paměti typu znázorněného v 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ání na operaci nebo 512 Gig-srovnání za sekundu při jedné mikrosekundě pro operaci. S roztažitelností může být koncept posunut do rozsahu mnoha Tera-srovnání. Toto provedení zesiluje asociativní úlohy, které zavádějí extensivní průzkum informace s možnostmi vysoce přesahujícími současné výpočetní možnosti.
V
Když tato asociační operace užívající pamět a v šíři bytu spojené procesní prvky, jak je znázorněno v obr.2, přídavně k použitím odlišných algoritmů nebo operací, 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ásobení 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 krytí vzorů trojrozměrného obrazu;
Dotazově funkce podložené daty;
Krytí 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;
)C a kontroly porušení 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 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 čase, 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ýcn 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 parelelní č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,
-17v která může být uspořádána jako JIMD podsystém, znázorňující řídicí seskupení takového systému. Zde je také znázorněn řídicí procesor a mikroprocesor supervisoru. V obr.4 je znázorněna pamět a logika paralelního procesního prvku na stejném čipu, které jsou v obr.4 znázorněny v sekci označené Array of Pickets.
Každá pamět je v šíři n bitů, přednostně v šíři znaku, 8 (9) hitů, jak bylo uvedeno, avšak koncepčně také může mít šíři slova v
několika byte. Pamětová čá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žití asociativní paměti šíře 8 bitů nebo šíře znaku (šíře 9 bitů byte s vlast ní 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 v obr.4), které jsou podrobněji znázorněny v diagramu piketu v 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 mnohabitové šíř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ět.
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 ulogený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ý mikrokod 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štují bázi pro
-18-. .
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ů neby 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 instrukcí určený hlavním programovým mikroprocesorem MP a uloženými rutinami procesoru CRP uložených rutin knihovnu 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 v 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 v 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ěti 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 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é mikrokod 407 pro provádění řízení funkcí nižší úrovně jako Load, Read, Add, Multiply, a funkce krytí.
-19Dá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žití 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ění změn provádění procesů jednotlivých piketů.
Kdyby uživatelský program vyžadoval provádění ř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.
Fružnost podsystému může být osvětlena spíše obecným problémem. Vezmeme například problém násobení matic...[χ] « £y] = £z].
Problém může být zapsán takto:
xl xR+1 \M+1 xR x2R xRxM yM y2M . , .yMxC zl zR+1 ...
rt zR z2R ... z-R+C
Ktarý by byl řešen následujícím údajem vedle kterého je osvětlen počet průchodů a počet hodinových cyklů na jeden průchod je podán prostřednictvím příkladu.
01 Call Matrix Mult Fx průchodů 1 cyklů/ průchod c
02 (R,M,C,Xaddr, Yaddr, xSUB = ySUB = sSUB = 1 Zaddr) 1 3
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 xxxPřeved na asociativní paralelní procesorxxx
08 Zz - Xx χ Yy + Zz CxRxM 204/345«
09 10 xxxVrat výsledekxxx xSUB = xSUB + R CxRxM 2
11 ySUB = ySUB + 1 CxRxM 2
12 NEXT K CxRxM 3
A-\ -
.... -20- . průchodů cyklů/ průchod
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 EMD Call 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 JD5D 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 provedení ve specifickém lokačním systému) buď 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ícím 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ání čidel a dat, zpracování signálů, umělá inteligence, zpracování obrazů satelitů, sledování vzorů/úkolů, operace kočování a dekódování metodou Reed-Solomon hyl 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 representová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 θ kluznými lištami 514 a karty jsou opatřeny zasouvacími/vysóuvacími pákami 51$. 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.
-21Procesor 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 sys těm má dva 1/0 porty 520 pro komunikaci kanálovým adaptérem s při druž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 standartního leteckého balení a sběrnicové struktury pro připojení k nějaké vnější paměti ( například sběrnice FI, TM a IEEE 488) může být procesor připojen přes 1/0 port k pamětové sběrnici nějakého misijního v
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ít, přednostně křížový přepínač, alternativně skluzový křížový přepínač, přihrádkovou sít, 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 CEP 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 řízení 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 á může způsobit, že piketový procesor provede jedinou posloupnost operací kočovanou pro provedení 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
-22u moderních procesorů, a je přenesen paralelně do všech piketů. Mikro-kontrola a pikety jsoú synchronizovány na stejný hodinový systém CLK, takže funkce řízené sekvenčním obvodem mohou být pro váděny ve stejném hodinovém čase. 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 rekur sivně startuje nové sekvence mikro-kontroly. Tento kontrolér se svou 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ů, kte ré ovládají působnost rady 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 odchvlek 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ání 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řirazení k jedné nebo více z určitých skupin a provádění 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 čase a každá provádí tentýž proud JIMD instrukcí. Některé operace vyžadují práci pouze s podmnožinou nebo skupinou piketů. Programování může získat. výhodu z této schopnosti. Místní participační autonomie je určena k této práci
-23Je 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é progranovat 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ání a je možná velmi jednoduchá množina inv strukcí na úrovni piketu a to umožňuje mnohem extenzivnější místní provádění procesů. Oblasti, ve kterých se néjsnadněji najde počáteční aplikace jsou v komplexním rozhodování, nicméně jednoduché provadění procesů v pevné řádové čárce představuje další zájmovou oblast programátorů.
Takový jednoduchý program by zavedl bloky piketového programu, například ne 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.
v
To by pokračovalo když kontrolér bud napočítá příslušný počet hodinových cyklů nebo provede test pro úplný signál úlohy ovládáním stavového kanálu (SF) registry znázorněnými v 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říkladu 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 JTMD procesor
Β s ř,;.
Takový JIMD stroj v přednostním provedení-je programován, aby prováděl jediný sled instrukcí klasickým způsobem a je kodová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 systém se jeví schematicky jak je znázorněn ve funkčním blokovém diagramu podsystému paralelních procesorů znázorněném v obr.6. Přes 1/0 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ání 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ání kontroléru podsystému je znázorněno v 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 provedení je kontrolér podsystému obecně účelová mikroprocesorová jednotka PS/2 společnosti IBS (ochranná známka IEM) a používá procesní čip Intel 386 a pamět 4 Mbyte. Mikroprocesor 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:
-25-:
1) Skluzový prostředek umožňuje přenos informace v jediném cyklu do nesousední 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 nesousední 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 struk turu, přes dvourozměrnou sít, nebo ve 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 jednotek;
5) systém je možno uspořádat jako JIMD a M1MD systém a skupiny množství procesních jednotek jsou přiřazeny ke programovatelnému uspořádání, ve kterém individuální jednotky systému mají určitý stupen místní autonomie;
6) Je zahrnut hlavní 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 instrukcí paralelním procesním systémem;
7) Vnější řídicí sekvenční obvod je připojen k mikrokodové paměti, která je programovatelná uloženými rutinami pro funkce;
8) Sekvenční obvod je opatřen vysokofunkčními makro bloky pro řízení funkcí procesních jednotek, které jsou k sekvenčnímu obvodu připojeny sběrnicí, a kde adresování pamětí místních pamětí systému umožňuje proud dat šíř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ění 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,
-26a 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í 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, kte ré jsou přidruženy k operacím v pohyblivé řádové čá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,
Kin, 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ít;
14) je zde opatřen vnější řídicí procesor pro řadu piketů, a kde mikro-kontrolní kod 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 týt prováděny ve.stejném čase 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 individuelně na řídící 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 ; ·, k hák/’'R,';··?k k k-kv y.
-27zjištuje, jaká data jdou přes každou asociativní parnět 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 vatvářející způsoby a prostředky pro bitovou paralelní komunikaci se všemi ostatními pikety v řadě při opatření 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-řozměrnou řadu implementovanou užitím drátunebo 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

Claims (6)

  1. PATENTOVÉ NÁROKY
    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ět (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ři po jeřřHce^ vstupu (A) bitového paralelního procesorového prvku (101 ke vstupu B-regist-, ru (104) á^keT*vstupu místní paměti (102).
  2. 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. 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 řídicí/stavový registr (IO7), který je připojen k bitovému paralelnímu procesorovému prvku (101).
  4. 4. Paralelní procesorový systém podle kteréhokoli z nároku 1 až 3, vyznačující se tím, že bitový paralelní procesorový prvek (101) má šířku alespoň 8 bitů.
  5. 5. Paralelní procesorový systém podle kteréhokoli z nároků
    1 až 4, vyznačující se tím, že místní pamět (102) má velikost alespoň 32 x 8 kilobitů.
  6. 6. Paralelní procesorový systém podle kteréhokoli z nároků v
    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 true CZ344091A3 (en) 1995-05-17
CZ280210B6 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 (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765015A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
US5625836A (en) 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
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
EP1329816B1 (de) 1996-12-27 2011-06-22 Richter, Thomas 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
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US6786420B1 (en) 1997-07-15 2004-09-07 Silverbrook Research Pty. Ltd. Data distribution mechanism in the form of ink dots on cards
US6021453A (en) * 1997-04-24 2000-02-01 Klingman; Edwin E. Microprocessor unit for use in an indefinitely extensible chain of processors with self-propagation of code and data from the host end, self-determination of chain length and ID, (and with multiple orthogonal channels and coordination ports)
US6789212B1 (en) 1997-04-24 2004-09-07 Edwin E. Klingman Basic cell for N-dimensional self-healing arrays
US6618117B2 (en) 1997-07-12 2003-09-09 Silverbrook Research Pty Ltd Image sensing apparatus including a microcontroller
US6803989B2 (en) 1997-07-15 2004-10-12 Silverbrook Research Pty Ltd Image printing apparatus including a microcontroller
US6948794B2 (en) 1997-07-15 2005-09-27 Silverbrook Reserach Pty Ltd Printhead re-capping assembly for a print and demand digital camera system
AUPO802797A0 (en) 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Image processing method and apparatus (ART54)
US6879341B1 (en) * 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
AUPO850597A0 (en) 1997-08-11 1997-09-04 Silverbrook Research Pty Ltd Image processing method and apparatus (art01a)
US7110024B1 (en) 1997-07-15 2006-09-19 Silverbrook Research Pty Ltd Digital camera system having motion deblurring means
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
US6690419B1 (en) 1997-07-15 2004-02-10 Silverbrook Research Pty Ltd Utilising eye detection methods for image processing in a digital image camera
US7705891B2 (en) 1997-07-15 2010-04-27 Silverbrook Research Pty Ltd Correction of distortions in digital images
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
US6185667B1 (en) * 1998-04-09 2001-02-06 Teranex, Inc. Input/output support for processing in a mesh connected computer
US6067609A (en) * 1998-04-09 2000-05-23 Teranex, Inc. Pattern generation and shift plane operations for 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 ペーアーツェーテー インフォルマツィオーンステヒノロギー ゲゼルシャフト ミット ベシュレンクテル ハフツング セル構造におけるシーケンス分割方法
US6356993B1 (en) 1999-10-26 2002-03-12 Pyxsys Corporation Dual aspect ratio PE array with no connection switching
US6728863B1 (en) 1999-10-26 2004-04-27 Assabet Ventures Wide connections for transferring data between PE's of an N-dimensional mesh-connected SIMD array while transferring operands from memory
US6425026B1 (en) * 2000-02-23 2002-07-23 Teranex, Inc. Distribution, processing, and reconstruction of variable-sized images using multiple processor arrays
US6317695B1 (en) 2000-03-30 2001-11-13 Nutec Sciences, Inc. Seismic data processing method
US6452789B1 (en) * 2000-04-29 2002-09-17 Hewlett-Packard Company Packaging architecture for 32 processor server
JP2004506261A (ja) 2000-06-13 2004-02-26 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト パイプラインctプロトコルおよびct通信
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
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
IL157510A0 (en) * 2001-02-24 2004-03-28 Ibm Arithmetic functions in torus and tree networks
JP3871327B2 (ja) * 2001-02-24 2007-01-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 最適化されたスケーラブル・ネットワーク・スイッチ
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
WO2005045692A2 (en) 2003-08-28 2005-05-19 Pact Xpp Technologies Ag Data processing device and method
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
RU2202123C2 (ru) * 2001-06-06 2003-04-10 Бачериков Геннадий Иванович Параллельная вычислительная система с программируемой архитектурой
WO2002103532A2 (de) 2001-06-20 2002-12-27 Pact Xpp Technologies Ag Verfahren zur bearbeitung von daten
US7069386B2 (en) * 2001-08-10 2006-06-27 Connex Technology, Inc. Associative memory device
US7383421B2 (en) * 2002-12-05 2008-06-03 Brightscale, Inc. Cellular engine for a data processing system
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
US8281108B2 (en) 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
AU2003214003A1 (en) 2002-02-18 2003-09-09 Pact Xpp Technologies Ag Bus systems and method for reconfiguration
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US9170812B2 (en) * 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
WO2004021176A2 (de) 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
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
WO2004038599A1 (de) 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
CA2503791A1 (en) 2002-10-22 2004-05-06 Jason A. Sullivan Non-peripherals processing control module having improved heat dissipating properties
CA2504222C (en) 2002-10-22 2012-05-22 Jason A. Sullivan Robust customizable computer processing system
MXPA05004336A (es) 2002-10-22 2005-11-23 A Sullivan Jason Sistemas y metodos para proporcionar una unidad de procesamiento dinamicamente modular.
GB0226249D0 (en) * 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
US7386539B2 (en) * 2002-11-29 2008-06-10 Taiwan Semiconductor Manufacturing Company, Ltd. System, method, and user interface providing customized document portfolio management
US20040107197A1 (en) * 2002-11-29 2004-06-03 Shen Yu Yong System, method and user interface allowing customized portfolio management
US20040117374A1 (en) * 2002-12-16 2004-06-17 Hung Lup Cheong Patrick Customized design portfolio integrating IP libraries and technology documents
US20040107214A1 (en) * 2002-11-29 2004-06-03 Hung Lup Cheong Patrick Customized document portfolio system 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エレクトロニクス株式会社 アレイ型プロセッサ
EP2341430A1 (en) * 2004-04-22 2011-07-06 Waratek Pty Limited Multiple computer architecture with synchronization
JP2006243839A (ja) * 2005-02-28 2006-09-14 Toshiba Corp 命令生成装置及び命令生成方法
WO2007030742A2 (en) * 2005-09-08 2007-03-15 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
US20070189618A1 (en) * 2006-01-10 2007-08-16 Lazar Bivolarski Method and apparatus for processing sub-blocks of multimedia data in parallel processing systems
WO2007082730A1 (de) 2006-01-18 2007-07-26 Pact Xpp Technologies Ag Hardwaredefinitionsverfahren
US8656143B2 (en) 2006-03-13 2014-02-18 Laurence H. Cooke Variable clocked heterogeneous serial array processor
US20070226455A1 (en) * 2006-03-13 2007-09-27 Cooke Laurence H Variable clocked heterogeneous serial array processor
US7657496B2 (en) * 2006-06-26 2010-02-02 Saffron Technology, Inc. Nonlinear associative memories using linear arrays of associative memory cells, and methods of operating same
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
US20080059764A1 (en) * 2006-09-01 2008-03-06 Gheorghe Stefan Integral parallel machine
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 Федеральное государственное унитарное предприятие "Российский Федеральный ядерный центр - Всероссийский научно-исследовательский институт экспериментальной физики" (ФГУП "РФЯЦ-ВНИИЭФ") Способ определения структуры гибридной вычислительной системы
CN104025021A (zh) * 2011-12-23 2014-09-03 英特尔公司 用于滑动窗口数据收集的设备和方法
RU2513759C1 (ru) * 2012-11-01 2014-04-20 Федеральное государственное бюджетное учреждение науки Российской академии наук Научно-исследовательский институт системных исследований РАН (НИИСИ РАН) Гетерогенный процессор
EP2929434B1 (en) * 2012-12-06 2019-01-16 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
JP6916292B2 (ja) 2017-04-14 2021-08-11 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 起動信号のための遅延要素
US11514996B2 (en) 2017-07-30 2022-11-29 Neuroblade Ltd. Memory-based processors
TWI779069B (zh) * 2017-07-30 2022-10-01 埃拉德 希提 具有以記憶體為基礎的分散式處理器架構的記憶體晶片
US10402165B2 (en) * 2017-08-30 2019-09-03 Gsi Technology Inc. Concurrent multi-bit adder
US11256503B2 (en) 2019-03-11 2022-02-22 Untether Ai Corporation Computational memory
US20220171829A1 (en) 2019-03-11 2022-06-02 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 清华大学 支持多访存模式的可重构处理单元阵列及控制方法、装置

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
US5146608A (en) * 1983-05-31 1992-09-08 Hillis W Daniel Parallel processor array system controlled in response to composition status signal
US4598400A (en) * 1983-05-31 1986-07-01 Thinking Machines Corporation Method and apparatus for routing message packets
US5212773A (en) 1983-05-31 1993-05-18 Thinking Machines Corporation Wormhole communications arrangement for massively parallel processor
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
NL192637C (nl) * 1984-02-27 1997-11-04 Nippon Telegraph & Telephone Stelselprocessor.
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
EP0212031B1 (en) * 1985-08-13 1990-11-07 International Business Machines Corporation Dynamic bandwidth allocation mechanism between circuit slots and packet bit stream in a communication network
GB8521672D0 (en) * 1985-08-30 1985-10-02 Univ Southampton Data processing device
US4720780A (en) * 1985-09-17 1988-01-19 The Johns Hopkins University Memory-linked wavefront array processor
US4922408A (en) * 1985-09-27 1990-05-01 Schlumberger Technology Corporation Apparatus for multi-processor communications
US5021945A (en) * 1985-10-31 1991-06-04 Mcc Development, Ltd. Parallel processor system for processing natural concurrencies and method therefor
US4847755A (en) * 1985-10-31 1989-07-11 Mcc Development, Ltd. Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies
US4907148A (en) * 1985-11-13 1990-03-06 Alcatel U.S.A. Corp. Cellular array processor with individual cell-level data-dependent cell control and multiport input memory
US4736291A (en) * 1985-11-22 1988-04-05 Texas Instruments Incorporated General-purpose array processor
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
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
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
US4910665A (en) * 1986-09-02 1990-03-20 General Electric Company Distributed processing system including reconfigurable elements
US4860201A (en) * 1986-09-02 1989-08-22 The Trustees Of Columbia University In The City Of New York Binary tree parallel processor
US5170484A (en) * 1986-09-18 1992-12-08 Digital Equipment Corporation Massively parallel array processing system
US4985832A (en) * 1986-09-18 1991-01-15 Digital Equipment Corporation SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors
US5230079A (en) 1986-09-18 1993-07-20 Digital Equipment Corporation Massively parallel array processing system with processors selectively accessing memory module locations using address in microword or in address register
CN1008018B (zh) * 1986-09-27 1990-05-16 徐肇昌 一种具有合作能力的同构型多计算机系统及其合作方法
US4841476A (en) * 1986-10-06 1989-06-20 International Business Machines Corporation Extended floating point operations supporting emulation of source instruction execution
US5010477A (en) * 1986-10-17 1991-04-23 Hitachi, Ltd. Method and apparatus for transferring vector data between parallel processing system with registers & logic for inter-processor data communication independents of processing operations
GB2211638A (en) * 1987-10-27 1989-07-05 Ibm Simd array processor
US5175865A (en) 1986-10-28 1992-12-29 Thinking Machines Corporation Partitioning the processors of a massively parallel single array processor into sub-arrays selectively controlled by host computers
US4891787A (en) * 1986-12-17 1990-01-02 Massachusetts Institute Of Technology Parallel processing system with processor array having SIMD/MIMD instruction processing
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
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
US5239654A (en) 1989-11-17 1993-08-24 Texas Instruments Incorporated Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode
US5212777A (en) 1989-11-17 1993-05-18 Texas Instruments Incorporated Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation
US5218709A (en) 1989-12-28 1993-06-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Special purpose parallel computer architecture for real-time control and simulation in robotic applications
US5175862A (en) * 1989-12-29 1992-12-29 Supercomputer Systems Limited Partnership Method and apparatus for a special purpose arithmetic boolean unit
US5197130A (en) 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
US5239629A (en) 1989-12-29 1993-08-24 Supercomputer Systems Limited Partnership Dedicated centralized signaling mechanism for selectively signaling devices in a multiprocessor system
US5280474A (en) 1990-01-05 1994-01-18 Maspar Computer Corporation Scalable processor to processor and processor-to-I/O interconnection network and method for parallel processing arrays
US5218676A (en) 1990-01-08 1993-06-08 The University Of Rochester Dynamic routing system for a multinode communications network
US5265124A (en) 1990-02-15 1993-11-23 Advanced Micro Devices, Inc. Integrated multi-port repeater having shared resources
US5142540A (en) * 1990-03-13 1992-08-25 Glasser Lance A Multipart memory apparatus with error detection
US5187801A (en) 1990-04-11 1993-02-16 Thinking Machines Corporation Massively-parallel computer system for generating paths in a binomial lattice
US5355508A (en) 1990-05-07 1994-10-11 Mitsubishi Denki Kabushiki Kaisha Parallel data processing system combining a SIMD unit with a MIMD unit and sharing a common bus, memory, and system controller
US5136582A (en) * 1990-05-29 1992-08-04 Advanced Micro Devices, Inc. Memory management system and method for network controller
US5253359A (en) 1990-06-11 1993-10-12 Supercomputer Systems Limited Partnership Control and maintenance subsystem network for use with a multiprocessor computer system
US5251097A (en) 1990-06-11 1993-10-05 Supercomputer Systems Limited Partnership Packaging architecture for a highly parallel multiprocessor 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
CN1061482A (zh) 1992-05-27
SK344091A3 (en) 1995-01-05
CA2050166A1 (en) 1992-05-14
CN1050919C (zh) 2000-03-29
PL167329B1 (pl) 1995-08-31
TW229289B (cs) 1994-09-01
DE69131272T2 (de) 1999-12-09
HU913542D0 (en) 1992-02-28
PL292368A1 (en) 1992-09-07
DE69131272D1 (de) 1999-07-01
EP0485690B1 (en) 1999-05-26
EP0485690A3 (en) 1994-09-21
KR920010473A (ko) 1992-06-26
US5822608A (en) 1998-10-13
CZ280210B6 (cs) 1995-12-13
RU2084953C1 (ru) 1997-07-20
ATE180586T1 (de) 1999-06-15
EP0485690A2 (en) 1992-05-20
KR960016880B1 (ko) 1996-12-26
HUT59496A (en) 1992-05-28
HU215139B (hu) 1998-09-28
JPH04267466A (ja) 1992-09-24
BR9104603A (pt) 1992-06-23

Similar Documents

Publication Publication Date Title
CZ344091A3 (en) Parallel processor system
US5805915A (en) SIMIMD array processing system
Uhr Algorithm-structured computer arrays and networks: architectures and processes for images, percepts, models, information
Duncan A survey of parallel computer architectures
JáJá Parallel algorithms
US5809292A (en) Floating point for simid array machine
US5754871A (en) Parallel processing system having asynchronous SIMD processing
US5710935A (en) Advanced parallel array processor (APAP)
US5963746A (en) Fully distributed processing memory element
US5187801A (en) Massively-parallel computer system for generating paths in a binomial lattice
US5713037A (en) Slide bus communication functions for SIMD/MIMD array processor
US5966528A (en) SIMD/MIMD array processor with vector processing
US5815723A (en) Picket autonomy on a SIMD machine
US5588152A (en) Advanced parallel processor including advanced support hardware
US5963745A (en) APAP I/O programmable router
US5794059A (en) N-dimensional modified hypercube
US5734921A (en) Advanced parallel array processor computer package
JPH0922404A (ja) 同報通信プロセッサ命令を備えたアレイ・プロセッサ通信アーキテクチャ
JPH0589066A (ja) 多次元並列処理システム
Wallach Alternating sequential-parallel processing
Weems Jr Real-time considerations in the design of the image understanding architecture
Conrad Architecture-Specific Algorithms for a Parallel Programming Course
Kopetzky An array simulator generator
Lee Data structures and processor allocation for dataflow systems
Qiang et al. A Functionally Distributed Vision System For Parallel Image Understanding

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