Christopher Smith wrote:
Again, there was a time when what you said was true. Superpipelining,
which is found now (let alone when a current fourth grader is likely to
enter the real world) even in embedded chips, has produced chips for
whom addition, subtraction, multiplication and division all impose a
single cycle of overhead. So the constant factor *is* the same.
I think you are confusing latency with throughput.
If you are computing A*B followed by C*D, it is true that you can launch
them right after one another. That's throughput.
If you are computing A*B*C, you will have to wait for A*B to complete
until you can launch (A*B)*C. That's latency.
A+B generally takes a clock cycle of latency
A*B generally takes a couple clock cycles of latency
A/B generally takes O(log n) cycles of latency (Newton-Raphson), but
could be O(n) (SRT)
-a
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg