ARM Technologies and its significance in Embedded Domain
The ARM architecture, also known as the big.LITTLE design architecture, is a heterogeneous multi-processing system that uses more than one processor core and offers multiple software architectures like HMP, SMP and AMP architecture based designs.
We encounter many embedded systems every day in our life, starting from smartphones and tablets to computers, Medical devices and other electronic gadgets which provide high computing capability. These electronic systems need to handle diverse compute requirements, and diverse workloads and are not industry-specific; they span across several markets.
In the 1980s, Acorn Computers developed the first ARM processor at Cambridge University, England for commercial purposes. These ARM processors were further enhanced to provide high-performance and efficient power management without disrupting the system’s overall efficiency.
What is ARM?
Microprocessors are astounding devices. They integrate the brain of a computer onto a single electronic component. The computing power that once required a room full of equipment now fits onto a razor-thin slice of silicon. Due to their compact size, microprocessors are now widely used in the silicon industry to design electronics products with the processor as the core of the system.
Processors are categorized based on their internal architecture. The two most popular architectures are:
- CISC (Complex Instruction set computing)
- RISC (Reduced Instruction set computing)
CISC stands for Complex Instruction Set Computer is a CPU design strategy that uses a minimal number of instructions per program, forfeiting the number of cycles per instruction. For example, load data from the memory, perform an arithmetic operation, and store data back in the memory are the instructions of a single program that are performed in one single step. This is used in laptops, PCs, etc to execute heavy graphics for games, perform complex mathematical computation, etc. RISC (Reduced Instruction Set Computer) is a CPU design strategy where few basic operations are divided into a small set of instructions within a single CLK cycle, enabling it to operate at higher speeds. For example, load command only loads the data, and store command only stores the data.
Based on the application each of these architectures has its advantages.
ARM (Advanced RISC Machines) is a popular RISC architecture, which is a ubiquitous name in the processor industry. Because of its reduced instruction set, and fewer transistors, it is widely used in modern devices that need high computing capability with power efficiency.
ARM is the heart of advanced digital products like routers, printers, smartphones, tablets, digital cameras, medical devices, robots, home appliances, wireless communication technologies, and many more.
While choosing a processor, the application that one intends to implement forms a major factor in the decision. Many applications require processors that are highly power-efficient and with high compute capability, e.g. smartphones and tablets. These applications are most often based on battery-operated devices. As the battery technologies have not kept pace with processor technology, there is an impetus to produce different types of processors that are power efficient to overcome the lag in the battery technologies.
This requirement of efficient power management has led to the evolution of the concept of big.Little Design, a combination of power-efficient operation and yet having the significant computational capability. Processors with ARM architectures are constructed with cores that share the same instruction sets but have micro-architectures that are optimized for either power or performance-related requirements. The ARM architecture, also known as the big.LITTLE design, is a heterogeneous multi-processing system that uses more than one processor core. The “big” processor cores are used to render higher levels of performance within the thermal design boundaries, while the LITTLE processor cores are used to achieve power efficiency.
Let’s consider ARM Cortex-A9 as an example.
ARM Cortex-A9 is a 32-bit multi-core processor which is based on the big.LITTLE design providing four cache-coherent cores. The multi-core processor is built to deliver unprecedented heterogeneous multi-processing capability along with low power consumption that enables products in a wide range of new and existing ARM markets ranging from mobile computing, high-end digital home entertainment, automotive infotainment, in-flight entertainment, servers, and wireless infrastructure among others.
Cortex-A9 is one of ARM’s most widely deployed applications processors, which makes it suitable for low-power, cost-sensitive, 32-bit devices that require competitive performance. The introduction of the big.LITTLE design by ARM provided the industry with a breakthrough in power to performance ratio, which was lacking in the general Processor Silicon industry. The big.LITTLE design enables the creation of devices at every level and allows these devices and applications to work robustly and efficiently and at the same time provide significant performance.
Types of Software architectures
- Heterogeneous Multi processing – HMP architecture based Designs
The most powerful and complex system model for the big.Little Design is the Heterogeneous Multi-Processing (HMP). HMP architecture based Designs combine several different types of multicore processors, which enables the use of all physical cores at the same time. In HMP architecture based Designs, different processing elements perform different types of functions simultaneously. Threads with high priority or computational intensity can, in this case, be allocated to the “big” cores while threads with less priority or less computational intensity, such as background tasks, can be performed by the “LITTLE” cores. One of the best example of HMP architecture based Designs are wearable devices like a smartwatch with rich GUI.
- Symmetric Multiprocessing – SMP architecture based Designs
Current multi-core processor technology has multiple instances of processing cores within a single device. These cores are tied to a single memory and internal system management. When you have a program to execute, the processor divides and shares the threads among all processors to work in tandem and provides Symmetric Multi-processing.
With SMP architecture based Designs, the throughput of the system is increased. Also, programming and executing the codes in SMP architecture based Designs are comparatively simple because the program can be divided into multiple threads and any thread can run on any processor core and achieve approximately the same performance.
- Asymmetric Multiprocessing – AMP architecture based Designs
Asymmetric Multiprocessing (AMP) is a contrast of Symmetric Multiprocessing. In AMP architecture based Designs, there is a single master processor that hosts the OS and controls all the tasks. In other words, AMP architecture based Designs has a master-slave relationship, where a master processor allocates the thread to all the slaves’ processors and controls the I/O processing and other system activities.
In the case of AMP architecture based Designs, the processors are not treated equally, as the task handled by each processor is different and takes its own time to execute. For instance, a processor may handle only I/O related operations whereas other processors may handle only OS codes.
Why ARM Technology and processors got popular?
ARM Holding is a leading company that was found in the 1990s. It offers a family of reduced instruction set computer (RISC) architecture which is designed specifically to form the cores of processors. This core design is licensed to silicon companies who can incorporate the processor core in their IC design in an efficient, affordable and secure way.
ARM architecture enables the creation of devices for all types of applications, with a complete toolkit and a strong global ecosystem for support. It provides a set of rules to the silicon companies which describe how the hardware works when an instruction is executed. The ARM architecture is used on CPUs to run applications software, with platform security machine to secure trillions of connected devices, and embedded systems, and thereby help the ecosystem to design secure and efficient systems as easily as possible.
ARM’s comprehensive product offering includes 32- and 64-bit RISC microprocessors, graphics processors, enabling software, cell libraries, embedded memories, high-speed connectivity products, peripherals, and development tools.
Due to low power consumption and high performance, ARM processors are being used in most of the modern devices. They have gone through several iterations to increase performance and improve power efficiency. This combination of high performance, low power consumption, wide offering, and low cost makes ARM processors popular. ARM processors have been providing better performance when compared to other processors. It is very easy to use ARM for quick and efficient application development and hence it has gained huge popularity in all varieties of applications. Here are a few of the advantages of ARM processors and their big.Little Design that have made them popular in modern-day electronics.
- They offer a cost advantage compared to other processors.
- They are designed to consume less power making it ideal for a wide variety of portable and battery-operated devices.
- Each core performs one operation per cycle and thus work faster
- The availability and applications support offered by ARM has also helped in popularizing the ARM processors