DE10050589A1 - Schnellere Schiebewertberechnung unter Verwendung eines modifizierten Übertrag-Vorausschau-Addierers - Google Patents

Schnellere Schiebewertberechnung unter Verwendung eines modifizierten Übertrag-Vorausschau-Addierers

Info

Publication number
DE10050589A1
DE10050589A1 DE2000150589 DE10050589A DE10050589A1 DE 10050589 A1 DE10050589 A1 DE 10050589A1 DE 2000150589 DE2000150589 DE 2000150589 DE 10050589 A DE10050589 A DE 10050589A DE 10050589 A1 DE10050589 A1 DE 10050589A1
Authority
DE
Germany
Prior art keywords
logic
result
control signal
carry
operands
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE2000150589
Other languages
English (en)
Other versions
DE10050589B4 (de
Inventor
Paul Robert Thayer
Sanjay Kumar
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE10050589A1 publication Critical patent/DE10050589A1/de
Application granted granted Critical
Publication of DE10050589B4 publication Critical patent/DE10050589B4/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
    • 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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/5055Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination in which one operand is a constant, i.e. incrementers or decrementers
    • 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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/506Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
    • G06F7/508Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using carry look-ahead circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/08Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
    • H03K19/094Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using field-effect transistors
    • H03K19/096Synchronous circuits, i.e. using clock signals
    • H03K19/0963Synchronous circuits, i.e. using clock signals using transistors of complementary type

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)
  • Complex Calculations (AREA)

Abstract

In einer Schaltunganordnung zum Reduzieren von Laufzeitverzögerungen bei einer Berechnung eines Wertes zur Verwendung in einer Gleitkomma-Multiplizier-Akkumulier-Operation empfängt ein Übertrag-Sicherungs-Addierer Werte von drei Eingabeoperanden aus drei Latch-Speichern. Ein Übertrag-Vorausschau-Addierer empfängt die Ausgaben des Übertrag-Sicherungs-Addierers und implementiert eine XOR-Operation bezüglich eines höchstwertigen Bits gemeinsam mit seiner eigenen Logikoperation, um den Wert für die Gleitkomma-Multiplizier-Akkumulier-Operation zu erzeugen. Modifikationen des Übertrag-Vorausschau-Addierers zur Durchführung der XOR-Operation resultieren in der Eliminierung einer vollständigen Logikstufe.

Description

