android
  #1  
Old 10-19-2011, 06:48 PM
medion's Avatar
medion medion is offline
Anythingbutiphone Moderator
 
Join Date: Jan 2009
Location: Shreveport, La
Posts: 1,929
Default Smartphone CPU Primer - updated 01/05/2012

The contents of this thread can be discussed here. This sticky shall remain closed.

Contents:
  1. Contents/Purpose
  2. System on a Chip/MPCore/Instruction Set
  3. ARMv6 and ARM11
  4. ARMv7 in 2009
  5. ARMv7 in 2010
  6. ARMv7 in 2011 - Cortex A9
  7. ARMv7 in 2012 - Cortex A15/Krait

Purpose:

The purpose of this thread is to give the reader a better understanding of the actual hardware in their smart phone. This is to give the reader a more informed buying decision. Too often you hear the advertisement state that "such and such phone is faster because it has a 1.2ghz processor as opposed to 1ghz," or something to that effect. The problem is that some processors do more work in a clock cycle, meaning that "megahertz" is not the ideal measurement to determiner a processor's capabilities.

An analogy would be the gears in your car. If one car is running at 6000RPMs, while the other is going at 4000RPMs, which car is going faster? Well, to know the answer, you'd have to know what gear they're in, and what the gear ratio is. The same applies to processors. The statistic that I prefer to use is that of DMIPS, or Dhrystone MIPS. This is a consistently measurable variable that gives real world performance of a chip. Vendors cannot get away with lying or exaggerating this performance because it is so easily measurable in a consistent manner.
__________________
[SIZE=2][COLOR=DimGray][U][B]Phone:[/B][/U] Samsung Galaxy S II (GT-I9100) 16GB w/32GB MicroSDHC
[U][B]DAP:[/B][/U] Sansa Clip+ 8GB [/COLOR][/SIZE][SIZE=2][COLOR=DimGray]w/32GB MicroSDHC[/COLOR][/SIZE]

Last edited by medion; 01-05-2012 at 12:44 PM.

Advertisement [Remove Advertisement]

  #2  
Old 10-23-2011, 11:23 AM
medion's Avatar
medion medion is offline
Anythingbutiphone Moderator
 
Join Date: Jan 2009
Location: Shreveport, La
Posts: 1,929
Default

System on a Chip:

Most people have a basic understanding of how your PC works. You have a CPU, a video card (modernly referred to as a GPU), memory, and many other components. A system on a chip (SOC) is a way for vendors to place multiple system components on one chip (hence, the name). One solid example of this is the Snapdragon SOC, made by Qualcomm. Snapdragon features a CPU, a GPU, the actual cellular radio (this is rare), and many other components. OEMs like HTC prefer to purchase these SOCs because they offer so much functionality in a small, power efficient, and cheap package.

MPCore:

If the SOC is the entire system on a chip, then the MPCore is the actual processor. In PC terms, your MPCore is either your Intel Pentium or your AMD Athlon. In mobile phones, the MP Core isn't advertised, but is the key differentiation. Common MPCores (and their SOCs) used today include Cortex A9 (various), Cortex A8 (various), and Scorpion (Snapdragon). When you hear that your phone as a 1ghz Snapdragon, for example, the CPU is actually a 1ghz Scorpion. What the OEMs are effectively saying is "Dude, you've got a 2ghz Dell!" Ok, but is it an Intel, or an AMD? That's why the MPCore is so important.

Instruction Set:

An MPCore has to have a base instruction set. This is the part of the processor that tells it how to respond to programming, and this is ultimately what determines compatibility with an operating system. In PC terms, there are a few common instruction sets. First is the widely known x86 instruction set, which is used in every modern Intel and AMD processor. It is required for 32-bit Windows compatibility. AMD and Intel developed competing standards for 64-bit, but x86-64, or just x64, is the common 64-bit standard today.

