
February 2011 (Vol. 60, No. 2) pp. 145147
00189340/11/$31.00 © 2011 IEEE
Published by the IEEE Computer Society
Published by the IEEE Computer Society
Guest Editors' Introduction: Special Section on Computer Arithmetic
Download Citation  
Download Content  
PDFs Require Adobe Acrobat  
COMPUTATION is as old as recorded human history. Even floatingpoint computation can be traced back that long: Sumerian and then Babylonian sexagesimal numbers of more than 4000 years ago did not show trailing zeros, and could thus be considered floatingpoint values with just the significand represented explicitly and the exponent inferred from the context. The word "computation" itself comes from Latin (computare), and is more than 2000 years old.
Computer Arithmetic is one of the first subfields of Computer Architecture. It has evolved considerably since the early days of modern computers 40 or 50 years ago, when arithmeticlogic units (ALUs) processed only integer numbers and represented a significant fraction of a CPU's hardware. Floatingpoint arithmetic was added later and gradually, first according to rules established by each manufacturer. A major milestone was represented by the adoption of the IEEE Standard 7541985 for FloatingPoint Arithmetic.
For almost four decades now, many of the best ideas in computer arithmetic have been presented at, and recorded in the proceedings of the IEEE Symposia on Computer Arithmetic, more commonly known as the ARITH Conferences. A total of 19 ARITH conferences have taken place so far, alternating every two years between Europe and the United States, with one exception (ARITH 14, which was held in Australia). It has also become a tradition lately to dedicate a special section of the Transactions on Computers to Computer Arithmetic following each conference.
In the beginning, ARITH conferences were focused on studies and innovations concerning hardware and software designs and algorithms for integer and floatingpoint calculations. The latter was initially aimed mostly at scientific and engineering applications, but in recent years multimedia and graphics applications increased in importance as well. Because of the computeintensive nature of encryption/decryption algorithms, cryptography has emerged as a distinct focus area of computer arithmetic as well.
While there are still advances to be made in integer arithmetic, most of the computer arithmetic research today is in the floatingpoint domain. A catalyst in this direction was and still is the IEEE Standard 7542008 for FloatingPoint Arithmetic, which replaced the old IEEE 7541985 after a lengthy revision process. Another important factor that influences computer arithmetic research is the extraordinary increase in performance and complexity of processors that we are witnessing today, and will for the foreseeable future. Multicore CPUs, manycore CPUs, multiple floatingpoint units, vector floatingpoint units, the need to lower cost and power while increasing performance and maintaining simplicity and programmability are all placing constraints on today's computer architecture solutions.
Efficient computer arithmetic algorithms, fast implementations, reliable designs utilizing the bestsuited number systems and representations, thorough verification and validation, are all necessary for any modern computing device. The computer arithmetic field remains a fertile and interesting area for research and innovation. The present issue of the Transactions on Computers is proof of this fact.
This special section hosts 11 high quality research papers in computer arithmetic. They are the result of a selection from more than 50 submitted manuscripts, in response to an open call for papers that followed the 19th IEEE International Symposium on Computer Arithmetic which took place in Portland, Oregon in June 2009. The papers selected through a peer review process represent a wide range of the topics, and all received positive evaluations from expert referees. The papers in this special section are grouped into three categories: Basic Arithmetic Operations and Number Systems; Polynomial Evaluation and Elementary Functions; and Cryptography.
Basic Arithmetic Operations and Number Systems. The first paper from this category is "Reducing the Computation Time in (Short BitWidth) Two's Complement Multipliers", authored by Fabrizio Lamberti, Nikos Andrikos, Elisardo Antelo, and Paolo Montuschi. The authors present a technique to reduce the maximum height of the modified booth encodergenerated radix4 partial product array by one, without increasing the delay of the partial product generation stage. This may allow for a faster compression of the partial product array and regular layouts, a technique of particular interest in all multiplier designs, but especially in short bitwidth two's complement multipliers for highperformance embedded cores.
The second paper is "Exact and Approximated Error of the FMA", by Sylvie Boldo and JeanMichel Muller. The fused multiplyadd operation (FMA), was introduced in the IEEE Standard 7542008 for FloatingPoint Arithmetic. The paper is an extension of earlier work on the computation of the exact error of the FMA, now based on more general conditions, and providing a formal proof. A new algorithm is also presented, that computes an approximation as well as bounds to the error of an FMA.
The third paper is "Improved Division by Invariant Integers", by Niels Möller and Torbjörn Granlund. The problem of dividing a twoword integer by a singleword integer is solved as a multiplication using a precomputed singleword approximation of the reciprocal of the divisor, followed by a couple of adjustment steps, all while using cheaper multiplication operations than before. The algorithm gives a speedup of roughly 30 percent on AMD and Intel processors in the x86_64 family.
The fourth paper of this group is "SimulationBased Verification of FloatingPoint Division", by Elena Guralnik, Merav Aharoni, Ariel J. Birnbaum, and Anatoly Koyfman. The authors present a simulationbased method for verification of division  an operation with an exceptionally wide array of corner cases. FPgen, a test generation framework targeted at the floatingpoint datapath was created and has been successfully used in the verification of a variety of hardware designs. The relevant verification tasks supplied with FPgen and the underlying algorithms used to target them are presented.
The fifth paper is "AreaEfficient Multipliers Based on MultipleRadix Representations", authored by Vassil S. Dimitrov, Kimmo U. Järvinen, and Jithra Adikari. New algorithms for integer multiplication are introduced, that are based on a specific multipleradix representation of one of the multiplicands. Theoretical analysis and experimental results are provided for such multipliers in the 0.18 μm CMOS technology, showing the advantages of the new method in 64bit hardware implementations  better area and power consumption compared to reference multipliers.
The sixth and last paper of this set is "A Real/Complex Logarithmic Number System ALU", by Mark G. Arnold and Sylvain Collange. The paper shows how to reuse the real Logarithmic Number System (LNS) hardware for the complex CLNS (which represents complex values in logpolar form), with specialized hardware, including a novel logsin that overcomes singularity problems and is smaller than the realvalued LNS ALU to which it is attached. FPGA synthesis shows the new CLNS ALU is smaller than prior fast CLNS units. Accuracy tradeoffs are also considered.
Polynomial Evaluation and Elementary Functions. The first paper of this group is "Computing FloatingPoint Square Roots via Bivariate Polynomial Evaluation", by ClaudePierre Jeannerod, Hervé Knochel, Christophe Monat, and Guillaume Revy. The authors show how to reduce the computation of correctly rounded square roots of binary floatingpoint values to fixedpoint evaluation of some particular integer polynomials in two variables. This leads to high instructionlevel parallelism and potentially lowlatency implementations. Experiments carried out on an integer processor (ST231) demonstrated low latency, as expected.
The second paper of this group is "Midpoints and Exact Points of Some Algebraic Functions in FloatingPoint Arithmetic", by ClaudePierre Jeannerod, Nicolas Louvet, JeanMichel Muller, and Adrien Panhaleux. When implementing a function in floatingpoint arithmetic with correct IEEE rounding and good performance, it is important to know if there are input floatingpoint values such that is either the middle of the interval between two consecutive floatingpoint numbers, or a floatingpoint number. The paper proves whether or not there are such midpoints or exact points, for some usual algebraic functions and for various floatingpoint formats. The points are listed or characterized whenever possible. The results and techniques presented can be used with both the binary and the decimal formats defined in the IEEE Standard 7542008 for floatingpoint arithmetic.
The third and last paper of the group is "Certifying the FloatingPoint Implementation of an Elementary Function Using Gappa", by Florent de Dinechin, Christoph Lauter, and Guillaume Melquiond. Certifying floatingpoint programs by hand is tedious and errorprone. The paper presents the Gappa tool, a proof assistant designed to make this task easier and more secure by automating the evaluation of rounding errors using interval arithmetic. Its input format is very close to the actual code that needs to be validated. It generates a formal proof of the results, which can be checked independently by a lower level proof assistant such as Coq. Examples are chosen from a widely used class of floatingpoint programs  elementary functions in a mathematical library.
Cryptography. The first paper from this last category is "Hybrid BinaryTernary Number System for Elliptic Curve Cryptosystems", by Jithra Adikari, Vassil S. Dimitrov, and Laurent Imbert. Single and double scalar multiplications are the most computational intensive operations in ellipticcurvebased cryptosystems. The hybrid binaryternary number system provides both short representations and small density. The authors present three novel algorithms for both single and double scalar multiplication. A detailed theoretical analysis is provided, together with timings and fair comparisons over both triplingoriented DocheIchartKohel curves and generic Weierstrass curves. Experiments show that the new algorithms are almost always faster than their widely used counterparts.
The second paper of this group and also the closing one of the special section on Computer Arithmetic is "Fast Architectures for the T Pairing over SmallCharacteristic Supersingular Elliptic Curves", by JeanLuc Beuchat, Jérémie Detrey, Nicolas Estibals, Eiji Okamoto, and Francisco RodríguezHenríquez. The paper is devoted to the design of fast parallel accelerators for the cryptographic T pairing on supersingular elliptic curves over finite fields of characteristics two and three. A novel hardware implementation of Miller's algorithm is proposed, based on a parallel pipelined Karatsuba multiplier. The authors present the careful choice of algorithms for the tower field arithmetic associated with the T pairing. A final exponentiation is still required to obtain a unique value, and the pairing accelerators are supplemented with a coprocessor responsible for this task. According to placeandroute results on Xilinx FPGAs, these designs improve both the computation time and the areatime tradeoff compared to previous coprocessors.
Javier Bruguera
Marius Cornea
Debjit Das Sarma
Guest Editors
• J. Bruguera is with the University of Santiago de Compostela, Santiago de Compostela, Spain. Email: jd.bruguera@usc.es.
• M. Cornea is with with Intel Corporation in Hillsboro, Oregon, USA. Email: marius.cornea@intel.com.
• D. Das Sarma is with Advanced Micro Devices, Sunnyvale, California, USA. Email: debjit.dassarma@amd.com.
For information on obtaining reprints of this paper, please send email to: tc@computer.org.
Javier Bruguera received the graduated degree and the PhD degree in physics from the University of Santiago de Compostela, Spain in 1984 and 1989, respectively. Currently, he is a professor in the Department of Electronics and Computer Science at the University of Santiago de Compostela. Previously, he was an assistant professor at the University of Oviedo, Spain, from 1984 to 1986, and an assistant professor at the University of A Corunna, Spain, from 1996 to 1990. In 1990, he joined the Department of Electronic and Computer Science at the University of Santiago de Compostela, as an associate professor from 1990 to 1997 and a full professor since 1997. Dr. Bruguera has been serving as chair of the department between November 2006 and November 2010. He was a research visitor in the Application Center of Microelectronics at Siemens, Munich, Germany, in 1993, for five months, and in the Department of Electrical Engineering and Computer Science at the University of California, Irvine, from October 1993 to December 1994, and several more times between 1997 and 2004, for shorter periods of time. His primary research interests are in the area of computer arithmetic, processor design, digital design for signal and image processing and computer architecture. He is author/coauthor of nearly 150 research papers published in journals or presented at conferences. Dr. Bruguera has served on program committees for several IEEE, and other meetings; in particular he has been in the program Committee of the IEEE Symposium on Computer Arithmetic (ARITH) since 2003, program cochair of the ARITH19 in 2009 and local arrangements and financial chair of the ARITH16 in 2003. He also has been program chair of the eighth Real Numbers and Computers Conference in 2008 and local program chair of the Europar 2008. Dr. Bruguera is member of the IEEE, the IEEE Computer Society and ACM.
Marius Cornea received a MSc degree in Electrical Engineering from the Polytechnic Institute of Cluj, Romania and a PhD degree in Computer Science from Purdue University in West Lafayette, Indiana. He joined Intel Corporation in 1994, and is now a principal engineer and leader of a team of engineers and mathematicians architecting mathematical libraries and floatingpoint software for Intel� Architecture processors. His work has spanned many aspects of scientific computation, design and development of numerical algorithms, floatingpoint emulation, exception handling, and also definition and analysis of new floatingpoint instructions. He has published numerous papers, including some in computer arithmetic, and holds several US patents. He was a program committee member for recent ARITH conferences, and program cochair of the 19th IEEE Symposium of Computer Arithmetic held in Portland, Oregon in 2009. He is also one of the coauthors of the IEEE Standard 7542008 for FloatingPoint Arithmetic. He is a member of the IEEE.
Debjit Das Sarma received the BS degree in computer science and engineering from Jadavpur University, Kolkata, India, in 1988, and MS and PhD degrees in computer science and engineering from Southern Methodist University, Dallas, Texas, in 1990 and 1995, respectively. Currently he is a Fellow at Advanced Micro Devices (AMD) in Sunnyvale, California. He is a lead architect there, responsible for the microarchitecture and design of AMD x86 processor cores. He was previously the lead architect of the Floating Point and Multimedia units of various AMD processors. He has been involved in microprocessor architecture and design for the last eighteen years, including the last ten years at AMD, and had worked at Texas Instruments and Cyrix Corporation prior to joining AMD. He has a number of patents in the area of microprocessor core and arithmetic unit design. Dr. Das Sarma has contributed significantly in the research in the area of computer arithmetic. He has published a number of papers in prestigious conference proceedings and journals, including IEEE Symposia on Computer Arithmetic and IEEE Transactions on Computers. He has attended all IEEE Computer Arithmetic meetings since 1993, and has served on the program committee for the 14th, 17th, 18th, and 19th symposiums. He also served as the program cochair for the 19th IEEE Symposium on Computer Arithmetic held in Portland, May 2009. His other professional activities include participation in several panel discussions, and as referee for many journals and conferences. Dr. Das Sarma was recently honored as one of the five distinguished alumni in the last 40 years by the Computer Science and Engineering Department of his Alma mater, Southern Methodist University. He is a member of the IEEE.
 x  