DE4010896C2 - Verfahren und Schaltung zur Verarbeitung von Synchronisationsbefehlen - Google Patents
Verfahren und Schaltung zur Verarbeitung von SynchronisationsbefehlenInfo
- Publication number
- DE4010896C2 DE4010896C2 DE4010896A DE4010896A DE4010896C2 DE 4010896 C2 DE4010896 C2 DE 4010896C2 DE 4010896 A DE4010896 A DE 4010896A DE 4010896 A DE4010896 A DE 4010896A DE 4010896 C2 DE4010896 C2 DE 4010896C2
- Authority
- DE
- Germany
- Prior art keywords
- command
- synchronization
- commands
- instruction
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 28
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 2
- SGTNSNPWRIOYBX-UHFFFAOYSA-N 2-(3,4-dimethoxyphenyl)-5-{[2-(3,4-dimethoxyphenyl)ethyl](methyl)amino}-2-(propan-2-yl)pentanenitrile Chemical compound C1=C(OC)C(OC)=CC=C1CCN(C)CCCC(C#N)(C(C)C)C1=CC=C(OC)C(OC)=C1 SGTNSNPWRIOYBX-UHFFFAOYSA-N 0.000 description 1
- 102100026693 FAS-associated death domain protein Human genes 0.000 description 1
- 101000911074 Homo sapiens FAS-associated death domain protein Proteins 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 210000003608 fece Anatomy 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 230000004044 response Effects 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
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
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)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Description
Die Erfindung bezieht sich auf ein Verfahren zur Verarbeitung
einer Befehlssequenz in einem Computersystem nach dem
Obergriff des Anspruchs 1 bzw. eine Schaltung zum Ausführen
einer Sequenz von Computerbefehlen nach dem Oberbegriff des
Anspruchs 10.
Aus EP 0 226 226 A2 ist ein Computersystem mit einer zentra
len Verarbeitungseinheit (CPU) und einer Gleitkommaeinheit
(FPU) bekannt, das Gleitkommabefehle verarbeiten kann, die
eine Synchronisation zwischen der CPU und der FPU erfordern.
Wenn ein eine Synchronisation erfordernder Gleitkommabefehl
verarbeitet werden soll, wartet die CPU, bis die FPU frei
ist, und fertigt dann den Befehl zur FPU ab. Die CPU wird
dabei in einen Wartezustand versetzt.
Aus den U.S.-Patenten 4,095,278 und 4,439,828 sind Daten
verarbeitungseinrichtung bekannt, bei denen bestimmte Be
fehle oder Befehlssequenzen durch andere Befehle ersetzt
werden.
Darüber hinaus sind im Stand der Technik Mikroprozessoren
des Typs Intel 80386 bekannt. In Computersystemen mit diesen
Mikroprozessoren können sogenannte Coprozessoren, beispiels
weise numerische Cozrozessoren vom Typ 80287 oder 80387,
verwendet werden. In diesen Computersystemen stellen der
Universalmikroprozessor Intel 80386 und die jeweiligen Co
prozessoren getrennte diskrete Komponenten dar.
Die Architektur des Intel 80386 weist ebenso wie diejenige
viele anderer Universalprozessoren Synchronisationsbefehle
auf, die der Synchronisation der Verarbeitung zwischen den
Komponenten, insbesondere zwischen dem Universalprozessor
und dem Coprozessor, ermöglichen. Eine typische Befehlsse
quenz kann z. B. einen Synchronisationsbereich, enthalten, der
den Hauptprozessor (zum Beispiel den Intel 80386) so lange
mit der weiteren Bearbeitung warten läßt, bis der numerische
Coprozessor zur Ausführung eines weiteren Befehls zur
Verfügung steht. Typischerweise ist der Synchronisationsbe
fehl ein Wartebefehl. Der Synchronisationsbefehl wird in die
Befehlsfolge eingefügt, um sicherzustellen, daß der nume
rische Coprozessor die Ausführung eines vorhergehenden
Gleiltkommabefehls beendet hat, bevor der nächste Gleitkomma
befehl zur Ausführung vorgelegt wird. Nachdem nume
rische Coprozessor angezeigt hat, daß er für die Verarbei
tung des nächsten Befehls zur Verfügung steht, wird der
nächste Befehl der Befehlssequenz zur Ausführung
geholt.
Gewisse im Befehlssatz des Intel 80386 umfassen ei
nen Wartezustand als integralen Teil des Befehls. In solchen
Fällen wartet der Hauptprozessor mit der Ausführung des
nächsten Befehls in der Befehlsfolge, bis der numerische
Prozessor die Beendigung der Verarbeitung signalisiert hat.
Die in die Befehlssequenz zusätzlich eingefügten Synchroni
sationsbefehle benötgien für ihre Ausführung in der Regel
ein Minimum von drei Taktzyklen, wodurch die gesamte Ausfüh
rungszeit der Befehlssequenz verlängert wird.
Aufgabe der Erfindung ist es, die Verarbeitungsgeschwindig
keit eines Computersystems zu erhöhen und gleichzeitig die
Kompatibilität mit solchen Befehlssequenzen zu gewähr
leisten, die, wie beispielsweise die des Intel 80386, einen
separaten Coprozessor für die Ausführung bestimmter Befehle
und einen Synchronisationisationsbefehle ausführenden Mehrzweckpro
zessor voraussetzen.
Diese wird erfindungsgemäß durch ein Verfahren mit
den Merkmalen des Anspruchs 1 bzw. eine Schaltung mit den
Merkmalen des Anspruchs 10 gelöst.
Das erfindungsgemäße Verfahren bzw. die erfindungsgemäße
Schaltung werden bei einen Computersystem verwendet, bei dem
Funktionen des Mehrzweckprozessors und einer spezialisierten
Prozessoreinheit unter gemeinsamer Steuerung implementiert
sind. Beispielsweise findet die Erfindung Anwendung bei Mi
kroprozessoren der Generation des Intel 80486, bei dem Funk
tionen des Universallmikrporozessors (ähnlich den Funktionen
des Mikroprozessors Intel 80386) und Funktionen eines nume
rischen Coprozessors (denjenigen des Coprozessors Intel
80387) auf einem einzigen Chip integriert sind. Die Erfin
dung stellt sicher, daß der Mikroprozessor Intel 80486 in
der Lage ist, die für den Prozessor Intel 80386 geschriebe
nen Befehlsfolgen auszuführen, einschließlich solcher Be
fehlsfolgen, die einen numerischen Coprozessor voraussetzen.
Der Mikroprozessor nach der Erfindung weist eine Befehls
holeinheit zum Holen von Befehlen vor dem Ausführen eines
vorhergehenden Befehls auf. Derartige Holeinheiten wer
den in Computersystemen der erfindungsgemäßen Gattung zur
Erhöhung der Operationsgeschwindigkeit verwendet und stellen
sicher, daß eine Befehlswarteschlange für eine Befehlsdeco
dier- und -ausführeinheit zur Verfügung steht.
Nach dem Auftreten eines Synchronisationsbefehls, aber vor
dessen Ausführung wird erfindungsgemäß der nächste Befehl
("zweite Befehl") von der Holeinheit geholt. Wenn der
Befehl zu einem vorgegebenen Befehlssatz gehört, wird der
Synchronisationsbefehl nicht ausgeführt, sondern stattdessen
wird ein Null-Operationsbefehl ausgeführt. Wenn der Befehl nicht zu dem
vorgegebenen Befehlssatz gehört, wird der Synchronisationsbe
fehl ausgeführt. (Bei dem beschriebenen Ausführungsbeispiel
braucht der zweite Befehl unter gewissen Umständen aus ver
schiedenen Gründen nicht geholt zu werden. Wenn der
zweite Befehl nicht geholt wird, wird der Synchronisati
onsbefehl in der normalen Ausführungssequenz ausgefürt.)
Bei dem bevorzugten Ausführungsbeispiel liefern viele Gleit
kommabefehle eine Routinesynchronisation. Der vorgegebene Satz
von Befehlen enthält einen Satz derartiger Gleitkommabefehle
des Befehlssatzes des Mikroprozessors, der die Fähigkeit hat,
eine Programm- bzw. Routinesynchronisation durchzuführen
Gleitkommabefehle, die von Natur aus nicht für eine solche
Synchronisation sorgen, gehören nicht zu dem vorgegebenen
Satz. Ebenfalls nicht zugehörig zu dem vorgegebenen Satz sind
Nicht-Gleitkommabefehle.
Vorteilhafte Weiterbildungen der Erfindung sind in den Un
teransprüchen gekennzeichnet.
Im folgenden wird die anhand der Zeichnung näher
erläutert. In der Zeichnung zeigen:
Fig. 1 ein Ablaufdiagramm eines bekannten Verfahrens
zum Implementieren von Synchronisationssteuer
flußbefehlen;
Fig. 2 ein Blockschaltbild von Teilen eines erfindungs
gemäß aufgebauten Computersystems; und
Fig. 3 ein Ablaufdiagramm zur Erläuterung des Verfah
rens nach der Erfindung.
Beschrieben wird ein Verfahren zur Verarbeitung von Befehlen
in einem Computersystem. In der folgenden Beschreibung werden
zahlreiche Details, beispielsweise spezielle Befehle usw.
bezeichnet, um das Verständnis für die vorliegende Erfindung
zu erleichtern. Es ist jedoch für den Fachmann klar, daß die
Erfindung auch ohne diese speziellen Details realisiert werden
kann. In anderen Fällen werden bekannte Schaltungen, Struktu
ren und Methoden nicht im einzelnen beschrieben, um die Erläu
terungen auf das Wesentliche der Erfindung zu beschränken.
Das beschriebene Ausführungsbeispiel der Erfindung dient der
Verwendung in der nächsten Generation von Mikroprozessoren der
Intel-8086-Familie, die allgemein als 80486-Mikroprozessor
bezeichnet wird.
Der neue '486-Mikroprozessor implementiert die Funktionen
eines Universalmikroprozessors (ähnlich den Funktionen des
Intel 80386-Mikroprozessors) und die Funktionen eines numeri
schen Coprozessors (diejenigen des Intel 80387 numerischen
Coprozessors) in einer einzigen Komponente oder auf einem
einzigen "Chip".
Es soll sichergestellt werden, daß der '486-Mikroprozessor in
der Lage ist, zur Ausführung auf dem 80386-Prozessor geschrie
bene Befehlsfolgen einschließlich Befehlsfolgen, welche einen
numerischen Coprozessor, wie den 80387, benutzen, auszuführen.
Solche Befehlsfolgen umfassen häufig Synchronisationsbefehle
zum Synchronisieren der Befehls-Ausführungen des 80386 und
80387.
Fig. 1 ist ein Ablaufdiagramm, das die Verwendung derartiger
Synchronisationsbefehle in einer Befehlsfolge veranschaulicht.
Eine typische Befehlsfolge kann einen Synchronisationsbefehl
enthalten, der den Hauptprozessor (z. B. den '386) in der Bear
beitung solange warten läßt, bis der numerische Coprozessor
zur Ausführung eines anderen Befehls zur Verfügung steht,
Block 101 und Block 102.
Typischerweise ist der Synchronisationsbefehl ein Wartebefehl.
Der Synchronisationsbefehl wird in die Befehlsfolge eingefügt,
um sicherzustellen, daß der numerische Coprozessor eine Aus
führung eines vorhergehenden Gleitkommabefehls beendet hat,
bevor der nächste Gleitkommabefehl zur Auführung vorgelegt
wird. (Der 80387 legt ein Belegt(BUSY)-Signal während der
Verarbeitung eines Befehls an. Nach Beendigung der Verarbei
tung des Befehls unterbricht der 80387 das Belegt-Signal. Der
80386 suspendiert die Ausführung während der Zeit, in der das
Belegt-Signal ansteht, wenn ein Wartebefehl ausgeführt wird.)
Es sei hier nur am Rande bemerkt, daß in vielen 80386-80387-
Implementierungen Programmierer in Befehlsfolgen keine Warte
befehle zu codieren haben. Viele Assembler für den 80386 co
dieren automatisch die Wartebefehle in der Befehlsfolge.
Nachdem der numerische Coprozessor angezeigt hat, daß er für
die Verarbeitung des nächsten Befehls zur Verfügung steht
(durch Unterbrechen des Belegt- bzw. BUSY-Signals), Block 103,
wird der nächste Befehl in der Befehlsfolge zur Ausführung
vorgelegt, Block 104. (Generell ist der nächste Befehl ein
Gleitkommabefehl; in bestimmten Fällen kann es sich dabei aber
auch um einen Nicht-Gleitkommabefehl handeln.)
Gewisse Befehle im '386-Befehlssatz umfassen einen Wartezu
stand als integraler Teil des Befehls. In solchen Fällen,
Zweig 110, wartet der Hauptprozessor mit der Ausführung des
nächsten Befehls in der Befehlsfolge, bis der numerische Pro
zessor die Verarbeitungsbeendigung signalisiert hat, Block 105
und Block 106. Typischerweise enthalten Gleitkommabefehle
einen Wartezustand als integraler Teil des Befehls, wobei der
Befehl auf Speicher und Register einwirkt, die auch von Befeh
len für den Universalmikroprozessor beeinflußt werden können.
In anderen Fällen beinhaltet der Gleitkommabefehl keinen War
tezustand als integraler Teil des Befehls. In solchen Fällen
wartet der Hauptprozessor nicht darauf, daß der numerische
Coprozessor den Befehl vollständig verarbeitet hat, Zweig 111.
Beispielsweise enthält diese zweite Art von Befehlsfolgen die
in Tabelle I angegebenen Befehle.
Tabelle I
(Zu beachten ist, daß die in Tabelle I aufgeführten Codes
Operationscodes ("opcodes") im '386-Befehlssatz und nicht
mnemonische Codes sind.)
In jedem Falle eines Befehls beginnt der Hauptprozessor die
Ausführung des nächsten Befehls in der Befehlsfolge zu irgend
einem Zeitpunkt, Block 107.
Weitere Informationen über die 80386/80367-Prozessoren sind
dem 80386 Mikroprozessorhandbuch von Chris H. Pappas & William
H. Murray, III: Osborne McGraw-Hill, 1988 zu entnehmen.
Der neue 80486-Mikroprozessor weist integriert auf einem ein
zigen Chip einen Universalmikroprozessor und einen numerischen
Coprozessor auf. Er weist außerdem eine Befehlsholschal
tung und eine Befehlsdecodierschaltung auf.
Die Holschaltung wird unter Bezugnahme auf Fig. 2 be
schrieben. Eine Holschaltung 202 ist mit einem Bus 201
gekoppelt. Dies befähigt die Holschaltung, die Befehle
für die Verarbeitung zu holen. Die Holschaltung 202 ist
außerdem mit einer Befehlsdecodierschaltung 203 gekoppelt. Die
Befehlsdecodierschaltung 203 wird von der Holschaltung
202 mit den zu decodierenden Befehlen versorgt. Die Befehlsde
codierschaltung 203 ist schließlich mit einer Ausführeinheit
204 gekoppelt, welche die mikrocodierten Befehle zur Ausfüh
rung liefert.
Die Holschaltung 202 fordert einen Befehl an und spei
chert den Befehl in einer Holwarteschlange, bis die
Befehlsdecodierschaltung 203 zur Verarbeitung des Befehls und
zu dessen Umsetzung in den Mikrocode zur Verfügung steht. Eine
Befehlswarteschlange in der Befehlsdecodierschaltung 203 hält
die mikrocodierten Befehle solange, bis sie von der Ausfüh
rungseinheit 204 ausgeführt werden.
Wie oben gesagt, ist es aus dem Stande der Technik bekannt,
zur Sicherstellung der richtigen Ausführung Synchronisations
befehle in Befehlssequenzen einzubeziehen. Die Lehre der Er
findung ist darauf gerichtet, daß in gewissen Fällen Synchro
nisationsbefehle zur Gewährleistung der richtigen Ausführung
der Befehlsfolge überflüssig sind.
Insbesondere lehrt die Erfindung, daß Synchronisationsbefehle
je nach Art des einem Synchronisationsbefehl unmittelbar fol
genden Befehls überflüssig werden können. Wenn der dem Syn
chronisationsbefehl unmittelbar folgende Befehl einen Wartezu
stand als integralen Teil des Befehls enthält, ist, wie gefun
den wurde, die Codierung eines Wartebefehls vor solch einem
Befehl unnötig.
Zweck der Erfindung ist es daher, ein Computersystem zur Ver
fügung zu stellen, welches die Kompatibilität mit für Systeme,
wie dem '386, geschriebenen Befehlsfolgen gewährleistet und
gleichzeitig die Leistungsfähigkeit des Computersystems er
höht, indem gewisse Synchronisationsbefehle aus diesen Be
fehlsfolgen entfernt werden.
Es ist zu beachten, daß in dem System gemäß dem beschriebenen
Ausführungsbeispiel ein Wartebefehl mindestens drei Taktzyklen
bis zur Beendigung erforderlich macht. Wie weiter unten genau
er erläutert werden wird, eliminiert das erfindungsgemäße
System gewisse Wartebefehle von der Ausführung und ersetzt den
Wartebefehl durch einen Null-Operationsbefehl. Bei dem beschriebenen
Ausführungsbeispiel bedingt der Null-Operationsbefehl für die Ausfüh
rung nur einen Taktzyklus.
Das Verfahren nach dem bevorzugten Beispiel verkürzt die Aus
führungszeit einer Befehlsfolge dadurch, daß selektierte Syn
chronisationsbefehle entfernt werden. Dieses Verfahren wird
unter Bezugnahme auf das Ablaufdiagramm gemäß Fig. 3 nachfol
gend erläutert.
In einer Befehlsfolge kann man auf einen Synchronisationsbe
fehl treffen, Block 301. Wie oben erwähnt, benutzen Befehls
folgen gewöhnlich den Wartebefehl des Befehlssatzes für die
8086-Familie von Mikroprozessoren als Synchronisationsbefehl.
Wie ebenfalls oben erwähnt, wird der Wartebefehl dazu verwen
det, den Universalprozessorteil des Computersystems warten zu
lassen oder die Ausführung von Befehlen zu suspendieren, bis
der numerische Prozessorteil des Computersystems seine Aufgabe
beendet hat.
Das erfindungsgemäße System enthält Mittel, um den nächsten
Befehl in der Befehlsfolge zu holen und zu prüfen, bevor der
nächste Befehl in der Befehlsfolge ausgeführt wird, Block 302.
In dem beschriebenen Beispiel wartet die Holschaltung,
bis der Bus verfügbar ist, und holt den nächsten Befehl und
speichert ihn in einer Holwarteschlange. In gewissen
Fällen, beispielsweise dann, wenn der Bus Anforderungen mit
höherer Priorität abfertigt, findet ein Holen nicht
statt.
Nimmt man an, daß die Holoperation erfolgreich war,
Block 303, so wird nach der Erfindung bestimmt, ob der geholte
Befehl ein solcher aus einem Befehlssatz ist, für den die
frühere Synchronisation unnötig ist. Es wurde gefunden, daß
Synchronisationsbefehle in Befehlsfolgen vor gewissen soge
nannten "sicheren" Befehlen nicht notwendig sind.
Bei dem beschriebenen Beispiel umfassen diese "sicheren" Be
fehle von dem numerischen Prozessor auszuführende Befehle, die
als integralen Bestandteil einen Wartezustand enthalten. (Ge
nerell sind in dem Befehlssatz des Prozessors des beschriebe
nen Ausführungsbeispiels diese Befehle die Gleitkommabefehle,
z. B. F2XM1, FABS, FADD; FADDP, FBLD, FBSTP usw.)
Der vorgegebene Satz von "sicheren" Befehlen des beschriebenen
Ausführungsbeispiels umfaßt nicht gewisse Gleitkommabefehle,
die über keine in den Befehl eingebaute Synchronisation verfü
gen. Beispiele dieser Befehle sind in obiger Tabelle I aufge
führt. Außerdem umfaßt der vorgegebene Satz sicherer Befehle
bei dem beschriebenen Beispiel keine Befehle, die vom Univer
salprozessor auszuführen sind (z. B. Nicht-Gleitkommabefehle,
wie LOOP, LSL, MOV, MULJ usw.).
So kann beispielsweise die in Tabelle II im einzelnen angege
bene Befehlsfolge zur Ausführung auf einem Computersystem
unter Verwendung eines 80386 geschrieben worden sein:
Befehl # | Befehl |
(1) | WAIT |
(2) | FINIT |
(3) | WAIT |
(4) | FILD Wortzeiger (0006) |
(5) | WAIT |
(6) | FLDPI |
(7) | WAIT |
(8) | FDIV ST, ST(1) |
Die mit 3, 5 und 7 in Tabelle II bezeichneten Synchronisati
onsbefehle sind für die richtige Ausführung der Befehlsfolge
auf einem den '486-Prozessor beinhaltenden Computersystem
nicht notwendig. Das erfindungsgemäße Verfahren ersetzt daher
diese Synchronisationsbefehle (Wartebefehle) durch einen Null-
Operationsbefehl, Block 305. Der Null-Operationsbefehl bedingt für seine Ausführung
nur einen Taktzyklus im Gegensatz zu einem Minimum von drei
Taktzyklen für den Wartebefehl.
Der Synchronisationsbefehl 1 in Tabelle II ist für das be
schriebene Computersystem notwendig und wird daher nicht durch
einen Null-Operationsbefehl ersetzt. Dieser Synchronisationsbefehl ist
notwendig, da der FINIT-Befehl keinen Wartezustand (WAIT) als
integralen Bestandteil des Befehls enthält.
Generell werden bei dem beschriebenen System solche Synchroni
sationsbefehle durch einen Null-Operationsbefehl ersetzt, die eine Routintesyn
chronisation liefernden Gleitkommabefehlen vorauslaufen. Der
Null-Operationsbefehl führt keine Operation aus; vielmehr beeinflußt er
nur die (E)IP-Register (Befehlszeigerregister).
In anderen Fällen, so beispielsweise bei Synchronisationsbe
fehlen, die Nicht-Gleitkommabefehlen vorauslaufen, und Syn
chronisationsbefehlen, die Gleitkommabefehlen ohne Programm-
bzw. Routinesynchronisation vorauslaufen, wird der Synchroni
sationsbefehl in der normalen, durch die Befehlsfolge vorgege
benen Weise ausgeführt, Block 306.
Die Erfindung beschreibt also ein Verfahren, mit dem Zeitstra
fen in Zuordnung zu Synchronisationsbefehlen vermieden werden
können.
Claims (15)
1. Verfahren zur Verarbeitung einer Befehlssequenz in
einem Computersystem, wobei die Befehlssequenz einen Syn
chronisationsbefehl aufweist,
wobei der Synchronisationsbefehl der Befehlssequenz geholt wird,
wobei nach dem Empfangen des Synchronisationsbefehls ein zweiter Befehl der Befehlssequenz geholt wird,
dadurch gekennzeichnet,
daß der zweite Befehl daraufhin überprüft wird, ob der zweite Befehl einer aus einem vorgegebenen Satz von Befehlen ist, und
daß ein den Synchronisationsbefehl ersetzender Null-Ope rationsbefehl ausgeführt wird, sofern der zweite Befehl ein Befehl aus dem vorgegebenen Satz von Befehlen war, und daß andernfalls der Synchronisationsbefehl ausgeführt wird.
wobei der Synchronisationsbefehl der Befehlssequenz geholt wird,
wobei nach dem Empfangen des Synchronisationsbefehls ein zweiter Befehl der Befehlssequenz geholt wird,
dadurch gekennzeichnet,
daß der zweite Befehl daraufhin überprüft wird, ob der zweite Befehl einer aus einem vorgegebenen Satz von Befehlen ist, und
daß ein den Synchronisationsbefehl ersetzender Null-Ope rationsbefehl ausgeführt wird, sofern der zweite Befehl ein Befehl aus dem vorgegebenen Satz von Befehlen war, und daß andernfalls der Synchronisationsbefehl ausgeführt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß der Null-Operationsbefehl in einem Taktzyklus ausgeführt
wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekenn
zeichnet, daß der vorgegebene Satz von Befehlen Gleitkomma
befehle mit standardmäßiger Synchronisation umfaßt.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß der Synchronisationsbefehl ein Warte-Be
fehl ist.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch
gekennzeichnet, daß vor dem Überprüfen des zweiten Befehls
zunächst überprüft wird, ob der zweite Befehl erfolgreich
geholt worden ist, und
daß der Synchronisationsbefehl ausgeführt wird, wenn
festgestellt wird, daß der zweite Befehl nicht erfolgreich
geholt worden ist.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch
gekennzeichnet, daß die Befehlssequenz von einem Bus durch
eine Befehlsholeinheit geholt wird.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch
gekennzeichnet, daß die Ausführung des Synchronisationsbe
fehls die Synchronisation der Ausführung zwischen einer
Mehrzweckverarbeitungseinheit und einer spezialisierten Ver
arbeitungseinheit sicherstellt.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet,
daß die Mehrzweckverarbeitungseinheit und die spezialisierte
Verarbeitungseinheit auf einem einzigen Bauelement inte
griert sind.
9. Verfahren nach Anspruch 7 oder 8, dadurch gekenn
zeichnet, daß die spezialisierte Verarbeitungseinheit ein
numerischer Prozessor ist.
10. Schaltung zum Ausführen einer Sequenz von Computer
befehlen,
wobei die Schaltung eine Befehlsholeinheit zum Holen von Befehlen zum Zwecke der Ausführung aufweist, wobei die Befehlsholeinheit einen Synchronisationsbefehl und einen zweiten Befehl aus einer Sequenz von Befehlen holen kann, und
wobei Ausführungseinrichtungen zum Ausführen der Sequenz von Computerbefehlen einschließlich des Synchronisationsbe fehls vorgesehen sind, dadurch gekennzeichnet,
daß eine Bestimmungseinrichtung derart eingekoppelt ist, daß sie die zuvor geholten Befehle empfangen und bestimmen kann, ob der zweite Befehl ein Befehl eines vorgegebenen Satzes von Befehlen ist, und wobei die Bestimmungsein richtung bewirkt, daß der Synchronisationsbefehl durch einen Null-Operationsbefehl ersetzt wird, wenn der zweite Befehl ein Befehl des vorgegebenen Satzes von Befehlen ist, und
daß die Ausführungseinrichtungen den Null-Operationsbe fehl ausführen können.
wobei die Schaltung eine Befehlsholeinheit zum Holen von Befehlen zum Zwecke der Ausführung aufweist, wobei die Befehlsholeinheit einen Synchronisationsbefehl und einen zweiten Befehl aus einer Sequenz von Befehlen holen kann, und
wobei Ausführungseinrichtungen zum Ausführen der Sequenz von Computerbefehlen einschließlich des Synchronisationsbe fehls vorgesehen sind, dadurch gekennzeichnet,
daß eine Bestimmungseinrichtung derart eingekoppelt ist, daß sie die zuvor geholten Befehle empfangen und bestimmen kann, ob der zweite Befehl ein Befehl eines vorgegebenen Satzes von Befehlen ist, und wobei die Bestimmungsein richtung bewirkt, daß der Synchronisationsbefehl durch einen Null-Operationsbefehl ersetzt wird, wenn der zweite Befehl ein Befehl des vorgegebenen Satzes von Befehlen ist, und
daß die Ausführungseinrichtungen den Null-Operationsbe fehl ausführen können.
11. Schaltung nach Anspruch 10, dadurch gekennzeichnet,
daß die Ausführungseinrichtungen umfassen:
einen spezialisierten Prozessor zum Ausführen zumindest einer ersten Teilmenge von Computerbefehlen; und
einen mit dem spezialisierten Prozessor gekoppelten Mehrzweckprozessor zum Ausführen zumindest einer zweiten Teilmenge von Computerbefehlen, wobei die zweite Teilmenge den Synchronisationsbefehl einschließt, wobei der Synchroni sationsbefehl den Mehrzweckprozessor veranlaßt, mit der wei teren Verarbeitung zu warten, bis der spezialisierte Prozes sor den Abschluß seiner Verarbeitung signalisiert.
einen spezialisierten Prozessor zum Ausführen zumindest einer ersten Teilmenge von Computerbefehlen; und
einen mit dem spezialisierten Prozessor gekoppelten Mehrzweckprozessor zum Ausführen zumindest einer zweiten Teilmenge von Computerbefehlen, wobei die zweite Teilmenge den Synchronisationsbefehl einschließt, wobei der Synchroni sationsbefehl den Mehrzweckprozessor veranlaßt, mit der wei teren Verarbeitung zu warten, bis der spezialisierte Prozes sor den Abschluß seiner Verarbeitung signalisiert.
12. Schaltung nach Anspruch 11, dadurch gekennzeichnet,
daß eine Befehlsdecodiereinheit zum Decodieren zuvor
geholter Befehle vorgesehen ist, wobei die Befehlsdecodier
einheit mit der Befehlsholeinheit, dem Mehrzweckprozessor
und dem spezialisierten Prozessor gekoppelt ist.
13. Schaltung nach einem der Ansprüche 10 bis 12, da
durch gekennzeichnet, daß die Befehlsholeinheit mit einem
Bus gekoppelt ist, um ein Holen des Synchronisationsbefehls
über diesen Bus zu gestatten.
14. Schaltung nach einem der Ansprüche 10 bis 13, da
durch gekennzeichnet, daß der spezialisierte Prozessor und
der Mehrzweckprozessor auf einem einzigen Bauelement inte
griert sind.
15. Schaltung nach einem der Ansprüche 10 bis 14, da
durch gekennzeichnet, daß der vorgegebene Satz von Befehlen
Gleitkommabefehle mit standardmäßiger Synchronisation um
faßt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33520389A | 1989-04-07 | 1989-04-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4010896A1 DE4010896A1 (de) | 1990-10-11 |
DE4010896C2 true DE4010896C2 (de) | 1998-07-02 |
Family
ID=23310718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4010896A Expired - Fee Related DE4010896C2 (de) | 1989-04-07 | 1990-04-04 | Verfahren und Schaltung zur Verarbeitung von Synchronisationsbefehlen |
Country Status (5)
Country | Link |
---|---|
JP (1) | JPH02287857A (de) |
DE (1) | DE4010896C2 (de) |
GB (1) | GB2230119B (de) |
HK (1) | HK112794A (de) |
IL (1) | IL93964A (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4783527B2 (ja) | 2001-01-31 | 2011-09-28 | 株式会社ガイア・システム・ソリューション | データ処理システム、データ処理装置およびその制御方法 |
JP4865960B2 (ja) | 2001-06-25 | 2012-02-01 | 株式会社ガイア・システム・ソリューション | データ処理装置およびその制御方法 |
US7383421B2 (en) | 2002-12-05 | 2008-06-03 | Brightscale, Inc. | Cellular engine for a data processing system |
US7107478B2 (en) | 2002-12-05 | 2006-09-12 | Connex Technology, Inc. | Data processing system having a Cartesian Controller |
US6993674B2 (en) | 2001-12-27 | 2006-01-31 | Pacific Design, Inc. | System LSI architecture and method for controlling the clock of a data processing system through the use of instructions |
US9304940B2 (en) * | 2013-03-15 | 2016-04-05 | Intel Corporation | Processors, methods, and systems to relax synchronization of accesses to shared memory |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4095278A (en) * | 1975-10-08 | 1978-06-13 | Hitachi, Ltd. | Instruction altering system |
US4439828A (en) * | 1981-07-27 | 1984-03-27 | International Business Machines Corp. | Instruction substitution mechanism in an instruction handling unit of a data processing system |
EP0226226A2 (de) * | 1985-12-19 | 1987-06-24 | Wang Laboratories Inc. | System für Gleitpunktoperationen |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4791557A (en) * | 1985-07-31 | 1988-12-13 | Wang Laboratories, Inc. | Apparatus and method for monitoring and controlling the prefetching of instructions by an information processing system |
-
1990
- 1990-02-15 GB GB9003483A patent/GB2230119B/en not_active Expired - Lifetime
- 1990-03-30 IL IL93964A patent/IL93964A/xx not_active IP Right Cessation
- 1990-04-04 DE DE4010896A patent/DE4010896C2/de not_active Expired - Fee Related
- 1990-04-05 JP JP2089296A patent/JPH02287857A/ja active Pending
-
1994
- 1994-10-20 HK HK112794A patent/HK112794A/xx not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4095278A (en) * | 1975-10-08 | 1978-06-13 | Hitachi, Ltd. | Instruction altering system |
US4439828A (en) * | 1981-07-27 | 1984-03-27 | International Business Machines Corp. | Instruction substitution mechanism in an instruction handling unit of a data processing system |
EP0226226A2 (de) * | 1985-12-19 | 1987-06-24 | Wang Laboratories Inc. | System für Gleitpunktoperationen |
Also Published As
Publication number | Publication date |
---|---|
GB2230119B (en) | 1993-04-21 |
IL93964A0 (en) | 1990-12-23 |
DE4010896A1 (de) | 1990-10-11 |
HK112794A (en) | 1994-10-27 |
JPH02287857A (ja) | 1990-11-27 |
GB2230119A (en) | 1990-10-10 |
GB9003483D0 (en) | 1990-04-11 |
IL93964A (en) | 1993-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2714805C2 (de) | ||
DE3587213T2 (de) | Verarbeitungseinheit mit der faehigkeit ein oder mehrere programme auszufuehren mit einer mehrzahl von funktionseinheiten. | |
DE3689394T2 (de) | Informationsverarbeitungsanlage mit einem Allzweckprozessor und einem Sonderzweckprozessor. | |
DE69130630T2 (de) | Synchrones Verfahren und Gerät für Prozessoren | |
DE60217157T2 (de) | Verfahren und vorrichtung zum binden von shadow-registern an vektorisierte interrupts | |
DE4302495C2 (de) | Einrichtung und Verfahren zum Bestimmen der Länge eines Befehls in einem sequentiellen Befehlsstrom | |
DE19983476B4 (de) | Verfahren und Schaltungsanordnung zur Einplanung von Operationen unter Verwendung einer Abhängigkeitsmatrix | |
DE69926365T2 (de) | Software-konfigurierbare technik zum priorisieren von unterbrechungen in einem auf einem mikroprozessor basierten system | |
DE2234867C2 (de) | Anordnung in einer Datenverarbeitungsanlage zum Steuern der Verarbeitung zweier voneinander unabhängiger Befehlsfolgen | |
DE102005010924A1 (de) | Architekturunterstützung zur selektiven Verwendung eines Modus mit hoher Zuverlässigkeit in einem Computersystem | |
DE69416485T2 (de) | Datenverarbeitungsgerät zum Behandeln von mehreren, geteilten Unterbrechungen | |
DE19983098B4 (de) | Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren | |
DE3852056T2 (de) | Koprozessor und Verfahren zu dessen Steuerung. | |
DE60009496T2 (de) | Mikroprozessor mit reduziertem kontextumschaltungsaufwand und verfahren | |
DE69233282T2 (de) | Datenverarbeitungsvorrichtung | |
DE4010896C2 (de) | Verfahren und Schaltung zur Verarbeitung von Synchronisationsbefehlen | |
DE69033031T2 (de) | Programmierbares Steuergerät | |
EP0799441B1 (de) | Verfahren zur steuerung von technischen vorgängen | |
DE69823302T2 (de) | Verfahren und Vorrichtung zum Verschieben von Daten | |
DE69031361T2 (de) | Taktsignalgeneratorsystem | |
DE3485915T2 (de) | Vektormaskierungssteuerungssystem. | |
DE69503010T2 (de) | Mikroprozessor zur Ausführung von Befehlen,von denen ein Teil des Operandfelds als Operationscode zu gebrauchen ist | |
DE3307194A1 (de) | Datenverarbeitungsanlage | |
DE10213860A1 (de) | Programmierbare Steuerung | |
DE2702722A1 (de) | Instruktionsinterpretation in elektronischen datenverarbeitungsanlagen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |