Subscribe
Issue No.02 - February (2009 vol.58)
pp: 163-174
Alexandru Fit-Florea , Advanced Micro Devices, Inc., Sunnyvale
Lun Li , Texas Instruments, Dallas
Mitchell A. Thornton , Southern Methodist University, Dallas
David W. Matula , Southern Methodist University, Dallas
ABSTRACT
We present a k-bit encoding of the k-bit binary integers based on a discrete logarithm representation. The representation supports a discrete logarithm number system (DLS) that allows integer multiplication to be reduced to addition and integer exponentiation to be reduced to multiplication. We introduce right-to-left bit serial conversion, deconversion, and unified conversion/deconversion algorithms between binary and DLS. The conversion algorithms utilize {\rm O}(k) additions, do not require the use of a multiplier, and are applicable at least up to 128-bit integers. We illustrate the use of the representation in determining a novel and efficient integer power modulo 2^{k} operation |x^{y}|_{2^{k}} and compare hardware performance with a current state-of-the-art method. Furthermore, we describe properties of the conversion mappings that allow compact table lookup structures to be employed for direct conversion to and deconversion from the DLS encoding. Our lookup architecture allows 16-bit conversion and deconversion mappings to be realized with table sizes of order 2-8 Kbytes, which is up to a 64\times size reduction of the 128 Kbytes of an arbitrary 16-bits-in, 16-bits-out function table. Performance and area results that demonstrate the effectiveness of the table lookup architecture are given. The lookup methodology extends to other 16-bit integer functions such as multiplicative inverse and squaring operations.
INDEX TERMS
High-speed arithmetic, arithmetic and logic units, computer arithmetic, discrete logarithm, number encodings, conversions, bit serial, integer power, table lookup.
CITATION
Alexandru Fit-Florea, Lun Li, Mitchell A. Thornton, David W. Matula, "A Discrete Logarithm Number System for Integer Arithmetic Modulo 2^{k}: Algorithms and Lookup Structures", IEEE Transactions on Computers, vol.58, no. 2, pp. 163-174, February 2009, doi:10.1109/TC.2008.204
REFERENCES
 [1] N.F. Benschop, Multiplier for the Multiplication of at Least Two Figures in an Original Format, US Patent 5,923,888, July 1999. [2] A. Fit-Florea and D.W. Matula, “A Digit-Serial Algorithm for the Discrete Logarithm Modulo $2^{k}$ ,” Proc. 15th IEEE Int'l Conf. Application-Specific Systems, Architectures, and Processors (ASAP'04), pp. 236-246, 2004. [3] A. Fit-Florea, D.W. Matula, and M.A. Thornton, “Additive Bit-Serial Algorithm for the Discrete Logarithm Modulo $2^{k}$ ,” IEE Electronics Letters, vol. 41, no. 2, pp. 57-59, Jan. 2005. [4] A. Fit-Florea, D.W. Matula, and M.A. Thornton, “Addition-Based Exponentiation Modulo $2^{k}$ ,” IEE Electronics Letters, vol. 41, no. 2, pp. 56-57, Jan. 2005. [5] D.W. Matula, A. Fit-Florea, and M.A. Thornton, “Lookup Table Structures for Multiplicative Inverses Modulo $2^{k}$ ,” Proc. 17th IEEE Symp. Computer Arithmetic (ARITH-17 '05), pp. 130-135, 2005. [6] L. Li, A. Fit-Florea, M.A. Thornton, and D.W. Matula, “Hardware Implementation of an Additive Bit-Serial Algorithm for the Discrete Logarithm Modulo $2^{k}$ ,” Proc. IEEE CS Ann. Symp. VLSI (ISVLSI '05), pp. 130-135, 2005. [7] L. Li, M.A. Thornton, and D.W. Matula, “A Fast Algorithm for the Integer Powering Operation,” Proc. 16th ACM Great Lakes Symp. VLSI (GLSVLSI '06), pp. 302-307, 2006. [8] L. Li, A. Fit-Florea, M. Thornton, and D.W. Matula, “Performance Evaluation of a Novel Direct Table Lookup Method and Architecture with Application to 16-Bit Integer Functions,” Proc. IEEE Int'l Conf. Application-Specific Systems, Architectures, and Processors (ASAP '06), Sept. 2006. [9] N.S. Szabo and R.I. Tanaka, Residue Arithmetic and Its Applications to Computer Technology. McGraw-Hill Book, 1967. [10] T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction to Algorithms, second ed. The MIT Press, pp. 879-880, 2001. [11] B. Parhami, Computer Arithmetic Algorithms and Hardware Designs, pp. 383-384. Oxford Univ. Press, 2000. [12] D. Knuth, The Art of Computer Programming: Seminumerical Algorithms, vol. 2, second ed., pp. 441.1-466.1. Addison Wesley, 1981. [13] Synopsys Design/Physical Compiler Student Guide, 2003. [14] J.E. Stine, J. Grad, I. Castellanos, J. Blank, V. Dave, M. Prakash, N. Illiev, and N. Jachimiec, “A Framework for High-Level Synthesis of System-on-Chip Designs,” Proc. IEEE Int'l Conf. Microelectronic Systems Education (MSE '05), pp. 67-68, June 2005. [15] B. Parhami, Computer Arithmetic Algorithms and Hardware Designs, chapter24, Oxford Univ. Press, 2000. [16] A. Fit-Florea, “Extending Hardware Support for Arithmetic Modelo $2^{k}$ ,” PhD dissertation, Dept. of Computer Science and Eng., Southern Methodist Univ., 2006. [17] L. Li, “Integrated Techniques for the Formal Verification and Validation of Digital Systems,” PhD dissertation, Dept. of Computer Science and Eng., Southern Methodist Univ., 2006.