Die vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren zur Verwendung bei der Implementierung einer Gleitkomma-Multiplizier-Akkumulier-Operation.
Eine logische Schaltungsanordnung zur Implementierung einer Gleitkomma-Multiplizier-Akkumulier-Operation (FMAC; FMAC = floating point multiply-accumulate operation) wurde entwic­ kelt. Diese Operation führt mit drei Operanden (A, B, C) die Operation A.B+C durch. Die FMAC-Operation ist nützlich inso­ fern als sie verwendet werden kann um sowohl eine Addition als auch eine Multiplikation in einem logischen Schaltungs­ aufbau zu implementieren. Insbesondere wird für eine Addi­ tionsoperation der Wert des Operands A = 1 gesetzt. Für eine Multiplikationsoperation wird der Wert des Operands C zu Null gesetzt.
Fig. 1 ist z. B. ein Diagramm einer Schaltung 10 gemäß dem Stand der Technik zur Verwendung bei der Implementierung einer FMAC-Operation. In der Schaltung 10 enthalten drei Latch-Speicher 12, 14 und 16 drei 17-Bit Operanden A, B und C. Die Werte dieser drei Operanden werden einem ersten Über­ trag-Sicherungs-Addierer bzw. Übertrag-erhaltenden Addierer (CSA; CSA = carry-save adder) 18 eingegeben. Das Ergebnis des ersten CSA 18 wird einem zweiten CSA 20 gemeinsam mit dem Wert einer Konstanten eingegeben, die auf der Leitung 22 empfangen wird. Zuletzt wird die Ausgabe des zweiten CSA-Ad­ dierers 20 einem Übertrag-Vorausschau-Addierer (CLA; CLA = carry-lookahead adder) 24 eingegeben, der eine Additionsope­ ration durchführt und einen resultierenden Schiebewert auf einer Leitung 26 zur Verwendung in einer FMAC-Operation aus­ gibt.
Der Schiebewert wird verwendet, um die Mantissen für den Additionsabschnitt der FMAC-Operation auszurichten. Die Gleitpunktzahlen, die durch die FMAC-Operation verwendet werden, werden jeweils als eine Mantisse und ein Exponent ausgedrückt. Das Ergebnis der Multiplizieroperation (A.B) erzeugt ein Produkt, das typischerweise einen vom Exponenten des Operanden C unterschiedlichen Exponenten aufweist. Die FMAC-Operation verwendet den Schiebewert um die Mantisse des Operanden C zu schieben und damit "auszurichten", um sie mit der Mantisse des Produktes A.B zu addieren. Obwohl die Man­ tisse des Operanden C verschoben wird, könnte alternativ die Mantisse des Produktes A.B verschoben werden um die Addier­ operation durchzuführen. Das Berechnen des Schiebewertes und das Durchführen des Schiebens der Mantisse des Operanden C treten während der Multiplizieroperation auf. Das Format von Gleitkommazahlen und ihre Addition sind in der Technik be­ kannt.
Die Verwendung dieser mehreren Stufen innerhalb der Schal­ tung 10 zum Erzeugen des Schiebewertes kann beim Durchführen der FMAC-Operation eine Verzögerung von erheblicher Größe einführen.
Die Aufgabe der vorliegenden Erfindung besteht darin, eine Vorrichtung und ein Verfahren zu schaffen, die die FMAC-Ope­ ration schnell implementieren.
Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1 oder ein Verfahren gemäß Anspruch 11 gelöst.
Ein Vorteil der vorliegenden Erfindung besteht darin, die Laufzeitverzögerungen innerhalb einer Schaltung zur Durch­ führung einer FMAC-Operation zu reduzieren.
Eine Vorrichtung in Übereinstimmung mit der vorliegenden Erfindung umfaßt eine Mehrzahl von Latch-Speichern, um eine Mehrzahl von Operanden aufzunehmen. Eine CSA-Schaltung führt eine CSA-Operation bezüglich der Operanden durch, um ein er­ stes Ergebnis zu erzeugen, und ein Logikblock führt eine CLA-Operation bezüglich des ersten Ergebnisses durch, um ein zweites Ergebnis zu erzeugen. Eine Logikschaltung in dem Lo­ gikblock führt eine Logikoperation bezüglich des zweiten Er­ gebnisses und basierend auf einen Steuersignal durch, um einen Schiebewert zur Verwendung in der FMAC-Operation zu erzeugen.
Ein Verfahren gemäß der vorliegenden Erfindung umfaßt den Schritt des Empfangens einer Mehrzahl von Operanden. Eine CSA-Operation wird bezüglich der Operanden durchgeführt, um ein erstes Ergebnis zu erzeugen, und eine CLA-Operation wird bezüglich des ersten Ergebnisses durchgeführt, um ein zwei­ tes Ergebnis zu erzeugen. Bezüglich des zweiten Ergebnisses wird eine Logikoperation, die auf einem Steuersignal ba­ siert, als Teil der CLA-Operation durchgeführt, um einen Schiebewert zur Verwendung in der FMAC-Operation zu erzeu­ gen.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeich­ nungen näher erläutert. Es zeigen;
Fig. 1 ein Logikdiagramm einer Schaltung gemäß dem Stand der Technik zur Verwendung bei der Implementierung einer FMAC-Operation;
Fig. 2 ein Logikdiagramm einer Schaltung zur Verwendung bei der Implementierung einer FMAC-Operation gemäß der vorliegenden Erfindung;
Fig. 3 ein Transistordiagramm einer Schaltungsanordnung gemäß dem Stand der Technik zur Verwendung bei der Implementierung einer FMAC-Operation entsprechend dem Logikdiagramm in Fig. 1;
Fig. 4 ein Transistordiagramm einer Schaltungsanordnung für die Verwendung bei der Implementierung einer FMAC-Operation entsprechend dem Logikdiagramm in Fig. 2; und
Fig. 5 ein Transistordiagramm einer Steuerschaltung zur Erzeugung von Steuersignalen für die Verwendung bei einer Implementierung einer FMAC-Operation unter Verwendung der Schaltungsanordnung, die in Fig. 4 gezeigt ist.
Eine Schaltungsanordnung gemäß der vorliegenden Erfindung reduziert die Laufzeitverzögerungen bei der Durchführung einer FMAC-Operation indem eine Logikstufe elimentiert wird, die bei der Erzeugung eines Schiebewertes für die Operation verwendet wird. Eine weitere Logikstufe ist modifiziert um eine parallele Logikoperation durchzuführen und der redu­ zierten Logikstufe Rechnung zu tragen. Dies resultiert in einer erhöhten Ausführungsgeschwindigkeit bei der Berechnung des Schiebewertes zur Verwendung in einer FMAC-Operation.
Fig. 2 ist ein Logikdiagramm einer Schaltung 30 zur Verwen­ dung bei der Durchführung einer FMAC-Operation in Überein­ stimmung mit der vorliegenden Erfindung. Die Schaltung 30 stellt eine Modifikation der Schaltung 10 dar, die dem Stand der Technik entspricht und in Fig. 1 gezeigt ist. Die Schal­ tung 30 umfaßt drei Latch-Speicher 32, 34 und 36, die dafür vorgesehen sind, drei Operanden A, B und C für die FMAC-Ope­ ration zu enthalten, die in diesem Beispiel als 17-Bitope­ randen gezeigt sind. Ein CSA 38 empfängt die Werte der Ope­ randen A, B und C aus den Latch-Speichern 32, 34 und 36. In der Schaltung 30 wird jedoch ein zweiter CSA, der dem CSA 20 in Schaltung 10 entspricht, eliminiert. Die Eliminierung des zweiten CSA erhöht die Geschwindigkeit der Berechnung des resultierenden Schiebewertes für die Verwendung in einer FMAC-Operation, indem eine Logikstufe eliminiert wird. Sie reduziert somit die entsprechende Laufzeitverzögerungen. Ein Logikblock 40 empfängt die Ausgaben des CSA 38 und lie­ fert einen resultierenden Schiebewert auf einer Leitung 48. Der Schiebewert wird, wie es oben erklärt wurde, verwendet um Mantissen für die Addieroperation auszurichten. In diesem Beispiel wird der Logikblock 40 unter Verwendung eines CLA implementiert, der modifiziert ist, um eine Exklusiv-ODER- (XOR-) Operation, die auf einem Steuersignal 46 basiert, bezüglich des Ergebnisses der CLA-Operation durchzuführen. Die XOR-Funktion wird bezüglich des höchstwertigen Bits des Ergebnisses durchgeführt. Das Steuersignal 46 wird basierend darauf erzeugt, ob die FMAC-Operation vom SIMD-Typ (SIMD = single instruction-multiple data = eine Anweisung mehrere Daten) oder vom Nicht-SIMD-Typ ist; SIMD-Operationen sind in der Technik bekannt. Wie es unten erklärt wird, kann die XOR-Operation innerhalb der existierenden Schaltung eines CLA im Logikblock 40 implementiert sein, und erzeugt somit keine zusätzliche Laufzeitverzögerung.
Die zweite CSA 20 kann eliminiert werden, basierend darauf, wie die Konstante über Leitung 22 wirkt. Insbesondere ver­ wendet der zweite CSA 20 in Schaltung 10 nur die niedrigeren acht Bits der Konstante auf Leitung 22, und diese niedrige­ ren acht Bits variieren nur in der höchstwertigen Bitposi­ tion. Diese Variation ist bekannt, da die FMAC-Operation für eine Wirkung bezüglich Gleitkommazahlen einen Standard ver­ wendet, wie er im IEEE-Standard für binäre Gleitkomma-Arith­ metik, IEEE Std. 754-1985, spezifiziert ist, der hierin durch Bezugnahme aufgenommen wird. Außerdem sind CSAs und CLAs zusammen mit den Operationen, die sie implementieren, in der Technik bekannt.
Fig. 3 ist ein Transistordiagramm einer bekannten Schal­ tungsanordnung zur Implementierung einer Endstufe im CLA 24 der in der Technik bekannten Schaltung 10. Im Vergleich ist Fig. 4 ein Transistordiagramm, das ein Beispiel darstellt, wie die in der Technik bekannte Schaltung in Fig. 3 modifi­ ziert wird, um die XOR-Operation in Schaltung 30 zu imple­ mentieren. Da CLAs in der Technik bekannt sind, ist nur die Endstufe für Darstellungszwecke gezeigt. Außerdem ist in diesem Beispiel nur die Endstufe als modifiziert gezeigt, obwohl zusätzliche Modifikationen, basierend auf einer spe­ ziellen Verwendung der CLA, ausgeführt werden können.
Wie in Fig. 3 gezeigt ist, umfaßt eine Endstufe in dem CLA 24 zwei Sätze von Schaltungen 50 und 60, entsprechend zwei Bits für jedes Eingabebit. Es existieren zwei Bits, da diese Implementierung z. B. komplementäre Logik verwendet, die Zweischienen-Domino-CMOS- oder Mausefallen-Logik genannt wird und die in der Technik bekannt sind. Die Schaltung 50 umfaßt eine erste Stufe 52 und eine zweite Stufe 54, die ein Summations-Hoch- (SUMH-) Signal 58 und sein Komplement, ein Signal sSUMH 56 erzeugen. Eine komplementäre Schaltungsan­ ordnung 60 umfaßt eine erste Stufe 62 und eine zweite Stufe 64, die ein Summations-Niedrig- (SUML-) Signal 68 und sein Komplement, ein Signal sSUML 66 erzeugen. Die Signale (EVAL, DNG, COL, CO, PP2, GPG3, GPK3), die in den Schaltungen 50 und 60 gezeigt sind, sind in der Technik in Bezug auf FMAC- Operationen bekannt.
Fig. 4 stellt eine Schaltungsanordnung 70 und 90 dar, die Modifikationen bezüglich der Schaltungen 50 bzw. 60 enthält, zur Implementierung der XOR-Operation im CLA des Logikblocks 40. Die Schaltungen 70 und 90 stellen die Verarbeitung an der höchstwertigen Bitposition in der Endstufe des CLA im Logikblock 40 dar. Der Logikblock 40 umfaßt auch eine zu­ sätzliche, bekannte Schaltungsanordnung zur Verarbeitung der anderen Bits, die von CSA 38 für die CLA-Operation empfangen werden. Die Schaltung 70 umfaßt, wie es gezeigt ist, zur Im­ plementierung der XOR-Operation redundante Logik. Außerdem umfaßt sie zwei Stufen 72 und 76, die den Funktionen der Stufen 52 und 54 entsprechen. Die Schaltung 70 umfaßt auch eine zur Stufe 72 redundante Stufe 74 und eine zur Stufe 76 redundante Stufe 78. Innerhalb von jeder dieser Stufen im­ plementiert ein zusätzlicher Transistor die XOR-Operation. Insbesondere implementieren Transistoren 80, 82, 84 und 86 die XOR-Operation in den Stufen 72, 74, 76 bzw. 78. Deshalb erzeugt das Ergebnis der Stufen ein SUMH Signal 88 und sein Komplement, ein Signal sSUMH 87, ohne Verwendung eines zwei­ ten CSA (wie z. B. CSA 20).
Die Schaltung 90 entspricht der Schaltung 60 und stellt ebenfalls Modifikationen zum Implementieren der xOR-Opera­ tion für die Ausgabe, die komplementär zur Stufe 70 ist, dar. Die Schaltung 90 umfaßt Stufen 92 und 96, die den Stu­ fen 62 bzw. 64 entsprechen. Die Schaltung 90 umfaßt auch eine zur Stufe 92 redundante Stufe 94 und eine zur Stufe 96 redundante Stufe 98. Jede dieser Stufen umfaßt auch einen zusätzlichen Transistor zur Implementierung der XOR-Opera­ tion. Insbesondere implementieren die Transistoren 100, 102, 104 und 106 die XOR-Operation bei den Stufen 92, 94, 96 bzw. 98. Deshalb erzeugt der Betrieb dieser Stufen ohne Verwen­ dung eines zweiten CSA ein SUML Signal 108 und sein Komple­ ment, ein Signal sSUML 107.
Demgemäß erzeugen die Signale 87, 88, 107 und 108 den selben resultierenden Schiebewert auf Leitung 48 wie der Schiebe­ wert, der auf Leitung 26 durch die Signale 56, 58, 66 und 68 erzeugt wird. Da die XOR-Operation durch eine Modifikation eines CLA zur Erzeugung dieser Signale durchgeführt wird, tritt sie, wie es in den Schaltungen 70 und 90 gezeigt ist, parallel zu der CLA-Operation auf und fügt keinerlei merkli­ che Laufzeitverzögerung hinzu. Die verschiedenen Signale (EVAL, COL, CO, DNG, PP2, GPG3, GPK3) in den Schaltungen 70 und 90 sind, abgesehen von den XOR-Signalen, in der Technik bekannt.
Fig. 5 ist ein Transistordiagramm einer Steuerschaltung 110 zum Erzeugen der XOR-Steuersignale XOR hoch (XORH) und XOR niedrig (XORL) die in den Schaltungen 70 und 90 verwendet werden. Diese Steuersignale entsprechen dem Steuersignal 46. Der Betrieb der Steuerschaltung 110 zum Erzeugen der XORH- und XORL-Signale tritt parallel mit der CLA-Operation im Lo­ gikblock 40 oder einer anderen Verarbeitung auf und beein­ flußt somit nicht die Gesamtverzögerung für die CLA-Opera­ tion im Logikblock 40. Im Betrieb empfängt die Steuerschal­ tung 110 als Eingaben ein SIMD niedrig- (SIMDL) Signal 112, ein SIMD hoch- (SIMDH-) Signal 114, ein P-Signal 116 und ein GorK-Signal 118. Diese Eingangssignale sind mit Bezug auf FMAC-Operationen in der Technik bekannt. Die Steuerschaltung 110 verarbeitet diese Eingangssignale logisch um ein XORL- Signal 120 und sein Komplement, ein XORH-Signal 122 zu er­ zeugen. Um diese Signale zu erzeugen, implementiert die Steuerschaltung 110 insbesondere folgende Logikfunktionen: XORL = (SIMDL)(P) + (SIMDH)(GorK) und XORH = (SIMDH)(P) + (SIMDL)(GorK).
Demgemäß wird durch die Verwendung dieser Steuersignale ein vollständiger CSA innerhalb der Beispielimplementierung zur Verwendung bei der Implementierung einer FMAC-Operation eli­ miniert. Die resultierende Laufzeitverzögerung wurde gleichfalls eliminiert. Diese Modifikation resultiert somit in einer erhöhten Berechnungsgeschwindigkeit für die FMAC- Operation und in einer entsprechenden Verbesserung im Ver­ halten für eine andere Schaltungsanordnung, die diese Imple­ mentierung der FMAC-Operation verwendet. Obwohl die Imple­ mentierung der modifizierten CLA-Operation durch ein Zwei­ schienen-Domino-CMOS gezeigt wurde, kann ein beliebiger Typ einer geeigneten Logik verwendet werden. Außerdem kann, wenn eine spezifische Anwendung komplementäre Ausgänge nicht er­ fordert oder verwendet, nur eine modifizierte Endstufe in dem CLA verwendet werden.
Obwohl die vorliegende Erfindung in Verbindung mit einem Ausführungsbeispiel beschrieben wurde, ist erkennbar, daß viele Modifikationen für Fachleute ohne weiteres ersichtlich sind, und diese Anmeldung soll jede beliebige Anpassung oder Variation des Ausführungsbeispiels abdecken. Beispielsweise können unterschiedliche Typen von CSAs und CLAs, unter­ schiedliche Typen von Transistoren zur Implementierung der XOR- und anderer Logikfunktionen, Operanden unterschiedli­ cher Größe und verschiedene Logiktypen zum Erzeugen der Steuersignale verwendet werden, ohne den Umfang der Erfin­ dung zu verlassen. Diese Erfindung soll nur durch die Pa­ tentansprüche und ihre Äquivalente limitiert sein.

