Overview of ARM Cortex-M Microcontrollers

In recent years, the pace at which various manufacturers in the ARM Cortex-M camp (ST, NXP, ATMEL, Freescale, etc.) have released new products has accelerated, and the popularity of microcontroller applications has deepened. More and more developers are focusing their efforts on application layer development, spending less time on research into underlying technologies. As a qualified embedded software developer, especially in BSP and low-level driver development, it is necessary to understand the following content.

Overview of ARM Cortex-M Microcontrollers

1. Overview of ARM Cortex-M Series Microcontrollers:

The old ARM5, ARM7, ARM9, and ARM11 era processors are history. ARM began using the A, R, and M series to name its new processors starting from the ARMv6-ARMv7 era.

The A series refers to application processors, where A can be understood as Application. Currently, mainstream smartphones mostly use ARM’s A series cores, from the early A8, A9 to the later A15, A57, and now A72, A73, and A75 cores. They are mainly used to run operating systems such as iOS, Android, and Linux.

The R series refers to real-time processors, where R stands for RealTime. R7, R8, etc., are mainly used in fields such as hard drives, 4G communication modules, and cameras. This series of processors also has very powerful performance; interested individuals can check out the ARM official website, which is quite interesting.

The M series processors, where M stands for Microcontroller, currently includes M0, M0+, M3, M4, M7, and the newly released M23 and M33 based on the ARMv8-M architecture. M23 is an upgrade of M0 and M0+, while M33 is an upgrade of M3 and M4. The performance ladder is shown in the figure below:

Overview of ARM Cortex-M Microcontrollers

The above figure shows a rough comparison of the computational performance that each core can provide at the same clock frequency. Evaluating a processor’s processing performance has always been a challenge, with many evaluation standards. The above figure is provided by the ARM official website. The Cortex-M series has always been evaluated based on Coremark scores on the ARM official website. You can refer to it, but real performance comparisons depend on specific applications.

M23 is a microcontroller focusing on low-power applications based on the latest ARMv8-M architecture and will be a replacement for M0 and M0+ in the future.

M33 is a microcontroller focusing on high-energy efficiency applications based on the latest ARMv8-M architecture and will replace M3 and M4 in the future.

M7 is an older ARMv7-M architecture microcontroller focusing on high performance, as can also be seen from the figure above, M7 has the highest performance.

For specific reference, see the figure below:

Overview of ARM Cortex-M Microcontrollers

2. Brief Introduction to M0+:

Below is a brief description of M0+. M0, as a past microcontroller, will be skipped. Taking the 90nm process as an example, the main differences between M0+ and M0 that everyone can utilize are as follows:

1. M0+ has lower power consumption, about 30% lower than M0. Here, only the core power consumption is mentioned. The actual power on the chip also needs to account for peripherals, clock systems, etc., so the difference is not as significant as 30%. The lower power consumption of M0+ seen now comes more from process advancements. When M0 was first released, it was mainly based on 130nm/140nm/180nm processes, while M0+ has shifted more to 90nm. Improvements in both core and process have made M0+ much lower in power consumption compared to M0. The ARM official website has also released power data for M0+ at 40nm, which is almost only 40% of the 90nm process M0+ power. However, currently, no 40nm process M0+ products have been seen on the market, but it is estimated that the release is not far off. Earlier, the dynamic power consumption of M0 was mainly concentrated between 110uA/MHz~160uA/MHz, while the current M0+ processors can achieve power consumption as low as 65uA/MHz or even lower.

2. The pipeline has been changed from 3 stages to 2 stages;

3. In M0+ chips, GPIO is directly connected to the M0+ core, while in M0 core chips, GPIO is connected to the APB bus. What does this mean? Simply put, in M0+ chips, the GPIO toggle rate can reach half of the system core clock, while M0’s GPIO is much slower because the M0+ core directly accesses and controls GPIO, whereas the M0 core must first access the AHB bus, then the APB bus, and then the GPIO to control it.

Overview of ARM Cortex-M Microcontrollers

The above figure shows a comparison of the core area, dynamic power consumption, and performance of M0+ processors under three different processes.

3. Brief Introduction to M4

First, here is the performance table for M4:

Overview of ARM Cortex-M Microcontrollers

Currently, mainstream M4 processors are mostly concentrated in the 90nm process range. The dynamic power consumption of the core is about three times that of M0+, and the die area is about four times that of M0+. Performance has improved by nearly 40% at the same clock frequency. Considering specific applications, most mass-produced M0+ chips have lower clock frequencies, while M4 is relatively higher, so the actual power and performance differences will be even greater. With the emergence of M4, new applications for M3 are becoming increasingly rare in the market, so I will not introduce M3 separately.

Currently, new M4 microcontrollers are showing the following development directions, representing the future development directions of microcontrollers:

1. High energy efficiency ratio: Early M3/M4 power consumption was mostly around 300+uA/MHz. Now, under the new 90nm LP process, the power consumption of new M4 microcontrollers has decreased to levels of 100-200uA/MHz, and it will be even lower in the future, achieving higher energy efficiency ratios.

2. Advancing towards higher processes: Currently, I understand that NXP has begun to design 40nm process M4 processors, and domestic GD has also started trying to design M3/M4 microcontrollers using 55nm or even higher processes. Once these more advanced process processors are released, the prices and power consumption of M4 microcontrollers will be significantly reduced, and the energy efficiency ratio of M4 will be higher than that of the current 90nm process M0+, which will be a significant change.

3. Security: Many new microcontrollers designed by major semiconductor manufacturers have incorporated security units, with various symmetric/asymmetric encryption co-processing engines added to the new M4 controllers, such as AES, SHA, 3DES, etc. To adapt to new IoT applications, security has become a design focus for future microcontrollers, which is particularly evident in the new ARMv8-M, where security features are the biggest difference between M33 and M4. In the future, we will find opportunities to discuss M23 and M33 separately.

4. SOC/SIP integration: This has been evident since the M3 era. M0/M3 has been widely integrated into SOCs, and many wireless SOCs on the market are based on M0/M3/M4 cores. In the last 1-2 years, many domestic manufacturers have begun to experiment with SIP, and many domestic SIP chips have integrated M0/M3/M4 bare chips internally.

4. Brief Introduction to M7

Currently, there are not many mass-produced M7 chips on the market; only ST, ATMEL, and NXP have a few models.

Overview of ARM Cortex-M MicrocontrollersM7 performance is exceptionally strong, nearly a 50% improvement over M4 at the same clock frequency (the six-stage superscalar pipeline of M7 is not to be underestimated). The newly mass-produced NXP i.MXRT1050 (reportedly a 40nm process) series M7 processors have even reached over 3000 CoreMark. Previously, traditional M3/M4 processors with CoreMark scores exceeding 300 were rare. M7 has significantly improved the performance of Cortex-M series microcontrollers by at least 10 times. However, from a market share perspective, M7 is still relatively new, and its applications are still limited, leaving much room for future exploration.

Regularly share embedded knowledge in a simple and easy-to-understand manner. Follow our public account, star it, and improve a little every day.

Disclaimer:

The copyright of original and reprinted articles, images, etc. belongs to the original author. If there is any infringement, please contact us for deletion.

Overview of ARM Cortex-M MicrocontrollersFollow, like, watch, and share to support quality content! Overview of ARM Cortex-M Microcontrollers

Leave a Comment