DE3307194A1 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
DE3307194A1
DE3307194A1 DE19833307194 DE3307194A DE3307194A1 DE 3307194 A1 DE3307194 A1 DE 3307194A1 DE 19833307194 DE19833307194 DE 19833307194 DE 3307194 A DE3307194 A DE 3307194A DE 3307194 A1 DE3307194 A1 DE 3307194A1
Authority
DE
Germany
Prior art keywords
data
register
bus
operation result
processing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19833307194
Other languages
English (en)
Other versions
DE3307194C2 (de
Inventor
Koyo Katsura
Hideo Hitachi Ibaraki Maejima
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 DE3307194A1 publication Critical patent/DE3307194A1/de
Application granted granted Critical
Publication of DE3307194C2 publication Critical patent/DE3307194C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Description

Beschreibu n σ
Die Erfindung betrifft eine digitale Verarbeitungsanlage, insbesondere eine Datenverarbeitungsanlage, die eine "Pipeline"-Verarbeitung vornimmt und die insgesamt eine erhöhte Rechengeschwindigkeit besitzt.
Eine "Pipeline"-Verarbeitung dient im allgemeinen vom Standpunkt der Erhöhung der Rechengeschwindigkeit als wirksames Befehlssteuersystem. Die Erfindung befaßt sich mit einer Datenverabeitungsanlage, die auf einem "Pipeline"-Steuersystem beruht, das auch dann arbeitet, wenn eine große Differenz zwischen dem Zeitpunkt zum Lesen eines Befehls und dem Zeitpunkt zur Ausführung einer Operation besteht.
Eine Datenverarbeitungsanlage decodiert ein Befehlswort, das ausgelesen worden ist, liest die Daten entsprechend dem decodierten' Inhalt und führt eine Operas'* tion aus. Die Operation wird unter Verwendung des Pipeline-Steuersystems durchgeführt, und der nächste Mikrobefehl.wird parallel zur Durchführung der Operation ausgelesen. Wenn in diesem Falle die Zeit, die zum Lesen eines Mikrobefehls erforderlich ist, die gleiche "^ ist, wie die Zeit, die zur Ausführung einer Operation erforderlich ist, wird die Zeit als Mikrozyklusperiode angesehen, und es ergibt sich keine Unzulänglichkeit. Üblicherweise sind die beiden Zeiten oder Zeitspannen jedoch nicht die gleichen. In der Praxis basiert die Mikrozyklus-Periode (Maschinenzyklus) auf der längeren als Bezug. D.h. trotz der Verwendung eines Pipeline-Steuersystems wird die gesamte Betriebseffizienz nicht verbessert:
Ein Pipeline-Verarbeitungssystem ist in der US-PS 39 78 452 beschrieben, die ein System und ein Verfahren zur gleichzeitigen und Pipeline-Verarbeitung unter Verwendung eines datengetriebenen Netzwerkes.
Dabei wird eine lokale Speicherung in einer Datenverarbeitungsanlage mit datengetriebenem Netzwerk beschrieben, jedoch sind die Probleme nicht berücksichtigt, die beim Stande der Technik auftreten.
Gemäß der Erfindung soll eine Datenverarbeitungsanlage angegeben werden, bei der ein Pipeline-Steuersystem · bei einer digitalen Datenverarbeitungsanlage Verwendung findet und an sie angepaßt wird, um-die Gesamtverarbeitungsgeschwindigkeit zu erhöhen. - --
Aufgabe der Erfindung ist es, die Verarbeitungsgeschwindkeit bei einer Datenverarbeitungsanlage zu erhöhen, ohne die Vorteile eines Pipeline-Verarbeitungssystems zu mindern, auch wenn eine Differenz zwischen der Zeit zum Lesen eines Mikrobefehls und der Zeit zur Ausführung einer Operation vorliegt.
Zur Lösung dieser Aufgabe ist gemäß der Erfindung vorgesehen, daß die Operation auf der Basis einer Vielzahl ° von Mikrozyklen durchgeführt wird. Gemäß einem zweiten Aspekt der Erfindung ist vorgesehen, daß die Operation durchgeführt wird, indem man sie in das Lesen der larith-. metischen Daten und das Schreiben des Operationsergeb-
nisses unterteilt.
30
Gemäß einem dritten Aspekt der Erfindung ist ein Bestimmungs-Zwischenspeicherregister auf der Ausgangsseite der arithmetischen Einheit vorgesehen, um das Operationsergebnis um eine Zeitspanne zu verzögern, die
gleich einem Mikrozyklus ist. Gemäß einem vierten Aspekt der Erfindung sind Bestimmungs-Zwischenspeicherregister auf der Eingangsseite der arithmetischen Seite vorgesehen, die dem jeweiligen Teil der arithmetischen Daten
. „..* ; yj \J \J / \ \J '-t
""ΟΙ entsprechen, um die Daten um eine Zeitspanne zu verzögern, die gleich einem Mikrozyklus vor der Ausführung der Operation ist.
Gemäß einem fünften Aspekt der Erfindung ist vorgesehen, daß ein Bestimmungs-Zwischenspeicherregister in die arithmetische Einheit eingebaut ist und daß die Operation durchgeführt wird, nachdem die Daten um eine Zeitspanne verzögert worden sind, die gleich einem Mikrozyklus ist.
Gemäß einem sechsten Aspekt der Erfindung ist ein Schreibsteuerungs-Zwischenspeicherregister vorgesehen, welches den Befehl für das Schreiben des Operationsergebnisses in ein Registerfeld gibt, wobei die Befehle zum Einschreiben in das Register um eine Zeitspanne verzögert werden, die gleich einem Mikrozyklus ist. Gemäß einem siebten Aspekt der Erfindung ist eine Einrichtung vorgesehen, welche abtastet, ob Konkurrenzbetrieb für ein Register vorliegt, und zwar zwischen einem Mikrobefehl, der ausgelesen worden ist, und dem nächsten Mikrobefehl, der ausgelesen wird, so daß dann, wenn Konkurrenzbetrieb auftritt, die Daten im Bestimmungs-Zwischenspeicherregister direkt zum Datenbus übertragen werden oder von der arithmetischen Einheit direkt zum Datenbus übertragen werden, um einen Konkurrenzbetrieb für die Register zu vermeiden.
Die Erfindung wird nachstehend anhand der Beschreibung
von Ausführungsbeispielen und unter Bezugnahme auf die beiliegende Zeichnung näher erläutert. Die Zeichnung zeigt in:
Fig. 1 ein Blockschaltbild zur Erläuterung
der Pipeline-Verarbeitung in einer digitalen Datenverarbeitungsanlage;
Fig. 2A bis 2C Diagramme zur .Erläuterung des Datenverarbeitungsflusses in der Anlage gemäß Fig. 1;
Fig. 2D bis 2H Diagramme zur Erläuterung des Datenverarbeitungsflusses gemäß der Erfindung;
Fig. 3 ein Blockschaltbild zur Erläuterung
des Schaltungsaufbaus gemäß einer Aus-
führungsform der Erfindung;
Fig. 4A bis 4D Diagramme zum Vergleich der Prozesse der jeweiligen Zyklen gemäß der Erfindung ;
Fig. 5A ein Diagramm eines Mikroprogrammes,
in dem Konkurrenzbetrieb für Register durch den η-ten Befehl und den (n+1)-ten Befehl hervorgerufen wird;
Fig. 5B ein Diagramm zur Erläuterung der 1^ Gegenmaßnahme durch das Programm, wenn
der Konkurrenzbetrieb gemäß Fig. 5A auftritt;
Fig. 6A ein Diagramm zur Erläuterung der Operation, die der Situation in Fig. · 5A entspricht;
Fig. 6B ein Diagramm zur Erläuterung der
Operation, die der Situation gemäß Fig. 5B entspricht;
Fig. 7A ein Diagramm zur Erläuterung des
Falles, wenn Zwischenspeicherregister auf der Eingangsseite der arithmetischen Einheit vorgesehen sind, um die Daten um eine Zeitspanne zu verzögern,
die gleich einem Mikrozyklus ist;
Fig. 7B ein Diagramm zur Erläuterung des
Falles, wenn Register in die arithmetische Einheit eingebaut sind; und
in
Fig. 8 ein Diagramm zur Erläuterung des Schal-
tungsaufbaus, um durch Hardwaretechnik jeden Konkurrenzbetrieb zu vermeiden, der sonst gemäß Fig. 5A bei den Registern auftreten kann.
OOU / I CJH
-δι Zunächst soll eine Beschreibung einer Datenverarbeitungsanlage unter Verwendung eines Pipeline-Steuersystems erfolgen, auf dem die Erfindung beruht. Fig. 1 zeigt eine Pipeline-Verarbeitungsanlage, die einen Hauptspeicher 11 zur Speicherung von Benutzerprogrammen (Befehlsworte und Operationsdaten), eine Mikroprogramm-Speicher- und -steuereinrichtung 12, die nacheinander Mikrobefehle aus einem Festwertspeicher oder ROM einliest und Steuersignale 10 bei Erhalt von Befehlen von einem Benutzerprogramm erzeugt, ein Datenpufferregister
13 zur zeitweiligen Speicherung von Daten, ein Register
14 für allgemeine Zwecke zur zeitweiligen Speicherung von arithmetischen Daten, wie z.B. von Resultaten, während die Operation durchgeführt wird, und eine arithmetische Einheit 15 aufweist, die eine Vielfalt von arithmetischen Operationen ausführen kann. Ein Speicherbus 16, ein X-Bus 17, ein Y-Bus 18 und ein Z-Bus 19 sind an speziellen Orten vorgesehen. Vom Hauptspeicher 11 über den Speicherbus 16 gelesene Befehlsworte werden von der Mikroprogrammspeicher- und -Steuereinheit 12 decodiert. Wenn die Mikrobefehle, die dem decodierten Inhalt entsprechen, nacheinander ausgelesen werden, werden verschiedene Steuersignale 10 erzeugt und an das Datenpufferregister 13, das Register 14 für allgemeine Zwecke und die arithmetische Einheit 15 gegeben. Die Mikrobefehle arbeiten so, daß Daten aus dem Datenpufferregister 13 oder aus dem Register 14 für allgemeine Zwecke gelesen werden und eine Addition oder Subtraktion von der arithmetischen Einheit 15 durchgeführt wird. Wenn die Mikrobefehle des Mikroprogrammes nacheinander gelesen werden, kann somit eine Vielfalt von arithmetischen Operationen durchgeführt werden. Die arithmetische Einheit gibt die aus dem Datenpufferregister 13 oder aus dem Register 14 für allgemeine Zwecke ausgelesenen Daten über den X-Bus 17 und den Y-Bus 18 ein. Das durch die Rechnung erhaltene Resultat unter Verwendung der gelesenen Daten.wird in dem Register 14 für allgemeine Zwecke über den Z-Bus 19 gespeichert. Das
-9-
Datenpufferregister 13 speichert zeitweilig die Daten, die aus dem Register 14 für allgemeine Zwecke auf den X-Bus 17 und den Y-Bus 18 ausgelesen worden sind und überträgt und empfängt außerdem die Daten an den und von dem Hauptspeicher 11 über den Speicherbus 16.
Die Fig. 2A bis 2C zeigen den Datenverarbeitungsfluß in der Datenverarbeitungsanlage. Wenn nämlich ein bestimmter Mikrobefehl F1 in einem vorgegebenen Mikrozyklus gelesen wird, wird die Verarbeitung des Mikrobefehls im nächsten Mikrozyklus durchgeführt, wie es mit dem Bezugszeichen E1 angedeutet ist. Parallel zur Ausführung E1 der Operation wird der nächste Mikrobefehl F2 gelesen (vgl. Fig. 2B). In gleicher Weise wird parallel zur Ausführung E2 der Operation des Mikrobefehls ein weiterer Mikrobefehl F3 gelesen (vgl. Fig. 2C). Das bedeutet, das Lesen eines Mikrobefehls und die Verarbeitung des vorhergehenden benachbarten Mikrobefehls werden gleichzeitig in demselben Mikrozyklus durchge-.führt.
Wenn in diesem Falle die Zeit, die zum Lesen eines Mikrobefehls erforderlich ist, gleich der Zeit ist, die zur Ausführung einer Operation erforderlich ist, kann die Zeit als Mikrozyklus-Periode angesehen werden, und es tritt kein Problem auf. im allgemeinen sind diese Zeiten oder Zeitspannen jedoch nicht gleich, sondern können sich stark unterscheiden, und zwar in Abhängigkeit von der Größe der Datenverarbeitungsanlage sowie
von anderen Bedingungen. In diesem Falle wird eine Pipeline-Steuerung unter Verwendung einer größeren Zeitspanne als die Mikrozyklus-Periode durchgeführt. Dies erzeugt jedoch Leerlaufzeiten und macht es schwierig, die Gesamtrechengeschwindigkeit zu erhöhen.
Die Fig. 2A bis 2C zeigen den Fall, wo eine verlängerte Zeitspanne zur Durchführung der Operation erforderlich ist und wo die erforderliche Zeit zum Lesen der Mikro-
-ΙΟΙ befehle ungefähr das Eineinhalbfache dieser Zeit ausmacht. In den Fig. 2A bis 2C bezeichnen die schraffierten Bereiche nach den Bereichen FT bis F3 sogenannte Leerlaufzeiten. Das heißt/ weil die Periode durch die Zeit bestimmt ist, die zur Ausführung einer Rechnung erforderlich ist, wird es schwierig, die Gesamtrechengeschwindigkeit trotz der Tatsache zu erhöhen, daß ein Pipeline-Verarbeitungssystem verwendet wird. Die erfindungsgemäße Anlage ist so konzipiert, daß die Rechengeschwindigkeit auch dann erhöht wird, wenn eine Differenz zwischen der erforderlichen Zeit zum Lesen von Mikrobefehlen und der erforderlichen Zeit zur Ausführung der entsprechenden Operationen vorliegt, wobei üblicherweise F1 < E1 gilt, wie es in Fig. 2A dargestellt ist.
Fig. 3 zeigt eine Ausführungsform gemäß der Erfindung, d.h. es wird eine Mikroprogrammspeicher- und -steuereinrichtung im einzelnen dargestellt. Die in dieser Fig.. 3 dargestellte Mikroprogrammspeicher- und -steuereinrichtung unterscheidet sich von der gemäß Fig. 1 darin, daß ein Bestimmungs-Zwischenspeicherregister 38 zur Verzögerung des Operationsresultates um einen Mikrozyklus zwischen dem Z-Büs 19 und der arithmetischen Einheit 15 vorgesehen ist. Somit wird das'Operationsergebnis in einem speziellen Register im Register 14 für allgemeine Zwecke gespeichert, nachdem es um einen Mikrozyklus verzögert worden ist. Zu diesem Zweck müssen die Daten auch um einen Mikrozyklus verzögert werden, um zu bestimmen, in welchem Register das Operationsergebnis gespeichert werden soll. Das Register im Register 14 für allgemeine Zwecke, welches das Rechenergebnis speichert, wird durch Spezifizierungsdaten bestimmt, die von einem RZ-Deoodierer 36 geliefert werden. Bei der Ausführungsform gemäß Fig.3 ist ein Schreib-Steuerungs-Zwischenspeicherregister 33 auf der Eingangsseite des RZ-Decodierers 36 vorgesehen, um die Spezifizierungsdaten vom RZ-Decodierer 36 um einen Mikrozyklus zu verzögern.
Befehlsworte werden aus der Mikroprogrammspeicher- und -steuereinrichtung 12' vom Hauptspeicher 11 über den Speicherbus 16 gelesen. Die Befehlsworte werden nämlich einem Befehlsregister 92, einem Befehlsdecodierer 94, einem Festwertspeicher- oder ROM-Adressenregister 96 und einem Festwertspeicher oder ROM 31 übermittelt und zeitweilig oder vorübergehend in einem Mikrobefehlsregister 32 gespeichert. In diesem Falle besteht das Mikrobefehlsregister 32 aus drei Registerfeldern RX, RY, RZ und einem Funktionsfeld FUNC. Von diesen Feldern spezifizieren die Daten in den Registerfeldern RX und RY Register in dem Register 14 für allgemeine Zwecke, so daß die Daten in den X-Bus und den Y-Bus 18 ausgelesen werden. Die Daten im Funktionsfeld.-PUNC-spezifizieren ■-■ - eine von verschiedenen arithmetischen Funktionen. Die Daten im Registerfeld RZ werden vom RZ-Decodierer über das Schreib-Steuerungs-Zwischenspeicherregister 33 decodiert, und die anderen Daten werden direkt vom RX-Decodierer 34, RY-Decodierer 35 bzw. dem Funktionsdecodierer 37 decodiert. Die Ausgangssignale dieser Decodierer dienen als Steuersignale 10, die bereits . oben angegeben worden sind..
Die aus dem Register 14 für allgemeine Zwecke gemäß den Steuersignalen vom RX-Decodierer 34 und RY-Decodierer 35 in den X-Bus 17 und X-Bus 18 ausgelesenen Daten werden als Rechendaten von der arithmetischen Einheit 15 verarbeitet, und das Operations- oder Rechenergebnis wird vorübergehend im Bestimmungs-Zwischen-
ow . Speicherregister 38 gespeichert. Das Operationsergebnis wird im Register 14 für allgemeine Zwecke gespeichert, nachdem es um einen Mikrozyklus verzögert worden ist. Der RZ-Decodierer 36 gibt dann ein Registerspezifizierungs-Steuersignal als Ausgangssignal ab, das dem Operationsergebnis entspricht, und das Operationsergebnis wird in dem Register gespeichert, das von dem Steuersignal 10· gewählt worden ist.
-12-
Somit kann der Datenverarbeitungsfluß in der Datenverarbeitungsanlage gemäß Fig. 3 so dargestellt werden,
wie es die Fig. 2D bis 2H zeigen. Die Verarbeitung
eines Mikrobefehls wird unterteilt in einen Mikrobe-
fehls-Lesezyklus Fi mit i = 1, 2, 3, 4, 5 t
einen Lesezyklus ERi für arithmetische Daten und einen Operationsergebnis-Schreibzyklus EWi. D.h. drei Mikrobefehle werden innerhalb desselben Mikrozyklus parallel verarbeitet. Es darf darauf hingewiesen werden, daß die Mikrozyklusperiode in Fig. 2D bis 2H ungefähr halb so
lang ist, wie die in Fig. 2A bis 2C. Der Mikrozyklus
gemäß Fig. 2D bis 2H basiert auf dem Mikrobefehls-Lesezyklus gemäß Fig. 2A bis 2C als Referenz- oder Bezugsgröße, und die-Verarbeitung-oder-Ausführung der Opera- tion in Fig. 2 A wird durchgeführt, indem sie in ER1
und EW1 unterteilt wird. Dies ist äquivalent zu dem
Mikrobefehl, der in einem halben Mikrozyklus gemäß
Fig. 2A ausgelesen wird. Da jedoch in der Praxis
Differenzen bei der Ausführungszeit in Abhängigkeit
von den Befehlen auftreten, werden die Leerlaufζeiten
gemäß Fig. 2A bis 2C auch in den Fig. 2D bis 2H nicht
immer Null. Die Operationszeit kann jedoch ungefähr
.. . auf die Halte des Systems gemäß Fig. A bis Fig. 2C
reduziert werden. Dies ist einer der größten Vorteile
der Datenverarbeitungsanlage gemäß der Erfindung.
In Fig. 3 ist das Bestimmungs-Zwischenspeicherregister 38 auf der Ausgangsseite der arithmetischen Einheit 15 vorgesehen. Es können jedoch Bestimmungs-Zwischenspei-
cherregister zwischen der arithmetischen Einheit 15
und dem X-Bus 17 und dem Y-Bus 18 vorgesehen sein, wie es in Fig. 7A dargestellt ist, wobei die Bezugszeichen LX und LY Zwischenspeicherregister bezeichnen, die den gleichen Zweck erfüllen, wie das Zwischenspeicherre-
3^ gister 38 und welche die Daten um einen Mikrozyklus
verzögern, bevor sie es zulassen, daß sie der arithmetischen Einheit eingegeben werden.
Wie in Fig. 7B dargestellt, können außerdem Bestimmungs-Zwischenspeicherregister in die arithmetische Einheit 15 eingebaut sein. Die Daten werden nämlich vom X-Bus und y-Bus 18 erhalten und gehen durch die Eingangslogikschaltungen 15C und 15D sowie die Zwischenspeicherregister LX und LY hindurch, wo sie innerhalb der arithmetischen Einheit 15 um einen Mikrozyklus verzögert werden. Das Bezugszeichen 15B bezeichnet eine arithmetische Logikeinheit und das Bezugszeichen 15A einen Schieber. Somit können auch mit den Einrichtungen gemäß Fig. 7A und 7B die gleichen Wirkungen erzielt werden, wie.-.mit den Anordnungen gemäß Fig. 3 und 2A bis 2H.
Die Fig. 4A bis 4D verdeutlichen die Wirkungsweise der Einrichtungen gemäß Fig. 7A und 7B im Vergleich mit F1, ER1 und EW1 in Fig. 3. Fig. -4A zeigt einen Basiszyklus, und Fig. 4B zeigt den Inhalt der Verarbeitungsoperation im Ausführungszyklus von F, ER1 urid EWt in Fig. 3. Das bedeutet, die Operation (X + Y) ->· L wird in Fig. 4B durchgeführt, d.h. in ER1 gemäß Fig. 2D,und die Opera-
\ . ■ tion L -*Z wird in EW1 gemäß Fig. 2D durchgeführt. In gleicher Weise zeigt Fig. 4C die Wirkung der Einrichtung gemäß Fig. 7A, während Fig. 4D die Wirkungsweise der Anordnung gemäß Fig. 7B zeigt.
Entsprechend der oben beschriebene Erfindung kann die Rechengeschwindigkeit bei den verschiedenen Operationen gesteigert werden. Es folgt nun eine Beschreibung
dessen, was geschieht, wenn das Register, in das ein Operationsergebnis aufgrund eines vorgegebenen Mikrobefehls eingeschrieben worden ist, das gleiche Register ist, aus dem arithmetische Daten für den nächsten Mikrobefehl auszulesen sind. Wie beispielsweise in Fig. 5
dargestellt, addiert der ri-ten Mikrobefehl den Inhalt der Register RO und R1 und gibt an, daß das Operationsergebnis im Register R2 gespeichert wird, während der (n + 1)-te. Mikrobefehl die UND-Operation mit den Inhal-
ten der Register R2 und R3 vorgibt und spezifiziert/ daß das Ergebnis im Register R3 gespeichert wird. In diesem Falle wird die Verarbeitung für die Speicherung des Operationsergebnisses im Register R2 gleichzeitig mit der Verarbeitung des Auslesens der Operationsdaten aus dem Register R2 durchgeführt. Wenn auf diese Weise Konkurrenzbetrieb bei einem Register vorliegt, muß das Operationsergebnis für den η-ten Mikrobefehl in Form von arithmetischen Daten vom Bestimmungs-Zwischenspeicherregister 38 über den Z-Bus 19, das Register R2 und den X-Bus 17 der arithmetischen Einheit 15 zugeführt werden, wie es mit der gestrichelten Linie in Fig. 6A angedeutet ist. In diesem Fall müssen die Daten jedoch innerhalb eines Mikrozyklus übertragen werden, was schwierig ist.
Fig. 6B zeigt eine Datenverarbeitungsanlage, die entsprechend einer weiteren Ausführungsform der Erfindung so aufgebaut ist, daß sie diesen Konkurrenzbetrieb für Register berücksichtigt. Dabei sind Eingänge zum Einlesen von Daten vom Bestimmungs-Zwischenspeicherregister 38, dem X-Bus 17 und dem Y-Bus 18 vorgesehen. Wenn Konkurrenz-
" . betrieb bei einem Register vorliegt, werden die Daten
nicht aus dem Register im Register 14 für~allgemeine -
25. Zwecke in den X-Bus 17 oder den Y-Bus 18 eingelesen, sondern statt dessen wird das Operationsergebnis direkt aus dem Bestimmungs-Zwischenspeicherregister 38 in den X-Bus und den Y-Bus 18 eingelesen. Auch wenn Konkurrenzbetrieb bei einem Register vorliegt, werden die Daten
somit längs des mit der gestrichelten Linie.angedeuteten Weges übertragen, und es tritt kein Problem auf.
Wenn somit Konkurrenzbetrieb bei einem Register vorliegt, werden die Daten nicht aus dem Register 14 für allgemeine Zwecke in den X-Bus 17 oder den Y-Bus 18 ausgelesen, sondern die Daten werden direkt von dem Bestimmungs-Zwischenspeicherregister 38 in den X-Bus 17 und den Y-Bus 18 ausgelesen. Dabei können zwei Verfahren angegeben werden,
um das Lesen der Daten umzuschalten. Das erste Verfahren beruht auf einer Softwaretechnik, d.h. es wird ein Mikrobefehl hinzugefügt, -der das Bestimmungs-Zwischenspeicherregister 38 als Register spezifiziert, um die Daten entweder auf den X-Bus 17 oder Y-Bus 18 auszulesen. Wenn Konkurrenzbetrieb bei einem Register vorliegt, ist ein Mikroprogramm vorbereitet, das den obigen Mikrobefehl verwendet. Bei dem Beispiel gemäß Fig. 5A ist somit der Mikrobefehl in der Weise vorbereitet, wie es inf Fig. 5B dargestellt ist. Gemäß diesem Verfahren
muß jedoch, obwohl keine Hinzufügung von Hardware erfolgt, ein Mikroprogramm nach der Berücksichtigung er-. . stellt werden, ob ein Register in. Konkurrenzbetrieb sein wird oder nicht.
Das zweite Verfahren besteht darin, den Konkurrenzbetrieb für ein Register durch Hardwaremittel festzustellen, ohne einen Mikrobefehl hinzuzufügen, um das Lesen der Daten in Abhängigkeit von einem festgestellten Ergebnis umzuschalten. Gemäß diesem Verfahren hat . der Programmierer keine zusätzliche Last der Vorbereitung eines Mikroprogrammes. Die Daten können umgeschaltet werden, indem in kleinem Umfang Hardware hinzugefügt
. wird. —- -
Fig. 8 zeigt den Hauptteil einer Datenverarbeitungsanlage, die das zweite Verfahren verwendet. Wie oben be-. schrieben, spezifiziert das Ausgangssignal des Schreib-Steuer-Zwischenspeicherregisters 33 ein ^Register, in
welchem das Operationsergebnis gespeichert wird. Somit kann leicht festgestellt werden, ob Konkurrenzbetrieb bei einem Register vorliegt oder nicht, indem man ab-. tastet, ob das Ausgangssignal des Schreib-Steuer-Zwischen-Speicherregisters 33 das gleiche ist, wie die Daten des RX- oder RY-Feldes im Mikrobefehlsregister 32. Eine X-Bus-Übereinstimmungs-Abtastschaltung 81 tastet den Fall ab, wenn Konkurrenzbetrieb für ein Register den X-Bus 17 betrifft. Wenn das Ausgangssignal des Schreib-
Steuer-Zwischenspeicherregisters 33 das gleiche ist wie die Datendes RX-Feldes, wird ein Übereins timmungs-Abtastsignal über einen Inverter 83 an ein UND-Gatter oder eine UND-Gattergruppe 85 gesendet, um sie zu schließen. Somit wird das Steuersignal vom RX-Decodierer 34 zum Register 14 für allgemeine Zwecke gesperrt und ermöglicht, daß die Daten vom Bestimmungs-Zwischenspeicherregister 38 zum X-Bus 17 ausgelesen werden. Eine Y-Bus-Ubereinstimmungs-Abtastschaltung 82, ein Inverter 84 und ein UND-Gatter oder eine UND-Gattergruppe 86 arbeiten in gleicher Weise für den Y-Bus 18. Die X-Bus-Übereinstimmungs-Abtastschaltung 81 und die Y-Bus-Übereinstimmungs-Abtastschaltung 82.sind in einfacher Weise unter Verwendung von Exklusiv-OR-Gattern oder Antivalenzgliedern und NOR-Gatter aufgebaut und bieten sehr geringe Probleme vom Hardware-Standpunkt. Mit der Datenverarbeitungsanlage gemäß Fig. 8 kann eine Pipeline-Steuerung in geeigneter Weise durchgeführt werden, ohne daß irgendwelche Probleme vom Software- oder Hardware-Standpunkt auftreten und ohne irgendwelche Zeitverzögerungen, auch wenn Konkurrenzbetrieb bei einem Register vorliegt.
Gemäß Fig. 6Bist das Bestimmungs-Zwischenspeicherre-2^ gister 38 auf der Ausgangsseite der arithmetischen Einheit 15 vorgesehen. Wenn das Bestimmungs-Zwischenspeicherregister auf der Eingangsseite der arithmetischen Einheit vorgesehen ist oder in die arithmetische Einheit eingebaut ist, wird das Operationsergebnis der
arithmetischen Einheit 15 durch die Gattersteuerung direkt auf den X-Bus 17 und den Y-Bus 18 ausgelesen.
Das Gleiche gilt auch für die Einrichtung gemäß Fig. 7B. Die Ausgangssignale von den Übereinstimmungs-Abtastschaltungen 81 und 82 werden nämlich in die arithmetische Einheit 15 eingegeben, und das Operationsergebnis wird nicht auf den Z-Bus gegeben, sondern auf den X-Bus oder Y-Bus, Die gestrichelten Linien in Fig.' 7A und 7B deuten diese Verhältnisse an.
-17-
Gemäß der oben beschriebenen Erfindung werden die erforderliche Zeit zum Lesen von Mikrobefehlen, die erforderliche Zeit zum Lesen von arithmetischen Daten und die erforderliche Zeit zum Schreiben des Operationsergebnisses praktisch gleich gemacht. Gemäß der Erfindung sind außerdem drei Mikrozyklen dem einen Mikrobefehl zugeordnet, so daß eine Teilverarbeitung der drei Mikrobefehle in paralleler Weise in demselben Mikrozyklus durchgeführt werden kann. Somit wird gemäß der Erfindung eine Teilverarbeitung gleichzeitig und parallel für die drei Mikrobefehle innerhalb desselben Mikrozyklus durchgeführt, und zwar unter einer Bedingung, bei der die Leerlaufzeit im Vergleich zur herkömmlichen Datenverarbeitungsanlage verkürzt.wird. _Somit kann die Gesamtrechengeschwindigkeit erhöht werden.

Claims (7)

  1. STREHL SCHÜBEL-HOPF SCHULZ
    WIDENMAYERSTRASSE 17. D-8000 MÜNCHEN 22
    HITACHI, LTD. 1. März 1983
    DEA-26 013
    Datenverarbeitungsanlage
    Patentansprüche
    (]_·) Datenverarbeitungsanlage, gekennzeichnet durch eine erste Einrichtung (121), die Steuersignale (1O1) durch Decodierung von Befehlswörtern erzeugt, die nacheinander aus einem Hauptspeicher (11) ausgelesen werden;
    eine zweite Einrichtung (15), welche Daten, die über Datenbusse (17, 18) von zwei Systemen entsprechend den Steuersignalen (10') eingelesen werden, verarbeitet;
    eine dritte Einrichtung (14), welche die Daten zwischen den Datenbussen (17, 18) überträgt und diese erhält sowie vorübergehend ein Operationsergebnis von der zweiten Einrichtung (15) speichert, das über einen speziell eingegebenen Schreibbus (19) eingegeben wird;
    durch ein Zwischenspeicherregister (38), das zwischen der zweiten Einrichtung (15) und dem speziell vorgesehenen Schreibbus (19) vorgesehen ist, um das Operationsergebnis einzuschreiben, und welches das Operationsergebnis vorübergehend für die Zeitdauer eines Maschinenzyklus speichert; und ein Schreib-Steuerungs-Zwischenspeicherregister (33), das vorübergehend für die Zeitspanne eines Maschinen-
    zyklus ein Steuersignal speichert, welches die Position in der dritten Einrichtung (14) spezifiziert, an der das Operationsergebnis gespeichert wird, wobei die Steuersignale zu den erzeugten Betriebs-5. Steuersignalen gehören,
    wobei das Lesen der Mikrobefehle, das Speichern der arithmetischen Daten in dem Zwischenspeicherregister (38) und das Einschreiben der Daten aus dem Zwischenspeicherregister (38) in die dritte Einrichtung (14) alle parallel für jeden Maschinenzyklus durchgeführt werden.
  2. 2. Anlage nach Anspruch 1, dadurch gekennzeichnet, daß die erste Einrichtung (121) einen ROM (31) zum Decodieren der Befehle aufweist und Operations-Steuersignale erzeugt, die mit dem ROM (31) decodiert werden.
  3. 3. Anlage nach Anspruch 1 oder 2, dadurch gekennzeich-. net, daß Zwischenspeicherregister (LX, LY) für arithmetisch Daten zwischen der Eingangsseite der zweiten Einrichtung (15) und den Datenbussen (17, 18) der beiden Systeme vorgesehen sind und daß die Operation durchgeführt wird, nachdem die Daten um einen Maschinenzyklus verzögert worden sind.
  4. 4. Anlage nach einem oder mehreren der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die zweite Einrichtung (15) ein Register enthält, das die arithmetischen
    3^ Daten um einen Maschinenzyklus verzögert.
  5. 5. Anlage nach einem oder mehreren der Ansprüche 1 bis .4, dadurch gekennzeichnet, daß ein Weg vorgesehen ist, auf dem die Operationsergebnisse von dem Zwischenspeicherregister (38), das zwischen der Ausgangsseite der zweiten Einricht&ng (15) und dem speziell vorgesehenen Bus (19) zum '!hinschreiben der Operationsergebnisse vorgesehen ist, direkt auf die Datenbusse
    (17, 18) der beiden Systeme übertragen werden, um zu bestimmen, ob die Operationsergebriisse in die dritte Einrichtung (14) eingeschrieben oder zu den Datenbussen (17,18) der beiden Systeme übertragen werden ■ sollen.
  6. 6. Anlage nach einem oder mehreren der Ansprüche 1 bis . 5, dadurch gekennzeichnet, daß die dritte Einrichtung (14) mindestens zwei Register zum Speichern und übertragung der zu verarbeitenden Daten und mindestens ein Register zum Speichern und übertragen der Operationsergebnisse aufweist.
  7. 7. Anlage nach einem oder mehreren der Ansprüche 1 bis 6, dadurch' gekennzeichnet, daß übereinstimmungs-Abtastschaltungen (81, 82) vorgesehen sind, die abtasten, ob bei einem der Register, in dem zu verarbeitende Daten gespeichert sind, Koinzidenz mit dem Register vorliegt, das ein Operationsergebnis speichert, und daß eine Logikschaltung (83, 85; 84, 86) vorgesehen ist, welche die übertragung von zu verarbeitenden Daten auf die beiden Datenbusse (17, 18) durch die Abtastsignale sperrt, wenn eine Koinzidenz von der übereinstimmungs-Abtastschaltung (81, 82) abgetastet wird, und daß die Logikschaltung auf der Ausgangsseite-der Steuersignal-Decodierer (34, 35) vorgesehen sind, die an das Register (14) zur Speicherung der zu verarbeitenden Daten angeschlossen ist, wobei ein Signal vom Zwischenspeicherregister
    an einen der beiden Datenbusse (17, 18) in Abhängigkeit vom Koinzidenz-Abtastsignal übertragen wird.
DE19833307194 1982-03-01 1983-03-01 Datenverarbeitungsanlage Granted DE3307194A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57030577A JPS58149541A (ja) 1982-03-01 1982-03-01 デ−タ処理装置

Publications (2)

Publication Number Publication Date
DE3307194A1 true DE3307194A1 (de) 1983-09-15
DE3307194C2 DE3307194C2 (de) 1989-06-15

Family

ID=12307703

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19833307194 Granted DE3307194A1 (de) 1982-03-01 1983-03-01 Datenverarbeitungsanlage

Country Status (6)

Country Link
US (1) US4677549A (de)
JP (1) JPS58149541A (de)
KR (1) KR880001418B1 (de)
DE (1) DE3307194A1 (de)
FR (1) FR2522423B1 (de)
GB (1) GB2115964B (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60120439A (ja) * 1983-12-05 1985-06-27 Nec Corp 演算処理装置
JPH063584B2 (ja) * 1983-12-19 1994-01-12 株式会社日立製作所 情報処理装置
AU553416B2 (en) * 1984-02-24 1986-07-17 Fujitsu Limited Pipeline processing
JPH0776917B2 (ja) * 1984-12-29 1995-08-16 ソニー株式会社 マイクロコンピユ−タ
JPS6282402A (ja) * 1985-10-07 1987-04-15 Toshiba Corp シ−ケンス制御装置
JPS62288940A (ja) * 1986-06-06 1987-12-15 Nec Corp 情報処理装置
GB2194657B (en) * 1986-08-29 1991-05-15 Sun Microsystems Inc Asynchronous micro-machine/interface
US5053941A (en) * 1986-08-29 1991-10-01 Sun Microsystems, Inc. Asynchronous micro-machine/interface
US4812989A (en) * 1986-10-15 1989-03-14 Amdahl Corporation Method for executing machine language instructions
US5148536A (en) * 1988-07-25 1992-09-15 Digital Equipment Corporation Pipeline having an integral cache which processes cache misses and loads data in parallel
JPH05265746A (ja) * 1992-02-18 1993-10-15 Nec Corp マイクロプロセッサ
CA2968400A1 (en) * 2011-04-29 2012-11-01 Harnischfeger Technologies, Inc. Controlling a digging operation of an industrial machine

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1493819A (en) * 1973-12-26 1977-11-30 Xerox Corp Information processor with parallel operation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4087852A (en) * 1974-01-02 1978-05-02 Xerox Corporation Microprocessor for an automatic word-processing system
US3978452A (en) * 1974-02-28 1976-08-31 Burroughs Corporation System and method for concurrent and pipeline processing employing a data driven network
FR2461301A1 (fr) * 1978-04-25 1981-01-30 Cii Honeywell Bull Microprocesseur autoprogrammable
JPS5534885A (en) * 1978-09-04 1980-03-11 Toko Inc Switching regulator
US4539635A (en) * 1980-02-11 1985-09-03 At&T Bell Laboratories Pipelined digital processor arranged for conditional operation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1493819A (en) * 1973-12-26 1977-11-30 Xerox Corp Information processor with parallel operation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US-B.: Peter M. Kogge, The Architecture of Pipelined Computers, Hemisphere Publishing Corp., 1981, S. 112-125 u. 220-225 *

Also Published As

Publication number Publication date
US4677549A (en) 1987-06-30
GB2115964B (en) 1986-11-19
KR880001418B1 (ko) 1988-08-01
GB2115964A (en) 1983-09-14
FR2522423B1 (fr) 1989-10-06
JPS58149541A (ja) 1983-09-05
FR2522423A1 (fr) 1983-09-02
DE3307194C2 (de) 1989-06-15
GB8305283D0 (en) 1983-03-30
KR840003859A (ko) 1984-10-04

Similar Documents

Publication Publication Date Title
DE2714805C2 (de)
DE2704842C2 (de) Im Pipeline-Betrieb arbeitende Datenverarbeitungseinrichtung
DE2555963A1 (de) Einrichtung zur funktionsmodifizierung
DE2953861C2 (de)
DE3126878A1 (de) Adressen-steuerschaltung fuer mikroprozessoren
DE1499722B1 (de) Einrichtung zur modifizierung von informationswoertern
DE2234867A1 (de) Anordnung in datenverarbeitungsanlagen zum steuern der verarbeitung zweier voneinander unabhaengiger programme
DE2413074A1 (de) Mikroprogrammgesteuerter datenverarbeiter
DE19983098B4 (de) Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren
EP0097725A1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2145709A1 (de) Datenverarbeitungsanlage
DE3228405A1 (de) Emulator zur erzeugung einer folge von steuersignalen
DE3307194A1 (de) Datenverarbeitungsanlage
DE3620982A1 (de) Ein-befehl, mehrfach-datenstrom (simd) computersystem
DE2426874A1 (de) Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls
DE2617485C3 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE69728081T2 (de) Verfahren und Schaltkreis zur Steuerung verzögerter Verzweigungsbefehle
DE3121046C2 (de)
DE2702722C2 (de) Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen
DE3700800C2 (de) Einrichtung zur Erzeugung eines Unterbrechungspunktes in einem Mikroprozessor
DE2227761B2 (de) Speichersystem
DE2245284A1 (de) Datenverarbeitungsanlage
DE2745204A1 (de) Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage
DE2723706A1 (de) Einrichtung zum adressenvergleich
DE2747304A1 (de) Einrichtung zur mikrobefehlssteuerung

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
8328 Change in the person/name/address of the agent

Free format text: STREHL, P., DIPL.-ING. DIPL.-WIRTSCH.-ING. SCHUEBEL-HOPF, U., DIPL.-CHEM. DR.RER.NAT., PAT.-ANWAELTE, 8000 MUENCHEN

8339 Ceased/non-payment of the annual fee