Processing Unit Having a Decimal Floating-Point Divider Using Newton-Raphson Iteration
Inventors: Michael Schulte, Liang-Kai Wang
The Wisconsin Alumni Research Foundation (WARF) is seeking commercial partners interested in developing a high-speed method for dividing decimal floating-point numbers.
Most decimal dividers are for fixed-point (typically integer) decimal data. They cannot be directly applied to floating-point decimal dividers; require time-consuming and error-prone scaling when working with numbers of different magnitudes; and use digit recurrence algorithms, which compute only a single digit of the result during each iteration. On the other hand, most floating-point dividers use binary, rather than decimal, arithmetic. Because most data are in decimal form, they must be converted to binary data, processed and then converted back to decimal, which is a time-consuming process that often introduces unacceptable errors.
UW-Madison researchers have developed a high-speed method for dividing decimal floating-point numbers. The technology uses an accurate piecewise linear approximation to obtain an initial estimate of the divisor’s reciprocal. The initial estimate is then improved using a modified form of Newton-Raphson iteration. Finally, the divisor’s reciprocal is multiplied by the dividend and efficiently rounded to produce the quotient.
- Dividing decimal floating-point numbers
- Significantly faster than current methods
- Avoids errors resulting from conversions between binary and decimal form
- Achieves accurate decimal division in relatively few iterations: Newton-Raphson iteration approximately doubles the number of accurate digits during each iteration
- Uses operand modification and decimal encoding to reduce memory requirements
- Avoids scaling problems associated with fixed-point dividers
- Can be modified for decimal fixed-point numbers