DE3143223C2 - - Google Patents

Info

Publication number
DE3143223C2
DE3143223C2 DE3143223A DE3143223A DE3143223C2 DE 3143223 C2 DE3143223 C2 DE 3143223C2 DE 3143223 A DE3143223 A DE 3143223A DE 3143223 A DE3143223 A DE 3143223A DE 3143223 C2 DE3143223 C2 DE 3143223C2
Authority
DE
Germany
Prior art keywords
circuit
output
exponent
adder
multiplier
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
Application number
DE3143223A
Other languages
English (en)
Other versions
DE3143223A1 (de
Inventor
Masahito Yokohama Kanagawa Jp Kobayashi
Narimichi Tachikawa Tokio/Tokyo Jp Maeda
Yoshimune Hagiwara
Takashi Akazawa
Shizuo Kodaira Tokio/Tokyo Jp Sugiyama
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.)
Hitachi Denshi KK
Hitachi Ltd
Original Assignee
Hitachi Denshi KK
Hitachi 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 Hitachi Denshi KK, Hitachi Ltd filed Critical Hitachi Denshi KK
Publication of DE3143223A1 publication Critical patent/DE3143223A1/de
Application granted granted Critical
Publication of DE3143223C2 publication Critical patent/DE3143223C2/de
Granted 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4876Multiplying
    • 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/544Methods 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 for evaluating functions by calculation
    • G06F7/5443Sum of products
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • G06F7/49921Saturation, i.e. clipping the result to a minimum or maximum value

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)

Description

Die Erfindung betrifft eine Gleitkomma-Multiplizierschaltung, wie sie im Oberbegriff des Patentanspruchs 1 angegeben ist.
Eine solche Multiplizierschaltung ist aus der DE-OS 22 46 968 bekannt. Insbesondere betrifft die Erfindung eine Gleitkomma-Multiplizierschaltung, die in einem Hochgeschwindigkeits- Digitalsignalprozessor verwendet werden soll, der auf einen Echtzeit-Zugriff auf Daten mit einem großen dynamischen Bereich (d. h. eine große Datenmenge, die von den Daten angenommen werden kann) zielt.
Eine Gleitkomma-Multiplizierschaltung ist aus einem Festkomma- Multiplizierer für ausschließliche Verwendung von Mantissenarithmetik und einem Addierer für ausschließliche Verwendung von Exponentenarithmetik aufgebaut. Werden insbesondere zwei Zahlen, die miteinander multipliziert werden sollen, durch A₁ = M₁ · 2 e und A₂ = M₂ · 2 e ausgedrückt, so wird das Ergebnis der Multiplikation ausgedrückt durch
A₀ = A₁ · A₂ = M₁ · M₂ · 2 e₁ + e,
so daß die Multiplikation von M₁ · M₂ und die Addition von e₁ + e₂ ausgeführt werden. Hierbei bezeichnen M₁ und M₂ Mantissen und e₁ und e₂ Exponenten. Bei der Gleitkomma-Multiplikation werden die Mantissen von zwei Eingängen so normalisiert, daß das effektive Längenmaximum aufrechterhalten bleibt. Insbesondere erscheinen "1" und "0" falls das Bit, das auf das MSB (Most Significant Bit) als nächstes erscheint, positiv bzw. negativ ist, und der Punkt wird zwischen dem MSB und dem zweiten Bit plaziert.
Wenn ein solcher Multiplizierer aus einem Digitalkreis für Binärzahlen aufgebaut ist, so ist aus Gründen der Konstruktion des Schaltkreises die Bitlänge der Mantisse und des Exponenten fest. Weil das Ergebnis der Multiplikation, also das Produkt, in einer vorgegebenen Bitlänge ausgedrückt werden muß, entsteht das Problem des "Laufens" (flow), d. h. des Über- oder Unterlaufs.
Muß das Ergebnis der Multiplikation normalisiert werden, so wird darüber hinaus die Mantisse verschoben, so daß dementsprechend der Exponent addiert und subtrahiert werden muß. Fällt in einem solchen Fall der Exponent nicht in den durch eine formale Bitlänge ausgedrückten Bereich, so entsteht ebenfalls das Problem des Über- und Unterlaufs.
Tritt ein Über- oder Unterlauf in der Mantisse und im Exponenten in dieser Weise auf, so wird gemäß dem Stand der Technik eine Methode gewählt, bei der der Über- oder Unterlauf durch ein Flag entdeckt und durch eine Programmierung kompensiert wird. Demzufolge ist eine beträchtliche Zeit notwendig, um das Programm zur Kompensation von Überlauf auszuführen, was zu dem Nachteil führt, daß eine Hochgeschwindigkeitsarithmetik nicht vollzogen werden kann. Insbesondere in einem Echtzeit-Zugriffssystem, bei dem Eingang und Ausgang mit einer identischen Zeitbeziehung verarbeitet werden müssen, wie z. B. bei Datenübertragungseinrichtungen, so wird ein Signalprozessor mit höherer Geschwindigkeit notwendig und eine Geschwindigkeitserhöhung wird für den besonders zeitraubenden Multiplizierer gefordert.
Aufgabe der Erfindung ist dementsprechend, Maßnahmen anzugeben, mit denen der Über-/Unterlauf einer Gleitkomma-Multiplikation mit höherer Geschwindigkeit und ohne irgendeine Programmierung verarbeitet werden kann. Dabei soll von der Erfindung eine Schaltung angegeben werden, die sofort den bei der Gleitkomma-Multiplikation auftretenden Über-/Unterlauf verarbeiten kann.
Diese Aufgabe wird mit einer im Oberbegriff des Patentanspruchs 1 angegebenen Gleitkomma-Multiplizierschaltung gelöst, die gemäß der Erfindung nach der im kennzeichnenden Teil des Patentanspruches 1 angegebenen Weise ausgestaltet ist.
Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
Im folgenden wird nun die Erfindung anhand der in den Figuren dargestellten Ausführungsbeispiele beschrieben und näher erläutert.
Es zeigt
Fig. 1 in einem Diagramm den Bitaufbau der Eingangs- und Ausgangsdaten bei einer Gleitkomma-Multiplikation;
Fig. 2 in einem Blockschaltbild den Aufbau eines Ausführungsbeispiels eines Gleitkomma-Multiplizierschaltkreises gemäß der Erfindung;
Fig. 3 ein Schaltbild der Blöcke 2, 4 und 14 gemäß Fig. 2,
Fig. 4 ein Schaltbild für den Block 3 der Fig. 2 und
Fig. 5 ein Schaltbild für die Blöcke 6, 7, 8 und 15 der Fig. 2.
Vor Beschreibung der einzelnen Ausführungsbeispiele wird im folgenden der der Erfindung zugrundeliegende Gedanke dargestellt. Fig. 1 zeigt den Bitaufbau von zwei Zahlen A₁ und A₂, die miteinander multipliziert werden sollen, und den Aufbau ihres Produkts A = A₁ · A₂. Werden die Mantisse und der Exponent einer jeden Zahl mit M bzw. e bezeichnet, so werden die beiden Zahlen durch A₁ = M₁ · 2 e und durch A₂ = M₂ · 2 e ausgedrückt, das Produkt durch A = M · 2 e (d. h. der echte Wert). Die Indizes der jeweiligen Symbole unterscheiden die jeweiligen Zahlen. Bei der Gleitkomma-Multiplikation werden die Mantissen M₁ und M₂ der beiden Zahlen A₁ und A₂ normalisiert, so daß ihre effektiven Längen maximalisiert werden. Weiterhin bezeichnet das MSB das Vorzeichen und der Punkt wird zwischen dem MSB und dem nächsten Bit angeordnet. Wenn eine Binärzahl durch ein Zweierkomplement ausgedrückt wird, so fallen folglich die Mantissen M₁ und M₂ in die durch die folgende Ungleichungen definierten Bereiche:
oder
Aus dem Aufbau (der die Mantisse und den Exponenten ausdrückt) eines Multiplizier-Schaltkreises sind andererseits die Bitlängen aus vorgegebenen Bitlängen m bzw. n aufgebaut (d. h. m = 16 und n = 4 im Fall von zwei Zahlen A₁ und A₂ der Fig. 1). Falls keine Beschränkung für den Bitaufbau besteht, so wird das Produkt A (d. h. der wahre Wert des Produkts) der beiden Eingangszahlen A₁ und A₂ durch eine Mantisse mit 31 Bits und einem Exponenten mit fünf Bits ausgedrückt. Aus Gründen des Schaltkreisaufbaus besteht der Ausgang des Multiplizierschaltkreises jedoch aus derselben Mantisse von m (= 16) Bits und demselben Exponenten von n (= 4) Bits wie jener der Zahlen A₁ und A₂, wie dies durch A₀ = M₀ · 2 e in Fig. 1 ausgedrückt ist. Dabei wird der Punkt des Ausgangs hinter den MSB gesetzt. Im Ergebnis ergibt sich folgender Über-/Unterlauf:
  • (1) Exponenten-Überlauf: Der Exponent e wird gleich oder größer als 2 n-1.
  • (2) Exponenten-Unterlauf: Der Exponent e wird gleich oder kleiner als -2 n-1.
  • (3) Mantissen-Überlauf: Sind beide Zahlen A₁ und A₂ gleich -1, so wird bei Ausführung der Arithmetik des Zweierkomplementausdrucks ihr Produkt die Binärzahl von 1.0000 . . ., obgleich ihr wahrer Wert 1 ist, so daß fälschlicherweise der Wert für -1 gehalten wird, weil das MSB "1" enthält.
