You'll pardon my asking, but are there any inherent advantages as to the ARM architecture for low cost/low power designs? I've read that the use of a RISC architecture allows for a much simpler processor than a comparably powerful CISC design, which in turn makes them cheaper to build and more power efficient. How accurate is this statement? Is it less an issue of ARM's superiority as the designs implementing it being optimized for this sort of application for many, many years?
So, lemme see if I have this right:
1. The major disadvantages of ARM at the moment are poor floating-point performance and occasionally having to stop and wait due to the in-order design.
2. A multicore ARM would greatly reduce the disadvantages of an in-order design.
3. Adding a highly integrated GPU to the chipset gives the processor access to what is, essentially, a really fancy FPU.
4. Nvidia is building a dual-core ARM chipset with a GPU.
Anyone else think Ion 2 looks pretty awesome?
I should probably explain that I do tech support for little old ladies from time to time. If someone sold a $150 desktop computer based around a simplistic OS (Android) and solid-state hardware with a minimal chance of failure (Ion 2), I'd be very happy recommending it to them. Also, as a linux user, the proliferation of chipsets compatible with Ubuntu throughout consumer electronics makes me quite happy.
Most of the problems with x86/CISC have been designed around and are such minimal costs on modern fabrication processes. However, on a tiny cell phone soc that has to have everything integrated onto a single chip, the hardware solutions to those problems being us back to the early 90s RISC versus CISC situation, where you simple don't have the space/power budget for it. Intel is relying heavily on software optimizations to make atom competitive.
In a few generations, it's likely intel's advanced manufacturing processes could make x86 very competitive (or even superior), but now that Global Foundries is throwing its weight into the field, intel may not get enough of a process advantage to make that come true.
1. ARM's poor floating point performance isn't that poor. It's power optimized, and current ARM socs provide more floating point performance than the xbox 1 cpu. It just so happens that the athlon was a beast at floating point back in the day, and atom and nano are very floating point heavy. I think the use of dedicated dsps and coprocessors largely makes up for ARM's comparatively weak floating point. Video and 3d graphics are already offloaded to coprocessors/dsps, what does ARM need better floating point for when most platforms are closed and limit what can be used?
The in-order design is less of a problem than you think. A very clean RISC design can benefit from a lot of compiler optimizations, and will see less benefit from going out of order than an x86 core. x86 has a lot of implicitly parallel instructions, which makes it harder to design a good compiler for, but means a lot of performance can be extracted from out of order execution. In fact, I think it's almost crazy to design an in-order x86 core at this point in time, but intel made it work better than I would have thought, that it achieves comparable per clock performance to other in order designs is amazing. ARM has very few instructions that will benefit from OOE, but they are adding more with each new instruciton set revision.
2. A multicore arm would require multithreaded code, which is virtually non-existent on the platform. Also, I don't really think ARM cores have reached the point of complexity where dual cores are necessary. I think higher clock speeds and more complex cores are a very valid option for increasing performance still.
3. Once again, opencl is available for the powervr graphics processors, just no platform supports it yet.
4. Tegra 2 is nice, but the SOC market moves so fast that it may get left behind. Tegra 2 has very few design wins at the moment, and the lack of an integrated cellular modem makes it a tough sell for cells.
You can already get ARM based netbooks/smartbooks running ubuntu and android. No big brands yet though, and android is going to hit mainstream first.