For mobile CPUs, the ARM instruction sets are most common. I don't want to delve too deeply, so we'll focus on the two instruction sets used in most modern MPCores; ARMv6 and ARMv7.
__________________
[SIZE=2][COLOR=DimGray][U][B]Phone:[/B][/U] Samsung Galaxy S II (GT-I9100) 16GB w/32GB MicroSDHC
[U][B]DAP:[/B][/U] Sansa Clip+ 8GB [/COLOR][/SIZE][SIZE=2][COLOR=DimGray]w/32GB MicroSDHC[/COLOR][/SIZE]

Last edited by medion; 01-05-2012 at 12:05 PM.

  #3  
Old 10-23-2011, 11:56 AM
medion's Avatar
medion medion is offline
Anythingbutiphone Moderator
 
Join Date: Jan 2009
Location: Shreveport, La
Posts: 1,929
Default

ARMv6 and ARM11:

ARMv6 is where the modern smart phone begins, so naturally, it's the first instruction set that I will be discussing. ARM11 is the only major MPCore in modern smart phones that used the ARMv6 instruction set. The ARM11 MPCore was used in many modern SOCs, including the original Tegra (Zune HD, Kin). However, let's take a look at the ARM11 MPCores used in arguably the two smart phones that ignited the modern smart phone war. ARM11 is capable of 1.25MIPS per clock cycle.

The Samsung 1176JZ(F)-S v1.0 is the SOC that was used in the original iPhone (2007) and iPhone 3G (2008). In both cases, the ARM11 CPU was underclocked to 420mhz. This means a performance rating of 525 DMIPS.

The Qualcomm MSM7201A is the SOC made by Qualcomm and sourced to HTC for the Dream/G1, the first Android phone. Clocked at 528mhz, the ARM11 inside this relative beast put out 660 DMIPS. Take a look at the handy dandy chart below (using phone names instead of SOCs to make it easier for the reader).

__________________
[SIZE=2][COLOR=DimGray][U][B]Phone:[/B][/U] Samsung Galaxy S II (GT-I9100) 16GB w/32GB MicroSDHC
[U][B]DAP:[/B][/U] Sansa Clip+ 8GB [/COLOR][/SIZE][SIZE=2][COLOR=DimGray]w/32GB MicroSDHC[/COLOR][/SIZE]

Last edited by medion; 10-23-2011 at 12:16 PM.

  #4  
Old 10-23-2011, 12:09 PM
medion's Avatar
medion medion is offline
Anythingbutiphone Moderator
 
Join Date: Jan 2009
Location: Shreveport, La
Posts: 1,929
Default

ARMv7 in 2009:

Despite Android getting the superior CPU in their phone, it was nearly a year and a half after the original iPhone and the software was too immature. There wasn't a war between these two smart phones and operating systems yet, but 2009 would give us a glimpse of what was to come. The ARMv7 instruction set was to be used in the Cortex A8 MPCore, and that CPU would find it's way into two key SOCs and phones for 2009. The updated Cortex A8 could output 2.0 DMIPS per clock cycle, a substantial improvement over the old ARM11 MPCore.

The Samsung S5PC100 was the SOC used in the iPhone 3Gs. The CPU was an ARM Cortex A8 clocked at 600mhz, outputting 1200 DMIPS, more than double last year's iPhone model.

Several months later, the Texas Instruments OMAP 3430, clocked at 550mhz, would be used in the Motorola Droid, the phone that finally sparked the Android revolution. Given the same Cortex A8 CPU as the iPhone 3Gs, this relative beast put out 1100 DMIPS, slightly less than the older iPhone. The chart below shows how the new chips evolved from 2007-2009.

__________________
[SIZE=2][COLOR=DimGray][U][B]Phone:[/B][/U] Samsung Galaxy S II (GT-I9100) 16GB w/32GB MicroSDHC
[U][B]DAP:[/B][/U] Sansa Clip+ 8GB [/COLOR][/SIZE][SIZE=2][COLOR=DimGray]w/32GB MicroSDHC[/COLOR][/SIZE]

