DE3435741C2 - - Google Patents
Info
- Publication number
- DE3435741C2 DE3435741C2 DE3435741A DE3435741A DE3435741C2 DE 3435741 C2 DE3435741 C2 DE 3435741C2 DE 3435741 A DE3435741 A DE 3435741A DE 3435741 A DE3435741 A DE 3435741A DE 3435741 C2 DE3435741 C2 DE 3435741C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- accumulator register
- data bus
- cont
- input
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Description
Die Erfindung betrifft eine Datenprozessor
nach dem
Oberbegriff des Patentanspruches 1.
In der Computertechnik wurden in letzter Zeit bedeut
same Fortschritte gemacht. Die Datenverarbeitungs
geschwindigkeit der einzelnen Computersysteme hängt
stark von dem Datenprozessor ab, der als ein zentrales Teil
dieser Systeme arbeitet, und ein Hochgeschwindig
keits-Datenprozessor wird gerade von zahlreichen Com
puterfirmen entwickelt.
Beispielsweise gibt es einen Vektorprozessor (vgl. auch US-PS 42 55 785), der der
bekannte Hochgeschwindigkeits-Datenprozessor ist.
Dieser Vektorprozessor hat eine Befehls-Abrufschal
tung, ein Befehlsregister, eine Ausführungssteuer
schaltung und eine Ausführungsschaltung. Diese Schal
tungen führen gleichzeitig Operationen durch, die
benötigt werden, um eine Vielzahl von in einem Spei
cher aufgezeichneten Befehlen auszuführen. Das heißt, in
dem Vektorprozessor werden die Befehle durch die Be
fehlsabrufschaltung in einen ersten Maschinen- oder
Operationszyklus abgerufen und dann in dem Befehls
register in einem zweiten Maschinenzyklus gespeichert.
Die Ausführungssteuerschaltung dekodiert einen OP-Kode
(Operationskode) des Befehls in dem Befehlsregister
und steuert die Operation der Ausführungsschaltung,
die beispielsweise ein Akkumulatorregister, Daten
busse, ein Rechen- und Steuerwerk (ALU) und Transfer
gatter enthält, abhängig von dem OP-Kode. Dagegen
empfängt die Befehlsabrufschaltung ein Signal, das
jeweils die Abrufzeiten einer Vielzahl von Befehlen
von der Ausführungssteuerschaltung steuert. Wenn so
beispielsweise der erste Befehl aus dem Speicher vor
dem zweiten Befehl abgerufen wird, dann wird der
zweite Befehl aus dem Speicher in dem Maschinenzyklus
abgerufen, bevor die Ausführung des ersten Befehles
abgeschlossen ist. Das heißt, die Ausführung des zweiten
Befehles kann von dem Maschinenzyklus unmittelbar
nach Ausführung des ersten Befehles begonnen werden.
Der oben beschriebene Vektorprozessor führt den Be
fehl aus, um die Inhalte eines Akkumu
latorregisters einer Rechen- oder Logikoperation
(beispielsweise Addition, Subtraktion, ODER-Operation,
UND-Operation) in einem Rechen- und Steuerwerk zu unter
werfen und die verarbeiteten Daten in dem Akkumula
torregister in einer unten näher erläuterten Weise zu
speichern.
Die Fig. 1A bis 1E zeigen jeweils erste und zweite
Taktsignale und erste bis dritte Steuersignale zum
jeweiligen Steuern der Leitung des ersten bis dritten
Schalterkreises, von denen jeder eine Vielzahl von
Transfer- oder Übertragungsgattern enthält. Die
ersten bis dritten Steuersignale werden von dem Aus
führungssteuerkreis synchron mit dem ersten und
zweiten Taktsignal erzeugt. Daten im Akkumulator
register werden in ein Rechen- und Steuerwerk über
den ersten Schaltkreis und den ersten Datenbus
während der Zeit von T 1 bis T 4 eingespeist. Das
Datenausgangssignal von dem Rechen- und Steuerwerk
wird durch eine Zwischenverriegelung (bzw. -speiche
rung) während der Zeit von T 4 bis T 5 gehalten und von
der Zwischenverriegelung an den zweiten Datenbus über
den zweiten Schalterkreis während der Zeit von T 5 bis
T 8 abgegeben. Die Daten auf dem zweiten Datenbus
werden zum Akkumulatorregister während der Zeit von
T 6 bis T 7 gespeist. Hier verarbeitet das Rechen- und
Steuerwerk das Dateneingangssignal während der Zeit
von T 2 bis T 3 und gibt die verarbeiteten Daten bis
zur Zeit T 6 ab. Weiterhin werden der erste und der
zweite Datenbus so oft vorgeladen, wie das in Fig. 1B
gezeigte zweite Taktsignal einen hohen Pegel annimmt.
Die Zeitdauer von einer Vorderflanke bis zur nächsten
Vorderflanke des in Fig. 1A gezeigten ersten Takt
signales entspricht einem Maschinenzyklus.
Das heißt, vier aufeinanderfolgende Maschinenzyklen sind
erforderlich, um einen Befehl, wie beispielsweise einen Inkrementbefehl, zum Verarbeiten der Daten
von dem Akkumulatorregister im Rechen- und Steuerwerk
auszuführen und den Inhalt des Akkumulatorregisters
fortzu
schreiben.
Die Fig. 2A zeigt mehrere Maschinenzyklen eines Vektor
prozessors, und die Fig. 2B bis 2E zeigen jeweils die
Perioden einer Abrufoperation zur Ausführung einer
Vielzahl von Inkrementbefehlen INC 1, INC 2, . . ., einer
Dekodieroperation, einer Datenverarbeitungsoperation
und einer Fortschreibeoperation der Inhalte im Akku
mulatorregister.
Der Befehl INC 1 wird in einem Maschinenzyklus 1 ab
gerufen und in einem Maschinenzyklus 2 dekodiert. Der
Inhalt (A) des Akkumulatorregisters wird auf den Wert (A)
+ 1 entsprechend dem Befehl INC 1 in einem Maschinen
zyklus 3 eingestellt, und das Akkumulatorregister
speichert die verarbeiteten Daten (A) + 1 in einem
Maschinenzyklus 4. Dagegen wird der Befehl INC 2 in
dem Maschinenzyklus 3 abgerufen und in dem Maschinen
zyklus 4 dekodiert. Der Inhalt (A) + 1 des fortgeschrie
benen Akkumulatorregisters wird zu 1 ent
sprechend dem Befehl INC 2 in einem Maschinenzyklus 5
addiert, und das Akkumulatorregister speichert
die verarbeiteten Daten (A) + 2 in einem Maschinenzyklus
6. Der Befehl INC 3 wird in dem Maschinenzyklus 5 ab
gerufen und in dem Maschinenzyklus 6 dekodiert.
(Befehle INC 3, INC 4, . . . werden später in der gleichen
Weise verarbeitet, wie dies oben erläutert wurde.)
In dem herkömmlichen Vektorprozessor sind die schraf
fierten Teile in Fig. 2B bis 2E leere Perioden, in
denen keine Operation durchgeführt wird. Wenn der
Befehl INC 2 in dem Maschinenzyklus 2 abgerufen wird,
kann die leere Periode ausgelassen werden. Wenn in
diesem Fall die verarbeiteten Daten (A) + 1, die durch
die Ausführung des Befehls INC 1 erzeugt wurden,
zuerst in dem Akkumulatorregister in dem Maschinen
zyklus 4 gespeichert werden, sollten die Daten (A) + 1
dann von dem Akkumulatorregister in das Rechen- und
Steuerwerk eingegeben werden, um den Befehl INC 2 in
dem gleichen Maschinenzyklus 4 auszuführen. Das erste
Steuersignal ist auf einem hohen Pegel während der
Zeit von T 5 bis T 8, wie dies durch die Strichlinie in
Fig. 1C gezeigt ist.
Wenn der Ladezustand des ersten Datenbusses während
der Zeit von T 5 bis T 8 beobachtet wird, ist das Verladen des ersten
Datenbusses vor der Zeit T 5 abgeschlossen.
Der erste Schalterkreis zwischen dem ersten Datenbus
und dem Akkumulatorregister wird leitend nach dem
Anstieg des ersten Steuersignales zur Zeit T 5, um die
Daten in dem Akkumulatorregister zu dem ersten Daten
bus zu übertragen. Das heißt, der erste Datenbus wird ab
der Zeit T 5 entsprechend den Inhalten des Akkumulator
registers entladen. Jedoch hält das Akkumulatorre
gister noch die Daten (A) zu dieser Zeit, und die
verarbeiteten Daten (A) + 1 werden nicht im Akkumula
torregister bis zur Zeit T 6 gespeichert. Daher wird
das Vorladen des ersten Datenbusses ungültig durch
die Daten (A) vor der Zeit T 6 für das Rechen- und
Steuerwerk, um die Daten (A) + 1 zu empfangen, und der
Prozessor arbeitet als Ergebnis fehlerhaft.
Es ist Aufgabe der vorliegenden Erfindung, einen
Datenprozessor zu schaffen, der zuverlässig mit hoher
Geschwindigkeit zu arbeiten vermag.
Diese Aufgabe wird bei einem Datenprozessor nach dem
Oberbegriff des Patentanspruches 1 erfindungsgemäß
durch die in dessen kennzeichnenden Teil enthaltenen
Merkmale gelöst.
Vorteilhafte Weiterbildungen der Erfindung ergeben
sich insbesondere aus den Patentansprüchen 2 bis 7.
Es kann eine Vielzahl von Befehlen wirksam abge
rufen werden, und das Intervall vor und nach der Aus
führung der jeweiligen Befehle kann verkürzt werden.
Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung
näher erläutert. Es zeigen
Fig. 1A bis 1E Zeitdiagramme der ersten und zweiten
Taktsignale und der ersten bis dritten Steuer
signale, die in eine Ausführungsschaltung
eines herkömmlichen Vektorprozessors einge
speist sind,
Fig. 2A einen Maschinenzyklus des in Fig. 1 darge
stellten Vektorprozessors,
Fig. 2B bis 3E die Perioden von Befehlsabrufopera
tionen, die Perioden von Befehlsdekodierope
rationen, die Perioden von Datenverarbei
tungsoperationen bzw. die Perioden von Fort
schreiboperationen eines Akkumulatorregi
sters, wobei alle diese Operationen für die
Ausführung der Vektorverarbeitung ausgebildet
sind,
Fig. 3 ein Schaltbild eines Vektorprozessors nach
einem Ausführungsbeispiel der Erfindung,
Fig. 4A bis 4G jeweils Zeitdiagramme der ersten und
zweiten Taktsignale, der ersten bis vierten
Steuersignale und logischer Summensignale der
dritten und vierten Steuersignale, die in die
Ausführungsschaltung des in Fig. 3 darge
stellten Vektorprozessors eingespeist sind,
Fig. 5A einen Maschinenzyklus des in Fig. 3 darge
stellten Vektorprozessors und
Fig. 5B bis 5E die Perioden von Befehlsabrufopera
tionen, die Perioden von Befehlsdekodier
operationen, die Perioden von Datenverarbei
tungsoperationen und die Perioden von Fort
schreiboperationen eines Akkumulatorregi
sters, wobei alle diese Operationen für die
Ausführung der Vektorverarbeitung in dem in
Fig. 3 dargestellten Vektorprozessor ausge
bildet sind.
Ein Ausführungsbeispiel der Erfindung wird im folgen
den für einen Vektorprozessor anhand der Zeichnung
näher erläutert. Dieser Vektorprozessor hat einen
Speicher 30, der eine Vielzahl von Befehlen speichert,
und eine Befehlsabrufschaltung 32 zum wahlweisen
Abrufen eines in der im Speicher 30 gespeicherten Befeh
le. Ein Befehl wird vom Speicher 30 an einen Datenbus
DB Φ abgegeben. Ein Taktgenerator 34 ist vorgesehen,
um Taktsignale Φ 1 und Φ 2 zu erzeugen, die die gleiche
Frequenz, jedoch eine unterschiedliche Phasenbeziehung
haben. Das heißt, das Taktsignal Φ 2 steigt nach dem Abfall
des Taktsignales Φ 1 an, und es fällt vor dem nächsten
Anstieg des Taktsignales Φ 1 ab. Der Datenbus DB Φ ist
mit einer Zwischenverriegelung 31 zum Verriegeln der
abgerufenen Befehle abhängig von dem Taktsignal Φ 2
verbunden. Ein Befehlsregister 36 ist an die Zwischen
verriegelung 31 angeschlossen, um den Befehl von der
Verriegelung 31 abhängig von dem Taktsignal Φ 1 zu
halten. Ein Ausgangsanschluß dieses Befehlsregisters
36 ist mit einer Ausführungssteuerschaltung 38 ver
bunden. Diese Ausführungssteuerschaltung 38 hat einen
Dekodierer zum Dekodieren eines OP-Kode des Befehls
im Befehlsregister 36 und Signalgeneratoren zum Er
zeugen von Steuersignalen einer Ausführungsschaltung
abhängig von dem Ausgangssignal des Dekodierers.
Die Ausführungsschaltung des Vektorprozessors umfaßt
ein Akkumulatorregister 40, ein Rechen- und Steuer
werk 42 und Datenbusse DB 1 bis DB 3. Die Datenbusse
DB 1 bis DB 3 sind jeweils über Schalterkreise 44, 46 und
48 mit einem Spannungsquellenanschluß VDD verbunden.
Die Schalterkreise 44, 46 und 48 werden durch das Hoch
pegel-Taktsignal Φ 2 leitend und durch das Nieder
pegel-Taktsignal Φ 2 nicht leitend. Das heißt, die Daten
busse DB 1 bis DB 3 werden zuvor auf ein vorbestimmtes Potential eines hohen Pegels syn
chron mit dem Anstieg des Taktsignales Φ 2 geladen.
Die Ausgangsanschlüsse des Akkumulatorregisters 40
sind über einen Schaltkreis 50 ist mit dem Datenbus DB 2
verbunden. Der Schaltkreis 50 überträgt die Daten
von dem Akkumulatorregister 40 zum Datenbus DB 2 ab
hängig von einem Hochpegel-Steuersignal CONT 1. Ver
riegelungsschaltungen 52, 54 sind jeweils mit den
Datenbussen DB 1, DB 2 verbunden, um die von dort über
tragenen Daten abhängig von dem Taktsignal Φ 1 zu
halten. Ausgangsanschlüsse der Verriegelungsschal
tungen sind jeweils mit einer X-Eingangsklemme und
einer Y-Eingangsklemme des Rechen- und Steuerwerkes
42 verbunden. Das Rechen- und Steuerwerk 42 ist so aus
gelegt, daß es Rechen- und Logikoperationen, wie
beispielsweise eine Addition, eine Subtraktion, eine
UND-Operation und eine ODER-Operation ausführen kann,
und es führt die Operationen aus, die durch die Aus
führungssteuerschaltung 38 gewählt sind. Insbesondere
wird bei der Ausführung des Inkrementbefehles der
Datenwert "1" ebenfalls von der Ausführungssteuer
schaltung 38 zu einem Übertrag-Eingangsanschluß des
Rechen- und Steuerwerkes 42 gespeist. Ein Ausgangs
datenwert, d. h. der verarbeitete Datenwert des Rechen-
und Steuerwerkes 42, wird zu einer Verriegelungs
schaltung 56 gespeist. Die Verriegelungsschaltung 56
hält den Eingangsdatenwert abhängig von dem Taktsi
gnal Φ 2. Ausgangsanschlüsse der Verriegelungsschal
tung 56 sind über einen Schaltkreis 58 mit dem
Datenbus DB 3 verbunden. Der Schaltkreis 58 über
trägt Daten von der Verriegelungsschaltung 56 zu dem
Datenbus DB 3, wenn das Steuersignal CONT 2 auf einem
hohen Pegel ist. Der Datenbus DB 3 ist über einen
Schaltkreis 60 mit den Eingangsanschlüssen des
Akkumulatorregisters 40 verbunden. Der Leitungszu
stand des Schaltkreises 60 wird durch ein ODER-
Gatter 62 gesteuert, das ein Ausgangssignal entspre
chend Steuersignalen CONT 3, CONT 4 erzeugt, die von
der Ausführungssteuerschaltung 38 eingespeist sind.
Das heißt, der Schaltkreis 60 überträgt Daten auf dem
Datenbus DB 3 zum Akkumulatorregister 40, wenn ein
Hochpegel-Ausgangssignal vom ODER-Gatter 62 empfangen
wird. Steuersignale CONT 1 bis CONT 3 sind ähnlich zu
den herkömmlichen Signalen, die einzeln von den Aus
führungssteuerschaltungen erzeugt wird, wenn Daten
notwendigerweise über die Schaltkreise 50, 58 und 60
synchron mit den Taktsignalen Φ 1, Φ 2 übertragen wer
den. Beispielweise wird bei der Ausführung des Be
fehles zum Unterwerfen der im Akkumulatorregister 40
gespeicherten Daten unter eine Rechen-Logik-Operation
im Rechen- und Steuerwerk 42 oder zum Fortschreiten
der Daten im Akkumulatorregister 40 mit den Ausgangs
daten des Rechen- und Steuerwerkes 42 das Steuer
signal CONT 1 auf einen hohen Pegel von Rückflanke des
ersten Impulses des Taktsignales Φ 2 bis zur Vorder
flanke des zweiten Impulses im Anschluß an den
ersten Impuls gebracht. Der erste Impuls des Takt
signales Φ 2 wird unmittelbar nach dem Dekodieren des
Befehles erzeugt. Das Steuersignal CONT 2 wird auf
einen hohen Pegel von der Rückflanke des zweiten Im
pulses des Taktsignales Φ 2 bis zur Vorderflanke des
dritten Impulses im Anschluß an den zweiten Impuls
gebracht. Das Steuersignal CONT 3 ist auf einen hohen
Pegel von der Vorderflanke bis zur Rückflanke des
Anfangsimpulses des Taktsignales Φ 1 gebracht, wobei
der Anfangsimpuls nach dem Abfall des zweiten Impulses
des Taktsignales Φ 2 erzeugt wird.
Die Ausführungssteuerschatung 38 hat zusätzlich zu
den ersten bis dritten Signalgeneratoren zum Erzeugen
der oben beschriebenen Steuersignale CONT 1 bis CONT 3
einen vierten Signalgenerator zum Erzeugen eines
Steuersignales CONT 4. Dieses Steuersignal CONT 4 ist
auf einen hohen Pegel von der Vorderflanke des zwei
ten Impulses des Taktsignales Φ 2 bis zur Vorderflanke
des Anfangsimpulses des Taktsignales Φ 1 nach dem
Anstieg des zweiten Impulses gebracht. Somit kann das
Steuersignal CONT 4 den logischen Wert "1" von allen
Datenbits des Akkumulatorregisters 40 während der
Vorladeperiode des Datenbusses DB 3 einstellen.
Eine Operation zum Ausführen beispielsweise eines
Inkrementbefehles durch den Vektorprozessor wird im
folgenden anhand der Fig. 4A bis 4G erläutert. Die
Fig. 4A bis 4G zeigen jeweils Taktsignale Φ 1, Φ 2;
Steuersignale CONT 1 bis CONT 4, die synchron mit den
Taktsignalen Φ 1 und Φ 2 erzeugt sind, um die Leitung
der Schaltkreise 50, 58, 60 zu steuern, und ein
logisches Summensignal von den Steuersignalen CONT 3,
CONT 4. Wenn ein Adreßsignal zum Bezeichnen einer
Stelle in dem den Inkrementbefehl speichernden Speicher
30 von der Befehlsabrufschaltung 32 an den Speicher
30 zur Zeit T 0 abgegeben wird, dann wird der Inkre
mentbefehl von dem Speicher 30 zum Datenbus DB Φ ge
speist. Die Zwischenverriegelung 31 verriegelt den
Inkrementbefehl abhängig von dem anfänglichen Anstieg
des zweiten Taktsignales nach der Zeit T 0. Das Be
fehlsregister 36 speichert den Inkrementbefehl von
der Verriegelung 31 zur Zeit T 1. Die Ausführungs
steuerschaltung 38 erzeugt ein Steuersignal CONT 1
eines hohen Pegels, wie dies in Fig. 4C gezeigt ist,
von der Zeit T 3 bis zur Zeit T 6 abhängig von dem
Inkrementbefehl in dem Befehlsregister 36. Hier sind
die Datenbusse DB 1 bis DB 3 durch Schaltkreise 44,
46 und 48 während der Zeitdauer zwischen den Zeitpunkten
T 2 und T 3 vorgeladen, wobei das Taktsignal Φ 2 einen
hohen Pegel annimmt. Der Schaltkreis 50 wird lei
tend abhängig von dem Steuersignal CONT 1 mit einem
hohen Pegel. Dann werden die Inhalte (A) des Akku
mulatorregisters 40 auf den Datenbus DB 2 über den
Schaltkreis 50 übertragen. Wenn das in Fig. 4A
gezeigte Taktsignal Φ 1 zur Zeit T 4 ansteigt, verrie
gelt die Verriegelungsschaltung 54 den Datenwert (A)
auf dem Datenbus DB 2 und speist den Datenwert zur
X-Eingangsklemme des Rechen- und Steuerwerkes 42.
Hier wird eine Addition durch die Ausführungssteuer
schaltung 38 für das Rechen- und Steuerwerk 42 befoh
len, und der Datenwert "1" wird zum Übertrag-Ein
gangsanschluß des Rechen- und Steuerwerkes 42 ge
setzt. Daten "00 . . . 0" werden über die Verriegelungs
schaltung 52 zur Y-Eingangsklemme des Rechen- und
Steuerwerkes 42 eingegeben. Die Verriegelungsschal
tung 56 hält die Ausgangsdaten (A) + 1 (d. h. die ver
arbeiteten Daten) von dem Rechen- und Steuerwerk 42
abhängig von dem Taktsignal Φ 2 zur Zeit T 6. Die Aus
führungssteuerschaltung 38 setzt jeweils das Steuer
signal CONT 4 für die Zeitdauer von dem Zeitpunkt T 6
bis zum Zeitpunkt T 8 auf einen hohen Pegel, wie dies
in Fig. 4F gezeigt ist, und das Steuersignal CONT 3
für die Zeitdauer vom Zeitpunkt T 8 bis zum Zeitpunkt
T 9 auf einen hohen Pegel, wie dies in Fig. 4E gezeigt
ist. Ein ODER-Gatter 62 speist das logische Summen
signal, das in Fig. 4G dargestellt ist, als ein
Steuersignal entsprechend der Kombination der Steuer
signale CONT 4 und CONT 3 zu einem Schaltkreis 60 und
macht den Schaltkreis 60 für die Zeitdauer vom
Zeitpunkt T 6 bis zum Zeitpunkt T 9 leitend.
Somit werden Daten eines Vorladewertes in das Akku
mulatorregister 40 über den Schaltkreis 60 während
einer Zeitdauer vom Zeitpunkt T 6 bis zum Zeitpunkt T 7
eingegeben, in welcher die Datenbusse DB 1 bis DB 3
vorgeladen werden. Das heißt, jeder der Datenbits im Akkumu
latorregister wird auf einen Zustand entsprechend dem logischen Wer "1"
gesetzt. Die Ausführungssteuerschaltung
38 speist ein Steuersignal CONT 2 eines hohen Pegels
zum Schaltkreis 58, um den Schaltkreis ab dem
Zeitpunkt T 7 leitend zu machen. Das Vorladen der
Datenbusse DB 1 bis DB 3 ist wieder zur Zeit T 7 abgeschlossen.
Dann werden Daten in der Verriegelungsschaltung 56 im
Akkumulatorregister 40 über den Schaltkreis 58, den
Datenbus DB 3 und den Schaltkreis 60 gespeichert.
Fig. 5A zeigt die Maschinenzyklen dieses Vektorpro
zessors. Der Maschinenzyklus entspricht einer Zeit
dauer beginnend mit dem Anstieg eines Taktsignales Φ 1
bis zum nächsten Anstieg dieses Taktsignales. Die Fig. 5B bis 5E zeigen
die Perioden der Befehlsabrufoperationen, die Perioden
der Befehlsdekodieroperationen, die Periode der
Datenverarbeitungsoperationen und die Perioden der
Fortschreiboperationen eines Akkumulatorregisters.
Der Befehl INC 1 wird im Maschinenzyklus 1 abgerufen
und im Maschinenzyklus 2 dekodiert. Der Inhalt (A)
des Akkumulatorregisters 40 wird (um +1) im Maschinen
zyklus 3 addiert, und der verarbeitete Datenwert
(A) + 1 wird im Akkumulatorregister 40 im Maschinen
zyklus 4 gespeichert. Dagegen wird der Befehl INC 2 im
Maschinenzyklus 2 abgerufen und im Maschinenzyklus 3
dekodiert. Der Inhalt (A) + 1 des fortgeschriebenen
Akkumulatorregisters 40 wird (um +1) im Maschinenzyklus 4
inkrementiert, und der verarbeitete Datenwert (A) + 2 wird im
Akkumulatorregister 40 im Maschinenzyklus 5 gespei
chert. Hier werden jeweils (vgl. die Fig. 4A bis 4G)
die Befehle INC 1, INC 2 von dem Speicher 30 in Zeit
punkten T 0, T 1 in einem Maschinenzyklus abgegeben. In
diesem Fall setzt die Ausführungssteuerschaltung 38
das Steuersignal CONT 1 auf einen hohen Pegel vom Zeit
punkt T 7 bis zum Zeitpunkt T 10, um den Befehl INC 2
auszuführen, wie dies durch die Strichlinie in Fig. 4C
angedeutet ist. Somit überträgt der Schaltkreis 50
die Daten im Akkumulatorregister 40 zum Datenbus DB 2
ab dem Zeitpunkt T 7. Da bisher beim Stand der Technik
die verarbeiteten Daten (A) + 1 des Befehles INC 1 nicht
in das Akkumulatorregister 40 zu dieser Zeit gesetzt
werden, werden die Daten (A) vor der Ausführung des
Befehles INC 1 zum Datenbus DB 2 übertragen.
Entsprechend dem oben beschriebenen Vektorprozessor
werden alle Datenbits des Akkumulatorregisters 40 auf
den gleichen Vorladepegel (logischer Wert "1") ge
setzt, da die Datenbusse DB 1 bis DB 3 während einer
Vorladeperiode der Datenbusse DB 1 bis DB 3 bei der
Ausführung des Befehls die Verarbeitung von Daten im
Akkumulatorregister durch das Rechen- und Steuerwerk
42 und die Speicherung der Ausgangsdaten des Rechen- und
Steuerwerkes 42 im Akkumulatorregister 40 befehlen.
Daher wird das Vorladen des Datenbusses DB 1 nicht
durch unnötige, im Akkumulatorregister 40 zurück
bleibende Daten gelöscht, nachdem der Schaltkreis
50 leitend gemacht ist. Wenn somit die Operation zum
Speichern der Ausgangsdaten des Rechen-und Steuer
werkes im Akkumulatorregister 40 in einem Maschinen
zyklus unter dem ersten Befehl bewirkt wird, kann die
Operation zum Einspeisen der Daten im Akkumulator
register 40 in das Rechen- und Steuerwerk 42 im
gleichen Maschinenzyklus unter dem zweiten Befehl
durchgeführt werden.
Das heißt, der Verktorprozessor kann die oben beschriebenen
Befehle in einer kurzen Zeit ausführen.
Beim oben beschriebenen Ausführungsbeispiel wird der
Leitungszustand des Schaltkreises 60 durch das Aus
gangssignal des ODER-Gatters 62 gesteuert, in das die
Steuersignale CONT 3, CONT 4 eingespeist wurden. Jedoch
können ähnliche Vorteile ebenfalls erreicht werden,
selbst wenn das Ausführungsbeispiel in der folgenden
Weise abgewandelt wird. Das oben beschriebene Akku
mulatorregister 40 kann durch ein Akkumulatorregister
ersetzt werden, das alle Datenbits auf eine logischen
Wert "1" durch ein externes Signal vorsetzen kann. In
diesem Fall wird das Akkumulatorregister gesteuert,
um die Datenbits durch ein Steuersignal CONT 4 vorzu
setzen bzw. voreinzustellen, und der Leitungszustand
des Schaltkreises 60 wird lediglich durch das
Steuersignal CONT 3 gesteuert.
Entsprechend der oben beschriebenen Erfindung kann
eine Operation zum Speichern der Ausgangsdaten einer
Verarbeitungsschaltung gemäß dem ersten Befehl
und eine Operation zum Verarbeiten von Daten im Re
gister durch die Verarbeitungsschaltung gemäß
dem zweiten Befehl innerhalb des gleichen Maschinen
zyklus abgeschlossen werden.
Auf diese Weise kann eine Vielzahl von Befehlen wirk
sam abgerufen werden, und das Intervall vor und nach
der Ausführung der jeweiligen Befehle kann verkürzt
werden.
Claims (7)
1. Datenprozessor, mit
- - einer Verarbeitungseinrichtung (42, 54, 56, 58) mit einem Eingangsanschluß und einem Ausgangsanschluß zum periodischen Durchführen von Rechen-Logik-Operationen,
- - einem ersten Datenbus (DB 2), der mit dem Eingangsan schluß der Verarbeitungseinrichtung (42, 54, 56, 58) verbunden ist,
- - einer ersten Vorladeeinrichtung (46) zum Setzen des ersten Datenbusses (DB 2) auf einen vorbestimmten Span nungspegel vor Abschluß der Rechen-Logik-Operation der Verarbeitungseinrichtung (42, 54, 56, 58),
- - einer einen Eingangsanschluß und einen Ausgangsan schluß aufweisenden Akkumulatorregistereinrichtung (40) zum Speichern von für die Durchführung von einer zugeordneten Rechen-Logik-Operation notwendigen Da ten,
- - einer ersten Übertragungseinrichtung (50) zum Über tragen der Eingangsdaten von dem Ausgangsanschluß der Akkumulatorregistereinrichtung (40) über den ersten Datenbus (DB 2) zum Eingangsanschluß der Verarbeitungseinrich tung (42, 54, 56, 58), nachdem der erste Datenbus (DB 2) auf den vorbestimmten Spannungspegel gesetzt ist und bevor die Verarbeitungseinrichtung (42, 54, 56, 58) die Rechen-Logik-Operation durchführt, die dem Inhalt der Akkumulatorregistereinrichtung (40) zugeordnet ist, der zum Eingangsanschluß durch die erste Übertragungseinrichtung (50) übertragen ist, und
- - einer zweiten Übertragungseinrichtung (60, DB 3) zum Übertragen der Ausgangsdaten von der Verarbeitungs einrichtung (42, 54, 56, 58) zum Eingangsanschluß der Akkumulatorregistereinrichtung (40),
gekennzeichnet durch
- - eine Steuereinrichtung (38, 62), die die Eingangs daten in der Akkumulatorregistereinrichtung (40) löscht, indem sie die Akkumulatorregistereinrichtung (40) auf den vorbestimmten Spannungspegel setzt, nachdem die Verarbeitungseinrichtung (42, 54, 56, 58) die Eingangsdaten empfängt und bevor die zweite Über tragungseinrichtung (60, DB 3) die Übertragung der Ausgangsdaten zur Akkumulatorregistereinrichtung (40) als neue Eingangsdaten beginnt.
2. Datenprozessor nach Anspruch 1, dadurch gekennzeichnet,
daß die zweite Übertragungseinrichtung (60, DB 3) einen
zweiten Datenbus (DB 3) aufweist, der mit dem Ausgangs
anschluß der Verarbeitungseinrichtung (42, 54, 56, 58)
verbunden ist, und daß die Verarbeitungseinrichtung (42,
54, 56, 58) eine zweite Vorladeeinrichtung (48) hat,
um den zweiten Datenbus (DB 3) auf den vorbestimmten Span
nungspegel in im wesentlichen der gleichen Zeitsteue
rung zu setzen, wie die erste Vorladeeinrichtung (46)
den ersten Datenbus (DB 2) auf den vorbestimmten Span
nungspegel setzt.
3. Datenprozessor nach Anspruch 2, dadurch gekennzeichnet,
daß die Steuereinrichtung (38, 62) einen Signalgenerator hat,
der ein erstes Steuersignal (CONT 4) während einer Vor
ladeperiode erzeugt, die unmittelbar nach Empfang der
Eingangsdaten durch die Verarbeitungseinrichtung (42,
54, 56, 58) beginnt und einer Zeit entspricht, in wel
cher die erste und die zweite Vorladeeinrichtung (46,
48) den ersten bzw. zweiten Datenbus (DB 2, DB 3) auf den
vorbestimmten Spannungspegel setzen, und daß die zweite
Übertragungseinrichtung (60, DB 3) einen Schaltkreis (60) auf
weist, der zwischen dem zweiten Datenbus (DB 3) und dem
Eingangsanschluß der Akkumulatorregistereinrichtung (40)
liegt, um eine Übertragung von Daten durch den zweiten
Datenbus (DB 3) zum Eingangsanschluß der Akkumulator
registereinrichtung (40) abhängig vom ersten Steuer
signal (CONT 4) zu ermöglichen.
4. Datenprozessor nach Anspruch 3, dadurch gekennzeichnet,
daß die zweite Übertragungseinrichtung (60, DB 3) einen
zweiten Signalgenerator zum Erzeugen eines zweiten Steuer
signals (CONT 3) aufweist, und daß die Steuereinrichtung
ein ODER-Gatter (62) hat, um das erste und das zweite
Steuersignal (CONT 3, CONT 4) in den Schaltkreis (60)
einzuspeisen.
5. Datenprozessor nach Anspruch 2, dadurch gekennzeichnet,
daß die Steuereinrichtung (38, 62) einen Signalgenerator hat,
der ein Steuersignal (CONT 4) während einer Vorlade
periode erzeugt, die unmittelbar nach Empfang der Ein
gangsdaten durch die Verarbeitungseinrichtung (42, 54,
56, 58) beginnt und der Zeit entspricht, in der die
erste und die zweite Vorladeeinrichtung (46, 48) den
ersten bzw. zweiten Datenbus (DB 2, DB 3) auf den vorbestimmten
Spannungspegel setzen, und daß die Akkumulatorregister
einrichtung (40) ein Register hat, das einen Voreinstell
anschluß zum Empfang des Steuersignals (CONT 4) aufweist,
um das Register in einen vorgeladenen Zustand ent
sprechend dem vorbestimmten Spannungspegel zu setzen.
6. Datenprozessor nach Anspruch 1, gekennzeichnet durch
eine Speichereinrichtung (30) zum Speichern mehrerer
Befehle an entsprechend adressierbaren Speicherplätzen,
eine Adressiereinrichtung (37) zum Erzeugen eines Adreß
signals, das einen ausgewählten Speicherplatz der
Speicherplätze der Speichereinrichtung (30) bezeichnet,
um einen Befehl auszulesen, eine Befehlsregisterein
richtung (36) zum Speichern des aus der Speicherein
richtung (30) ausgelesenen Befehles und eine Ausfüh
rungssteuerschaltung zum Steuern der Verarbeitungsein
richtung (42, 54, 56, 58) und der ersten und zweiten
Übertragungseinrichtung (50; 60, DB 3) entsprechend dem
in der Befehlsregistereinrichtung (36) gespeicherten Befehl.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58182604A JPS6074034A (ja) | 1983-09-30 | 1983-09-30 | パイプライン制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE3435741A1 DE3435741A1 (de) | 1985-04-18 |
| DE3435741C2 true DE3435741C2 (de) | 1989-02-16 |
Family
ID=16121188
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE19843435741 Granted DE3435741A1 (de) | 1983-09-30 | 1984-09-28 | Datenprozessor |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US4780807A (de) |
| JP (1) | JPS6074034A (de) |
| DE (1) | DE3435741A1 (de) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0823821B2 (ja) * | 1988-04-21 | 1996-03-06 | 松下電器産業株式会社 | マイクロコンピュータ |
| JPH02140700U (de) * | 1989-04-20 | 1990-11-26 | ||
| JP2616017B2 (ja) * | 1989-06-19 | 1997-06-04 | 日本電気株式会社 | ダイナミック演算装置 |
| KR0180578B1 (ko) * | 1994-06-07 | 1999-05-15 | 모리시다 요이치 | 데이터처리장치 |
| US6733513B2 (en) | 1999-11-04 | 2004-05-11 | Advanced Bioprosthetic Surfaces, Ltd. | Balloon catheter having metal balloon and method of making same |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA1027249A (en) * | 1973-12-26 | 1978-02-28 | Richard A. Garlic | Microprocessor with parallel operation |
| US4030079A (en) * | 1974-10-30 | 1977-06-14 | Motorola, Inc. | Processor including incrementor and program register structure |
| US4144589A (en) * | 1977-07-08 | 1979-03-13 | Xerox Corporation | Precharged data line driver |
| US4255785A (en) * | 1978-09-25 | 1981-03-10 | Motorola, Inc. | Microprocessor having instruction fetch and execution overlap |
| US4218750A (en) * | 1978-09-25 | 1980-08-19 | Motorola, Inc. | Incrementer with common precharge enable and carry-in signal |
| US4253147A (en) * | 1979-04-09 | 1981-02-24 | Rockwell International Corporation | Memory unit with pipelined cycle of operations |
| US4300195A (en) * | 1979-08-09 | 1981-11-10 | Motorola, Inc. | CMOS Microprocessor architecture |
| US4399507A (en) * | 1981-06-30 | 1983-08-16 | Ibm Corporation | Instruction address stack in the data memory of an instruction-pipelined processor |
| JPS58186827A (ja) * | 1982-04-23 | 1983-10-31 | Oki Electric Ind Co Ltd | マイクロプロセツサ |
-
1983
- 1983-09-30 JP JP58182604A patent/JPS6074034A/ja active Granted
-
1984
- 1984-09-28 DE DE19843435741 patent/DE3435741A1/de active Granted
-
1987
- 1987-08-11 US US07/085,244 patent/US4780807A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0210454B2 (de) | 1990-03-08 |
| JPS6074034A (ja) | 1985-04-26 |
| US4780807A (en) | 1988-10-25 |
| DE3435741A1 (de) | 1985-04-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE1915818C3 (de) | Steuerschaltung für ein elektronisches Datenverarbeitungssystem | |
| DE2744531C2 (de) | Anordnung zur Auswahl von Unterbrechnungsprogrammen in einer Datenverarbeitungsanlage | |
| DE2357003C2 (de) | Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage | |
| DE2322674C3 (de) | Mikroprogramm-Steuereinrichtung | |
| DE2234867C2 (de) | Anordnung in einer Datenverarbeitungsanlage zum Steuern der Verarbeitung zweier voneinander unabhängiger Befehlsfolgen | |
| DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
| EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
| DE2702090B2 (de) | Datenverarbeitungssystem mit einem zentralen Prozessor | |
| DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
| DE1815078A1 (de) | Mikro-programmierte Datenverarbeitungseinrichtung | |
| DE2755616A1 (de) | Asymmetrischer multiprozessor | |
| DE3687893T2 (de) | Steuersystem fuer programmsprungoperation. | |
| DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
| EP0134831B1 (de) | Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung | |
| DE2755611A1 (de) | Steuereinheit fuer datenverarbeitungsanlagen | |
| DE3447530C2 (de) | ||
| DE3435741C2 (de) | ||
| DE1953364A1 (de) | Wahlausfuehrungsschaltung fuer programmgesteuerte Datenverarbeiter | |
| DE2245284A1 (de) | Datenverarbeitungsanlage | |
| DE2847479C2 (de) | Einrichtung zur sequentiellen Abgabe von Mikrobefehlen an eine mikroprogrammierbare Pipeline-Datenverarbeitungseinrichtung | |
| DE1499224C3 (de) | Datenverarbeitungsanlage mit Kellerspeichereinrichtungen | |
| DE2545751C2 (de) | Ablaufsteuerung für eine Datenverarbeitungsanlage | |
| DE2702722A1 (de) | Instruktionsinterpretation in elektronischen datenverarbeitungsanlagen | |
| DE2759120A1 (de) | Prozessor fuer datenverarbeitungssysteme | |
| DE2106731A1 (de) | Diagnoseeinrichtung fur elektronische Datenverarbeitungsanlagen |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| 8125 | Change of the main classification |
Ipc: G06F 13/00 |
|
| 8125 | Change of the main classification |
Ipc: G06F 9/38 |
|
| 8128 | New person/name/address of the agent |
Representative=s name: HENKEL, G., DR.PHIL. FEILER, L., DR.RER.NAT. HAENZ |
|
| D2 | Grant after examination | ||
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |