DE2934971A1 - Datenverarbeitungssystem - Google Patents

Datenverarbeitungssystem

Info

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
Application number
DE19792934971
Other languages
English (en)
Other versions
DE2934971C2 (de
Inventor
Yoshiyuki Tanakura
Keiichiro Uchida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE2934971A1 publication Critical patent/DE2934971A1/de
Application granted granted Critical
Publication of DE2934971C2 publication Critical patent/DE2934971C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector 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)
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)
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
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.
Keine Operation
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
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.3)+V(R2,13)
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)

  1. REINLÄNDER & BERNHARDT
    PATENTANWÄLTE
    6/395 Orthstraße 12
    D-8000 München 60
    FUJITSU LIMITED
    1015, Kamikodanaka, ITakahara-ku Kawasaki-shi, Kanagawa 211 / Japan
    Pat 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. 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 Pipeline
    0300U/0633
    ausgelesen 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. 3. System nach Anspruch 2, gekennzeichnet durch einen Unterbrechungsanforderungssignalgenerator zur Erzeugung eines Unterbrechungsanforderungssignals nur dann, wenn die bedingten Daten den Wert "1" besitzen.
  4. 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. 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. 6. System nach Anspruch 55 gekennzeichnet durch einen Unterbrechungsanforderungsgenerator zur Erzeugung eines Unterbrechungsanforderungssignals nur, wenn die bedingten Daten den Wert "1" besitzen.
  7. 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. 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
DE2934971A 1978-08-31 1979-08-29 Nach dem Fließbandprinzip arbeitender Zentralprozessor Expired DE2934971C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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