Last edited by medion; 10-23-2011 at 12:20 PM.

  #5  
Old 10-23-2011, 12:12 PM
medion's Avatar
medion medion is offline
Anythingbutiphone Moderator
 
Join Date: Jan 2009
Location: Shreveport, La
Posts: 1,929
Default

ARMv7 in 2010:

In 2010, we saw mostly die-shrinks and refreshes. A die-shrink is a scaling reduction in the manufacturing process that ultimately leads to a smaller chip. Since wafers stay the same size, this means more chips per wafer, causing a reduction in overall cost per chip. Aside from reduction in cost, smaller die process means less power needed, and less power lost as heat, which also leads to the ability to raise the clock speed. In 2009, chips were predominantly on the 65nm process. 2010 would bring about chips on the 45nm process.

Before we get to that 45nm process, there was one last 65nm chip being introduced, the Qualcomm Snapdragon. Released in 2009, it didn't see widespread adoption until after being used in the Google Nexus One in early 2010. Qualcomm used the ARMv7 instruction set, but rather than use an off-the-shelf Cortex A8, Qualcomm made their own tweaks which resulted in their custom Scorpion MPCore. The primary advantage of Scorpion over A8 was that it put out 2.1 DMIPS per clock cycle, a boost of 5% over Cortex A8. in addition, it could be run at higher clock speeds, had support for 128-bit SIMD instructions (64-bit on A8), support for mjultiple-cores, and a host of other advantages. Bottom line is that, despite being only 5% faster, the Scorpion could smoke the A8 in some synthetic tests, like Linkpack where it beat the A8 by a margin of 3 to 1. That is why we use DMIPS, for a more accurate assessment. At 1ghz, the Scorpion MPCore put out 2100 DMIPS, nearly double the A8 used in the Motorola Droid released only 2 months prior. The 1ghz Snapdragon SOC would also be the SOC used for Windows Phone 7 Chassis 1.

NOTE: For 1ghz and beyond, I'm going to use multiples of 1000 for the sake of simplicity. 1ghz is technically 1000mhz, but some Snapdragon devices actually run at 998mhz. So, my numbers will be off by a few points, but we're talking less than 1%.

After Snapdragon, we saw three key SOCs come about. The first of those was the Apple A4, developed by Samsung for the iPhone. This used another Cortex A8, this time clocked at 800mhz, putting out 1600 DMIPS (remember, A8 is 2.0 DMIPS per clock cycle). The next was the Texas Instruments OMAP36xx series, which had speeds of 800mhz, 1ghz, and 1.2ghz. These put out 1600, 2000, and 2400 DMIPS, respectively. The most common of which was the 1ghz OMAP 3620 used in the Droid 2 and Droid X. Finally, there was Samsung's in-house Hummingbird SOC, which also used a Cortex A8 at 1ghz, or 2000 DMIPS. This was used in the Galaxy S and Nexus S. As you can see, these SOCs all use Cortex A8 with no major tweaks. So, performance is consistent.

Qualcomm then tried to catch up with the rest of the pack by shrinking Snapdragon to 45nm. This new Snapdragon ran at speeds of 800mhz and 1ghz, initially. Since it maintained the same 2.1 DMIPS per clock cycle, there was no performance benefit. In fact, the 800mhz T-mobile G2 had a slower CPU than the first gen Snapdragon, but offered better battery life. It put out a respectable 1680 DMIPS. The chart below once again shows the phones from 2010 in release order highlighting the performance of these chips as well as 2009's chips for comparison purposes. Windows Phone 7 users should look a the Nexus 1 for their performance numbers.



