Anytime Floating-Point Addition and Multiplication - Concepts and Implementations
Marcel Brand1, Michael Witterauf1, Alberto Bosio2 and Jürgen Teich1
1 Friedrich-Alexander University Erlangen-Nürnberg (FAU), Germany 2 Ecole Centrale de Lyon, Institut des Nanotechnologies de Lyon, France
In this paper, we present anytime instructions for floatingpoint additions and multiplications. Specific to such instructions is their ability to compute an arithmetic operation at a programmable accuracy of a most significant bits where a is encoded in the instruction itself. Contrary to reduced-precision architectures, the word length is maintained throughout the execution. Two approaches are presented for the efficient implementation of anytime additions and multiplications, one based on on-line arithmetic and the other on bitmasking. We propose implementations of anytime functional units for both approaches and evaluate them in terms of error, latency, area, as well as energy savings. As a result, 15% of energy can be saved on average while computing a floating-point addition with an error of less than 0.1%. Moreover, large latency and energy savings are reported for iterative algorithms such as a Jacobi algorithm with savings of up to 39% in energy.