The ARM Cortex-M35P is a 32-bit processor core designed for microcontroller applications by ARM Holdings. It is part of the Cortex-M series of cores, which target low-cost and low-power embedded systems.
The Cortex-M35P core is designed for embedded applications requiring high performance and power efficiency. It provides higher performance than the previous Cortex-M33 core while maintaining low power consumption. Some of the key features of Cortex-M35P include:
- 32-bit RISC architecture
- ArmV8-M architecture
- Up to 300 MHz operation
- DSP instruction extensions
- Memory Protection Unit (MPU)
- Low power design
- Single precision floating point unit (FPU)
- Optional TrustZone security extension
The Cortex-M35P is manufactured on advanced process nodes down to 5nm, enabling high performance and efficiency. It is compatible with previous Cortex-M cores to allow easy migration. The core is highly configurable via the Arm CoreSight debug architecture.
The Cortex-M35P implements the Armv8-M architecture, which is a 32-bit RISC instruction set optimized for embedded applications. It has a compact and efficient Thumb-2 instruction set with both 16-bit and 32-bit instructions. Some key architectural features include:
- 3-stage pipeline to achieve low latency
- Branch prediction for improved performance
- optional caches for instructions and data
- Memory Protection Unit (MPU) for access control
- Nested Vectored Interrupt Controller (NVIC)
- Wake up Interrupt Controller (WIC) for low power
- Single precision IEEE 754 floating point unit
- Optional Arm TrustZone security extensions
The 3-stage pipeline enables low latency instruction execution with minimal branching delays. The MPU provides configurable memory access permissions and compartmentalization. NVIC offers flexible priority-based interrupt handling, while WIC allows wake ups from sleep modes.
The Cortex-M35P supports Harvard architecture with separate instruction and data interfaces. This enables simultaneous access to program and data memory for higher performance. The core can be configured with instruction and data caches to optimize memory accesses. It has support for tightly coupled memories for deterministic low latency access.
Floating Point Unit
The single precision floating point unit in Cortex-M35P enables high performance mathematical computations needed in many embedded applications. It implements the IEEE 754 standard for floating point arithmetic with support for operations like add, subtract, multiply, divide, sqrt, and compare. The FPU operates concurrently with the integer pipeline for parallel execution.
The Cortex-M35P includes optional DSP extensions to accelerate digital signal processing algorithms. This adds specialized instructions for efficient fixed-point math, saturation, SIMD and other common DSP operations. The DSP extensions enhance performance for applications like audio processing, sensor fusion, motor control etc.
The optional TrustZone security extensions provide hardware-level isolation for secure and non-secure applications. It allows partitioning sensitive code, data and peripherals into a secure world that is isolated from the non-secure world. This enhances security for applications like payments, authentication, DRM etc.
Performance and Power
The Cortex-M35P delivers significantly higher performance than the older Cortex-M33 and Cortex-M23 cores. Some key performance comparisons:
- 1.66x higher CoreMark/MHz score than Cortex-M33
- 2x higher Dhrystone MIPS/MHz than Cortex-M33
- Up to 40% faster machine learning inference than Cortex-M33
The improved performance comes from microarchitecture enhancements as well as the advanced process nodes. At the same time, Cortex-M35P maintains similar power characteristics as existing cores for low power operation.
Cortex-M35P is designed to scale across a wide performance range by varying factors like clock speed, core configuration and process node. At maximum configuration, it can deliver up to 300 DMIPS at 300 MHz in a TSMC 5nm process. There are also various low power modes to optimize for energy efficiency.
The Cortex-M35P targets a wide variety of embedded applications requiring high performance and real-time responsiveness with low power. Some example use cases include:
- Industrial – Motor control, human-machine interface, asset tracking etc.
- Consumer – Wearables, hearables, wireless earbuds etc.
- Automotive – Driver assistance systems, infotainment, telematics etc.
- Medical – Patient monitors, infusion pumps, fitness trackers etc.
- IoT – Smart home, smart city, retail, agriculture etc.
- Security – Hardware security modules, encryption, authentication etc.
The Cortex-M35P will enable more advanced embedded products with machine learning, computer vision, sensor fusion, voice recognition, and other high performance capabilities. The combination of power efficiency and real-time responsiveness also suits time-critical control applications.
The Cortex-M35P core can be programmed using standard embedded C/C++ toolchains. Arm’s free Keil MDK-ARM toolkit provides an IDE, compiler, debugger and simulation for software development.
Various 3rd party vendors also offer Cortex-M35P microcontroller solutions and development boards. These include evaluation kits from NXP, STMicroelectronics, Microchip, Renesas and others. Many vendors offer IDEs, debug probes and other tools to simplify development.
The core is supported by real-time operating systems like FreeRTOS, Zephyr, Mbed OS and others. DSP libraries provide optimized signal processing functions. ARM offers the CMSIS-DSP library and various math libraries to accelerate software development.
Licensing and Availability
The Cortex-M35P core is available as synthesizable RTL or optimized layout from Arm. It can be licensed by semiconductor companies to design custom microcontroller chips and SoCs integrated with the core.
The first Cortex-M35P silicon and development boards were made available in 2020. Microcontroller devices based on the core are now available from various Arm silicon partners. It will enable the next generation of highly efficient embedded designs across a diverse set of applications.