MediaTek’s Helio X20 processor is a revelation. Here’s how

article_748806921_HX20_1

Yes, you read that right. MediaTek has shown a new processor named Helio X20 and it is a deca-core (10 cores) processor in which all the cores have been arranged in three clusters. One cluster consist of two Cortex A72 cores clocked at 2.5GHz for maximum performance, one cluster of four Cortex A53 cores clocked at 2.0GHz for balanced power and efficiency while the third cluster has four Cortex A53 cores clocked at 1.4GHz that aim for maximum power efficiency. Then there is a single Cortex M4 core also thrown in for handling ultra low-power activities and handling sensor-related activities, something on the same lines as Apple’s M8 motion co-processor. There are a lot more details that you can go through, though not much may make sense to you if you are not a tech geek.

Keeping all the tough (read technical) talk aside, what this has brought us to is talk about the rage about the question as to how many cores are too much. We do not answer this question by simply discussing about where processor technology is going to head as there are already processors on the market that have more than 10 cores. Mobile processor technology is improving as a by-product of improvement in PC processor technology where already 61 core processors (Intel Xeon Phi for laymen) are under development. But then Xeon Phi processors are basically meant for servers and not personal computers as such. Keeping that in mind, we will discuss about the benefits and disadvantages of multi-core processors:

Advantages

Improved performance

Multi-core processors benefit from performance gains due to certain factors. First, as opposed to two or more separate CPUs acting as a single unit, multi-core processors performance gains come in the form of reduced circuitry. Due to the reduced circuitry, it becomes possible for the processor to run at higher clock speeds as compared to a setup where two or more separate processors have been combined. The simple logic behind this is reduced circuitry leads to reduced losses in transmission of signals and hence, data. Hence, more data can be transferred back and forth with much more ease on a multi-core processor than a setup that just combines two or more processors.

Increased efficiency

However, travelling less distance is just one part of the equation. The other part of this equation is increased efficiency. Data is accessed either from the main memory or from local data caches on a processor. Accessing data from main memory is slow and from local caches, it is a faster process, the primary reason for maintaining local caches. Data has cache lines in either of the four different states – Dirty, Valid, Invalid or Shared. Accessing data leads to loading of cache lines. Reading the lines does not alter the state, however, writing it changes the state of cache lines. Once it is changed, i.e. written, the read request is broadcast over the communication system between the components (Bus is the technical term). If one of the local caches has cached the address and the line is in the “Dirty” state, it is then changed to “Valid”. A technique called Bus Snooping is used to ensure that no other local cache has the cache line in “Valid” state. This is akin to a race in which the first person to cross the finish line wins and the rest are told to stop then and there.

In simpler terms, by ensuring that your data is not being altered again and again by other processor cores than the one altering it while it is being written makes the entire process more efficient.

Tight, compact packaging

Since there are multiple cores on a single die, it leads to compact packaging as the whole unit can physically fit into the package that was meant for one chip only. Due to this, the cores share some circuitry too, ensuring the design of the multi-core CPU has less risk of errors than coupling up single-core processors which will use up more space, circuitry and will face higher design error risks. Due to this reason, any task that needs to be accomplished by a unit off chip can be get done by utilising less power than combined single-core units. This is one of the factors why multi-core processors became widespread in the smartphone market.

Disadvantages   

Optimisations required for both hardware and software

In theoretical terms, multiple-core processors should help in doling out better performance. However, a big role is played the Operating System (OS) and applications that will be used on the OS. If the OS is unable to utilise the available resources to the maximum, the benefits of multi-core processors stand nullified. With OS optimisation also comes optimisation of applications as most of them today use multiple threads. How those threads are taken care of is also important. This is the reason why despite sporting superior specs, Android OS-based devices still lag behind iPhones in real-world performance.

Lower production yields

When chip makers produced single-core processors, they were able to produce more units for the same cost as multi-core processors. However, this problem was overcome by Intel which combined two dual-core units into a quad-core processor. By doing so, it unified the caches of the dual-core processor into one. Since dual-core units could be put together to make a quad-core processor and like, production yields no longer remained as big an issue as they used to be. An example of this implementation can be seen from MediaTek’s tri-cluster arrangement of Helio X20, which it has been able make by combining two quad-core units with a dual-core one.

Thermal management is still an issue

While production yield issue has been nearly resolved, the issue of thermal efficiency has yet to see a solution. Multi-core processors are dense in the way they are arranged as it is more cores on one die than having one die for each core. The real reason for smartphone is heating up when they are under intensive use in this particular factor. In comparison, the single-core designs help in dissipating heat better as they are stacked up in any sort of tight arrangement. Take it as trying to cool a cloth under a fan while it lies on a hot pan versus keeping the hot pan and cloth separately under the fan. Which method will cool both things faster is anyone’s guess.

Shared circuitry limits performance

This part again asks for explaining more than one thing, so please bear with us. As is known, processing power is not the only constraint on better system performance. In a multi-core processor, the sharing of resources like system bus and memory bandwidth limits the real-world advantage of such a system. Perhaps this will be able to explain things better: One person driving his/her car on a racetrack as the only one doing so would be able to drive the way he/she wants as defined by the rules of the racetrack. If another driver is thrown into the mix, the freedom of the earlier driver will be curtailed to an extent. Thrown in a few more drivers and lot of restriction is faced by each driver on the track. Similarly, a single-core processor having its dedicated memory bandwidth and system bus will be able to use the resources much better than a multi-core processor sharing all these resources. Some may make arguments that are contrary to this, like multi-core processors have overcome such hurdles. These arguments bring us to the first disadvantage we mentioned – if a task can not be assigned parallel-ey to other cores, then having a multi-core setup is pretty much useless, due to which OS and application optimisation is sorely needed. If other factors like communication between cores limits the performance, then a dual-core CPU will offer performance advantage over single-core units.

Verdict

The advantages of a multi-core processor lies not in its clock speed and ability to handle multiple tasks but also on the operating system to be able to make use of whatever is available at its disposal. In such a light, a phone running Android OS will not be able to take much advantage of a processor like Helio X20, even though it is a technological powerhouse in its own right. This also explains just why Qualcomm took so much time in coming out with either a hexa-core or an octa-core processor. It also helps in explaining why most of the Windows OS-based devices and BlackBerry smartphones are not really spec sheet hulks. As much as it is a wake-up call for other chip makers to start thinking out of the box, it is also a call to device makers to optimise the OS with the kind of components they use in their smartphones.

This story has appeared on http://www.priceraja.com on May 14, 2015.

Leave a comment