DE69030707T2 - Arithmetisches Verarbeitungsgerät und dazu benütztes Verfahren - Google Patents

Arithmetisches Verarbeitungsgerät und dazu benütztes Verfahren

Info

Publication number
DE69030707T2
DE69030707T2 DE69030707T DE69030707T DE69030707T2 DE 69030707 T2 DE69030707 T2 DE 69030707T2 DE 69030707 T DE69030707 T DE 69030707T DE 69030707 T DE69030707 T DE 69030707T DE 69030707 T2 DE69030707 T2 DE 69030707T2
Authority
DE
Germany
Prior art keywords
digital data
digit
value
rounding
digits
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
DE69030707T
Other languages
English (en)
Other versions
DE69030707D1 (de
Inventor
Takashi Taniguchi
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of DE69030707D1 publication Critical patent/DE69030707D1/de
Publication of DE69030707T2 publication Critical patent/DE69030707T2/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
    • 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
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • G06F7/026Magnitude comparison, i.e. determining the relative order of operands based on their numerical value, e.g. window comparator
    • 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
    • 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/552Powers or roots, e.g. Pythagorean sums
    • G06F7/5525Roots or inverse roots of single operands
    • 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/49952Sticky bit
    • 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

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

Description

  • Diese Erfindung betrifft ein arithmetisches Verarbeitungsgerät und ein dazu benötigtes Verfahren.
  • Einige arithmetische Verarbeitungsgeräte verwenden arithmetische Operationen des Konvergentyps, die eine Lösung aus einer Funktionsgleichung mit hoher Geschwindigkeit ableiten können. Beispielsweise kann das Teilen und die Errechnung einer Quadratwurzel durch wiederholte Additionen und Multiplikationen nach dem Newtonschen Verfahren ausgeführt werden.
  • Unter Verwendung des Newtonschen Verfahrens kann die Division "Z=X/Y" folgendermaßen ausgeführt werden. Ein erster Näherungswert R&sub0; von 1/Y wird durch Heranziehen einer Tabelle bestimmt. Dann wird eine Näherungslösung Rn von 1/Y errechnet unter n- maligem wiederholten Anwenden der Rekursionsformel
  • Ri = Ri-1(2 - Ri-1Y). ... (1)
  • letztlich kann ein Näherungswert von X/Y durch Multiplikation von Rn mitX gewonnen werden.
  • Darüber hinaus kann durch Anwenden des Newtonschen Verfahrens die Quadratwurzelerrechnung "Y = X1/2" folgendermaßen ausgeführt werden. Ein erster Näherungswert Ro von 1/X1/2 wird bestimmt durch Rückgriff auf eine Tabelle. Dann wird eine Näherungslosung Rn von 1/X1/2 errechnet durch n- maliges Wiederholen der Rekursionsformel
  • Ri = (1/2) Ri-1(3 - Ri-1) 2 ... (2)
  • letztlich kann ein Näherungswert von X1/2 durch Multiplikation von Rn mit X gewonnen werden.
  • In Verfahren arithmetischer Operationen nach dem Stand der Technik wird ein Näherungswert mit einer hinreichenden Genauigkeit in der zuvor erwähnten Weise errechnet, und ein Endergebnis wird durch direktes Runden des Näherungswertes auf eine vorbestimmte Anzahl signifikanter Ziffern nach einem vorbenannten Rundungsverfahren gewonnen.
  • Es gibt verschiedene Arten des Rundens. Beispielsweise schreibt IEEE 754, Gleitkommanorm, die folgenden Rundungsarten vor: "Runden auf das nächste", "Runden bis + ∞", "Runden zur Unendlichkeit" und "Runden auf Null".
  • Genaues Runden erfordert eine Information, die gute Werte von Ziffern an Stellen darstellt, die gleich und über der Stelle unmittelbar unter dem der nächsten Stelle der signifikanten Ziffer liegt, und auch eine Information, die darstellt, ob Werte von Ziffern gleich Null sind, die an Stellen gleich und um zwei Stellen weiter rechts neben der untersten Stelle der signifikanten Ziffer stehen. In einer derartigen artihmetischen Operation der Herleitung einer Näherungslösung einer zuvor erwähnten Funktionsgleichung kann ein Fehler zwischen dem Näherungslssungwert und einem unendlichen genauen Wert nicht erkannt werden, obwohl ein maximaler Fehler durch einen Rechenalgorithmus und eine benutzte Hardware vorhersehbar ist.
  • Folglich können Fälle, die sich auf den Näherungswert und den unendlich genauen Wert beziehen, jeweils unterschiedlich voneinander im informationsrepräsentierenden Wert der Ziffern in gleichen Stellen zu und über der Stelle unmittelbar unter der niedrigsten Stelle der signifikanten Ziffern sein, und auch darstellen, ob Werte von Ziffern an gleichen Stellen und unter der Stelle unter der der niedrigsten Stelle der signifikanten Ziffern um zwei Stellen gleich Null sind. Das bedeutet, daß ein durch direktes Runden gewonnenes Ergebnis eines Näherungslösungswertes etwas unterschiedlich von einem Ergebnis ist, das durch Runden eines unendlich genauen Wertes gewonnen wird. Da die Genauigkeit des Näherungslösungswertes ansteigt, gibt es weniger Moglichkeit, daß das durch Runden gewonnene Ergebnis des Näherungslösungswertes sich von dem Ergebnis unterscheidet, das durch Runden des unendlich genauen Wertes gewonnen wird. Im allgemeinen benotigt das Erhohen der Genauigkeit des Näherungslösungswertes eine längere Rechenzeit oder eine größere Anzahl von durch die Hardware zu behandelnden Ziffern.
  • Das Dokument Proceedings of the IEEE ICCD: VLSI in Computers and Processors, MASS. 2. - 4. Oktober 1989, Seiten 366 bis 368, Lu et al: "A VLSI- Modul for IEEE Floating Pomt Multiplication/Division/Square Root" offenbart ein Verfahren der Ausführung von Rechnungen unter Verwendung des Newton- Raphson- Verfahrens. In diesem Dokument wird der Näherungswert aus dem iterativen Verfahren bei der halben LSB- Position ganzzahlig abgekürzt und Halb/LSB- addiert, um einen zweiten Näherungswert zu erzeugen. Bei der Division dieses zweiten Näherungswertes wird mit dem Dividend verglichen, und im Falle der Quadratwurzel und des Quadrats dieses Näherungswertes wird mit dem Wert verglichen, der auf dem Ergebnis dieses Vergleichs zur Steuerung des Rundens des zweiten Näherungswertes verwendet wird.
  • Das Dokument WO 90/05335, welches Dank des Artikels 54 (3) EPC zum Stand der Technik gehört, offenbart ein Verfahren der Errechnung des Wertes einer Funktion, bei der eine Näherungslösung hergeleitet wird, die inverse Funktion auf den Näherungswert angewandt und das Ergebnis mit dem ursprünglichen Operanden verglichen wird. Als Ergebnis dieses Vergleichs wird die Näherungslösung angeglichen, und die inverse Funktion erneut für einen weiteren Vergleich errechnet.
  • Es ist ein Ziel dieser Erfindung, ein verbessertes Gerät zur arithmetischen Verarbeitung bereitzustellen.
  • Es ist ein weiteres Ziel dieser Erfindung, ein verbessertes Verfahren der arithmetischen Verarbeitung bereitzustellen.
  • Ein erster Aspekt dieser Erfindung schafft ein Verfahren mit den Verfahrensschritten: Herleitung von Digitaldaten Ye, die einen Endnäherungswert für eine unendlich genaue Lösung Y reprasentieren, die durch eine Funktion F gemäß Y = F(X) in Hinsicht auf Digitaldaten X mit einer ersten Anzahl von signifikanten Ziffern bestimmt ist, wobei die Digitaldaten Ye eine zweite Anzahl signifikanter Ziffern haben und mit einem Abrundungergebnis der unendlich genauen Lösung Y in einem bestimmten Rundungsmodus übereinstimmen,
  • Erzeugen digitaler Daten Ya, die einen Näherungswert für die unendlich genaue Lösung Y darstellen, mit einer Genauigkeit, bei der ein Fehler zwischen der unendlich genauen Lösung Y und dem Digitaldatum Ya geringer ist als die Wichtung einer Ziffer in einer um zwei Stellen unter der wenigst signifikanten Ziffer der Digitaldaten Ye liegenden Stelle;
  • Runden der Digitaldaten Ya und dadurch Erzeugen digitaler Daten Yr, die eine vorläufige Lösung nahe den Digitaldaten Ya darstellen, wobei die Digitaldaten Yr Ziffern an Stellen besitzen, deren geringste in einem Stellenbereich von einer Stelle beginnt, die um wenigstens eine Stelle geringer als die geringste der signifikanten Ziffer der Digitaldaten Ye ist, und an einer Stelle endet, die um wenigstens eine Stelle höher als eine Stelle maximaler Wichtung ist, wobei die Wichtung einer Ziffer in der Stelle minimaler Wichtung größer als der maximale Fehler der digitalen Daten Ya ist;
  • Erzeugen digitaler Daten Xr, die durch die Digitaldaten Yr und eine Funktion F&supmin;¹ bestimmt sind, die bezüglich der Funktion F gemäß Xr = F&supmin;¹(Yr) invers ist,
  • Entscheiden, welche der unendlich genauen Lösung Y und der Digitaldaten Yr größer ist in Bezug auf eine Größenrelation zwischen den Digitaldaten X und den Digitaldaten Xr;
  • Einstellen einer kritischen Ziffer S auf +1, 0 oder auf - 1 abhangig von der Entscheidung durch den Entscheidungsschritt;
  • Addieren der kritischen Ziffer S zu einer Stelle unmittelbar unter der untersten Stelle der Digitaldaten Yr und
  • Runden der Resultierenden der Addition der kritischen Ziffer zu den Digitaldaten Yr in dem bestimmten Rundungsmodus, um dadurch die Digitaldaten Ye zu erzeugen.
  • Ein zweiter Aspekt dieser Erfindung schafft ein Verarbeitungsgerät zur Herleitung von Digitaldaten Ye, die einen Endnäherungswert für eine unendlich genaue Lösung Y repräsentieren, die durch eine Funktion F gemäß Y = F(x) in Hinsicht auf Digitaldaten X mit einer ersten Anzahl von signifikanten Ziffern bestimmt ist, wobei die Digitaldaten Ye eine zweite Anzahl signifikanter Ziffern haben und mit einem Abrundungergebnis der unendlich genauen Lösung Y in einem bestimmten Rundungsmodus übereinstimmen, mit:
  • Mitteln zum Erzeugen digitaler Daten Ya, die einen Näherungswert für die unendlich genaue Lösung Y darstellen, mit einer Genauigkeit, bei der ein Fehler zwischen der unendlich genauen Lösung Y und dem Digitaldatum Ya geringer ist als die Wichtung einer Ziffer in einer um zwei Stellen unter der wenigst signifikanten Ziffer der Digitaldaten Ye liegenden Stelle;
  • Mitteln zum Runden der Digitaldaten Ya und dadurch Erzeugen digitaler Daten Yr, die eine vorläufige Lösung nahe den Digitaldaten Ya darstellen, wobei die Digitaldaten Yr Ziffern an Stellen besitzen, deren geringste in einem Stellenbereich von einer Stelle beginnt, die um wenigstens eine Stelle geringer als die geringste der signifikanten Ziffer der Digitaldaten Ye ist, und an einer Stelle endet, die um wenigstens eine Stelle höher als eine Stelle minimaler Wichtung ist, wobei die Wichtung einer Ziffer in der Stelle minimalerwichtung größer als der maximale Fehler der digitalen Daten Ya ist;
  • Mitteln zum Erzeugen digitaler Daten Xr, die durch die Digitaldaten Yr und eine Funktion F&supmin;¹ bestimmt sind, die bezüglich der Funktion F gemäß Xr = F&supmin;¹(Yr) invers ist, Mitteln zum Entscheiden, welche der unendlich genauen Lösung Y und der Digitaldaten Yr größer ist in Bezug auf eine Größenrelation zwischen den Digitaldaten X und den Digitaldaten Xr;
  • Mitteln zum Einstellen einer kritischen Ziffer S entweder auf +1, 0 oder -1 abhängig von der Entscheidung der Entscheidungsmittel;
  • Mitteln zum Addieren der kritischen Ziffer S an eine Stelle unmittelbar unter der niedrigsten Stelle des Digitaldatums Yr; und mit
  • Mitteln zum Runden der Resultierenden der Addition der kritischen Ziffer zum Digitaldatum Yr in dem bestimmten Rundungsmodus, um dadurch das Digitaldatum Ye zu erzeugen.
  • Des weiteren wird die vorliegende Erfindung nachstehend durch exemplarischer Ausführungsbeispiele anhand der beiliegenden Zeichnung beschrieben. In der Zeichnung bedeuten:
  • Fig. 1 ist ein Arbeitsablaufplan einer arithmetischen Verarbeitung gemäß einem ersten Ausführungsbeispiel dieser Erfindung.
  • Fig. 2 ist ein Diagramm einer Zahlenzeile im ersten Ausführungbeispiel.
  • Fig. 3 ist ein Blockschaltbild eines Gerätes zur Ausführung der arithmetischen Verarbeitung von Fig. 1.
  • Fig. 4 ist ein Arbeitsablaufplan einer arithmetischen Verarbeitung nach einem zweiten Ausführungsbeispiel dieser Erfindung.
  • Fig. 5 ist ein Blockschaltbild eines Gerätes zur Ausführung der arithmetischen Verarbeitung von Fig. 4.
  • Fig. 6 ist ein Arbeitsablaufplan einer arithmetischen Verarbeitung gemäß einem dritten Ausführungsbeispiel dieser Erfindung.
  • Fig. 7 ist ein Blockschaltbild eines Gerätes zur Ausführung einer arithmetischen Verarbeitung von Fig. 6.
  • Fig. 8 ist ein Blockschaltbild der Multiplizierschaltung von Fig. 7.
  • BESCHREIBUNG DES ERSTEN BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
  • Unter Bezug auf Fig. 1 führt ein erster Schritt 101 einen Rechenvorgang eines Näherungswertes aus. Insbesondere führt der Schritt 101 eine Näherungsrechnung einer vorgegebenen Funktion F(X) in Hinsicht auf einen gegebenen Wert X aus. Eine Näherungslösung der Funktion F(X) wird errechnet durch einen geeigneten Weg, wie beispielsweise das Newtonsche Verfahren. Diese Rechnung wird realisiert unter Verwendung von Multiplikatoren und Addierern. Bei dieser Rechnung wird die Näherungslösung mit einer Genauigkeit bestimmt, bei der der Fehler zwischen der Näherungslösung und der unendlich genauen Lösung geringer ist als das Gewicht der Ziffer an einer Stelle, die um zwei Stellen niedriger als die niedrigste Stelle der erfoderlichen signifikanten Ziffern fur ein Endergebnis ist. Gemäß der in den IEEE 754- Normen vorgeschriebenen doppelten Genauigkeit ist die Zahl signif ikanter Ziffern eines Mantissenteus 53, und die signifikante Ziffer in der höchsten Stelle hat ein Gewicht von 2&sup0;, und die signifikante Ziffer in der niedrigsten Stelle hat ein Gewicht von 2&supmin;&sup5;² In diesem Falle genügt der Fehler zwischen dem Mantissenteil Ya der Näherungslösung und dem Mantissenteil Y der unendlich genauen Lösung der nachstehenden Beziehung.
  • Y - Ya < 2&supmin;&sup5;&sup4; ... (3)
  • Fig. 2 zeigt ein Beispiel einer Zahlenzeile. In Fig. 2 bedeuten Sätze dreier Ziffern "000" bis "100" den Wert der niedrigsten Stelle der signifikanten Ziffern und der nachfolgenden unteren Stellen, wobei Ziffern die Gewichte von 2&supmin;&sup5;², 2&supmin;&sup5;³ bzw. 2&supmin;&sup5;&sup4; haben. Die Skalenpunkte sind mit gleichen Intervallen von 2&supmin;&sup5;&sup4; beabstandet. Es wird nun angenommen, daß der unendlich genaue Wert (die unendlich genaue Lösung) Y bei einem Punkt 201 liegt. Da der unendlich genaue Wert Y eine unendlich Genauigkeit und eine unendliche Anzahl von Ziffern besitzt, ist der Punkt 201 des unendlich genauen Wertes Y auf der Infinitesimalskala. Die Näherungslösung Ya hat eine Anzahl von Ziffern, die festgelegt ist durch den Rechenalgorithmus und die benutzte Hardware. Im allgemeinen werden eine oder mehrere der Ziffern der Näherungslösung Ya in Stellen unter der Stelle gemäß dem maximalen Fehler gelegt, d.h., die Stelle mit einem Gewicht 2&supmin;&sup5;&sup4;. Die Stelle mit einem Gewicht 2&supmin;&sup5;&sup4; wird manchmal in der nachstehenden Beschreibung abgekürzt auf "die Stelle von 2&supmin;&sup5;&sup4;" oder "die Stelle 2&supmin;&sup5;&sup4;". Andere Stellen sind gleichermaßen abgekürzt. Es ist aus der Gleichung (3) bekannt, daß die Näherungslösung Ya in einem Bereich von 200 von 2&supmin;&sup5;³ liegt, was zwischen den Punkten 202 und 203 definiert ist.
  • In Fig. 1 rundet ein Schritt 102 den durch den Schritt 101 vorgegebenen Näherungswert Ya und errechnet dadurch eine Zwischenlösung Yr aus dem Näherungswert Ya. Die Zwischenlösung Yr stimmt mit einer der möglichen Zwischenlösungen überein, die am nächsten am Näherungswert Ya liegt, und jede der möglichen Zwischenlösungen kann durch Ziffern dargestellt werden, deren Anzahl größer als die Anzahl der signifikanten Ziffern ist und deren Stellen höher sind als die Stelle mit dem minimalen Gewicht, das größer als der maximale Fehler der Näherungslösung Ya ist. Mit anderen Worten, die Zwischenlösung Yr ist einer der möglichen Zwischenlösungen gleich, die der Näherungslösung Ya am nächsten liegt, und die möglichen Zwischenlösungen werden durch Ziffern an Stellen dargestellt, deren niedrigste willkürlich ausgewählt wird von einem Stellenrang, die mit der Stelle beginnt, die um wenigstens eine Stelle niedriger als die niedrigste Stelle der signifikanten Ziffern für die Endlösung ist, und bei einer Stelle endet, die um wenigstens eine Stelle höher als eine Stelle des maximalen Gewichts ist, und ein Gewicht einer Ziffer in der Minimalgewichtsstelle größer ist als ein Maximum eines Fehlers der Näherungslösung Ya.
  • In dieser Hinsicht wird eine Beschreibung anhand Fig. 2 gegeben. Wenn beispielsweise eine Zwischenlösung Yr mit 54 Ziffern, deren Anzahl um eins größer ist als die Anzahl signifikanter Ziffern, stimmt die Zwischenlösung Yr mit einem Punkt 204 oder mit einem Punkt 205 überein. Wenn insbesondere die Näherungslösung Ya zwischen einem Punkt 202 und einem 206 liegt, stimmt die Zwischenlösung Yr mit dem Punkt 204 überein. Wenn die Näherungslösung Ya zwischen einem Punkt 203 und einem Punkt 206 liegt, stimmt die Zwischenlösung Yr mit dem Punkt 205 überein. Folglich genügt der Fehler zwischen dem unendlich genauen Wert Y und der Zwischenlösung Yr der folgenden Beziehung.
  • Y - Yr < 2&supmin;&sup5;³ ... (4)
  • Somit wird eine Zwischenlösung Yr durch Ziffern in Stellen dargestellt, deren niedrigste um eine Stelle niedriger ist als die unterste Stelle der signifikanten Ziffern.
  • Wie in Fig. 1 gezeigt, errechnet ein Schritt 103, der dem Schritt 102 folgt, eine inversen Funktionswert Xr aus der Zwischenlösung Yr. Der inverse Funktionswert Xr wird angegeben mit "Xr = F&supmin;¹ (Yr)".
  • Ein dem Schritt 103 folgender Schritt 104 vergleicht den inversen Funktionswert Xr und den gegebenen Wert X. Wenn der inverse Funktionswert Xr und der gegebene Wert X gleich sind, gleicht die Zwischenlösung Yr dem unendlich genauen Wert Y. In diesem Falle wird ein Schritt 106 nach dem Schritt 104 ausgeführt. Der Schritt 106 setzt eine kritische Ziffer S auf Null. Wenn der inverse Funktionswert XR und der gegebene X unterschiedlich sind, gibt es einen Fehler zwischen der Zwischenlösung Yr und dem unendlich genauen Wert Y. In diesem Falle wird ein Schritt 105 nach Schritt 104 ausgeführt. Der Schritt 105 entscheidet, ob der Fehler der Zwischenlösung Yr oberhalb oder unterhalb des unendlich genauen Wertes Y liegt.
  • Der Schritt 105 wird nun detailliert beschrieben. Der Schritt 105 entscheidet, ob der unendlich genaue Wert Y oder die Zwischenlösung Yr auf der Grundlage der Beziehung zwischen den Größen eines gegebenen Wertes X und des inversen Funktionswertes Xr größer ist, und ebenfalls auf der Grundlage der Eigenschaften der Funktion F. Wenn die gegebene Funktion F mit der monoton ansteigenden Funktion oder einer monoton abfallenden Funktion übereinstimmt, kann die Entscheidung durch den Schritt 105 leicht ausgeführt werden durch Beziehen auf die Beziehung zwischen der Größe des gegebenen Wertes X und dem inversen Funktionswert Xr. Beispielsweise im Falle, daß die gegebene Funktion F mit einer monoton ansteigenden Funktion übereinstimmt, ist der unendlich genaue Wert Y größer und kleiner als die Zwischenlösung Yr, wenn der gegebene X größer bzw. kleiner als der inverse Funktionswert Xr ist. Wenn das Ergebnis der Entscheidung durch den Schritt 105 darstellt, daß der unendlich genaue Wert Y kleiner als der Zwischenlösungswert Yr ist, wird ein Schritt 107 als nächstes ausgeführt. Der Schritt 107 stellt die kritische Ziffer S auf - 1. Wenn das Ergebnis der Entscheidung durch den Schritt 105 darstellt, daß der unendlich genaue Wert Y größer als die Zwischenlösung Yr ist, wird ein Schritt 108 als nächster ausgeführt. Der Schritt 108 setzt die kritische Ziffer S auf 1. Im Beispiel von Fig. 2 wird die kritische Ziffer S auf 1 und - 1 gesetzt, wenn die Zwischenlösung Yr mit dem Punkt 204 bzw. mit dem Punkt 205 übereinstimmt.
  • Nach den Schritten 106, 107 und 108 wird ein Endschritt 109 ausgeführt. Der Schritt 109 fügt die kritische Ziffer S an eine Stelle unmittelbar unter der niedrigsten Stelle der Ziffern der Zwischenlösung Yr, und führt somit die Addition "Yr + 2&supmin;&sup5;&sup4; S" aus. Der Schritt 109 rundet das Ergebnis der Addition auf die signifikanten Ziffern in einem genannten Rundungsverfahren und leitet dadurch das Endrechenergebnis Ye ab. Die Daten, die das Ergebnis der Addition darstellen, haben die Ziffern, deren Zahl um 2 größer als die Zahl der signifikanten Ziffern ist. In Fig. 2 sind Daten durch den Punkt 206 benannt. Wie sich aus Fig. 2 versteht, liegt der Punkt und der unendlich genaue Wert 201 (der unendlich genaue Wert Y) zwischen den Punkten 204 und 207, die sich nur in der signifikanten Ziffer der niedrigsten Stelle um 1 unterscheiden, und der Punkt 206 und der unendlich genaue Wert 201 (der unendlich genaue Wert Y) liegt auf der gleichen Seite des Mittelpunkts 205 zwischen den Punkten 204 und 207. Somit ist das Ergebnis der Rundung des Punktes 206 auf die signifikanten Ziffern gleich dem Ergebnis der Rundung des unendlich genauen Wertes 201 (der unendlich genaue Wert Y) zu den signifikanten Ziffern.
  • Fig. 3 zeigt ein Gerät zur Ausführung der arithmetischen Verarbeitung von Fig. 1. Wie in Fig. 3 gezeigt, enthält das Gerät Wähler 501, 503 und 504, eine Funktionsrecheneinrichtung 502, eine Addier/Subtrahier-Rundungsschaltung 505, ein Register 506 und einen kritische Ziffer-Generator 507. Im allgemeinen werden diese Einrichtungen 501 bis 507 von einer Steuerung (nicht dargestellt) gesteuert.
  • Daten eines gegebenen Wertes X werden vom Wähler 501 ausgewählt und werden zur Funktionsrecheneinrichtung 502 übertragen. Die Funktionsrecheneinrichtung 502 führt eine Näherungsrechnung der Funktion F in Hinsicht auf den gegebenen Wert X aus, wodurch eine Näherungslösung Ya errechnet wird. Auf diese Weise wird die Operation des Schrittes 101 von Fig. 1 durch die Funktionsrecheneinrichtung 502 ausgeführt.
  • Daten der Näherungslösung Ya werden von der Funktionsrecheneinrichtung 502 an den Wähler 503 abgegeben. Die Daten der Näherungslösung Ya werden vom Wähler 503 ausgewählt und werden zur Addier/Subtrahier- Rundungsschaltung 505 übertragen. An dieser Stelle werden Daten von "0" vom Wähler 504 ausgewählt und werden zur Addier/Subtrahier- Rundungsschaltung 505 übertragen. Die Addier/Subtrahier- Rundungsschaltung 505 rundet die Näherungslösung Ya auf eine Zwischenlösung Yr. Auf diesem Wege wird die Operation des Schrittes 102 von Fig. 1 von der Addier/Subtrahier- Rundungsschaltung 505 ausgeführt. Die Addier/Subtrahier- Rundungsschaltung 505 gibt Daten der Zwischenlösung Yr ab, die in das Register 506 gespeichert werden.
  • Die Daten der Zwischenlösung Yr werden vom Wähler 501 ausgewählt und werden zur Funktionsrecheneinrichtung 502 übertragen. Die Funktionsrecheneinrichtung 502 errechnet einen inversen Funktionswert "Xr = F¹(Yr)" in Hinsicht auf die Zwischenlösung Yr. Auf diesem Wege wird die Operation des Schrittes 103 von Fig. 1 von der Funktionsrecheneinrichtung 502 ausgeführt.
  • Die Funktionsrecheneinrichtung 502 gibt Daten des inversen Funktionswertes Xr an den Wähler 503 ab.Die Daten des inversen Funktionswertes Xr werden vom Wähler 503 ausgewählt und werden zur Addier/Subtrahier- Rundungsschaltung 505 übertragen. An dieser Stelle werden Daten des gegebenen Wertes X vom Wähler 504 ausgewählt und werden zur Addier/Subtrahier- Rundungsschaltung 505 übertragen. Die Addier/Subtrahier- Rundungsschaltung 505 verfügt über einen Subtrahierer, der den gegebenen Wert X vom inversen Funktionswert Xr abzieht und somit eine Differenz ableitet, die "Xr - X" gleich ist. Die Daten der Differenz "Xr - X" werden von der Addier/Subtrahier- Rundungsschaltung 505 abgegeben zum kritische Ziffer- Generator 507. Wenn die Differenz "Xr - X" Null ist, gibt der kritische Ziffer- Generator 507 Daten aus, die eine kritische Ziffer = 0 darstellen. Wenn die Differenz "Xr - X" sich von Null unterscheidet, führt der kritische Ziffer- Generator 507 eine Entscheidung aus, nach der die unendlich genaue Lösung Y und die Zwischenlösung Yr größer ist auf der Grundlage der Eigenschaft der Funktion F und der Information des Vorzeichens der Differenz "Xr - X". Wenn die unendlich genaue Lösung Y kleiner ist als die Zwischenlösung Yr, gibt der kritische Ziffer- Generator 507 Daten ab, die die kritische Ziffer S = - 1 repräsentieren. Wenn die unendlich genaue Lösung Y größer als die Zwischenlösung Yr ist, gibt der kritische Ziffer- Generator 507 Daten ab, die die kritische Ziffer S = 1 reprasentieren. Auf diesem Wege werden die Operationen der Schritte 104 bis 108 von Fig. 1 von der Addier/Subtrahier- Rundungsschaltung 505 und dem kritische Ziffer- Generator 507 ausgeführt.
  • Die Daten der kritischen Ziffer S werden vom kritische Ziffer- Generator 507 zur Addier/Subtrahier- Rundungsschaltung 505 gespeist. Zur gleichen Zeit werden die Daten der Zwischenlösung Yr, die vom Register 506 kommen, vom Wähler 503 ausgewählt und werden zur Addier/Subtrahier- Rundungsschaltung 505 übertragen. Die Addier/Subtrahier- Rundungsschaltung 505 verfügt über einen Addierer, der die kritische Ziffer S addiert an die Stelle unmittelbar unter der untersten Stelle der Ziffern der Zwischenlösung Yr. Die Addier/Subtrahier- Rundungsschaltung 505 rundet das Ergebnis dieser Addition in ein bestimmtes Rundungsverfahren, um die Endlösung Ye zu erhalten. Auf diese Weise wird die Operation des Schrittes 109 von Fig. 1 von der Addier/Subtrahier- Rundungsschaltung 505 ausgeführt. Daten (ein Digitalsignal) der Endlösung Ye werden von der Addier/Subtrahier- Rundungsschaltung 505 an eine externe Schaltung (nicht dargestellt) übertragen, und in dieser verwendet.
  • BESCHREIBUNG DES ZWEITEN BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
  • Ein zweites Ausführungsbeispiel dieser Erfindung betrifft eine Division und verwendet IEEE 754- Normen. Eine Schreibung wird für einen normierten Mantissenteil gegeben. Ein Mantissenteil hat 53 signifikante Ziffern, und die signifikante Ziffer an der höchsten Stelle hat ein Gewicht von 2&sup0; und die signifikanteste Ziffer an der niedrigsten Stelle hat ein Gewicht 2&supmin;&sup5;². Wenn sowohl ein Dividend X und ein Divisor Y positiv sind, genügen die Zahlen X und Y der Beziehung "1 &le; X, Y < 2".
  • Unter Bezug auf Fig. 4 errechnet ein erster Schritt 301 einen Näherungsquotienten Za der Division X/Y in geeigneter Weise, beispielsweise nach dem Newtonschen Verfahren. Der Schritt 301 entspricht dem Schritt 101 von Fig. 1. Es wird nun angenommen, daß der Dividend X nicht kleiner als der Divisor Y ist. In diesem Falle genügt der unendlich genaue Quotient Z, der X/Y gleich ist, der Beziehung "1 &le; Z < 2". Die Genauigkeit des Näherungsquotienten Za wird durch einen Fehler zwischen dem Näherungsquotienten Za und dem unendlich genauen Quotienten Z festgelegt. Der Fehler zwischen dem Näherungsquotienten Za und dem unendlich genauen Quotienten Z ist kleiner als das Gewicht der Ziffer an einer Stelle, die um zwei Stellen niedriger als die unterste Stelle der erforderlichen signifikanten Ziffern für ein Endergebnis ist. Gemäß der in den IEEE 754-Normen vorgeschriebenen doppelten Genauigkeit genügt der Fehler zwischen dem Näherungsquotienten Za und dem unendlich genauen Quotienten Z der nachstehenden Beziehung, da die Ziffer an der niedrigsten Stelle ein Gewicht von 2&supmin;&sup5;² hat.
  • Z - Za < 2&supmin;&sup5;&sup4; ... (5)
  • Ein Schritt 302, der den Schritt 301 folgt, führt eine Rundung ähnlich der Rundung aus, die der Schritt 102 von Fig. 1 ausführt. Insbesondere rundet der Schritt 302 den durch den Schritt 301 gegebenen Näherungsquotienten Za, und errechnet dadurch einen Zwischenquotienten Zr aus dem Näherungsquotienten Za. Der Zwischenquotient Zr stimmt mit einem der möglichen der Zwischenquotienten überein, der am nächsten am Näherungsquotienten Za liegt, und jeder der möglichen Zwischenquotienten kann durch Ziffern dargestellt werden, deren Zahl größer als die Zahl der signifikanten Ziffern ist und deren Stelle höher als die Stelle gemäß dem minimalen Gewicht, größer als der maximale Fehler des Näherungsquotienten Za ist. Mit anderen Worten, der Zwischenquotient Zr ist einem der möglichen Zwischenquotienten gleich, der am nächsten am Näherungsquotienten Za liegt und den möglichen Zwischenquotienten, die durch Ziffern an Stellen dargestellt werden, deren niedrigste willkürlich von einem Platzstellenrang ausgewählt wird, der an einer Stelle um wenigstens eine Stelle unter der untersten Stelle der signifikanten Ziffern für den Endquotienten liegt und an einer Stelle endet, die wenigstens um eine Stelle höher als eine Stelle des minimalen Gewichts ist und ein Gewicht der Ziffer in der minimal Gewichtsstelle größer als ein Maximum eines Fehlers des Näherungsquotienten Za hat. Wenn beispielsweise ein Zwischenquotient Zr 54 Ziffern hat, deren Zahl um eins größer als die Zahl der signifikanten Ziffern ist, genügt der Fehler zwischen dem unendlich genauen Quotienten Z und dem Zwischenquotienten Zr der nachstehenden Gleichung.
  • Z - Zr < 2&supmin;&sup5;³ ... (6)
  • Somit wird der Zwischenquotient Zr durch Ziffern an Stellen dargestellt, deren niedrigste um eine Stelle unter der untersten Stelle der signifikanten Ziffern liegt.
  • Ein Schritt 303, der dem Schritt 302 folgt, entspricht dem Schritt 103 vom Fig. 1. Insbesondere errechnet der Schritt 303 einen inversen Funktionswert Xr in Hinsicht auf die Funktion "Z = X/Y" auf der Grundlage des Zwischenquotienten Zr. Der inverse Funktionswert Xr stimmt mit dem Produkt "Xr = Zr × Y" überein.
  • Ein dem Schritt 303 folgender Schritt 304 entspricht den Schritten 104 und 105 von Fig. 1. Insbesondere vergleicht der Schritt 304 das Produkt Xr mit dem gegebenen Wert X, um zu entscheiden, ob der Fehler des Zwischenquotienten Zr unter oder über dem unendlich genauen Quotienten Z liegt. Da beide der gegebenen Werte X und Y positiv sind, und somit der unendlich genaue Quotient Z der monoton ansteigenden Funktion des gegebenen Wertes X bei der Division "X/Y" entspricht, kann eine kritische Ziffer S nur durch Vergleich zwischen dem gegebenen Wert X und dem Produkt Xr festgelegt werden. Wenn der gegebene Wert X kleiner als das Produkt Xr ist, d.h., wenn der unendlich genaue Quotient Z kleiner als der Zwischenquotient Zr ist, folgt dem Schritt 304 ein Schritt 305, der die kritische Ziffer S auf - 1 setzt. Wenn der gegebene Wert X und das Produkt Xr gleich sind, d. h., wenn der unendlich genaue Quotient Z und der Zwischenquotient Zr einander gleich sind, folgt dem Schritt 304 der Schritt 306, der die kritische Ziffer S auf Null setzt. Wenn der gegebene Wert x größer als das Produkt Xr ist, d.h., wenn der unendlich genaue Quotient Z größer als der Zwischenquotient Zr ist, folgt dem Schritt 304 der Schritt 307, der die kritische Ziffer S auf 1 setzt.
  • Nach den Schritten 305, 306 und 307 wird ein Endschritt 308 ausgeführt. Der Schritt 308 führt eine Rundung aus, die der Rundung durch den Schritt 109 von Fig. 1 gleich ist. Insbesondere fügt der Schritt 308 die kritische Ziffer S an eine Stelle unmittelbar unter der untersten Stelle der Ziffern des Zwischenquotienten Zr, und führt somit eine Addition "Zr + 2&supmin;&sup5;&sup4;S" aus. Der Schritt 308 rundet das Ergebnis der Addition mit den signifikanten Ziffern in einem bestimmten Rundungsverfahren und leitet dadurch ein Endrechenergebnis Ze ab. Das Endergebnis Ze ist im Ergebnis der Rundung dem unendlich genauen Quotienten gleich.
  • Es erfolgt nun eine Beschreibung des Falles, bei dem der Dividend X kleiner als der Divisor Y ist. Die Rechnungen und Entscheidungen, die in diesem Falle ausgeführt werden, sind jenem des Falles gleich, bei dem der Dividend X nicht kleiner als der Divisor Y ist, mit Ausnahme folgender Punkte. Im Falle, daß der Dividend X kleiner als der Divisor Y ist, genügt der unendlich genaue Quotient Z, der gleich X/Y ist, der Beziehung "1/2 < Z < 1". In diesem Falle ist die Ziffer der Stelle 2&sup0; des unendlich genauen Quotienten Z gleich 0, und die Ziffer der niedrigsten Stelle des Endquotienten Ze liegt an der 2&supmin;&sup5;³- sten Stelle, die geringer ist als eine Stelle, die im Falle auftritt, wenn der Dividend X nicht kleiner als der Divisor Y ist. Folglich genügt der Fehler zwischen dem Näherungsquotienten Za und dem unendlich genauen Quotienten Z der nachstehenden Beziehung.
  • Z - Za < 2&supmin;&sup5;&sup5; ... (7)
  • Der Zwischenquotient Zr erfordert 55 Ziffern oder mehr in Stellen, die gleich sind und über der 2&supmin;&sup5;&sup4;- sten Stelle liegen. Folglich wird der Zwischenquotient Zr so ausgerechnet, daß der nachstehenden Beziehung genügt wird.
  • Z - Zr < 2&supmin;&sup5;&sup4; ... (8)
  • Darüber hinaus rundet der Schritt 308 das Ergebnis der Addition auf die signifikanten Ziffern in der Stelle, die der 2&supmin;&sup5;³- sten Stelle gleich ist oder über dieser liegt.
  • Dieses Ausführungsbeispiel kann folgendermaßen abgewandelt werden. Wenn der Dividend X nicht kleiner als der Divisor Y ist, kann der Zwischenquotient Zr mit einer um eine Ziffer höheren Genauigkeit errechnet werden, so daß der Gleichung (8) genügt werden kann.
  • Fig. 5 zeigt ein Gerät zur Ausführung der arithmetischen Verarbeitung von Fig. 4. Wie in Fig. 5 gezeigt, enthält das Gerat ein X- Register 601, ein Y- Register 602, ein T- Register 611, einen ROM 603, Wähler 604, 605, 608 und 609, eine Multiplizierschaltung 606, einen Konstantengenerator 607, eine Addier- Subtrahier- Rundungsschaltung 610, einen Generator 612 für eine kritische Ziffer und Datenbusse 613 und 614. Im allgemeinen werden die Einrichtungen 601 bis 612 von einer Steuerung gesteuert (nicht dargestellt).
  • Daten eines Dividenden X werden in das X- Register 601 über den Datenbus 613 gespeichert. Daten eines Divisors Y werden in das Y- Register 602 über den Datenbus 614 gespeichert. Dann beginnt die Näherungsdivision zur Errechnung eines Näherungsquotienten Za. Bei dieser Näherungsdivision werden Multiplikation, Addition und Subtraktion mehrfach wiederholt, um den Näherungsquotienten Za herzuleiten. Unter Verwendung des Newtonschen Verfahrens kann die Division "Z = X/Y folgendermaßen ausgeführt werden. Ein erster Näherungswert Ro von 1/Y wird durch Rückgriff auf eine Tabelle bestimmt. Dann wird ein Näherungslösung Rn von 1/Y durch n- malig wiederholte Verwendung der zuvor erwähnten Rekursionsformel (1) errechnet. Letztlich kann ein Näherungswert von X/Y durch Multiplikation von Rn mit X gewonnen werden.
  • Die Errechnung des Näherungsquotienten Za wird in der nachstehenden Sequenz ausgeführt.
  • 1) Die Daten des Divisors Y werden von dem Y- Register 602 über den Datenbus 614 in den ROM 603 gespeist, und Daten eines Näherungswertes Ro von 1/Y werden vorn ROM 603 an die Wähler 604 und 605 abgegeben.
  • 2) Die Daten des Näherungswertes Ro werden ausgewählt vom Wähler 604 und werden zur Multiplizierschaltung 606 übertragen. Zur gleichen Zeit werden die Daten des Divisors Y vom Y- Register 602 zur Multiplizierschaltung 606 über den Datenbus 614 und dem Wähler 605 übertragen. Die Multiplizierschaltung 606 errechnet das Produkt "Ro × Y". Die Multiplizierschaltung 606 gibt Daten des Produkts "Ro × Y" an den Wähler 609 ab.
  • 3) Der Wähler 608 wählt Daten des Wertes "2" aus, die vom Konstantengenerator 607 erzeugt werden, und die ausgewählten Daten werden zur Addier/Subtrahier- Rundungsschaltung 610 übertragen. Die Daten des Produkts "Ro × Y" werden vom Wähler 609 ausgewählt und werden zur Addier/Subtrahier- Rundungsschaltung 610 übertragen. Die Addier/Subtrahier- Rundungsschaltung 610 enthält einen Subtrahierer, der das Produkt "Ro × Y" aus dem Wert "2" subtrahiert und somit den Wert "2 - Ro × Y" errechnet. Die Addier/Subtrahier- Rundungsschaltung 610 rundet den errechneten Wert "2 - Ro × Y". Die Addier/Subtrahier- Rundungsschaltung 610 gibt Daten des gerundeten Wertes "2 - Ro × Y" an den Wähler 604 über den Datenbus 613 ab.
  • 4) Die Daten des gerundeten Wertes "2 - Ro × Y" werden vom Wähler 604 ausgewählt und werden übertragen zur Multiplizierschaltung 606. Zur gleichen Zeit werden die Daten des Näherungswertes Ro vom Wähler 605 ausgewählt und zur Multiplizierschaltung 606 übertragen. Die Multiplizierschaltung 606 errechnet das Produkt "Ro (2 - Ro × Y)". Die Multiplizierschaltung 606 gibt -Daten des Produkt "Ro (2 - Ro × Y) an den Wähler 608 ab.
  • 5) Die Daten des Produkts "Ro(2 -Roxy)" werden vom Wähler 608 ausgewählt und zur Addier/Subtrahier- Rundungsschaltung 610 übertragen. Zur gleichen Zeit werden Daten von "0" vom Wähler 609 ausgewählt und zur Addier/Subtrahier- Rundungsschaltung 610 übertragen. Die Addier/Subtrahier- Rundungsschaltung 610 rundet das Produkt "RO(2 -Ro)(Y)" auf einen Wert R&sub1;. Die Addier/Subtrahier- Rundungsschaltung 610 gibt Daten des Wertes R&sub1; aus, die im T- Register 611 gespeichert werden.
  • 6) Der Wert R&sub1; wird anstelle des Wertes Ro verwendet, und die zuvor genannnten Schritte 2) bis 5) werden ausgeführt, um einen nächsten Wert R&sub2; zu gewinnen. Eine derartige Operation wird mehrfach wiederholt, um einen adäquat genauen Wert Rn zu gewinnen.
  • 7) Die Addier/Subtrahier- Rundungsschaltung 610 gibt Daten des Wertes Rn aus, die zur Multiplizierschaltung 606 über den Datenbus 613 und den Wähler 604 übertragen werden. Zur gleichen Zeit werden Daten des Dividenden X vom X- Register 601 zur Multiplizierschaltung 606 über den Datenbus 614 und den Wähler 605 übertragen. Die Multiplizierschaltung 606 errechnet das Produkt der Werte Rn mit X, d.h., den Näherungswert "Za = Rn × X" für einen unendlich genauen Quotienten X/Y. Die Multiplizierschaltung 606 gibt Daten des Näherungswertes Za an den Wähler 608 ab.
  • Auf diesem Wege wird die Operation des Schrittes 301 von Fig. 5 ausgeführt durch die Einrichtungen 601 bis 611. Nachdem der Näherungsquotient Za errechnet ist, arbeitet das Gerät von Fig. 5 folgendermaßen.
  • Die Daten des Näherungsquotienten Za werden vom Wähler 608 ausgewählt und zur Addier/Subtrahier- Rundungsschaltung 610 übertragen. Zur gleichen Zeit werden Daten von "0" vom Wähler 609 ausgewählt und zur Addier/Subtrahier- Rundungsschaltung 610 übertragen. Die Addier/Subtrahier- Rundungsschaltung 610 rundet den Näherungsquotienten Za auf einen Zwischenquotienten Zr. Die Addier/Subtrahier- Rundungsschaltung 610 gibt Daten des Zwischenquotienten Zr ab, die in das T- Register 611 gespeichert werden. Auf diese Weise wird die Operation des Schrittes 302 von Fig. 4 von der Addier/Subtrahier- Rundungsschaltung 610 ausgeführt.
  • Die Daten des Zwischenquotienten Zr werden zur Multiplizierschaltung 606 über den Datenbus 613 und den Wähler 604 übertragen. Zur gleichen Zeit werden die Daten des Divisors Y zur Multiplizierschaltung 606 über den Datenbus 614 und den Wähler 605 übertragen. Die Multiplizierschaltung 606 errechnet eine inversen Funktionswert Xr in Hinsicht auf den Zwischenquotienten Zr, d.h., er rechnet das Produkt "Xr = Zr × Y" der Werte Zr und Y. Die Multiplizierschaltung 606 gibt Daten des Produkts Xr an den Wähler 608 ab. Aus diese Weise wird die Operation des Schrittes 303 von Fig. 4 von der Multiplizierschaltung 606 ausgeführt.
  • Die Daten des Produkts Xr werden vorn Wähler 608 ausgewählt und zur Addier/Subtrahier- Rundungsschaltung 610 übertragen. Zur gleichen Zeit werden des Dividenden X vom X- Register 601 zur Addier/Subtrahier- Rundungsschaltung 610 über den Datenbus 614 und den Wähler 609 übertragen. Die Addier/Subtrahier- Rundungsschaltung 610 enthält einen Subtrahierer, der den Dividend X aus dem Produkt Xr subtrahiert und somit eine Differenz herleitet, die gleich "Xr - X" ist. Daten der Differenz "Xr - X" werden von der Addier/Subtrahier- Rundungsschaltung 610 an den Generator 612 für die kritische Ziffer abgegeben. In diesem Falle, bei dem "Xr - X" gleich Null ist, gibt der Generator 612 für die kritische Ziffer Daten aus, die eine kritische Ziffer S = 0 repräsentieren. Wenn die Differenz "Xr - X" negativ ist, gibt der Generator 612 die kritische Ziffer S mit 1 aus. Wenn die Differenz "Xr - X" positiv ist, gibt der Generator 612 die kritische Ziffer S mit 1 aus. Auf diese Weise werden die Schritte 304 bis 307 von Fig. 4 von der Addier/Subtrahier- Rundungsschaltung 610 und dem Generator 612 für die kritische Ziffer ausgeführt.
  • Die Daten der kritischen Ziffer S werden vom Generator 612 für die kritische Ziffer an die Addier/Subtrahier- Rundungsschaltung 610 geliefert. Zur gleichen Zeit werden die Daten des Zwischenquotienten Zr, die vom T- Register 611 kommen, vom Wähler 608 ausgewählt und zur Addier/Subtrahier- Rundungsschaltung 610 übertragen. Die Addier/Subtrahier- Rundungsschaltung 610 enthält einen Addierer, der die kritische Ziffer S an eine Stelle unmittelbar unter der untersten Stelle der Ziffern des Zwischenquotienten Zr liefert. Die Addier/Subtrahier- Rundungsschaltung 610 rundet das Ergebnis dieser Addition in einem bestimmten Rundungsmodus ab, um einen Endquotienten Ze zu gewinnen. Auf diese Weise wird der Schritt 308 von Fig. 4 von der Addier/Subtrahier- Rundungsschaltung 610 ausgeführt. Daten (ein Digitalsignal) des Endquotienten Ze werden von der Addier/Subtrahier- Rundungsschaltung 610 an eine externe Schaltung (nicht dargestellt) geliefert und werden erneut verwendet.
  • Während der Dividend X und der Divisor Y positiv in der vorstehenden Beschreibung waren, wird die Division in anderen Fällen in gleicher Weise ausgeführt, mit Ausnahme folgender Punkte. Wenn insbesondere die Vorzeichen des Dividenden X und den Quotienten Z gleich sind, wird die kritische Ziffer S auf Null gesetzt, wenn das Produkt Xr und der Dividend X gleich sind, wird die kritische Ziffer S wird auf - 1 gesetzt, und auf 1, wenn der Wert Xr größer bzw. kleiner als der Wert X ist. Wenn die Vorzeichen des Dividenden X und des Quotienten Z unterschiedlich sind, wird die kritische Ziffer auf Null gesetzt, wenn das Produkt Xr und der Dividend gleich sind, wird die kritische Ziffer auf 1 gesetzt, und auf - 1, und wenn der Wert Xr größer bzw. kleiner als der Wert X ist.
  • BESCHREIBUNG DES DRITTEN BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
  • Ein drittes Ausführungsbeispiel nach der Erfindung bezieht sich auf die Errechnung einer Quadratwurzel und verwendet IEEE 754- Normen. Eine Beschreibung wird für eine normierte Mantissenstelle gegeben. Eine Mantissenstelle hat 53 signifikante Ziffern, und die signifikante Ziffer an der höchsten Stelle hat ein Gewicht 2&sup0;, und die signifikante Ziffer an der niedrigsten Stelle hat ein Gewicht von 2&supmin;&sup5;². Im Falle der Fließkommadaten, deren Exponent einer graden Zahl gleich sind, genügt es, einen vorgegeben Wert X im Bereich "1 &le; X < 2" zu betrachten. Im Falle des Fließkommadatums, dessen Exponent ungradzahlig ist, sollte dessen Mantissenteil nach links um eine Stelle verschoben werden, und die Quadratwurzel des resultierenden Mantissenteils könnte errechnet werden, und somit ist es erforderlich, einen gegebenen Wert X im Bereich "2 &le; X < 4" zu betrachten. Wenn folglich die Verarbeitung unabhänig davon gemacht wird, ob der Exponent gradzahlig oder ungradzahlig ist, ist es erforderlich, einen gegebenen Wert X "1 &le; X < 4" zu betrachten. Somit wird die Quadratwurzel Y des gegebenen Wertes X im bereich von "1 &le; Y < 2" liegen.
  • In Fig. 6 errechnet ein erster Schritt 401 eine Näherungsquadratwurzel Ya eines gegebenen Wertes X in geeigneter Weise, wie nach dem Newtonschen Verfahren. Der Schritt 401 entspricht dem Schritt 101 von Fig. 1. Die Genauigkeit der Näherungsquadratwurzel Ya ist festgelegt durch den Fehler zwischen der Näherungsquadratwurzel Ya und der unendlich genauen Quadratwurzel Y (Y = X1/2). Der Fehler zwischen der Näherungsquadratwurzel Ya und der unendlich genauen Quadratwurzel Y ist kleiner als das Gewicht der Ziffer in einer Stelle, die um zwei Stellen unter der untersten Stelle der geforderten signifikanten Ziffer für ein Endergebnis liegt. Gemäß der doppelten Genauigkeit, die nach dem IEEE 754- Normen vorgeschrieben ist, genügt der Fehler zwischen der Näherungsquadratwurzel Ya und der unendlich genauen Quadratwurzel Y der nachstehenden Beziehung, da die signifikante Ziffer an der untersten Stelle ein Gewicht von 2 besitzt.
  • Y - Ya < 2&supmin;&sup5;&sup4; ... (9)
  • Ein Schritt 402, der dem Schritt 401 folgt, führt eine Rundung in gleicher Weise wie die Rundung im Schritt 102 von Fig. 1 aus. Insbesondere rundet der Schritt 402 die Näherungsquadratwurzel Ya, vorgegeben in Schritt 301, und errechnet dadurch eine Zwischenquadratwurzel Yr aus der Näherungsquadratwurzel Ya. Die Zwischenquadratwurzel Yr stimmt mit möglichen Zwischenquadratwurzeln überein, die am nächsten an der Näherungsquadratwurzel Ya liegen, und jede der möglichen Zwischenquadratwurzeln kann durch Ziffern dargestellt werden, deren Anzahl größer als die Anzahl der signifikanten Ziffern ist, und deren Stellen höher als die Stelle gemäß dem Minimalgewicht ist, das größer als der Maximalfehler der Näherungsquadratwurzel Ya ist. Mit anderen Worten, die Zwischenquadratwurzel Yr ist einer der möglichen Zwischenquadratwurzeln gleich, die am nächsten an der Näherungsquadratwurzel Ya liegen, und die möglichen Zwischenguadratwurzeln werden durch Ziffern in Stellen dargestellt, deren niedrigste willkürlich ausgewählt wird aus einem Stellenbereich, der von der Stelle um wenigstens eine Stelle unter der untersten Stelle der signifikanten Ziffern für die Endquadratwurzel liegt und an einer Stelle endet, die um wenigstens eine Stelle höher als eine Stelle des Minimalgewichts ist, und ein Gewicht der Ziffer in der minimalgewichtigen Stelle ist größer als ein Maximum eines Fehlers der Näherungsquadratwurzel Ya. Bei einer Zwischenquadratwurzel Yr beispielsweise mit 54 Ziffern, deren Zahl um Eins größer als die Zahl der signifikanten Ziffern ist, genügt der Fehler zwischen der unendlich genauen Quadratwurzel Y und der Zwischenquadratwurzel Yr der nachstehenden Beziehung.
  • Y - Yr < 2&supmin;&sup5;³ ... (10)
  • Somit wird die Zwischenquadratwurzel Yr durch Ziffern an Stellen dargestellt, deren geringste um eine Stelle unter der untersten Stelle der signifikanten Ziffern liegt.
  • Ein Schritt 403, der den Schritt 402 folgt, entspricht dem Schritt 103 von Fig. 1. Insbesondere führt der Schritt 403 die Multiplikation aus und errechnet dadurch einen inversen Funktionswert Xr in Hinsicht auf die Funktion "Y = X1/2" auf der Grundlage der Zwischenquadratwurzel Yr. Der inverse Funktionswert Xr stimmt mit dem Quadrat "Xr = Yr " überein.
  • Ein Schritt 404, der dem Schritt 403 folgt, entspricht dem Schritten 104 und 105 von Fig. 1. Insbesondere vergleicht der Schritt 404 das Quadrat Xr mit dem gegebenen Wert X, um zu entscheiden, ob der Fehler der Zwischenquadratwurzel Yr unter oder über der unendlich genauen Quadratwurzel Y liegt. Da die unendlich genaue Quadratwurzel Y einer monoton ansteigenden Funktion des gegebenen Wertes X in der Quadratwurzel "Y - X1/2" entspricht, kann eine kritische Ziffer S nur durch den Vergleich zwischen dem gegebenen Wert X und dem Quadrat Xr bestimmt werden. Wenn der gegebene Wert X kleiner als das Quadrat Xr ist, d.h., wenn die unendlich genaue Quadratwurzel Y kleiner als die Zwischenquadratwurzel Yr ist, stellt der Schritt 404, der dem Schritt 405 folgt, die kritische Ziffer S auf - 1. Wenn der gegebene Wert X und das Quadrat Xr gleich sind, d.h., wenn die unendlich genaue Quadratwurzel Y und die Zwischenquadratwurzel Y gleich sind, setzt der Schritt 404, gefolgt vom Schritt 406, die kritische Ziffer S auf Null. Wenn der gegebene Wert X größer als das Quadrat Xr ist, d.h., wenn die unendlich genaue Quadratwurzel Y größer als die Zwischenquadratwurzel Yr ist, folgt dem Schritt 404 der Schritt 407, der die kritische Ziffer S auf 1 setzt.
  • Nach den Schritten 405, 406 und 407 wird ein letzter Schritt 408 ausgeführt. Der Schritt 408 führt die Rundung in gleicher Weise aus wie die Rundung in Schritt 109 von Fig. 1.
  • Insbesondere addiert der Schritt 408 die kritische Ziffer S einer Stelle unmittelbar unter der niedrigsten Stelle der Ziffern der Zwischenquadratwurzel Yr, und führt somit die Addition "Yr + 2&supmin;&sup5;&sup4;" aus. Der Schritt 408 rundet das Ergebnis der Addition auf die signifikanten Ziffern in einem bestimmten Rundungsmodus und leitet damit ein Endrechenergebnis Ye her. Das Endergebnis Ye ist dem Ergebnis der Rundung der unendlich genauen Quadratwurzel Y gleich.
  • Ein Gerät zur Ausführung der arithmetischen Verarbeitung von Fig. 6 ist dem Gerät von Fig. 5 gleich. Das Gerät arbeitet folgendermaßen.
  • Daten eines gegebenen Wertes X werden in das X- Register 601 über den Datenbus 613 gespeichert. Dann beginnt eine Quadratwurzelnäherungsrechnung zur Errechnung einer Näherungsquadratwurzel Ya. Bei dieser Quadratwurzelnäherungsrechnung werden Multiplikation, Addition und Subtraktion erneut wiederholt, um die Näherungsquadratwurzel Ya wie im Ausführungsbeispiel der Figuren 4 und 5 herzuleiten. Unter Verwendung des Newtonschen Verfahrens kann die Quadratwurzelerrechnung "Y = X1/2" folgendermaßen ausgeführt werden. Ein erster Näherungswert Ro von 1/X1/2 wird festgelegt durch Bezug auf eine Tabelle. Dann wird eine Näherungslösung Rn von 1/X1/2 durch n maliges wiederholtes Anwenden der zuvor erwähnten Formel (2) errechnet. Letztlich kann ein Näherungswert von X1/2 durch Multiplikation von Rn mit X gewonnen werden. Die Multiplizierschaltung 606 gibt Daten der Näherungsquadratwurzel Ya an den Wähler 608 ab.
  • Die Daten der Näherungsquadratwurzel Ya werden vom Wähler 608 ausgewählt und zur Addier/Subtrahier- Rundungsschaltung 610 übertragen. Zur gleichen Zeit werden die Daten von "0" vom Wähler 609 ausgewählt und zur Addier/Subtrahier- Rundungsschaltung 610 übertragen. Die Addier/Subtrahier- Rundungsschaltung 610 rundet die Näherungsquadratwurzel Ya auf eine Zwischenquadratwurzel Yr. Die Addier/Subtrahier- Rundungsschaltung 610 gibt Daten der Zwischenquadratwurzel Yr ab, die in das T- Register 611 gespeichert werden. Auf diese Weise wird die Operation des Schrittes 402 von Fig. 6 von der Addier/Subtrahier- Rundungsschaltung 610 ausgeführt.
  • Die Daten der Zwischenquadratwurzel Yr werden zur Multiplizierschaltung 606 über beide Wähler 604 und 605 übertragen. Die Multiplizierschaltung 606 errechnet einen inversen Funktionswert Xr in Hinsicht auf die Zwischenquadratwurzel Yr, d. h., errechnet das Quadrat "Xr = Yr²" der Zwischenquadratwurzel Yr. Die Multiplizierschaltung 606 gibt Daten des Quadrats Xr an den Whler 608 ab. Auf diese Weise wird die Operation des Schrittes 403 von Fig. 6 von der Multiplizierschaltung 606 ausgeführt.
  • Die Daten des Quadrats Xr werden vom Wähler 608 ausgewählt und zur Addier/Subtrahier- Rundungsschaltung 610 übertragen. Zur gleichen Zeit werden die Daten des gegebenen Wertes X aus dem X- Register 601 zur Addier/Subtrahier- Rundungsschaltung 610 über den Datenbus 614 und dem Wähler 609 übertragen. Die Addier/Subtrahier- Rundungsschaltung 610 enthält einen Subtrahierer, der den gegebenen Wert X vom Quadrat Xr abzieht und somit eine Differenz "Xr - X" herleitet. Daten der Differenz "Xr - X" werden von der Addier/Subtrahier- Rundungsschaltung 610 an den Generator 612 für die kritische Ziffer abgegeben. Wenn die Differenz "Xr - X" Null ist, gibt der Generator 612 für die kritische Ziffer Daten ab, die eine kritische Ziffer S gleich Null darstellen. Wenn die Differenz "Xr - X" negativ ist, gibt der Generator 612 für die kritische Ziffer Daten ab, die die kritische Ziffer S gleich 1 reprasentieren. Wenn die Differenz "Xr - X" positiv ist, gibt der Generator 612 für die kritische Ziffer Daten ab, die die kritische Ziffer S gleich - 1 repräsentieren. Auf diese Weise werden die Operationen der Schritte 404 bis 407 von Fig. 6 von der Addier/Subtrahier- Rundungsschaltung 610 und dem Generator 612 für die kritische Ziffer ausgeführt.
  • Die Daten der kritischen Ziffer S werden vom Generator 612 für die kritische Ziffer zur Addier/Subtrahier- Rundungsschaltung 610 geliefert. Zur gleichen Zeit werden die Daten der Zwischenquadratwurzel Yr, die von dem T- Register 611 kommen, vom Wähler 608 ausgewahlt und zur Addier/Subtrahier- Rundungsschaltung 610 übertragen. Die Addier/Subtrahier- Rundungsschaltung 610 enthält einen Addierer, der die kritische Ziffer S an die Stelle unmittelbar unter der untersten Stelle der Ziffern der Zwischenquadratwurzel Yr setzt. Die Addier/Subtrahier- Rundungsschaltung 610 rundet das Ergebnis dieser Addition in einem bestimmten Rundungsmodus, um eine Endquadratwurzel Ye zu gewinnen. Auf diese Weise wird die Operation des Schrittes 408 von Fig. 4 von der Addier/Subtrahier- Rundungsschaltung 610 ausgeführt. Daten (ein Digitalsignal) der Endquadratwurzel Ye werden von der Addier/Subtrahier- Rundungsschaltung 610 an eine externe Schaltung (nicht dargestellt) übertragen und werden dort benutzt.
  • BESCHREIBUNG DES VIERTEN BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
  • Ein viertes Ausführungsbeispiel dieser Erfindung ist dem Ausführungsbeispiel der Figuren 4 und 5 gleich, mit der Ausnahme eines nachstehend beschriebenen Konzepts. Das vierte Ausführungsbeispiel bezieht sich auf die Division und verwendet IEEE 754- Normen. Eine Beschreibung wird nun für einen normierten Mantissenteil gegeben. Ein Mantissenteil hat 53 signifikante Ziffern, und die signifikante Ziffer in der höchsten Stelle hat ein Gewicht von 2&sup0; und die signifikante Ziffer der untersten Stelle hat ein Gewicht von 2&supmin;&sup5;². Wenn sowohl ein Dividend X als auch ein Divisor Y positiv sind, genügen die Zahlen die X und Y der Beziehung "1 &le; X, Y < 2".
  • Wie im Ausführungsbeispiel der Figuren 4 und 5 wird ein Näherungsquotient Za der Division von x/y errechnet, und dann wird ein Zwischenquotient Zr durch Rundung des Näherungsquotienten Za errechnet. Der Fehler 8 zwischen dem Zwischenquotienten Zr und dem unendlich genauen Quotienten Z wird durch folgende Gleichung angegeben.
  • &delta; = Zr - Z ... (11)
  • Ein inverser Funktionswert Xr in Hinsicht auf die Funktion "Z = X/Y" wird auf der Grundlage des Zwischenquotienten Zr errechnet. Der inverse Funktionswert Xr stimmt mit dem Produkt "Xr = Zr x Y" überein, der durch die folgende Gleichung ausgedrückt wird.
  • Xr = Zr × Y
  • = (Z + &delta;) × Y
  • = (X + &delta;) × Y
  • = X + &Delta; ... (12)
  • &Delta; bedeutet hierbei&delta; × Y. Aus Gleichung (12) ist bekannt, daß das Produkt Xr um den Wert &Delta; = &delta; × Y größer als der gegebene Wert X ist. Wenn der gegebene Wert des Fehlers &delta; des Zwischenquotienten Zr kleiner als 2&supmin;&sup5;&sup4;, wird der größte des absoluten Wertes des Wertes &Delta; oder &delta; × Y der nachstehenden Beziehung genügen.
  • &Delta; max = &delta; × Y max
  • < 2&supmin;&sup5;&sup4; × 2
  • < 2&supmin;&sup5;³ ... (13)
  • Die Beziehung (13) offenbart, daß die Ziffern an Stellen gleich oder oberhalb der Stelle mit einem Gewicht von 2&supmin;&sup5;³ immer Null sind, wenn der Absolutwert des Wertes &Delta; durch eine Binärziffer dargestellt wird. Da nun ein normierter Mantissenteil angenommen wird, sind die Ziffern des Dividenden X in Stellen gleich und unter der Stelle mit dem Gewicht von 2&supmin;&sup5;³ immer Null.
  • Wenn folglich der Wert &Delta; positiv ist, sind die Ziffern des Produkts Xr in 2&sup0;- ten Stelle zur 2&supmin;&sup5;²- ten Stelle jeweils den Ziffern des Dividenden X gleich, und die Ziffer des Produktes Xr in der 2&supmin;&sup5;³- ten Stelle ist Null, und die Ziffern des Produkts Xr in den unteren Stellen sind den Ziffern des jeweiligen Wertes &Delta; gleich Null. Wenn der Wert &Delta; gleich Null ist, sind die Ziffern des Produkts Xr in der 2&sup0; - ten Stelle bis zur 2&supmin;&sup5;&sup4;- ten Stelle jeweils den Ziffern des Dividenden gleich, und die Ziffern des Produkts Xr in den untersten Stellen sind Null. Wenn der Wert &Delta; negativ ist, sind die Ziffern des Produkts Xr dem Dividenden X minus dem Absolutwert des Wertes &Delta; gleich. Wenn folglich der Wert &Delta; negativ ist, sind die Ziffern des Produkts Xr in der 2&sup0;- ten Stelle bis zur 2&supmin;&sup5;²- ten Stelle gleich den Ziffern des Wertes, die kleiner als der Dividend X jeweils um 2 sind, und die Ziffer des Produkts Xr in der 2&supmin;&sup5;³- ten Stelle ist 1, und die Ziffern des Produkts Xr in der untersten Stelle sind den Ziffern des Komplements des Wertes &Delta; in Hinsicht auf 2 jeweils gleich. Wie sich aus der vorstehenden Beschreibung versteht, ist es möglich durch Untersuchung der Ziffern des Produkts Xr in Stellen, die gleich oder unterhalb der Stellen mit einem Gewicht von 2&supmin;&sup5;³ liegt, zu entscheiden, ob der Wert &Delta; positiv, negativ oder gleich Null ist.
  • Folglich ist es möglich, zu entscheiden, ob der Zwischenquotient Zr oder der unendlich genaue Quotient Z durch Bezug auf die Gleichungen (11) und (12) größer ist. Die kritische Ziffer S kann auf der Grundlage des Ergebnisses dieser Entscheidung festgelegt werden. Wenn insbesondere die Ziffer des Produkts Xr in der 2&supmin;&sup5;³- ten Stelle gleich Null ist und wenigstens eine der Ziffern des Produkts Xr in der 2&supmin;&sup5;&sup4;- ten Stelle und geringerer Stellen sich von Null unterscheiden, ist der Wert &Delta; positiv, und der Zwischenquotient Zr ist größer als der unendlich genaue Quotient Z, und somit ist es richtig, die kritische Ziffer auf - 1 zu setzen. Wenn alle Ziffern des Produktes Xr in der 2&supmin;&sup5;³- ten Stelle und der unteren Stelle gleich Null sind, ist der Wert &Delta; gleich Null und der Zwischenquotient Zr ist dem unendlich genauen Quotienten Z gleich, und somit ist es richtig, die kritische Ziffer S auf Null zu setzen. Wenn die Ziffer des Produkts Xr in der 2&supmin;&sup5;³- ten Stelle gleich 1 ist, der Wert &Delta; negativ und der Zwischenquotient Zr kleiner als der unendlich genaue Quotient Z, ist es richtig, die kritische Ziffer S auf 1 zu setzen.
  • Wie zuvor beschrieben, ist die Entscheidung, ob der Zwischenquotient Zr oder unendlich genaue Quotient gr:ßer ist, leicht ausführbar durch Untersuchung der Ziffern des Produkts Xr in der 2&supmin;&sup5;³- ten Stelle und den unteren Stellen ohne Ausführen der Subtraktion zwischen dem Produkt Xr und dem Dividenden X. Zusätzlich kann die kritische Ziffer S auf der Grundlage des Ergebnisses dieser Entscheidung festgelegt werden.
  • Dieser einfache Weg der Bestimmung der kritischen Ziffer S kann bei anderen Rechnungen als der Division durch Ausführung der folgenden Einstellungen verwendet werden. Eine Näherungslösung Ya der Funktion "Y = F(x)" und eine Zwischenlösung Yr, errechnet durch Runden des Näherungswertes Ya, werden so bestimmt, daß das Maximum des Absolutwerts der Differenz zwischen dem gegebenen Wert x und dem inversen Funktionswert "Xr = F&supmin;¹(Yr)" um eine Stelle kleiner wird als das Gewicht der Stelle unter der untersten Stelle der signifikanten Ziffern des gegegebenen Wertes X.
  • BESCHREIBUNG DES FÜNFTEN BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
  • Ein fünftes Ausführungsbeispiel nach der Erfindung ist dem Ausführungsbeispiel von Fig. 6 gleich, mit der Ausnahme der nachstehend erläuterten Bemessung. Es wird der Fall betrachtet, bei dem das Maximum des Absolutwerts der Differenz zwischen einem gegeben Wert X und einem inversen Funktionswert "Xr = F&supmin;¹(Yr)", errechnet aus der Zwischenlösung Yr, um eine Stelle größer ist als das Gewicht der Stelle unter der untersten Stelle der signifikanten Ziffern des gegebenen Wertes X.
  • Wie im Ausführungsbeispiel von Fig. 6 wird eine Näherungsquadratwurzel Ya errechnet, und eine Zwischenquadratwurzel Yr wird errechnet durch Runden der Näherungsquadratwurzel Ya. Der Fehler &delta; zwischen der Zwischenquadratwurzel Yr und der unendlich genauen Quadratwurzel Y wird durch folgende Gleichung angegeben.
  • &delta; = Yr - Y ... (14)
  • Ein inverser Funktionswert Yr in Hinsicht auf die Funktion "Y = X1/2", d.h., das Quadrat "Xr = Yr " wird errechnet auf der Grundlage der Zwischenquadartwurzel Yr. Die inverse Funktion Xr wird durch die nachstehende Gleichung ausgedrückt.
  • Xr = Yr²
  • = (Y + &delta;)²
  • = X + 2&delta; × Y + &delta;2
  • = X + &Delta; ... (15)
  • Wobei &Delta; den Ausdruck 2&delta; × Y + &delta;² bedeutet. Aus der Gleichung (15) geht hervor, daß das Quadrat Xr größer als der gegebene Wert X um den Wert &Delta; oder 2&delta; × Y + &delta;² ist. Wenn der Absolutwert des Fehlers &delta; der Zwischenquadratwurzel Yr kleiner als 2&supmin;&sup5;³ ist, genügt das Maximum des Absolutwerts des Wertes &Delta; oder 2&delta; × Y + &delta;² der nachstehenden Beziehung.
  • &Delta; max = 2&delta; × Y + &delta;² max
  • < 2 × 2&supmin;&sup5;³ × 2 + 2&supmin;¹&sup0;&sup6;
  • < 2&supmin;&sup5;¹ × 2&supmin;¹&sup0;&sup6; ... (16)
  • Die Gleichung 16 offenbart, daß die Ziffern in Stellen gleich oder über der Stelle mit dem Gewicht von 2&supmin;&sup5;&sup0; immer Null sind, wenn der Absolutwert des Wertes &Delta; durch eine Binärzahl dargestellt wird. Da nun ein normierter Mantissenteil angenommen wird, sind die Ziffern des gegebenen Wertes X an Stellen gleich oder unter der Stelle mit dem Gewicht 2&supmin;&sup5;³ immer Null. Somit überlappen sich Nicht- Null- Ziffern des gegebenen Wertes X und des Wertes &Delta; an Stellen mit Gewichten von 2&supmin;&sup5;¹ und 2&supmin;&sup5;². Zur Entscheidung, ob der gegebene Wert X oder das Quadrat Xr größer ist, ist es folglich erforderlich, nicht nur die Ziffern in der 2&supmin;&sup5;³- ten Stelle und unteren Stellen zu berücksichtigen, sondern auch die Ziffern an höheren Stellen.
  • Wenn der Wert &Delta; durch Subtraktion des gegebenen Wertes X vom Quadrat Xr errechnet wird, da der Absolutwert des Wertes &Delta; kleiner als 2&supmin;&sup5;&sup0; ist, wie sich aus der Gleichung (16) ergibt, führt die Untersuchung der Ziffern des Subtraktionsergebnisses &Delta; in der 2&supmin;&sup5;&sup0;- ten Stelle und den unteren Stellen zur Entscheidung, ob der gegebene Wert X oder das Quadrat Xr größer ist. Das Ergebnis der Entscheidung ermöglicht die Entscheidung in Folge, ob die Zwischenquadratwurzel Yr oder die unendlich genaue Quadratwurzel Y größer ist, und dann wird die kritische Ziffer S bestimmt.
  • Wenn insbesondere die Ziffer des Wertes &Delta; in der 2&supmin;&sup5;&sup0;- ten Stelle gleich Null ist, und wenigstens eine der Ziffern des Wertes &Delta; in der 2&supmin;&sup5;¹- ten Stelle und den unteren Stellen sich von Null unterscheidet, ist der Wert &Delta; positiv, und die Zwischenquadratwurzel Yr ist größer als die unendlich genaue Quadratwurzel Y, und somit ist es richtig, die kritische Ziffer auf - 1 zu setzen. Wenn alle Ziffern des Wertes &Delta; in der 2&supmin;&sup5;&sup0;- ten Stelle und den unteren Stellen Null sind, ist der Wert &Delta; gleich Null und die Zwischenquadratwurzel Yr ist gleich der unendlich genauen Quadratwurzel Y, und somit ist es richtig, die kritische Ziffer S auf Null zu setzen. Wenn die Ziffer des Wertes &Delta; in der 2&supmin;&sup5;&sup0;- ten Stelle gleich 1 ist, wird der Wert &Delta; negativ und die Zwischenquadratwurzel Yr kleiner als die unendlich genaue Quadratwurzel Y, und somit ist es richtig, die kritische Ziffer auf 1 zu setzen.
  • Genauere Quadratwurzelerrechnung macht es möglich, die Entscheidung, ob der gegebene Wert X oder das Quadrat Xr größer ist, lediglich durch Untersuchungen der Ziffern des Quadrates Xr in der 2&supmin;&sup5;³- ten Stelle und den unteren Stellen zu treffen. Wenn insbesondere der Absolutwert des Fehlers &delta; in der Zwischenquadratwurzel Yr kleiner als 2&supmin;&sup5;&sup6; ist, wird die Beziehung (16) durch folgende Gleichung ersetzt.
  • &Delta; max = 2&delta; × Y + &delta;² max
  • < 2 × 2&supmin;&sup5;&sup6; × 2 + 2&supmin;¹¹²
  • < 2&supmin;&sup5;&sup4; × 2&supmin;¹¹² ... (17)
  • Die Gleichung (17) legt dar, daß die Ziffern an Stellen gleich oder unterhalb der Stelle mit einem Gewicht von 2&supmin;&sup5;³ immer Null sind, wenn der Absolutwert des Wertes &Delta; durch eine Binärzahl dargestellt wird. Folglich kann die kritische Ziffer S leicht bestimmt werden, wie auch im vierten Ausführungsbeispiel
  • BESCHREIBUNG DES SECHSTEN BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
  • Ein sechstes Ausführungsbeispiel nach der Erfindung ist den Ausführungsbeispielen der Figuren 4 bis 6 gleich, mit Ausnahme einer später beschriebenen Bemessungsänderung. Fig. 7 zeigt ein Gerät zur Ausführung arithmetischer Verarbeitung im sechsten Ausführungsbeispiel Das Gerät von Fig. 7 unterscheidet sich vom Gerät von Fig. 5 in folgenden Punkten. Anstelle der Multiplizierschaltung 606 wird eine Multiplizierschaltung 806 verwendet. Die Multiplizierschaltung 806 empfängt die Ausgangsdaten vom X- Register 601. Ein Generator 812 für die kritische Ziffer wird anstelle des Generators 612 für die kritische Ziffer verwendet. Der Generator 812 für die kritische Ziffer erzeugt Daten der kritischen Ziffer S abhängig von Ausgangsdaten aus der Multiplizierschaltung 806. Die Daten der kritischen Ziffer S werden vom Generator 812 für die kritische Ziffer an die Addier/Subtrahier- Rundungsschaltung 610 geliefert.
  • Fig. 8 zeigt einen innneren Plan der Multiplizierschaltung 806. In Fig. 8 werden Daten eines Multiplikanden, Daten eines Multiplikators und Daten eines Subtrahenden eingegeben und in einem Multiplikanden- Eingabezwischenspeicher 701, einem Multiplikatoreingabezwischenspeicher 702 bw. einen Subtrahenden- Eingabezwischenspeicher 703 gehalten. Die Daten des Multiplikators werden vom Multiplikator- Eingabezwischenspeicher 702 an eine Multiplikatoraufzeichnungsschaltung 704 geliefert. Die Multiplikatorauf zeichnungsschaltung 704 dient der Wiedergabe der Zahl von Partialprodukten. Wenn die Multiplikatoraufzeichnungsschaltung 704 beispielsweise das 2- Bit- Booth'sche Verfahren verwendet, kann die Anzahl von Partialprodukten auf eine Anzahl reduziert werden, die sich in etwa der Hälfte der Anzahl der Ziffern des belieferten Multiplikators entspricht. Bei dem 2- Bit- Booth'schen Verfahren werden 2- Bit- Segmente einer eingegebenen Binärzahl aufeinanderfolgend in Werte von "2", "1", "0", "-1" und "- 2" gewandelt. Die Multiplikatoraufzeichnungsschaltung 704 gibt Daten von einem aufgezeichneten Multiplikator an Partialprodukt- Erzeugungsschaltungen 705 ab. Die Daten des Multiplikanden werden von dem Multiplikand- Eingabezwischenspeicher 701 und den Partialprodukt- Erzeugungsschaltungen 705 geliefert. Die Partialprodukt- Erzeugungsschaltungen 705 erzeugen eine Vielzahl von Partialprodukten aus dem aufgezeichneten Multiplikatoren und den Multiplikanden.
  • Die Daten des Subtrahenden werden vom Subtrahend- Eingabezwischenspeicher 703 an eine Subtrahend- Wandelschaltung 706 geliefert. Die Subtrahend-Wandelschaltung 706 erzeugt den Vorzeicheninversionswert des Subtrahenden, der das gleiche Format ausdrückt wie das Format der Partialprodukte des Multiplikanden und des Multiplikators. Wenn eine Multiplizierschaltung binäre Zahlen in innerer Rechnung handhabt, basiert das Ausdruckformat des Komplements des Subtrahenden auf 2. Wenn eine Multiplilierschaltung redundante Binärzahlen in innerer Rechnung handhabt, basiert das Ausdrucksformat auf einer redundanten Binärzahl Die Partialprodukte und der Vorzeicheninversionswert des Subtrahenden werden von Partialprodukt- Addierschaltungen 707 in sequentieller Weise oder in Baumart addiert, und das Ergebnis dieser Addition wird an einen Multiplkationsergebnis- Ausgabezwischenspeicher 708 geliefert.
  • Wie sich aus der vorstehenden Beschreibung ergibt, kann die Multiplizierschaltung von Fig. 8 das Ergebnis der Subtraktion des Subtrahenden aus dem Produkt des Multiplikanden mit dem Multiplikator erzeugen. Die Multiplizierschaltung von Fig. 8 wird folgendermaßen benutzt. Daten einer Zwischenquadratwurzel Yr werden sowohl in den Multiplikand- Eingabezwischenspeicher 701 als auch in den Multiplikator- Eingabespeicher 702 geliefert. Daten eines gegebenen Wertes X werden in den Subtrahend- Eingabezwischenspeicher 703 gegeben. In diesem Falle stellen die in dem Multiplikationsergebnis- Ausgabespeicher 708 gespeicherten Daten einen Wert &Delta; dar, der durch folgende Gleichung ausgedrückt wird.
  • &Delta; = Yr² - X
  • = Xr - X ... (18)
  • Die Multiplizierschaltung von Fig. 8 kann den Wert &Delta; mit hoher Geschwindigkeit errechnen.
  • Eine kritische Ziffer S bei der Quadratwurzelerrechnung kann durch Bezug auf den Wert &Delta; bestimmt werden, wie im fünften Ausführungsbeispiel Die genaue Errechnung der Ziffern des Wertes &Delta; in der 2&supmin;&sup5;&sup0;- ten Stelle und den unteren Stellen ist hinreichend zur Bestimmung der kritischen Ziffer S. Darüber hinaus wird die Rechnung einer inversen Funktion nur bei der Erzeugung der kritischen Ziffer S verwendet. Folglich erfordern der Subtrahend- Eingabezwischenspeicher 703 und die Subtrahend- Wandelschaltung 706 nicht die Anzahl von Stellen gemäß der Zahl aller Ziffern des gegebenen Wertes X, sondern erfordern nur drei Stellen, die den beiden Stellen entsprechen, wo die Daten des Absolutwerts des Wertes &Delta; und die Daten des gegebenen Wertes x sich überlappen, und die unmittelbar höhere Stelle. Insbesondere entsprechen die drei erforderlichen Stellen den Stellen mit den Gewichten 2&supmin;&sup5;&sup0;, 2&supmin;&sup5;¹ und 2&supmin;&sup5;².
  • Darüber hinaus kann die Multiplizierschaltung von Fig. 8 zur Division verwendet werden. Während der Division kann die Entscheidung, ob das Produkt Xr oder der Dividend X größer sind, von der Multiplizierschaltung von Fig. 8 ausgeführt werden, während die Ausführung der Subtraktion aus der Addier/Subtrahier- Rundungsschaltung 610 entfällt. In Abhängigkeit des Ergebnisses dieser Entscheidung bestimmt der Generator 812 für die kritische Ziffer die kritische Ziffer S. Das Fortlassen der Ausführung der Subtraktion aus der Addier/Subtrahier- Rundungsschaltung 610 ermöglicht eine höhere Arbeitsgeschwindigkeit.

Claims (11)

1. Verfahren zur Herleitung von Digitaldaten Ye, die einen Endnäherungswert für eine unendlich genaue Lösung Y repräsentieren, die durch eine Funktion F gemäß Y = F(X) in Hinsicht auf Digitaldaten X mit einer ersten Anzahl von signifikanten Ziffern bestimmt ist, wobei die Digitaldaten Ye eine zweite Anzahl signifikanter Ziffern haben und mit einem Abrundungergebnis der unendlich genauen Lösung Y in einem bestimmten Rundungsmodus übereinstimmen, mit den Verfahrens schritten:
Erzeugen (101) digitaler Daten Ya, die einen Näherungswert für die unendlich genaue Lösung Y darstellen, mit einer Genauigkeit, bei der ein Fehler zwischen der unendlich genauen Lösung Y und dem Digitaldatum Ya geringer ist als die Wichtung einer Ziffer in einer um zwei Stellen unter der wenigst signifikanten Ziffer der Digitaldaten Ye liegenden Stelle;
Runden (102) der Digitaldaten Ya und dadurch Erzeugen digitaler Daten Yr, die eine vorläufige Lösung nahe den Digitaldaten Ya darstellen, wobei die Digitaldaten Yr Ziffern an Stellen besitzen, deren geringste in einem Stellenbereich von einer Stelle beginnt, die um wenigstens eine Stelle geringer als die geringste der signifikanten Ziffer der Digitaldaten Ye ist, und an einer Stelle endet, die um wenigstens eine Stelle höher als eine Stelle minimaler Wichtung ist, wobei die Wichtung einer Ziffer in der Stelle minimaler Wichtung größer als der maximale Fehler der digitalen Daten Ya ist;
Erzeugen (103) digitaler Daten Xr, die durch die Digitaldaten Yr und eine Funktion F&supmin;¹ bestimmt sind, die bezüglich der Funktion F gemäß Xr = F&supmin;¹ (Yr) invers ist, Entscheiden (104-108), welche der unendlich genauen Lösung Y und der Digitaldaten Yr größer ist in Bezug auf eine Größenrelation zwischen den Digitaldaten X und den Digitaldaten Einstellen einer kritischen Ziffer S auf +1, 0 oder auf - 1 abhängig von der Entscheidung durch den Entscheidungsschritt;
Addieren der kritischen Ziffer S zu einer Stelle unmittelbar unter der untersten Stelle der Digitaldaten Yr und
Runden (109) der Resultierenden der Addition der kritischen Ziffer zu den Digitaldaten Yr in dem bestimmten Rundungsmodus, um dadurch die Digitaldaten Ye zu erzeugen.
2. Verfahren nach Anspruch 1, bei dem sich die Funktion F auf Digitaldaten D mit einer dritten Anzahl signif ikanter Ziffern bezieht und mit Y = F(X) = X/D angegeben wird, und wobei die inverse Funktion F&supmin;¹ mit X = F&supmin;¹(Y) = Y × D angegeben wird.
3. Verfahren nach Anspruch 1, bei dem das Digitaldatum X positiv ist und die Funktion F mit Y = F(X) = X1/2 und die inverse Funktion F¹ mit X = F&supmin;¹(Y) = Y² angegeben wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem der Entscheidungsschritt das Einstellen (106) einer kritischen Ziffer S auf den Wert 0 einschließt, wenn das Digitaldatum X und das Digitaldatum Xr einander gleich sind; mit dem Verfahrensschritten: Entscheiden (105), ob die unendlich genaue Lösung Y oder das Digitaldatum Yr größer ist in Bezug auf die Größenrelation zwischen dem Digitaldatum X und dem Digitaldatum Xr, wenn sich das Digitaldatum X und das Digitaldatum Xr voneinander unterscheiden; Einstellen (107) der kritischen Ziffer S auf einen Wert von - 1, wenn die unendlich genaue Lösung Y kleiner als das Digitaldatum Yr ist, und Einstellen (108) der kritischen Ziffer S in anderen Fällen auf den Wert 1, wobei das Runden und das Erzeugen (109) von Ye Addieren der kritischen Ziffer S zu einer Stelle unmittelbar unter der untersten Stelle der Digitaldaten Yr und Runden eines Ergebnisses der Addition in dem bestimmten Rundungsrnodus zur Erzeugung des Digitaldatums Ye einschließt.
5. Verfahren nach einem der Ansprüche 1 bis 3, bei dem der Verfahrensschritt der Erzeugung (101) von Ya und der Verfahrensschritt der Rundung (102) von Ya die Erzeugung des Digitaldatums Ya und des Digitaldatums Yr einschließt, so daß der maximale Absolutwert der Differenz zwischen dem Digitaldatum Xr und dem Digitaldatum X kleiner wird als die Wichtung einer Zifferstelle, die unmittelbar unter der wenigst signifikanten Ziffer des Digitaldatums X liegt, und wobei der Verfahrensschritt der Entscheidung die Untersuchung von Ziffern in Zifferstellen unter der Zifferstelle der Ziffer des Digitaldatums Xr einschließt, welche eine Wichtung hat, die der Wichtung der geringst signifkanten Ziffer des Digitaldatums X gleich ist, um der Größenrelation der zwischen dem Digitaldatum X und dem Digitaldatum Xr zu entscheiden.
6. Verarbeitungsgerät zur Herleitung von Digitaldaten Ye, die einen Endnäherungswert für eine unendlich genaue Lösung Y repräsentieren, die durch eine Funktion F gemäß Y = F(X) in Hinsicht auf Digitaldaten X mit einer ersten Anzahl von signifikanten Ziffern bestimmt ist, wobei die Digitaldaten Ye eine zweite Anzahl signifikanter Ziffern haben und mit einem Abrundungergebnis der unendlich genauen Lösung Y in einem bestimmten Rundungsrnodus übereinstimmen, mit:
Mitteln (502) zum Erzeugen digitaler Daten Ya, die einen Näherungswert für die unendlich genaue Lösung Y darstellen, mit einer Genauigkeit, bei der ein Fehler zwischen der unendlich genauen Lösung Y und dem Digitaldatum Ya geringer ist als die Wichtung einer Ziffer in einer um zwei Stellen unter der wenigst signifikanten Ziffer der Digitaldaten Ye liegenden Stelle;
Mitteln (505) zum Runden der Digitaldaten Ya und dadurch Erzeugen digitaler Daten Yr, die eine vorläufige Lösung nahe den Digitaldaten Ya darstellen, wobei die Digitaldaten Yr Ziffern an Stellen besitzen, deren geringste in einem Stellenbereich von einer Stelle beginnt, die um wenigstens eine Stelle geringer als die geringste der signifikanten Ziffer der Digitaldaten Ye ist, und an einer Stelle endet, die um wenigstens eine Stelle höher als eine Stelle minimaler Wichtung ist, wobei die Wichtung einer Ziffer in der Stelle minimaler Wichtung größer als der maximale Fehler der digitalen Daten Ya ist;
Mitteln (502) zum Erzeugen digitaler Daten Xr die durch die Digitaldaten Yr und eine Funktion F&supmin;¹ bestimmt sind, die bezüglich der Funktion F gemäß Xr = F&supmin;¹(Yr) invers ist,
Mitteln (503, 504, 505, 507) zum Entscheiden, welche der unendlich genauen Lösung y und der Digitaldaten Yr größer ist in Bezug auf eine Größenrelation zwischen den Digitaldaten X und den Digitaldaten Xr;
Mitteln zum Einstellen einer kritischen Ziffer S auf +1, oder auf -1, abhängig von der Entscheidung der Mittel (503, 504, 505, 507) zum Entscheiden;
Mitteln (505) zum Addieren der kritischen Ziffer S an eine Stelle unmittelbar unter der niedrigsten Stelle des Digitaldatums Yr; und mit
Mitteln (505) zum Runden des Ergebnisses der Addition der kritischen Ziffer zum Digitaldatum Yr in dem bestimmten Rundungsmodus, um dadurch das Digitaldaturn Ye zu erzeugen.
7. Gerät nach Anspruch 6, bei dem sich die Funktion F auf Digitaldaten D mit einer dritten Anzahl signifikanter Ziffern bezieht und mit Y = F(X) = X/D angegeben wird, und wobei die inverse Funktion F&supmin;¹ mit X = F&supmin;¹(Y) = Y × D angegeben wird.
8. Gerät nach Anspruch 6, bei dem das Digitaldatum X positiv ist und die Funktion F mit Y = F(X) = X1/2 und die inverse Funktion F&supmin;¹ mit X = F&supmin;¹(Y) = Y² angegeben wird.
9. Gerät nach einem der Ansprüche 6 bis 8, dessen Entscheidungsmittel ausgestattet ist mit Mitteln (507) zur Einstellung einer kritischen Ziffer S auf einen Wert von 0, wenn das Digitaldatum X und das Digitaldatum Xr einander gleich sind, Mitteln (505) zum Entscheiden, ob die unendlich genaue Lösung Y oder das Digitaldatum Yr größer ist in Bezug auf die Größenrelation zwischen dem Digitaldatum X und dem Digitaldatum Xr, wenn sich das Digitaldatum X und das Digitaldatum Xr voneinander unterscheiden, Mitteln (507) zum Einstellen der kritischen Ziffer S auf einen Wert von - 1, wenn die unendlich genaue Lösung Y kleiner als das Digitaldatum Yr ist, und mit Mitteln (507) zum Einstellen der kritischen Ziffer S auf einen Wert von 1 in anderen Fällen, und wobei die Mittel (505) zum Runden und Erzeugen von Ye Mittel zum Addieren der kritschen Ziffer S zu einer Stelle unmittelbar unter der niedrigsten Stelle des Digitaldatums Yr sowie Mittel (505) zum Runden eines Ergebnisses der Addition nach dem bestimmten Rundungsmodus zur Erzeugung des Digitaldatums Ye enthalten.
10. Gerät nach einem der Ansprüche 6 bis 8, dessen Ya- Erzeugungsmittel (502) und dessen Ya- Rundungsmittel (505) Mittel zur Erzeugung des Digitaldatums Ya umfaßt und des Digitaldatums Yr, so daß der maximale Absolutwert der Differenz zwischen dem Digitaldatum Xr und dem Digitaldatum X kleiner wird als die Wichtung einer Zifferstelle, die unmittelbar unter der geringst signifikanten Ziffer des Digitaldaturns x liegt, und wobei das Entscheidungsmittel Mittel zur Überprüfung von Ziffern in Zifferstellen unter der der Ziffer des Digitaldatums Xr enthält, welche eine wichtung hat, die der Wichtung der geringst signifikanten Ziffer des Digitaldatums X gleich ist, um die Größenbeziehung zwischen dem Digitaldatum X und dem Digitaldatum Xr zu entscheiden.
11. Zentralverarbeitungseinheit mit einer arithmetischen verarbeitungseinheit mit einem Gerät nach einem der Ansprüche 6 bis 10.
DE69030707T 1989-10-16 1990-10-16 Arithmetisches Verarbeitungsgerät und dazu benütztes Verfahren Expired - Fee Related DE69030707T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26844789 1989-10-16