Claims (20)

1. Vorrichtung zur Verwendung beim Durchführen einer Gleitkomma-Multiplizier-Akkumulier-Operation, mit fol­ genden Merkmalen:
einer Mehrzahl von Latch-Speichern (32, 34, 36), die eine Mehrzahl von Operanden für die Operation enthal­ ten;
einem Übertrag-Sicherungs-Addierer (38), der mit den Latch-Speichern gekoppelt ist, der die Operanden emp­ fängt und der eine Übertrag-Sicherungs-Addier-Operation bezüglich der Operanden durchführt, um ein erstes Er­ gebnis zu erzeugen; und
einem Logikblock (40), der mit dem Übertrag-Siche­ rungs-Addierer (38) gekoppelt ist, der das erste Ergeb­ nis empfängt und der eine Übertrag-Vorausschau-Addier- Operation bezüglich des ersten Ergebnisses durchführt, um ein zweites Ergebnis zu erzeugen, wobei der Logik­ block (40) eine Logikschaltung (70, 90) aufweist, die eine Logikoperation bezüglich des zweiten Ergebnisses durchführt, die auf einem Steuersignal basiert, um einen Wert zur Verwendung bei der Gleitkomma-Multipli­ zier-Akkumulier-Operation zu erzeugen.
2. Vorrichtung gemäß Anspruch 1, bei der die Logikschal­ tung (70, 90) die Logikoperation bezüglich eines höchstwertigen Bits des zweiten Ergebnisses durchführt.
3. Vorrichtung gemäß Anspruch 2, bei der die Logikschal­ tung (70, 90) eine Exklusiv-ODER-Operation zwischen dem höchstwertigen Bit und dem Steuersignal durchführt.
4. Vorrichtung gemäß einem der vorangehenden Ansprüche, bei der die Logikschaltung (70, 90) eine redundante Lo­ gikstufe (74, 78, 94, 98) zum Verarbeiten eines höchst­ wertigen Bits in dem Logikblock umfaßt.
5. Vorrichtung gemäß Anspruch 4, bei der die redundante Logikstufe (74, 78, 94, 98) die Logikoperation bezüg­ lich des höchstwertigen Bits parallel mit mindestens einem Abschnitt der Übertrag-Vorausschau-Addier-Opera­ tion durchführt.
6. Vorrichtung gemäß einem der vorangehenden Ansprüche, bei der die Logikschaltung (70, 90) die Logikoperation zum Erzeugen eines Schiebewertes zur Verwendung bei der Gleitkomma-Multiplizier-Akkumulier-Operation durch­ führt.
7. Vorrichtung gemäß einem der vorangehenden Ansprüche, die ferner eine Steuerschaltung (110) zum Erzeugen des Steuersignals umfaßt.
8. Vorrichtung gemäß Anspruch 7, bei der die Steuerschal­ tung (110) das Steuersignal basierend auf einer SIMD- Operation erzeugt.
9. Vorrichtung gemäß Anspruch 7, bei der das Steuersignal ein Paar komplementärer Signale (87, 88, 107, 108) ist und die Steuerschaltung das Paar der komplementären Si­ gnale (87, 88, 107, 108) erzeugt.
10. Vorrichtung gemäß einem der vorangehenden Ansprüche, bei der der Logikblock (40) einen Übertrag-Voraus­ schau-Addierer (70, 90) der komplementäre Logikschal­ tungen aufweist, zum Liefern komplementärer Ausgaben als das zweite Ergebnis umfaßt.
11. Verfahren zum Verwendung beim Durchführen einer Gleit­ komma-Multiplizier-Akkumulier-Operation, mit folgenden Schritten:
Empfangen einer Mehrzahl von Operanden für die Opera­ tion;
Durchführen einer Übertrag-Sicherungs-Addier-Operation bezüglich der Operanden, um ein erstes Ergebnis zu er­ zeugen;
Durchführen einer Übertrag-Vorausschau-Addier-Operation bezüglich des ersten Ergebnisses, um ein zweites Ergeb­ nis zu erzeugen;
Empfangen eines Steuersignals; und
Durchführen einer Logikoperation bezüglich des zweiten Ergebnisses basierend auf dem Steuersignal um einen Wert zur Verwendung bei der Gleitkomma-Multiplizier- Akkumulier-Operation zu erzeugen.
12. Verfahren gemäß Anspruch 11, bei dem der Schritt des Durchführens der Logikoperation den Schritt des Durch­ führens der Logikoperation bezüglich eines höchstwerti­ gen Bits des zweiten Ergebnisses umfaßt.
13. Verfahren gemäß Anspruch 12, bei dem der Schritt des Durchführens der Logikoperation den Schritt des Durch­ führens einer Exklusiv-ODER-Operation zwischen dem höchstwertigen Bit und dem Steuersignal umfaßt.
14. Verfahren gemäß einem der Ansprüche 11 bis 13, bei dem der Schritt des Durchführens der Logikoperation den Schritt des Verwendens einer redundanten Logikstufe zum Verarbeiten eines höchstwertigen Bits in einer Über­ trag-Vorausschau-Addier-Schaltung umfaßt.
15. Verfahren gemäß Anspruch 14, bei dem der Schritt des Verwendens den Schritt des Verarbeitens des höchstwer­ tigen Bits parallel mit mindestens einem Abschnitt des Schritts des Durchführens der Übertrag-Vorausschau- Addier-Operation umfaßt.
16. Verfahren gemäß einem der Ansprüche 12 bis 15, bei dem der Schritt des Durchführens der Logikoperation den Schritt des Erzeugens eines Schiebewertes zur Verwen­ dung bei der Gleitkomma-Multiplizier-Akkumulier-Opera­ tion umfaßt.
17. Verfahren gemäß einem der Ansprüche 11 bis 16, das fer­ ner einen Schritt des Erzeugens des Steuersignals um­ faßt.
18. Verfahren gemäß Anspruch 17, bei dem der Schritt des Erzeugens den Schritt des Erzeugens des Steuersignals basierend auf einer SIMD-Operation umfaßt.
19. Verfahren gemäß Anspruch 17, bei dem der Schritt des Erzeugens den Schritt des Erzeugens eines Paares komp­ lementärer Signale als das Steuersignal umfaßt.
20. Verfahren gemäß einem der Ansprüche 11 bis 19, bei dem der Schritt des Durchführens der Übertrag-Vorausschau- Addier-Operation den Schritt des Verwendens von komple­ mentären Logikschaltungen für die Übertrag-Vorausschau- Addier-Operation zum Liefern einer komplementären Aus­ gabe als das zweite Ergebnis umfaßt.
DE10050589A 2000-02-18 2000-10-12 Vorrichtung und Verfahren zur Verwendung beim Durchführen einer Gleitkomma-Multiplizier-Akkumulier-Operation Expired - Fee Related DE10050589B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US50737600A 2000-02-18 2000-02-18
US507376 2000-02-18

