DE3827500C2 - - Google Patents
Info
- Publication number
- DE3827500C2 DE3827500C2 DE3827500A DE3827500A DE3827500C2 DE 3827500 C2 DE3827500 C2 DE 3827500C2 DE 3827500 A DE3827500 A DE 3827500A DE 3827500 A DE3827500 A DE 3827500A DE 3827500 C2 DE3827500 C2 DE 3827500C2
- Authority
- DE
- Germany
- Prior art keywords
- vector
- vector data
- machine cycle
- data
- ram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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
- G06F15/8076—Details on data register access
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)
Description
Die Erfindung betrifft ein Vektorprozessorsystem
nach dem Oberbegriff des Anspruchs 1.
Es ist allgemein bekannt, daß für die Verbesserung der
Leistung eines Supercomputers in einem Vektorprozessor
einerseits eine Vielzahl von Pipeline-Recheneinheiten und
eine Vielzahl von Vektorregistern gemeinhin so angeordnet
werden, daß die Vektordatenverarbeitung in bezug auf Befehle,
zwischen denen keinerlei kausaler Zusammenhang besteht, in
einer konkurrierenden Weise durchgeführt wird und andererseits
parallel zu verarbeitende Vektordaten zwischen Vektor
registern und Pipeline-Recheneinheiten übertragen wer
den, weshalb die Beschleunigung des Maschinenzyklus für
die Verbesserung der Leistung des Supercomputers am
wirksamsten ist.
Fig. 1 zeigt das Schaltbild eines herkömmlichen Vektorpro
zessors, der aufgebaut ist aus einem Vektorregister 1,
das aus Hochgeschwindigkeits-Direktzugriffsspeichern
(RAMs) aufgebaute Vektorregister VR0 bis VR31 enthält,
aus einem Selektor (SEL) 3, der für die Wahl eines der
Ausgabevektordatensignale 5 von dem Vektorregister 1 und
für die befehlsabhängige Zuführung des gewählten Signals
an eine Pipeline-Recheneinheit 6 (nämlich den Rechenein
heiten 0, 1, 2 oder 3) eine Schaltmatrixlogik enthält,
aus einem Selektor (DIST) 2, der für die Wahl eines der
Ausgabeergebnisbusse 8 von den Pipeline-Recheneinheiten
6 und für die Verbindung des gewählten Busses 8 mit dem
die VR0 bis VR31 enthaltenden Vektorregister 1 eine Schalt
matrixlogik besitzt, aus Vektorladepipelines 10, von denen
jede die VR0 bis VR31 über den Selektor DIST 2 mit Vektor
daten aus dem Hauptspeicher (MS) 9 lädt, und aus einer Vektor
speicherpipeline 11 für die Lieferung der als Rechenergeb
nisse in den VR0 bis VR31 gespeicherten Vektordaten über
den Selektor SEL 3 an den Hauptspeicher (MS) 9.
Die Vektordaten werden mittels eines Vektorladebefehls
aus dem Hauptspeicher 9 ausgelesen und über die Ladepipeline
10 einer in dem Befehl bezeichneten Nummer des Vektorre
gisters 1 zugeordnet. In der Folge werden die mit der Takt
geschwindigkeit, die mit dem Maschinenzyklus in Beziehung
steht, gelieferten Vektordaten für das RAM in derjenigen
Folge der Vektorelemente, in der sie in das RAM geschrieben
werden, adressiert. Ausgelöst durch einen Rechenbefehl
werden daraufhin die Vektordaten als Operand aus dem Vektor
register 1 ausgelesen und in der Vektorelementreihenfolge der
Rechenpipeline oder -einheit 6 zugeführt. Danach wird gemäß
dem betreffenden Befehl dem zu speichernden Rechenergebnis
eine Nummer des Vektorregisters 1 zugeordnet und das Rechen
ergebnis in das durch diese Nummer bezeichnete RAM derjeni
gen RAMs, die das Vektorregister 1 bilden, geschrieben.
Da eine Vektorrechenoperation weiterhin eine an denselben
Vektordaten wiederholt ausgeführte Rechenoperation erfor
dert, wird für das Vektorregister 1 ein Hochgeschwindig
keits-RAM verwendet, um eine Struktur zu erhalten, in der
eine Leseoperation des Operanden und eine Speicheroperation
des Rechenoperationsergebnisses mit der Taktgeschwindigkeit
des Maschinenzyklus durchgeführt werden können. Das bedeutet,
daß im Fall einer vom Hauptspeicher 9 gesteuerten Vektor
operation wegen der Tatsache, daß eine mit der Anstiegszeit
bei einer Datenleseoperation verbundene Verzögerung einen
großen Teil des für die Vektorverarbeitung notwendigen
Zeitabschnittes einnimmt, das Vektorregister als temporärer
Speicherpuffer verwendet wird, indem die während der Vektor
operation an den Vektordaten wiederholt auszuführende Verar
beitung ausgenutzt wird. Um im Hinblick auf eine Verbesse
rung des Maschinenzyklus die Verzögerungszeit zu minimieren,
wird bei der Elementebestückung eine dreidimensionale Struk
tur verwendet und sowohl die Logik als auch die RAMs für
den DIST 2, das Vektorregister 1 und den SEL werden innerhalb
eines erlaubten, durch die Physik begrenzten Bereiches
so unterteilt, daß die so unterteilten Logikelemente und
ähnliches als Halbleiter-Chips implementiert werden, wobei
weiterhin ein Verfahren gewählt worden ist, in dem die
Halbleiter-Chips zur Reduzierung der Signalübertragungs
entfernung auf einem Keramiksubstrat befestigt werden.
Vektorprozessoren mit einer solchen Struktur sind in
Nikkei Electronics (1984), Seiten 237-272, (1985), Seiten
195-209 beschrieben. Weiterhin ist aus US 46 17 625 ein
Vektorprozessor bekannt, der mit einem Vektorregister ver
sehen ist, mit dem er Vektoroperationen mit hoher Ge
schwindigkeit durchführen kann. Überdies liefert in vielen
Fällen das ein Ergebnis einer Vektoroperation speichernde
Vektorregister in der für die Vektoroperation charakteri
stischen Verarbeitung wiederholter Rechenbefehle während
der Verarbeitung des nachfolgenden Befehls einen Operan
den. Damit ein solcher Fall mit dem in US 46 17 625 be
schriebenen Vektorprozessor beherrscht werden kann, wird,
um eine verkettete Verarbeitung zu ermöglichen, in der in
einem Vektorregister gleichzeitig die Leseoperation von
Operandendaten einer bestimmten logischen Nummer und die
Schreiboperation eines Operationsergebnisses derselben
logischen Nummer durchgeführt werden, das das Vektorregi
ster bildende RAM in einer Bank-Anordnung oder als ein
Bank-Feld aufgebaut, in denen zwei unabhängige Adressie
rungsoperationen so möglich sind, daß eine der Banken alle
die Vektordatenelemente enthält, die eine gerade Nummer
besitzen, und die andere Bank alle die Vektordatenelemente
enthält, die eine ungerade Nummer besitzen, wobei die
Schreib- und Leseoperationen für jede Bank mit der Takt
geschwindigkeit des Maschinenzyklus durchgeführt werden
können.
Andererseits ist im Stand der Technik auf dem Halbleiter
gebiet auch ein Ultrahochgeschwindigkeits-RAM mit einer
Adressenzugriffszeit von Sub-Nanosekunden (weniger als
eine Nanosekunde), realisiert worden (vgl. IEEE HJournal
of Solid-State Circuits SC 21, 4 (1986), Seiten 501-504).
Weiterhin ist auch allgemein ein Verfahren bekannt, bei
dem ein Superhochgeschwindigkeits-RAM zusammen mit einer
Zufallslogik auf einem Halbleiter-Chip vorgesehen wird, um
so in einem physikalisch abgeschlossenen System Ultrahoch
geschwindigkeitsoperationen durchzuführen. Darüber hinaus
beschreibt JP 59-77 574 A ein Beschleunigungsverfahren, bei
dem in einer Bank angeordnete Vektorregister Verwendung
finden.
Wenn zur Implementierung eines
Superhochgeschwindigkeits-Maschinenzyklus die Vektorre
gister, die in einem oben beschriebenen Zweibank-RAM-Aufbau
ausgebildet sind, dadurch verbessert werden, daß sie
für die Verwendung in einem Vektorprozessor in
einem ein physikalisch abgeschlossenes System bildenden
Modul enthalten sind, ist es, wie aus dem herkömmlichen
Beispiel deutlich wird, nur notwendig, daß ein Maschinen
zyklus mit doppelt so hoher Geschwindigkeit wie die Ge
schwindigkeit des Maschinenzyklus des herkömmlichen Systems
implementiert wird, um die Schreib- und Leseoperationen
in den Vektorregistern mit der Taktgeschwindigkeit des
Maschinenzyklus zu bewerkstelligen. Wird in einem physi
kalisch abgeschlossenen System ein Signal mit der erhöhten
Geschwindigkeit des Maschinenzyklus übertragen, so kann
diese Übertragung ohne Schwierigkeiten durchgeführt werden,
da das Problem der Impedanzfehlanpassung keinen störenden
Einfluß hat; an einer Verbindungsstelle zwischen dem physi
kalisch abgeschlossenen System und anderen Systemen tritt
jedoch eine Impedanzfehlanpassung auf, weshalb dort, etwa
aufgrund einer Reflexion oder ähnlichem, das Problem einer
Verzerrung der Wellensignalform entsteht, was wiederum
Störungen bei der Signalübertragung verursacht.
Das bedeutet, daß es nur in einem physikalisch abgeschlosse
nen System, dessen Komponenten hinsichtlich der elektrischen
Eigenschaften die gleichen Kenndaten aufweisen, also bei
spielsweise nur in einem Halbleiter-Chip, einem Modul,
einer Bausteinplatine oder ähnlichem, möglich ist, durch
Erhöhung der Geschwindigkeit des Maschinenzyklus eine Hoch
geschwindigkeits-Signalübertragung zu erzielen. Das be
schriebene herkömmliche Beispiel weist eine dreidimensionale
Bestückungsstruktur auf, in der als Module des Vektorpro
zessors einen Halbleiter-Chip und dgl. enthaltende
Module derart eingesetzt werden, daß ein damit aufgebau
tes Superhochgeschwindigkeits-RAM mit einer Zugriffszeit
von Sub-Nanosekunden effektiv als Vektorregister benutzt
werden kann. Aufgrund einer durch eine Reflexion verur
sachten Signalwellenformstörung oder dgl., die mit
einer Impedanzfehlanpassung verbunden ist, wenn ein elek
trisches Signal eine Steckverbindung oder einen während
der Bestückung als Steckverbindung angebrachten Pin durch
läuft, entsteht das Problem, daß in einem Maschinenzyklus,
der während einer Zeitspanne wechselt, die ein Viel
faches von Sub-Nanosekunden beträgt, keine hinreichend
gute Amplitude des elektrischen Signals für die Erzielung
richtiger Logiksignale erreicht werden kann und daß wahr
scheinlich falsche Operationen und Rauschen auftreten.
Durch die DE 34 47 530 A1 ist ein Vektorprozessor bekannt geworden, der
zwei Gruppen von Datenausleseleitungen für jedes Vektorregister
aufweist und ferner Mittel besitzt zur Übertragung des Inhalts dieser
Vektorregister über diese zwei Gruppen von Datenausleseleitungen zu
voneinander verschiedenen Arithmetikeinheiten. Zusätzlich besitzt
dieser Vektorprozessor eine Verzögerungsleitung zur Verzögerung
der Vektordatenelemente auf einer der beiden Gruppen von Datenausleseleitungen.
Im Gegensatz zur vorliegenden Erfindung erfolgt die Ausleseoperation
mit der Frequenz des Grundmaschinenzyklus über jeweils zwei Gruppen von
Datenausleseleitungen, wohingegen bei der vorliegenden Erfindung
nur eine einzige Datenausleseleitungsgruppe für jedes Vektorregister
angeordnet ist.
Es ist daher Aufgabe der Erfindung, einen Vektorpro
zessor zu schaffen, in dem eine Vektordaten-Übertragungs
abfolge in einem ein physikalisch abgeschlossenes
System bildenden Modul erzielt wird, die kürzer ist als der
Maschinenzyklus, so daß Rechenoperationen mit einem
kürzeren als dem Maschinenzyklus durchgeführt werden können,
während die Signalübertragung an einem Verbindungspunkt
zwischen zwei physikalisch abgeschlossenen Systemen mit
dem Maschinenzyklus vonstatten geht.
Diese Aufgabe wird durch die im Anspruch 1 angegebenen
Merkmale gelöst.
Die Zuführung der Vektordaten an das Modul wird durch Ver
wendung zweier die ungeradzahligen und die geradzahligen
Elemente enthaltenden Folgen von Vektordatenelementen,
die mit der Taktgeschwindigkeit des Maschinenzyklus ge
schaltet werden und eine Phasendifferenz eines halben Ma
schinenzyklus aufweisen, bewerkstelligt. In dem Modul werden
alle Einzeldaten einer jeden Vektordatenelementfolge des
Vektors mit der ersten Hälfte der Signallänge, die dem
Element zugehört und den Maschinenzyklus darstellt, identi
fiziert, so daß zwei Vektordatenfolgen in aufeinanderfolgende
Vektordatenelemente umgewandelt werden, in denen abwechselnd in einer
Periode, die halb so groß ist wie die des Maschinenzyklus,
ungeradzahlige und geradzahlige Vektordatenelemente auf
treten, wobei die so gewonnenen Vektordatenelemente an
die RAMs geliefert werden.
Einerseits werden alle Einzeldaten der Vektordatenelement
folge mit einer Taktgeschwindigkeit, die doppelt so groß
ist wie die Geschwindigkeit des Maschinenzyklus, in die
RAMs geschrieben, andererseits wird aus den RAMs eine Vek
tordatenelementfolge ausgelesen, die ungeradzahlige und
geradzahlige Elemente enthält, welche abwechselnd auftreten
mit einer Taktgeschwindigkeit, die doppelt so groß ist
wie die Geschwindigkeit des Maschinenzyklus. In dem Fall,
daß eine Vektordatenelementfolge von dem Modul an ein ex
ternes Element geschickt werden soll, wird die aus den
RAMs ausgelesene Vektordatenelementfolge in eine ungerad
zahlige Vektordatenelementfolge und in eine geradzahlige
Vektordatenelementfolge, die zueinander die Phasendifferenz
eines halben Maschinenzyklus aufweisen, umgewandelt und
jeweils mit der Taktgeschwindigkeit des Maschinenzyklus
geschaltet, wobei die sich ergebenden zwei Vektordaten
elementfolgen an das externe Element übertragen werden.
Während daher die Kommunikation von Vektordaten zwischen
dem Modul und einem externen Element mit einer Geschwin
digkeit, die doppelt so groß ist wie die des Maschinen
zyklus, durchgeführt wird, werden gemäß der Erfindung bei
der Signalkommunikation zwischen dem Modul und dem externen
Element Signale übertragen, die abwechselnd zwischen den
Pins des Moduls geschaltet werden; verglichen mit dem Fall,
daß für die Kommunikation Signale dienen, die solchen Vek
tordaten zugehören, die mit einer Geschwindigkeit geschal
tet werden, die doppelt so hoch ist wie die des Maschinen
zyklus, kann so der Verlust der elektrischen Stabilität
in der Datenkommunikation, der aufgrund einer durch eine
Impedanzfehlanpassung verursachten Signalstörung oder ähn
lichem entsteht, vermieden werden. Ferner kann ein Ultra
hochgeschwindigkeits-RAM mit einer Geschwindigkeit, die
doppelt so hoch ist wie die des Maschinenzyklus, betrieben
werden, um so die Hochgeschwindigkeitsoperation des RAM
effektiv zu nutzen; folglich kann die Vektordatenkommuni
kation in dem Fall, daß die Vektordaten zwischen dem Modul
und einer Recheneinheit übertragen werden, mit einer Ge
schwindigkeit ausgeführt werden, die gleich dem doppelten
Maschinenzyklus ist, wodurch die Rechenoperation mit einer
Geschwindigkeit, die doppelt so hoch ist wie die des Ma
schinenzyklus, ausgeführt wird.
Wenn gewünscht wird, daß die mit der Taktge
schwindigkeit des Maschinenzyklus geschalteten ungeradzahli
gen und geradzahligen Vektordatenfolgen verarbeitet werden
ohne Umwandlung dieser Datenfolgen in eine Datenfolge im
Modul, nämlich um die ursprünglichen Vektordatenelementfol
gen zu verarbeiten, so wird der Aufwand an Leitungen erhöht,
außerdem wird die Zahl der Pins von LSI-Schaltungen im
Modul größer; folglich ist die Implementierung eines sol
chen Systems schwierig; ferner wird die Logik des Moduls
in diesem Fall kompliziert.
Die Erfindung ist zusätzlich zu dem Fall, daß die Geschwindig
keit doppelt so groß ist wie die des Maschinenzyklus, auf alle
Fälle anwendbar, in denen Vektordaten mit einer Geschwin
digkeit übertragen werden, die n-mal so groß ist wie
die des Maschinenzyklus, wobei n eine ganze Zahl größer
als zwei ist. In diesen Fällen empfängt das Modul von den
Gesamtvektordatenelementfolgen der Vektordaten n Vektor
datenelementfolgen, wobei die n Vektordatenelementfolgen
durch sequentielles Ausblenden des entsprechenden, mit
der Geschwindigkeit des Maschinenzyklus übertragenen je
weiligen n-ten Elementes erhalten werden und jeweils eine
Phasendifferenz, die gleich 1/n des Maschinenzyklus ist,
aufweisen, um dadurch aus den n Vektordatenelementfolgen
eine Datenelementfolge aufzubauen, die in das RAM mit einer
Geschwindigkeit geschrieben wird, die n-mal so hoch ist
wie die des Maschinenzyklus; ferner liest das Modul die
Vektorelementfolge aus dem RAM mit einer Geschwindigkeit,
die n-mal so groß ist wie die des Maschinenzyklus, um da
durch, wie oben beschrieben, n Vektordatenelementfolgen
abzuschicken. Von dem RAM-System wird hier angenommen,
daß es als Bank-Feld oder als Bank-Anordnung aufgebaut
ist, in denen die n Superhochgeschwindigkeits-RAMs jeweils
unabhängig adressierbar sind und in denen jede Bank so
strukturiert ist, daß sie n Gruppen von Vektordatenelemen
ten, die aus den jeweiligen n-ten Vektorelementen aufge
baut sind, beinhaltet und die in der Lage ist, Lese- und
Schreiboperationen mit einer Geschwindigkeit, die n-mal
so groß ist wie des Maschinenzyklus, durchzuführen.
Gemäß der Erfindung kann ein Vektordatensignal, das mit
einer hohen Geschwindigkeit, die doppelt oder n-mal (n
ist eine ganze Zahl größer als zwei) so groß ist wie der
Maschinenzyklus, in einen physikalisch begrenzten Bereich
eingeschlossen werden; ferner kann die Verarbeitung mittels
eines Vektorregisters mit einer hohen Geschwindigkeit,
die doppelt oder n-mal (n ist eine ganze Zahl größer als
zwei) so groß ist wie der Maschinenzyklus, durchgeführt
werden.
Die Erfindung wird im folgenden anhand von Ausführungsbei
spielen unter bezug auf die Zeichnungen näher erläutert;
es zeigt
Fig. 2 das Blockschaltbild eines Beispiels eines
Vektorprozessors gemäß der Erfindung;
Fig. 3 ein Schaltbild, das die Vektorregister von Fig. 2
im einzelnen zeigt;
Fig. 4 eine schematische Darstellung der Datenkonfi
guration eines Vektorregistermoduls;
Fig. 5 eine Darstellung eines Vektorprozessors in bestück
tem Zustand;
Fig. 6 ein Impulsdiagramm zur Erläuterung der Vektor
registeroperationen und
Fig. 7 ein Impulsdiagramm zur Erläuterung der Daten
operationen im Vektorregistermodul.
Fig. 2 zeigt die Gesamtkonfiguration eines erfindungsgemäßen
Vektorprozessors.
Der Aufbau von Fig. 2 enthält die aus den VR0 bis VR31
gebildeten Vektorregister 101, eine Schaltmatrixlogik (DIST)
102, eine Schaltmatrixlogik (SEL) 103, Pipeline-Rechenein
heiten 106, Vektorladepipelines 110, eine Vektorspeicher
pipeline 111 und einen Hauptspeicher (MS) 109. Das Vektor
register 101 enthält ein die geradzahligen Elemente der
Vektordaten beinhaltendes Bank-A-RAM 125, ein die ungerad
zahligen Elemente der Vektordaten beinhaltendes Bank-B-
RAM 126, einen WA-Zähler 121 für die Erzeugung einer
Schreibadresse für die zwei Bank-RAMs 125 und 126, einen
RA-Zähler 122 für die Erzeugung einer Leseadresse für die
zwei Bank-RAMs 125 und 126, einen Selektor 123 für das
Bank-A-RAM 125 zur Verteilung der von den jeweilige Zäh
lern 121 und 122 erzeugten Adressen mit einer Signalabfolge
(pitch), die doppelt so groß ist wie die des Maschinen
zyklus und von einer Pitch-Steuerschaltung 127 erzeugt
wird, einen Selektor 124 für das Bank-B-RAM 126, um eine
ähnliche Operation wie die des Selektors 123 zu bewirken,
und einen Selektor 128 für die Auswahl aus den von den
jeweiligen Banken A und B ausgegebenen Daten mit einer
Signalabfolge, die doppelt so groß ist wie diejenige des
Maschinenzyklus und die durch einen Pitch-Steuerschalt
kreis 127 erzeugt wird; hierbei beinhaltet das Vektorre
gister 101 128 Vektorelemente. Weiterhin werden den je
weiligen Vektorregistern 101 von einer Schreibsteuerschaltung
112 ein Schreibsteuersignal 113 und von einer Lese
steuerschaltung 115 ein Lesesteuersignal 116 zugeführt,
wobei diese Signale in einer Beziehung stehen, die sich
aus der Änderung der Phase um einen halben Zyklus in bezug
auf die mit dem Maschinenzyklus verbundene Taktgeschwindig
keit ergibt, so daß die jeweiligen Vektorregister in einem
Betriebszustand parallel gesteuert werden können. Einzelhei
ten der erfindungsgemäßen Vektorregister 101 werden später
beschrieben.
Die Schaltmatrixlogik DIST 102 ist so aufgebaut, daß ein Selektro 118 für
die Wahl der geradzahligen Elemente der Vektordaten und
ein Selektor 119 für die Wahl der ungeradzahligen Elemente
der Vektordaten ihre Auswahl aus den Vektordaten von den
Operationsergebnisausgabebussen 108, 108-0 und 108-1 der
Pipeline-Recheneinheiten 106 und aus den im Hauptspeicher
109 gespeicherten und von den Vektorladepipelines 110 zuge
führten Vektordaten treffen. Weiterhin sind die Selektoren
118 und 119 so aufgebaut, daß sie jeweils mit der Taktge
schwindigkeit des Maschinenzyklus in Zuständen operieren,
die zueinander in einer Phasendifferenz stehen, die halb
so groß ist wie des Zyklus. Das System enthält, obwohl
nicht in der Fig. 2 gezeigt, so viele Selektoren wie Vektor
register 101 vorgesehen sind. Genauer sind 32 Selektoren
so angeordnet, daß sie parallel betrieben werden können.
Im Betrieb wählen ein Selektor 118 bzw. ein Selektor 119,
die einem Vektorregister 101 entsprechen, welches durch
einen Befehl bezeichnet wird, gemäß einem von der Schreibsteuer
schaltung 112 gelieferten und durch jenen Befehl ausge
lösten Vektorregisterauswahlsignal 114 in Verbindung mit
der Pitch-Auswahl der Pitch-Steuerschaltung 120 jeweils
führende Hälften geradzahliger Elemente und ungeradzahliger
Elemente von Vektordaten mit der Phasenverschiebung eines
halben Zyklus mit der Taktgeschwindigkeit des Maschinen
zyklus aus; anschließend wird das Ergebnis einer an den
Ausgaben der jeweiligen Selektoren 118 und 119 durchgeführ
ten ODER-Operation an einen Schreibdatenbus 104 gegeben.
Der SEL 103 enthält einen Selektor 129 für die Wahl der
geradzahligen Elemente der Vektordaten, die aus den Vektor
registern 101 über 32 Datenbusse, die mit einer gegenüber
der des Maschinenzyklus doppelten Geschwindigkeit getrieben
werden, ausgelesen werden, wobei die ausgelesenen Vektorda
ten eine Operationsgeschwindigkeit besitzen, die gleich
der Taktgeschwindigkeit des Maschinenzyklus ist, und die
eine Phasendifferenz aufweisen, die einem halben Zyklus ent
spricht. Weiterhin enthält die Schaltmatrixlogik SEL 103 einen Selektor 130
für die Auswahl der ungeradzahligen Elemente der Vektor
daten. Darüber hinaus ist ein Satz von Selektoren 129 und
130, obwohl in Fig. 2 nicht gezeigt, entsprechend für die
Ausgabebusse 107, 107-0 und 107-1 an die vier Pipeline-
Recheneinheiten 106 und für die Vektorspeicherpipeline
111, mit der die an den Hauptspeicher 109 geschickten Vek
tordaten gespeichert werden, so vorgesehen, daß ein Paral
lelbetrieb ermöglicht wird. Im Betrieb werden aus den Lese
datenbussen 105, die einem in einem Befehl bezeichneten
Vektorregister 101 entsprechen, ausgelöst durch ein vom
Lesesteuerschaltkreis 115 gemäß einem Befehl ausgegebenes
Vektorregisterauswahlsignal 117, durch einen Satz von Se
lektoren 129 und 130, der den Ausgabebussen der durch einen
Befehl bezeichneten Pipeline-Recheneinheit 106 und der
Vektorspeicherpipeline 111 entspricht, Vektordaten so aus
gewählt, daß geradzahlige bzw. ungeradzahlige Elemente
der Vektordaten durch die Selektoren 129 und 130 ausge
wählt werden, wobei der Treiberbetrieb mit der Taktgeschwin
digkeit des Maschinenzyklus durchgeführt wird. Beispiels
weise werden die geradzahligen bzw. die ungeradzahligen
Elemente an die Busse 107-0 bzw. 107-1 ausgegeben. Weiter
hin sind für die Funktionsmodule wie etwa die Pipeline-
Recheneinheiten 106 Busse angebracht, die den geradzahli
gen und ungeradzahligen Elementen der Vektordaten zugeordnet
sind. Beispielsweise sind für eine Pipeline-Recheneinheit
3 ein Eingabebus 107-0 für die geradzahligen Elemente,
ein Eingabebus 107-1 für die ungeradzahligen Elemente,
ein Ausgabebus 108-0 für die geradzahligen Elemente und
ein Ausgabebus 108-1 für die ungeradzahligen Elemente so
angeordnet, daß die jeweiligen geradzahligen und ungerad
zahligen Busse mit der Taktgeschwindigkeit des Maschinen
zyklus getrieben werden, wobei zwischen den jeweiligen
geradzahligen und ungeradzahligen Bussen eine Phasendiffe
renz besteht, die gleich einem halben Maschinenzyklus ist.
Wie oben beschrieben, sind in jedem physikalisch abge
schlossenen System des Vektorprozessors zum einen Vorrich
tungen angebracht für den Empfang von Vektordaten mit der
Geschwindigkeit des Maschinenzyklus, wobei die Vektordaten
aus einer Folge von geradzahligen Vektordatenelementen
und aus einer Folge von ungeradzahligen Vektordatenelementen
gebildet sind und wobei zwischen diesen Vektordatenelementen
die Phasendifferenz eines halben Maschinenzyklus besteht.
Zum anderen sind in jedem physikalisch abgeschlossenen
System des Vektorprozessors Vorrichtungen vorgesehen, die
dann, wenn Vektordaten aus dem physikalisch abgeschlossenen
System an ein externes Element übertragen werden, die Ab
sendung der Vektordaten in Form zweier Vektordatenelement
folgen, wie den oben beschriebenen, übernehmen.
Das Gesamtkonzept der Verarbeitung des Vektorprozessors von
Fig. 2 ist ähnlich wie das des in Verbindung mit dem herkömm
lichen Beispiel beschriebenen Vektorprozessors der Fig. 1
und von JP 58-1 14 274 A; folglich kann eine entsprechende Be
schreibung entfallen. Außerdem ist die genaue Struktur der
Vektorregister 101 und deren Funktionsweise in den Fig. 3
bzw. 6 erläutert, während der Aufbau des Vektorprozessors
und dessen Funktionsweise im Zusammenhang mit den Daten des
Vektormoduls (VR-Modul, das die Schaltmatrixlogik DIST 102,
die Vektorregister 101 und die Schaltmatrixlogik SEL 103
enthält, in den Fig. 4 bzw. 7 gezeigt werden, weshalb die
Beschreibung hiervon später erfolgt.
Fig. 5 ist eine Darstellung, die den Vektorprozessor der
Fig. 2 in montiertem Zustand zeigt. In Fig. 5 ist das
VR-Modul 201 logisch aus einer Schaltmatrixlogik DIST 102,
aus die VR0 bis VR31 enthaltenden Vektorregistern 101 und
aus einer Schaltmatrixlogik SEL 103 auf
gebaut; physikalisch werden DIST 102 und SEL 103
in einen Zufallslogik-Halbleiterchip implementiert, während
die Vektorregister 101 auf einem ein Superhochgeschwindig
keits-RAM und eine Zufallslogik enthaltenden Halbleiter
chip hergestellt werden. Obwohl in der Fig. 5 nicht gezeigt,
enthält das VR-Modul 201 ferner einer Schreibsteuerschaltung
112 und einer Lesesteuerschaltung 115. Außerdem
sind die vier Pipeline-Recheneinheiten 106 aus einer Viel
zahl von Halbleiterchips in den Recheneinheitsmoduln 202
ausgebildet. Die Recheneinheitsmoduln 202 und das VR-Modul
201 sind auf einer Vektorprozessorplatine 200 mittels Ver
bindungspins befestigt. Es wird angenommen, daß die Vektor
ladepipelines 110, die Vektorspeicherpipeline 111 und der
Hauptspeicher 109 auf einer anderen Vektorprozessorplatine
befestigt sind, weshalb sie nicht in der Fig. 5 gezeigt
werden. Von den Vektordatenbussen der Fig. 5 liegen der
Schreibdatenbus 104 und der Lesedatenbus 105, die beide
mit einer Taktgeschwindigkeit, die doppelt so groß ist wie
die des Maschinenzyklus, getrieben werden, innerhalb des
physikalisch abgeschlossenen Aufbaus des VR-Moduls 201;
hingegen sind die Rechenergebnisausgabebusse 108, 108-0
und 108-1 und die Vektordateneingabebusse 107, 107-0 und
107-1 so angeordnet, daß sie über Verbindungspins (die zwei
mal durchlaufen werden) und über Leiterbahnen auf der Vek
torprozessorplatine 200 Signale übertragen. Wie oben be
schrieben, können bei Verwendung der Bestückungskonfigu
ration der Fig. 5 für den Vektorprozessor der Fig. 2 die
Vektordatensignale, die mit einer Taktgeschwindigkeit, die
doppelt so groß ist wie die des Maschinenzyklus, getrieben
werden, auf ein Modul, also auf einen kleinen Bereich eines
physikalisch abgeschlossenen Raumes beschränkt werden. Wei
terhin werden für die Eingabe/Ausgabe-Operationen die eine
Taktgeschwindigkeit des Maschinenzyklus und die Phasendiffe
renz eines halben Zyklus aufweisenden Signale alternierend
geschaltet oder gewechselt; folglich ist es nicht wie im
herkömmlichen Fall erforderlich, daß ein Verbindungspin
mit einer Taktgeschwindigkeit, die doppelt so groß ist wie
die des Maschinenzyklus, geschaltet oder gewechselt werden
muß, wodurch bei einem Verbindungspin, bei dem eine Impedanz
fehlanpassung auftreten kann, elektrische Stabilität erzielt
wird.
Fig. 3 zeigt Einzelheiten eines Vektorregisters 101-0, aus
dem jedes der 32 die VR0 bis VR31 enthaltenden Vektorre
gister 101 aufgebaut ist. Weiterhin zeigt Fig. 6 ein Impuls
diagramm zur Erläuterung des Betriebs des Vektorregisters
101-0.
Dem Vektorregister 101-0 werden drei Takte T01, T0 und T1
zugeführt. In der Fig. 6 hat der T01-Takt eine Geschwin
digkeit, die doppelt so groß ist wie die des Maschinen
zyklus, während T0- und T1-Takte eine Geschwindigkeit
besitzen, die so groß ist wie die des Maschinenzyklus, und
die die Phasendifferenz eines halben Zyklus aufweisen.
Die Pitch-Steuerschaltung 127 enthält ein durch das T1-
Takt gesteuertes Flip-Flop PIKOE 127-0, ein durch den T0-
Takt gesteuertes Flip-Flop PIKOL 127-1, ein an den Ausgaben
der zwei Flip-Flops 127-0 und 127-1 eine Exklusiv-ODER-
Operation ausführendes EOR-Gatter 127-2 und ein Flip-Flop
RDPTCH 127-4, das von einem vom EOR-Gatter 127-2 ausgege
benen Pitchsignal 127-3 und vom T01-Takt gesteuert wird.
An das Flip-Flop PIKOL 127-1 wird von der PIKO-Signalleitung
144 ein Signal geliefert, das einen gegenüber dem Maschinen
zyklus doppelt so hohen Zyklus aufweist und mit dem T1-Takt
synchronisiert ist, um dadurch eine Phasendifferenz eines
halben Maschinenzyklus zu erzielen; das sich ergebende
Signal wird zusammen mit der Ausgabe des Flip-Flops PIKOE
127-0 einer Exklusiv-ODER-Operation unterzogen, wodurch
ein Signal ausgegeben wird, das mit dem T01-Takt synchroni
siert ist und in der Fig. 6 mit EOR 127-3 bezeichnet ist:
Es ist "1" für den T0-Takt und "0" für den T1-Takt.
Es ist "1" für den T0-Takt und "0" für den T1-Takt.
Der für die Erzeugung der RAM-Schreibeadresse vorgesehene
WA-Zähler 121 weist ein vom T0-Takt gesteuertes Flip-Flop
WINC 121-0, einen +1-Inkrementierschaltkreis 121-1 und ein
mit dem T0-Takt gesteuertes 6-Bit-Adressenregister WAC
121-2 auf. Weiterhin ist der WA-Zähler 121 so ausgebildet,
daß er das Adressenregister WAC 121-2 löschen kann. Im Be
trieb werden in Reaktion auf ein vom Schreibsteuerschalt
kreis 112 ausgegebenes Schreibsteuersignal 113, das wie
das Signal des WINC 121-0 der Fig. 6 geformt ist, Adressen
daten inkrementiert und dann an das Adressenregister WAC
121-2 gegeben; die so erzeugten Daten werden als WA-Zähler-
Adreßdaten 121-3 ausgegeben.
Für die Erzeugung einer RAM-Leseadresse ist ein RA-Zähler
122 vorgesehen, der ein vom T1-Takt gesteuertes Flip-Flop
RNC 122-0, einen +1-Inkrementierschaltkreis 122-1 und ein
vom T1-Takt gesteuertes 6-Bit-Adressenregister RAC 122-2
enthält. Weiterhin ist der RA-Zähler 122 so ausgebildet,
daß er, obwohl nicht gezeigt, das Adressenregister RAC
122-2 löschen kann. Im Betrieb werden in Raktion auf ein
von der Lesesteuerschaltung 115 ausgegebenes Lesesteuersignal
116, das wie das Signal des RINC 122-0 der Fig. 6 geformt
ist, Adressendaten inkrementiert und dann an das Adressen
register RAC 122-2 gegeben; die so erzeugten Daten werden
als RA-Zähler-Adreßdaten 122-3 ausgegeben.
Der Betrieb des für die Wahl der Adreßdaten des Bank-A-RAM
125 vorgesehenen Selektors 123 ist in Fig. 6 gezeigt: Wenn
das Pitch-Signal EOR 127-3 "1" ist, dann werden die WA-
Zähler-Adreßdaten 121-3 gewählt; ist hingegen das Pitch-
Signal EOR 127-3 "0", so werden die RA-Zähler-Adreßdaten
122-3 gewählt. Der Selektor 123 erzeugt weiterhin eine Aus
gabe, die einem mit dem T01-Takt gesteuerten 6-Bit-Bank-
A-Adressenregister AAD 131 zugeführt wird und dann als ein
Bank-A-RAM-Adreßdatensignal 131-0 in das Bank-A-RAM 125
eingegeben wird.
Der Betrieb des für die Auswahl von Adreßdaten des Bank-
B-RAM 126 vorgesehenen Selektors 124 ist in Fig. 6 gezeigt:
Wenn das Pitch-Signal EOR 127-3 "0" ist, dann werden die WA-Zähler-Adreßdaten 127-3 gewählt; wenn hingegen das Pitch-Signal EOR 127-3 "1" ist, so werden die RA-Zähler- Adreßdaten 122-3 gewählt. Weiterhin erzeugt der Selektor 123 eine Ausgabe, die einem mit dem T01-Takt gesteuerten 6-Bit-Bank-B-Adressenregister BAD 132 zugeführt wird und dann als Bank-B-RAM-Adreßdatensignal 132-0 in das Bank- B-RAM 126 eingegeben wird.
Wenn das Pitch-Signal EOR 127-3 "0" ist, dann werden die WA-Zähler-Adreßdaten 127-3 gewählt; wenn hingegen das Pitch-Signal EOR 127-3 "1" ist, so werden die RA-Zähler- Adreßdaten 122-3 gewählt. Weiterhin erzeugt der Selektor 123 eine Ausgabe, die einem mit dem T01-Takt gesteuerten 6-Bit-Bank-B-Adressenregister BAD 132 zugeführt wird und dann als Bank-B-RAM-Adreßdatensignal 132-0 in das Bank- B-RAM 126 eingegeben wird.
Die Schreibdaten werden über den Schreibdatenbus 104 her
angeführt und in ein mit dem T01-Takt gesteuertes Register
WTDATA 133 eingegeben. Anschließend werden die Schreibdaten
über einen Ausgang des Registers WTDATA 133 und einen Daten
eingabebus 133-0 an das Bank-A-RAM 125 und an das Bank-B-
RAM 126 geliefert.
Für jedes Vektorregister 101 ist ein Schreibfreigabesteuer
schaltkreis (WE) vorgesehen. Damit kann der Schreibsteuer
schaltkreis 112, indem er die jeweiligen Vektorregister
101 freigibt, die Register 101 so steuern, daß sie entspre
chend einem Befehl gleichzeitig arbeiten. Der Aufbau der
WE-Steuerschaltung enthält ein vom T0-Takt gesteuertes
Flip-Flop WEF 13, ein vom T1-Takt gesteuertes Flip-Flop
WES 135, einen Selektor 136, einen Selektor 137, ein Schreib
betrieb-Flip-Flop WTMDA 138 für das Bank-A-RAM 125 und ein
Schreibbetrieb-Flip-Flop WTMDB 139 für das Bank-B-RAM 126,
wobei die letzten vier Elemente mit dem T01-Takt gesteuert
werden, einen Schreibimpulsgenerator 140 für die Verzögerung
der Anstiegszeit des T01-Taktes, um dadurch die RAM-Schreib rüst
zeit mit der T01-Taktimpulsbreite zu überlappen und dabei
die RAMWE-Impulsbreite und die Schreibhaltezeit festzulegen,
und UND-Gatter 141 und 142, die UND-Operationen zwischen
den jeweiligen Schreibmoden und einem Ausgabeimpuls des
Schreibimpulsgenerators 140 durchführen. In Fig. 6 ist ge
zeigt, daß im Betrieb der Selektor 136 die Ausgabe des Flip-
Flops WEF 134 wählt, wenn das Pitch-Signal EOR 127-3 "1"
ist; daß hingegen, wenn das EOR 127-3 "0" ist, der Selektor
137 die Ausgabe des Flip-Flops WES 135 wählt. Das heißt,
daß während des Betriebs für die Schreiboperation in das
alle geradzahligen Elemente der Vektordaten enthaltende
Bank-A-RAM 125 das Schreibsteuersignal 113-0 ausgegeben
wird; für die Schreiboperation das alle ungeradzahligen
Elemente der Vektordaten enthaltende Bank-B-RAM 126 wird
hingegen das Schreibsteuersignal 113-1 geliefert.
Im Betrieb wird der Selektor 128 auf der Basis eines Aus
gabesignals 127-5 des Flip-Flops RDPTCH 104 des Pitch-
Steuerschaltkreises 127 für eine Datenverteilung so gesteu
ert, daß er die Datenausgabe 125-0 vom Bank-A-RAM 125 wählt,
wenn das Bank-A-Adressenregister AAD 131 Leseadreßdaten
meldet, und daß er die Datenausgabe 126-0 vom Bank-B-RAM
126 wählt, wenn das Bank-B-Adressenregister BAD 132 Lese
adreßdaten meldet. Weiterhin liefert der Selektor 128 über
ein mit dem T01-Takt gesteuertes Datenregister RDDATA 143
eine Ausgabe an den Lesedatenbus 105.
Zwei Superhochgeschwindigkeits-RAMs sind so angeordet,
daß dasselbe Vektordatenelement durch denselben Adreßdaten
wert dargestellt wird. Das alle geradzahligen Elemente der
Vektordaten enthaltende Bank-A-RAM 125 wird mittels einer
Ausgabe 131-0 vom Bank-A-Adressenregister AAD 131 adressiert,
während das alle ungeradzahligen Elemente der Vektordaten
enthaltende Bank-B-RAM 126 mittels einer Ausgabe 132-0 vom
Bank-B-Adressenregister BAD 132 adressiert wird.
Nun wird unter Bezugnahme auf die Fig. 6 der Gesamtbetrieb
des Vektorregisters 101-0 von Fig. 3 kurz beschrieben.
Fig. 6 zeigt eine verkettete Verarbeitung, in der im Vektor
register 101-0 gleichzeitig eine Schreiboperation und eine
Leseoperation von Vektordaten durchgeführt wird. Es sei
angenommen, daß die Anzahl der Elemente der Vektordaten
sechs ist, und daß die Elemente in der Reihe e0, e1, e2,
e3, e4 und e5 angeordnet sind. Für eine Schreiboperation
wird zunächst zu einer Zeit t0 einem Flip-Flop WINC 121-0
des WA-Zählers 121 ein Löschsignal W0 des WA-Zählers 121
zugeführt. Das Löschsignal W0 wird von dem Selektor 123
in einer Zeitspanne gewählt, in der das Pitch-Signal EOR
127-3 "1" ist, weshalb das eine Zeitdauer t0-t1 aufwei
sende resultierende Signal in das Bank-A-Adressenregister
AAD 131 so eingegeben wird, daß in der Zeit zwischen t1
bis t2 eine Ausgabe des AAD 131 als Adreßsignal AW0 an das
Bank-A-RAM 125 geliefert wird. Für eine Schreiboperation
in das Bank-A-RAM 125 wird zur Zeit t0 außerdem ein
Schreibsignal WT0 in das Flip-Flop WEF 134 eingegeben und
während einer Zeitspanne, in der das Pitch-Signal EOR 127-3
"1" ist, vom Selektor 136 gewählt; folglich wird das eine
Zeitdauer t0-t1 aufweisende resultierende Signal in das
Flip-Flop WTMDA 138 eingegeben. Ferner ist das Schreib
signal WT0 als Ausgabe des Flip-Flops WTMDA 138 zwischen
der Zeit t1 und der Zeit t2 gültig, so daß diese Ausgabe
mittels eines UND-Gatters 141 zusammen mit dem Ausgabeim
puls vom Schreibimpulsgenerator 140 einer UND-Verknüpfung
unterzogen wird und das gewonnene Signal als WE-Signal für
die Zeitspanne t1-t2 an das Bank-A-RAM 125 geliefert wird.
Weiterhin werden zur Zeit t1 die Schreibvektordaten e0 in
das Register WTDATA 133 eingegeben und die Ausgabe hiervon
wird gültig in der Zeitspanne t1-t2. Das heißt, daß das
erste geradzahlige Element e0 der Vektordaten während der
Zeitspanne t1-t2 in das Bank-A-RAM 125 geschrieben wird.
Auf der Bank-B-Seite wird das Löschsignal W0 von dem Se
lektor 124 während einer Zeitspanne gewählt, in der das
Pitch-Signal EOR 127-3 "0" ist, weshalb das eine Zeitdauer
t1-t2 besitzende resultierende Signal in das Bank-B-
Adressenregister BAD 132 eingegeben wird; folglich wird
zwischen der Zeit t2 und der Zeit t3 die Ausgabe des BAD
132 als Adreßsignal BW0 an das Bank-B-RAM 126 geliefert.
Für eine Schreiboperation in das Bank-B-RAM 126 wird außer
dem zur Zeit t1 das Schreibsignal WT1 in das Flip-Flop WES
135 eingegeben und vom Selektor 137 gewählt, während das
Pitch-Signal EOR 127-3 "0" ist, weshalb das eine Zeitdauer
t1-t2 besitzende resultierende Signal an das Flip-Flop
WTMDB 139 geliefert wird. Die Ausgabe des Flip-Flops WTMDB
139 wird gültig in der Zeit zwischen t2 und t3, so daß es
mittels eines UND-Gatters 142 zusammen mit dem Ausgabeimpuls
vom Schreibimpulsgenerator 140 einer UND-Verknüpfung unter
zogen wird und das dabei gewonnene Signal als WE-Signal
für die Zeitspanne t2-t3 an das Bank-B-RAM 126 geliefert
wird. Ferner wird das Schreibvektordatenelement e1 in das
Register WTDATA 133 eingegeben, dessen Ausgabe wird gültig
in der Zeitspanne t2-t1. Folglich wird das erste unge
radzahlige Element e1 der Vektordaten während der Zeit
spanne t2-t3 in das Bank-B-RAM 126 geschrieben. Für die
Schreibvektordatenelemente e2, e3, e4 und e5 werden genauso
nacheinander die Aufwärtszählsignale W1 und W2 des WA-
Zählers 121 in das Flip-Flop WINC 121-0 des WA-Zählers
eingegeben, wobei Adressen AW1 bzw. AW2 des Bank-A-RAM
125 und Adressen BW1 bzw. BW2 des Bank-B-RAM 126 erzeugt
werden. Es wird nun vereinbart, daß die WE-Signale WT2,
WT3, WT4 und WT5 zum Schreiben der Elemente e2, e3, e4
bzw. e5 durch WTn ausgedrück werden, die Elemente e2,
e3, e4 bzw. e5 werden durch en ausgedrückt und die Zeit,
wenn en in den WTDATA 133 eingegeben wird, wird mit tn
bezeichnet. Dann können die Vektordatenelemente e2, e3,
e4 und e5 eingeschrieben werden, wenn die Zeit, zu der
WTn an die Flip-Flops WEF 134 (n = 2, 4) und WES 135
(n = 3, 5) geliefert wird, tn - 1 gesetzt wird.
Andererseits wird für die Leseoperation der Vektordaten
elemente e0, e1, e2, e3, e4 und e5 zur Zeit t1 das Lösch
signal R0 des RA-Zählers 122 an das Flip-Flop RINC 122-0
des RA-Zählers 122 ausgegeben. Da das Löschsignal R0 vom
Selektor 123 gewählt wird, wenn das Pitch-Signal EOR 127-3
"0" ist, wenn es also für die Zeitspanne t1-t2 gültig
ist, wird es in das Bank-A-Adressenregister AAD 131 einge
geben; die Ausgabe des AAD 131 wird als Adreßsignal AR0
während der Zeit zwischen t2 und der Zeit t3 an das Bank-
A-RAM 125 geliefert. Weiterhin wählt der Selektor 128,
wenn die Ausgabe vom Flip-Flop RDPTCH 127-4 "0" ist, die
Datenausgabe 125-0 des Bank-A-RAM 125; folglich wird ein
Vektordatenelement e0, das einer während der Zeitspanne
t2-t3 an das Bank-A-RAM 125 gelieferten Adresse AR0 ent
spricht, ausgegeben und an das Register RDDATA 143 gelie
fert; eine Ausgabe hiervon wird zwischen der Zeit t3 und
der Zeit t4 dem Datenbus 105 zugeführt. Für die Bank-B-
Seite wird vom Selektor 124 das Löschsignal R0 gewählt,
wenn das Pitch-Signal EOR 127-3 "1" ist. Folglich ist das
Löschsignal R0 gültig in der Zeitspanne t2-t3, um so
in das Bank-B-Adressenregister BAD 132 eingegeben zu wer
den; das BAD 132 liefert dann zwischen der Zeit t3 und
der Zeit t4 eine Ausgabe als Adreßsignal BR0 an das Bank-
B-RAM 126. Da weiterhin der Selektor 128 die Datenausgabe
126-0 des Bank-B-RAM 126 wählt, wenn die Ausgabe des Flip-
Flops RDPTCH 127-4 "1" ist, werden die Vektordaten e1,
die einer in der Zeitspanne t3-t4 an das Bank-B-RAM 126
gelieferten Adresse BR0 entsprechen, ausgegeben und an
das Register RDDATA 143 geliefert. Dieses Register liefert
zwischen der Zeit t4 und der Zeit t5 eine Ausgabe an den
Lesedatenbus 105. Genauso werden zum Lesen der Vektordaten
elemente e2, e3, e4 und e5 nacheinander die Aufwärtszähl
signale R1 und R2 des RA-Zählers 122 in das Flip-Flop RINC
122-0 eingegeben um die Adressen AR1 bzw. AR2 des Bank-
A-RAM 125 und die Adressen BR1 bzw. BR2 des Bank-B-RAM
126 zu erzeugen. Dabei werden, wie in Fig. 6 gezeigt, die
Daten über das Datenregister RDDATA 143 an den Lesedatenbus
105 geliefert. Folglich ist das Vektorregister 101-0 von
Fig. 3 in der Lage, gleichzeitig für die Vektordaten eine
Schreiboperation und eine Leseoperation durchzuführen mit
einer Signalabfolge, die doppelt so hoch ist wie der Ma
schienenzyklus. Das heißt, daß mit einer Signalabfolge,
die doppelt so hoch ist wie der Maschinenzyklus, die Vektor
daten abwechselnd in das Bank-A-RAM 125 und in das Bank-
B-RAM 126 geschrieben werden und daß zur gleichen Zeit
Vektordaten abwechselnd aus dem Bank-A-RAM 125 und aus
dem Bank-B-RAM 126 gelesen werden, wobei für jede Bank
die Schreib- und Leseoperationen abwechselnd nacheinander
durchgeführt werden.
Fig. 4 ist eine schematische Darstellung der Anordnung
derjenigen Komponenten, die mit der Datenverarbeitung im
VR-Modul in Beziehung stehen; Fig. 7 hingegen ist ein für
die Erklärung der Funktion in Fig. 4 nützliches Impulsdia
gramm. Der Aufbau von Fig. 4 enthält eine Schaltmatrixlogik
DIST 102; Vektorregister 101 und eine Schaltmatrixlogik SEL
103. Diese drei Elemente bilden das VR-Modul von Fig. 5.
DIST 102 ist gleich wie oben beschrieben; im einzelnen ist
die Pitch-Steuerschaltung 120 gleich der Pitch-Steuer
schaltung 127 des Vektorregisters 101-0 und weist folglich
ein mit dem T1-Takt gesteuertes Flip-Flop DPIKOE 120-0, ein
mit dem T0-Takt gesteuertes Flip-Flop DPIKOL 120-1, ein an
den Ausgaben der Flip-
Flops 120-0 und 120-1 eine EOR-Operation durchführendes
Exklusiv-ODER-Gatter 120-2 und ein vom Exklusiv-ODER-Gatter
120-2 ausgegebenes Pitch-Signal 120-3 auf. Der Betrieb
der Pitch-Steuerschaltung 120 ist gleich dem der Pitch-
Steuerschaltung 127. Ferner sind in dem DIST 102 an
der Eingabeseite des Selektors 118, der die geradzahligen
Elemente der Vektordaten wählt, mit dem T0-Takt gesteuerte
Register 145 und 146 angeordnet; an der Eingabeseite des
Selektors 119, der die ungeradzahligen Elemente der Vektor
daten auswählt, sind hingegen durch den T1-Takt gesteuerte
Register 147 und 148 angeordnet. Im einzelnen liefert jeder
Satz von Selektoren 118 und 119 Ausgaben an ein ODER-Gatter
149. Andererseits ist im SEL 103 an der Ausgabeseite des
Selektors 129, der die geradzahligen Elemente der Vektorda
ten auswählt, ein mit dem T0-Takt gesteuertes Register
150 angeordnet; an der Ausgabeseite des Selektors 130,
der die ungeradzahligen Elemente der Vektordaten auswählt,
ist hingegen ein mit dem T1-Takt gesteuertes Register 151
angeordnet. Insbesondere wird im Aufbau der Fig. 4 in Ver
bindung mit der Beschreibung der Fig. 7 das Register des
DIST 102 für den Ausgabebus 108-0, der die geradzahligen
Elemente des Operationsergebnisses der Pipeline-Rechenein
heit 106 ausgibt, mit DA3F 145, das Register für den Aus
gabebus 108-1, der die ungeradzahligen Elemente des Ope
rationsergebnisses der Pipeline-Recheneinheiten 106 aus
gibt, mit DA3S 147, das Register des SEL 103 für den Bus
107-0 der geradzahligen Elemente an die Pipeline-Rechen
einheit 106 mit SA3F 150 und das Register für den Bus 107-1
der ungeradzahligen Elemente an die Pipeline-Recheneinheit
106 mit SA3S 151 bezeichnet; die anderen Register und Busse
sind nicht im einzelnen gezeigt. Fig. 7 ist ein Signalim
pulsdiagramm, das die Operationen der verketteten Verarbei
tung zeigt, in der die in Verbindung mit der Funktion des
Vektorregisters 101-1 beschriebenen Vektordatenelemente
e0, e1, e2, e3, e4 und e5 zwischen dem VR-Modul 201 der
Fig. 4 und den Pipeline-Recheneinheiten 106 verarbeitet
werden. In Fig. 7 wird zur Zeit t0 dem Register DA3F 145
von der Pipeline-Recheneinheit 106 über den Bus 108-0 das
erste geradzahlige Element e0 der Vektordaten zugeführt.
Es wird gültig während der Zeitspanne t0-t2 und wird
in den Selektor 118 eingegeben. Dadurch wird das Vektor
element e0 während der Zeitdauer t0-t1 gültig, da der
Selektor 118 die Ausgabe vom Register DA3F 145 wählt, wenn
das Pitch-Signal 120-3 "1" ist. Dann wird das Vektorelement
e0 an das ODER-Gatter 149 ausgegeben. Andererseits wird
zur Zeit t1 dem Register DA3S 147 über den Bus 108-1 das
erste ungeradzahlige Element e1 der Vektordaten zugeführt.
Das Element e1 wird gültig während der Zeitdauer t1-t3
und in den Selektor 119 eingegeben. Dadurch wird das Vek
torelement e1 während der Zeitdauer t1-t2 gültig, da
der Selektor 119 die Ausgabe vom Register DA3S 147 aus
wählt, wenn das Pitch-Signal 120-3 "0" ist. Dieses Vektor
element e1 wird dann an das ODER-Gatter 149 ausgegeben.
Genauso werden daraufhin die Vektordatenelemente e2, e3,
e4 und e5 durch dasselbe Verfahren wiederholt so verar
beitet, daß die geradzahligen und ungeradzahligen Elemente
der mit einer dem Maschinenzyklus entsprechenden Signalab
folge an das VR-Modul geschickten Daten in eine Folge von
Vektordatenelementen umgewandelt werden, die eine Wechsel-
oder Schaltoperation mit einer Signalabfolge bewirkt, die
doppelt so groß ist wie des Maschinenzyklus; die sich er
gebenden Vektordaten werden in das Register WTDATA 133
des Vektorregisters 101 eingegeben. Obwohl die Selektoren
118 und 119 in Verbindung mit der Fig. 7 weder gezeigt
noch beschrieben werden, wird angenommen, daß gemäß einem
Befehl, der das VR0 des Vektorregisters 101 auswählt, ein
Satz von Selektoren gewählt wird. Daraufhin werden die
Vektordatenelemente e0, e1, e2, e3, e4 und e5 zunächst
im Vektorregister 101 gehalten und dann aus diesem ausge
lesen. In dieser Hinsicht sind die Operationseinzelheiten
die gleichen wie die des oben beschriebenen Vektorregisters
101-0.
Die vom Register RDDATA 143 ausgegebenen Vektordatenelemente
e0, e1, e3, e4 und e5 bewirken bei einer Signalabfolge,
die doppelt so groß ist wie der Maschinenzyklus, eine
Wechsel- oder Schaltoperation; dagegen werden die Register
SA3F 150 und SA3S 151 des SEL 103 mit dem T0-Takt bzw.
mit dem T1-Takt gesteuert. Folglich werden wie in Fig.
7 gezeigt, die Gesamtvektordaten in geradzahlige Elemente
und ungeradzahlige Elemente der Vektordaten zerlegt, wobei
jede der beiden Folgen mit der Signalabfolge des Maschinen
zyklus wechselt oder schaltet, um über die Busse 107-0
bzw. 107-1 mit der Taktgeschwindigkeit des Maschinenzyklus
und mit einer Phasendifferenz eines halben Zyklus geschickt
zu werden.
In den logischen Anordnungen des DIST 102 und des SEL 103
der Fig. 4 werden zwei Vektordatenfolgen, deren jede eine
Wechseloperation mit dem Maschinenzyklus durchführt, in
eine Vektordatenfolge umgewandelt, die mit einer Geschwin
digkeit, die doppelt so hoch ist wie der Maschinenzyklus,
wechselt. Diese sich ergebende Vektordatenfolge wird in
das Vektorregister eingegeben. Weiterhin wird eine mit
einer Geschwindigkeit, die doppelt so groß ist wie die
des Maschinenzyklus, wechselnde Vektordatenfolge in zwei
Vektordatenfolgen zerlegt, deren jede eine Wechseloperation
mit dem Maschinenzyklus durchführt. Mit der obigen Anord
nung können die eine Wechsel- oder Schaltoperation bei
einer Signalabfolge, die doppelt so groß ist wie der Ma
schinenzyklus, bewirkenden Vektordatensignale auf den Be
reich des VR-Moduls 201 beschränkt werden, wenn das Vektor
register 101-0 der Fig. 3 in einem physikalisch abge
schlossenen Bereich, der einen kleinen Bereich des VR-
Moduls 201 ausmacht, verwendet wird. Weiterhin muß in einem
kleinen Bereich elektrischer Stabilität im VR-Modul für
jedes Vektorregister lediglich ein Schreibdatenbus und
ein Lesedatenbus angebracht werden; folglich kann auch
die Menge der Hardware-Komponenten im VR-Modul minimiert
werden. Da die Signale mit einer Taktgeschwindigkeit, die
gleich dem Maschinenzyklus ist, und mit einer Phasendiffe
renz eines halben Zyklus zwischen dem VR-Modul 201 und
der Vektorprozessorplatine übertragen werden, wird ferner
der Vorteil einer gesicherten elektrischen Stabilität gegen
elektrisches Rauschen, das durch die gleichzeitige Wechsel
operation der Signale verursacht wird, erzielt.
Die obige Beschreibung bezog sich auf ein Beispiel, in dem Vektor
daten, die in zwei Vektorelementfolgen unterteilt worden
sind, mit einem Grundmaschinenzyklus zwischen den Moduln
eines physikalisch abgeschlossenen Systems so übertragen
werden, daß die Daten in dem physikalisch abgeschlossenen
System mit einer Geschwindigkeit, die doppelt so groß ist
wie die des Maschinenzyklus, verarbeitet werden; es ist
jedoch allgemein möglich, daß mit n als ganzer Zahl
größer als eines zwischen den Moduln eines physikalisch
abgeschlossenen Systems Vektordaten übertragen werden,
die n Folgen von Vektorelementen enthalten. Diese Folgen
weisen eine Phasendifferenz auf, die gleich 1/n des Grund
maschinenzyklus ist. Die Übertragung erfolgt mit der Ge
schwindigkeit des Grundmaschinenzyklus, so daß die Daten
mit einer Geschwindigkeit verarbeitet werden, die n-mal
so hoch ist wie die des Grundmaschinenzyklus des Systems.
In diesem Fall wird in einem eine RAM-Einheit aufweisenden
Modul die RAM-Einheit aus einem RAM-Feld aufgebaut, das
n RAMs enthält, deren jedes unabhängig adressierbar und
in der Lage ist, die Schreib- und Leseoperationen mit einer
Geschwindigkeit, die n-mal der des Grundmaschinenzyklus
ist, durchzuführen. Die vom Modul empfangenen n Vektorele
mentfolgen werden in eine Vektorelementfolge umgewandelt,
die eine gegenüber dem Grundmaschinenzyklus n-fache Ge
schwindigkeit hat, so daß die Vektorelemente mit einer
gegenüber dem Grundmaschinenzyklus n-fachen Geschwindig
keit in die jeweiligen RAMs geschrieben und nacheinander
aus den jeweiligen RAMs ausgelesen werden. Hierbei werden
sie, wie oben beschrieben, in n Vektorelementfolgen umge
wandelt, wobei sie die resultierenden Vektordatenfolgen
übertragen.
Claims (3)
1. Vektorprozessorsystem mit
- - mehreren Vektorladepipelines (110) und Vektorspeicherpipelines (111),
- - mehreren Pipeline-Recheneinheiten (106),
- - mehreren Vektorregistern (101-104), sowie
- - einem Hauptspeicher (109), wobei über die Vektorladepipelines und Vektorspeicherpipelines (110, 111) parallel Ein/Ausgabeoperationen für Vektordaten von und zu den Vektorregistern (101-104) und von und zu dem Hauptspeicher (109) ausgeführt werden, und
- - einem Vektorprozessor (200), der aus mehreren Modulen (201, 202) besteht, von denen mindestens eines (201; VR₀-VR₃₁) die Funktionen eines Vektorregisters (101-104) hat, mehrere RAM-Speicherbänke (RAM-A, RAM-B) aufweist und jedes Modul (201, 202) ein physikalisch abgeschlossenes System bildet;
dadurch gekennzeichnet, daß
- - die von jedem Modul (201, 202) mit der dem Grundmaschinenzyklus entsprechenden Übertragungsgeschwindigkeit empfangenen und gesendeten Vektordaten jeweils aus einer ersten und einer zweiten Vektorelementgruppe bestehen, die jeweils eine erste und eine zweite Vektordatenelementfolge enthalten, die gegeneinander um die halbe Grundmaschinenzyklus- Periode phasenverschoben sind, und
- - jedes die Vektorregisterfunktion erfüllende Modul (201; VR₀-VR₃₁) aufweist:
- eine erste und eine zweite Eingabepufferspeichergruppe (145, 146 und 147, 148), die mit Taktsignalen im Grundmaschinenzyklus jeweils um dessen halbe Periode phasenverschoben getaktet werden und die so geschaltet sind, daß sie jeweils die erste und zweite Vektordatenelementfolge empfangen;
- Verknüpfungsglieder (120, 118, 119, 149), die mit der ersten und der zweiten Eingabepufferspeichergruppe (145, 146; 147, 148) zur Verknüpfung der ersten und der zweiten Vektordatenelementfolge verbunden sind, deren Geschwindigkeit dem doppelten Grundmaschinenzyklus gleich ist, und
- die RAM-Speicherbänke (z. B. 125, 126) mit dem Ausgang (149) der Verknüpfungsglieder so verbunden sind, daß die Lese- und Schreiboperationen der Vektordaten aus bzw. in die jeweils getrennt adressierbaren RAM-Speicherbänke (125, 126) mit einer der doppelten Grundmaschinentaktfrequenz entsprechenden Geschwindigkeit abwechselnd erfolgt; und
- eine erste und eine zweite Ausgabepufferspeichergruppe (150, 151), die mit Taktsignalen im Grundmaschinenzyklus jeweils um dessen halbe Periode phasenverschoben getaktet werden, um die ausgelesene Vektordatenelementfolge zu deren Umsetzung in eine este und eine zweite Vektordatenelementfolge, die jeweils eine mit dem Grundmaschinenzyklus übereinstimmende Geschwindigkeit haben, zu speichern und um die Vektordaten der gespeicherten ersten und zweiten Vektordatenelementgruppe von diesem mindestens einem Modul (201) auszugeben.
2. Vektorprozessorsystem nach Anspruch 1,
dadurch gekennzeichnet,
daß der Vektorprozessor (200) die Vektorelemente in eine Folge
ungeradzahliger Vektodatenelemente und in eine Folge geradzahliger
Vektordatenelemente unterteilt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62201701A JP2679994B2 (ja) | 1987-08-14 | 1987-08-14 | ベクトル処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3827500A1 DE3827500A1 (de) | 1989-02-23 |
DE3827500C2 true DE3827500C2 (de) | 1993-06-17 |
Family
ID=16445485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3827500A Granted DE3827500A1 (de) | 1987-08-14 | 1988-08-12 | Vektorprozessor |
Country Status (3)
Country | Link |
---|---|
US (1) | US5001626A (de) |
JP (1) | JP2679994B2 (de) |
DE (1) | DE3827500A1 (de) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3035828B2 (ja) * | 1989-12-28 | 2000-04-24 | 甲府日本電気株式会社 | 情報処理装置 |
EP0444368B1 (de) * | 1990-02-28 | 1997-12-29 | Texas Instruments France | Ein SIMD-Prozessor als digitales Filter |
JPH03296476A (ja) * | 1990-04-12 | 1991-12-27 | Japan Field Kk | 洗浄装置 |
IL96808A (en) * | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
JP2899986B2 (ja) * | 1990-08-08 | 1999-06-02 | 株式会社日立製作所 | データ格納方法,ベクトルデータバッファ装置およびベクトルデータ処理装置 |
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 |
US5208490A (en) * | 1991-04-12 | 1993-05-04 | Hewlett-Packard Company | Functionally complete family of self-timed dynamic logic circuits |
JP3304444B2 (ja) * | 1992-11-30 | 2002-07-22 | 富士通株式会社 | ベクトル処理装置 |
US5542061A (en) * | 1993-01-21 | 1996-07-30 | Nec Corporaiton | Arrangement of controlling issue timing of a read instruction to a common block in a vector processor |
US5519847A (en) * | 1993-06-30 | 1996-05-21 | Intel Corporation | Method of pipelining sequential writes in a flash memory |
US5610882A (en) * | 1993-11-03 | 1997-03-11 | International Business Machines Corporation | Extendable data storage library employing double gripper picker mechanism |
US6012135A (en) * | 1994-12-01 | 2000-01-04 | Cray Research, Inc. | Computer having multiple address ports, each having logical address translation with base and limit memory management |
US5838984A (en) * | 1996-08-19 | 1998-11-17 | Samsung Electronics Co., Ltd. | Single-instruction-multiple-data processing using multiple banks of vector registers |
US5991531A (en) * | 1997-02-24 | 1999-11-23 | Samsung Electronics Co., Ltd. | Scalable width vector processor architecture for efficient emulation |
US6795911B1 (en) * | 2000-01-28 | 2004-09-21 | Oki Electric Industry Co., Ltd. | Computing device having instructions which access either a permanently fixed default memory bank or a memory bank specified by an immediately preceding bank selection instruction |
US7032104B1 (en) * | 2000-12-15 | 2006-04-18 | Lsi Logic Corporation | Configurable hardware register stack for CPU architectures |
US7680990B2 (en) * | 2003-05-30 | 2010-03-16 | Hewlett-Packard Development Company, L.P. | Superword memory-access instructions for data processor |
EP2337654A4 (de) * | 2008-08-15 | 2014-10-15 | 3M Innovative Properties Co | Verfahren zum abrichten von schleifscheiben |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6057090B2 (ja) * | 1980-09-19 | 1985-12-13 | 株式会社日立製作所 | データ記憶装置およびそれを用いた処理装置 |
JPS58114274A (ja) * | 1981-12-28 | 1983-07-07 | Hitachi Ltd | デ−タ処理装置 |
JPH0652530B2 (ja) * | 1982-10-25 | 1994-07-06 | 株式会社日立製作所 | ベクトル・プロセッサ |
JPS59197945A (ja) * | 1983-04-25 | 1984-11-09 | Fujitsu Ltd | ビツトマツプメモリ制御方式 |
JPS60136870A (ja) * | 1983-12-26 | 1985-07-20 | Hitachi Ltd | ベクトル処理装置 |
-
1987
- 1987-08-14 JP JP62201701A patent/JP2679994B2/ja not_active Expired - Lifetime
-
1988
- 1988-08-12 DE DE3827500A patent/DE3827500A1/de active Granted
-
1990
- 1990-04-20 US US07/512,580 patent/US5001626A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2679994B2 (ja) | 1997-11-19 |
JPS6446162A (en) | 1989-02-20 |
US5001626A (en) | 1991-03-19 |
DE3827500A1 (de) | 1989-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3827500C2 (de) | ||
DE2633079C3 (de) | Anordnung zum elektrischen Verbinden von auf einem Halbleiterscheibchen aufgebauten Schaltungseinheiten mit einer gemeinsamen Sammelleitung | |
DE3543911C2 (de) | ||
DE69631055T2 (de) | Speicherschnittstelleneinheit, vermittlungssystem mit gemeinsamem speicher und verfahren dazu | |
DE2617408C3 (de) | Speichermodul fur ein Datenverarbeitungsgerät mit Speicherhierarchie | |
DE3049437C2 (de) | Matrixanordnung einer Vielzahl von Verarbeitungselementen | |
DE4425552C2 (de) | Gatterarray | |
DE3832113C2 (de) | ||
DE3606650A1 (de) | Hardware logik-simulator | |
DE69831891T2 (de) | Optischer Rechnerbus mit dynamischer Bandbreitenzuordnung | |
DE2717311C3 (de) | Datenprozessor | |
DE1524136A1 (de) | Parallel-Serien- bzw. Serien-Parallelwandler | |
DE4206286A1 (de) | Speicherzugriffssystem | |
DE3725821C2 (de) | ||
DE3930313C2 (de) | ||
DE10356851A1 (de) | Schieberegister zum sicheren Bereitstellen eines Konfigurationsbits | |
DE3543471C1 (de) | In integrierter Technik hergestellter Baustein zur Erstellung integrierter Schaltungen | |
DE19581595C2 (de) | Signalübertragungsvorrichtung mit mehreren LSIs | |
DE10058227B4 (de) | Halbleiterspeicherbauelement, Durchlass-/Zwischenspeichereinheit hierfür und zugehöriges Datenübertragungsverfahren | |
DE3214230A1 (de) | Speicheranordnung mit mehrfach-zugriffsleitungen | |
DE2121490A1 (de) | Orthogonaler Datenspeicher | |
DE19818430B4 (de) | Bidirektionelle Datenein/Ausgabeschaltung eines Synchronspeicherelements und Verfahren zum Steuern derselben | |
DE69133424T2 (de) | Hochgeschwindigkeitsmultiplexschaltung zur Multiplexierung von Signalen mit hoher Geschwindigkeit | |
DE60320057T2 (de) | System und Verfahren zur Schaltungsprüfung | |
DE3422287A1 (de) | Pruefanordnung fuer digitalschaltungen |
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 |