DE1238695B - Elektronenrechner mit einer Mehrzahl von Rechenwerken - Google Patents

Elektronenrechner mit einer Mehrzahl von Rechenwerken

Info

Publication number
DE1238695B
DE1238695B DEW37318A DEW0037318A DE1238695B DE 1238695 B DE1238695 B DE 1238695B DE W37318 A DEW37318 A DE W37318A DE W0037318 A DEW0037318 A DE W0037318A DE 1238695 B DE1238695 B DE 1238695B
Authority
DE
Germany
Prior art keywords
arithmetic
arithmetic units
signal
column
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DEW37318A
Other languages
English (en)
Inventor
Walter C Borck
David K Sloper
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.)
CBS Corp
Original Assignee
Westinghouse Electric Corp
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 Westinghouse Electric Corp filed Critical Westinghouse Electric Corp
Publication of DE1238695B publication Critical patent/DE1238695B/de
Pending legal-status Critical Current

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Description

BUNDESREPUBLIK DEUTSCHLAND
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Int. CL:
G06f
Deutsche Kl.: 42 m3 - 7/38
Nummer:
Aktenzeichen:
Anmeldetag:
Auslegetag:
W37318IXc/42m3
5. August 1964
13. April 1967
Die Erfindung betrifft einen Elektronenrechner mit einer Mehrzahl von Rechenwerken, einem zentralen Leitwerk mit Hauptspeicher, das allen Rechenwerken identische Steuersignale zuführt, um die gespeicherten Daten zu verarbeiten, einem Zwischenspeicher zum Datenaustausch mit den Rechenwerken und einem Ein- und Ausgabewerk, das zwecks Informationsaustausch mit dem Zwischenspeicher verbunden ist.
Mit einem derart aufgebauten Elektronenrechner lassen sich viele mathematische Probleme besonders günstig lösen. Bei einem bekannten Elektronenrechner dieser Art sind die Rechenelemente in einer Matrix angeordnet und können Informationen mit bestimmten anderen Rechenwerken, z. B. ihren Nachbarwerken, austauschen. Die Rechenwerke führen im durch das Leitwerk vorgeschriebenen Takt simultan die vorgeschriebenen logischen und mathematischen Operationen mit Informationen oder Operanden durch, die in ihnen oder in einem Nachbarwerk stehen. Ferner können Mittel vorgesehen sein, um bestimmten Rechenwerken besondere Operationsarten vorzuschreiben, je nach bestimmten inneren Bedingungen des betreffenden Rechenwerks, so daß diese Rechenwerke die gemeinsamen Steuersignale abändern und bestimmte Befehle nur dann ausführen, wenn die betreffenden Vorbedingungen erfüllt sind. Eine solche Wahlmöglichkeit bedeutet selbstverständlich einen entsprechenden Schaltungsaufwand bei den betreffenden Rechenwerken. Dies bedeutet eine erhebliche Kostensteigerung des gesamten Elektronenrechners, da über tausend Rechenwerke zu einer Matrix vereinigt sein können.
Die Eingabe und Ausgabe geschieht bei dem geschilderten Elektronenrechner derart, daß die Information in den am Rand der Matrix angeordneten Zwischenspeicher gesetzt wird, woraufhin die Information reihenweise in der Matrix verschoben wird, bis allen Einzelregistern der Rechenwerke die gewünschten Ausgangswerte zugeführt sind. Bei der Datenausgabe wird umgekehrt verfahren. Für bestimmte Operationen wäre es aber vorteilhafter, wenn einzelne Rechenwerke oder Gruppen derselben unmittelbar von außen zugänglich wären.
Es ist zwar bekannt, mehrere Rechenwerke unter Zwischenschaltung eines Koordinatenschalters mit einem gemeinsamen Speicher zu verbinden, wobei insbesondere dafür Sorge getragen werden muß, daß die einzelnen simultan und unabhängig voneinander arbeitenden Rechenwerke eine bestimmte Rangordnung für den Verkehr mit dem Speicher oder sonstigen gemeinsamen Einrichtungen einhalten. Diese bekannten Wartezeitschaltungen, bei denen Elektronenrechner mit einer Mehrzahl von
Rechenwerken
Anmelder:
Westinghouse Electric Corporation,
East Pittsburgh, Pa. (V. St. A.)
Vertreter:
Dipl.-Ing. G. Weinhausen, Patentanwalt,
München 22, Widenmayerstr. 46
Als Erfinder benannt:
Walter C. Borck, Baltimore, Md.;
David K. Sloper, Severna Park, Md. (V. St. A.)
Beanspruchte Priorität:
V. St. v. Amerika vom 5. August 1963 (299 956)
Koordinatenschalter od. dgl. verwendet werden, haben aber mit dem Problem des unmittelbaren Zugriffs zu allen in einer Matrix angeordneten Rechenwerken bei einem Elektronenrechner der eingangs beschriebenen Art nichts zu tun.
Aufgabe der Erfindung ist es demgemäß, bei einem Elektronenrechner der oben beschriebenen Art jedem beliebigen Rechenwerk die Informationen selektiv zuführen und das Ergebnis aus demselben herausholen zu können. Die erfindungsgemäße Lösung dieser Aufgabe besteht darin, daß die identischen Rechenwerke gruppenweise in Zeilen und Spalten angeordnet sind und identische Steuersignale von dem zentralen Leitwerk erhalten, daß im Zwischenspeicher jeder Zeile und Spalte der Rechenwerke ein eigenes, mit dem Ein- und Ausgabewerk verbundenes Pufferregister zugeordnet ist und daß eine an das zentrale Leitwerk angeschlossene äußere Steuervorrichtung Zeilenaufrufsignale und Spaltenaufrufsignale abgibt, die nur diejenigen Rechenwerke zum Austausch mit dem Zwischenspeicher bereitmachen, welche beide Aufrufsignale empfangen, so daß über den Zwischenspeicher Informationen selektiv zwischen den aufgerufenen Rechenwerken oder zwischen dem Ein-
709 549/197
und Ausgabewerk und den aufgerufenen Rechenwerken ausgetauscht werden können.
Mittels der Erfindung ist es nicht nur möglich, einen Informationsaustausch zwischen dem Ein- und Ausgabewerk und jedem beliebigen Rechenwerk durchzuführen, sondern es kann auch der Inhalt einer ganzen Zeile oder Spalte auf eine andere Zeile oder Spalte der Rechenwerksmatrix übertragen werden. Dadurch können, wie weiter unten erläutert wird, mathematische Berechnungen mit Determinanten oder Matrizenrechnungen in einfacher Weise durchgeführt werden, was mit keinem anderen bisher bekannten Elektronenrechner in dieser Weise möglich ist.
Die Erfindung wird nachstehend an Hand der Zeichnung beschrieben. Hierin ist
Fig. 1 ein Blockschaltbild eines erfindungsgemäßen Elektronenrechners mit einer Mehrzahl von Rechenwerken,
Fig. 2 eine schematische Darstellung eines der Rechenwerke nach F i g. 1 in größerem Maßstab,
F i g. 3 ein Blockschaltbild des Aufbaus eines typischen Rechenwerks,
F i g. 4 bis 8 schematische Darstellungen von in dem Rechner verwendeten Schaltkreisen,
Fig. 4A bis 7A Zuordnungstabellen der Schaltkreise nach F i g. 4 bis 7,
F i g. 9 die Darstellung eines Teils des Rechenwerks nach F i g. 3 im einzelnen,
F i g. 10 die Darstellung eines weiteren Teils des Rechenwerks nach F i g. 3 im einzelnen,
Fig. 11 eine Ausführungsform eines Zwischenspeichers und
Fig. 12 das Schaltbild einer erfindungsgemäß verwendbaren Prüfvorrichtung.
In der in F i g. 1 gezeigten Anordnung sind die einzelnen Rechenwerke der Matrix mit PEl bis PE 16 bezeichnet. Die dargestellte Anzahl soll keine Beschränkung nach unten oder oben bedeuten. Allgemein handelt es sich um eine Matrix mit der Gliederzahl η ■ m, wobei « = m. Jedes Rechenwerk hat die Fähigkeit, mit bestimmten anderen Rechenwerken in Verbindung zu treten. Beispielsweise ist in F i g. 1 angenommen, daß jedes Rechenwerk mit seinen nächsten Nachbarn in Kommunikation steht. Alle Rechenwerke stehen unter gleichzeitiger Steuerung durch ein gemeinsames Leitwerk 10 mit zugehörigem Programmspeicher 12. Außer dem Programmspeicher 12 besteht das Leitwerk im wesentlichen aus einem Zuordner, der die aus dem Programmspeicher nacheinander abgelesenen Befehle allen Rechenwerken gleichzeitig zuführt.
Erfindungsgemäß ist eine äußere Steuervorrichtung 15 vorgesehen, die in der vorliegenden Ausführungsform aus zwei Teilen 16 und 18 besteht. Teil 16 liefert Rufsignale für die einzelnen Zeilen der Matrix. So kann über die Leitung 20 ein Rufsignal R auf die Rechenwerke 1, 5, 9 und 13 gelangen. Leitung 21 liefert das Rufsignal R für die Rechenwerke 2, 6, 10 und 14. In gleicher Weise werden über die Leitungen 22 und 23 Rufsignale R für die beiden übrigen Zeilen geliefert. Ebenso liefert der zweite Teil 18 des Leitwerks Rufsignale C über die Leitungen 24, 25, 26 und 27 für die einzelnen Spalten der Matrix. Beispielsweise werden über die Leitung 24 die Rechenwerke 1, 2, 3, 4 angesteuert.
Die Steuervorrichtung 15 kann eine Mehrzahl von Flip-Flops enthalten, um entweder das Signal Eins oder Null den Leitungen 20 bis 27 zuzuführen. Die Flip-Flops können von außen gekippt werden oder gemäß Fig. 1 über Leitungen 17 von Befehlen aus dem Leitwerk 10 beeinflußt werden. Ferner können in der Steuervorrichtung 15 verschiedene Zuordner, Gates usw. untergebracht sein.
Zum Austausch von Daten zwischen den Rechenwerken und einem Ein- und Ausgabewerk 40 ist ein Zwischenspeicher 30 vorgesehen. Der Zwischenspeicher läßt sich mit verschiedenen Gruppen von Rechenwerken wahlweise verbinden. So verbindet in F i g. 1 eine gemeinsame Leitung RB1 den Zwischenspeicher mit den Rechenverken der ersten Zeile, eine Leitung RB 2 mit den Rechenwerken der zweiten Zeile und Leitung RB 3 und RB 4 mit den Rechenwerken der dritten bzw. vierten Zeile. Von jedem aufgerufenen Rechenwerk in einer Zeile kann Information mit dem Zwischenspeicher 30 über eine entsprechende Leitung ausgetauscht werden. Wenn z. B. das erste Rechenwerk in jeder Zeile aufgerufen ist, d. h. PEl, PE2, PE3 und PE4, so kann die erste Spalte der Rechenwerke Informationen über die Leitungen RB1, RB 2, RB 3 und RB 4 mit dem Zwischenspeicher austauschen. Das gleiche gilt für die anderen Spalten. Die einzelnen Spalten sind ferner über gemeinsame
as Leitungen CBl, CB 2, CB 3 und CB 4 mit dem Zwischenspeicher verbunden. Im Zusammenwirken mit den Leitungen RB1 mit RB 4 kann so die Information in jedem beliebigen Rechenwerk oder in einer bestimmten Gruppe von Rechenwerken unmittelbar mit dem Zwischenspeicher 30 in Austausch treten. Die Austauch-Operationen werden teilweise vom Zwischenspeicher und teilweise von der Steuervorrichtung 15 gesteuert. Beide sind letztlich wieder mit dem zentralen Zeitwerk 10 verbunden.
Die Befehle für die Matrix werden vom Leitwerk 10 über ein Befehlskabel 42 derart gegeben, daß jedes Rechenwerk das gleiche Signal vom Leitwerk enthält.
Fig. 2 zeigt ein typisches Rechenwerk PElO in
größerem Maßstab mit den zugehörigen Anschlußleitungen. Die Ein- und Ausgabe von Daten geschieht über die Zeilenleitung RB 2 und die Spaltenleitung CB 3. Das Rechenwerk PEW empfängt verschiedene Steuersignale über Adern in dem Kabel 42 sowie ein Rufsignal R über die Leitung 21 und ein Rufsignal C über die Leitung 26. Der Austausch von Informationen mit den Nachbarwerken Nl bis iV4 geschieht über Kabel 44, 46, 48 und 50. Diese Nachbarwerke sind im vorliegenden Fall in der angegebenen Reihenfolge die Rechenwerke 14, 9, 6 und 11.
Der grundsätzliche Aufbau eines typischen Rechenwerks ergibt sich aus Fig. 3. Es enthält einen Speicher, einen Rechenteil zur Ausführung bestimmter Operationen an den gespeicherten Daten, eine Weiche zur Ein- und Ausgabe der Daten und gegebenenfalls eine innere Steuervorrichtung. Bei der Anordnung nach Fig. 3 sind zwei Register 54 und 56 vorgesehen. Diese Register können eine Mehrzahl von aus zahlreichen Bits bestehenden Worten speichern, wobei ein typisches Register eine Kapazität von mehreren tausend Bits aufweisen kann. Zur Ausführung der gewünschten logischen und arithmetischen Operationen dient ein Rechenteil 58, der sich die Ausgangswerte aus den Registern 1 und 2 holt und die Ergebnisse abermals wahlweise im Register 1 oder
im Register 2 speichert. Dem letzteren Zweck dient ein Registerwähler 60. Der Registerwähler 60 kann zusätzlich so betrieben werden, daß ein Austausch zwischen den Registern 54 und 56 durchgeführt wer-
den kann. Eine innere Steuervorrichtung 60 kann vorgesehen sein und spricht auf innerhalb des Rechenwerks auftretende Steuersignale und Zustände an, woraufhin ein inneres Steuersignal erzeugt wird, das vom zentralen Leitwerk 10 ausgehende Befehle abändert. Beispielsweise gestattet die Steuervorrichtung nur dann dem zugehörigen Rechenwerk die Ausführung der vom Zeitwerk 10 vorgeschriebenen Operationen, wenn bestimmte Bedingungen erfüllt sind. Die Steuervorrichtungen können so eingerichtet sein, daß alle Rechenwerke der Matrix die vom zentralen Leitwerk 10 vorgeschriebenen Befehle ausführen oder daß nur bestimmte aufgerufene Rechenwerke diese Befehle ausführen.
Ein Operationswähler 64 dient nicht nur zur Steuerung des Rechenteils 58 bei gewissen Operationen, sondern auch zur Weitergabe bestimmter Bits oder ihrer Komplemente, die in den Registern 54 oder 56 oder den Registern eines benachbarten Rechenwerks stehen. Zum Austausch der Informationen mit den benachbarten Rechenelementen dient die Weiche 70. Diese kann Informationen aus den eigenen Registern oder einem der- vier benachbarten Rechenwerke weitergeben, wenn bestimmte Steuersignale vom zentralen Leitwerk 10 empfangen werden. Die Weiche 70 kann ferner als Umschlagstelle zur Weitergabe von Informationen an die Speicher der benachbarten Rechenwerke dienen. Ebenso besorgt die Weiche den Austausch mit dem Zwischenspeicher 30 über die Leitungen RB und CB.
Die Rufsignale R und C von der äußeren Steuervorrichtung 15 gelangen über die Leitungen 21 und 26 auf die Steuervorrichtung 62. Die Steuersignale Y vom zentralen Leitwerk 10 kommen über bestimmte Adern des Kabels 42 an.
Die bei der Beschreibung der Arbeitsweise des erfindungsgemäßen Rechners verwendeten Symbole sind in Fig. 4 bis 8 erläutert. Fig. 4 zeigt ein NAND-Glied, das die logische Funktion des Sheffer-Strichs (verneintes UND) ausführt. Jedes NAND-Glied kann mehrere Eingänge haben, von denen zwei mit Eingangssignalen α und b gezeigt sind. Das Ausgangssignal ist mit X bezeichnet. Die Arbeitsweise des NAND-Gliedes geht aus der Zuordnungstabelle der Fig. 4A hervor. Wie man sieht, tritt nur dann das Ausgangssignal Null auf, wenn alle Eingangssignale den Wert Eins haben. In allen übrigen Fällen ergibt sich das Ausgangssignal Eins.
Fig. 5 zeigt ein ODER-Glied, das ebenfalls mehrere Eingänge haben kann. Gemäß der Zuordnungstabelle tritt hier nur dann das Ausgangssignal Null auf, wenn beide Eingangssignale den Wert Null haben.
F i g. 6 zeigt ein UND-Glied, bei dem gemäß der Zuordnungstabelle Fig. 6A nur dann am Ausgang der Wert Eins auftritt, wenn beide Eingangssignale den Wert Eins haben.
F i g. 7 zeigt ein Negationsglied, das einfach die Poliratät des Eingangssignals vertauscht (Fig. 7A). Schließlich zeigt Fig. 8 das hier verwendete Symbol eines Flip-Flops. Das Flip-Flop hat zwei Eingänge und zwei Ausgänge S und E. Wenn das Signal Eins am oberen Eingang erscheint, so ergibt sich das Ausgangssignal Eins bei S und das Ausgangssignal Null bei 'S. Erscheint umgekehrt ein Signal Eins am unteren Eingang, so ergibt sich das Signal Eins am Ausgang Έ und das Signal Null am Ausgang S. Ferner besitzt das Flip-Flop noch einen Eingang CK zwecks Zuführung eines Taktimpulses, bei dessen Auftreten das Flip-Flop die genannten Ausgangssignale liefert. Die Betriebsweise des erfindungsgemäßen Simultanrechners wird nun an Hand der Fig. 9 bis 11 erläutert. F i g. 9 zeigt eine Ausführungsform der Steuervorrichtung 62 in Fig. 3. Diese hat die Aufgabe, die beiden Rufsignale zu empfangen und gegebenenfalls ein Öffnungssignal zu liefern, das zur Steuerung anderer Operationen des Rechners dient.
ίο Die dargestellte Schaltung ermöglicht einen Betrieb des Rechenwerks in verschiedenen Arten. In der dargestellten Ausführungsform sind vier Rechenarten möglich, die durch den Zustand der Flip-Flops 72 und 74 ausgedrückt werden. So ergeben sich folgende Kombinationen:
-STi Xi Xi Xi Rechenart
0 1 0 1 1
20 1 0 0 1 2
0 1 1 0 3
1 0 1 0 4
Um die Ausgangssignale der Flip-Flops 72 und 74 zu erkennen und die angegebene Rechenart mit den Befehlen vom Leitwerk 10 zu vergleichen, sind vier NAND-Glieder 76, 77, 78 und 79 vorgesehen. Das NAND-Glied 76 empfängt die Signale Z1 und X2 von den Flip-Flops 72 und 74 sowie ein Modussignal M 4.
Das NAND-Glied 77 empfängt die Signale Z1 und Z2 Modussignal M3. Das NAND-Glied 78 empfängt die Signale Z1 und Z2 von den Flip-Flops 72 und 74 sowie ein Modussignal Ml. Das NAND-Glied 79 schließlich empfängt die Signale Z1 und Z2 von den Flip-Flops 72 und 74 und ein Modussignal Ml. Die Modussignale werden vom zentralen Leitwerk zu gegebener Zeit abgegeben. Zur Steuerung des aus den Flip-Flops 72 und 74 bestehenden Zuordners dient eine Eingangsschaltung 90, die auf innere Daten des Rechenwerks im Zusammenwirken mit bestimmten Steuersignalen vom zentralen Leitwerk 10 anspricht. Die Rufsignale R und C von den beiden Teilen 16 und 18 der äußeren Steuervorrichtung werden allen vier NAND-Gliedern 76 bis 79 zugeführt. Die Ausgänge aller dieser NAND-Glieder führen zu einem einzigen NAND-Glied 84, das ein Öffnungssignal EN abgibt, wenn bestimmte Bedingungen erfüllt sind.
Beispielsweise sei angenommen, daß beide Flip-Flops 72 und 74 gesetzt sind, d. h., daß die Ausgangssignale Z1 und Z2 den Wert Eins haben. Außerdem sei das Modussignal M 4 vom zentralen Leitwerk vorhanden. Dann liefern die NAND-Glieder 77, 78 und 79 jeweils das Ausgangssignal Eins, da ihre Eingangssignale Z1 und Z2 den Wert Null haben. Dagegen
sind die Eingangssignale X1, Z2 und M 4 des NAND-Gliedes 76 gleich Eins. Wenn nun die beiden Rufsignale R und C ebenfalls den Wert Eins annehmen, so liefert das Glied 76 ein Ausgangssignal vom Wert Null, weshalb das NAND-Glied 84 ein Ausgangssignal vom Wert Eins abnimmt, welches das Öffnungssignal EN darstellt. Ist dagegen kein Modussignal M 4 eingetroffen, sondern ein Signal Ml, M2 oder M3, so ist auch das Ausgleichssignal vom NAND-Glied 76 gleich Eins, und das NAND-Glied 84 gibt das Ausgangssignal Null ab, d. h., es wird kein Öffnungssignal erzeugt. Dasselbe gilt, wenn die Rufsignale R und C oder eines von ihnen gleich Null sind. Da stets mindestens eine der vier möglichen
7 8
Rechenarten bei Anzeige durch die Flip-Hops 72 und Glieder 95 bis 98 allen benachbarten Rechenwerken
74 und Zuführung aller möglichen Modussignale die Signale Eins, und das Signal Fl gelangt über
gleichzeitig mindestens eines der NAND-Glieder 76 NAND-Glied 99 auf ein NAND-Glied 100, das nur
bis 79 für die Öffnung vorbereitet, hängt das Auf- dann geöffnet wird, wenn gleichzeitig die Signale von
treten des Öffnungssignals EN dann nur noch davon 5 den Nachbarwerken N1, N 2, N 3 und N 4 den Wert
ab, daß beide Rufsignale R und C vorhanden sind. Eins annehmen und außerdem die nachstehend noch
In Fig. 9 ist nun eine Schaltung zur Erzeugung betrachteten NAND-Glieder 112 und 114 ebenfalls
eines Öffnungssignals in Abhängigkeit von zwei Ruf- Signal Eins abgeben. Sind alle diese Bedingungen er-
signalen dargestellt. Selbstverständlich können an- füllt, so liefert NAND-Glied 100 ein Ausgangssignal
dere Schaltungsanordnungen verwendet werden. So io ax, das damit das Bit Fl aus dem ersten Register 54
können z. B. die beiden Rufsignale R und C getrenn- darstellt.
ten Schaltkreisen zugeführt werden, deren Ausgänge Liegt ein Befehl vor, daß das Rechenwerk Inforzusammen mit dem Ausgang eines auf die Modus- mationen von einem benachbarten Rechenwerk überbefehle ansprechenden Gliedes zu einem ODER- nehmen soll, so wird NAND-Glied 99 nicht geöffnet Glied geführt sind. An dessen Ausgang erscheint also 15 und gibt damit das Signal Eins auf das NAND-Glied ein Öffnungssignal, wenn eines der beiden Rufsignale 100, während gleichzeitig ein Signal an einer der allein oder ein Modussignal oder eine Kombination Adern 44 (1) von Nl, 46 (1) von Nachbar JV 2, 48 (1) der beiden auftritt. Auch kann die Schaltung so ge- von Nachbar 3 oder 50 (1) von Nachbar 4 auftritt, troffen sein, daß ein Öffnungssignal geliefert wird, das anzeigt, daß die betreffenden Adern in den Kawenn nur ein Rufsignal von der äußeren Steuervor- 20 bein 44, 46, 48 und 50 beaufschlagt sind. Damit Herichtungl5 auftritt. Die Grundaufgabe der Steuer- fert das NAND-Glied 100 das Signalax, das ein vorrichtung 62 ist die Bildung eines Öffnungssignals Operandenbit in dem betreffenden benachbarten Rebeim Auftreten eines bestimmten Rufsignals oder chenwerk darstellt. Um gleichzeitig das Komplement einer Kombination zweier Rufsignale. Schaltungsan- von ax zu liefern, ist das NAND-Glied 105 vorgeordnungen hierfür sind ohne weiteres ersichtlich. 25 sehen, das nur einen Eingang ax aufweist und dem-
Die in F i g. 9 dargestellte Schaltung ergibt einen gemäß am Ausgang den Wert Wc abgibt. Das Ope-
Parallelrechner, der anpassungsfähiger ist, eine grö- randenbit ax oder äx wird dann in der vorgeschriebe-
ßere Anzahl von Problemen lösen kann und höhere nen Rechenart vom Rechenteil 58 (F i g. 3) ausge-
Rechengeschwindigkeiten ermöglicht als die bekann- wertet, nachdem es den Operationswähler 64 passiert
ten Rechner dieser Art. Das am Ausgang 86 auftre- 30 hat, der auch Operandenbits unmittelbar vom zweiten
tende Öffnungssignal EN wird auf die Eingangs- Register 66 empfangen kann.
schaltung 90 geführt und spielt eine Rolle bei der Die von der äußeren Steuervorrichtung 15 (F i g. 1) Einstellung der Flip-Flops 72 und 74. Ferner wirkt ausgehenden Rufsignale dienen, wie erwähnt, zur Erdas Öffnungssignal auf verschiedene Teile des zeugung des Öffnungssignals EiV. Das Öffnungssignal Rechenwerks derart ein, daß nur bei Vorhandensein 35 kann für den Informationsaustausch mit der Außendes Öffnungssignals das Rechenwerk bestimmte vom weit verwendet werden, und zu diesem Zweck entzentralen Programmwerk befohlene Operationen aus- hält die Weiche 70 gemäß Fig. 10 zwei UND-Glieführt. Außerdem kann das Öffnungssignal zur Er- der 108 und 110. Diese empfangen das Öffnungshöhung der Austauschgeschwindigkeit von Informa- signal EiV über die Leitung 86 und außerdem das tionen zwischen den Rechenwerken und ihren Wei- 40 Operandenbit Fl. Ferner wird dem UND-Glied 108 chen 40 dienen. Dies wird nachstehend an Hand der ein Signal CC 0 vom zentralen Leitwerk 10 zugeführt. Fig. 10 erläutert. Wenn also dieses Signal gleichzeitig mit dem Öff-
Fig. 10 zeigt eine Ausführungsform der Weiche nungssignalEN den Wert Eins hat, leitet das UND-70. Sie enthält vier NAND-Glieder 95 bis 98, denen Glied 108 das Operandenbit Fl auf die Spaltenlei-Steuersignale CY, CX, CW und CV vom Leitwerk 10 45 tang CB3 weiter (es handelt sich ja um die Beschreizugeführt werden können. Ein weiteres NAND-Glied bung des Rechenwerks PElO), so daß die Informa-99 erhält ein Steuersignal CZ vom Leitwerk 10. Diese tion zum Zwischenspeicher 30 gelangen kann. Wenn NAND-Glieder erhalten ferner ein zusätzliches Ein- dagegen das Signal CR 0 vom Leitwerk 10 auf das gangssignal Fl, das ein Operandenbit darstellt. Die- UND-Glied 110 gegeben wird und das Öffnungssignal ses Signal Fl kommt vom ersten Register 54 in 50 EN vorhanden ist, so leitet der letztere Schaltkreis F i g. 3. Die Signale CV bis CZ haben normalerweise das Operandenbit Fl dem Zwischenspeicher 30 über den Wert Null, und wenn selektiv eins von ihnen den die Zeilenleitung RB 2 zu.
Wert Eins annimmt, so kann das Bit Fl dem betref- Zur Eingabe von Informationen aus dem Zwi-
fenden Nachbarwerk iVl bis iV4 oder dem eigenen Seitenspeicher 30 sind NAND-Glieder 112 und 114
Rechenwerk zugeführt werden. Nimmt beispielsweise 55 vorgesehen, denen je das Öffnungssignal EN über
das Signal CV den Wert Eins an, so wird NAND- Leitung 86 zuführbar ist. Wenn Daten aus einer Spal-
Glied 98 geöffnet und leitet das Signal Fl weiter zum tenleitung in das Rechenwerk eingegeben werden sol-
Nachbarwerk iV4 über das Kabel 50 in F i g. 2. Dem- len, so wird das NAND-Glied 112 mittels eines Si-
entsprechend ist die Ausgangsleitung des NAND- gnals CC I vom Leitwerk 10 geöffnet, während zur
Gliedes 98 mit 50 (2) bezeichnet, da es sich um die 60 Öffnung des NAND-Gliedes 114 zwecks Eingabe von
zweite Ader im Kabel 50 handelt. Nimmt dagegen Daten aus der Zeilenleitung RB 2 ein Signal CR I
Signal CW den Wert Eins an, so wird NAND-Glied dient. Wenn kein solcher Eingabevorgang stattfinden
97 geöffnet und läßt das Bit Fl über die Ader 48 (2), soll, haben die Signale CCI und CR I den Wert Null,
d. h. die zweite Ader in dem Kabel 48 von F i g. 2, so daß die NAND-Glieder 112 und 114 das Signal
zum Rechenwerk iV3 durch. In ähnlicher Weise kann 65 Eins auf das NAND-Glied 100 geben. Da alle
das Signal Fl selektiv den Rechenwerken JVl oder Rechenwerke die gleichen Steuersignale vom zentra-
N 2 zugeführt werden. Wird schließlich dem Signal len Programmwerk 10 erhalten, findet nur bei den-
CZ der Wert Eins erteilt, so übermitteln die NAND- jenigen Rechenwerken, in denen ein Öffnungssignal
EN erzeugt wurde, ein Informationsaustausch mit dem Zwischenspeicher 30 statt. So läßt sich die Eingabe und Ausgabe der Daten von den einzelnen Rechenwerken mittels der Rufsignale von der äußeren Steuervorrichtung 15 steuern, da bei Abwesenheit des Öffnungssignals EN an den UND-Gliedern 108 und 110 und den NAND-Gliedern 112 und 114 diese Glieder gesperrt bleiben.
Ein Ausführungsbeispiel des Zwischenspeichers 30 ist in Fig. 11 dargestellt. Zur Zwischenspeicherung der Operanden und Ergebnisse dienen Flip-Flops 120, 122 124 und 126. Die Hauptaufgabe des Zwischenspeichers ist der Empfang von Informationen aus den Rechenwerken der Matrix und der Rücklieferung dieser Informationen zu anderen Rechenwerken oder zur Ein- und Ausgabevorrichtung 40 sowie der Empfang von Informationen aus der Ein- und Ausgabevorrichtung 40 und die Weiterleitung derselben an aufgerufene Rechenwerke.
Dem Flip-Flop 120 ist ein ODER-Glied 128 zugeordnet, das Informationen von einer bestimmten Gruppe von Rechenwerken empfangen kann. Diese Gruppe umfaßt im vorliegenden Ausführungsbeispiel die Rechenwerke 1, 5, 9 und 13, die an der Zeilenleitung RBl hängen. Ferner kann das ODER-Glied 128 Informationen von einem der Rechenwerke 1, 2, 3 oder 4 empfangen, die mit der Spaltenleitung CB1 verbunden sind. Ein dritter Eingang 168 des ODER-Gliedes 128 kommt von der Ein- und Ausgabevorrichtung 40 her. Das ODER-Glied 128 kann somit ein Signal von einem Rechenwerk in der ersten Zeile, von einem Rechenwerk in der ersten Spalte und außerdem eine Information von der Ein- und Ausgabevorrichtung 40 weiterleiten.
Alle Ausgangssignale des ODER-Gliedes 128 gelangen auf einen Eingang des Flip-Flops 120. Der andere Eingang desselben ist über den Negator 130 ebenfalls mit dem Ausgang des ODER-Gliedes 128 verbunden. Der eine Eingang des Flip-Flops erhält also stets das Signal Eins und der andere das Signal Null. Das Flip-Flop schlägt um, wenn das Ausgangssignal des ODER-Gliedes 128 vom Wert Null auf den Wert Eins übergeht, oder umgekehrt. Derjenige Ausgang des Flip-Flops 120, dessen Polarität dem Ausgangssignal des ODER-Gliedes 128 entspricht, ist über die Leitung 148 mit UND-Gliedern 144, 145 und 146 verbunden, denen außerdem Steuersignale CA, CB bzw. CC vom Leitwerk zugeführt werden. Das Ausgangssignal des UND-Gliedes 144 kann über das Spaltenkabel RB1 einem aufgerufenen Rechenwerk der ersten Zeile der Matrix und in gewissen Anwendungen auch mehr als einem Rechenwerk der ersten Zeile zugeführt werden. Das Ausgleichssignal des UND-Gliedes 145 kann über das Spaltenkabel CB1 einem oder mehreren Rechenwerken in der ersten Spalte der Matrix zugeführt werden. Der Ausgang des UND-Gliedes 146 dient zur Ausgabe der Informationen und ist somit mit der Ein- und Ausgabevorrichtung 40 verbunden. Durch wahlweises Öffnen der UND-Glieder 144, 145 und 146 kann somit die Information von der Ein- und Ausgabevorrichtung entweder einem oder mehreren Rechenwerken in der ersten Zeile oder einem oder mehreren Rechenwerken in der ersten Spalte zugeführt werden. Außerdem kann auch die Information von einem Rechenwerk in der ersten Zeile einem anderen Rechenwerk in der ersten Zeile oder auch einem anderen Rechenwerk in der ersten Spalte zugeführt werden.
In gleicher Weise wie die Speichervorrichtung für die erste Zeile und erste Spalte sind die Speichervorrichtungen für die anderen Zeilen und Spalten aufgebaut. So ist das ODER-Glied 132 über die Leitungen S RB 2 und CB 2 mit allen Rechenwerken der zweiten Zeile und zweiten Spalte verbunden und kann außerdem Informationen von der einen Ausgabevorrichtung über die Leitung 170 aufnehmen. ODER-Glied 132 ist mit dem Flip-Flop 122 verbunden, dessen
ίο Ausgang an die UND-Glieder 150, 151 und 152 mittels der Leitung 154 angeschlossen ist. Diese UND-Glieder können wieder wahlweise mittels der Signale CA, CB und CC geöffnet werden. Ihre Ausgänge sind mit der zweiten Zeilenleitung RB 2, der zweiten Spaltenleitung CB 2 bzw. der Ein- und Ausgabevorrichtung 40 verbunden.
In gleicher Weise wirken mit dem Flip-Flop 124 für die dritte Zeilenleitung RB 3 und die dritte Spaltenleitung CB 3 das ODER-Glied 136, die UND-Glieder 157 und 158 und 159 sowie die Eingangs-• leitung 172 und die Ausgangsleitung 160 zusammen.
Das dritte Speicher-Flip-Flop 126 ist mit der vierten Zeilenleitung RB 4 und der vierten Spaltenleitung CB 4 einerseits über das ODER-Glied 140, andererseits über die UND-Glieder 162, 163 und 164 verbunden, und zur Eingabe dient die Leitung 174.
Zur Erläuterung der Arbeitsweise der Erfindung beim Informationsaustausch zwischen den Rechenwerken sei angenommen, daß jedes Rechenwerk der Matrix in F i g. 1 Informationen enthält und daß die Informationen in den Rechenwerken der ersten Zeile auf die Rechenwerke der ersten Spalte übertragen werden sollen, daß ferner die Informationen in der zweiten Zeile den Rechenwerken der zweiten Spalte zugeführt werden sollen und daß dieser Prozeß sich fortsetzen soll, bis die Informationen in allen Zeilen mit denjenigen in allen Spalten vertauscht sind. Diese Aufgabe tritt in vielen Determinantenrechnungen und Matrixmultiplikationen auf. Durch Zuführung der Signale Ml, M2, M 3 und M4 zu allen Rechenwerken werden die NAND-Glieder 76, 77, 78 und 79 (F i g. 9) in midestens einem dieser Rechenwerke zur Öffnung vorbereitet.
Von Teil 16 der äußeren Steuervorrichtung 15 geht ein Rufsignal R über die Leitung 20 an die Rechenwerke 1, 5, 9 und 13 in der ersten Zeile. Der andere Teil 18 der äußeren Steuervorrichtung 15 liefert ein Rufsignal C über alle Spaltenleitungen 24, 25, 26 und 27. Nur die Rechenwerke der ersten Zeile empfangen aber beide Signale R und C, so daß nur in der ersten Zeile ein Öffnungssignal entstehen kann. Trifft nun das Signal CC 0 vom Programmwerk 10 ein, so wird in den Rechenwerken der ersten Zeile jeweils das UND-Glied 108 (Fig. 10) durch die SignaleCCO und EN geöffnet, so daß das erste Bit der im Rechenwerk enthaltenen Information über UND-Glied 108 der zugehörigen Spaltenleitung CB zugeführt werden kann. Das Rechenwerk 1 liefert also seine Information der Spaltenleitung CB1, das Rechenwerk 5 der Spaltenleitung CB 2, das Rechenwerk 9 der Spaltenleitung CB 3 und das Rechenwerk 13 der Spaltenleitung CB 4. Infolgedessen werden die Flip-Flops 120, 122, 124 und 126 in Zwischenspeicher 30 (Fig. 11) entsprechend den empfangenen Informationsbits gesetzt. Nun werden Zeilenrufsignale über alle Leitungen 20, 21, 22 und 23 gegeben, so daß alle Rechenwerke 1, 2, 3 und 4 der ersten Spalte ein i?-Signal erhalten. Ferner wird ein Rufsignal auf die Leitung
709 549/197
24 gegeben, so daß die letzteren Rechenwerke gleichzeitig auch ein Signal C erhalten und damit ein Öff- nungssignalEN bilden. Das Signalen am Eingang der UND-Glieder 144, 150, 157 und 162 in Fig. 11 erhält nun den Wert Eins, so daß über diese UND-Glieder die in den Flip-Flops des Zwischenspeichers 30 enthaltene Information mittels der Spaltenleitung RBl dem Rechenwerk 1, mittels der Spaitenleitung RB 2 dem Rechenwerk 2, mittels der Spaltenleitung RB 3 dem Rechenwerk 3 und mittels der Spaltenleitung RB 4 dem Rechenwerk 4 zugeführt wird. Das NAND-Glied 114 (Fig. 10) jedes Rechenwerks in der ersten Spalte empfängt das Öffnungssignal EiV, und in diesem Zeitpunkt nimmt das Signal CR I vom Programmwerk 10 den Wert Eins an, so daß die auf den Zeilenleitungen erscheinende Information die Rechenwerke der ersten Spalte erreichen kann. Im Öffnungszustand der Rechenwerke der ersten Spalte kann ferner die in ihnen enthaltene Information den zugehörigen Zeilenleitungen zugeleitet werden, indem das Öffnungssignal CR 0 für das UND-Glied 110 den Wert Eins annimmt, so daß die Flip-Flops im Zwischenspeicher 30 nunmehr entsprechend der in den Rechenwerken der ersten Spalte stehenden Information gesetzt werden. Anschließend wird abermals das Signal C auf die Leitungen 24, 25, 26 und 27 und das Signal R auf die Leitung 20 gegeben, so daß die Rechenwerke der ersten Zeile wieder geöffnet werden. In diesem Zustand wird das Signal CC I am NAND-Glied 112 zu Eins gemacht, so daß die auf den Spaltenleitungen ankommende Information die betreffenden Rechenwerke erreichen kann. Diese Information wird dadurch ausgegeben, daß das Signal CB am Eingang der UND-Glieder 145, 151, 158 und 163 in Fig. 11 den Wert Eins annimmt. So kommt die Information aus dem Flip-Flop 120 über Spaltenleitung CB1 zum Rechenwerk 1, aus Flip-Flop 122 über Spaltenleitung CB 2 zum Rechenwerk 5, aus dem Flip-Flop 124 über Spaltenleitung CB 3 zum Rechenwerk 9 und aus Flip-Flop 126 über Spaltenleitung CB 4 zum Rechenwerk 13.
Damit ist der Informationsaustausch eines Bits von der ersten Zeile zur ersten Spalte und von der ersten Spalte zur ersten Zeile beendet. Sollen mehrere Bits ausgetauscht werden, so kann der Prozeß fortgesetzt werden, bis die gesamte in den Rechenwerken der ersten Zeile stehende Information auf die Rechenwerke der ersten Spalte und umgekehrt übergegangen ist.
In entsprechender Weise geschieht auch der Informationsaustausch zwischen den übrigen Zeilen und Spalten. So werden durch ein Signali? auf der Leitung 21 und ein Signal C auf den Leitungen 24, 25, 26, 27 die Rechenwerke 2, 6,10 und 14 der zweiten Zeile geöffnet und können ihre Information über die Spaltenleitungen CB dem Zwischenspeicher 30 mitteilen. Dann werden mittels Signalen R auf den Leitungen 20, 21, 22 und 23 und eines Signals C auf der Leitung 25 die Rechenwerke 5, 6, 7 und 8 der zweiten Spalte geöffnet, um die Information vom Zwischenspeicher 30 über die Zeilenleitungen RB zu empfangen. Anschließend kann die Information aus den Rechenwerken der zweiten Spalte in den Zwischenspeicher 30 eingespeist werden. Werden nun mittels des Signals R auf der Leitung 21 und des Signals C auf den Leitungen 24 bis 27 wieder die Rechenwerke der zweiten Reihe geöffnet, so kann die Information vom Zwischenspeicher 30 diesem Rechenwerk zugeführt werden, womit der Informationsaustausch zwischen den Rechenwerken der zweiten Reihe und der zweiten Spalte beendet ist. Dieser Prozeß setzt sich fort, bis auch die Rechenwerke der letzten Zeile und Spalte ihre Information ausgetauscht haben.
Obwohl alle Rechenwerke der Matrix die gleichen Steuersignale aus dem zentralen Leitwerk 10 erhalten und allen Rechenwerken in einer Zeile das auf einer
ίο Zeilenleitung auftretende Signal zugeführt wird, während allen Rechenelementen einer Spalte die in einer Zeilenleitung enthaltende Information zugeführt wird, nehmen nur diejenigen Rechenwerke am Informationsaustausch teil, in denen ein Öffnungssignal EN mittels der äußeren Steuervorrichtung erzeugt wurde. Die Eingabe von Informationen in ausgewählte Rechenwerke der Matrix geschieht über die Leitungen 168, 170, 172 und 174 (Fig. 11), so daß die Flip-Flops 120, 122, 124 und 126 entsprechend gesetzt
ao werden, und durch Öffnung der UND-Glieder an ihrem Ausgang durch Signale CA oder CB. Um Informationen aus bestimmten Rechenwerken der Eingabe- und Ausgabevorrichtung zuzuführen, wird das Signal CC an den UND-Gliedern 146, 152, 159 und 164 gleich Eins gemacht, so daß diese UND-Glieder die in die Flip-Flops 120 bis 126 gesetzte Information ausgeben können. Durch entsprechende Auswahl der Rufsignale von der äußeren Steuervorrichtung 15 können auch andere Austauschvorgänge zwischen verschiedenen Rechenwerken als die beschriebene Vertauschung von Zeilen und Spalten durchgeführt werden.
Außer der Vereinfachung und Beschleunigung von Datenaustauschvorgängen führt die äußere Steuer-Vorrichtung gemäß der Erfindung zu einer großen Anpassungsfähigkeit des Rechners an viele Rechenaufgaben. Bei einem Simultanrechner, der in verschiedenen Rechenarten betrieben werden kann, wie es an Hand der F i g. 9 erläutert wurde, gestattet die erfindungsgemäße Steuervorrichtung 15 eine effektive Steigerung der Anzahl von Operationsarten, da selbst dann, wenn ein bestimmtes Rechenwerk ein Modussignal empfängt und der betreffende Zuordner demgemäß ein Ausgleichssignal liefert, das diesen Modus anzeigt, das Öffnungssignal EN nicht erzeugt wird, wenn die beiden Rufsignale R und C nicht vorhanden sind. Durch Auswahl der Rufsignale können also verschiedene Rechenwerke gegen die Annahme der Steuersignale gesperrt werden, was bei der Aufstellung von Grenzbedingungen in der Lösung von Aufgaben besonders nützlich ist. Ferner können mittels der Steuervorrichtung bestimmte Untergruppen der Rechenwerke verschiedene Abschnitte eines bestimmten Problems oder sogar verschiedene Probleme gleichzeitig bearbeiten. Dieser Vorteil läßt sich sogar in Simultanrechnern verwirklichen, die nicht in verschiedenen Rechenarten betrieben werden können. In vielen Fällen ist es nützlich zu wissen, ob ein bestimmtes Rechenwerk, dem die beiden Rufsignale zugeführt wurden, ein Öffnungssignal EN erzeugt hat. Diese Information kann auf verschiedene Weisen verwendet werden, z. B. zur Prüfung richtigen Arbeitens der Rechenwerke, zur Herstellung einer topografischen Übersicht der jeweils arbeitenden Rechenwerke oder zur Prüfung, ob bestimmte Rechenwerke richtige Nullen bei einem Übermittlungsvorgang abgegeben haben usw. Gemäß einer Ausgestaltung der Erfindung ist deshalb eine Schaltungsanordnung vorge-
sehen, die unter dem Einfluß der einzelnen Öffnungssignale EN in den Rechenwerken Ausgangssignale erzeugt, die zu der gewünschten Überprüfung dienen können. Grundsätzlich könnte diese Schaltungsanordnung aus einzelnen Flip-Flops bestehen, die je einem Rechenelement zugeordnet sind und deren Zustand jeweils anzeigt, ob das betreffende Rechenwerk geöffnet ist oder nicht. Bei einem Parallelrechner mit über tausend einzelnen Rechenwerken wären aber Kosten und Umfang einer solchen Schaltungsanordnung sehr groß. Deshalb ist in Fig. 12 eine Schaltungsanordnung gezeigt, die mit einem Minimum an Flip-Flops auskommt. Für die Matrix aus viermal vier Rechenwerken in F i g. 1 sind in F i g. 12 acht ODER-Glieder 175 bis 182 vorgesehen, die je die Öffnungssignale von einer anderen Gruppe der Rechenwerke erhalten. So werden dem ODER-Glied 175 die Öffnungssignale von den Rechenwerken der ersten Zeile, also den Rechenwerken 1, 5, 9 und 13 zugeführt. ODER-Glied 176 erhält die Öffnungssignale von den Rechenwerken der ersten Spalte, also 1, 2, 3 und 4. Anders ausgedrückt ist ODER-Glied 175 imstande, die Öffnungssignale von den ersten Rechenwerken jeder Spalte zu empfangen, und ODER-Glied 176 empfängt die Öffnungssignale von den ersten Rechenwerken jeder Zeile. Der Ausgang des ODER-Gliedes 175 ist mit einem UND-Glied 184 und der Ausgang des ODER-Gliedes 186 mit einem UND-Glied 186 verbunden. Da ODER-Glied 175 die Öffnungssignale von den ersten Rechenwerken jeder Spalte erhält, dient UND-Glied 184 zur Prüfung, ob von irgendeinem dieser Rechenwerke ein Öffnungssignal vorliegt. Zu diesem Zweck empfängt UND-Glied 184 ein Spaltenprüfsignal CT. Entsprechend empfängt UND-Glied 186 ein Zeilenprüfsignal RT. Die Ausgänge der beiden UND-Glieder sind mit einem ODER-Glied 188 verbunden, das auf den Eingang eines Flip-Flops 190 führt. Wenn nun z. B. geprüft werden soll, ob ein Rechenwerk der ersten Zeile ein Öffnungssignal entwickelt hat, wird dem Spaltenprüfsignal CT der Wert Eins erteilt, d. h., das erste Rechenwerk in jeder Spalte wird geprüft. Ist in einem dieser Rechenwerke ein Öffnungssignal EN aufgetreten, so gibt UND-Glied 184 das Signal Eins ab, das über ODER-Glied 188 das Flip-Hop 190 ersetzt. Soll geprüft werden, ob ein Öffnungssignal in einem der Rechenwerke der ersten Spalte, d. h. den ersten Rechenwerken jeder Spalte, aufgetreten ist, so wird dem Zeilenprüfsignal RT der Wert Eins erteilt und wenn ein solches Öffnungssignal vorliegt, liefert das UND-Glied 186 das Ausgangssignal Eins, das über ODER-Glied 188 das Flip-Flop 190 setzt.
In gleicher Weise dient das ODER-Glied 177 zur Überprüfung des Rechenwerks der zweiten Reihe, d. h. des zweiten Rechenwerks in jeder Spalte, und das ODER-Glied 178 dient zur Überprüfung der Rechenwerke der zweiten Spalte. Sie arbeiten auf UND-Glieder 192 und 194, die gemeinsam ein ODER-Glied 196 beaufschlagen, das zur Speisung des Anzeige-Flip-Flops 198 dient. Die anderen Eingänge der UND-Glieder 192 und 194 sind wieder mit den Leitungen für das Spaltenprüfsignal CT und das Zeilenprüfsignal RT verbunden. Die gleichen Schaltungsmaßnahmen sind für die dritte und vierte Zeile und Spalte getroffen. Das ODER-Glied 179 für die dritte Zeile und das ODER-Glied 180 für die dritte Spalte arbeiten auf UND-Glieder 200 und 202, die gemeinsam über ein ODER-Glied 204 ein Flip-Flop 206 beaufschlagen. Das ODER-Glied 181 für die vierte Zeile und das ODER-Glied 182 für die vierte Spalte arbeiten auf UND-Glieder 208 und 210, die gemeinsam ein ODER-Glied 212 zur Speisung eines Flip-Flops 214 beaufschlagen.
Zur Erläuterung sei beispielsweise angenommen, daß ein Rufsignal C auf die Leitung 25 für die Rechenwerke der zweiten Spalte und ein Rufsignali? auf alle Leitungen 20 bis 23 gegeben wurde. Die
ίο Rechenwerke der zweiten Spalte, d. h. die zweiten Rechenwerke jeder Zeile, sind dann imstande, ein Öffnungssignal EN zu erzeugen, wenn bestimmte innere Bedingungen der Rechenwerke erfüllt sind. Ferner sei angenommen, daß die Informationen aus den Rechenwerken der zweiten Spalte zum Zwischenspeicher 30 übertragen werden sollen und daß aus irgendeinem Grund das Öffnungssignal EN im Rechenwerk 8 nicht erzeugt wurde. Diese Tatsache kann von einem Ausfall des Rechenwerks 8 herrühren oder sich daraus ergeben, daß Rechenwerk 8 sich in einer nicht aufgerufenen Rechenart befindet, wenn es sich um einen Simultanrechner mit mehreren möglichen Rechenarten handelt. Hat die Informationsübertragung zum Zwischenspeicher 30 in der oben beschriebenen
as Weise stattgefunden, so liefert das Flip-Flop 126 (Fig. 11) ein Ausgangssignal Null, da ODER-Glied 140 ein Ausgangssignal Null vom UND-Glied 110 der Weiche des Rechenwerks 8 empfängt, und es ist nicht bekannt, ob dieses Signal Null die im Rechenwerk 8 enthaltene Information darstellt oder ob diese Null davon herrührt, daß im Rechenwerk 8 kein Öffnungssignal erzeugt wurde. Mit der Schaltungsanordnung der Fig. 12 kann nun festgestellt werden, ob erne echte Null vorliegt oder nicht. Dies geschieht in folgender Weise: Es wird eine Spaltenprüfung durchgeführt, d. h., das Signal CT behält den Wert Eins und öffnet die UND-Glieder 184, 192, 200 und 208. Dagegen bleibt das Zeilenprüfsignal RT gleich Null, so daß die UND-Glieder 186,194, 202 und 210 das Ausgangssignal Null abgeben. Da im Rechenwerk 5 ein Öffnungssignal EN vorhanden ist, empfängt ODER-Glied 175 dieses Signal und gibt somit das Ausgangssignal Eins ab, das über UND-Glied 184 und ODER-Glied 188 auf das Flip-Flop 190 kommt und dieses in den Arbeitszustand setzt. Das vom Rechenwerk 6 erzeugte Öffnungssignal EN gelangt über ODER-Glied 177, UND-Glied 192 und ODER-Glied 196 zum Flip-Flop 198. Das vom Rechenwerk 7 erzeugte Öffnungssignal EN gelangt über ODER-Glied 179, UND-Glied 200 und ODER-Glied 204 zum Flip-Flop 206 und setzt dieses. Dagegen sind alle Eingangssignale des ODER-Gliedes 181 gleich Null, weil Rechenwerk 8 kein Öffnungssignal entwickelt hat. Somit liefern auch das UND-Glied 208 und das ODER-Glied 212 das Ausgangssignal Null, und das Flip-Flop 214 wird nicht gesetzt. Es zeigt so an, daß das letzte Rechenwerk der Spalte, also das Rechenwerk 8, kein Öffnungssignal EN erzeugt hat und daß also das vom Flip-Flop 126 de?
Zwischenspeichers 30 (Fig. 11) angezeigte Signal Null keine echte Dateninformation darstellt. Die Zustände des Flip-Flops 190, 198, 206 und 214 bedeuten in diesem Beispiel nur, daß ein Öffnungssignal in den geprüften Rechenwerken erzeugt wurde; dagegen bedeuten in diesen Flip-Flops entstehende Signale mit dem Wert Eins nicht irgendwelche übermittelten Daten, sondern nur die Tatsache, daß überhaupt Daten übermittelt worden sind.

Claims (3)

Patentansprüche:
1. Elektronenrechner mit einer Mehrzahl von Rechenwerken, einem zentralen Leitwerk mit Hauptspeicher, das allen Rechenwerken identische Steuersignale zuführt, um die gespeicherten Daten zu verarbeiten, einem Zwischenspeicher zum Datenaustausch mit den Rechenwerken und einem Ein- und Ausgabewerk, das zwecks Informationsaustausch mit dem Zwischenspeicher verbunden ist, dadurch gekennzeichnet, daß die identischen Rechenwerke (PE) gruppenweise in Zeilen und Spalten angeordnet sind und identische Steuersignale von dem zentralen Leitwerk (10) erhalten, daß im Zwischenspeicher (30) jeder Zeile (RB) und Spalte (CB) der Rechenwerke ein eigenes, mit dem Ein- und Ausgabewerk (40) verbundenes Pufferregister (z. B. 128, 120, 144 bis 146) zugeordnet ist und daß eine an das zentrale Leitwerk angeschlossene äußere Steuervorrichtung (15) Zeilenauf ruf signale (R) und Spaltenaufrufsignale (C) abgibt, die nur diejenigen Rechenwerke zum Austausch mit dem Zwischenspeicher (über CB3, RB2, Fig. 10) bereitmachen (EN in F i g. 9 und 10), welche beide Aufrufsignale empfangen, so daß über den Zwischenspeicher Informationen selektiv zwischen den aufgerufenen Rechenwerken oder zwischen dem Ein- und Ausgabewerk und den aufgerufenen Rechenwerken ausgetauscht werden können.
2. Elektronenrechner nach Anspruch 1, dadurch gekennzeichnet, daß jedes Rechenwerk einer Zeile oder Spalte über das zugeordnete Pufferregister mit einem Rechenwerk in einer anderen Zeile oder Spalte verbunden werden kann, so daß Daten von einer ganzen Zeile oder Spalte in zwei Schritten über den Zwischenspeicher auf eine andere Zeile oder Spalte übertragen werden können.
ίο 3. Elektronenrechner nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß die aufgerufenen Rechenwerke beim Eintreffen von Steuersignalen (CC) vom zentralen Leitwerk (C) in einen anderen Zustand als die nicht aufgerufenen Rechenwerke versetzt werden (mittels EN).
4. Elektronenrechner nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß jedes Rechenwerk einen Rechenteil (58) und eine Weiche (70) zum Datenaustausch mit ande-
zo ren Rechenwerken enthält.
In Betracht gezogene Druckschriften:
»Proceedings of the Eastern Joint Computer Conference«, 1959, S. 48 bis 58;
»Digitale Rechenanlagen«, Springer-Verlag, Berlin 1961, S. 394 bis 398;
»Elektronische Rechenanlagen«, 1960, H.
3.
S. 117 bis 128.
Hierzu 2 Blatt Zeichnungen
709 549/197 4.67 © Bundesdruckerei Berlin
DEW37318A 1963-08-05 1964-08-05 Elektronenrechner mit einer Mehrzahl von Rechenwerken Pending DE1238695B (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US299956A US3308436A (en) 1963-08-05 1963-08-05 Parallel computer system control

Publications (1)

Publication Number Publication Date
DE1238695B true DE1238695B (de) 1967-04-13

Family

ID=23157047

Family Applications (1)

Application Number Title Priority Date Filing Date
DEW37318A Pending DE1238695B (de) 1963-08-05 1964-08-05 Elektronenrechner mit einer Mehrzahl von Rechenwerken

Country Status (4)

Country Link
US (1) US3308436A (de)
DE (1) DE1238695B (de)
FR (1) FR1420405A (de)
GB (1) GB1026890A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3314917A1 (de) * 1982-04-26 1983-11-03 VMEI Lenin, Sofia Multimicroprozessor-system

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3440611A (en) * 1966-01-14 1969-04-22 Ibm Parallel operations in a vector arithmetic computing system
US4209852A (en) * 1974-11-11 1980-06-24 Hyatt Gilbert P Signal processing and memory arrangement
US3660611A (en) * 1970-06-05 1972-05-02 Bell Telephone Labor Inc Program controlled key telephone system for automatic selection of a prime line
US3815095A (en) * 1972-08-29 1974-06-04 Texas Instruments Inc General-purpose array processor
IT991096B (it) * 1973-07-10 1975-07-30 Honeywell Inf Systems Calcolatore elettronico con reti funzionali indipendenti per l esecuzione simultanea di opera zioni diverse sugli stessi dati
US3978452A (en) * 1974-02-28 1976-08-31 Burroughs Corporation System and method for concurrent and pipeline processing employing a data driven network
US4061906A (en) * 1975-04-28 1977-12-06 Wolfgang Grebe Computer for numeric calculation of a plurality of functionally interrelated data units
GB1540996A (en) * 1975-05-12 1979-02-21 Plessey Co Ltd Associative processors
US4270170A (en) * 1978-05-03 1981-05-26 International Computers Limited Array processor
US4270169A (en) * 1978-05-03 1981-05-26 International Computers Limited Array processor
US4247892A (en) * 1978-10-12 1981-01-27 Lawrence Patrick N Arrays of machines such as computers
US4296469A (en) * 1978-11-17 1981-10-20 Motorola, Inc. Execution unit for data processor using segmented bus structure
US4524455A (en) * 1981-06-01 1985-06-18 Environmental Research Inst. Of Michigan Pipeline processor
US4546433A (en) * 1981-07-04 1985-10-08 Gec Avionics Limited Arrangement for processing data in a two-dimensional array
DE3215080A1 (de) * 1982-04-22 1983-10-27 Siemens AG, 1000 Berlin und 8000 München Anordnung zur kopplung von digitalen verarbeitungseinheiten
US4553203A (en) * 1982-09-28 1985-11-12 Trw Inc. Easily schedulable horizontal computer
US4811201A (en) * 1982-09-28 1989-03-07 Trw Inc. Interconnect circuit
GB2129589B (en) * 1982-11-08 1986-04-30 Nat Res Dev Array processor cell
US5146608A (en) * 1983-05-31 1992-09-08 Hillis W Daniel Parallel processor array system controlled in response to composition status signal
US5151996A (en) * 1983-05-31 1992-09-29 Thinking Machines Corporation Multi-dimensional message transfer router
US5123109A (en) * 1983-05-31 1992-06-16 Thinking Machines Corporation Parallel processor including a processor array with plural data transfer arrangements including (1) a global router and (2) a proximate-neighbor transfer system
US4727483A (en) * 1984-08-15 1988-02-23 Tektronix, Inc. Loop control system for digital processing apparatus
US4855903A (en) * 1984-12-20 1989-08-08 State University Of New York Topologically-distributed-memory multiprocessor computer
EP0223849B1 (de) * 1985-05-20 1990-09-26 SHEKELS, Howard D. Superrechnersystemarchitektur
CA1263760A (en) * 1985-09-27 1989-12-05 Alan L. Davis Apparatus for multiprocessor communication
US4922408A (en) * 1985-09-27 1990-05-01 Schlumberger Technology Corporation Apparatus for multi-processor communications
GB8618943D0 (en) * 1986-08-02 1986-09-10 Int Computers Ltd Data processing apparatus
US4910665A (en) * 1986-09-02 1990-03-20 General Electric Company Distributed processing system including reconfigurable elements
JP2509947B2 (ja) * 1987-08-19 1996-06-26 富士通株式会社 ネットワ−ク制御方式
US4939642A (en) * 1989-02-01 1990-07-03 The Board Of Trustees Of The Leland Stanford Jr. University Virtual bit map processor
GB2232512A (en) * 1989-05-31 1990-12-12 Plessey Telecomm Processor unit networks
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
US5471593A (en) * 1989-12-11 1995-11-28 Branigin; Michael H. Computer processor with an efficient means of executing many instructions simultaneously
US5165038A (en) * 1989-12-29 1992-11-17 Supercomputer Systems Limited Partnership Global registers for a multiprocessor system
US5175862A (en) * 1989-12-29 1992-12-29 Supercomputer Systems Limited Partnership Method and apparatus for a special purpose arithmetic boolean unit
US5729752A (en) * 1993-02-19 1998-03-17 Hewlett-Packard Company Network connection scheme
US6023753A (en) * 1997-06-30 2000-02-08 Billion Of Operations Per Second, Inc. Manifold array processor
US6452149B1 (en) * 2000-03-07 2002-09-17 Kabushiki Kaisha Toshiba Image input system including solid image sensing section and signal processing section
US20020178207A1 (en) * 2001-03-22 2002-11-28 Mcneil Donald H. Ultra-modular processor in lattice topology
US7383421B2 (en) * 2002-12-05 2008-06-03 Brightscale, Inc. Cellular engine for a data processing system
US7159059B2 (en) * 2002-03-01 2007-01-02 Mcneil Donald H Ultra-modular processor in lattice topology
GB2395299B (en) * 2002-09-17 2006-06-21 Micron Technology Inc Control of processing elements in parallel processors
US7913062B2 (en) * 2003-04-23 2011-03-22 Micron Technology, Inc. Method of rotating data in a plurality of processing elements
US7581080B2 (en) * 2003-04-23 2009-08-25 Micron Technology, Inc. Method for manipulating data in a group of processing elements according to locally maintained counts
US7596678B2 (en) * 2003-04-23 2009-09-29 Micron Technology, Inc. Method of shifting data along diagonals in a group of processing elements to transpose the data
US7676648B2 (en) 2003-04-23 2010-03-09 Micron Technology, Inc. Method for manipulating data in a group of processing elements to perform a reflection of the data
US7007128B2 (en) * 2004-01-07 2006-02-28 International Business Machines Corporation Multiprocessor data processing system having a data routing mechanism regulated through control communication
US7308558B2 (en) 2004-01-07 2007-12-11 International Business Machines Corporation Multiprocessor data processing system having scalable data interconnect and data routing mechanism
US7451293B2 (en) * 2005-10-21 2008-11-11 Brightscale Inc. Array of Boolean logic controlled processing elements with concurrent I/O processing and instruction sequencing
US20070188505A1 (en) * 2006-01-10 2007-08-16 Lazar Bivolarski Method and apparatus for scheduling the processing of multimedia data in parallel processing systems
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
WO2008027567A2 (en) * 2006-09-01 2008-03-06 Brightscale, Inc. Integral parallel machine
US20080244238A1 (en) * 2006-09-01 2008-10-02 Bogdan Mitu Stream processing accelerator
US20080059467A1 (en) * 2006-09-05 2008-03-06 Lazar Bivolarski Near full motion search algorithm

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3229260A (en) * 1962-03-02 1966-01-11 Ibm Multiprocessing computer system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3314917A1 (de) * 1982-04-26 1983-11-03 VMEI Lenin, Sofia Multimicroprozessor-system

Also Published As

Publication number Publication date
GB1026890A (en) 1966-04-20
US3308436A (en) 1967-03-07
FR1420405A (fr) 1965-12-10

Similar Documents

Publication Publication Date Title
DE1238695B (de) Elektronenrechner mit einer Mehrzahl von Rechenwerken
DE2908316C2 (de) Modular aufgebaute Multiprozessor-Datenverarbeitungsanlage
DE2321260C2 (de) Multiprozessor-Datenverarbeitungsanlage mit mehreren rekonfigurierbaren Datenverarbeitungsgruppen
DE3004827C2 (de) Datenverarbeitungsanlage
DE3300263A1 (de) Schaltungsanordnung zur zuteilung des zugriffs zu einer auf anforderungsbasis gemeinsam benutzten sammelleitung
DE3535436C2 (de)
DE2854782A1 (de) Datenverarbeitungssystem
DE2210426C2 (de) Verfahren zur vorranggesteuerten Auswahl einer von mehreren Funktions einheiten zur Anschaltung an eine ihnen gemeinsam zugeordnete Einrichtung in Datenverarbeitungsanlagen und Schaltung zur Durchführung des Verfahrens
DE2131787C3 (de) Schaltungsanordnung zur Fehlerfeststellung bei Datenverarbeitungssystemen
DE2427668A1 (de) Kontrollanordnung fuer eine zeitvielfachkoppeleinrichtung mit zumindest teilweise duplizierten parallelgeschalteten teilkoppelstufen
DE3142504A1 (de) Mehrfachplattenspeicher-uebertragungssystem
EP0113379B1 (de) Rechnerkopplung
EP3267271B1 (de) Automatisierungssystem und verfahren zum betrieb
DE2163435A1 (de) Datenverarbeitungsanlage mit einem Speicher mit verteilter Logik
DE1808678B2 (de) Verfahren und schaltungsanordnung fuer elektronische daten waehlvermittlungsanlagen mit einem zentralen speicher
DE1806172A1 (de) Prioritaetsschaltung
EP0088916B1 (de) Schaltungsanordnung zum Prüfen von elektrischen, insbesondere elektronischen Einrichtungen
DE2217609A1 (de) Zugriffseinheit für Datenverarbeitungsanlagen
DE3123379C2 (de)
DE2719282C3 (de) Datenverarbeitungssystem
DD142135A3 (de) Mehrrechnerkopplung
EP0058758B1 (de) Schaltungsanordnung zur Aufnahme und Weiterleitung von mit relativ hoher Geschwindigkeit auftretenden Datensignalen in einem Datenvermittlungsnetz
DE1204432C2 (de) Paritaetsschaltung fuer digitalrechner
DE69120054T2 (de) Ausgabeverwaltungskreis für speicherprogrammierbare steuerung
DE2025672A1 (de) Konfigurationsanzeiger fur periphere Einheiten in einer Datenverarbeitungsanlage