x86 vs ARM
By General Heed
For awhile now, there's been a huge debate as to whether the ARM architecture is better than x86 and will remain dominant in the mobile device market. Currently, ARM is the most popular architecture used in smartphones and tablets. The cited benefits of ARM are that it's a very lower power SoC (System on a Chip) that's good for mobile devices. Critics of x86 say the architecture is old and power hungry. That may be somewhat true, however, just because something is old, doesn't mean it can't improve. However, we shouldn't count x86 out just yet. Intel definitely isn't going to give up either. In this article, we'll take a look at the advantages and disadvantages of both architectures and decide which is the best.
Background
Let's start with a little background of both platforms to get an idea of how each started and what the differences are between the two.
x86:
The x86 architecture was developed by Intel in 1978. It was first used in Intel's 8086 processor as a fully 16-bit compatible CPU. It was also compatible with Intel's previous generations of 8-bit processors. So you could say the x86 architecture has its roots from even early processors before 1978. So at the very least, the x86 processor is at least 34 years old and it'd definitely not going away anytime soon. The Intel x86 architecture is of a CISC (Complex Instruction Set) design while ARM is a RISC (Reduced Instruction Set Design).In the old days of CPU's when memory and processing power was limited, CPU's would include lots of different instruction sets with each instruction being able to access several low level functions of a CPU. That's why CISC's were necessary. However, in modern computers where we plenty of memory available and tons of processing power, CISC's are no longer fully necessary and RISC's are able to execute simpler instructions a lot faster. Now in theory, an RISC should perform faster than a CISC, but Intel is able to improve x86 CISC's faster than an RISC due to Intel's vast wealth. Plus, since Pentium 4, Intel's x86 CPU's have a CISC design that works similarly to an RISC. Also, Intel and many other companies like AMD have improved the x86 platform a lot. It started off as a 16-bit CPU and was extended into 32-bits and recently it's also been further extended to 64-bits (aka x86-64) which is now becoming mainstream in PC's. There are also multi-core x86 CPU's that have dual-core, quad-core, 6-core, 8-core, and even 10-core processors. Thanks to multi-threaded processing, the performance and efficiency can also be increased giving you the performance of double the amount of cores you have meaning the x86 platform currently has a maximum performance of 20-cores each running at 2.4 GHz. Some computers support multiple CPU's as well such as the Mac Pro. Meaning it's possible to have two 10-core Intel Xeon CPU's in one computer giving you the performance of 40-cores. Super Computers can take even more CPU's. Currently, Intel's x86 platform dominates the entire PC market including desktops, laptops, and netbooks. Some game consoles like the Xbox also use an x86 CPU. Intel's only competitor in this market is the PowerPC architecture and MIPS for older game consoles. Intel currently has almost no footprint in the mobile market but does plan to be more agressive with their new line of Intel Atom SoC's.
ARM:
ARM is a bit newer than the x86 architecture, but it's not exactly brand new either. The ARM architecture was first introduced in 1987 and was originally meant for desktop computers. Obviously that vision that never happened. The ARM architecture is fairly simple compared to x86 and is more suitable for lower power applications. The ARM architecture is currently owned by ARM Holdings, but it is licensed to many hardware manufacturers. As mentioned above, the ARM is an RISC architecture. The ARM architecture currently dominates 98% of the mobile electronics market including smartphones, tablets, calculators, portable media players, and handheld-game consoles. ARM currently doesn't face any competition from Intel's x86 platform but in some markets, especially in China, ARM does face a bit of competition from the MIPS architecture. ARM has also been improved over the years from things such as performance to graphics rendering. ARM also now supports multi-core computing including dual and more recently quad core computer. It however does not support multi-threaded processing and thus, 4-cores is the current maximum. However, unlike the x86 platform, the ARM platform has never been upgraded to support 64-bit computing. ARM has virtually no presence outside of the mobile electronics market though. The x86 architecture completely dominates the PC market.
Performance
This is a very important to a lot of people, especially people who enjoy playing games or watching high-definition content. Both architectures have improved their performance a lot over the years. Let's take a look at the difference in performane between the two.
x86:
Current modern consumer CPU's based on the x86 architecture such as the Intel Core i3, i5, and i7 are considered to be very powerful CPU's that are great for intensive gaming. What I mean by intensive gaming is high performance games like Crysis, Halo, Gears of War, Call of Duty, etc. It's obvious that not even the most powerful ARM CPU can come even close to running these games even at the lowest graphical settings. It's safe to say that the x86 platform has ARM beat in this category. Intel has CPU's that go up to 10 physical cores which are doubled to 20 cores thanks to multi-threading. But most mainstream x86 CPU's are either quad-core or 6-core. Newer Intel CPU's also include a built in graphics core which is really only good for low end gaming but still more powerful than any ARM graphics core. Now with Intel Atom which is more focused on mobile platforms, the performance is also pretty good. The newest Intel Atoms are dual-core but support hyper-threading giving you quad-core performance and the integrated graphics core also support DirectX 10 and full 1080p bluray support. The next generation Intel Atoms which will be released very soon will also support DirectX 11.
ARM:
As you know, ARM was always meant to be used for low-power applications from the beginning. As such, performance is not exactly a strong point of ARM chips. Even though ARM has made great strides in performance recently, it's still no where near as powerful as x86 CPU's. Currently, the most powerful ARM CPU is the nVidia Tegra 3. It's the first quad-core CPU for ARM and has shown to be very powerful in processing power and graphics processing compared to other ARM CPU's. However, compared to x86 CPU's the Tegra 3 still isn't powerful enough. The Tegra 3 has the performance of a low-end mobile Core 2 Duo. Your average main-stream Core 2 Duo chip is still more powerful than a Tegra 3. Plus, Core 2 Duo has already been replaced by the Core i3's, i5's, and i7's which are now in their 2nd generations and will very soon enter their 3rd generations. Even though the Tegra 3 is a quad-core CPU with a 5th companion core, it's still no match for the older dual-core Intel Core 2 Duo's not to mention the 20-core Intel Xeons where each individual core is already more powerful than an entire Core 2 Duo. Now these Intel chips were targeted towards more powerful PC's and not mobile electronics. What is targeted towards mobile platforms is Intel Atom. However, compared to the Intel Atom, the Tegra 3 falls short a bit. It does manage to beat some versions of the Intel Atom, but the newest and most powerful versions remain more powerful. It should also be noted that the majority of ARM CPU's are not Tegra 3's. In fact, the majority aren't even dual-core CPU's yet. Your average ARM CPU will be far behind your average x86 CPU.
Winner:
It's safe to say that the x86 architecture has much better performance than the ARM architecture. If the Tegra 3, the most powerful ARM CPU out there, can't even beat a low-end obsolete Core 2 Duo, then it definitely stands no chance against the more powerful mainstream Core i7's and super powerful Intel Xeons used in servers and workstations. It will be sometime before ARM is ever able to challenge the x86 platform in terms of performance. Intel is good at keeping their CPU's the best performing ones on the market.
Power Consumption
A CPU with lower power consumption seems to be more desirable today. While it's not as important in the desktop PC market, it's definitely become very important in the mobile electronics market. The reason is not to just to be more environmentally friendly, but simply because mobile electronics are battery powered and people don't like their devices running out of power half way through the day.
x86:
Since the x86 was designed more for performance in the past, lowering power consumption was not really an issue. As a result, x86 CPU's tend to consume a lot of power, especially on the more power CPU's like the Core i7's. The Intel Atom line of x86 CPU's was developed to be a low-cost, low-power solution for netbooks and other mobile devices. However, the Intel Atom currently uses a lot more power than your average ARM chip. This will change soon as Intel plans to release their Medfield line of Atom chips very soon. The new Medfield version of Intel Atom is also an SoC and will target power consumption levels close to 1W or less. However, that's still more than your average ARM chip. However, AMD has developed their own x86 SoC's that are more competitive with ARM in terms of power consumption while maintaining good performance. The AMD Geode uses less than 1W of power while still having higher performance than your average ARM chip. However, the thing is that the more you lower power consumption, the less processing power you'll tend to get.
ARM:
Since ARM was designed from the ground up to be used for low-power applications, it has the advantage of using very little power. The average chip consumes less than 1W of power. ARM's lowest power chip consumes power in the milliwatts but is also very weak in terms of processing power compared to more mainstream ARM chips. ARM chips also produce less heat because of this. Now the more powerful chips like the Tegra 3 do consume a bit more power. Generally, the more your CPU is, the more power it will consume. Currently, ARM chips have little competition from Intel in terms of power consumption. ARM chips are the main choice for smartphones and tablets right now because of their lower power consumption which helps extend battery life and allows you to use your device longer. The only line of x86 chips that can compete with ARM in terms of power consumption is the AMD Geode, but even that still uses more power than your average ARM chip.
Winner:
ARM is the clear winner here. The x86 platform was just never designed to be used at such low power levels. While Intel and AMD are trying to reduce power consumption in order to compte with ARM, they still have a lot to accomplish. AMD currently has the edge over Intel, but Intel will soon catch up with their new Intel Atom SoC's. But even when Intel also reaches < 1W power consumption, ARM chips already consume < 0.5 W on average. I'm not sure if the x86 platform will ever be able to reach those levels while still being useful for processing. Currently, the x86 processor just won't perform well at such low power levels.
Compatibility/Fragmentation
This is not usually something the average consumer has to worry about, but it may become more relavant in the future. As you know, Android has been criticized for being extremely fragmented. There are many reasons behind that and it's deeper than just the OS.
x86:
The x86 platform has remained virtually unchanged at the heart since it was introduced 34 years ago. It has been extended to 64-bit computing, supports multi-core, and also supports multi-threading now, but it's still mostly the same. The reason for the lack of basic architecture change is because of "legacy support". This is very important to Intel and Microsoft. They want to ensure that applications written for the x86 platform will work no matter what. This is something that businesses care about. IT departments don't want to have to worry about compatibility issues with programs. They want everything to work without any hassles. The x86 platform works the exact same regardless of manufacturer. You don't have to recompile applications for specific x86 CPU's. Pentium II, Pentium 4, Core 2 Duo, Core i7, Intel, AMD, Via, they all work the same. That is why you can pick any version of Windows and install it on any CPU. There's absolutely no fragmentation of the x86 architecture. In fact, PC users often take this for granted. This legacy support is why Windows 7 can still be installed on a Pentium II CPU from the early 90's and why Windows 95 can still be installed on the latest Core i7. Even applications designed for 16-bit computers will still work on modern x86 CPU's. Applications people commonly used including productivity suites, web browsers, media players, and games work on all x86 machines. There's never a case where an application works on one Windows PC but doesn't work on another PC running the same OS and the same x86 architecture. The same cannot be said for ARM though.
ARM:
The ARM platform is extremely fragmented. There are so many different manufacturers of ARM chips (Samsung, Texas Instruments, nVidia, Qualcomm, Broadcom, and much more). The problem is that the ARM architecture is not consistent amongst these manufacturers and even within each manufactur, not all their chips are consistent. What exactly does this mean? It means that software needs to be programmed and compiled for a specific version of an ARM CPU first, and then recompiled to run on others. This certainly doesn't help mobile OS's and further fragments the Android platform. The result of this is that even though two phones from two different manufacturers may be running the same version of Android, they may not be able to run the same apps. Unlike x86, there are no universal generic drivers for ARM chipsets. Therefore, it's up to the hardware manufacturers to supply the drivers. This causes problems like lack of sound, graphical glitches, crashing, or apps not working at all on many different phones even if they're using the latest version of Android. Apple's iOS and Microsoft's Windows Phone are not immune to the issues of fragmentation either. While it's not as serious as Android, there are a small number of apps that don't work the same on all the devices running that OS. Even with the upcoming Windows 8 which will also support ARM CPU's, Microsoft is only making it for certain ARM chips. Not every single ARM chip will be able to run Windows 8 unless Microsoft recompiles Windows 8 for that chip. This is not an issue with x86 as Windows can be installed on any x86 CPU without needing to be recompiled. Even Mac OS X can technically be installed on any x86 CPU without modifications. The universal drivers automatically kick in on x86 machines and you'll have almost no compatibility issues. Since there's no generic ARM driver, delivering updates is not as easy as it is on Windows where you don't have to test the update for compatibility on the devices it's targeted to. This is the problem with Android. There are too many phones for Google and the carriers to be able to test each phone for compatibility with an update or new version of Android. In fact, Windows Phone is beginning to head that way too with Microsoft making some updates optional for some carriers.
Winner:
The x86 architecture is the winner hands down here. The legacy support of the x86 platform prevents any kind of fragmentation or compatibility issues between different versions and manufacturers of x86 chips. Everything literally "just works" on x86 platforms. With ARM, you'll notice that some apps don't have sound on certain devices or don't work at all on certain devices. As far as I know, ARM will continue this kind of fragmentation for awhile. And this is really hurting Google's Android OS. Fortunately, Intel will soon be entering the smartphone market with their line of lower power Intel Atom SoC's. The x86 architecture should be able to save the mobile market from total fragmentation. If every phone and tablet had an x86 chipset, no one would ever have to worry about compatibility issues. No one would have to worry if their phone would get updated to the latest version of Android. Everyone would get updates at the same time regardless of device or carrier. This is because if it works on one x86 phone/tablet, it'll 100% work on ALL x86 phones/tablets. Basically, the x86 architecture is one size fits all while ARM is more of custom order.
Conclusion
While ARM does have the edge over x86 in terms of lower power consumption. Intel and AMD are catching up very quickly while still mainting their superior performance. Plus, in the PC market which includes desktops, laptops, and netbooks, the x86 still dominates mainly because of the huge performance gain that x86 has over ARM. It'll probably be at least a decade or more before ARM chips are capable of running Crysis at maximum settings. That day may never come though as even today, Crysis is still pretty taxing on modern CPU's and GPU's. ARM may never match the performance of high-end x86 CPU's and even low-end x86 CPu's still have an edge in performance over ARM CPU's.
So for now, the x86 architecture is the winner. Intel and AMD are expected to introduce x86 chips that will be able to compete with ARM in the mobile device market like with smartphones and tablets. The higher performance of x86 and the lack of fragmentation will be a huge advantage against ARM in this market. Device manufacturers and carriers will be more likely to favor and produce more x86 based phones and tablets simply because they don't want to keep getting so many customer service calls from customers asking why a certain application won't work on their device but works on others or why they aren't getting the latest version of Android on their phone. All x86 phones will be able to get the latest version of Android. All x86 phones will be able to run the same apps with the same performance and quality. The only advantage ARM ever had was it's low power consumption made it favorable to conserve battery life. But once the x86 platform is able to match ARM chips in that category, there'll be absolutely no reason to use ARM chips anymore. The x86 architecture is pretty much the universal architecture. And it will be very popular and powerful for many years to come.
Comments
No comments yet.