Publications (2)

Publication Number Publication Date
DE69030707D1 DE69030707D1 (de) 1997-06-19
DE69030707T2 true DE69030707T2 (de) 1997-10-02

Family

ID=17458636

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69030707T Expired - Fee Related DE69030707T2 (de) 1989-10-16 1990-10-16 Arithmetisches Verarbeitungsgerät und dazu benütztes Verfahren

Country Status (5)

Country Link
US (4) US5212661A (de)
EP (2) EP0723218A3 (de)
JP (1) JP2938547B2 (de)
KR (1) KR940010806B1 (de)
DE (1) DE69030707T2 (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2783710B2 (ja) * 1991-10-25 1998-08-06 沖電気工業株式会社 直交変換器
EP0546977A3 (en) * 1991-12-13 1994-10-19 Ibm Method and apparatus for solving numerical problems that use a plurality of processing elements operating in parallel
EP0578950A3 (en) * 1992-07-15 1995-11-22 Ibm Method and apparatus for converting floating-point pixel values to byte pixel values by table lookup
GB9312745D0 (en) * 1993-06-21 1993-08-04 Questech Ltd Accurate digital divider
US5612909A (en) * 1994-09-29 1997-03-18 Intel Corporation Method and apparatus for rounding operands using previous rounding history
US5563818A (en) * 1994-12-12 1996-10-08 International Business Machines Corporation Method and system for performing floating-point division using selected approximation values
US5729481A (en) * 1995-03-31 1998-03-17 International Business Machines Corporation Method and system of rounding for quadratically converging division or square root
US5742537A (en) * 1995-06-30 1998-04-21 Wolrich; Gilbert M. Fast determination of floating point sticky bit from input operands
US5729485A (en) * 1995-09-11 1998-03-17 Digital Equipment Corporation Fast determination of carry inputs from lower order product for radix-8 odd/even multiplier array
US5726927A (en) * 1995-09-11 1998-03-10 Digital Equipment Corporation Multiply pipe round adder
US5764555A (en) * 1996-03-13 1998-06-09 International Business Machines Corporation Method and system of rounding for division or square root: eliminating remainder calculation
EP0837390A1 (de) * 1996-10-18 1998-04-22 Texas Instruments Incorporated Verbesserung an mikroprozessorbetriebenen integrierten Schaltungen oder damit zusammenhängend
US6223198B1 (en) 1998-08-14 2001-04-24 Advanced Micro Devices, Inc. Method and apparatus for multi-function arithmetic
US6134574A (en) * 1998-05-08 2000-10-17 Advanced Micro Devices, Inc. Method and apparatus for achieving higher frequencies of exactly rounded results
US6115733A (en) * 1997-10-23 2000-09-05 Advanced Micro Devices, Inc. Method and apparatus for calculating reciprocals and reciprocal square roots
US6115732A (en) * 1998-05-08 2000-09-05 Advanced Micro Devices, Inc. Method and apparatus for compressing intermediate products
US6144980A (en) * 1998-01-28 2000-11-07 Advanced Micro Devices, Inc. Method and apparatus for performing multiple types of multiplication including signed and unsigned multiplication
US6269384B1 (en) 1998-03-27 2001-07-31 Advanced Micro Devices, Inc. Method and apparatus for rounding and normalizing results within a multiplier
US6289365B1 (en) * 1997-12-09 2001-09-11 Sun Microsystems, Inc. System and method for floating-point computation
US6393554B1 (en) 1998-01-28 2002-05-21 Advanced Micro Devices, Inc. Method and apparatus for performing vector and scalar multiplication and calculating rounded products
US6487575B1 (en) * 1998-08-31 2002-11-26 Advanced Micro Devices, Inc. Early completion of iterative division
US6341300B1 (en) 1999-01-29 2002-01-22 Sun Microsystems, Inc. Parallel fixed point square root and reciprocal square root computation unit in a processor
US6384748B1 (en) 1998-12-21 2002-05-07 Base One International Corporation Method of encoding numeric data and manipulating the same
US6351760B1 (en) 1999-01-29 2002-02-26 Sun Microsystems, Inc. Division unit in a processor using a piece-wise quadratic approximation technique
JP2000260137A (ja) * 1999-03-11 2000-09-22 Fujitsu Ltd 記憶装置
JP3708423B2 (ja) * 2000-10-20 2005-10-19 株式会社日鉱マテリアルズ エポキシ樹脂用フェノール系硬化剤及びそれを用いたエポキシ樹脂組成物
US7031996B2 (en) * 2000-11-02 2006-04-18 Seagate Technology Llc Calculating square root of binary numbers with fixed-point microprocessor
US8015228B2 (en) * 2005-02-16 2011-09-06 Arm Limited Data processing apparatus and method for performing a reciprocal operation on an input value to produce a result value
JP4915454B2 (ja) * 2010-02-24 2012-04-11 Nttエレクトロニクス株式会社 演算回路及び方法
US9678714B2 (en) * 2014-07-11 2017-06-13 Imagination Technologies Limited Check procedure for floating point operations
US11467805B1 (en) 2020-07-10 2022-10-11 Ali Tasdighi Far Digital approximate multipliers for machine learning and artificial intelligence applications
US11416218B1 (en) 2020-07-10 2022-08-16 Ali Tasdighi Far Digital approximate squarer for machine learning

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3202805A (en) * 1961-10-02 1965-08-24 Bunker Ramo Simultaneous digital multiply-add, multiply-subtract circuit
EP0086904B1 (de) * 1982-02-18 1985-11-21 Deutsche ITT Industries GmbH Digitale Parallel-Rechenschaltung für positive und negative Binärzahlen
JPS61256436A (ja) * 1985-05-10 1986-11-14 Hitachi Ltd 演算装置
US4758972A (en) * 1986-06-02 1988-07-19 Raytheon Company Precision rounding in a floating point arithmetic unit
US4817048A (en) * 1986-08-11 1989-03-28 Amdahl Corporation Divider with quotient digit prediction
JPS6347874A (ja) * 1986-08-16 1988-02-29 Nec Corp 算術演算装置
US4785412A (en) * 1987-07-20 1988-11-15 Control Data Corporation Double precision approximate quotient network
US4878190A (en) * 1988-01-29 1989-10-31 Texas Instruments Incorporated Floating point/integer processor with divide and square root functions
US4928259A (en) * 1988-09-23 1990-05-22 Intel Corporation Sticky bit predictor for floating-point multiplication
EP0394499B1 (de) * 1988-11-04 1997-10-08 Hitachi, Ltd. Vorrichtung zum multiplizieren, teilen und ziehen der quadratwurzel
US4969118A (en) * 1989-01-13 1990-11-06 International Business Machines Corporation Floating point unit for calculating A=XY+Z having simultaneous multiply and add
US4941120A (en) * 1989-04-17 1990-07-10 International Business Machines Corporation Floating point normalization and rounding prediction circuit
USH1222H (en) * 1991-12-30 1993-08-03 Apparatus for determining sticky bit value in arithmetic operations

Also Published As

Publication number Publication date
US5313415A (en) 1994-05-17
KR940010806B1 (ko) 1994-11-16
JP2938547B2 (ja) 1999-08-23
KR910008561A (ko) 1991-05-31
US5434809A (en) 1995-07-18
EP0424086A3 (en) 1992-09-09
EP0723218A2 (de) 1996-07-24
US5212661A (en) 1993-05-18
DE69030707D1 (de) 1997-06-19
EP0723218A3 (de) 1996-07-31
JPH03206557A (ja) 1991-09-09
US5633818A (en) 1997-05-27
EP0424086B1 (de) 1997-05-14
EP0424086A2 (de) 1991-04-24

Similar Documents

Publication Publication Date Title
DE69030707T2 (de) Arithmetisches Verarbeitungsgerät und dazu benütztes Verfahren
DE68928376T2 (de) Vorrichtung zum multiplizieren, teilen und ziehen der quadratwurzel
DE68927121T2 (de) Absolutwertberechnende Schaltung mit einem einzigen Addierer
DE1956209C3 (de) Multipliziervorrichtung
DE2246968A1 (de) Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen
DE1549584C3 (de) Datenverarbeitungsanlage
DE3520014A1 (de) Datenkorrelationsanordnung und verfahren zur bestimmung von anpassungen durch pseudokorrelationswerte
DE4414172A1 (de) Gleit-Komma-Arithmetikeinheit zur Division und Quadratwurzelberechnung, die eine modifizierte Newton-Raphson Technik verwendet
DE2135590A1 (de) Vorrichtung und Verfahren zur Er zeugung trigonometrischer und anderer Funktionen
DE68924386T2 (de) Verfahren und Gerät zur Radix-2**n-Division mit überlappender Quotientenbitauswahl und gleichzeitiger Rundung und Korrektur des Quotienten.
DE3609250C2 (de)
DE2946846A1 (de) Rundungs-korrekturlogik fuer multiplizierer fuer modifizierten booth-algorithmus
DE69434806T2 (de) Verfahren, System und Vorrichtung zum automatischen Entwurf einer Multiplikatorschaltung und durch die Durchführung dieses Verfahrens entworfene Multiplikatorschaltung
DE19781794C2 (de) Verfahren und Einrichtung zur Division von Gleitkomma- oder ganzen Zahlen
DE68927652T2 (de) Dividierschaltung für ganze Zahlen, versehen mit einer Überlaufdetektionsschaltung
DE68926563T2 (de) Arithmetische Einheit für logarithmische Funktionen, versehen mit Mitteln zur gesonderten Verarbeitung von Pseudodivision und -multiplikation
DE3852576T2 (de) Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen.
DE4019646C2 (de) Vorrichtung und Verfahren zum Multiplizieren von Datenwörtern in Zweier-Komplement-Darstellung
DE10219158A1 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation
DE69032391T2 (de) Mehrere Bit umkodierender Multiplizierer
DE69023979T2 (de) Digitale Signalverarbeitung.
DE3340362C2 (de)
EP0628183A1 (de) Schaltungsanordnung zum digitalen multiplizieren von integer-zahlen
DE3434777A1 (de) Verfahren und vorrichtung zur vorzeichenerzeugung fuer einen uebertragsicherstellungsaddierer
DE68926289T2 (de) Gleitkommadivisions-Verfahren und -Anordnung

Legal Events

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