Advanced Arithmetic for the Digital Computer, Design of Arithmetic Units

Abstract Advances in computer technology are now so profound that the arithmetic capability and repertoire of computers can and should be expanded. Nowadays the elementary floating-point operations +, −, ×, / give computed results that coincide with the rounded exact result for any operands. Advanced computer arithmetic extends this accuracy requirement to all operations in the usual product spaces of computation: the real and complex vector spaces as well as their interval correspondents. This enhances the mathematical power of the digital computer considerably. A new computer operation, the scalar product, is fundamental to the development of advanced computer arithmetic. This paper studies the design of arithmetic units for advanced computer arithmetic. Scalar product units are developed for different kinds of computers like personal computers, workstations, mainframes, super computers or digital signal processors. The new expanded computational capability is gained at modest cost. The units put a methodology into modern computer hardware which was available on old calculators before the electronic computer entered the scene. In general the new arithmetic units increase both the speed of computation as well as the accuracy of the computed result. The circuits developed in this paper show that there is no way to compute an approximation of a scalar product faster than the correct result. A collection of constructs in terms of which a source language may accommodate advanced computer arithmetic is described in the paper. The development of programming languages in the context of advanced computer arithmetic is reviewed. The simulation of the accurate scalar product on existing, conventional processors is discussed. Finally the theoretical foundation of advanced computer arithmetic is reviewed and a comparison with other approaches to achieving higher accuracy in computation is given. Shortcomings of existing processors and standards are discussed.

[1]  Gerd Bohlender,et al.  Floating-Point Computation of Functions with Maximum Accuracy , 1975, IEEE Transactions on Computers.

[2]  W. de Beauclair Rechnen mit Maschinen , 1968 .

[3]  G. Alefeld,et al.  Introduction to Interval Computation , 1983 .

[4]  G. Bohlender What Do We Need Beyond IEEE Arithmetic? , 1990, Computer Arithmetic and Self-Validating Numerical Methods.

[5]  Ulrich W. Kulisch,et al.  Arithmetic for vector processors , 1987, 1987 IEEE 8th Symposium on Computer Arithmetic (ARITH).

[6]  Ulrich W. Kulisch,et al.  Arithmetic for vector processors , 1988 .

[7]  Ulrich W. Kulisch,et al.  Pascal-XSC - Sprachbeschreibung mit Beispielen , 1991 .

[8]  James Hardy Wilkinson,et al.  Rounding errors in algebraic processes , 1964, IFIP Congress.

[9]  Christoph Baumhof,et al.  A VLSI vector arithmetic coprocessor for the PCs , 1996, RITA.

[10]  Ulrich W. Kulisch,et al.  PASCAL-XSC , 1992, Springer Berlin Heidelberg.

[11]  Karl Nickel,et al.  The algorithmic language triplex-Algol 60 , 1968 .

[12]  Willard L. Miranker,et al.  Computer arithmetic in theory and practice , 1981, Computer science and applied mathematics.

[13]  Theodor Meis Brauchen wir eine Hochgenauigkeitsarithmetik? , 1987, PIK Prax. Informationsverarbeitung Kommun..

[15]  G. Corliss,et al.  C-Xsc: A C++ Class Library for Extended Scientific Computing , 1993 .

[16]  Christoph Baumhof,et al.  A CMOS Floating-Point Processing Chip for Verified Exact Vector Arithmetic , 1994, ESSCIRC '94: Twientieth European Solid-State Circuits Conference.

[17]  G. Bohlender,et al.  Produkte und Wurzeln von Gleitkommazahlen , 1977 .

[18]  Lutz Schmidt Semimorphe Arithmetik zur automatischen Ergebnisverifikation auf Vektorrechnern , 1992 .

[19]  Siegfried M. Rump,et al.  PASCAL-SC: A PASCAL for Contemporary Scientific Computation , 1981 .

[20]  Ulrich Kulisch PASCAL-SC : a PASCAL extension for scientific computation; information manual and floppy disks version ATARI ST , 1987 .

[21]  U. KtlLISCH An Axiomatic Approach to Rounded Computations* , .

[22]  Thomas Teufel,et al.  Ein optimaler Gleitkommaprozessor , 1984 .

[23]  Andreas Knöfel Fast hardware units for the computation of accurate dot products , 1991, IEEE Symposium on Computer Arithmetic.

[24]  J. M. Yohe,et al.  Roundings in floating point arithmetic , 1972, IEEE Symposium on Computer Arithmetic.

[25]  Hiroaki Suzuki,et al.  Leading-zero anticipatory logic for high-speed floating point addition , 1995, Proceedings of the IEEE 1995 Custom Integrated Circuits Conference.