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 PDF

Info

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
Application number
DE19746054A
Other languages
English (en)
Other versions
DE19746054A1 (de
Inventor
Min-Joong Yongin Rim
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE19746054A1 publication Critical patent/DE19746054A1/de
Application granted granted Critical
Publication of DE19746054B4 publication Critical patent/DE19746054B4/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/52Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic 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.

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 Multiplizierer 11 führt eine Multiplikationsoperation durch, indem von jedem der Multiplexer MUX1 und MUX2 ein Wert als Operator verwendet wird. Ein Bitstellen-Verschieber 15 führt eine Verschiebeoperation mit doppelter Genauigkeit aus und gibt das Verschiebeergebnis an eine Arithmetik-Logik-Einheit 17 (ALU) aus, die die Ausgangswerte des Bitstellen-Verschiebers 15 und des Multiplizierers 11 addiert. Ein Akkumulator 13 akkumuliert den Ausgangswert der ALU 17. Die Multiplizierereinheit 100 mit doppelter Genauigkeit (mit den Registern L1, L0, R1 und R0, den Multiplexer MUX1 und MUX2 sowie mit dem Multiplizierer 11) der Erfindung verschiebt das Ergebnis im Akkumulator 13 unter Verwendung des Bitstellen-Verschiebers 15 um 16 Bits nach rechts und addiert gleichzeitig den Ausgangswert des Bitstellen-Verschiebers 15 und den Ausgangswert des Multiplizierers 11 in der ALU 17.
  • 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 Akkumulator 13 enthaltene Ergebnis verschoben werden muß und wann nicht. Ein Statusregister 200 wird vorgesehen, welches ein "Verschoben"-Bit 206 einschließt, das anfänglich auf "0" gesetzt ist und das verwendet wird, um festzustellen, wann der Wert im Akkumulator 13 um 16 Bits verschoben werden soll. Wie dies in 2 dargestellt ist, schließt das Statusregister 200 ebenfalls ein "Linkes Langwort"-Statusbit 202, ein "Rechtes Langwort"-Statusbit 204 und ein "Verschiebe-Freigabe"-Statusbit 208 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 in 1 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 Akkumulator 13 akkumulierte Ergebnis um 16 Bitpositionen nach rechts verschoben. Die Multiplikation mit und ohne Vorzeichen wird vom Multiplizierer 11 gleichzeitig zur Verschiebung im Akkumulator 13 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 Akkumulator 13 statt und der Multiplizierer 11 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 Akkumulator 13 um 16 Bitpositionen nach rechts das Multiplizieren von L1 und R1 im Multiplizierer 11 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 Multiplizierer 11 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 um 16 Bits zusätzlich zur Multiplikation der Operanden im Multiplizierer 11 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)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
DE19746054A 1996-12-24 1997-10-17 Verfahren und Vorrichtung zum Ausführen einer Operation mit doppelter Genauigkeit Expired - Fee Related DE19746054B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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