ARM’s latest Cortex-M platforms using the ARMv8-M architecture are out. They include the Cortex-M23 and Cortex-M33 families, and they specifically target applications for the Internet of Things (IoT). One of the main features of the ARMv8-M architecture is the ARM TrustZone security support (Fig. 1) with its secure and non-secure states.
The Cortex-M23 targets the same space as the Cortex-M0+ very-small, ultra-low-power systems, while the Cortex-M33 targets the higher-end Cortex-M3 space. A platform for the higher-end Cortex-M7 is likely in the works, although the Cortex-M33 has floating point support.
The two platforms share a number of features, including the new instruction set support for TrustZone that is integrated with the new memory protection unit (MPU). The MPU provides 16 isolation regions that can be shared among applications. The region protection extends to peripherals. Features from the ARMv7-M include enhanced conditional compare and branch instructions, as well as immediate move instructions. There is also improved atomic support for C11/C++11 load-acquire and load-release instructions for more efficient semaphore handling.
The platforms differ in implementation, with a two-stage pipeline for the Cortex-M23 and a three-stage pipeline for the Cortex-M33. This provides the Cortex-M33 with more performance. The Cortex-M33 has additional options, such as a floating point unit (FPU) and DSP instructions (Fig. 2).
Chips based on the Cortex-M23 and Cortex-M33 are still in the works, but turnover to sampling products from ARM licensees is expected to be early next year.