The Exynos 5 Octa and the State of Samsung SoCs
The Exynos 5 Octa supports only what is called cluster-migration. In this mode, only one cluster is active at any time. At idle, one A7 core is active and the other 7 remain offline. As single-threaded load increases, the system will switch to the A15 cluster. At that point, when threaded load increases – even very low load – the system will bring more A15 cores online. Limitations of ARM’s architecture exacerbate the efficiency problem of this mode. Each cluster operates on it’s own unified frequency plane. This means if one A15 core is online at maximum frequency, every additional bit of load will bring up another A15 core at maximum frequency – even if that additional load could have been accomplished by an A7 core at minimum frequency.
It appears that the Octa is limited to cluster-migration because of a hardware deficiency. Core-migration requires the use of a part called the Cache Coherent Interconnect (CCI). As the name suggests, the CCI provides a coherent cache across both big.LITTLE core clusters, allowing for a given process to seamlessly transition between both. HMP would ordinarily use this as well, but it can theoretically design around it. Unfortunately, those workarounds would almost certainly cost even more in power consumption. The Exynos 5 Octa includes a CCI, but it is disabled by default. XDA developer AndreiLux has found that it cannot be properly enabled either.
According to Samsung, there is no hardware problem at all and the company chose cluster-migration because it “show[s] increased performance/efficiency.” But the statement does not match up with most people’s understanding of ARM’s big.LITTLE architecture. Moreover, ARM demonstrated core-migration working on a pre-release version of the Octa. And Samsung’s released kernel source code for the Octa includes the drivers for core-migration. But that code does not work in the final release version of the Octa and Samsung has been coy in giving a straight answer. Based on this, Linus Torvalds wrote:“quite frankly, the fact that the Exynos 5 currently only works in ‘either or’ configuration almost certainly means that there is something fundamentally wrong with the hardware design, to the point where no amount of ‘complex patches’ can fix it.” While this certainly makes it seem that Samsung has done something wrong in the Octa, the chip is still entirely based on designs from ARM. Torvalds goes on to point out, he has “very little reason to believe that ARM engineers got their cache handling right. They’ve never done that before. They’ve had some of the crappiest caches on the planet.” So, it is very likely that the problem is not even inside Samsung’s control.
After releasing the mediocre Exynos 4 Quad and the disastrous Exynos 5 Dual, the Exynos 5 Octa was supposed to put Samsung back on track in SoC development. But the chip is shaping up to be another disappointment. It is included in a minority of Galaxy S4 devices globally and rumors at this point suggest that the Galaxy Note 3 will include a Snapdragon 800 SoC. Samsung had even been rumored to produce a mid-range Exynos 5 Quad (5210) in 2+2 ARM big.LITTLE configuration, but those plans appear to have been shelved. There is very little information about what Samsung plans to do next with the Exynos line at this point.
Moving forward, Samsung’s best hopes are two major advancements coming to ARM chips. The first is another manufacturing size drop. ARM chip fabricators are struggling to keep up with Intel. They are expected to skip the 20/22nm process in favor of the 16nm process in order to catch up to Intel’s recent push toward 14nm. As the process size decreases, SoC makers can squeeze more performance out of the same CPU architecture while using less power. The other advance is the ARMv8 instruction set and the Cortex-A50 series CPUs. This will bring ARM SoCs into the world of 64-bit processing and the new core architectures are significantly more powerful and efficient the A15 and A7. Fabricators do not expect to be ready to mass produce SoCs on 16nm until late 2014 at the earliest. This means that ARMv8 and Cortex-A50 will likely not hit mass production until early 2015.
Unfortunately for Samsung, the company has very few options for improving the Exynos line for the next 18 months. The company could follow Apple’s lead and start designing its own CPU architecture, but such a move would still require years of investment. There are even options for innovation beyond the designs from ARM as NVIDIA shows with the Tegra series. But the most likely outcome is likely to be Samsung devices with Snapdragon SoCs becoming more common.