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
Application number
DE3435741A
Other languages
English (en)
Other versions
DE3435741A1 (de
Inventor
Shinjiro Kamakura Kanagawa Jp Toyoda
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Publication of DE3435741A1 publication Critical patent/DE3435741A1/de
Application granted granted Critical
Publication of DE3435741C2 publication Critical patent/DE3435741C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)
  • 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.
DE19843435741 1983-09-30 1984-09-28 Datenprozessor Granted DE3435741A1 (de)

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)

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

* Cited by examiner, † Cited by third party
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 マイクロプロセツサ

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