There are two things here to take away from this. First is that Android finally sourced hardware superior to the iPhone before the iPhone's release (for the most part, remember, this is just one side of the story). Second, the Nexus One truly was the standard bearer that it was meant to be, as it would be more than a year before a phone came out that truly outclassed it.
__________________
[SIZE=2][COLOR=DimGray][U][B]Phone:[/B][/U] Samsung Galaxy S II (GT-I9100) 16GB w/32GB MicroSDHC
[U][B]DAP:[/B][/U] Sansa Clip+ 8GB [/COLOR][/SIZE][SIZE=2][COLOR=DimGray]w/32GB MicroSDHC[/COLOR][/SIZE]

Last edited by medion; 01-05-2012 at 12:13 PM.

  #6  
Old 10-23-2011, 01:09 PM
medion's Avatar
medion medion is offline
Anythingbutiphone Moderator
 
Join Date: Jan 2009
Location: Shreveport, La
Posts: 1,929
Default

ARMv7 in 2011 - Cortex A9:

In 2011 we would see the ARMv7 instruction set used for the Cortex A9 MPCore. The A9 can put out 2.5 DMIPS per clock cycle, making it 25% faster than A8 at the same clock rate, and significantly faster than Scorpion as well. Texas Instruments, Samsung, and Apple all moved on to Cortext A9 in 2011, while Qualcomm stuck by the older and slower Scorpion, meaning they would have to raise their clock speeds to compete. Unlike Cortex A8, both A9 and Scorpion can be used in multi-core configuration.

NOTE: For multi-core CPUs, I'm going to use a straight DMIPS calculation, which will make a multi-core CPU look twice as powerful as a single-core counterpart. Actual performance will not mirror this today, but will get closer to it as software better takes advantage of multiple cores. Please keep this in mind.

The first major A9 SOC out there was the Tegra 2 by Nvidia. It was a dual-core at 1ghz used in the Motorola Atrix, meaning an estimated 5000DMIPS. This was the first phone to truly outclass the Nexus One in CPU performance, and it was released over a year after the N1. The Tegra 2 was unique in that Nvidia actually stripped the A9 of some features, such as Neon, extra memory registers, and a few other things. In theory, tasks that would use this would be offloaded to the GPU, so you wouldn't notice a difference. In practice, it's unknown if this has had a true affect on performance. What is known is that it did reduce costs, and that is something that OEMs love. This SOC would be used a few months later in the Droid X2.

Next up were the Apple A5, again made by Samsung, and the Samsung Exynos. The key difference here was in clock speed, as the A5 used in the iPhone 4s is clocked at 800mhz, producing 4000 DMIPS. By comparison, Exynos used in the Galaxy S2 was clocked at 1.2ghz outputting 6000 DMIPS.

Last of the A9s were the dual-core Texast Instruments 4430 and 4460, clocked at 1ghz and 1.2ghz respectively. As such, they output 5000 and 6000 DMIPS. The 4430 was first used in the Droid 3 and Droid Bionic. The 4460 was used in the Google Galaxy Nexus.

Back to Snapdragon, Qualcomm released two variants. They also renamed their Snapdragon processors. S1 was the first-gen 1ghz variant used in the Nexus 1. S2 would be the second gen die-shrink that was clocked at 800mhz and 1ghz. S2 would see a new variant clocked at 1.5ghz, producing 3150 DMIPS, and this would be used in the HTC Titan as the basis for Windows Phone 7 Chassis 2.

Snapdragon S3 was the dual-core variant and would be clocked at 1.2ghz in the HTC Sensation and 1.5ghz in the Sensation XE about 6 months later. These produced 5040 and 6300 DMIPS respectively.

As confusing as this all is, here's the 2011 chart using only the Nexus One and iPhone 4 from 2010. It's big enough as is.



