Shop OBEX P1 Docs P2 Docs Learn Events
ARM or x86 - a 2 horse race. Do you agree? — Parallax Forums

ARM or x86 - a 2 horse race. Do you agree?

Cluso99Cluso99 Posts: 18,069
edited 2012-08-27 23:19 in General Discussion
Yesterday I read this article saying the world is standardising on two micros, ARM and x86.
http://www.eejournal.com/archives/articles/20120808-2horserace/

So where does this leave the Prop II, AVR, PIC, x8051, x6805, etc?

If you believe the article, Parallax, and everyone else, are wasting their time developing anything other than ARM or x86 micros.

Well, I for one disagree. IMHO, the main thrust for these devices (ARM) are in handheld appliances (phones, tablets, and laptops). Sure the lower end Cortex-M0 (ARM) is gaining some traction into smaller appliances. But it is an overly complex chip atm for really low end products. The x86 are being relegated to PCs and upper-end servers, etc.

It seems to convienently ignore the fact that some of the cheap AVR/PIC/x8051/x6805 are being used in humungous volumes in appliances. There is virtually never any references to the products that use these. While C is all the rage for micros, I actually wonder how many of these huge volume appliances actually run anything other than assembler? If you are going to use 1billion chips in a toaster, do you really need to write the simple code in C?

It is true that the main micro designs have stabilised (ignoring the plenthora of families of chips). This is not necessarily a good thing. The world is waiting for the next "killer" micro. It will not be built by the main stream micro companies. Innovation is usually done by someone/people not shackled by the "normal" constraints. Here comes Parallax (Chip) and other small companies.

There can be no doubt that the P8X32A Propeller microprocessor is a revolutionary design. There are no hardware peripherals - they are all soft coded (software) into the 8 CPU cores making an extremely versatile chip. This does not require a family of chips to support different peripherals. By being software controlled, things such as multiple intelligent UART, I2C, SPI, VGA (to name a few) are all possible on the one chip. Additional things such as protocols can be handled simply. These soft peripherals can even be changed dynamically. Without interrupts, programming is simpler because it is no longer necessary to worry about timing sensitive code being interupted by other processes occurring randomly. The 8 core processor, each with its own counters and memory, can run self-contained programs, and interfacing between the cores is via a large shared memory. The new PII when it arrives around year-end, will give a huge performance boost for those that need it.

Meanwhile, these out of the ordinary (at least for now) micros will enjoy lower-end niche status. The biggest job at hand is to get the world to discover there other alternatives that work extremely well at all sorts of things. The big advantage for the Prop is that the same chip can have various configurations on almost any pin. So for lower volume designs, the designer only needs to stock one device, all without concern for that particular variant of the family becoming end-of-life. These soft peripherals just become a software library to be included, instead of requiring a selection from a family of devices.

Long live the prop ;)

