Browse > Article
http://dx.doi.org/10.3745/KIPSTA.2005.12A.5.413

A Variable Latency Newton-Raphson's Floating Point Number Reciprocal Square Root Computation  

Kim Sung-Gi (부경대학교 대학원 컴퓨터공학과)
Cho Gyeong-Yeon (부경대학교 공과대학 전자컴퓨터정보통신공학부)
Abstract
The Newton-Raphson iterative algorithm for finding a floating point reciprocal square mot calculates it by performing a fixed number of multiplications. In this paper, a variable latency Newton-Raphson's reciprocal square root algorithm is proposed that performs multiplications a variable number of times until the error becomes smaller than a given value. To find the rediprocal square root of a floating point number F, the algorithm repeats the following operations: '$X_{i+1}=\frac{{X_i}(3-e_r-{FX_i}^2)}{2}$, $i\in{0,1,2,{\ldots}n-1}$' with the initial value is '$X_0=\frac{1}{\sqrt{F}}{\pm}e_0$'. The bits to the right of p fractional bits in intermediate multiplication results are truncated and this truncation error is less than '$e_r=2^{-p}$'. The value of p is 28 for the single precision floating point, and 58 for the double precision floating point. Let '$X_i=\frac{1}{\sqrt{F}}{\pm}e_i$, there is '$X_{i+1}=\frac{1}{\sqrt{F}}-e_{i+1}$, where '$e_{i+1}{<}\frac{3{\sqrt{F}}{{e_i}^2}}{2}{\mp}\frac{{Fe_i}^3}{2}+2e_r$'. If '$|\frac{\sqrt{3-e_r-{FX_i}^2}}{2}-1|<2^{\frac{\sqrt{-p}{2}}}$' is true, '$e_{i+1}<8e_r$' is less than the smallest number which is representable by floating point number. So, $X_{i+1}$ is approximate to '$\frac{1}{\sqrt{F}}$. Since the number of multiplications performed by the proposed algorithm is dependent on the input values, the average number of multiplications Per an operation is derived from many reciprocal square root tables ($X_0=\frac{1}{\sqrt{F}}{\pm}e_0$) with varying sizes. The superiority of this algorithm is proved by comparing this average number with the fixed number of multiplications of the conventional algorithm. Since the proposed algorithm only performs the multiplications until the error gets smaller than a given value, it can be used to improve the performance of a reciprocal square root unit. Also, it can be used to construct optimized approximate reciprocal square root tables. The results of this paper can be applied to many areas that utilize floating point numbers, such as digital signal processing, computer graphics, multimedia, scientific computing, etc.
Keywords
Floating Point; Newton-raphson; Reciprocal Square Root; Variable Latency;
Citations & Related Records
연도 인용수 순위
  • Reference
1 M. D. Ercegovac, et al, 'Improving Goldschmidt Division, Square Root, and Square Root Reciprocal,' IEEE Transactions on Computer, Vol.49, No.7, pp.759-763, Jul., 2000   DOI   ScienceOn
2 D. L. Fowler and J. E. Smith, 'An Accurate, High Speed Implementation of Division by Reciprocal Approximation,' Proc. 9th IEEE symp. Computer Arithmetic, IEEE, pp.60-67, Sep., 1989   DOI
3 S. Oberman, 'Floating Point Division and Square Root Algorithms and Implementation in the AMD- K7 Microprocessors,' Proc. 14th IEEE Symp. Computer Arithmetic, pp.106-115, Apr., 1999   DOI
4 IEEE, IEEE Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Standard, Std. 754-1985
5 D. DasSarma and D. Matula, 'Measuring and Accuracy of ROM Reciprocal Tables,' IEEE Transactions on Computer, Vol.43, No.8, pp.932-930, Aug., 1994   DOI   ScienceOn
6 C. V. Freiman, 'Statistical Analysis of Certain Binary Division Algorithm,' IRE Proc., Vol.49, pp.91-103, 1961   DOI   ScienceOn
7 S. F. McQuillan, J. V. McCanny, and R. Hamill, 'New Algorithms and VLSI Architectures for SRT Division and Square Root,' Proc. 11th IEEE Symp. Computer Arithmetic, IEEE, pp.80-86, 1993   DOI
8 D. L. Harris, S. F. Oberman, and M. A. Horowitz, 'SRT Division Architectures and Implementations,' Proc. 13th IEEE Syrnp, Computer Arithmetic, Jul., 1997   DOI
9 M. Flynn, 'On Division by Functional Iteration,' IEEE Transactions on Computers, Vol.C-19, No.8, pp.702-706, Aug., 1970   DOI   ScienceOn
10 R. Goldschmidt, Application of division by convergence, master's thesis, MIT, Jun., 1964
11 S. F. Oberman and M. J. Flynn, 'Design Issues in Division and Other Floating Point Operations,' IEEE Transactions on Computer, Vol.C-46, pp.154-161, 1997   DOI   ScienceOn