Microcode, which is a no-go for modern designs
Eric Korpela
korpela at ssl.berkeley.edu
Wed Jan 9 13:13:51 CST 2019
On Tue, Jan 8, 2019 at 3:01 PM dwight via cctalk <cctalk at classiccmp.org>
wrote:
> To Tell you the truth, I can't think of anything other than speed of
> calculating that should be done in floating point. The speed is because
> we've determined to waste silicon for floating point when we should really
> be using combined operation in integer that are designed to handle multiple
> arrays( and matices ), addition, multiplication and scaling as single
> instructions.
Floating point is useful in the sciences where you are dealing with large
exponent ranges and/or need appropriate rounding.
This will make everyone groan, but somewhere around here I have a C++
template library for fixed point that tracks the result bit width position
and does scaling.
fixed<int32_t,8> a(1.0); // stored as 0x00000100
fixed<int32_t,8> b(0.5); // stored as 0x00000080
fixed<int32_t,4> c(a*b); // a*b would be fixed<int64_t,16> by default, but
multiply is overloaded for different widths
// stored as 0x00000008
Metaprogramming has its uses if you don't mind long compile times and you
understand what's going on under the hood.
More information about the cctalk
mailing list