DE10050589A1 - Schnellere Schiebewertberechnung unter Verwendung eines modifizierten Übertrag-Vorausschau-Addierers - Google Patents
Schnellere Schiebewertberechnung unter Verwendung eines modifizierten Übertrag-Vorausschau-AddierersInfo
- 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
Links
- 230000015654 memory Effects 0.000 title abstract 3
- 230000000295 complement effect Effects 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 15
- 230000003340 mental effect Effects 0.000 claims 1
- 241000030538 Thecla Species 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000001934 delay Effects 0.000 description 3
- 101000713935 Mus musculus Tudor domain-containing protein 7 Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
Classifications
-
- 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/5055—Adding; 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
-
- 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/506—Adding; 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/508—Adding; 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/08—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
- H03K19/094—Logic 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/096—Synchronous circuits, i.e. using clock signals
- H03K19/0963—Synchronous 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.
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.
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.
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)
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)
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 |
-
2000
- 2000-10-12 DE DE10050589A patent/DE10050589B4/de not_active Expired - Fee Related
-
2003
- 2003-07-07 US US10/613,095 patent/US7240085B2/en not_active Expired - Fee Related
-
2004
- 2004-05-26 US US10/853,518 patent/US7444366B2/en not_active Expired - Fee Related
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 |