Comments

  • KyeKye Posts: 2,200
    edited 2012-08-09 19:13
    ARM cores are the only things similar across different ARM chips. All the devices attached to the ARM core are different. This means that you have to change your code to support different I/O subsystems and memory maps.

    Assuming you use the standard C library and GCC... then computation looks the same. The chip supplier will supply a library for the peripherals. These libraries will differ across chips. So... yeah...

    Thanks,
  • Heater.Heater. Posts: 21,230
    edited 2012-08-09 19:29
    ARM cores are all similar. Execept there is a serious mess withe their floating point support. They seem to have been through a bunch of incompatible floating point units.
    As an example, there was no Debian Linux built to support hardware floating point on the ARM 11 used by the Raspberry Pi board. Debian used software floating point on older ARMs that lacked fp hardware or hardware floating point on newer ARMs. A whole new architecture version of Debian had to be created for the Raspi.
    I had a devil of a job getting the Free Pascal compiler to generate hardware floating point code even on a newer ARM then they had a struggle to get Free Pascal compiled code to run on the Raspi ARM.
    I guess, hope, that this issue will fade as the newer stuff takes over, unless they change it again...
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-08-09 19:48
    ARM and X86 are microprocessors. The Propeller, AVR, PIC, and the like are microcontrollers. Apples and oranges -- different markets entirely.

    -Phil
  • jazzedjazzed Posts: 11,803
    edited 2012-08-09 19:55
    Current computing fads that have massive sales volume require a fast processor with big memory and access to mainly user I/O devices. Propeller is not designed to or able to serve these areas.

    Propeller is capable of serving other niches though, but so are many alternatives. Where does propeller shine? That is, what things does it do best over other micros? Answer that *convincingly* and sell many chips.
  • $WMc%$WMc% Posts: 1,884
    edited 2012-08-09 20:29
    To me the trend is WiFi, Bluetooth, and TCP/IP, HTML,etc.
    '
    I don't see Parallax getting behind any of these protocals.....( I have no idea what their thinking, And It's just my opinion on this subject )
    '
    Instead they go with 802.15...This is not WiFi,,,It"s pretty much useless to any smart phone or home WiFi router LAN set-up.
    '
    The other guys offer these protocols that are useful, So I'm forced to change processors if I want to stay up with the times and do something cool with my smart phone with out having to buy a bunch of converter stuff, And still code in Basic.
    '
    The company was founded on Basic lingo....(BS2xx)
    '
    What went wrong?
    '
    Just My thoughts
  • rod1963rod1963 Posts: 752
    edited 2012-08-09 20:58
    Jazzed

    That is up to Parallax. So far they haven't done much to really sell the Prop to the commercial world or make the case for it as a alternative.
  • GadgetmanGadgetman Posts: 2,436
    edited 2012-08-10 00:33
    Cluso99 wrote: »
    It seems to convienently ignore the fact that some of the cheap AVR/PIC/x8051/x6805 are being used in humungous volumes in appliances. There is virtually never any references to the products that use these. While C is all the rage for micros, I actually wonder how many of these huge volume appliances actually run anything other than assembler? If you are going to use 1billion chips in a toaster, do you really need to write the simple code in C?

    Actually, if I wanted to design a microcontroller board for a toaster, you'd bet I'd use C, Spin or whatever else high-level language available that still allows me to control the IO sufficiently to get the job done.
    You're not very likely to run out of room in the EEPROM, and micro/milli-second timing doesn't matter all that much, either.
    Being able to knock out the code in a day instead of a week, will matter, though.
  • Heater.Heater. Posts: 21,230
    edited 2012-08-10 01:28
    Devil's advocate here:

    What if someone made a chip with lots of general purpose I/Os like the Prop or better yet Prop II?
    What if they had 8 or so cores with a little bit of their own memory and access to a common bigger memory, like the Props?
    What if any core could have access to any pin and perhaps had a bunch of timers and little peripherals locally?
    What if each core ran at 100MIPS or say 700MIPS and up?
    What if those cores were ARM instead of our familiar COG?

    Other things being equal, like power consumption, size, support devices etc, what would make you care that the processor architecture was not COG like?
  • LeonLeon Posts: 7,620
    edited 2012-08-10 01:57
    ARM and X86 are microprocessors. The Propeller, AVR, PIC, and the like are microcontrollers. Apples and oranges -- different markets entirely.

    -Phil

    ARM designs both MCUs (such as the Cortex-M0 and -M3) and MPUs (ARM9 and ARM11).
  • Heater.Heater. Posts: 21,230
    edited 2012-08-10 03:54
    Phil,

    ...microprocessors...microcontrollers ....different markets entirely.


    Currently yes.

    What happens when you can build an ARM into a chip as small as any AVR, or PIC etc, for the same price, same power consumption, same speed, same I/O capability etc?

    Probably not practical currently but it could go that way could it not. Would there be any down side to programming for ARM instead of AVR/PIC in that case?

    Actually, looking at my Raspberry Pi I see it basically only has one chip, an ARM Soc, that chip is smaller than many micro-controllers I have used in the past. About the size of a surface mount Propeller.

    Note: There is 256MB of RAM welded to the top of the ARM chip but looking at it they are indistinguishable.
  • LeonLeon Posts: 7,620
    edited 2012-08-10 04:00
    Here is a PCB design of mine for the new DIP28 LPC1114 Cortex-M0 chip:

    http://www.leonheller.com/LPC1114%20(DIP28)/

    NXP also makes a tiny (2.17 x 2.32 x 0.6 mm) wafer-scale 16-bump version of the Cortex-M0, the LPC1102UK.

    Software development is harder than for 8-bit MCUs, because of their complexity.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2012-08-10 04:18
    More like a race between horse and pigs and whatever.

    The real break point is the need to store and manipulate data as business machines. You remember IBM, don't you? and NCR before them?

    Video, music, game platforms, and e-books are rather separate and fickle. Cell phone are a niche all their own.

    The simple fact is that a micro-controller is conceptually supposed to control a mechanical process rather than do any of the above. The demands for timing are rather rigid, the the speed at what this is done is comparatively slow.

    Nvidia has already carved out a huge parallel processing niche in video display. Intel is rather entrenched due to code for Apple, MS, and Linux being well-developed for these backbone devices.

    The Internet servers may use neither ARM or x86, there are other better, faster, dedicated devices. And Oracle is using microprocessors you have likely never heard of, but major industry and government depend on.

    The idea of this being a two horse race is a rather naive view from one who knows only what is easiest for a hobbyist to get ahold of.

    Parallax will do fine. Why so? They ARE the parallel processor of micro-controllers. It was a concept that was ignored, but for this particular niche it is an extremely useful one.

    If you want to talk winning a race, what about the human race? Are we all rather in a mad scrabble to find our own niche. That certainly isn't a 2 man race and never will be. The same goes for micro-whatevers.
  • Heater.Heater. Posts: 21,230
    edited 2012-08-10 04:43
    Loopy,
    They ARE the parallel processor of micro-controllers

    Except for XMOS of course. Oops...there I said it.

    "Micro-controller" was traditionally just a marketing term stuck on a computing device that was self-contained computer in a single chip, CPU, RAM, ROM, IO, support logic, rather than having your compute power come in a bunch of devices.

    There have been micro-controllers with all sorts of processor architectures from the old 8 bitters though the newer AVR and PIC to x86, ARM, MIPs, Power Architecture etc etc.
    Many of those architectures have also served in the "micro-processor" role.

    So, "micro-controller" or "micro-processor" makes no odds to the question in the title of this thread.
  • TorTor Posts: 2,010
    edited 2012-08-10 05:05
    Cluso99 wrote: »
    It seems to convienently ignore the fact that some of the cheap AVR/PIC/x8051/x6805 are being used in humungous volumes in appliances.
    Plus the good old 6502 which is sold in the hundreds of millions today, something that will come as a surprise to a lot of people. They're just invisible, inside medical equipment and the like.
    And then there's the FPGA market, there's this huge section where an x86/ARM/traditional CPU would be an awkward choice. This is true for some boards we produce at work, for example. I have the feeling that some of the FPGA market could be handled by something like the Propeller, maybe not the P1, but the PII looks like it could be used in some areas where and FPGA or CPLD would maybe have been the only other alternative.

    -Tor
  • LeonLeon Posts: 7,620
    edited 2012-08-10 05:09
    XMOS devices are often used instead of FPGAs:

    http://www.xmos.com/
  • Cluso99Cluso99 Posts: 18,069
    edited 2012-08-10 05:13
    Gadgetman wrote: »
    Actually, if I wanted to design a microcontroller board for a toaster, you'd bet I'd use C, Spin or whatever else high-level language available that still allows me to control the IO sufficiently to get the job done.
    You're not very likely to run out of room in the EEPROM, and micro/milli-second timing doesn't matter all that much, either.
    Being able to knock out the code in a day instead of a week, will matter, though.
    Actually, I bet I could knock it out faster in assembler, provided it was a chip I was familiar with. So, for me, a 6805 derivative probably. And I bet I could use a cheaper family chip too because the code would be much smaller.
  • Cluso99Cluso99 Posts: 18,069
    edited 2012-08-10 05:23
    As far as I am concerned, the microprocessor and microcontroller market is so blurred now, it doesn't matter. Sure, the x86 are the power-horses nowadays. Most of this is because of bloatware. MS is now trying hard to trim it down because the switch is to the cheaper ARMs that dont have to waste all that silicon for backwards x86 compatibility. ARMs are coming down to the low end with the M0.

    What would be nice to see though, would be a fast CortexM0 without peripherals, and instead a bunch of prop1 cogs in a ring around the M0, all on the one die. The bigger and faster Cortex line could use P2 cogs.

    Time to stop dreaming :(
  • prof_brainoprof_braino Posts: 4,313
    edited 2012-08-10 05:31
    Simple evolution. There used to be lots of choices when there was lots of money. Now the money is dried up, so offerings get dropped and diversity decreases for a bit.
    Doesn't matter which survive or not, they all run forth if I want. The prop is the only option with multiple cores that's cheap enough for me to get my hands on (Both the X and green arrays chips may as well not exist, I'll never see them).
    When the money comes back, we'll build on what we made, maybe it will dance well.
  • Heater.Heater. Posts: 21,230
    edited 2012-08-10 06:16
    Cluso,
    I have had that same ARM surrounded by COGs dream.
    Seems someone suggested it to Chip once.
  • Peter KG6LSEPeter KG6LSE Posts: 1,383
    edited 2012-08-10 07:11
    I disagree with the author ... game consoles uses a POWER derived chip ...... That is a HUGE market share....
    Microsoft Dumped x86 on the 1st Xbox .
    sony used MIPS in the PS2
    Nintendo used a XPC750 in the game cube ( BTW that is the Same chip that was used by apple for the G3 Imacs.)


    best I own is a game cube . Meh I am Young fart .. So game systems as a important point to bring up.
  • CircuitsoftCircuitsoft Posts: 1,166
    edited 2012-08-10 17:52
    Heater. wrote: »
    Cluso,
    I have had that same ARM surrounded by COGs dream.
    Seems someone suggested it to Chip once.
    Might've been me.

    On the Arm/x86 race, there's also MIPS to consider. There's a reason the PIC32 is a MIPS M4k core. Ingenic claims 2500DMIPS@100mW from their latest XBurst (MIPS) processor.

    As for making a toaster, I'd probably use a PIC10F220. Two ADCs, 256 words of instruction ROM, 16 bytes RAM, $0.42/ea@3000. With that small of a program space, I'd definitely use assembly. I don't think there even is a C compiler for that chip.
  • Heater.Heater. Posts: 21,230
    edited 2012-08-11 00:21
    There may well be a C compiler for that chip. I have seen a tiny little PIC chip used to perform some simple task in a larger project. I was stunned when the guy designing it said he used C.
  • jmgjmg Posts: 15,183
    edited 2012-08-12 15:22
    Cluso99 wrote: »
    Yesterday I read this article saying the world is standardising on two micros, ARM and x86.
    http://www.eejournal.com/archives/articles/20120808-2horserace/

    So where does this leave the Prop II, AVR, PIC, x8051, x6805, etc?

    If you believe the article, Parallax, and everyone else, are wasting their time developing anything other than ARM or x86 micros.

    Typical shallow journalism there from Jim Turley - he needs to get out more.

    First mistake, is 'ARM' and 'intel' are brands, not cores. ( just like PIC is a brand)
    Binary compatible across variants ? - Nope, not for any of 'the brands'

    Secondly, he ignores package and supply voltage, just to name two design details separate from 'the brand'.


    Microchip has been growing steadily, and now ships more controllers than anyone else.
    Renesas is the revenue leader across all families, and again, no ARM or x86 there...

    Their new RX200 series addresses an issue that only a minority of ARM licensees (Nuvton, Fujitsu ) have grasped - which is wide supply operation. The RX200 is spec'd from 1.8-5.5v
  • jimigoujimigou Posts: 8
    edited 2012-08-27 18:08
    Heater. wrote: »
    Loopy,



    Except for XMOS of course. Oops...there I said it.

    "Micro-controller" was traditionally just a marketing term stuck on a computing device that was self-contained computer in a single chip, CPU, RAM, ROM, IO, support logic, rather than having your compute power come in a bunch of devices.

    There have been micro-controllers with all sorts of processor architectures from the old 8 bitters though the newer AVR and PIC to x86, ARM, MIPs, Power Architecture etc etc.
    Many of those architectures have also served in the "micro-processor" role.

    So, "micro-controller" or "micro-processor" makes no odds to the question in the title of this thread.

    Well, at least a few other posters still considering PPCs in this mix.
    Frankly, considering the rather impressive specs on the WiiU's new processor, there's still some life in that family.
  • rod1963rod1963 Posts: 752
    edited 2012-08-27 18:47
    The PowerPC is still big in the automotive market. Freescale has a whole line of them devoted to vehicles.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-08-27 18:56
    The reason for PPC's popularity in the automotive market is the integration of the time processing unit (TPU) that's used for ignition timing. It's like a microcoded processor, where the system integrator can write the microcode. Seriously, though, the Propeller could handle the same timing tasks with ease.

    -Phil
  • rod1963rod1963 Posts: 752
    edited 2012-08-27 23:19
    Maybe, but the Prop looks pretty anemic compared Freescale's latest offerings like this:

    http://www.freescale.com/webapp/sps/site/homepage.jsp?code=POWER_ARCH_5XXX

    This isn't a insult, but realize you are dealing with a multi billion dollar company, they have the resources to back and promote their designs.

    Parallax can't even put out white papers demonstrating the Prop can beat other MCU's like the PPC or as a valid alternative to the PSOC5. No app notes how to use it as a TPU, no hardware demos, etc. But at least it's getting a industry recognized C compiler after all these years. Still they really have to step up their game if they want to play with the big boys instead of being seen as a company that caters to hobbyists.
Sign In or Register to comment.