DE4010896C2 - Verfahren und Schaltung zur Verarbeitung von Synchronisationsbefehlen - Google Patents

Verfahren und Schaltung zur Verarbeitung von Synchronisationsbefehlen

Info

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
Application number
DE4010896A
Other languages
English (en)
Other versions
DE4010896A1 (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 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.
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 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.
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 Befehlsholschal­ tung und eine Befehlsdecodierschaltung auf.
Holschaltung
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.
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 einen Null-Operationsbefehl. Bei dem beschriebenen Ausführungsbeispiel bedingt der Null-Operationsbefehl 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 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.
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.
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.
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.
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 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)

* 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 株式会社ガイア・システム・ソリューション データ処理装置およびその制御方法
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)

* 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
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