Which is the best Android smartphone SoC? We test the Snapdragon 810, the Exynos 7420, the MediaTek Helio X10, the Kirin 935, and the Snapdragon 801. But before looking at these chips, let’s start with a high level look of mobile processor technology.
What is a SoC?
Traditionally, the “brains” of a computer were found in the CPU (Central Processing Unit), and other necessary peripherals were found in auxiliary chips which were dotted around the CPU. These auxiliary chips included things like the GPU (Graphics Processing Unit), the memory controllers, and any specialized video or audio chips (like DSPs). In fact, way back when the Intel 386 and 486 CPUs were the talk of the town, even the FPU (Floating Point Unit) was considered an optional extra. Since then, more and more stuff has been included on the same silicon as the CPU, first the FPU, then various memory controllers, and now the GPU and DSPs as well.
The SoC defines what a smartphone can and can't do.
A single chip, which includes lots of different functions, is known as a SoC or a System-on-a-Chip. The chips which power our smartphones are no longer just CPUs, but a CPU plus a GPU plus a memory controller plus a DSP plus a radio for GSM, 3G and 4G LTE comms. But it doesn’t stop there, on top of all that lot, you will find discrete bits of silicon for the GPS, USB, NFC, Bluetooth and for the camera.
In many ways, the SoC defines what a smartphone can and can’t do, plus it determines the device’s performance and battery efficiency. In other words, it is important to know what SoC is in your smartphone.
At the moment there are four major smartphone SoC makers: Qualcomm, with its Snapdragon range; Samsung with its Exynos chips; MediaTek with its MT and Helio processors; and Huawei’s Kirin chips made by its subsidiary HiSilicon.
Each of these manufacturers produces a variety of chips for the low-, mid- and high-end smartphone markets. And it is at the high-end that the competition is the toughest, at least in terms of perceptions. In terms of actual units shipped, the low- and mid-range SoCs are just as important, however, the glory is in the flagship devices.
So that leads us to our question, what is the best SoC? To try and answer this question we will take a look at five key processors: the Snapdragon 810, the Exynos 7420, the MediaTek Helio X10, the HiSilicon Kirin 935, and the Snapdragon 801. I have included the last one for comparison. Released in 2013 and 2014 respectively, the Snapdragon 800 and 801 SoCs are almost legendary in terms of their performance and reliability.
|Snapdragon 810||Exynos 7420||MediaTek Helio X10 (MT6795)||HiSilicon Kirin 935||Snapdragon 801|
|CPU||4x Cortex-A57 + 4x Cortex-A53||4x Cortex-A57 +|
|8x Cortex-A53||8x Cortex-A53||4x Krait 400|
|CPU clock||A57 - 2.0GHz|
A53 - 1.5GHz
|A57 - 2.1GHz|
A53 - 1.5GHz
|Up to 2.2GHz||4x A53 - 2.2GHz|
4x A53 - 1.5GHz
|Up to 2.45 GHz|
|Arch||ARMv8-A (32 / 64-bit)||ARMv8-A (32 / 64-bit)||ARMv8-A (32 / 64-bit)||ARMv8-A (32 / 64-bit)||ARMv7-A (32-bit)|
|GPU||Adreno 430 @ 630MHz||ARM Mali-T760 MP8 @ 772 Mhz||PowerVR G6200 @ 700Mhz||Mali-T628 MP4||Adreno 330 @ 578 GHz|
|Memory||LPDDR4 1600MHz 64-bit||1552MHz LPDDR4||LPDDR3 933MHz||LPDDR3 1600 MHz||LPDDR3 933MHz 32-bit|
|Process||20nm||14nm FinFET||28nm||28 nm||28nm|
Look across the table above and you will see that octa-core processors are the order of the day. With the exception of the Snapdragon 801, which is here for comparison, we can see that every major SoC uses 8 CPU cores. To support 8 CPU cores, these chips use a technology from ARM called big.LITTLE. The idea behind big.LITTLE is that not all the cores are equal. You generally find a cluster of Cortex-A57 cores and a cluster of Cortex-A53 cores. The A57 is a high performance core, while the A53 has greater energy efficiency.
Octa-core is the norm today, but things may change next year.
When tasks are run on the LITTLE cores they use less power, they drain the battery less, however they may run a little slower. When tasks are run on the big cores, they finish sooner but they use more battery to do so.
The only exceptions to this among the octa-core processes in our lineup are the Kirin 935 and the MediaTek Helio X10, both of which use one cluster of Cortex-A53 cores clocked at a higher clock speed than another cluster of Cortex-A53 cores clocked at a lower speed.
Although this is the way things are today, the core count is going to change. The next generation CPU from Qualcomm, the Snapdragon 820, will go back to using four cores, with a core design cooked up by Qualcomm’s engineers rather than using the core designs from ARM. At the other end, MediaTek will be releasing a SoC with 10 CPU cores, the Helio X20.
There are three major designers of mobile GPUs: ARM, Qualcomm and Imagination. ARM’s range of GPUs are known as Mali and includes the Mali-T760, as found in the Exynos 7420, and the Mali T628, as found in the Kirin 935. Qualcomm’s GPUs are branded under the Adreno name with the Snapdragon 810 using an Adreno 430 and the Snapdragon 801 using a Adreno 330. The third player in the GPU space is Imagination with its PowerVR range. Imagination has had the most success on mobile with Apple, as every iPhone since the 3GS has used a PowerVR GPU. However, Imagination has also had some success on Android, and the MediaTek Helio X10 uses the PowerVR G6200.
It is difficult to make a comparison between these GPUs just from the specifications. They all support OpenGL ES 3.1, they all support RenderScript, and they all boast high gigaFLOP numbers. The real test comes when running actual 3D games.
The fabrication of “silicon chips” isn’t easy. In fact it is a highly complex process that involves a lot of expensive machinery. To make a chip from silicon wafer to chips ready to sell, it takes several weeks. One of the parameters of fabrication system is known as the “process node” and it defines how small the transistors are and how small the gaps are between transistors. The Helio X10, the Kirin 935 and the Snapdragon 801 are all built using a 28nm (nanometer) process. The Snapdragon 810 uses a 20nm process, while the Exynos 7420 uses a 14nm process, known as 14nm FinFET.
As you can imagine, the smaller you make a chip the harder it gets. The original Intel 4004 CPU, which was launched in 1971, was manufactured using a 10 µm (10,000 nanometers) process. By 1989, that had dropped to 800nm, the process used for the Intel 486 and the lower speed Pentium CPUs. By 2001, the process node was down to 130nm and was used by companies like Intel, Texas Instruments, IBM, and TSMC for a variety of processors including the Pentium III, the Athlon XP and back when Motorola made chips, the PowerPC 7447.
By the time the smartphone revolution was underway, chips like the Samsung Exynos 3 Single, used in the original Google Nexus S, were made using 45nm technology. Today, that number is down to between 28nm and 14nm (FinFET). The key thing about process nodes is that, although it gets harder to reach these smaller and smaller targets, the benefit is that the chips need less power and produce less heat, both of which are very important for mobile devices.
However there is one caveat, the process node is just one factor in many which defines the performance and power usage of a SoC. Although it might seem that a chip made using a 28nm process node will be half as efficient as a chip made using a 14nm FinFET process, it isn’t, things are just more complicated than that!
The Snapdragon 810 is Qualcomm’s flagship 64-bit processor. It has eight cores in total, four Cortex-A53 cores and four Cortex-A57 cores. The SoC uses ARM’s big.LITTLE technology, which means that the more power efficient Cortex-A53 cores are used for easier tasks and the Cortex-A57 cores are activated when some heavy lifting is required. Bundled with the CPU is the Adreno 430 GPU, the Hexagon V56 DSP, and an integrated X10 LTE modem.
The history of the Snapdragon 810 has been rocky at best. Samsung didn’t pick it for the Galaxy S6 range, nor for the Note 5, instead opting for its home-grown Exynos 7420. The chip has also been dogged with stories of overheating and CPU throttling. Qualcomm tried to fix the chip’s perceived image by releasing a new stepping known as V2.1, however, with the 4K video overheating issues of phones like the Sony Xperia Z5 Compact, the Snapdragon 810 is still seen negatively by some consumers.
Having said that, my testing of the Snapdragon 810 has shown it to be a fast and reliable SoC for the most part, and it has been picked-up by several top smartphone makers including Huawei for the Nexus 6P, OnePlus for the OnePlus 2, HTC for the One M9 and LG for the LG G Flex 2.
This is one of the most popular smartphone processors at the moment, mainly because it is the processor used by Samsung for its current range of high-end devices including the Samsung Galaxy S6, the Samsung Galaxy S6 Edge +, and the Samsung Galaxy Note 5. Like the Snapdragon 810 it uses four Cortex-A53 cores and four Cortex-A57 cores. But rather than the Adreno 430, we find a ARM Mali-T760 MP8.
The Mali-T760 has 8 shader cores while boasting a 400% increase in energy efficiency over the ARM Mali-T604. One of the tricks in the Mali-T760’s architecture is the use of bandwidth reduction techniques, which minimizes the amount of data shifted around and hence reduces the amount of power used by the GPU. Such techniques include ARM Frame Buffer Compression (AFBC), which compresses the data as it is passed from one part of the SoC to another; and Smart Composition, which only renders the parts of the frame which have changed.
Thanks to the smaller 14nm FinFET manufacturing process, Samsung has been able to up its clock speeds by 200MHz on the CPU side and by 72MHz on the GPU side, when compared to the Exynos 5433. It is also Samsung’s first SoC with LPDDR4 memory support, which runs in a 32-bit dual-channel configuration with a clock speed of 1552MHz. Peak bandwidth reaches 25.6 GB/s.
MediaTek Helio X10
Earlier this year MediaTek launched its new Helio brand of SoCs. Unlike the bland sounding MTxxxx range of SoCs, the Helio branding brings MediaTek into line with Samsung and Qualcomm with their Exynos and Snapdragon brands. The first MediaTek Helio SoC is the Helio X10, an octa-core processor with four 2.0 GHz Cortex-A53 cores and four 2.2 GHz Cortex-A53 cores, backed by a PowerVR 6200 GPU. If that setup sounds familiar it is because that was also the specs of the MediaTek MT6795 and, as far as I can tell, the Helios X10 is in fact just a rebrand of the MT6795.
The multimedia features of the X10 are quite interesting and include video recording at 480 frames per second with 1/16th speed slow-motion playback, support for 120Hz smartphone displays, and H.265 Ultra HD 4K2K video encoding at 30 fps.
Smartphones using the Kirin range of SoCs started to appear during mid-2014, almost exclusively from Huawei. HiSilicon is a fully owned subsidiary of Huawei and its first Kirin processors were quad-core Cortex-A9 based, as found in phones like the Huawei Ascend P7. Since then, HiSilicon has produced increasingly more powerful processors including 32-bit octa-core processors with Cortex-A15 and Cortex-A7 cores, and 64-bit processors using Cortex-A53 cores. The company has also just announced its new SoC: the Kirin 950. The Kirin 950 uses four Cortex-A72 cores (the successor to the Cortex-A57) and four Cortex A53 CPU cores, combined with a Mali-T880 GPU.
The Kirin 935 uses four Cortex-A53 cores clocked at 2.2 GHz, and another four Cortex-A53 cores clocked at 1.5 GHz. The GPU is the ARM Mali-T628 MP4.
The Snapdragon 801 is quite different to the other SoCs listed here. First, it is a 32-bit processor using the ARMv7 instruction set architecture (ISA), rather than the 64-bit ARM v8 ISA. Second, it is a quad-core processor rather than an octa-core processor. Third, it uses Qualcomm’s own ARM compatible core design (Krait) and not a core design from ARM.
The reason I have included it is as a baseline reference. The Snapdragon 800 and the Snapdragon 801 SoCs were very popular and marked the heyday of Qualcomm’s reign at the top. You can find the Snapdragon 801 in devices like the Sony Xperia Z3, the LG G3, the Samsung Galaxy S5, the HTC One M8 and the OnePlus One.
For these tests, I got hold of different phones using these SoCs. The phones are:
- Snapdragon 810 – Sony Xperia Z5 Compact
- Exynos 7420 – Samsung Galaxy Note 5
- MediaTek Helio X10 – Redmi Note 2
- Kirin 935 – Huawei Mate S
- Snapdragon 801 – ZUK Z1
Before looking at the test results, there is one caveat: there are likely other handsets available that could utilize these SoCs better than the handsets I have used. In other words, maybe the RedMi Note 2 isn’t the best performing Helio X10 handset, or maybe there are better Snapdragon 801 devices than the ZUK Z1, etc. However the variations between models shouldn’t be so large as to alter the overall results.
It is also worth noting that the screen resolution plays a big factor for benchmarks that include GPU tests. Pushing around those pixels on a phone with a Full HD display is less taxing for the CPU and GPU than on a phone with a 2K display.
Performance testing is a complex science in that it is hard to replicate the exact same conditions for each test run. Even variations in temperature can alter test results. One popular way to test the performance of a phone is to use benchmarks like AnTuTu and Geekbench. Another is to simulate real world scenarios like launching a game while monitoring the performance. As a third way to test the performance I have written a couple of apps. The first one tests the SoCs processing power by calculating a large number of SHA1 hashes, performing a large bubblesort, shuffling a large table and then calculating the first 10 million primes. The second app uses a 2D physics engine to simulate water being poured into a container and measuring the number of droplets that can be processed in 90 seconds. At 60 frames per second the maximum score is 5400.
AnTuTu is one of the “standard” benchmarks for Android. It tests both CPU performance and GPU performance and then presents a final score. AnTuTu is good for getting a general feel for how well a SoC can perform, however the test loads used by the benchmark are completely artificial and don’t reflect real life scenarios at all. However, as long as we take that into consideration then the numbers can be useful.
I performed two tests with AnTuTu. First, I just run the test on the device from a fresh boot, then I run the 3D demo game Epic Citadel for 30 minutes (in the hope of heating up the phones a bit) and then I re-ran the benchmark. The results are below:
As you can see the Exynos 7420 comes out on top followed by the Snapdragon 810. Third is the Kirin 935, and fourth is the Snapdragon 801 beating the Helio X10. After running Epic Citadel for 30 minutes the performance dropped for all of the devices except for the Mate S and its Kirin 935. However the order remains the same.
I performed two tests with Geekbench. First I just ran the test on the device from a fresh boot, then I ran the 3D demo game Epic Citadel for 30 minutes for the AnTuTu test (see above). Straight after re-running AnTuTu, I then re-ran Geekbench. Here are the results, one graph for the single-core tests and one for the multi-core:
The single core tests show the speed of an individual core, regardless of how many cores there are on the SoC. The Exynos 7420 comes in first with 1504, followed closely by the Snapdragon 810. The other three are fairly evenly matched which shows the difference in core level performance between the Cortex-A57 and the Cortex-A53. It also shows us that the Krait core in the Snapdragon 801 is faster than the Cortex-A53 cores of the Kirin and Helio.
The multi-core tests run the benchmark across all the available cores. As such the Snapdragon 801 is bound to come in last as it only has four cores. At the top we find the Exynos 7420 again, this time followed by the Helio X10, quite a jump from its last place in the single-core tests! After running Epic Citadel for half an hour the Snapdragon 801 and the Kirin 935 actually perform slightly better, however the overall positions remain unchanged.
CPU Prime Benchmark
As with the previous two benchmarks, I ran CPU Prime Benchmark twice. The first run was performed when the device was cool and had no other apps running. Then I set each phone to record Full HD video (not 4K) for 10 minutes. After than I re-ran the benchmark. The results are surprising:
In first place again we find the Exynos 7420, followed by the Snapdragon 810. Next the Helio X10, the Kirin 935 and the Snapdragon 801 respectively. After recording Full HD video for 10 minutes, the Exynos manages to achieve the same score, as does the Snapdragon 801. Interestingly the Kirin 935 manages a better score, which pushes it above the X10, while the Snapdragon 810 takes quite a hit dropping from 20771 to 18935.
The Sony Xperia Z5 Compact makes quite a poor showing in this test, coming in last. First place is tied between the Exynos 7420 and the Kirin 935, while the X10 and the Snapdragon 801 are only one second apart. It is worth mentioning here that there are likely other factors which influence the outcome of these tests including the speed of the flash memory, so the poor performance by the Z5 Compact might not be due to the Snapdragon 810.
And now for Kraken:
Things return to “normal” with the Kraken test: First the Exynos 7420, then the Snapdragon 810, and in third the Snapdragon 801. The two Cortex-A53 based devices perform quite poorly here with scores over 9500.
Hashes, bubble sorts, tables and primes
The first of my custom benchmarks tests the CPU without using the GPU. It is a four stage test that first calculates 100 SHA1 hashes on 4K of data, then it performs a large bubble sort on an array of 9000 items. Thirdly, it shuffles a large table one million times, and lastly it calculates the first 10 million primes. The total time needed to do all those things is displayed at the end of the test run. The results are below:
This is the one test that the Exynos 7420 didn’t win. If it didn’t win the second of my benchmarks as well then I would start to suspect foul play, however it does win the next test (see below) and its second place here is acceptable. However, a great performance by the Snapdragon 810, as well as a strong result for the Snapdragon 801.
The second of my two custom benchmarks uses a 2D physics engine to simulate water being poured into a container. The idea here is that while the GPU will be used slightly for the 2D graphics, most of the work will be carried out by the CPU. The complexity of so many droplets of water will exercise the CPU. One drop of water is added every frame and the game is designed to run at 60 frames per second. The benchmark measures how many droplets are actually processed and how many are missed. The maximum score is 5400, a number which the Exynos 7420 almost hits, but not quite. The full results follow:
The Exynos 7420 scores 5359, just slightly shy of the maximum score. Surprisingly, the 32-bit, quad-core Snapdragon 801 comes in second followed by the Helio X10 and the Snapdragon 810. Last was the Kirin 935.
Before we look at the 64-bit processors, it is worth applauding Qualcomm for the Snapdragon 801. The 801 consistently scored well in the benchmarks and was on average equivalent to the Kirin 935 or to the Helio X10. Like I said during my ZUK Z1 review, I would rather have a quad-core 32-bit Snapdragon 801 than a slower quad-core Cortex-A53 based SoC, like the Snapdragon 410. The Snapdragon 801 also gives us a good baseline from which to judge the results from the other processors.
In a nutshell, the Exynos 7420 is the best Android SoC at this time, the Snapdragon 810 comes in a close second, while the Helio X10 and Kirin 935 are good for high mid-end phones. Finally, the Snapdragon 801 still has plenty of life in it.
Overall, the Exynos 7420 is the clear winner. It performs well across all of the tests and it doesn’t seem to be affected much by overheating or throttling. Close behind it is the Snapdragon 810. Both the Exynos 7420 and the Snapdragon 810 use the same Cortex-A57/A53 cores in a big.LITTLE configuration, however they use different GPUs. Although the performance of the Snapdragon 810 is close to that of the Exynos, the 810 is affected more by heat. The drop in performance for the 810 was 8% during the CPU Prime Benchmark test after recording Full HD video for 10 minutes.
As for the other two processors, there seems to be little to choose between them. Sometimes the X10 was faster than the Kirin 935 (e.g. for the CPU Prime Benchmark and the 2D water simulation), while for other benchmarks like AnTuTu and the Geekbench single-core tests, the Kirin 935 was the faster of the pair.
In a nutshell, the Exynos 7420 is the best Android SoC at this time, the Snapdragon 810 comes in a close second while the Helio X10 and Kirin 935 are good for high mid-end phones. Finally, the Snapdragon 801 still has plenty of life in it.