Bei der Gleitkomma-Multiplizierschaltung der vorliegenden Erfindung wird das oben erwähnte Problem des Überlaufes kompensiert mit Hilfe eines Schaltkreises zum Feststellen des jeweiligen Überlaufes und mit einem Kompensationsschaltkreis, der die folgenden Funktionen besitzt, aber der den festgestellten Überlauf nicht programmiert:
  • (1′) Tritt Exponentenüberlauf auf, so wird der Exponent e₀ ganz bei dem Maximum 2 n-1-1 gesetzt, das durch n-Bits angezeigt werden kann, und die Mantisse M₀ erhält man durch Verschiebung (oder Übertragung) der Mantisse um ein Bit nach links, wenn der Exponent e 2 n-1 ist und wenn die Mantisse M nicht normalisiert ist. In anderen Fällen wird die Mantisse M ohne jeden Wechsel in dem Vorzeichen-(MSB)-Bit zu der Mantisse M₀ kompensiert (d. h. 0,11 . . . 1 im positiven Fall oder 1,00 . . . 0 in dem negativen Fall), die den maximalen absoluten Wert einnimmt.
  • (2′) Bei Unterlauf des Exponenten wird die Mantisse um die (e s - e) Bits nach rechts verschoben (oder nach unten übertragen), was sich durch Subtraktion des wahren Exponentwertes e von einem vorgegebenen Exponenten e s ergibt und durch Exponenten ausdrückbar ist. Der Exponent wird zu e s kompensiert. Beispielsweise wird der oben erwähnte Exponent e s = -2 n-1 erhalten und die Mantisse wird um (-2 n-1-e) Bits nach rechts verschoben (oder übertragen). Wie in den Ausführungsbeispielen der vorliegenden Erfindung beschrieben wird, kann alternativ dazu die Mantisse nach rechts um (α - e) Bits in einem Addierer zum Addieren des Ergebnisses der Gleitkomma- Multiplikation und einer anderen Zahl verschoben werden, wenn der Exponent dieser anderen Zahl als a bezeichnet wird.
  • (3′) Bei Mantissenüberlauf kann jedes der folgenden Mittel ergriffen werden:
    • (3-1)′ Die erste Maßnahme besteht darin, die Mantisse um ein Bit nach rechts zu verschieben (oder nach unten zu übertragen) und eins dem Exponenten zuzuaddieren;
    • (3-2)′ Die zweite Maßnahme besteht darin, die Mantisse M₀ in 20 - 2-(m-1) auszudrücken und keine Kompensation für den Exponenten durchzuführen. Da diese Maßnahme, wie weiter unten im Zusammenhang mit einem Ausführungsbeispiel erläutert wird, mit einem Exponenten-Überlaufkompensationsschaltkreis durchgeführt werden kann, kann der Aufbau des Schaltkreises vorteilhafter ausgelegt werden als bei der ersten Maßnahme.
Fig. 2 zeigt in einem Blockschaltbild den Aufbau eines Ausführungsbeispieles für eine Gleitkomma-Multiplizierschaltung der vorliegenden Erfindung, der gemäß dem voranbeschriebenen Konzept aufgebaut ist. Der Schaltkreis der vorliegenden Erfindung weist einen ersten und einen zweiten arithmetischen Schaltkreis I bzw. II auf. Der erste arithmetische Schaltkreis I ist ein Schaltkreis zum Feststellen der Gleitkomma-Multiplikation und des Überlaufes und zum Ausführen der Kompensationen eines Exponenten und einer Mantisse aufgrund des Mantissenüberlaufes. Der zweite arithmetische Schaltkreis II ist ein Schaltkreis zur Ausführung der Kompensationen eines Exponenten und einer Mantisse in Folge von Exponentenunterlauf. Bei der vorliegenden Erfindung jedoch ist der Kompensationsschaltkreis für Exponentenunterlauf, d. h. der zweite arithmetische Schaltkreis II so gestaltet, daß er als arithmetischer Schaltkreis zum Addieren des Ausgangs des ersten arithmetischen Schaltkreises I und eines anderen Eingangs A₃ (der aus einer Mantisse l₉ und einem Exponenten l₁₀ zusammengesetzt ist) arbeitet und die Gleitkomma-Arithmetik und die Festkomma-Arithmetik durchführt. Die Betriebsweise des jeweiligen Schaltungsaufbaus wird im folgenden beschrieben.
Einem arithmetischen Gleitkomma-Multiplizierer 1 werden als Eingangssignale l₁ und l₂ Signale zugeführt, die den Mantissen M₁ und M₂ der beiden Zahlen A₁ und A₂ entsprechen, die einen Bitaufbau entsprechend der Fig. 1 besitzen. Der Multiplizierer 1 zeigt als Ausgangssignal l₅ das Ergebnis der Addition M₀ (einschließlich im Fall von Über-/Unterlauf) Auf der anderen Seite werden die Signale, die den Exponenten e₁ und e₂ der obigen beiden Zahlen A₁ und A₂ entsprechen, als Eingangssignale l₃ bzw. l₄ einem arithmetischen Gleitpunkt- Addierer 2 zugeführt. Der Addierer 2 zeigt als Ausgangssignale l₆ das Ergebnis der Addition e (einschließlich des Falles von Über-/Unterlauf.
Das Bezugszeichen 4 bezeichnet einen Überlaufdetektor- und Kompensationsschaltkreis (Addierer-Detektorschaltung) zum Feststellen des Überlaufs/Unterlaufs des Exponenten e und zum Kompensieren des Exponenten bei Exponentenüberlauf. Der Überlaufdetektor- und Kompensationsschaltkreis 4 liefert nicht nur Signale C 8, C MO und C MU , welche anzeigen, daß der Exponent e 2 n-1 ist, nicht kleiner als 2 n-1 ist (im Fall von Exponentenüberlauf) bzw. kleiner als -2 n-1 ist (im Fall von Exponentenunterlauf) wenn die den Exponenten anzeigende Bitlänge n (= 4 in dem Ausführungsbeispiel) ist, sondern auch den kompensierten Exponenten e₀ wenn der Exponent e nicht kleiner ist als 2 n-1.
Das Bezugszeichen 14 bezeichnet einen Umschalter- Schaltkreis für den Wechsel zwischen Gleitkomma-Multiplikation und Festkomma-Multiplikation nach Maßgabe eines Steuersignals B. Der Umschalter-Schaltkreis 14 ist vorgesehen, um den Schaltkreis der vorliegenden Erfindung auch als arithmetischen Festkommaschaltkreis zu verwenden.
Fig. 3 zeigt den Schaltungsaufbau des Addierers 2, des Überlaufdetektors und des Kompensationsschaltkreises 4 und des bereits beschriebenen Umschalter-Schaltkreises 14. In der Fig. 3 bezeichnen: l₃-2³, l₃-2², l₃-2¹ und l₃-2⁰ die vier Bitsignale, die zu dem Eingang A₁ gehören und den Exponenten e₁ haben; l₄-2³, l₄-2², l₄-2¹ und l₄-2⁰ bezeichnen die vier Bitsignale, die zu dem Eingang A₂ gehören und den Exponenten e₂ haben; l₆-2³, l₆-2², l₆-2¹ und l₆-2⁰ bezeichnen die Ausgangssignale des Addierers 2, also diejenigen vier Bitsignale, die den Exponenten e haben; C₃ bezeichnet ein Übertragungssignal für eine Unter-Drei-Bit-Addition. Ein ODER-Schaltkreis 16 und ein UND-Schaltkreis 17 sind Schaltkreise, die feststellen, daß der Exponent e des Produktes A nicht kleiner als 2 n-1 (im Fall von Exponentenüberlauf) ist, so daß der Ausgang C MO zu "1" wird, wenn l₃-₂³ und l₄-2³ im Wert "0" haben und das Übertragungssignal C₃ "1" ist
Ein ODER-Schaltkreis 18 und ein UND-Schaltkreis 19 dienen zur Feststellung, daß der Exponent e nicht größer ist als -8 (im Fall von Exponentenunterlauf), so daß der Ausgang C MU zu "1" wird, wenn l₃-2³ und l₄-2³ "1" sind und C₃ "0" ist. Ein UND-Schaltkreis 20 ist ein Schaltkreis zur Feststellung, daß der Exponent e 2 n-1 ist (d. h. 8 für n = 4), so daß er am Ausgang das Signal "1" hat wenn C MO "1" ist und jedes der Signale l₆-2², l₆-2¹ und l₆-2⁰ "0" sind
Ein UND-Schaltkreis 21 und ODER-Schaltkreise 22, 23 und 24 kompensieren des Exponenten e zu e₀ = "0111", wenn der Exponent nicht kleiner ist als 2 n-1 (= 8). Der arithmetische Gleitkomma- und Festkomma-Umschalter 14 wird eingesetzt, wenn die arithmetischen Typen verändert werden, so daß das Steuersignal B "1" ist im Fall der Gleitkomma-Arithmetik und dadurch die UND-Schaltkreise 25, 26 und 27 leitend macht und die Signale C MU , C MO und C 8 durch die passieren läßt. Im Fall von Festkommaarithmetik ist das Steuersignal B "0", so daß die Signale C MU , C MO und C 8 blockiert sind.
Fig. 4 ist ein Schaltbild für einen Überlaufdetektor- und Kompensationsschaltkreis (Multiplizierer-Detektorschaltung) 3 nach Fig. 2, an dessen Eingänge die in Fig. 3 dargestellten Signale C MO und C 8 angelegt sind, wobei die MSB l₁-2⁰ und l₂-2⁰ der beiden Eingangssignale l₁ und l₂ miteinander multipliziert werden sollen, und wobei Signale l₅-2⁰ und l₅-2-1, . . ., und l₅-2-15 mit 16 Bits erzeugt werden, d. h. der Ausgang C MU des Multipliers 1. Ein logischer Schaltkreis 29 besteht aus Invertern 30, 33 und 35, aus Antivalenzgliedern (exclusiven ODER-Gattern) 31 und 39, NICHT-UND-(NAND)-Kreisen 32 und 37, NOR-Schaltungen 34 und 38 und einer ODER-Schaltung 36, wobei diese Schaltung 29 die verschiedenen Zustände des Ergebnisses der Multiplikation beurteilt und danach die UND-Gatter 41 bis 44 ein- und ausschaltet. ODER-Schaltungen 51 bis 54 extrahieren die Ausgänge jener UND-Gatter und liefern Bitsignale l₇-2-1, l₇-2-2. . . . I₇-2-15, welche die kompensierten Mantissen ausdrücken. Der Ausgang l₇-2⁰ eines Inverters 40 wird das MSB-Signal der Mantisse.
Unter Bezugnahme auf die Fig. 3 und 4 wird aufgrund der insoweit beschriebenen Schaltkreise das Signal C MO zu "1", wenn der Exponent nicht kleiner als 8 ist (d. h. im Fall von Exponentenüberlauf), so daß die Exponenten e₀ (d. h. l₈-2³, l₈-2², l₈-2¹ und l₈-2⁰) zu "0111" (+ 7) werden. Für die Mantissen ergibt sich: Ist C MO "1" und nicht normalisiert, so nimmt der NAND-Schaltkreis 37 "1" an um die UND-Gatter 41-1, 42-1, . . . und 44-1 zu wenden (vgl. Fig. 4). Ist das MSB l₅-2⁰ "0" oder "1", so nehmen die Ausgangsbits l₇-2⁰, l₇-2-1, l₇-2-2, . . . und l₇-2-15 mit kompensierten Mantissen Werte an, die die maximalen absoluten Werte besitzen, wie z. B. 0,11111 . . . 1 oder 1.000 . . . 0, für von -1 verschiedene Mantisseneingänge.
Ist jedoch der Exponent e 2 n-1 (= 8) und die Mantisse nicht normalisiert, d. h. wenn C MO und C 8 "1" sind und wenn die Vorzeichen von l₅-2⁰ und l₅-2-1 identisch sind, so werden durch den logischen Schaltkreis 29 die UND-Gatter 41-3, 42-3 usw. gewendet, so daß die Mantisse nur um ein Bit nach links verschoben wird.
Für den Exponenten e, der durch -8 ≦ e < 7 definiert ist, findet kein Überlauf statt, so daß der Ausgang l₆ des Addierers 2 des Exponenten als l(l₈-2³, l₈-2², . . . und l₈-2⁰) extrahiert wird, wodurch der Exponent nicht normalisiert wird.
In den einzelnen voran beschriebenen Fällen findet ein Mantissenüberlauf statt, wenn beide Mantissen M₁ und M₂ der beiden Eingänge A₂ und A₂ "1.000 . . . 0" (-1) sind. Diese Feststellung wird durch den NAND-Schaltkreis 32 der Fig. 4 durchgeführt, so daß die kompensierten Mantissenausgänge l₇-2⁰, l₇-2-2, . . ., l₇-2-15 zu "0.1111 . . . 1" (= 2⁰ - 2¹⁵) werden, wenn festgestellt wird, daß
(l₁-2⁰) · (l₂-2⁰) · (l₅-2⁰) "1"
ist.
Im folgenden wird der Kompensationskreis im Fall von Exponentenunterlauf beschrieben, d. h., wenn der Exponent e kleiner ist als -2 n-1.
Wenn das arithmetische Ergebnis des Gleitkomma-Multiplizierers direkt herausgeholt werden soll, so genügt es, die Mantisse nach rechts um (-2 n-1-e) Bits nach rechts zu verschieben (oder nach unten zu übertragen) für einen Minimalwert -2 n-1, der durch den Exponenten angezeigt werden kann. Da aber in den meisten Fällen im Ergebnis des ersten arithmetischen Kreises I ein dritter Eingang A₃ addiert wird, wird die Ausführungsform in Fig. 2 auf einen Fall gerichtet, bei dem die Kompensation von Exponentenunterlauf durch den zweiten arithmetischen Schaltkreis II im Verlauf der Addition des dritten Eingangs A(l₉ und l₁₀) durchgeführt wird.
Der Ausgang A des Multiplizierers I und der dritte Eingang A₃ sind in Gleitpunkten ausgedrückte Zahlen und werden durch die folgenden Gleichungen gegeben:
A= M β · 2 β ; undA₃= M a · 2 α .
Wird nun angenommen, daß die beiden Zahlen A und A₃ in der Beziehung α < b addiert werden, so ist das Ergebnis der Addition Z durch die folgende Gleichung auszudrücken:
Z = A + A₃ = [M a + M β · 2-(α-β)] · 2 α .
In Fig. 5 sind die Mantissen M β und M α als l₇ bzw. l₉ zu einem Mantisseneingangsbus-Umschalter 5 addiert. Die Exponenten β und α werden als l₈ bzw. l₁₀ einem Exponenten- kompensationsschaltkreis 6, einem Exponentenvergleichsschaltkreis und einem Mantissenumschalterkreis 13 addiert. Der Exponentenvergleichsschaltkreis 11 vergleicht die Größe der obigen Exponenten α und β und addiert das Ergebnis des Vergleichs l₁₇ als Signal l₁₈ über einen Exponentenvergleichs- Kompensationsschaltkreis 12 zu den obigen Umschaltern 5 und 13 und einem Subtrahierer 7. Hierbei gilt l₁₇ = 0 für α < β. Der obige Mantisseneingangsbus-Umschalter 5 erzeugt bei l₁₆ die Mantisse M α , die dem größeren Exponenten α entspricht, und bei l₁₄ die Mantisse M β , die dem kleineren Exponenten β entspricht, und addiert sie zu einem Verschiebungs- Schaltkreis 9. Andererseits erzeugt der Exponenteneingangsbus- Umschalter 13 den größeren Exponenten α und addiert ihn in einem anderen Schaltkreis (nicht dargestellt). Der Subtrahierer 7 erhält die Exponenten α und β als Zweierkomplement- Ausdruck, so daß er |α - β| rechnet und das arithmetische Ergebnis in binärer Ausdrucksweise ausgibt. Dieser Ausgang wird über einen Verschiebungskompensationsschaltkreis 8 und einen arithmetischen Umschalter 15 dem obigen Verschiebungsschaltkreis 9 zuaddiert, so daß die Mantisse M β nach rechts um die Bitlänge (α - β) verschoben wird. Das Signal l₁₃, das durch den Verschiebungskreis 9 verschoben wird, wird dem Signal l₁₆ (= M α ) durch den Festkommaaddierer addiert, so daß der Subtrahierer als Ausgangssignal das Ergebnis der Addition M α + M β · 2(α-β) erzeugt.
Bei dem bisher beschriebenen Aufbau sind der Exponentenkompensations- schaltkreis 6, der Exponentenvergleichs-Kompensationsschaltkreis 12 und der Verschiebe-Kompensationsschaltkreis 8 geeignet, die Exponentenkompensationsfunktion für Exponentenunterlauf auszuführen, wenn ein solcher Exponentenunterlauf in dem Exponenten M β des voran erwähnten arithmetischen Gleitkommamultiplikationsschaltkreises auftritt, d. h., wenn C MU "1" ist; der konkrete Aufbau wird unter Bezugnahme auf Fig. 5 beschrieben.
Vor der Beschreibung des Schaltkreises nach Fig. 5 wird das Prinzip seiner Wirkung nachfolgend beschrieben.
Der Exponent des Ausgangs des arithmetischen Schaltkreises 1 wird hier als β = {β₃, β₂, β₁, b₀} bezeichnet, der wahre Wert des Exponenten mit e. Hierzu identisch bezeichnet β den Ausgang im Fall von Unterlauf. Demgegenüber wird der Exponent des anderen Eingangs als α = {α₃, α₂, α₁, α₀} bezeichnet (was durch l₁₀ ausgedrückt wird).
Exponentenunterlauf tritt auf bei ₃ · C MU = "1". Dabei ist, da e < -8 und β ≧ 0 in den Zweierkomplementausdruck von vier Bit ist, e < β. Folglich muß, wenn C MU 1 ist, die Kompensation des Exponentenvergleichs ausgeführt werden. Um die Exponenten der beiden Eingänge anzuordnen, ist es notwendig, (α - e) abzuleiten, was durch die folgende Gleichung ausgedrückt wird:
α - e = α - (-16 + β) = (α + 8) - (-8 + β).
Da α und β durch die folgenden Gleichungen gegeben sind:
-8 ≦ α ≦ 7,
  0 ≦ β ≦ 7,
  0 ≦ α + 8 ≦ 15 und
-8 ≦ - 8 + ∞ ≦ - 1,
gelten die folgenden Ungleichungen:
α + 8 < - 8 + β, und
1 ≦ α - e ≦ 23.
Da andererseits die Eingangsdaten l₁₃ für den Schaltkreis 9 zur Mantissen-Rechts-Verschiebung durch die Gleichung 0 ≦ l₁₃ ≦ 15 beschränkt sind, sind die folgenden Kompensationen erforderlich
α - e < 16, l₁₃ = α - e, und
α - e ≧ 16, l₁₃ = 15.
Werden die obigen Gleichungen durch die logischen Symbole für den Schaltkreisaufbau ausgedrückt, so werden die Ausdrücke (α + 8) und (-8 + β) der Gleichung in Zeile 5 durch die folgenden Gleichungen ausgedrückt:
(α + 8)= { (α₃ ⊕ 1)ααα₀} = { (α₃ ⊕ C MU )αaα₀},
wobei { } eine Serie von Bits bedeutet, (α₃ ⊕ C MU ) und α₀ das MSB bzw. das LSB bedeuten; die Gleichung in Zeile 24 ist kein Zweierkomplementausdruck, sondern ein binärer Ausdruck; und
(-8 + β)= { (1 + 0) βββ₀  (b₃ = 0) = { (β₃ + C MU ) βββ
wobei diese Gleichung die Zweierkomplement-Ausdrucksweise hat.
Werden x und y eingeführt, die durch die folgenden Gleichungen gegeben sind:
so sind die Bedingungen für die Gleichungen auf Seite 14, Zeilen 18 und 19 derart, daß die Gleichung auf Seite 14, Zeile 18 gilt, wenn das durch die folgenden Gleichungen definierte C "0" ist, wohingegen die Gleichung auf Seite 14, Zeile 19 gilt, wenn C "1" ist:
C= {x · y + (xy) · C₂} · C MU x · C 2 · C MU .
In Fig. 5 entsprechen die Signale l₈-2³, l₈-2², l₈-2¹ und l₈-2⁰ den obigen β₃, β₂, β₁ und b₀; die Signale l₁₀-2³, l₁₀-2², l₁₀-2¹ und l₁₀-2⁰ entsprechen den obigen α₃, α₂, α₁ und α₀. Ein Antivalenzglied (Exclusiv-ODER- Schaltkreis) 55 führt die Berechnung des Ausdrucks (α₃ + C MU ), der in der Gleichung auf Seite 14, Zeile 25 auftritt, aus, und eine ODER-Schaltung 56 berechnet den Ausdruck (β₃ + C MU ), der in der Gleichung S. 14, Zeile 1 auftritt. Der Exponentenvergleichs-Kompensationskreis 12 schaltet einen Schalter S₁ und einen Schalter S₂ aus, wenn C MU = 1 ist, wodurch das Signal l₁₈ auf "0" reduziert wird. Dieses ist für C MU = "0" umgekehrt, so daß das Signal l₁₈ zu "l₁₇" wird. Der Subtrahierer 7 liefert den Wert (α - e). In dem Verschiebungskompensationskreis 8 wird die Bedingung C der vorangehenden Gleichung S. 15, Z.9 durch einen UND-Schaltkreis 57 beurteilt, so daß der Ausgang "1" bei einer Verschiebung von mehr als 16 erscheint. Damit wird der Wert 15 als Verschiebungssignal l₁₃ für α - e ≧ 16 gesetzt, wogegen der Wert (α - e) als das Signal l₃ für α - e < 16 gesetzt wird.
Obwohl sich die vorangehende Beschreibung auf den Fall richtete, bei dem die Kompensation von Exponentenunterlauf während der Addition und Subtraktion des verbleibenden Eingangs A₃ durchgeführt wird, genügt es, daß die Daten der Mantisse l₉ des Eingangssignals A₃ zu 0 gesetzt wird, wohingegen die Daten l₁₀ von denselben zu -8 gesetzt werden, in dem Fall, daß das Ergebnis der Multiplikation der beiden Dateneingänge A₁ und A₂ direkt als Ausgang des zweiten arithmetischen Schaltkreises 2 herausgeholt werden soll. Es gilt insbesondere (000 - - - 0) × 2-8 = 0, und dies ist der um 0 addierte Ausgang, so daß das Produkt A₀ der beiden Eingänge A₁ und A₂ erhalten wird.

Claims (4)

1. Gleitkomma-Multiplizierschaltung
mit einem Multiplizierer (1) zum Multiplizieren der Mantissen von zwei Gleitkommazahlen, die im Zweierkomplement ausgedrückt sind,
mit einem Addierer (2) zum Addieren ihrer Exponenten, und
mit einer Schaltung zur Feststellung eines Überlaufs des Exponenten,
dadurch gekennzeichnet, daß Detektorschaltungen (3; 4; 16-20; 29) vorhanden sind, die einen Überlauf und/oder Unterlauf des Exponenten und einen Überlauf der Mantissen entsprechend den Eingangs- und Ausgangssignalen des Multiplizierers (1) und des Addierers (2) feststellen, und daß Kompensationsschaltungen (6; 21-24; 41-44; 51-54) vorgesehen sind, die dann, wenn die Detektorschaltungen (3; 4; 16-20; 29) einen Über- oder Unterlauf des Exponenten und/oder einen Überlauf der Mantisse feststellen, die Ausgangssignale des Multiplizierers (1) und des Addierers (2) in durch Rundung angenäherte Werte verwandeln.
2. Gleitkomma-Multiplizierschaltung nach Anspruch 1, dadurch gekennzeichnet, daß eine Addierer-Detektorschaltung (4) einen Schaltkreis (20) aufweist zum Feststellen, ob der Ausgang des Addierers (2) gleich 2 n-1 oder kleiner als 2 n-1 + 1 ist (wobei n eine ganze Zahl und nicht kleiner als 2 ist), wenn die zum Ausdruck kommende Bitlänge des Addierers n ist, und daß die Kompensationsschaltungen (21-24, 41-44, 51-54) dahin wirken, den Ausgang des Addierers (2) zu 2 n-1 - 1 zu kompensieren und den Ausgang des Multiplizierers (1) um ein Bit nach links zu verschieben, wenn die Addierer-Detektorschaltung (4) feststellt, daß der Ausgang des Addierers (2) 2 n-1 ist, und wenn der Ausgang des Multiplizierers (1) nicht normalisiert ist (im Fall von Über- oder Unterlauf des ersten Exponenten), und weiter dahin wirken, den Ausgang des Addierers (2) zu 2 n-1 - 1 zu kompensieren und den Absolutwert des Ausgangs des Multiplizierers (1) aufzurunden, ohne dessen Vorzeichenbit zu verändern, wenn der Ausgang des Addierers (2) nicht kleiner als 2 n-1 + 1 ist, oder wenn der Ausgang des Multiplizierers (1) normiert und der Ausgang des Addierers (2) 2 n-1 ist.
3. Gleitkomma-Multiplizierschaltung nach Anspruch 2, dadurch gekennzeichnet, daß die Addierer-Detektorschaltung (4) einen Schaltkreis (18, 19) aufweist zum Feststellen, ob der Ausgang des Addierers (2) kleiner als -2 n-1 ist (im Fall von Unterlauf), und daß eine Kompensationsschaltung den Ausgang des Multiplizierers (1) nach links um (-2 n-1 - e) Bits verschiebt und den Ausgang des Addierers (2) zu -2 n-1 kompensiert, wenn der Schaltkreis (18, 19) Unterlauf feststellt.
4. Gleitkomma-Multiplizierschaltung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß eine Multiplizierer-Detektorschaltung (3) einen Schaltkreis (29) aufweist zum Feststellen von einem Mantissenüberlauf des Multiplizierers (1), und daß die Kompensationsschaltungen Schaltungen (8, 9, 15) aufweisen, um den Ausgang des Multiplizierers (1) um ein Bit nach rechts zu verschieben und 1 dem Ausgang des Addierers (2) zuzuaddieren, wenn der Schaltkreis (29) Mantissenüberlauf feststellt.
DE19813143223 1980-10-31 1981-10-30 Gleitpunkt-multiplizierschaltkreis Granted DE3143223A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP55152053A JPS5776635A (en) 1980-10-31 1980-10-31 Floating multiplying circuit

Publications (2)

Publication Number Publication Date
DE3143223A1 DE3143223A1 (de) 1982-05-19
DE3143223C2 true DE3143223C2 (de) 1988-06-01

Family

ID=15532011

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19813143223 Granted DE3143223A1 (de) 1980-10-31 1981-10-30 Gleitpunkt-multiplizierschaltkreis

Country Status (4)

Country Link
US (1) US4534010A (de)
JP (1) JPS5776635A (de)
DE (1) DE3143223A1 (de)
GB (1) GB2087609B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3931545A1 (de) * 1988-09-21 1990-03-22 Hitachi Ltd Gleitkommaprozessor

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3144015A1 (de) * 1981-11-05 1983-05-26 Ulrich Prof. Dr. 7500 Karlsruhe Kulisch "schaltungsanordnung und verfahren zur bildung von skalarprodukten und summen von gleitkommazahlen mit maximaler genauigkeit"
US5093775A (en) * 1983-11-07 1992-03-03 Digital Equipment Corporation Microcode control system for digital data processing system
CA1229415A (en) * 1983-12-09 1987-11-17 Masayuki Ikeda Floating-point addition/subtraction system
US4773035A (en) * 1984-10-19 1988-09-20 Amdahl Corporation Pipelined data processing system utilizing ideal floating point execution condition detection
US4758974A (en) * 1985-01-29 1988-07-19 American Telephone And Telegraph Company, At&T Bell Laboratories Most significant digit location
DE3677051D1 (de) * 1985-05-17 1991-02-28 Nec Corp Verarbeitungsschaltung, die es erlaubt den akkumulationsdurchsatz zu erhoehen.
US4722066A (en) * 1985-07-30 1988-01-26 Rca Corporation Digital signal overflow correction apparatus
US4758972A (en) * 1986-06-02 1988-07-19 Raytheon Company Precision rounding in a floating point arithmetic unit
US4991131A (en) * 1987-10-06 1991-02-05 Industrial Technology Research Institute Multiplication and accumulation device
US4941119A (en) * 1988-11-30 1990-07-10 Control Data Corporation Method and apparatus for predicting an overflow in an integer multiply
US5161117A (en) * 1989-06-05 1992-11-03 Fairchild Weston Systems, Inc. Floating point conversion device and method
JPH0365722A (ja) * 1989-08-04 1991-03-20 Matsushita Electric Ind Co Ltd 浮動小数点演算装置
US5038314A (en) * 1989-11-17 1991-08-06 Digital Equipment Corporation Method and apparatus for correction of underflow and overflow
US5138570A (en) * 1990-09-20 1992-08-11 At&T Bell Laboratories Multiplier signed and unsigned overflow flags
US5218564A (en) * 1991-06-07 1993-06-08 National Semiconductor Corporation Layout efficient 32-bit shifter/register with 16-bit interface
JPH0514111U (ja) * 1991-08-12 1993-02-23 エステー化学株式会社 作業用腕カバー
US5339266A (en) * 1993-11-29 1994-08-16 Motorola, Inc. Parallel method and apparatus for detecting and completing floating point operations involving special operands
US5553015A (en) * 1994-04-15 1996-09-03 International Business Machines Corporation Efficient floating point overflow and underflow detection system
US5844830A (en) * 1996-08-07 1998-12-01 Sun Microsystems, Inc. Executing computer instrucrions by circuits having different latencies
KR100425674B1 (ko) * 1996-10-11 2004-06-11 엘지전자 주식회사 디지탈신호처리기의부동소숫점형식곱셈방법
US6633895B1 (en) * 2000-02-22 2003-10-14 Hewlett-Packard Development Company, L.P. Apparatus and method for sharing overflow/underflow compare hardware in a floating-point multiply-accumulate (FMAC) or floating-point adder (FADD) unit
US20040098439A1 (en) * 2000-02-22 2004-05-20 Bass Stephen L. Apparatus and method for sharing overflow/underflow compare hardware in a floating-point multiply-accumulate (FMAC) or floating-point adder (FADD) unit
EP1394673A1 (de) * 2002-08-30 2004-03-03 STMicroelectronics S.r.l. Verfahren und Schaltung zur Erhöhung, Erniedrigung oder Zweierkomplementierung einer Bitfolge
KR100592879B1 (ko) * 2003-12-19 2006-06-23 한국전자통신연구원 자동이득 제어 장치
TWI686178B (zh) 2019-10-09 2020-03-01 中原大學 自動化定位核子醫學腦部影像紋狀體與計算紋狀體專一性攝取率的方法與系統

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL277572A (de) * 1961-04-26
US3699326A (en) * 1971-05-05 1972-10-17 Honeywell Inf Systems Rounding numbers expressed in 2{40 s complement notation
US3725649A (en) * 1971-10-01 1973-04-03 Raytheon Co Floating point number processor for a digital computer
US3871578A (en) * 1972-10-10 1975-03-18 Digital Equipment Corp Data processing system for multiplying and intergerizing floating point numbers
US4295203A (en) * 1979-11-09 1981-10-13 Honeywell Information Systems Inc. Automatic rounding of floating point operands
US4429370A (en) * 1981-04-23 1984-01-31 Data General Corporation Arithmetic unit for use in a data processing system for computing exponent results and detecting overflow and underflow conditions thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3931545A1 (de) * 1988-09-21 1990-03-22 Hitachi Ltd Gleitkommaprozessor

Also Published As

Publication number Publication date
JPS6360417B2 (de) 1988-11-24
JPS5776635A (en) 1982-05-13
GB2087609A (en) 1982-05-26
DE3143223A1 (de) 1982-05-19
US4534010A (en) 1985-08-06
GB2087609B (en) 1985-01-16

Similar Documents

Publication Publication Date Title
DE3143223C2 (de)
DE69131458T2 (de) Hardware-Anordnung zur Addition und Subtraktion von Gleitkommazahlen
DE19983175B4 (de) Verfahren, Prozessor und Einrichtung für Gleitkommaoperationen und Formatkonvertierungsoperationen
DE10085322B4 (de) Schaltungsanordnung, Verfahren und Datenverarbeitungs-Einrichtung zum Durchführen einer Ein-Zyklus-Addition oder -Subtraktion und eines Vergleichs bei einer Arithmetik redundanter Form
DE69133072T2 (de) Verfahren und Gerät zur Berechnung von Gleitkommadaten
DE68926330T2 (de) Antizipator für die Anzahl vorhergehender Nullen/Einsen
DE68928376T2 (de) Vorrichtung zum multiplizieren, teilen und ziehen der quadratwurzel
DE2246968C2 (de) Einrichtung zur Multiplikation zweier Gleitkommazahlen
DE3688802T2 (de) Arithmetische Einheit mit einfachem Überlaufdetektionssystem.
DE4302898C2 (de) Arithmetische Recheneinheit mit Akkumulierfunktion
DE69029098T2 (de) Fliessband-Gleitkomma-Addierer für Digitalrechner
DE3700323C2 (de)
DE1162111B (de) Gleitkomma-Recheneinrichtung
DE3609250C2 (de)
DE69525682T2 (de) Datenprozessorsystem mit Saturation-arithmetischer Operationsfunktion
DE3440680C2 (de)
DE3447634C2 (de)
DE4019646A1 (de) Vorrichtung fuer echtzeitmultiplikation in 2er-komplement-darstellung in einem digitalen signalprozessorsystem und ein verfahren dafuer
DE69230520T2 (de) Verfahren und Anordung zur Erzeugung von Summeinformation-/Rundungskontrolle-Signal
DE3852217T2 (de) Gerät und Verfahren zur Beschleunigung des effektiven Subtraktionsverfahrens durch die Annäherung des Absolutwerts der Differenz zwischen Exponentargumenten.
DE68923606T2 (de) Totalsummenberechnungsschaltung zur schnellen Berechnung einer Totalsumme von mehr als zwei in Gleitkommadarstellung dargestellten Eingangsdaten.
DE69225352T2 (de) Bitdatenverschiebungsbetragsdetektor
DE69227482T2 (de) Überlaufdetektionssystem und dessen Schaltung zum Gebrauch beim Addieren und Substrahieren
DE3786072T2 (de) Fliesskomma-arithmetisches Gerät.
DE69225638T2 (de) Abrundungsschaltung in einem Gleitkommamultiplizierer

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8128 New person/name/address of the agent

Representative=s name: STREHL, P., DIPL.-ING. DIPL.-WIRTSCH.-ING. SCHUEBE

D2 Grant after examination
8364 No opposition during term of opposition