why correct rounding not required in IEEE 754

David Hough sun!Eng!dgh
Mon Jul 9 14:46:44 PDT 1990


Jim says:

> (The IEEE subgroups resorted to their weaker, more 
> complicated requirement because implementation of correct rounding was 
> not yet sufficiently well understood.)

I don't think this was the issue; base conversion was covered in Sterbenz
and Knuth and in the work reported in Coonen's thesis.

The problem was that fast correctly-rounded base conversion for large
exponents (15 bits, for instance) requires rather large tables that
did not appear attractive to put on a chip.  At that time Motorola
had distributed specifications for the 68881 which
defined decimal data types that would get converted to and from 
binary floating point format in conjunction with floating-point loads
and stores.  The thought was that other people might do the same thing
(I don't remember about the Z8070) but in fact nobody did, as
microcomputer architecture took a big step toward performance about that
time, with a number of consequences for instruction set design.

Nowadays I don't think anybody would consider putting base conversion on
a general purpose floating-point chip; as far as I know the BCD data
type was omitted from the 68040 hardware (and consequently is emulated
in the kernel if encountered).  So chip design constraints are no longer
a reasonable constraint on base conversion specification, and in fact
weren't even a good idea at the time.  There's just too much irregular logic to
get wrong if you want to get it fast and correctly-rounded.   Better
to put your gates into integer n x n -> 2n multiplication and 
 2n / n -> n, n division/remainder.




More information about the Numeric-interest mailing list