With the explosion of Android phones on the market these days it can be hard to keep the various SoCs, CPUs, GPUs, and model numbers straight. If you are in the market for a new Android phone or just want to keep up to date on the latest technology look no further. In this article I will attempt to break it all down and explore the various Android SoC implementations available today.[You must be registered and logged in to see this image.]
There are currently 6 major mobile phone manufactures that produce Android devices today: Motorola, Samsung, HTC, LG, Dell, and Sony Ericsson. Each manufacturer is more or less aligned with a specific SoC (System-on-Chip), meaning that the CPU, GPU, I/O logic and are all integrated onto a single piece of silicon. For the most part the manufacturers produce their line of phones with the same SoC. Some of the newer dual core phones break this trend and are now using either the NVIDIA Tegra 2 or TI OMAP 4 ARM Cortex A9 based SoCs.Phone Manufacturers / SoC Provider
Below is the current breakdown of manufactures and their corresponding SoC providers.[You must be registered and logged in to see this image.]SoC Breakdown
The SoC includes the CPU, GPU, I/O logic on one piece of silicon. There are similarities shared for the various implementations as many share a common CPU and/or GPU and operate at a similar frequency. But the CPU, GPU, and clock speed don’t tell the whole story. There are also important differences that you should take note of, mainly RAM speed and number of channels as well as optional additions such as NEON support on the TI OMAP 4 which enables much improved floating point performance. We will breakdown the different CPUs and GPUs later in the article.
Dual core phones are the next big thing and because of this we are seeing a shift in the SoC landscape. The TI OMAP 4, NVIDIA Tegra 2, and Samsung Exynos (formally Orion) SoC have their dual-core versions based on the ARM Cortex-A9. Qualcomm on the other hand is developing the their Gen 3 Snapdragon SoC which still uses the older ARM Cortex-A8 CPU but to compensate it will be clocked at a higher 1.2 GHz. It will be interesting to see which gains traction as time goes on.[You must be registered and logged in to see this image.]CPU Breakdown
The first Android devices such as the G1 and Hero featured the same 528 MHz ARM11 Qualcomm processor. The ARM11 is a previous generation that has quickly lost its luster as more manufactures moved to the ARM Cortex-A8 based SoCs. The mainstream chipsets in 2010 were mostly based off a similar ARM Cortex-A8 architecture, but each one has been tweaked to offer unique features. In the last few months however new SoC have been introduced utilize the latest and greatest ARM Cortex-A9 processor such as the NVIDIA Tegra 2 and OMAP 4.
With the jump from ARM11 to ARM Cortex-A8 there was a huge improvement in performance. Similarly the ARM Cortex-A9 should provide a similar boost over the aging Cortex-A8 thanks to its out-of-order execution pipeline and being capable of executing more operations per clock. Each ARM CPU architecture generation ARM11 -> Cortex-A8 -> Cortex-A9 has led to a vast performance improvement.
At the same frequency a a Cortex-A8 will destroy the ARM11 CPU. Likewise a Cortex-A9 will dominate the Cortex-A8. Again, frequency is not as important as the actual efficiency and total work a CPU can accomplish in a given clock cycle.[You must be registered and logged in to see this image.]CPU BENCHMARKS
Here are some benchmarks that can put these specifications in perspective. The TI OMAP 4 and NVIDIA Tegra 2 are far ahead thanks to their integrated ARM Cortex-A9 CPUs.[You must be registered and logged in to see this image.][You must be registered and logged in to see this image.]GPU BREAKDOWN
The following specs were cobbled together from various sources. There are undoubtedly some errors as the manufacturers do not provide adequate specs on their GPUs. The specs provide some background as to what you can expect from a certain GPU. The most important thing to take away from this is not the numbers themselves, but the relative real world performance when you look at the benchmarks below. [You must be registered and logged in to see this image.]GPU BENCHMARKS
Here are some benchmarks for the various GPUs. As you can see the NVIDIA GeForce and PowerVR SGX540 are at the top of the pack. It has yet to be seen what the Adreno 220 can manage but all evidence points to it being competitive with the top GPUs.[You must be registered and logged in to see this image.][You must be registered and logged in to see this image.]CONCLUSIONS
So which Android SoC is best? Unfortunately there is no simple answer to this question. While the CPU and GPU combination on the SoC play a huge part, there are a variety of other factors to consider including display resolution, total device RAM, memory type and bandwidth, co-processors that speed up activities such as video decoding, and even the version of Android.
You can also see that the CPU frequency plays a part but only when comparing CPUs with the same architecture. The ARM Cortex-A9 based SoCs look to be the ones to beat. The TI OMAP 4 features dual channel DDR2 RAM which might give it a slight advantage, but the NVIDIA Tegra 2 is no slouch especially in the graphics department. The new Qualcomm Snapdragon may be based on the older ARM Cortex-A8 CPU but it clocks in at 1.2 GHz which might make it competitive but that remains to be seen.
Speaking of graphics, the PowerVR SGX540 looks to be neck and neck with the GeForce in the NVIDIA Tegra 2 but the Adreno 220 looks to be the king of the hill. You should take this with a grain of salt as the Adreno 220 was tested on a Qualcomm development device, there are no phones as of yet that take advantage of this hardware.
We can’t wrap this up without talking about dual-core support. I wrote an article about that here. It looks like Android <= 2.3 has kernel support for multiple CPU cores but the Dalvik virtual machine doesn’t take advantage of this support. Starting with Android 3.0 Honeycomb there will be support for multi-core devices in Dalvik and applications. This support should be rolling out to Android 2.4 Ice Cream as well so that phones and not just tablets can take advantage of feature. With these enhancements you will be able to see improvement even in single threaded apps as memory garbage collection can be done in one core and applications will be executed in another.
The last thing to consider, especially with mobile devices, is battery life. Powerful handsets don’t make much difference if you can only get a couple hours of use before you are looking for a power outlet. The results are still out on this one but we will see this picture come into focus over the next few weeks as more of these devices come to market. I will save that discussion for another day and another article.