Moto X Reviewby Brian Klug on August 26, 2013 1:30 PM EST
by Brian Klug & Anand Shimpi
I already touched on it, but inside Moto X is Motorola’s X8 Mobile Computing System, which consists of a 1.7 GHz Qualcomm Snapdragon S4 Pro MSM8960Pro SoC with two Krait 300 CPUs running at 1.7 GHz alongside Adreno 320 graphics. The two other parts are a TI MSP430 for sensor fusion and active display and a TI C55x DSP for voice activation. There’s a total of 8 “cores” in there, which is where the 8 in X8 comes from, but beyond that there’s no getting around the fact that there’s an 8960Pro inside the Moto X responsible for actually powering the OS.
The elephant in the room is of course the fact that Motorola has gone to great lengths to both avoid talking about the dual core SoC, but instead wants to talk about its “8-core system”, which is curious, since it simultaneously plays its dual core SoC choice as a strength. There was nothing wrong with 8960, it was a great SoC and appeared in countless flagship phones in 2012, and its respin with 8960Pro presents a number of good upgrades. Qualcomm’s 8960Pro includes Krait 300 instead of 200, bringing a jump in clocks from 1.5 to 1.7 GHz and higher IPC at the same time, and the Adreno 225 graphics are out and replaced with Adreno 320 which is considerably faster and OpenGL ES 3.0 compatible. 8960Pro is fine, but it’s an SoC just short of high end even by Qualcomm’s own roadmaps, even though the Moto X is positioned and priced at launch like a high end phone.
“Why would anyone pay $199 when they can get latest SoC-based gear for that much.”
That’s the question which was posed to me, rather eloquently, by another AnandTech editor. I found myself wondering the same thing when I heard the $199 on-contract pricing at the Moto X announcement. Given prior information about the Moto X including an 8960Pro, I assumed a different price point entirely than the usual, and still expect it to come down in price rather quickly. There’s obviously more to a device than just what silicon is inside, but this is the performance section after all. Trading off two CPU cores for integrated modem with 8960Pro does likely help Motorola to make a smaller device and spend less money on silicon, it’s ultimately a tradeoff.
If we look at SunSpider, Octane and Kraken, you wouldn’t be able to tell that the Moto X used a dual-core Krait 300 vs. a quad-core offering. In all three benchmarks the Moto X delivers performance similar to the quad-core HTC One and Samsung Galaxy S 4 (US model) despite having half the cores. The other two “cores” in the X8 system are dormant in these tests, so that’s not why the Moto X is so competitive. I also tried running Chrome on the SGS4 and still saw remarkably similar performance.
In our Nexus 7 review I pointed out that the SGS4’s 1.9GHz top frequency wasn’t consistently attainable. The end result was a smaller than expected difference in performance between its 1.9GHz Snapdragon 600 and the 1.5GHz Snapdragon 600 used in the Nexus 7. I wondered if something similar might be happening here with the Moto X.
To find out I profiled CPU frequency of each core on the Moto X and Galaxy S 4 while running Kraken and SunSpider:
Looking at the first core on the Moto X we see that it’s active almost all of the time, and almost always running at its top speed of 1.7GHz. The second core is also active but we see it regularly alternating between ~950MHz and 1.7GHz.
Now let’s look at the quad-core SGS4:
Max CPU frequency tops out at 1.9GHz, as it should, but it’s sustained for only a very short period of time. Instead we see the first core step down to 1.5GHz, then again to 1.25GHz before eventually settling down to around 1GHz. We see the same pattern on the SGS4’s second core.
Looking at the third and fourth cores we see why the first two cores are more frequency limited. There’s fairly regular use of the third core, which eats into the SoC’s overall TDP and seems to force clock speeds down of the first two cores. The fourth core gets less use but it also contributes to driving frequencies down across the board.
We see the same sort of behavior in SunSpider, with the Moto X regularly hitting 1.7GHz while the SGS4 has more active cores, running at lower overall frequencies.
The tradeoff is an interesting one. Single threaded performance tends to govern system responsiveness (at least within a given application) more than multithreaded performance. However, running one core at 1.7GHz will require a higher voltage than running four cores at closer to 1.2GHz. Depending on the workload, four cores running at lower frequencies/voltages could actually end up being more power efficient than running two cores at their max frequency/voltage.
I actually wonder if that might be why we see worse battery life on the Moto X in practice compared to the HTC One/SGS4. Heavier workloads that keep all four cores active, but not pegged, might actually run more efficiently on the quad-core Krait 300 platforms.
AndEBench includes a multithreaded component, which presents a different picture of the Moto X vs. the quad-core competition. In practice I find the Moto X’s performance is really quite good. Depending on your usage model you may or may not notice the difference between it and a quad-core offering because of the higher sustained one/two core frequencies. The downsides are potentially lower battery life as it typically takes a ton of voltage to run these cores at their max frequency, and the fact that Motorola doesn’t pass along any of the cost savings from going with a cheaper SoC/platform to the end user.