DE3446957A1 - Vektor-prozessor - Google Patents

Vektor-prozessor

Info

Publication number
DE3446957A1
DE3446957A1 DE19843446957 DE3446957A DE3446957A1 DE 3446957 A1 DE3446957 A1 DE 3446957A1 DE 19843446957 DE19843446957 DE 19843446957 DE 3446957 A DE3446957 A DE 3446957A DE 3446957 A1 DE3446957 A1 DE 3446957A1
Authority
DE
Germany
Prior art keywords
phase
vector
data
vector processor
processing
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
DE19843446957
Other languages
English (en)
Other versions
DE3446957C2 (de
Inventor
Yuuji Aoki
Tomoo Aoyama
Hiroshi Hadano Murayama
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.)
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering Co 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 Hitachi Ltd, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Publication of DE3446957A1 publication Critical patent/DE3446957A1/de
Application granted granted Critical
Publication of DE3446957C2 publication Critical patent/DE3446957C2/de
Granted 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
    • G06F15/8076Details on data register access

Description

1. HITACHI, LTD., Tokyo
2. Hitachi Computer Engineering Co., LTD.
Hadano-shi, Kanagawa-ken
Japan
Vektor-Prozessor
Die Erfindung betrifft einen Vektorprozessor und insbesondere einen zur Verarbeitung zyklischer Operationen mit hoher Geschwindigkeit bestimmten Vektorprozessor.
Neuere Vektorprozessoren arbeiten nach der Pipelinesteuermethode, nach der der Verarbeitungsprozess in mehrere "Phasen" genannte konzeptionelle Grundverarbeitungsschritte unterteilt wird und die zu verarbeitenden Daten ohne Unterbrechung in den Prozessor eingegeben werden, wodurch eine hohe Verarbeitungsgeschwindigkeit erreicht wird. Eine notwendige und hinreichende Bedingung zur Durchführung einer Hochgeschwindigkeitsverarbeitung mittels einer Pipelinesteuerung ist die, daß keine Abhängigkeit der Operation zwischen den zur Verarbeitung benutzten Datenelementen
81-(A9384/CMA1
besteht, was als "unabhängige" Beziehung bezeichnet wird.
Andererseits benötigt die zyklische Verarbeitung oder Iteration, wie in Gleichung (1) gezeigt ist, mindestens das letzte Ergebnis der Berechnung, so daß die "unabhängige" Beziehung nicht erfüllt ist.
xi+1 = *i + at (i = 0, 1, 2, ...) (D
Die zu verarbeitenden Daten können also nicht ohne Unterbrechung in den Vektorprozessor eingegeben werden und nachdem die Ausgabedaten des Prozessors erzeugt sind, müssen diese wieder in den Vektorprozessor eingegeben werden. Daher sollte eine Steuerung vorgenommen werden, um die Eingabe der zu verarbeitenden Daten durch eine Taktsteuerung nach der Anzahl der Phasen des Vektorprozessors zu unterbrechen. Bei neuesten Höchstgeschwindigkeitscomputern ist der Abfall der Verarbeitungskapazität des Vektorprozessors bezüglich der zyklischen Verarbeitung aufgrund solcher Unterbrechungen um bis zu einem Faktor 10 im Vergleich zur Verarbeitungskapazität anderer Operationen dieser Art, die "unabhängig" ausgeführt werden können, gesunken. Diese bemerkenswerte Leistungsstörung ist nicht nur auf zyklische Operationen beschränkt. Solche Störungen führen bei einer Methode zur Erhöhung der Verarbeitungsgeschwindigkeit bei kontinuierlichen Verarbeitungsprozessen durch konzeptionelle Verkopplung der Eingabe- und Ausgabedaten von mehreren Vektoroperationen aufgrund der Verkettungssteuerung des Vektorprozessors zu einer Verzögerung, die wiederum die Leistung der gesamten darauffolgenden Verarbeitung der zyklischen Operation beeinträchtigt.
Der Erfindung liegt die Aufgabe zugrunde, einen Vektorprozessor anzugeben, der die zyklische Operation mit hoher Geschwindigkeit ausführen kann, ohne dabei den materiellen Aufwand an Bauelementen zu erhöhen.
Ein Merkmal der zyklischen Operation besteht darin, bei der Verarbeitung das letzte Ergebnis zu verwenden. Dieses "letzte Ergebnis" bedeutet jedoch nicht das vorhergehende Ergebnis der Verarbeitung. Bei der allgemeinen Gleichung für die zyklische Operation
wobei f(x-) eine Funktion.der Variablen x. bezeichnet, wird die folgende Abänderung vorgenommen:
Das "letzte" Ergebnis bedeutet also das Ergebnis der vorletzten Operation. Durch Wiederholen der Änderungsoperationen dieser Gleichung erhält man folgende Beziehung für eine beliebige positive Zahl n.
xi+1 = f(fC... ftXi.J) = h(x._n)
Diese Gleichung erfüllt die folgende Beziehung, die für alle m (0 = m = n) gilt.
xi+1+m = h(xi-n+m)
Es können daher n+1 Ergebnisse für χ 15x o, ..., χ . ,
° n+l ' n+1 ' n+m+1
' xn+1 gleichzeitig von xQ, X1, , x^, , xn (ursprüngliche Werte) erhalten werden. Nach dieser Methode werden n+1 arithmetische Logikelemente benötigt, um die zyklische Operation durchzuführen. Ferner wird die von der Funktion f abgeleitete Funktion h üblicherweise komplizierter als die Funktion f. Die Anzahl der arithmetischen Logikeinheiten, die benötigt wird, um h(x· ) aus der Variable x._ zu berechnen, ist im allgemeinen größer als im Fall der Berechnung der Funktion f. Aus diesem Grund werden bei der
Parallelverarbeitungsmethode für die zyklische Operation unvermeidbar mehr Bauelemente benötigt.
Wenn die zyklischen Operationsprozesse mit einem Vektorprozessor durchgeführt werden, der, wie in Figur 1 gezeigt, mehrere Phasen hat, gibt es in dem aus zwei Zeit- und Phasenfaktoren bestehenden Raum (im folgender wird dieser Raum als Tf-Raum bezeichnet) nur sehr wenige Bereiche (die schraffierten Bereiche in Figur 1), in denen die effektiven Operationen durchgeführt werden. Demzufolge kann in den die ungültigen Prozesse im Tl^-Raum darstellenden Bereichen, die Anzahl η durch die ungültigen Bereiche im » -Raum begrenzt werden, wenn die Verarbeitung der Funktion h nach der Parallelverarbeitungsmethode der zyklischen Operation und die Parallelverarbeitungen der zyklischen Operation ausgeführt werden. Die parallelen Verarbeitungen der zyklischen Operation kann durchgeführt werden ohne daß dazu eine gesteigerte Anzahl an Bauelementen erforderlich ist.
Im folgenden wird die Erfindung beispielsweise anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 im Diagramm die Bereiche im » -Raum der zyklischen Operationsprozesse, die mit einem Pipeline-Prozessor verarbeitet werden.
Fig. 2A im Diagramm die Bereiche im TT'-Raum der zyklischen Operation, die erfindungsgemäß verarbeitet werden.
Fig. 2B im Diagramm die Phasenbeziehung zwischen den Eingabe- und Ausgabezeiten im "^ -Raum der Phasen, die durch eine time-sharing-Schaltung des erfindungsgemäßen Vektorprozessors erzeugt werden.
* G-
Fig.3 ein Prozessdiagramm für die Berechnungen im ^ -Raum.
Fig. 4 im Diagramm den Zustand der zyklischen Operationsprozesse im 7r-Raum nach der Erfindung.
Fig.5 eine Tabelle mit der Phaseninformation, die von einer Steuerlogik des Prozessors erzeugt wird.
Fig. 6 im Diagramm einen Vektorprozessor zur Durchführung der zyklischen Operationsverarbeitung nach Figur 5.
Fig. 7 den in Fig. 6 gezeigten Phasengenerator und
Fig. 8 ein Prozessdiagramm für eine zyklische Operation höherer Ordnung im erfindungsgemäßen " -Raum.
Die obenbeschriebene Methode wird im folgenden anhand eines praktischen Beispiels beschrieben. Die einfachste zyklische Operation
wird wie folgt abgeändert:
Bezieht sich man sich auf diese Gleichung, dann erfolgen die praktischen zyklischen Berechnungen wie folgt:
Ca0
x4 = x2 + (a2
+ a2)
wobei X0 und χ., gegebene Anfangswerte sind. Wenn diese Rechnungsreihen in einen Anteil (a^+a. .) und den Anteil(x1 . = χ. + ...) aufgespalten und mit dem Vektorprozessor verarbeitet werden, in dem beide zeitlich verzahnt aufgeteilt werden, ergibt sich der in Figur 2A gezeigte " -Raum . Wie sich aus einem Vergleich der Figuren 1 und 2A ergibt, sind
1. die effektiven Vearbeitungsbereiche im " -Raum der Figur 2A gegenüber denen in Figur 1 aufgrund der Parallelverarbeitungsmethode vergrößert, so daß
2. die Geschwindigkeit,mit der die Ausgangssignale erhalten werden, etwa verdoppelt wird.
Dieser bemerkenswerte Effekt auf die zyklische Operation basiert auf der zeitlich verzahnten Verarbeitung in einem Prozessor, ohne daß dadurch dessen Anzahl der Bauelemente vergrößert wird.
Im folgenden wird die Reihenschaltung mehrerer Vektorprozessoren mit Bezug auf ein praktisches Beispiel beschrieben. Um die folgende Iteration erster Ordnung
xi+1 = X1 * ai + bA Ci = 0, 1, 2, ...)
nach der Pipelineverarbeitungsmethode zu verarbeiten, sind ein Multiplizierglied und ein Addierglied in Reihe geschaltet. Figur 3 zeigt einen TT* -Raum, der erhalten wird, wenn ein Vektorprozessor mit einer solchen Bauelementanordnung nach der üblichen zyklischen Verarbeitungsmethode betrieben wird. In Fig. 3 sind die zu verarbeitenden Daten mit b bezeichnet und diese Daten werden in ein mit dem Ausgang eines Multiplizierglieds verbundenes Addierglied eingegeben. Die oben aufgeführte Iteration erster Ordnung wird wie folgt abgeändert:
xi+1 = X1.! * Ca1-1 * a.) + (b.^ * a. + b.)
Dadurch wird erhalten:
= x0 * (a0 * ax) + (b0 * ax + b±)
* Ca1 * a2) + Cb1 * a2 + b.,)
x4 = x2 * U2 * a3) + (b2 * a3 + b3)
X5 = x3 * (a3 * a4) + (b3 * a4 + b4)
Figur 4 zeigt im Diagramm einen TT^-Raum im Fall der Verarbeitung dieser Reihen von zyklischen Berechnungen durch einen Vektorprozessor bei dem zeitlich verzahnt arbeitende Multiplizier- und Addierglieder miteinander gekoppelt sind.
Wie aus Fig. 4 ersichtlich ist, wird die Verarbeitungsgeschwindigkeit der zyklischen Operation durch den zeitlich verzahnten Betrieb des Prozessors erhöht, selbst wenn der Vektorprozessor ein Prozessor ist, in dem Pipeline-Prozessoren in Serie geschaltet sind. Im folgenden wird ein praktisches Beispiel der Operation erläutert. Figur 5 zeigt die Eingabe- und Ausgabeoperanden für den Fall, daß die zyklische Operation mit dem Format
xi+1 - χ. -, a.
abgeändert wird zu χ·.ι = χ·_ι + (a· ι + a·)-
Nach Figur 5 werden die Verarbeitungsschritte im Vektorprozessor gemäß einem Taktsignalwert von einem niedrigen zu einem höheren Signalwert sequentiell ausgeführt. Die in diesem Vektorprozessor (einem Addierglied bei dieser Ausführungsform ) durchgeführten Prozesse können in drei
3A46957
Arten P, N und E, in Abhängigkeit von der Natur der Prozesse unterteilt werden. In der N-Phase wird keine Verarbeitung ausgeführt. Die Variable # bezeichnet den Wert des letzten Elements eines berechneten Vektors x. In Figur 5 ist & eine ungerade Zahl. Wenn eine gerade Zahl ist, halbiert sich die Zeit zur Berechnung von χ _1 und x_£ in der letzten Ε-Phase und der P-Phase für die Berechnung des Eingangsoperanden bei dieser Verarbeitung. Da der in dem Prozessdiagramm gezeigte Fall, wobei diese Endprozesse ausgeführt werden nicht direkt das Konzept der Erfindung betrifft, wird dieses nicht weiter beschrieben.
In Figur 6 ist die Logikschaltung zum Durchführen der in Figur 5 gezeigten Operation skizziert. Eine Vektorregistersteuereinheit 1 erzeugt Schreib- und Leseadressen für die Vektorregister 2 und 3, in denen nach Anforderung für diese Register zu verarbeitende Daten a und χ gespeichert sind. Es sei angenommen, daß die Elemente χ~ und X1 bereits in das Vektorregister 3 eingeschrieben worden sind. Eine Steuereinheit (im folgenden als Phasengenerator bezeichnet) 4 definiert die Phasen der in Figur 5 gezeigten zyklischen Operation. Zu verarbeitende Daten ^aA werden in Verriegelungsschaltungen 5, 6, 7, 10 und 11 gehalten. Der Datenwert {aJ in dieser Verriegelungsschaltung wird zu der Verriegelungsschaltung in der nächsten Phase geschickt, nachdem der nächste Datenwert {a.+A vom Vektorregister 2 abgeschickt wurde. Das Addierglied 14 arbeitet nach der Pipeline-Steuermethode und die Verriegelungsschaltung 8 und 9 speichern die vom Addierglied 14 in der P-Phase berechneten Daten i(a-_1 + a.)} · Die Daten in dieser Verriegelungsschaltung werden ebenfalls so gesteuert, daß sie in der Verriegelungsschaltung der nächsten Phase gesetzt werden, nachdem die nächsten Daten {(a. + a. >)} vom Addierer 14 geschickt worden sind.
Die Verriegelungsschaltungen 12 und 13 speichern Daten {χ.} , die vom Addierglied 14 zu verarbeiten sind.Die Daten in dieser Schaltung werden ebenfalls so gesteuert, daß sie automatisch zur Schaltung in der nächsten Phase übertragen werden, nachdem ein Element der Daten { x.) vom Addierglied 14 berechnet worden ist. Zur Durchführung dieser automatischen Einstelloperation in der Verriegelungsschaltung in der nächsten Phase können die Daten in der Verriegelungsschaltung durch Verwendung eines Freigabesignals, das anzeigt, daß gültige Daten vorliegen, in der Verriegelungsschaltung in der nächsten Phase gesetzt werden. Zur Vereinfachung der Figur 6 ist die dafür vorgesehene Steuereinrichtung nicht gezeigt.
Wenn in den Vektorprozessor nach Fig. 6 ein Startbefehl eingegeben wird, überträgt die Vektorregistersteuereinheit 1 ein Signal, das angibt, daß die Verarbeitung im Addierglied begonnen hat auf den Bus 21. In Reaktion auf dieses Signal erzeugt der Phasengenerator 4 ein Befehlssignal für die P-Phase in Fig. 5 und überträgt dieses Signal über einen Bus zu Selektoren 16 und 17.
Andererseits überträgt die Vektorregistersteuereinheit 1 Daten an, a1, a~ , ... von dem Vektorregister 2 zu der Verriegelungsschaltungsgruppe 5, 6, 7, 10 und 11 über einen Anforderungsbus 20 und einen Datenbus 24 in Übereinstimmung mit dem Zeittakt, wenn der Phasengenerator 4 das P-Phasensignal erzeugt und sendet dieses Signal zu den Selektoren 16 und 17. Aus Fig. 6 ergibt sich, daß, wenn a~ in der Verriegelungsschaltung 7 gesetzt ist, a1 gleichzeitig in der Verriegelungsschaltung 11 gesetzt ist.In der P-Phase wählen die Selektoren 16 bzw. 17 die Ausgangswerte der Verriegelungswerte 7 und 11, wodurch die Ergebnisse zum Addierglied 14 gesandt werden können.Im Addierglied 14 werden die übertragenen Daten sequentiell umgewandelt und das Ergebnis der Addition wird nach einem vorgegebenen Takt zu der Verriegelungsschaltung 18 geführt.
Das vom Phasengenerator 4 erzeugte Phasensignal wird durch eine Verzögerungsverriegelungsschaltungsgruppe 15, die eine der Anzahl der Phasen des Addierglieds 14 entsprechende Anzahl von Verzögerungsverriegelungsschaltungen aufweist übertrag Das die P-Phase angebende Signal wird so an einen Schalter 19 angelegt, daß es mit dem Takt koinzidiert, wenn das vorhergehende Ergebnis der Operation (aQ + a1) in der Verriegelungsschaltung 18 aufgenommen ist. Der Schalter 19 wählt bei der P-Phase einen Bus 25 aus, so daß das Ergebnis der Addition (aQ + a.) in der Verriegelungsschaltung 8 gesetzt wird. Auf ähnliche Weise wird beim nächsten Takt Ca1 + a2) in der Verriegelungsschaltung 8 und (afi + a1) in der Verriegelungsschaltung 9 gesetzt.
Der Phasengenerator 4 schaltet die Phase und schickt ein N-Phasensignal an den Bus 23. In der N-Phase führen beide Selektoren 16 und 17 und der Schalter 19 keine Verbindung zwischen den Bussen aus, um die signifikanten Daten auszuwählen. Daher werden die Daten in den Verriegelungsschaltungen 7 und 11 festgehalten. Andererseits geht in der N-Phase ein Selektor 42 in Reaktion auf ein Ausgangssignal (an den Bus 44) der Verzögerungsverriegelungsschaltungsgruppe 15 in Betrieb, und verbindet einen Ausgangsbus 43 des Vektorregisters 3 mit dem Datenbus der Verriegelungsschaltung 12. Aufgrund dieser Operation sind die ursprünglichen Werte xß und X1 des Vektors χ in den Verriegelungsschaltungen 12 und 13 gesetzt. Zu diesem Zeitpunkt hat der Phasengenerator 4 das P-Phasensignal erzeugt und der Selektor 17 hat den Bus zwischen die Verriegelungsschaltung und das Addierglied 14 gekoppelt. Zu diesem Zeitpunkt wurde a~ in der Verriegelungsschaltung 7 und a-, in der Verriegelungsschaltung 11 gespeichert. Dann führt das Addierglied 14 die AdditionCa,, + aJ und (a^ + a.) in dieser zweiten P-Phase aus.Zu dem Zeitpunkt , an dem das Ausgangssignal des Addierglieds 14 in der Verriegelungsschaltung 18 gespeichert war, hat der Phasengenerator 4 die E-Phasc hergestellt. Die
3446357
. η-
Selektoren 16 und 17 gehen also in Betrieb und es werden die Verriegelungsschaltungen 9 und 13 ausgewählt, die daraufhin ihre Ausgangssignale an das Addierglied 14 abgeben. Wenn die Ausgangswerte, das heißt X2 und x., des Addierglieds 14 erzeugt sind, wählen der Schalter 19 und der Selektor 42 einen Bus 26. Die Ausgabewerte x~ und x, werden deshalb sequentiell in die Verriegelungsschaltung 12 und 13 eingegeben. Wenn X2 und x, in die Verriegelungsschaltungen 12 und 13 eingegeben sind, hat der Selektor 17 den Ausgabewert der Verriegelungsschaltung 11 in Reaktion auf das P-Phasensignal (siehe Figur 2B) ausgewählt und den Bus vollständig verbunden, so daß die in der nächsten P-Phase zu verarbeitenden Daten zum Addierglied 14 geschickt werden können.
Andererseits werden die in der Ε-Phase berechneten Werte x? und x, über den Bus 26 in Übereinstimmung mit den von der Vektorregistersteuereinheit 1 erzeugten Adreßwerten in das Vektorregister 3 eingeschrieben.
Die zyklische Operation wird durch Wiederholen der obengenannten Operationen in der P- und Ε-Phase durchgeführt.
Figur 7 zeigt ein Schaltbild des Phasengenerators 4. In Figur 7 sind die bereits in Figur 6 gezeigten Bauelemente mit gleichen Bezugszeichen wie in Figur 6 bezeichnet. Die Bezugszeichen bezeichnen im einzelnen: 30 einen Taktsignalgenerator, 31 einen zyklischen Zweibitzähler, 32 ein Zweibit-flipflop, 33 und 34 Verzögerungsverriegelungsschaltungsgruppen, die ermöglichen, daß der Phasengenerator 4 zu geeigneten Zeitpunkten das Startsignal und ein das Ende der Datenübertragung angebendes Signal von der Vektorregistersteuereinheit 1 empfängt. 35 und 36 bezeichnen UND-Glieder, 37 ein ODER-Glied und 38 einen Inverter. Wenn der Phasengenerator 4 betätigt wird, wird der Zähler 31 auf "11" zurückgestellt .
Das an dem Bus 23 anliegende Signal ist so definiert, daß "00" die P-Phase, "11" die N-Phase, "10" die Ε-Phase und "01" ein inhaltsloses Signal bezeichnen. Wenn der Phasengenerator 4 betätigt wird und ein Taktpuls zum Zähler 31 gesendet wird, ändert sich der Zählerwert von "00" zu "01" -^ "10" -> "11" -> .... Dieser Wert wird sofort in einem Flipflop 32 gesetzt. Ein Bus 40 ist mit dem 0-Bitausgang (im folgenden als höherwertiges Bit bezeichnet) des Flipflops 32 verbunden. Das höherwertige Bit des Busses 23 wird für das Intervall zwischen zwei Takten von dem Startzeitpunkt aus zu Null. Zu diesem Zeitpunkt ist das Endsignal von der Vektorregistersteuereinheit 1 nicht auf den Bus 22 übertragen, so daß der Ausgangswert des UND-Glieds 36 zu Null wird und der Ausgabewert des ODER-Gliedes 37 ebenfalls Null wird. Das niederwertige Bit am Bus 23 wird zu Null, wodurc ein die P-Phase angebendes Signal erzeugt wird.
Nach drei Taktpulsen wird das höherwertige Bit des Ausgangswerts des Zählers 31; zu "1". Andererseits läuft das von der Vektorregistersteuereinheit 1 auf den Bus 21 übertragene Startsignal durch die Verzögerungsverriegelungsschaltungsgruppe 33 und wird in das UND-Glied 35 eingegeben, derart, daß es mit dem Takt koinzidiert, wenn drei Taktpulse erzeugt werden. Das niederwertige Bit am Bus 23 wird zu "1", wodurch es ein Signal erzeugt, das zusammen mit dem höherwertigen Bit die N-Phase angibt. Es sei angenommen, daß das Startsignal von der Vektorregistersteuereinheit 1 in dem Intervall zwischen zwei Taktimpulsen übertragen wird. Wenn das Startsignal bei einem Taktimpuls aktiviert wird, ist eine weitere Logikschaltung im Phasengenerator 4 erforderlich, um das Startsignal für einen weiteren Taktimpuls aufrechtzuerhalten, wobei der Ausgangswert des Zählers 31 verwendet wird. Da diese Logikschaltung nicht direkt mit der vorliegenden Erfindung zusammenhängt, ist diese in Figur 7 nicht dargestellt. Bei der weiteren Beschreibung wird angenommen,
daß das Endsignal, das von der Vektorregistersteuereinheit zum Bus 22 geschickt wird, bei zwei Taktpulsen übertragen wird.
Nachdem die Endphase erzeugt worden ist, erzeugt der Phasengenerator 4 aufeinanderfolgend die P-Phase, E-Phase, .. und überträgt diese Information auf den Bus 23.
Es ist notwendig, den Taktpuls mit der Datenübertragung und dem Datenempfang zwischen der Vektorregistersteuereinheit 1 und dem Phasengenerator 4 so zu triggern,so daß derZähler 31 in den P-Phasenbetrieb kommt, wenn die Vektorregistersteuereinheit 1 das Endsignal überträgt. Zu diesem Zweck wird ein Änderungssignal auf den Bus 41 übertragen. Die Vektorregistersteuereinheit 1 erkennt die Verarbeitungssituation der Daten aufgrund des Phasenänderungssignals, wodurch das Endsignal zu einem passenden Zeitpunkt über den Bus 22 übertragen werden kann, das heißt zu einem Zeitpunkt, an dem der Phasengenerator 4 das Endsignal empfangen kann, bevor die letzten Daten gesendet werden. In Reaktion auf das auf diese Weise erzeugte Endsignal kann die Änderung der P-Phase in die N-Phase in der letzten Phase des zyklischen Operationsprozesses durch die Kombination des Inverters 38 und des UND-Gliedes 36 (Fig. 7) durchgeführt werden.
Der Selektor 42 (Fig.6) wählt den Bus 43 in Reaktion auf das Endphasensignal aus, das zum Zeitpunkt der Endverarbeitung erzeugt wird. Zu diesem Zeitpunkt wird das Ergebnis dieser letzten N-Phase nicht für die nächste Operation verwendet, da die Daten im Bus 43 nicht gewährleistet sind, so daß die Operation des Vektorprozessors gewährleistet ist.
Die Vorbereitung für die zyklische Operation und die zyklische Operation selbst können durch denselben Pipelineprozessor ausgeführt werden, so daß die zyklische Operation aufgrund
der time-sharing-Verarbeitung des Prozessors mit hoher Geschwindigkeit ausgeführt werden kann, ohne daß dazu ein erhöhter Aufwand an Bauelementen erforderlich ist. Andererseits kann die folgende zyklische Operation
x.+1 = X1 * a. + X1-1 * bi_1
die bislang nicht durchgeführt werden konnte, mit einer Anordnung durchgeführt werden, in der das Pipelinemultiplizierglied und das Addierglied in Serie geschaltet sind.
Fig. 8 zeigt einen " -Raum, in dem die obengeschilderte Operation ausgeführt worden ist.

