The Huawei Mate S Reviewby Andrei Frumusanu on December 2, 2015 8:00 AM EST
CPU Power Consumption
While usually I'd jump over immediately to our battery benchmark scores after putting into context the device's screen power consumption, this time I wanted to take some time to expose and answer some of the unanswered questions in regards to the Kirin 93X's power behaviour. In the review of the P8 I noticed that there was an extremely unusual jump in power consumption when going from idle to full load of one CPU core. I was a bit perplexed by this but ended up blaming it on leakage of the SoC and non-CPU cluster such as maybe the L2.
For the Mate S I went ahead to root it and characterize the power curves. Again, I'd like to mention that this is done via the internal fuel-gauge so the numbers are not as accurate as the figures we published in other deep dives where I measure it externally via a precision energy meter. The little cluster figures in particular should be taken with a grain of salt as the lower frequencies are affected by margin of error of the measurement method.
As long as we're still comparing apples-to-apples, we can see that the Kirin 935 of the Mate S unit we have already manages to shave off some power in comparison to the Kirin 930 in the P8. For four cores, at 2.0GHz, the 935 comes in at 2.81W while the 930 used up 3.28W in the same test and measurement conditions. Especially the single-core values represent a large difference as the Mate S reached 919mW while the P8 used up 1571mW. This made absolutely no sense as it looks like the incremental power difference with core-count between the two SoCs seems to be roughly the same, about ~600mW at 2.0GHz.
It was when I saw the extremely unusual power behaviour of the 4-core little core test that I realized that there's something fishy going on. I eliminated the possibility that one of the cores had substantially higher leakage than the others by cycling through the cores and measuring each's power consumption. I finally closed in on the DVFS mechanism of the DRAM and memory controller:
I noticed that whenever the CPU frequency on the fast cluster would reach 1.8GHz, the system would put a minimum DVFS floor on the memory speed and lock it at 667MHz, and over 2.0GHz at 800MHz. I tried to see if manually putting a frequency lock on the memory controller would increase power, and, surprisingly, it did. The SoC usually idles with the memory controller at 120MHz and this is the base frequency with which most of the "base power" figures were measured with. We can see a slight increase of 32mW when increasing it to 400MHz, nothing too much out of the oridinary there. It's when reaching 667MHz and higher that I noticed a extremely large increase in power of 260-315mW. This is quite a shocking discovery as normally you'd expect the power penalty for increasing memory controller speed in idle scenarios to be very small; at least that's how other SoCs behave.
Before further discussing the memory controller / DRAM implications, it would be interesting to subtract this power delta from the CPU power curves:
And indeed, the curves now look much saner and no longer have the sudden jump at 1.8GHz. While not quite as clean towards the lower frequencies, the 4-core little CPU figures also look much more in line with what we would expect.
Due to the fact that the increasd power consumption is triggered anytime the fast cluster reaches 1.8GHz, it means that this represents a quite common occurence in the real-world. Other SoCs such as Exynos' or Snapdragons also have Quality-of-Service binding mechanisms that put a minimum floor on memory speed, but they never exhibited this power characteristic as they should have extensive hardware-arbitrated clock- and power-gating on the memory controllers. I reached out to HiSilicon and they explained that the observed behaviour is not due to some gating issue, but due to the design of the clocking architecture of the memory controllers, in particular on how the PLLs (phase-locked loop) clock generators behave when reaching the 667 and 800MHz frequency states.
Unfortunately this design of the memory controller / DRAM raises some big questions in regards to power efficiency of the whole SoC. A ~315mW overhead such as this could easily outshadow actual 1-core power consumption in every-day scenarios. HiSilicon also explained that the new design of the DRAM and PHY controllers of the upcoming Kirin 950 will not exhibit the same issue and increases in power consumption due to higher frequencies will be not noticeable.
Having gone a bit more in-depth of the power behaviour of the SoC of the Mate S, we can hopefully go into the battery benchmark numbers with a little bit more context as to why they end up with such numbers. As a reminder, the Mate S sports a 2700mAh (10.39 Whr) battery which is relatively smaller than average for a 5.5" device.
Starting with our web-browsing WiFi test we see the Mate S end up at 7.6h. Here we see the low power efficiency of the AMOLED screen affecting the device's battery life as web-sites are relatively high APL content and thus the almost 2x efficiency deficit over LCD screens is easily noticeable. Even though both devices sport a similar SoC, the P8 ends up almost an hour ahead of the Mate S.
On the 4G test, I again have to remark that my testing conditions differ from our other mobile editors' and have to make due with relatively weak ~-96dBm LTE signals, increasing the power consumption of the RF system and making this a rather bad comparison between devices. Still, it's odd to see that the Mate S actually behaves better than the P8, as they're both tested under the same conditions. It may be that Huawei improved on the RF backend for the Mate S.
PCMark is a more balanced system benchmark that is not affected by the performance of the WiFi or cellular efficiency of the devices. Here the Mate S ends up with 6.2h runtime putting it in the middle-ground among other flagships.
BaseMark OS II is a CPU stress test that is mostly TDP limited. Here the Kirin 930 manages to stay below other devices in terms of maximum power consumption, allowing it to achieve a runtime of 3.51h.
Of course we need to take account both the runtime and the amount of work done in the benchmark. Unfortunately while the 3.51h runtime is adequate, the A53 cores aren't performant enough to achieve a overall higher score which basically determines the overall productivity (efficiency) of the device.
The Mate S behaves quite well in the GFXBench rundown, but only because it performs at much lower levels due to the thermal throttling that we indentified earlier in the GPU section. Here the AMOLED screen definitely helps the battery life of the phone as the T-Rex test is a rather low average picture level game benchmark.
An issue I brought up in our review of the P8 was that the review unit I received never came with the promised 10W charger that was mentioned during the initial device presentation, leading to the device having very slow charging behaviour no matter what charger I connected it to.
The Mate S fixes this issue as it does come with a 5V 2A default charger included. As seem in the charge graph, the battery cell gets charged at up to 7W in its fast-charging phase until it reases about 85% total charge. In half an hour the device is able to fill up to around 40% of charge, making this a quite reasonable charge rate.