DE2934971A1 - Datenverarbeitungssystem - Google Patents
DatenverarbeitungssystemInfo
- Publication number
- DE2934971A1 DE2934971A1 DE19792934971 DE2934971A DE2934971A1 DE 2934971 A1 DE2934971 A1 DE 2934971A1 DE 19792934971 DE19792934971 DE 19792934971 DE 2934971 A DE2934971 A DE 2934971A DE 2934971 A1 DE2934971 A1 DE 2934971A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- pipeline
- conditional
- operations
- sequence
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Description
Datenverarbeitungssystem
Priorität: Japan 31.August 1978
Die Erfindung betrifft allgemein ein Datenverarbeitungssystem, insbesondere ein Datenverarbeitungssystem mit einer sogenannten
Pipeline-Prozess-Architektur zur Ausführung einer Folge von Operationen zur Abarbeitung von Pelddaten, beispielsweise
Matrix- und Vektordaten in Verbindung mit einer bedingten Operation.
In der Kernphysik, Meteorologie, Raumfahrtmechanik usw. erfordert die numerische Analyse sehr komplexe Rechnungen bei ultrahohen
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 benutzen. Als Feld bearbeitungsarchitektur ist eine "Pipeline processing-Architektur",
beispielsweise der CDC STAR-1OO 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. Bei der "Pipeline processing-Architektur" wird eine Folge von Eingangsdaten oder eine
Folge von Datengruppen dem Eintrittspunkt der Pipeline zugeführt und gleichzeitig eine Folge von Ausgangsdaten am Ausgangspunkt
der Pipeline erhalten, so daß eine hohe Datenverarbeitungsgeschwindigkeit erzielbar ist.
Die "Pipeline processing-Architektur" nach dem Stand der Technik enthält lediglich eine Pipeline, die zur Ausführung einer
Folge von Operationen mit den Daten verwendet wird. Im allgemeinen gibt es ein Prinzip bei der "Pipeline processing-Architektur",
wonach nur die gleichen Operationen durch jede Stufe
0300U/0633
S 2934371
einer Pipeline ausgeführt werden. Wenn eine große Anzahl von Datengruppen vorliegt, bei denen jede Gruppe 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.
Schritt 1: Sortieren der Gruppen von Daten und Sammeln der Datengruppen,
welche die gleichen Operationen erfordern;
Schritt 2: Ausführen der gleichen Operationen mit den Datengruppen,
welche jeweils gleiche Operationen erfordern;
Schritt J: Speichern der Operationsergebnisse in Vektorregistern
odgl.
Die Bearbeitungszeit jeder Pipeline besteht aus einer Anstiegszeit,
die für das anfängliche Laden der Daten odgl. 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:
T2e » nt + d (Schritt 1) (1)
+ent + d (Schritt 2)
+nt + d (Schritt 5)
+nt + d (Schritt 5)
Darin bedeutet n: die Anzahl der wiederholten Operationen t: die Ausführunerszeit jeder Stufe der Pipelines
d: die Anstiegszeit der Pipelines c: die Dichte der Elemente, welche die Bearbeitung
eines Schritts 2 erfordert (0-C31).
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 Bearbeitungsccschwindißkeit
erreicht wird.
0300U/0633
Daher ist es Hauptgegenstand der vorliegenden Erfindung, ein Datenverarbeitungssystem mit einer" Pipeline processing-Architektur"
zu schaffen, welches eine Folge von Operationen mit Da ten bei hohen Geschwindigkeiten ausführen kann, und zwar auch
in solchen Fällen, in denen die Daten unterschiedliche Operationen, wie zum Beispiel bedingte Operationen, erfordern.
Gemäß der vorliegenden Erfindung wird ein Datenverarbeitungssystem mit einer "Pipeline processing-Architektur" zur Ausführung
einer Folge von Operationen mit Gruppen von Daten geschaffen, wovon eine Gruppe bedingte Daten enthält, und welches eine
Hauptpipeline zur Ausführung einer Folge von Operationen mit dem Rest der Daten enthält, und eine Subpipeline, die dazu
bestimmt ist, die bedingten Daten zu übertragen. Beide Pipelines sind prallel angeordnet; zum Beipiel sind die Stufen
der Hauptpipeline und der Subpipeline in ihrer Anzahl gleich und mit Hilfe desselben Grundtakts sychronisiert. Demzufolge
ist die Hauptpipeline am Eingang oder Ausgang durch die Subpipeline gesteuert. Beispielsweise ist das Operationsergebnis
der Hauptpipeline an ihrem Ausgang als gültig oder ungültig festgelegt. Daher ist die "Pipeline processing-Architektur"
zur Ausführung einer Folge von Operationen mit Daten, die unterschiedliche Operationen erfordern, nur durch eine
Pipeline, beispielsweise die Hauptpipeline, bestimmt, und
die gesamte Bearbeitungszeit ist bei der Architektur gemäß
der vorliegenden Erfindung sehr klein.
Die vorliegende Erfindung ist in der nachfolgenden Beschreibung unter Bezugnahme der Zeichnungen näher erläutert.
Fig.1 zeigt ein Blockdiagramm zur Erläuterung der'Pipeline
processing-Architektur" nach dem Stand der Technik;
Fig.2a bis Fig.2e sind Blockdiagramme der Pipeline 2;
Fig.3 zeigt ein Blockdiagramm zur Erläuterung einer ersten
Ausführungsform der "Pipeline processing-Architektur" gemäß der Erfindung.
0300U/0633
Fig.4a bis Fig.4e zeigen Blockdiagramme der Pipelines 2 und
5 zur Erläuterung der Wirkungsweise der "Pipeline processing-Architektur"
nach Fig.3;
Fig.5 zeigt ein Blockdiagramm zur Erläuterung einer zweiten
Ausführungsform der "Pipeline processing-Architektur" gemäß der vorliegenden Erfindung;
Fig.6a bis Fig.Ge sind Blockdiagramme der Pipelines 2 und 51
zur Erläuterung der Wirkungsweise der "Pipeline processing-Architektur" nach Fig.5;
Fig.7 stellt das Blockdiagramm einer dritten Ausführungsform
der "Pipeline processing-Architektur" gemäß der Erfindung dar;
Fig.8a bis Fig.8e sind Blockdiagramme der Pipelines 2' und 5
zur Erläuterung der Wirkungsweise der ^Pipeline processing-Architektur"
nach Fig.7;
Fig.9 zeigt ein Blockdiagramm eines Datenverarbeitungssystems
mit der "Pipeline processing-Architektur nach Fig.3, 5 oder 7;
Fig.10 zeigt ein logisches Schaltbild des Selektors 22 nach
Fig.9;
Fig.11: zeigt eine logische Schaltung des Eingangsmultiplexers
nach Fig.9;
Fig.12 zeigt ein logisches Schaltungsdiagramm des Ausgangsmultiplexers
nach Fig.9;
Fig.13 zeigt ein Zeitdiagramm zur Erläuterung der Wirkungsweise
des Datenverarbeitungssystems nach Fig.9-
In Fig.1 ist eine "Pipeline processing-Architektur" nach dem
Stande der Technik zur Ausführung einer arithmetischen Operation, z.B. einer nachstehenden Vektoraddition, dargestellt
V(R1,i) = V(S2,i) + V(R3,i) (2)
Darin bedeuten R1, R2 und R3 die Operanden (Registernummern)
i = 1,2,...,n;
V(R1,i), V(R2,i) und V(R3,i) jeweils die Inhalte der durch die Adressen (R1,i), (R2,i) und (R3,i)
bezeichneten Bereiche eines Vektorregisters (nicht dargestellt).
030014/0 633
Die Architektur umfaßt eine Systemeinrichtung zum Holen der Daten
1, um eine Gruppe von Daten V(R2,i) und V(R3,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(R2,i)+V(R3,i) der Pipeline 2. In diesem Falle führen die fünf arithmetischen Stufen
die folgenden Operationen simultan aus.
Stufe 2-1: Vergleichen der Charakteristik von V(R2,i) mit der von V(R3,i) und Berechnen von deren Differenz;
Stufe 2-2: Verschieben der Mantisse des jeweils kleineren Datensatzes
V(R2,i) und V(R3,i) um die obengenannte Differenz;
Stufe 2-3: Addieren der Mantisse von V(R2,i) und von V(R3,i);
Stufe 2-4: Anzeigen nichtsignifikanter Ziffern in der Summe V(R2,i)+V(R3,i) und
Stufe 2-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 Fig.1 zu erläutern. In Fig.2a wird eine erste Gruppe von
Daten V(R2,1) und V(R3,1) durch die Datenholeinrichtung 1 ausgelesen und zur ersten Stufe 2-1 der Pipeline 2 übertragen,
so daß die erste Stufe 2-1 die Vergleichsoperation zwischen den Daten V(R2,1) und V(R3,1) ausführt. Als nächstes werden die Daten
V(R2,1) und V(R3,1) von der ersten Stufe 2-1 zur zweiten Stufen 2-2 übertragen. Gleichzeitig wird eine zweite Gruppe
von Daten V(R2,2) und V(R3,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(R2,2) und V(R3,2) aus, während die
zweite Stufe 2-2 die Verschiebungsoperation mit den Daten V(R2,1) und V(R3,1) ausführt. Als nächstes werden die Daten V(R2,1) und
030014/0633
V(R3,1) von der zweiten Stufe 2-2 zur dritten Stufe 2-3 übertragen,
während die Daten V(R2,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 V(R2.3) und V(R3,3) durch die Datenholeinrichtung 1 zur ersten Stufe 2-1 (siehe
Fig.2c) übertragen. Als Ergebnis davon führen die Stufen 2-1, 2-2 und 2-3 ihre Operationen mit den Daten V(R2,3) und V(R3,3),
den Daten V(R2,2) und V(R3,2) sowie den Daten V(R2,1) und V(R3,1) jeweils aus. Wie in Fig.2c dargestellt, ist das Ergebnis der
Operation der dritten Stufe 2-3 die Summe V(R2,1)+V(R3,1). Als
nächstes werden die Daten V(R2,1)+V(R3,1), die Daten V(R2,2)
und V(R3,2) sowie die Daten V(R2,3) und V(R3,3) von den Stufen 2-3, 2-2 und 2-1 zu den Stufen 2-4, 2-3, 2-2 jeweils übertragen.
Simultan daau wird eine vierte Gruppe von Daten V(R2,4) und V(R3,4) durch die Datenholexnrichtung 1 ausgelesen und an
die erste Stufe 2-4 (siehe Fig.2d) übertragen. Als Ergebnis davon führen die Stufen 2-1, 2-2, 2-3 und 2-4 ihre Operationen
mit den Daten V(R2,4) und V(R3,4), den Daten V(R2,3) und V(R3,3) sowie den Daten V(R2,2) und V(R3,2) sowie den Daten V(R2,1) +
V(R3,1) jeweils aus. Als nächstes werden die Daten V(R2,1) + V(R3,1), die Daten V(R2,2,)+ V(R3,2), ferner die Daten V(R2, 3)
und V(R3,3) sowie die Daten V(R2,4) und V(R3,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
V(R2,5) und V(R3,5) durch die Datenholexnrichtung 1 an die erste Stufe 2-1 (siehe Fig.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(R2,5) und V(R3,5), die Daten V(R2,4) und V(R3,4)
sowie den Daten V(R2,3) und 7(R3,3), ferner die Daten V(R2,2) + V(R3,2) sowie den Daten V(R2,1) + ¥(R3,D jeweils aus. Als nächstes
werden die Daten V(R2,1) + ¥(R3,1) zu der Datenspeichereinrichtung 3 übertragen, und danach werden die Daten ¥(R2,1) +
V(R3,1) in dem durch eine Adresse (R1,1) bezeichneten Bereich des Vektorregisters abgespeichert. Sodann wird die Folge der
Daten V(R2,1) und V(R3,D, die Daten V(R2,2) und V(R3,2),...,
. 0300U/0633
sowie ferner die Daten V(R2,n) und V(R3,n) der Pipeline 2 zugeführt,
so daß die Folge der Summen der Daten V(R2,1) + V(R3,1),
die Summe der Daten V(R2,2)+V(R3,2),..., die Summe der Daten V(R2,n) + V(R3,n) am Ausgang der Pipeline 2 erhalten wird. Wird
jedoch eine arithmetische Vektoroperation mit einer bedingten Operation verbunden mittels der "Pipeline proeessing-Architektur"
nach Pig.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.
Fig.3 zeigt ein Blockdiagramm zur Erläuterung einer ersten Ausführungsform
der "Pipeline processing-Architektur" gemäß der Erfindung, und die Fig.4a bis 4e zeigen Blockdiagramme der Pipelines
2 und 5 zur Erläuterung einer Wirkungsweise der "Pipeline■
processing-Architektur" von Fig.3· Die in Fig.3 dargestellten
Elemente, die den in Fig.1 entsprechen, sind mit denselben Bezugszeichen
wie in Fig.1 versehen. Die Architektur von Fig.3 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,i) bezeichneten Bereich herausliest,
wenn die Einrichtung 1 die Daten V(R2,i) und V(R3,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(R2,i) und V(R3,i) ausführt. Ferner enthält die Architektur nach Fig.3 einen Unterbrechungsanforderungssignalpenerator
6 zur Erzeugung eines Unterbrechungsanforderungssignals INT in Abhängigkeit von den Daten am Ausgang der Pipeline 5·
0300U/0633
Nun ist die nachfolgende Vektoraddition in Verbindung mit der Bedingungsoperation zu betrachten.
V(R1,i) = V(H2,i) + V(H3,i) (3)
wenn V(R2,i)>V(R3,i).
Keine Operation
wenn V(R2,i) f V(R3,i)
(i=1,2, ...,n)
wenn V(R2,i) f V(R3,i)
(i=1,2, ...,n)
Es sei angenommen, daß eine "1" in einem Speicherbereich mit
der Adresse (M,i) der Register gespeichert sei, wenn der Wert von V(R2,i) größer ist als der von V(R3,i), während eine "0"
in einem Bereich mit der Adresse (M,i) des Vektorregisters
vorgespeichert ist, sofern der Wert von V(R2,i) gleich oder
niedriger als der von V(R3,i) ist. Zunächst wird eine erste
Gruppe von Daten V(R2,1) und V(R3,i) 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 Fig.4a) übertragen. Als Ergebnis davon führt die erste Stufe 2i-1 ihre Operation mit der Gruppe von Daten V(R2,1) und V(R3,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 Fig.1, die Folge der Daten V(R2,1) und V(R3,1),
V(R2,2) und V(R3,2), ..., V(R2,n) und V(R3,n) durch die Stufen 2-1, 2-2, ..., 2-5 hindurchgeleitet, welche ihre Operation mit diesen Daten (siehe Fig.4a bis Fig.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 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
der Adresse (M,i) der Register gespeichert sei, wenn der Wert von V(R2,i) größer ist als der von V(R3,i), während eine "0"
in einem Bereich mit der Adresse (M,i) des Vektorregisters
vorgespeichert ist, sofern der Wert von V(R2,i) gleich oder
niedriger als der von V(R3,i) ist. Zunächst wird eine erste
Gruppe von Daten V(R2,1) und V(R3,i) 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 Fig.4a) übertragen. Als Ergebnis davon führt die erste Stufe 2i-1 ihre Operation mit der Gruppe von Daten V(R2,1) und V(R3,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 Fig.1, die Folge der Daten V(R2,1) und V(R3,1),
V(R2,2) und V(R3,2), ..., V(R2,n) und V(R3,n) durch die Stufen 2-1, 2-2, ..., 2-5 hindurchgeleitet, welche ihre Operation mit diesen Daten (siehe Fig.4a bis Fig.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 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
0300U/0633
2-5 empfangenen Daten zu einem mit der Adresse (R1,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 überträgt die Datenabspeicherungsexnrichtung
3 keine von der letzten Stufe 2-5 übertragenen Daten zu dem mit der Adresse (R1,i) bezeichneten Bereich des Vektorregisters
und der Generator 6 erzeugt ein Unterbrechungsanforderungssignal INT. Somit ist jede der Summen der Daten V(R2,i) + V(RJ,i)
(=(V(R1,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.
Fig.5 zeigt ein Blockdiagramm zur Erläuterung einer zweiten
Ausführungsform einer "Pipeline processing-Architektur11 gemäß der vorliegenden Erfindung, und die Fig.6a bis 6e stellen
Blockdiagramme der Pipelines 2 und 5' dar, um die Wirkungsweise der"Pipeline processing-Architektur" nach Fig.5 zu erläutern.
Die in Fig.5 dargestellten Elemente sind mit den in Fig.3
identisch und besitzen die gleichen Bezugszeichen wie in Fig.3· Die Architektur nach Fig.5 enthält eine Pipeline 5*>
ähnlich der Pipeline 5 (Fig.3). Die Pipeline 5' bearbeitet die Daten V(R4-,i), die in einem Bereich mit der Adresse (R4-,i) des Vektorregisters
abgespeichert sind. In diesem Fallen werden,da die Daten V(R4-,i) nichtbedingte Daten sind, die bedingten Daten
entsprechend den Daten V(M,i) nach Fig.3 der Wert "1" oder "0"
. · in einer Stufe der Pipeline 51 gebildet. Nachstehend sei
die folgende Vektoraddition in Verbindung mit einer bedingten Operation betrachtet.
0300U/0633
V(RI,i) = V(R2,i) + V(R3,i)
wenn V(R4,i) '- O.
wenn V(R4,i) '- O.
Keine Operation
wenn V(M,i) < O
wenn V(M,i) < O
In Fig.5 führt die zweite Stufe 5'-2 der Pipeline 5' eine Vergleichsoperation
zum Vergleich des Wertes der Daten V(R4-,i) mit null durch. Ist der Wert der Daten V(R4,i) größer als null,
so wird eine "1" in die Stufe 5'-2 eingeschrieben, während im
Falle eines Werts der Daten V(R4-,i) 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) in Fig.3 dient, wird von der Stufe 5'-2 zur Stufe 5'-5 übertragen
(siehe Fig.6b bis 6e). Daher ist die Datenspeichereinrichtung
3 und der Unterbrechungsanforderungssignalgenerator nach Fig.5 in Gleicher Weise tätig wie in Fig.3. Daher sind
auch ,iede der Summen von Daten V(R2,i)+V(R3*i) (=V(R1,i)),
deren Operation durch die Pipeline 2 ausgeführt werden, als gültig oder ungültig in der Datenabspeicherungseinrichtung
bestimmt, welche die bedingten Daten entsprechend den Daten V(M,i) nach Fig.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.
Fig.7 zeigt ein Blockdiagramm zur Erläuterung einer dritten
Ausführungsform der"Pipeline processing-Architektur" gemäß
der vorliegenden Erfindung, und die Fig.8a bis 8e zeigen Blockdiagramme der Pipelines 21 und 5 zur Erläuterung der
Wirkungsweise der "Pipeline processing-Architektur" nach Fig.7. Die Elemente, die in Fig.7 dargestellt sind, sind
identisch mit denen nach Fig.3 und besitzen die gleichen Bezugszeichen wie in Fig.3. Die Architektur nach Fig.7 umfaßt
eine Pipeline 21, welche der Pipeline 2 nach Fig.3
entspricht, wobei der Ausgang der Pipelines 21 mit deren
Eingang verbunden ist. Zusätzlich enthält die Architektur
0300U/0633
nach Fig.7 eine Datenholeinrichtung 1', die einen Null-Generator
1'-1 und eine Gatteranordnung 1'-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 V/ert "1" ergeben, so legt die Gatteranordnung 1<-2 die Daten
V(R2,i) an die Pipeline 2'. Wenn im Gegensatz dazu die bedingten Daten V(M,i) "0" sind, so legt die Gatteranordnung 1'-2
den Wert "0", der vom Nullgenerator 1'-1 erzeugt wurde, an die
Pipeline 2' an. Nachstehend ist die kumulative Vektoraddition in Verbindung mit einer bedingten Operation betrachtet.
£nV(R2,i)=.V(R2,1)+(VR2,2)+...+V(R2,n) (5)
i=1
wobei V(R2,i)=0 wenn V(R2,i) = 0
wobei V(R2,i)=0 wenn V(R2,i) = 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(R2,i) größer als "0" sind, während eine "0" in dem mit der Adresse (M,i) bezeichneten Speicherbereich
des Vektorregisters abgespeichert ist, wenn die Daten V(R2,i) gleich oder kleiner als null sind. In Fig.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(R2,1) und V(M,1) durch die Datenholeinrichtung
1' und die Datenholeinrichtung 4- für bedingte Daten jeweils ausgelesen. In diesem Falle werden, da die Daten
V(M,1) "1" sind, die Daten V(R2,1) durch die Gatteranordnung 1'-2 zur ersten Stufe 2'-1 übertragen, die ebenfalls den
Wert "0" der letzten Stufe 2'-5 (siehe Fig.8a) empfängt. Die
erste Stufe 2'-1 führt ihre Operation mit den Daten "0" und V(R2,1) durch, während die erste Stufe 5-1 keine Operation ausführt.
Als nächstes werden die Daten V(R2,2) und V(M,2) durch die Einrichtung 11 und 4· jeweils ausgelesen. In diesem Falle
wird, da die Daten V(M,2) "0" sind, der Wert "0" des Null-Generators
1'-1 über die Gatteranordnung 1'-2 an die erste Stufe
0300U/0633
As 2934371
2'-1 geführt, die ebenfalls den Wert "O" der letzten Stufe 2'-5
(siehe Fig.8b) empfängt. Schließlich sind die Operationsergebnisse
für. die letzte Stufe 2'-5 wie folgt«
V(R2.1)+V(R2,6)+V(R2,11)
V(R2,7)+V(R2,12)
V(R2,7)+V(R2,12)
V(R2.3)+V(R2,13)
V(R2,4)+V(R2,9)+V(R2,14)
V(R2,4)+V(R2,9)+V(R2,14)
V(R2,5)+V(E2,10)+V(R2,15)
Diese fünf Werte werden in fünf Bereichen abgespeichert, die mit den Adressen (RI1II), (RI ,12), (R1,13), (R1,14) und (R1,15)
des Vektorregisters jeweils bezeichnet sind. Daher erhält man
als Vektorsumme Ü5 V(R2,i), wobei V(R2,i) = 0 wenn V(R2,i)<0
±=1
durch Addierung dieser fünf Werte. Somit wird jede dieser Daten V(R2,i) als gültig oder ungültig gemäß den bedingten Daten
V(M,i) bestimmt, bevor die Daten V(R2,i) der Pipeline 2' zugeführt
werden. Somit ist die gesamte Bearbeitungszeit der Architektur nach Fig.7 nur durch die Pipeline 21 bestimmt und demgemäß
verhältnismäßig klein.
Fig.9 zeigt das Blockdiagramm eines Datenverarbeitungssystems
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 (R1) eines Eingabevektorregisters vorgesehen sowie Ausgangsfelder 21-3, 21-4- und 21-5 zur Anzeige der
Adressen (R2), (R3) und (R4-) der Ausgangsvektorregister und
ein Maskenfeld 21-6 zur Anzeige der Adresse (M) eines Maskenvektorregisters. Diese Register werden beispielsweise aus
sechzehn Registern V-O, V-1, ..., V-15 ausgewählt, die durch
das Bezugszeichen 27 bezeichnet sind. Jedes der Vektorregister
0300U/0633
besteht beispielsweise aus 30 Elementen mit Adressen. In diesem Falle ist das Element in der Reihe i und in der Spalte j
des Vektorregisters 27 ein Element j des Vektorregisters V-i.
Bei einer Leseoperation, bei der die in den Vektorregister 27 gespeicherten Daten ausgelesen und der "Pipeline processing-Architektur"
10 zugeführt werden, sind die Daten in den i-ten Elementen des ausgewählten Vektorregisters als Ausgangsregister
gespeichert, wobei "i" durch einen Eingangsadressenfehler 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 Ausgangsmultiplexer 29 zum Element i1 des ausgewählten Vektorregisters als Eingangsregister
übertragen, wobei "i1" durch einen Ausgangsadressenzähler
26 angezeigt wird. Der Stand des Zählers 26 wird bei ,ieder
Schreiboperation um +1 erhöht. In Fisc.9 ist mit 24· ein
Zähler zur Speicherung der Anzahl der Elemente des Vektorreffisters
bezeichnet, die beispielsweise 30 beträgt, und mit 25
ist ein Vergleicher bezeichnet, der einen Vergleich des Wertes des Eingangsadresszä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 Datenspexcheranordnung 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.
0300U/0633
Fig.10 stellt den logischen Schaltplan des Selektors 22 nach
Fig.9 dar. In Fig.10 dekodieren jeder der Dekoder D-RI, D-R2,
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 R100, R101, ..., R115, eines der Signale R200, R201, ...,
R215, eines der Signale R300, R301, ..., R315, eines der Signale
MOO, HW, ..., R4-15 und eines der Signale MOO, M01, ...,
M15 ausgewählt wird. Daher werden nur fünf Vektorregister
(Fig.9) in genauerSynchronisation mit einem Taktsignal des Taktgenerators 31 gehalten. Diese Signale R200, R201,...,
R215; R300, R301, ..., R315; R4-00, R401,..., R415 und ; MOO,
M01, ..., M15 werden dem Eingangsmultxplexer 28 zugeführt,
während die Signale R100, R101,..., R115 dem Ausgangsmultiplexer 29 zugeführt werden.
Fig.11 zeigt das logische Schaltdiagramm des Eingangsmultiplexers
28 nach Fig.9- Der Eingangsmultxplexer 28 wird zur Übertragung der in den Vektorregistern gespeicherten Daten
zur Pipeline-Architektur 10 (Fig.9) benutzt. Wenn zum Beispiel
die Daten V(R2,i) in dem Vektorregister V-O (Fig.9) gespeichert sind, so besitzt das Signal R200 einen hohen Pegel, während
die Pegel der Sienale R201 bis R215, R300, R400 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 GR200 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-1
(Fig.9) vorgenommen, so ist der Pegel des Signals M01 auf seinem hohen Wert, während die Pegel der Signale MOO, M02 bis
M15, R201, R301 und R4-01 ihren niedrigen Wert annehmen. Als
Ergebnis werden die Daten in dem Vektorregister V-1 durch ein Leseregister RR1, ein UND-Gatter GM01 und einem ODER-Gatter GW-zur
Holeinrichtung 4 für die bedingten Daten übertragen. Somit werden die Daten, die in den Vektorregistern gespeichert
sind, an die Pipeline-Architektur 10 durch die Eingangsmultxplexer
28 übertragen.
0300U/0633
Fig.12 zeigt das logische Schaltbild eines Ausgangsmultiplexers
29 in Fig.9- Der Ausgangsmultiplexer 29 wird zur Übertragung
der Daten V(R1,i) des Datenspeichers 3-1 zu einem Vektorregister verwendet, welches durch das Einganesfeld 21-2 bezeichnet
ist. Sollen beispielsweise Daten V(R1,i) in dem Vektorregister V-I5 gespeichert werden, so ist der Pegel des Signals
RII5 hoch, während die Pegel der Signale R1OO, R101,...,
R114 niedrig sind. Als Ergebnis davon werden die Daten in der
Datenspeichereinrichtung 3 durch ein UND-Gatter GB115 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 (Fig.9) durch den Ausgangsmultiplexer 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: Setzen des Operationsregisters 21;
Schritt # 2: Laden der Daten aus dem Hauptspeicher (picht in Fig.9 gezeigt) in die Vektorregister 27 und
Auswählen einiger der Vektorregister durch den Selek tor 22;
Schritt if 3ϊ Erhöhen des Eingangsadresszählers 23 um eins;
Schritt if 4: Setzen einer Leseadresse unter Verwendung
des Wertes des Zählers 23;
Schritt 4 5: Auslesen der Daten durch die Datenholeinrichtungen
1-1, 1-2 und die bedingten Datenholeinrichtung 4;
Schritt^· S1: Ausführen einer vorbestimmten Operation
mit den Daten durch die ersten Stufen 2-1(2'-1) und
5-1(5'-1);
Schritt^- S2: Ausführen einer vorbestimmten Operation
mit den Daten durch die zweiten Stufen 2-2(2'-2) und
5-2(5'-2);
0300U/0633
■ 2934371
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
Schritt#S3' Ausführen einer vorbestimmten Operation
mit den Daten durch die fünften Stufen 2-5(2'-5) und 5-5(5'-5);
Schritt# 6: Setzen einer Schreibadresse unter Verwendung
des Wertes des Ausgangsadresszählers 26; Schritt jf 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 Ausgangsadresszä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+d (Schritt 3) in der obenerläuterten Gleichung (1).
030014/0633
Claims (8)
- REINLÄNDER & BERNHARDTPATENTANWÄLTE6/395 Orthstraße 12D-8000 München 60FUJITSU LIMITED1015, Kamikodanaka, ITakahara-ku Kawasaki-shi, Kanagawa 211 / JapanPat entansprüche/ 1.)Datenverarbeitungssystem mit einer "Pipeline processing-Architektur" zur Ausführung einer Folge von Operationen für jede Gruppe von Daten, von denen eine Gruppe aus bedingten Daten besteht, gekennzeichnet durch eine erste Pipeline zur Ausführung der Folge von Operationen mit dem Rest der Daten und eine zweite Pipeline zur Übertragung der bedingten Daten, wobei die Stufen der ersten Pipeline und die der zweiten Pipeline ihrer Anzahl nach gleich und mit demselben Zeittakt synchronisiert sind, und wobei das Operationsergebnis der ersten Pipeline als gültig oder ungültig an deren Ausgang gemäß den bedingten Daten bestimmt wird, die durch die zweite Pipeline übertragen werden.
- 2. System nach Anspruch 1, gekennzeichnet durch Vektorregister zur Speicherung der Daten, eine erste: Datenholeinrichtung zur Übertragung des Restes der Daten, die aus dem Vektorregister für die erste Pipeline ausgelesen wurden, eine zweite Datenholeinrichtung zum Empfang der bedingten Daten, die aus dem Vektorregister für die zweite Pipeline0300U/0633ausgelesen wurden^und eine Datenspeicheranordnung zur Übertragung des Operationsergebnisses der ersten Pipeline zu dem Vektorregister nur dann, wenn die bedingten Daten den Wert "1" haben.
- 3. System nach Anspruch 2, gekennzeichnet durch einen Unterbrechungsanforderungssignalgenerator zur Erzeugung eines Unterbrechungsanforderungssignals nur dann, wenn die bedingten Daten den Wert "1" besitzen.
- 4. Datenverarbeitungssystem mit "Pipeline processing-Architektur" zur Ausführung einer Folge von Operationen jeweils mit Datengruppen, von denen eine Gruppe spezifizierte Daten für die Bestimmung der Bedingung der Folge der Operationen enthält, gekennzeichnet durch eine erste Pipeline zur Durchführung der Folge von Operationen mit dem Rest der Daten und eine zweite Pipeline zur Umwandlung der spezifizierten Daten in bedingte Daten, wobei die Stufen der ersten Pipeline und die der zweiten Pipeline ihrer Zahl nach gleich und mit demselben Zeittakt synchronisiert sind, wobei das Operationsergebnis der ersten Pipeline an ihrem Ausgang als gültig oder ungültig gemäß den bedingten Daten von der zweiten Pipeline bestimmt wird.
- 5. System nach Anspruch 4, gekennzeichnet durch Vektorregister zur Speicherung der Daten, eine erste Datenholeinrichtung zur Übertragung des Restes der Daten, die aus dem Vektorregister für die erste Pipeline ausgelesen wurden, eine zweite Datenholeinrichtung zum Empfang der spezifizierten Daten, die aus dem Vektorregister für die zweite Pipeline ausgelesen wurden,und Datenspeichermittel zur Übertragung der Operationsergebnisse der ersten Pipeline an das Vektorregister nur, wenn die bedingten Daten den Wert "1" besitzen.0300U/0633
- 6. System nach Anspruch 55 gekennzeichnet durch einen Unterbrechungsanforderungsgenerator zur Erzeugung eines Unterbrechungsanforderungssignals nur, wenn die bedingten Daten den Wert "1" besitzen.
- 7. Datenverarbeitungssystem mit einer '.'Pipeline processing-Architektur" zur Ausführung einer Folge von Operationen mit jeweils Gruppen von Daten, von denen eine Gruppe bedingte Daten sind, gekennzeichnet durch eine erste Datenholeinrichtung zum Empfang des Restes der Daten, eine zweite Datenholeinrichtung zum Empfang der bedingten Daten und Erzeugung eines Steuersignals entsprechend den bedingten Daten für die erste Datenholeinrichtung, wobei der Rest der Daten als gültig oder ungültig bestimmt wird, eine erste. Pipeline zur Durchführung der Folge von Operationen mit dem Rest der Daten, die als gültig festgelegt sindjUnd eine, zweite Pipeline zur Übertragung der bedingten Daten, wobei die Anzahl der Stufen der ersten Pipeline und der zweiten Pipeline gleich und beide mit demselben Zeittakt sychronisiert sind und wobei der Rest der Daten als gültig oder ungültig am Eingang der ersten Pipeline entsprechend den bedingten Daten bestimmt wird.
- 8. System nach Anspruch 75 dadurch gekennzeichnet, daß ein Ausgang der ersten Pipeline mit einem ihrer Eingänge verbunden ist, so daß eine kumulative Addition oder Multiplikation ausgeführt werden kann.0300U/0633
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 true DE2934971A1 (de) | 1980-04-03 |
DE2934971C2 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 |
USRE32493E (en) * | 1980-05-19 | 1987-09-01 | Hitachi, Ltd. | Data processing unit with pipelined operands |
CA1174370A (en) * | 1980-05-19 | 1984-09-11 | Hidekazu Matsumoto | Data processing unit with pipelined operands |
JPS57134774A (en) * | 1981-02-13 | 1982-08-20 | Hitachi Ltd | Vector operating device |
EP0060909B1 (de) * | 1981-03-23 | 1984-09-26 | Ibm Deutschland Gmbh | Anordnung in einer Datenverarbeitungseinrichtung zur Verkürzung der Zykluszeit |
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 |
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 |
US4901230A (en) * | 1983-04-25 | 1990-02-13 | Cray Research, Inc. | Computer vector multiprocessing control with multiple access memory and priority conflict resolution method |
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 |
EP0820007B1 (de) * | 1989-09-25 | 1999-08-04 | Matsushita Electric Industrial 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 | 株式会社日立製作所 | ディジタル信号処理プロセッサおよびそれを用いて命令を実行する方法 |
WO2004010286A2 (en) * | 2002-07-23 | 2004-01-29 | Gatechange Technologies, Inc. | 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 | 株式会社ニューフレアテクノロジー | マルチ荷電粒子ビーム描画装置及びマルチ荷電粒子ビーム描画方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2404459B2 (de) * | 1974-01-31 | 1976-08-12 | Computer Gesellschaft Konstanz Mbh, 7750 Konstanz | Mehr-befehlsstrom-rechenanlage |
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
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2404459B2 (de) * | 1974-01-31 | 1976-08-12 | Computer Gesellschaft Konstanz Mbh, 7750 Konstanz | Mehr-befehlsstrom-rechenanlage |
Also Published As
Publication number | Publication date |
---|---|
GB2032660B (en) | 1983-06-15 |
US4270181A (en) | 1981-05-26 |
JPS5533280A (en) | 1980-03-08 |
JPS6024985B2 (ja) | 1985-06-15 |
GB2032660A (en) | 1980-05-08 |
DE2934971C2 (de) | 1982-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2934971A1 (de) | Datenverarbeitungssystem | |
DE3751503T2 (de) | Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen. | |
DE69115344T2 (de) | Vorverarbeitungsprozessor zur Verbindung von Befehlen für einen Cache-Speicher | |
DE2819571C2 (de) | ||
DE19839627B4 (de) | Digitaler Signalprozessor | |
DE2724125C2 (de) | ||
DE3882772T2 (de) | Vektorprozessor angepasst zum Sortieren von Vektordaten. | |
DE2714805C2 (de) | ||
DE2758830A1 (de) | Rechenvorrichtung | |
DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE3688640T2 (de) | Suchgerät. | |
DE2311220A1 (de) | Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung | |
DE3752280T2 (de) | Mustergenerator | |
EP0048767A1 (de) | Prioritätsstufengesteuerte Unterbrechungseinrichtung | |
DE2803425A1 (de) | Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken | |
DE1197650B (de) | Parallel-Addierer | |
DE3689356T2 (de) | Verfahren und Schaltung zum Generieren von binären Signalen und modifizierter Bitfolge. | |
DE3400723A1 (de) | Vektorprozessor | |
DE3788617T2 (de) | Vektordatenverarbeitungssystem mit einer E/A-Steuerung für jeden Vektordatenprozessor und einer anderen E/A-Steuerung für mindestens einen anderen Vektordatenprozessor. | |
DE69501581T2 (de) | Verfahren zum Erzeugen eines Fehlerkorrekturparameters in Verbindung mit der Verwendung von modularen Operationen nach der Montgomery-Methode | |
DE2617485A1 (de) | Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen | |
DE3587517T2 (de) | Paralleler Registertransfermechanismus für Reduktionsprozessor zur Durchführung von Programmen die als binäre Graphen gespeichert sind und die Anwendungssprachenkodes ohne Variablen verwenden. | |
DE2310553A1 (de) | Vorrichtung zur durchfuehrung arithmetischer und logischer operationen | |
DE68903280T2 (de) | Vektorschlange in computern mit vektorregister. | |
DE2461651B2 (de) | Zählvorrichtung zum Zählen von Mustern |
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 |