As we all know, the British company ARM is a leader in the world of embedded microprocessors. ARM has always developed its own microprocessor core architectures and then licensed the intellectual property of these architectures to various chip manufacturers. The streamlined CPU architecture, efficient processing capabilities, and successful business model have led ARM to achieve great success, quickly capturing a large share of the 32-bit embedded microprocessor market.
Currently, as the requirements for embedded systems become increasingly stringent, the comprehensive performance of embedded microprocessors, which are at the core of these systems, is also being put to the test. The processing power of a high-end smartphone today is almost comparable to that of a laptop from a few years ago. To meet market demands, ARM is also accelerating the development of their latest ARM architecture, the Cortex series. Today, let’s take a good look at the key points of ARM Cortex processors.
ARM Cortex Series Processors
After the classic ARM11 processors, ARM switched to naming its products under the Cortex brand, dividing them into three categories: A, R, and M, aimed at serving various different markets.
1. Cortex-A: Designed for cutting-edge operating systems based on virtual memory and user applications
2. Cortex-R: Targeted at real-time systems
3. Cortex-M: Microcontrollers
ARM Cortex Series Processors – Cortex-A
The ARM Cortex-A series is a set of application processors for complex operating systems and user applications. Cortex-A series processors support ARM, Thumb, and Thumb-2 instruction sets.
The Cortex-A series processors from ARM are suitable for applications that require high computational demands, run rich operating systems, and provide interactive media and graphic experiences.
As shown in the figure, the green parts are all based on the v7-A architecture, and the blue parts are based on the v8-A architecture. Essentially, the green supports both 32-bit and 64-bit, except for A32, which only supports 32-bit. On the right side of each section, for example, the top A15-A73 segment is the most efficient, followed by the segment that focuses on overall efficiency, and the bottom bar represents the best efficiency, achieving the highest standards in battery performance.
If we must rank them from high to low, a rough order would be: Cortex-A73 processor, Cortex-A72 processor, Cortex-A57 processor, Cortex-A53 processor, Cortex-A35 processor, Cortex-A32 processor, Cortex-A17 processor, Cortex-A15 processor, Cortex-A7 processor, Cortex-A9 processor, Cortex-A8 processor, Cortex-A5 processor.
ARM Cortex Series Processors – Cortex-M
The Cortex-M processor family focuses more on the low-performance end, but these processors are still quite powerful compared to many traditional processors used in microcontrollers. For instance, Cortex-M4 and Cortex-M7 processors are used in many high-performance microcontroller products, with maximum clock frequencies reaching 400MHz.
Of course, performance is not the only criterion for choosing a processor. In many applications, low power consumption and cost are critical selection indicators. Therefore, the Cortex-M processor family includes various products to meet different needs:
Unlike the older classic ARM processors (e.g., ARM7TDMI, ARM9), Cortex-M processors have a very different architecture. For example:
— Only supports ARM Thumb instructions, expanded to support both 16-bit and 32-bit instructions in the Thumb-2 version
— Built-in nested vector interrupt control responsible for interrupt handling, automatically managing interrupt priority, interrupt masking, nested interrupts, and system exception handling.
— Interrupt handling functions can be programmed using standard C language, and the nested interrupt handling mechanism avoids the need for software to determine which interrupt needs to be responded to. At the same time, the interrupt response speed is deterministic and low-latency.
— The vector table changes from jump instructions to the starting addresses of interrupt and system exception handling functions.
— The register set and certain programming modes have also been changed.
These changes mean that much of the assembly code written for classic ARM processors needs to be modified, and older projects need to be adjusted and recompiled to migrate to Cortex-M products.
ARM Cortex Series Processors – Cortex-R
R4: The first embedded real-time processor based on the ARMv7-R architecture. It is dedicated to large-capacity deep embedded system-on-chip applications, such as hard disk drive controllers, wireless baseband processors, consumer product mobile MTK platforms, and automotive system electronic control units.
R5: Launched in 2010, based on the ARMv7-R architecture, it extends the functionality of the Cortex-R4 processor, supporting higher levels of system performance, improved efficiency and reliability, and enhanced error management in reliable real-time systems. These system-level features include high-priority low-latency peripheral ports (LLPP) and accelerator consistency ports (ACP), the former for fast peripheral read and write, and the latter for improving efficiency and achieving more reliable cache consistency with external data sources.
Based on 40 nm G technology, the Cortex-R5 processor can operate at frequencies approaching 1 GHz, providing a performance of 1,500 Dhrystone MIPS. This processor offers a highly flexible and efficient dual-cycle local memory interface, allowing SoC designers to maximize system cost and power consumption.
R7: The Cortex-R7 processor is the highest performance processor in the Cortex-R series. It is the standard for high-performance real-time SoCs. The Cortex-R7 processor is designed for implementation based on advanced chip processes from 65 nm to 28 nm, with a focus on improving energy efficiency, real-time responsiveness, advanced features, and simplifying system design. Based on 40 nm G technology, the Cortex-R7 processor can operate at frequencies exceeding 1 GHz, providing a performance of 2700 Dhrystone MIPS. This processor supports tightly coupled memory (TCM) local shared memory and flexible local memory systems for peripheral ports, allowing SoC designers to meet high standards of hard real-time requirements within constrained chip resources.
1. The 5th issue of the 2018 electronic publication “Microcontrollers and Embedded Systems Applications” is freshly out!
2. Why is malloc rarely used in microcontroller programs, while it is frequently used on PCs?
3. Chip Spring and Autumn · ARM Transmission
4. Programming language popularity and hiring trends in April
5. The “no-code world” that programmers long for is coming!
6. Why are chips so hard to make?
Disclaimer: This article is a network reprint, and the copyright belongs to the original author. If there are any copyright issues, please contact us, and we will confirm the copyright based on the copyright certificate you provide and pay for the manuscript or delete the content.