Publications (2)

Publication Number Publication Date
DE10050589A1 true DE10050589A1 (de) 2001-08-30
DE10050589B4 DE10050589B4 (de) 2006-04-06

Family

ID=24018399

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10050589A Expired - Fee Related DE10050589B4 (de) 2000-02-18 2000-10-12 Vorrichtung und Verfahren zur Verwendung beim Durchführen einer Gleitkomma-Multiplizier-Akkumulier-Operation

Country Status (2)

Country Link
US (2) US7240085B2 (de)
DE (1) DE10050589B4 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8402075B2 (en) * 2009-03-16 2013-03-19 Advanced Micro Devices, Inc. Mechanism for fast detection of overshift in a floating point unit of a processing device
US9213523B2 (en) 2012-06-29 2015-12-15 Intel Corporation Double rounded combined floating-point multiply and add
US10756753B2 (en) * 2018-10-25 2020-08-25 Arm Limited Data compressor logic circuit

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228520A (en) * 1979-05-04 1980-10-14 International Business Machines Corporation High speed multiplier using carry-save/propagate pipeline with sparse carries
US4425623A (en) 1981-07-14 1984-01-10 Rockwell International Corporation Lookahead carry circuit apparatus
JPS5892036A (ja) 1981-11-27 1983-06-01 Toshiba Corp 加算回路
EP0152939B1 (de) 1984-02-20 1993-07-28 Hitachi, Ltd. Arithmetische Operationseinheit und arithmetische Operationsschaltung
JPS61213927A (ja) 1985-03-18 1986-09-22 Hitachi Ltd 浮動小数点演算処理装置
US4737926A (en) 1986-01-21 1988-04-12 Intel Corporation Optimally partitioned regenerative carry lookahead adder
US4811272A (en) 1987-05-15 1989-03-07 Digital Equipment Corporation Apparatus and method for an extended arithmetic logic unit for expediting selected floating point operations
US4841467A (en) 1987-10-05 1989-06-20 General Electric Company Architecture to implement floating point multiply/accumulate operations
US5043934A (en) 1990-02-13 1991-08-27 Hewlett-Packard Company Lookahead adder with universal logic gates
US5166899A (en) 1990-07-18 1992-11-24 Hewlett-Packard Company Lookahead adder
US5479356A (en) 1990-10-18 1995-12-26 Hewlett-Packard Company Computer-aided method of designing a carry-lookahead adder
US5253195A (en) * 1991-09-26 1993-10-12 International Business Machines Corporation High speed multiplier
US5195051A (en) 1992-03-31 1993-03-16 Intel Corporation Computation of sign bit and sign extension in the partial products in a floating point multiplier unit
US5351207A (en) 1992-08-31 1994-09-27 Intel Corporation Methods and apparatus for subtraction with 3:2 carry-save adders
US5508952A (en) 1993-10-19 1996-04-16 Kantabutra; Vitit Carry-lookahead/carry-select binary adder
US5636157A (en) * 1994-10-03 1997-06-03 International Business Machines Corporation Modular 64-bit integer adder
US5757686A (en) 1995-11-30 1998-05-26 Hewlett-Packard Company Method of decoupling the high order portion of the addend from the multiply result in an FMAC
JPH09231055A (ja) 1996-02-27 1997-09-05 Denso Corp 論理演算回路及びキャリールックアヘッド加算器
US5892698A (en) 1996-04-04 1999-04-06 Hewlett-Packard Company 2's complement floating-point multiply accumulate unit
US5719803A (en) * 1996-05-31 1998-02-17 Hewlett-Packard Company High speed addition using Ling's equations and dynamic CMOS logic
US5860017A (en) 1996-06-28 1999-01-12 Intel Corporation Processor and method for speculatively executing instructions from multiple instruction streams indicated by a branch instruction
US5859999A (en) 1996-10-03 1999-01-12 Idea Corporation System for restoring predicate registers via a mask having at least a single bit corresponding to a plurality of registers
US5790444A (en) * 1996-10-08 1998-08-04 International Business Machines Corporation Fast alignment unit for multiply-add floating point unit
US5944777A (en) 1997-05-05 1999-08-31 Intel Corporation Method and apparatus for generating carries in an adder circuit

