DE3210816A1 - Datenverarbeitungssystem mit getrennten einrichtungen zur verarbeitung von skalar- und vektordaten - Google Patents
Datenverarbeitungssystem mit getrennten einrichtungen zur verarbeitung von skalar- und vektordatenInfo
- Publication number
- DE3210816A1 DE3210816A1 DE19823210816 DE3210816A DE3210816A1 DE 3210816 A1 DE3210816 A1 DE 3210816A1 DE 19823210816 DE19823210816 DE 19823210816 DE 3210816 A DE3210816 A DE 3210816A DE 3210816 A1 DE3210816 A1 DE 3210816A1
- Authority
- DE
- Germany
- Prior art keywords
- vector
- data
- scalar
- circuit
- command
- 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.)
- Granted
Links
- 239000013598 vector Substances 0.000 title claims description 311
- 238000012545 processing Methods 0.000 title claims description 180
- 230000015654 memory Effects 0.000 claims description 45
- 238000000034 method Methods 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims 3
- 238000002360 preparation method Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- BHMLFPOTZYRDKA-IRXDYDNUSA-N (2s)-2-[(s)-(2-iodophenoxy)-phenylmethyl]morpholine Chemical compound IC1=CC=CC=C1O[C@@H](C=1C=CC=CC=1)[C@H]1OCCNC1 BHMLFPOTZYRDKA-IRXDYDNUSA-N 0.000 description 2
- 102220465858 La-related protein 4_L15A_mutation Human genes 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8061—Details on data memory access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
Description
HITACHI, LTD. Tokyo, Japan
Datenverarbeitungssystem mit getrennten Einrichtungen
zur Verarbeitung von Skalar- und Vektordaten
Die vorliegende Erfindung betrifft eine für die Vektorverarbeitung eingerichtete elektronische
Datenverarbeitungseinrichtung, die für eine Vektorverarbeitung mit hoher Geschwindigkeit eingerichtet
ist (im folgenden als Vektorprozessor bezeichnet).'
Ein Vektorprozessor ist eine Verarbeitungseinrichtung, die zur Verarbeitung einer Vielzahl von Elementen
eines geordneten Datenfeldes (kurz als Vektordaten oder einfach als Vektor bezeichnet) und eines anderen in
einem Hauptspeicher gespeicherten Vektors eingerichtet ist.
Fig. 1 zeigt schematisch einen Verarbeitungsvorgang
bei der Summenbildung der Vektoren B und C, die den
Vektor A erzeugen. Bei dem dargestellten Beispiel werden entsprechende Komponenten b.. und c . der Vektoren B und
C summiert, wodurch eine Komponente a.. des Vektors A
entsteht. Im allgemeinen kann der Vektorprozessor zu-
321 OB 1
sätzlich zu der Verarbeitung der Vektordaten einen für die Vorbereitung der Vektorverarbeitung nötigen
Verarbeitungsvorgang (beispielsweise die Berechnung
der Startadresse des Vektors)/ eine übliche skalare Verarbeitung und einen Ein-Ausgabevorgang durchführen.
Typische Beispiele eines solchen Vektorprozessors bilden STAR-100 von CDC und CRAY-1
der Cray Research Inc.
Wenn ein FORTRAN Programm mit doppelt verschachtelten DO-Schleifen die Vektorverarbeitung durchführt, wird
lediglich die innere DO -Schleife durch die Vektorverarbeitung ausgeführt, während die äußere Schleife
gewöhnlich als Söftwareschieife ausgeführt ist.
Daraus ergibt sich bei herkömmlichen Vektorprozessoren eine sequentielle Durchführung der Vektor-
und
behandlung der Skalarbehandlung. Beispielsweise wird die in Fig. 2 gezeigte Operation in der Form, wie sie in Fig. 3 gezeigt ist, durchgeführt. In Fig. bezeichnen die Abkürzungssymbole(v)und(s)am Ende der jeweiligen Schritte, ob eine Vektor- oder eine Skalarbehandlung ausgeführt wird. Im folgenden werden die einzelnen Schritte erklärt:
behandlung der Skalarbehandlung. Beispielsweise wird die in Fig. 2 gezeigte Operation in der Form, wie sie in Fig. 3 gezeigt ist, durchgeführt. In Fig. bezeichnen die Abkürzungssymbole(v)und(s)am Ende der jeweiligen Schritte, ob eine Vektor- oder eine Skalarbehandlung ausgeführt wird. Im folgenden werden die einzelnen Schritte erklärt:
Schritt 1: Berechnet die Dimension eines zu behandelnden
Vektors. (Skalarverarbeitung). In diesem Beispiel beträgt die Dimension 100 und wird durch den Bereich von
J bestimmt.
Schritt 2: Schreibe die Vektordimension in ein
Vektordimensionsregister (VLR mit einer SETVL-Anweisung (Skalarverarbeitung).
J ^ I U Ö
Schritt 3s Berechne die Vektorstartadresse
Vektors B (im vorliegende» Beispiel die Adresse der Komponente B (1?1)). (Skalarverarbeitwng).
Schritt 4s Schreib® die ¥ektorstastaöresse in ein
Vektoradreßregister (VMI) mit einer
{Skalas
Schritt 5 s Berechne eis AdreEinkreiaeat zwischen
den Vsktorkomponenten des Vektors B0 Bei diesem Bei·=·
spiel beträgt das Adreßiakrekent 3<? da die Vektor™
koaponenten Adressen aufweisen,, die jeweils mit einem
Intervall voa Ewei Adressen angeordnet siad) (Skalarrarbeitun
Schritt 6% Schreib® das Inkremeat in ©in Vektor-ÄdreB-Inkr<smenfer@gi©tsr
(VAIR) mit einer SETVMR^Änweisung.
(Skalarverarbeitung)=
Schritt Ί s Hole d©n Vektor B au® dem Hauptspeicher
mit einer LQ&DVR~Anweisung mit Besug auf die Inhalte,
näialieh den Mressenwert in den- Register-n. VÄR„ VAIR
und die Vektordimension ißt. Register VLl1? und lade
ihn in eia '^üQ-lisktosregister (VRO) . (Vektorverarb®
i tang)
Schritte 8 ° Ils
Schritten 3=6 gleichenden Verarbeitungsschritte aus (Skalarverarbeituag)
Schritten 3=6 gleichenden Verarbeitungsschritte aus (Skalarverarbeituag)
Schritt 12s Hole den Vektor C a«s ä®m Hauptspeicher
mit einer LOADVR-Änweisung unter Be^ug auf die Inhalte
der Register VAR4, VAIR «nd VLR und lade ihn in ein
321OG16
^1-Vektorregister (VR1). (Vektorverarbeitung)
Schritt 13: Addiere die Komponenten der Vektoren B und C, die jeweils in den Vektorregistern VRO und
VRt gespeichert sind, mit einer ADDVR-Anweisung so oft,
wie die der im Vektordimensionsregister VLR gespeicherten Vektordimension entsprechende Komponentenzahl
angibt und speichere die Ergebnissumme in ein ^2-Vektorregister (VR2). (Vektorverarbeitung)
Schritte 14 - 17: Führe für den Vektor A die den
Schritten 3 bis 6 gleichenden Verarbeitungsschritte aus. (Skalarverarbeitung)
Schritt 18: Speichere den Inhalt des Vektorregisters VR2
mit einer STOREVR-Anweisung unter Bezug auf die Inhalte der Register VAR, VIR und VLR ab. (Vektorverarbeitung)
Schritt 19: Inkrementiere einen Index I um 1 mit einer Inkrement-Anweisung, vergleiche den inkrementierten
Index I mit 100 mit einer COMPARE-Anweisung und fahre mit Schritt 3 mit einer BRANCΗ-Anweisung fort, falls
I nicht größer als 100 ist. (Skalarverarbeitung)
Weiterhin werden die Schritte 3 bis 19 solange wiederholt, bis I den Wert 100 erreicht. Die Vektorstartadresse
wird / ausgehend von der Anfangsadresse B
(1,I)7 bis zu den Adressen B (2, 1), B (3, 1), ...
bei jeder Wiederholung geändert. Dasselbe gilt für die Vektoren C und A.
Bei diesem Beispiel nimmt die skalare Verarbeitungs™
zeit ungefähr 10 % der gesamten Verarbeitungszeit ein.
Das Verhältnis hängt von der Anzahl der zu verarbeitenden
Vektorkomponenten ab« Gewöhnlich reicht die
Anzahl der gw verarbeitenden Vektorkomponenten von
10 bis 1000 oder mehr« Dabei ist die Obergrense der in einer Vektorverarbeitung kontinuierlich zu verarbeitenden
Anzahl von Vektorkomponenten gleich der aus einem Vektorregister erhältlichen Anzahl von Vektorkomponenten
(das ist die Vektorregisterlänge), und daher muß die Vektorverarbeitung In mehreren Zyklen
erfolgen,, wenn die Anzahl der zu verarbeitenden Vektorkomponenten größer als die Vektorregisterlänge ist.
Wenn beispielsweise die Vektorregisterlänge 64 beträgt,
und die Anzahl der Vektorkomponenten 100 ist, ist die Vektorverarbeitung nach zweimaligem Wiederholen 'des
Verarbeitungsablaufs von Fig. 2 (64 Vektorkomponenten im
ersten Zyklus und 36 Vektorkomponenten Im zweiten Zyklus) abgeschlossen. In diesem Falle belauft sich das
Verhältnis (tiberhang) der Skalarverarbeitungszeit zur
Gesamtverarbeitungszeit auf 20 %. Mit der gegenwärtig
erhältlichen Computerha-räware..technolQgie kann man im
allgemeinen die · VeYarbeitruMgsgesehw.indLgJceite der-- :Ska\Larverarbeitung
oder der Vektorverarbeitung aieh^einfaeh
erhöhen. Für die Erhöhung der Veriurbeltungsgeschwindigkeit
einer Vektorbearbeitung bedeutet dies eine wesentliche Beschränkung. Deshalb ist eine Erhöhung der Vektorverarbeitungsgeschwindigkeit
mit der herkömmlichen Technik schwierig.
Aufgabe der vorliegenden Erfindung Ist es, einen Vektorprozessor, der die skalare Verarbeitung und die
3210316
VektorVerarbeitung parallel durchführt, zu ermöglichen,
womit der Überhang der Skalarverarbeitung/v-wesentlich
erniedrigt und die Geschwindigkeit der Vektorverarbeitung wesentlich erhöht wird.
Zur Lösung der obigen Aufgabe weist der erfindungsgemäße Vektorprozessor eine Teilung einer in einer
beabsichtigten Verarbeitung abzuarbeitenden Befehlskette in eine Skalarbefehlskette und eine Vektorbefehlskette
auf, die in einem Hauptspeicher getrennt gespeichert sind. Eine voneinander getrennte Skalarund
Vektorverarbeitungseinheit, die die Skalarbefehlskette und die Vektorbefehlskette getrennt holen,
decodieren und Ausführen ermöglichen dabei eine überlappende Verarbeitung der Skalar- und Vektordaten.
Die vorliegende Erfindung wird im folgenden anhand der Figur näher beschrieben. Es zeigen:
Fig. 1 eine Art der Vektorverarbeitung; Fig. 2 ein FORTRAN-Programm für den Ablauf bei der
Vektorverarbeitung;
Fig. 3 ein Flußdiagramm der Verarbeitung eines herkömmlichen Vektorprozessors;
Fig. 4 einen Gesamtaufbau eines Vektorprozessors gemäß einer ersten Ausführung der Erfindung;
Fig. 5 eine Anordnung einer Skalarverarbeitungseinheit gemäß der ersten Ausführung der Erfindung;
Fig. 6 eine Anordnung einer Vektorverarbeitungseinheit gemäß der ersten Ausführung der Erfindung;
FIg0 7 ein Flußdiagrasnm der Skalarverarbeitung und
der Vektorverarbeitung gemäß der ersten Ausführung der Erfindungs
Fig0 8 ©iae Anordnung ©iner Vektorverarbeitungsgemäß
einer sweitsa Aasföhruag der
Fig» 9 ©iae Anordnung einer Skalarvorarbeitungseinheit
gemäß einer dritten jtasflhriiag der Erfindung?
Fig„ 10 eine Anordnung einer Vektorverarbeitungseiaheit
gemäß der dritten Ausführuag der Erfindung»
Wie öie Darstellung in Pig„ 4 geigte besteht der
Vektorprosessor dar vorliegenden Erfindung aus einer Skalarverarbeitungseinheit (SPU) ü1, einer Vektorverarbeitungselnheit
(VPU) 02,, einem Hauptspeicher (MS) C3(,der für beide Verarbeitungseinheiten gemeinsam istf
und ©iner Speichersteuereinheit (SCO) C1, In dem MS C3 sind eine Skalarbefehlskette rnnr Verarbeitung■in der
SPU 01 «ad eine Vektorbefehlskette E«r Verarbeitung in der
VPü U2{, sowie Vektor und Skalardaten gespeichert.
Der Zugriff zu diesen Daten geschieht über die
Die SCü C1 holt auf eine Daten= oder Skalarbefehl*»
Hol-Änforderung' der SPO U1 ein Datum oder einen
Skalarbefehi, welche dureh eine von der BPU ü1 gelieferte
Adresse gekennzeichnet sind, aus dem BlSC3 und liefert
sie der SPO U1. Auf eine Datenspeicheranforderung der
SPU Ut speichert die SCU C1 ein von der SPU U1 geliefertes
Datum in eine Speiehersteil© des MS CB1,
321 or,
die durch eine von der SPU U1 gelieferte Adresse gekennzeichnet
ist. In derselben Weise nimmt die SCU U1 auf eine Daten- oderVektor-Befehlshohlanweisung der
VPU U2 Zugriff zum MS C3 und liefert geholte Daten oder
Vektorbefehle an die VPU U2. Ebenso speichert die SCU C1 auf eine Datenspeicheranforderung der VPU U2
Daten in das MS C3. Auf diese Weise antwortet die SCU C1 der vorliegenden Erfindung auf die Zugriffsanforderungen der SPU U1 und der VPU U2 getrennt.
Die SCU C1 enthält ein Skalarbefehlsregister (SIR) R2, allgemeine Register (GR) R3, eine Skalar ALU C7 und
eine Steuerung SC zur Steuerung dieser Teile, und verarbeitet die Skalarbefehlskette im MS C3. Die
Skalarbefehlekette enthält allgemeine Skalarbefehle, wie sie imJTBM manual "System/370 Principles of
Operation" gezeigt werden (GC-22-7000). Nach Maßgabe dieser Befehle werden die Skalardaten im GR R3 oder
dem MS C3 skalarverarbeitet und das Ergebnis in den GR R3 oder den MS C3 gespeichert. Zusätzlich zu
den obigen Skalarbefehlen führt die SPU U1 der vorliegenden Erfindung Skalarbefehle aus, die Anweisung
zum Auslesen <*er zum Betrieb der VPU U2 nötigen Information
aus dem GR R3 oder dem MS C3 geben und die
Leseinformation an die VPU U2 liefern und einen Skalarfoefehl, der die Anweisung zum Start der VPU U2 gibt.
Die für die durch die VPU U2 auszuführende Vektorverarbeitung benötigten Skalardaten, die Anzahl der
Vektorkomponenten der Vektordaten (Vektordimension), die der Vektorverarbeitung unterworfen werden, die
Adresse der Startkomponente der Vektordaten, und das Adreßinkrement zwischen den Vektorkomponenten werden in
Skalarreglster (SR) R8/ ein. Vektordimensioasregister
(VLR) R4„ Vektoradreßregister (VAR) R6 und Vektor™
adreßinkrementregister (VAIR) R7 jeweils - . . - geladen, und eine Startadresse der zu verarbeitenden
Vektorbefehlskette wird in ein Vektorbefehlsadreßregister (VIAR) R5 geladen« Wenn die VPO U2 durch
die SPü UI gestartet wird, überträgt;"sie· die Inhalte
der VAR R6, der VAIR R7 und der SR R8 jeweils an die" Arbeitsregister (VAR (WVAR) R9, die Arbei^sregister VAIR
(WVAIR) R10 und die Arbeitsregister SR (WSR) R 11 und holt gesteuert durch eine Vektorbefehissteuerung VC
unter Bezug auf die Arbeitsregister und das VLR R4 die Vektorbefehlsketten beginnend mit dem durch das
VIAR R5 gekennzeichneten Vektorbefehl aus dem MS C3 und führt in einer Vektor ALU C5 die Vektorverarbeitung
unter Bezug auf die Vektorregister (VR)R13 und die
Arbeitsregister WSR RH durch»
Nach dem Start der VPÜ U 2 durch die SPü U1 führt
sie den Skalarbefehl aus, der die für die folgende Vektorverarbeitung benötigten Daten aus dem GR R3 ausliest,
und die Daten in das VAR R6,, das VAIR R7 und das SR R8 lädt.
Auf diese Weise führt die SPU ü 1,naeh^dexn die
VPü ü2 gestarte^und die«'Veletarverarbeitung ausführt,
die -SkalaEverarbeifcung for die «lä'ehste Vektorverarbeitung
parallel aus»
Die Pig.5 und 6 zeigen Einzelheiten jeweils der
SPü U1 und der VPü U2. Deren Betrieb wird im einzelnen
unter Bezug auf das Flußdiagraxnm in Fig. 7 im folgenden erläutert. Dabei werden in Fig. 5 die Teile, die den
321 (Γ ;
Ablauf gewöhnlicher Skalarbefehle betreffen, zum Zweck
der einfacheren Darstellung übergangen.
Von den von der SPU U1 ausgeführten Skalarbefehlen
werden im folgenden sechs Befehle, die sich im einzelnen auf die vorliegende Erfindung beziehen,
erklärt. Jeder dieser Befehle enthält ein Operationscodefeld und zwei Felder (R1, R2) für Operanden,
die das erste und das zweite Register kennzeichnen.
1. Vektorprozessor-Start'KSVP) Befehl:
Er bewirkt den Start der VPU U2 und lädt die
Vektordimension und die Vektorbefehlsadresse jeweils in das VLR R4 und das VIAR R7. Das R1 Feld des Befehls
kennzeichnet die Adresse des GR R3, das die Vektordimension enthält, und das R2 Feld kennzeichnet
die Adresse des GR R3, das die Adresse des MS C3 der auszuführenden Vektorbefehlskette enthält.
2. Vektoradreßregiste^-Setz-iSVAR) Befehl:
Er bewirkt das Setzen der Startadresse der durch*die
VPU ü2 zu verarbeitenden Vektordaten in das VAR R6. Das R1 Feld des Befehls kennzeichnet die Adresse des
VAR R6, das die zu setzende Adresse enthält, und das R2 Feld kennzeichnet die Adresse des GR R3, das die
Startadresse der zu verarbeitenden Vektordaten enthält.
3. Vektoradreßinkrementregistej?-Setz-{SVAIR) Befehl:
ER bewirkt das Setzen des Adreßinkrements der durch
die VPU Ü2 zu verarbeitenden Vektorkomponenten in das
321081^
WkIS R7„ Qas R1 Feld des Befehls k@nnseiehnet die Adresse
des FaIR1? Ib das das Ädreßinkrenient gesetzt werden SOlI1,
und das 12 Feld kennzeichnet die Adresse des GR R3»
das das ausetsende Vektoradreßinkreraeat enthält.
4„ Slcalarregister-sete-^fSSR) Befehls
Er bewirkt das Setzen der für die Vektorirerarbeitung
nötigen Skalardaten im das. SR R8» Das 11 Feld des Befehls kennzeichnet die Adresse des SR R8„ in das. die
Skalardaten gesetzt werden, und das R2 Feld kennseichnet die Jkdresse des GE S3? das die au setzende» Skalar-
5 ο Skalarregister-Less-4RSR) Befehls
Er bewirkt das Lese» der ira vorhergehenden Vektorverent»standenen
Skalardafcen durch die
IO » O
oder eiaer Vektor susanie) «ad das Setzen dieser Daten
in das Gl R30 Das R1 Feld des Befehls kennzeichnet die
Adresse äas SR17 aus deia die Skalardaten aasgelesen
werden und das R2 Feld kennaeichnet die Adresse des
GR R3ff ia das die Skalardaten gesetst werden ο
Sr bewirkt das Prüfen des Zustande der VPU 02 und
das Setze» eines Bedingungscodes. Dabei werden die R1 and E2 Felder des Befehls nicht verwendet. Während
dem Betrieb öler VFO ü2 wird der Bedijagwngseode auf
01I" gesetEtf, und ^enn sie außer Betrieb ist? wird der
Bedingwngseode auf "Ο10 gesetzt« Der Bedingungscode
wird zur Visraweigung· mit ©inon bedingten Befehl ver-
wendet, wie es in dem IBM manual "System/370 Principles of Operation" (GC-22-7OOQ) beschrieben ist.
Wie die . Fig. 5 zeigt, wird eine in einem Skalarbefehlsadreßregister
(SIAR) enthaltene Skalarbefehlsadresse in der SPU U1 an die SCU C1 über eine Leitung
übertragen, und die SCU C1 holt den Skalarbefehl aus dem MS C2 und setzt ihn in das Skalarbefehlsregister
(SIR)R2 über eine Leitung 52. Das Operationscodefeld
R21 des Befehls wird durch einen Decodierer L2 decodiert, so daß eines der Flipflops (FF) F1 - F6
dem Befehl entsprechend gesetzt wird/und die Ausgänge des FF werden an die Skalarbefehlssteuerung C2 übertragen
und zur Ausführung des Befehls verwendet. Der Inhalt des SIAR R1 wird durch einen Inkrementierer L1
um 1 inkrementiert, wodurch der nächste Befehl angezeigt wird, und die inkrementierte Adresse wird wieder
in das SIAR R1 gesetzt. Diese Schrittfolgen werden durch die Skalarbefehlssteuerung C2 gesteuert, so daß
die Befehle nacheinander geholt, in das SIR R2 gesetzt und abgearbeitet werden. Im folgenden wird der
Ablauf der sechs, für die Erfindung wesentlichen Befehle, die oben beschrieben wurden, erklärt, wobei die
Erklärung der anderen Befehle hier entfällt. Die FF F1 bis F6 werden jeweils durch den SVP-Befehl,
den S.VAR-Befehl, den SVAIR-Befeh^den^SSR-Befehl,
den RSP Befehl und den TVP-Befehl gesetzt.
Um die in Fig. 7 gezeigte Vektorverarbeitung (1) in der VPU U2 einzuleiten, führt die SPU U1 die
Schritte S1 bis S5 aus, um die notwendigen Adressen und
Daten bereitzustellen.
Schritt SIs
Sowie der SSR-Befehl in das SIR R2 gesetzt ist und dessen Operationscodefeld R21 vom Decoder L2
decodiert.ist, wird das FF F4 gesetzt und dessen Ausgang
an die Skalarbefehlssteuerung C2 über eine
Leitung 4 übertragen, so daß der Befehl abgearbeitet wirdο Der Inhalt des R2 Feldes R23 des SIR R2
wird an einen Selektor L5 geliefert, der wiederum die für die Vektorverarbeitung (1) benötigten Skalar«
daten aus einem der GR RS4, wie es eine auf einer Leitung
ausgegebene Anweisung bestimmt, ausliest. Der Inhalt des RI Feldes R22 des SIR R2 wird an einen Selektor L7
angelegt» der mit dem FF F5 über eine Leitung 9 verbunden ist. Wenn das FF F5 nicht gesetzt ist, wählt
der Selektor L7 den Inhalt des R1 Feldes R22, und wenn
das FF F5 gesetzt ist, wählt der Selektor L7 den .Inhalt des R2 Feldes R23 und der ausgewählte Inhalt
wird auf einer Leitung 5 ausgegeben. Auf diese Weise
wählt der Selektor L7 beim SSR-Befehl die Ausgabe des R1 Feldes R22 aus. Daraus ergibt sich, daß die durch
den SSR-Befehl angegebene Adresse des SR R8 an einen Decoder LIO (Fig. 6) in der VPU U2 über die Leitung 5
angelegt wird. Der Ausgang des FF F4 wird dem Decoder L10 über die Leitung 4 eingegeben. Da das FF F4 beim
SSR-Befehl gesetzt ist, bewirkt der gesetzte Ausgang des FF F4 beim Decoder LIO das Decodieren der Adresse
des SR R8, die über die Leitung 5 übertragen wird. Für jedes der SR R8 ist eine ODER-Schaltung L19 und ein
Selektor 17 vorgesehen. Der Decoder L10 sendet ein "!"-»Signal an die ea-tspr-eehende ODER-Schaltung L19
und den-".entsprechenden Selektor LI7 des SR R8, was der
gelieferten Adresse des SR R8 entspricht, damit über
die Leitung 6 die Skalardaten im SR R8 gesetzt werden. Auf das "1"-Signal des Decoders L1O bewirkt der entsprechende
Selektor L17 die Auswahl der Skalardaten auf der Leitung 6 und sendet sie an das entsprechende
SR R8. Auf die Ausgabe der ODER Schaltung L19 setzt das entsprechende SR R8 die Eingabedaten des Selektors L17.
In dieser Weise werden die für den Ablauf der Vektorverarbeitung (1) benötigten Skalardaten in dem SR R8
gesetzt. Der SSR-Befehl wird solange wiederholt, bis
alle bereitzustellenden Skalardaten für die Vektorverarbeitung (1) in den SR R8 gesetzt sind. Dabei bewirkt
der mit dem SR R8 verbundene Selektor L17 die Auswahl der Ausgabe der Vektor ALU C6 oder der Daten
auf der Leitung 6 und setzt das ausgewählte SR R8.
Schritt S2:
Im SIR R2 wird der SVAR-Befehl gesetzt und dieser setzt das FF F2. Der Ausgang des FF F2 wird an die
Skalarbefehlssteuerung C2 über eine Leitung 2 angelegt und,gesteuert von der Skalarbefehlssteuerung 02/der
Befehl ausgeführt. Der Inhalt des R2 Feldes R23 des Befehls wird an einen Selektor L5 geliefert, der ein
durch das R2 Feld R23 bestimmtes GR R3 auswählt und dessen Inhalt an das VAR R6 (Fig. 6) über eine Leitung
sendet. Das Datum auf der Leitung 6 ist eine Speicheradresse der für die Vektorverarbeitung (1) nötigen
Vektordaten. Das R1 Feld des Befehls enthält die Adresse des VAR. Wenn dieses durch einen Selektor L7
ausgewählt wird, wird es über die Leitung 5 an einen Decoder L8 (Fig. 6) geliefert. Der Decoder L8 wird
durch den gesetzten Ausgang des FF F2 über die Leitung befähigt, die durch das R1 Feld gegebene Adresse des
VAR su decodieren und die Adresse der Vektordaten auf
der Leitung 6 in ein entsprechendes Register innerhalb
des VAS E6 su setEen» Auf diese Weise wird die
Speicheradresse für die bereitzustellenden Vektordaten für die Vektorverarbeitung (1) in <ai» entsprechendes /
innerhalb des VAR R6 befindliches/Register gesetzt.
Der SVÄR Befehl wird solange wiederholt, bis alle
für die Vektorverarbeitung (1) bereitzustellenden Speicheradressen für die Vektordaten in das VAR R6 gesetzt
Schritt S3s
Isa SIR R2 wird der SVAIR-Befehl gesetzt und durch
ihn das FF F3 gesetzt. Der gesetzte Ausgang des FF F3
wird der Skalarbefehlssteuerung C2 über eine Leitung 3 zugeführt, womit die Befehlsausführung gesteuert
und ein Decoder L9 (Fig« 6) angesteuert wird« Das R2 Feld des Befehls wird an Selektor L5 gelegt, der das
für die Vektorverarbeitung (1) nötige Adreßinkrement der
Vektordaten aus dem GR R3 ausliest und in das VAIR R6 (Figo6) über die Leitung 6 setzt. Andererseits wird
•yoHi Selektor L7 das RI Feld des Befehls ausgewählt und
an einen Decoder L9 (Fig„ 6) über die Leitung 5 angelegt.
Der Decoder L9 setzt über die Leitung 6 die Daten im VAIR R7y das durch die Adresse des VAIR über die leitung
bestimmt wird. Auch dieser Befehl wird so oft wie nötig wiederholt«,
Schritt S4s
Sowie das Setzen des VAR R6, des VAIR R7 und des SR RS erfolgt ist, wird der SVP-Befehl ausgeführt, der der
3210316
VPU Ü2 die Anweisung zum Abarbeiten des Vektorbefehls
gibt. Wenn der SVP-Befehl in das SIR R2 gesetzt ist, wird das FF F1 gesetzt und dessen "1"-Ausgang wird
an die Skalarbefehlssteuerung C2 und an die VPU U2 über die Signalleitung 1 geliefert. Wenn zu dieser
Zeit die VPü U2 in Betrieb ist, erscheint auf einer Signalleitung 14 ein "1"-Signal, das den EIN-Betrieb anzeigt.
Dieses Signal sperrt eine UND-Schaltung K23 und verhindert, daß der Ausgang des FF F1 an die
VPU ü2 geliefert wird. Aufgrund des gesetzten Ausgangs des FF F1,der von einer ODER-Schaltung L22 über eine Leitung 2O anliegt, wird der Inhalt der Signalleitung in das FF F7 gesetzt. Der SVP-Befehl bewirkt als Ergebnis das Setzen des FF F7 auf "1", falls die UVP U2 in Betrieb ist und auf 11O", falls die VPU U2 nicht in Betrieb ist. Die ersten und zweiten Registeradreßfeider R22 und R23 des SXR R2 werden jeweils an die Selektoren L4 und L5 geliefert, die die Ausgänge der GR R3 auswählen. Diese Selektoren lesen die Vektordimension und die Vektorbefehlsstartadresse, wie sie durch die entsprechenden Felder bestimmt sind,aus einem der GR R3 Register aus und senden sie an die VPU U2 jeweils über die Signalleitungen 7 und 6. Falls zu dieser Zeit die VPU U2 in Fig. 6 nicht in Betrieb ist, bewirkt die VPU U2 auf ein Signal von der Signalleitung 1 hin, das anzeigt, daß der SVP-Befehl ausgeführt wurde, daß die folgende Operation durchgeführt wird. Zunächst bewirkt das
VLR R4 auf das Signal von der Leitung 1 hin, das Speichern der Vektordimension des zu verarbeitenden Vektors über die Signalleitung 7. Der Selektor L21 reagiert auf das "1"-Signal auf der Leitung 1 mit der Auswahl der Vektorbefehlsstartadresse auf der Signalleitung 6 und das
VPU ü2 geliefert wird. Aufgrund des gesetzten Ausgangs des FF F1,der von einer ODER-Schaltung L22 über eine Leitung 2O anliegt, wird der Inhalt der Signalleitung in das FF F7 gesetzt. Der SVP-Befehl bewirkt als Ergebnis das Setzen des FF F7 auf "1", falls die UVP U2 in Betrieb ist und auf 11O", falls die VPU U2 nicht in Betrieb ist. Die ersten und zweiten Registeradreßfeider R22 und R23 des SXR R2 werden jeweils an die Selektoren L4 und L5 geliefert, die die Ausgänge der GR R3 auswählen. Diese Selektoren lesen die Vektordimension und die Vektorbefehlsstartadresse, wie sie durch die entsprechenden Felder bestimmt sind,aus einem der GR R3 Register aus und senden sie an die VPU U2 jeweils über die Signalleitungen 7 und 6. Falls zu dieser Zeit die VPU U2 in Fig. 6 nicht in Betrieb ist, bewirkt die VPU U2 auf ein Signal von der Signalleitung 1 hin, das anzeigt, daß der SVP-Befehl ausgeführt wurde, daß die folgende Operation durchgeführt wird. Zunächst bewirkt das
VLR R4 auf das Signal von der Leitung 1 hin, das Speichern der Vektordimension des zu verarbeitenden Vektors über die Signalleitung 7. Der Selektor L21 reagiert auf das "1"-Signal auf der Leitung 1 mit der Auswahl der Vektorbefehlsstartadresse auf der Signalleitung 6 und das
3210316
VIAR R5 reagiert auf das Signal der Leitung 1 mit
dem Speichern der ausgewählten Adresse. Die Vektoradreßarbeitsregister (WVAR) R9 reagieren auf das
1-Signal der Leitung 1 mit dem Empfang (Kopie) der Inhalte aller VAR R6. Zu diesem Zwecke ist jedes der
WVAR und das entsprechende der VAR Rß mit -der Leitung 1 verbunden und reagieren auf das "!"-Signal der
Leitung 1 mit dem Einspeichern des Inhalts des entsprechenden VAR R6. Die Vektoradreßinkrementarbeitsregister
(WVAIR) RIO sind mit der Leitung 1 und den VAIR R7 in derselben Weise verbunden,- so daß
jedes der WVAIR R1O auf das "1"-Signal der Signalleitung
mit dem Empfang (Kopie) des Inhalts des entsprechenden VAIR R7 reagiert. In derselben Weise kopieren die Skalararbeitsregister
(WSR)R 11 den Inhalt der SR R8. Damit das Signal über die Ausgangsleitung 10 von der
Vektor ALü C6 der VPO U2 zu den WSr|r1 1, sowie den
SR R8 geliefert wird, sind die Selektoren L18 zur Auswahl
der Ausgangsleitungen der SR R8 und der Ausgangsleitung 10 der Vektor ALü C6 mit den Eingangsanschlüssen
der WSR R11 verbunden. Auf den Ausgang einer entsprechenden
ODER-Schaltung L20 reagiert jedes der WSR R11 mit dem Einspeichern des Ausgangs des entsprechenden Selektors
L18. Die Signalleitung 1 ist mit der ODER-Schaltung L2O
verbunden. Demgemäß wird beim Auftreten einer "1" auf der Signalleitung 1 in jedem der WSR R11 der
Inhalt des entsprechenden SR R8 gespeichert. Natürlich
ist die Anzahl der WVAR R9, der WVAIR R1O und der WSR RH Register gleich der jeweiligen Registeranzahl
der VAR R6# der VAIR R7 und der SR R8. Die Signalleitung
ist auch zum Setzen mit dem FF F10 verbunden' und dessen gesetzter Ausgang wird an die Vektorbefehlssteuerung C4
3210316
gelegt, womit die Anweisung zum Ausführungsbeginn der Vektorverarbeitung gegeben wird.
Die obige Beschreibung macht deutlich, daß durch die Ausführung des SVP-Befehls von der SPU U1 in dem
VLR R4 die Vektordimension, im VIAR R5 die Startadresse
der Vektorbefehlskette gesetzt werden und die Inhalte der VAR R6, der VAIRR 7 und der SR R8 jeweils
in die WVAR R9, die WVAIR R1O und die WSR R11 kopiert
werden. Auf diese Weise wird der Vektorbefehlsablauf (1) für den Start vorbereitet.
Falls die VPÜ U2 in Betrieb ist, wenn der SVP-Befel
decodiert wird, wird das FF F7 auf "1" gesetzt und keine anderenAbläufe ausgeführt.
Schritt S5:
Die SPü U1 verzweigt aufgrund eines bedingten Befehls,
und prüft,ob die VPU U2 durch den SVP-Befehl gestartet
wurde. Wenn die aufgrund des bedingten Befehls erfolgte Verzweigung vom Decoder L2 decodiert ist, prüft
die Skalarbefehlssteuerung C2 die den Bedingungscode anzeigende Ausgabe des FF F7 über die Leitung 18, womit
entschieden wird, ob der Befehl ausgeführt werden soll. Wie bereits beim SchritdS4 beschrieben, zeigt der
"1" Ausgang des FF F7 an, daß die VPU U2 bei der Decodierung des SVP-Befehls in Betrieb ist und daher
kein Starten durch den SVP-Befehl erreicht wurde. Deshalb führt bei einer "1" Ausgabe des FF F7 die Skalarbefehlssteuerung
den vorigen SVP-Befehl noch einmal aus. Wenn der Ausgang des FF F7 "O" ist, steuert die
Skalarbefehlssteuerung C2 den Inhalt des SIAR R1 so;daß
eine Vergweigung zum nächsten Skalarbefehlsablauf
erfolgtο Eine in der SPü U1 enthaltene Schaltung zar
Ausführung des Verzweigungsbefehls wird zum Zweck der einfacheren Darstellung nicht gezeigt, kann jedoch
in einer bekannten Technik aasgeführt werden.
Schritte S6 ■=■ SI2s
Wenn die SPü U1 den erfolgreichen Start der VPO U2
durch die Ausführung des bedingten Verzweigungsbefehls feststellt, führt die SPO U1 die Befehlsschritte S7
bis S8 sum Setzen der für die Ausführung der folgenden
Vektorverarbeitimg (2) beaötigten Skalardaten, Vektoradressen
und Vektoradreßinkremeni© jeweils in die
SR RS,, die VAR R6 und die VAIR R7y in gleicher Weise
wie die Schritte S1 bis S3, aus» Da die Inhalte der
SR R8„ der VAR R6 und der VAIR R7 jeweils in die
WSR RH, die YJVAR R9 und die WVAIR R1O mit dem vorausgegangenen
SVP-Befehl gerettet wurden, kann die SPO ü1 nach Vollendung des Schritts S8 die Skalarverarbeitung
parallel mit der Ausführung der vektorverarbeitung
(1) durchführen. Dabei führt die SPU U1
den SVP Befehl in derselben, oben beschriebenen Weise
aus und führt dann den bedingten Verzweigungsbefel {Schritt S10) aus. Falls die SPU U1 den, aufgrund der
bereits in Betrieb befindlichen VPü U1,erfolgten,Fehlstart feststellt, führt sie aufs neue den SVP-Befehl
und den bedingten Verzweigungsbefehl (Schritte S11 und SI2)
aus, und falls sie den erfolgreichen Start feststellt, fährt si© xnit dem nächsten Schritt fort.
Im folgenden wird der Betrieb der VPO U2 erklärt. Die
VPÜ Ö2 ist sur Ausführung der im Fiußdiagraram in Pig. 3
32 1 OC16
gezeigten und anderer Befehle fähig. In der folgenden Beschreibung werden lediglich die zum Verständnis der
Erfindung notwendigen Befehle und die zu ihrer Ausführung
von der VPU U2 ausgeführten Operationen erklärt.
Schritt V11:
Bei der Ausführung des SVP-Befehls durch die SPü U1, wird durch das "1"-Signal auf der Leitung 1
das FF F1O der VPU Ü2 gesetzt und der "1"-Ausgang
des FF F1O startet den Betrieb der Vektorbefehlssteuerung
C4. Der Ausgang des FF F1O wird über die Leitung 14 an die SPU U1 gesendet, womit dieser mitgeteilt wird, daß die VPU U2 in Betrieb ist. Sowie
die Vektorbefehlssteuerung C 4 gestartet wurde, wird die vorher im VIAR R5 gesetzte Vektorbefehlsadresse
der SCÜ C1 über eine Leitung 80 gesendet. Aufgrund der Vektorbefehlsadresse wird der erste Befehl der
Vektorbefehlskette im MS C3 geholt und in das VIR R12
über die SCU C1 und die Leitung 82 gesetzt. Die Vektorbefehlssteuerung C4 weist zur Decodierung des
im VIR R12 gesetzten Befehls und zu dessen Ablaufsteuerung
eine bekannte Schaltung auf. Sowie der LOADVR-Befehl im VIR R12 gesetzt ist, sendet die Vektorbefehlssteuerung
C4 die im VLR R4 gespeicherte Vektordimension und die durch den Befehl gekennzeichnete
Adresse des VAR über die Leitung 78 an eine Vektorzugriff ssteuerung C5, um diese zu starten. Die Vektorzugriffssteuerung
C5 wiederum steuert zum Auslesen der Startadresse der Vektordaten (z. B. die Speicheradresse
der Startkompoente B(1) der Vektordaten B) aus dem durch die VAR-Adresse über die Leitung 15 gekennzeichneten
WAR R9 den Selektor LiI und den Selektor Li 2 zum
Auslesen des Vektordatenadreßinkrements aus dem durch
die VAR Adresse über die Leitung 16 gekennzeichneten
WVAIR R1O und stellt aufgrund dieser Lesedaten Hauptspeicheradressen
zum Holen der gekennzeichneten Vektordimension der Vektordaten B für die SCO C1 über
die Leitung 84 bereit» Dies bewirkt,, daß die Komponenten
der Vektordaten B über die Leitung 88 sequentiell ausgelesen werden. Andererseits setzt die
Vektorbefehlssteuerung C4 in das durch den LQADVR-Befehl
gekennzeichneten VR R13 über die Leitung 90 die gelesenen Vektordaten B. Der LOAVDR-Befehl wird
solange wiederholt, bis alle für die Vektorverarbeitung (1) benötigten Vektordaten in das VR R13 gesetzt sind. Auf
solche Weise werden die Vektordaten, beispielsweise A und B in das VR R13 gesetzt.
Die Vektorbefehlssteuerung C4 setzt wiederholt die folgende Befehlsadresse, die durch den Inkrementierer C9
über den Selektor L21 im VIAR R5 bereitgestellt wird. Daraus folgt, daß die im VIAR R5 fortgeschriebene
Adresse sequentiell der SCÜ C1 über die Leitung 80 gesendet und daß der Vektorbefehl aus dem MS C3 sequentiell
geholt und in das VIR R12 gesetzt wird. Die Vektorbefehlskette
wird in dieser Weise abgearbeitet. Wenn der Vektorverarbeitungsbefehl, beispielsweise ADDVR-Befehl,
in das VIR R12 gesetzt wird, steuert die Vektorbefehlssteuerung
C4 die Selektoren L16, L27 und L28 in bekannter Weise so, daß sie die beiden durch den
Befehl gekennzeichneten Vektoren, beispielsweise A und B aus den Vektorregistern (VR) R13 Komponente für
Komponente auslesen und sie der Vektor ALU C6 zusenden.
3210316
Schritt V12:
Die Vektor ALU C6 führt die Operationen für die
Komponenten der Eingabevektordaten in bekannter Vektorverarbeitung aus.
Schritt V13:
Sobald das Ergebnis der Vektoroperation festliegt, speichert die Vektorbefehlssteuerung C4 das Ergebnis
in dem durch den Befehl gekennzeichneten VR R13 in bekannter Weise ab.
Dabei wird die Verarbeitung einer Vektorkomponente i der Vektordaten und das Abspeichern des Verarbeitungsergebnisses der vorigen Komponente (i-1) parallel
durchgeführt.
Sobald der STORE VR-Befehl ausgeführt ist, erzeugt i". die Vektorzugriffssteuerung C5 für die jeweiligen
Komponenten die Adressen des MS C3,an denen die Vektorkomponenten abgespeichert werden, unter Bezug auf das
WVAR R9 und das WVAIR R1O, und führt diese Adressen dem MS C3 über die Leitung 84 und die SCU C1 zu.
Der abzuspeichernde Vektor wird Komponente für Komponente aus dem VR R13 sequentiell ausgelesen und dem
MS C3 über den Selektor L16, die Leitung 86 und die SCü C1 zugeführt und diese im MS C3 unter Bezug auf
die von der Vektorzugriffssteuerung C5 gelieferten Adressen abgespeichert.
Schritt V14:
Die Vektorbefehlssteuerung C4 weist eine bekannte (nicht gezeigte) Schattung auf, die das Beendigen der
Verarbeitung des letzten Vektorbefehls der Vektorbefehlskette feststellt? und eine (nicht gezeigte)
Schaltung Q die mittels des Ausgangs der - Prüfschaltung
über die Leitung 92 das FF FIO rücksetzt. Demnach wird nach erfolgter Ausführung der Vektorbefehlskette
das FF F10 gurüekgesetzt und dessen Ausgang an die SPO 01 über die Leitung 14 gesendet«, Deshalb wird
die Vektorverarbeitung (1) beendet und die VPU U2
befindet sich außer irr Betrieb» Bedingt, durch die
Ausführung des SVF-Befehls in der SPO U1 (Schritt S11)
werden die für die nächste Vektorverarbeitung (2) benötigten Daten in di© FÄR R6„ VAIR Rl und SR R8
der VPU Ü2 gesetzt»
Schritt® V21 und V22s
Falls die aufs neue gestartete Vektorverarbeitung (2) die Skalardaten im HSR R11 und die Vektordaten im
VR 113 verwendet, steuert die Vektorbefehlssteuerung C4
die Selektoren L13 und L27 so, daß sie die Skalardaten
aus dem durch den decodierten Befehl gekennzeichneten
WSE R11 auslesen und sie der Vektor ALU Cβ zusenden
und die Selektoren L16 und L28 so„ daß sie
die Vektordaten aus dem durch den deeodierten Befehl
gekennzeichneten VR Ri3 auslesen und sie an die Vekt-
tor ALU C6 senden« Auf diese Weise wird die Verarbeitung der Skalar- und der Vektordaten durchgeführt. Falls
die Vektorverarbeitung (2) für die Skalaroperationen lediglich Skalardaten verwendet, werden mitteis des
Seiektors L13 awei Skalardaten ausgelesen und an die
Vektor ALU C6 über die Selektoren L27 und L28 gesendet.
die
Di® Vektor ÄLO C6 kann auch Äkalaroperation ausführen.
Di® Vektor ÄLO C6 kann auch Äkalaroperation ausführen.
3210016
- 35 Schritte V23 und V24:
Falls der in den Schritten V21 und V22 ausgeführte Befehl lediglich Skalardaten erzeugt, beispielsweise
ein Befehl zur Berechnung eines inneren Vektorprodukts, sendet die Vektorbefehlssteuerung C4 die durch den
Befehl gekennzeichnete Skalarregisteradresse an den Decoder L14 über die Leitung 11 und über die Leitung 12
ein Signal zum Start des Decoders L14. Die hierfür
dienliche Schaltung ist aus Vereinfachungsgründen nicht
dargestellt. Der Decoder L14 sendet ein "1"-Signal
an eine der ODER-Schaltungen L2O, von denen eine für jedes der WSR R11, das der Eingabeskalarregisteradresse
entspricht, vorgesehen ist. Die Steuersignale für die mit den WSR R11 verbundenen Selektoren L18 werden
über die Leitung 1 ausgegeben. Wie bereits beschrieben, befindet sich während des Betriebs der VPU ü2 das
Signal auf der Leitung 1 im "O"-Zustand und die Selektoren L18 wählen die Daten auf der Ausgangsleitung 10 der
Vektor ALU C6 aus und liefern sie an die entsprechenden WSR R11. Somit werden die durch die Verarbeitung sich
ergebenden Skalardaten in das durch die Registeradresse des Befehls gekennzeichnete WSR R11
gespeichert. Bei der vorliegenden Erfindung werden die Skalardaten sowohl im WSR R11 als auch im SR R8 gesetzt,
wie nachfolgend beschrieben ist:
Die Ausgangsleitungen des Decoders L14 sind mit den
entsprechenden ODER-Schaltungen L19 verbunden. Somit
wird das "1"-Signal an dasjenige SR R8 geliefert, das der durch den Befehl gekennzeichneten Skalaradresse
entspricht. Die Steuersignale für die mit den Eingangsanschlüssen der entsprechenden SR R8 verbundenen
Selektoren L17 bilden die vom Decoder L1O erzeugten
Signale, die während des Betriebs der VPO Ö2 sich im "0"-Zustand befinden» Somit wählen die Selektoren L17
die Daten auf der Ausgangsleitung 10 der Vektor ALU C6 aus. Auf diese Weise werden die sich aufgrund der
Verarbeitung ergebenden Skalardaten in dasjenige SR R8 gespeichert„ das der durch den Befehl gekennzeichneten
Skalarregisteradresse entspricht.
Die Skalardaten werden deshalb im WSR R11 gespeichert,
damit ein Ablauf möglich ist , der die Skalardaten bei der Vektorverarbeitung (2) benötigt.
Dieselben Skalardaten werden auch in das SR R8 gespeichert,,
damit die aus der Vektorverarbeitung (2) sich ergebenden Skalardaten in einer weiteren Vektorverarbeitung
erhältlich sind. Sobald die folgende Vektorverarbeitung beginnt,, wird, wie oben beschrieben,,
der Inhalt des SR R8 in das WSR R11 überschrieben, so
daß die in das SR R8 geschrieberP» Daten für eine weitere Vektorverarbeitung zur Verfügung stehen. Nach
erfolgtem Abspeichern der Skalardaten führt die Vektorbefehlssteuerung C4 den gleichen Endschritt wie
Schritt VI4 aus. Somit ist die Vektorverarbeitung (2)
beendet.
Schritte S13 - S18s
Falls die SPü Ui, nachdem sie die Vektorverarbeitung
(2) begonnen hat„ sich auf die angefallenen Skalardaten beziehen möchte, führt sie den TVP-Befehl
aus, mit dem geprüft wird, ob die VPU Ü2 in Betrieb
ist oder nicht»
321 OS 16
Nach Fig. 5 wird nach dem Setzen im SIR R2 der TVP-Befehl durch den Decoder L2 decodiert
und das FF F6 gesetzt. Der Ausgang des FF F6 wird an die Skalarbefehlssteuerung C2 über die Leitung
und an das FF F7 über die ODER-Schaltung L22 und die Leitung 20 zum Setzen des FF F7 geliefert. Der Dateneingangsanschluß
des FF F7 ist mit der Signalleitung 14, die den Betriebszustand der Vektorverarbeitung der
VPU U2 anzeigt, verbunden. Sobald die Vektorverarbeitung begonnen hat, wird das FF F7 in den Zustand "1"
und wenn kein Betrieb ist, in den Zustand "0" gesetzt. Das FF F7 bildet einen Teil des Bedingungscodes
und dessen Ausgang wird der Skalarbefehlssteuerung C2 über die Leitung 18 gesendet (Schritt S12).
Sodann wird der bedingte Verzweigungsbefehl in das SIR R2 geladen und der Zustand ("1" oder 11O")
des Ausgangs des FF F7 untersucht (Schritt S14).
Falls der Ausgang des FF F7 im Zustand "1" ist, werden der TVP-Befehl und der bedingte Verzweigungsbefehl
wiederholt ausgeführt (Schritte S13 bis S19).
Schritt S19:
Wenn nach Beendigung der Vektorverarbeitung (2) das FF F7 im Zustand "0" ist, wird angezeigt, daß die
Verzweigung erfolgt ist und der RSR-Befehl ausgeführt.
Aus Fig. 5 ist ersichtlich, daß der RSR-Befehl nach dem Setzen im SIR R2 decodiert und das FF F5
gesetzt wird. Der Ausgang des FF F5 wird über die Leitung 9 an die Skalarbefehlssteuerung C2 gesendet und
liegt am Steuereingang des Selektors L7 an. Da das Signal auf der Signalleitung 9 im Zustand "1" ist,
wählt der Selektor L7 den Inhalt des zweiten Registerfeldes
R23 des SlR R2 aus und sendet ihn über die
Signalleitung 5 an die VPU 02 ο Wie bei der VPü U2
in Fig., 6 gezeigt, ist die Signalleitung 5 mit dem Selektor Li5 verbunden. DerjSelektor Li5 wählt den
Ausgang des durch den Befehl gekennzeichneten Registers SR R8 aus und sendet ihn über die Signalleitung
an die SPO U1L In der in Fig„ 5 gezeigten SPU Ui
werden die Daten auf der Signalleitung 8 an das GR R3 über den Selektor LO gelieferte der die Ausgangsleitung
13 der Skalar ALU C7 der SPU öl oder die mit dem SR R8 verbundene Datenleitung 8 abhängig vom Ausgangs
zustand ctes FF F5 "Ό"' oder "1" auswählt. In-''diesem
Beispiel wird die Datenleitung 8 ausgewählt» Der
Decoder L3 deeodiert den Inhalt des ersten Registerfeldes R22 des SlR R2„ womit eines der GR R3„ in
das die Daten geladen werdenf bestiramt wird» Falls das
"1" besitzt,
durch den Befehl gekennzeichnete GR S3 ein Schreibsignai
sendet» Ia diesem Beispiel werden die auf der
Datenleitung 8 übertragenen Skalardaten geladen« Wenn die Skalarverarbeitungsschritte S1 bis S19 2«m Start
der Vektorverarbeitung beendet sindf kann die SPU U1
eine gewöhnliche Skalarverarbeitung S20 ausführen«, ■
Bei der oben beschriebenen Ausführung der Erfindung kollidieren die Ladevorgänge in das SR, falls gleichzeitig
von der YPU U2 Daten in das SR-und das WSR-Register
und von der SPU UI mit dem SSR-Befehl während dem Betrieb
der VPU 02 Daten in dasselbe SR-Register geladen werden.
Daten·*· Falls zuerst von der SPU 01 beim aufbau das SR geladen wird,
3210016
bleibt das Ergebnis der VPU U2 im SR, und falls zuerst
die Skalarergebnisse von der VPU U2 in das SR geladen werden, bleiben die Aufbaudaten im SR. Anders gesagt/
dürfen sich in diesem Fall die Vektor- und die Skalarverarbeitung nicht überlappen. Deshalb muß man zuerst
die Verarbeitung der VPU U 2 beenden, das Ergebnis auslesen, die Daten bereitstellen und dann die Vektorverarbeitung
aufs neue starten.
Im folgenden wird eine zweite Ausführung der Erfindung beschrieben, die das obige Problem vermeidet und wo
der Datenaufbau und die Vektorverarbeitung mit demselben
Register möglich ist.
Bei der zweiten Ausführung der Erfindung wird eine in der Fig. 8 dargestellte VPU verwendet. Der Unterschied
zu der in Fig. 6 gezeigten VPU U2 besteht darin, daß ein Selektor L15A zur Auswahl des Ausgangs des
WSR R11 vorgesehen ist, daß der Ausgang des Selektors L15A über die leitung 8 an der SPU U1 anliegt und daß
der Ausgang der Vektor ALU C6 nicht an das SR R8 angelegt ist.
Im folgenden werden nur die Unterschiede des Betriebs genau erklärt.
Die Skalardaten auf der Leitung 6 werden in derselben Weise wie bei der ersten Ausführung der Erfindung im
Register SR R8 gesetzt. Da jedoch der Ausgang der Vektor ALU C6 nicht .a«i SR R8 in Fig. 8 anliegt,
ist die Auswahl durch den Selektor L16 in Fig. 6 unnötig. Bei der Ausführung des SVP-Befehls werden die
Daten aus dem SR R8 in das WSR RI1 in derselben Weise
wie bei der ersten Ausführung der Erfindung überführt. In den Schritten V23 und V24 wird der Ausgang der
Vektor ALU C6 in derselben Weise wie bei der ersten Ausführung der Erfindung in das WSR R11 gesetzt.
Wenn im Schritt SI9 die von der VPü U2 erzeugten
Skalardaten mit dem RSR-Befehl ausgelesen werden,
wählt der Selektor 16A den Ausgang des durch die Registeradresse gekennzeichneten WSR R11 aufi der
Leitung 5 aus und sendet ihn über die Leitung 8 an die SPU ü1.
Da das SR R8 lediglich zum Laden der Daten der SPU Ui verwendet wird,, kann das Laden der Daten
in das SR R8 und das Laden des Ausgangs der Vektor ALU C6 in das WSR R11 parallel ausgeführt werden.
Bei den beiden oben beschriebenen Ausführungen der Erfindung holt die SPU Ui aus dem MS C3 die in der
VPU U2 zu setzenden Daten, bevor diese darin gesetzt werden„ speichert sie in das GR R8 und liest die gespeicherten
Daten von dem GR R3 aus und setzt diese
entsprechend dem Datensetzbefehl in der VPU U2» Die
schwindigkeit
Vorbereitungs ge kann erhöht werden, wenn man den Befehl so verändert,, daß der Datensetzbefehl das Holen
der in der VPU U2 zu setzenden Daten aus dem MS C3 bewirkt und indem man die SPU U1 so verändert, daß
sie die aus dem MS C3 geholten Daten direkt an die VPU U2 ohne den Umweg über das GR R3 aufgrund des
Datensetzbefehls zugehen, sendet«
321C316
Im folgenden wird eine dritte Ausführung der Erfindung beschrieben, bei der zur Realisierung der
obigen Verbesserung die erste Ausführung der Erfindung abgewandelt ist.
Bei der dritten Ausführung der Erfindung erhält das R2 Feld des Befehls eine Adresse des MS C3, bei
der die als Operand zu verwendenden Daten gespeichert sind. Zum Beispiel enthalten die R2 Felder des
SVP-, des SVAR-, des SVAIR-, des SSR- und des RSR-Befehls
jeweils die Adresse der Vektorbefehlskette, die Adresse,bei der die Startadresse der Vektordaten
gespeichert ist, die Adresse, bei der das Adreßinkrement
gespeichert ist, die Adresse, unter der die Skalardaten gelesen werden sollen, und die Adresse,an der die
Skalardaten gespeichert werden sollen. In diesem Zusammenhang ist eine Signalleitung 6 vorgesehen, um den
I nhalt des Feldes R23 des SIR R2 von der SPU1 an die
SCU ^u senden. Die Signalleitung 6 ist ebenfalls mit
einem Selektor L21 verbunden (Fig. 10). Die SCü C1 reagiert auf die Adresse auf der Leitung 6, indem sie
die Daten aus dem MS C3 holt und sie an das VAR R6, das VAIR R7 und das SR R8 in der VPU U2 über die
Leitung 94 sendet. Die Skalardaten werden über die Leitung 8 vom SR R8 an die SCU C1 gesendet. Die Unterschiede
zur ersten Ausführung der Erfindung werden im folgenden genau erklärt:
Schritt S1:
Wenn der SSR-Befehl im SIR R2 der U1 gesetzt ist (Fig. 9), wird der Inhalt des Feldes R23 über die
Leitung 6 an die SCU C1 gäsendet und diese holt die
durch die Adresse auf der Leitung 6 gekennzeichneten Skalardaten aus dem MS C3 auf der Leitung 94 von
02 (Fig. 10). Der Inhalt des Feldes R22 des SIR R2
wird an den Decoder L10 der ü2 (Fig» 10) über die Leitung 5 gefühj± und wird zum Setzen der Daten über
die Leitung 94 im SR R8 verwendet=
Sehritt S2s
Aufgrund des Feldes R23 im SVAR-Befehl im SIR R2
wird die für die Vektorverarbeitung (1) benötigte Vektordatenadresse aus dem MS C3 über die Leitung 94
geholt und in das VAR R6 gesteuert vom Decoder-L8,
an dea das Feld R22 des SIR R2 über die Leitung 5 angelegt ist β eingespeichert.
Schritt S3s
Beim SVÄIR-Befehi wird das Vektoradreßxnkrement
im VAIR R7 in der gleichen Weise wie bei den Schritten S1
und S2 gesetzt«,
Schritt S4:
Der Inhalt des Feldes R23 des SVP Befehls x^ird über
die Leitung 6 an den Selektor L21 angelegt und im VIAR R5 gesetzt=
Schritt S19s
Der Inhalt des Feldes R22 des im SIR R2 gesetzten RSR-Befehls wird an den Selektor Li5 (Fig. 10) über
die Leitung 5 angelegt. Der Selektor L15 wählt das
durch das Signal auf der Leitung 5 gekennzeichnete SR R8 aus und sendet es über die Signalleitung 8 an die
SCU C1. Der Inhalt des zweiten Feldes R23 des SIR R2
3210016
wird über die Leitung 6 an die SCU C1 gesendet und die SCU C1 reagiert auf die Adresse des Feldes R23
mit dem Speichern der Daten in das MS C3 über die Leitung 8. Somit werden die für die Vektorverarbeitung
benötigten Daten durch einen Befehl aus dem MS C3 geholt und in der VPÜ U2 gesetzt.
Bei den oben beschriebenen ersten bis dritten Ausführungen der Erfindung sind das VLR R4 und das
VIAR R5 nicht dupliziert/ da die darin zu setzenden Daten nur von einem SVP-Befehl vorbereitet werden
können und die Vorbereitungszeit kurz ist. Jedoch können zur Erhöhung der Verarbeitungsgeschwindigkeit
diese Register dupliziert sein. Insbesondere kann man für diese Daten zusätzliche Register und einen zusätzlichen
Befehl vorsehen, wobei der zusätzliche Befehl vor der Ausführung des SVP-Befehls zum Auslesen der
Vektordimension und der Vektorbefehlsadresse aus den GR R3 der SPU U1, um sie in den zusätzlichen
Registern der VPU Ü2 zu setzen, ausgeführt wird. Danach wird der SVP-Befehl ausgeführt. Es ist in diesem Fall
unnötig, daß der SVP-Befehl die Vektordimension und die Vektorbefehlsadresse aus den GR R3 ausliest.
Bei den oben beschriebenen Ausführungen der Erfindung kann man einen (nicht gezeigten) Zähler,, der die
Verarbeitungszeit der VPU U2 zählt, duplizieren, so daß
die SPU Ü1 einen dieser Zähler auf eine vorbestimmte Zeit setzt und die VPU Ü2 während ihres Betriebs den
anderen Zähler herunterzählt, wobei die VPÜ ü2 ihren
Betriebbe endet, wenn ihre Verarbeitungszeit eine vorbestimmte
Zeit erreicht. Die SPü U1 kann während des Betriebs
der VPU U2 die folgende Vektorverarbeitungszeit bestimmen. Gemäß der vorliegenden Erfindung, können,,
wie oben beschrieben, die Vektorverarbeitung und die Skalarverarbeitung parallel ausgeführt werden. Durch
die Duplizierung der für die Vorbereitung verwendeten Register VAR, VAIR und SR, wird die Vorbereitung für
die folgende Vektorverarbeitung parallel zur gerade ablaufenden Vektorverarbeitung ermöglicht t so daß
der Überhang der Vorbereitung verringert wird. Daraus ergibL sich eine Erhöhung der Vektorverarbeitungsgeschwindigkeit.
Weil gewöhnlich mehr als ein Vektor— adreßinurement und Skalardatum für eine Vektorverarbeitung
vorbereitet werden müssen, wirkt sich das Duplizieren der für diese Daten verwendeten Register
in einer Erhöhung der Vektorverarbeitungsgeschwindigkeit
aus.
Claims (1)
- PatentansprücheM.) Datenverarbeitungseinrichtung,
gekennzeichnet durch- einen Hauptspeicher (MS C3), der Vektordaten und Skalardaten, sowie Vektorbefehlsketten und Skalarbefehlsketten in sich gespeichert hat,- eine Skalarverarbeitungseinheit (SPU U1), die eine der Skalarbefehlsketten und ein Datum der Skalardaten aus dem Hauptspeicher (MS C3) holt, die geholten Skalarbefehle decodiert, die Befehle ausführt und die sich aus der Ausführung der Befehle ergebenden Skalardaten in den Hauptspeicher (MS C3) speichert,- eine Vektorverarbeitungseinheit (VPU U2), die eine der Vektorbefehlsketten und ein Datum der Vektordaten holt, die geholten Vektorbefehle decodiert, die Befehle ausführt und die aus der Ausführung der Befehle sich ergebenden Vektordaten in den Hauptspeicher (MS C3) einschreibt, wobei- die Skalarverarbeitungseinheit (SPU U1) eine Datenversorgungseinrichtung enthält, die entsprechend dem Skalarbefehl, parallel zur Ausführung der momentanen Vektorbefehlskette, Daten für die Ausführung der nachfolgenden Vektorbefehlskette bereitstellt, und wobei- die Vektorverarbeitungseinheit (VPU U2) aufgrund der von der Datenversorgungseinrichtung bereitge-81-(A6542-03)-AtFstellten Daten die nachfolgende Vektorbefehlskette ausführt.2 ο Datenverarbeitungseinrichtung nach Anspruch 1, dadurch gekennzeichnet,daß die Datenversorgungseinrichtung eine Schaltung (F2, R3, L5) enthält, die eine Adresse einer Startkomponente der in der Ausführung der nachfolgenden Vektorbefehlsfolge benötigten Vektordaten an den Haupt-Datenverarbeitungseinrichtttng nach Anspruch 1 oder 2, dadurch gekennzeichnet,daß die Datenversorgungseinrichtung eine Schaltung (P3, K3„ <L5) enthält„ die eia Adreßinkrement für die bei der Aus führ ungjder folgenden Vektorbefehlskette benötigten Vektordaten dem Hauptspeicher (MS C3) liefert.4 ο Datenverarbeitungseinrichtung nach einem der voran gegangenen Ansprüche ?die Dateaversorgungseinrichtung eine Schaltung (F4, L55 enthält,, die die für die Ausführung der nächsten Vektorbefehlskette verwendeten Skalardaten bereitstellt.5» Datenverarbeitungseinrichtung nach einem der voran" -gegangenen Ansprüche, dadurch gekennzeichnet, daß die3210316Datenversorgungseinrichtung eine Schaltung (FI, R3, L5) enthält, die die Startbefehlsadresse der folgenden Vektorbefehlskette bereitstellt.6. Datenverarbeitungseinrichtung nach einem der vorangegangenen Ansprüche,
dadurch gekennzeichnet,daß die Datenversorgungseinrichtung eine Schaltung (F1, R3, L4) enthält, die die Anzahl der Komponenten der in der folgenden Vektorbefehlskette zu verarbeitenden Vektordaten bereitstellt.7. Datenverarbeitungseinrichtung nach Anspruch 1, dadurch gekennzeichnet,daß die Vektorverarbeitungseinheit (VPU ü2) eine erste und zweite miteinander verbundene Speicherschaltung aufweist,daß die Datenversorgungseinrichtung eine Schaltung enthält, die die bereitgestellten Daten in die erste Speicherschaltung speichert und eine übertragungsschaltung, die die in der ersten Speicherschaltung gespeicherten Daten in die zweite Speicherschaltung, bevor die folgende Vektorbefehlskette ausgeführt wird, überträgt, wobei die Vektorverarbeitungseinheit (VPU Ü2) die folgende Vektorbefehlskette mit den in der zweiten Speicherschaltung gespeicherten Daten ausführt.8. Datenverarbeitungseinrichtung nach Anspruch 7, dadurch gekenn ζ e i ch ne t,daß die erste und zweite Speicherschaltung jeweils eineVielzahl von Registern enthalten, in denen Hauptspeicheradressen der Startkomponenten der bei der Ausführung der folgenden Vektorbefehlskette verwendeten Vektordaten gespeichert sind.9. Datenverarbeitungseinrichtung nach Anspruch 7 oder 8, dadurch gekennzeichnet,daß die erste und zweite Speicherschaltung jeweils eine Vieljsahl von Registern aufweisen, in denen Hauptspeicheradreßinkremente der für die Aü%ührung der folgenden Vektorbefehlskette verwendeten Vektordaten gespeichert10. Datenverarbeitungseinrichtung nach einem der Ansprüche 7 bis 9,dadurch gekennzeichnet,daß die erste und zweite Speicherschaltung jeweils eine Vielzahl von Registern enthalten, in denen Skalardaten, die für die Ausführung der folgenden Vektorbefehlskette verwendet werden, gespeichert sind»11. Datenverarbeitungseinrichtung nach einem der Ansprüche bis 10,dadurch gekennzeichnet,daß die Skalarverarbeitungseinheit (SPU U1) eine Befehlsschaltung enthält, die ein Signal aussendet, das der Vektorverarbeitungseinheit (VPU Ü2) Auftrag sum Start der Ausführung der folgenden Vektorbefehlskette gibt, unddaß die übertragungsschaltung die Daten auf das Signal3210316hin, das den Auftrag zum Start der Ausführung gibt, überträgt.12. Datenverarbeitungseinrichtung nach Anspruch 11, dadurch gekennzeichnet,daß die Befehlsschaltung das Signal zum Start der Befehlsausführung unter der Bedingung erzeugt, daß die Vektorverarbeitungseinheit (VPU U2) nicht in Betrieb ist.13. Datenverarbeitungseinrichtung nach Anspruch 12, dadurch gekennzeichnet,daß die Vektorverarbeitungseinheit (VPU U2) eine Anzeigeschaltung enthält, die anzeigt, ob die Vektorverarbeitungseinheit (VPU U2) in Betrieb ist oder nicht, unddaß die Befehlsschaltung Mittel aufweist, die das Signal zum Start der Befehlsausführung erzeugen, und Mittel, die das Signal zum Start der Befehlsausführung an die Vektorverarbeitungseinheit (VPU U2) unter der Bedingung senden, daß die Anzeigeschaltung anzeigt, daß die Vektorverarbeitungseinheit (VPU U2) außer Betrieb ist.14. Datenverarbeitungseinrichtung nach einem der Ansprüche 11 bis 13,
dadurch gekennzeichnet,daß die Datenversorgungseinrichtung eine Schaltung enthält, die die Startbefehlsadresse der folgendenVektorb©f<3hlsk@tte der Vektorverarbeitungs-einheit (VPU U2) liefert,, wenn das Signal zum Start »führung ge15«. Datenverarbeitungseinrichtung nach einem der Ansprüche 11 bis 14,
dadurch gekennzeichnet,daß die Datemrersorgungseinrichtung eiae Schaltung enthalte, die die Anzahl der Komponenten der bei der Ausführung der folgenden Vektorbefehlskette su verarbeitenden Vektordaten an die Vektorverarbeitungseinheit (VPU U2) liefert, wenn das Signal sum Start der Befehlsausführung gesendet wird.16o Datenverarbeitungseinrichtung nach Anspruch 15, dadurch gekennzeichnet,daß die Vektorverarbeituagseinheit (VPO U2) eine Schaltung enthält, die die bei der Ausführung der Vektorbefehlskette sich ergebenden Skalardaten in die entsprechenden Skiairdatenspeicherregister der ersten und aweiten Speicheranordnung speichert» unddaß die Sfelarverarbeitungseinheit (SPO 01) eine Schaltung aurweist, die„ abhängig von den Skalarbefehlen, die in den Skalardatenspeicherregistern der ersten Speichergespeicherten Skalardaten ausliest.17» Datenverarbeitungseinrichtung nach Anspruch 16,3210216daß die Vektorverarbeitungseinheit (VPU U2) eine Schaltung enthält, die die sich bei der Ausführung der Vektorbefehlskette ergebenden Skalardaten in die zweite Speicheranordnung speichert, unddaß die Skalarverarbeitungseinheit (SPU U1) eine Schaltung enthält,die, abhängig von den Skalarbefehlen, die in der zweiten Speicheranordnung gespeicherten Skalardaten ausliest.18. Datenverarbeitungseinrichtung nach Anspruch 16 oder 17,dadurch gekennzeichnet,daß die Schaltung zum Auslesen der Skalardaten diese an den Hauptspeicher (MS C3) sendet.19. Datenverarbeitungseinrichtung nach Anspruch 1, dadurch gekennzeichnet,daß die Datenversorgungseinrichtung eine Schaltung enthält, die die Daten an die Vektorverarbeitungseinheit (VPU ü2) liefert, unabhängig davon, ob die Vektorverarbeitungseinheit (VPU U2) in Betrieb ist oder nicht,daß die Skalarverarbeitungseinheit (SPÜ ü1) eine Schaltung enthält, die der Vektorverarbeitungseinheit (VPU U2) eine Anweisung für den Start der Ausführung der folgenden Vektorbefehlskette, abhängig von der Bedingung gibt, daß die Vektorverarbeitungseinheit (VPU U2) außer Betrieb ist, unddaß die Vektorverarbeitungseinheit (VPU U2) eine Speicherschaltung enthält, die die gelieferten Daten unabhängig davon,ob die Vektorverarbeitungseinheit CVPU U2) in Betrieb ist oder nicht, speichert und eine Steuerung, die abhängig von den Anweisungen der Befehlsschaltung, die Ausführung der folgenden Vektorbefehlskette aufgrund der gespeicherten Daten steuert, und der Befehlsschaltung meldet, daß die Vektorverarbeitungseinheit (VPU U2) in Betrieb ist«20. Datenverarbeitungseinrichtung nach Anspruch 19, dadurch gekennzeichnet,daß die Speicherschaltung einen ersten und zweiten Speicher enthält und eine Schreibschaltung, die die Daten in den ersten und zweiten Speicher einschreibt,daß die Steuerung eine Leseschaltung enthält, die Daten aus dem ersten oder zweiten Speicher während der Ausführung der gestarteten Vektorbefehlskette ausliest, unddaß die Schreibschaltung auf die von der Datenversorgungseinrichtung bereitgestellten Daten während des Betriebs der Steuerung mit dem Einschreiben der Daten in denjenigen ersten oder zweiten Speicher, der nicht zum Auslesen durch die Steuerung verwendet wird, reagiert»21. Datenverarbeitungseinrichtung nach Anspruch 20, dadurch gekennzeichnet,daß die Steuerung nur aus dem zweiten Speicher Daten ausliest unddaß die Schreibschaltung Mittel aufweist, die unabhängig— Q —.davon, ob die Vektorverarbeitungseinheit (VPU U2) in Betrieb ist oder nicht, die Daten in den ersten Speicher einschreiben, und Mittel, die auf die Anweisung der Befehlsschaltung mit der Übertragung des Inhalts des ersten Speichers in den zweiten Speicher reagieren.22. Datenverarbeitungseinrichtung nach Anspruch 21, dadurch gekennzeichnet,daß die Datenversorgungseinrichtung Mittel enthält, die Skalaroperanden zur Verarbeitung der folgenden Vektorbefehlskette liefern,daß der erste fipeicher]eine Vielzahl von ersten Skalarregistern, die die Skalaroperanden speichern, enthält,daß der zweite Speicher eine Vielzahl von zweiten Skalarregistern enthält, wobei jedes der zweiten Skalarregister einem ersten Skalarregister entspricht,daß die Vektorverarbeitungseinheit (VPU U2) eine Schreibschaltung enthält, die die bei der Ausführung der Vektorbefehle sich ergebenden Skalardaten in die entsprechenden ersten und zweiten Skalarregister einschreibt, unddaß die Skalarverarbeitungseinheit (SPU U1) eine Leseschaltung aufweist, die, abhängig von einem der Skalarbefehle eines der ersten Skalarregister ausliest.23. Datenverarbeitungseinrichtung nach Anspruch 22, dadurch gekennzeichnet,■daß die Leseschal^t-ung^ das Skalarregister-unter*der Be-3210318dingung ausliest? daß die Vektorverarbeitungseinheit (¥PU Ü2) nicht in Betrieb ist.24 ο Datenverarbeitungseinrichtung nach Anspruch 21, dadurch gekennzeichnet?daß die Anordnung der Datenversorgungseinrichtung Mittel enthält f. die die für die Verarbeitung der folgenden Vektorbefehlskette benötigten Skalaroperanden bereitstellen,,daß der erste Speicher eine Vielzahl von ersten Skalarregistern enthält,, die die Skalaroperanden speichern j.daß der zweite Speicher eine Vielzahl von streiten Registern, die den ersten Skalarregistern Register für Register entsprechen, enthält,daß die Vektorverarbeitungseinheit (VPU U2) Mittel sum selektiven Einschreiben der durch die Ausführung der Vektorbefehle sich ergebenden Skalardaten in die aweiten Skalarregister, unddaß die Skalarverarbeitungseinheit (SPü U1) Mittel enthält, die„ abhängig von den Skalarbefehlen? die zweiten Skalarregister selektiv auslesen«25. DatenveralJbeitungseinrichtung nach Anspruch 1, dadurch gekennzeichnet,daß die Datenversorgungseinrichtung eine Vielzahl von SkalarregistSSn, Sie die für die Ausführung der der3210016momentan verarbeiteten Vektorbefehlskette folgenden Vektorbefehlskette benötigten Daten speichert, und Mittel, die abhängig von den Skalarbefehlen die Daten aus den Skalarregistern auslesen und sie an die Vektorverarbeitungseinheit (VPU U2) liefern.26. Datenverarbeitungseinrichtung nach Anspruch 1, dadurch gekennzeichnet,daß die Datenversorgungseinrichtung eine Schaltung enthält, die die durch den Skalarbefehl gekennzeichnete Adresse dem Hauptspeicher (MS C3) sendet, die Daten aus dem Hauptspeicher (MS C3) holt und diese der Vektorverarbeitungseinheit (VPU 02) liefert.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4231481A JPS57157373A (en) | 1981-03-25 | 1981-03-25 | Vector processor |
JP14465881A JPS5846467A (ja) | 1981-09-16 | 1981-09-16 | ベクトルプロセツサ |
JP1873482A JPS58137081A (ja) | 1982-02-10 | 1982-02-10 | ベクトルプロセツサ |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3210816A1 true DE3210816A1 (de) | 1982-10-14 |
DE3210816C2 DE3210816C2 (de) | 1988-06-16 |
Family
ID=27282341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19823210816 Granted DE3210816A1 (de) | 1981-03-25 | 1982-03-24 | Datenverarbeitungssystem mit getrennten einrichtungen zur verarbeitung von skalar- und vektordaten |
Country Status (3)
Country | Link |
---|---|
US (1) | US4541046A (de) |
DE (1) | DE3210816A1 (de) |
GB (1) | GB2098371B (de) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0123509A2 (de) * | 1983-04-25 | 1984-10-31 | Cray Research, Inc. | Mehrprozessorsteuerung für Vektorrechner |
EP0207506A2 (de) * | 1985-07-03 | 1987-01-07 | Hitachi, Ltd. | Vektorverarbeitungsgerät |
DE3638572A1 (de) * | 1985-11-13 | 1987-05-14 | Hitachi Ltd | Vektorprozessor |
US5142638A (en) * | 1989-02-07 | 1992-08-25 | Cray Research, Inc. | Apparatus for sharing memory in a multiprocessor system |
US5202970A (en) * | 1989-02-07 | 1993-04-13 | Cray Research, Inc. | Method for sharing memory in a multiprocessor system |
EP0607988A1 (de) * | 1993-01-22 | 1994-07-27 | Matsushita Electric Industrial Co., Ltd. | Programmgesteuertes Prozessor |
DE19735981B4 (de) * | 1996-08-19 | 2007-02-22 | Samsung Electronics Co., Ltd., Suwon | Mehrprozessorbetrieb in einem Multimedia-Signalprozessor |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58134357A (ja) * | 1982-02-03 | 1983-08-10 | Hitachi Ltd | ベクトルプロセッサ |
US4594682A (en) * | 1982-12-22 | 1986-06-10 | Ibm Corporation | Vector processing |
JPS59128670A (ja) * | 1983-01-12 | 1984-07-24 | Hitachi Ltd | ベクトル処理装置 |
JPS59160267A (ja) * | 1983-03-02 | 1984-09-10 | Hitachi Ltd | ベクトル処理装置 |
JPS6077265A (ja) * | 1983-10-05 | 1985-05-01 | Hitachi Ltd | ベクトル処理装置 |
JPS60134974A (ja) * | 1983-12-23 | 1985-07-18 | Hitachi Ltd | ベクトル処理装置 |
US4942518A (en) * | 1984-06-20 | 1990-07-17 | Convex Computer Corporation | Cache store bypass for computer |
EP0167959B1 (de) * | 1984-07-02 | 1992-05-06 | Nec Corporation | Rechner-Vektorregisterverarbeitung |
US4890220A (en) * | 1984-12-12 | 1989-12-26 | Hitachi, Ltd. | Vector processing apparatus for incrementing indices of vector operands of different length according to arithmetic operation results |
JPS61173345A (ja) * | 1985-01-29 | 1986-08-05 | Hitachi Ltd | 計算機システム |
US4945479A (en) * | 1985-07-31 | 1990-07-31 | Unisys Corporation | Tightly coupled scientific processing system |
US4873630A (en) * | 1985-07-31 | 1989-10-10 | Unisys Corporation | Scientific processor to support a host processor referencing common memory |
US4858115A (en) * | 1985-07-31 | 1989-08-15 | Unisys Corporation | Loop control mechanism for scientific processor |
JPS62115571A (ja) * | 1985-11-15 | 1987-05-27 | Fujitsu Ltd | ベクトルアクセス制御方式 |
US4974198A (en) * | 1986-07-16 | 1990-11-27 | Nec Corporation | Vector processing system utilizing firm ware control to prevent delays during processing operations |
US4987534A (en) * | 1986-08-20 | 1991-01-22 | Nec Corporation | Processor having synchronized operation between a CPU and a vector processor |
JP2760790B2 (ja) * | 1986-10-09 | 1998-06-04 | 株式会社日立製作所 | データ処理装置 |
JPS63253468A (ja) * | 1987-04-10 | 1988-10-20 | Hitachi Ltd | ベクトル処理装置 |
US5063497A (en) * | 1987-07-01 | 1991-11-05 | Digital Equipment Corporation | Apparatus and method for recovering from missing page faults in vector data processing operations |
US5261113A (en) * | 1988-01-25 | 1993-11-09 | Digital Equipment Corporation | Apparatus and method for single operand register array for vector and scalar data processing operations |
US4949250A (en) * | 1988-03-18 | 1990-08-14 | Digital Equipment Corporation | Method and apparatus for executing instructions for a vector processing system |
US5008812A (en) * | 1988-03-18 | 1991-04-16 | Digital Equipment Corporation | Context switching method and apparatus for use in a vector processing system |
US5113521A (en) * | 1988-03-18 | 1992-05-12 | Digital Equipment Corporation | Method and apparatus for handling faults of vector instructions causing memory management exceptions |
US5019968A (en) * | 1988-03-29 | 1991-05-28 | Yulan Wang | Three-dimensional vector processor |
US5210834A (en) * | 1988-06-01 | 1993-05-11 | Digital Equipment Corporation | High speed transfer of instructions from a master to a slave processor |
US5040109A (en) * | 1988-07-20 | 1991-08-13 | Digital Equipment Corporation | Efficient protocol for communicating between asychronous devices |
US5179674A (en) * | 1988-07-25 | 1993-01-12 | Digital Equipment Corporation | Method and apparatus for predicting valid performance of virtual-address to physical-address translations |
JPH02109160A (ja) * | 1988-10-18 | 1990-04-20 | Japan Atom Energy Res Inst | ベクトル計算機用演算装置 |
US5257394A (en) * | 1988-10-18 | 1993-10-26 | Japan Atomic Energy Research Institute | Logical expression processing pipeline using pushdown stacks for a vector computer |
JP2693651B2 (ja) * | 1991-04-30 | 1997-12-24 | 株式会社東芝 | 並列プロセッサー |
US5530881A (en) * | 1991-06-06 | 1996-06-25 | Hitachi, Ltd. | Vector processing apparatus for processing different instruction set architectures corresponding to mingled-type programs and separate-type programs |
US5742842A (en) * | 1992-01-28 | 1998-04-21 | Fujitsu Limited | Data processing apparatus for executing a vector operation under control of a master processor |
US6591361B1 (en) | 1999-12-28 | 2003-07-08 | International Business Machines Corporation | Method and apparatus for converting data into different ordinal types |
US6857061B1 (en) * | 2000-04-07 | 2005-02-15 | Nintendo Co., Ltd. | Method and apparatus for obtaining a scalar value directly from a vector register |
US6701424B1 (en) | 2000-04-07 | 2004-03-02 | Nintendo Co., Ltd. | Method and apparatus for efficient loading and storing of vectors |
GB2382887B (en) * | 2001-10-31 | 2005-09-28 | Alphamosaic Ltd | Instruction execution in a processor |
US7577816B2 (en) * | 2003-08-18 | 2009-08-18 | Cray Inc. | Remote translation mechanism for a multinode system |
JP3855270B2 (ja) * | 2003-05-29 | 2006-12-06 | ソニー株式会社 | アンテナ実装方法 |
US7743223B2 (en) * | 2003-08-18 | 2010-06-22 | Cray Inc. | Decoupling of write address from its associated write data in a store to a shared memory in a multiprocessor system |
US7503048B1 (en) | 2003-08-18 | 2009-03-10 | Cray Incorporated | Scheduling synchronization of programs running as streams on multiple processors |
US7366873B1 (en) | 2003-08-18 | 2008-04-29 | Cray, Inc. | Indirectly addressed vector load-operate-store method and apparatus |
US7519771B1 (en) | 2003-08-18 | 2009-04-14 | Cray Inc. | System and method for processing memory instructions using a forced order queue |
US7437521B1 (en) | 2003-08-18 | 2008-10-14 | Cray Inc. | Multistream processing memory-and barrier-synchronization method and apparatus |
US7334110B1 (en) * | 2003-08-18 | 2008-02-19 | Cray Inc. | Decoupled scalar/vector computer architecture system and method |
US7421565B1 (en) | 2003-08-18 | 2008-09-02 | Cray Inc. | Method and apparatus for indirectly addressed vector load-add -store across multi-processors |
US8307194B1 (en) | 2003-08-18 | 2012-11-06 | Cray Inc. | Relaxed memory consistency model |
US7543133B1 (en) | 2003-08-18 | 2009-06-02 | Cray Inc. | Latency tolerant distributed shared memory multiprocessor computer |
US7735088B1 (en) | 2003-08-18 | 2010-06-08 | Cray Inc. | Scheduling synchronization of programs running as streams on multiple processors |
GB2409060B (en) * | 2003-12-09 | 2006-08-09 | Advanced Risc Mach Ltd | Moving data between registers of different register data stores |
GB2409068A (en) * | 2003-12-09 | 2005-06-15 | Advanced Risc Mach Ltd | Data element size control within parallel lanes of processing |
US8427490B1 (en) | 2004-05-14 | 2013-04-23 | Nvidia Corporation | Validating a graphics pipeline using pre-determined schedules |
US8624906B2 (en) | 2004-09-29 | 2014-01-07 | Nvidia Corporation | Method and system for non stalling pipeline instruction fetching from memory |
EP1812928A4 (de) * | 2004-11-15 | 2010-03-31 | Nvidia Corp | Videoverarbeitung |
US8416251B2 (en) * | 2004-11-15 | 2013-04-09 | Nvidia Corporation | Stream processing in a video processor |
US7478769B1 (en) | 2005-03-09 | 2009-01-20 | Cray Inc. | Method and apparatus for cooling electronic components |
US9092170B1 (en) | 2005-10-18 | 2015-07-28 | Nvidia Corporation | Method and system for implementing fragment operation processing across a graphics bus interconnect |
US8683126B2 (en) * | 2007-07-30 | 2014-03-25 | Nvidia Corporation | Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory |
US8411096B1 (en) | 2007-08-15 | 2013-04-02 | Nvidia Corporation | Shader program instruction fetch |
US8698819B1 (en) | 2007-08-15 | 2014-04-15 | Nvidia Corporation | Software assisted shader merging |
US9024957B1 (en) | 2007-08-15 | 2015-05-05 | Nvidia Corporation | Address independent shader program loading |
US8659601B1 (en) | 2007-08-15 | 2014-02-25 | Nvidia Corporation | Program sequencer for generating indeterminant length shader programs for a graphics processor |
US9064333B2 (en) * | 2007-12-17 | 2015-06-23 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
US8780123B2 (en) * | 2007-12-17 | 2014-07-15 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
US8681861B2 (en) * | 2008-05-01 | 2014-03-25 | Nvidia Corporation | Multistandard hardware video encoder |
US8923385B2 (en) * | 2008-05-01 | 2014-12-30 | Nvidia Corporation | Rewind-enabled hardware encoder |
US8489851B2 (en) * | 2008-12-11 | 2013-07-16 | Nvidia Corporation | Processing of read requests in a memory controller using pre-fetch mechanism |
JP5699554B2 (ja) * | 2010-11-11 | 2015-04-15 | 富士通株式会社 | ベクトル処理回路、命令発行制御方法、及びプロセッサシステム |
KR101912427B1 (ko) * | 2011-12-12 | 2018-10-29 | 삼성전자주식회사 | 재구성가능 프로세서 및 재구성가능 프로세서의 미니 코어 |
US11544214B2 (en) | 2015-02-02 | 2023-01-03 | Optimum Semiconductor Technologies, Inc. | Monolithic vector processor configured to operate on variable length vectors using a vector length register |
US10762164B2 (en) | 2016-01-20 | 2020-09-01 | Cambricon Technologies Corporation Limited | Vector and matrix computing device |
CN111580863B (zh) * | 2016-01-20 | 2024-05-03 | 中科寒武纪科技股份有限公司 | 一种向量运算装置及运算方法 |
CN107315718B (zh) * | 2016-04-26 | 2020-08-21 | 中科寒武纪科技股份有限公司 | 一种用于执行向量内积运算的装置和方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3684876A (en) * | 1970-03-26 | 1972-08-15 | Evans & Sutherland Computer Co | Vector computing system as for use in a matrix computer |
EP0042442A1 (de) * | 1979-12-29 | 1981-12-30 | Fujitsu Limited | Informationsverarbeitende anlage |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4128880A (en) * | 1976-06-30 | 1978-12-05 | Cray Research, Inc. | Computer vector register processing |
US4101960A (en) * | 1977-03-29 | 1978-07-18 | Burroughs Corporation | Scientific processor |
JPS6024985B2 (ja) * | 1978-08-31 | 1985-06-15 | 富士通株式会社 | デ−タ処理方式 |
US4281391A (en) * | 1979-01-15 | 1981-07-28 | Leland Stanford Junior University | Number theoretic processor |
US4365292A (en) * | 1979-11-26 | 1982-12-21 | Burroughs Corporation | Array processor architecture connection network |
US4412303A (en) * | 1979-11-26 | 1983-10-25 | Burroughs Corporation | Array processor architecture |
US4344134A (en) * | 1980-06-30 | 1982-08-10 | Burroughs Corporation | Partitionable parallel processor |
KR860001434B1 (ko) * | 1980-11-21 | 1986-09-24 | 후지쑤 가부시끼가이샤 | 데이타 처리시 스템 |
-
1982
- 1982-03-23 US US06/361,478 patent/US4541046A/en not_active Expired - Lifetime
- 1982-03-24 GB GB8208643A patent/GB2098371B/en not_active Expired
- 1982-03-24 DE DE19823210816 patent/DE3210816A1/de active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3684876A (en) * | 1970-03-26 | 1972-08-15 | Evans & Sutherland Computer Co | Vector computing system as for use in a matrix computer |
EP0042442A1 (de) * | 1979-12-29 | 1981-12-30 | Fujitsu Limited | Informationsverarbeitende anlage |
Non-Patent Citations (3)
Title |
---|
DE-Z: Elektronik, 1979. Heft 17, S. 25-34 * |
INTEL-Series 3000 Reference Manual, INTEL Corp., 1976, S. 3-21 bis 3-25 * |
US-Z: Electronics, 16.Aug.79, S. 118-124 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0123509A2 (de) * | 1983-04-25 | 1984-10-31 | Cray Research, Inc. | Mehrprozessorsteuerung für Vektorrechner |
EP0123509A3 (en) * | 1983-04-25 | 1988-04-27 | Cray Research Inc | Computer vector multiprocessing control |
EP0207506A2 (de) * | 1985-07-03 | 1987-01-07 | Hitachi, Ltd. | Vektorverarbeitungsgerät |
EP0207506A3 (en) * | 1985-07-03 | 1989-01-18 | Hitachi, Ltd. | Vector processing apparatus |
DE3638572A1 (de) * | 1985-11-13 | 1987-05-14 | Hitachi Ltd | Vektorprozessor |
US5142638A (en) * | 1989-02-07 | 1992-08-25 | Cray Research, Inc. | Apparatus for sharing memory in a multiprocessor system |
US5202970A (en) * | 1989-02-07 | 1993-04-13 | Cray Research, Inc. | Method for sharing memory in a multiprocessor system |
EP0607988A1 (de) * | 1993-01-22 | 1994-07-27 | Matsushita Electric Industrial Co., Ltd. | Programmgesteuertes Prozessor |
US5517666A (en) * | 1993-01-22 | 1996-05-14 | Matsushita Electric Industrial Co., Ltd. | Program controlled processor wherein vector distributor and vector coupler operate independently of sequencer |
DE19735981B4 (de) * | 1996-08-19 | 2007-02-22 | Samsung Electronics Co., Ltd., Suwon | Mehrprozessorbetrieb in einem Multimedia-Signalprozessor |
Also Published As
Publication number | Publication date |
---|---|
DE3210816C2 (de) | 1988-06-16 |
US4541046A (en) | 1985-09-10 |
GB2098371A (en) | 1982-11-17 |
GB2098371B (en) | 1985-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3210816A1 (de) | Datenverarbeitungssystem mit getrennten einrichtungen zur verarbeitung von skalar- und vektordaten | |
DE2554652C3 (de) | Modulare Signalverarbeitungseinrichtung | |
DE69130852T2 (de) | Verarbeitungsmechanismus zur Verschachtelung in einem Schleifensteuersystem | |
DE68928848T2 (de) | Multi-Prozessor-Rechnersystem mit prozessunabhängiger Adressierung von Kommunikationsregistern | |
DE3424962C2 (de) | ||
DE1915818C3 (de) | Steuerschaltung für ein elektronisches Datenverarbeitungssystem | |
DE3784082T2 (de) | Adaptive befehlsverarbeitung durch feldrechner mit prozessoridentifikation und datenabhaengigen statusregistern in jedem prozessorelement. | |
DE2846117C2 (de) | Datenprozessor | |
DE68926956T2 (de) | Anordnung zur teilung eines generischen kodes für ein digitales datenverarbeitungssystem | |
DE2457612C3 (de) | Mikroprogrammier-Steuereinrichtung | |
DE3638572C2 (de) | ||
DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE1549523B2 (de) | Datenverarbeitungsanlage | |
DE2934971A1 (de) | Datenverarbeitungssystem | |
DE69826404T2 (de) | Datenverarbeitungssystem mit mehreren Prozessoren, die eine Registerbank gemeinsam benutzen | |
DE3043653C2 (de) | Datenverarbeitungsanlage | |
DE3400723C2 (de) | ||
DE69632655T2 (de) | Pipeline-Datenverarbeitungsanordnung zur Durchführung einer Mehrzahl von untereinander datenabhängigen Datenprozessen | |
DE3688806T2 (de) | Instruktionsprozessor. | |
DE4430195B4 (de) | Verfahren zur Auswertung von Booleschen Ausdrücken | |
DE2911909A1 (de) | Verfahren und geraet zur digitalen datenverarbeitung, insbesondere von digitalen audiosignalen | |
DE2617485C3 (de) | Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen | |
DE2310553A1 (de) | Vorrichtung zur durchfuehrung arithmetischer und logischer operationen | |
DE2418921C2 (de) | Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage | |
DE2854400A1 (de) | Anordnung zum wechsel zwischen verzahnt zu verarbeitenden programmen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |