Around a few weeks before the launch of the Xiaomi Mi Note Pro, I was digging through kernel source to understand Snapdragon 810 and some other Qualcomm SoCs. We had kept track of MSM8994v1 and MSM8994v2, which were relatively well understood in terms of what they represented. V1 was an engineering sample variant, which was discussed as early as September in 2014. This variant set both the A57 and A53 clusters to a ~1 GHz maximum. V2 was the first mass production revision, which was present in both the LG G Flex 2, and HTC One M9. However, shortly before the launch of the Mi Note Pro, we noted references to v2.1 in various kernel source trees.

Immediately diving into the issue, what I found was that there wasn’t much of note about v2.1 other than a change to the chip ID and other identifying information, so any formal information on the changes between these revisions is scarce. Meanwhile phones that definitely didn’t have this variant of the SoC still had references to it in kernel source, which only made it all the harder to even identify v2.1 devices in the first place. Ultimately the only way to truly verify whether a device has a certain revision of an SoC is to either see whether the file is included in the compilation process or to verify the revision by checking the device itself.

Our big break came with the release of the Xiaomi Mi Note Pro, which was among the first (if not the first) devices to incorporate a v2.1 SoC. After getting our hands on a sample of the Mi Note Pro, we were finally able to start piecing together everything in order to really understand what was going on with this new variant.

The first and most obvious change in v2.1 is a mild increase in GPU clocks from 600 to 630 MHz. This represents around a 5% increase in performance, which helps to close the gap with the 772-700 MHz Mali T760MP8 graphics processor used in the Exynos 7420 of the Samsung Galaxy S6. This is fairly obvious to anyone that runs a graphics benchmark on this new variant, although this is a best-case improvement as inefficiencies elsewhere can erode the difference.

The other differences are far more subtle. The first is that there’s noticeably less throttling on the A57 cluster compared to Snapdragon 810 v2. However even with that change - and unlike the Snapdragon 808 and competing SoCs - both variants of the Snapdragon 810 still see the unfortunate characteristic of ultimately forcing all threads off of the A57 cluster to stay within TDP limits in high load conditions, such as when running Basemark OS II’s battery test.

The second difference requires testing peak CPU bandwidth and latency between L1, L2, and main memory, which required digging into our in-house benchmark tools. In the interest of seeing 810's maximum memory bandwidth, we put together a memory multithreaded memory benchmark that runs on multiple CPU cores, and combines read and write bandwidth to try and get as close as possible to maximum bandwidth available. The figures that we present here will represent a scenario where two threads, one reading and one writing will load the memory system simultaneously. This is done to try to saturate the main memory controller and to circumvent some of the quirks of ARM's bus architecture, which has dedicated read and write ports, leading to only half the total possible bandwidth in each direction.

We’ve also tested against multiple other applications such as Rahul Garg’s RgBandwidth and RamBench to verify these observations. We also checked with instrumented runs that the CPU, memory controller, and CCI interconnect were all running at appropriate frequencies so these results should be largely unaffected by the governor due to the 100% duty cycle of the load during the test.

The graphs above are interesting, but they don’t really illustrate the relative difference between v2 and v2.1. To better show this, the graphs below represent the percent difference between the HTC One M9 and Xiaomi Mi Note Pro in this test, where positive values are an advantage in favor of Mi Note Pro, while negative values represent an advantage in favor of the One M9.

From the calculations, memory latency improves on an average of 15%, but this is mostly concentrated in the L1/L2 cache portion of the test, while the differences in DRAM are relatively small. If we change the scaling to show less of main memory, we can see that most of the variance is present in that portion of the test. Given that we’re looking at time on the order of nanoseconds, I wouldn’t think too hard about these differences either. The only interesting thing to note in the latency test is that the “memory mountain” model is still valid, where we can expect about an order of magnitude increase in latency for each level of cache that we miss, where L1 appears to take about 5 cycles at 2 GHz, then around 15 cycles for L2, then around 600-700 cycles for main memory. (To put that into comparison for PC CPUs, L3 cache usually hits up to 70 cycles and up to 150 cycles for Intel's CrystalWell eDRAM before the jump out to main memory.)

The memory bandwidth values are really much more interesting though, as there’s a consistent improvement in bandwidth across the board. There is some interesting behavior around L1 cache, but this is likely due to the previously mentioned ramp time for frequency scaling. If we just look beyond L2, into the main memory, the result is that there’s around a 33% increase in bandwidth, and a 38% average increase if we look at the entire sweep through memory.

Overall, for a 0.1 revision, Snapdragon 810 v2.1 is a pretty significant change where memory is concerned. We also see some improvements in terms of thermal management, but we yet have to fully characterize just how much this improvement is and if it's enough to be able to compete with Samsung's 14nm silicon in the Galaxy S6.

Meanwhile there were rumors floating around of a new revision due to show up in the summer, and it appears that this is the rumored revision. This leads me to question whether it made sense to release devices with the v2 revision, especially if future revisions would have resolved some notable issues and dramatically improved SoC performance. I also question whether OEMs would silently introduce these SoCs into later production runs of products that first shipped with v2, which is yet another can of worms.

Putting these questions aside, this new revision brings much-needed improvements to the Snapdragon 810, and should go a long way as a stop-gap until Snapdragon 820 begins shipping. We'll see how the change from v2 to v2.1 affects performance on a higher level in our Xiaomi Mi Note Pro review coming shortly.

Comments Locked

84 Comments

View All Comments

  • tipoo - Thursday, June 18, 2015 - link

    So they're spreading heat through the SoC by selecting which cores to use? That's kind of interesting I guess, I wonder how big a difference that makes. If it did make a big one though, you'd think the big phone makers would be doing it?
  • PhytochromeFr - Friday, June 19, 2015 - link

    without solve its A57 core's power consumption issue, it can't help so much. 810's issue caused by its A57 core's insanely high power consumtion.
  • max1001 - Friday, June 19, 2015 - link

    Price will be higher, at least $50. They already confirmed this on a followup blog post.
    "The 810 is much more powerful than its younger counterpart, the 801, and is a much more expensive component. We’re paying more for the 810 than we ever have for the 801. In fact, the cost is almost 60% higher, and we’re not getting any discount. We can tell you now that the price of the 2 will certainly be higher than $322. But, the 810 is a top-of-the-line processor, and it’s what the OnePlus 2 deserves. Our Snapdragon 810 chipset runs the same eight cores for stability, but at 1.8 GHz for cooler temperatures. We’ve taken precautions to make sure none of our users have to settle."
  • Bob Todd - Friday, June 19, 2015 - link

    I'd be fine with $400 too. The original One is still a stupid good deal at the now discounted price of $300 for the 64GB model. The fact that the Zenfone 2 only has half the battery life makes it a non-starter for me (not to mention worse screen etc.). I'm hoping the 2015 Nexus 5 revision rumors are true as well. I still prefer stock and speedy updates, so slap a Snapdragon 808 in there with a good fingerprint sensor and I might pick up one of those over the OnePlus Two.
  • tuxRoller - Wednesday, July 1, 2015 - link

    Always love the "proprietary" tech marketing.
    Them's quality for sure, if you can't examine it!
  • testbug00 - Thursday, June 18, 2015 - link

    Most tasks only fire up the A57 cores rarely. Video recording, higher end games, benchmarks, and, err. I'm failing to think of a 4th task that needs the A57 cores for more than a few seconds.
  • nikaldro - Friday, June 19, 2015 - link

    Try listening to music + browsing + running multiple downloads from different sources, wich is not uncommon.
  • testbug00 - Friday, June 19, 2015 - link

    The first two, sure. Along with the third? Not very often for majority of users. And, web browsing typically --> open browser (A57 launches, renders homepage, moves to A53 core) --> search, A57 renders, switch to A53, etc. music is not CPU intensive... Why bother saying. I'm unsure how much CPU power downloading stuff takes, I can browse and DL stuff smooth on Moto G 1st gen, so, yeah. 4xA7 cores...
  • Freaky_Angelus - Friday, June 19, 2015 - link

    Well, from my usage experience, the A57's are used way too often.

    I only have a few programs that should ever touch the A57 and I'm eagerly awaiting Android M and beyond on these issues. The latest update on the M9 already reduced the intensity and directly resulted in less drain. You're however completely right on what should use it ;)
  • nikaldro - Saturday, June 20, 2015 - link

    Ok.
    Listening to music, very common.
    Doing it while playing a game, also common.
    Updating/downloading an app/multiple apps from google play in background, pretty common too.
    Let's say that the game sparks up 2 A57 cores and the GPU, while the other tasks fire up the whole A53 cluster, we're already at almost full load.
    Now, let's look at power users, who do this WHILE downloading a video from tubemate AND a video from the browser, plus the music EQ app in background.
    If you REALLY use a phone, it isn't hard to max it out.

Log in

Don't have an account? Sign up now