Also Published As

Publication number Publication date
US7444366B2 (en) 2008-10-28
DE10050589B4 (de) 2006-04-06
US20040220991A1 (en) 2004-11-04
US7240085B2 (en) 2007-07-03
US20040068531A1 (en) 2004-04-08

Similar Documents

Publication Publication Date Title
DE68924477T2 (de) Gleitkommaeinheit mit gleichzeitiger Multiplikation und Addition.
DE69131458T2 (de) Hardware-Anordnung zur Addition und Subtraktion von Gleitkommazahlen
DE69430838T2 (de) Schaltung und Verfahren zur parallelen Verschiebung und Addition
DE69416283T2 (de) Überlaufsteuerung für arithmetische Operationen
DE69435047T2 (de) Schaltung und Verfahren zur parallelen Addition und Mittelwertbildung
DE19983175B4 (de) Verfahren, Prozessor und Einrichtung für Gleitkommaoperationen und Formatkonvertierungsoperationen
DE4414172C2 (de) Gleit-Komma-Arithmetikeinheit und Verfahren zur Division und Quadratwurzelberechnung, die eine modifizierte Newton-Raphson Technik verwendet
DE19540102C2 (de) Verfahren und Gleitkomma-Recheneinheit mit einer Logik für eine Vierfach-Präzisions-Arithmetik
DE69131736T2 (de) Gleitkomma-Verarbeitungseinheit mit Normalisierung
DE68928376T2 (de) Vorrichtung zum multiplizieren, teilen und ziehen der quadratwurzel
DE69327996T2 (de) Verfahren zur Feststellung eines nullwertigen Ergebnisses als Folge einer arithmetischen oder logischen Berechnung und Schaltung hierfür
DE10105945B4 (de) Multiplizierer mit Linearsummierungsarray sowohl zur vorzeichenbehafteten als auch zur vorzeichenlosen Multiplikation
DE68928058T2 (de) Gerät und verfahren zur prädiktion von gleitkommanormalisierung
DE3700991A1 (de) Digitaler uebertragsvorgriffsaddierer
DE2058612A1 (de) Verfahren und Schaltung zur Bildung eine Reziprowertes
DE19983870B4 (de) Berechnung impliziter Datentypbits für Simd-Operationen
DE68924386T2 (de) Verfahren und Gerät zur Radix-2**n-Division mit überlappender Quotientenbitauswahl und gleichzeitiger Rundung und Korrektur des Quotienten.
DE69434806T2 (de) Verfahren, System und Vorrichtung zum automatischen Entwurf einer Multiplikatorschaltung und durch die Durchführung dieses Verfahrens entworfene Multiplikatorschaltung
DE3888230T2 (de) Einrichtung und Verfahren zur Durchführung einer Schiebeoperation mit einer Multipliziererschaltung.
DE4403917A1 (de) Vorrichtung zum Berechnen einer Besetzungszählung
DE3852576T2 (de) Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen.
DE4101004A1 (de) Paralleler multiplizierer mit sprungfeld und modifiziertem wallac-baum
DE10013068C2 (de) Potenzierungsoperationsvorrichtung
DE102007037363B4 (de) Standardzelle für Arithmetiklogikeinheit und Chipkartensteuerung
DE1549508B2 (de) Anordnung zur uebertragsberechnung mit kurzer signallaufzeit

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee