DE68923264T2 - Gerät zum Ausführen arithmetischer Gleitkommaoperationen. - Google Patents

Gerät zum Ausführen arithmetischer Gleitkommaoperationen.

Info

Publication number
DE68923264T2
DE68923264T2 DE68923264T DE68923264T DE68923264T2 DE 68923264 T2 DE68923264 T2 DE 68923264T2 DE 68923264 T DE68923264 T DE 68923264T DE 68923264 T DE68923264 T DE 68923264T DE 68923264 T2 DE68923264 T2 DE 68923264T2
Authority
DE
Germany
Prior art keywords
floating point
result
point arithmetic
operands
arithmetic operation
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
DE68923264T
Other languages
English (en)
Other versions
DE68923264D1 (de
Inventor
Daniel Cocanougher
Robert Kevin Montoye
Myhong Nguyenphu
Stephen Larry Runyon
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 DE68923264D1 publication Critical patent/DE68923264D1/de
Publication of DE68923264T2 publication Critical patent/DE68923264T2/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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • 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
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • 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
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • 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
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Nonlinear Science (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)

Description

  • Diese Erfindung bezieht sich allgemein auf Datenverarbeitungsysteme und im einzelnen auf Datenverarbeitungssysteme, die arithmetische Gleitkomma-Operationen bereitstellen.
  • Traditionell werden Gleitkomma-Operationen in Datenverarbeitungssystemen seguentiell ausgeführt. In einigen Datenverarbeitungssystemen wird eine Gleitkomma-Operation in Wirklichkeit in der zentralen Verarbeitungseinheit nach einem von der Software bereitgestellten Algorithmus ausgeführt. In anderen Systemen wird ein dedizierter Gleitkomma-Prozessor bereitgestellt. Beide Techniken benötigen die Antwort einer bereits abgeschlossenen ersten Operation, bevor eine zweite Operation gestartet werden kann. In der modernen Pipeline-Verarbeitung kann es durch diese Anforderung, nämlich daß zunächst eine erste Operation abgeschlossen sein muß, bevor eine zweite Operation beginnen kann, zu unnötigen Verzögerungen kommen,
  • In Electro/87 und Mini/Micro Northeast 12 (1987), Conference Record, 11/2, Seite 1 bis 7, wird in Figur 8 ein vierstufiges Pipeline-System beschrieben. In der ersten Stufe wird ein Mikrosteuerungswort erzeugt, in der zweiten Stufe werden Daten in ein Datenpfadelement geschrieben, in der dritten Stufe wird eine arithmetische Operation ausgeführt, in der vierten Stufe wird das Ergebnis der arithmetischen Operation in den Speicher geschrieben.
  • Es ist eine Aufgabe der vorliegenden Erfindung, eine Gleitkomma-Verarbeitungseinheit bereitzustellen, die arithmetische Gleitkomma-Operationen im Pipeline-Verfahren ausführt, und die gleichzeitig Datenabhängigkeiten feststellt und datenabhängige Gleitkomma-Operationen in einer effizienteren Weise ausführt.
  • Die vorliegende Erfindung stellt ein Gerät zur Ausführung arithmetischer Gleitkomma-Operationen bereit, wobei das genannte Gerät folgendes umfaßt:
  • Speichermittel zum Speicher von Operanden;
  • erste Mittel zur Ausführung einer ersten arithmetischen Gleitkomma-Operation mit einer Gruppe von Operanden, die in einem ersten Zyklus von dem genannten Speichermittel geliefert werden;
  • zweite Mittel zum Ausführen einer zweiten arithmetischen Gleitkomma-Operation mit einem Operanden und einem Ergebnis der genannten ersten arithmetischen Gleitkomma-Operation in einem zweiten Zyklus; und
  • gekennzeichnet ist durch
  • Mittel zum Runden des Ergebnisses der genannten zweiten Gleitkomma-Operation;
  • Steuermittel, um festzustellen, ob die nächste arithmetische Gleitkomma-Operation, die in dem genannten ersten und zweiten Mittel ausgeführt werden soll, einen Operanden enthält, der ein Ergebnis der genannten zweiten arithmetischen Gleitkomma- Operation ist, und um, in Reaktion auf diese Feststellung, dem genannten ersten Mittel in einem dritten Zyklus, ohne Speichern in dem genannten Speichermittel, das Ergebnis der genannten zweiten arithmetischen Gleitkomma-Operation zur Verfügung zu stellen, bei gleichzeitiger Rundung des Ergebnisses der genannten zweiten arithmetischen Gleitkomma- Operation.
  • In einer solchen hierin beschriebenen Anordnung wird eine arithmetische Gleitkomma-Einheit bereitgestellt, die sowohl eine Multiplikations- als auch eine Additionsoperation ausführt. Die Steuerschaltung für die arithmetische Gleitkomma- Einheit kann erkennen, ob eine zweite Gruppe von Operanden ein Ergebnis enthält, das aus einer ersten Gruppe von Operanden in einer Sequenz von Gleitkomma-Operationen errechnet wurde. Wenn diese zweite Gruppe von Operanden dieses Ergebnis enthält, wird eine Datenabhängigkeit erklärt. Die Steuerschaltung adressiert die Datenabhängigkeit, indem sie das Ergebnis der ersten arithmetischen Operation bereithält, bevor die Rundung tatsächlich abgeschlossen ist. Die Rundungsoperation dient der Bereitstellung eines Direkteingangs in ein Gleitkomma-Multiplizierglied in dem bevorzugten Ausführungsbeispiel. Außerdem stellt die Steuerschaltung sicher, daß die Antwort von der ersten Gleitkomma-Operation direkt der Gleitkomma-Schaltung bereitgestellt wird, damit die zweite Gleitkomma-Operation schneller ausgeführt werden kann.
  • Die vorliegende Erfindung soll weiter anhand eines Beispiels, unter Bezugnahme auf ein Ausführungsbeispiel der Erfindung, beschrieben werden, wie in den beiliegenden Zeichnungen erläutert wird; es zeigt:
  • Figur 1 ein Blockdiagramm in einer arithmetischen Gleitkomma- Einheit;
  • Figur 2 ein Blockdiagramm in der Multiplikations-Schaltung dieser Einheit;
  • Figur 3 ein Flußdiagramm, das die Funktionsweise der Steuerschaltung erläutert, wenn diese ohne eine Datenabhängigkeit arbeitet;
  • Figur 4 ein Flußdiagramm, das die Funktionsweise der Steuerschaltung erläutert, wenn eine Datenabhängigkeit bei einem der Multiplikationsoperanden besteht;
  • Figur 5 ein Flußdiagramm, das die Funktionsweise der Steuerschaltung erläutert, wenn eine Datenabhängigkeit bei dem Additionsoperanden vorhanden ist;
  • Figur 6 ein Zeitgeber-Diagramm, das die Pipeline-Operation der arithmetischen Gleitkomma-Einheit erläutert, wenn keine Datenabhängigkeit vorhanden ist;
  • Figur 7 ein Zeitgeber-Diagramm, das die Pipeline-Operation der arithmetischen Gleitkomma-Einheit erläutert, wenn eine Datenabhängigkeit eines Multiplikationsoperanden vorhanden ist; und
  • Figur 8 ein Zeitgeber-Diagramm, das die Pipeline-Operation der arithmetischen Gleitkomma-Einheit erläutert, wenn eine Datenabhängigkeit des Additionsoperanden vorhanden ist.
  • Der in Figur 1 erläuterte Gleitkomma-Prozessor enthält eine Registerdatei 10, die 40 Worte speichern kann. Die Registerdatei 10 stellt einem A-Operanden-Signalspeicher 12, einem B-Operanden-Signalspeicher 14 und einem C-Operanden-Signalspeicher 16 einen Ausgang bereit. Die A-Operanden-Signalspeicher und B-Operanden-Signalspeicher speichern Operanden, die im Multiplikationsteil der arithmetischen Gleitkomma-Operationen verwendet werden. Der C-Operanden-Signalspeicher 16 dient zur Speicherung des Additionsoperanden. Der Ausgang des A-Operanden-Signalspeichers 12 geht direkt an das Multiplizierglied 22. Der Ausgang des B-Operanden-Signalspeichers 14 geht über einen Multiplexer 18 an das Multiplizierglied 22. Der Ausgang des C-Operanden-Signalspeichers 16 geht zunächst an einen Multiplexer 20 und wird anschließend an einen Ausricht-Verschieber 24 weitergegeben. Aufgabe des Ausricht-Verschiebers ist die Ausrichtung des Additionsoperanden mit dem Ergebnis der in der Multiplikations-Schaltung 22 ausgeführten Multiplikation. Das Multiplizierglied 22 liefert einem ersten Teilprodukt-Signalspeicher 26 und einem zweiten Teilprodukt-Signalspeicher 28 einen Ausgang. Die Ausgänge dieser Signalspeicher 26 und 28 werden einem 3: 2-Übertragssicherungsaddierer 32 zur Verfügung gestellt. Der Ausricht-Verschieber 24 liefert einen Ausgang zum Addenden-Signalspeicher 30, der ebenfalls einen Ausgang an den 3: 2-Übertragssicherungsaddierer 32 liefert. Der Übertragssicherungsaddierer 32 gibt zwei Ausgänge an den Volladdierer 34. Der Ausgang des Volladdierers 34 wird in der Normalisierungsschaltung 36 normalisiert. Im Ergebnis-Signalspeicher 38 wird das Ergebnis der Normalisierungsoperation gespeichert. Die Daten in dem Ergebnis-Signalspeicher werden dann in der Rundungsschaltung 40 gerundet und im Normalbetrieb wieder an die Registerdatei 10 zurückgegeben.
  • Die Steuerschaltung 42 enthält eine Steuerleitung 8, bei der es sich in Wirklichkeit um eine Gruppe von Steuerleitungen handelt, die die verschiedenen Elemente des in Figur 1 gezeigten Gleitkomma-Prozessors steuern. Eine der Funktionen der Steuerschaltung 42 ist die Ausführung der Exponenten- Addition für die Multiplikationsoperation im Multiplizierglied 22. Diese Information wird von dem Ausricht-Verschieber 24 verwendet, um den Additionsoperanden richtig auszurichten. Die Steuerschaltung 42 hat außerdem die Aufgabe, festzustellen, ob eine Datenabhängigkeit vorhanden ist. Eine Datenabhängigkeit wird definiert, wenn die auszuführende Gleitkomma-Operation einen Operanden enthält, der das Ergebnis einer früheren Gleitkomma-Operation ist. Im Normalbetrieb würde das Ergebnis der früheren Gleitkomma-Operation in der Registerdatei gespeichert. Da die Steuerschaltung 42 Datenabhängigkeiten erkennen kann, wird diese Fähigkeit genutzt, um das Ergebnis von der Rundungsschaltung 40 zu entnehmen und es direkt an einen von zwei Multiplexern 18 oder 20 zu liefern. Auf diese Weise kann die Operation mit dem ungerundeten Ergebnis aus dem Signalspeicher 38, das ein Operand für die Multiplikation ist, oder das gerundete Ergebnis, das ein Operand für die Additionsoperation in einer nachfolgenden Gleitkomma-Operation ist, direkt der arithmetischen Schaltung zur Verfügung gestellt werden, ohne daß es die Registerdatei 10 und einen der Signalspeicher 14 oder 16 durchlaufen muß. Außerdem bietet die Steuerschaltung 42 der Rundungsschaltung 40 die Möglichkeit, einem Multiplizierglied einen Eingang 41 bereitzustellen, um anzuzeigen, ob eine Rundungsoperation benötigt wird oder nicht.
  • Figur 2 ist eine Erläuterung eines Übertragssicherungsaddierer-Baums, der in der Multiplikations-Schaltung 22 der Figur 1 enthalten ist. Man beachte, daß die Leitung 41 dem Übertragungssicherungsaddierer CAS#11 einen Eingang bereitstellt. Mit diesem Eingang wird angezeigt, ob das vorher berechnete Ergebnis nach oben gerundet wurde. Wenn ja, wird die Eins in einer noch zu beschreibenden Weise addiert. Aufgrund der Laufzeitverzögerung durch den Baum kann die Rundung zeitgerecht addiert werden.
  • Figur 3 ist ein Flußdiagramm, das den Betrieb der Steuerschaltung 42 erläutert, wenn keine Datenabhängigkeit aufgetreten ist. In Schritt 100 wird der Gleitkomma-Befehl decodiert. In Schritt 102 werden die Operanden aus der Registerdatei 10 ausgelesen. Schritt 100 und Schritt 102 bilden den Decodierzyklus. In Schritt 104 findet zusammen mit der Addier-Ausrichtung in Schritt 106 die Multiplikation statt. In der Praxis überlappen sich die Schritte 104 und 106, das heißt die Multiplikation beziehungsweise die Addier-Ausrichtung. Die beiden Schritte 104 und 106 heißen Multiplikationszyklus. In Schritt 108 erfolgt die Addition. Schließlich wird in Schritt 110 die Normalisierungsoperation ausgeführt. Die Schritte 108 und 110 bezeichnet man als Additionszyklus. In Schritt 112 wird das Ergebnis des Normalisierungszyklus gerundet. In Schritt 114 wird das gerundete Ergebnis dann in die Gleitkomma-Registerdatei 10 geschrieben.
  • Figur 4 zeigt den Steuerungsfluß für eine arithmetische Operation, bei der bei einem Multiplikationsoperanden eine Datenabhängigkeit vorhanden ist. Im Decodierzyklus wird in Schritt 120 zunächst der Befehl decodiert. In Schritt 122 werden die Operanden für den Befehl geprüft, um festzustellen, ob tatsächlich eine Datenabhängigkeit vorhanden ist. In diesem Beispiel ist der Operand B ein abhängiger Operand (das heißt, dieser Operand B ist in Wirklichkeit das ungerundete Ergebnis einer früheren Gleitkomma-Operation). In Schritt 124 werden die Operanden A und C aus der Gleitkomma-Registerdatei 10 geladen. In Schritt 126 lädt der Multiplexer 18 den Operanden B in das Multiplizierglied 22 und die Multiplikationsoperation wird in Schritt 128 ausgeführt. In Schritt 128 wird die Rundungsanpassung von der Rundungsschaltung 40 auf Leitung 41 bereitgestellt, wie bereits erörtert. Gleichzeitig mit der Operation des Multiplizierglieds 22 verschiebt in Schritt 130 der Ausricht-Verschieber auch den Additionsoperanden. In Schritt 132 wird die Addition, und in Schritt 134 die Normalisierung ausgeführt. Wie vorher wird in Schritt 136 die Rundung ausgeführt und das Ergebnis wird in Schritt 138 in die Gleitkomma-Registerdatei 10 geschrieben.
  • Figur 5 erläutert den Steuerungsfluß für eine Gleitkomma-Operation, bei der eine Datenabhängigkeit bei einem Additionsoperanden besteht. In Schritt 140 wird der Befehl decodiert, in Schritt 142 werden die Operanden geprüft. In diesem Beispiel ist der Operand C in Wirklichkeit das Ergebnis einer früheren Gleitkomma-Operation. In Schritt 144 werden daher die Operanden A und B aus der Gleitkomma-Registerdatei 10 geladen. In Schritt 146 übernimmt der Multiplexer 20 den Operanden C aus der Rundungsschaltung 40. Die Multiplikation wird in Schritt 148 ausgeführt, in Schritt 150 wird die Additionsausricht-Verschiebung durchgeführt. Da die Additionsausrichtung relativ schnell vor sich geht, wird sie nach Abschluß der Rundungsoperation ausgeführt.
  • In Schritt 152 wird die Additionsoperation durchgeführt und in Schritt 154 erfolgt die Normalisierung der Additionsergebnisse. Dieses normalisierte Ergebnis wird in Schritt 156 gerundet und in Schritt 158 in die Gleitkomma-Registerdatei 10 geschrieben.
  • Figur 6 ist ein einfaches Zeitgeber-Diagramm, das den Pipeline-Fluß des Gleitkomma-Prozessors für einen einzelnen Befehl erläutert. Hierbei ist es so, daß der zweite Befehl, da es sich um eine Pipeline-Operation handelt, seinen Decodierzyklus bei Zyklus 2 beginnt. Entsprechend würde ein dritter Befehl mit seinem Decodierzyklus in Zyklus 3 beginnen, wie in Figur 6 dargestellt ist.
  • Figur 7 ist ein Zeitgeber-Diagramm, das den Pipeline-Fluß erläutert, wenn bei einem Multiplikationsoperanden eine Abhängigkeit vorhanden ist. Man beachte, daß im Verlauf des Zyklus 2 die Decodieroperation tatsächlich für die Zyklen 2 und 3 existiert. In Zyklus 4 erfolgt dann das Multiplexen des datenabhängigen Operanden. Der Multiplikationszyklus fällt mit der frühzeitigen Operation in Zyklus 4 zusammen, die die Rundung des Ergebnisses beinhaltet.
  • Figur 8 ist ein Zeitgeber-Diagramm, das den Pipeline-Fluß für eine Gleitkomma-Operation erläutert, bei der der Additionsoperand von einer früheren Operation abhängt. In Zyklus 2 nimmt die Decodieroperation für den zweiten Befehl wieder zwei Zyklen in Anspruch (die Zyklen 2 und 3) . Der Multiplikationszyklus im zweiten Befehl überlappt mit dem Schreibzyklus im ersten Befehl (Zyklus 4), so daß das Ergebnis der Rundungsoperation zur Additionsausrichtung im Multiplex-Verfahren in den Operanden C verteilt werden kann.
  • Ein anderer Aspekt der Gleitkomma-Arithmetik wird in den gleichzeitig anhängigen Patentanmeldungen EP 0 377 991 A3, EP 0 377 990 A3 und EP 0 377 992 A2 beschrieben.

Claims (6)

1. Gerät zum Ausführen arithmetischer Gleitkomma-Operationen, wobei das genannte Gerät folgendes aufweist:
speichermittel (10, 12, 14, 16) zum Speichern von Operanden;
erste Mittel (22) zum Ausführen einer ersten arithmetischen Gleitkomma-Operation mit einer Gruppe von Operanden, die von den genannten Speichermitteln (10, 12, 14, 16) in einem ersten Zyklus geliefert werden;
zweite Mittel (34) zum Ausführen einer zweiten arithmetischen Gleitkomma-Operation mit einem Operanden und einem Ergebnis der genannten ersten arithmetischen Gleitkomma-Operation in einem zweiten Zyklus; und
gekennzeichnet ist durch
Mittel (40) zum Runden des Ergebnisses der genannten zweiten Gleitkomma-Operation;
Steuermittel (42) , um festzustellen, ob die nächste auszuführende arithmetische Gleitkomma-Operation in dem genannten ersten und zweiten Mittel (22, 34) einen Operanden enthält, der ein Ergebnis der genannten zweiten arithmetischen Gleitkomma-Operation ist und, in Antwort auf die genannte Feststellung, um ohne Speicherung in dem genannten Speichermittel (10, 12, 14, 16) das Ergebnis der genannten zweiten arithmetischen Gleitkomma-Operation dem genannten ersten Mittel (22) in einem dritten Zyklus, gleichzeitig mit dem Runden des Ergebnisses der genannten zweiten arithmetischen Gleitkomma-Operation, zur Verfügung zu stellen.
2. Gerät nach Anspruch 1, desweiteren Speichermittel enthaltend zum Speichern einer Vielzahl von Gleitkomma-Operanden, Mittel, die das erste Mittel und das zweite Mittel und das Speichermittel unter Steuerung durch das Steuermittel (42) miteinander verbinden, wobei das Steuermittel (42) feststellt, wenn eine dritte Gruppe von Operanden das Ergebnis einer arithmetischen Gleitkomma- Operation mit einer ersten und zweiten Gruppe von Operanden enthält, und zur Bereitstellung des Ergebnisses der arithmetischen Gleitkomma-Operation der ersten und zweiten Gruppe von Operanden an das erste Mittel, während das Ergebnis der arithmetischen Gleitkomma-Operation mit der ersten und zweiten Operanden-Gruppe in dem Rundungsmittel (40) gerundet wird.
3. Gerät nach jedem der vorangehenden Ansprüche, bei dem die erste arithmetische Gleitkomma-Operation eine Multiplikation ist.
4. Gerät nach Anspruch 1 oder Anspruch 2, bei dem die erste arithmetische Gleitkomma-Operation eine Addition ist.
5. Gerät nach jedem der vorangehenden Ansprüche, desweiteren einen Kombinationslogikbaum (22) umfassend, wobei das Steuermittel (42) dem Kombinationslogikbaum (22) ein Rundungssignal (41) bereitstellt, wenn eine Rundungsoperation stattgefunden hat.
6. Gerät nach Anspruch 5, desweiteren Mittel umfassend zur Ausführung von zwei einzelnen Gleitkomma-Operationen, wobei das Steuermittel (42) Mittel enthält, um das erste Ergebnis einer der beiden einzelnen Gleitkomma-Operationen zur Verfügung zu stellen, wenn festgestellt wird, daß eine zweite Gruppe von Operanden ein Ergebnis der Gleitkomma-Operationen mit der ersten Gruppe von Operanden enthält.
DE68923264T 1989-01-13 1989-12-20 Gerät zum Ausführen arithmetischer Gleitkommaoperationen. Expired - Fee Related DE68923264T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/297,781 US4999802A (en) 1989-01-13 1989-01-13 Floating point arithmetic two cycle data flow

Publications (2)

Publication Number Publication Date
DE68923264D1 DE68923264D1 (de) 1995-08-03
DE68923264T2 true DE68923264T2 (de) 1996-02-08

Family

ID=23147715

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68923264T Expired - Fee Related DE68923264T2 (de) 1989-01-13 1989-12-20 Gerät zum Ausführen arithmetischer Gleitkommaoperationen.

Country Status (4)

Country Link
US (1) US4999802A (de)
EP (1) EP0377994B1 (de)
JP (1) JPH02226420A (de)
DE (1) DE68923264T2 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379351A (en) * 1992-02-19 1995-01-03 Integrated Information Technology, Inc. Video compression/decompression processing and processors
US5150470A (en) * 1989-12-20 1992-09-22 International Business Machines Corporation Data processing system with instruction queue having tags indicating outstanding data status
JPH04127364A (ja) * 1990-09-19 1992-04-28 Nec Corp 積和算器
US5220524A (en) * 1990-12-13 1993-06-15 Micron Technology, Inc. Machine method to perform newton iterations for reciprocals
US5206823A (en) * 1990-12-13 1993-04-27 Micron Technology, Inc. Apparatus to perform Newton iterations for reciprocal and reciprocal square root
US5157624A (en) * 1990-12-13 1992-10-20 Micron Technology, Inc. Machine method to perform newton iterations for reciprocal square roots
US5241493A (en) * 1991-12-16 1993-08-31 International Business Machines Corporation Floating point arithmetic unit with size efficient pipelined multiply-add architecture
US5347482A (en) * 1992-12-14 1994-09-13 Hal Computer Systems, Inc. Multiplier tree using nine-to-three adders
CA2091539A1 (en) * 1993-03-11 1994-09-12 Jan Fandrianto Video compression/decompression processing and processors
US5341321A (en) * 1993-05-05 1994-08-23 Hewlett-Packard Company Floating point arithmetic unit using modified Newton-Raphson technique for division and square root
US5671170A (en) * 1993-05-05 1997-09-23 Hewlett-Packard Company Method and apparatus for correctly rounding results of division and square root computations
KR100380339B1 (ko) * 1994-06-10 2004-05-20 바스프 악티엔게젤샤프트 살진균성 혼합물
US5530663A (en) * 1994-11-14 1996-06-25 International Business Machines Corporation Floating point unit for calculating a compound instruction A+B×C in two cycles
US5583805A (en) * 1994-12-09 1996-12-10 International Business Machines Corporation Floating-point processor having post-writeback spill stage
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US5880983A (en) * 1996-03-25 1999-03-09 International Business Machines Corporation Floating point split multiply/add system which has infinite precision
US5844830A (en) * 1996-08-07 1998-12-01 Sun Microsystems, Inc. Executing computer instrucrions by circuits having different latencies
WO1998006029A1 (en) * 1996-08-07 1998-02-12 Valery Yakovlevich Gorshtein Apparatus and methods for execution of computer instructions
US5790444A (en) * 1996-10-08 1998-08-04 International Business Machines Corporation Fast alignment unit for multiply-add floating point unit
US6148314A (en) * 1998-08-28 2000-11-14 Arm Limited Round increment in an adder circuit
AU8651601A (en) * 2000-08-22 2002-03-04 Eye On Solutions Llc Remote detection, monitoring and information management system
US6904446B2 (en) * 2001-08-24 2005-06-07 Freescale Semiconductor, Inc. Floating point multiplier/accumulator with reduced latency and method thereof
US20050228844A1 (en) * 2004-04-08 2005-10-13 International Business Machines Corporation Fast operand formatting for a high performance multiply-add floating point-unit
US7730117B2 (en) * 2005-02-09 2010-06-01 International Business Machines Corporation System and method for a floating point unit with feedback prior to normalization and rounding
US20060179096A1 (en) * 2005-02-10 2006-08-10 International Business Machines Corporation System and method for a fused multiply-add dataflow with early feedback prior to rounding

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3131293A (en) * 1960-07-14 1964-04-28 Ibm Computing system
US3508038A (en) * 1966-08-30 1970-04-21 Ibm Multiplying apparatus for performing division using successive approximate reciprocals of a divisor
US3551665A (en) * 1966-09-13 1970-12-29 Ibm Floating point binary adder utilizing completely sequential hardware
US3697734A (en) * 1970-07-28 1972-10-10 Singer Co Digital computer utilizing a plurality of parallel asynchronous arithmetic units
US3787673A (en) * 1972-04-28 1974-01-22 Texas Instruments Inc Pipelined high speed arithmetic unit
US4179734A (en) * 1976-07-02 1979-12-18 Floating Point Systems, Inc. Floating point data processor having fast access memory means
US4075704A (en) * 1976-07-02 1978-02-21 Floating Point Systems, Inc. Floating point data processor for high speech operation
JPS55147737A (en) * 1979-05-08 1980-11-17 Nec Corp Operation unit for variable pipe line
US4295203A (en) * 1979-11-09 1981-10-13 Honeywell Information Systems Inc. Automatic rounding of floating point operands
US4390961A (en) * 1980-12-24 1983-06-28 Honeywell Information Systems Inc. Data processor performing a decimal multiply operation using a read only memory
US4484300A (en) * 1980-12-24 1984-11-20 Honeywell Information Systems Inc. Data processor having units carry and tens carry apparatus supporting a decimal multiply operation
JPS57134774A (en) * 1981-02-13 1982-08-20 Hitachi Ltd Vector operating device
DE3267489D1 (en) * 1982-02-18 1986-01-02 Itt Ind Gmbh Deutsche Digital parallel calculating circuit for positive and negative binary numbers
JPS592143A (ja) * 1982-06-29 1984-01-07 Hitachi Ltd 情報処理装置
JPS5932038A (ja) * 1982-08-13 1984-02-21 Hitachi Ltd 浮動小数点加算器
US4598359A (en) * 1983-04-01 1986-07-01 Honeywell Information Systems Inc. Apparatus for forward or reverse reading of multiple variable length operands
US4589067A (en) * 1983-05-27 1986-05-13 Analogic Corporation Full floating point vector processor with dynamically configurable multifunction pipelined ALU
JPS60140422A (ja) * 1983-12-28 1985-07-25 Nec Corp 演算処理装置
US4766564A (en) * 1984-08-13 1988-08-23 International Business Machines Corporation Dual putaway/bypass busses for multiple arithmetic units
US4943940A (en) * 1984-09-27 1990-07-24 Advanced Micro Devices, Inc. Floating point add/subtract and multiplying assemblies sharing common normalization, rounding and exponential apparatus
WO1986002181A1 (en) * 1984-09-28 1986-04-10 Motorola, Inc. A digital signal processor for single cycle multiply/accumulation
EP0197122B1 (de) * 1984-10-16 1992-08-12 The Commonwealth Of Australia Zellularer gleitkommamultiplizierer mit seriellem fliessbandbetrieb
US4683547A (en) * 1984-10-25 1987-07-28 International Business Machines Corporation Special accumulate instruction for multiple floating point arithmetic units which use a putaway bus to enhance performance
US4825400A (en) * 1986-01-13 1989-04-25 General Electric Company Floating point accumulator circuit
JPH0644225B2 (ja) * 1986-03-27 1994-06-08 日本電気株式会社 浮動小数点丸め正規化回路
US4849923A (en) * 1986-06-27 1989-07-18 Digital Equipment Corporation Apparatus and method for execution of floating point operations
US4841467A (en) * 1987-10-05 1989-06-20 General Electric Company Architecture to implement floating point multiply/accumulate operations

Also Published As

Publication number Publication date
EP0377994B1 (de) 1995-06-28
EP0377994A2 (de) 1990-07-18
JPH02226420A (ja) 1990-09-10
EP0377994A3 (de) 1991-07-31
US4999802A (en) 1991-03-12
DE68923264D1 (de) 1995-08-03

Similar Documents

Publication Publication Date Title
DE68923264T2 (de) Gerät zum Ausführen arithmetischer Gleitkommaoperationen.
DE68927371T2 (de) Verfahren und Vorrichtung zur Verarbeitung von mehreren Zustandscodes wie für einen Parallel-Pipeline-Rechner
DE68927911T2 (de) Datenverarbeitungssystem
DE3638572C2 (de)
DE69430838T2 (de) Schaltung und Verfahren zur parallelen Verschiebung und Addition
DE69228360T2 (de) Registerlesekontrolle
DE3210816C2 (de)
DE2400010C2 (de) Schaltungsanordnung zum Testen eines ein Mikroprogramm enthaltenden Steuerspeichers
DE3116100C2 (de) Datenverarbeitungseinheit
DE69115344T2 (de) Vorverarbeitungsprozessor zur Verbindung von Befehlen für einen Cache-Speicher
DE3587277T2 (de) System fuer die umgehungssteuerung beim pipelinebetrieb eines computers.
DE69221045T2 (de) Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen
DE69028138T2 (de) Mechanismus zur präzisen Behandlung von Ausnahmebedingungen in einem Prozessor mit gepaarten Befehlen
DE69033398T2 (de) Rechnerarchitektur mit Mehrfachbefehlsausgabe
DE3786862T2 (de) Fehlertolerante Rechnerarchitektur.
DE69230626T2 (de) Informationsverarbeitungssystem mit der Fähigkeit zum Betreiben von mehreren Vektorpipelines in zwei unterscheidlichen Wirkungsweisen
DE68927029T2 (de) Pipelineprozessor
DE69027932T2 (de) Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen
DE2714805A1 (de) Datenverarbeitungssystem
DE4207148A1 (de) Superscalar-prozessor
DE3689389T2 (de) Datenverarbeitungsprozessor.
DE3854142T2 (de) Vektorrechner.
DE69632655T2 (de) Pipeline-Datenverarbeitungsanordnung zur Durchführung einer Mehrzahl von untereinander datenabhängigen Datenprozessen
DE69318914T2 (de) Vorrichtung zur Abarbeitung von Befehlen mit verbesserter Abwicklung von Unterbrechungen
DE68917647T2 (de) Multiprozessorsteuerungssystem.

Legal Events

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