What are these "trivial" steps?
The Taylor series for 1/x is 1/x. How does that help?
What are these "trivial" steps?
The Taylor series for 1/x is 1/x. How does that help?
Elementary school algorithm. Each step consists of compare/subtract and shift.
:))))))))
1------ = 1 + x + x^2 + x^3 .... 1 - x
A lot. The whole series can be computed in parallel in one step.
Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
I'm a little fuzzy on this. How exactly do you perform multiple steps in parallel if each step requires the result of the previous step to evaluate the comparison? By the fourth step there are eight conditions that have to be evaluated. For a 24 bit mantissa how many bits are evaluated at once typically? How does this run as fast as a multiply?
Maybe the topic changed, but the original discussion was about software floating point. Grant Edwards said that his measurements of a software library gave equal timing results for multiply and divide. I was simply describing the algorithm used in hardware to explain why division was much slower in that case. I don't see how any of these methods would be any faster, and in fact I expect them to be slower than Newton Raphson iteration.
Yes, this can, in theory, be computed in one step. When working with
32 bit floating point, just how many elements of this series does it take to get a reasonable accuracy and how much logic does it take to perform all those calculations?Here is an interesting paper I found.
Rick
Correct, but you said several can be computed at once. I took that to mean that several bits of the division could be done at once. Perhaps you meant that all the operations for one bit position can be performed at one time.
Only if 0 >= x < 1 and you put some minus signs in the expression
/x
Actually, this discussion has become more than academic. I am estimating a job that will be using floating point in an FPGA. I have found three open source floating point packages. Over the next few days/weeks I will be digging into this.
Rick
I haven't been following this side-thread and if I'm speaking out of turn, I apologize. But I remember that Bipolar Integrated Technology (Beaverton, Oregon) had developed a combinatorial floating point divider. A designer I worked with on a project, in fact, used the parts for a board he designed then and that's how he described the chip to me. I can't speak for support on the QNaNs and so on, though.
Jon
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.