Tuesday, February 17, 2015

Cortex-A53 not as power efficient as Cortex-A7

Recent detailed technical review articles published by AnandTech based on a comparison of Samsung Exynos SoCs have elucidated some of the details about the performance of the Cortex-A53 core, including processing performance, power consumption and die size. Overall, it appears that while Cortex-A53 is significantly faster than Cortex-A7 at the same clock speed, die size and power consumption on an equivalent manufacturing process has increased by a greater amount, leading to lower performance/Watt.

Direct comparison of Cortex-A7 and Cortex-A53 on the same process

In a recently published technical review article about the ARM Cortex-A53, Cortex-A57 CPU cores and Mali-T760 GPU core, based Samsung's Exynos-based Galaxy Note 4 model, AnandTech has provided details about the performance, power consumption and die size of the 64-bit Cortex-A53 core relative the its 32-bit predecessor, Cortex-A7. It has done so by comparing measurements of the Cortex-A53 cores inside the Exynos 5433 used in the Note 4 with the Cortex-A7 cores inside the Exynos 5430 used in the Galaxy Alpha. Both SoCs are produced using a similar 20nm process at Samsung, making a direct comparison possible.

Cortex-A7 is an in-order pipeline CPU core with moderate performance but an extremely small die size and very low power consumption. The Cortex-A53 core has been designed by ARM as a logical extension of Cortex-A7 to ARM's 64-bit ARMv8 instruction set with higher performance. However, in doing so die size and power efficiency have suffered somewhat.

CPU performance increased in Cortex-A53

According to the designer of Cortex-A53 at ARM, Cortex-A53 increases SPECint-2000 performance from 0.35 SPEC/MHz to 0.50 SPEC/MHz when compared to the Cortex-A7 core. In Geekbench integer benchmarks, disregarding cryptography benchmarks which a show a large increase, performance is still about 50% higher for Cortex-A53 when compared to Cortex-A7 at the same clock speed, with the biggest gains coming with multi-threaded performance (aided by the increased memory performance).

For floating point benchmarks the performance increase reported by AnandTech is dramatic, with most benchmarks showing a two to three times performance increase. However, there seems to be a discrepancy between these benchmarks results and benchmark results available from the Geekbench results database for Cortex-A53 and Cortex-A7-based devices, showing ony a moderate floating point performance increase for Cortex-A53 over Cortex-A7. Most likely, AnandTech is erroneously reporting Cortex-A57 core floating performance in this case (this matches Geekbench results that I previously tabulated).

Memory performance benchmarks performed by AnandTech show a relative increase in latency for a Cortex-A53 cluster between transfer sizes of 256 KB and 512 KB when compared to a Cortex-A7 cluster, despite the fact that this should fit inside the 512 KB L2 cache. However, as I previously noted in earlier blog articles, the benchmarks show that memory bandwidth has significantly increased with Cortex-A53 when compared to Cortex-A7, virtually doubling. This most likely contributes to the Cortex-A53 core's greater multi-threading performance in practice.

Power consumption of Cortex-A7 greatly reduced with Samsung's 20 nm process

AnandTech has published a detailed chart showing estimates for power consumption of the previous generation 32-bit Cortex-A7 and Cortex-A15 cores on both 20 nm and 28 nm processes at Samsung, based on Samsung's Exynos 5422 (28 nm) and Exynos 5430 (20 nm) SoCs.

While the high-performance Cortex-A15 cores are seeing a power reduction of about 25%, power consumption of the Cortex-A7 cores sees a significant 40% reduction with a 56% reduction at the highest CPU frequency of 1300 MHz. This can be partly explained by Samsung optimizing the Cortex-A7 cores inside Exynos 5430 for low power consumption using ARM's POP IP optimization platform.

Ironically, the excellent power characteristics of the Cortex-A7 at the latest processes such as Samsung's 20 nm process have not been taken advantage of in the market except in Samsung's Exynos big.LITTLE 5430, since Cortex-A7 adoption is mostly limited to 40 and 28 nm and all announced 20 nm SoCs use Cortex-A57 and Cortex-A53 cores. There seems to be an opportunity for ultra-efficient 20 nm Cortex-A7-based SoCs for certain product segments, while there is also a significant opportunity for 20 nm Cortex-A53-only SoCs that should be more power efficient than their 28 nm equivalents.

