Shop OBEX P1 Docs P2 Docs Learn Events
Super-COG with >2KB Cog RAM — Parallax Forums

Super-COG with >2KB Cog RAM

Cluso99Cluso99 Posts: 18,069
edited 2014-08-16 22:08 in Propeller 1
I am experimenting with one cog having more than 2KB of cog ram.

1) Initially to prove the concept, I am just using 4KB of cog ram.
2) I am proposing to access the upper cog ram just like hubexec, except obviously not going via hub.
3) To access the upper cog ram I intend to modify the JMPRET instruction to use the WC bit to indicate the D & S addresses are relative, not absolute.

This will permit me to make a start and see what else (minimally) is required to make this work.

David already reminded me on another thread that we will need to be able to load larger immediate values than the current 9 bits. But this will come as soon as I get that far.

I will post results here, as time permits.

Comments

  • roglohrogloh Posts: 5,795
    edited 2014-08-16 18:24
    Sounds interesting. On FPGA systems that have lots of internal SRAM this approach could put it to good use.
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-08-16 20:57
    Hmm... if you stick to absolute addresses, you could use WC and WZ as the 10th address bit each for src & dst
  • David BetzDavid Betz Posts: 14,516
    edited 2014-08-16 20:59
    Cluso99 wrote: »
    I am experimenting with one cog having more than 2KB of cog ram.

    1) Initially to prove the concept, I am just using 4KB of cog ram.
    2) I am proposing to access the upper cog ram just like hubexec, except obviously not going via hub.
    3) To access the upper cog ram I intend to modify the JMPRET instruction to use the WC bit to indicate the D & S addresses are relative, not absolute.

    This will permit me to make a start and see what else (minimally) is required to make this work.

    David already reminded me on another thread that we will need to be able to load larger immediate values than the current 9 bits. But this will come as soon as I get that far.

    I will post results here, as time permits.
    Super-COG? I used to watch a TV show called SuperCar when I was a kid. Is it anything like that? :-)
  • David BetzDavid Betz Posts: 14,516
    edited 2014-08-16 21:01
    Cluso99 wrote: »
    IDavid already reminded me on another thread that we will need to be able to load larger immediate values than the current 9 bits.
    This may not be necessary if you are extending COG memory rather than running from hub memory. Normally in PASM code constants bigger that 9 bits get stored in a long in COG memory. If you have more COG memory then you could continue to do that. At least, once you solve how to address the additional COG memory.
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-08-16 21:57
    One "easy" way to get more addressing capability is to go to a split I&D model, ie use "normal" $000-$1FF references for data, and map code to $200-$3FF

    This would still need a way of being able to move data to/from the "code" space, but WC/WZ could be used for that.
  • Heater.Heater. Posts: 21,230
    edited 2014-08-16 22:08
    David,

    Super Car! There is a long lost memory. Forerunner of Thunderbirds. I used to play with a plastic Super Car in the bath tub.
    http://www.youtube.com/watch?v=XbZNxyXUBZs&list=PLXwGw8a6FHykEaXODI89-UY19UvsZr9Ha

    Sorry for interrupting folks, as you were....
Sign In or Register to comment.