DE68926289T2 - Gleitkommadivisions-Verfahren und -Anordnung - Google Patents

Gleitkommadivisions-Verfahren und -Anordnung

Info

Publication number
DE68926289T2
DE68926289T2 DE1989626289 DE68926289T DE68926289T2 DE 68926289 T2 DE68926289 T2 DE 68926289T2 DE 1989626289 DE1989626289 DE 1989626289 DE 68926289 T DE68926289 T DE 68926289T DE 68926289 T2 DE68926289 T2 DE 68926289T2
Authority
DE
Germany
Prior art keywords
reciprocal
estimate
quotient
current
divisor
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
DE1989626289
Other languages
English (en)
Other versions
DE68926289D1 (de
Inventor
Daniel Cocanougher
Peter Willy Markstein
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE68926289D1 publication Critical patent/DE68926289D1/de
Publication of DE68926289T2 publication Critical patent/DE68926289T2/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
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5351Multiplicative non-restoring division, e.g. SRT, using multiplication in quotient selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5355Using iterative approximation not using digit recurrence, e.g. Newton Raphson or Goldschmidt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5356Via reciprocal, i.e. calculate reciprocal only, or calculate reciprocal first and then the quotient from the reciprocal and the numerator
    • 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/4873Dividing
    • 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/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49957Implementation of IEEE-754 Standard

Landscapes

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

Description

  • Diese Erfindung bezieht sich auf ein Datenverarbeitungssystem und auf die Durchführung von Gleitkommaoperationen und insbesondere auf ein Datenverarbeitungssystem zur Durchführung einer Gleitkommadivisions-Operation.
  • Herkömmliche Gleitkommadivisions-Operationen enthielten die Berechnung eines Quotienten in einem Computer, indem zuerst eine Schätzung des Reziprokwertes des Divisors erzeugt wird. Der Reziprokwert wird verfeinert, anders ausgedrückt, die Genauigkeit der Mantisse wird erhöht und eventuell mit dem Dividenden multipliziert, um einen Quotienten zu erzeugen. Dieses Verfahren wurde oft mit dem Problem konfrontiert, das letzte Bit in der Mantisse in allen Fällen der Division korrekt zu erhalten - oder vielmehr es gelang nicht, dieses konsequent zu erhalten.
  • Computer, welche diese Technik in der Vergangenheit benutzten, waren bekannt dafür, daß nicht immer die erwarteten Ergebnisse erzielt wurden, und diese Abweichungen waren meistens in Situationen störend, in denen ein genauer Quotient erwartet wurde, aber die Hardware, welche die Art des in dem vorherigen Abschnitt beschriebenen Schemas benutzt, erhielt oftmals nur das letzte Bit falsch.
  • Mit dem Institute of Electrical and Electronic Engineers, das einen Standard für eine Gleitkomma-Arithmetik herausbrachte, wurde der Standard festgelegt, welcher die korrekten Ergebnisse für Gleitkomma-Arithmetikoperationen beschreibt. Dieser Standard trägt die Überschrift "An American National Standard - IEEE Standard For Binary Floating-Point Arithmetic", ANSI/IEEE Std. 754-1985. Ein Computer, der behauptet, den IEEE Gleitkomma-Standard zu unterstützen, muß in allen Fällen die korrekten Ergebnisse erzielen.
  • Electronic Vol. 35, number 17, 17/22 August 1986, pp 57-61, W. Taetow: "Schelle Glietkommadivision" beschreibt ein Verfahren und System zur Durchführung von Gleitkommaoperationen gemäß dem IEEE Standard.
  • Mehrere Patente illustrieren die Techniken zur Durchführung einer Gleitkommadivisions-Operation.
  • - Die US Patentschrift Nr. 4,442,492 beschreibt ein Datenverarbeitungssystem, das eine Technik enthält, um ein gerundetes Bit in das geeignete Bit der Gleitkomma-Mantisse einzusetzen.
  • - Die US Patentschrift Nr. 4,413,326 beschreibt ein Mechanismus zur Durchführung von Gleitkommaberechnungen in einer variablen Anzahl von Schritten, der einen ersten Mikroprozessor und einen zweiten Mikroprozessor verwendet, wobei jeder Mikroprozessor seinen eigenen Festspeicher enthält. Gleitkommaoperationen schließen die Beteiligung von beiden Mikroprozessoren ein. Bei Ausführung der Divisionsoperation werden die Mantissen vorbehandelt, um normalisiert zu werden, wobei das höchstwertige Bit eine logische 1 ist. Die Operation wird fortgesetzt, bis das führende Bit der Mantisse 1 wird, was das Ende der Operation bedeutet.
  • - Die US Patentschrift Nr. 4,481,600 beschreibt eine Technik zur Erzeugung von Quotienten aus aufeinanderfolgenden Wiederholungen.
  • - Die US Patentschrift Nr. 4,707,798 beschreibt ein Divisionsverfahren, das einen ungefähren, Reziprokdivisor zur Berechnung des Quotienten verwendet, mit dem die Zeit abgekürzt werden kann, die erforderlich ist, um die Prüfung und Korrektur durchzuführen, nachdem die Zwischenquotienten mittels des aufeinanderfolgenden wiederholungsprozesses kalkuliert wurden.
  • - Die US Patentschrift Nr. 3,508,038 beschreibt eine Anordnung, um einen gebrochenen binären Dividenden durch einen gebrochenen binären Divisor zu dividieren, wobei der Quotient entwickelt wird, indem aufeinanderfolgende Multiplikationen des Dividenden und der ungefähren Reziprokwerte des Divisors durchgeführt werden.
  • - Die US Patentschrift Nr. 4,011,439 beschreibt ein beschleunigtes Verfahren, um Quotienten aus zwei Binärzahlen zu erzeugen. Ein Divisorfeld wird benutzt, um den Reziprokwert des binären Divisors wirksam zu bilden, und der Quotient wird durch Multiplikation des Reziprokwertes mit dem Dividenden bestimmt.
  • - Die US Patentschrift Nr. 3,648,038 beschreibt ein Verfahren, um den Reziprokwert der Zahl mittels einer Durchflußtechnik zu erzielen. Bei diesem Verfahren wird der Reziprokwert des Divisors mit dem Dividenden multipliziert, um den gewünschten Quotienten zu erzeugen.
  • - Die US Patentschrift Nr. 3,633,018 beschreibt ein Verfahren, das benutzt wird, um den Reziprokwert einer Zahl mit zwei Multiplikationen und den Quotienten der beiden Zahlen mit drei Multiplikationen zu finden.
  • - Die US Patentschrift Nr. 3,777,132 beschreibt ein Verfahren zur Durchführung einer Binärdivision, indem der Reziprokwert eines Divisors mit einem Dividenden multipliziert wird. Der Quotient wird zur gleichen Zeit wie der Reziprokwert des Divisors erzeugt.
  • Es ist ein Gegenstand der vorliegenden Erfindung, ein Verfahren bereitzustellen, um eine Gleitkommadivision gemäß dem IEEE Arithmetik-Standard durchzuführen, der implementiert werden kann, indem Schaltlogik zur Verarbeitung von Multiplikationsund Additionsdaten verwendet wird. Es ist ein weiterer Gegenstand der Erfindung, ein Verfahren bereitzustellen, um sicherzustellen, daß die Bits der Mantisse gemäß eines vorausgewählten Modus zum Runden von Werten korrekt sind, ohne daß eine Bedingungsprüfung erforderlich ist, um das endgültige Ergebnis einzustellen.
  • Gemäß der vorliegenden Erfindung ein Verfahren, um die Gleitkommadivision eines Dividenden durch einen Divisor durchzuführen und einen Quotienten zu erzeugen, der eine Mantisse aus N Bits in einem Datenverarbeitungssystem mit Speicher hat, wobei das Verfahren Schritte enthält, um
  • (1) eine anfängliche Schätzung eines Reziprokwertes des Divisiors zu bestimmen und in diesem Speicher zu speichern,
  • und durch Schritte gekennzeichnet wird, um
  • (2) eine anfängliche Schätzung des Quotienten zu berechnen, indem der Dividend mit dem Reziprokwert multipliziert und in diesem Speicher gespeichert wird,
  • (3) die Genauigkeit der anfänglichen Schätzung des Reziprokwertes zu steigern, indem ein Fehlerparameter berechnet und in dem Speicher gespeichert wird, wobei der mit dem aktuellen Reziprokwert multiplizierte Divisior um eins reduziert wird, und Berechnung sowie Speicherung in diesem Speicher von einer neuen Schätzung des Reziprokwertes, indem der Fehlerparameter, der mit der aktuellen Schätzung des Reziprokwertes multipliziert wurde, zu der aktuellen Schätzung des Reziprokwertes addiert wird,
  • (4) eine Teilungsrestschätzung zu berechnen und in diesem Speicher zu speichern, indem von dem Dividend der Divisor subtrahiert wird, der mit der aktuellen Schätzung des Quotienten multipliziert wurde,
  • (5) die Genauigkeit der Mantisse von der anfänglichen Schätzung des Quotienten zu steigern, indem ein neuer aktueller Quotient aus dem aktuellen Quotienten plus Teilungsrestschätzung, die mit der neuen Schätzung des Reziprokwertes des Divisors multipliziert wurde, berechnet und in dem Speicher gespeichert wird,
  • (6) die Schritte (3), (4) und (5) zu wiederholen, bis die Präzision der Reziprokwert- und der Quotientenschätzung N Bits überschreitet,
  • (7) einen endgültigen Quotienten aus der letzten, aktuellen Quotientenschätzung plus der neuesten, aktuellen Reziprokwertschätzung, die mit der neuesten Teilungsrestschätzung multipliziert wurde, zu berechnen und in diesem Speicher zu speichern.
  • Die vorliegende Erfindung liefert ebenfalls eine Anordnung, um ein solches Verfahren durchzuführen.
  • In einer solchen Anordnung, die nachstehend beschrieben wird, werden sowohl ein Verfahren als auch eine Anordnung beschrieben, um eine Gleitkommadivision durchzuführen, wobei die Gleitkommadivision eine Division eines Dividenden durch einen Divisor ist, der einen Quotienten erzeugt, der eine Mantisse mit n Bits hat. Die Anordnung enthält einen Schaltkreis, um eine anfängliche Schätzung von einem Reziprokwert des Divisors zu berechnen. Ein Schaltkreis zur Berechnung einer anfänglichen Schätzung des Quotienten aus der anfänglichen Schätzung des Reziprokwertes ist ebenfalls enthalten. Schaltlogik, um die Genauigkeit der anfänglichen Schätzung der Reziprokwertschätzung zu erhöhen, indem ein Fehlerparameter berechnet wird, und eine Berechnung einer aktuellen Schätzung des Reziprokwertes aus dem Fehlerparameter und der anfänglichen Schätzung des Reziprokwertes ist ebenfalls vorgesehen. Ein Schaltkreis zur Erhöhung der Genauigkeit der Mantisse der anfänglichen Schätzung des Quotienten, indem ein aktueller Quotient aus der aktuellen Schätzung des Reziprokwertes berechnet wird, ist ebenfalls vorgesehen.
  • Ein Schaltkreis zur Berechnung einer Teilungsrestschätzung aus der aktuellen Reziprokwertschätzung und der aktuellen Quotientenschätzung ist ebenfalls vorgesehen. Ein Schaltkreis zur Steigerung der Genauigkeit der Mantisse des Reziprokquotienten und des Teilungsrestes sind vorgesehen. Die Genauigkeit wird gesteigert, bis die Genauigkeit von dem Reziprokwert und dem Quotienten n Bits überschreitet. Schließlich ist ein Schaltkreis vorgesehen, der einen endgültigen Quotienten aus dem letzten aktuellen Quotienten plus den letzten aktuellen Reziprokzeiten des letzten Teilungsrestes berechnet. Anfänglich wird die Gleitkommadivision, wie zuvor beschrieben, durchgeführt, indem ein Schema zum Runden von Werten implementiert wird, wobei Operationen zum Runden auf den nächstliegenden Wert durchgeführt werden. Bei Durchführung der letzten Operation, d.h. die Berechnung des letzten Quotienten, können andere Schemata zum Runden von Werten benutzt werden, z.B. auf Null runden, auf negative Unendlichkeit runden oder auf positive Unendlichkeit runden sowie auf den nächstliegenden Wert runden.
  • Die beschriebene Anordnung zur Durchführung der Gleitkommadivision eines Dividenden durch einen Divisor zur Erzeugung eines Quotienten, der eine gerundete Mantisse von einer Genauigkeit von N Bit hat, enthält Mittel, um eine anfängliche Schätzung eines Reziprokwertes des Divisors zu berechnen; Mittel, um eine anfängliche Schätzung des Quotienten aus der anfänglichen Schätzung des reziproken Rundens mittels einer Operation zum Runden auf den nächstliegenden Wert zu berechnen; Mittel, um die Genauigkeit der Mantisse von der anfänglichen Schätzung des Reziprokwertes zu steigern, indem ein Fehlerparameter berechnet wird und Berechnung einer aktuellen Schätzung des Reziprokwertes aus dem Fehlerparameter und der anfänglichen Schätzung des reziproken Rundens durch eine Operation zum Runden auf den nächstliegenden Wert; Mittel, um die Genauigkeit der Mantisse von der anfänglichen Schätzung des Quotienten zu steigern, indem ein aktueller Quotient aus der aktuellen Schätzung des reziproken Rundens durch eine Operation zum Runden auf den nächstliegenden Wert berechnet wird; Mittel, um eine Teilungsrestschätzung aus der aktuellen Reziprokwertschätzung zu berechnen und zum Runden der aktuellen Quotientenschätzung durch eine Operation zum Runden auf den nächstliegenden Wert; Mittel, um die Genauigkeit der Mantisse der aktuellen Schätzungen von Reziprokwert und Quotient zu steigern, bis die Genauigkeit der Reziprokwertschätzung und der Quotientenschätzung N Bits überschreitet; und Mittel, um einen endgültigen Quotienten aus der letzten aktuellen Quotientenschätzung plus der neuesten, aktuellen Reziprokwertschätzzeiten zu berechnen, wobei die neueste Teilungsrestschätzung durch eine andere Operation gerundet wird, als die zum Runden auf den nächstliegenden Wert. Es wird ebenfalls ein Mechanismus bereitgestellt, um anzuzeigen, wenn ein genauer Quotient berechnet wurde. Dies erfolgt, wenn der, der berechnet wurde, null ist.
  • Die vorliegende Erfindung wird außerdem anhand von Beispielen mit Bezug auf ein Ausführungsbeispiel beschrieben, das in den beiliegenden zeichnungen illustriert ist, in denen
  • Figur 1 ein Flußdiagramm zeigt, welches das Gleitkommadivisions-Verfahren darstellt;
  • Figur 2 ein Flußdiagramm zeigt, das ein erstes, bevorzugtes Ausführungsbeispiel des Gleitkommadivisions-Verfahrens darstellt;
  • Figur 3 ein Flußdiagramm zeigt, das ein zweites, bevorzugtes Ausführungsbeispiel der Gleitkommadivisions-Operation darstellt;
  • Figur 4 ein Blockdiagramm zeigt, das die Gleitkomma- Arithmetikeinheit darstellt;
  • Figur 5 ein Blockdiagramm zeigt, das die Operation der Steuerlogik für die Gleitkomma-Arithmetikeinheit darstellt; und
  • Figur 6 ein Flußdiagramm zeigt, das die Operation der Gleitkommadivisions-Steuereinheit darstellt.
  • Das Verfahren zur Durchführung der Gleitkommadivision, das erörtert werden wird, beschäftigt sich nur mit der Behandlung der Mantisse von Operanden und Ergebnissen. Die Behandlung von Exponenten ist in dem Stand der Technik bekannt und wird hier nicht näher erörtert. Die fünf Schritte der Division werden nun erläutert.
  • 1. Zu Beginn wird eine Reziprokwertschätzung des Divisors ausgewählt. Für Divisoren, deren Mantisse insgesamt aus "1" Bits besteht, muß die Größe der anfänglichen Annäherung von dem Reziprokwert des Divisors größer als oder gleich der Größe des aktuellen Reziprokwertes des Divisors sein. In der beschriebenen Anordnung muß die Größe der anfänglichen Schätzung von dem Reziprokwert des Divisors größer als oder gleich der Größe des aktuellen Reziprokwertes des Divisors sein, der mit Hilfe einer Operation zum Runden auf den nächstliegenden Wert korrekt gerundet wurde. Das Runden wird zu einem späteren Zeitpunkt in dieser Spezifikation besprochen.
  • 2. Für Divisoren, deren Mantisse insgesamt aus "1" Bits besteht, muß die Annäherung des Quotienten größer oder gleich in der Größe im Verhältnis zu der Größe des aktuellen Quotienten sein (korrekt gerundet mittels der Operation zum Runden auf den nächstliegenden Wert in dem bevorzugten Ausführungsbeispiel). Das Zeichen der Annäherung ist ein Exklusiv-oder von den Zeichen der Operanden.
  • 3. Eine verbesserte Annäherung an den Reziprokwert wird aus einer früheren Annäherung erzeugt, indem ein Fehlerparameter berechnet wird. Der Fehlerparameter "e" ist wie folgt:
  • e = 1.0 - b*y
  • y' = y + e*y
  • wobei y die verbesserte Annäherung ist. Alle Bits für die Produkte aus diesen Gleichungen müssen in Summen integriert sein, bevor auf die normale Mantissenlänge der Maschine gerundet wird.
  • 4. Eine verbesserte Annäherung an den Quotienten "q'" wird erzeugt, indem die frühere Annäherung an den Quotienten mittels der folgenden Berechnungen benutzt wird:
  • r = a - b*q
  • q' = q + r*y,
  • wobei y gemäß Schritt 3 berechnet wurde. Alle Bits aus den oben genannten Produkten müssen in Summen integriert sein, bevor auf die normale Mantissenlänge der Maschine gerundet wird.
  • 5. Wenn eine Annäherung an einen Quotienten bekannt ist, um innerhalb einer Einheit in der letzten Stelle korrigiert zu werden, muß die Größe des Reziprokwertes von dem Divisor, der verwendet wird, um die Annäherung an den Quotienten zu verbessern, gleich der Größe des aktuellen Reziprokwertes von dem korrekt gerundeten Divisor sein (mit der Operation zum Runden auf den nächstliegenden Wert), ausgenommen der Divisor, dessen Mantisse insgesamt aus "1" Bits besteht, für welche die Größe der Annäherung auch kleiner als der Reziprokwert sein kann, der in der letzten Stelle um eine Einheit korrekt gerundet wurde. Der erforderliche Reziprokwert resultiert aus Wiederholungsanwendungen von Schritt 3.
  • Um das erfundene Verfahren klar zu verstehen, müssen die Techniken zum Runden von Werten ebenfalls verstanden werden. Im allgemeinen gibt es vier Verfahren zum Runden von Werten. Das erste Verfahren zum Runden auf den nächstliegenden Wert wählt die Zahl aus, die in der Mantisse am nächsten repräsentabel ist. Die zweite Möglichkeit ist ein Runden auf null, bei der gebrochene Bits verworfen werden, die nicht in die Mantisse passen. Dies wird im allgemeinen als Abschneiden bezeichnet. Ein weiteres Verfahren ist das Runden auf positive Unendlichkeit, was bedeutet, daß auf die nächstgrößte, repräsentable Zahl gerundet wird. Im Gegensatz dazu steht das Runden auf negative Unendlichkeit, was bedeutet, daß auf die nächstkleinste, repräsentable Zahl gerundet wird. In der Praxis erweist sich die Operation zum Runden auf den nächstliegenden Wert als das schwierigste und das Runden auf null als das einfachste Verfahren. Das Runden auf positive bzw. negative Unendlichkeit liegt an Komplexität dazwischen.
  • In der beschriebenen Anordnung führt die Gleitkomma-Arithmetikeinheit eine einfache Operation aus:
  • A + B*C
  • mit drei Variationen (a) -A + B*C; (b) -A - B*C; und (c) A - B*C mit jeder einfachen Operation, die nur mit einem Rundungsfehler (d.h. das Runden erfolgt in dem letzten Stadium der Berechnung) ausgeführt wird. Gewöhnliche Addition und Subtraktion werden durchgeführt, indem eine 1.0 für den C Operanden eingesetzt wird, und die einfache Multiplikation erfolgt, indem dem A Operanden der Wert von 0.0 gegeben wird.
  • Die Operation der beschriebenen Anordnung mit Bezug auf Fig. 1 ist wie folgt:
  • In Schritt 10 werden Zahlen, zum Beispiel Unendliche und Nullen zusammen mit Zahlen, die keine Ziffernwerte darstellen, aus der Berechnung entfernt. Anders ausgedrückt, wenn solche Zahlen berücksichtigt werden, werden die von dem IEEE Standard geforderten Ergebnisse zurückgegeben. In Schritt 12 wechselt der Modus zum Runden von Werten, unabhängig von dem aktuellen Modus zum Runden von Werten, in die Operation zum Runden auf den nächstliegenden Wert. In Schritt 14 wird eine anfängliche Schätzung von dem Reziprokwert des Divisors durchgeführt. Wenn die Mantisse des Divisors insgesamt "1" Bits ist, muß die Größe des Reziprokwertes größer als die aktuelle Größe von 1/b sein. In Schritt 16 wird der Reziprokwert y benutzt, um eine anfängliche Schätzung des Quotienten zu berechnen. In den Schritten 18 und 20 werden der Reziprokwert y und der Quotient q verbessert. Verbesserte Mittel, daß die Genauigkeit der Mantisse von Reziprokwert und Quotient gesteigert werden. In Schritt 18 wird der Fehlerglied e wie abgebildet berechnet. Dieses Fehlerglied wird dann benutzt, um die aktuelle Schätzung oder die Schätzung des Reziprokwertes y, wie abgebildet, neu zu berechnen. Ähnlich in Schritt 20, wo der Quotient "verbessert" wird, indem zuerst der Teilungsrest berechnet wird, wobei Dividend und Divisor zusammen mit der letzten Schätzung des Quotienten benutzt werden, und ein neuer Quotient geschätzt wird, indem der letzte Quotient von dem berechneten Teilungsrest und die letzte Schätzung des Reziprokwertes benutzt wird. Die Schritte 18 und 20 können wiederholt und in der jeweiligen Reihenfolge zueinander durchgeführt werden. Wenn der Reziprokwert y ist und der Quotient q wiederholt in dem Punkt verbessert wurde, wo dessen Genauigkeit die Genauigkeit der Mantisse überschreitet, bevor die Ergebnisse gerundet wurden, wird in Schritt 22 der endgültige Teilungsrest, wie abgebildet, berechnet. In Schritt 24 wird der Originalmodus zum Runden von Werten wiederhergestellt. In Schritt 25 wird der endgültige Quotient, wie abgebildet, berechnet.
  • Mit Bezug auf Fig. 2 werden nicht-numerische Einheiten, Unendliche und Nullen herausgefiltert, indem die Ergebnisse, die von dern IEEE Standard diktiert werden, bereitgestellt werden. In Schritt 32 wird der aktuelle Modus zum Runden von Werten in eine Operation zum Runden auf den nächstliegenden Wert verändert. In Schritt 34 wird eine anfängliche Schätzung des Reziprokwertes y durchgeführt, indem auf eine Tabelle, wie in Anhang A dargestellt, zugegriffen wird. In Schritt 36 wird das Fehlerglied e, wie abgebildet, berechnet. In Schritt 38 wird die erste Schätzung des Quotienten q durchgeführt. In Schritt 40 werden Quotient q und Reziprokwert y "verbessert", indem die Berechnungen gemäß der gezeigten Sequenz durchgeführt werden. In Schritt 42 wird der ursprüngliche Modus zum Runden von Werten wiederhergestellt. In Schritt 44 wird der endgültige Quotient, wie abgebildet, berechnet.
  • Figur 3 zeigt ein zweites bevorzugtes Ausführungsbeispiel des erfundenen Verfahrens. In Schritt 50 werden nicht-numerische Einheiten, Unendliche und Nullen wie zuvor herausgefiltert. In Schritt 52 wird der aktuelle Modus zum Runden von Werten in eine Operation zum Runden auf den nächstliegenden Wert verändert. In Schritt 54 wird die anfängliche Schätzung des Reziprokwertes gemäß der Tabelle in Anhang A durchgeführt. Der Reziprokwert wird dann durch Berechnung des Fehlerglieds e, wie abgebildet, und durch die folgenden Berechnungen des Reziprokwertes verfeinert. In Schritt 56 wird das Fehlerglied e neu berechnet, indem die neueste Schätzung des Reziprokwertes benutzt wird. In Schritt 58 erfolgt die Quotientenschätzung. In Schritt 60 werden die Mantisse des Reziprokwertes und des Quotienten, wie abgebildet, "verbessert", indem die dargestellten Berechnungen durchgeführt werden. In Schritt 62 wird der ursprüngliche Modus zum Runden von Werten wiederhergestellt. In Schritt 64 wird der endgültige Quotient berechnet.
  • Es ist zu bemerken, daß in beiden bevorzugten Ausführungsbeispielen, die in dem letzten Schritt von der Berechnung des endgültigen Quotienten enthalten sind, eine Angabe gemacht wird, wenn der Quotient genau ist (d.h. wenn der Teilungsrest null ist). Die Angabe, die bezüglich der Exaktheit des Quotienten gemacht wird, ist ein Ergebnis der Quotientensumme, die als exakt charakterisiert wird.
  • Figur 4 zeigt ein Blockdiagramm einer Gleitkomma-Arithmetikeinheit. Diese besondere Gleitkomma-Arithmetikeinheit sorgt für eine Multiplikations- und Additionsoperation, wenn diese parallel auftreten. Die Registerdatei 70 enthält 40 Gleitkomma- Arithmetikwörter. Unter der Steuerung der Steuerlogik 106 über die Steuerleitung 108 wird ein Gleitkomma-Arithmetikdatenwort in die A OPERATIONSVERRIEGELUNG 72 geladen. Ähnlich werden die Inhalte von B OPERATIONSVERRIEGELUNG 74 und C OPERATIONSVERRIEGELUNG 76 geladen. Die Inhalte der A OPERATIONSVERRIEGELUNG 72 und B OPERATIONSVERRIEGELUNG 74 werden an einen Multiplikator 82 geliefert. Die Inhalte der B OPERATIONSVERRIEGELUNG 74 gelangen zu einem Multiplexer 78, der später erklärt wird. Der Multiplikator 82 liefert ein Teilprodukt an die Verriegelung 86 und ein zweites Teilprodukt an die Verriegelung 88. Die C OPERATIONSVERRIEGELUNG 76 liefert die Gleitkommazahl über den Multiplexer 80 an einen Abgleichschieber 84. Der Ausgang des Abgleichschiebers 84 wird an die Addendverriegelung 90 geliefert. Es sollte klar sein, daß die Inhalte der Register, die über den Multiplikator 82 und den Abgleichschieber 84 funktionieren, die Mantisse der Gleitkommazahl sind. Die Operation der Multiplikation der Exponente wird an die Steuerlogik 106 geliefert und besteht aus Addition. Das Ergebnis der Exponentenberechnung liefert einen Eingang an den Abgleichschieber 84, um die Inhalte der C OPERATIONSVERRIEGELUNG korrekt zu verschieben, so daß diese dem Produkt aus der A OPERATIONSVERRIEGELUNG 72 und der B OPERATIONSVERRIEGELUNG 74 hinzugefügt werden können.
  • Das 3:2 Übertragungssicherheits-Addierwerk 92 empfängt die Inhalte der Verriegelungen 86, 88 und 90. Zwei Ausgänge werden an das volle Addierwerk 94 geliefert. Die Inhalte des vollen Addierwerks 94 wird in dem Normalisierungsschaltkreis 96 normalisiert und dann in der Ergebnisverriegelung 98 gespeichert. Der Ausgang der Ergebnisverriegelung 98 wird an den Rundeninkrementierer 100 geliefert. Der Ausgang des Rundeninkrementierers 100 kann an die Registerdatei 70 oder als Ersatz für den Multiplexer 78 an den Multiplikator oder über den Multiplexer 80 an den Abgleichschieber 84 geliefert werden. Während diese Gleitkomma- Arithmetiklogikeinheit im Pipelinemodus arbeitet, indem Multiplexer 78 und 80 bereitgestellt werden, können Ergebnisse aus einem früheren Befehl für einen aufeinanderfolgenden Befehl benutzt werden, ohne in der Registerdatei 70 gespeichert zu werden.
  • In der Divisionsoperation funktioniert die Steuerlogik 106 mit einem Steuerkreis 102 zur Mikrocodedivision über Leitung 104, um die Divisionsprozeduren, die in den Figuren 1, 2 und 3 dargestellt sind, zu implementieren.
  • Figur 5 zeigt den Steuerfluß der Steuerlogik 106. Der Gleitkommabefehl wird zu Beginn in Schritt 200 decodiert und die Operanden werden in Schritt 202 (aus der Registerdatei 70) gelesen. In Schritt 204 erfolgt eine Bestimmung, ob die Operanden Normalzahlen (entsprechend Schritt 30, Figur 2, indem spezielle Fälle herausgefiltert werden) sind. Wenn die Operanden keine Normalzahlen sind, fährt der Steuerfluß mit Schritt 206 fort, um die Zahlen gemäß IEEE Standard zu fixieren, und der Steuerfluß kehrt zu Schritt 200 zurück. Wenn es sich jedoch um Normalzahlen handelt, fährt der Steuerfluß mit Schritt 208 fort, um festzulegen, ob ein Divisionsbefehl vorhanden ist. Wenn es keinen Divisionsbefehl gibt, fährt der Steuerfluß mit Schritt 216 fort. Wenn ein Divisionsbefehl vorhanden ist, fährt der Steuerfluß mit dem Divisionsmikrocode 210, der Schritt 212 enthält, fort, welcher die Mikrocode-Divisionsprozedur aufruft und Schritt 214, welcher den Mikrocode ausführt. Nach Schritt 214 fährt der Steuerfluß mit Schritt 216 fort, um eine Multiplikationsoperation auszuführen. Dann wird in Schritt 218 eine Additionsoperation durchgeführt. In Schritt 220 wird das Rückschreiben in die Registerdatei 70 ausgeführt. Schritt 216 (der Multiplikationsschritt) entspricht der Multiplikation des Teilungsrestes r durch den Reziprokwert in Schritt 44. Schritt 218 in Figur 5 entspricht der Addition des Quotienten zu den restlichen Zeiten, die in Schritt 44 reziprok sind. Das Rückschreiben in das Register in Schritt 220 entspricht dem Schreiben des endgültigen Quotienten in die Registerdatei 70.
  • Figur 6 zeigt die Inhalte des Divisionsmerkercodes 210. Zu Beginn wird in Schritt 230 der Modus zum Runden von Werten auf die Operation zum Runden des nächstliegenden Wertes rückgestellt. In Schritt 232 wird der Reziprokwert y in der Nachschlagetabelle für die erste Einschätzung des Reziprokwertes nachgeschlagen. In Schritt 234 wird das Fehlerglied e erzeugt. In Schritt 236 wird die erste Annäherung an den Quotienten q durchgeführt. In Schritt 238 und 240 wird die Genauigkeit des Reziprokwertes y und des Quotienten q gesteigert, indem die Berechnungen durchgeführt werden, die in Schritt 240 aufgeführt sind. In Schritt 242 wird der ursprüngliche Modus zum Runden von Werten wiederhergestellt.
  • Wie zuvor erörtert, entsprechen der Multiplikationsschritt 216, der Additionsschritt 218 und der Schritt zum Rückschreiben 220 der Berechnung und es folgt die Speicherung des endgültigen Quotienten (Schritt 44, Figur 2).
  • Als ein Ergebnis der Operation mit der Gleitkommaeinheit befindet sich der Quotient, der aus der Gleitkommadivisions-Operation resultiert, in der gewünschten Position, ohne daß irgendwelche zusätzliche Schaltlogik erforderlich ist.
  • Andere Aspekte von dieser Art von Anordnung werden in den gleichzeitig anhängigen Patentanmeldungen EP 0 377 991, EP 0 377 990 und EP 0 377 994 beschrieben.
  • ANHANG A
  • Dieser Anhang beschreibt die Erzeugung einer ersten Annäherung an den Reziprokwert einer Zahl, wie dies von den hier beschriebenen Anordnungen verlangt wird. Die Tabelle am Ende erzeugt Annäherungen in der gewünschten Art und Weise.
  • Die Operation RECIP Y, B ist eine Gleitkommaoperation. Y und B sind beide Gleitkommaregister. Das Ergebnis der Operation ist, eine Annäherung an den Reziprokwert von B in das Register Y zu setzen. Eine Spezifikation für diese Operation folgt unten:
  • Wenn B eine NaN ist, dann ist Y = B; sonst, wenn B eine Plus- oder Minus-Unendliche ist, dann ist Y plus oder
  • minus null;
  • sonst, wenn B plus oder minus null ist, dann ist Y plus oder minus Unendliche;
  • sonst,
  • wenn B entnormalisiert ist, dann stellt B die normalisierte interne Form dar.
  • Zeichen von Y = Zeichen von B.
  • Freier Exponent von Y = 1 - freier Exponent von B
  • "Leading 9 fraction* bits" von Y = Tabelle ("leading 8 fraction* bits" von B).
  • *Hinweis: "leading 8 fraction bits" oder "leading 9 fraction bits" schließen das "leading implied 1 bit" aus, das physisch nicht in dem IEEE Format dargestellt ist. Anders ausgedrückt, bei einer normalisierten Zahl sind "the leading 8 fraction bits" die Bits 12-19 des Doppelwortes in der üblichen IBM Bitnumerierung von links nach rechts, mit null beginnend.
  • Mit der gegebenen Tabelle, 0 < = ABS (1 - BY) < =1/362, ausgenommen für die speziellen Fälle, bei denen Nullen, Unendliche und NaN enthalten sind. Insbesondere für den Divisor von allen "1", wobei der Aufbau der RECIP Operation die Größe des Reziprokwertes überschätzen wird, wie dies gefordert wird, um die Konvergenz in einem korrekt gerundeten Ergebnis zu garantieren.
  • RECIP muß in der Computerarchitektur nicht exponiert werden sondern kann statt dessen nur für die Benutzung durch den DIVIDE Befehl zur Verfügung stehen. In diesem Fall ist es nicht erforderlich, mit Nans, Unendlichen oder Nullen fertig zu werden, da diese Fälle als Spezialfälle von der Hardware behandelt werden.
  • Nachstehend findet sich in hexadezimal eine Tabelle, die benutzt werden kann, um den Bruch zu erstellen, der von der RECIP Operation für IEEE Zahlen im Langformat verlangt wird: (Tabellenpositionen und Inhalte werden hexadezimal angegeben. Die Tabellenwerte, 9 Bits lang, wurden so belassen)...........
  • ANHANG B
  • In diesem Anhang werden Divisionsbeispiele gezeigt, wie diese in den beschriebenen Anordnungen ausgeführt sind. Alle Zahlen werden hexadezimal angezeigt, wobei das Führungsbit das Kennzeichenbit darstellt, die nächsten 11 Bits stellen die Exzeß- 1023-Exponente dar, und die verbleibenden 52 Bits stellen die Mantisse (wobei das Führungsbit nicht für normalisierte Zahlen dargestellt wird) gemäß dem IEEE binären Gleitkommastandard dar.
  • Jedes Beispiel beginnt mit der Anzeige von Zähler und Nenner sowie von dem Modus zum Runden eines Wertes. Die Werte, die von dem bevorzugten Ausführungsbeispiel erzeugt werden, werden auf der linken Seite gezeigt. Die Werte sollen es leichter machen, die aufeinanderfolgenden Annäherungen an Quotienten, Reziprokwerte, Teilungsreste und Fehler in dem Reziprokwert herauszufinden. Am Ende wird der Teilungsrest gezeigt, der für den Quotienten verbleibt, der in der beschriebenen Anordnung entwikkelt wurde, und der Teilungsrest, der von der Annäherung verbleibt, die dem Quotienten am nächsten kommt. Es ist zu bemerken, daß die Annäherung der beschriebenen Anordnung den Teilungsrest mit der kleineren Größen beläßt, so wie dies von dem IEEE Standard zum Runden auf den nächstliegenden Wert verlangt wird.
  • Auf der rechten Seite von jedem Beispiel befindet sich eine leicht geänderte Berechnung, die angibt, wie ein Quotient irrt, wenn eine der Regeln nicht befolgt wird: 1. Beispiel Zähler: Nenner: Modus zum Runden: auf den nächstliegenden Wert Endgültiger Teilungsrest ist BC9FFFFFFFFFFFFE Wechselnder Teilungsrest ist 3CA0000000000000
  • In diesem Beispiel, in der falschen Version auf der rechten Seite, wurde y3 benutzt, um qf anstatt y4 zu berechnen. Es ist zu bemerken, daß diese beiden Annäherungen an den Reziprokwert des Divisors sich nur um ein Bit unterscheiden. Obwohl y3 selbst bei über 64 Bits vor dem Runden korrekt war, wurde es nicht aus einer Annäherung an den Reziprokwert berechnet, der gut innerhalb 1 Einheit in der letzten Stelle war, wie dies von Regel 5 verlangt wird. Dadurch war dieser nicht ausreichend genau, um den endgültigen Quotienten zu berechnen. 2. Beispiel: Zähler: Nenner: Modus zum Runden: auf den nächstliegenden Wert Endgültiger Teilungsrest ist 3C9FFFFFFFFFFFFC Wechselnder Teilungsrest ist BC9FFFFFFFFFFFFE
  • Dies ist der Fall, wenn die Mantisse des Divisors insgesamt aus "1" Bits besteht. Wenn die anfängliche Schätzung des Reziprokwertes und des Quotienten eher unter- als überschätzt wird, konvergiert die Wiederholung nicht in den korrekt gerundeten Quotienten, sogar obwohl die Unterschätzung eine weite Überschätzung von einem Gesichtspunkt aus gesehen, war.
  • Die oben beiden Fälle sind Illustrationen von "harten Teilungsproblemen", in denen Implementierungen des wiederholten Reziprokverfahrens in der Vergangenheit nicht korrekt funktionierten. Das beschriebene Verfahren überwindet diese Schwierigkeiten. Es triff zu, daß die "harten Probleme" rar sind. Ohne das beschriebene Verfahren werden die meisten Divisionen korrekt ausgeführt, aber das beschriebene Verfahren ermöglicht es, daß alle Divisionen korrekt berechnet werden, und zwar im IEEE Standard, ungeachtet des Modus zum Runden von Werten und ohne zusätzliche Einstellungen am Ende.
  • Desweiteren wird im Falle von genauen Quotienten die vorletzte Annäherung an den Quotienten bereits korrekt sein, so daß die Endkorrektur das Hinzufügen von Null an die korrekte Antwort, die bereits eine exakte Operation ist, enthält.

Claims (12)

1. Ein Verfahren, um die Gleitkommadivision eines Dividenden durch einen Divisor durchzuführen und einen Quotienten zu erzeugen, der eine Mantisse aus N Bits in einem Datenverarbeitungssystem mit Speicher hat, wobei das Verfahren Schritte enthält, um
(1) eine anfängliche Schätzung eines Reziprokwertes des Divisiors zu bestimmen und in diesem Speicher zu speichern,
und durch Schritte gekennzeichnet wird, um
(2) eine anfängliche Schätzung des Quotienten zu berechnen, indem der Dividend mit dem Reziprokwert multipliziert und in diesem Speicher gespeichert wird,
(3) die Genauigkeit der anfänglichen Schätzung des Reziprokwertes zu steigern, indem ein Fehlerparameter berechnet und in dem Speicher gespeichert wird, wobei der mit dem aktuellen Reziprokwert multiplizierte Divisior um eins reduziert wird, und Berechnung sowie Speicherung in diesem Speicher von einer neuen Schätzung des Reziprokwertes, indem der Fehlerparameter, der mit der aktuellen Schätzung des Reziprokwertes multipliziert wurde, zu der aktuellen Schätzung des Reziprokwertes addiert wird,
(4) eine Teilungsrestschätzung zu berechnen und in diesem Speicher zu speichern, indem von dem Dividend der Divisor subtrahiert wird, der mit der aktuellen Schätzung des Quotienten multipliziert wurde,
(5) die Genauigkeit der Mantisse von der anfänglichen Schätzung des Quotienten zu steigern, indem ein neuer aktueller Quotient aus dem aktuellen Quotienten plus Teilungsrestschätzung, die mit der neuen Schätzung des Reziprokwertes des Divisors multipliziert wurde, berechnet und in dem Speicher gespeichert wird,
(6) die Schritte (3), (4) und (5) zu wiederholen, bis die Präzision der Reziprokwert- und der Quotientenschätzung N Bits überschreitet,
(7) einen endgültigen Quotienten aus der letzten, aktuellen Quotientenschätzung plus der neuesten, aktuellen Reziprokwertschätzung, die mit der neuesten Teilungsrestschätzung multipliziert wurde, zu berechnen und in diesem Speicher zu speichern.
2. Ein Verfahren wie in Anspruch 1 angemeldet, wobei Schritt (1) Schritte enthält, um
(1a) zu bestimmen, wenn die Divisormantisse insgesamt aus binären Einsen besteht und
(1b) wenn die Divisormantisse insgesamt aus binären Einsen besteht, wobei die anfängliche Schätzung aus einem Satz von Zahlen ausgewählt wird, der gleich oder größer als eine aktuelle Größe des Reziprokwertes ist.
3. Ein Verfahren wie in Anspruch 2 angemeldet, wobei Schritt (1) außerdem einen Schritt enthält, um eine Operation zum Runden der anfänglichen Schätzung des Reziprokwertes auf den nächstliegenden Wert auszuwählen.
4. Ein Verfahren wie in irgendeinem vorhergehenden Anspruch angemeldet, wobei jeder der Schritte (2) bis (6) einen Schritt enthält, um einen Wert in einer Operation zum Runden auf den nächstliegenden Wert zu runden.
5. Ein Verfahren wie in irgendeinem vorhergehenden Anspruch angemeldet, wobei Schritt (7) einen Schritt enthält, um einen Wert ohne das Verfahren zum Runden des nächstliegenden Wertes zu runden.
6. Ein Verfahren wie in Anspruch 5 angemeldet, wobei Schritt (7) einen Schritt enthält, um eine Angabe zu liefern, daß der endgültige Quotient genau ist wenn, und nur wenn, die Größe des Teilungsrestes null ist.
7. Ein System zur Durchführung der Gleitkommadivision eines Dividenden durch einen Divisor zur Erzeugung eines Quotienten, der eine Mantisse von N Bits in einem Datenverarbeitungssystem hat, wobei das System enthält,
Mittel, um eine anfängliche Schätzung eines Reziprokwertes des Divisiors zu bestimmen und in diesem Speicher zu speichern,
und gekennzeichnet wird durch
Mittel, um eine anfängliche Schätzung des Quotienten zu berechnen, indem der Dividend mit dem Reziprokwert multipliziert und in diesem Speicher gespeichert wird,
Mittel, um wiederholt die Genauigkeit der anfänglichen Schätzung des Reziprokwertes zu steigern, indem ein Fehlerparameter berechnet und in dem Speicher gespeichert wird, wobei der mit dem aktuellen Reziprokwert multiplizierte Divisior um eins reduziert wird, und Berechnung sowie Speicherung in diesem Speicher von einer neuen Schätzung des Reziprokwertes, indem der Fehlerparameter, der mit der aktuellen Schätzung des Reziprokwertes multipliziert wurde, zu der aktuellen Schätzung des Reziprokwertes addiert wird,
eine Teilungsrestschätzung zu berechnen und in diesem Speicher zu speichern, indem von dem Dividend der Divisor subtrahiert wird, der mit der aktuellen Schätzung des Quotienten multipliziert wurde,
die Genauigkeit der Mantisse von der anfänglichen Schätzung des Quotienten zu steigern, indem ein neuer aktueller Quotient aus dem akutellen Quotienten plus Teilungsrestschätzung, die mit der neuen Schätzung des Reziprokwertes des Divisors multipliziert wurde, berechnet und in dem Speicher gespeichert wird; bis die Präzision der Reziprokwert- und der Quotientenschätzung N Bits überschreitet, und
Mittel, um einen endgültigen Quotienten aus der letzten, aktuellen Quotientenschätzung plus der neuesten, aktuellen Reziprokwertschätzung, die mit der neuesten Teilungsrestschätzung multipliziert wurde, zu berechnen und in diesem Speicher zu speichern.
8. Anordnung wie in Anspruch 7 angemeldet, wobei die Mittel zur Bestimmung der anfänglichen Schätzung des Reziprokwertes ein Mittel enthalten, um festzulegen, wenn die Divisormantisse insgesamt aus Einsen besteht und Mittel, um die anfängliche Schätzung aus einem Satz mit Zahlen auszuwählen, die gleich oder größer als eine aktuelle Größe des Reziprokwertes als Antwort hierauf sind.
9. Anordnung wie in Anspruch 8 angemeldet, wobei die Mittel zur Bestimmung des anfänglichen Reziprokwertes außerdem Mittel enthalten, um eine Operation auszuwählen, um den anfänglichen Reziprokwert auf den nächstliegenden Wert zu runden.
10. Anordnung wie in Anspruch 9 angemeldet, wobei die Mittel zur Berechnung der aktuellen Schätzungen Mittel enthalten, um den Wert auf den nächstliegenden Wert zu runden.
11. Anordnung wie in Anspruch 10 angemeldet, wobei die Mittel zur Berechnung des endgültigen Quotienten Mittel enthalten, um diesen mit einer anderen Operation als die des Rundens auf den nächstliegenden Wert zu runden.
12. Anordnung wie in Anspruch 11 angemeldet, wobei die Mittel zur Berechnung des endgültigen Quotienten Mittel enthalten, um eine Angabe zu liefern, daß der endgültige Quotient exakt ist, wenn und nur wenn, die Größe des Teilungsrestes null ist.
DE1989626289 1989-01-13 1989-12-20 Gleitkommadivisions-Verfahren und -Anordnung Expired - Fee Related DE68926289T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US29777189A 1989-01-13 1989-01-13

Publications (2)

Publication Number Publication Date
DE68926289D1 DE68926289D1 (de) 1996-05-23
DE68926289T2 true DE68926289T2 (de) 1996-10-10

Family

ID=23147678

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1989626289 Expired - Fee Related DE68926289T2 (de) 1989-01-13 1989-12-20 Gleitkommadivisions-Verfahren und -Anordnung

Country Status (3)

Country Link
EP (1) EP0377992B1 (de)
JP (1) JPH0687219B2 (de)
DE (1) DE68926289T2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5046038A (en) * 1989-07-07 1991-09-03 Cyrix Corporation Method and apparatus for performing division using a rectangular aspect ratio multiplier
EP0461240A4 (en) * 1989-12-29 1993-08-11 Motorola, Inc. Methods and apparatus for efficient resource allocation for error and exception handling in convergent division
US5341321A (en) * 1993-05-05 1994-08-23 Hewlett-Packard Company Floating point arithmetic unit using modified Newton-Raphson technique for division and square root
GB2372353A (en) * 2000-12-20 2002-08-21 Sicon Video Corp Method and apparatus for calculating a reciprocal
US9146706B2 (en) 2006-05-05 2015-09-29 Qualcomm Incorporated Controlled-precision iterative arithmetic logic unit
US20120059866A1 (en) * 2010-09-03 2012-03-08 Advanced Micro Devices, Inc. Method and apparatus for performing floating-point division
US8775494B2 (en) * 2011-03-01 2014-07-08 Nvidia Corporation System and method for testing whether a result is correctly rounded
JP2020166661A (ja) * 2019-03-29 2020-10-08 日本電気株式会社 除算装置、除算方法及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3828175A (en) * 1972-10-30 1974-08-06 Amdahl Corp Method and apparatus for division employing table-lookup and functional iteration
JPS54136147A (en) * 1978-04-13 1979-10-23 Panafacom Ltd Divider
JPS5520508A (en) * 1978-06-29 1980-02-14 Panafacom Ltd Processor for division
US4594680A (en) * 1983-05-04 1986-06-10 Sperry Corporation Apparatus for performing quadratic convergence division in a large data processing system
JPS60164837A (ja) * 1984-02-07 1985-08-27 Nec Corp 除算装置
JPS61262930A (ja) * 1985-05-17 1986-11-20 Nec Corp 除算装置

Also Published As

Publication number Publication date
EP0377992B1 (de) 1996-04-17
JPH0687219B2 (ja) 1994-11-02
JPH02227726A (ja) 1990-09-10
EP0377992A3 (de) 1992-01-08
DE68926289D1 (de) 1996-05-23
EP0377992A2 (de) 1990-07-18

Similar Documents

Publication Publication Date Title
DE69131187T2 (de) Hochgeschwindigkeitsdividierer
DE19540102C2 (de) Verfahren und Gleitkomma-Recheneinheit mit einer Logik für eine Vierfach-Präzisions-Arithmetik
DE69032891T2 (de) Verfahren und Gerät zur Ausführung mathematischer Funktionen mit Hilfe polynomialer Annäherung und eines Multiplizierers rechteckigen Seitenverhältnisses
DE4243374C2 (de) Rundungseinrichtung für eine Gleitkommazahl und Verfahren
DE4414172C2 (de) Gleit-Komma-Arithmetikeinheit und Verfahren zur Division und Quadratwurzelberechnung, die eine modifizierte Newton-Raphson Technik verwendet
DE3144015C2 (de)
DE69132597T2 (de) Verfahren und Gerät zur Berechnung von Gleitkommadaten
DE3306084C2 (de)
DE69032966T2 (de) Verfahren und Gerät zur Ausführung von Divisionen mit Hilfe eines Multiplizierers rechteckigen Seitenverhältnisses
DE68928376T2 (de) Vorrichtung zum multiplizieren, teilen und ziehen der quadratwurzel
DE69132517T2 (de) Gleitkommaprozessor
DE69430053T2 (de) Ganzzahldivisionsvorrichtung und -verfahren
DE69130510T2 (de) Arithmetisches Gerät zur Berechnung von transzendenten Elementarfunktionen
DE69130623T2 (de) Dividierer mit hoher Grundzahl
DE102014100108A1 (de) Festkomma-divisionschaltung unter verwendung einer gleitkomma-architektur
DE69321241T2 (de) Hochleistungsmantissendividierer.
DE2246968A1 (de) Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen
DE68924386T2 (de) Verfahren und Gerät zur Radix-2**n-Division mit überlappender Quotientenbitauswahl und gleichzeitiger Rundung und Korrektur des Quotienten.
DE69032890T2 (de) Verfahren und Gerät zur Ausführung der Quadratwurzelfunktion mit Hilfe eines Multiplizierers rechteckigen Seitenverhältnisses
DE19781794C2 (de) Verfahren und Einrichtung zur Division von Gleitkomma- oder ganzen Zahlen
DE68926289T2 (de) Gleitkommadivisions-Verfahren und -Anordnung
EP1499954B1 (de) Berechnung eines ergebnisses einer modularen multiplikation
DE3701599A1 (de) Vielfunktions-arithmetisch-logische-schaltung
DE4019646C2 (de) Vorrichtung und Verfahren zum Multiplizieren von Datenwörtern in Zweier-Komplement-Darstellung
DE102006025713B9 (de) Kryptographie-Vorrichtung und Kryptographie-Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee