DOI QR코드

DOI QR Code

An exact floating point square root calculator using multiplier

곱셈기를 이용한 정확한 부동소수점 제곱근 계산기

  • 조경연 (부경대학교 전자컴퓨터정보통신공학부)
  • Published : 2009.08.31

Abstract

There are two major algorithms to find a square root of floating point number, one is the Newton_Raphson algorithm and GoldSchmidt algorithm which calculate it approximately by iterating multiplications and the other is SRT algorithm which calculates it exactly by iterating subtractions. This paper proposes an exact floating point square root algorithm using only multiplication. At first an approximate inverse square root is calculated by Newton_Raphson algorithm, and then an exact square root algorithm by reducing an error in it and a compensation algorithm of it are proposed. The proposed algorithm is verified to calculate all of numbers in a single precision floating point number and 1 billion random numbers in a double precision floating point number. The proposed algorithm requires only the multipliers without another hardware, so it can be widely used in an embedded system and mobile production which requires an efact square root of floating point number.

부동소수점 제곱근 연산은 곱셈을 반복하여 근사값을 계산하는 뉴턴-랍손 알고리즘 및 골드스미트 알고리즘과 뺄셈을 반복하여 정확한 간을 계산하는 SRT 알고리즘이 있다. 본 논문에서는 곱셈기를 사용하여 정확한 값을 계산하는 제곱근 알고리즘을 제안한다. 본 논문에서는 뉴턴-랍손 알고리즘을 이용하여 근사 역제곱근을 구하고, 이의 오차를 줄이면서 제곱근을 구하는 알고리즘과 계산된 제곱근을 보정하는 알고리즘을 제안한다. 제안한 알고리즘은 단정도 실수에서는 전수 조사를 통해서, 배정도 실수에서는 10억 개의 무작위 수를 계산하여 모두 정확한 값을 얻었다. 본 논문에서 제안한 알고리즘은 곱셈기만을 사용하므로 별도의 하드웨어가 필요하지 않다. 따라서 실장제어용기기, 휴대용기기 등 정확한 제곱근 연산을 요구하는 분야에서 사용될 수 있다.

Keywords

References

  1. 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
  2. C. V. Freiman, "Statistical Analysis of Certain Binary Division Algorithm," IRE Proc., Vol. 49, pp. 91-103, 1961 https://doi.org/10.1109/JRPROC.1961.287780
  3. 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
  4. D. L. Harris, S. F. Oberman, and M. A. Horowitz, "SRT Division Architectures and Implementations," Proc. 13th IEEE Symp. Computer Arithmetic, Jul., 1997
  5. M. Flynn, "On Division by Functional Iteration," IEEE Transactions on Computers, Vol. C-19, No. 8, pp. 702-706, Aug., 1970 https://doi.org/10.1109/T-C.1970.223019
  6. R. Goldschmidt, Application of division by convergence, master's thesis, MIT, Jun., 1964
  7. 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 https://doi.org/10.1109/12.863046
  8. 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
  9. 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
  10. 김성기, 송홍복, 조경연, "가변시간 골드스미트 부동소수점 제곱근 계산기," 한국해양정도통신학회 논문지, 제 9권 제 1호, pp. 188-198, Jan. 2005
  11. 조경연, "개선된 뉴톤-랍손 역수 및 역제곱근 알고리즘," 한국해양정도통신학회 논문지, 제11권 제1호, pp. 46-55, Jan. 2007
  12. 이원, 권호경, 이용환, 이용석, "Radix-4 SRT 알고리즘을 사용한 나눗셈/제곱근 연산기에 관한 연구," 전자공학회논문지, 제33권, A편, 제9호, 1996