DE19746054B4 - Verfahren und Vorrichtung zum Ausführen einer Operation mit doppelter Genauigkeit - Google Patents
Verfahren und Vorrichtung zum Ausführen einer Operation mit doppelter Genauigkeit Download PDFInfo
- Publication number
- DE19746054B4 DE19746054B4 DE19746054A DE19746054A DE19746054B4 DE 19746054 B4 DE19746054 B4 DE 19746054B4 DE 19746054 A DE19746054 A DE 19746054A DE 19746054 A DE19746054 A DE 19746054A DE 19746054 B4 DE19746054 B4 DE 19746054B4
- Authority
- DE
- Germany
- Prior art keywords
- operand
- input terminal
- sign
- unsigned
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
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/52—Multiplying; Dividing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Abstract
Verfahren
für eine
Multiplikation mit doppelter Genauigkeit, wobei das Verfahren die
Schritte aufweist:
Initialisieren eines Positionsverschiebebits (206) in einem Statusregister (200) durch Löschen des Zustands;
Löschen des Positionsverschiebebits (206) als Reaktion auf entweder
eine Operation zwischen einem ersten Operanden mit Vorzeichen und einem zweiten Operanden mit Vorzeichen oder
eine Operation zwischen einem ersten Operanden ohne Vorzeichen und einem zweiten Operanden ohne Vorzeichen;
Setzen des Positionsverschiebebits (206) als Reaktion auf entweder
eine Operation zwischen dem ersten Operanden mit Vorzeichen und dem zweiten Operanden ohne Vorzeichen oder
eine Operation zwischen dem ersten Operanden ohne Vorzeichen und dem zweiten Operanden mit Vorzeichen und
Verschieben eines Wertes in einem Akkumulator (13) als Reaktion auf eine Änderung des Zustands des Positionsverschiebebits.
Initialisieren eines Positionsverschiebebits (206) in einem Statusregister (200) durch Löschen des Zustands;
Löschen des Positionsverschiebebits (206) als Reaktion auf entweder
eine Operation zwischen einem ersten Operanden mit Vorzeichen und einem zweiten Operanden mit Vorzeichen oder
eine Operation zwischen einem ersten Operanden ohne Vorzeichen und einem zweiten Operanden ohne Vorzeichen;
Setzen des Positionsverschiebebits (206) als Reaktion auf entweder
eine Operation zwischen dem ersten Operanden mit Vorzeichen und dem zweiten Operanden ohne Vorzeichen oder
eine Operation zwischen dem ersten Operanden ohne Vorzeichen und dem zweiten Operanden mit Vorzeichen und
Verschieben eines Wertes in einem Akkumulator (13) als Reaktion auf eine Änderung des Zustands des Positionsverschiebebits.
Description
- Die Erfindung betrifft eine Vorrichtung und ein Verfahren zum Ausführen einer Operation mit doppelter Genauigkeit, die Operatoren mit und ohne Vorzeichen umfaßt, wobei die Operation unter Verwendung eines Verschiebebits in einem Statusregister innerhalb vier Befehlszyklen ausgeführt wird.
- Bei herkömmlichen digitalen Signalprozessoren (DSPs) werden Operationen mit doppelter Genauigkeit typischerweise unter Verwendung von zwei Registern als Einzelwort (z. B. zwei 16-Bit-Register, um ein 32-Bit-Wort zu bilden) und eines Befehls ausgeführt, wobei der Befehl z. B. zwei Adreßbereiche aufweist, von denen sich ein Adreßbereich auf einen Elementaroperanden bezieht und der andere Adreßbereich sich auf einen Objektoperanden bezieht.
- Bei einem herkömmlichen 16-Bit-Festpunkt-DSP ist ein typisches Beispiel für eine Operation mit doppelter Genauigkeit wie folgt: unter der Annahme, daß vier 16-Bit- Register L1, L0, R0 und R1 vorhanden sind, werden zum Ausführen einer Multiplikation mit doppelter Genauigkeit von (L1: L0) × (R1: R0) sechs Operationsschritte ausgeführt, wobei sowohl ein linker Operand mit Vorzeichen (L1; L0) als auch ein rechter Operand mit Vorzeichen (R1; R0) durch 32 Bits dargestellt werden. Der erste Schritt ist das Ausführen einer Multiplikations- und Akkumulations-Operation (MAC-Operation) der Operanden ohne Vorzeichen L0 × R0. Der zweite Schritt schließt das Verschieben des akkumulierten Ergebnisses der ersten MAC-Operation um 16 Bit-Positionen nach rechts ein. Der dritte Schritt ist das Ausführen einer MAC-Operation an dem Operanden mit Vorzeichen L1 und an dem Operanden ohne Vorzeichen R0 (z. B. L1 × R0). Der vierte Schritt ist eine MAC-Operation am Operanden ohne Vorzeichen L0 und am Operanden mit Vorzeichen R1 (z. B. L0 × R1). Der fünfte Schritt ist das Verschieben des akkumulierten Ergebnisses um 16 Bits nach rechts. Schließlich ist der sechste Schritt eine MAC-Operation an den Operanden mit Vorzeichen L1 und R1 (z. B. L1 × R1).
- Nimmt man weiterhin an, daß der DSP eine Multiplikations- und Akkumulations-Einheit zum Ausführen der MAC-Operation und einen Bitstellen- bzw. Barrel-Verschieber zum Ausführen der Verschiebeoperation aufweist, dann können bei der oben beschriebenen Operation mit doppelter Genauigkeit die Verschiebeoperation des zweiten Schritts und die MAC-Operation des dritten Schritts gleichzeitig ausgeführt werden und die Verschiebeoperation des fünften Schritts und die MAC-Operation des sechsten Schritts können auch gleichzeitig ausgeführt werden. Durch das gleichzeitige Ausführen von Schritten kann die Operation mit doppelter Genauigkeit in nur vier Operationszyklen ausgeführt werden.
- Herkömmliche DSPs laden jedoch typischerweise während einer MAC-Operation zwei Datenoperanden, sodaß, wenn die Instruktionsfelder, die zwei Operandenregister und ein Objektregister kennzeichnen, kombiniert werden, die meisten der sechzehn Bits, die den MAC-Befehl darstellen, besetzt sind.
- Folglich ist es bei herkömmlich DSPs eine Problem, daß viele Typen von MAC-Befehlen nicht innerhalb von vier Befehlszyklen ausgeführt werden können, weil ein komplexer Befehl, der gleichzeitige Operationen erlaubt, nicht gebildet werden kann und daher eine Multiplikationsoperation mit doppelter Genauigkeit nicht innerhalb von vier Operationszyklen ausgeführt werden kann.
-
US 5,457,804 A zeigt ein Akkumulations-/Multiplikations-Schaltkreis zum Ausführen einer Multiplikation mit doppelter Genauigkeit bei hoher Geschwindigkeit. In einem Multiplikationsteil werden Daten von vier n-bit Registern über einen Teilprodukt-Addierer zu 2n-bit Daten verarbeitet und an einen Arithmetischen Operationsschaltkreis ausgegeben. Weiter werden in einem arithmetischen Operationsteil Daten aus zwei n-bit Registern über einen Multiplexer, einen Verschieber und einen weiteren Multiplexer zu 2n-bit Daten verarbeitet und ebenfalls an den Arithmetischen Operationsschaltkreis ausgegeben. Der Verschieber im arithmetischen Operationsteil verschiebt die 2n-bit Daten um n bit nach rechts und gibt die Daten an den weiteren Multiplexer aus. Der Multiplexer wählt entweder die Ausgabe des Verschiebers oder die Ausgabe des Weiteren Multiplexer und gibt diese an den Arithmetischen Operationsschaltkreis aus. Der Arithmetische Operationsschaltkreis berechnet die Summe dieser Ausgabe und der Ausgabe aus dem Multiplikationsteil und gibt sie an zwei Register bzw. an den Multiplexer aus. Die Ausgabe des Verschiebers wird direkt in zwei weiteren Registern gespeichert. - Es ist Aufgabe der Erfindung, ein Verfahren und eine Vorrichtung für doppelte Genauigkeit vorzusehen, mit denen es möglich ist, eine Operation mit doppelter Genauigkeit in vier Zyklen auszuführen.
- Die Aufgabe wird durch das Verfahren nach Anspruch 1 bzw. durch die Vorrichtung nach Anspruch 4 gelöst.
- Dabei wird in einem Statusregister ein Bit, das eine Positionsverschiebung in einem Akkumulator bestimmt, zugeordnet und dann als Reaktion auf einen einzigen Typ von Multiplikationsbefehl in Abhängigkeit des Werts vom Statusregister eine Multiplikation von Operanden sowohl mit als auch ohne Vorzeichen ausgeführt.
- Ein Ausführungsbeispiel des Verfahrens zum Ausführen von Operationen mit doppelter Genauigkeit gemäß der Erfindung schließt das Initialisieren eines Positionsverschiebebits in einem Statusregister durch den gelöschten Zustand, das Löschen des Positionsverschiebebits als Reaktion entweder auf eine Operation zwischen einem ersten Operanden mit Vorzeichen und einem zweiten Operanden mit Vorzeichen oder auf eine Operation zwischen einem ersten Operanden ohne Vorzeichen und einem zweiten Operanden ohne Vorzeichen, das Einstellen bzw. Setzen des Positionsverschiebebits als Reaktion auf entweder eine Operation zwischen dem ersten Operanden mit Vorzeichen und dem zweiten Operanden ohne Vorzeichen oder eine Operation zwischen dem ersten Operanden ohne Vorzeichen und dem zweiten Operanden mit Vorzeichen und das Verschieben in einem Akkumulator als Reaktion auf eine Änderung des Zustands des Positionsverschiebebits ein.
- Ein Ausführungsbeispiel der Vorrichtung zum Ausführen von Operationen mit doppelter Genauigkeit gemäß der Erfindung schließt ein Statusregister mit einem Verschiebebit ein, wobei das Verschiebebit als Reaktion entweder auf eine Operation zwischen einem ersten Operanden mit Vorzeichen und einem zweiten Operanden mit Vorzeichen oder auf eine Operation zwischen einem ersten Operanden ohne Vorzeichen und einem zweiten Operanden ohne Vorzeichen gelöscht wird und wobei das Verschiebebit als Reaktion auf entweder eine Operation zwischen dem ersten Operanden mit Vorzeichen und dem zweiten Operanden ohne Vorzeichen oder eine Operation zwischen dem ersten Operanden ohne Vorzeichen und dem zweiten Operanden mit Vorzeichen gesetzt wird. Die Vorrichtung schließt ebenfalls einen Multiplizierer ein, der einen ersten Eingangsoperanden und einen zweiten Eingangsoperanden empfängt, den ersten und den zweiten Eingangsoperanden multipliziert und ein Produkt aus dem ersten und dem zweiten Eingangsoperanden erzeugt. Eine Arithmetik-Logik-Einheit (ALU) in der Vorrichtung addiert das Ausgangssignal eines Verschiebers dem Ausgangssignal des Multiplizierers hinzu und gibt das Ergebnis an einen Akkumulator aus. Der Verschieber ist so konfiguriert, daß er einen im Akkumulator gespeicherten Wert empfängt und den Wert als Reaktion auf eine Änderung des Zustandes des Verschiebebits verschiebt.
- Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
- Die Erfindung wird nachstehend anhand der Figuren näher erläutert. Es zeigen:
-
1 ein Blockdiagramm eines Ausführungsbeispiels eines Multiplizierers mit doppelter Genauigkeit gemäß der Erfindung und -
2 eine Bitzuordnung bei einem Ausführungsbeispiel eines Statusregisters gemäß der Erfindung. -
1 ist ein Blockschaltbild eines Multipliziererschaltkreises mit doppelter Genauigkeit eines digitalen Signalprozessors (DSP). Die Schaltung weist Multiplexer MUX1 und MUX2 auf, die als Operatoren für eine Multiplikationsoperation mit doppelter Genauigkeit aus 16-Bit-Registern R0, R1, L0 und L1 Operanden auswählen. Ein Multiplizierer11 führt eine Multiplikationsoperation durch, indem von jedem der Multiplexer MUX1 und MUX2 ein Wert als Operator verwendet wird. Ein Bitstellen-Verschieber15 führt eine Verschiebeoperation mit doppelter Genauigkeit aus und gibt das Verschiebeergebnis an eine Arithmetik-Logik-Einheit17 (ALU) aus, die die Ausgangswerte des Bitstellen-Verschiebers15 und des Multiplizierers11 addiert. Ein Akkumulator13 akkumuliert den Ausgangswert der ALU17 . Die Multiplizierereinheit100 mit doppelter Genauigkeit (mit den Registern L1, L0, R1 und R0, den Multiplexer MUX1 und MUX2 sowie mit dem Multiplizierer11 ) der Erfindung verschiebt das Ergebnis im Akkumulator13 unter Verwendung des Bitstellen-Verschiebers15 um 16 Bits nach rechts und addiert gleichzeitig den Ausgangswert des Bitstellen-Verschiebers15 und den Ausgangswert des Multiplizierers11 in der ALU17 . - Wenn jedoch der gleiche Typ eines Multiplikations- und Akkumulations-Befehls (MAC-Befehls) verwendet wird, um jeden Multiplikationsschritt beim vollständigen Multiplikationsprozeß mit doppelter Genauigkeit der Multiplizierereinheit
100 mit doppelter Genauigkeit auszuführen, ist es wichtig, festzustellen, wann das im Akkumulator13 enthaltene Ergebnis verschoben werden muß und wann nicht. Ein Statusregister200 wird vorgesehen, welches ein "Verschoben"-Bit206 einschließt, das anfänglich auf "0" gesetzt ist und das verwendet wird, um festzustellen, wann der Wert im Akkumulator13 um 16 Bits verschoben werden soll. Wie dies in2 dargestellt ist, schließt das Statusregister200 ebenfalls ein "Linkes Langwort"-Statusbit202 , ein "Rechtes Langwort"-Statusbit 204 und ein "Verschiebe-Freigabe"-Statusbit208 ein. - Zunächst kann eine Multiplikation von Operatoren mit und ohne Vorzeichen unter Verwendung eines Befehlstyps gelöst werden, indem im Statusregister ein Bit belegt wird, das doppelte Genauigkeit festlegt, wie dies bei dem Verfahren gemacht wird, das im D950-Kern von SGS-Thomson verwendet wird.
- In dem Fall, in dem sowohl der linke Operator (L1; L0) als auch der rechte Operator (R1; R0) als Operanden mit doppelter Genauigkeit eingestellt sind, führt der Multiplizierer
11 vier MAC-Operationen durch: eine Multiplikation der Operanden ohne Vorzeichen L0 und R0, eine Multiplikation des Operanden mit Vorzeichen R1 und des Operanden ohne Vorzeichen L0, eine Multiplikation des Operanden ohne Vorzeichen R0 und des Operanden mit Vorzeichen L1 sowie eine Multiplikation der Operanden mit Vorzeichen L1 und R1. - Wenn der Multiplizierer
11 die Multiplikation der Operanden ohne Vorzeichen L0 × R0 ausführt, bleibt das "Verschoben"-Bit des Statusregisters unverändert auf "0", da sich der Akkumulator in einem nicht verschobenen Normalzustand befindet. - Wenn der Multiplizierer
11 als nächstes eine Multiplikation von Operanden mit und ohne Vorzeichen ausführt, wie z. B. L1 × R0 oder L0 × R1, wandelt die in1 dargestellte Schaltung das "Verschoben"-Bit des Statusregisters in eine "1" um und als Reaktion auf die Änderung des Zustands des "Verschoben"-Bits wird das im Akkumulator13 akkumulierte Ergebnis um 16 Bitpositionen nach rechts verschoben. Die Multiplikation mit und ohne Vorzeichen wird vom Multiplizierer11 gleichzeitig zur Verschiebung im Akkumulator13 ausgeführt. - Der nächste Multiplikationsschritt schließt eine weitere Multiplikation mit und ohne Vorzeichen ein, d. h., wenn L1 × R0 im vorherigen Schritt ausgeführt wurde, dann wird L0 × R1 ausgeführt, und falls beim vorigen Schritt L0 × R1 ausgeführt wurde, dann wird L1 × R0 ausgeführt. Das Ausführen einer weiteren Multiplikation mit und ohne Vorzeichen bewirkt, daß die Schaltung
100 versucht, den Wert des "Verschoben"-Bits auf eine "1" einzustellen. Das "Verschoben"-Bit ist jedoch bereits auf einem "1"-Wert und es erfolgt keine Änderung des Zustands. Folglich findet keine Verschiebung im Akkumulator13 statt und der Multiplizierer11 führt die L1 × R0 oder L0 × R1 Operation aus. - Beim letzten Schritt wird eine Multiplikation von zwei Operanden mit Vorzeichen L1 × R1 durch den Multiplizierer
11 ausgeführt und das "Verschoben"-Bit wird auf "0" zurückgesetzt, was eine Zustandsänderung für das "Verschoben"-Bit darstellt. Als Reaktion auf die Zustandsänderung führt die Schaltung eine MAC-Operation aus, was gleichzeitig zum Verschieben des Werts im Akkumulator13 um 16 Bitpositionen nach rechts das Multiplizieren von L1 und R1 im Multiplizierer11 einschließt. - Mit anderen Worten: Als Reaktion auf eine Multiplikation zweier Operanden mit Vorzeichen oder einer Multiplikation zweier Operanden ohne Vorzeichen, d. h., der Multiplizierer
11 führt die Operation L1 × R1 oder L0 × R0 aus, wird das "Verschoben"-Bit auf "0" zurückgesetzt und als Reaktion auf eine Multiplikation eines Operanden mit Vorzeichen und eines Operanden ohne Vorzeichen oder einer Multiplikation eines Operanden ohne Vorzeichen mit einem Operanden mit Vorzeichen, d. h., der Multiplizierer11 führt die Operation L1 × R0 oder L0 × R1 aus, wird das "Verschoben"-Bit auf "1" eingestellt. Wenn das "Verschoben"-Bit seinen Zustand ändert, entweder von einer "0" zu einer "1" oder von einer "1" zu einer "0", dann führt die Schaltung die MAC-Operation aus, die eine Verschiebung des Ausgangswerts im Akkumulator um16 Bits zusätzlich zur Multiplikation der Operanden im Multiplizierer11 einschließt. - Unter Verwendung eines einzigen Typs von Multiplikationsbefehl führen das oben beschriebene Verfahren und die Vorrichtung eine Multiplikation mit doppelter Genauigkeit, die sowohl Operatoren mit und ohne Vorzeichen einschließt, aus, indem ein Bit in einem Statusregister zugeordnet wird, welches festlegt, wann der Ausgangswert des Akkumulators um 16 Bits gegenüber dem unverschobenen Zustand verschoben wird. Unter Verwendung des Bits im Statusregister und des Typs der Operanden, die im Befehl eingeschlossen sind, kann die Erfindung gleichzeitig eine MAC-Operation und eine Positionsverschiebeoperation ausführen, um zu steuern, wann eine Positionsverschiebung gleichzeitig mit einer Multiplikationsoperation ausgeführt werden soll. Daher kann die Erfindung eine Multiplikation mit doppelter Genauigkeit unter Verwendung eines einzigen Statusbits und eines einzigen Typs von MAC-Befehl ausführen, um alle die notwendigen Multiplikationsschritte für die Multiplikation mit doppelter Genauigkeit auszuführen.
- Wenn der Verschiebesteuermechanismus der Erfindung nicht notwendig ist, kann das "Verschiebe-Freigabe"-Bit im Statusregister
200 fest belegt und das "Verschoben"-Bit deaktiviert werden.
Claims (6)
- Verfahren für eine Multiplikation mit doppelter Genauigkeit, wobei das Verfahren die Schritte aufweist: Initialisieren eines Positionsverschiebebits (
206 ) in einem Statusregister (200 ) durch Löschen des Zustands; Löschen des Positionsverschiebebits (206 ) als Reaktion auf entweder eine Operation zwischen einem ersten Operanden mit Vorzeichen und einem zweiten Operanden mit Vorzeichen oder eine Operation zwischen einem ersten Operanden ohne Vorzeichen und einem zweiten Operanden ohne Vorzeichen; Setzen des Positionsverschiebebits (206 ) als Reaktion auf entweder eine Operation zwischen dem ersten Operanden mit Vorzeichen und dem zweiten Operanden ohne Vorzeichen oder eine Operation zwischen dem ersten Operanden ohne Vorzeichen und dem zweiten Operanden mit Vorzeichen und Verschieben eines Wertes in einem Akkumulator (13 ) als Reaktion auf eine Änderung des Zustands des Positionsverschiebebits. - Verfahren nach Anspruch 1, bei dem als Reaktion auf einen einzigen Typ von Befehl entweder die Operation zwischen dem ersten Operanden mit Vorzeichen und dem zweiten Operanden mit Vorzeichen, die Operation zwischen dem ersten Operanden ohne Vorzeichen und dem zweiten Operanden ohne Vorzeichen, die Operation zwischen dem ersten Operanden mit Vorzeichen und dem zweiten Operanden ohne Vorzeichen oder die Operation zwischen dem ersten Operanden ohne Vorzeichen und dem zweiten Operanden mit Vorzeichen ausgeführt wird.
- Verfahren nach Anspruch 1 oder 2, das die Schritte aufweist: Einstellen eines Verschiebe-Blockier-Bits (
208 ) im Statusregister und Blockieren des Verschiebens des Werts im Akkumulator als Reaktion auf das eingestellte Verschiebe-Blockier-Bit. - Vorrichtung zum Ausführen von Operationen mit doppelter Genauigkeit, wobei die Vorrichtung aufweist: ein Statusregister (
200 ), das ein Verschiebebit (206 ) einschließt, wobei das Verschiebebit als Reaktion auf entweder eine Operation zwischen einem ersten Operanden mit Vorzeichen und einem zweiten Operanden mit Vorzeichen oder eine Operation zwischen einem ersten Operanden ohne Vorzeichen und einem zweiten Operanden ohne Vorzeichen gelöscht wird, und wobei das Verschiebebit als Reaktion auf entweder eine Operation zwischen dem ersten Operanden mit Vorzeichen und dem zweiten Operanden ohne Vorzeichen oder eine Operation zwischen dem ersten Operanden ohne Vorzeichen und dem zweiten Operanden mit Vorzeichen gesetzt wird; einen Multiplizierer (11 ) mit einem ersten Eingangsanschlußpunkt, einem zweiten Eingangsanschlußpunkt und einem Ausgangsanschlußpunkt, wobei der Multiplizierer (11 ) am ersten Eingangsanschlußpunkt einen ersten Eingangsoperanden empfängt und am zweiten Eingangsanschlußpunkt einen zweiten Eingangsoperanden empfängt, den ersten mit dem zweiten Eingangsoperanden multipliziert und am Ausgangsanschlußpunkt ein Produkt erzeugt; eine Arithmetik-Logik-Einheit (17 ) mit einem ersten Eingangsanschlußpunkt, einem zweiten Eingangsanschlußpunkt und einem Ausgangsanschlußpunkt, wobei der erste Eingangsanschlußpunkt der Arithmetik-Logik-Einheit mit dem Ausgangsanschlußpunkt des Multiplizierers (11 ) gekoppelt ist; einen Akkumulator (13 ) mit einem Eingangsanschlußpunkt und einem Ausgangsanschlußpunkt, wobei der Eingangsanschlußpunkt des Akkumulators mit dem Ausgangsanschlußpunkt der Arithmetik-Logik-Einheit (17 ) gekoppelt ist; und einen Verschieber (15 ) mit einem Eingangsanschlußpunkt und einem Ausgangsanschlußpunkt, wobei der Eingangsanschlußpunkt des Verschiebers mit dem Ausgangsanschlußpunkt des Akkumulators (13 ) gekoppelt ist und der Ausgangsanschlußpunkt des Verschiebers (15 ) mit dem zweiten Eingangsanschlußpunkt der Arithmetik-Logik-Einheit (17 ) gekoppelt ist, und wobei weiterhin der Verschieber (15 ) als Reaktion auf eine Änderung des Zustands des Verschiebebits (206 ) einen vom Akkumulator empfangenen Wert verschiebt. - Vorrichtung nach Anspruch 4, bei der die Operation zwischen dem ersten Operanden mit Vorzeichen und dem zweiten Operanden mit Vorzeichen, die Operation zwischen dem ersten Operanden ohne Vorzeichen und dem zweiten Operanden ohne Vorzeichen, die Operation zwischen dem ersten Operanden mit Vorzeichen und dem zweiten Operanden ohne Vorzeichen sowie die Operation zwischen dem ersten Operanden ohne Vorzeichen und dem zweiten Operanden mit Vorzeichen als Reaktion auf einen einzigen Typ von Befehl ausgeführt werden.
- Vorrichtung nach Anspruch 4 oder 5, die weiterhin aufweist: einen ersten Multiplexer (
9 ) mit einem ersten Eingangsanschlußpunkt, einem zweiten Eingangsanschlußpunkt und einem Ausgangsanschlußpunkt, wobei der erste Eingangsanschlußpunkt des ersten Multiplexers den ersten Operanden mit Vorzeichen empfängt, und der zweite Eingangsanschlußpunkt des ersten Multiplexers den ersten Operanden ohne Vorzeichen empfängt, und wobei der Ausgangsanschlußpunkt des ersten Multiplexers mit dem ersten Eingangsanschlußpunkt des Multiplizierers (11 ) gekoppelt ist; und einen zweiten Multiplexer (7 ) mit einem ersten Eingangsanschlußpunkt, einem zweiten Eingangsanschlußpunkt und einem Ausgangsanschlußpunkt, wobei der erste Eingangsanschlußpunkt des zweiten Multiplexers den zweiten Operanden mit Vorzeichen empfängt, und der zweite Eingangsanschlußpunkt des zweiten Multiplexers den zweiten Operanden ohne Vorzeichen empfängt, und wobei der Ausgangsanschlußpunkt des zweiten Multiplexers mit dem zweiten Eingangsanschlußpunkt des Multiplizierers (11 ) gekoppelt ist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960071765A KR100222032B1 (ko) | 1996-12-24 | 1996-12-24 | 디지탈 신호 처리기에서의 2배 정밀도 곱셈연산 수행방법 |
KR96-71765 | 1996-12-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19746054A1 DE19746054A1 (de) | 1998-06-25 |
DE19746054B4 true DE19746054B4 (de) | 2007-08-23 |
Family
ID=19490818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19746054A Expired - Fee Related DE19746054B4 (de) | 1996-12-24 | 1997-10-17 | Verfahren und Vorrichtung zum Ausführen einer Operation mit doppelter Genauigkeit |
Country Status (4)
Country | Link |
---|---|
US (1) | US5920497A (de) |
KR (1) | KR100222032B1 (de) |
DE (1) | DE19746054B4 (de) |
TW (1) | TW491975B (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6233597B1 (en) * | 1997-07-09 | 2001-05-15 | Matsushita Electric Industrial Co., Ltd. | Computing apparatus for double-precision multiplication |
FR2853425B1 (fr) * | 2003-04-07 | 2006-01-13 | Atmel Corp | Sequence de multiplication efficace pour operandes a grands nombres entiers plus larges que le materiel multiplicateur |
US7266580B2 (en) * | 2003-05-12 | 2007-09-04 | International Business Machines Corporation | Modular binary multiplier for signed and unsigned operands of variable widths |
JP4782591B2 (ja) * | 2006-03-10 | 2011-09-28 | 富士通セミコンダクター株式会社 | リコンフィグラブル回路 |
WO2008022307A2 (en) * | 2006-08-18 | 2008-02-21 | Conexant Systems, Inc. | Systems and methods for implementing a double precision arithmetic memory architecture |
KR100897331B1 (ko) * | 2007-12-13 | 2009-05-15 | 현대자동차주식회사 | 차량용 테일게이트 록킹장치 브라켓 |
US8495125B2 (en) * | 2009-05-27 | 2013-07-23 | Microchip Technology Incorporated | DSP engine with implicit mixed sign operands |
US20110153995A1 (en) * | 2009-12-18 | 2011-06-23 | Electronics And Telecommunications Research Institute | Arithmetic apparatus including multiplication and accumulation, and dsp structure and filtering method using the same |
US9817791B2 (en) | 2015-04-04 | 2017-11-14 | Texas Instruments Incorporated | Low energy accelerator processor architecture with short parallel instruction word |
US11847427B2 (en) | 2015-04-04 | 2023-12-19 | Texas Instruments Incorporated | Load store circuit with dedicated single or dual bit shift circuit and opcodes for low power accelerator processor |
US10503474B2 (en) * | 2015-12-31 | 2019-12-10 | Texas Instruments Incorporated | Methods and instructions for 32-bit arithmetic support using 16-bit multiply and 32-bit addition |
US10401412B2 (en) | 2016-12-16 | 2019-09-03 | Texas Instruments Incorporated | Line fault signature analysis |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5457804A (en) * | 1992-06-10 | 1995-10-10 | Nec Corporation | Accumulating multiplication circuit executing a double-precision multiplication at a high speed |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4135249A (en) * | 1977-06-29 | 1979-01-16 | General Electric Company | Signed double precision multiplication logic |
JPH061438B2 (ja) * | 1984-04-26 | 1994-01-05 | 日本電気株式会社 | 倍精度乗算器 |
DE3677051D1 (de) * | 1985-05-17 | 1991-02-28 | Nec Corp | Verarbeitungsschaltung, die es erlaubt den akkumulationsdurchsatz zu erhoehen. |
US4809212A (en) * | 1985-06-19 | 1989-02-28 | Advanced Micro Devices, Inc. | High throughput extended-precision multiplier |
US5463575A (en) * | 1994-06-24 | 1995-10-31 | Rockwell International Corporation | Reduced quantization noise from single-precision multiplier |
-
1996
- 1996-12-24 KR KR1019960071765A patent/KR100222032B1/ko not_active IP Right Cessation
-
1997
- 1997-09-09 TW TW086113030A patent/TW491975B/zh not_active IP Right Cessation
- 1997-09-10 US US08/926,949 patent/US5920497A/en not_active Expired - Lifetime
- 1997-10-17 DE DE19746054A patent/DE19746054B4/de not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5457804A (en) * | 1992-06-10 | 1995-10-10 | Nec Corporation | Accumulating multiplication circuit executing a double-precision multiplication at a high speed |
Also Published As
Publication number | Publication date |
---|---|
KR100222032B1 (ko) | 1999-10-01 |
TW491975B (en) | 2002-06-21 |
KR19980052740A (ko) | 1998-09-25 |
DE19746054A1 (de) | 1998-06-25 |
US5920497A (en) | 1999-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4414172C2 (de) | Gleit-Komma-Arithmetikeinheit und Verfahren zur Division und Quadratwurzelberechnung, die eine modifizierte Newton-Raphson Technik verwendet | |
DE60210494T2 (de) | Hochgeschwindigkeitsberechnung in einer arithmetik- und logikschaltung | |
DE69233361T2 (de) | Ein-Chip-Mikrocomputer | |
DE19983175B4 (de) | Verfahren, Prozessor und Einrichtung für Gleitkommaoperationen und Formatkonvertierungsoperationen | |
DE19746054B4 (de) | Verfahren und Vorrichtung zum Ausführen einer Operation mit doppelter Genauigkeit | |
DE2521289C2 (de) | Datenverarbeitungsanordnung mit Datenfeld-Hilfsprozessor | |
DE3144015C2 (de) | ||
DE2753062C2 (de) | Einrichtung zur wiederholten Durchführung von Programmschleifen | |
DE69435047T2 (de) | Schaltung und Verfahren zur parallelen Addition und Mittelwertbildung | |
DE2900324A1 (de) | Mikroprogrammierbare arithmetische fliesskommaeinheit | |
DE2246968A1 (de) | Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen | |
DE4403917C2 (de) | Vorrichtung zum Berechnen einer Bit-Besetzungszählung | |
DE19983870B4 (de) | Berechnung impliziter Datentypbits für Simd-Operationen | |
DE2902496A1 (de) | Digitale datenmultiplikationsanordnung | |
DE10025249C2 (de) | Verfahren zur Ausführung sowohl von Divisions- als auch Restbefehlen und Datenverarbeitungsgerät, welches das Verfahren anwendet | |
DE3701599C2 (de) | ||
DE10013068C2 (de) | Potenzierungsoperationsvorrichtung | |
DE3507584C2 (de) | ||
DE69629646T2 (de) | Verfahren zur durchführung einer "rotate through carry" operatiion | |
DE19748484B4 (de) | Schaltung und Verfahren zur Überlauferfassung bei einem digitalen Signalprozessor | |
DE4019646C2 (de) | Vorrichtung und Verfahren zum Multiplizieren von Datenwörtern in Zweier-Komplement-Darstellung | |
DE3314035C2 (de) | ||
DE2830334C2 (de) | ||
DE3447729A1 (de) | Verfahren und vorrichtung zur dezimal-multiplikation | |
DE60008689T2 (de) | Arithmetische einheit mit, und verfahren zur das nach wahl verspäten von einem multiplikationsresultat |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 752 |
|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |