Shop OBEX P1 Docs P2 Docs Learn Events
How unique is the propeller chip? — Parallax Forums

How unique is the propeller chip?

Clock LoopClock Loop Posts: 2,069
edited 2009-10-19 18:30 in Propeller 1
I was just thinking about how the multi-core revolution has just begun, and how most of the programming done today is single core.

I would say that the propeller is a perfect baby step towards getting programmers to think multi-core.

We have all this power in multi core but always seem to only speed things up when cranking up the clock.

Does anyone know of any other multi-core chip like the prop?
«13

Comments

  • James LongJames Long Posts: 1,181
    edited 2009-10-16 23:32
    Clock Loop said...
    I was just thinking about how the multi-core revolution has just begun, and how most of the programming done today is single core.

    I would say that the propeller is a perfect baby step towards getting programmers to think multi-core.

    We have all this power in multi core but always seem to only speed things up when cranking up the clock.

    Does anyone know of any other multi-core chip like the prop?

    There is one other chip similar to the Propeller, but not actually "like" the prop. I has many other features, and a lot of added zeros to the price. I can't recall the exact chip, but do remember a discussion on here about it.

    The Propeller is one of the most versatile chips for the money.

    James L

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    James L
    Partner/Designer

    Lil Brother SMT Assembly Services

    Please note: Due to economic conditions the light at the end of the tunnel will be turned off until further notice. Thanks for your understanding.
  • Mike GreenMike Green Posts: 23,101
    edited 2009-10-17 00:17
    The XMOS is another multi-core chip intended for embedded (microcontroller) applications. It's quite different from the Propeller and, as usual, has some advantages and some disadvantages.
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-10-17 01:17
    The prop cogs are true RISC processors. The XMOS has a complex instruction set.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade, RetroBlade,·TwinBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80) , MoCog (6809)
    · Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • jazzedjazzed Posts: 11,803
    edited 2009-10-17 01:31
    I've had the luxury of dealing with these *serious* multi-core MIPS64 chips over the last 3 years ... more 0's as James said:
    Cavium Octeon
    Cavium Octeon II

    Other "serious" multi-core processors:
    AMD 6-core CPU

    Then there's the Intel stuff.

    Also, NXP has announced a series of ARM Cortex A9 multi-core controllers ... all I can find is press releases.

    Check out the Sun Niagra 8 core CPU
  • KenBashKenBash Posts: 68
    edited 2009-10-17 02:30
    There is a chip called Seaforth that has 40 processors. I think it would be interesting but so far the propeller is doing fine for my control needs.

    K.B.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    " Anything worth doing... is worth overdoing. "

    ··············································· ( R.A.H. )
    ····································
  • HollyMinkowskiHollyMinkowski Posts: 1,398
    edited 2009-10-17 03:03
    The propeller is a wonderful baby-step into the multi-core future.

    Single core will someday soon seem very last century! smile.gif

    It was strange using the prop at first for me, having depended so heavily
    on interrupts...but multi-core is so superior!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "Where am I? Where am I going? Why am I in a handbasket?"
  • waltcwaltc Posts: 158
    edited 2009-10-17 06:48
    Don't forget about Nvidia's offerings which are accessible to anyone has their upper end video cards(starting with GE Force series 8 which can be had for about $100)or above in their PC's and are massively parallel and capable of very serious number crunching.

    Plus the tools are free. Probably the cheapest introduction to parallel processing.

    Other multicores include IBM/Freescale PowerPC's - used in automotive applications.

    Intel has dual core Atom's going into 2012 BMW's and Mercedes.

    Xbox elite with its 3 core PPC clocking in at 3.2ghz.
  • ErNaErNa Posts: 1,752
    edited 2009-10-17 07:36
    The man behind XMOS, David May. once developed the Transputer, a true multicore processor: it had an infinite number of freely to connect processors. At least, it appeared like that, because of the programming language OCCAM. The transputer was an OCCAM-Machine and could run parallel processes in a single chip, but without changing the software, just by configuration, one could map some (4) of the logical communication channels to external links and create physical Multiprocessor systems.
    Parallelism is a kind of thinking, it doesn't matter, if multiple core exists. But: it is better. And the propeller brings this technology to the people.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    cmapspublic3.ihmc.us:80/servlet/SBReadResourceServlet?rid=1181572927203_421963583_5511&partName=htmltext
    Hello Rest Of The World
    Hello Debris
    Install a propeller and blow them away wink.gif

    Post Edited (ErNa) : 10/17/2009 1:14:52 PM GMT
  • heaterheater Posts: 3,370
    edited 2009-10-17 09:25
    I think we should make a distinction between "microprocessors" and "microcontrollers".
    In the context of many embedded systems, real-time control and the majority of projects going on in this forum it is not much help to have a quad core Intel or mega core MIPS etc. Most of those are not designed with deterministic timing, the removal of interrupts, total independence of threads etc in mind.

    Where is matters here, in the embedded, real-time world, the Prop is still unique as far as I can tell. The idea here is "software defined silicon" as XMOS says. Using processors to do what dedicated circuitry would be needed for in a "normal" controller. Flexibility without the complexity/expense of FPGA. You just can't do that with a quad core Intel anything.

    Now XMOS seem to have the nearest competing chip, I have not looked at it so hard but I'm sure it's not anywhere as quick and easy for a user to get up to speed with unless they have a good grounding in the C language, compilers, linkers, mappers etc. etc.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • ErNaErNa Posts: 1,752
    edited 2009-10-17 13:20
    I do not see an alternative except the prop II. Heater: right, software defined silicon is one point. And to show and use the power of parallelism. And the quick turnaround: F10 and a few seconds. And the video. And ADC. and so on. And now: just to weeks without propeller, only nature and vacation. See you all in november! ErNa

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    cmapspublic3.ihmc.us:80/servlet/SBReadResourceServlet?rid=1181572927203_421963583_5511&partName=htmltext
    Hello Rest Of The World
    Hello Debris
    Install a propeller and blow them away wink.gif
  • LeonLeon Posts: 7,620
    edited 2009-10-17 13:27
    Cluso99 said...
    The prop cogs are true RISC processors. The XMOS has a complex instruction set.

    I don't think that the Propeller cog is a RISC processor, as the term is generally accepted.

    Both the Propeller and the XMOS chips (and the SeaForth) have MIMD (multiple instruction, multiple data) architectures, like the transputer. That distinguishes them from many of the other chips exploiting parallelism. Each XMOS processor runs at 400 MIPS, giving 1600 MIPS for the four core device. The single core 400 MIPS device costs about the same as a Propeller, and has eight 100/50 MIPS hardware threads, like the Propeller's eight cogs. The threads operate in round-robin fashion, though. As they use standard C and XMOS's own XC, they are quite easy to use.

    I've got some SeaForth chips, but haven't done anything with them.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle

    Post Edited (Leon) : 10/17/2009 1:42:46 PM GMT
  • Mike GreenMike Green Posts: 23,101
    edited 2009-10-17 13:45
    The Propeller cog is indeed a RISC, but an odd one. The Wikipedia article on "RISC" indicates that one of the main distinguishing factors is the predominance of the load/store operation and the Propeller does have that in terms of hub memory. What's confusing is that the Propeller is very much a RISC design in terms of its instructions and how they manipulate the registers which are all that the cog has for memory, but the instructions are all stored in the "registers" rather than being fetched from the "memory".
  • HollyMinkowskiHollyMinkowski Posts: 1,398
    edited 2009-10-17 13:47
    @waltc

    The Raytheon board that powers the F-22 Raptor instrumentation is
    a multi-core system with 66 Power PC processors.
    It is nearly a supercomputer.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "Where am I? Where am I going? Why am I in a handbasket?"
  • jazzedjazzed Posts: 11,803
    edited 2009-10-17 14:01
    heater said...
    I think we should make a distinction between "microprocessors" and "microcontrollers".
    In the context of many embedded systems, real-time control and the majority of projects going on in this forum it is not much help to have a quad core Intel or mega core MIPS etc.

    Very true.

    However, compared to high end multi-core solutions development, programming micocontrollers is like being a fat man in a straight jacket trying to juggle bowling balls. Of course anyone who has never done high end > 16x multi-core programming wouldn't understand.
  • LeonLeon Posts: 7,620
    edited 2009-10-17 14:19
    Mike Green said...
    The Propeller cog is indeed a RISC, but an odd one. The Wikipedia article on "RISC" indicates that one of the main distinguishing factors is the predominance of the load/store operation and the Propeller does have that in terms of hub memory. What's confusing is that the Propeller is very much a RISC design in terms of its instructions and how they manipulate the registers which are all that the cog has for memory, but the instructions are all stored in the "registers" rather than being fetched from the "memory".

    The XMOS chip is also RISC, in that sense, as it has a load and store architecture.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
  • potatoheadpotatohead Posts: 10,261
    edited 2009-10-17 15:03
    IMHO, the difference between the propeller and pretty much everything else is the compute happens in parallel (concurrent multiprocessing), while the access is sequential, round robin.

    That particular mode is unique as far as I can tell.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!
  • RaymanRayman Posts: 14,865
    edited 2009-10-17 15:17
    When I picked the Prop (over 2 years ago now), the main feature I was looking for was VGA output. I don't think even the XMOS can do VGA output, you think it could, but I don't see a driver for it on their pages...

    If I were a real pro (or lots more time and money), I'd probably use an ARM chip or an FPGA...
    Actually, I'll retract that comment now because I feel like a quasi-pro and I'm still going to stick with the Prop!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

    Post Edited (Rayman) : 10/17/2009 3:45:03 PM GMT
  • Mike GreenMike Green Posts: 23,101
    edited 2009-10-17 15:18
    It's unique now, but I believe it was done on early multiprocessing computers like the CDC6600's peripheral processors.
  • potatoheadpotatohead Posts: 10,261
    edited 2009-10-17 15:31
    What an interesting machine! Just got done with a brief read on it, PASCAL, Wirth, etc....

    There are some similarities there with how a COG works for sure. I've attached a block diagram, showing the core elements and their relationships, along with an image of the text from the central CPU operating manual.

    (I seriously love this stuff)

    IMHO, the Propeller is unique in the combination of these ideas (concurrent multi-processing at the CPU level, not just data xfer, or compute) (structured, round robin shared memory access) (I/O pin states shared among CPUs).

    Edit: From a more extended read, the idea of memory access via simple rule (ie: round robin), is unique to the Propeller. This machine featured the ability to get at shared memory via rules, but their focus was throughput and conflict resolution, rather than deterministic behavior. That's where the magic is in the prop --that and the idea of non-associative compute spaces for the COGs. Those things together permit some very interesting parallel behavior. ie: Program running on one CPU, appears much like hardware would to another, in that they don't impact one another, unless the programmer deems that necessary. This is a big part of where the "cool" is on the prop, again IMHO, of course.

    Another part of the "cool", and something which is a love / hate with me, happens to be the minimal working register design. With few exceptions, the instruction set is pure memory-to-memory direct, with only a PC, and some control registers existing for dedicated functions. This gets a bit difficult, particularly when one is used to load, compute, store designs, where registers exist as addressable things, apart from the program and data memory. On Propeller, these are one and the same in the COG memory space. I'll pass on characterizing LMM for now....

    Another Edit: (sorry) I would add that having come up on the learning curve for this, I find load, compute, store register based designs strange and limiting now. Having to sort ops according to central memory access windows is way different than sorting them to make optimal use of the register space on an ordinary CPU. Fun stuff! PASM is just bad *** fun and powerful. It's elegant too, of course those things are all subjective. I like a 6809 for very similar subjective things, and wouldn't qualify these observations as part of the uniqueness of the prop, just appreciation for it, to be clear.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!

    Post Edited (potatohead) : 10/17/2009 3:51:52 PM GMT
  • LeonLeon Posts: 7,620
    edited 2009-10-17 15:38
    There are several graphics implementations for the XMOS chips:

    www.xmoslinkers.org/node/316

    www.xmoslinkers.org/node/135

    www.xmoslinkers.org/node/105

    www.xmoslinkers.org/node/76

    The last three are by Ale, who is also well known here. The XMOS chip doesn't need any special video hardware (100 MHz I/O), but resolution is limited by the 64k RAM available to each core. External RAM could be used, of course.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle

    Post Edited (Leon) : 10/17/2009 3:45:13 PM GMT
  • RaymanRayman Posts: 14,865
    edited 2009-10-17 15:45
    But, there's no official "XMOS" drivers for video, right?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
  • AleAle Posts: 2,363
    edited 2009-10-17 15:54
    Official video driver ? no... but there is a "official" SDRAM driver... 60MB/s burst mode with only 1 thread used.
    The XMOS chip is nice, and the monocore version is even cheaper than the propeller but comes only in fine pitch packages... the other ones are BGA...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Visit some of my articles at Propeller Wiki:
    MATH on the propeller propeller.wikispaces.com/MATH
    pPropQL: propeller.wikispaces.com/pPropQL
    pPropQL020: propeller.wikispaces.com/pPropQL020
    OMU for the pPropQL/020 propeller.wikispaces.com/OMU
  • RaymanRayman Posts: 14,865
    edited 2009-10-17 16:06
    Why do you need a special driver for SDRAM? You just set address pins and read/write on the data pins...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
  • LeonLeon Posts: 7,620
    edited 2009-10-17 16:07
    That's SRAM. SDRAM (synchronous dynamic RAM) is a lot harder!

    en.wikipedia.org/wiki/Synchronous_dynamic_random_access_memory

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
  • RaymanRayman Posts: 14,865
    edited 2009-10-17 16:10
    Oh, I get it... There goes my quasi-pro status [noparse]:([/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
  • heaterheater Posts: 3,370
    edited 2009-10-17 16:13
    potatohead:

    "...happens to be the minimal working register design."

    Interesting. I might look at the Cogs the other way around. A "load/store" architecture, via [noparse][[/noparse]rd,wr][noparse][[/noparse]long,word,byte] and a huge register set of 496 plus 16 special purpose regs. Disregarding where instructions are actually executed from.

    It really is hard to put the COG into any common processor category.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • LeonLeon Posts: 7,620
    edited 2009-10-17 16:17
    The main advantage the XMOS chips have over everything else is the ability to do stuff in software, like High-Speed USB and Fast Ethernet, that normally require on-chip or external hardware. All that is needed is a Phy chip.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
  • RaymanRayman Posts: 14,865
    edited 2009-10-17 16:19
    Sure it does high speed USB? The reference audio design I looked at on their website used a seperate chip for USB...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
  • LeonLeon Posts: 7,620
    edited 2009-10-17 16:21
    heater said...
    potatohead:

    "...happens to be the minimal working register design."

    Interesting. I might look at the Cogs the other way around. A "load/store" architecture, via [noparse][[/noparse]rd,wr][noparse][[/noparse]long,word,byte] and a huge register set of 496 plus 16 special purpose regs. Disregarding where instructions are actually executed from.

    It really is hard to put the COG into any common processor category.

    PICs can be regarded as having lots of registers in a similar fashion. Many operations involving the working register can write the result back to a memory register in the same cycle.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
  • LeonLeon Posts: 7,620
    edited 2009-10-17 16:26
    Rayman said...
    Sure it does high speed USB? The reference audio design I looked at on their website used a seperate chip for USB...

    www.xmos.com/technology/prototype-boards/usbaudio2

    The USB3318 chip in the schematic is the USB Phy, everything else is done in software.

    It all runs on one $7 single-core chip!

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle

    Post Edited (Leon) : 10/17/2009 4:37:15 PM GMT
Sign In or Register to comment.