Shop OBEX P1 Docs P2 Docs Learn Events
Tables on SD or other Flash for better floating point? — Parallax Forums

Tables on SD or other Flash for better floating point?

RaymanRayman Posts: 14,984
edited 2011-06-20 10:39 in Propeller 1
Just wondering how crazy this idea is...

Can you put huge tables onto and SD card or other external flash to speed floating point operations?

Maybe get 64-bit internal precision?

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2011-06-18 12:05
    Not really. By the time you set up the SD card read operation, you could have done the whole floating point operation. I'm sure there might be some transcendental operations that would benefit from some kind of lookup into large tables, but usually that's only for an initial estimate. The Propeller has all kinds of instructions to help with multiple precision arithmetic. None of the basic operations in 64-bit (+, -, *, /, compare) would benefit much from anything but well written PASM code.
  • RaymanRayman Posts: 14,984
    edited 2011-06-18 12:53
    Hmm. Ok, I can SD being too slow. But, how about SQI flash? I think that could read a table value with just a few instruction cycles...

    Regarding * and /, could you generate huge, say 64x4 multiplication and division tables to speed it up?
  • Mike GreenMike Green Posts: 23,101
    edited 2011-06-18 13:22
    I would have to code them up both ways to compare, but I doubt (gut feel) that a table lookup to external serial (SPI) flash could be sped up enough to beat a tight PASM loop for 64-bit multiplication or division.
  • LeonLeon Posts: 7,620
    edited 2011-06-18 13:33
    If you really need fast floating-point and 64-bit arithmetic the Propeller is the wrong device. It's just an embedded processor, and isn't intended for fast number-crunching.
  • SapiehaSapieha Posts: 2,964
    edited 2011-06-18 13:40
    Hi Leon.


    For Match intensive - NO.
    But if anyone need 64 bit precision in LOW Match intensive application that solution are Nice to have.


    Leon wrote: »
    If you really need fast floating-point and 64-bit arithmetic the Propeller is the wrong device. It's just an embedded processor, and isn't intended for fast number-crunching.
  • LeonLeon Posts: 7,620
    edited 2011-06-18 13:41
    What do you mean by "match intensive"?
  • SapiehaSapieha Posts: 2,964
    edited 2011-06-18 13:44
    Hi Leon.

    Match intensive = fast number-crunching.
    That You need crunch many numbers in as fast as possible.

    But if You have only some in second that = LOW Match intensive


    Leon wrote: »
    What do you mean by "match intensive"?
  • RaymanRayman Posts: 14,984
    edited 2011-06-18 20:17
    I've thought about it just a bit more and see that multiplication and division tables are a really bad idea.

    Still, I think there could be some use for better trig and log tables on flash...
  • AleAle Posts: 2,363
    edited 2011-06-20 10:39
    Rayman, In my MATH page there are 64 bit routines (for doubles with 53 bit significant) :). A spin wrapper may be needed ! Just the 4 operations.
    A very nice package is the FPSP package by Moto for the '040 and 060. They use all possible methods but you need like 512k of memory just for it ;-) !
Sign In or Register to comment.