[go: up one dir, main page]

DE68927911T2 - Datenverarbeitungssystem - Google Patents

Datenverarbeitungssystem

Info

Publication number
DE68927911T2
DE68927911T2 DE68927911T DE68927911T DE68927911T2 DE 68927911 T2 DE68927911 T2 DE 68927911T2 DE 68927911 T DE68927911 T DE 68927911T DE 68927911 T DE68927911 T DE 68927911T DE 68927911 T2 DE68927911 T2 DE 68927911T2
Authority
DE
Germany
Prior art keywords
instruction
instructions
processor
processors
floating
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
DE68927911T
Other languages
English (en)
Other versions
DE68927911D1 (de
Inventor
Gregory Frederick Grohoski
James Allan Kahle
Myhong Nguyenphu
David Scott Ray
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE68927911D1 publication Critical patent/DE68927911D1/de
Publication of DE68927911T2 publication Critical patent/DE68927911T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/3861Recovery, e.g. branch miss-prediction, exception handling
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

  • Diese Erfindung betrifft Datenverarbeitungssysteme, die eine Vielzahl einzelner Verarbeitungseinheiten enthalten.
  • Herkömmliche Datenverarbeitungssysteme führen eine Folge von Befehlen nacheinander aus. In einem Datenverarbeitungssystem, das mehrere Verarbeitungseinheiten enthält, wird die Decodierung der Befehle normalerweise zentralisiert, um sicherzustellen, daß jeder Befehl gemäß seiner Position in der Folge decodiert wird.
  • Das IBM Technical Disclosure Bulletin, Band 25, Nummer 3B, August 1982, Seiten 1637 bis 1638, mit dem Titel "Multiprocessor Synchronization Design Method" beschreibt einen Prozeß, bei dem eine Gruppe von Prozessoren gleichzeitig feststellen können, ob sich einer von ihnen in einem angegebenen Status befindet. Am Ende des Prozesses haben alle Prozessoren ihren aktuellen Status gegenseitig vereinbart.
  • Das IBM Technical Disclosure Bulletin, Band 30, Nummer 7, Dezember 1987, Seiten 98 bis 99, mit dem Titel "Synchronization Processing Elements for Highly Parallel Multiprocessors Systems", beschreibt ein Verfahren, bei dem eine Computerarchitektur im Mehrprozessorbetrieb durch die Verwendung eines Synchronisierungs-Verarbeitungselementes verbessert wird, um den Synchronisationsaufwand in einem Mehrprozessor-Computersystem mit hoher Parallelität auf ein Minimum herabzusetzen.
  • Das IBM Technical Disclosure Bulletin, Band 29, Nummer 10, März 1987, mit dem Titel "Run-Time Algorithm for Distributed Processing Synchronization and Address Calculations", Seiten 4658 bis 4687, beschreibt Einmalalgorithmen, die sich in jedem verteilten Verarbeitungselement einer Architektur mit verteilter Verarbeitung befinden. Diese Einmalalgorithmen führen die zeitliche Planung einer Adressenberechnung für jedes der verteilten Verarbeitungselemente auf eine koordinierte Weise mit den anderen verteilten Verarbeitungselementen in einem Netzwerk aus.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Mehrprozessorsystem bereitzustellen, um eine Folge von Befehlen auf eine Weise auszuführen, daß die Befehle sequentiell ausgeführt werden, auch wenn sich die tatsächliche Ausführung einzelner Befehle durch einzelne Prozessoren außerhalb der Folge befinden kann. Entsprechende Systeme mit den Merkmalen, wie sie in der Einleitung von Anspruch 1 dargelegt werden, sind aus den Patentschriften WO-A-8807239 bzw. EP-A-0 226 226 bekannt.
  • Die vorliegende Erfindung stellt ein Datenverarbeitungssystem bereit, wie es in Anspruch 1 dargelegt ist.
  • In einem Beispiel der vorliegenden Erfindung, die im folgenden ausführlicher beschrieben wird, wird ein Datenverarbeitungssystem bereitgestellt, das eine Befehlsspeicherschaltung zur Speicherung einer Folge von Befehlen enthält, die den Betrieb von zwei Prozessoren benötigt. Es sind mindestens zwei Prozessoren enthalten, wobei jeder Befehle aus dem Befehlsspeicher ausführt. Es wird eine Befehlszuteilungsschaltung zur Zuteilung jedes Befehls zu mindestens einem der Prozessoren bereitgestellt. Mindestens einer der Prozessoren enthält eine Schaltung zum Ausführen zugeteilter Befehle vor der Ausführung eines vorhergehenden Befehls in der Befehlsfolge durch einen anderen Prozessor.
  • Ein einzelner Befehlspuffer, der eine Folge von Befehlen speichert. Von mindestens einem der Befehle in dieser Folge wird angenommen, daß er den Betrieb beider Prozessoren benötigt. Die Befehlsspeicherschaltung ist mit den beiden Prozessoren verbunden. Jeder Prozessor führt Befehle aus der Befehlsspeicherschaltung aus. Eine Befehlszuteilungsschaltung teilt jeden Befehl mindestens einem der Prozessoren zu. Mindestens ein Prozessor hat die Fähigkeit, zugeteilte Befehle vor der Ausführung eines vorhergehenden Befehls in der Befehlsfolge durch einen anderen Prozessor auszuführen.
  • Wie beschrieben wird, ist ein Prozessor ein Festkommaarithmetik- Prozessor, und der zweite Prozessor ist ein Gleitkommaarithmetik-Prozessor. Die Befehlsfolge enthält sowohl Befehle für den Festkommaprozessor selbst als auch für den Gleitkommaprozessor selbst. Die Befehlsfolge enthält jedoch auch Gleitkomma-Lade- und Speicherbefehle, die, wie um der Veranschaulichung willen vorausgesetzt wird, den Betrieb sowohl des Festkommaprozessors als auch des Gleitkommaprozessors benötigen. Insbesondere führt der Festkommaprozessor Adressenberechnungen zur Ausführung der Lade- und Speicherbefehle für die Gleitkommabefehle aus.
  • Im allgemeinen hat jeder Prozessor, der zugeteilte Befehle vor der Ausführung vorhergehender Befehle durch einen anderen Prozessor ausführen kann, außerdem die Fähigkeit, die Ausführung seines Befehls, der sich vor der Folge befindet, zu verzögern, wenn der Befehl es erforderlich macht, daß ein Arbeitsgang von einem anderen Pozessor ausgeführt wird. In der beschriebenen Anordnung führt der Gleitkommaprozessor den Gleitkommabefehl nicht aus, wenn der Gleitkommabefehl den Betrieb des Festkommaprozessors benötigt.
  • Außerdem hat jeder Prozessor, der einen zugeteilten Befehl vor der Ausführung eines vorhergehenden Befehls durch einen anderen Prozessor ausführen kann, außerdem die Fähigkeit, die Ausführung eines unterbrechbaren Befehls eines Typs, der eine Unterbrechungsbedingung für den Prozessor erzeugen kann, zu verzögern, bis der unterbrechbare Befehl in seiner angemessenen sequentiellen Reihenfolge mit der Ausführung der anderen Befehle ausgeführt wird.
  • Die vorliegende Erfindung wird beispielhaft mit Bezugnahme auf eine Ausführungsform davon näher beschrieben, wie in den begleitenden Zeichnungen dargestellt wird, in denen:
  • Figur 1 ein Blockdiagramm zweier Verarbeitungseinheiten ist, die mit einem allgemeinen Befehls-Cache und einem allgemeinen Speicher verbunden sind;
  • Figur 2 ein Flußdiagramm ist, das eine Steuerfunktion für den Gleitkommaprozessor darstellt;
  • Figur 3 ein Flußdiagramm ist, das die Steuerfunktion für den Festkommaprozessor darstellt;
  • Figur 4 eine Liste von Gleitkomma- und Festkommabefehlen ist, die keine Unterbrechungen erzeugen;
  • Figur 5 ein Zeitdiagramm für die Ausführung der Befehlsfolge aus Figur 4 ist;
  • Figur 6 eine Befehlsfolgenliste ist, die einen einzigen unterbrechbaren Befehl enthält;
  • Figur 7 ein Zeitdiagramm ist, das die Ausführung der Befehlsfolge in Figur 6 darstellt;
  • Figur 8 eine Befehlsfolge ist, die einen unterbrechbaren Befehl enthält, wobei tatsächlich eine Unterbrechung stattfindet; und
  • Figur 9 ein Zeitdiagramm ist, das die Ausführung der Befehlsfolge in Figur 8 darstellt.
  • Die beschriebene Anordnung spricht das Problem der Mehrprozessorsynchronisierung an. In der dargestellten Umgebung wird insbesondere eine Synchronisierung zwischen einem Festkommaprozessor und einem Gleitkommaprozessor benötigt. Dieser Bedarf ergibt sich daraus, daß der Festkommaprozessor Adressenberechnungen für die Ausführung der Gleitkomma-Lade- und Speichervorgänge im Gleitkommaprozessor ausführen muß. Ein anderer Bereich, der eine Synchronisierung benötigt, ergibt sich daraus, daß der Gleitkommaprozessor unterbrechbare Befehle vor dem Festkommaprozessor ausführen kann. In diesem Fall verhindert eine Synchronisierung, daß der Gleitkommaprozessor unterbrechbare Befehle vor dem Festkommaprozessor ausführt.
  • Der Festkommaprozessor 6 ist über eine Steuerleitung 29, die ein Mittel zur Übertragung mehrerer Steuersignale darstellt, mit dem Gleitkommaprozessor 8 verbunden. Der Festkommaprozessor 6 und der Gleitkommaprozessor 8 sind außerdem mit einem allgemeinen Befehls-Cache 10 und einem einzelnen Speicher 80 verbunden. Der Festkommaprozessor 6 enthält einen Befehlsvorabrufpuffer 20, der mit dem Befehls-Cache 10 verbunden ist. Der Befehlsvorabrufpuffer 20 empfängt eine Befehlsfolge aus dem Befehls-Cache 10. Das heißt, die Befehle aus dem Befehlsvorabrufpuffer 20 werden in der Decodierschaltung 22 decodiert, um der Registerdatei 24 und der Steuerschaltung 30 Informationen zu liefern. In der bevorzugten Ausführungsform enthält das Register 24 des Festkommaprozessors 6 32 einzeln adressierbare Register. Die Ausgänge der Registerdatei 24 sind mit einem Rechenwerk (ALU) 26 verbunden. Der Ausgang des ALU 26 ist mit der Registerdatei 24 rückverbunden. Der Festkommaprozessor 6 enthält außerdem die Ein-/Ausgabe- (E/A-) Schaltung 28, die mit der Registerdatei 24 und der Steuerschaltung 30 verbunden ist. Die E/A-Schaltung 28 ist mit dem externen Speicher 80 verbunden. Die Steuerschaltung 30 des Festkommaprozessors 6 steuert die internen Arbeitsgänge des Festkommaprozessors 6, den Zugriff auf den externen Speicher 80 durch die E/A-Schaltung 28 und die Synchronisierung mit dem Gleitkommaprozessor 8.
  • Der Gleitkommaprozessor 8 enthält einen Befehlsvorabrufpuffer 40, der mit dem Befehls-Cache 10 verbunden ist. Eine Decodierschaltung 42 wird zum Decodieren von aus dem Befehlsvorabrufpuffer 40 empfangenen Befehlen bereitgestellt. Eingänge der Decodierschaltung 42 sind mit der Steuerschaltung 52 des Gleitkommaprozessors und mit der Registerdatei 44 verbunden. Ausgänge der Registerdatei 44 sind mit einer Exponentialaddiererschaltung 50 und einer Multiplizierschaltung 48 verbunden. Der Ausgang des Multiplizierers 48 ist mit einem Addierer 54 verbunden, dessen Ausgang seinerseits mit einer Rundungsschaltung 56 verbunden ist. Außerdem sind Steuereingänge der Steuerlogik 52 mit dem Exponentialaddierer 50, dem Multiplizierer 48, dem Addierer 54 und der Rundungsschaltung 56 verbunden. In der bevorzugten Ausführungsform führt der Exponentialaddierer exponentielle Operationen für Gleitkommarechnungen durch und stellt außerdem die Schiebesteuerung für den Multiplizierer 48 bereit. Der Multiplizierer 48 ist ein wallace-tree-Multiplizierer, der die Architektur eines schnellen Dreioperandenaddierers verwendet. Die Exponentialaddiererschaltung 50 ist eine Addiererschaltung zur Addition oder Subtraktion des Exponenten für die Multiplikationsoperationen. Diese Exponenteninformationen werden verwendet, um Additionsoperanden zur Addition im Ergebnis des Multiplikationsoperators auszurichten.
  • Die Rundungsschaltung 56 erhöht das Ergebnis aus dem Addierer 54, um der Registerdatei 44 ein abgerundetes Ergebnis zu liefern. Der Gleitkommaprozessor 8 enthält außerdem eine Ein-/Ausgabe- (E/A-) Schaltung 46, die mit dem externen Speicher 80 verbunden ist. Die E/A-Schaltung 46 ist außerdem mit der Steuerschaltung 52 verbunden. Wie beim Festkommaprozessor 6 stellt die Steuerschaltung 52 die interne Steuerung der im Gleitkommaprozessor 8 ausgeführten Gleitkommaoperationen bereit. Außerdem ist die Gleitkommasteuerung 52 über die Leitung 29 mit der Festkommaprozessorsteuerung 50 verbunden, um Synchronisierungssignale vom Festkommaprozessor 6 zu empfangen.
  • In der beschriebenen Anordnung dient der Speicher 80 als ein Mittel zur Datenübertragung zwischen dem Festkommaprozessor 6 und dem Gleitkommaprozessor 8, falls dies benötigt wird. Außerdem speichert der Befehls-Cache 10 die Befehlsfolge sowohl für den Festkommaprozessor 6 als auch für den Gleitkommaprozessor 8. Die Befehlsfolge wird sowohl dem Befehlsvorabrufpuffer 20 des Festkommaprozessors 6 als auch dem Befehlsvorabrufpuffer 40 des Gleitkommaprozessors 8 zur Verfügung gestellt. Mit anderen Worten, dieselben Befehle werden beiden Vorabrufpuffern 20 und 40 zur Verfügung gestellt.
  • Der Festkommaprozessor 6 ist eine 32-bit breite Verarbeitungseinheit. Der Gleitkommaprozessor 8 ist eine 64-bit breite Gleitkommaeinheit.
  • Figur 2 stellt den Steuerfluß in der Steuereinheit 52 für den Gleitkommaprozessor dar. Insbesondere stellt dieser Steuerfluß die Steuerung der Synchronisierungsfunktion zwischen dem Festkommaprozessor 6 und dem Gleitkommaprozessor 8 dar. Anfangs wird ein Befehl im Schritt 100 von Figur 2 aus dem Befehlsvorabrufpuffer 40 in die Decodierschaltung 42 geschoben. Im Schritt 102 wird dieser Befehl decodiert. Im Schritt 104 wird eine Entscheidung getroffen, ob der Befehl, der decodiert wurde, ein unterbrechbarer Befehl ist oder nicht. Zum Zwecke der Erläuterung sind hier nur Lade- und Speicherbefehle für den Gleitkommaprozessor 8 unterbrechbar. Falls der Befehl, der decodiert wurde, nicht unterbrechbar ist, wird im Schritt 106 die Entscheidung getroffen, ob der Befehl ein Gleitkommabefehl ist oder nicht. Ist dies nicht der Fall, kehrt die Steuerfunktion zurück zum Schritt 100. Dies erfolgt, falls der Befehl, der decodiert wird, tatsächlich ein Festkommaarithmetikbefehl ist. Zurück bei Schritt 106 wird, falls der decodierte Befehl ein Gleitkommabefehl ist, der Gleitkommabefehl im Schritt 108 ausgeführt. Die Steuerfunktion kehrt bei Beendigung der Befehlsausführung wieder zum Schritt 100 zurück.
  • Zurück beim Schritt 104 geht die Steuerung, falls der decodierte Befehl ein unterbrechbarer Befehl ist, weiter zum Schritt 110, um die Lösch- und Synchronisierungssignale zu überwachen. Die Lösch- und Synchronisierungssignale werden in Figur 1 als die Leitung 29 dargestellt, die die Steuerschaltung 30 des Festkommaprozessors 6 mit der Steuerschaltung 52 des Gleitkommaprozessors 8 verbindet. Im Schritt 112 wird eine Entscheidung getroffen, ob das Löschsignal empfangen wurde oder nicht, und falls es empfangen wurde, werden alle Befehle im Befehlsvorabrufpuffer 40 im Schritt 116 gelöscht, und der Steuerfluß kehrt zum Schritt 100 zurück. Zurück beim Schritt 112 wird, falls kein Löschsignal empfangen wurde, im Schritt 114 eine Entscheidung getroffen, ob ein Synchronisierungssignal empfangen wurde. Ist dies nicht der Fall, kehrt der Steuerfluß zurück zum Schritt 100, um wiederum auf diese beiden Signale hin zu überwachen. Falls ein Synchronisierungssignal empfangen wurde, lenkt der Schritt 114 den Steuerfluß zum Schritt 106, um festzustellen, ob der auszuführende Befehl ein Gleitkommabefehl ist. Auf diese Weise empfängt der Gleitkommaprozessor 8 Synchronisierungssignale vom Festkommaprozessor 6. Es sollte jedoch klar sein, daß der Gleitkommaprozessor 8 keine Synchronisierungssignale vom Festkommaprozessor 6 benötigt, falls ein Befehl nicht unterbrechbar ist. Daher ist es in dieser Anordnung durchaus zulässig, daß der Gleitkommaprozessor 8 Befehle vor der Folge von dem durch den Festkommaprozessor 6 ausgeführten Befehl ausführt.
  • In Figur 3 wird der Steuerfluß für den Festkommaprozessor 6 dargestellt. Im Schritt 200 wird der nächste Befehl aus dem Befehlsvorabrufpuffer 20 in die Decodierschaltung 22 geschoben. Dieser Befehl wird im Schritt 202 decodiert. Im Schritt 204 wird festgestellt, ob der Befehl ein Festkommaeinheit-Befehl oder ein Gleitkommaeinheit-Befehl ist oder nicht. Falls der Befehl kein Gleitkommaeinheit-Befehl ist, wird der Steuerfluß zum Schritt 200 gelenkt. Falls der Befehl jedoch ein Festkommaeinheit-Befehl ist, geht der Steuerfluß weiter zum Schritt 206. Es muß klar sein, daß ein Gleitkommalade- und ein Gleitkommaspeichervorgang vom Festkommaprozessor 6 als Festkommabefehle betrachtet werden, da sie Berechnungen von Festkommaadressen durch den Festkommaprozessor 6 benötigen. Daher bewirken alle Gleitkommabefehle, die keinen Arbeitsgang benötigen, der innerhalb des Festkommaprozessors 6 ausgeführt werden muß, daß der Steuerfluß zum Schritt 200 zurückkehrt. Andererseits bewirkt jeder Festkommaeinheit-Befehl, der den Betrieb des Festkommaprozessors 6 benötigt, oder ein Gleitkommalade- oder -speicherbefehl, daß der Steuerfluß zum Schritt 206 weitergeht, um den Befehl auszuführen. Im Schritt 208 wird eine Entscheidung getroffen, ob die Befehlsausführung beendet wurde oder nicht; falls nicht, geht die Befehlsausführung im Schritt 206 weiter. Nach der Befehlsausführung geht der Steuerfluß weiter zum Schritt 210, um festzustellen, ob der Befehl tatsächlich unterbrechbar ist. Falls der Befehl nicht unterbrechbar ist, kehrt der Steuerfluß zurück zum Schritt 200. Falls der Befehl jedoch unterbrechbar ist, wird im Schritt 212 eine Entscheidung getroffen, ob tatsächlich eine Befehlsunterbrechung stattgefunden hat oder nicht. Falls die Befehlsunterbrechung nicht stattgefunden hat, geht der Steuerfluß weiter zum Schritt 214, um das Synchronisierungssignal auf der Leitung 29 (Figur 1) zur Steuerschaltung 52 des Gleitkommaprozessors 8 zu senden. Danach kehrt der Steuerfluß zum Schritt 200 zurück.
  • Falls eine Befehlsunterbrechung stattgefunden hat, geht der Steuerfluß weiter zum Schritt 216, um
  • (1) ein Löschsignal auf der Leitung 29 (Figur 1) zur Steuerschaltung 52 des Gleitkommaprozessors 8 zu senden und
  • (2) eine Löschung des Befehlsvorabrufpuffers 20 bereitzustellen.
  • Nach der Beendigung von Schritt 216 kehrt der Steuerfluß zum Schritt 200 zurück.
  • Es sollte klar sein, daß der Grund, warum eine Unterbrechung zum Löschen der Befehlsvorabrufpuffer 20 und 40 führt, darin besteht, daß die Software zur Unterbrechungsbearbeitung ausgeführt wird, daher werden die in den Befehlsvorabrufpuffern verbleibenden Befehle, die vor dem Auftreten der Unterbrechung vorhanden waren, nicht ausgeführt. Durch das Löschen der Befehlsvorabrufpuffer 20 und 40 ist der Befehls-Cache 10 nun frei, um die geeigneten Befehle zur Ausführung nach dem Auftreten der Unterbrechung zu laden.
  • Ein anderer zu beachtender Punkt in Figur 3 ist, daß entweder ein Löschsignal im Schritt 216 erzeugt wird oder ein Synchronisierungssignal im Schritt 214 erzeugt wird, falls der Befehl unterbrechbar ist. Mit erneutem Bezug auf Figur 2 wartet die Gleitkommaeinheit nicht auf den Empfang irgendeines Synchronisierungssignals vom Festkommaprozessor 6, falls ein Befehl nicht unterbrechbar ist. Die Figuren 4 und 5 stellen den Betrieb der beiden Prozessoren 6 und 8 dar. In Figur 4 ist eine Liste von Befehlen zusammen mit der Anzahl der zur Ausführung jedes aufgelisteten Befehls benötigten Zyklen dargestellt, und es ist dargestellt, ob die Befehle unterbrechbar sind oder nicht. In dem in Figur 4 aufgelisteten Beispiel ist keiner der Befehle unterbrechbar. Einer der Befehle (FXU-MUL3) benötigt jedoch vier Zyklen zur Ausführung. FPU stellt einen Gleitkommaeinheit-Befehl dar. FXU stellt einen Festkommaeinheit-Befehl dar. Daher werden die Gleitkommaeinheit-Befehle im Gleitkommaprozessor 8 und die Festkommaeinheit-Befehle im Festkommaprozessor 6 ausgeführt.
  • Figur 5 ist ein Zeitdiagramm, das den in Pipelineverarbeitung erfolgenden Betrieb von sowohl dem Festkommaeinheit-Prozessor 6 (FXU) als auch dem Gleitkommaprozessor 8 (FPU) für mehrere Zyklen (1 bis 10) darstellt. Die Arbeitsgänge in Pipelineverarbeitung enthalten Verschieben, Decodieren und Ausführen. Die Synchronisierungs- und Löschleitungen stellen das Auftreten von Synchonisierungs- oder Löschsignalen dar.
  • Bezugnehmend auf Figur 5 wird im Zyklus 1 der Befehl ADD1 von den Befehlsvorabrufpuffern 20 bzw. 40 der Festkommaeinheit und der Gleitkommaeinheit empfangen. Im Zyklus 2 wird ADD1, wie gezeigt wird, von beiden decodiert. Außerdem wird der Befehl ADD2 in die Vorabrufpuffer 20 und 40 für beide Prozessoren 6 und 8 geschoben. Im Zyklus 3 wird der Mehrfachbefehl (MUL3) in die Puffer 40 und 40 geschoben. Der Befehl ADD2 wird von beiden Prozessoren 6 und 8 decodiert. Der Befehl ADD1 wird jedoch nur vom Gleitkommaprozessor 8 ausgeführt, da er ein Gleitkommabefehl ist. Im Zyklus 4 wird der Befehl ADD4 verschoben, der Befehl MUL3 wird decodiert, und der Befehl ADD2 wird vom Festkommaprozessor 6 ausgeführt, da er ein Festkommabefehl ist. Im Zyklus 5 wird der Befehl ADD5 in die Puffer 20 und 40 geschoben. Der Befehl ADD4 wird von beiden Prozessoren 6 und 8 decodiert, und der Befehl MUL3 wird im Festkommaprozessor 6 ausgeführt. Im Zyklus 6 verbleibt der Befehl ADD5 im Puffer 20, während der Befehl ADD6 in den Puffer 40 des Gleitkommaprozessors 8 geladen wird. Der Befehl ADD5 im Festkommaprozessor 6 wird ebenfalls decodiert, wenn er sich im Gleitkommaprozessor 8 befindet. Die Ausführung des Mehrfachbefehls (MUL3) wird im Festkommaprozessor 6 fortgesetzt. Es ist zu beachten, daß der Befehl ADD4 vom Gleitkommaprozessor 8 ausgeführt wird, selbst wenn sich der Befehl Gleitkommabefehl ADD4 vor der Folge befindet. Im Zyklus 7 wird die Ausführung des Befehls MUL3 fortgesetzt, während der Befehl ADD6 im Gleitkommaprozessor 8 decodiert wird. Im Zyklus 8 wird die Ausführung des Befehls MUL3 im Festkommaprozessor 6 fortgeführt, und der Befehl ADD6 wird im Gleitkommaprozessor 8 ausgeführt. Im Zyklus 9 wird der Befehl ADD6 in der Festkommaeinheit des Festkommaprozessors 6 decodiert, obwohl er bereits vom Gleitkommaprozessor ausgeführt wurde. Außerdem wird der Befehl ADD5 im Festkommaprozessor 6 ausgeführt. Da der Befehl ADD6 ein Gleitkommabefehl ist, der tatsächlich vor dem Befehl ADD5 ausgeführt wurde (d.h. vor der Folge), muß keiner der Prozessoren im Zyklus 10 irgendeinen Vorgang in Pipelineverarbeitung ausführen.
  • Die Figuren 6 und 7 stellen wiederum ein Beispiel eines Befehlsflusses für den Festkommaprozessor 6 und den Gleitkommaprozessor 8 dar. In diesem Beispiel muß jedoch ein Gleitkomma-Ladebefehl ausgeführt werden. Figur 7 stellt die Ausführung der Arbeitsgänge in Pipelineverarbeitung auf eine ähnliche Weise wie in Figur 5 dar. Daher ist die Erläuterung für die Ausführung der Arbeitsgänge in Pipelineverarbeitung vor den für den Gleitkommaladevorgang benötigten Arbeitsgängen nicht ausführlich, da es die gleichen wie zuvor sind. Im Zyklus 5 wird der Gleitkommaladebefehl in beide Puffer 20 und 40 geladen. Im Zyklus 6 wird dieser Befehl decodiert. Es ist jedoch zu beachten, daß der Festkommaprozessor 6 einen Mehrfachbefehl MUL3, der drei Zyklen benötigt, ausführt. Daher wartet der Ladebefehl im Zyklus 7 immer noch auf die Ausführung im Festkommaprozessor 6, obwohl der Ladebefehl im Gleitkommaprozessor 8 decodiert wurde; der Ladebefehl wird nicht ausgeführt, da er auf die Ausführung des Adressenberechnungsvorgangs im Festkommaprozessor 6 warten muß. Der Befehl ADD6, der nach dem Ladebefehl kommt, wird jedoch decodiert. Im Zyklus 8 wird vom Festkommaprozessor 6 ein Synchronisierungssignal bereitgestellt, sobald der Ladevorgang im Festkommaprozessor 6 ausgeführt worden ist. Nach dem Auftreten des Synchronisierungssignals führt der Gleitkommaprozessor 8 seine Arbeitsgänge für den Ladebefehl aus. Zuletzt erfolgt die Ausführung des Befehls ADD6.
  • Die Figuren 8 und 9 liefern außerdem eine andere Darstellung einer Befehlsfolge. Diese Befehlsfolge ist ähnlich wie diejenige aus Figur 6, jedoch ist der Gleitkommaladebefehl, der lediglich in Figur 6 unterbrechbar ist, nun ein Festkommaladevorgang, der in Figur 8 eine Unterbrechung erzeugt. Das Zeitdiagramm für die Befehlsliste in Figur 8 wird wieder in Figur 9 dargestellt. Der Unterschied zwischen Figur 9 und Figur 7 befindet sich im Zyklus 8. Es ist zu beachten, daß vom Festkommaprozessor 6 ein Löschsignal bereitgestellt wird, da der Befehl (der Festkommaladevorgang) das Auftreten einer Unterbrechung bewirkt hat. Nach dem Empfang des Löschsignals löscht der Gleitkommaprozessor 6 den Inhalt des Befehlsvorabrufpuffers 40. Außerdem löscht der Gleitkommaprozessor 6 nach der Erzeugung des Löschsignals den Inhalt seines Befehlsvorabrufpuffers 20.
  • In der beschriebenen Anordnung entstehen die Unterbrechungen für die Lade- und Speicherbefehle, wenn ein Seitenfehler (d.h. nicht im Speicher) auftritt. Mit anderen Worten, es wird ein Daten- Cache bereitgestellt, und falls ein zu ladender Befehl nicht im Daten-Cache oder im Speicher enthalten ist, muß ein Arbeitsgangausgeführt werden, um diese Daten aus einem externen Speicher abzurufen. Das Abrufen des Arbeitsgangs aus einem externen Speicher benötigt viele Zyklen, und die Befehlsfolge zum Bereitstellen dieses Abrufs ist in der Unterbrechungsroutine enthalten. Daher enthält der Befehls-Cache 10 nach dem Auftreten der Unterbrechung die Arbeitsgänge der Unterbrechungsroutine zur Ausführung dieses Abrufs.

Claims (6)

1. Datenverarbeitungssystem, das folgendes umfaßt:
Mittel (10) zum Speichern einer Folge von Befehlen, die den Betrieb von mindestens zwei Prozessoren (6, 8) benötigen;
eine Vielzahl von Prozessoren (6, 8) zum Ausführen der Befehle vom Speichermittel;
Befehlszuteilungsmittel (10, 20, 40), die mit dem Speichermittel und den Prozessoren verbunden sind, um jeden Befehl mindestens einem der Prozessoren zuzuteilen;
mindestens einer der Prozessoren (8) enthält Ausführungsmittel, die mit den Zuteilungsmitteln verbunden sind, um zugeteilte Befehle vor der Ausführung eines vorhergehenden Befehls in der Folge durch einen anderen der Prozessoren auszuführen;
wobei das System durch folgendes gekennzeichnet ist:
das Befehlszuteilungsmittel teilt unterbrechbare Befehle zu, die eine Unterbrechungsbedingung bei mindestens zwei der Prozessoren bewirken könnten;
Mittel (104, 210) in den mindestens zwei Prozessoren, um festzustellen, ob ein Befehl unterbrechbar ist oder nicht;
daß Ausführungsmittel in dem mindestens einem Prozessor enthält Mittel (52, 110, ..., 116) zur Verzögerung der Ausführung eines unterbrechbaren Befehls, bis der unterbrechbare Befehl in seiner sequentiellen Reihenfolge von einem anderen der Prozessoren ausgeführt wird.
2. System, wie es in Anspruch 1 beansprucht wird, wobei die Mittel zur Ausführung zugeteilter Befehle vor der Ausführung des vorhergehenden Befehls außerdem Mittel (56, 110, ..., 116) zur Verzögerung der Ausführung eines Befehls vor der Folge enthalten, wenn der Befehl Arbeitsgänge von einem anderen Prozessormittel benötigt.
3. System, wie es in irgendeinem vorhergehenden Anspruch beansprucht wird, wobei das Befehlszuteilungsmittel ein Mittel (212) zum Erkennen des Auftretens einer Unterbrechung und daraufhin zum Zuteilen von Befehlen der Folge in der vor dem Auftreten der Unterbrechung zugeteilten Reihenfolge enthält.
4. System, wie es in irgendeinem vorhergehenden Anspruch beansprucht wird, wobei die Mittel zur Ausführung zugeteilter Befehle vor der Ausführung des vorhergehenden Befehls außerdem Mittel (52, 110, ..., 116) zur Verzögerung der Ausführung eines Befehls vor der Folge enthalten, wenn der Befehl den Betrieb eines anderen Prozessormittels benötigt.
5. System, wie es in irgendeinem vorhergehenden Anspruch beansprucht wird, wobei das Befehlsspeichermittel (10) die Folge von Befehlen für die mindestens zwei Prozessormittel enthält und das Befehlszuteilungsmittel jeden Befehl den mindestens zwei Prozessormitteln (6, 8) zuteilt.
6. System, wie es in Anspruch 5 beansprucht wird, wobei die Befehlsfolge mindestens einen Befehl enthält, der die Arbeitsgänge von zwei Prozessoren (6, 8) benötigt.
DE68927911T 1989-01-13 1989-12-20 Datenverarbeitungssystem Expired - Fee Related DE68927911T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/297,783 US5075840A (en) 1989-01-13 1989-01-13 Tightly coupled multiprocessor instruction synchronization

Publications (2)

Publication Number Publication Date
DE68927911D1 DE68927911D1 (de) 1997-04-30
DE68927911T2 true DE68927911T2 (de) 1997-09-18

Family

ID=23147726

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68927911T Expired - Fee Related DE68927911T2 (de) 1989-01-13 1989-12-20 Datenverarbeitungssystem

Country Status (13)

Country Link
US (1) US5075840A (de)
EP (1) EP0377991B1 (de)
JP (1) JP2645669B2 (de)
KR (1) KR930004214B1 (de)
CN (1) CN1013067B (de)
AU (1) AU618142B2 (de)
BR (1) BR9000112A (de)
CA (1) CA1321655C (de)
DE (1) DE68927911T2 (de)
GB (1) GB2227108A (de)
HK (1) HK1000050A1 (de)
MY (1) MY105754A (de)
PH (1) PH30201A (de)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293500A (en) * 1989-02-10 1994-03-08 Mitsubishi Denki K.K. Parallel processing method and apparatus
US5226126A (en) * 1989-02-24 1993-07-06 Nexgen Microsystems Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags
US5781753A (en) * 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
US5768575A (en) * 1989-02-24 1998-06-16 Advanced Micro Devices, Inc. Semi-Autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for sepculative and out-of-order execution of complex instructions
US5185871A (en) * 1989-12-26 1993-02-09 International Business Machines Corporation Coordination of out-of-sequence fetching between multiple processors using re-execution of instructions
US5961629A (en) * 1991-07-08 1999-10-05 Seiko Epson Corporation High performance, superscalar-based computer system with out-of-order instruction execution
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
JP3333196B2 (ja) * 1991-07-08 2002-10-07 セイコーエプソン株式会社 トラップ処理方法
JP3441071B2 (ja) * 1991-07-08 2003-08-25 セイコーエプソン株式会社 マイクロプロセッサ及びデータ処理装置
US5363495A (en) * 1991-08-26 1994-11-08 International Business Machines Corporation Data processing system with multiple execution units capable of executing instructions out of sequence
GB2263565B (en) * 1992-01-23 1995-08-30 Intel Corp Microprocessor with apparatus for parallel execution of instructions
US5438668A (en) 1992-03-31 1995-08-01 Seiko Epson Corporation System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer
US6735685B1 (en) 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
DE69329778T2 (de) 1992-09-29 2001-04-26 Seiko Epson Corp., Tokio/Tokyo System und verfahren zur handhabung von laden und/oder speichern in einem superskalar mikroprozessor
US5410657A (en) * 1992-10-09 1995-04-25 International Business Machines Corporation Method and system for high speed floating point exception enabled operation in a multiscalar processor system
DE69325769T2 (de) * 1992-11-04 2000-03-23 Digital Equipment Corp., Maynard Erkennung von Befehlssynchronisationsfehlern
JP2549256B2 (ja) * 1992-12-01 1996-10-30 インターナショナル・ビジネス・マシーンズ・コーポレイション 浮動小数点プロセッサへデータを転送する方法及び装置
JP3182591B2 (ja) * 1993-01-20 2001-07-03 株式会社日立製作所 マイクロプロセッサ
GB9305263D0 (en) * 1993-03-15 1993-05-05 Univ Westminster Parrallel computation
JP2596712B2 (ja) * 1993-07-01 1997-04-02 インターナショナル・ビジネス・マシーンズ・コーポレイション 近接した分岐命令を含む命令の実行を管理するシステム及び方法
CA2123442A1 (en) * 1993-09-20 1995-03-21 David S. Ray Multiple execution unit dispatch with instruction dependency
US6219773B1 (en) 1993-10-18 2001-04-17 Via-Cyrix, Inc. System and method of retiring misaligned write operands from a write buffer
US5615402A (en) * 1993-10-18 1997-03-25 Cyrix Corporation Unified write buffer having information identifying whether the address belongs to a first write operand or a second write operand having an extra wide latch
US5471598A (en) * 1993-10-18 1995-11-28 Cyrix Corporation Data dependency detection and handling in a microprocessor with write buffer
US5584009A (en) * 1993-10-18 1996-12-10 Cyrix Corporation System and method of retiring store data from a write buffer
US5740398A (en) * 1993-10-18 1998-04-14 Cyrix Corporation Program order sequencing of data in a microprocessor with write buffer
TW353732B (en) * 1994-03-31 1999-03-01 Ibm Processing system and method of operation
CN1048344C (zh) * 1994-05-24 2000-01-12 禹成海 一种适度耦合多处理机系统的体系结构
US5465336A (en) * 1994-06-30 1995-11-07 International Business Machines Corporation Fetch and store buffer that enables out-of-order execution of memory instructions in a data processing system
US5666506A (en) * 1994-10-24 1997-09-09 International Business Machines Corporation Apparatus to dynamically control the out-of-order execution of load/store instructions in a processor capable of dispatchng, issuing and executing multiple instructions in a single processor cycle
US5805906A (en) * 1996-10-15 1998-09-08 International Business Machines Corporation Method and apparatus for writing information to registers in a data processing system using a number of registers for processing instructions
US5860014A (en) * 1996-10-15 1999-01-12 International Business Machines Corporation Method and apparatus for improved recovery of processor state using history buffer
US5870612A (en) * 1996-10-15 1999-02-09 International Business Machines Corporation Method and apparatus for condensed history buffer
US6070235A (en) * 1997-07-14 2000-05-30 International Business Machines Corporation Data processing system and method for capturing history buffer data
US6065086A (en) * 1998-02-17 2000-05-16 International Business Machines Corporation Demand based sync bus operation
US6564298B2 (en) 2000-12-22 2003-05-13 Intel Corporation Front end system having multiple decoding modes
US20070083192A1 (en) * 2005-10-07 2007-04-12 Eric Welch Apparatus and method for ablation of targeted tissue
TWI348652B (en) * 2005-10-17 2011-09-11 Via Tech Inc Driver assisted asynchronous command processing
US20070157030A1 (en) * 2005-12-30 2007-07-05 Feghali Wajdi K Cryptographic system component
US20070192571A1 (en) * 2006-02-14 2007-08-16 Feghali Wajdi K Programmable processing unit providing concurrent datapath operation of multiple instructions
CN102617431B (zh) * 2011-01-28 2013-09-25 天津滨海索尔特生物技术中心有限公司 用无机碱提取盐藻中的β-胡萝卜素的方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3229260A (en) * 1962-03-02 1966-01-11 Ibm Multiprocessing computer system
US3896418A (en) * 1971-08-31 1975-07-22 Texas Instruments Inc Synchronous multi-processor system utilizing a single external memory unit
GB1441458A (en) * 1972-06-28 1976-06-30 Texas Instruments Inc Stored programme data processing for parallel processing of programme segment
US3793631A (en) 1972-09-22 1974-02-19 Westinghouse Electric Corp Digital computer apparatus operative with jump instructions
CH556576A (de) * 1973-03-28 1974-11-29 Hasler Ag Einrichtung zur synchronisierung dreier rechner.
FR2471631B1 (fr) * 1979-12-11 1986-02-21 Cii Honeywell Bull Dispositif de synchronisation et d'affectation de processus entre plusieurs processeurs dans un systeme de traitement de l'information
JPS6043535B2 (ja) * 1979-12-29 1985-09-28 富士通株式会社 情報処理装置
JPS58114274A (ja) * 1981-12-28 1983-07-07 Hitachi Ltd デ−タ処理装置
US4498136A (en) * 1982-12-15 1985-02-05 Ibm Corporation Interrupt processor
US4564901A (en) * 1983-07-21 1986-01-14 Burroughs Corporation Method of performing a sequence of related activities via multiple asynchronously intercoupled digital processors
JPH0744849B2 (ja) * 1985-07-31 1995-05-15 株式会社ニコン 超音波モータ
JPS6246341A (ja) * 1985-08-23 1987-02-28 Hitachi Ltd 付加プロセツサの入出力制御方法
US4763294A (en) * 1985-12-19 1988-08-09 Wang Laboratories, Inc. Method and apparatus for floating point operations
JP2610821B2 (ja) * 1986-01-08 1997-05-14 株式会社日立製作所 マルチプロセツサシステム
JPS6365528A (ja) * 1986-09-06 1988-03-24 Nec Corp コ・プロセツサ
JPS63282528A (ja) * 1987-02-04 1988-11-18 Sharp Corp 中央処理装置実行命令の検出方式
JP2778717B2 (ja) * 1987-03-20 1998-07-23 ディジタル イクイプメント コーポレーション データ処理ユニット
EP0312764A3 (de) * 1987-10-19 1991-04-10 International Business Machines Corporation Datenprozessor mit mehrfachen Ausführungseinheiten zur parallelen Ausführung von mehreren Befehlsklassen
US4937741A (en) * 1988-04-28 1990-06-26 The Charles Stark Draper Laboratory, Inc. Synchronization of fault-tolerant parallel processing systems

Also Published As

Publication number Publication date
MY105754A (en) 1995-01-30
US5075840A (en) 1991-12-24
JP2645669B2 (ja) 1997-08-25
BR9000112A (pt) 1990-10-23
EP0377991A2 (de) 1990-07-18
HK1000050A1 (en) 1997-10-24
CA1321655C (en) 1993-08-24
KR900012155A (ko) 1990-08-03
KR930004214B1 (ko) 1993-05-21
EP0377991B1 (de) 1997-03-26
AU618142B2 (en) 1991-12-12
GB2227108A (en) 1990-07-18
PH30201A (en) 1997-02-05
AU4433789A (en) 1990-07-19
EP0377991A3 (de) 1991-07-31
GB8928776D0 (en) 1990-02-28
CN1044177A (zh) 1990-07-25
CN1013067B (zh) 1991-07-03
JPH02227769A (ja) 1990-09-10
DE68927911D1 (de) 1997-04-30

Similar Documents

Publication Publication Date Title
DE68927911T2 (de) Datenverarbeitungssystem
DE69636861T2 (de) Mikroprozessor mit Lade-/Speicheroperation zu/von mehreren Registern
DE68928677T2 (de) Verfahren und digitaler Computer zur Vorverarbeitung mehrerer Befehle
DE3650413T2 (de) Verfahren und Vorrichtung zur Annulierung eines Befehls.
DE69325086T2 (de) Verfahren und System für spekulative Befehlsausführung
DE69126166T2 (de) Programmierbare Steuerungsvorrichtung
DE69810064T2 (de) Verfahren und Anordnung zur Veränderung der Durchführung eines Nachfolgebefehls in einem Dataprozessor
DE3686789T2 (de) Vektorverarbeitungsgeraet.
DE68928812T2 (de) Vorrichtung zur Auflösung von einer variablen Anzahl von möglichen Speicherzugriffskonflikten in einem Pipeline-Rechnersystem und Verfahren dazu
DE69719235T2 (de) Prozessor und Verfahren zur spekulativen Ausführung von bedingten Verzweigungsbefehlen unter Verwendung einer von mehreren Verzweigungsvorhersageverfahren
DE69017178T2 (de) Datenverarbeitungssystem mit Vorrichtung zur Befehlskennzeichnung.
DE68927371T2 (de) Verfahren und Vorrichtung zur Verarbeitung von mehreren Zustandscodes wie für einen Parallel-Pipeline-Rechner
DE68927492T2 (de) Verfahren und Vorrichtung zur gleichzeitigen Verteilung von Befehlen an mehrere funktionelle Einheiten
DE69028138T2 (de) Mechanismus zur präzisen Behandlung von Ausnahmebedingungen in einem Prozessor mit gepaarten Befehlen
DE68926063T2 (de) Verfahren und Gerät zur Steuerung von prozessoren mittels Vorhersagen von Ausnahmen bei der gleitkomma-Arithmetik
DE69033398T2 (de) Rechnerarchitektur mit Mehrfachbefehlsausgabe
DE69033443T2 (de) Mechanismus zur Verzweigungsrücksetzung in einem Prozessor mit gepaarten Befehlen
DE68927415T2 (de) Kontextumschaltungsverfahren und -anordnung zur Verwendung in einem Vektorverarbeitungssystem
DE3751503T2 (de) Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen.
DE69327637T2 (de) Superskalar-Computersystem
DE69809450T2 (de) Datenverarbeitungsvorrichtung
DE3789345T2 (de) Erweiterte Gleitkommaoperationen zur Unterstützung der Emulation von Quellbefehlsausführungen.
DE69032635T2 (de) Verfahren und Vorrichtung zur Erkennung von Betriebsmittelkonflikten in einer Pipeline-Verarbeitungseinheit
DE69418146T2 (de) Temporärer Registersatz für einen superpipeline-superskalaren Prozessor
DE69429226T2 (de) Absendung von Befehlen an mehrere Verarbeitungseinheiten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee