We won't go too deep into Krait's CPU architecture, because we've already done so in an earlier piece. What we can provide however is a quick recap. Architecturally Krait isn't a design of tradeoffs, rather it's a significant step forward along almost all vectors. Each core can fetch, decode and execute more instructions in parallel than its predecessor (Scorpion, Snapdragon S1/S2/S3).

Qualcomm Architecture Comparison
Scorpion Krait
Pipeline Depth 10 stages 11 stages
Decode 2-wide 3-wide
Issue Width 3-wide? 4-wide
Execution Ports 3 7
L2 Cache (dual-core) 512KB 1MB
Core Configurations 1, 2 1, 2, 4

Even if you're not comparing to Qualcomm's previous architecture, Krait maintains the same low level advantage over any other ARM Cortex A9 based design (NVIDIA Tegra 2/3, TI OMAP 4, Apple A5). Clock speeds are up with only a small increase in pipeline depth. The combination of these two factors alone should result in significant performance improvements for even single threaded applications. If you want to abstract by one more level: Krait will be faster regardless of application, regardless of usage model. You're looking at a generational gap in architecture here, not simply a clock bump.

Architecture Comparison
ARM11 ARM Cortex A8 ARM Cortex A9 Qualcomm Scorpion Qualcomm Krait
Decode single-issue 2-wide 2-wide 2-wide 3-wide
Pipeline Depth 8 stages 13 stages 8 stages 10 stages 11 stages
Out of Order Execution N N Y Partial Y
FPU VFP11 (pipelined) VFPv3 (not-pipelined) Optional VFPv3 (pipelined) VFPv3 (pipelined) VFPv4 (pipelined)
NEON N/A Y (64-bit wide) Optional MPE (64-bit wide) Y (128-bit wide) Y (128-bit wide)
Process Technology 90nm 65nm/45nm 40nm 40nm 28nm
Typical Clock Speeds 412MHz 600MHz/1GHz 1.2GHz 1GHz 1.5GHz

The memory interface of the chip has been improved tremendously. At a high level, the MSM8960 is Qualcomm's first SoC to feature PoP support for two LPDDR2 memory channels. We suspect there are lower level improvements to the memory interface as well however we don't have more details from Qualcomm, not to mention the current state of memory latency/bandwidth testing on Android is pretty abysmal.

Quantifying the Krait performance advantage requires a mixture of synthetic and application level tests. We'll start with Linpack, a Java port of the classic memory bandwidth/FPU test:

Linpack - Single-threaded

Linpack - Multi-threaded

Occasionally we'll see performance numbers that just make us laugh at their absurdity. Krait's Linpack performance is no exception. The performance advantage here is insane. The MSM8960 is able to deliver more than twice the performance of any currently shipping SoC. The gains are likely due in no small part to improvements in Krait's cache/memory controller. Krait can also issue multi-issue FP instructions, A9 class architectures can apparenty only dual-issue integer instructions.

Moving on we have our standard JavaScript benchmarks: Sunspider and Browsermark. Both of these tests show significant performance improvements, although understandably not by the margins we saw above in Linpack:

SunSpider Javascript Benchmark 0.9.1 - Stock Browser

BrowserMark

Krait and the MSM8960 are 20 - 35% faster than the dual-core Cortex A9s used in Samsung's Galaxy Nexus. For a look at how overall web page loading is impacted we loaded AnandTech.com three times and averaged the results. We presented results with the browser cache cleared after each run as well as results after all assets were cached:

AnandTech.com Page Loading Comparison (Stock ICS Browser)
Browser Cache Cleared Cache In Use
Qualcomm MDP MSM8960 (Krait) 5.5 seconds 3.0 seconds
Samsung Galaxy Nexus (ARM Cortex A9) 5.8 seconds 4.4 seconds

There's hardly any advantage when you're network bound, which is to be expected. However whenever the device can pull assets from a local cache (something that is quite common as images, CSS and even many page elements remain static between loads) the advantage grows considerably. Here we're seeing a 46% advantage from Krait over the Cortex A9 in the Galaxy Nexus.

We turn to Qualcomm's own Vellamo as a system/CPU/browser performance test:

Vellamo Overall Score

Again, we're showing a huge performance advantage here thanks to Krait. Seeing as how Vellamo is a Qualcomm benchmark don't get too attached to the advantage here, but it does echo some of what we've seen earlier.

Finally we have Rightware's Basemark OS 1.1 RC which is fast becomming an impressively polished system benchmark, one which will hopefully eventually take the place of the likes of Quadrant.

Basemark OS - System
HTC Rezound Galaxy Nexus MDP MSM8960
System Overall Score 658 538 907
Simple Java 1 298 loops/s 210 loops/s 375 loops/s
Simple Java 2 7.28 loops/s 8.61 loops/s 10.8 loops/s
SMP Test 35.3 loops/s 49.2 loops/s 64.4 loops/s
100K File (eMMC->SD) 6.49 mB/s 9.52 mB/s 8.64 mB/s
100K File (SD->eMMC) 33.0 mB/s 17.8 mB/s 39.8 mB/s
100K File (eMMC->eMMC) 37.8 mB/s 34.5 mB/s 48.9 mB/s
100K File (SD->SD) 8.47 mB/s 8.30 mB/s 12.7 mB/s
Database Operation 10.0 ops/s 5.73 ops/s 19.4 ops/s
Zip Compression 0.509 s 0.848 s 0.561 s
Zip Decompression 0.097 s 0.206 s 0.073 s

On the CPU centric tests Basemark OS is showing anywhere from a 20% - 80% increase in performance over the 1.5 GHz APQ8060 based HTC Rezound. IO performance is also tangibly improved although that could be a function of NAND performance rather than the SoC specifically.

These results as a whole simply quantify what we've felt during our use of the MSM8960 MDP: this is the absolute smoothest we've ever seen Ice Cream Sandwich run.

Dual Core Krait in an MDP - the MDP8960 GPU Performance - Adreno 225
Comments Locked

86 Comments

View All Comments

  • Exophase - Wednesday, February 22, 2012 - link

    That 750mW is not for the entire core, it's for the CPU with hyperthreading disabled plus L2 cache. Intel said enabling hyperthreading adds some further draw to it, something between 10-20% as far as I can remember.
  • hova2012 - Tuesday, February 21, 2012 - link

    I'm pretty sure I'm not the only one who is disappointed that the Krait dual core wasn't compared to intel's upcoming atom socs. Isn't this the generation that was supposed to bring arm up to parity with intel's chip? All in all this was a great article, sets the standard for tech reviews.
  • Exophase - Wednesday, February 22, 2012 - link

    Hard to give a good comparison when you don't have direct access to Intel's reference hardware, or if you do you aren't under liberty to publish benchmarking results.
  • Lucian Armasu - Tuesday, February 21, 2012 - link

    Why are the MDP versions of Qualcomm's chips significantly higher performance than the ones in the market, like the one in the HTC Rezound? Doesn't that seem strange to you?

    Could it be that Qualcomm's MDP chips are meant to run significantly faster to show good benchmarks, but then they weaken them in shipping products? Or is there something I'm missing?
  • Death666Angel - Tuesday, February 21, 2012 - link

    How would they weaken them in shipping products?
    Do you have more comparisons between the MDP and shipping phones apart from the Rezound?
    I would look to different governor settings, different software builts and different settings as an explanation before jumping into conspiracy territory. :D
  • Lucian Armasu - Tuesday, February 21, 2012 - link

    I was just looking at the score charts Anandtech provided. Look at these 2 for example:

    http://images.anandtech.com/graphs/graph5559/44380...

    http://images.anandtech.com/graphs/graph5559/44383...

    Why does the MDP MSM8660 have significantly higher (double) performance than the presumably "same" MSM8660 chip in HTC Rezound? Isn't the MDP MSM8660 supposed to showcase the same MSM8660 that will go into the market?

    I'd love for Brian or Anand to prove me wrong here with some kind of technical explanation, but until then I'll just assume it's Qualcomm being sneaky and trying to manipulate the public's opinion about their chips.
  • ndk - Tuesday, February 21, 2012 - link

    The article clearly mentions that MDP 8660 was running with governor settings at "performance". I can't imagine HTC or any other company shipping their products with this setting on.
  • Brian Klug - Tuesday, February 21, 2012 - link

    NDK is correct about governor being the reason, and I found that result interesting as well.

    It's clear to me at least that the governor settings on the Rezound are fairly conservative, and that even with a workload that's supposed to completely load both cores (mashing the multi-threaded test button in linpack pro), you never really get better that single threaded performance.

    -Brian
  • infra_red_dude - Tuesday, February 21, 2012 - link

    All the overlay customization by OEM and the power management code in the device kernel does have a detrimental effect on the device's performance.
  • phoenix_rizzen - Tuesday, February 21, 2012 - link

    Not to mention versions of Android. The MDP is running 4.0.3. What's the Rezound running?

Log in

Don't have an account? Sign up now