DE4010896A1 - Verfahren zur verarbeitung von synchronisationsbefehlen in einem computersystem - Google Patents

Verfahren zur verarbeitung von synchronisationsbefehlen in einem computersystem

Info

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
Application number
DE4010896A
Other languages
English (en)
Other versions
DE4010896C2 (de
Inventor
Beatrice P Fu
Benny Eitan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE4010896A1 publication Critical patent/DE4010896A1/de
Application granted granted Critical
Publication of DE4010896C2 publication Critical patent/DE4010896C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation 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.
Beschreibung der 80386-Synchronisation
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.
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/80387-Prozessoren sind dem 80386 Mikroprozessorhandbuch von Chris H. Pappas & William H. Murray, III; Osborne McGraw-Hill, 1988 zu entnehmen.
=Generelle Architekturübersicht zu dem 80486
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.
Vorausholschaltung
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.
Erfordernis für Synchronisationsbefehle in dem beschriebenen Ausführungsbeispiel
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 erfindungsgemäße Verfahren
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.
DE4010896A 1989-04-07 1990-04-04 Verfahren und Schaltung zur Verarbeitung von Synchronisationsbefehlen Expired - Fee Related DE4010896C2 (de)

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)

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

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

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

Patent Citations (3)

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