Understanding the Terms
Before we go into differences between ARM and x86, it's important to first clarify what's were really talking about when these terms are used.
ARM and x86 are not processor architectures in the same way as, say, Intel's Sandy Bridge or AMD's Bobcat. When the term architecture is used in reference to a specific end product, the term is making reference to the overall design of that processor. There are a lot of parts that go into this including cache, processor cores, etc.
ARM and x86 are instead what's known as an instruction set architecture. This is the part of a computer processor related to programming. In essence, it's the translator that turns the code a machine is running into instructions a processor can understand and execute. These are very simple mathematical instructions that add, multiply, divide and etc, but billions are executed every second. The constant execution of instructions by the processor creates a functional computer.
If you try to execute a program designed specifically for one instruction set architecture on the other, you won't get much of a result because the processor has no idea what you're trying to tell it. Instruction set architecture is an incredibly important part of a processor, determining which operating systems and apps a processor is able to run.
ARM vs x86: Processing Power and Efficiency
ARM and x86 come from a similar original purpose: the creation of a powerful, flexible instruction set architecture that can be used on modern personal computers. The technologies made a clear split, however, when x86 won that space and ARM was nudged aside.
That could have been the end for ARM. But instead, ARM soldiered on and evolved into a space that Intel made minimal effort to enter: embedded systems. As Intel expanded the capabilities of x86 it developed processors that were increasingly powerful, but this evolutionary process did not have power efficiency as a top priority for some time. In addition to this, Intel was and still is incredibly protective of its license. This means that development was largely restricted to the direction Intel wanted to go - and for most of x86's existence embedded systems were not a serious concern.
As a result of this, ARM today is the simpler instruction set architecture. It is possible for an ARM based processor with a clock speed of 1 GHz to fit into a 2 watt TDP (a measure used to gauge the amount of power a part's cooling system must be designed to handle - smaller numbers generally represent a part with lower overall power draw), while Intel's most efficient Atom processors struggle to dip below a 5 watt TDP. That may not sound like a big deal, but when you're talking about devices as small as a smartphone, power differences are amplified by the lack of space. Designs that use more power have trouble compensating with a larger battery, a design alternative that is available to larger devices such as laptops.
However, Intel x86 microprocessors are still clearly superior in terms of absolute performance. The more complex instructions supported by x86 may make their processors larger and less efficient, but they result in a much quicker CPU. Also, x86 is now effectively a 64-bit instruction set architecture (thanks to AMD, who pioneered the 64 bit instruction set) while ARM has not made that leap. These differences are reflected in the operating systems that support each instruction set architecutre - ARM is the domain of Android, iOS and others, while x86 is assocaited with Windows, OS X and Linux.
ARM vs x86: Licensing and Popularity
Another major difference between ARM and x86 is the way these two technologies are licensed. Although licensing obviously has no direct effect on performance, it does change the way these technologies can be developed and applied to new products.
Intel's x86 is effectively Intel's. The company guards the instruction set architecture jealously. AMD and VIA both have the ability to develop and build new x86 processors, but only because of old licensing argeements. AMD in particular has managed to keep its x86 licensing because it developed the 64-bit extension for the instruction set architecture, giving it some leverage. The only reason AMD got the license in the first place (we're talking early 80's) is because IBM wouldn't buy into Intel's 8086 (the first x86) unless there was more than one supplier.
ARM works much differently. The instruction set architecutre can be licesned (for a fee) by anyone who wants to build a processor. This has two effects. First, it lowers the cost overall cost, as it's much less expensive to license a instruction set architecture than try to develop your own. This makes designing an ARM into smaller, less expensive devices more practical.
Licensing makes it possible for a company to develop a custom solution for their hardware, which in turn results in better power efficiency and lower costs. Because Intel does not license x86, anyone who wants a x86 processor must buy a full processor from Intel (or AMD or VIA). ARM processors can be custom-tailored to a specific product.
This is why ARM Holdings, the company that licenses the ARM instruction set, often boasts that ARM processors are more popular than x86. They are, by unit volume, correct. There are far more ARM processors put into products because ARM processors can be custom-tailored to fit so many different roles, embedded into places where we don't even think of them, such as automotive technology.
Conclusion
The difference between ARM and Intel x86 couldn't be greater. You may be wondering: if we're pitting ARM vs. x86, can we choose a winner?
Personally, I don't think so - not yet. Although ARM and x86 are very popular, the battle of ARM vs. x86 hasn't been much of a battle at all. The two instruction set architectures have focused on very different markets for decades. It's only recently that they've come into some conflict - but even today, there's no serious competition between ARM and x86.
That could change, however, with Nvidia's Project Denver. This is Nvidia's attempt to build a fully functional CPU that can be competitive with x86 in desktops and servers, and it uses ARM. As if that wasn't enough of a taunt towards x86, Microsoft has announced that Windows 8 will be compatible with ARM. It's hard to overstate how important this added functionality could be - if it is executed well by Microsoft.
Intel isn't entirely happy about ARM's dominance of embedded systems, either - the company is continuing to make efforts to create an x86 processor competitive with what ARM can offer. This desire to compete is in fact the origin of the modern Atom processor found in netbooks, and while Atom is a bit too power hungry for tablets and smartphones, Intel is continuing to make efforts in that direction with it's new Atom platform, called Oak Trail, which will run not only x86 operating systems like Windows, but ARM ones like Android.
Via
Post a Comment