DE3049437C2 - Matrixanordnung einer Vielzahl von Verarbeitungselementen - Google Patents

Matrixanordnung einer Vielzahl von Verarbeitungselementen

Info

Publication number
DE3049437C2
DE3049437C2 DE3049437A DE3049437A DE3049437C2 DE 3049437 C2 DE3049437 C2 DE 3049437C2 DE 3049437 A DE3049437 A DE 3049437A DE 3049437 A DE3049437 A DE 3049437A DE 3049437 C2 DE3049437 C2 DE 3049437C2
Authority
DE
Germany
Prior art keywords
register
data
processing elements
elements
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE3049437A
Other languages
English (en)
Other versions
DE3049437A1 (de
Inventor
Kenneth E. Stow Ohio Batcher
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GOODYEAR AEROSPACE CORP AKRON OHIO US
Original Assignee
GOODYEAR AEROSPACE CORP AKRON OHIO US
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 GOODYEAR AEROSPACE CORP AKRON OHIO US filed Critical GOODYEAR AEROSPACE CORP AKRON OHIO US
Publication of DE3049437A1 publication Critical patent/DE3049437A1/de
Application granted granted Critical
Publication of DE3049437C2 publication Critical patent/DE3049437C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C5/00Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels
    • G01C5/005Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels altimeters for aircraft
    • 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/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/006Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation at wafer scale level, i.e. wafer scale integration [WSI]

Description

Die Erfindung betrifft eine Matrixanordnung einer Vielzahl von Verarbeitungselementen, die untereinander verbunden sind, wobei jedes Verarbeitungselement einen Speicher umfaßt, ferner einen Addierer, ein erstes und ein zweites Datenregister, die mit dem Addierer verbunden sind und ihm Datenbits zuführen, sowie ein Übertragregister, das mit dem Addierer verbunden ist und von diesem aus arithmetischen Operationen resultierende Datenbits erhält.
Neuerlich gehen die Anforderungen an Datenprozessoren dahin, daß sie in der Lage sind, eine große Vielzahl von Daten arithmetisch und logisch in kurzen Zeiträumen zu ve: arbeiten, um vorher erhaltene Resultate laufend auf den letzten Stand zu bringen oder auch große Felder zu überwachen, von denen Daten gewonnen werden, und an denen Korrelationen vorgenommen werden können. Beispielsweise beabsichtigen die USA zur Zeit, Bildsensoren in Erdumlauf zu setzen, welche Daten in einer Menge von bis zu ID13 Bits pro Tag erzeugen können. Für solch ein Bildsystem werden vielfältige Verarbeitungsaufgaben wie beispielsweise geometrische Korrektur, Korrelation, Bildregistrierung, Merkmalswahl, multispektrale Klassifikation sowie Flächenmessung erfordert, um nützliche Information aus der Masse der erhaltenen Daten zu gewinnen, und zwar \Ard erwartet, daß die Arbeitsbelastung für ein Datenverarbeitungssystem, das in Verbindung mit solchen im Erdumlauf kreisenden Bildfühlern verwendet wird, im Bereich zwischen 109 und 1010 Operation je Sekunde liegt.
Schnelle Verarbeitungssysteme und komplizierte Parallelprozessoren, die zur simultanen Verarbeitung einer Vielzahl von Daten in der Lage sind, sind seit einer Reihe von Jahren bekannt. Und zwar betreffen die früheren US-PS 38 00 289, 38 12 467 und 39 36 806 des Anmelders sämtlich eine Konstruktion zur starken Vergrößerung der Datenverarbeitungsfähigkeit von Digitalcomputern. Ähnlich betrifft die US-PS 38 63 233, welche wie die vorliegende Anmeldung auf die Goodyear Aero-
space Corporation übertragen ist, insbesondere ein Datenverarbeitungselement für einen assoziativen oder parallelen Prozessor, der auch die Datenverarbeitungsgeschwindigkeit erhöht, indem er eine Vielzahl von Recheneinheiten, eine für jedes Wort, in der Speicheranordnung enthält Jedoch besitzen selbst uie beachtlichen Fortschritte dieser bekannten Lehren nicht die Fähigkeit, große Mengen von oben beschriebenen Daten kostenwirksam zu handhaben. Ein System der geforderten Art umfaßt Tausende von Verarbeitungselementen, von denen jedes sein eigenes arithmetisches und logisches Netzwerk enthält, welches in Verbindung mit seinem eigenen Speicher arbeitet, wobei es die Fähigkeit besitzt, mit anderen ähnlichen Verarbeitungselementen innerhalb des Systems zu kommunizieren. Mit Tausenden von solchen Verarbeitungselementen, die simultan arbeiten (Massenparallelismus), kann die erforderliche Geschwindigkeit erzielt werden. Aufgrund der Tatsache, daß typische Satellitenbilder Millionen «on Bildelementen (oder Pixels) umfassen, welche im allgemeinen gleichzeitig verarbeitet werden können, eignet sich ferner solch ein Aufbau gut zur lösung des vorerwähnten Problems.
Eine bekannte Matrixanordnung von Verarbeitungselementen der eingangs genannten Art (GB-PS 14 45 714) zur Verarbeitung großer Datenmengen läßt bei entsprechender Auslegung hohe Verarbeitungsgeschwindigkeiten zu, ist aber bei sehr großen Datenmengen relativ aufwendig.
Der Erfindung liegt die Aufgabe zugrunde, eine Matrixanordnung der eingangs genannten Art zu schäften, die eine kostengünstigere Verarbeitung großer Datenmengen zuläßt als die bekannte Anordnung.
Die Aufgabe ist erfindungsgemäß dadurch gelöst, daß jedes Verarbeitungselement eine Datensammelschiene zur Verbindung mit benachbarten Verarbeitungselementen innerhalb der Matrixanordnung und zum Datentransfer zwischen dem Speicher, dem Addierer, dem ersten und dem zweiten Datenregister und dem Übertragregister umfaßt, sowie ein Schieberegister wahlweise veränderlicher Länge, das funktionsmäßig mit dem ersten Datenregister und dem Addierer verbunden ist und eine Vielzahl einzelner Schieberegister mit zwischengeschalteten Verknüpfungsgliedern (Multiplexer) aufweist, welche die einzelnen Schieberegister wahlweise miteinander verbinden.
Das Vorsehen eines Schieberegisters wahlweise veränderlicher Länge ermöglicht die Anpassung an unterschiedliche Wortlängen und erhöht damit die Geschwindigkeit bei der bitseriellen Berechnung, was zu erheblicher Kostenverminderung führt.
Schieberegister variabler Länge in Verarbeitungselementen sind an sich bekannt (GB-PS 12 20 088 und IEEE-Transactions on Computers, Vol. C-18, Ko. 9, p. 800—816), lassen aber jeweils nur das Arbeiten mit zwei verschiedenen Wortlängen zu.
Weiterbildungen der Erfindung betreffen vorteilhafte Ausgestaltungen einzelner Bausteine des Verarbeitungselementes, insbesondere des Übertragregisters gemäß einer bestimmten Transferfunktion, sowie die Verknüpfung mehrerer Verarbeitungselemente miteinander.
Ein Ausführungsbeispiel der Erfindung wird nachfolgend anhand der Zeichnungen beschrieben. Es zeigt
Fig. 1 ein Blockschaltbild eines Verarbeitungssystems zur parallelen Massenverarbeitung, welches die Verknüpfung der Matrixanoidnung zeigt, die eine Vielzahl von Verarbeitungselementen umfaßt,
F i g. 2 ein Blockschaltbild eines einzelnen Verarbeitungselementes, das den Grundbaustein der Matrixanordnung von F i g. 1 bildet,
Fig.3, bestehend aus den Fig.3A—3C, ein Schalibild d*;r Steuersignal-Erzeugungss.ihaltung der Verarbeitungselemente, welche auf einem Chip angebracht ist und die Summenoder-Bäume und die Paritäts-Bäume enthält,
F i g. 4 ein detailliertes Schaltbild der grundsätzlichen
to Schaltung eines Verarbeitungselementes und
F i g. 5, umfassend die F i g. 5A, 5B, Schaltbilder des Schaltungskreises, der zur Beseitigung nicht arbeitender oder schlecht funktionierender Verarbeitungselemente aus der Matrixanordnung verwendet wird.
Aus F i g. 1 ist ersichtlich, daß ein großer Parallelprozesscr allgemein durch das Bezugszeichen 10 bezeichnet ist. Ein Hauptelement des Prozessors 10 ist die Matrixanordnung 12, welche in einer bevorzugten Ausführungsform eine Matrix aus 128 χ 128 Verarbeitungselementen, also insgesamt 16 384 Verarbeitungselemente umfaßt, die nachfolgend zu beschreiben sind. Die Matrixanordnung 12 nimmt auf ihrer linken Seite Daten auf und gibt auf ihrer rechten Seite Daten ab über 128 parallele Leitungen. Die maximale Transfergeschwindigkeit von 128-Bit-Datenspalten beträgt 10 MHz für eine maximale Bandbreite von 1,28 Milliarden Bits je Sekunde. Eingabe, Ausgabe oder beide können simultan mit der Verarbeitung stattfinden.
Elektronische Schalter 24 wählen die Eingabe der Matrixanordnung 12 aus der 128-Bit-Eingabeschnittstelle des Prozessors 10 oder von dem Eingaberegister 16. Ähnlich kann die Ausgabe der Matrixanordnung 12 über Schalter 26 zu der 128-Bit-Ausgabeschnittstelle des Prozessors 10 oder zu dem Ausgaberegister 14 gelenkt werden. Diese Schalter 24, 26 werden durch die Programm- und Datenbehandlungseinheit 18 unter geeigneter Programmsteuerung gesteuert. Steuersignale zu der Matrixanordnung 12 und Statusbit von der Matrixanordnung können mit dem externen Steuer-Interface des Prozessors 10 oder mit der Matrixsteuereinheit 20 verbunden sein. Auch dieser Transfer wird durch elektronische Schalter 22 bewerkstelligt, welche der Steuerung durch die Behandlungseinheit 18 unterliegen.
Die Matrixsteuereinheit 20 sendet Steuersignale und Speicheradressen an alle Verarbeitungselemente der Matrixanordnung 12 und erhält Statusbits von diesen. Die Einheit 20 ist ausgelegt zur Durchführung von Buchführungsvorgängen wie zum Beispiel Adressenberechnung, Schleifensteuerung, Verzweigung, Abruf von Unterprogrammen u. dgl. Sie arbeitet simultan mit der Verarbeitungselementsteuerung derart, daß die volle Verarbeitungskapazität der Verarbeitungselemente der Matrixanordnung 12 auf die zu behandelnden Daten angewandt werden kann. Die Steuereinheit 20 umfaßt drei getrennte Steuereinheiten; die Verarbeitungselement-Steuereinheit führt mikrokodierte Vektorverarbeitungsprogramme aus und steuert die Verarbeitungselemente und ihre zugehörigen Speicher; die Eingabe/ Ausgabe-Steuereinheit steuert das Schieben von Daten durch die Matrixanordnung 12; und die Hauptsteuereinheit führt die Anwendungsprogramme aus, führt die skalare Verarbeitung intern durch und macht Aufrufe an J:e Verarbeitungselement-Steuereinheit für sämtliche Vektorverarbeitung.
Die Programm- und Datenbehandlungseinheit 18 handhabt den Datenfluß zwischen den Einheiten des Prozessors 10, lädt Programme in die Steuereinheit 20, führt Systemtests und Diagnoseprogramme aus und
sorgt für. Programmentwicklungsmöglichkeiten. Die Einzelheiten dieses Aufbaus sind nicht wichtig zum Verständnis der Erfindung, aber es sollte bemerkt werden, daß die Einheit 18 günstigerweise einen Minicomputer umfassen kann wie beispielsweise den Digital Equipment Corporation (DEC) PDP-11/34 mit Schnittstellenleitungen (Interfaces) zu der Steuereinheit 20, der Matrixanordnung 12 (Register 14, 16) und dem externen Computer-Interface. Wie allgemein bekannt ist, kann die Einheit 18 auch periphere Geräte umfassen, beispielsweise ein Magnetbandgerät 28, Platten 30, einen Zeilendrucker 32 und ein alphanumerisches Endgerät 34.
Zwar hat der Aufbau von F i g. 1 eine gewisse Bedeutung für die Wirkung des Gesamtsystems, das die Erfindung enthält, es versteht sich aber, daß die Einzelheiten is dieses Aufbaus nicht erforderlich sind zur Würdigung des Rahmens und der Breite des Erfindungsgedankens. An dieser Stelle soll nur gesagt werden, daß die Matrixanordnung 12 den Erfindungsgedanken umfaßt, der hier im einzelnen zu beschreiben ist, und daß diese Matrixan-Ordnung eine große Vielzahl von untereinander verbundenen Verarbeitungselementen umfaßt, von denen jedes seinen eigenen Speicher hat, arithmetische Berechnungen durchführen kann, ein volles Komplement Boolescher Funktionen durchzuführen in der Lage ist und ferner in der Lage ist wenigstens mit den orthogonal benachbarten Verarbeitungselementen auf allen Seiten zu verkehren, die hier mit Norden, Süden, Osten und Westen bezeichnet werden.
Wie aus F i g. 2 ersichtlich, ist ein einzelnes Verarbeitungselement allgemein durch das Bezugszeichen 36 bezeichnet Das Verarbeitungselement umfaßt ein P-Register 38, welches zusammen mit seiner Eingabelogik 40 sämtliche Logik- und Weiterleitungsfunktionen für das Verarbeitungselement 36 durchführt Die A-, B- und C-Register 42 bis 46, das Schieberegister 48 variabler Länge und die zugehörige Logik des Volladdierers 50 bilden das Rechenwerk des Verarbeitungselementes 36. Das G-Register 52 ist vorgesehen, um das Maskieren arithmetischer und logischer Operationen zu steuern, während das S-Register 54 dazu verwendet wird, Daten in das und aus dem Verarbeitungselement 36 zu schieben, ohne seine Operationen zu stören. Schließlich sind die vorerwähnten Elemente des Verarbeitungselementes 36 mittels einer doppelseitig gerichteten Daten-Sammelschiene 58 zu einem einzigen verknüpften Speicher 56 mit direktem Zugriff (RAM) verbunden.
Gemäß derzeitiger Konstruktion ist das Verarbeitungselement 36 durch LSl-Technik auf eine solche Größe reduziert daß ein einzelner Chip acht solche VerarbeitürigseleiTierue enthalten kanr. zusammen mit einem Paritäts-Baum, einem Summenoder-Schaltkreis und einer zugehörigen Steuerdecodierung. In der bevorzugten Ausführungsform sind die acht Verarbeitungselemente auf einen Chip in zwei Reihen zu je vier Spalten angeordnet Da sich die Größe von RAM-Speichern durch die LSI-Technik zur Zeit rasch ändert, wird es vorgezogen, den Speicher 56, obwohl er einen Teil des Verarbeitungselementes 36 ausmacht von der integrierten Schaltung des restlichen Aufbaus des Verarbeitungselementes getrennt zu halten, so daß, wenn es die Technologie erlaubt größere Speicher mit den Verarbeitungselementen vereinigt werden können, ohne die gesamte Systemkonstruktion zu ändern.
Die Datenschiene 58 ist der hauptsächliche Datenweg für das Verarbeitungselement 36. Während jedes Maschinenzyklus kann er ein Datenbit von irgendeiner von sechs Quellen zu einer oder mehreren Empfangsstellen transferieren. Die Quellen umfassen ein aus der adressierten Stelle in dem RAM-Speicher 56 gelesenes Bit, den Zustand der Register B, C, P oder 5 oder den Zustand der Äquivalenzfunktion, die durch das Element 60 erzeugt wird und den Äquivalenzzustand anzeigt der zwischen den Ausgängen der Register P und G besteht Die Äquivalenzfunktion wird während einer Ausblendnegieroperation (masked-negate) als Quelle verwendet.
Die Bestimmungsorte eines Datenbits auf der Datenschiene 58 sind die adressierten Stellen des Speichers 56, die Register A, G oder 5, die mit dem Register /'verbundene Logik, der Eingang zu dem Summenoder-Baum und der Eingang zu dem Paritätsbaum.
Vor Betrachtung der Schaltung des Verarbeitungselementes 36 im einzelnen sollte F i g. 3 beachtet werden, in welcher die Schaltung 62 zur Erzeugung der Steuersignale zum Betrieb der Verarbeitungselemente gezeigt ist Die Schaltung von F i g. 3 ist in ein LSI-Chip einbezogen, welches acht Verarbeitungselemente umfaßt und ist verantwortlich für die Steuerung dieser zugeordneten Elemente.
Grundsätzlich umfaßt die Schaltung von F i g. 3 eine Decodierlogik, die Steuersignale auf den Leitungen L 0 bis LF durch Programmsteuerung erhält und diese Signale verwandelt in die Steuersignale K1 bis K 27 zum Anlegen an die Verarbeitungselemente 36, den Summenoder-Baum oder den Paritäts-Baum. Zusätzlich erzeugt die Schaltung in F i g. 3 aus dem Haupttakt des Systems alle anderen zur Steuerung des Verarbeitungselementes 36 notwendigen Taktimpulse.
Ein Fachmann kann aus der Schaltung von F i g. 3 die Beziehung zwischen der programmierten Eingabefunktion auf den Leitungen LO bis LF und den Steuersignalen K1 bis K 27 direkt ableiten. Zum Beispiel ergeben die Inverter 64,66 Ki = LC. Ähnlich ergeben die Inverter 68 bis 72 und das NAND-Glied 74 K 16=LO · L 1. Desgleichen ergibt sich /C18 = L2L3L4L6.
Taktimpulse zur Steuerung der Verarbeitungselemente 36 werden im wesentlichen auf die gleiche Art wie die Steuersignale erzeugt Das ist dem Fachmann ohne weiteres ersichtlich aus einer Betrachtung der Schaltung 62 von F i g. 3. Beispielsweise gilt für den Takt S-CLK=S-CLK-ENABLE ■ Main CLK aufgrund der Inverter 76, 78 und des NAND-Gliedes 80. Ähnlich gilt Takt G-CLK=LS ■ MAINCLK aufgrund von Invertern 76,82 und eines NAND-Gliedes 84.
Ferner ist aus Schaltung 62 von F i g. 3 zu ersehen, daß eine Einrichtung zur Bestimmung eines Paritätsfehlers und des Summenoders der Daten sämtlicher Verarbeitungselemente auf der Datenschiene vorgesehen ist Das Datenbit auf der Datenschiene kann dem Summenöder-Baum geliefert werden, der ein Baum von Inklusiv-Oder-Logikelementen ist welcher das Inklusiv-Oder aller Verarbeitungselement-Datenschienenzustände bildet und die Ergebnisse der Matrixsteuereinheit 20 zuführt
Um die Anwesenheit von Verarbeitungselementen in bestimmten Zuständen zu ermitteln, sind Gruppen von acht Verarbeitungselementen oder-mäßig verknüpft in einem Summenoder-Baum mit acht Eingängen, dessen Ausgangssignal dann einem Oder-Baum mit 2048 Eingängen außerhalb des Chips zugeführt wird, um ein Summenoder sämtlicher 16 384 Verarbeitungselemente zu erhalten.
Fehler in dem RAM-Speicher 56 können auf übliche Art bestimmt werden durch Paritätserzeugung und eine Prüfschaltung. Bei jeder Gruppe von acht Verarbeitungselementen 36 gibt es einen Paritätsfehler-Flipflop
7 8
86, der auf binär 1 gesetzt wird, wenn ein Paritätsfehler nen der Signale K 25, K 26 hinsichtlich der Beseitigung
in einem zugeordneten Speicher 56 ermittelt wird. Wie gewählter Verarbeitungselemente wird unten anhand
in der Schaltung 62 gezeigt, umfaßt der Summenoder- von F i g. 5 erörtert.
Baum die drei durch das Bezugszeichen 88 bezeichneten Aus Fig. 4 und ihrer Korrelation mit Fig. 2 ist er-Verknüpfungsglieder, während der Paritätsfehler-Baum 5 sichtlich, daß der Volladdierer Verknüpfungsglieder aus sieben Exklusiv-Oder-Gliedern besteht, die durch 94—100 umfaßt. Dieser Volladdierer steht in Verbindas Bezugszeichen 90 bezeichnet sind. Während Lese- dung mit dem Register B, das einen Flipflop 102 aufoperationen wird das Paritätsausgangssignal am Ende weist, welcher das Summenbit erhält, ferner mit dem des Zyklus durch den M-Takt in den Haltekreis im Flip- Register C, das einen Flipflop 104 aufweist, welcher das flop 86 aufgenommen. Während Schreibvorgängen wird 10 Obertragbit erhält, und steht außerdem in Verbindung die Parität über den Paritätsbit-Stift des Chips an einen mit dem Schieberegister 48 variabler Länge, welches Paritätsspeicher abgegeben. Der Paritätsspeicher um- Schieberegister 106—110 mit 16, 8 und 4 Bits aufweist, faßt einen den Elementen 56 ähnlichen Speicher mit sowie Flipflops 112,114 und Multiplexer 116—120.
Direktzugriff. Der während Schreibvorgängen bei dem Der Addierer erhält ein Ausgangssignal von dem Paritätsbit gespeicherte Paritätszustar.d wird exklusiv- is Schieberegister, und zwar das Ausgangssignal des A-oder-mäßig mit dem Ausgangssignal des Paritäts- Registers 122, und ein Eingangssignal von der Logik-Baums 90 während Leseoperationen verknüpft, um den und Leit-Untereinheit, und zwar das Ausgangssignal des Halte-Flipflop(latch)86 zu beeinflussen. P-Registers 124. Jeweils wenn die Kontrolleitung K2\
Wie gezeigt, bestimmt das Steuersignal K 23, ob eine eine logische 1 ist und BC-CLK getaktet wird, addiert Lese- oder Schreiboperation ausgeführt wird, während 20 der Addierer die zwei Eingangsbits von den Registern A K 24 zum Löschen des Paritätsfehler-Flipflops 86 ver- und P zu dem Übertragbit, das in dem C-Register 104 wendet wird. Der Summenoder-Baum 88 verknüpft gespeichert ist, um eine Zweibit-Summe zu bilden. Das oder-mäßig sämtliche Datenbits D0—D7 auf den züge- Bit geringster Wertigkeit der Summe wird durch Takt in hörigen Datenschienenleitungen der acht Verarbei- das Z?-Register 102 eingelesen, und das mit höchster tungselemente 36 des Chips. Wie ersichtlich werden die 25 Wertigkeit der Summe wird durch Takt in das C-Regi-Paritätssignale und die Summenoder-Signale über die ster 104 eingelesen, so daß es das Übertragbit für den gleiche Gatter-Matrix 92 transferiert, welche durch nächsten Maschinenzyklus wird. Wenn K 21 auf einer K 27 gesteuert wird, um zu bestimmen, ob Parität oder logischen 0 ist, wird das P-Bit durch 0 ersetzt
Summenoder von dem Chip zu der Matrixsteuereinheit Wie gezeigt, setzt die Steuerleitung K 12 das C-Regi-20 transferiert wird. Die Ausgänge der Flipflops 86 30 ster 4 auf den Binär-1-Zustand, während die Steuerleisämtlicher V^rarbeitungselemente sind mit dem tung K13 das C-Register auf den Binär-0-Zustand zu-2048-Eingangs-Summenoder-Baum derartig verbunden, rücksetzt. Die Steuerleitung K16 leitet den Zustand des daß das Vorhandensein irgendeines gesetzten Flipflops ß-Registers 102 auf die doppelseitig gerichtete Daten-86 abgefragt werden kann. Durch Verbindung eines schiene 58, während die Steuerleitung K 22 das Aus-Flipflops, der bei einem Fehler hält oder verriegelt, kann 35 gangssignal des C-Registers auf die Datenschiene leitet, die Matrixsteuereinheit 20 der Reihe nach Spalten von In Betrieb enthält der Volladdierer von F i g. 4 eine Verarbeitungselementen sperren, bis die Spalte gefun- Übertragfunktion, die folgendermaßen ausgedrückt den ist, die das fehlerhafte Element enthält wird:
Wie nachfolgend weiter erörtert wird, wird das Steu- c .„ „„ . c
ersignal K 25 dazu verwendet, die Paritäts- und Sum- 40 *~
menoder-Ausgänge von dem Chip zu sperren, wenn das Der neue Zustand des Übertragregisters C, dem Flip-Chip gesperrt und nicht weiter im System verwendet flop 104, ist äquivalent den und-mäßig verbundenen Zuwird, ständen der Register A und P oder den und-mäßig ver-
Während die Verwendung von Summen-Oder-und bundenen Zuständen der Register B und C oder den
Paritätsfunktionen bekannt ist, ist ihre Verwendung in 45 und-mäßig verbundenen Zuständen der Register A und
der Erfindung wichtig, um beim Lokalisieren fehlerhaf- C. Diese Übertragfunktion wird erhalten unbeschadet
ter Verarbeitungselemente zu helfen, so daß diese EIe- der Tatsache, daß keine Rückkopplung von Ausgangssi-
mente aus dem Operationssystem entfernt werden kön- gnalen des C-Registers zu seinen Eingangssignalen vor-
nen. Die Bäume 88,90, die über das Netzwerk 92 gegen- handen ist, da der JK-Flipflop 104 der Regel folgt:
seitig ausschließend getort sind, sorgen für die Möglich- 50 --.<_ ,q ^
kcit, Spalten von Verarbcitur.gselerner.ten 36 auf Parität "~ J
zu prüfen, und bieten ferner das Summenoder-Netz- Der neue Zustand des Registers C ist das Komple-
werk zur Bestimmung des Vorhandenseins von Verar- ment des gegenwärtigen Zustands des Registers C, und-
beitungsdementen in besonderen Logikzuständen, um mäßig verbunden mit dem J-Eingang, oder das Komple-
auf diese Weise die Antwortstelle auf eine Suchopera- 55 ment des K-Eingang, und-mäßig verbunden mit dem
tion festzustellen. Die Anzahl von für dieses Verfahren gegenwärtigen Zustand des Registers C. Dementspre-
erforderlichen Schaltkreiselementen ist auf einem Mini- chend folgt in der Schaltung von F i g. 4 der Flipflop 104
mum gehalten worden unter Verwendung eines einzi- der Regel:
gen Ausgangssignals für die zwei Bäume, wobei dieses g^_ . „^ .. „^
Ausgangssignal durch Programmsteuerung mehrfach 60 *~ ( A-·
ausgenützt wird. Der zuletzt angegebene Ausdruck ist der zuerst ange-
Schließlich ist aus F i g. 3 zu ersehen, daß das Sperrsi- gebenen Übertragfunktion äquivalent
gnal, das zur Beseitigung einer vollständigen Spalte von Bezüglich des Summenausdrucks erhält das Register
Verarbeitungselement-Chips aus der Matrixanordnung B, der Flipflop 102, ein Summenbit, welches eine Exklu-
12 verwendet wird, zu diesem Zweck das Signal K 25, 65 siv-Oder-Funktion der Zustände der Register A, P und
K 26 erzeugt Wie oben erwähnt, sperrt das Steuersi- Cist entsprechend dem Ausdruck:
gnal K 25 die Summenoder- und Paritätsausgänge für B*~A P C
zugeordnete Verarbeitungselemente. Weitere Funktio- *~
9 10
Das Glied 98 erzeugt A Pvon den Gliedern 94 und erhält Daten von der Datenschiene 58 entweder in dem
96, welches Ergebnis das Glied 100 exklusiv-oder-mäßig wahren Zustand oder komplementär über den Inverter
mit Cverknüpft, um den Summenausdruck zu erhalten. 130. Die Logikschaltung 40 ist dann unter der Kontrolle
Das Schieberegister des Rechenwerkes des Verarbei- der Steuersignale K 8— K11 in der Lage, alle sechzehn tungselementes 36 hat dreißig Stufen. Diese Stufen ge- s Booleschen Logikfunktionen auszuführen, die zwischen statten den Schieberegistern, variierende Längen zu ha- den Daten von der Datenschiene und den in dem P-Reben, um so verschiedene Wortgrößen unterzubringen gister 124 vorhandenen Daten ausgeführt werden kön- und damit die Zeit für Rechenoperationen in bitseriellen nen. Das Resultat wird dann in dem P-Register 124 geBerechnungen wesentlich zu vermindern, wie sie bei der speichert. Multiplikation auftreten. to Es versteht sich, daß bei K 7-0 die Verknüpfungs-
Steuerleitungen Ki-K4 steuern Multiplexer glieder 130 und 132 gesperrt sind. Die Steuerleitungen 116—120 so, daß bestimmte Teile des Schieberegisters /C8 und K9 gestatten dann, daß 0,1, Doder Dzu dem umgangen werden können, was bewirkt, daß die Länge J-Eingang des P-Registers dem Flipflop 124, getort wird, des Schieberegisters wahlweise auf 2,6,10,14,18,22,26 D ist der Zustand der Datenschiene 58. Unabhängig oder 30 Stufen eingestellt wird. Datenbits werden in das 15 davon gestatten die Steuerleitungen K10 und K 11, daß Schieberegister über das S-Register 102 eingeführt, 0,1, D oder D zu dem K-Eingang gesandt wird. Gemäß welche die Summenbits von dem Addierer sind. Die der Regel der J-K-Flipflop-Operation wird der neue Zu-Datenbits verlassen das Schieberegister durch das A- stand des P-Registers folgendermaßen definiert: Register 122 und laufen zurück durch den Addierer. Die A- und 5-Register fügen dem Rundweg zwei Verzöge- 20 P*-JP KP. rungsstufen zu. Dementsprechend beträgt die Rundweglänge eines Rechenprozesses 4, 8, 12, 16, 20, 24, 28 Wie ersichtlich, können durch Wahl aller vier Zustän- oder 32 Stufen je nachdem, wie die Zustände der Steuer- de von K alle sechzehn logische Funktionen von P und leitungen KX-K 4 die Multiplexer 116—120 regulie- D erhalten werden, ren. 25 Wie oben besprochen, kann das Ausgangssignal des
Das Schieberegister gibt Daten an das /4-Register 122 Registers P in arithmetischen Berechnungen des Verar-
ab, welches über Steuerleitungen K 1, K 2 und Multiple- beitungselementes 36 verwendet werden oder kann zu
xer 120 zwei andere Eingänge wählen kann. Ein Eingang der Datenschiene 58 geleitet werden. Wenn K 21 auf
ist eine logische 0. Dieser wird verwendet, um das Schie- einer logischen 1 ist, wird der augenblickliche Zustand
beregister in einen Gesamt-0-Zustand zu löschen. Der 30 des Registers P für die Addierlogik freigegeben. Wenn
andere Eingang ist die doppelseitig gerichtete Daten- X 14 eine logische 0 ist, wird das Ausgangssignal des
schiene 58. Diese kann verwendet werden, um Daten Registers P für die Datenschiene freigegeben. Wenn
direkt in den Addierer einzuführen. K15 eine logische 0 ist, wird das Ausgangssignal des
Das A-Register 122 wird durch A-CLK getaktet und Registers P exklusiv-oder-mäßig mit dem Komplement
die anderen 30 Stufen des Schieberegisters werden 35 des G-Registers 132 verknüpft und das Resultat wird für
durch SR-CLK getaktet. Da die letzte Stufe des Schie- die Datenschiene freigegeben. Es ist zu bemerken, daß
beregisters einen gesonderten Takt hat, können Daten bestimmte Transfers auf die Datenschiene über doppel-
von der doppelseitig gerichteten Datenschiene 58 oder seitig gerichtete Übertragungsglieder 134 und 136 er-
eine logische 0 in den Addierer eingeführt werden, ohne zielt werden, welche durch die Steuersignale K 14 und
Daten in dem Schieberegister zu stören. 40 TC\5 freigegeben werden. Diese Gliederarten sind dem Wie oben erläutert, liefert das P-Register 124 ein Ein- Fachmann wohlbekannt
gangssignal an den Addierer 50, wobei ein solches Ein- Das Maskierregister G, bezeichnet durch das Bezugs-
gangssignal von einem der orthogonal angrenzenden zeichen 132, umfaßt einen einfachen D-Flipflop. Das Re-
Verarbeitungselemente 36 oder von der Datenschiene gister G liest den Zustand der doppelseitig gerichteten
58 zugeführt wird. Das P-Register 124 erhält Daten von 45 Datenschiene bei dem positiven Übergang von G-CLK.
dem P-Register benachbarter Verarbeitungselemente Die Steuerleitung K19 steuert das Maskieren oder das
36 mittels des Multiplexers 126 durch Steuerung von Ausblender, der Takte der arithmetischen Untereinheit
Steuersignalen K 5, K 6. Bei dem Transferieren von Da- (A-CLK, SR-CLK und BC-CLK). Wenn K~l9=\ ist,
ten von dem Multiplexer 126 zu dem P-Register 124 werden diese Takte nur zu den arithmetischen Unter-
erfolgt der Transfer über einen Inverter 128 und über 50 einheiten derjenigen Verarbeitungselemente gesandt,
UND-Glieder 130, 132. Der Transfer wird bewirkt wo G=I. Die arithmetischen Untereinheiten derjenigen
durch die Steuerung des Steuersignais K 7, um den ech- Verarbeitungseiemente, bei denen G=O ist, werden
ten Wert und das Komplement der Daten an den J- bzw. nicht getaktet, und kein Registerund keine Untereinhei-
K-Eingang des Flipflops 124 anzulegen. Die Daten wer- ten ändern den Zustand. Wenn K19=0 ist, nehmen die
den unter Steuerung des Taktes P-CLK in den Halte- 55 arithmetischen Untereinheiten aller Verarbeitungsele-
kreis aufgenommen (latched). Wie bemerkt, sind das mente an der Operation teil.
wahre und das Komplement-Ausgangssignal des P-FHp- Die Steuerleitung K 20 steuert das Maskieren der Lo-
flops 124 auch darauf eingerichtet, zu den /»-FHpflops gik- und Leit-Untereinheit Wenn K 20=1 ist, wird der
benachbarter Verarbeitungselemente 36 geleitet zu Takt P-CLK nur zu den Logik- und Leit-Untereinheiten
werden. Das Komplement wird von dem Chip weggelei- 60 derjenigen Verarbeitungselemente gesandt, wo G=I.
tet, welches das unmittelbare Verarbeitungselement Die Logik- und Leit-Untereinheiten derjenigen Verar-
enthält, aber wird an dem Bestimmungsort durch einen beitungselemente, bei denen G=O ist, werden nicht ge-
Trefber invertiert, um den wahren Zustand des P-FHp- taktet und ihre Register Pändern den Zustand nicht
flops zu Hef ern. Der wahre Zustand wird nicht invertiert Translationsoperationen werden ausgeblendet, wenn
und wird den benachbarten Verarbeitungselementen 65 die Steuerleitung K 20=1 ist In den Verarbeitungsele-
auf demselben Chip zugeführt. Wie im einzelnen in menten, wo G=I ist, wird das Register Pgetaktet durch
F i g. 4 gezeigt, steht die Logikschaltung 40 unter der P-CLK und erhält den Zustand seines Nachbarn. In den- Kontrolle von Steuerleitungen KS-K 11. Diese Logik jenigen Elementen, wo G=O ist, wird das Register P
nicht getaktet und ändert den Zustand nicht. Ohne Rücksicht darauf, ob C = O oder G= 1 ist, sendet jedes Verarbeitungselement den Zustand eines Registers P zu seinen Nachbarn.
Nun wird die Äquivalenzfunktion betrachtet, für welche durch das Inklusiv-Oder-Glied 138 gesorgt ist, welches ein logisches 1-Signal liefert, wenn seine Eingangssignale von den P- und G-Registern gemeinsame Logikzustände aufweisen. Anders ausgedrückt liefert das G';ed 138 die Ausgangsfunktion P G. Dieses Resultat wird dann der Datenschiene zugeführt.
Das Register S umfaßt einen D-Flipflop 140 mit der Eingabe unter der Kontrolle des Multiplexers 142. Das Ausgangssignal von dem Register S wird auf die Datenschiene 58 übertragen mittels des doppelseitigen gerichteten Übertragungsg'.icdcs 144. Der Füpflop 140 liest den Zustand seines Eingangs bei dem Übergang des Taktimpulses S-CLK-IN. Wenn die Steuerleitung K 17 auf einer logischen 0 ist, erhält der Multiplexer 142 den Zustand des Registers S des westlich unmittelbar benachbarten Verarbeitungselementes. In diesem Fall schiebt jeder Impuls S-CLK-IN die Daten in den Registern 5 um eine Stelle nach Osten. Um den Zustand des S-Registers 140 in dem örtlichen Speicher zu speichern, wird die Steuerleitung K 18 auf eine logische 0 gesetzt, um das doppelseitig gerichtete Übertragungsgatter 144 freizugeben und das komplementäre Ausgangssignal S-Registers 140 durch den Inverter 146 und zu der Datenschiene 58 durchzulassen. Das 5-Register 140 kann mit einem Datenbit von dem lokalen Speicher 56 geladen werden, in dem K 17 auf eine logische 1 gesetzt wird und so die Datenschiene 58 für die Eingabe von dem Flipflop 140 freigegeben wird.
Wie oben erwähnt, hat der große Parallelprozessor 10 die besondere Eigenschaft, daß die Matrixanordnung 12 in der Lage ist, einen Satz von Spalten von Verarbeitungselementen 36 zu umgehen, falls ein Irrtum oder Fehler in diesem Satz auftreten sollte. Wie oben besprochen, hat jedes Chip zwei Verarbeitungselemente 36 in jeder von vier Spalten der Matrixanordnung. Die Erfindung sperrt Spalten von Chips und dementsprechend Sätze von Spalten von Verarbeitungselementen. Grundsätzlich werden die Spalten einfach dadurch außer Betrieb gesetzt, daß die Sätze von Spalten übersprungen werden durch gegenseitige Verbindung der Eingänge und Ausgänge der östlichsten und westlichsten Verarbeitungselemente auf den Chips, welche den Satz von Spalten bilden. Das Verfahren der Sperrung der Ausgangssignale des Summenoder-Baumes und des Pa-itäts-Baumes der Chips ist oben beschrieben worden. Es ist aber auch erforderlich, die Ausgaben der P- und S-Register zu umgehen, welche mii den östlichen und westlichen Nachbarchips in Verbindung stehen.
Wie in F i g. 5A gezeigt, umfaßt ein Chip acht Verarbeitungselemente PEO-PET, die angeordnet sind wie früher beschrieben. Das Register 5 jedes Verarbeitungselementes kann Daten von dem Register 5 des unmittelbar westlich benachbarten Verarbeitungselementes erhalten und kann Daten auf das Register 5 des unmittelbar östlich benachbarten Verarbeitungselementes transferieren. Falls freigegeben, gestattet das Chip, daß Daten von 5-/N0 über die 5-Register von PEO-PE3 fließen und dann bei S-OUTi hinaus zu dem Nachbarchip. Ein ähnlicher Datenfluß erfolgt von S-/N 7 nach S-OUTA. Wenn es erwünscht ist, eine Spalte von Chips zu sperren, werden die Ausgangsgatter der Spalte von Chips gesperrt, welche die 5-Registerdaten zu dem benachbarten östlichen Chip leiten. Das heißt.
das Steuersignal K 25 kann die Ausgabeglieder 148,150 sperren und gleichzeitig damit die Umgehungsglieder 152, 154 freigeben. Dieses verbindet 5-/N0 mit S- OUT3 und S-/N7 mit S-OUTA für alle Chips in der Spalte miteinander.
In Fig.5B ist zu sehen, daß die Verbindungen zwischen den P-Registem östlich-westlich benachbarter Chips auch umgangen werden können. P- Registerdaten werden von dem Chip auf der Westseite über Inverter
ίο 156, 158 erhalten und werden zu diesem durch Gatter 160, 162 übertragen. Ähnlich werden P- Registerdaten von dem Chip auf der Ostseite erhalten über Inverter 164, 166 und zu diesem über Glieder 168,170 übertragen. Wenn der Chip freigegeben ist und P-Registerdaten nach Westen zu leiten sind, dann wird die Steuerleitung K 6 auf eine logische 1 gesetzt und K 26 auf eine logische 0, so daß die Glieder 160,162 freigegeben werden und die Glieder 168,170 gesperrt werden. Bei Weiterleitung nach Osten werden K 6 auf 0 und K 26 auf 1 gesetzt. Um den Chip zu sperren, werden K6 und K 26 beide auf eine logische 0 gesetzt, um alle Ost-West-Ausgaben des f-Registers von dem Chip zu sperren, und K 25 wird gesetzt, um den doppelseitig gerichteten Umgehungsgattern 172, 174 zu gestatten. IVEST-O mit OST-3 und WEST-7 mit EAST-A zu verbinden. Dieses verbindet die P-Register PE3 des West-Chips mit PEO des Ost-Chips sowie PEA des West-Chips mit PEl des Ost-Chips.
Durch Sperren der Paritäts- und Summenoder-Bäume und durch Überspringen der Eingänge und Ausgänge angrenzender P- und 5-Register der Chips in einer Spalte kann eine ganze Spalte von Chips außer Dienst gestellt werden, falls ein Fehler ermittelt wird. Es versteht sich, daß zwar die Verarbeitungseiemente der gesperrten Chips nach Sperrung nicht aufhören zu arbeiten, aber einfach die Auswirkung ihrer Ausgangssignale auf das System als Ganzes beseitigt wird. Ferner leuchtet ein, daß durch Beseitigung von Spalten nichts unternommen zu werden braucht bezüglich der Verbindung zwischen nördlichen und südlichen Nachbarn untereinander. Schließlich wird durch Beseitigung kompletter Chips anstelle von Spalten von Verarbeitungselementen die Menge von Umgehungsgattern stark vermindert In der bevorzugten Ausfuhrungsform der Erfindung umfaßt die Matrixanordnung 12 128 Reihen und 132 Spalten von Verarbeitungselementen 36.
Anders ausgedrückt sind 64 Reihen und 33 Spalten von Chips vorhanden. Dementsprechend ist eine extra Spalte von Chips über die zur Erzielung der erwünschten quadratischen Anordnung notwendigen Spalten vorhanden. Dies gestattet die Aufrechterhaltung einer quadratischen Anordnung selbst dann, wenn ein fehlerhaftes Chip gefunden ist und eine Spalte von Chips aus dem Dienst entfernt werden muß.
Es wird also eine Matrixariordnung einer Vielzahl von Verarbeitungselementen für Parallelprozessoren offenbart, welche eine rasche Parallelverarbeitung bei gegenüber dem Stand der Technik verminderten Systemkosten zulassen. Jedes Verarbeitungselement enthält ein Schieberegister variabler Länge, welches sehr schnelle bitseriellc arithmetische Berechnungen gestattet.
Hierzu 6 Blatt Zeichnungen

Claims (11)

Patentansprüche:
1. Matrixanordnung einer Vielzahl von Verarbeitungselementen, die untereinander verbunden sind, wobei jedes Verarbeitungselement einen Speicher umfaßt, ferner einen Addierer, ein erstes und ein zweites Datenregister, die mit dem Addierer verbunden sind und ihm Datenbits zuführen, sowie ein Übertragregister, das mit dem Addierer verbunden ist und von diesem aus arithmetischen Operationen resultierende Datenbits erhält, dadurch gekennzeichnet, daß jedes Verarbeitungselement (36) eine Datensammelschiene (58) zur Verbindung mit benachbarten Verarbeitungselementen (36) innerhalb der Matrixanordnung und zum Datentransfer zwischen dem Speicher (56), dem Addierer (50), dem ersten und dem zweiten Datenregister (42, 38) und dem Obertragregister (46) umfaßt sowie ein Schieberegister (48) wahlweise veränderlicher Lange, das funktionsmäßig mit dem ersten Datenregister (42) und dem Addierer (50) verbunden ist und eine Vielzahl einzelner Schieberegister (106, 108, 110) mit zwischengeschalteten Verknüpfungsgliedern (Multiplexer 116,118,120) aufweist, welche die einzelnen Schieberegister wahlweise miteinander verbinden.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß das Obertragregister (46) nach der Regel C — AP PC AC arbeitet, worin A der Zustand des ersten Datenregisters (42), P der Zustand des zweiten Datenregisters (38) und C der Zustand des Übertragregisters (46) sind.
3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das Übertragregister (46) einen J-K-Flipflop (104) umfaßt.
4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß jedes Verarbeitungselement (36) ein Summenregister (44) umfaßt, das zwischen das Schieberegister (48) und den Addierer (50) zwischengeschaltet ist und nach der Regel B*-A P C arbeitet, worin B, A, P und C die jeweiligen Zustände des Summenregisters, des ersten und zweiten Datenregisters sowie des Übertragregisters sind. '
5. Anordnung nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, daß jedes Verarbeitungselement (36) eine Logikeinrichtung (40) umfaßt, die mit dem zweiten Datenregister (38) verbunden ist zur Durchführung von sechzehn logischen so Funktionen, die zwischen den Daten des zweiten Datenregisters und einem Datenbit von der Datensammelschiene (58) möglich sind.
6. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß das zweite Datenregister (38) jedes Verarbeitungselementes (36) kommunikativ verbunden ist mit dem zweiten Datenregister (38) orthogonal benachbarter Verarbeitungselemente (36) innerhalb der Matrixanordnung (12).
7. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Verarbeitungselemente (36) in Gruppen verbunden sind, wobei die Verarbeitungselemente (36) jeder Gruppe miteinander in Verbindung stehen und jede Gruppe funktionsmäßig mit benachbarten Gruppen zur Kommunikation mit diesen verbunden ist, und daß jede Gruppe Einrichtungen zum Unterbrechen der Kommunikation ihrer Verarbeitungselemente mit benachbarten Gruppen umfaßt
8. Anordnung nach Ansprach 7, dadurch gekennzeichnet, daß die Einrichtung zum Unterbrechen zwei Richtungsschalter umfaßt, welche Eingänge und Ausgänge der Gruppen miteinander verbinden.
9. Anordnung nach Anspruch 7, dadurch gekennzeichnet, daß jede Gruppe einen Summenoder-Baum (88) einer Vielzahl von Oder-Gliedern umfaßt, welche Datenbits von der Datensammelschiene jedes Verarbeitungselementes innerhalb der Gruppe erhalten, sowie einen Paritäts-Baum (90) einer Vielzahl von Exklusiv-Oder-Gliedern, welche Datenbits von jeder solchen Datensammelschiene innerhalb der Gruppe erhalten, wobei die Ausgänge der Oder-Glieder und der Exklusiv-Oder-GIieder gegenseitig exklusiv zu einem einzigen Ausgang verbunden sind.
10. Anordnung nach Anspruch 9, dadurch gekennzeichnet, daß die Exklusiv-Oder-Glieder des Paritäts-Baums (90) mit einem Flipflop (86) verbunden sind.
11. Anordnung nach Anspruch 9, dadurch gekennzeichnet, daß jede Gruppe Sperreinrichtungen umfaßt, die mit dem Summenoder-Baum (88) und dem Paritäts-Baum (90) verbunden sind, um Ausgangssignale von diesen wahlweise freizugeben und zu sperren.
DE3049437A 1979-12-31 1980-12-30 Matrixanordnung einer Vielzahl von Verarbeitungselementen Expired DE3049437C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/108,883 US4314349A (en) 1979-12-31 1979-12-31 Processing element for parallel array processors

Publications (2)

Publication Number Publication Date
DE3049437A1 DE3049437A1 (de) 1981-09-24
DE3049437C2 true DE3049437C2 (de) 1984-11-15

Family

ID=22324619

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3049437A Expired DE3049437C2 (de) 1979-12-31 1980-12-30 Matrixanordnung einer Vielzahl von Verarbeitungselementen

Country Status (7)

Country Link
US (1) US4314349A (de)
JP (1) JPS56101262A (de)
CA (1) CA1154168A (de)
DE (1) DE3049437C2 (de)
FR (1) FR2472784A1 (de)
GB (2) GB2062915B (de)
IT (1) IT1134924B (de)

Families Citing this family (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ZA811458B (en) * 1980-03-28 1982-03-31 Int Computers Ltd Data processing system
US4507726A (en) * 1982-01-26 1985-03-26 Hughes Aircraft Company Array processor architecture utilizing modular elemental processors
JPS59501183A (ja) * 1982-06-25 1984-07-05 ヒユ−ズ・エアクラフト・カンパニ− 機能プログラマブル短絡プレーン
US4745546A (en) * 1982-06-25 1988-05-17 Hughes Aircraft Company Column shorted and full array shorted functional plane for use in a modular array processor and method for using same
US4507748A (en) * 1982-08-02 1985-03-26 International Telephone And Telegraph Corporation Associative processor with variable length fast multiply capability
GB2129589B (en) * 1982-11-08 1986-04-30 Nat Res Dev Array processor cell
US4549280A (en) * 1982-12-20 1985-10-22 Sperry Corporation Apparatus for creating a multiplication pipeline of arbitrary size
US4739474A (en) * 1983-03-10 1988-04-19 Martin Marietta Corporation Geometric-arithmetic parallel processor
JPS59172064A (ja) * 1983-03-18 1984-09-28 Fujitsu Ltd ビデオ・システムにおける並列処理方式
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
US4621339A (en) * 1983-06-13 1986-11-04 Duke University SIMD machine using cube connected cycles network architecture for vector processing
US4616330A (en) * 1983-08-25 1986-10-07 Honeywell Inc. Pipelined multiply-accumulate unit
DE3506749A1 (de) * 1984-02-27 1985-09-26 Nippon Telegraph & Telephone Public Corp., Tokio/Tokyo Matrixprozessor und steuerverfahren hierfuer
CA1233260A (en) * 1985-03-13 1988-02-23 Chuck H. Ngai High performance parallel vector processor having a modified vector register/element processor configuration
GB8521672D0 (en) * 1985-08-30 1985-10-02 Univ Southampton Data processing device
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
US4797852A (en) * 1986-02-03 1989-01-10 Intel Corporation Block shifter for graphics processor
GB8612454D0 (en) * 1986-05-22 1986-07-02 Inmos Ltd Redundancy scheme for multi-stage apparatus
JPS6364178A (ja) * 1986-08-29 1988-03-22 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション 画像処理システム
US4910665A (en) * 1986-09-02 1990-03-20 General Electric Company Distributed processing system including reconfigurable elements
US6108763A (en) * 1986-09-18 2000-08-22 Grondalski; Robert S. Simultaneous parity generating/reading circuit for massively parallel processing systems
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
US5170484A (en) * 1986-09-18 1992-12-08 Digital Equipment Corporation Massively parallel array processing system
US5146606A (en) * 1986-09-18 1992-09-08 Digital Equipment Corporation Systems for interconnecting and configuring plurality of memory elements by control of mode signals
JPS63192153A (ja) * 1987-02-05 1988-08-09 Agency Of Ind Science & Technol 並列デ−タ処理装置
US5163133A (en) * 1987-02-17 1992-11-10 Sam Technology, Inc. Parallel processing system having a broadcast, result, and instruction bus for transmitting, receiving and controlling the computation of data
JPH0727515B2 (ja) * 1987-03-05 1995-03-29 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 2次元メッシュ・アレイの処理要素
US5058001A (en) * 1987-03-05 1991-10-15 International Business Machines Corporation Two-dimensional array of processing elements for emulating a multi-dimensional network
JPH0833842B2 (ja) * 1987-05-01 1996-03-29 株式会社日立製作所 論理演算装置
US5129092A (en) * 1987-06-01 1992-07-07 Applied Intelligent Systems,Inc. Linear chain of parallel processors and method of using same
US4847612A (en) * 1988-01-13 1989-07-11 Plug Logic, Inc. Programmable logic device
US5023606A (en) * 1988-01-13 1991-06-11 Plus Logic, Inc. Programmable logic device with ganged output pins
USRE34444E (en) * 1988-01-13 1993-11-16 Xilinx, Inc. Programmable logic device
US5179705A (en) * 1988-03-23 1993-01-12 Dupont Pixel Systems, Ltd. Asynchronous arbiter state machine for arbitrating between operating devices requesting access to a shared resource
US5038282A (en) * 1988-05-11 1991-08-06 Massachusetts Institute Of Technology Synchronous processor with simultaneous instruction processing and data transfer
EP0390907B1 (de) * 1988-10-07 1996-07-03 Martin Marietta Corporation Paralleler datenprozessor
US5020059A (en) * 1989-03-31 1991-05-28 At&T Bell Laboratories Reconfigurable signal processor
US4967107A (en) * 1989-05-12 1990-10-30 Plus Logic, Inc. Programmable logic expander
US5253308A (en) * 1989-06-21 1993-10-12 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
CA2021192A1 (en) * 1989-07-28 1991-01-29 Malcolm A. Mumme Simplified synchronous mesh processor
US5297289A (en) * 1989-10-31 1994-03-22 Rockwell International Corporation System which cooperatively uses a systolic array processor and auxiliary processor for pixel signal enhancement
GB8925723D0 (en) * 1989-11-14 1990-01-04 Amt Holdings Processor array system
WO1991010200A1 (en) * 1990-01-05 1991-07-11 Maspar Computer Corporation Parallel processor memory 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
AU644141B2 (en) * 1990-01-05 1993-12-02 Maspar Computer Corporation A method of controlling a router circuit
IT1247640B (it) * 1990-04-26 1994-12-28 St Microelectronics Srl Operazioni booleane tra due qualsiasi bit di due qualsiasi registri
US5247613A (en) * 1990-05-08 1993-09-21 Thinking Machines Corporation Massively parallel processor including transpose arrangement for serially transmitting bits of data words stored in parallel
US5101371A (en) * 1990-06-04 1992-03-31 The United States Of America As Represented By The Director Of The National Security Agency Apparatus for performing a bit serial orthogonal transformation instruction
US5794059A (en) * 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5617577A (en) * 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5963746A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
US5752067A (en) * 1990-11-13 1998-05-12 International Business Machines Corporation Fully scalable parallel processing system having asynchronous SIMD processing
US5588152A (en) * 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5734921A (en) * 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5828894A (en) * 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5809292A (en) * 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5815723A (en) * 1990-11-13 1998-09-29 International Business Machines Corporation Picket autonomy on a SIMD machine
US5630162A (en) * 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
EP0485690B1 (de) * 1990-11-13 1999-05-26 International Business Machines Corporation Paralleles Assoziativprozessor-System
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5765015A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
US5966528A (en) * 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
US5765012A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
US5963745A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation APAP I/O programmable router
US5625836A (en) * 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
JPH06103599B2 (ja) * 1990-11-16 1994-12-14 三菱電機株式会社 半導体集積回路装置
US6378061B1 (en) * 1990-12-20 2002-04-23 Intel Corporation Apparatus for issuing instructions and reissuing a previous instructions by recirculating using the delay circuit
US5594918A (en) * 1991-05-13 1997-01-14 International Business Machines Corporation Parallel computer system providing multi-ported intelligent memory
WO1993014459A1 (en) * 1992-01-17 1993-07-22 Caelum Research Corporation Modular parallel processing system
US5506992A (en) * 1992-01-30 1996-04-09 Saxenmeyer; George Distributed processing system with asynchronous communication between processing modules
JP2642039B2 (ja) * 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
US5542074A (en) * 1992-10-22 1996-07-30 Maspar Computer Corporation Parallel processor system with highly flexible local control capability, including selective inversion of instruction signal and control of bit shift amount
US5428804A (en) * 1992-12-18 1995-06-27 Xerox Corporation Edge crossing circuitry for SIMD architecture
US5450604A (en) * 1992-12-18 1995-09-12 Xerox Corporation Data rotation using parallel to serial units that receive data from memory units and rotation buffer that provides rotated data to memory units
KR940022276A (ko) * 1993-03-11 1994-10-20 오오가 노리오 병렬연산 처리장치
US6073185A (en) * 1993-08-27 2000-06-06 Teranex, Inc. Parallel data processor
US5557734A (en) * 1994-06-17 1996-09-17 Applied Intelligent Systems, Inc. Cache burst architecture for parallel processing, such as for image processing
JPH0830577A (ja) * 1994-07-15 1996-02-02 Mitsubishi Electric Corp Simdプロセッサ
US5590356A (en) * 1994-08-23 1996-12-31 Massachusetts Institute Of Technology Mesh parallel computer architecture apparatus and associated methods
WO1996008778A1 (en) * 1994-09-13 1996-03-21 Lockheed Martin Corporation Parallel data processor
US6064083A (en) 1995-04-21 2000-05-16 Johnson; Mark B. Hybrid hall effect memory device and method of operation
US6140838A (en) 1995-04-21 2000-10-31 Johnson; Mark B. High density and high speed magneto-electronic logic family
US6741494B2 (en) * 1995-04-21 2004-05-25 Mark B. Johnson Magnetoelectronic memory element with inductively coupled write wires
US7050329B2 (en) * 1995-04-21 2006-05-23 Johnson Mark B Magnetic spin based memory with inductive write lines
US6067633A (en) * 1998-03-31 2000-05-23 International Business Machines Corp Design and methodology for manufacturing data processing systems having multiple processors
US6067609A (en) * 1998-04-09 2000-05-23 Teranex, Inc. Pattern generation and shift plane operations for a mesh connected computer
US6212628B1 (en) 1998-04-09 2001-04-03 Teranex, Inc. Mesh connected computer
US6173388B1 (en) 1998-04-09 2001-01-09 Teranex Inc. Directly accessing local memories of array processors for improved real-time corner turning processing
US6185667B1 (en) 1998-04-09 2001-02-06 Teranex, Inc. Input/output support for processing in a mesh connected computer
DE19837101C2 (de) * 1998-08-17 2000-11-23 Philips Corp Intellectual Pty Programmierbare 1-Bit Datenverarbeitungsanordnung
JP2002526962A (ja) * 1998-09-30 2002-08-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ信号を処理する回路
JP5285828B2 (ja) 1999-04-09 2013-09-11 ラムバス・インコーポレーテッド 並列データ処理装置
GB2349484A (en) * 1999-04-09 2000-11-01 Pixelfusion Ltd Parallel data processing system with SIMD array
US8762691B2 (en) 1999-04-09 2014-06-24 Rambus Inc. Memory access consolidation for SIMD processing elements using transaction identifiers
US8174530B2 (en) 1999-04-09 2012-05-08 Rambus Inc. Parallel date processing apparatus
US7526630B2 (en) 1999-04-09 2009-04-28 Clearspeed Technology, Plc Parallel data processing apparatus
US7802079B2 (en) 1999-04-09 2010-09-21 Clearspeed Technology Limited Parallel data processing apparatus
US7506136B2 (en) 1999-04-09 2009-03-17 Clearspeed Technology Plc Parallel data processing apparatus
US7627736B2 (en) 1999-04-09 2009-12-01 Clearspeed Technology Plc Thread manager to control an array of processing elements
US7966475B2 (en) 1999-04-09 2011-06-21 Rambus Inc. Parallel data processing apparatus
US8169440B2 (en) 1999-04-09 2012-05-01 Rambus Inc. Parallel data processing apparatus
US8171263B2 (en) 1999-04-09 2012-05-01 Rambus Inc. Data processing apparatus comprising an array controller for separating an instruction stream processing instructions and data transfer instructions
US6307774B1 (en) 2000-03-22 2001-10-23 Mark B. Johnson Magnetoelectronic memory array
US6728862B1 (en) 2000-05-22 2004-04-27 Gazelle Technology Corporation Processor array and parallel data processing methods
US7142669B2 (en) * 2000-11-29 2006-11-28 Freescale Semiconductor, Inc. Circuit for generating hash values
US7231500B2 (en) * 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US7516334B2 (en) * 2001-03-22 2009-04-07 Sony Computer Entertainment Inc. Power management for processing modules
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US7409488B2 (en) * 2002-07-23 2008-08-05 International Business Machines Inc Data processing system
US8224639B2 (en) 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
HUP0500482A2 (en) * 2005-05-11 2006-12-28 Mta Szamitastech Autom Kutato System and method for sensing and processing electromagnetic signals
JP6511937B2 (ja) * 2015-04-24 2019-05-15 富士通株式会社 並列計算機システム、演算方法、演算プログラム、及び情報処理装置
US11200186B2 (en) * 2018-06-30 2021-12-14 Intel Corporation Apparatuses, methods, and systems for operations in a configurable spatial accelerator
US11049586B2 (en) 2019-11-26 2021-06-29 Mythic, Inc. Systems and methods for implementing redundancy for tile-based intelligence processing computing architecture

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3296426A (en) * 1963-07-05 1967-01-03 Westinghouse Electric Corp Computing device
US3364472A (en) * 1964-03-06 1968-01-16 Westinghouse Electric Corp Computation unit
US3313926A (en) * 1965-04-26 1967-04-11 Stanford Research Inst Microelectronic cellular array
GB1220088A (en) * 1966-12-29 1971-01-20 James Hughson Case Improvements in or relating to digital computing and information processing machine and system
US3602886A (en) * 1968-07-25 1971-08-31 Ibm Self-checking error checker for parity coded data
US3701976A (en) * 1970-07-13 1972-10-31 Bell Telephone Labor Inc Floating point arithmetic unit for a parallel processing computer
US4037094A (en) * 1971-08-31 1977-07-19 Texas Instruments Incorporated Multi-functional arithmetic and logical unit
US3979728A (en) * 1973-04-13 1976-09-07 International Computers Limited Array processors
GB1445714A (en) * 1973-04-13 1976-08-11 Int Computers Ltd Array processors
JPS5521222B2 (de) * 1973-07-31 1980-06-07
JPS5334986B2 (de) * 1974-05-31 1978-09-25
US4065808A (en) * 1975-01-25 1977-12-27 U.S. Philips Corporation Network computer system
US4051354A (en) * 1975-07-03 1977-09-27 Texas Instruments Incorporated Fault-tolerant cell addressable array
FR2361718A1 (fr) * 1976-08-11 1978-03-10 Adersa Processeur parallele associatif a hierarchie de memoire, notamment pour l'acquisition et le traitement rapides des signaux
US4207556A (en) * 1976-12-14 1980-06-10 Nippon Telegraph And Telephone Public Corporation Programmable logic array arrangement
JPS5485647A (en) * 1977-12-21 1979-07-07 Hitachi Ltd Operation unit

Also Published As

Publication number Publication date
DE3049437A1 (de) 1981-09-24
US4314349A (en) 1982-02-02
IT8027013A0 (it) 1980-12-30
CA1154168A (en) 1983-09-20
GB2062915B (en) 1985-01-03
GB2062915A (en) 1981-05-28
GB2140589A (en) 1984-11-28
JPS56101262A (en) 1981-08-13
IT1134924B (it) 1986-08-20
GB8324470D0 (en) 1983-10-12
FR2472784A1 (fr) 1981-07-03
GB2140589B (en) 1985-06-05

Similar Documents

Publication Publication Date Title
DE3049437C2 (de) Matrixanordnung einer Vielzahl von Verarbeitungselementen
DE2819571C2 (de)
DE2724125C2 (de)
DE19722365B4 (de) Rekonfigurierbares Rechenbauelement
DE4417575C2 (de) Verbesserte Array-Architektur für programmierbare logische Zellen
DE19835216B4 (de) Prozessor und Verfahren zur parallelen Datenverarbeitung
DE2716369C2 (de)
DE60132585T2 (de) Vorrichtung und verfahren zum ausgeben der gruppierung von befehlen in einem vliw-prozessor
EP0010173B1 (de) Halbleiterplättchen mit verbesserter Prüfbarkeit der monolithisch hochintegrierten Schaltungen
DE2837852C2 (de) Prozessor zum gleichzeitigen Ermitteln und Bereitstellen zweier Adressen von Befehls- und/oder Datenwortregistern eines bereichsweise adressierbaren Hauptspeichers
DE3933171A1 (de) Einzelchip-prozessor fuer komplexe gleitkommazahlen
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
DE4134192A1 (de) Integrierter schaltkreis mit verarbeitung im speicher
DE602004009324T2 (de) Integrierte datenverarbeitungsschaltung mit mehreren programmierbaren prozessoren
DE3314917A1 (de) Multimicroprozessor-system
DE60033624T2 (de) Rekonfigurierungsverfahren für ein gatter von identischen funktionselementen
DE3338333A1 (de) Logiksimulatorgeraet zur gueltigkeitspruefung einer logikstruktur
DE2556617A1 (de) Datenverarbeiter zum rotierbaren verschieben von bits eines datenwortes
DE2730918A1 (de) Anordnung zum multiplizieren von binaerzahlen
WO1992009040A1 (de) Schaltungsanordnung zur berechnung von matrixoperationen in der signalverarbeitung
DE19528760A1 (de) Bildverarbeitende Schaltung eines hohen Integrationsgrads
DE2136210A1 (de) Zentraleinheit fur eine EDV-Anlage
EP0499890A2 (de) Datenschnittstelle zur Ein- und Ausgabe von Daten bei Parallelrechnern
DE2459476C3 (de)
DE3933172A1 (de) Akkumulator fuer komplexe zahlen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification
8126 Change of the secondary classification
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee