[go: up one dir, main page]

GB2372353A - Method and apparatus for calculating a reciprocal - Google Patents

Method and apparatus for calculating a reciprocal Download PDF

Info

Publication number
GB2372353A
GB2372353A GB0129122A GB0129122A GB2372353A GB 2372353 A GB2372353 A GB 2372353A GB 0129122 A GB0129122 A GB 0129122A GB 0129122 A GB0129122 A GB 0129122A GB 2372353 A GB2372353 A GB 2372353A
Authority
GB
United Kingdom
Prior art keywords
significant bits
entries
output
mantissa
input
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.)
Withdrawn
Application number
GB0129122A
Other versions
GB0129122D0 (en
Inventor
Alexei Krouglov
Jie Zhou
Daniel Gudmunson
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.)
Sicon Video Corp
Original Assignee
Sicon Video Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CA002329104A external-priority patent/CA2329104C/en
Application filed by Sicon Video Corp filed Critical Sicon Video Corp
Publication of GB0129122D0 publication Critical patent/GB0129122D0/en
Publication of GB2372353A publication Critical patent/GB2372353A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/035Reduction of table size
    • G06F1/0356Reduction of table size by using two or more smaller tables, e.g. addressed by parts of the argument
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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

Landscapes

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

Abstract

A method and apparatus for the calculation of the reciprocal of a normalized mantissa <I>M</I> for a floating-point input number <I>D</I>. A formula for determining the minimum size for the look-up table in accordance with the required precision is provided, as well as formulas for calculating look-up table entries. The look-up table stores the initiation approximations and the correction coefficients, which are addressed by the corresponding number of the mantissa's most significant bits and used to obtain the initial approximation of the reciprocal by means of linear interpolation requiring one subtraction operation and one multiplication operation. The result of the linear interpolation may be fed to a Newton-Raphson iteration device requiring, for each iteration, two multiplication operations and one two's complement operation, thereby doubling the precision of the reciprocal.

Description

