-
Technisches
Gebiet
-
Die Erfindung betrifft die Computertechnologie,
insbesondere Computersysteme.
-
Die Erfindung findet Anwendung sowohl
bei ingenieurtechnischen, als auch bei technischen Berechnungen
für die
Raum- und die Luftfahrttechnologie, Geodäsie, Hydrometeorolgie und auf
anderen Gebieten, die Hochleistungsberechnungen erfordern.
-
Stand der Technik
-
Es ist ein Computersystem bekannt,
das zentrale Eingangs/Ausgangsprozessoren, einen Schalter, eine
Hauptspeichereinheit, eine Steuertafel, periphere Speichervorrichtungen
mit Steuerblöcken
und Datenübertragungsprozessoren
(SU, A, 692400) aufweist.
-
Dieses System verwendet das Von-Neumann'sche Prinzip der
Datenverarbeitung. Jeder Zentralprozessor weist auf: eine konformierende (konjugierende)
Einheit, einen Block zum Ausführen von
Vorgängen,
einen Indexierblock, eine Block zum Auffinden von Werten, einen
Block zum Verarbeiten von Abfolgen, eine arithmetisch-logische Einheit,
einen Block der Grundregister, eine Einheit zur. Befehlsbildung,
eine Steuereinheit, eine Einheit zum verteilen von Stapeladressen,
einen Operandenpufferstapel, eine assoziative Speichereinheit, eine
Einheit zum Transformieren der mathematischen Adressen in reale
Adressen, einen Speicherblock für
Pufferbefehle und einen Block zum Analysieren von Interrupts.
-
Die arithmetisch-logische Einheit
weist auf: Blöcke
für die
Multiplikation, die Addition, die Division, die Codetransformation
und die Ausführung
logischer Operationen. Diese Blöcke
arbeiten parallel und unabhängig
voneinander, wodurch die parallele Datenverarbeitung in jedem Prozessor
ermöglicht wird
und die natürliche
Parallelität
der ausgeführten Programme
genutzt wird.
-
Jedoch hat die Verwendung dieser
Einheit gezeigt, daß in
der Praxis die Verwendung des Von-Neumann'schen Prinzips der Berechnungsorganisation
hohen unproduktiven Aufwand an Hardware und rechenkapazität erfordert,
um das parallele Arbeiten mehrerer ausführender Vorrichtungen zu ermöglichen.
Dieser Aufwand ist zuerst mit der Tatsache verbunden, daß es zur
Bildung unabhängiger
Befehlsfolgen aus dem ausgeführten
Programm erforderlich ist, vorab einen Überblick über Programmsegmente (mit einer
durchschnittlichen Länge
von bis zu 30 Befehlen) und eine dynamische Planung von ausführenden
Einheiten mittels spezieller Hardwareeinrichtungen vorzunehmen,
wie im einzelnen beschrieben (Babayan, B. A. "Main results and perspective of development
of the "Elbrus" architecture", Applied Computer
Science works collection, vol. 15, Moskau, Finance and Statistics,
1989, S. 100–131).
-
Aufgrund dieser Tatsache wird die
Hardware erheblich komplizierter und weist gleichzeitig eine geringe
reale Leistungssteigerung auf. Die Parallelität der Programmausführung auf
mehreren ausführenden
Vorrichtungen ist eingeschränkt
und breite sich nicht auf das gesamte Programm aus (die Segmente der
Parallelverarbeitung übersteigen
nicht 10–20
Befehle). Ferner erfordert der Vorgang des Extrahierens von Befehlen
aus dem Programm für
die Parallelverarbeitung selbst eine große Menge an zusätzlicher Hardware
und Arbeitszeit des Prozessors. Dies ist ein anderer Faktor der
Leistungsminderung.
-
Es ist eine Vorrichtung bekannt,
die gemeinsame Speichereinheiten und Einheiten zentraler Eingangs-/Ausgangsprozessoren
aufweist, welche Von-Neumanns
Prinzip der Rechenverarbeitung und der parallelen Arbeit mehrerer
Ausführungsvorrichtungen,
die Teil von Zentralprozessoren sind, verwenden. Diese Vorrichtung
erreicht die Programmverarbeitungsparallelität durch das Bilden eines umfassenden
Befehls, der Operationen für
den gleichzeitigen Start mehrerer arithmetischer Einheiten aufweist
(SU, A, 1777148).
-
Die Bildung eines derartigen Befehls
erfolgt durch statische Operationsplanung während der Programmübersetzung.
Die Anzahl der parallel ausgeführten
Operationen des Befehls ist hierbei begrenzt (sie ist nicht größer als
7).
-
Diese Vorrichtung erreicht jedoch
keine hohe Leistung basierend auf der internen Parallelität der ausgeführten Programme,
da eine begrenzte Parallelität
der ausgeführten
Operationen in der Vorrichtung gegeben ist und eine Unterbrechung
der Ausführung
eintritt, wenn nicht sämtliche
für die
Berechnung erforderlichen Operanden vorhanden sind. Dieses Problem
ergibt sich aus den durch die Übersetzungsvorrichtung
bedingten Beschränkungen
und tritt auch in dem Fall auf, daß die variable Position im Speicher
von Berechnungsbedingungen abhängt. Diese
Vorrichtung hat ferner eine komplizierte Übersetzungsvorrichtungsstruktur
und erfordert einen großen
Teil der Hardware zur Durchführung
der lokalen Berechnungsparallelität.
-
Es ist ein Computersystem bekannt,
das einen Schalter und N Prozessoreinheiten aufweist. Bei einem
derartigen System sind die ersten Steuerausgänge und Adressausgänge der
i-ten Prozessoreinheit (i = 1, ...,N) jeweils mit dem i-ten Eingang
der ersten Steuereingangsgruppe und mit dem i-ten Eingang der Gruppe
der Adressschaltereingänge
verbunden. Die ersten und zweiten Datenausgänge der i-ten Prozessoreinheit
sind mit dem entsprechenden i-ten Eingang der Gruppe der Datenschaltereingänge verbunden.
Die ersten Daten-, Adressen- und Steuereingänge und die zweiten Daten-,
Adressen- und Steuereingänge
der i-ten Prozessoreinheit sind mit dem ersten und dem zweiten Dateneingang
des Systems verbunden. Der erste Steuereingang des Systems ist mit
dem Steuerschaltereingang und mit dem dritten Steuereingang der
i-ten Prozessoreinheit verbunden. Der Schaltersteuerausgang ist
mit dem vierten Steuereingang der i-ten Prozessoreinheit verbunden.
Der dritte Datenausgang dieser Einheit ist mit dem ersten Datenausgang
des Systems verbunden. Das Computersystem kann einen zweiten Datenausgang
und einen dritten Dateneingang aufweisen (
US 4814978 ).
-
Für
die Berechnungsorganisation verwendet dieses System das Datenstromprinzip,
das eine effektive Auslastung jeder Prozessoreinheit und eine hohe
Gesamtleistung bewirkt. Dies wird durch parallele Befehlsausführung in
allen Bereichen des Programms erreicht und wird durch eine programmierbare
Berechnungsorganisation unterstützt.
Das Programm ist als Graphik abgebildet, wobei jeder Knotenpunkt
einen Befehl und Bögen
die Richtung der Datenübertragung
angeben. Jede Prozessoreinheit, die miteinander durch den Schalter
verbunden sind, führt
einen lokalen Bereich des Programms aus. Die Prozessoreinheiten
arbeiten parallel und die erforderliche Synchronisierung zwischen
Programmbereichen erfolgt durch die über den Schalter übertragenen
Daten. Die Parallelität
erfolgt durch das Partitionieren des Programms in separate verbundene
Bereiche während
des Übersetzens,
was zu Zeitverschwendung und einer Verringerung der Leistung der Vorrichtung
führt.
Die Vorrichtungsleistung hängt
somit in hohem Maß von
der Fähigkeit
des Programmiersystems zum Trennen von Bereichen (Sub-Programme)
im Originalprogramm ab, die schwach miteinander verbunden sind,
und dies ist für
den Benutzer (Programmierer) mit erheblichem Zeitaufwand verbunden.
-
Diese Nachteile verhindern die Verwirklichung
der vollen internen Parallelität
der ausgeführten
Programme und infolgedessen das Erreichen der auf dieser Parallelität und dem
Datenstromprinzip basierenden Hochleistung.
-
Erläuterung
der Erfindung
-
Die in den zugehörigen Ansprüchen ausgeführte Erfindung basiert auf
dem Problem der Ausbildung eines Computersystems, das eine höhere Leistung
durch gleichzeitigen Zugriff jeder Prozessoreinheit auf das gesamte
ausgeführte
Programm und durch eine Automatisierung des Vorgangs der Verteilung
der Rechenmittel.
-
Das Problem wird folgendermaßen gelöst. Das
Computersystem weist einen Hilfsschalter, N Prozessoreinheiten,
einen zweiten Datenausgang und einen dritten Datenausgang auf. Der
erste Steuerausgang und der erste Adressausgang der i-ten Prozessoreinheit
(i = 1 ... N) sind entsprechend mit dem i-ten Eingang der ersten
Gruppe der Schaltersteuereingänge
und mit dem i-ten Eingang der Gruppe von Schalteradresseingängen verbunden.
Der erste und der zweite Datenausgang der i-ten Prozessoreinheit
sind mit dem entsprechenden Eingang der Gruppe der Schalterdateneingänge verbunden.
Der erste Daten-, der erste Adressen- und der erste Steuereingang
und der zweite Daten-, der zweite Adressen- und der zweite Steuereingang
der i-ten Prozessoreinheit sind mit dem ersten und dem zweiten Dateneingang
des Systems verbunden. Der erste Steuereingang des Systems ist mit
dem Steuereingang des Schalters und mit dem dritten Steuereingang
der i-ten Prozessoreinheit verbunden. Der Steuerausgang des Schalters 2 ist
mit dem vierten Steuereingang der i-ten Prozessoreinheit verbunden.
Der dritte Datenausgang der i-ten Prozessoreinheit ist mit dem ersten
Datenausgang des Systems verbunden.
-
Endungsgemäß ist
-
- 1. ein Hilfsschalter, N Module assoziativen
Speichers und ein Pufferblock vorgesehen. Der erste Steuer-, der
erste Daten-, der zweite Steuer- und der zweite Datenausgang der
i-ten Gruppe von Austauschausgängen
des Hilfsschalters sind entsprechend mit dem fünften Steuer-, dem dritten Daten-,
dem sechsten Steuer- und dem vierten Dateneingang der i-ten Prozessoreinheit
verbunden. Die erste Gruppe von Steuerausgängen des Hilfsschalters ist
mit der ersten Gruppe von Steuereingängen des Pufferblocks verbunden.
Die zweite Gruppe von Steuerausgängen
des Hilfsschalters ist mit der zweiten Gruppe von Steuereingängen des
Pufferblocks verbunden. Der Steuereingang des Hilfsschalters und
der Steuereingang des Pufferblocks und der erste Eingang jedes Moduls
assoziativen Speichers sind mit dem Steuereingang des Systems verbunden.
Die i-ten Eingänge
der ersten und der zweiten Gruppe von Steuereingängen des Hilfsschalters sind
entsprechend mit dem zweiten und dem dritten Steuerausgang der i-ten
Prozessoreinheit verbunden. Der siebte und der achte Steuereingang
der i-ten Prozessoreinheit sind entsprechend mit den i-ten Ausgängen der
ersten und der zweiten Gruppe der Steuerausgänge des Pufferblocks verbunden. Die
dritte Gruppe von Steuerausgängen
und die erste Gruppe der Datenausgänge des Pufferblocks sind entsprechend
mit der dritten Gruppe von Steuereingängen und der ersten Gruppe
von Dateneingängen
des Hilfsschalters verbunden. Die zweite Gruppe der Datenausgänge des
Pufferblocks ist mit dem zweiten Datenausgang des Systems verbunden.
Die vierte Gruppe von Steuereingängen
des Hilfsschalters ist mit der vierten Gruppe von Steuerausgängen des
Pufferblocks verbunden. Der i-te Eingang der ersten Gruppe von Dateneingängen des
Pufferblocks ist mit dem vierten und dem fünften Datenausgang der i-ten Prozessoreinheit
verbunden. Der vierte Steuerausgang der i-ten Prozessoreinheit ist
mit dem i-ten Eingang der dritten Gruppe von Steuereingängen des
Pufferblocks verbunden. Die dritte Gruppe von Datenausgängen des
Pufferblocks ist mit der zweiten Gruppe von Dateneingängen des Hilfsschalters
verbunden. Der erste Steuerausgang des i-ten Moduls assoziativen
Speichers ist mit dem iten Eingang der zweiten Gruppe von Steuereingängen des
Schalters verbunden. Der i-te Ausgang der Gruppe der Datenausgänge des Schalters
ist mit dem Dateneingang des i-ten Moduls des assoziativen Speichers
verbunden. Der Daten- und der zweite Steuerausgang des iten Moduls
des assoziativen Speichers sind mit den i-ten Eingängen der
zweiten Gruppe von Dateneingängen
und der vierten Gruppe von Steuereingängen des Pufferblocks verbunden.
Die dritte Gruppe von Datenausgängen
des Pufferblocks ist mit dem dritten Dateneingang des Systems verbunden,
und der i-te Ausgang der Gruppe der Steuerausgänge des Schalters ist mit dem
zweiten Steuereingang des i-ten Moduls des assoziativen Speichers
verbunden.
- 2. Erfindungsgemäß kann jede
Prozessoreinheit den ersten und den zweiten Schalter, die erste und
die zweite Steuereinheit, die Ausführungsvorrichtung für die Befehlsverarbeitung
und die Ausführungsvorrichtung
für die
Operandenverarbeitung aufweisen. Der erste und der zweite Steuereingang
des ersten Schalters sind mit dem ersten und dem zweiten Steuerausgang
der ersten Steuereinheit verbunden. Der dritte Steuerausgang der
ersten Steuereinheit ist mit dem ersten Steuereingang der Ausführungsvorrichtung
zur Befehlsverarbeitung verbunden. Der erste und der zweite Steuerausgang
der zweiten Steuereinheit sind mit dem ersten und dem zweiten Steuereingang
des zweiten Schalters verbunden. Der erste Dateneingang des zweiten
Schalters ist mit dem Adressenausgang der Ausführungsvorrichtung für die Befehlsverarbeitung
verbunden. Der erste Datenausgang der Ausführungsvorrichtung für die Befehlsverarbeitung
ist mit dem zweiten Dateneingang des zweiten Schalters und dem ersten Dateneingang
des ersten Schalters verbunden. Der zweite Dateneingang der Ausführungsvorrichtung
für die
Befehlsverarbeitung mit dem zweiten Dateneingang des ersten Schalters
und dem dritten Dateneingang des zweiten Schalters verbunden. Der
erste Steuerausgang der Ausführungsvorrichtung
für die
Befehlsverarbeitung ist mit dem ersten Steuereingang der ersten
Steuereinheit verbunden. Der vierte Steuereingang der ersten Steuereinheit
ist mit dem ersten Steuereingang der Ausführungsvorrichtung für die Operandenverarbeitung
verbunden. Der erste Steuereingang der Ausführungsvorrichtung für die Operandenverarbeitung
ist mit dem zweiten Steuereingang der ersten Steuereinheit verbunden.
Der erste Steuereingang der zweiten Steuereinheit ist mit dem zweiten
Steuerausgang der Ausführungsvorrichtung
für die
Operandenverarbeitung verbunden. Der zweite Steuerausgang der Ausführungsvorrichtung
für die
Befehlsverarbeitung ist mit dem zweiten Steuereingang der zweiten Steuereinheit
verbunden. Der zweite Steuereingang der Ausführungsvorrichtung für die Befehlsverarbeitung
ist mit dem dritten Steuerausgang der zweiten Steuereinheit verbunden.
Der vierte Steuerausgang der zweiten Steuereinheit ist mit dem zweiten
Steuereingang der Ausführungsvorrichtung
für die
Operandenverarbeitung verbunden. Der vierte Dateneingang des zweiten
Schalters ist mit dem Adressenausgang der Ausführungsvorrichtung für die Operandenverarbeitung verbunden.
Der erste Datenausgang der Ausführungsvorrichtung
für die
Operandenverarbeitung ist mit dem fünften Dateneingang des zweiten Schalters
und dem dritten Dateneingang des ersten Schalters verbunden. Der
zweite Datenausgang der Ausführungsvorrichtung
für die
Operandenverarbeitung ist mit dem vierten Dateneingang des ersten
Schalters und mit dem sechsten Dateneingang des zweiten Schalters
verbunden. Der erste, der zweite und der dritte Datenausgang des zweiten
Schalters sind der Adressenausgang, der erste Datenausgang und der
zweite Datenausgang der Verarbeitungseinheit. Die dritten Datenausgänge der
Ausführungsvorrichtung
für die
Befehlsverarbeitung und der Ausführungsvorrichtung
für die
Operandenverarbeitung sind mit dem dritten Datenausgang der Prozessoreinheit
verbunden. Der vierte und der fünfte
Datenausgang der Prozessoreinheit sind jeweils der erste und der
zweite Datenausgang des ersten Schalters. Der fünfte Steuerausgang der zweiten
Steuereinheit ist mit dem ersten Steuerausgang der Prozessoreinheit
verbunden. Der zweite und der dritte Steuerausgang der Prozessoreinheit
sind die dritten Steuerausgänge
der Ausführungsvorrichtung für die Befehlsverarbeitung
und der Ausführungsvorrichtung
für die
Operandenverarbeitung. Der vierte Steuerausgang der Prozessoreinheit
ist mit dem fünften
Steuerausgang der ersten Steuereinheit verbunden. Der erste Daten-
, der Adressen- und der Steuereingang der Prozessoreinheit sind der
erste Daten-, der Adressen- und der dritte Steuereingang der Ausführungsvorrichtung
für die
Befehlsverarbeitung. Der zweite Daten- , der Adressen- und der Steuereingang
der Prozessoreinheit sind entsprechend mit dem ersten Daten-, Adressen-
und dem dritten Steuereingang der Ausführungsvorrichtung für die Operandenverarbeitung
verbunden. Der vierte Steuereingang der Ausführungsvorrichtung für die Operandenverarbeitung
und der vierte Steuereingang der Ausführungsvorrichtung für die Befehlsverarbeitung
sind mit dem dritten Steuereingang der Prozessoreinheit verbunden
sind. Der vierte Steuereingang der Prozessoreinheit ist mit dem
dritten Steuereingang der zweiten Steuereinheit verbunden. Der dritte
Dateneingang der Prozessoreinheit ist der zweite Dateneingang der
Ausführungsvorrichtung für die Befehlsverarbeitung.
Der fünfte
Steuereingang der Ausführungsvorrichtung
für die
Befehlsverarbeitung ist der fünfte
Steuereingang der Prozessoreinheit. Der vierte Daten- und der sechste Steuereingang
der Prozessoreinheit sind mit dem zweiten Daten- und dem fünften Steuereingang der
Ausführungsvorrichtung
für die
Operandenverarbeitung verbunden. Der siebte und der achte Steuereingang
der Prozessoreinheit sind mit dem dritten und dem vierten Steuereingang
der ersten Steuereinheit verbunden.
- 3. Erfindungsgemäß kann der
Hilfsschalter die erste und die zweite Steuereinheit und die erste und
die zweite Schaltereinheit aufweisen. Die ersten Gruppen der Steuerausgänge der
ersten und der zweiten Steuereinheit sind mit der ersten und der
zweiten Gruppe der Steuerausgänge
des Hilfsschalters verbunden. Der erste und der zweite Steuerausgang
der i-ten Gruppe von Austauschausgängen des Hilfsschalters sind
mit den i-ten Ausgängen
der zweiten Gruppe von Steuerausgängen der ersten und der zweiten
Steuereinheit verbunden. Die Steuereingänge der ersten und der zweiten
Steuereinheit sind mit dem Steuereingang des Hilfsschalters verbunden.
Die erste und die zweite Gruppe der Dateneingänge des Hilfsschalters sind
mit den Gruppen der Dateneingänge
der ersten und der zweiten Schaltereinheiten verbunden. Die i-ten
Ausgänge
der Gruppe von Datenausgängen
der ersten und der zweiten Schaltereinheiten sind entsprechend mit
dem ersten und dem zweiten Datenausgang der i-ten Gruppe der Austauschausgänge des
Hilfsschalters verbunden. Die erste und die zweite Gruppe von Steuereingängen des
Hilfsschalters sind mit den ersten Gruppen der Steuereingänge der
ersten und der zweiten Steuereinheit verbunden. Die Gruppen der
Steuerausgänge
der ersten und der zweiten Schaltereinheit sind entsprechend mit den
zweiten Gruppen der Steuereingänge
der ersten und der zweiten Steuereinheit verbunden. Die dritten
Gruppen der Steuereingänge
der ersten und der zweiten Steuereinheiten sind entsprechend mit
der dritten und der vierten Gruppe der Steuereingänge des
Hilfsschalters verbunden. Die dritten Gruppen der Steuerausgänge der
ersten und der zweiten Steuereinheit sind mit den ersten Gruppen
der Steuereingänge
der ersten und der zweiten Schaltereinheiten verbunden. Die zweite
Gruppe der Steuereingänge
jeder dieser Einheiten ist entsprechend mit der vierten Gruppe von
Steuerausgängen
der ersten und der zweiten Steuereinheit verbunden.
- 4. Erfindungsgemäß kann der
Pufferblock die Gruppe der Puffereinheiten aufweisen. Der erste, der
zweite und der dritte Steuerausgang der i-ten Puffereinheit sind mit den i-ten
Ausgängen
der ersten, der zweiten und der dritten Gruppe der Steuerausgänge des
Pufferblocks verbunden. Die i-ten Ausgänge der ersten und der zweiten
Gruppe der Steuereingänge
der Pufferblöcke
sind mit dem ersten und dem zweiten Steuereingang der i-ten Puffereinheit
verbunden. Der vierte Steuerausgang der Puffereinheit ist mit dem
i-ten Ausgang der vierten Gruppe der Steuerausgänge des Pufferblocks verbunden.
Der Steuereingang des Pufferblocks ist mit dem dritten Steuereingang
jeder der Puffereinheiten verbunden. Die i-ten Eingänge der
dritten und der vierten Gruppe der Steuereingänge des Pufferblocks sind mit
dem vierten und dem fünften
Steuereingang der i-ten Puffereinrichtung verbunden. Der erste,
der zweite und der dritte Datenausgang der Puffereinheiten sind
entsprechend mit den i-ten Ausgängen der
ersten, der zweiten und der dritten Gruppe der Datenausgänge des
Pufferblocks verbunden. Die i-ten Eingänge der ersten, der zweiten
und der dritten Gruppe der Dateneingänge des Pufferblocks sind mit
dem ersten, dem zweiten und dem dritten Dateneingang der i-ten Puffereinheit
verbunden.
-
Kurze Beschreibung
der Figuren
-
Die Erfindung wird im folgenden anhand
eines Anwendungsbeispiels und unter Bezugnahme auf die Zeichnungen
beschrieben, welche zeigen:
-
1 ein
Funktionsdiagramm des Computersystems;
-
2 ein
Funktionsdiagramm der Prozessoreinheit des Computersystems;
-
3 ein
Funktionsdiagramm der Steuereinheit des ersten Schalters der Prozessoreinheit;
-
4 ein
Funktionsdiagramm der Steuereinheit des zweiten Schalters der Prozessoreinheit;
-
5 ein
Funktionsdiagramm der Ausführungsvorrichtung
für die
Befehlsverarbeitung;
-
6 ein
Funktionsdiagramm der Steuereinheit der Ausführungsvorrichtung für die Befehlsverarbeitung
der Prozessoreinheit;
-
7 ein
Funktionsdiagramm des Schaltblocks der Ausführungsvorrichtung für die Befehlsverarbeitung;
-
8 ein
Funktionsdiagramm der Steuereinheit des Schaltblocks der Ausführungsvorrichtung
für die
Befehlsverarbeitung;
-
9 ein
Funktionsdiagramm der Eingangsregistereinheit der Ausführungsvorrichtung
für die Befehlsverarbeitung;
-
10 ein
Funktionsdiagramm der Befehlsregistereinheit der Ausführungsvorrichtung
für die Befehlsverarbeitung;
-
11 ein
Funktionsdiagramm der Ausführungsvorrichtung
für die
Operandenverarbeitung der Prozessoreinheit;
-
12 ein
Funktionsdiagramm der Steuereinheit der Ausführungsvorrichtung für die Operandenverarbeitung;
-
13.
ein Funktionsdiagramm der Eingangsregistereinheit der Ausführungseinrichtung
für die
Operandenverarbeitung;
-
14 ein
Funktionsdiagramm der Ausgangsregistereinheit der Ausführungsvorrichtung
für die
Operandenverarbeitung;
-
15 ein
Funktionsdiagramm des Hilfsschalters des Computersystems;
-
16 ein
Funktionsdiagramm der Hilfsschaltersteuereinheit;
-
17 ein
Funktionsdiagramm der Hilfsschalterschalteinheit;
-
18 ein
Funktionsdiagramm der Hilfsschalteranfragebildungssteuereinheit;
-
19 ein
Funktionsdiagramm des Schaltsteuerblocks der Hilfsschaltersteuereinheit;
-
20 ein
Funktionsdiagramm der Schaltprioritätssteuereinheit des Schaltsteuerblocks
der Hilfsschaltersteuereinheit;
-
21 ein
Funktionsdiagramm der Eingangsanfrageeinheit des Schaltsteuerblocks
der Hilfsschaltersteuereinheit;
-
22 ein
Funktionsdiagramm der Wandler-/Empfängereinheit der Hilfsschalterschalteinheit;
-
23 ein
Funktionsdiagramm der Wandler-/Übertragungseinheit
der Hilfsschalterschalteinheit;
-
24 ein
Funktionsdiagramm des Computersystem-Pufferblocks;
-
25 ein
Funktionsdiagramm der Puffereinheit des Pufferblocks;
-
26 ein
Funktionsdiagramm des Puffers der Puffereinheit;
-
27 ein
Funktionsdiagramm der Puffersteuereinheit der Puffereinheit;
-
28 ein
Funktionsdiagramm des assoziativen Speichermoduls des Computersystems;
-
29 ein
Funktionsdiagramm des Computersystemschalters;
-
30 ein
Funktionsdiagramm der Schaltsteuereinheit des Computersystems;
-
31 ein
Funktionsdiagramm der Übertragungssteuereinheit
der Schaltsteuereinheit des Computersystems;
-
32 ein
Funktionsdiagramm der Empfangssteuereinheit der Schaltsteuereinheit
des Computersystems;
-
33 ein
Funktionsdiagramm der Schaltsteuereinheit der Schaltsteuereinheit
des Computersystems;
-
34 das
generelle Erscheinungsbild der Berechnungskurve;
-
35 die
Datenpaketstruktur.
-
Beste Art der
Ausführung
der Erfindung
-
Das Computersystem (1) weist eine Gruppe von Prozessoreinheiten 1-1... 1-N,
einen Schalter 2, einen Hilfsschalter 3, eine
Gruppe assoziativer Speichermodule 4-1... 4-N und
einen Pufferblock 5 auf.
-
Das Computersystem weist ferner einen
ersten, einen zweiten und einen dritten Dateneingang 6, 7 und 8,
einen Steuereingang 9, einen ersten und einen zweiten Datenausgang 10, 11 und
einen Speicher-Nullsetzeingang 12 auf.
-
Jede Prozessoreinheit 1-i weist
einen ersten, zweiten, dritten und vierten Dateneingang 13, 14, 15 und 16,
einen ersten und zweiten Adresseneingang 17-1 und 17-2,
einen ersten bis achten Steuereingang 18-1...18-8, einen
ersten bis vierten Steuerausgang 19-1... 19-4, einen Adressenausgang 20 und
einen ersten bis fünften
Datenausgang 21-1... 21-5 auf.
-
Der Hilfsschalter 3 weist
auf: einen Steuereingang 22, eine erste bis vierte Gruppe
von Steuereingängen 23-1... 23-N, 24-1... 24-N, 25-1... 25-N und 26-1... 26-N,
eine erste und eine zweite Gruppe von Dateneingängen 27-1-1... 27-1-N und 27-2-1... 27-2-N,
eine erste und eine zweite Gruppe von Steuerausgängen 28-1... 28-N und 28-2... 28-N,
N Gruppen von Austauschausgängen,
von denen jeder den ersten Steuer-, den ersten Daten-, den zweiten
Steuer- und den zweiten Datenausgang 30-1-i, 30-2-i, 30-3-i und 30-4-i aufweist.
-
Der Pufferblock 5 weist
auf: einen Steuereingang 31, eine erste und eine zweite
Gruppe von Steuereingängen 32-1... 32-N und 33-1... 33-N,
eine erste Gruppe von Dateneingängen 34-1... 34-N,
eine dritte Gruppe von Steuereingängen 35-1... 35-N,
eine zweite Gruppe von Dateneingängen 36-1...36-N, eine
vierte Gruppe von Steuereingängen 37-1... 37-N und
eine dritte Gruppe von Dateneingängen 38-1... 38-N.
Der Pufferblock 5 weist ferner eine erste bis dritte Gruppe
von Steuerausgängen 39-1... 39-N, 40-1...40-N und 41-1... 41-N,
eine erste und eine zweite Gruppe von Datenausgängen 42-1... 42-N und 43-1... 43-N,
eine vierte Gruppe von Steuerausgängen 44-1... 44-N und
eine dritte Gruppe von Datenausgängen 45-1... 45-N auf.
-
Jedes assoziative Speichermodul 4-i weist einen
ersten Steuereingang 46, einen Nullsetzungseingang 47,
einen Dateneingang 48, einen zweiten Dateneingang 49,
einen ersten Steuerausgang 50, einen Datenausgang 51 und
einen zweiten Steuerausgang 52 auf.
-
Der Schalter 2 weist auf:
einen Steuereingang 53, eine erste Gruppe Steuereingänge 54-1... 54-N und
eine Gruppe von Adresseneingängen 55-1... 55-N.
Der Schalter 2 weist ferner eine zweite Gruppe von Steuereingängen 56-1...56-N,
eine Gruppe von Dateneingängen 57-1... 57-N,
einen Steuereingang 58, eine Gruppe von Datenausgängen 59-1... 59-N und
eine Gruppe von Steuerausgängen 60-1... 60-N.
Die Synchronisations- und Energieversorgungsleitungen sind nicht
dargestellt.
-
Jede Prozessoreinheit 1-i (2) weist einen ersten und
einen zweiten Schalter 61 und 62, eine erste und
eine zweite Schaltsteuereinheit 63 und 64 für den ersten
und den zweiten Schalter, eine Ausführungsvorrichtung für die Befehlsverarbeitung 65 und
eine Ausführungseinrichtung
für die
Operandenverarbeitung 66 auf.
-
Der Schalter 61 weist einen
ersten und einen zweiten Steuereingang 67-1 und 67-2,
einen ersten bis vierten Dateneingang 68-1, 68-2, 69-1, 69-2 und einen
ersten und zweiten Datenausgang auf, welche mit den Ausgängen 21-4 und 21-5 der
Prozessoreinheit verbunden sind.
-
Der Schalter 62 weist einen
ersten und einen zweiten Steuereingang 70-1 und 70-2,
einen ersten bis sechsten Dateneingang 71-1, 71-2, 71-3, 72-1, 72-2 und 72-3 und
einen ersten bis dritten Datenausgang auf, die mit den Ausgängen 20, 21-1, 21-2 der Prozessoreinheit
verbunden sind.
-
Die erste Schaltersteuereinheit 63 weist
einen ersten und einen zweiten Steuereingang 73, 74, einen
ersten bis vierten Steuerausgang 75-1, 75-2, 76-1, 76-2,
einen dritten und einen vierten Steuereingang, die mit den Eingängen 18-7 und 18-8 der
Prozessoreinheit verbunden sind, und einen fünften Steuerausgang auf, der
mit dem Ausgang 19-4 der Prozessoreinheit verbunden ist.
-
Die zweite Schaltersteuereinheit 64 weist
einen ersten und einen zweiten Steuereingang 77 und 78,
einen ersten bis vierten Steuerausgang 79-1, 79-2 und 80-1, 80-2,
einen mit dem Eingang 18-4 der Prozessoreinheit verbundenen
dritten Steuereingang, und einen fünften Steuereingang auf, der
mit dem Ausgang 19-1 der Prozessoreinheit verbunden ist.
-
Die Ausführungsvorrichtung für die Befehlsverarbeitung 65 weist
einen ersten und einen zweiten Steuereingang 81 und 82,
einen ersten und einen zweiten Steuerausgang 83 und 84,
einen dritten Steuerausgang 85, einen Adressenausgang 86,
einen ersten und zweiten Datenausgang 87 und 88,
einen dritten Datenausgang, der mit dem Ausgang 21-3 der
Prozessoreinheit verbunden ist, einen ersten und einen zweiten Dateneingang,
die mit den Eingängen 13 und 15 der
Prozessoreinheit verbunden sind, einem dritten bis fünften Steuereingang,
der mit Eingängen 18-1, 18-3 und 18-5 der
Prozessoreinheit verbunden sind, und einen Adresseneingang auf,
der mit dem Eingang 17-1 der Prozessoreinheit verbunden
ist.
-
Die Ausführungsvorrichtung für die Operandenverarbeitung 66 weist
einen ersten und einen zweiten Steuereingang 89 und 90,
einen ersten bis dritten Steuerausgang 91, 92, 93,
einen Adressenausgang 94, einen ersten und einen zweiten
Datenausgang 95 und 96, einen dritten Datenausgang,
der mit dem Ausgang 21-3 der Prozessoreinheit verbunden
ist, einen ersten und zweiten Dateneingang, die mit den Eingängen 14 und 16 der
Prozessoreinheit verbunden sind, einen dritten bis fünften Dateneingang,
die mit den Eingängen 18-2, 18-3 und 18-6 der Prozessoreinheit
verbunden sind, und einen mit dem Eingang 17-2 der Prozessoreinheit
verbundene Adresseneingang auf.
-
Jede Schaltersteuereinheit 63 (3) und 64 (4) weist "UND"-Elemente 97 und 90,
ein "ODER"-Element 99 und
einen Prioritätscodierer 100 auf.
-
Die Ausführungsvorrichtung für die Befehlsverarbeitung 65 (5) weist eine Steuereinheit 101, einen
Ausgangsschalter 102, einen Schaltblock 103, eine
Befehlsregistereinheit 104, einen Befehlsspeicher 105,
eine Arithmetik-Logikeinheit
(ALU) 106, einen Ladeschalter 107 und eine Eingangsregistereinheit 108 auf.
-
Die Steuereinheit 101 weist
einen Eingang 109-1 zum Nullsetzen, einen ersten und einen
zweiten Eingang 109-2 und 109-3 zum Steuern der
Ergebnisübertragung,
einen Startsteuereingang 109-4, einen Eingang 109-5 für Befehlsbits,
einen Eingang 109-6 für
ein Speicherbereitschaftssignal, einen Eingang 109-7 für das ALU-Ergebnisbedeutungssignal, einen
Eingang 109-8 für
das ALU-Bereitschaftssignal, einen Eingang 109-9 für den Befehlscode,
einen ersten und einen zweiten Ausgang 110-1 und 110-2 für das Datenbereitschaftssignal,
einen Ausgang 110-3 für
die Steuerung der Feldumschaltung, einen Ausgang 111-4 für die Steuerung
des Datenempfangs, einen ALU-Startsteuerausgang 111-5.
und einen Ausgang 111-6 für das Steuern der Befehlsauffindung.
-
Der Ausgangsschalter 102 weist
einen ersten und einen zweiten Steuereingang 112-1 und 112-2,
einen ersten und einen zweiten Dateneingang 112-3 und 112-4 und
einen Datenausgang auf, der mit den Ausgängen 86 und 88 der
Ausführungsvorrichtung 65 verbunden
ist.
-
Der Schaltblock 103 weist
Steuereingänge 113-1...113-12,
Dateneingänge 114-1...114-10 und 115-1...115-4 und
Datenausgänge
auf, die mit dem Ausgang 87 der Ausführungsvorrichtung 65 und
mit den Eingängen 112-3 und 112-4 des
Schalters 102 verbunden sind.
-
Die Befehlsregistereinheit 104 weist
einen Dateneingang 116-1, einen Steuereingang 116-2 und Datenausgänge auf,
die mit den Eingängen 115-1... 115-4 des
Blocks 103 auf.
-
Der Befehlsspeicher 105 weist
einen Ladesteuereingang 117-1, einen Dateneingang 117-2,
einen Adresseneingang 117-3, einen Lesesteuereingang 117-4 und
Daten- und Steuerausgänge
auf, die mit den entsprechenden Eingängen 116-1 und 116-2 der
Befehlsregistereinheit und mit den entsprechenden Eingängen 109-5 und 109-6 der
Steuereinheit 101 verbunden sind.
-
Die Arithmetik-Logikeinheit (ALU) 106 (die analog
zur Vorrichtung nach SU 1367012 ausgebildet ist) weist einen Befehlssteuereingang 118-1,
einen ersten und einen zweiten Operandeneingang 118-2 und 118-3,
einen Startsteuereingang 118-4, einen ersten und einen
zweiten Datenausgang 119-1 und 119-2 und einen
Steuerausgang 119-3 auf.
-
Der Ladeschalter 107 weist
einen ersten und einen zweiten Dateneingang 120-1 und 120-2,
einen ersten und einen zweiten Steuereingang 120-3 und 120-4 und
einen Datenausgang auf, der mit dem Adresseneingang 117-3 des
Befehlsspeichers 105 verbunden ist.
-
Die Eingangsregistereinheit 108 weist
einen Steuereingang 121-1 und Datenausgänge 122-1... 122-11 auf.
-
Die Steuereinheit 101 (6) weist "UND"-Elemente 123 und 124,
einen Prioritätscodierer 125, "UND"-Elemente 126... 133, "ODER"-Elemente 134... 136,
einen Decodieren 137, "UND"-Elemente 138... 140, "ODER"-Elemente 141 und 142, "UND"-Elemente 143... 145,
Steuertrigger 146... 151, "UND"-Elemente 152... 157,
ein "ODER"-Element 158 und "UND"-Elemente 159 und 160 auf.
-
Der Schaltblock 103 (7) weist Register 161...
171, eine Steuereinheit 172 und Schalter 173... 178 auf.
-
Die Steuereinheit 172 (8) weist "ODER"-Elemente 179... 190,
Steuereingänge 191... 202 und
Steuerausgänge 203...
222 auf.
-
Die Eingangsregistereinheit 108 (9) weist ein Statuswortregister 223,
ein erstes Datenwortregister 224 und ein zweites Datenwortregister 225 auf.
-
Die Befehlsregistereinheit 104 (10) weist ein erstes und
ein zweites Operationscoderegister 226 und 227 und
ein erstes und ein zweites Befehlszahlregister 228 und 229 auf.
-
Die Ausführungsvorrichtung 66 (11) weist eine Steuereinheit 230,
einen Ausgangsschalter 231, eine Ausgangsregistereinheit 232,
einen Befehlsspeicher 233, eine ALU 234, einen
Ladeschalter 235 und eine Eingangsregistereinheit 236 auf.
-
Die Steuereinheit 230 weist
auf: einen Nullsetzeingang 237-1, einen ersten und einen
zweiten Eingang für
die Ergebnisübertragung 237-2 und 237-3,
einen Startsteuereingang 237-4, einen Eingang für Befehlsbits 237-5,
einen Eingang für
das Speicherbereitschaftssignal 237-6, einen Eingang 237-7 für das Datenbedeutungssignal,
einen Eingang 237-8 für
das ALU-Bereitschaftssignal, einen ersten und einen zweiten Ausgang
für die
Steuerung der Aus gangsschaltung 238-1 und 238-2,
einen Ausgang für
die Übertragungssteuerung 238-3,
einen Ausgang für
die Empfangssteuerung 238-4, einen Ausgang für die Startsteuerung 238-5 und
erste bis dritte Steuerausgänge,
welche mit den Ausgängen 91...
93 der Ausführungsvorrichtung 66 verbunden sind.
-
Die Ausgangsregistereinheit 232 weist
Steuereingänge 239-1, 239-2 und 239-3,
Dateneingänge 239-4, 239-5 und 239-6 und
Datenausgänge 240-1, 240-2 und 240-3 auf.
-
Der Schalter 231 weist einen
Datenausgang, der mit den Ausgängen 94 und 96 der
Ausführungsvorrichtung 66 verbunden
ist, einen ersten und einen zweiten Steuereingang, die mit Ausgängen 238-1 und 238-2 der
Einheit 230 verbunden sind, und einen ersten und einen
zweiten Datenausgang auf, die mit Ausgängen 240-2 und 240-3 der
Ausgangsregistereinheit 232 verbunden sind.
-
Der Befehlsspeicher 233,
die ALU 234 und der Ladeschalter 235 sind analog
zu den entsprechenden Vorrichtungen 105, 106 und 107 der
Ausführungsvorrichtung 65.
-
Die Eingangsregistereinheit 236 weist
Steuer- und Dateneingänge 241-1 und 241-2 und
Datenausgänge 241-1...
242-5 auf.
-
Die Steuereinheit 230 (12) weist "ODER"-Elemente 243-1 und 243-2, "UND"-Elemente 244-1... 244-4, "UND"-Elemente 245-1 und 245-2, ein "ODER"-Element 246, "UND"-Elemente 247-1 und 247-2,
ein "ODER"-Element 248, einen Prioritätscodierer 249, "UND"-Elemente 250-1 und 250-2, ein "UND"-Element 251,
Trigger 252-1...252-3 und 253-1...253-3, "UND"-Elemente 254-1... 254-6,
ein "ODER"-Element 255 und
ein "UND"-Element 256 auf.
-
Die Eingangsregistereinheit 236 (13) weist Register 257, 258-1 und 258-2 für die Statuswortbits
des ersten und des zweiten Operanden auf.
-
Die Ausgangsregistereinheit 232 (14) weist ein Ergebnisregister 259,
ein erstes und ein zweites Register für die Befehlszahl und den Operationscode 260-1 und 260-2 und
ein Statusattributregister 261 auf.
-
Der Hilfsschalter 3 (15) weist eine erste und
eine zweite Steuereinheit 262-1 und 262-2 und eine
erste und eine zweite Schalteinheit 263-1 und 263-2 auf.
-
Jede Steuereinheit 262-1 und 262-2 weist
einen Steuereingang 264, eine erste bis dritte Gruppe von
Steuereingängen 265-1... 265-N, 266-1... 266-N, 267-1... 267-N,
und eine erste bis vierte Gruppe von Steuerausgängen 268-1... 268-N, 269-1... 269-N, 270-1-1... 270-N-N und 271-1... 271-N auf.
-
Jede Schalteinheit 263-1 und 263-2 weist eine
erste und eine zweite Gruppe von Steuereingängen 272-1-1... 272-N-N und 273-1... 273-N,
eine Gruppe von Dateneingängen 274-1... 274-N,
eine Gruppe von Datenausgängen 275-1... 275-N und eine
Gruppe von Steuerausgängen 276-1... 276-N auf.
-
Jede Steuereinheit 262-1 und 262-2 (16) weist eine Gruppe von
Bereitschaftssignalbildungstriggern 277-1... 277-N,
eine Bereitschaftssetzsteuereinheit 278 und einen Schaltsteuerblock 279 auf.
-
Die Bereitschaftssetzsteuereinheit 278 weist N
Paare von ersten und zweiten Steuerausgängen 280-1-1 und 280-2-1 bis 280-1-N und 280-2-N,
einen Nullsetzeingang 281, eine erste bis dritte Gruppe
von Steuereingängen
282-1...282-N, 283-1... 283-N und 284-1... 284-N,
N Gruppen von Ausgängen 285-1-1... 285-1-N bis 285-N-1... 285-N-N für Bits zum
Wechseln der Kanalnummer, und N Gruppen von Eingängen 286-1-1... 286-1-N bis 286-N-1... 286-N-N für Bits zum
Wechseln der Kanalnummer auf.
-
Der Schaltsteuerblock 279 weist
N Gruppen von Ausgängen 287-1-1... 287-1-N bis 287-N-1... 287-N-N des
Umschaltkanalnummersatzes, eine erste und eine zweite Gruppe von
Steuerausgängen 288-1... 288-N und 289-1... 289-N,
einen Nullsetzeingang 290, N Paare eines ersten und eines
zweiten Steuereingangs 291-1-1 und 291-2-1 bis 291-1-N und 291-2-N,
eine Gruppe von Steuereingängen 292-1... 292-N,
N Gruppen von Steuerausgängen 293-1-1... 293-1-N bis 293-N-1... 293-N-N der
Schaltelemente, N Gruppen von Eingängen 294-1-1... 294-1-N bis 294-N-1... 294-N-N des
Umschaltkanalsatzes und eine dritte Gruppe von Steuerausgängen 295-1... 295-N auf.
-
Jede Schalteinheit 263-1 (263-2)
(17) weist einen Hochfrequenzimpulsgenerator 296,
eine Gruppe von Ausgangsregistern 297-1... 297-N,
eine Gruppe von Wandler-/Übertragungseinheiten 298-1... 298-N,
eine Gruppe von "ODER"-Elementen 299-1... 299-N,
eine Gruppe von Lichtempfängern 300-1... 300-N,
eine erste Gruppe von optischen Linsenrastern 301-1... 301-N, eine gesteuerte
optische Transparenz 302, eine zweite Gruppe optischer
Linsenraster 303-1... 303-N, eine Gruppe von Deflektoren 304-1... 304-N,
eine Gruppe von Laseroszillatoren 305-1... 305-N,
eine Gruppe von Wandler/Übertragungseinheiten 306-1... 306-N und
eine Gruppe von Eingangsregistern 307-1... 307-N auf.
-
Jede Wandler-/Übertragungseinheit 298-i weist
einen Steuerausgang 308, Datenausgänge 308-1... 308-N mit
parallelem Code, einen ersten und einen zweiten Steuereingang 309-1 und 309-2 und einen
Dateneingang mit seriellen Code 309-3 auf.
-
Jede Wandler-/Übertragungseinheit 306-i (23) weist einen Datenausgang
mit seriellem Code 310, einen Steuereingang 311,
eine Gruppe von Eingängen
für die
Wandlungssteuerung 311-1... 311-N und eine Gruppe
von Dateneingängen
mit parallelem Code 312-1... 312-N auf.
-
Die Bereitschaftssetzsteuereinheit 278 (18) weeist eine erste Gruppe
von "ODER"-Elementen 313-1... 313-N,
eine Gruppe von "UND"-Elementen 314-1... 314-N,
eine zweite Gruppe von "ODER"-Elementen 315-1... 315-N,
eine Gruppe von Registern 316-1... 316-N und eine
dritte Gruppe von "ODER"-Elementen 317-1... 317-N.
-
Der Schaltsteuerblock 279 (19) weist N Gruppen von
Doppeleingangs"UND"-Elementen 318-1-1... 318-1-N bis 318-N-1... 318-N-N,
N Gruppen von N-Eingangs "UND"-Elementen 319-1-1... 319-1-N bis 319-N-1... 319-N-N,
N Gruppen von Triggern 320-1-1... 320-1-N bis 320-N-1... 320-N-N,
eine Prioritätssteuereinheit 321 und
eine Eingangsanfrageempfangseinheit 322 auf.
-
Die Prioritätssteuereinheit 321 weist
eine Nullsetzeingangeinheit 323, eine erste bis vierte Gruppe
von Steuerausgängen 323-1-1... 323-1-N, 323-2-1... 323-2-N, 323-3-1... 323-3-N und 323-4-1... 323-4-N,
N Gruppen von Eingängen 324-1-1... 324-1-N bis 324-N-1... 324-N-N für die Ausgangskanalabtaststeuerung
und eine erste bis dritte Gruppe von Steuereingängen 325-1-1... 325-1-N, 325-2-1... 325-2-N, 325-3-1... 325-3-N auf.
-
Die Prioritätssteuereinheit 321 (20) weist einen ersten und
einen zweiten Prioritätscodierer 326 und 327,
ein "ODER"-Element 328,
eine erste und eine zweite Gruppe von Staustriggern 329-1... 329-N und 330-1... 330-N, eine erste
Gruppe von "ODER"-Elementen 331-1... 331-N,
eine Gruppe von Anfragetriggern 332-1... 332-N,
eine erste Gruppe von "UND"-Elementen 333-1... 333-N,
eine zweite und eine dritte Gruppe von "ODER"-Elementen 334-1... 334-N und 335-1... 335-N und
eine zweite Gruppe von "UND"-Elementen 336-1... 336-N auf.
-
Die Eingangsanfrageempfangseinheit 322 (21) weist eine Gruppe von
Steuereingängen, die
mit Eingängen 291-2-1... 291-2-N des
Schaltsteuerblocks 279 verbunden sind, N Gruppen von Eingängen von
Kanalzahlbits, die mit Eingängen 294-1-1... 294-N-N des
Schaltsteuerblocks 279 verbunden sind, und eine Gruppe
von Steuerausgängen,
die mit Eingängen 325-1-1... 325-1-N der
Prioritätssteuereinheit 321 verbunden
sind, auf.
-
Die Einheit 322 (21) weist eine Gruppe von
Schaltern 337-1... 337-N und eine Gruppe von Decodierern 338-1... 338-N auf.
-
Jede der Wandler-/Übertragungseinheiten 298-i (22) weist einen Decodieren 339,
einen Zähler 340,
ein "ODER"-Element 341 und
einen Verstärker-Former 344,
einen Codieren 345, einen Zähler 346 und ein "UND"-Element 347 auf.
-
Jeder Pufferblock 5 (24) weist eine Gruppe von
Puffereinheiten 348-1... 348-N auf.
-
Jede Puffereinheit 348-i (25) weist einen ersten bis
vierten Steuerausgang 349-1...349-4, einen ersten bis dritten
Datenausgang 349-5... 349-7, einen
ersten und einen zweiten Steuereingang, die mit den jeweiligen Eingängen der
ersten und zweiten Gruppe von Steuereingängen 32-1... 32-N und 33-1... 33-N verbunden
sind, einen dritten Steuereingang, der mit dem Steuereingang 31 verbunden
ist, einen vierten und einen fünften
Steuereingang, die mit den entsprechenden Eingängen der dritten und vierten
Gruppe von Steuereingängen 35-1... 35-N und 37-1... 37-N verbunden
sind, und einen ersten bis dritten Dateneingang, die mit den entsprechenden
Eingängen
der ersten, zweiten und dritten Dateneingänge 34-1... 34-N, 36-1... 36-N und 38-1... 38-N verbunden
sind, auf.
-
Jede Puffereinheit 338-i weist
einen ersten und einen zweiten Puffer 350-1 und 350-2 auf.
Der Puffer 350-1 dient dem vorübergehenden Speichern und Übertragen
der Befehlswörter
und der Puffer 350-2 dient dem vorübergehenden Speichern und Übertragen
von Operandenpaketen. Beide Puffer haben die gleiche Struktur und
Konfiguration und unterscheiden sich lediglich in der internen Logik
der Einrichtungen zum Identifizieren des Eingangspakettyps.
-
Jeder Puffer 350-1 und 350-2 (26) enthält einen ersten und einen zweiten
Steuereingang 351-1 und 351-2, einen ersten und
einen zweiten Dateneingang 351-3 und 351-4, einen
dritten und einen vierten Steuereingang 351-5 und 351-6,
einen Eingang für
externen Austausch 351-7, einen ersten und einen zweiten
Ausgang für
die Übertragungssteuerung 352-1 und 352-2,
eine Datenausgang 352-3 und einen Ausgang für den externen
Austausch 352-4.
-
Jeder Puffer 350-1 und 350-2 weist
einen Ausgangsschalter 353, eine Gruppe von "ODER"-Elementen 353-1... 353-5,
eine Gruppe von "UND"-Elementen 354-1...354-4, eine
Registerspeichereinheit (RMU) 355 und die entsprechende
Steuereinheit 356-1 (356-2), einen Eingangsschalter 357 und
ein erstes und ein zweites Eingangsregister 358-1 und 358-2 auf.
-
Jede Steuereinheit 356-1 und 356-2 weist Steuerausgänge 359-1...359-12,
einen Nullsetzeingang 360-1, einen ersten Eingang für den Paketcode 360-2,
einen ersten Empfangssteuereingang 360-3, einen zweiten
Eingang für
den Paketcode 360-4, einen zweiten und einen dritten Empfangssteuereingang 360-5 und 360-6 und
einen ersten bis fünften Steuereingang 361-1...361-5 auf.
-
Jede der Steuereinheiten 356-1 und 356-2 (27) weist einen Prioritätscodierer 362,
Zähler 362-1 und 362-2,
logische "UND"-Elemente 363-1... 363-4,
Trigger 364-1...364-3 und die entsprechende Gruppe von Decodierern 365-1-1...365-1-3 (oder 365-2-1... 365-2-3)
auf. Die erwähnten
Gruppen von Decodierern führen
die Funktion des Identifizierens des Eingangspakettyps aus und unterscheiden
sich lediglich in der Funktionsweise der inneren Logik: die Gruppe
von Decodierern 365-1-1... 365-1-3 dient
der Identifizierung der Befehlswortpakete und die Gruppe der Decodieren 365-2-1...365-2-3 dient
der Identifizierung der Operandenpakete.
-
Jedes assoziative Speichermodul 4-i (28) weist ein Pufferregister 366 und
eine assoziative Speichereinheit (AMU) 367 auf, die analog
zu der Vorrichtung (RU, 2035069) ausgebildet ist.
-
Die AMU 367 weist einen
ersten und zweiten Datenausgang 368-1 und 368-2, einen ersten
und einen zweiten Steuerausgang 369 und 370, einen
ersten bis dritten Steuereingang 371-1... 371-3 und einen
ersten und einen zweiten Dateneingang 372-1 und 372-2 auf.
-
Der Schalter 2 (29) weist eine Steuereinheit 373 und
eine Schalteinheit 374 auf, die analog zur Schalteinheit 263-1 (263-2)
im Hilfsschalter 3 ausgebildet ist.
-
Die Steuereinheit 373 weist
den Austauschsteuerausgang 375, eine Gruppe von Steuerausgängen 375-1... 375-N,
eine erste bis N-te Gruppe von Ausgängen 376-1-1... 376-1-N bis 376-N-1... 376-N-N der
Kanalwechselsteuerung, einen Empfangssteuerausgang 377 einen
Nullsetzeingang 378, und eine erste bis N-te Gruppe von
Eingängen
auf. Jede der ersten bis N-ten Gruppen von Eingängen weist einen Steuereingang 378-1-i,
einen Adresseneingang 378-2-i und eine erste und eine zweite
Gruppe von Steuereingängen 379-1... 379-N und 380-1... 380-N auf.
-
Die Schalteinheit 374 weist
eine Gruppe von Datenausgängen 381-1... 381-N, eine Gruppe
von Dateneingängen 382-1... 382-N,
eine erste bis N-te Gruppe von Eingängen 383-1-1... 383-1-N bis 383-N-1... 383-N-N zur
Schaltsteuerung, eine Gruppe von Steuerausgängen 384-1... 384-N und
eine Gruppe von Eingängen 385-1... 385-N zur
Empfangssteuerung auf.
-
Die Steuereinheit 373 (30) weist eine Gruppe von
Eingangsanfragebildungstriggern 386-1... 386-N,
eine Übertragungssteuereinheit 387, eine
Empfangssteuereinheit 388, eine Schaltsteuereinheit 389,
eine Gruppe von Anfrageempfangstriggern 390-1... 390-N,
eine Gruppe von Decodierern 391-1... 391-N, eine
Gruppe von Eingangsregistern 392-1... 392- N und
eine Gruppe von "UND"-Elementen 393-1... 393-N auf.
-
Die Übertragungssteuereinheit 387 weist eine
erste bis N-te Gruppe von Steuerausgängen, von denen jede einen
ersten und einen zweiten Anfragesatzausgang 394-1-i und 394-2-i aufweist,
einen Nullsetzeingang 395, eine erste bis N-te Gruppe von
Anfragesteuereingängen 396-1-1... 396-1-N bis 396-N-1... 396-N-N,
und eine erste und eine zweite Gruppe von Steuereingängen 397-1...397...
N und 398-1... 398-N auf.
-
Die Empfangssteuereinheit 388 weist
den ersten Steuerausgang 399, eine Gruppe von Empfangssteuerausgängen 399-1... 399-N,
einen zweiten Steuerausgang 400 und eine erste bis N-te
Gruppe von Eingängen
auf. Jede der ersten bis N-ten Gruppen von Eingängen weist einen ersten und
einen zweiten Eingang für
die Statusübertragung 401-1-i und 401-2-i,
eine Gruppe von Steuereingängen 402-1... 402-N,
einen Nullsetzeingang 403 und eine erste bis N-te Gruppe
von Rücksetzsteuereingängen 404-1-1... 404-1-N bis 404-N-1... 404-N-N auf.
-
Die Schaltsteuereinheit 389 weist
eine erste bis N-te Gruppe von Steuerausgängen 405-1-1... 405-1-N bis 405-N-1... 405-N-N,
eine erste bis N-te Gruppe von Prioritätssteuereingängen 406-1-1... 406-1-N bis 406-N-1... 406-N-N und eine
Gruppe von. Steuereingängen 407-1... 407-N auf.
-
Die Übertragungssteuereinheit 387 (31) weist die erste Gruppe
von "ODER"-Elementen 408-1... 408-N,
eine Gruppe von "UND"-Elementen 409-1... 409-N und
eine zweite Gruppe von "ODER"-Elementen 410-1... 410-N auf.
-
Die Empfangssteuereinheit 388 (32) weist den Trigger 411,
eine Gruppe von "ODER"-Elementen 411-1... 411-N,
ein erstes und ein zweites "ODER"-Element 412-1 und 412-2,
eine erste und eine N-te Gruppe von "UND"-Elementen 413-1-1... 413-1-N bis 413-N-1... 413-N-N und "UND"-Elemente 414, 415-1 und 415-2 auf.
-
Die Schaltsteuereinheit 389 (33) weist eine Gruppe von
Prioritätscodierern 416-1... 416-N und
eine erste bis N-te Gruppe von "ODER"-Elementen 417-1-1... 417-1-N bis 417-N-1... 417-N-N auf.
-
Die Prinzipien der Berechnungsorganisation unter
der Datenstromsteuerung gehen davon aus, daß der Algorithmus der Problemlösung als
eine Kurve des Berechnungsvorgangs dargestellt ist, bestehend aus
Operationen (Befehlen) an Daten (Operanden) und Verbindungen (Richtungen),
in welche die Daten (Ergebnisse) von einem Befehl zum anderen übertragen
werden (34).
-
Die Datenverarbeitung gemäß der Kurve
erfolgt, sobald die zum Verarbeiten vorbereiteten Daten an den Befehlseingängen anliegen.
Die Vervollständigung
von Datenpaaren, die einem bestimmten Befehl zugeordnet sind, erfolgt
im Speicher, der nach diesen mittels eines Schlüssels sucht. Ein Schlüssel ist
im allgemeinen ein Code, bestehend aus Befehlszahlbits, einem Index,
einer Iteration usw. Die beste operationale Ausbildung eines derartigen
Speichers unter Berücksichtigung
von Volumen und Geschwindigkeit basiert auf der Verwendung von optischen Elementen,
und hinsichtlich einer Erhöhung
der Leistung wäre
es optimal, das Gesamtvolumen in separate Module aufzuteilen.
-
Jeder Befehl hat eine Nummer K-i,
die zum Plazieren desselben in dem Befehlsspeicher verwendet werden
kann, einen Operationscode (COP-I) und eine "Zieladresse" K-j, die in Verbindung mit dem Verarbeitungsergebnis
steht.
-
Ferner weist ein Befehl Attribute
auf, welche die Bedingungen seiner Verarbeitung oder seinen Typ
bestimmen. Ein Befehl kann ein Doppel-Eingang oder ein Einzel-Eingang
sein, abhängig
von der Anzahl der Operanden (ein oder zwei), die er verarbeitet,
was durch den Operationscode bestimmt ist. Ein Befehl kann eine
Doppel-Adresse oder eine Einzel-Adresse sein, je nach der Anzahl
der Ziele (Anzahl der Befehle), an die das Ergebnis übertragen wird.
Beispielsweise ist der Befehl K-1 (34)
ein Einzel-Eingang-, Doppel-Adressen-Befehl;
der Befehl K-4 ist ein Doppel-Eingang-, Einzel-Adressen-Befehl und die Befehle
K-2 und K-3 sind Einzel-Adressen- Einzel-Eingang-Befehle.
-
Die durch den COP eines jeweiligen
Befehls bestimmte Operation kann mit numerischen Daten (Operanden)
und mit supplementären
Daten (Befehlswörter)
erfolgen. Die erste Funktionsgruppe von Befehlen wird durch arithmetische
Operationen (Operandenverarbeitungsoperationen) und die zweite Gruppe
durch die Befehlswortverarbeitungsoperationen ausgeführt.
-
Um die Kurvenverarbeitung zu organisieren, sind
Befehle und Daten als Datenobjekte bestehend aus Mehrbitwörtern wiedergegeben,
wobei die entsprechenden Gruppen von Bits die Felder mit der notwendigen
Funktionszuweisung bilden (35).
-
Die Datenverarbeitung erfolgt durch
Ausführungsvorrichtungen
zweier unterschiedlicher Arten, welche die Informationen in Form
von Operandenpaketen und Befehlswortpaketen empfangen. Generell weist
ein Paket ein Statuswort und zwei Datenwörter auf, die entweder Operanden sind
oder supplementäre
Daten enthalten. Ein Paket aus einem Einzel-Eingang-Befehl weist ein Statuswort
und nur ein Datenwort auf.
-
Ein Statuswort weist die folgenden
Grundgruppen der Funktionsbits (Felder) auf:
COP – Operatiopnscode;
K – Befehlsnummer;
G – Erzeugungsnummer;
T – Iterationsnummer;
I – Index.
-
Die Funktionsfelder eines Statusworts
können
auf verschiedene Weise verwendet werden. Insbesondere ist die Schlüsselgruppe
der Bits für
die Datensuche in den assoziativen Speichermodulen durch die Felder
K, G, T, I bestimmt. Das Feld COP kann auch Bits aufweisen, welche
den Befehlstyp (Einzel- oder Doppel-Adressen-, Einzel- oder Doppel-Eingang-)
und den Pakettyp (Paket Befehlswörter
oder Paket Operanden) angeben.
-
Wenn ein Befehl zwei Ausgänge hat,
gehen mit seinem Verarbeitungsergebnis zwei Zustandswörter einher,
d. h. zwei Übertragungsziele.
-
Bitgruppen von Attributen, welche
den Typ des Zielbefehls angeben, sind im Befehlsspeicher gespeichert
und werden mit der Nummer und dem Operationscode aufgefunden.
-
Das Computersystem (1) betreibt das Programm, das über den
ersten und den zweiten Dateneingang 6 und 7 geladen
wird, und gibt das Ergebnis der Verarbeitung durch den zweiten Datenausgang 11 zurück. Das
System realisiert seine eigene Parallelität des Rechenvorgangs, wie durch
die Kurve dargestellt, wobei es gleichzeitig sämtliche vorbereiteten Befehle
verarbeitet.
-
Im Befehlsspeicher 105 und 233 der
Ausführungsvorrichtungen 65 und 66 jeder
der Prozessoreinheiten 1-i. sind sämtliche Befehls des ausgeführten Programms
gespeichert. Der Speicher 105 weist sämtliche Befehle für die Befehlswortverarbeitung auf
und der Speicher 233 weist sämtliche Befehle für die Operandenverarbeitung
auf.
-
Das Laden der Befehle (5 und 11) erfolgt über den ersten und den zweiten
dateneingang 13 und 14 und die ladeschalter 107 und 235 der
Ausführungsvorrichtungen 65 und 66.
-
Das System wird mit dem Übertragen
von Startpaketen von Befehlswörtern
und Operanden von einem (in 1 nicht
dargestellten) externen System an den dritten Eingang 8 gestartet.
-
Die Startpakete mit den entsprechenden Steuersignalen
werden an die Eingänge
der dritten Gruppe von Dateneingängen 38-1... 38-N des
Pufferblocks 5 übertragen.
Die Gesamtzahl der verwendeten Eingänge ist durch die Starbedingungen
eines bestimmten Programms bestimmt.
-
Der Pufferblock 5 dient
dem Glätten
von Spitzen der Eingangsanfragen an den Eingängen des Hilfsschalters 3.
Die Verwendung des Pufferblocks 5 im Startvorgang ist dessen
zusätzliche
Funktion.
-
Startpaketbits werden an den Dateneingang der
Puffereinheit 348-i übertragen,
welche in diesem Fall die Startfunktionen ausführt, und werden weiter an den
externen Austauscheingang 351-7 der Puffer 350-1 und 350-2 (25) übertragen. Von den Puffern 350-1 und 350-2 werden
die an den vierten Dateneingang des Ausgangsschalters 353 (26) übertragen. Das Schalten im
Ausgangsschalter 353 wird durch den vierten Steuereingang
gesteuert, an den das entsprechende Signal vom Steuerausgang 359-12 der
Steuereinheit 356-1 (356-2) durch das "UND"-Element 354-4 übertragen
wird. Dieses Steuersignal wird am Ausgang des Decodierers 365-1-3 (365-2-3) gebildet
(27), an dessen Eingang
die codierte Bitgruppe übertragen
wird, welche den Typ des Startpakets bestimmt. Abhängig vom
Typ des Startpakets wird das Steuersignal des Schalters 353 entweder
im Puffer 350-1 (für
den Empfang von Befehlswörtern)
oder im Puffer 350-2 (für
den Operandenempfang) gebildet.
-
Wenn das Startpaket Operanden enthält, werden
die Bits des Pakets vom Ausgang 352-3 des Puffers 350-2 (durch
den zweiten Datenausgang der Einheit 348-i und den i-ten
Ausgang der dritten Gruppe der Datenausgänge 45-1... 45-N des
Pufferblocks 5) an den i-ten Eingang der zweiten Gruppe
der Dateneingänge 27-2-1... 27-2-N des
Hilfsschalters 3 übertragen.
-
Die Daten am i-ten Ausgang der dritten Gruppe
der Datenausgänge 45-1... 45-N des
Pufferblocks 5 werden durch das Abtasten der Übertragung (Signal
von "Bedeutung") begleitet, bei
dem es sich um ein Steuersignal einner Austauschanfrage handelt,
und sie werden vom i-ten Ausgang der vierten Gruppe der Steuerausgänge 44-1... 44-N des
Pufferblocks 5 an den iten Eingang der vierten Gruppe der Steuereingänge 26-1... 26-N des
Hilfsschalters 3 übertragen.
-
Die Hauptfunktion des Hilfsschalters
ist das Verteilen sämtlicher
empfangener Pakete über
die freien Ausgänge.
-
Die Übertragungsabtastung und die
Bits der Operandenpakete, die jeweils an die i-ten Eingänge der
vierten Gruppe von Steuereingängen 26-1... 26-N und
an die i-ten Eingänge
der zweiten Gruppe der Dateneingänge 27-2-1... 27-2-N des
Hilfsschalters übertragen
werden, werden an die Anfrageeingänge 265-i und den
Dateneingang 274-i, die Ausführungsvorrichtung 262-2 und
die Schalteinheit 263-2 (15, 16, 17) übertragen.
-
Die Operandenpaketbits, die an den
Eingang 274-i der Schalteinheit 263-2 übertragen
werden, werden vom Eingangsregister 307-i empfangen. As Signal
der Empfangssteuerung wird am Ausgang 271-i der Steuereinheit 262-2 gebildet.
-
Das Schalten, einschließlich das Übertragen von
Paketbits vom Eingang 264-i der
Schalteinheit 263-2 an den Datenausgang 275-j,
entsprechend dem ersten freien Ausgangsregister aus der Gruppe 297-1... 297-N,
erfolgt mit Hilfe des dimensionalen optischen Systems.
-
Vom Ausgang des Registers 307-i wird
der parallele Code der Paketbits an die Eingänge 312-1... 312-N der
Wandler-/Übertragungseinheit 306-i übertragen.
Der an dessen Ausgang 310 gebildete serielle Code wird
an den Laser-Oszillator 305-i übertragen. Das dem seriellen
Code entsprechende Lasersignal wird (durch das optische System,
das den gesteuerten Deflektor 304-i, eine Gruppe von optischen Linsenrastern 303-1... 303-N,
eine gesteuerte optische Transparenz 302 und eine Gruppe
von optischen Linsenrastern 301-1... 303-N aufweist)
wird an den Eingang des Lichtempfängers 300-j übertragen, von
dessen Ausgang der serielle Code des Eingangspakets an den Dateneingang 309-3 der
Wandler/Übertragungseinheit 298-j übertragen
wird. An den Ausgängen
des Registers 297-j wird ein paralleler Code gebildet,
der den Bitgruppen des Pakets am Eingang 274-i der Schalteinheit 263-2 entspricht,
und am Ausgang 308 der Einheit 298-j wird ein
Signal gebildet, das das Ende der Bildung des parallelen Ausgangscodes
angibt.
-
Die Schalteinheit 263-2 (17) bewirkt die Datenübertragung
von jedem Eingang 274-1... 274-N zu jedem Ausgang 275-1... 275-N,
bestimmt durch ein freies Register aus der Registergruppe 297-1... 297-N,
was ein Schalten mit "freier
Adresse" bedeutet.
Die Signale, welche die entsprechende Datenumwandlung und das Schalten
des dimensionalen optischen Netzes steuern, werden an die Eingänge 272-1-1... 272-N-N der
Schalteinheit 263-2 von den Ausgängen 270-1-1... 270-N-N der
Steuereinheit 262-2 (15) übertragen.
-
Das Bilden der genannten Signale
(16, 19, 20)
erfolgt im Schaltsteuerblock 279, wenn die Abtastung der Übertragung
an dessen Eingang 292-i vom Eingang 265-i der
Steuereinheit 262-2 übertragen
wird. An den Ausgang 269-j der Steuereinheit 262-2 (16) wird die Paketübertragung übertragen,
welche am Trigger 277-j der Gruppe der Bereitschaftssignalbildungstrigger
gebildet wird.
-
Die Übertragung der Befehlswortpakete
erfolgt auf die gleiche Weise unter Verwendung identischer Funktionsstrukturen
des Pufferblocks 5 und des Hilfsschalters 3.
-
Die Übertragungsabtastung und die
Bits des Operandenpakets durch die Ausgänge 30-3-j bzw. 30-4-j des
Hilfsschalters werden an die Eingänge 18-6 und 16 der
Prozessoreinheit 1-j (1)
und die entsprechenden Eingänge
der Ausführungsvorrichtung 66 (2) geliefert.
-
Die Übertragungsabtastung durch
den entsprechenden Eingang der Ausführungsvorrichtung 66 wird
an den Eingang 237-4 der Steuereinheit 230 (11) und die Bits des Operandenpakets
werden an den Dateneingang 241-2 der Eingangsregistereinheit 236 übertragen.
-
Der Empfang von Funktionsfeldern
des Operandenpakets (13)
durch das Statuswortregister 257 und die Operandenregister 258-1 und 258-2 erfolgt
nach dem Empfang des Signals der Empfangssteuerung am Eingang 241-1 der
Eingangsregistereinheit 236. Die Bits der Befehlsnummer
werden vom Ausgang 242-1 der Eingangsregistereinheit 236 durch
den ersten Dateneingang des Ladeschalters 235 an den Adresseneingang
des Befehlsspeichers 233 übertragen. Das Startsteuersignal
wird vom Ausgang
238-5 der Steuereinheit 230 an
den Auffindsteuereingang des Befehlsspeichers 233 übertragen.
-
Die Operationscodebits und die Operandenbits,
zusammen mit dem Startsteuersignal, werden von den Ausgängen 242-2, 242-3 und 242-4 der
Registereinheit 236 an die entsprechenden Eingänge der
ALU 234 übertragen.
Die Bits der Funktionsfelder G, T, I werden an den Eingang 239-6 der Ausgangsregistereinheit 232 übertragen.
Die Bits der Funktionsfelder, welche den Operationscode und die
Befehlsnummer enthalten, für
welche das Rechenergebnis bestimmt ist, werden vom Datenausgang
des Befehlsspeichers 233 an den Eingang 239-5 der
Ausgangsregistereinheit 232 übertragen. Dieses Ergebnis
wird an den Eingang 239-4 der Einheit 232 übertragen.
-
Die Eingänge 239-1, 239-2 und 239-3 der Ausgangsregistereinheit 232 empfangen
die entsprechenden Signale, welche den Empfang des ALU Ergebnisses
in dem Register 259, der Bitfelder K und COP des nachfolgenden
Befehls in den Registern 260-1 und 260-2 und der
Bitfelder G, T, I in dem Register 261 steuern. An den Ausgängen 240-1, 240-2 und 240-3 der
Ausgangsregistereinheit 232 werden die Funktionsfelder
des Ergebnisses der aktuellen Befehlsverarbeitung (Sub-Paket) gebildet.
Diese Felder reflektieren die Prinzipien der Berechnung, welche
durch die Rechenkurve dargestellt sind, und werden jeweils an den
ersten Dateneingang 95 der Ausführungsvorrichtung 66 und
die Dateneingänge
des Ausgangsschalters 231 übertragen. Steuersignale werden
von den Ausgängen 238-1 und 238-2 der Steuereinheit 230 an
die Steuereingänge
des Ausgangsschalters 231 übertragen. Der Ausgang des Schalters 231 ist
mit dem Adressenausgang 234 und dem zweiten Datenausgang 96 der
Ausführungsvorrichtung 66 verbunden.
Der Ausgang 94 empfängt ein
Datenfeld, das einer Gruppe von unteren Bits der Befehlsnummer,
das in das Register 260-1 (260-2) plaziert wird.
Diese Gruppe von Bits gibt die Nummer des assoziativen Speichermoduls
in der Gruppe der Module 4-1... 4-
N an, was ein gleichmäßiges Verteilen
der Sub-Pakete auf die assoziativen Speichermodule ermöglicht.
Die Funktionen des Ausgangsschalters 231 sind durch das
Vorhandensein von Doppel-Adressenbefehlen bestimmt, d. h. von Befehlen, deren
Verarbeitungsergebnis der Eingangsoperand für zwei folgende Befehle ist
(mit verschiedenen Nummern und Operationscodes). Diese Bedingung wird
erreicht, indem zwei Ausgangsregister 260-1 und 260-2 für Befehle
vorhanden sind, deren Inhalt sequentiell durch den Schalter 231 an
die Ausgänge 94 und 96 zusammen
mit dem Ergebnis übertragen werden,
das an den Ausgang 95 übertragen
wird.
-
Der Steuersignale des Ausgangsschalters 231 werden
gebildet, nachdem die Funktionsfelder des Befehlstyps und der Übertragungsabtastung
von den Daten- und Steuerausgängen
des Befehlsspeichers 233 an die Eingänge 237-5 und 237-6 der Steuereinheit übertragen
wurden. Das Signal der Bedeutung des Ergebnisses wird vom Datenausgang der
ALU an den Eingang 237-7 übertragen.
-
Die Funktionsfelder des Befehlstyps
umfassen die folgenden Attribute: 1A (Einzel-Adressenbefehl), 2A
(Doppel-Adressenbefehl), 1B (Einzel-Eingangbefehl), 2B (Doppel-Eingangbefehl),
welche an die Trigger 254-2... 254-5 übertragen werden (Fig. 12).
Der Status der Trigger beeinflusst die Bildung der Steuersignale
an den Ausgängen 238-1 und 238-2 der
Steuereinheit 230. Die Übertragungsabtastung,
die den Vorgaben der Einzel- oder Doppel-Eingangbefehlen entspricht,
werden an den ersten und dem zweiten Steuerausgang 91 und 92 der
Ausführungsvorrichtung 66 gebildet.
Entsprechend diesen Vorgaben werden Bits der Funktionsfelder des Sub-Pakets an dem ersten
und dem zweiten Datenausgang 95 und 96 gebildet.
-
Unter Einzel- und Doppel-Eingang-Vorgaben werden
die Bits des Sub-Pakets von den Ausgängen 95 und 96 an
die Ausgänge 21-4, 21-5 und 21-1 und 21-2 der
j-ten Prozessoreinheit durch die Schalter 61 und 62 übertragen,
welche durch die Ausgänge 75-1 und 75-2 der
Einheit 63 und durch die Ausgänge 79-1 und 79-2 der
Einheit 64 gesteuert werden. Die Steuersignale werden gebildet,
nachdem der Eingang 74 der Einheit 63 und der
Eingang 77 der Einheit 64 die Abtastungen der Übertragung
von den Ausgängen 91 und 93 der
Ausführungsvorrichtung 66 empfangen
haben. Daten bezüglich
der Nummer des assoziativen Speichermoduls werden vom Ausgang 94 der
Ausführungsvorrichtung 66 an
den Adressenausgang 20 der Prozessoreinheit nur unter den
Doppel-Eingangbefehlvorgaben übertragen,
da das Ausführen
eines Einzel-Eingangbefehls nicht die Suche nach einem zweiten Operanden
erfordert.
-
Wenn das von der entsprechenden Ausführungsvorrichtung
ausgegebene Ergebnis (Operand) für
einen Doppel-Eingangbefehl vorgesehen ist, erfolgt die Suche nach
dem zweiten Operanden in einem assoziativen Speichermodul. Die Nummer
des jeweiligen Moduls (im folgenden als "Adresse" bezeichnet) ist durch die Bitgruppe
am Ausgang 20 der Prozessoreinheit bestimmt. Der Zugriff
auf die Gruppe von assoziativen Speichermodulen 4-1... 4-N erfolgt
mittels des Schalters 2 (29).
-
Die j-ten Eingänge der ersten Gruppe von Steuereingängen, eine
Gruppe von Adresseneingängen
und die zweite Gruppe von Steuereingängen 54-1... 54-N, 55-1... 55-N, 57-1... 57-N des
Schalters 2 empfangen Steuersignale, die Nummer des Speichermoduls
und die Funktionsfelder des Sub-Pakets von den Ausgängen 19-1, 20 und 21-1, 21-2 der
j-ten Prozessoreinheit.
-
Der Schalter 2, der die
Steuereinheit 373 und die Schalteinheit 374 steuert,
bewirkt die Datenübertragung,
anders als der Schalter 3, an eine "feste" Adresse am Ausgang wie durch die gegebene
Nummer k des assoziativen Speichermoduls bestimmt.
-
Die Schaltbedingungen werden in der
Steuereinheit 373 erreicht (30).
Die Eingänge 378-1-j und 378-2-j der
Steuereinheit 373 empfangen die entsprechenden Steuerinformationen
von den Eingängen 54-j und 55-j des
Schalters 2. Danach werden die folgenden Operationen ausgeführt: das
Empfangen der Adresse im Register 392-j, das Setzen des
Anfragetriggers 390-j, am k-ten Ausgang des Decodierers 391-j wird
ein Positionscode gebildet, der dem k-ten assoziativen Speichermodul
entspricht, und diese Signale werden an die Eingänge 407-1... 407-N und 406-1-1... 406-N-N der
Schaltsteuereinheit 389 übertragen. Die Schaltsteuersignale
werden an den Ausgängen 405-1-1... 405-N-N der
Schaltsteuereinheit 389 gebildet und an die Ausgänge 376-1-1... 376-N-N der
Steuereinheit 373 übertragen.
-
Die erwähnten Signale werden an den
Ausgängen
der Prioritätscodierer 416-1... 416-N (33) gebildet, welche als
Prioritätsschemata
dienen und die Warteschlangenbildung an jedem der assoziativen Speichermodule
bewirken.
-
Die Steuersignale der Ausgänge 376-1-1... 376-N-N der
Steuereinheit werden an eine Gruppe von Schaltsteuereingängen 383-1-1... 383-N-N der Schalteinheit 374 übertragen.
Die Struktur und die Funktionsweise der Schalteinheit 374 sind
vollkommen gleich denjenigen der Schalteinheiten 263-1 und 263-2 des
Schalters 3. Der Eingang 383-j-k der Schalteinheit 374 empfängt ein
Signal, das den k-ten Eingang des j-ten Deflektors der Gruppe 304-1... 304-N (17) steuert, und der Ausgang 59-k des Schalters 2 empfängt Bitfelder,
die denjenigen entsprechen, die am Dateneingang 57-j des
Schalters 2 empfangen werden. Die entsprechende Übertragungsabtastung
wird am Trigger 386-k (30)
gebildet und wird durch den Ausgang 375-k der Steuereinheit 373 an
den Ausgang 60-k des Schalters 2 übertragen.
-
Bits der Funktionsfelder des Sub-Pakets
und die Übertragungsabtastung
werden von den Ausgängen 59-k und 60-k des
Schalters 2 an die Eingänge 48 und 49 des
assoziativen Speichermoduls 4-k übertragen. Das Bitfeld des
Statusworts (als Schlüssel
für die
assoziative Suche) und die Bitfelder des Operanden und der Übertragungsabtastung
werden jeweils an die Eingänge 372-1, 372-2 371-3 der
assoziativen Speichereinheit (AMU) 367 übertragen. Das Bitfeld des
Statusworts wird ferner an den Dateneingang des Pufferregisters 366 übertragen.
Der Steuereingang des Pufferregisters 366 empfängt die Übertragungsabtastung
vom zweiten Steuereingang 49 des assoziativen Speichermoduls.
-
Ein Sub-Paket, das kein Paar aufweist, "bleibt" im Speicher.
-
Wenn die AMU den entsprechenden Paaroperanden
aufweist, werden die Bitfelder des ersten und des zweiten Operanden
an den Ausgängen 368-1 und 368-2 gebildet.
Die Bitfelder des ersten und des zweiten Operanden, zusammen mit
dem Bitfeld des Statusworts (am Ausgang des Registers 366)
werden an den Datenausgang des assoziativen Speichermoduls 4-k übertragen.
Der zweite Datenausgang 92 des assoziativen Speichermoduls 4-k empfängt die Übertragungsabtastung.
Die am ersten Steuerausgang 369 der AMU 367 gebildet
wird.
-
Nach der Bildung am Datenausgang 51 des assoziativen
Speichermoduls k wird das nachfolgende Paket an den Eingang 36-k des
Pufferblocks 5 und anschließend an den entsprechenden
Eingang der Puffereinheit 348-k übertragen. Der Eingang 37-k der
Puffereinheit 348-k empfängt die Übertragungsabtastung vom zweiten
Steuereingang 52 des assoziativen Speichermoduls 4-k durch
den entsprechenden Eingang des Pufferblocks 5.
-
Wenn das empfangene Paket ein Operandenpaket
ist, werden seine Funktionsfeldbits vom Register 358-2 des
Puffers 350-2 empfangen und das entsprechende Empfangssteuersignal
wird am Ausgang 359-9 der Steuereinheit 356-2 gebildet.
-
Vom Ausgang des Registers 358-2 werden die
Bitfelder des Pakets an den zweiten Dateneingang des Schalters 353 übertragen.
Der entsprechende Steuereingang des Schalters 353 empfängt das
Signal der Schaltsteuerung vom Ausgang des "UND"-Elements 354-1.
Das Signal der Schaltsteuerung wird zusammen mit den Bitfeldern
des Pakets an den ersten Eingang des Schalters 353 übertragen, welcher
als Übertragungsabtastung
dient, und welches am Ausgang des "ODER"-Elements 353-1 abgeschlossen
wird.
-
Wenn das entsprechende Eingangsregister 307-k in
der Schalteinheit 263-2 des Schalters 3 frei ist,
empfängt
der Eingang 27-2-k des Schalters 3 ein Operandenpaket
vom ersten Ausgang des Schalters 353 durch den Ausgang 352-3 des
Puffers 350-2, den Ausgang 349-6 der Puffereinheit 348-k und durch
den Ausgang 45-k des Blocks 5. Die Übertragungsabtastung
wird an den Eingang 26-k des Schalters 3 vom Ausgang 44-k des
Pufferblocks 5 übertragen
und der nachfolgende Verarbeitungszyklus wird ausgeführt.
-
Wenn der Empfang im Schalter 3 abgeschlossen
ist, wird, wenn das Register 307-k aktiv ist, ein die Übertragung
blockierendes Signal von der Schalteinheit an den Eingang 33-k des
Pufferblocks 5 übertragen.
Das die Übertragung
blockierende Signal wird durch den entsprechenden Eingang der Einheit
348-k an den Eingang 351-1 des Puffers 350-2 und
vom Puffer an den Eingang 362-1 der Steuereinheit 356-2 und
den "ODER"-Elementeingang 353-5 geliefert.
Das Steuersignal wird an den fünften
Steuereingang des Schalters 353 übertragen. Daten vom Schalter 353 werden
durch dessen zweiten Ausgang an einen Eingang der RMU 355 zusammen
mit dem Ladesignal vom Ausgang 359-11 der Steuereinheit 356-2 übertragen.
Das Laden von Daten in die RMU 355 wird ausgeführt, bis
das Sperrsignal am Eingang 33-k des Pufferblocks 5 gelöscht wird.
Wenn das Signal gelöscht
ist und wenn keine Daten in den Registern 358-1 und 358-2 und
am vierten Eingang des Schalters 353 vorliegen, werden
die Bits des Pakets von der RMU 355 durch den dritten Dateneingang des
Schalters 353 an den Ausgang 352-3 des Puffers 350-2 und
an den entsprechenden Eingang 45-k des Pufferblocks 5 und
durch die entsprechenden Eingänge und
Ausgänge
des Schalters 3 an den vierten Dateneingang 16 der
k-ten Prozessoreinheit übertragen.
-
Wenn das in der Ausführungsvorrichtung 66 erhaltene
Ergebnis keine Suche nach dem entsprechenden Paar erfordert, wie
durch den Einzel-Eingangscharakter des Befehls bestimmt, wird das
Ergebnis der Verarbeitung und die entsprechende Übertragungsabtastung an den
Ausgängen 21-4, 21-5 und 19-4 der
k-ten Prozessoreinheit gebildet, an welche sie von den entsprechenden
Ausgängen
des Schalters 61 und der Steuereinheit 63 (2) übertragen werden. Die Bitfelder
des Ergebnisses und der entsprechenden Steuersignale werden ähnlich dem Ergebnis
des Doppel-Eingangbefehls
gebildet. Die Sub-Paketbits und die Übertragungsabtastung werden
an die Eingänge 34-k und 35-k des
Pufferblocks 5 übertragen.
-
Wenn das übertragene Sub-Paket ein Befehlswort
ist, wird es vom Register 358-1 des Puffers 350-1 empfangen.
Das entsprechende Steuersignal wird am Ausgang 369-8 der
Steuereinheit 356-1 gebildet. Die Bits des Sub-Pakets werden vom
Ausgang des Registers 358-1 an den Dateneingang des Schalters 357 übertragen.
Vom ersten Dateneingang des Schalters 357 werden die Bits
des Sub-Pakets an den ersten Dateneingang des Schalters 353 übertragen
das entsprechende Signal der Schaltsteuerung, das vom ersten Steuereingang
empfangen wird, wird am Ausgang des "UND"-Elements 354-2 gebildet.
Ein Steuersignal wird vom Ausgang 359-4 der Steuereinheit
an einen Eingang des "UND"-Elements 354-2 übertragen
( 26, 27).
-
Der zweite Datenausgang des Schalters 357 dient
der Übertragung
des Rechenergebnisses an das externe Steuersystem. Das entsprechende
Steuersignal wird am ersten Ausgang des Decodierers 365-1 gebildet.
Der Eingang des Decodierers 365-1 empfängt die Bits des Codes, welche
den Typ des Sub-Pakets identifizieren. Die Daten vom zweiten Datenausgang
des Schalters 357, zusammen mit der Übertragungsabtastung vom Ausgang
359-7 der Steuereinheit 356-1,
werden an den Ausgang 352-4 des Puffers 350-1 und
durch den Ausgang 349-7 der Einheit 348-k übertragen
und der Ausgang 43-k des Blocks 5 wird an den
zweiten Datenausgang 11 des Systems übertragen.
-
Die Verarbeitung der Bitfelder in
der Ausführungsvorrichtung 65,
einschließlich
der Bestimmung der Funktionsfelder des Statusworts durch die Befehlssystemoperationen,
erfolgt im Schaltblock 103 (5, 7). Die entsprechenden Steuersignale,
die an einem Ausgang des Decodierers 137 gebildet werden,
werden durch den Ausgang 111-3 des Steuerblocks 101 an
die Eingänge 113-1...
113-12 des Schaltblocks 103 geliefert. Im Block 103 werden
die Signale für
die Steuerung der Schaltgruppe 173... 178 an den Ausgängen 203...
222 der Steuereinheit 122 gebildet (7). Die Dateneingänge der Steuereinheit 122 empfangen
die Bits der Funktionsfelder des Statusworts, die von den Ausgängen 122-2... 122-11 der
Eingangsregistereinheit 108 übertragen werden. Die modifizierten
Felder der in den Registern 161... 171 befindlichen Status-
und Datenwörter,
die auf diese Weise gebildet werden, werden über die Datenausgänge der
Einheit 103 an die Eingänge 112-3 und 112-4 des
Ausgangsschalters 102 und von dem Ausgang zu dem Adressen-
und dem zweiten Datenausgang 86 und 88 der Ausführungsvorrichtung 65 übertragen.
-
Zusätzlich zu den Operationen des
Modifizierens von Funktionsfeldern führt die Ausführungsvorrichtung 65 auch
die Operationen der Beziehungsbestimmung (beispielsweise zwischen
den Datenwerten zweier Eingänge
eines Befehls oder zwischen den Werten separater Funktionsbitgruppen) aus.
Derartige Operationen werden in der ALU 106 ausgeführt. Im übrigen ist
die Arbeitsweise der Funktionseinheiten der Ausführungsvorrichtung 65 ähnlich der
Arbeitsweise der entsprechenden Einheiten der Ausführungsvorrichtung 66.
Die entsprechenden Steuer- und Dateneingänge 19-4, 21-4 und 21-5, 19-1, 21-1 und 21-2 der
k-ten Prozessoreinheit sind die Stellen, an denen die Übertragungsabtastungen und
die Bits der Ergebnispaketfunktionsfelder gebildet werden, wodurch
der Beginn des nachfolgenden Rechenzyklus eingeleitet wird. Jede
Prozessoreinheit verarbeitet die Befehle ohne gegenseitige Synchronisierung
mit einer der anderen (N-1) Prozessoreinheiten.
-
Das beschriebene Computersystem erreicht somit
eine hohe Leistung durch Erhöhen
der Last der Prozessoreinheiten und durch Verringerung der Laufzeit
der Arbeitsprogramme. Eine hohe Parallelität der Arbeit der Prozessoreinheiten
wird automatisch erreicht und es besteht keine Notwendigkeit zur
Verteilung der gruppen-parallelen Prozesse auf separate Rechenstrukturen
(Ausführungsvorrichtungen)
in jedem laufenden Programm oder zwischen Programmen, was üblicherweise
durch eine Person erfolgt, die sich außerstande sehen kann, dieses
Problem zu lösen,
wenn die Zahl der parallelen Rechenstrukturen zunimmt.
-
Industrielle
Anwendung
-
Die Erfindung kann sowohl bei ingenieurtechnischen,
als auch bei technischen Berechnungen in der Raum- und Luftfahrttechnologie,
der Geodäsie,
der Hydrometereologie und in andern Bereichen angewandt werden.