Shop OBEX P1 Docs P2 Docs Learn Events
Potential for Propeller laptop? — Parallax Forums

Potential for Propeller laptop?

mklrobomklrobo Posts: 420
edited 2014-09-10 09:56 in General Discussion
With the power of the propeller demonstrated by the projects that people have made,
would it be possible to make a laptop with multiple propellers working together? (Hobbiest
could repair their own laptop!)

Comments

  • NWCCTVNWCCTV Posts: 3,629
    edited 2014-08-22 20:54
    I don't see why not. Jeff(Oldbitcollector) has the Pocket Mini Computer. Stuff one in a case and add a monitor and you got a Laptop!!!
  • mklrobomklrobo Posts: 420
    edited 2014-08-23 06:13
    NWCCTV wrote: »
    I don't see why not. Jeff(Oldbitcollector) has the Pocket Mini Computer. Stuff one in a case and add a monitor and you got a Laptop!!!
    AWESOME link! Jeff did a great job. Thanks for the link!:lol:
  • prof_brainoprof_braino Posts: 4,313
    edited 2014-08-23 07:58
  • Heater.Heater. Posts: 21,230
    edited 2014-09-09 03:11
    mklrobo,
    With the power of the propeller demonstrated by the projects that people have made,
    would it be possible to make a laptop with multiple propellers working together?
    Sure, why not? All you need is two Propellers, some external RAM, and SD card and so on. And a screen and keyboard of course. Run a Z80 emulation on one of those Props, either ZiCog or qz80 will work. Run CP/M under that emulation. Then you have an operating system and access to thousands of applications including editors, word processors, compilers etc etc etc. Run a VT100 terminal emulation on the other Prop for that authentic green screen text display. All of this will work about as fast as an original CP/M machine from the late 1970's but it can be much smaller than a regular laptop even. "CP/M Pad" anyone?

    More seriously: What power demonstrated by the Propeller?

    A Propeller running PASM is executing instructions at 20 MIPs. That's kind of useless for laptop type applications as those PASM programs have to fit in 496 the instruction space of the a COG. We could use LMM and execute code from HUB. Then we are down to about 5 MIPS. Still kind of useless as we are now limited to the 32K RAM of the HUB. OK we can add external RAM and run from that. This is great as we can now use 32MB RAMS and run huge programs. But our execution speed is down to 1 MIP if we are lucky.

    That's OK we can use many Propellers in parallel. Forget about using more than one COG in each Prop for running any application codes as arranging access to that RAM for them will kill performance. Let's be generous and say we can put an 8 by 8 array of props on a mother board inside our laptop. Put the Props on one side of the board and the RAMs on the other.

    Great we now have a 64MIPs machine with 2 Gbytes of RAM!

    What about power consumption? That seems to be 10ma per COG at 80MHz so that 640ma or 2.1 watts. Hmm...not bad.

    In theory we could be writing some massively parallel code that does manage to spawn small tasks into all available COGs yielding a peak of 9000 MIPs with a power consumption peaking out at about 17 watts.
    Quite impressive at first sight. Creating such a program would be a major feat though. The overheads of communicating between processes loading and loading code etc would soon knock that down by an order of magnitude at least.

    All in all you would be better off using a Raspberry Pi or other ARM board as a basis for a home made laptop. Much better MIPs, much better power consumption, much smaller, much easier to program.

    And that's before we start to think about floating point or graphics performance.

    Of course it all depends what you mean by "laptop" and what you expect it to do.


    Edit: By the way, why is this thread posted under "Suggestions To Parallax"? Are you really suggesting that Parallax design and build such a beast?

    Edit: Corrected total MIPs available for a 64 Prop machine. 64 times 1MIP for the "master" code running from external RAM in each cog plus the seven free COGs in all the Propellers: (64 * 1) + (64 * 7 * 20) = 9024 MIPs.

    A very silly theoretical number.
  • mklrobomklrobo Posts: 420
    edited 2014-09-09 15:42
    Heater. wrote: »
    A Propeller running PASM is executing instructions at 20 MIPs. That's kind of useless for laptop type applications as those PASM programs have to fit in 496 the instruction space of the a COG. We could use LMM and execute code from HUB. Then we are down to about 5 MIPS. Still kind of useless as we are now limited to the 32K RAM of the HUB. OK we can add external RAM and run from that. This is great as we can now use 32MB RAMS and run huge programs. But our execution speed is down to 1 MIP if we are lucky.

    That's OK we can use many Propellers in parallel. Forget about using more than one COG in each Prop for running any application codes as arranging access to that RAM for them will kill performance. Let's be generous and say we can put an 8 by 8 array of props on a mother board inside our laptop. Put the Props on one side of the board and the RAMs on the other.

    Great we now have a 64MIPs machine with 2 Gbytes of RAM!

    What about power consumption? That seems to be 10ma per COG at 80MHz so that 640ma or 2.1 watts. Hmm...not bad.

    Of course it all depends what you mean by "laptop" and what you expect it to do.


    Edit: By the way, why is this thread posted under "Suggestions To Parallax"? Are you really suggesting that Parallax design and build such a beast?

    Edit: Corrected total MIPs available for a 64 Prop machine. 64 times 1MIP for the "master" code running from external RAM in each cog plus the seven free COGs in all the Propellers: (64 * 1) + (64 * 7 * 20) = 9024 MIPs.

    A very silly theoretical number.

    You have done alot of work in thinking of this, and I appreciate it. I had not approached the problem like this.
    I had high hopes of using the propeller is some respects to this objective, but it seems out of reach.
    I had not expected Parallax to build a laptop, with propellers, but it does excite the imagination!
    Oldbitcollector had made a project similar to what I was thinking of.
    So many people have done alot of things with the propeller, it staggers my mind with the
    potential of the chip. I have to give alot of credit to the people in the forum; no doubt, Parallax
    provided a great "vehicle" for all to ride. :)
  • David BetzDavid Betz Posts: 14,516
    edited 2014-09-09 20:18
    mklrobo wrote: »
    You have done alot of work in thinking of this, and I appreciate it. I had not approached the problem like this.
    I had high hopes of using the propeller is some respects to this objective, but it seems out of reach.
    I had not expected Parallax to build a laptop, with propellers, but it does excite the imagination!
    Oldbitcollector had made a project similar to what I was thinking of.
    So many people have done alot of things with the propeller, it staggers my mind with the
    potential of the chip. I have to give alot of credit to the people in the forum; no doubt, Parallax
    provided a great "vehicle" for all to ride. :)
    Keep in mind that OldBitCollector eventually abandoned the Propeller for running the Basic interpreter. He now uses it only as a smart terminal. A PIC32 runs the Basic interpreter.
  • Dave HeinDave Hein Posts: 6,347
    edited 2014-09-10 05:15
    Just out of curiosity, what are the advantages of running basic on a PIC32 versus a Prop?
  • LeonLeon Posts: 7,620
    edited 2014-09-10 05:29
    It'll be much faster, and there is more memory available:

    http://www.microchip.com/pagehandler/en-us/family/32bit/
  • Dave HeinDave Hein Posts: 6,347
    edited 2014-09-10 06:21
    The MicroMite uses the PIC32MX chip, so it seems like it's comparable in speed to the P1. It does have more memory, but external memory could be added to the Prop. It seems like a dual Prop board with external memory could be made to work as well as a Prop/MicroMite board, and then both processors could run the same code. Or it might be possible to do it all in one Prop with external memory.

    The specs for the PIC32MZ looks amazing. I wonder if the P2 will be able to compete against it.
  • David BetzDavid Betz Posts: 14,516
    edited 2014-09-10 06:37
    Dave Hein wrote: »
    The MicroMite uses the PIC32MX chip, so it seems like it's comparable in speed to the P1. It does have more memory, but external memory could be added to the Prop. It seems like a dual Prop board with external memory could be made to work as well as a Prop/MicroMite board, and then both processors could run the same code. Or it might be possible to do it all in one Prop with external memory.

    The specs for the PIC32MZ looks amazing. I wonder if the P2 will be able to compete against it.
    Yes but a Prop with external memory will likely be many times slower than a PIC32 running code from its onboard flash.
  • Dave HeinDave Hein Posts: 6,347
    edited 2014-09-10 07:05
    So you're saying it's "IMPOSSIBLE" to develop a basic interpreter on the Prop with external memory that runs as fast as the MicroMite? What if you used half the hub RAM for a memory cache, and execute Basic bytecodes from the cache? That would leave 16K of hub RAM for variables.
  • David BetzDavid Betz Posts: 14,516
    edited 2014-09-10 07:11
    Dave Hein wrote: »
    So you're saying it's "IMPOSSIBLE" to develop a basic interpreter on the Prop with external memory that runs as fast as the MicroMite? What if you used half the hub RAM for a memory cache, and execute Basic bytecodes from the cache? That would leave 16K of hub RAM for variables.
    Yes, I'm saying it's "IMPOSSIBLE".
    When will you have it done? :-)
  • Dave HeinDave Hein Posts: 6,347
    edited 2014-09-10 07:23
    In "a week or so". :)
  • David BetzDavid Betz Posts: 14,516
    edited 2014-09-10 07:32
    Dave Hein wrote: »
    In "a week or so". :)

    Should that have been "It's IMPOSSIBLE!" (tm)?
  • Heater.Heater. Posts: 21,230
    edited 2014-09-10 08:58
    mklrobo,
    You have done alot of work in thinking of this...
    Not really. This is a common theme that keeps reoccurring over the years. People discover the Propeller and it's 8 cores and immediately jump to conclusions about it awesome parallel processing power and how one could build a super computer with it. Or a "normal" computer at least.

    The refutations of this idea have been worked through many times before.

    That's not to say that the parallel processing power of the Propeller is not awesome. But it's limitations have to be taken into account as well.

    The Propeller laptop is of course IMPOSSIBLE(tm) :)
  • Dave HeinDave Hein Posts: 6,347
    edited 2014-09-10 09:56
    The "fun" part of building a Propeller laptop is to try to make it work like a real laptop, but with only 32K of RAM and 8 20MIP cores that only have 2K of RAM each. If you run LMM C you will only get at most 5 MIPS from a core. If you run Spin you'll get less than 1 MIP. FCACHE or PASM helper cogs can help to improve the performance.

    The addition of an SD card allows storing hundreds of programs on it, which greatly expands the capability of the system. Users feel like they are running on a real computer. Is it practical to use it as a compurer? Probably not, but I find it fun to tinker with.
Sign In or Register to comment.