The Qualcomm Snapdragon S4 (Krait) Preview Part IIby Anand Lal Shimpi on February 22, 2012 11:40 PM EST
Yesterday we presented the first results of Qualcomm's Krait based MSM8960 SoC. While we still await the first Krait based phones (widely expected to begin shipping sometime in Q2), courtesy of Qualcomm's MSM8960 Mobile Development Platform we were able to get a good idea of the upper bound for Krait and MSM8960 performance. I mention it's the upper bound because, at least in the past, MDP performance hasn't corresponded directly to shipping device performance. There was a pretty big delta between MSM8660 MDP performance and phones that used the MSM8660. Qualcomm tells us that this time around things are going to be different. Qualcomm is expecting a much narrower (nonexistent?) gap between the MSM8960 development platform and phones that use MSM8960 silicon. One major difference between the MSM8960 MDP and our earlier MSM8660 MDP was the state of the CPU governor. In the earlier MDP the governer was set to max performance, always delivering the CPU's maximum clock frequency. With the MSM8960 platform the governor was set to ondemand, allowing for variable CPU speeds depending on what the OS requests of the device. The ondemand setting is in-line with what we can expect device manufacturers to use when they ship phones. All of this goes to say that while we have a good handle of what Krait and the MSM8960 are capable of, there are still a lot of unknowns.
While it's true that shipping performance remains to be seen, some of the deltas we saw between MSM8960 and the current competition were so great that even a much slower implementation in a shipping phone would still be significantly faster than anything else out today.
We left our MSM8960 investigation with two major unknowns. The first was power consumption. We still haven't been able to get Qualcomm's Trepn tool running on the MSM8660 MDP, which has always been a bit finicky. To get a true feel for MSM8960 battery life we will have to wait for shipping devices. The other major unknown was really how MSM8960 stacks up against NVIDIA's Tegra 3.
Tegra 3 was everything Tegra 2 should have been. We got higher clocks, NEON support and a much faster GPU. The only thing missing from Tegra 3 was a dual channel memory interface. We were happy with Tegra 3 on ASUS' Eee Pad Transformer Prime, but in less than a week we'll get to meet some of the first smartphones based on T3 silicon.
Armed with the Eee Pad Transformer Prime (updated to Ice Cream Sandwich) we're able to get a rough idea of how these two heavyweights will compare. The same caveats that applied to the MDP apply to our Tegra 3 platform as well. Since we are using a tablet we're obviously dealing with a higher TDP than what you'll find in a phone. The comparison today is largely academic and naturally shipping devices may be better or worse that these two representatives. With the disclaimers out of the way, let's get to the comparison.
CPU Performance: Preferring Single vs. Multithreaded Performance
The MSM8960 features two Krait cores compared to the four ARM Cortex A9 cores in NVIDIA's Tegra 3. While the A9 is a very power efficient core, Krait offers a much wider front end, wider execution back end, faster FPU and an improved cache/memory interface. All of these factors together combined with similar clock speeds to what Tegra 3 is able to hit should result in better absolute performance in single or lightly threaded applications. As video decode and transcode are both fully offloaded in all modern SoCs, finding workloads that scale well across more than two cores is difficult. We noted this in our Eee Pad Transformer Prime review - it's just not easy coming up with current apps that scale well to four ARM cores. That's not to say that there are no advantages to more than two cores, but you're more likely to get a benefit from two faster cores vs. four slower ones.
NVIDIA's saving grace is the fact that it did ramp up A9 clock speed very high in Tegra 3, and it has that handy
companion core 4-PLUS-1 architecture to keep power consumption low throughout very light workloads. There's also the fact that while very few smartphone apps will peg four cores constantly, there are periods of time when you'll see more than two cores in use. Multitasking, although more likely to happen in significant amounts on a tablet, can also increase usage of the third and fourth cores on Tegra 3.
We'll start with Linpack, our heaviest floating point/cache/memory bandwidth test:
Single threaded floating point performance is obviously a strength of the MSM8960 and Krait. Qualcomm tells us that Krait is able to multi-issue floating point instructions, something that the Cortex A9 cannot do. The MSM8960 memory controller also appears to be more efficient than previous designs, contributing to the magnitude of the win here.
Move to more threads and the situation doesn't change dramatically, although Tegra 3 is obviously far more competitive thanks to its sheer core count:
Browsermark tells a different story. Here the Tegra 3 based Transformer Prime is actually able to be slightly faster than the MSM8960. The margin of victory is small enough to be a wash, but the fact that NVIDIA is able to remain competitive is important.
Basemark OS echoes more of what we'd expect. In the overall score the MSM8960 is around 50% faster than the Tegra 3 based tablet. Even if the MSM8960 MDP is unrealistically fast for a Krait platform, it's likely that we'll still see a Krait advantage.
|Basemark OS - System
|ASUS Transformer Prime
|System Overall Score
|Simple Java 1
|Simple Java 2
|100K File (eMMC->SD)
|100K File (SD->eMMC)
|100K File (eMMC->eMMC)
|100K File (SD->SD)
Most of the Basemark tests are lightly threaded, but looking at the SMP test gives you another example of Tegra 3's strengths given the right workload. With the right application, Tegra 3 can be faster than the MSM8960, however it's still our opinion that you're more likely to find a lightly threaded workload on a smartphone than you are going to encounter something that scales well to four cores.