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
Application number
DE3827500A
Other languages
English (en)
Other versions
DE3827500A1 (de
Inventor
Masamori Kashiyama
Hitoshi Hadano Jp Abe
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
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Publication of DE3827500A1 publication Critical patent/DE3827500A1/de
Application granted granted Critical
Publication of DE3827500C2 publication Critical patent/DE3827500C2/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

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.
Vektorregister
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.
(1) Takt
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.
(2) Pitch-Steuerschaltung 127
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.
(3) WA-Zähler 121
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.
(4) RA-Zähler 122
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.
(5) Selektor 123
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.
(6) Selektor 124
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.
(7) Schreibdaten
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.
(8) WE-Steuerschaltkreis
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.
(9) Lesedaten
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.
(10) Register-RAM
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.
VR-Modul
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.
DE3827500A 1987-08-14 1988-08-12 Vektorprozessor Granted DE3827500A1 (de)

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)

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

* Cited by examiner, † Cited by third party
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 ベクトル処理装置

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