METHOD AND APPARATUS FOR CALCULATING A RECIPROCAL
Field of Invention
This invention relates to signal processing. In particular, this invention relates to a method and apparatus for calculating the reciprocal or inverse of a number.
Background of the Invention
Calculating the reciprocal plays an important role in the division operation, especially with floating-point decimal numbers. By using a reciprocal, the result of the division of two numbers can be obtained by multiplying the dividend by the inverse of the divisor. This division method can be used to increase the speed of processing complex calculations in digital processing devices such as computers and in application-specific integrated circuits such as digital signal processing (DSP) processors.
According to IEEE Standard for Binary Floating-Point Arithmetic 0754P1985, which is incorporated herein by reference, floating-point standard numbers in floating-
point formats are packed within 32 bits with a significand (mantissa) 24 bits long in single precision, or packed within 64 bits with a significand 53 bits long in double .. precision. Several interpolation and iteration methods are widely used by developers for calculating reciprocals, including direct approximation, linear interpolation, square interpolation, cubic interpolation, and so on.
In the direct approximation method of obtaining reciprocal of a number, all possible mantissas for reciprocals are stored in a ROM table. Using this method the result can be obtained quickly, but this method requires an extremely large memory capacity.
For example, to obtain a reciprocal according to the IEEE standard 754 single precision floating-point format requires 223 x 23 = 184 Mbits of memory.
The linear interpolation method is based on the theorem of a mean value from calculus, and can be summarized for the calculation of reciprocal as follows:
I = 1 - 2 (X - Xo) where e [ xO, x] and x 2 xO.
It is also possible to use square interpolation, cubic interpolation and other interpolation methods to obtain a reciprocal with the required precision. However, all of these methods require additional multiplication operations, and require additional memory to store the correction coefficients. The main disadvantage of interpolation methods is that as the desired precision increases, the amount of memory required to store the necessary data also increases.
In digital computers the Newton-Raphson iteration method is widely used for calculating reciprocals. This method gives the solution of the equation f(z) = 0 (2) based on employing the recurrent formula Z + = Z' f,( ') (3) The values z; obtained after iteration i are quadratically converging toward z, so the corresponding errors after iteration i and iteration i + 1 relate by the expression: 6(Zj+) < 62(zj) (4) Employing the Newton-Raphson method for calculating reciprocal x =-
a produces the following expression: x +, = x; * (2 - a * x;) (5) As can be seen from equation (5), every iterative step of this method involves two multiplication operations performed in sequence, and one '2's complement' operation.
The precision of a reciprocal thus doubles after each iterative step. The disadvantage of - 2
the Newton-Raphson iteration method by itself is that it can require multiple iteration steps to obtain a reciprocal with the required precision.
To overcome the above disadvantages methods have evolved to use some type of interpolation method to obtain the initial approximation of a reciprocal, and then employ an iteration method based on this approximation. As an example, it has been proposed to use inverse tables to obtain the initial values for consecutive iterations.
Summary of the Invention
The present invention provides a method and apparatus for dividing a value which can deliver the inverse (reciprocal) of a number quickly and with a high precision.
According to the method of the invention, linear interpolation is employed to obtain an approximation of the reciprocal of a number. This approximation may then be used as an input value for Newton-Raphson iterations to calculate a reciprocal with high precision. Unlike prior art methods, the method of the invention provides a formula for
calculating a minimum number of entries in a look-up table to obtain the approximation of a reciprocal with required precision. The method of the invention also provides formulas for calculating initial approximations and correction coefficients for composing entries in look-up tables. An apparatus for implementing the method of the invention comprises a lookup table memory for storing these values, an integer multiplier, and a subtracter. The present invention thus provides a method for generating an output signal representing an output value approximating a reciprocal of input value D having a normalized mantissa M (where 1 s M < 2) represented by an input signal, the input signal comprising a set of N0 most significant bits and the output signal approximating the reciprocal with a desired precision = 2-N where N a No, comprising the steps of: a. for a set of P most significant bits of the input signal, generating a number n of entries in a plurality of lookup tables where n = 2P, including the sub steps of: i. generating a set of input entries y' comprising a set of N significant bits in a first lookup table, where i =
O...., n - 1; and ii. generating a set of input entries K' comprising a set of ( N - P) significant bits in a second lookup table, where i = 0,... , n - 1; b. finding the entries y' end K, in the lookup tables corresponding to the set of P most significant bits of the input signal; c. multiplying K' by a signal comprising a set of ( N - P) significant bits following the set of P most significant bits of the input signal; and d. subtracting the set of ( N - P) most significant bits from the set of N significant bits of the entry y'.
In further aspects of the method of the invention: the step of generating n entries in the lookup tables comprises the sub steps of: iii. calculating the minimum number I of lookup table entries necessary to obtain a precision higher than the desired precision, where 21+1 1: 21-1
- I < ú and - I 2 ú 21+2 \1+! 21 1
and iv. finding a required minimum number n of lookup table entries for n = 2P, where 2P-' < I and 2P 21; the step of generating a set of input entries in the first lookup table comprises the sub steps of: A. calculating W+1 n 2n Hi= 1 Xj(Xj + -) where i = 0,, n - 1, x0 = 1, and x + ' = x; + -, and B. finding entries yj comprising a set n of N significant bits and approximating a mantissa of y' for i = 0,, n - 1; and/or the step of generating a set of input entries in the second lookup table comprises the sub steps of: calculating 2N-P 1
K = 1 where i = 0,..., n - 1, x0 = l, and x +, = x' ±
x' (x' + -) n n - 4
and finding entries Kj comprising a set of ( N - P) significant bits and approximating integer parts of K' for i = 0,..., n - 1.
The present invention further provides an apparatus for calculating an inverse I having a precision = 2-N of an input value D with normalized mantissa M (where I < M < 2) comprising a set of No most significant bits where No 2 N. the apparatus comprising at least one processor, a first memory forming a lookup table addressed as a function of P most significant bits of the mantissa M and having an output Io comprising a set of N significant bits; a second memory forming a lookup table addressed as a function of P most significant bits of the mantissa M and having an output K comprising a set of ( N - P) significant bits; a multiplier of size (N - P) x (N - P) having two inputs of a set of ( N P) significant bits following the set of P most significant bits of the mantissa M and of the output K, and an output MU comprising a set of (N P) x (N - P) significant bits; and an adder/subtracter having an output I and having two inputs connected to respectively receive the output Io and the set of ( N - P) most significant bits of the output MU.
In further aspects of the apparatus of the invention: the first and second memories are combined into a storage device which stores both Io and K and is addressed as a function of P most significant bits of the mantissa M; the apparatus further comprises a device for performing a programmed Newton-Raphson iteration based on l; the first memory comprises a read only memory (ROM); the second memory comprises a read only memory (ROM); the storage device comprises at least one read only memory (ROM); and or the apparatus is included in a digital signal processing device.
Brief Description of the Drawings
In drawings which illustrate by way of example only a preferred embodiment of the invention, Figure 1 is a graph showing the linear interpolation method as used in the present invention,
Figure 2 is a block diagram showing a linear interpolation apparatus according to the invention for obtaining N-bit precision for the mantissa of a reciprocal, and Figure 3 is a block diagram showing a Newton-Raphson iteration apparatus for obtaining 2N-bit precision for the mantissa of a reciprocal.
Detailed Description of the Invention
The invention is applicable to calculations utilizing the mantissa M of a binary number D in the floating-point format. The mantissa M of the input number is assumed to have been preliminarily normalized, i.e. being equal to or more than one and less than two, such that 1 < M < 2.
Figure 1 illustrates a preferred embodiment of the linear interpolation method used in the method of the invention to approximate the reciprocal of a number. Relative to the direct approximation method, linear interpolation significantly reduces the number of entries required to be stored in a look-up table. To achieve an N-bit precision = 2-N for the mantissa M of reciprocal while employing the direct approximation method, the look-
up table would require 2N _ 1 equally spaced entries; whereas to obtain the same N-bit precision = 2-N -for the reciprocal's mantissa using the linear interpolation method, it is sufficient to have 2P entries in the look-up table where P c N. Each entry is distinct from the previous entry by 2-P, so P most significant bits (MSB) of the mantissa M constitute the look-up table address.
Values x' and x'+ in Figure 1 represent two consecutive entries in the look-up table. Value y, represents the approximation of the value-that is stored in the look-up Xj table. Value ( x - x') is represented by mantissa's bits next after its first P MSB.
The approximation of a required reciprocal is expressed by the following formula: y = y' - k'(x - x') (6) where kj is correction coefficient, and x; < x < x +.
- 6
To obtain a reciprocal's mantissa M with N-bit precision, at least ( N P) bits after P MSB of the mantissa M must be matched with at least ( N P) significant bits of correction coefficient kj shown in Figure 1. These coefficients are stored in the look-up table in integer form Kj = 2N-P X kj. Therefore, to obtain the reciprocal's mantissa M with N-bit precision involves the steps of multiplying the ( N - P) bits of the mantissa M by the ( N - P) bits of coefficient Kj in the integer multiplier of size (N P) x (N - P), dividing the result by 2N-P, and then subtracting the quotient from y.
The N bits of mantissa M for y' and the ( N - P) bits for integer Kj are stored in the look-up table. Values y' and Kj are calculated according to the following formulas with N and ( N - P) precision, respectively: i\:() t2 (7) Xj(Xj ±) n 2N-P Kj_ (8) xj(xj + -) where n is the number of entries in the look-up table.
The maximum error e of the linear interpolation method for finding the reciprocal of a mantissa M, normalized to lie between 1 and 2, depends on n and is expressed by the following formula: - 7
2n+2 The necessary number n of entries in the look-up table can be determined from formula (9) where the required maximum error is known.
For example, for n = 64 the maximum error of a linear interpolation method for obtaining a reciprocal is equal to e 2.98 * 10-5 > 2- 6, while for n = 128 the maximum error according to the linear interpolation method is 7.54 * 10- < 2- 6.
Figure 2 illustrates an apparatus 10 for calculating reciprocals according to the invention, which implements the method as described above. The P MSB of mantissa M of the input number D form the address line of the ROM 12 that has 2 entries. The ROM 12 preferably stores N bits for the inverse y, of a mantissa's P MSB (although it is sufficient to store ( N -1) bits since the leading bit of the inverse is always '0') and ( N - P) bits of the correction coefficient K,, to perform the linear interpolation.
The ( N - P) bits of correction coefficients K are provided to one input of integer multiplier 14 having a size ( N - P)x ( N - P). Provided to another input of the multiplier 14 is the ( N - P) bits value next after the P MSB of the input mantissa M. The ( N - P) MSB MU of the product obtained by multiplying ( N P) x ( N - P) bits long are provided to an input of integer subtracter 16 having a size N. The P MSB of the input MU are all '0', and the ( N - P) least significant bits (LSB) of the product are discarded. Provided to another input of the subtracter 16 are N bits of the reciprocal's approximation y' from the ROM 12 (shown as lo in Figure 2). The result of subtraction forms the N bits output (shown as I in Figure 2) of the apparatus 10.
Note if P MSB of the input mantissa M are equal to '1' (i.e. the most significant bit is ' 1' while other ( P - 1) bits are '0'), then the output I can be represented as 1's complement of ( N - P) bits of MU, which simplifies the calculations.
- 8
Fig. 3 illustrates an apparatus 20 for performing Newton-Raphson iterations of the result of linear interpolation, to increase the precision of the result from N-bit to 2N-bit precision. The N bits of output I from the interpolation apparatus 10 are provided to an input of integer multiplier 22 having a size N x 2N. Provided to another input of the multiplier 22 is 2N bits of output from the multiplexer 24. Multiplexer 24 alternately selects 2N MSB of the input mantissa M (padded with appended '0's if necessary) and 2N bits of the output of a 2's complement device 26.
Multiplier 22 produces a result 3N bits long. The N least significant sets of the product of this multiplication is discarded. The 2N most significant bits MU1 of the product are provided to the 2's complement device 26. The output of the 2's complement device 26 2N bits long is provided to the multiplexer 24. On the second pass through the multiplier 22 the 2N MSB of the product of the multiplication form the 2N bits output of the apparatus 20 (shown as an I in Figure 3).
While a preferred embodiment of the present invention has been shown and described by way of example only, it will be apparent to those skilled in the art that changes and modifications may be made without departing from the scope of the invention, as set out in the appended claims.

Claims (12)

CLAIMS:
1. A method for generating an output signal representing an output value approximating a reciprocal of input value D having a normalized mantissa M (where I < M < 2) represented by an input signal, the input signal comprising a set of No most significant bits and the output signal approximating the reciprocal with a desired precision = 2-N where N < No, comprising the steps of: a. for a set of P most significant bits of the input signal, generating a number n of entries in a plurality of lookup tables where n = 2P, including the sub steps of: i. generating a set of input entries yj comprising a set of N significant bits in a first lookup table, where i = 0,..., n - 1; and ii. generating a set of input entries Kj comprising a set of ( N - P) significant bits in a second lookup table, where i = 0,..., n - 1; b. finding the entries y, and Kj in the lookup tables corresponding to the set of P most significant bits of the input signal; c. multiplying Kj by a signal comprising a set of ( N - P) significant bits following the set of P most significant bits of the input signal; and d. subtracting the set of ( N - P) most significant bits from the set of N significant bits of the entry y'.
2. The method of claim 1 wherein the step of generating n entries in the lookup tables comprises the sub steps of: iii. calculating the minimum number I of lookup table entries necessary to obtain a precision higher than the desired precision, where 21+1 21-1 1:
< and 21 - I > s; and - 10
iv. finding a required minimum number n of lookup table entries for n = 2P, where 2P-' <I and 2P > 1.
3. The method of claim I wherein the step of generating a set of input entries in the first lookup table comprises the sub steps of: 1 I tiny y = \ /' 2 where i = 0,..., n - 1, x0 = 1, and Xj (Xj + -) x +' = x; + -; and B. finding entries y' comprising a set of N significant bits and approximating a mantissa of y' for i = 0,..., n - 1.
4. The method of claim 1 wherein the step of generating a set of input entries in the second lookup table comprises the sub steps of: 2N-P A. calculating K' = 1 where =0,, n - 1, x0 =1, and Xj(Xj ±) n x,+, = x; + -; and n B. finding entries K' comprising a set of ( N - P) significant bits and approximating integer parts of K' for i = 0,..., n - 1.
5. An apparatus for calculating an inverse I having a precision = 2-N of an input value D with normalized mantissa M (where 1 < M < 2) comprising a set of No most significant bits where No 2 N. the apparatus comprising at least one processor, - 11
a first memory forming a lookup table addressed as a function of P most significant bits of the mantissa M and having an output Io comprising a set of N significant bits; a second memory forming a lookup table addressed as a function of P most significant bits of the mantissa M and having an output K comprising a set of ( N - P) significant bits; a multiplier of size (N - P) x (N - P) having two inputs of a set of ( N P) significant bits following the set of P most significant bits of the mantissa M and of the output K, and an output MU comprising a set of (N P) x (N - P) significant bits; and an adder/subtracter having an output I and having two inputs connected to respectively receive the output It and the set of ( N - P) most significant bits of the output MU.
6. The apparatus of claim S wherein the first and second memories are combined into a storage device which stores both lo and K and is addressed as a function of P most significant bits of the mantissa M.
7. The apparatus of claim 5 further comprising a device for performing a programmed Newton-Raphson iteration based on 1.
8. The apparatus of claim 5 wherein the first memory comprises a read only memory (ROM).
9. The apparatus of claim 5 wherein the second memory comprises a read only memory (ROM).
10. The apparatus of claim 6 wherein the storage device comprises at least one read only memory (ROM).
11. A digital signal processing device comprising the apparatus of claim 5.
- 12
12. A method for generating an output signal representing an output value approximating a reciprocal of input value D having a normalized mantissa M (where I M < 2) represented by an input signal, the input signal comprising a set of N<, substantially as hereinbefore described with reference to the accompanying drawings.
- 13
GB0129122A 2000-12-20 2001-12-05 Method and apparatus for calculating a reciprocal Withdrawn GB2372353A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA002329104A CA2329104C (en) 2000-12-20 2000-12-20 Method and apparatus for calculating a reciprocal
US09/781,951 US6769006B2 (en) 2000-12-20 2001-02-14 Method and apparatus for calculating a reciprocal

Publications (2)

Publication Number Publication Date
GB0129122D0 GB0129122D0 (en) 2002-01-23
GB2372353A true GB2372353A (en) 2002-08-21

Family

ID=25682301

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0129122A Withdrawn GB2372353A (en) 2000-12-20 2001-12-05 Method and apparatus for calculating a reciprocal

Country Status (3)

Country Link
JP (1) JP2002244843A (en)
FR (1) FR2818407A1 (en)
GB (1) GB2372353A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2423386A (en) * 2005-02-16 2006-08-23 Advanced Risc Mach Ltd Performing a reciprocal operation on an input value to produce a result value
GB2423385A (en) * 2005-02-16 2006-08-23 Advanced Risc Mach Ltd Determining an initial estimate of a result value of a reciprocal operation

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065633A (en) * 2004-08-27 2006-03-09 Sony Computer Entertainment Inc Arithmetic method and device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0377992A2 (en) * 1989-01-13 1990-07-18 International Business Machines Corporation Floating point division method and apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0377992A2 (en) * 1989-01-13 1990-07-18 International Business Machines Corporation Floating point division method and apparatus

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Proceedings of the 9th Symposium on Computer Arithmetic", published September 1989, pages 60 to 67, Fowler and Smith, "An accurate, high speed implementation of division by reciprocal approximation" *
"Proceedings of the Euromicro Symposium on Digital Systems Design", published September 2001, pages 354 to 361, Liddicoat and Flynn "High-performance floating point divide" *
IEEE Transactions on Computers, Vol 49, No 7, July 2000, Ercegovac, Lang, Muller and Tisserand, "Reciprocation, square root, inverse square root and some elementary functions using small multipliers", pages 628 to 637 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2423386A (en) * 2005-02-16 2006-08-23 Advanced Risc Mach Ltd Performing a reciprocal operation on an input value to produce a result value
GB2423385A (en) * 2005-02-16 2006-08-23 Advanced Risc Mach Ltd Determining an initial estimate of a result value of a reciprocal operation
GB2423386B (en) * 2005-02-16 2008-10-29 Advanced Risc Mach Ltd Data processing apparatus and method for performing a reciprocal operation on an input value to produce a result value
GB2423385B (en) * 2005-02-16 2009-05-13 Advanced Risc Mach Ltd Data processing apparatus and method for determining an initial estimate of a result value of a reciprocal operation
US7747667B2 (en) 2005-02-16 2010-06-29 Arm Limited Data processing apparatus and method for determining an initial estimate of a result value of a reciprocal operation
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
US8965946B2 (en) 2005-02-16 2015-02-24 Arm Limited Data processing apparatus and method for performing a reciprocal operation on an input value to produce a result value

Also Published As

Publication number Publication date
JP2002244843A (en) 2002-08-30
GB0129122D0 (en) 2002-01-23
FR2818407A1 (en) 2002-06-21

Similar Documents

Publication Publication Date Title
US5046038A (en) Method and apparatus for performing division using a rectangular aspect ratio multiplier
US5307303A (en) Method and apparatus for performing division using a rectangular aspect ratio multiplier
EP0149248B1 (en) Method and apparatus for division using interpolation approximation
US6049815A (en) Method and apparatus for finite field multiplication
JPS60229140A (en) Double precision multiplier
JPH01125626A (en) Reciprocal calculating method
EP0372566B1 (en) Reciprocal arithmetic circuit with ROM table
JP2004005662A (en) Circuit, system, and method for calculating approximate value of logarithm, inverse logarithm, and reciprocal
US5261001A (en) Microcircuit for the implementation of RSA algorithm and ordinary and modular arithmetic, in particular exponentiation, with large operands
CA2329104C (en) Method and apparatus for calculating a reciprocal
US6754689B2 (en) Method and apparatus for performing subtraction in redundant form arithmetic
JPH03171324A (en) Circuit and method for calculating square root of operand
JP3551113B2 (en) Divider
US5793659A (en) Method of modular reduction and modular reduction circuit
JP2005018759A (en) Method and apparatus for implementing power of two floating point estimation
US4899302A (en) Arithmetic unit for inverse trigonometric function
EP0428942B1 (en) Plural-bit recoding multiplier
US5954788A (en) Apparatus for performing modular multiplication
EP0990981B1 (en) High speed multiplier
GB2372353A (en) Method and apparatus for calculating a reciprocal
Muscedere et al. On efficient techniques for difficult operations in one and two-digit DBNS index calculus
JP3913921B2 (en) Circuit for reciprocal of arbitrary element in finite field
EP1504338A1 (en) &#34;emod&#34; a fast modulus calculation for computer systems
JPH0540608A (en) Table look-up multiplier and multiplying method thereof
US7403966B2 (en) Hardware for performing an arithmetic function

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)