IP Library Granted Patent US 8,812,575
Granted Patent B2
US 8,812,575 · App. 13/177,488 · Granted Aug 19, 2014

Decimal floating-point square-root unit using Newton-Raphson iterations

Inventors: Ramy Raafat (Cairo, EG); Amira Mohamed (Cairo, EG); Hossam Ali Hassan Fahmy (Cairo, EG); Yasmeen Farouk (Cairo, EG); Mostafa Elkhouly (Cairo, EG); Tarek Eldeeb (Cairo, EG); Rodina Samy (Cairo, EG)
Assignee: SilMinds, LLC, Egypt
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,812,575
App. No.
13/177,488
Filed
Jul 6, 2011
Granted
Aug 19, 2014
Kind
B2
Art Unit
2193
USPC
708/205
Abstract

A system including: an input processing unit configured to: extract a significant and a bias exponent from the decimal floating-point radicand; and calculate a normalized significand; a square root unit configured to: calculate, using a FMA unit, a refined reciprocal square-root of the normalized significand; calculate an unrounded square-root of the normalized significand by multiplying the refined reciprocal square-root by the normalized significand; and generate a rounded square-root based on a first difference between the normalized significand and a square of the unrounded square-root; a master control unit operatively connected to the input processing hardware unit and the square-root hardware unit and configured to calculate an exponent for the unrounded square-root based on the number of leading zeros and a precision of the decimal floating-point radicand; and an output formulation unit configured to output a decimal floating-point square-root of the radicand based on the rounded square-root and the exponent.

Claims (82)

1. A method, comprising:

extracting a significand and a biased exponent from a decimal floating-point radicand;

generating a normalized significand based on a number of leading zeros in the significand;

calculating, using a redundant decimal fused-multiply and add (FMA) unit comprising circuitry, a refined reciprocal square-root of the normalized significand using a plurality of Newton-Raphson iterations;

calculating, using the redundant decimal FMA unit, an unrounded square-root of the normalized significant by multiplying the refined reciprocal square-root by the normalized significant;

generating a rounded square root based on a first difference between the normalized significand and a square of the unrounded square-root calculated using the redundant decimal FMA unit;

calculating an exponent for the unrounded square-root based on the number of leading zeros, a bias of the decimal floating-point radicand, and a precision (p) of the decimal floating-point radicand; and

outputting a decimal floating-point square-root of the radicand based on the rounded square root and the exponent.

2. The method of claim 1 , further comprising:

multiplying, in response to the exponent being an odd number and using the redundant decimal FMA unit, the unrounded square-root by the positive square-root of ten.

3. The method of claim 1 , further comprising:

calculating a sticky bit by performing an OR operation on the least significant p+3 digits of the unrounded square-root; and

adding, in response to the sticky bit equaling one, a bias of 10E(−p−1) to the unrounded square-root.

4. The method of claim 1 , further comprising:

raising a NotExact flag in response to the first difference exceeding zero or the first difference equaling zero and at least one of the least significant p−1 digits not equaling zero,

wherein generating the rounded square-root is further based on the NotExact flag.

5. The method of claim 1 , further comprising:

identifying a number of trailing zeros in the significand;

identifying a number of trailing zeros in the rounded square root;

calculating a second difference between the number of trailing zeros in the rounded square-root and one-half the number of trailing zeros in the significand; and

right shifting, in response to the second difference being positive, the rounded square-root by the second difference.

6. The method of claim 5 , further comprising:

calculating, using the redundant decimal FMA unit, a square of the rounded square-root;

calculating a second difference between the rounded square-root and the normalized significand; and

raising an output inexact flag in response to the second difference not equaling zero.

7. The method of claim 1 , wherein the bias is 398, and wherein the precision is 16.

8. The method of claim 1 , further comprising:

identifying the k most significant digits of the normalized significand;

obtaining a value from a lookup table by inputting the k most significant digits into the lookup table;

identifying the p−k least significant digits of the normalized significand;

calculating the nine's complement of one half the p−k least significant digits of the normalized significand;

calculating a sum by adding the k most significant digits to the nine's complement of one half the p−k least significant digits; and

calculating an initial square root reciprocal for the plurality of Newton-Raphson iterations by multiplying the sum with the value from the lookup table.

9. The method of claim 1 , wherein calculating the refined reciprocal square-root comprises:

calculating, during a first iteration of the plurality of iterations and using the redundant decimal FMA unit, a first multiplier in a carry save format by multiplying one-half the normalized significand with an initial reciprocal square-root;

calculating, during the first iteration and using the redundant decimal FMA unit, a second multiplier in the carry save format by multiplying the first multiplier with the initial reciprocal square-root and inserting, as an input vector, an addend of 1.5 to be added to a plurality of partial products using a carry save reduction tree;

calculating, during the first iteration and using the redundant decimal FMA unit, a third multiplier in the carry save format by multiplying the second multiplier with the initial reciprocal square-root; and

