Evolution of ARM
The ARM is well known for its variety of cores in the embedded market, it provides an ocean of choices among its cores letting the designers choose according to their applications ranging
from low power cores in the automation market to high-performance cores in the Defense and avionic sectors. At the beginning of the 20th century, most of the silicon valleys in and across the world have adopted to the ARM architectures inside their silicons. This has enabled the designers to go with the ARM cores in their design vice versa ARM has to expand their cores to fulfil the requirements of the designers. Even though there are a huge number of cores coined into the embedded market by the ARM, it has never let loose of the segregation processors which will help young designers to get into the right path with right designs.
The cortex family has three main categories which are namely
- Cortex-A (Application Processor cores)
- Cortex-R (Real Time Application cores)
- Cortex-M (Microcontroller Cores)
Cortex-A stands for Application processor cores which are widely used in performance-intensive applications and this will be put to best use while used with the applications related to the Android and Linux operating systems. Cortex-A series offers a wide range of cores starting from Cortex-A5 to Cortex-A77, each core is designed in a way to fit into a wide range of applications. The first Cortex-A release was Cortex-A8 in 2005 and the latest one was Cortex-A77 in 2019.
The Cortex-A series applications start from handsets, smartphones, computers to high-end broadcasting and networking equipment, the cores behind this magic all are started with a series of processors A5, A7, A8, A9, A12, A15 and later ARM has renamed Cortex-A12 to Cortex-A17 based on the ARM v7 architecture. When used with a perfect combination these cores provide peak-performance and high power efficiency.
Cortex-A5 is the basic version of all the Cortex-A processors with low power consumption and desirable performance capabilities allowing the designers to go for it without a second thought at the same time the silicon cost is also a major factor for the wide usage of this core. Cortex-A5 is also compatible with the other cores in the series such as Cortex-A9 and Cortex-A15.
Cortex-A7 is similar in power consumption when compared with the A5 but shows 20percent higher performance. This core is highly used in the smartphones and tablet devices to achieve a moderately desirable performance with high power efficiency as these handheld device industries show their main interest in power efficiency. At the same time, this is also compatible with the A15 and A17. This type of multicore configuration is often referred by ARM as big.LITTLE Processing Configuration, where a high-performance core such as A15 and a power-efficient core A5 are combined to achieve a sustainable system environment in the making of Premium to luxury handsets. Most of the ARM cores achieve a better result while subjected to this big.LITTLE methodology rather than using as a single-core system. In the early 2000s, there’s a big gap in the battery technology in the smartphones designers tend to use this big.LITTLE methodology often to achieve significant results. Even nowadays the battery technology is behind the peak performance capabilities of the ARM cores which is enabling the designers to go for multicore configuration in most of their designs.
Coming to the high-performance Cortex-A cores starting from A15, A17 and other A53, A35 series, these cores are used in the Luxury handsets with multicore configuration and whereas A17 can be configured with up to 4 core combination. With all these flexible options Cortex-A series has taken over the mobile market with an exponential growth both in the production and performance of the core.
The recent releases of the cortex-A series made their entry into the low-power server technologies making them as the only option available in the market to achieve better performance and low-power at a time. These cortex-A50 series are built on ARMv8 architectures with the support of Arm 64bit architecture to enable energy-efficient 64bit execution alongside with the 32bit execution.
Cortex-R is the least well-known series offering in terms of derivatives and apparently smallest ARM processor too. Though the tech behind the cortex-R is unimaginably the best, But the scope for these processors is less due to the narrow bandwidth of the applications when compared to the other cortex series applications. These cortex-R series mostly target on real-time applications such as automotive, medical and server-side applications in the communication equipment.
To understand the cortex-R series briefly we should peek less into the technology and more into the applications. Just like Cortex-A series cortex-R too does it’s best in the performance intensity applications. We can also consider this as a high-end microcontroller but targets larger systems than you would typically use in a standard MCU. The applications of the Cortex-R are completely failproof are we can call them as sensitive applications in which the entire system failure can occur when this cortex-R fails. Such as airbags and brake system in the automotive applications, critical ECG graphs in the medical equipment, transmission controls in networking equipment, total system failures in the server-side technologies are the few examples for the cortex-R applications.
Cortex-R4 is the best example for the automotive applications with a clock frequency up to 600MHz, has an 8stage pipeline with dual-issue and low latency interrupt system that can interrupt multi-cycle operations to serve the incoming interrupt. Cortex-R4 can also be implemented in the dual-core configuration with another R4 being in a redundant lock-step configuration which enables logic for fault detection and ultimately making it as an ideal safety-critical system.
Cortex-R5 is widely used in the networking and data storage applications with an increase in the efficiency, reliability and enhanced error management in the real-time systems when compared to the cortex-R4. Just like R4 this also can be implemented as a lock-step dual-core system with the other individual processors. The dual-cores in the cortex-R series result in the very powerful and flexible systems with enhanced error management and real-time responses.
The cortex-R7 comes with an increased performance clock ticking at the frequency of 1GHz. This series has come up with multiple options for the multi-core configurations as well as lock-step. It also has a fully integrated generic interrupt controller (GIC) supporting complex priority-based interrupt handling. Even though there are endless possibilities in this domain, this series of processors are not suitable for the rich operating systems such as android and Linux.
The Cortex-M is the famous microcontroller series which is ruling the world with its flexibility in mending with the designer’s applications. cortex-M is built on the ARMv7 architecture and the smallest microcontroller Cortex-M0+ is built on the ARMv6 architecture. The first Cortex-M was released in 2004 namely Cortex-M3 and the latest one in the series is Cortex-M35P (2018) in which P stands for physically Secure.
In 2004 immediately after the first Cortex-M series release, many silicon vendors picked up the core for producing as an MCU. Soon after it hit the market most of the designers started using it for their designs and at the same time migrated their previous projects to the Cortex-M based microcontrollers. The introduction of Cortex-M into the already crowded microcontroller market has made a huge impact and resulted in a spike in the possibilities.
The cortex-M3 and Cortex-M4 are very similar cores with a 3 stage pipeline and multiple 32-bit busses, clock speed up to 200MHz. The cortex-M4 is also specifically optimized to handle DSP algorithms and also consumes 3 times less power compared to the cortex-M3 but for any other applications which are not using DSP or FPU capabilities both the cores perform at the same level and consumes the same power. By this, you can conclude that, if you are not working with any such applications you can go for Cortex-M3 but if you are into the DSP and FPU applications better to go with the Cortex-M4.
In the case of cost-sensitive applications and those who are migrating from 8-bit to 32-bit, cortex-M0+ is the best choice to choose from. The cortex-M0+ performance is almost closer to that of Cortex-M3 but is still compatible with most of its big brothers in the family. The cortex-M0 is also having a dedicated bus for the single-cycle GPIO which helps you in the implementation of the certain interfaces like you would do on the 8-bit microcontroller but with a performance of the 32-bit core to process the data. The lever of debug information you can get from a Cortex-M0+ is significantly high when compared to the 8-bit MCU, this makes the designers go for it which will help them solve the bugs in an easier way.
The best way of understanding these 3 cores is far simpler than we ever thought, let’s have a glance to get a clear view.
The cortex-A stands for Application which will help in performance-intensive applications such as Android, Linux and many other applications related to handsets, tablets, desktops and laptops.
The Cortex-R stands for the real-time application which is used in the safety-critical applications and where we need real-time responses of the system such as Automotive, medical, defence, avionics and server-side technologies where data related operations are executed.
The Cortex-M stands for the Microcontroller which is used in most of our daily life applications also starting from the automation to DSP applications, sensors, smart displays, IoT applications and many more. The cortex-M series is an ocean of possibilities with a large number of probabilities and configurations.