ARM processors are based on RISC(Reduced Instruction Set Computing)Architecture.This architecture contains less number of instruction sets as compared to CISC(Complex Instruction Set Computing) Architecture,which is basically forms the base of x86 processors. The approach of using RISC architecture also reduce heat and power use.Hence it is used in smartphones,tablets,etc.
with the evolution of smartphones,the demand for compute performance had increased.These devices need to service more smarter and complex instruction such as voice and gesture control,Gaming and user complexity has also increased.
High performance require fast CPUs which in turn can be difficult to fit in a mobile or thermal budget.At the same time, battery technology has not evolved as fast as CPU technology has evolved.Therefore,today we are in the situation that smartphones requires high performance but same battery power.The next generation smartphones are guided by following factors
- High performance end: high compute with thermal bounds
- Low performance end: very low power consumption
Hence ,these requirement is addressed by ARM big.Little technology.
ARM brought heterogeneous computing to its mobile SoCs with its big.Little Architecture.ARM big.Little combines high performance big CPUs with energy efficient Little CPUs on a same SoCs to reduce power consumption(to preserve battery life) still delivering the same performance.Since both the CPUs are based on same architecture,workloads can be allocated on demand to suit performance needs.High intensive tasks such as Gaming can be handled by big CPU,while sending email and audio playback can be handled by Little CPUs.
This consist of same architecture but with different micro-architectures.The first pair of big.Little consist of ARM Cortex A-15 and A-7 processors.Since both the processor based on same ARM V7-A ISA,the same instruction or program can run in a consistent manner.Differences in their micro-architecture allow them to provide different power and performance characteristics,which forms the concept of big.Little Technology.
There are two major software models to use heterogeneous computing with ARM big.Little Architecture
- CPU Migration
In this model,each big core is equipped with Little core.Only one core in each pair is active at any one time,with inactive core is being powered down.The active core in the pair is chosen according to load conditions.Each logical processor can be big or Little processor and this choice is driven by Dynamic Voltage and Frequency Scaling(DVFS).This model requires same number of processors in both the clusters.
- Global Task Scheduling
In this model,the scheduler is aware of the differences in compute capability capacity between both big and Little cores.scheduler tracks the performance requirement of each of the threads and information to decide which type of processor to be used for thread.Also this Global Task Scheduling is a Flexible model which can be considered in the terms of future development.Hence ARM’s implementation of Global task scheduling also referred as big.Little MP.
Advantages of Global Task Scheduling over CPU Migration
- The system can have different numbers of big and LITTLE cores.
- Any number of cores may be active at any one time. When peak performance is required the system can deploy all cores. With CPU Migration only half of the cores may be active at any one time.
- It is possible to isolate the big cluster for the exclusive use of intensive threads, whilst light threads run on the LITTLE cluster . With CPU Migration, all the threads in a processor transfer together. This allows heavy compute tasks to complete faster, as there are no additional background threads.
- It is possible to target interrupts individually to big or LITTLE cores. The CPU Migration model assumes all context, including interrupt targeting, migrates between big and LITTLE processors.
The ARM big.LITTLE MP solution uses a number of software thread affinity management techniques to determine when to migrate a task between big and LITTLE processors: fork migration, wake migration, forced migration, idle-pull migration and offload migration.These migration techniques used to balance the workloads according to the tasks whether it is compute intensive or not.
Consider an example of snapdragon 615 processors consisting of octa core processor,in which ARM A-53 1.7GHz Quad core + A-53 1GHz Quad core is used which is the result of big.Little Technology.Hence this technology is also implemented in HTC one M9,LG G Flex 2,OnePlus 2,LG G4 and many more.
ARM big.Little MP technology has been well qualified with Android on multiple silicon implementations.The code is self contained and easily available to the vendor stack.Also,code doesn’t require any modifications and tuning.The only requirement platform board must be well tuned with the DVFS(Dynamic Voltage and Frequency Scaling) and scheduler management to get their job done easily.