ARM Technologies and its significance in Embedded Domain
The ARM architecture, also known as the big.Little design architecture, is a multi processing system that uses more than one processor core and offers multiple software architectures like AMP architecture based Designs, SMP architecture based Designs and HMP 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.
The ARM processors were further enhanced to provide high-performance and efficient power management without disrupting the system’s overall efficiency. Processors with the ARM architecture follow big.Little Design technique, where in the cores share the same instruction sets but have micro-architectures that are optimized for either power or performance-related requirements.
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 RISC and CISC architectures have their own 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.
From a hardware perspective, there are broadly two types of multicore design. If all the CPUs have exactly the same architecture, it is termed homogeneous multicore; if there is variability in the architectures, it is heterogeneous multicore. This requirement of efficient power management has led to the evolution of the concept of big.Little Design, a power-efficient operation, yet having 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 called 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.
The 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.
The 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 architecture based 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 clubbed with ARM software architectures like AMP architecture based Designs, SMP architecture based Designs and HMP architecture based Designs enable 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 ARM Software architectures
Nowadays it is common for most of the embedded designs to incorporate more than one ARM CPU – multiple cores on a chip or multiple chips on a board or any combination of these. With multi-core embedded systems becoming so common, there are three ARM software architectures that need to be considered here. Heterogeneous Multi processing (HMP architecture based Designs), Asymmetric Multi processing (AMP architecture based Designs) and Symmetric Multi processing (SMP architecture based Designs). How these are defined and when and where each of these may be selected is outlined below.
HMP architecture based Designs – Heterogeneous Multi-processing
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. The threads with high priority or computational intensity can, in HMP architecture based Designs, 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.
SMP architecture based Designs – Symmetric Multi-processing
Current multi-core processor technologies have 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. In SMP architecture based Designs, the throughput of the system is increased.
Also, programming and executing of 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. Typically, SMP architecture based Designs are used when an embedded application simply needs more CPU power to manage its workload, in much the way that multicore CPUs are used in desktop computers. To know more, click here.
AMP architecture based Designs – Asymmetric Multi-processing
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 have 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 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 the other processors may handle only OS codes. AMP architecture based Designs are most likely to be used when different CPU architectures are optimal for specific activities – like a DSP and an MCU. To know more, click here.
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 enabled AMP architecture based Designs, SMP architecture based Designs and HMP architecture based Designs aid creation of devices for all types of applications, with a complete toolkit and a strong global ecosystem for support.
These design architectures 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 variety of software system models like AMP architecture based Designs, SMP architecture based Designs and HMP architecture based Designs
- 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