calculating, during a second iteration of the plurality of iterations and using the redundant decimal FMA unit, a fourth multiplier in the carry save format by multiplying one-half the normalized significand with the third multiplier.

10. A system, comprising:

an input processing hardware unit configured to:

extract a significant and a bias exponent from the decimal floating-point radicand;

calculate a normalized significand from the significand; and

calculate an initial reciprocal square-root of the normalized significand;

a square root hardware unit comprising a redundant decimal fused-multiply and add (FMA) unit and configured to:

calculate, using the redundant decimal FMA unit, a refined reciprocal square-root of the normalized significand using a plurality of Newton-Raphson iterations;

calculate, using the redundant decimal FMA unit, an unrounded square-root of the normalized significand by multiplying the refined reciprocal square-root by the normalized significand; and

generate a rounded square-root based on a first difference between the normalized significand and a square of the unrounded square-root calculated using the redundant decimal FMA unit;

a master control hardware unit operatively connected to the input processing hardware unit and the square-root hardware unit and configured to calculate an exponent for the unrounded square-root based on the number of leading zeros, a bias of the decimal floating-point radicand, and a precision (p) of the decimal floating-point radicand; and

an output formulation hardware unit configured to output a decimal floating-point square-root of the radicand based on the rounded square-root and the exponent.

11. The system of claim 10 wherein the bias is 398, and wherein the precision is 16.

12. The system of claim 10 , wherein the input processing hardware unit comprises:

a counter unit to identify at least one selected from a group consisting of a number of leading zeros in the significant and a number of trailing zeros in the significant;

a shifter unit for calculating the normalized significand by shifting the significand by the number of leading zeros; and

an initial reciprocal generation unit for calculating the initial reciprocal square-root of the normalized significand.

13. The system of claim 12 , wherein the initial reciprocal generation unit comprises:

a partitioning unit configured to identify the k most significant digits of the normalized significand and to identify the p−k least significant digits of the normalized significand;

a nine's complement unit configured to calculate the nine's complement of one half the p−k least significant digits of the normalized significand;

a summation unit configured to sum the nine's complement and the k most significant digits;

a lookup table configured to output a value in response to an input of the k most significant digits of the normalized significand; and

a decimal fixed-point multiplier unit for calculating the initial reciprocal square root by multiplying the value and the sum.

14. The system of claim 10 , wherein the square-root hardware unit further comprises a biasing unit configured to:

calculate a sticky bit by performing an OR operation on the least significant p+3 digits of the unrounded square-root; and

add, in response to the sticky bit equaling one, a bias of 10E(−p−1) to the unrounded square-root.

15. The system of claim 10 , wherein the square-root hardware unit further comprises:

a rounding unit for generating the rounded square-root and configured to raise a NotExact flag in response to the first difference exceeding zero or the first difference equaling zero and at least one of the least significant p−1 digits not equaling zero.

16. The system of claim 10 , wherein the master control hardware unit is further configured to:

obtain a number of trailing zeros in the significand;

obtain a number of trailing zeros in the rounded square-root; and

calculate a second difference between the number of trailing zeros in the rounded square root and on-half the number of trailing zeros in the significand.

17. The system of claim 16 , wherein the square-root hardware unit further comprises:

a right shifter unit configured to right shift the rounded square-root by the second different in response to the second difference being positive.

18. The system of claim 10 , wherein the redundant decimal FMA comprises:

a multiplicand input;

a multiplier input;

a carry save reduction tree; and

a feedback path connecting an output of the carry save reduction tree to the multiplier input.

19. The system of claim 18 , wherein the redundant decimal FMA unit is configured to:

calculate, during a first iteration of the plurality of iterations, a first multiplier in a carry save format by multiplying one-half the normalized significand with an initial reciprocal square-root;

calculate, during the first iteration, a second multiplier in the carry save format by multiplying the first multiplier with the initial reciprocal square-root and inserting, as an input vector, an addend of 1.5 to be added to a plurality of partial products using the carry save reduction tree;

calculate, during the first iteration and using the redundant decimal FMA unit, a third multiplier in the carry save format by multiplying the second multiplier with the initial reciprocal square-root; and

calculate, during a second iteration of the plurality of iterations and using the redundant decimal FMA unit, a fourth multiplier in the carry save format by multiplying one-half the normalized significand with the third multiplier.

20. The system of claim 19 , wherein the redundant decimal FMA unit is further configured to multiply, in response to the exponent being an odd number, the unrounded square root by the positive square-root of ten.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2015
From: SILMINDS, LLC
To: SILMINDS, INC.
Reel/Frame 035270/0829 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2011
From: RAAFAT, RAMY; MOHAMED, AMIRA; FAHMY, HOSSAM ALI HASSAN; FAROUK, YASMEEN; ELKHOULY, MOSTAFA; ELDEEB, TAREK; SAMY, RODINA
To: SILMINDS, LLC, EGYPT
Reel/Frame 026556/0598 →
Continuity (2)
Provisional Application 61361552 · Jul 6, 2010
Related Publication 20120011182A1 · Jan 12, 2012