Hi!

The P90 performs much better than the Etrax because it has a math
coprocessor built-in, whereas the Etrax does not. So while the P90 can
do a floating point calculation in hardware, using only a handful of
instructions, the Etrax has to use integer-based instructions, which
of course takes a lot more time. It *may* be possible to make it
slightly faster, but it is probably quite optimized already.

If you need to do heavy floating point math, you might want to take a
look at a board that has an ARM uC from Cirrus logic, because some of
these have a floating point coprocessor built into the uC. These uC's
can run a full linux implementation as well.

Also, you should consider using integer math instead of floating
point, where possible. For example, if you want to store the number
123.456789 you can use floting point, but you can also scale it up 
1 000 000 times and store it as 123456789 in an integer variable, as
long as you remember the real position of the decimal point. I've used
this method successfully by storing, for example, a voltage in mV
instead of volts. This might not work on your application though. But
if it does, it can save you a lot of cpu-time.

Regards
Tobias


--- In [email protected], "Jono Woodhouse"
<[EMAIL PROTECTED]> wrote:
>
> Does anybody know how to get Floating Point operations faster in the
> FoxBoard, or if there are some tweaks to increase the performance of
> libm (math library)?
> 
> I've compiled nbench (http://www.tux.org/~mayer/linux/bmark.html) for
> the fox and these are the results compared to a benchmark Pentium 90
> (With 256KB L2 Cache):
>       MEMORY INDEX        : 0.152
>       INTEGER INDEX       : 0.203
>       FLOATING-POINT INDEX: 0.002
> 
> 
> As you can see the floating point is only performing 2% as good as the
> P90. The Memory Index (15%) and the Integer Maths Index (20%) I can
> live with, but we have a project in mind that will be using Floating
> Point operations quite a bit.
> 
> Cheers
> Jono
> www.capefox.com
> www.capesoft.com
>


Reply via email to