One could envision a hypothetical octa-core Cortex-A7-based SoC manufactured on TSMC's 20nm HPM process delivering spectacular performance/Watt, with relatively high clock speeds being possible. AnandTech's article notes that TSMC's 28nm and 20 nm HPM processes are most likely significantly more efficient than Samsung's equivalent process technology because they allow CPUs to operate at lower voltage level. A similar argument applies to Cortex-A53-based SoCs manufactured at 20 nm, albeit with lower performance/Watt.

In terms of die size, AnandTech reports a significant reduction of 45% for the the Cortex-A7 cores and 64% for the Cortex-A15 cores in the 20 nm Exynos 5430 vs 28 nm Exynos 5422.

Cortex-A53 has significantly greater power consumption than Cortex-A7

AnandTech has published a detailed chart with power consumption characteristics of the Cortex-A53 cores inside Samsung's Exynos 5433 manufactured at 20nm. In their analysis, AnandTech notes a relatively large increase in power consumption when utilizing multiple Cortex-A53 cores at their highest frequency (1300 MHz on Exynos 5433), when compared to running at 1.0 GHz. This correlates with a voltage bump when going from 1.0 to 1.3 GHz.

Based on this analysis, the article concludes the power consumption is more than twice as large for Cortex-A53 when compared to Cortex-A7 at an equivalent clock speed of 1300 MHz at a similar manufacturing process (Samsung's 20nm process). Although the Cortex-A53 core's CPU performance is greater, it is not twice as great leading to clearly lower performance/Watt for Cortex-A53 when compared to Cortex-A7.

It is possible that the chip errata (hardware bugs) in earlier revisions of Cortex-A53 that I mentioned in previous articles play a role in reducing the measured performance and power efficiency of Cortex-A53. Exynos 5433 uses Cortex-A53r0p1, which is affected by this. The chip errata require more frequent cache flushing as a work-around, which can potentially affect performance as well as power consumption. The non-optimal state of big.LITTLE kernel scheduling code may exacerbate these problems. There is potential for later revisions of Cortex-A53 such as r0p3 to deliver higher efficiency because they are not affected by these hardware problems. Chips with Cortex-A53 revision r0p3 have not yet appeared on the market.

Chip-specific core optimizations makes comparisons more difficult

It should be noted that specific optimization of the processor cores for a particular higher clock frequency target (e.g. in chip like MediaTek's MT6752 and MT6795) or low power consumption at lower clock frequency (for example, in a big.LITTLE configuration), using ARM's POP core hardening technology, has the potential skew the comparison between different chips. MediaTek's MT6752 has already been reported to have acceptable power consumption while running at relatively high maximum clock frequency, which would otherwise be incompatible with the steep rise in power consumption for clock speeds above 1.2 GHz observed in the charts for the Samsung chips.

Die size of Cortex-A53 increased compared to Cortex-A7

The die size of Cortex-A53 cores when compared to Cortex-A7 in Samsung's chips is about 1.75 times greater according to AnandTech, although it is still below one square millimeter, which is still low for a CPU. When looking at the total cluster size, which includes the L2 cache (the same amount of 512 KB for Cortex-A53 and Cortex-A7), the die size of the cluster is 1.38 times greater. The larger die size has consequences for cost-sensitive SoCs for low-end mobile devices and IoT applications, for which Cortex-A7 remains more attractive. Cortex-A7 can also be employed as an embedded CPU in a functional block such as a baseband processor,  just like Cortex-A5 is frequently used.

Consequences for mobile SoCs

The higher performance of Cortex-A53 when compared to Cortex-A7, especially memory bandwidth, makes high-clocked multi-core Cortex-A53-based SoCs suitable for mid-range performance segments. Examples of this are MediaTek's MT6752 and Qualcomm's Snapdragon 615 SoC. These SoCs also have higher GPU performance than that traditionally associated with Cortex-A7-based SoCs.

The increased power consumption and die size of Cortex-A53 causes Cortex-A7 to remain relevant, because it still delivers superior power efficiency, cost and die size, and consequently performance/Watt and performance/dollar are better than Cortex-A53. Hypothetically, a 20nm octa-core Cortex-A7 based SoC would deliver excellent power efficiency with quite acceptable performance due to higher clock speeds, and their may be a market for such a solution for smartphones. The main drawback would be that OS ecosystems such as Android are moving towards 64-bit implementations and can also make use of new cryptography instructions in ARMv8.

Sources: AnandTech (technical Exynos Galaxy 4 Note review)

Updated 1 March 2015 (Add section about core-hardening).

No comments: