This Article 
 Bibliographic References 
 Add to: 
Fast Hardware-Based Algorithms for Elementary Function Computations Using Rectangular Multipliers
March 1994 (vol. 43 no. 3)
pp. 278-294

As the name suggests, elementary functions play a vital role in scientific computations. Yet due to their inherent nature, they are a considerable computing task by themselves. Not surprisingly, since the dawn of computing, the goal of speeding up elementary function computation has been pursued. This paper describes new hardware based algorithms for the computation of the common elementary functions, namely division, logarithm, reciprocal square root, arc tangent, sine and cosine. These algorithms exploit microscopic parallelism using specialized hardware with heavy use of truncation based on detailed accuracy analysis. The contribution of this work lies in the fact that these algorithms are very fast and yet are accurate. If we let the time to perform an IEEE Standard 754 double precision floating point multiplication be /spl tau//sub /spl times//, our algorithms to achieve roughly 3.68/spl tau//sub /spl times//,4.56/spl tau//sub /spl times//, 5.25/spl tau//sub /spl times//, 3.69/spl tau//sub /spl times//, 7.06/spl tau//sub /spl times//, and 6.5/spl tau//sub /spl times//, for division, logarithm, square root, exponential, are tangent and complex exponential (sine and cosine) respectively. The trade-off is the need for tables and some specialized hardware. The total amount of tables required, however, is less than 128 Kbytes. We discuss the hardware, algorithmic and accuracy aspects of these algorithms.

[1] R. C. Agarwal, J. W. Cooley, F. G. Gustavson, J. B. Shearer, G. Slishman, and B. Tuckerman, "New scalar and vector elementary functions for the IBM System/370,"IBM J. Res. Dev., pp. 126-144, Mar. 1986.
[2] T. Brightman, "Advancing the standard in floating point performance,"High Perform. Syst., pp. 59-64, Nov. 1989.
[3] T. C. Chen, "Automatic computation of exponentials, logarithms, ratios and square roots,"IBM J. Res. Dev., pp. 380-388, July 1972.
[4] M.D. Ercegovac, "Radix-16 evaluation of certain elementary functions,"IEEE Trans. Comput., vol. 22, no. 6, pp. 561-566, June 1973.
[5] Fairchild Corp.,F100K ECL Data Book, 1982.
[6] D. Ferrari, "A division method using a parallel multiplier,"IEEE Trans. Comput., vol. EC-16, pp. 224-226, Apr 1967.
[7] S. Gal, "Computing elementary functions: A new approach for achieving high accuracy and good performance,"Lecture Notes in Comput. Sci. 235, pp. 1-16, 1986.
[8] S. Gal and B. Bachelis, "An accurate elementary mathematical library for the ieee floating point standard,"ACM Trans. Math. Software, vol. 17, no. 1, pp. 26-45, Mar. 1991.
[9] I. Koren and O. Zinaty, "Evaluating elementary functions in a numerical coprocessor based on rational approximations,"IEEE Trans. Comput., vol. 39, pp. 1030-1037, Aug. 1990.
[10] H. Nambu, K. Kanetani, Y. Idei, K. Yamaguchi, N. Homma, T. Hiramoto, N. Tamba, M. Odaka, K. Watanabe, T. Ikeda, K. Ohhata, and Y. Sakurai, "A 1.5ns, 64Kb ECL-CMOS SRAM," inDig. Technical Papers 1991 Symp. on VLSI Circuits, 1991, pp. 11-12.
[11] T. Nagai and Y. Hatano, "Performance evaluation of mathematical functions,"Supercomput., vol. VIII, no. 6, pp. 46-56, Nov. 1991.
[12] M. N. Payne and R. N. Hamek, "Radian reduction for trigonometric functions,"ACM SIGNUM Newslett., vol. 18, no. 1, pp. 19-23. Jan. 1983.
[13] N. T. Quach and M. J. Flynn, "High speed addition in CMOS,"IEEE Trans. Comput., vol. 41, no. 12, pp. 1612-1615. Dec. 1992.
[14] M. R. D. Rodrigues, J. H. P. Zurawski, and J. B. Gosling, "Hardware evaluation of mathematical functions,"IEE Proc., pt. E, vol. 128, no. 4, pp. 155-164, July 1981.
[15] P. T. P. Tang, "Table-lookup algorithms for elementary functions and their error analysis," Argonne Nat. Lab. Rep., MCS-P194-1190, Jan. 1991.
[16] M. Takada, K. Nakamura, T. Takeshima, K. Furuta, T. Yamazaki, K. Imai, S. Ohi, Y. Fukuda, Y. Minato, and H. Kimoto, "A 5ns 1Mb ECL BiCMOS SRAM," inISSCC Dig. Technical Papers, 1990, pp. 138-139.
[17] J. E. Volder, "The CORDIC trigonometric computing technique,"IRE Trans. Elec. Comput., vol. EC-9, pp. 227-231, Sept. 1960.
[18] C. S. Wallace, "A suggestion for parallel multipliers,"IRE Trans. Elec. comput., vol. EC-13, pp. 14-17, Feb. 1964.
[19] J. S. Walther, "A unified algorithm for elementary functions," inProc. Spring Joint Comput. Conf., 1971, pp. 379-385.
[20] W. F. Wong, "Hardware for the fast evaluation of the elementary functions," Dr. Eng. Sc dissertation, Univ. of Tsukuba, 1993.
[21] IEEE Standard for Binary Floating Point Arithmetic, ANSI/IEEE Std 754-1985, IEEE 1985.

Index Terms:
digital arithmetic; error analysis; hardware-based algorithms; elementary function computations; rectangular multipliers; scientific computations; common elementary functions; reciprocal square root; arc tangent; sine; cosine; microscopic parallelism; floating point multiplication.
W.F. Wong, E. Gogo, "Fast Hardware-Based Algorithms for Elementary Function Computations Using Rectangular Multipliers," IEEE Transactions on Computers, vol. 43, no. 3, pp. 278-294, March 1994, doi:10.1109/12.272429
Usage of this product signifies your acceptance of the Terms of Use.