DE10050589B4 - Vorrichtung und Verfahren zur Verwendung beim Durchführen einer Gleitkomma-Multiplizier-Akkumulier-Operation - Google Patents

Vorrichtung und Verfahren zur Verwendung beim Durchführen einer Gleitkomma-Multiplizier-Akkumulier-Operation Download PDF

Info

Publication number
DE10050589B4
DE10050589B4 DE10050589A DE10050589A DE10050589B4 DE 10050589 B4 DE10050589 B4 DE 10050589B4 DE 10050589 A DE10050589 A DE 10050589A DE 10050589 A DE10050589 A DE 10050589A DE 10050589 B4 DE10050589 B4 DE 10050589B4
Authority
DE
Germany
Prior art keywords
logic
result
control signal
circuit
carry
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
DE10050589A
Other languages
English (en)
Other versions
DE10050589A1 (de
Inventor
Paul Robert Fort Collins Thayer
Sanjay Fort Collins 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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Development Co LP filed Critical Hewlett Packard Development Co LP
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)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Power Engineering (AREA)
  • Logic Circuits (AREA)
  • Complex Calculations (AREA)

Abstract

Vorrichtung zur Verwendung beim Durchführen einer Gleitkomma-Multiplizier-Akkumulier-Operation, mit folgenden Merkmalens
einer Mehrzahl von Latch-Speichern (32, 34, 36), die eine Mehrzahl von Operanden für die Operation enthalten;
einem Übertrag-Sicherungs-Addierer (38), der mit den Latch-Speichern gekoppelt ist, der die Operanden empfängt und der eine Übertrag-Sicherungs-Addier-Operation bezüglich der Operanden durchführt, um ein erstes Ergebnis zu erzeugen; und
einem Logikblock (40), der mit dem Übertrag-Sicherungs-Addierer (38) gekoppelt ist, der das erste Ergebnis empfängt und der eine Übertrag-Vorausschau-Addier-Operation bezüglich des ersten Ergebnisses durchführt, um ein zweites Ergebnis zu erzeugen, wobei der Logikblock (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-Multiplizier-Akkumulier-Operation zu erzeugen.

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 entwikkelt. Diese Operation führt mit drei Operanden (A, B, C) die Operation A·B+C durch. Die FMAC-Operation ist nützlich insofern als sie verwendet werden kann um sowohl eine Addition als auch eine Multiplikation in einem logischen Schaltungsaufbau zu implementieren. Insbesondere wird für eine Additionsoperation der Wert des Operands A=1 gesetzt. Für eine Multiplikationsoperation wird der Wert des Operands C zu Null gesetzt.
  • 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 Übertrag-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-Addierers 20 einem Übertrag-Vorausschau-Addierer (CLA; CLA = carry-lookahead adder) 24 eingegeben, der eine Additionsoperation durchführt und einen resultierenden Schiebewert auf einer Leitung 26 zur Verwendung in einer FMAC-Operation ausgibt.
  • 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 Mantisse des Operanden C verschoben wird, könnte alternativ die Mantisse des Produktes A·B verschoben werden um die Addieroperation 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 bekannt.
  • Die Verwendung dieser mehreren Stufen innerhalb der Schaltung 10 zum Erzeugen des Schiebewertes kann beim Durchführen der FMAC-Operation eine Verzögerung. von erheblicher Größe einführen.
  • Aus der US-4,228,520 A ist bereits ein Hochgeschwindigkeitsmultiplizierer bekannt, bei dem eine Variation des bekannten Verschiebungs-Addier-Algorithmus verwendet wird, wobei in jedem Zyklus eine Ziffer des Multiplikators mit dem gesamten Multiplikanden als Teilprodukt verarbeitet wird, das im nächsten Zyklus aufaddiert wird. Die Produkte höherer Ordnung werden mit einem Übertrags-Ausbreitungs-Addierer erzeugt.
  • Aus der US 5 253 195 A ist ein Multiplizierer mit einer Pipeline-Struktur bekannt. Innerhalb der Struktur wird ein optionaler Multiplizierer für kurze Gleitpunktoperationen verwendet.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, eine Vorrichtung und ein Verfahren zu schaffen, die die FMAC-Operation 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 Durchfü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 Logikblock führt eine Logikoperation bezüglich des zweiten Ergebnisses 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 zweites Ergebnis zu erzeugen. Bezüglich des zweiten Ergebnisses wird eine Logikoperation, die auf einem Steuersignal basiert, als Teil der CLA-Operation durchgeführt, um einen Schiebewert zur Verwendung in der FMAC-Operation zu erzeugen.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Logikdiagramm einer Schaltung gemäß dem Stand der Technik zur Verwendung bei der Implementierung einer FMAC-Operation;
  • 2 ein Logikdiagramm einer Schaltung zur Verwendung bei der Implementierung einer FMAC-Operation gemäß der vorliegenden Erfindung;
  • 3 ein Transistordiagramm einer Schaltungsanordnung gemäß dem Stand der Technik zur Verwendung bei der Implementierung einer FMAC-Operation entsprechend dem Logikdiagramm in 1;
  • 4 ein Transistordiagramm einer Schaltungsanordnung für die Verwendung bei der Implementierung einer FMAC-Operation entsprechend dem Logikdiagramm in 2; und
  • 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 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 reduzierten Logikstufe Rechnung zu tragen. Dies resultiert in einer erhöhten Ausführungsgeschwindigkeit bei der Berechnung des Schiebewertes zur Verwendung in einer FMAC-Operation.
  • 2 ist ein Logikdiagramm einer Schaltung 30 zur Verwendung bei der Durchführung einer FMAC-Operation in Übereinstimmung mit der vorliegenden Erfindung. Die Schaltung 30 stellt eine Modifikation der Schaltung 10 dar, die dem Stand der Technik entspricht und in 1 gezeigt ist. Die Schaltung 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-Operation zu enthalten, die in diesem Beispiel als 17-Bitoperanden gezeigt sind. Ein CSA 38 empfängt die Werte der Operanden 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 verwendet der zweite CSA 20 in Schaltung 10 nur die niedrigeren acht Bits der Konstante auf Leitung 22, und diese niedrigeren acht Bits variieren nur in der höchstwertigen Bitposition. Diese Variation ist bekannt, da die FMAC-Operation für eine Wirkung bezüglich Gleitkommazahlen einen Standard verwendet, wie er im IEEE-Standard für binäre Gleitkomma-Arithmetik, 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.
  • 3 ist ein Transistordiagramm einer bekannten Schaltungsanordnung zur Implementierung einer Endstufe im CLA 24 der in der Technik bekannten Schaltung 10. Im Vergleich ist 4 ein Transistordiagramm, das ein Beispiel darstellt, wie die in der Technik bekannte Schaltung in 3 modifiziert wird, um die XOR-Operation in Schaltung 30 zu implementieren. 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 speziellen Verwendung der CLA, ausgeführt werden können.
  • Wie in 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 Schaltungsanordnung 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.
  • 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 zusä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 Implementierung 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 implementiert 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 zweiten CSA (wie z. B. CSA 20).
  • Die Schaltung 90 entspricht der Schaltung 60 und stellt ebenfalls Modifikationen zum Implementieren der XOR-Operation für die Ausgabe, die komplementär zur Stufe 70 ist, dar. Die Schaltung 90 umfaßt Stufen 92 und 96, die den Stufen 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-Operation. 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 Verwendung eines zweiten CSA ein SUML Signal 108 und sein Komplement, ein Signal sSUML 107.
  • Demgemäß erzeugen die Signale 87, 88, 107 und 108 den selben resultierenden Schiebewert auf Leitung 48 wie der Schiebewert, 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 merkliche 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.
  • 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 Logikblock 40 oder einer anderen Verarbeitung auf und beeinflußt somit nicht die Gesamtverzögerung für die CLA-Operation 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 erzeugen. 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 eliminiert. 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 Verhalten für eine andere Schaltungsanordnung, die diese Implementierung der FMAC-Operation verwendet. Obwohl die Implementierung der modifizierten CLA-Operation durch ein Zweischienen-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 erfordert 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, unterschiedliche Typen von Transistoren zur Implementierung der XOR- und anderer Logikfunktionen, Operanden unterschiedlicher Größe und verschiedene Logiktypen zum Erzeugen der Steuersignale verwendet werden, ohne den Umfang der Erfindung 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 folgenden Merkmalens einer Mehrzahl von Latch-Speichern (32, 34, 36), die eine Mehrzahl von Operanden für die Operation enthalten; einem Übertrag-Sicherungs-Addierer (38), der mit den Latch-Speichern gekoppelt ist, der die Operanden empfängt und der eine Übertrag-Sicherungs-Addier-Operation bezüglich der Operanden durchführt, um ein erstes Ergebnis zu erzeugen; und einem Logikblock (40), der mit dem Übertrag-Sicherungs-Addierer (38) gekoppelt ist, der das erste Ergebnis empfängt und der eine Übertrag-Vorausschau-Addier-Operation bezüglich des ersten Ergebnisses durchführt, um ein zweites Ergebnis zu erzeugen, wobei der Logikblock (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-Multiplizier-Akkumulier-Operation zu erzeugen.
  2. Vorrichtung gemäß Anspruch 1, bei der die Logikschaltung (70, 90) die Logikoperation bezüglich eines höchstwertigen Bits des zweiten Ergebnisses durchführt.
  3. Vorrichtung gemäß Anspruch 2, bei der die Logikschaltung (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öchstwertigen Bits in dem Logikblock umfaßt.
  5. Vorrichtung gemäß Anspruch 4, bei der die redundante Logikstufe (74, 78, 94, 98) die Logikoperation bezüglich des höchstwertigen Bits parallel mit mindestens einem Abschnitt der Übertrag-Vorausschau-Addier-Operation 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 durchfü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 Steuerschaltung (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 Signale (87, 88, 107, 108) erzeugt.
  10. Vorrichtung gemäß einem der vorangehenden Ansprüche, bei der der Logikblock (40) einen Übertrag-Vorausschau-Addierer (70, 90) der komplementäre Logikschaltungen aufweist, zum Liefern komplementärer Ausgaben als das zweite Ergebnis umfaßt.
  11. Verfahren zum Verwendung beim Durchführen einer Gleitkomma-Multiplizier-Akkumulier-Operation, mit folgenden Schritten: Empfangen einer Mehrzahl von Operanden für die Operation; Durchführen einer Übertrag-Sicherungs-Addier-Operation bezüglich der Operanden, um ein erstes Ergebnis zu erzeugen; Durchführen einer Übertrag-Vorausschau-Addier-Operation bezüglich des ersten Ergebnisses, um ein zweites Ergebnis 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 Durchführens der Logikoperation bezüglich eines höchstwertigen Bits des zweiten Ergebnisses umfaßt.
  13. Verfahren gemäß Anspruch 12, bei dem der Schritt des Durchführens der Logikoperation den Schritt des Durchfü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 Übertrag-Vorausschau-Addier-Schaltung umfaßt.
  15. Verfahren gemäß Anspruch 14, bei dem der Schritt des Verwendens den Schritt des Verarbeitens des höchstwertigen 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 11 bis 15, bei dem der Schritt des Durchführens der Logikoperation den Schritt des Erzeugens eines Schiebewertes zur Verwendung bei der Gleitkomma-Multiplizier-Akkumulier-Operation umfaßt.
  17. Verfahren gemäß einem der Ansprüche 11 bis 16, das ferner einen Schritt des Erzeugens des Steuersignals umfaß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 komplementä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 komplementären Logikschaltungen für die Übertrag-Vorausschau-Addier-Operation zum Liefern einer komplementären Ausgabe 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 DE10050589A1 (de) 2001-08-30
DE10050589B4 true 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

Citations (2)

* 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
US5253195A (en) * 1991-09-26 1993-10-12 International Business Machines Corporation High speed multiplier

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 加算回路
DE3587480T2 (de) 1984-02-20 1993-11-04 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
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

Patent Citations (2)

* 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
US5253195A (en) * 1991-09-26 1993-10-12 International Business Machines Corporation High speed multiplier

Also Published As

Publication number Publication date
US20040220991A1 (en) 2004-11-04
US7240085B2 (en) 2007-07-03
DE10050589A1 (de) 2001-08-30
US20040068531A1 (en) 2004-04-08
US7444366B2 (en) 2008-10-28

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
DE69132517T2 (de) Gleitkommaprozessor
DE69435047T2 (de) Schaltung und Verfahren zur parallelen Addition und Mittelwertbildung
DE3854321T2 (de) Populationszählung in Rechnersystemen.
DE69821408T2 (de) Multiplikationsverfahren und -vorrichtung
DE69032891T2 (de) Verfahren und Gerät zur Ausführung mathematischer Funktionen mit Hilfe polynomialer Annäherung und eines Multiplizierers rechteckigen Seitenverhältnisses
DE68928376T2 (de) Vorrichtung zum multiplizieren, teilen und ziehen der quadratwurzel
DE68928058T2 (de) Gerät und verfahren zur prädiktion von gleitkommanormalisierung
DE3700991A1 (de) Digitaler uebertragsvorgriffsaddierer
DE69032890T2 (de) Verfahren und Gerät zur Ausführung der Quadratwurzelfunktion mit Hilfe eines Multiplizierers rechteckigen Seitenverhältnisses
DE69434806T2 (de) Verfahren, System und Vorrichtung zum automatischen Entwurf einer Multiplikatorschaltung und durch die Durchführung dieses Verfahrens entworfene Multiplikatorschaltung
DE4403917C2 (de) Vorrichtung zum Berechnen einer Bit-Besetzungszählung
DE3888230T2 (de) Einrichtung und Verfahren zur Durchführung einer Schiebeoperation mit einer Multipliziererschaltung.
DE68924386T2 (de) Verfahren und Gerät zur Radix-2**n-Division mit überlappender Quotientenbitauswahl und gleichzeitiger Rundung und Korrektur des Quotienten.
DE4101004C2 (de) Paralleler Multiplizierer mit Sprungfeld und modifiziertem Wallac-Baum
DE3852576T2 (de) Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen.
DE3701599C2 (de)
DE10013068C2 (de) Potenzierungsoperationsvorrichtung
DE69808362T2 (de) Multiplizierverfahren und Multiplizierschaltung
DE10219158B4 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation
DE102007037363A1 (de) Standardzelle für Arithmetiklogikeinheit und Chipkartensteuerung
DE4019646C2 (de) Vorrichtung und Verfahren zum Multiplizieren von Datenwörtern in Zweier-Komplement-Darstellung

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