So, what to take from this? There were two "halo" phones that would have kept you happy for a long period of time without waiting on the next best thing; the Atrix and the Galaxy S2. The Atrix won't see anything truly dwarf it until quad-cores come out in 2012, while the GS2 is in the same boat but offered enough performance to possibly justify the 3 month wait over the Atrix. Nothing since the release of the Galaxy S2 has outperformed it with the exception of the Sensation XE, but the higher clock rates there will lead to depleted battery life.
__________________
[SIZE=2][COLOR=DimGray][U][B]Phone:[/B][/U] Samsung Galaxy S II (GT-I9100) 16GB w/32GB MicroSDHC
[U][B]DAP:[/B][/U] Sansa Clip+ 8GB [/COLOR][/SIZE][SIZE=2][COLOR=DimGray]w/32GB MicroSDHC[/COLOR][/SIZE]

Last edited by medion; 10-23-2011 at 07:10 PM.

  #7  
Old 10-23-2011, 07:42 PM
medion's Avatar
medion medion is offline
Anythingbutiphone Moderator
 
Join Date: Jan 2009
Location: Shreveport, La
Posts: 1,929
Default

ARMv7 in 2012 - Cortex A15, Krait:

2012 is expected to be a transitional year for the mobile SOC industry. Onon hand, Nvidia is going to try to use last year's A9 technology in its Tegra 3 SOC, but in a quad-core configuration reportedly topping out at 1.3ghz (1.4ghz for single-core). This means a theoretical DMIPS of 3,250 per core or 13,000 total. In theory, this is a huge boost over 2011's CPUs. In practice, you need to remember that nothing makes 100% efficient use of multiple cores. Due to this, you're not going to see 4x the performance over one core. It also means that more powerful dual-cores can smoke this little quad-core (this is like those cheaper Phenom 1.3ghz quad cores getting killed by an Intel Core2Duo). Basically, yes the Tegra 3 is a true quad-core, but it is using 2011 technology in 2012 and cannot quite keep up. Also, Tegra 3 is on the 40nm process, the same as Tegra 2. Most of the battery savings from Tegra 3 will be from the use of that low-power companion core.

Speaking of those higher-end dual-cores, we have three serious entrants into the arena this year. The first to likely launch is Qualcomm with their new Krait MPCore. This CPU delivers 3.3 DMIPS per clock cycle, making it roughly 50% faster than Scorpion at the same clock rate. This will initially be offered in dual-core configurations with rumors of a quad-core hitting before the end of 2012. The dual-core Krait is reportedly being done on the 28nm process, which means hefty battery savings over current technology. It's also reportedly running at 1.5ghz, pushing out 4,950 DMIPS per core, or 9,900 as a system. Give the way current software is multitasked, I'd take this over Tegra 3 for today's software, but eventually, Tegra 3 would surpass it.

The next two SOCs are surprisingly identical; the Texas Insturments OMAP 5 series and the Exynos 5 series. Both of these are dual-core and based on 28nm Cortext A15 running at 2 ghz. A15 puts out 3.5 DMIPS per clock cycle, making these two CPUs push 7,000 DMIPS per core, or 14,000 as a system. Exynos 5250 is one rumored SOC for the Galaxy S III, whereas OMAP5 isn't expected until later in 2012. This means that if the Exynos 5250 ends up in the SGS3, then Samsung could once again have the performance crown early in the year. We'll see. For now, here's a chart that illustrates theoretical performance and is listed in rumored release date order. I'll update this as more concrete information (IE, actual releases) happens. We still don't know the specifics of Apple's A6 SOC, but I'm going to speculate dual-core A15 @ 1.6ghz. This is without any evidence and won't be included in the chart. For comparative purposes, I've added in last year's equivalents to each SOC at their common high speeds.

__________________
[SIZE=2][COLOR=DimGray][U][B]Phone:[/B][/U] Samsung Galaxy S II (GT-I9100) 16GB w/32GB MicroSDHC
[U][B]DAP:[/B][/U] Sansa Clip+ 8GB [/COLOR][/SIZE][SIZE=2][COLOR=DimGray]w/32GB MicroSDHC[/COLOR][/SIZE]

Last edited by medion; 01-05-2012 at 12:40 PM.

Closed Thread

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



All times are GMT -5. The time now is 09:06 PM.