DE4010896A1 - Verfahren zur verarbeitung von synchronisationsbefehlen in einem computersystem - Google Patents
Verfahren zur verarbeitung von synchronisationsbefehlen in einem computersystemInfo
- Publication number
- DE4010896A1 DE4010896A1 DE4010896A DE4010896A DE4010896A1 DE 4010896 A1 DE4010896 A1 DE 4010896A1 DE 4010896 A DE4010896 A DE 4010896A DE 4010896 A DE4010896 A DE 4010896A DE 4010896 A1 DE4010896 A1 DE 4010896A1
- Authority
- DE
- Germany
- Prior art keywords
- command
- instruction
- synchronization
- commands
- wait
- 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
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000001514 detection method Methods 0.000 claims 1
- 229940036310 program Drugs 0.000 claims 1
- 230000006870 function Effects 0.000 description 4
- 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
- 238000010586 diagram Methods 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 238000011084 recovery 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
- 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 die Synchronisationssteuerung
in Computersystemen.
Der der Erfindung nächstkommende Stand der Technik ist nach
Auffassung der Anmelderin der Intel 80386-Mikroprozessor.
In Computersystemen mit dem ′386-Mikroprozessor wird eine
Anzahl von Komponenten, wie ein mathematischer Coprozessor
(typischerweise entweder der 80287 oder 80387 numerische Co
prozessor) usw. eingebaut. In solchen Computersystemen sind
der Universalmikroprozessor (d.h. der ′386) und der mathemati
sche Coprozessor getrennte, diskrete Komponenten.
Die Architektur des ′386 weist ebenso wie diejenige vieler
anderer Universalprozessoren Synchronisationsbefehle auf, und
solche Synchronisationsbefehle ermöglichen die Verarbeitungs
synchronisation zwischen den Komponenten in einem Computersy
stem unter Verwendung des ′386. Ein weiterer Synchronisations
befehl kann das Mittel zur Auslösung einer Fehlerprüfung dar
stellen.
Die Erfindung ist auf ein Verfahren zur Beschleunigung der
Ausführung einer Befehlsfolge in einen Computersytem gerich
tet, wobei Funktionen einer Universalprozessoreinheit und
einer Spezialprozessoreinheit unter gemeinsamer Steuerung
implementiert werden. Die Erfindung eliminiert einige Proble
me, die bisher durch Synchronisationsbefehle geschaffen wur
den.
Das erfindungsgemäße Verfahren stellt ein Auftreten eines
Synchronisationsbefehls während der Ausführung einer Befehls
folge fest und ersetzt den Synchronisationsbefehl durch einen
Nullbefehl. Bei dem bevorzugten Ausführungsbeispiel wird ein
1-Takt-Zyklus no-op-(operationslos)-Befehl als Nullbefehl
verwendet.
Der Mikroprozessor nach der Erfindung weist eine Befehlsvor
ausholeinheit zum Holen von Befehlen vor dem Ausführen eines
vorhergehenden Befehls auf. Derartige Vorausholeinheiten 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 Vorausholeinheit geholt. Wenn der
Befehl zu einem vorgegebenen Befehlssatz gehört, wird der
Synchronisationsbefehl nicht ausgeführt, sondern stattdessen
wird ein Nullbefehl 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 vorausgeholt zu werden. Wenn der
zweite Befehl nicht vorausgeholt wird, wird der Synchronisati
onsbefehl in der normalen Ausführungssequenz ausgeführt.)
Bei dem bevorzugten Ausführungsbeispiel liefern viele Gleit
punktbefehle eine Routinesynchronisation. Der vorgegebene Satz
von Befehlen enthält einen Satz derartiger Gleitpunktbefehle
des Befehlssatzes des Mikroprozessors, der die Fähigkeit hat,
eine Programm- bzw. Routinesynchronisation durchzuführen.
Gleitpunktbefehle, 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-Gleitpunktbefehle.
Im folgenden wird die Erfindung 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 Gleitpunktbefehls beendet hat,
bevor der nächste Gleitpunktbefehl zur Ausfü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
Gleitpunktbefehl; in bestimmten Fällen kann es sich dabei aber
auch um einen Nicht-Gleitpunktbefehl 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 Gleitpunktbefehle
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 Gleitpunktbefehl 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.
(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/80387-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 Befehlsvorausholschal
tung und eine Befehlsdecodierschaltung auf.
Die Vorausholschaltung wird unter Bezugnahme auf Fig. 2 be
schrieben. Eine Vorausholschaltung 202 ist mit einem Bus 201
gekoppelt. Dies befähigt die Vorausholschaltung, die Befehle
für die Verarbeitung zu holen. Die Vorausholschaltung 202 ist
außerdem mit einer Befehlsdecodierschaltung 203 gekoppelt. Die
Befehlsdecodierschaltung 203 wird von der Vorausholschaltung
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 Vorausholschaltung 202 fordert einen Befehl an und spei
chert den Befehl in einer Vorausholwarteschlange, 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 eine Null-Operation. Bei dem beschriebenen
Ausführungsbeispiel bedingt die Null-Operation 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 Vorausholschaltung,
bis der Bus verfügbar ist, und holt den nächsten Befehl und
speichert ihn in einer Vorausholwarteschlange. In gewissen
Fällen, beispielsweise dann, wenn der Bus Anforderungen mit
höherer Priorität abfertigt, findet ein Vorausholen nicht
statt.
Nimmt man an, daß die Vorausholoperation 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 Gleitpunktbefehle,
z.B. F2XM1, FABS, FADD/FADDP, FBLD, FBSTP usw.)
Der vorgegebene Satz von "sicheren" Befehlen des beschriebenen
Ausführungsbeispiels umfaßt nicht gewisse Gleitpunktbefehle,
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-Gleitpunktbefehle,
wie LOOP, LSL, MOV, MUL 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:
Tabelle II | |
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
befehl, Block 305. Der Nullbefehl 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 Nullbefehl ersetzt. Dieser Synchronisationsbefehl ist
notwendig, da der FINIT-Befehl keinen Wartezustand (WAIT) als
integraler Bestandteil des Befehls enthält.
Generell werden bei dem beschriebenen System solche Synchroni
sationsbefehle durch einen Nullbefehl ersetzt, die Routinesyn
chronisation liefernden Gleitpunktbefehlen vorauslaufen. Der
Nullbefehl 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-Gleitpunktbefehlen vorauslaufen, und Syn
chronisationsbefehlen, die Gleitpunktbefehlen 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 (17)
1. Verfahren zur Verarbeitung einer Befehlsfolge in einem
Computersystem
dadurch gekennzeichnet,
daß ein Synchronisationsbefehl in der Befehlsfolge geprüft und
durch einen Null-Operationsbefehl ersetzt wird (305, Fig. 3).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
ein zweiter Befehl in der Befehlsfolge nach dem Erhalt des
Synchronisationsbefehls geholt (302, Fig. 3) und daraufhin
geprüft wird, ob der zweite Befehl einer aus einem vorgegebe
nen Satz von Befehlen ist, daß bei Treffen auf einen Synchro
nisationsbefehl und Zugehörigkeit des Befehls zu dem vorgege
benen Befehlssatz der Synchronisationsbefehl durch einen Null
-Operationsbefehl (305) ersetzt wird oder daß der Synchronisa
tionsbefehl ausgeführt wird (306), wenn der zweite Befehl
nicht zu dem vorgegebenen Befehlssatz gehört.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet,
daß der Null-Operationsbefehl in einem Taktzyklus ausgeführt
wird.
4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet,
daß der vorgegebene Befehlssatz Gleitpunktbefehle mit Routine-
bzw. Programmsynchronisation enthält.
5. Verfahren nach einem der Ansprüche 2 bis 4, dadurch ge
kennzeichnet, daß der Synchronisationsbefehl ein Wartebefehl
ist.
6. Verfahren zur Verarbeitung einer wenigstens einen Syn
chronisationsbefehl enthaltenden Befehlsfolge in einem Compu
tersystem,
dadurch gekennzeichnet,
daß nach dem Empfang des Synchronisationsbefehls ein zweiter
Befehl geholt wird und daß bei einem ersten Satz vorgegebener
Bedingungen ein Nullbefehl anstelle des Synchronisationsbe
fehls zur Ausführung initiiert wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß
der Synchronisationsbefehl unter einem zweiten Satz von vorge
gebenen Bedingungen zur Ausführung initiiert wird (306, Fig.
3).
8. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß
der erste Satz von vorgegebenen Bedingungen die Feststellung
umfaßt, daß der zweite Befehl zu einem vorgegebenen Satz von
Befehlen gehört.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß
der vorgegebene Satz von Befehlen Gleitpunktbefehle mit Pro
gramm- bzw. Routinesynchronisation in einem Befehlssatz des
Computersystems enthält.
10. Verfahren nach einem der Ansprüche 6 bis 9, dadurch ge
kennzeichnet, daß der erste Satz vorgegebener Bedingungen die
Bedingung enthält, daß der zweite Befehl erfolgreich geholt
worden ist.
11. Verfahren nach einem der Ansprüche 7 bis 10, dadurch
gekennzeichnet, daß der zweite Satz von vorgegebenen Bedingun
gen die Feststellung enthält, daß der zweite Befehl nicht
erfolgreich geholt worden ist oder daß der zweite Befehl nicht
zu einem vorgegebenen Befehlssatz gehört.
12. Verfahren zur Ausführung einer Befehlsfolge in einem
Computersystem, das eine Universalprozessoreinheit und eine
Spezialprozessoreinheit unter gemeinsamer Steuerung enthält,
dadurch gekennzeichnet, daß ein Synchronisationsbefehl in der
Befehlsfolge festgestellt und vor der Ausführung des Synchro
nisationsbefehls aus der Befehlsfolge entfernt wird.
13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß
bei der Feststellung eines Synchronisationsbefehls außerdem
geprüft wird, ob ein zweiter, dem Synchronisationsbefehl un
mittelbar folgender Befehl zu einem vorgegebenen Satz von
Befehlen gehört, und daß die Entfernung des Synchronisations
befehls nur dann erfolgt, wenn der zweite Befehl zu dem vorge
gebenen Befehlssatz gehört.
14. Verfahren nach Anspruch 12 oder 13, dadurch gekennzeich
net, daß der Synchronisationsbefehl einen Befehl enthält, der
den Eintritt des Universalprozessors in einen Wartezustand
bewirkt.
15. Verfahren nach einem der Ansprüche 12 bis 14, dadurch
gekennzeichnet, daß ein Nullbefehl anstelle des Synchronisati
onsbefehls ausgeführt wird.
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, daß
der Nullbefehl in einem Taktzyklus ausgeführt wird.
17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß
der Synchronisationsbefehl ein Wartebefehl ist.
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 true DE4010896A1 (de) | 1990-10-11 |
DE4010896C2 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 | 株式会社ガイア・システム・ソリューション | データ処理装置およびその制御方法 |
US7107478B2 (en) | 2002-12-05 | 2006-09-12 | Connex Technology, Inc. | Data processing system having a Cartesian Controller |
US7383421B2 (en) | 2002-12-05 | 2008-06-03 | Brightscale, Inc. | Cellular engine for a data processing system |
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 |
---|---|
DE4010896C2 (de) | 1998-07-02 |
IL93964A (en) | 1993-07-08 |
HK112794A (en) | 1994-10-27 |
GB2230119B (en) | 1993-04-21 |
GB2230119A (en) | 1990-10-10 |
JPH02287857A (ja) | 1990-11-27 |
IL93964A0 (en) | 1990-12-23 |
GB9003483D0 (en) | 1990-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2714805C2 (de) | ||
DE69329778T2 (de) | System und verfahren zur handhabung von laden und/oder speichern in einem superskalar mikroprozessor | |
DE3650413T2 (de) | Verfahren und Vorrichtung zur Annulierung eines Befehls. | |
DE69600995T2 (de) | Fehlerbearbeitung in spekulativen befehlen | |
DE69503046T2 (de) | Mehrfachbefehlssatzabbildung | |
DE10297856B4 (de) | Verfahren und Vorrichtung zum Suspendieren der Ausführung eines Threads, bis ein spezifizierter Speicherzugriff auftritt | |
DE69028138T2 (de) | Mechanismus zur präzisen Behandlung von Ausnahmebedingungen in einem Prozessor mit gepaarten Befehlen | |
DE69130858T2 (de) | Überlappende Serienverarbeitung | |
DE69325086T2 (de) | Verfahren und System für spekulative Befehlsausführung | |
DE69904083T2 (de) | Anordnung und verfahren zum etikettieren und ungültig-erklären von spekulativ ausgeführten befehlen | |
DE10085152B4 (de) | Verfahren zum Erfassen von IEEE-Unterlauf-Ausnahmen bei spekulativen Gleitkommaoperationen | |
DE69623146T2 (de) | Verfahren und Vorrichtung zum Koordinieren der Benutzung von physikalischen Registern in einem Mikroprozessor | |
DE60115976T2 (de) | Rechnersystem und Interruptvorgang | |
DE4434895A1 (de) | Verfahren und Vorrichtung zur Erholung von Ablaufunterbrechungen in einem Computersystem | |
DE68924400T2 (de) | Fliessbanddatenverarbeitungsvorrichtung. | |
DE69621405T2 (de) | Verarbeitungssystem, prozessor, befehlsstromspeicher und kompilierer | |
DE3687893T2 (de) | Steuersystem fuer programmsprungoperation. | |
DE69031992T2 (de) | Steuerungssystem für die Ausführung von Befehlen | |
DE69128908T2 (de) | Verfahren zum Durchführen von erlässlichen Befehlen in einem Rechner | |
DE19824289A1 (de) | Pipelineverarbeitungsmaschine | |
DE19652290C2 (de) | Mikrocomputer | |
DE4010896A1 (de) | Verfahren zur verarbeitung von synchronisationsbefehlen in einem computersystem | |
EP0130269A2 (de) | Speicherprogrammierbare Steuerung | |
DE3307194A1 (de) | Datenverarbeitungsanlage | |
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 |