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
Links
- 238000010586 diagram Methods 0.000 description 8
- 241001442055 Vipera berus Species 0.000 description 7
- 238000010606 normalization Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
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.
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)
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)
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 |
-
1989
- 1989-01-13 US US07/297,781 patent/US4999802A/en not_active Expired - Fee Related
- 1989-12-15 JP JP1324159A patent/JPH02226420A/ja active Pending
- 1989-12-20 DE DE68923264T patent/DE68923264T2/de not_active Expired - Fee Related
- 1989-12-20 EP EP89313405A patent/EP0377994B1/de not_active Expired - Lifetime
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 |