Claims (3)

Patentansprüche
1. Vektorprozessor, der nach einer Pipeline-Verarbeitungsmethode arbeitet, bei der eine Operation in mehrere Phasen unterteilt und verarbeitet wird, gekennzeichnet durch eine erste Steuervorrichtung (1) zum Aufteilen eines Operationsgangs auf mehrere Grundverarbeitungseinheiten und zum Steuern dieser Grundverarbeitungseinheiten, und eine zweite Steuervorrichtung (4) zum Steuern der ersten Steuervorrichtung (1) derart, daß der Vektorprozessor im time-sharing-Betrieb arbeitet.
2. Vektorprozessor nach Anspruch 1,
dadurch gekenn zeichnet,
daß Daten aus ersten und zweiten Vektorregistern (2, 3),
in denen Vektorelemente gespeichert sind, ausgelesen und
verarbeitet werden und das Ergebnis der Verarbeitung in das zweite Vektorregister (3) eingeschrieben wird.
3. Vektorprozessor nach Anspruch 2,
gekennzeichnet durch als Eingang des Vektorprozessors dienende Vorrichtungen (16, 17, 42) zum Schalten des ersten Vektorregisters (2) und als Ausgang des Vektorprozessors dienende Vorrichtung (17, 19, 42) zum Schalten des zweiten Vektorregisters (3) .
81-(A9384)CMA1
DE19843446957 1983-12-26 1984-12-21 Vektor-prozessor Granted DE3446957A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58244042A JPS60136875A (ja) 1983-12-26 1983-12-26 ベクトル演算器

Publications (2)

Publication Number Publication Date
DE3446957A1 true DE3446957A1 (de) 1985-07-11
DE3446957C2 DE3446957C2 (de) 1991-10-31

Family

ID=17112847

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19843446957 Granted DE3446957A1 (de) 1983-12-26 1984-12-21 Vektor-prozessor

Country Status (3)

Country Link
US (1) US4757444A (de)
JP (1) JPS60136875A (de)
DE (1) DE3446957A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5389835A (en) * 1991-04-12 1995-02-14 Hewlett-Packard Company Vector logic method and dynamic mousetrap logic gate for a self-timed monotonic logic progression

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6353678A (ja) * 1986-08-22 1988-03-07 Hitachi Ltd ベクトル処理装置
EP0281132B1 (de) * 1987-03-04 1995-10-25 Nec Corporation Vektorrechnerschaltung, welche schnell eine Berechnung auf drei Eingangsvektoren ausführen kann
US4949292A (en) * 1987-05-14 1990-08-14 Fujitsu Limited Vector processor for processing recurrent equations at a high speed
JPS6462764A (en) * 1987-09-03 1989-03-09 Agency Ind Science Techn Vector computer
JP2512778B2 (ja) * 1988-01-13 1996-07-03 株式会社日立製作所 演算処理方法
JPH01258067A (ja) * 1988-04-06 1989-10-16 Fujitsu Ltd ベクトル逐次演算方式
JP3068138B2 (ja) * 1989-04-06 2000-07-24 甲府日本電気株式会社 ベクトル演算処理装置
US5170370A (en) * 1989-11-17 1992-12-08 Cray Research, Inc. Vector bit-matrix multiply functional unit
US5119323A (en) * 1990-01-16 1992-06-02 United Technologies Corporation Numerical processing of optical wavefront data
DE59010674D1 (de) * 1990-04-20 1997-04-17 Siemens Ag CORDIC-Prozessor für Vektordrehungen in Carry-Save-Architektur
JPH04177462A (ja) * 1990-11-08 1992-06-24 Koufu Nippon Denki Kk ベクトル総和演算装置
US5208490A (en) * 1991-04-12 1993-05-04 Hewlett-Packard Company Functionally complete family of self-timed dynamic logic circuits
US6609189B1 (en) * 1998-03-12 2003-08-19 Yale University Cycle segmented prefix circuits
US7730282B2 (en) * 2004-08-11 2010-06-01 International Business Machines Corporation Method and apparatus for avoiding data dependency hazards in a microprocessor pipeline architecture using a multi-bit age vector
US9355061B2 (en) 2014-01-28 2016-05-31 Arm Limited Data processing apparatus and method for performing scan operations

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
JPS6024985B2 (ja) * 1978-08-31 1985-06-15 富士通株式会社 デ−タ処理方式
US4302818A (en) * 1979-07-10 1981-11-24 Texas Instruments Incorporated Micro-vector processor
US4400768A (en) * 1980-06-04 1983-08-23 Burroughs Corporation Parallel access computer memory system employing a power-of-two memory modules
KR860001434B1 (ko) * 1980-11-21 1986-09-24 후지쑤 가부시끼가이샤 데이타 처리시 스템
JPS57134774A (en) * 1981-02-13 1982-08-20 Hitachi Ltd Vector operating device
JPS57155666A (en) * 1981-03-20 1982-09-25 Fujitsu Ltd Instruction controlling system of vector processor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US-B.: "The Architecture of Pipelined Computers", Peter M. Kogge, Mc Graw Hill Book Company, 1981, S. 134-172 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5389835A (en) * 1991-04-12 1995-02-14 Hewlett-Packard Company Vector logic method and dynamic mousetrap logic gate for a self-timed monotonic logic progression

