DE2934971C2 - Nach dem Fließbandprinzip arbeitender Zentralprozessor - Google Patents
Nach dem Fließbandprinzip arbeitender ZentralprozessorInfo
- Publication number
- DE2934971C2 DE2934971C2 DE2934971A DE2934971A DE2934971C2 DE 2934971 C2 DE2934971 C2 DE 2934971C2 DE 2934971 A DE2934971 A DE 2934971A DE 2934971 A DE2934971 A DE 2934971A DE 2934971 C2 DE2934971 C2 DE 2934971C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- pipeline
- vjt
- stage
- conditional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- 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
Description
a) Die Zahl der Stufen des ersten und zweiten Fließbandes ist gleich;
b) dem Befehlsverarbeitungsfließband (2) ist eine Datenholeinrichtung (1) zum Holen der Operanden,
dem zweiten Fließband (5) ist eine weitere Datenholeinrichtung (4) zum Holen der bedingten
Daten vorgeschaltet;
c) aus den in der letzten Stufe (5-5) des zweiten Fließbandes (5) stehenden ausgewerteten bedingten
Daten wird ein Gültigkeitssignal abgeleitet, das eine Übertragung der in der
letzten Stufe (2-5) des Befehlsverarbeitungsfließbandes (2) anstehenden Daten in einen
Datenspeicher (3) und einen Unterbrechungssignalgenerator (6) zur Erzeugung eines Unterbrechungssignals
(INT) veranlaßt.
2. Zentralprozessor nach Anspruch 1, dadurch gekennzeichnet, daß ein Ausgang des ersten
Fließbandes (STR Y) mit einem seiner Eingänge (Daten 1 bzw. Daten 2) zur Ausführung von
wiederholten Additionen oder Multiplikationen verbunden ist (F i g. 9).
den Daten verwendet wird. Im allgemeinen gibt es ein
Prinzip bei der »Pipeline processing-Architektur«, wonach nur die gleichen Operationen durch jede Stufe
einer Pipeline ausgeführt werden. Wenn eine große Anzahl von Datengruppen vorliegt, bei denen jede
Gnjppe eine unterschiedliche Operation erfordert, so ist
es demzufolge notwendig, daß die »Pipeline processing-Architektur« eine Menge von Pipelines besitzt die in
Serie angeordnet sind. Beispielsweise sind diese Pipelines dazu bestimmt, die folgenden Schritte
auszuführen.
Die Erfindung betrifft einen nach dem Fließbandprinzip arbeitenden Zentralprozessor zur Ausführung einer
Folge von Operationen, beispielsweise zur Bearbeitung von Matrix- und Vektordaten.
In der Kernphysik, Meteorologie, Raumfahrtmechanik usw. erfordert die numerische Analyse sehr
komplexe Rechnungen bei sehr hohen Geschwindigkeiten und Rechnergrößen, welche die der Allzweckrechner
übersteigen. Lediglich ein Spezialrechner mit einer Architektur für die Datenfeldbearbeitung läßt sich bei
derartigen Hochgeschwindigkeitsanwendungen benützen. Als Feldbearbeitungsarchitektur ist eine »Pipeline
processing-Architektur«, beispielsweise der CDC STAR-100 Rechner, bekannt, der eine Vielzahl von
logischen und arithmetischen Stufen besitzt, die in der Lage sind, simultan zu arbeiten, und in einer
sogenannten Pipeline angeordnet sind (Computing Surveys, Vol. 9, Nr. 1, März 1977, Seiten 61 bis 102). Bei
der »Pipeline processing-Architektur« wird eine Folge von Eingangsdaten oder eine Folge von Datengruppen
dem Eingang der Pipeline zugeführt und gleichzeitig eine Folge von Ausgangsdaten am Ausgang der Pipeline
erhalten, so daß eine hohe Datenverarbeitungsgeschwindigkeit erzielbar ist.
Die genannte »Pipeline processing-Architektur« nach dem Stand der Technik enthält lediglich eine Pipeline,
die zur Ausführung einer Folge von Operationen mit Schritt 1:
Sortieren der Gruppen von Daten und Sammeln der Datengruppen, welche die gleichen Operationen
erfordern;
Schritt 2:
Schritt 2:
Ausführen der gleichen Operationen mit den Datengruppen, welche jeweils gleiche Operationen
erfordern;
Schritt 3:
Schritt 3:
Speichern der Operationsergebnisse in Vektorregistern od. dgl.
Die Bearbeitungszeit jeder Pipeline besteht aus einer Anstiegszeit, die für das anfängliche Laden der Daten
od. dgl. notwendig ist, und einer Realzeit zur Ausführung der Operationen. Daher ergibt sich die gesamte
Arbeitszeit aller Pipelines unter Berücksichtigung des obengenannten Falles wie folgt:
T2, = m + d (Schritt 1) (1)
+ cm + (/(Schritt 2)
+ /;/ + (/(Schritt 3)
+ /;/ + (/(Schritt 3)
Darin bedeutet
n: die Anzahl der wiederholten Operationen
t: die Ausführungszeit jeder Stufe der Pipelines
d: die Anstiegszeit der Pipelines
c: der Anteil der Elemente, welche die Bearbeitung eines Schritts 2 erfordert (0 S c< 1).
t: die Ausführungszeit jeder Stufe der Pipelines
d: die Anstiegszeit der Pipelines
c: der Anteil der Elemente, welche die Bearbeitung eines Schritts 2 erfordert (0 S c< 1).
Als Ergebnis dessen erfordert es eine lange Zeit, um die Operationen mit den Daten auszuführen, die
unterschiedliche Typen von Operationen erfordern, so daß keine hohe Bearbeitungsgeschwindigkeit erreicht
wird.
Eine Mehr-Befehlsstrom-Rechenanlage mit den Merkmalen des Oberbegriffs des Anspruchs 1 ist durch
die DE-AS 24 04 459 bekannt. Bei dieser bekannten Anlage ist die Zahl der Stufen der beiden Fließbänder
nicht gleich und die Daten der normalen Befehle und die bedingten Daten durchlaufen beide Fließbänder, wobei
die Gültigkeit der von dem ersten Fließband gelieferten, in deren letzter Stufe stehenden Ergebnisse von denen
in der letzten Stufe des zweiten Fließbandes stehenden Ergebnissen unabhängig ist.
bo Die Aufgabe der Erfindung besteht darin, einen
Zentralprozessor nach dem Oberbegriff des Anspruchs 1 zu schaffen, der eine Folge von Operationen mit
Daten, die unterschiedliche Operationen, z. B. bedingte Operationen, erfordern, mit hoher Geschwindigkeit
bj ausführt.
Gelöst wird diese Aufgabe durch die Merkmale des Kennzeichens des Patentanspruchs. Eine Weiterbildung
der Erfindung ist im Unteranspruch angegeben.
Die vorliegende Erfindung ist in der nachfolgenden Beschreibung unter Bezugnahme der Zeichnungen
näher erläutert
F i g. 1 zeigt ein Blockdiagramm zur Erläuterung der »Pipeline processing-Architektur« nach dem Stand der
Technik;
F i g. 2a bis 2e sind Blockdiagramme der Pipeline 2;
F i g. 3 zeigt ein Blockdiagramm zui Erläuterung einer
ersten Ausführungsform der »Pipeline processing-Architektur« gemäß der Erfindung;
F i g. 4a bis 4e zeigen Blockdiagramme der Pipelines 2
und 5 zur Erläuterung der Wirkungsweise der »Pipeline processing-Architektur« nach F i g. 3;
F i g. 5 zeigt ein Blockdiagramm zur Erläuterung einer zweiten Ausführungsform der »Pipeline processing-Architektur«
gemäß der vorliegenden Erfindung;
F i g. 6a bis 6e sind Blockdiagramme der Pipelines 2 und 5' zur Erläuterung der Wirkungsweise der »Pipeline
processing-Architektur« nach F i g. 5;
Fig.7 stellt das Blockdiagramm »iner dritten
Ausführungsform der »Pipeline processing-Architektur« gemäß der Erfindung dar;
F i g. 8a bis 8e sind Blockdiagramme der Pipelines 2' und 5 zur Erläuterung der Wirkungsweise der »Pipeline
processing-Architektur« nach F i g. 7;
F i g. 9 zeigt ein Blockdiagramm eines Datenverarbeitungssystems mit der »Pipeline processing-Architektur
nach F ig. 3,5 oder 7;
F i g. 10 zeigt ein logisches Schaltbild des Selektors 22
nach F i g. 9;
F i g. 11 zeigt eine logische Schaltung des Eingangsmultiplexers
nach F i g. 9;
Fig. 12 zeigt ein logisches Schaltungsdiagramm des
Ausgangsmultiplexers nach F i g. 9;
Fig. 13 zeigt ein Zeitdiagramm zur Erläuterung der
Wirkungsweise des Datenverarbeitungssystems nach Fig. 9.
In F i g. 1 ist eine »Pipeline processing-Architektur« nach dem Stande der Technik zur Ausführung einer
arithmetischen Operation, z. B. einer nachstehenden Vektoraddition, dargestellt
V(RlJ)= V(RlJ)+ V(R 3,/)
(2)
Darin bedeuten Ri, R2 und R3 die Operanden
(Registernummern) /= 1,2,..., n;
V(R 1, i), V(R 2, i)\mo. V(R 3, i) jeweils die Inhalte der durch die Adressen (R 1, i), (R 2, i) und (R 3, i) bezeichneten Bereiche eines Vektorregisters (nicht dargestellt).
V(R 1, i), V(R 2, i)\mo. V(R 3, i) jeweils die Inhalte der durch die Adressen (R 1, i), (R 2, i) und (R 3, i) bezeichneten Bereiche eines Vektorregisters (nicht dargestellt).
Die Architektur umfaßt eine Systemeinrichtung zum Holen der Daten 1, um eine Gruppe von Dafen V(R 2, i)
und V(R 3, i) zu empfangen, ferner eine Pipeline 2, bestehend aus fünf arithmetischen Stufen 2-1,2-2,..., 2-5
und eine Datenspeichereinrichtung 3 zur Speicherung des Operationsergebnisses V(R 2, i)+ V(R 3, i) der
Pipeline 2. In diesem Falle führen die fünf arithmethischen Stufen die folgenden Operationen simultan aus.
Stufe 2-1:
Vergleichen der Charakteristik von V(R 2, //mit der
von V(R 3, //und Berechnen von deren Differenz;
Stufe 2-2:
Verschieben der Mantisse des jeweils kleineren Datensatzes VjTi 2, i) und VjT? 3, i) um die
obengenannte Differenz;
Stufe 2-3:
Addieren der Manrisse von V(R 2, ijund von V(R 3,
fr
Stufe 2-4:
Anzeigen nichtsignifikanter Ziffern in der Summe
Anzeigen nichtsignifikanter Ziffern in der Summe
Vf/?2,/;/+V<T?3,#und
Stufs2-5:
Stufs2-5:
Verschieben der Mantisse der Summe um die nichtsignifikanten Ziffern und Modifizieren der
ίο Charakteristik der Summe, um die Summe zu
normalisieren.
Die Fig.2a bis 2e stellen Blockdiagramme der
Pipeline 2 dar, um die Wirkungsweise der »Pipeline processing-Architektur« nach F i g. 1 zu erläutern. In
F i g. 2a wird eine erste Gruppe von Daten V(R 2,1) und VjO? 3, 1) durch die Datenholeinrichiung 1 ausgelesen
und zur ersten Stufe 2-1 der Pipeline 2 übertragen, so daß die erste Stufe 2-1 die Vergleichsoperation
zwischen den Daten VjT? 2,1) und VjT? 3,1) ausführt. Als
nächste werden die Daten V(R 2, 1) und VjT? 3, 1) von der ersten Stufe 2-1 zur zweiten Stufe 2-2 übertragen.
Gleichzeitig wird eine zweite Gruppe von Daten V(R 2, 2) und VjT? 3, 2) durch die Datenholeinrichtung 1
ausgelesen und zur ersten Stufe 2-1 (siehe Fig. 2b) übertragen. Als Ergebnis davon führt die erste Stufe 2-1
die Vergleichsoperation mit den Daten V(R 2, 2) und VjT? 3, 2) aus, während die zweite Stufe 2-2 die
Verschiebungsoperation mit den Daten VjT? 2, 1) und V(R 3,1) ausführt. Als nächstes werden die Daten VjT? 2,
1) und VjT? 3, 1) von der zweiten Stufe 2-2 zur dritten Stufe 2-3 übertragen, während die Daten V(R 2, 2) und
V(R3, 2) von der ersten Stufe 2-1 zur zweiten Stufe 2-2 übertragen werden. Gleichzeitig wird eine dritte
Gruppe von Daten VjT? 2, 3) und V(R 3, 3) durch die Datenholeinrichtung 1 zur ersten Stufe 2-1 (siehe
F i g. 2c) übertragen. Als Ergebnis davon führen die Stufen 2-1, 2-2 und 2-3 ihre Operationen mit den Daten
V(R 2,3) und V(R 3,3), den Daten V(R 2,2) und V(R 3,2)
sowie den Daten V(R 2,1) und V(R 3,1) jeweils aus. Wie
in F i g. 2c dargestellt, ist das Ergebnis der Operation der dritten Stufe 2-3 die Summe VjT?2, 1)+ VjT?3, 1). Als
nächstes werden die Daten VjT?2, \)+V(R3, 1), die
Daten VjT? 2, 2) und V(R 3,2) sowie die Daten V(R 2,3)
und VjT? 3, 3) von den Stufen 2-3, 2-2 und 2-1 zu den Stufen 2-4, 2-3, 2-2 jeweils übertragen. Simultan dazu
wird eine vierte Gruppe von Daten VjT? 2,4) und VjT? 3, 4) durch die Datenholeinrichtung 1 ausgelesen und an
die erste Stufe 2-4 (siehe F i g. 2d) übertragen. Als Ergebnis davon führen die Stufen 2-1, 2-2, 2-3 und 2-4
ihre Operationen mit den Daten VjT? 2,4) und VjT? 3,4),
den Daten V(R 2, 3) und V(R 3, 3) sowie den Daten VjT? 2, 2) und V(R 3, 2) sowie den Daten V(R 2,
1)+ V(R 3,1) jeweils aus. Als nächstes werden die Daten V(R 2, 1)+V(R3, 1), die Daten V(R 2, 2)+VjT? 3, 2),
ferner die Daten V(R 2,3) und VjT? 3,3) sowie die Daten
V(R 2, 4) und V(R 3, 4) von den Stufen 2-4, 2-3, 2-2 und 2-1 zu den Stufen 2-5, 2-4, 2-3, 2-2 jeweils übertragen.
Simultan dazu wird eine fünfte Gruppe von Daten
ω VjT? 2,5) und VjT? 3,5) durch die Datenholeinrichtung 1
an die erste Stufe 2-1 (siehe F i g. 2e) übertragen. Als Ergebnis davon führen die Stufen 2-1, 2-2, 2-3, 2-4 und
2-5 ihre Operationen mit den Daten V(R 2,5) und VjT? 3, 5), die Daten V(R 2, 4) und V(R 3, 4) sowie den Daten
V(Q 2, 3) und VjT? 3, 3), ferner die Daten V(R 2,
2)+V(R3, 2) sowie den Daten VjT?2, l)+VjT?3, 1) jeweils aus. Als nächstes werden die Daten VjT? 2,
l)+VjT?3, 1) zu der Datenspeichereinrichtung 3
übertragen, und danach werden die Daten V(R 2, 1)+Vj7?3, 1) in dem durch eine Adresse (R 1, 1)
bezeichneten Bereich des Vektorregisters abgespeichert. Sodann wird die Folge der Daten V(R2, 1) und
V(RX 1), die Daten V(R2, 2) und V(R3, 2) sowie
ferner die Daten V(T? 2, njund V(R 3, n)der Pipeline 2
zugeführt, so daß die Folge der Summen der Daten V(R2, I)+V(R3, 1), die Summe der Daten V(R2,
2)+V(R3, 2), ..., die Summe der Daten V(R2,
n)+ V(R 3, n)am Ausgang der Pipeline 2 erhalten wird.
Wird jedoch eine arithmetische Vektoroperation mit einer bedingten Operation verbunden mittels der
»Pipeline processing-Architektur« nach F i g. 1 durchgeführt, so ist es nötig zwei oder mehr Pipelines in Serie
mit der Pipeline 2 vorzusehen. Demgemäß wird die gesamte Durchführungszeit lang.
F i g. 3 zeigt ein Blockdiagramm zur Erläuterung einer ersten Ausführungsform der »Pipeline processing-Architektur«
gemäß der Erfindung, und die F i g. 4a bis 4e zeigen Blockdiagramme der Pipelines 2 und 5 zur
Erläuterung einer Wirkungsweise der »Pipeline processing-Architektur« von F i g. 3. Die in F i g. 3 dargestellten
Elemente, die den in F i g. 1 entsprechen, sind mit denselben Bezugszeichen wie in F i g. 1 versehen. Die
Architektur von F i g. 2 besitzt ferner eine Pipeline 5 zur Bearbeitung bedingter Daten V(M, i), die durch eine
Datenholeinrichtung 4 für die bedingten Daten aus einem Bereich herausgelesen werden, der durch eine
Adresse (M, i) eines Vektorregisters (nicht dargestellt) herausgelesen werden. In diesem Falle sind die durch die
Pipeline 5 ausgeführten Operationen zum Zwecke der Übertragung bedingter Daten ausgeführt. Die Datenholeinrichtung
1 und die Datenholeinrichtung 4 für bedingte Daten sind mit dem gleichen Zeittakt
synchronisiert, so daß die Einrichtung 4 die Daten V(M, i)aus dem durch die Adresse (M, /^bezeichneten Bereich
herausliest, wenn die Einrichtung 1 die Daten V(R 2, i) und VjT? 3, i) entsprechend den Daten V(M, i)
herausliest. Zusätzlich sind die Pipelines 2 und 5 mit demselben Zeittakt synchronisiert, so daß beispielsweise
die erste Stufe 5-1 ihre Operation mit den Daten V(M, i) durchführt, wenn die erste Stufe 2-1 die Operation mit
den Daten V(R 2,i) und V(R 3, # ausführt. Ferner enthält
die Architektur nach F i g. 3 einen Unterbrechungsanforderungssignalgenerator
6 zur Erzeugung eines Unterbrechungsanforderungssignals INT in Abhängigkeit
von den Daten am Ausgang der Pipeline 5. Nun ist die nachfolgende Vektoraddition in Verbindung mit der
Bedingungsoperation zu betrachten.
V(R 1, /) = V(R 2, /) + V(R 3, /)
(3)
V(R 2, /) > V(R 3, /).
Keine Operation
wenn
wenn
V(R 2,/) S V(R 3,i)
Es sei angenommen, daß eine »1« in einem Speicherbereich mit der Adresse (M, i) der Register
gespeichert sei, wenn der Wert von V(R 2, i) größer ist
als der von V(R 3, Q, während eine »0« in einem Bereich
mit der Adresse (M, i) des Vektorregisters vorgespeichert
ist, sofern der Wert von V(R 2, i) gleich oder
niedriger als der von V(R 3, i) ist Zunächst wird eine
erste Gruppe von Daten V(R 2,1) und V(R 3, ^durch die
Datenholeinrichtung 1 ausgelesen und zur ersten Stufe 2-1 der Pipeline 2 übertragen. Simultan werden erste
bedingte Daten V(M, 1) durch die Datenholeinrichtung 4
•ι für bedingte Daten ausgelesen und an die erste Stufe 5-1
der Pipeline 5 (siehe F i g. 4a) übertragen. Als Ergebnis davon führt die erste Stufe 2-1 ihre Operation mit der
Gruppe von Daten V(R 2,1) und V(R 3,1) aus. Die erste
Stufe 5-1 führt jedoch keine Operation mit den
ίο bedingten Daten V(M, 1) aus. Danach wird in der
gleichen Weise, wie mit der Architektur nach F i g. 1, die Folge der Daten V(R 2, 1) und V(R 3, 1), V(R 2, 2) und
V(R 3,2) V(R 2, n)und V(R 3, n;durch die Stufen 2-1,
2-2,..., 2-5 hindurchgeleitet, welche ihre Operation mit
1■> diesen Daten (siehe F i g. 4a bis 4e) ausführen. Zusätzlich
wird die Folge der Daten V(M, 1), V(M, 2),.., V(M, n)
durch die Stufen 5-1, 5-2, ..., 5-5 geleitet, die keine Operation außer der Übertragungsoperation mit diesen
Daten ausführen. Das von der letzten Stufe 5-5 erzeugte
2(i Ausgangssignal wird an die Datenabspeicherungseinrichtung
3 und den Unterbrechungsanforderungssignalgenerator 6 geleitet. Wenn die Daten, die von der
letzten Stufe 5-5 übertragen werden, »1« sind, so überträgt die Datenabspeicherungseinrichtung 3 die
von der letzten Stufe 2-5 empfangenen Daten zu einem mit der Adresse (R 1, i) bezeichneten Bereich des
Vektorregisters, und der Generator 6 erzeugt ein Unterbrechungsanforderungssignal INT. Wenn im Gegensatz
dazu die Daten, die von der letzten Stufe 5-5 übertragen werden, »0« sind, so übertragt die
Datenabspeicherungseinrichtung 3 keine von der letzten Stufe 2-5 übertragenen Daten zu dem mit der
Adresse (Ri, i) bezeichneten Bereich des Vektorregisters
und der Generator 6 erzeugt ein Unterbrechungsanforderungssignal INT. Somit ist jede der Summen der
Daten V(R 2, i)+ V(R 3, i) (= (V(R 1, i)% deren Operationen
durch die Pipeline 2 ausgeführt wurde, als gültig oder ungültig bei der Datenabspeicherungseinrichtung 3
bestimmt, die die bedingten Daten V(M, i) empfängt,
welche durch die Pipeline 5 übertragen werden. Daher ist die gesamte Bearbeitungsdauer der »Pipeline
processing-Architektur« nach Fig.3 nur durch den
Pipelineprozessor 2 bestimmt, so daß die Zeit verhältnismäßig klein ist
F i g. 5 zeigt ein Blockdiagramm zur Erläuterung einer zweiten Ausführungsform einer »Pipeline processing-Architektur«
gemäß der vorliegenden Erfindung, und die F i g. 6a bis 6e stellen Blockdiagramme der Pipelines
2 und 5' dar, um die Wirkungsweise der »Pipeline
so processing-Architektur« nach Fig.5 zu erläutern. Die
in F i g. 5 dargestellten Elemente sind mit den in F i g. 3 identisch und besitzen die gleichen Bczugszcichcn wie in
Fig.3. Die Architektur nach Fig.5 enthält eine
Pipeline 5', ähnlich der Pipeline 5 (F i g. 3). Die Pipeline
5' bearbeitet die Daten V(R 4, Q, die in einem Bereich
mit der Adresse (R 4, i) des Vektorregisters abgespeichert sind. In diesem Falle werden, da die Daten V(R 4, i)
nichtbedingte Daten sind, die bedingten Daten entsprechend den Daten V(M, /Jnach Fi g. 3 der Wert »1« oder
»0« in einer Stufe der Pipeline 5' gebildet Nachstehend sei die folgende Vektoraddition in Verbindung mit einer
bedingten Operation betrachtet
V(R 1, 0 = V(R 2, 0 + V(R 3, /) (4)
wenn
V(R 4, 0 > 0.
Keine Operation
wenn
wenn
In Fig.5 führt die zweite Stufe 5'-2 der Pipeline 5'
eine Vergleichsoperation zum Vergleich des Wertes der Daten V(R 4, i) mit null durch. Ist der Wert der Daten
Vj1T? 4, /) größer als null, so wird eine »1« in die Stufe 5'-2
eingeschrieben, während im Falle eines Wertes der Daten V(R 4, /^gleich oder kleiner als null ist, eine »0« in
die Stufe 5'-2 eingeschrieben wird. Eine derartige »1« oder »0«, die als bedingte Daten V(M, i)'m F i g. 3 dient,
wird von der Stufe 5'-2 zur Stufe 5'-5 übertragen (siehe F i g. 6b bis 6e). Daher ist die Datenspeichereinrichtung
3 und der Unterbrechungsanforderungssignalgenerator 6 nach Fig. 5 in gleicher Weise tätig wie in Fig. 3.
Daher sind auch jede der Summen von Daten VjT? 2,
i)+ V(RX i) (= V(R 1, i)), deren Operation durch die Pipeline 2 ausgeführt werden, als gültig oder ungültig in
der Datenabspeicherungseinrichtung 3 bestimmt, welche die bedingten Daten entsprechend den Daten V(M,
i) nach F i g. 3 empfängt, die durch die Pipeline 5' gebildet sind. Somit wird die gesamte Bearbeitungszeit
der »Pipeline processing-Architektur« nach Fig. 5 lediglich durch den Pipelineprozessor 2 bestimmt, so
daß die Zeit relativ klein ist.
F i g. 7 zeigt ein Blockdiagramm zur Erläuterung einer dritten Ausführungsform der »Pipeline processing-Architektur«
gemäß der vorliegenden Erfindung, und die F i g. 8a bis 8e zeigen Blockdiagramme der Pipelines 2'
und 5 zur Erläuterung der Wirkungsweise der »Pipeline processing-Architektur« nach F i g. 7. Die Elemente, die
in F i g. 7 dargestellt sind, sind identisch mit denen nach F i g. 3 und besitzen die gleichen Bezugszeichen wie in
F i g. 3. Die Architektur nach F i g. 7 umfaßt eine Pipeline 2', welche der Pipeline 2 nach F i g. 3 entspricht,
wobei der Ausgang der Pipeline 2' mit deren Eingang verbunden ist Zusätzlich enthält die Architektur nach
Fig. 7 eine Datenholeinrichtung Γ, die einen Null-Generator
Y-X und eine Gatteranordnung X'-2 umfaßt, welche durch die Datenholeinrichtung 4 für die
bedingten Daten gesteuert wird. Wenn beispielsweise bedingte Daten V(M, i), welche aus der Datenholeinrichtung
4 für bedingte Daten ausgelesen werden, den Wert »1« ergeben, so legt die Gatteranordnung Γ-2 die Daten
V(R 2, i)an die Pipeline 2'. Wenn im Gegensatz dazu die
bedingten Daten V(M, i) »0« sind, so legt die Gatteranordnung l'-2 den Wert »0«, der vom
Nuügcncraior l'-l erzeugt wurde, an die Pipeline 2' an.
Nachstehend ist die kumulative Vektoraddition in Verbindung mit einer bedingten Operation betrachtet.
/)= V(Rl, 1) + (KÄ2,2)+- - - +K(R2,n)
(5)
ι) = 0 wenn V(R 2, /) S 0
Es sei angenommen, daß eine »1« in einem Bereich gespeichert sei, der mit der Adresse (M, i) des
Vektorregisters gespeichert ist, wenn die Daten V(R 2, i)
größer als »0« sind, während eine »0« in dem mit der Adresse (M, i) bezeichneten Speicherbereich des
wobei
Vektorregisters abgespeichert ist, wenn die Daten V(R 2, (^gleich oder kleiner als null sind. In F i g. 8a bis 8e
ist die Anzahl π der Elemente gleich 15 unter der Annahme, daß die zweiten bedingten Daten V(M, 2) und
-, V(M, 8) gleich null sind. Zunächst werden die Daten V(R 2, 1) und V(M, X) durch die Datenholeinrichtung 1'
und die Datenholeinrichtung 4 für bedingte Daten jeweils ausgelesen. In diesem Falle werden, da die Daten
V(M, X) »1« sind, die Daten V(R 2, X) durch die
κι Galteranordnung Γ-2 zur ersten Stufe 2'-l übertragen,
die ebenfalls den Wert »0« der letzten Stufe 2'-5 (siehe Fig.8a) empfängt. Die erste Stufe 2'-l führt ihre
Operation mit den Daten »0« und V(R 2, X) durch, während die erste Stufe 5-1 keine Operation ausführt.
i-> Als nächstes werden die Daten V(R 2, 2) und V(M, 2)
durch die Einrichtung Γ und 4 jeweils ausgelesen. In diesem Falle wird, da die Daten V(M, 2) »0« sind, der
Wert »0« des Null-Generators Γ-1 über die Gatteranordnung X'-2 an die erste Stufe 2'-l geführt, die ebenfalls
2(i den Wert »0« der letzten Stufe 2'-5 (siehe Fig. 8b)
empfängt. Schließlich sind die Operationsergebnisse für die letzte Stufe 2'-5 wie folgt:
VjT? 2,1)+ VjT? 2,6)+ V(R 2,11) V(R 2,7)+V(R 2, X2)
VjT? 2,3)+V(T? 2,13)
V(R 2,4) + VjT? 2,9) + VjT? 2,14) VjT? 2,5) + V(R 2,10) + V(R 2,15)
V(R 2,4) + VjT? 2,9) + VjT? 2,14) VjT? 2,5) + V(R 2,10) + V(R 2,15)
3d Diese fünf Werte werden in fünf Bereichen abgespeichert, die mit den Adressen (R X, 11), (R 1,12),
(RX, 13), (RX, 14) und (R X, 15) des Vektorregisters
jeweils bezeichnet sind. Daher erhält man als Vektorsumme
2, ι).
wobei V(R2, #=0 wenn VjT?2, #<0 durch Addierung
dieser fünf Werte. Somit wird jede dieser Daten VjT? 2, i) als gültig oder ungültig gemäß den bedingten Daten
V(M, i) bestimmt bevor die Daten VjT? 2, i) der Pipeline
2' zugeführt werden. Somit ist die gesamte Bearbeitungszeit der Architektur nach F i g. 7 nur durch die
Pipeline 2' bestimmt und demgemäß verhältnismäßig klein.
so F i g. 9 zeigt das Blockdiagramm eines Datenverarbeitungssystenis
mit »Pipeline processing-Architektur« nach Fig.3, 5 oder 7. In Fig.9 wird die »Pipeline
processing-Architektur« 10 durch ein Operationsregister 21 gesteuert Das Operationsregister 21 besteht aus
einem Instruktionscodefeld 21-1 zur Anzeige der Art der Operation wie beispielsweise die obengenannten
Gleichungen (3), (4) und (5). Ferner ist ein Eingabefeld
21-2 zur Anzeige der Adresse (R X) eines Eingabevektorregisters vorgesehen sowie Ausgangsfelder 21-3,
21-4 und 21-5 zur Anzeige der Adressen (R 2\ (R 3) und
(R 4) der Ausgangsvektorregister und ein Maskenfeld 21-6 zur Anzeige der Adresse (M) eines Maskenvektorregisters.
Diese Register werden beispielsweise aus sechzehn Registern V-O, V-I,.., V-15 ausgewählt die
durch das Bezugszeichen 27 bezeichnet sind. Jedes der Vektorregister besteht beispielsweise aus 30 Elementen
mit Adressen. In diesem Falle ist das Element in der Reihe / und in der Spalte j des Vektorregisters 27 ein
Elementy des Vektorregisters V-i.
Bei einer Leseoperation, bei der die in dem Vektorregister 27 gespeicherten Daten ausgelesen und
der »Pipeline processing-Architektur« 10 zugeführt werden, sind die Daten in den /-ten Elementen des
ausgewählten Vektorregisters als Ausgangsregister gespeichert, wobei »/« durch einen Eingangsadressenzähler
23 angezeigt wird, und die Daten über den Eingangsmultiplexer 28 an die »Pipeline processing-Architektur«
übertragen werden. Der Wert des Zählers 23 wird bei jeder Leseoperation für das Vektorregister 27
um eine +1 erhöht. Andererseits wird bei der Schreiboperation, bei der das Operationsergebnis der
»Pipeline processing-Architektur« 10 in das Vektorregister 27 eingeschrieben wird, in einem Datenspeicher 3-1
einer Datenspeichereinrichtung 3 abgespeichert und über einen Ausgangsmuitiplexer 29 zum Element /' des
ausgewählten Vektorregisters als Eingangsregister übertragen, wobei »/'« durch einen Ausgangsadressenzähler
26 angezeigt wird. Der Stand des Zählers 26 wird bei jeder Schreiboperation um +1 erhöht. In F i g. 9 ist
mit 24 ein Zähler zur Speicherung der Anzahl der Elemente des Vektorregisters bezeichnet, die beispielsweise
30 beträgt, und mit 25 ist ein Vergleicher bezeichnet, der einen Vergleich des Wertes des
Eingangsadreßzählers 23 mit dem des Zählers 24 ausführt. Sind diese Werte in Koinzidenz, so ist die
Folge der Operationen, die durch das Operationsregister 21 angegeben wird, vollendet. Ein UND-Gatter 30
ist für den Durchlaß des Unterbrechungsanforderungssignals INT vorgesehen, und zwar nur dann, wenn das
Potential eines Ausgangssignals eines Datenspeichers 3-2 der Datenspeicheranordnung 3 zur Angabe eines
Überlaufs im Operationsergebnis durch die Pipeline 2 (2') seinen hohen Wert angenommen hat. Ferner
bezeichnet 31 einen Zeitgenerator zur zeitlichen Festlegung der Operation des Selektors 22. Als nächstes
ist der Selektor 22 näher erläutert, welcher kurze Impulssignale an das Vektorregister 27 liefert
Fig. 10 stellt den logischen Schaltplan des Selektors
22 nach Fig.9 dar. In Fig. 10 dekodieren jeder der
Dekoder D-RX, D-R 2, D-R3, D-R4 und D-M, die in
den Feldern 21-2, 21-3, 21-4, 21-5 und 21-6 jeweils abgespeicherten Daten, so daß eines der Signale R 100,
Ä101, ..., Λ 115, eines der Signale Ä200, /?201, ..„
Ä215, eines der Signale Ä300, Λ301,.., Ä315, eines
der Signale R 400, R 401,.., R 415 und eines der Signale
MOO, AfOl, .... M15 ausgewählt wird. Daher werden
nur fünf Vektorregister (F i g. 9) in genauer Synchronisation mit einem Taktsignal des Taktgenerators 31
gehalten. Diese Signale Ä200, R201,.., Ä215; Ä300,
R 301,.., R 315; R 400, R 401,.., R 415 und MOO, MOl,
.., M15 werden dem Eingangsmultiplexer 28 zugeführt,
während die Signale Ä100. Ä101, .., Ä115 dem
Ausgangsmuitiplexer 29 zugeführt werden.
F i g. 11 zeigt das logische Schaltdiagramm des
Eingangsmultiplexers 28 nach F i g. 9. Der Eingangsmultiplexer 28 wird zur Übertragung der in den
Vektorregistern gespeicherten Daten zur Pipeline-Architektur 10 (Fig.9) benutzt Wenn z.B. die Daten
V(R 2, i) in dem Vektorregister V-O (F i g. 9) gespeichert
sind, so besitzt das Signal 7? 200 einen hohen PegeL
während die Pegel der Signale R 201 bis R 215, R 300, Ä400 und MOO ihren niedrigen Wert aufweisen. Als
Ergebnis davon werden die in dem Vektorregister V-O gespeicherten Daten durch ein Leseregister RRO und
ein UND-Gatter GR 200 und ein ODER-Gatter G1 zur
Datenholeinrichtung 1-1 übertragen. Wird in gleicher Weise eine Speicherung der Daten V(M, i) in dem
Vektorregister V-I (Fig. 9) vorgenommen, so ist der Pegel des Signals MOl auf seinem hohen Wert, während
die Pegel der Signale MOO, M 02 bis M15, R 201, R 301
-, und R 4OJ ihren niedrigen Wert annehmen. Als Ergebnis
werden die Daten in dem Veklorregister V-I durch ein
Leseregister RR 1, ein UND-Gatter CMOl und einem ODER-Gatter C 4 zur Holeinrichtung 4 für die
bedingten Daten übertragen. Somit werden die Daten,
to die in den Vektorregistern gespeichert sind, an die Pipeline-Architektur 10 durch die Eingangsmultiplexer
28 übertragen.
Fig. 12 zeigt das logische Schaltbild eines Ausgangsmultiplexers
29 in Fig.9. Der Ausgangsmuitiplexer 29
ι -, wird zur Übertragung der Daten V(R 1, i) des
Datenspeichers 3-1 zu einem Vektorregister verwendet, welches durch das Eingangsfeld 21-2 bezeichnet ist.
Sollen beispielsweise Daten V(R 1. i)\n dem Vektorregister
V-15 gespeichert werden, so ist der Pegel des Signals /?115 hoch, während die Pegel der Signale
R 100, R 101 R 114 niedrig sind. Als Ergebnis davon
werden die Daten in der Datenspeichereinrichtung 3 durch ein UND-Gatter CR 115 und ein Schreibregister
15 zum Vektorregister V-15 übertragen, wenn die Daten in der letzten Stufe 5-5 (5'-5) (Fig.9) den Wert »1«
haben. Somit wird das Operationsergebnis zu dem Vektorregister 27 (F i g. 9) durch den Ausgangsmuitiplexer
29 übertragen.
Fig. 13 zeigt ein Zeitdiagramm zur Erläuterung der
Wirkungsweise des Datenverarbeitungssystems von Fig. 9. In Fig. 13 sind die Schritte #1, #2,... wie folgt
definiert:
Schritt #1:
j5 Setzen des Operationsregisters 21;
Schritt #2:
Schritt #2:
Laden der Daten aus dem Hauptspeicher (nicht in Fig.9 gezeigt) in die Vektorregister 27 und
Auswählen einiger der Vektorregister durch den Selektor 22;
Schritt #3:
Schritt #3:
Erhöhen des Eingangsadreßzählers 23 um eins;
Schritt #4:
Schritt #4:
Setzen einer Leseadresse unter Verwendung des Wertes des Zählers 23;
Schritt #5:
Auslesen der Daten durch die Datenholeinrichtungen 1-1,1-2 und die bedingte Datenholeinrichtung
4;
so Schritt #S1:
so Schritt #S1:
Ausführen einer vorbestimmten Operation mit den Daten durch die ersten Stufen 2-1 (2'-I) und 5-1
Schritt #S2:
Ausführen einer vorbestimmten Operation mit den Daten durch die zweiten Stufen 2-2 (2'-2) und 5-2
Schritt #S3:
Ausführen einer vorbestimmten Operation mit den
Daten der dritten Stufen 2-3 (2'-3) und 5-3 (5'-3);
Schritt #S4:
Ausführen einer vorbestimmten Operation mit den Daten durch die vierten Stufen 2-4 (2'-4) und 5-4
Schritt #S5:
Ausführen einer vorbestimmten Operation mit den Daten durch die fünften Stufen 2-5 (2'-5) und 5-5
Schritt #6:
Setzen einer Schreibadresse unter Verwendung des Wertes des Ausgangsadreßzählers 26;
Schritt #7:
Einschreiben der in dem Datenspeicher 3-1 gespeicherten Daten in das ausgewählte Vektorregister.
In diesem Falle sind die Operationen der fünften Stufen und des Ausgangsadreßzählers 26 miteinander
synchronisiert, und der Wert des Zählers 24 beträgt
beispielsweise 30.
Wie vorher erläutert, hat das Datenverarbeitungssystem mit »Pipeline processing-Architektur« gemäß der
vorliegenden Erfindung den Vorteil, daß die Bearbeitungsgeschwindigkeit zwei- oder dreimal so groß wie
bei einem System nach dem Stand der Technik ist, da die gesamte Bearbeitungszeit der Architektur gemäß der
vorliegenden Erfindung nur durch eine einzige Pipeline bestimmt wird, beispielsweise die Zeit entsprechend
nt + (/(Schritt 3) in der oben erläuterten Gleichung (1).
Hierzu 16 Blatt Zeiehnunuen
Claims (1)
1. Nach dem Fließbandprinzip arbeitender Zentralprozessor zur Ausführung einer Folge von
Operationen mit zwei aus mehreren Stufen bestehenden, mit demselben Zeittakt synchron betriebenen
Fließbändern, wovon das erste der Bearbeitung der eintreffenden Befehlsfolge und das zweite der
Übertragung und Auswertung von zur jeweiligen Befehlsfolge gehörenden bedingten Daten dient,
gekennzeichnet durch die Kombination folgender Merkmale:
gekennzeichnet durch die Kombination folgender Merkmale:
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP53106494A JPS6024985B2 (ja) | 1978-08-31 | 1978-08-31 | デ−タ処理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2934971A1 DE2934971A1 (de) | 1980-04-03 |
DE2934971C2 true DE2934971C2 (de) | 1982-06-09 |
Family
ID=14434991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2934971A Expired DE2934971C2 (de) | 1978-08-31 | 1979-08-29 | Nach dem Fließbandprinzip arbeitender Zentralprozessor |
Country Status (4)
Country | Link |
---|---|
US (1) | US4270181A (de) |
JP (1) | JPS6024985B2 (de) |
DE (1) | DE2934971C2 (de) |
GB (1) | GB2032660B (de) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5621242A (en) * | 1979-07-28 | 1981-02-27 | Fujitsu Ltd | Pipeline control method for computer operation |
CA1174370A (en) * | 1980-05-19 | 1984-09-11 | Hidekazu Matsumoto | Data processing unit with pipelined operands |
USRE32493E (en) * | 1980-05-19 | 1987-09-01 | Hitachi, Ltd. | Data processing unit with pipelined operands |
JPS57134774A (en) * | 1981-02-13 | 1982-08-20 | Hitachi Ltd | Vector operating device |
DE3166256D1 (en) * | 1981-03-23 | 1984-10-31 | Ibm Deutschland | Device for shortening the cycle time in a data processing device |
US4541046A (en) * | 1981-03-25 | 1985-09-10 | Hitachi, Ltd. | Data processing system including scalar data processor and vector data processor |
US4541045A (en) * | 1981-09-21 | 1985-09-10 | Racal-Milgo, Inc. | Microprocessor architecture employing efficient operand and instruction addressing |
US4532589A (en) * | 1981-12-02 | 1985-07-30 | Hitachi, Ltd. | Digital data processor with two operation units |
JPS58106636A (ja) * | 1981-12-18 | 1983-06-25 | Hitachi Ltd | パイプライン演算装置 |
JPS58146969A (ja) * | 1982-02-26 | 1983-09-01 | Toshiba Corp | インデツクス限定連続演算ベクトルプロセツサ |
JPS58149548A (ja) * | 1982-03-02 | 1983-09-05 | Hitachi Ltd | メモリ制御方式 |
JPS5936857A (ja) * | 1982-08-25 | 1984-02-29 | Nec Corp | プロセツサユニツト |
JPH0652530B2 (ja) * | 1982-10-25 | 1994-07-06 | 株式会社日立製作所 | ベクトル・プロセッサ |
JPS59125472A (ja) * | 1982-12-30 | 1984-07-19 | Fujitsu Ltd | 逐次化命令実行制御装置 |
US4636942A (en) * | 1983-04-25 | 1987-01-13 | Cray Research, Inc. | Computer vector multiprocessing control |
US4901230A (en) * | 1983-04-25 | 1990-02-13 | Cray Research, Inc. | Computer vector multiprocessing control with multiple access memory and priority conflict resolution method |
US4661900A (en) * | 1983-04-25 | 1987-04-28 | Cray Research, Inc. | Flexible chaining in vector processor with selective use of vector registers as operand and result registers |
JPS59208672A (ja) * | 1983-05-13 | 1984-11-27 | Nec Corp | ベクトル処理装置 |
US4692859A (en) * | 1983-05-16 | 1987-09-08 | Rca Corporation | Multiple byte serial data transfer protocol |
US4561066A (en) * | 1983-06-20 | 1985-12-24 | Gti Corporation | Cross product calculator with normalized output |
JPS6027984A (ja) * | 1983-07-27 | 1985-02-13 | Hitachi Ltd | デ−タ処理装置 |
US4800486A (en) * | 1983-09-29 | 1989-01-24 | Tandem Computers Incorporated | Multiple data patch CPU architecture |
US5093775A (en) * | 1983-11-07 | 1992-03-03 | Digital Equipment Corporation | Microcode control system for digital data processing system |
JPS60134974A (ja) * | 1983-12-23 | 1985-07-18 | Hitachi Ltd | ベクトル処理装置 |
JPH077385B2 (ja) * | 1983-12-23 | 1995-01-30 | 株式会社日立製作所 | データ処理装置 |
JPS60136872A (ja) * | 1983-12-26 | 1985-07-20 | Hitachi Ltd | ベクトル処理装置 |
JPS60136875A (ja) * | 1983-12-26 | 1985-07-20 | Hitachi Ltd | ベクトル演算器 |
JPH0640337B2 (ja) * | 1984-10-03 | 1994-05-25 | 株式会社日立製作所 | パイプライン演算装置 |
US4707783A (en) * | 1984-10-19 | 1987-11-17 | Amdahl Corporation | Ancillary execution unit for a pipelined data processing system |
JPH0769818B2 (ja) * | 1984-10-31 | 1995-07-31 | 株式会社日立製作所 | デ−タ処理装置 |
JPS61160176A (ja) * | 1984-12-29 | 1986-07-19 | Hitachi Ltd | ベクトル処理装置 |
CA1250667A (en) | 1985-04-15 | 1989-02-28 | Larry D. Larsen | Branch control in a three phase pipelined signal processor |
US4745547A (en) * | 1985-06-17 | 1988-05-17 | International Business Machines Corp. | Vector processing |
US4745545A (en) * | 1985-06-28 | 1988-05-17 | Cray Research, Inc. | Memory reference control in a multiprocessor |
US4754398A (en) * | 1985-06-28 | 1988-06-28 | Cray Research, Inc. | System for multiprocessor communication using local and common semaphore and information registers |
JPH0743648B2 (ja) * | 1985-11-15 | 1995-05-15 | 株式会社日立製作所 | 情報処理装置 |
US4811214A (en) * | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
JP3053092B2 (ja) * | 1987-06-05 | 2000-06-19 | 株式会社日立製作所 | 並列化コンパイル方法 |
US4974158A (en) * | 1987-06-10 | 1990-11-27 | Mitsubishi Denki Kabushiki Kaisha | Multiple sequentially transferrable stackpointers in a data processor in a pipelining system |
JPH01188951A (ja) * | 1988-01-23 | 1989-07-28 | Sharp Corp | データフロープログラムの実行制御方式 |
US5068819A (en) * | 1988-06-23 | 1991-11-26 | International Business Machines Corporation | Floating point apparatus with concurrent input/output operations |
US5142638A (en) * | 1989-02-07 | 1992-08-25 | Cray Research, Inc. | Apparatus for sharing memory in a multiprocessor system |
GB2232797B (en) * | 1989-06-16 | 1993-12-08 | Samsung Semiconductor Inc | RAM based serial memory with pipelined look-ahead reading |
DE69033239T2 (de) * | 1989-09-25 | 2000-01-05 | Matsushita Electric Ind Co Ltd | Rechner mit Pipeline-Struktur |
US5471593A (en) * | 1989-12-11 | 1995-11-28 | Branigin; Michael H. | Computer processor with an efficient means of executing many instructions simultaneously |
US5226131A (en) * | 1989-12-27 | 1993-07-06 | The United States Of America As Represented By The United States Department Of Energy | Sequencing and fan-out mechanism for causing a set of at least two sequential instructions to be performed in a dataflow processing computer |
GB2263565B (en) * | 1992-01-23 | 1995-08-30 | Intel Corp | Microprocessor with apparatus for parallel execution of instructions |
JP3452655B2 (ja) * | 1993-09-27 | 2003-09-29 | 株式会社日立製作所 | ディジタル信号処理プロセッサおよびそれを用いて命令を実行する方法 |
US20040111590A1 (en) * | 2002-07-23 | 2004-06-10 | Klein Robert C. | Self-configuring processing element |
US20040019765A1 (en) * | 2002-07-23 | 2004-01-29 | Klein Robert C. | Pipelined reconfigurable dynamic instruction set processor |
JP6934742B2 (ja) * | 2017-04-19 | 2021-09-15 | 株式会社ニューフレアテクノロジー | マルチ荷電粒子ビーム描画装置及びマルチ荷電粒子ビーム描画方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3697734A (en) * | 1970-07-28 | 1972-10-10 | Singer Co | Digital computer utilizing a plurality of parallel asynchronous arithmetic units |
US3875391A (en) * | 1973-11-02 | 1975-04-01 | Raytheon Co | Pipeline signal processor |
US4025771A (en) * | 1974-03-25 | 1977-05-24 | Hughes Aircraft Company | Pipe line high speed signal processor |
US4128880A (en) * | 1976-06-30 | 1978-12-05 | Cray Research, Inc. | Computer vector register processing |
-
1978
- 1978-08-31 JP JP53106494A patent/JPS6024985B2/ja not_active Expired
-
1979
- 1979-08-29 US US06/070,611 patent/US4270181A/en not_active Expired - Lifetime
- 1979-08-29 DE DE2934971A patent/DE2934971C2/de not_active Expired
- 1979-08-30 GB GB7930109A patent/GB2032660B/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
GB2032660A (en) | 1980-05-08 |
JPS6024985B2 (ja) | 1985-06-15 |
JPS5533280A (en) | 1980-03-08 |
GB2032660B (en) | 1983-06-15 |
DE2934971A1 (de) | 1980-04-03 |
US4270181A (en) | 1981-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2934971C2 (de) | Nach dem Fließbandprinzip arbeitender Zentralprozessor | |
DE2819571C2 (de) | ||
EP0689694B1 (de) | Verfahren zur maschinellen erzeugung von nebenläufig bearbeitbaren befehlsgruppen aus einem programm für superskalare mikroprozessoren | |
EP0228480B1 (de) | Verfahren und Einrichtung zur Analyse von Steuerprogrammen | |
DE2311220A1 (de) | Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE2735814A1 (de) | Datenverarbeitungseinrichtung | |
DE4334294C1 (de) | Prozessor für Zeichenketten variabler Länge | |
DE2421130C2 (de) | ||
DE4031136C2 (de) | ||
DE1549474B2 (de) | Anordnung in einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls | |
DE3507584C2 (de) | ||
DE1549508B2 (de) | Anordnung zur uebertragsberechnung mit kurzer signallaufzeit | |
DE2617485A1 (de) | Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen | |
DE2506671B2 (de) | Binärdaten-Handhabungsnetzwerk | |
DE2461651B2 (de) | Zählvorrichtung zum Zählen von Mustern | |
DE3440680A1 (de) | Verfahren und vorrichtung zur dezimaldivision | |
DE3422287C2 (de) | ||
DE2625183A1 (de) | Datenverarbeitungseinrichtung | |
DE2623374A1 (de) | Digitale multipliziereinrichtung | |
EP0721618B1 (de) | Verfahren zur beschleunigten regelauswertung in einem fuzzy-inference-prozessor und vorrichtung zu dessen durchführung | |
DE3609056C2 (de) | ||
DE4001232C2 (de) | Gleitkommaeinheit | |
DE1234055B (de) | Anordnung zur Addition oder Subtraktion | |
DE1424756B2 (de) | Schaltungsanordnung zum fehlergesicherten Einführen oder Wiedereinführer, von Programmen in den Hauptspeicher einer datenverarbeitenden Anlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
D2 | Grant after examination | ||
8328 | Change in the person/name/address of the agent |
Free format text: REINLAENDER, C., DIPL.-ING. DR.-ING., PAT.-ANW., 8000 MUENCHEN |