At the heart of every smartphone and tablet there is a processor known as a System-on-a-Chip (SoC). It contains the CPU, the GPU and various other bits and pieces including a memory controller, cache memory, a DSP and a cellular modem. Not all SoCs are equal, the CPUs differ significantly, as do the GPUs. Some include more auxiliary parts, including various co-processors, while others are more “minimal.”
There are lots of Android SoC manufacturers in the world, however in terms of market share Qualcomm and Samsung are the kings. The world’s largest chip maker is of course Intel, however it hasn’t had much success in the mobile space. The main reason is that the dominant system architecture for mobile is ARM. Companies like Qualcomm and Samsung make SoCs based on the ARM architecture, an architecture that is designed primarily for low energy consumption. In fact, every CPU core or GPU system made by ARM is designed to fit within a very tight “thermal budget.” The ARM architecture isn’t just limited to Android, it is also the system architecture at the heart of the iPhone, as well as other mobile handsets like Microsoft’s range of Windows Phones and handsets from Blackberry.
So from Android to iOS, from Windows Phone to Blackberry OS, ARM is the leading system architecture. Things are different when it comes to desktop PCs and laptops. In these sectors the Intel x86 (and x86-64) architecture is the de facto standard and Intel is the leading chip maker. Intel has been trying for several years to cross the divide from desktops to smartphones and it has notched up the occasional win along the way, for example the ASUS Zenfone 2 uses an Intel chip and not one based on ARM.
I recently did a comparison of the leading SoCs from Qualcomm, Samsung, MediaTek and Huawei, all ARM based chips, but in that lineup I didn’t include Intel. It seems that there is some interest to see how Intel compares with the likes of Qualcomm and Samsung, so here is my comparison of the Qualcomm Snapdragon 810, the Samsung Exynos 7420 and the Intel Atom Z3580.
|Snapdragon 810||Exynos 7420||Atom Z3580|
|CPU||4x Cortex-A57 + 4x Cortex-A53||4x Cortex-A57 +|
|4x Silvermont x86|
|CPU clock||A57 - 2.0GHz|
A53 - 1.5GHz
|A57 - 2.1GHz|
A53 - 1.5GHz
|Arch||ARMv8-A (32 / 64-bit)||ARMv8-A (32 / 64-bit)||Intel X86-64|
|GPU||Adreno 430 @ 630MHz||ARM Mali-T760 MP8 @ 772 Mhz||PowerVR G6430 @ 533Mhz|
|Memory||LPDDR4 1600MHz 64-bit||1552MHz LPDDR4||LPDDR3 1600 MHz|
The two ARM based SoCs in our lineup are octa-core processors using 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.
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. This is known as Heterogeneous Multi-Processing or HMP.
With big.LITTLE that point is less of an issue since the extra four cores are designed to add power efficiency, not higher performance.
Intel doesn’t have a HMP solution, instead its philosophy is to use four equal cores with a mix of performance and power efficiency. As a result the Atom Z3580 has a quad core CPU.
Today’s core count is however going to change. The next generation of 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.
Another vital part of a SoC is its Graphical Processor or GPU. 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. Qualcomm’s GPUs are branded under the Adreno name with the Snapdragon 810 using an Adreno 430. 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 with Intel as the Atom Z3580 uses the PowerVR G6430.
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.
There aren’t that many smartphones which use Intel processors, however one smartphone that made a splash this year was the Asus Zenfone 2. At its core is the Intel Atom Z3580. Built using a 22nm fabrication process, the Z3580 has four cores and includes Imagination’s PowerVR G6430 GPU. It is based on Intel’s Silvermont microarchitecture, which was announced by Intel in on May 6, 2013. Silvermont was the basis of four different SoC families of which Merrifield and Moorefield were aimed at smartphones.
The microarchitecture was announced in 2013, the Arom Z3580 was launched during Q2 2014 and the Asus Zenfone 2 was released during March 2015. This shows how slow the microprocessor industry can be, however it also shows how Intel prioritizes its products as many Silvermont processors, for other sectors like the desktop, were released in 2013.
The Snapdragon 810 is Qualcomm’s current flagship 64-bit processor. It has eight cores in total, four Cortex-A57 cores and four Cortex-A53 cores. As I mentioned above, this is a HMP SoC using ARM’s big.LITTLE technology. 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, and Motorola for the Moto X Force.
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 an 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.
For these tests, I got hold of different phones using these three SoCs. The phones are:
- Snapdragon 810 – Sony Xperia Z5 Compact
- Exynos 7420 – Samsung Galaxy Note 5
- Atom Z3580 – Asus Zenfone 2
One thing to note is that the Zenfone 2 has several different performance modes. When I first ran a benchmark I got a notification tell me that I should switch to “Performance mode” for the best results, which I did. Consequently all the benchmarks are run with the phone at its highest performance settings. However what is a bit more sinister is that the notification came when the app was started, but before any tests were run. This means that the phone didn’t detect the benchmark because the OS saw high levels of CPU usage, but rather because it recognized the app that was running, in other words it has a built-in database of benchmarks and high performance games that need lots of CPU power. If Asus only goes as far as to send a notification then that is not so bad, but who knows what skulduggery is going on in the back ground once the system knows a benchmark is running!
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.
Getting performance tests right is hard for several reasons. First, replicating the exact same conditions for each test run is difficult as even variations in temperature can alter test results. Second, benchmarks tend to be artificial and don’t reflect real world usages. Therefore when testing it is good to use benchmarks like AnTuTu and Geekbench. But it is also important to simulate real world scenarios like launching a game while monitoring the performance. To further augment these tests 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 bubble sort, 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.
Although AnTuTu is one of the “standard” benchmarks for Android that tests both CPU performance and GPU performance, it is important to understand that the test loads used are completely artificial and don’t reflect real life scenarios. However, as long as we take that into consideration then the numbers can be useful to get a general “feel” of how the SoC performs.
I performed two tests with AnTuTu. 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 (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 Samsung Exynos 7420 is the fastest followed by the Snapdragon 810. Those two results were expected as they come from my comparison of the Snapdragon 810, the Exynos 7420, the MediaTek Helio X10, and the Kirin 935. However the question remained, where would the Intel Atom Z3580 fit? Well as you can see it came in last with a score of under 50,000 while the other two managed over 60,000 peaking near 70,000. Compared to other leading SoCs, only the MediaTek Helio X10 and the Snapdragon 801 perform worse on AnTuTu.
As I said, AnTuTu is an artificial benchmark (as is Geekbench etc), however it does give us a good feel of how the SoC performs. In fact throughout all of the other tests we will see the same story, first Samsung, then Qualcomm and then Intel.
I also performed two tests with Geekbench. First I just ran the test with the device cool, 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. Here we can see that the individual core performance of the Atom Z3580 is quite poor. It seems to be on-par with a Cortex-A53 or with the 32-bit core of the Qualcomm Snapdragon 801. However one point in the Atom’s favor is that the results are basically unchanged when the device is running hot.
Since the multi-core test uses all the cores simultaneously, then the Atom Z3580 will under-perform in this scenario as it only has four cores, compared to the eight cores of the other two. There is a lot of debate about how many cores are optimum for performance and power, however with big.LITTLE that point is less of an issue since the extra four cores are designed to add power efficiency, not higher performance.
Interestingly we can see that the Atom actually performs better under this test when warmer! I mentioned previously that the Zenfone 2 had several different performance modes. I set the phone back to its “normal” mode and re-ran Geekbench to see what the difference in performance would be, the result was quite surprising:
Clearly the performance mode tweaks the SoC to run faster, however that will also drain the battery faster.
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 that I re-ran the benchmark. The results are surprising:
In first place again we find the Exynos 7420, followed by the Snapdragon 810 and then the Atom Z3580. Both the Snapdragon 810 and the Intel chip run slower after 10 minutes of video recording, however the Samsung SoC maintains its performance level.
The caveat is of course that starting a game is not just about the CPU, also the speed of the internal storage plays a major role.
As for Kraken:
Again, the Kralen tests confirms the relative performance of these three SoCs.
Hashes, bubble sorts, tables and primes
This is the first of my custom benchmarks that tests the CPU without using the GPU. It is a four stage process 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:
The other custom benchmark 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 done 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 app 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:
So the Exynos 7420 almost manages the maximum, with a result just 41 short of the theoretical best. This is doubly impressive when you consider the screen resolution of the Note 5. The Snapdragon 810 comes in second having dropped some 178 frames, but disappointingly the Intel Atom comes in a very poor last place having dropped almost 400 frames.
Performance is one SoC characteristic, however its power efficiency is another. There is a rough rule of thumb, you can always increase the performance by using more power. This is especially true in mobile, however using more energy depletes the battery and nobody wants a battery life measured in minutes.
To test the battery life of the three phones I performed two tests. First I ran Epic Citadel on each device for 30 minutes and measured the drop in battery level. With that number I extrapolated the theoretical number of minutes you could run Epic Citadel on a full charge. For the second test I used a small app which I wrote that brings up a series of web pages with a small pause between each page and so mimicking browsing the web. This was run for an hour and the web surfing time extrapolated from the battery level change. Here are the results:
The Z5 Compact and the Note 5 perform roughly the same, both are capable of playing 3D games for 5 hours or surfing the web for 10 hours. The Zenfone fairs slightly worse managing just over 4 hours of 3D gaming or 7.5 hours of browsing.
Understanding these numbers is a little complicated. First of all, each phone has a different screen size and screen resolution. Pushing around more pixels takes more battery power and bigger screens draw more current. Secondly, each phone has a different battery size. The Note 5 has a 3000 mAh battery, as does the Zenfone 2. The Z5 Compact has a smaller battery than the other two, at 2700 mAh.
Dividing the battery size by the browsing time gives us a ratio of mAh per minute of web surfing:
The Z5 Compact has the smallest screen (4.6 inches) and it also has the lowest resolution (720p). Combined with the big.LITTLE Snapdragon 810 then it offers the best battery life. Next is the Note 5 which has a huge 5.7 inch screen with a massive 1440 x 2560 resolution. However even with such a large high resolution screen it manages a battery surfing ratio of 5. The Zenfone 2 has the worst ratio. The Zenfone 2 has a 5.5 inch, Full HD display and the same battery capacity as the Note 5, yet its battery surfing ratio is 6.51. How much of that is due to the Intel Atom processor?
Intel’s biggest problem is that it is trying to use the same microarchitecture that it uses on the desktop and squeeze it into a mobile SoC. Creating high performance, power efficient processors is a complex business and ARM has specialized in this field. Every ARM processor is designed specifically for power efficiency while delivering the maximum performance. Intel’s focus is the desktop and servers, places where big ventilation fans are the norm and power usage isn’t as critical as on mobile. Until Intel starts to take mobile seriously it will always come in second, just as demonstrated by the Atom Z3580.