Anton Erasmus wrote: ...> The only real technical reason I can see for having floating point, is > to save memory. If memory is not a problem, one can use as many bits > as needed for the range, and as many bits as needed for the precision.Not just memory, but word width (memory bandwidth). Multiple precision eats time. Jerry -- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Will ADI ever make DSCs?
Started by ●June 11, 2007
Reply by ●June 16, 20072007-06-16
Reply by ●June 16, 20072007-06-16
Anton Erasmus wrote: (snip)> The effort that has been put into modern floating point hardware has > made it very fast. If a 10th of the effort had been put into fixed > point hardware, it would beat floating point by quite a margin IMO.There have been way too many machines that did float multiply faster than similar sized fixed multiply.> The only real technical reason I can see for having floating point, is > to save memory. If memory is not a problem, one can use as many bits > as needed for the range, and as many bits as needed for the precision.There are problems, especially where multiply and divide are involved, where floating point is a better choice. Otherwise, yes, it is used in many cases where it isn't the best choice. -- glen
Reply by ●June 17, 20072007-06-17
On Jun 15, 4:16 pm, Anton Erasmus <nob...@spam.prevent.net> wrote:> I think you have it the wrong way round. Floating point is an > artifact of resource limited architectures. Fixed point with enough > bits have all the precision and resolution that floating point have, > without all of the disadvantages of floating point. In yesteryears > systems, it was very important to save RAM, today with multigigabyte > memories on home PCs, using 256 bits or more for fixed point > representation is not a problem. > > Regards > Anton ErasmusYes but using 256 bits in a floating point representation is not a problem either on modern machines (both would have to be done with software emulation, since neither is supported by today's hardware). You seem to be comparing the advantages and disadvantages of the number of bits used in the representation, not fixed vs float representation. If your preference is to cut 50 sheets of plywood with a handsaw instead of a table saw, that's up to you. Both have their quirks, but most people choose the table saw if it's available.
Reply by ●June 18, 20072007-06-18
Anton Erasmus <nobody@spam.prevent.net> wrote in news:ivi873thl5hdje52881v6941n9mt1qq3s2@4ax.com:> > There are numerous things to worry about when using floating point. > The misconception that one do not have to worry about things is it's > biggest disadvantage. In floating point: > If one has a big number y, and a very small number x, both of which > can be represented in floating point, then there is a whole range of > numbers where x+y=y.This is certainly true. This doesn't make floating point processing undesirable. It just points out that there are limitations. Anton seems to think that to address the more limited dynamic range of typical fixed point numbers that the solution should be 16 byte fixed point. There are many examples where 32 bit floating point is accurate enough and very convenient. In general it takes longer to code with fixed point. He can complain about high level language support for fixed types, but compilers also have issues when it comes to efficiency. I agree that floating point is too often viewed the best solution for all problems. As someone who has worked extensively with 16 bit fixed point, I really appreciate having 32 bit fixed point and floating point as single instruction options. It makes most of my programming a lot easier and faster. In today's world, time-to-market & reduced risk is often the most significant issue with a new design. Modern floating + fixed point DSPs may be the best choice for many applications. -- Al Clark Danville Signal Processing, Inc. -------------------------------------------------------------------- Purveyors of Fine DSP Hardware and other Cool Stuff Available at http://www.danvillesignal.com
Reply by ●June 18, 20072007-06-18
steve wrote: (snip)> Yes but using 256 bits in a floating point representation is not a > problem either on modern machines (both would have to be done with > software emulation, since neither is supported by today's hardware).Software emulation is a strange description. Double length fixed point is easily done in directly generated code, as many compilers for 32 bit processors generate such code for 64 bit integers.> You seem to be comparing the advantages and disadvantages of the > number of bits used in the representation, not fixed vs float > representation.They are not independent. For some applications, special purpose processors built with FPGAs can be used to speed up some computations. The pre/post-normalization needed for floating point is very expensive in an FPGA. The result is that floating point add is usually bigger (more expensive) than floating point multiply. On the other hand, large adders are relatively cheap. -- glen
Reply by ●June 18, 20072007-06-18
Al Clark wrote:> Anton Erasmus <nobody@spam.prevent.net> wrote in > news:ivi873thl5hdje52881v6941n9mt1qq3s2@4ax.com: > >> There are numerous things to worry about when using floating point. >> The misconception that one do not have to worry about things is it's >> biggest disadvantage. In floating point: >> If one has a big number y, and a very small number x, both of which >> can be represented in floating point, then there is a whole range of >> numbers where x+y=y. > > This is certainly true. This doesn't make floating point processing > undesirable. It just points out that there are limitations. > > Anton seems to think that to address the more limited dynamic range of > typical fixed point numbers that the solution should be 16 byte fixed > point. There are many examples where 32 bit floating point is accurate > enough and very convenient. > > In general it takes longer to code with fixed point. He can complain about > high level language support for fixed types, but compilers also have issues > when it comes to efficiency. > > I agree that floating point is too often viewed the best solution for all > problems. As someone who has worked extensively with 16 bit fixed point, I > really appreciate having 32 bit fixed point and floating point as single > instruction options. It makes most of my programming a lot easier and > faster. > > In today's world, time-to-market & reduced risk is often the most > significant issue with a new design. Modern floating + fixed point DSPs may > be the best choice for many applications. > > > > >-- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Reply by ●June 18, 20072007-06-18
Al Clark wrote: ...> In general it takes longer to code with fixed point. He can complain about > high level language support for fixed types, but compilers also have issues > when it comes to efficiency. > > I agree that floating point is too often viewed the best solution for all > problems. As someone who has worked extensively with 16 bit fixed point, I > really appreciate having 32 bit fixed point and floating point as single > instruction options. It makes most of my programming a lot easier and > faster. > > In today's world, time-to-market & reduced risk is often the most > significant issue with a new design. Modern floating + fixed point DSPs may > be the best choice for many applications.... This discussion is rather like the questions "Is a DSP better than a Pentium", Is a Fourier transform better than a DCT", and "Is a motorcycle better than a moving van." I tend to lose patience with those who push their preferred solutions on others without regard to circumstances. The appropriate answer to all those questions is "It depends." Jerry -- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯






