Iterative Algorithm and Architecture for Exponential, Logarithm, Powering, and Root Extraction

An algorithm and architecture for powering computation and root extraction, with fixed-point and floating-point exponents, is presented in this paper. The algorithm is based on an optimized iterative sequence of parallel and/or overlapped operations: 1) reciprocal, 2) high-radix digit-recurrence logarithm, 3) left-to-right carry-free multiplication, and 4) high-radix online exponential. A redundant number system is used to allow for the overlapping of the different operations of the algorithm. As the logarithm and exponential are part of the sequence of operations, some minor changes are made to allow for the independent computation of the logarithm and exponential functions. A sequential implementation of the algorithm is proposed and the execution times and hardware requirements are estimated for single and double-precision floating-point computations. These estimates are obtained for several radices, according to an approximate model for the delay and area of the main logic blocks, and help to determine the radix values, which lead to the most efficient implementations.

[1]  Tomás Lang,et al.  Fast Multiplication Without Carry-Propagate Addition , 1990, IEEE Trans. Computers.

[2]  John D. Owens,et al.  GPU Computing , 2008, Proceedings of the IEEE.

[3]  Milos D. Ercegovac,et al.  Digital Arithmetic , 2003, Wiley Encyclopedia of Computer Science and Engineering.

[4]  Andrew A. Chien,et al.  The future of microprocessors , 2011, Commun. ACM.

[5]  Ami Marowka,et al.  Back to Thin-Core Massively Parallel Processors , 2011, Computer.

[6]  Jie Cheng,et al.  High-performance architectures for elementary function generation , 2001, Proceedings 15th IEEE Symposium on Computer Arithmetic. ARITH-15 2001.

[7]  Naofumi Takagi Powering by a Table Look-Up and a Multiplication with Operand Modification , 1998, IEEE Trans. Computers.

[8]  Davide De Caro,et al.  Elementary Functions Hardware Implementation Using Constrained Piecewise-Polynomial Approximations , 2011, IEEE Transactions on Computers.

[9]  Siegfried M. Rump,et al.  Accurate Floating-Point Summation Part I: Faithful Rounding , 2008, SIAM J. Sci. Comput..

[10]  Stamatis Vassiliadis,et al.  Sigmoid Generators for Neural Computing Using Piecewise Approximations , 1996, IEEE Trans. Computers.

[11]  David Blythe,et al.  Rise of the Graphics Processor , 2008, Proceedings of the IEEE.

[12]  Javier D. Bruguera,et al.  Composite Iterative Algorithm and Architecture for q-th Root Calculation , 2011, 2011 IEEE 20th Symposium on Computer Arithmetic.

[13]  Javier D. Bruguera,et al.  Algorithm and architecture for logarithm, exponential, and powering computation , 2004, IEEE Transactions on Computers.

[14]  Dongdong Chen,et al.  Improved Decimal Floating-Point Logarithmic Converter Based on Selection by Rounding , 2012, IEEE Transactions on Computers.

[15]  Tomás Lang,et al.  On-the-Fly Rounding , 1992, IEEE Trans. Computers.

[16]  Javier D. Bruguera,et al.  A Digit-by-Digit Algorithm for mth Root Extraction , 2007, IEEE Transactions on Computers.

[17]  Javier D. Bruguera,et al.  High-speed function approximation using a minimax quadratic interpolator , 2005, IEEE Transactions on Computers.

[18]  D. Harris,et al.  A powering unit for an OpenGL lighting engine , 2001, Conference Record of Thirty-Fifth Asilomar Conference on Signals, Systems and Computers (Cat.No.01CH37256).