Also Published As

Publication number Publication date
JPH0514936B2 (de) 1993-02-26
JPS60136875A (ja) 1985-07-20
DE3446957C2 (de) 1991-10-31
US4757444A (en) 1988-07-12

Similar Documents

Publication Publication Date Title
DE3446957A1 (de) Vektor-prozessor
DE2716369C2 (de)
DE2451982C2 (de)
DE2817183C2 (de) Datenverarbeitungsanlage mit einer durch Mikroprogramm gesteuerten Zentraleinheit
DE60202749T2 (de) Schnittstelle von synchron zu asynchron zu synchron
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE3401995C2 (de)
EP0014850B1 (de) Einrichtung zur Erweiterung des Standard-Makroinstruktionssatzes in einer Datenverarbeitungsanlage
DE1549523B2 (de) Datenverarbeitungsanlage
DE3210816A1 (de) Datenverarbeitungssystem mit getrennten einrichtungen zur verarbeitung von skalar- und vektordaten
DE2934971A1 (de) Datenverarbeitungssystem
EP0048767A1 (de) Prioritätsstufengesteuerte Unterbrechungseinrichtung
DE3400723C2 (de)
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE2712224A1 (de) Datenverarbeitungsanlage
EP0134831B1 (de) Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung
DE2421130C2 (de)
DE4010311C2 (de) Datenprozessor
DE2911909C2 (de) Digitales Datenverarbeitungsgerät
DE2414121A1 (de) Digitale datenverarbeitungsanlage
DE4005042A1 (de) Architektur eines digitalen bewegungssteuerungselements hoher geschwindigkeit
DE3447530A1 (de) Vektorprozessor
DE2658950A1 (de) Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben
DE19628039B4 (de) Speicheradressen-Steuerschaltung
DE2245284A1 (de) Datenverarbeitungsanlage

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee