Pages: pp. 1057-1058
Computer Arithmetic is a field that deals with the hardware/software design, implementation and verification of numerical algorithms, definition of new number systems and standardization of arithmetic systems for computers. It is an interdisciplinary field that draws upon mathematics, computer science and electrical engineering. Advances in this field span from highly theoretical (for instance, new exotic number systems) to highly practical (for instance, new floating-point units for microprocessors).
Computer Arithmetic is more than ever a hot topic of research with a strong industrial impact. We are now in the era of massive parallelism in processors, with dominant workloads oriented to throughput computing (multicore microprocessors, GPGPU's and FPGA accelerators). In this scenario, a massive amount of arithmetic resources are incorporated in processor engines, with the goal of maximizing the number of operations per watt and per square millimeter. This requires deep innovation in the design of new arithmetic units. For instance, it is estimated that in the near future a high performance GPGPU may have over 5000 floating-point units. Moreover, these systems will incorporate several specialized engines to provide power-efficient processing for specific tasks (cryptography, multimedia, network processing, etc). Additionally, mobile and embedded systems have extreme restrictions in terms of cost (area) and power (and energy), but at the same time require increasingly higher levels of arithmetic processing due to the sophistication of the algorithms implemented. On the other hand, recently a new version of the standard for floating-point arithmetic was released (IEEE Standard 754-2008), that includes new specifications that will require hard research efforts for its implementation in future microprocessor (for instance the decimal floating-point arithmetic specification). Formal verification and fault tolerance are also increasingly important in the context of highly dependable systems.
Since 1969 the IEEE Symposium on Computer Arithmetic is the premier international event for computer arithmetic research. The last was the 20th edition of the conference (held every two years since 1981), and it took place in Tübingen in July 2011. After the conference, an open call for papers (for extended versions of the conference papers and for new papers) was released for this special section on Computer Arithmetic. A total of 27 papers were submitted that received a total of 130 expert reviews, each paper receiving at least three reviews and most receiving at least four. Two rounds of reviews led to the selection of just four papers for this special section. The specific topics covered by these papers are the design of functional units for microprocessors, design of functional units for cryptography, floating-point decimal arithmetic and new number systems.
Division and square root are very important primitives that are usually implemented in hardware. Although less frequent than addition and multiplication, the higher latency and very low throughput of these operations sometimes result in a significant performance bottleneck. One approach to improve latency is the use of a higher radix in digit-by-digit algorithms but power and energy might be an issue. The paper, “Power Efficient Division and Square Root Unit,” by Wei Liu and Alberto Nannarelli presents a combined radix-16 digit-by-digit division and square root unit based on the overlap of two radix-4 units. The authors show that this is a power-efficient design competitive with current industrial implementations, even with those based on multiplicative methods.
Modular exponentiation of large integers is a key operation for cryptography with high computational demand. Montgomery exponentiation is a popular implementation choice. The paper “An Algorithmic and Architectural Study on Montgomery Exponentiation in RNS,” by Filippo Gandino, Fabrizio Lamberti, Gianluca Paravati, Jean-Claude Bajard, and Paolo Montuschi, presents a deep exploration of the design space, both at the algorithm and architecture level, for its implementation using the Residue Number System. New optimizations are introduced that lead to more efficient cryptography hardware implementations.
Decimal Floating-point Arithmetic (DFP) is now part of the IEEE Standard 754-2008 for floating-point arithmetic. Two approaches are being followed by industry: direct hardware implementation and software emulation. Direct computation of DFP operations with binary hardware leads to errors with strong practical and even legal implications, mostly related to the financial system. Emulation of DFP is a must for platforms with only hardware support for binary floating-point arithmetic. However, emulation might be a slow alternative for some applications. The paper “On basic financial decimal operations on binary machines,” by Abhilasha Aswal, M. Ganesh Perumal, and G.N. Srinivasa Prasanna, performs a deep analysis of errors that are introduced when binary arithmetic is used directly to implement DFP. A novel software approach for DFP is derived based on binary arithmetic with table-based error correction. This might be a faster alternative than emulation for implementing DFP.
“Fast arithmetical algorithms in Möbius number systems,” by Petr Kůrka explores an entirely different method of representing real numbers. Asymptotic efficiency of these methods is measured by the “transaction quotient”. The author describes methods with smaller transaction quotients than either conventional positional number representations or previously known Möbius systems. Can these asymptotic efficiencies translate into useful advantages for realistic problems? Time will tell. Research papers that probe the fundamental assumptions of our discipline shed new light on those assumptions.
On behalf of every reader of our published papers, the guest editors would like to thank all the authors who submitted papers and labored to respond to reviewers' suggestions, all the anonymous reviewers who evaluated submissions and suggested improvements, the Editor in Chief Professor Albert Zomaya, and the entire staff of IEEE Transactions on Computers who oversaw the whole process.