CPU

The Arm® Cortex®-M33 processor has a 32-bit instruction set (Thumb®-2 technology) that implements a superset of 16 and 32-bit instructions to maximize code density and performance.

This processor implements several features that enable energy-efficient arithmetic and high-performance signal processing, including:

  • Digital signal processing (DSP) instructions
  • Single-cycle multiply and accumulate (MAC) instructions
  • Hardware divide
  • 8- and 16-bit single instruction, multiple data (SIMD) instructions
  • Single-precision floating-point unit (FPU)
  • Memory Protection Unit (MPU)
  • Arm TrustZone® for ARMv8-M

The Arm Cortex Common Microcontroller Software Interface Standard (CMSIS) hardware abstraction layer for the Arm Cortex processor series is implemented and available for the M33 CPU.

Real-time execution is highly deterministic in thread mode, to and from sleep modes, and when handling events at configurable priority levels via the nested vectored interrupt controller (NVIC).

Executing code from internal or external flash will have a wait state penalty. The instruction cache can be enabled to minimize flash wait states when fetching instructions. For more information on cache, see Cache. The section Electrical specification shows CPU performance parameters including the wait states in different modes, CPU current and efficiency, and processing power and efficiency based on the CoreMark® benchmark.

Floating-point interrupt

The floating-point unit (FPU) might generate exceptions when used (for example, due to overflow or underflow), which trigger the FPU interrupt.

See Instantiation for more information about which exception number (peripheral ID) is triggered by an FPU exception.

The FPU is not affected by any security configuration. It is presented as non-secure in register PERIPHID[n].PERM. See SPU — System protection unit for more information.

To clear the IRQ (interrupt request) line when an exception occurs, the relevant exception bit within the floating-point status and control register (FPSCR) must be cleared. For more information about the FPSCR or other FPU registers, see the Arm Cortex-M33 Devices Generic User Guide.

CPU and support module configuration

The Arm Cortex-M33 processor has a number of CPU options and support modules implemented on the device.

Option / ModuleDescriptionImplemented
Core options
NVICNested vectored interrupt controllerYES
PRIORITIESPriority bits3
WICWake-up interrupt controllerNO
EndiannessMemory system endiannessLittle endian
DWTData watchpoint and traceYES
Modules
MPU_NSNumber of non-secure memory protection unit (MPU) regions16
MPU_SNumber of secure MPU regions16
SAUNumber of security attribution unit (SAU) regions0, see SPU for more information about secure regions.
FPUFloating-point unitYES
DSPDigital signal processing extensionYES
ARMv8-M TrustZoneARMv8-M security extensionsYES
CPIFCo-processor interfaceNO
ETMEmbedded trace macrocellYES
ITMInstrumentation trace macrocellYES
MTBMicro trace bufferNO
CTICross trigger interfaceYES
BPUBreakpoint unitYES
HTMAMBA® AHB trace macrocellNO

Electrical specification

CPU performance

The CPU clock speed is 64 MHz. Current and efficiency data is taken when in System ON and the CPU is executing the CoreMark™ benchmark. It includes power regulator and clock base currents. All other blocks are IDLE.

SymbolDescriptionMin.Typ.Max.Units
WFLASH

CPU wait states, running from flash, cache disabled

04
WFLASHCACHE

CPU wait states, running from flash, cache enabled

02
WRAM

CPU wait states, running from RAM

0
CMFLASH

CoreMark1, running from flash, cache enabled

247CoreMark
CMFLASH/MHz

CoreMark per MHz, running from flash, cache enabled

3.86CoreMark/MHz
CMFLASH/mA

CoreMark per mA, running from flash, cache enabled

91CoreMark/mA
1 Using armclang compiler