DE3307194A1 - Datenverarbeitungsanlage - Google Patents
DatenverarbeitungsanlageInfo
- 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
Links
- 238000003860 storage Methods 0.000 claims description 11
- 230000003111 delayed effect Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 3
- 238000009434 installation Methods 0.000 claims 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 8
- 230000001965 increasing effect Effects 0.000 description 5
- 238000012432 intermediate storage Methods 0.000 description 2
- 101001002513 Homo sapiens Immunoglobulin superfamily DCC subclass member 3 Proteins 0.000 description 1
- 102100021041 Immunoglobulin superfamily DCC subclass member 3 Human genes 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000002781 deodorant agent Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003467 diminishing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000763 evoking effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement 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
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,
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-
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
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
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)
- STREHL SCHÜBEL-HOPF SCHULZWIDENMAYERSTRASSE 17. D-8000 MÜNCHEN 22HITACHI, LTD. 1. März 1983DEA-26 013DatenverarbeitungsanlagePatentansprü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. 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. 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. Anlage nach einem oder mehreren der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die zweite Einrichtung (15) ein Register enthält, das die arithmetischen3^ Daten um einen Maschinenzyklus verzögert.
- 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. 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. 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 Zwischenspeicherregisteran einen der beiden Datenbusse (17, 18) in Abhängigkeit vom Koinzidenz-Abtastsignal übertragen wird.
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)
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)
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)
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 |
-
1982
- 1982-03-01 JP JP57030577A patent/JPS58149541A/ja active Pending
-
1983
- 1983-02-23 US US06/469,047 patent/US4677549A/en not_active Expired - Lifetime
- 1983-02-25 GB GB08305283A patent/GB2115964B/en not_active Expired
- 1983-02-28 KR KR1019830000823A patent/KR880001418B1/ko not_active IP Right Cessation
- 1983-02-28 FR FR838303225A patent/FR2522423B1/fr not_active Expired
- 1983-03-01 DE DE19833307194 patent/DE3307194A1/de active Granted
Patent Citations (1)
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)
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 |