sexta-feira, 12 de dezembro de 2014

Apple A8 vs Snapdragon 805 vs Exynos 5433 - Smartphone SoC Comparison (2014 Edition)

Smartphones have become just about the most important gadget in a person's life, since it has positioned itself as a sort of a does-everything device (recently, even measuring your heart rate). As such, it needs a powerful processor to keep things going smoothly, even with so many utilities and features baked in. Accordingly, smartphone processor performance has seen exponential growth over the last few years, blazing past even some older laptops at this point. This year of 2014 we have the latest and greatest ultra-mobile processors shipping in devices in time for the holiday season. Among the best competitors we have: Apple, with its A8 processor, found in the iPhone 6 and 6 Plus, Qualcomm, with its latest and greatest Snapdragon 805, and Samsung's Octa-core Exynos 5433 SoC. It's no doubt that all three processors are performance monsters, but which of them offers the best performance, and more importantly, which one is the most power efficient?

Firstly, let's see how these processors compare on paper:

Apple A8 Snapdragon 805 Exynos 5433
 Process Node   20nm  28nm HPM  20nm HKMG 
 CPU  Dual-core 64-bit "Enhanced Cyclone" @ 1.4GHz  Quad-core 32-bit Krait 450 @ 2.7GHz  Octa-core 64-bit big.LITTLE (Quad-core ARM Cortex-A57 @ 1.9GHz + Quad-core ARM Cortex-A53 @ 1.3GHz)
 GPU  PowerVR GX6450 @ 450MHz (115.2 GFLOPS)  Adreno 420 @ 600MHz (337.5 GFLOPS)  Mali T760-MP6 @ 700MHz (204 GFLOPS)
 Memory Interface   Single-channel 64-bit LPDDR3-1600 (12.8GB/s)  64-bit Dual-channel LPDDR3-1600 (25.6GB/s)  32-bit Dual-channel LPDDR3-1650 (13.2GB/s)


At least on paper, all three processors are extremely powerful and very competitive when it comes to power and efficiency. However, the three SoCs use extremely different approaches to achieve their performance. While Apple prefers to have a smaller CPU core count, whilst making the core itself very large to achieve a high performance with just two cores, Samsung's quantity-over-quality philosophy means that they chose to throw in a very large number of CPU cores (in fact, eight of them). Qualcomm sits between Apple and Samsung, offering four CPU cores with decent per-core performance. In practice, given that most applications do not scale performace very well beyond two cores, I personally prefer Apple's approach, however a more limited selection of apps that can actually utilize a large core count, for instance, games which involve more complex physics calculations, might see Samsung's approach as the fastest option. Either way, the most accurate way of comparing the performance of these processors is using synthetic benchmarks.

Let's start with the GeekBench 3 benchmark, which tests CPU performance:
As you can see, Apple's second generation Cyclone core is just about the fastest core used in any current smartphone. Nvidia's Denver CPU core used in their Tegra K1 SoC outperforms the Cyclone core, but since the Tegra K1 is pretty much a tablet-only platform, I'm not considering it in this comparison. Meanwhile, The also 64-bit Exynos 5433, while behind the A8 by a large margin, is slightly above the Snapdragon 805. I also included data from the Snapdragon 801 chipset to quantify the evolution of the Krait 450 core in the Snapdragon 805 compared to its predecessor, Krait 400. The difference isn't big, actually, which makes for the fact that the Snapdragon 805 has the weakest single-threaded performance of all current high-end SoCs.
With four high-performance CPU cores aided by another four low-power cores (yes, Samsung managed to make both core clusters work at the same time, unlike with their previous big.LITTLE CPUs), it was obvious from the start that Samsung's processor would come out on top in applications that scale to multiple cores. In fact, the Exynos 5433's multi-threaded performance has a significant advantage over the competition. In second place comes the Snapdragon 805, with a much lower yet still very high score. Again, the multi-threaded test shows only a marginal improvement over the Snapdragon 801. And in last place comes Apple's dual-core A8, which, despite employing a very powerful core solution, simply had too few cores to outperform the competition. Still, it's not far behind the Snapdragon 805, and its score is very respectable indeed. 

Now, moving on to what probably is considered the most important area in SoC performance: graphics. To measure these processors' capability for graphics rendering, we turn to the GFXBench 3.0 test.
It's reasonable to say that the three main competitors in the high-end SoC segment are pretty much on par in terms of their GPUs' OpenGL ES 3.0 performance. However, the PowerVR GX6450 in the iPhone 6 Plus takes the lead, followed closely by the Snapdragon 805's Adreno 420, and in last place is the Mali-T760 in the Exynos 5433, but again, losing by a small margin.
For OpenGL ES 2.0 performance we see the performance gap widen, however the same basic trend can be seen: The Apple A8 takes first place, followed closely by the Snapdragon 805 and a bit further behind we have the Exynos 5433. Also note how, unlike what we've seen in the CPU benchmarks, this time the Snapdragon 805 gets a huge boost compared to its predecessor, the Snapdragon 801.
The ALU test focuses on measuring the GPU's raw compute power, and on this front, Qualcomm seems to be sitting very comfortably, since both the Snapdragon 805 and its sucessor the 801 are far ahead of the Apple A8 and the Exynos 5433 GPUs.

The Fill test depends mostly on the GPU's Render Output Units (ROPs) and on the SoC's memory interface. Given that the Snapdragon 805 has a massive memory interface, comparable to the one on Apple's tablet-primed A8X chip, it naturally had a huge advantage in this test. Meanwhile, the Apple A8 is slightly below the last-gen Snapdragon 801, and the Exynos 5433 comes in last place, but by a small margin.

Power Consumption and Thermal Efficiency

Since these chips are supposed to run inside smartphones, a lot of attention has to be given for the SoC to fulfill two requirements: consume as little power as possible, especially during idle times, and not heat up too much when under strain. I believe that Apple's A8 chip fares best in this department, because apart from being built on a 20nm process, it's Cyclone CPU has proved to be quite efficient in previous appearances. As for Samsung's Exynos 5433, despite being built on 20nm too, I'm not sure that a processor that can have 8 CPU cores running simultaneously can keep itself cool when under strain without thermal throttling. Although at least, in terms of power consumption, idle power should be very low thanks to the low-power Cortex-A7 cores. Finally, it's a bit hard to determine how power efficient Qualcomm's processors are because the company discloses close to nothing about its CPU and GPU architectures. However, it is a proved solution. Krait + Adreno SoC's from Qualcomm can be found on almost every flagship smartphone from 2014, so while it has the disadvantage of still not having moved to 20nm, experience from the past proves that their SoCs and architectures are sufficiently efficient. 

Conclusion

It's a bit hard to determine exactly which processor is the best. Each one of these fares better than the others in at least one area, but each also has its clear weakness.

The Apple A8, using just two, however powerful, CPU cores, not to mention at relatively low clock speeds, can deliver top-notch single-threaded performance, however its low core count hurts its performance amid the quad- and octa-core competition in multi-threaded applications. Also, the PowerVR GX6450 GPU was a good choice, as at least for general gaming it appears to be the fastest solution available on any smartphone. Power consumption should be also pretty low thanks to the 20nm process used and to Apple's and ImgTech's efficient architectures.

The Snapdragon 805 is really more of an evolution of the 801, without any huge changes. For instance, it's the only 32-bit processor being compared here. However, it still manages to deliver excellent performance, building on the success of the outgoing 801. While it's single-threaded performance is a bit disappointing for a 2.5GHz CPU, it does very well in multi-threaded applications, nearing the Exynos 5433's performance. The Adreno 420 GPU also performs extremely well, losing only to the Apple A8 in GFXBench's general gaming tests and absolutely destroying the competition in terms of memory bandwidth and raw compute power. While a move to 20nm would be appreciated, Qualcomm's processors are known for being power efficient, so no problem here. 

Finally, Samsung's Exynos 5433 is really a mixed bag. It's 20nm HKMG process, together with the low-power Cortex-A7 cores, makes way for excellent power efficiency, at least in terms of idle power, and thanks to its huge core count, its multi-threaded performance is ahead of everyone else. It should be noted that, despite the 20nm process, having 8 cores running at full load might introduce the need for thermal throttling, especially in a smartphone chassis.
However, the Mali-T760 GPU employed is slightly behind the competition in terms of general gaming performance, and raw compute power is quite disappointing...thankfully, raw compute power matters little to the vast majority of users. Still, it's an excellent GPU, just not THE best. 

Overall, these are all excellent processors, each one with their respective advantages and disadvantages. It all comes down to what aspects you think is more important to you, for instance, if you value performance in multi-threaded applications, a Exynos 5433-powered device is ideal for that. For an excellent all-around package, which is also a proven solution for smartphones (plus admirable GPU compute power), pick a Snapdragon 805 device. And if you don't mind as much about multi-threaded performance, but want to have the best gaming performance in any smartphone, you can pick one of Apple's A8-powered iDevices.