ARM or x86 - a 2 horse race. Do you agree?
Cluso99
Posts: 18,069
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
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
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,
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
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.
'
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
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.
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.
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?
ARM designs both MCUs (such as the Cortex-M0 and -M3) and MPUs (ARM9 and ARM11).
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.
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.
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.
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.
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
http://www.xmos.com/
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
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.
I have had that same ARM surrounded by COGs dream.
Seems someone suggested it to Chip once.
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.
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.
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
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.
-Phil
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.