The End of x86?
fernstrategy.com
fernstrategy.com
But this article is wrong to right off x86 so easily.
Firstly, power consumption. It's right that ARM has lower power draw than x86. The article is wrong by how much, though. Very low power ARM chips draw much, much less than 2-3 watts. These are mostly for embedded systems, though.
The 2-3 watts vs 5 watts for ARM vs Atom isn't too significant. The big problem with Atom was that the support systems (memory controller etc) draw ~20 watts. That situation is being improved for netbook systems atm.
For sub-netbook systems, Intel is launching it's Moorestown architecture. This is probably still isn't dropping into the Smartphone market in this generation (despite Intel's marketing: http://arstechnica.com/open-source/news/2010/01/moblin-linux...), but should be great for tablets: http://arstechnica.com/gadgets/news/2010/05/intel-fires-open...
The article also implies that Intel's foundries are a liability. That would be true if there really was useful "competition in the foundry market". Sure, if you want 45nm+ chips produced, there are a number of foundries that can do it. But once you start looking for 32nm foundries they get a lot rarer, and Intel has just announced it's building its new 22nm foundries. That's a whole generation ahead of anyone else in the industry and is a big competitive advantage (Smaller scale in chip foundries means more performance for the same power, or less power for the same performance.)
Oh my god yes. If you could actually run an atom server in less than 10 watts for a 4GiB system, even before disk, I'd be renting those out instead of VPSs, and probably killing the competition on it, too.
My (perhaps unreasonably cynical) theory is that intel nerfed the desktop atoms because they don't want them to compete with their server chips in my applications. But, on the other hand, that's irrational, because when per-core performance doesn't matter, (and in virtualization, more, smaller cores are better than fewer, faster cores) AMD already beats Intel by quite a lot. And atoms certainly don't compete in applications where per-core performance matters, so yeah, that's probably not it.
---
Currently Apple relies on Intel for a major component in a key product. Strategically, Apple doesn't like to have to rely on a single source or supplier for key products. Apple will do whatever is possible to remove this reliance.
Hence a prediction: within less than 5 years a Mac will be running on an Apple designed ARM processor.
How? By slowly, step by step, providing a way towards this.
Step 1. Migrate your OS to the new architecture (e.g. iOS already, OS X not far behind) - done
Step 2. Migrate your developer base onto developer tools which you control and can easily change the architecture it targets (e.g. Xcode and LLVM) - done
Step 3. Provide a space where problematic applications which use other VMs or rely directly on getting too close to the hardware are not welcome (e.g. a Mac App Store) - announced
Step 4. Change the marketplace behaviour so that you control how the majority of applications are distributed and can quickly provide updates without user intervention. Such as an App store.
Step 5. Release a new Macbook with an ARM processor, absolutely killing on form factor, price and battery performance that Intel cannot compete with. Encourage your Mac App Store developers to flick a switch in Xcode, to recompile and upload their new Universal (x86 & ARM) versions of their Apps to the Mac App Store.
Result: you now control the processor direction and application distribution mechanism for a key product and no longer rely upon the whims of Intel.
Apple is all about controlling an integrated experience for their customers. Currently Intel is getting in the way of this for the Mac product.
Moving Macs to ARM means they can use these as the graphics cores, customise them, modify them and not deal with Nvidia if they don't want to.
They currently don't have that option in the x86 space.
I do wonder if AMD got bought would they still be able to keep the x86 licenses (not sure on what final settlement was).
Personally, I don't think the transition to ARM on the Mac will happen any time soon. Apple will just try to convince more people to buy iOS devices instead.
I believe the main reason Apple migrated away from PowerPC was unreliability(delays, heat, speed etc.) from the supplier and progression not compatibility with x86.
Today it would be, but mobile is really taking off. Who knows where we'll be in even 2 years. Maybe by step 5 the remaining things we have to have windows for (e.g. Office) simply wont be a requirement anymore.
A lot of businesses depend on MS Windows and lots of other x86 software, too much for a simple switch to ARM. Apple could do it because they have a firm grip on their ecosystem, but the rest of the market isn't in such a position.
But Intel is not falling for that one. They have made the Atom, a slow, cheap, low-power chip that competes directly with ARM. That's likely a wise move, but Intel now has the problem that low-margin chips are still bad business. They have to have their expensive best-in-industry fabs make low-margin Atoms, when they would much, much rather have them make expensive Xeons.
At one point they made a deal to have Atoms manufactured at TSMC, which would have helped a lot with this problem, but apparently that deal didn't work out. Even if it had worked out, the Atom would no longer have the process advantage, and then backwards compatibility would be the only advantage for x86. With Windows becoming less and less relevant, that's a big problem, considering the technical advantages ARM has over x86.
So fundamentally, Intel has a problem that CPUs are becoming commoditized, which means they will either have to take much lower margins or retreat to the high end. Both scenarios are unpleasant for them.
Also GPUs have their uses, but general-purpose they are not. GPUs are complements to CPUs (just as coprocessors specialized for floating-point calculations where back in the day).
Most people here probably haven't lived the day when 80387 had to be installed alongside i386 if you wanted decent graphics performance. It is actually interesting that it takes so long for GPUs to be merged with X86.
In my opinion ARM is the only credible threat in the data-center, especially for servers that are mostly I/O bound. But on the other hand costs can skyrocket when scaling horizontally and having 500 HTTP servers (like Digg) is not at all fun.
And IMHO, x86 chips have better performance / watt.
For desktop computing X86 will still dominate, at least for the following 10 years, simply because of Windows; which runs on over 1 billion computers.
Yeah, I know it is fashionable on HN to say Windows is not relevant anymore. Doesn't make it true.
for some tasks(like HPC , multimedia) , the gpu can handle most of the computation , and the cpu is somewhat of a sidekick(like in the nVidia ION netbooks , for example).
while windows would still dominate, the importance of a strong x86 cpu would decrease, by all the changes in the ecosystems , and the costs of the x86 processor will decrease.
I had a phone conversation with one of their managers about a year ago (I was trying to see could I get a sample PCIe board) and they are damned expensive, so it would only make sense if you have something that 1) parallelizes very well, 2) actually needs the performance, 3) runs on Linux* or can be easily ported to their architecture and 4) you have high enough volume to make their overheads worthwhile. On the plus side, they seemed were very willing to lend their engineering team to help port to their architecture (as part of the devkit cost). Sadly, they don't have evaluation boards - you pretty much have to buy a devkit to evaluate it and the devkits costs approx. 5 times the price of the lowest end PCIe board (I'm not sure what hardware this included and afaik its a once off up-front cost).
(* Running on Linux doesn't mean it magically works, but the Tilera PCIe boards can run Linux, so it at least makes porting a bit easier)
But that doesn't change the facts: Intel DOES have competition to their high-end market from GPUs and the likes of Tilera. I can see the newer ARM processors starting to challenge their midrange line and obviously with Atom too.
Just today, I was thinking about getting an ARM Cortex A8 powered BeagleBoard xM as adesktop linux box replacement.
it would be interesting to know the lifetime cost(including power, cooling and space) relative to the x86.
Don't forget we are talking about CPUs that are getting close to Pentium 3 class performance. Intel proved back in the Pentium vs PowerPC days that x86 can compete well against superior architectures. In this fight they have a lot more performance to work with.
I do agree with your CPU-becoming-commoditized point, but Intel is very aware of that (cite: how they keep Atom performance just enough higher than ARM, but a lot slower than their more profitable higher end chips). It's a difficult area, but Intel is aware of the balancing act they have to do. I think their strategy is to increase performance of non-CPU components of their chipsets (ie, make sure Atom kills ARM on I/O) in order to keep their lead in the datacenter.
True - see also this:
http://codingrelic.geekhold.com/2010/08/x86-vs-arm-mobile-cp...
However, if x86 has neither a process or a compatibility advantage, then even a tiny technical disadvantage turns into a tiny extra cost, which can be important for high volume chips.
Not true.
The marginal cost of pretty much anything on a chip itself is close to zero. For example, most 3 core chips are actually 4 core chips with one disabled. Putting the extra silicon on the chip is effectively free.
The money goes in the investment in the factory and the R&D, NOT the raw materials or production costs.
If you need that silicon to actually work, then it's not free. Floor-sweeping is necessary because the more stuff you put on a chip, the more likely it is to have defects. That really is an extra cost. I don't think there is any way around that.
But I think you are overestimating how low-end these chips are. See http://arstechnica.com/gadgets/news/2008/02/small-wonder-ins... for example, which shows that the Silverthorne architecture (1st Gen Atom) has pretty much the same transistor count as a Pentium 4.
No one thought that the fact the Pentium 4 had to support x86 was a significant factor vs other architectures. For the chips we are talking about, the cache memory takes more transistors, so the quality thing is pretty insignificant too.
The situation is even worse for graphics cards
PowerPC owns gaming. MIPS seems to still be common in networking devices. ARM is mobile and the rest is Intel and noise.
Seems to me that the killer feature ARM has isn't technical at all, it's that you can buy a core, graft on a DSP if your core doesn't have one (OMAPs already do) and your secret sauce needs a DSP (half the phone vendors have their own audio enhancement stuff or echo cancellation code that they think makes the difference) graft on a mobile chip and fab your own part. Then you add memory, flash, a battery and you've pretty much got a phone.
I'm not aware of any medium volume products that use custom Intel based hardware, I have no idea what the costs or terms are but I'm under the impression that unless you're going to make 5million chips, it's just not worth it with Intel parts. Now say intel opensourced an SSE echo killer and built some kind of 2watt Atom with GSM built in style chipset and it cost $15, I bet you'd start thinking ARM was in trouble.
Intel can pretty much build the highest performing per dollar chips, they can build them cheaper than anyone else, they have much more reliable processes than anyone else and they've shown time and time again that when they put their mind to it they can compete with anyone else.
I'd need to see some really compelling evidence that ARM was moving in to the serving market in any meaningful way. I thought they had a match with PowerPC, thought so with AMD, thought Linux was going to make alternative platforms viable, and probably thought they were in trouble several other times but they are fiendishly good.
Next thing you know Windows runs on both ARM and x86 (with x86 emulation for applications) and pushes x86 out of the commercial / domestic arena.
Intel hasn't had particular success with microprocessor designs outside of its core x86 business. Examples of other designs include iAPX432, i860/i960, StrongARM/XScale and Itanium.
These architecture transitions don't always work out. While Apple has some experience with porting and has maked it look (relatively) easy, Windows hasn't had particular success with its ports, whether via Itanium's x86 emulation or via translation tools such as FX!32.
Pretty rare these days. Maybe things like VirtualBox too.
For most home users I think you're right for now but for businesses it could be huge.
50% lower processor power isn't the same as 50% less system power.
And another thing that I came to think of that weighs heavily in ARM's favor is the multitude of composite, multifunctional chips, SoCs etc. currently available in the ARM flavor. Is there ANYTHING like this for Atom, or any x86 at all?
Depends if we are talking Arm Cortex-A8 or Cortex-A9. Atom is much more powerful at same clock speed that Cortex-A8. Cortex-A9 is getting closer competitive, but doesn't have much of a power advantage over it. (Lies, damn lies and benchmarks, but A8 gets ~2000 MIPS, A9 ~2500 MIPS and singlecore 1st gen Atom gets ~3300 MIPS)
Also, multicore-Atom has been in the market for a while. Multicore ARM is just coming online now.
It's worth noting that Intel can speed up Atom whenever they want. There are plenty of easy wins in there (eg, better execution core, faster memory controller) that they can put in if they need to keep their lead.
Measured how, and at what frequencies? Also ARMs are really starved for bandwidth. Has that improved with the Cortex A9?
I'll bet $5 that the MacBook Air in the future (18-24 months) will switch to ARM once the >2GHz ARM processors start shipping en masse.
The Asus Eee PCs running Android with Snapdragon processors already embed the Cortex-A9 MPCores.
ARMS's Achilles' heel is that it's only 32-bit, and I don't think anyone wants to go back to a segmented address space any time soon.
(seriously, I'm not trying to troll. I've had exactly one - making sure a project of mine would compile as PIC and that was pretty minor after the required reading)
I expect ARM's transition to be quite different though--with the highest ends of their business moving in only a couple product cycles, and the lower ends of their business sticking with 32 bit indefinitely.
By extension, if they are satisfied with 32-bit programs and don't feel a need to switch, then they won't miss 64-bit architectures.
Virtually all of the computer users that I know limit their use to an office application and a web browser on top of Windows. That's it. The web browser gives them everything they really need. I wonder how many computer owners could even tell you if they have 32-bit or 64-bit or how the two differ. Probably the same percentage that can tell you detailed specs about their car engines. Virtually none.
The only computer specs that matter anymore --exempting programmers-- are weight and battery life. A few hardcore gamers still care, but they're in the minority, even for video gamers. XBox anyone?
And when they converted to Intel, they also provided Rosetta, a completely ridiculous binary translation system to make PPC apps work.
Those are bad examples.
Hope you're still around in 2 years; it can be interesting to ponder a falsified prediction and wonder, why did I believe that?
Incidentally (and speaking of breaking compatibility), MSFT is working on a brand new kernel and operating environment (Midori) which does have ARM as a target. But this is an incubation project with no guaranteed release, though it's a very serious effort.
Source: http://en.wikipedia.org/wiki/Endianness#Bi-endian_hardware
Apple and Android have shown that you can build a mainstream platform ecosystem from nothing in 2-3 years, so who needs Windows compatibility?
iOS is based on OS-X, which is based on NeXT, which is based on BSD (~40 years of work)
Android is based on Linux (so ~20 years of work)
All a new platforms needs is a great webbrowser (which these days seems to mean "port webkit") and it's instantly viable.
"Yeah. RISC is good."
previous on HN: http://news.ycombinator.com/item?id=1037051
[1] http://queue.acm.org/detail.cfm?id=1039523 around 1/3 of the way in
All of which isn't to say that the article is wrong and that ARM isn't about to take over the mainstream (I could see it happening but wouldn't bet on it).
As I'll be mostly in technical functions for some time (3 years?) what should I consider when trying an experience in ARM development? What are the pros and cons career wise and technical challenges relatively to continue to do boring CRUD C# applications?
(e.g., A4 in a MacBook Air).
incorrect. Intel Core 2 Duo 1.4 GHz processor in a MacBook Air http://www.ifixit.com/Teardown/MacBook-Air-11-Inch-Model-A13...
I guess author wanted to mention iPad
Though I'm a little concerned about what the smaller number of hardware sales will do to development in the server market. Can they maintain R&D budgets?
Transmeta-style emulation could be one possible way out of this death spiral for Intel.
All factors, Windows compatibility excepted, are on ARM's side this time. Of course Intel has survived bad situations before, but this time I am not betting on them.
I can think of only two:
1) Power usage on low end chips. ARM will be ahead of x86 on platforms below the smartphone for the foreseeable future, and on smartphones for another generation (2-3 years)
2) Manufactures can customize ARM to build SOCs. I can't see Intel allowing complete customization like that, but I'd expect them to ship some competitive SOCs themselves.
This time however, they need to change the whole platform, because the whole platform brings much bigger inefficiencies than ARM, and they won't be able to improve down that much, while ARM will improve fast at a steady pace.
The only solution is to buy a big ARM maker. To have a chance to dominate, they'd need to buy Qualcomm for Snapdragon, but they've just wasted 7 billion on an anti-virus...
But even if they do that, I'm unsure of their potential domination, as I believe in 2011 Nvidia will dominate the mobile market with its Tegra chips. That's because in 2011 the battle will be over who has the best GPU not CPU. The GPU is increasingly more important (accelerating the UI, the browser, Flash, supporting higher resolutions, gaming, etc)
Don't forget offloading computation from the CPU like voice/face/gesture recognition and number crunching (there must be some use for that in a cellphone). And OpenCL is already providing a hardware-independent abstraction layer for that.
http://codingrelic.geekhold.com/2010/08/x86-vs-arm-mobile-cp...
for why ARM's technical advantages may be overblown.