CPU

The ARM® Cortex®-M4 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

The ARM Cortex Microcontroller Software Interface Standard (CMSIS) hardware abstraction layer for the ARM Cortex processor series is implemented and available for the M4 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 flash will have a wait state penalty on the nRF52 Series. The section Electrical specification shows CPU performance parameters including wait states in different modes, CPU current and efficiency, and processing power and efficiency based on the CoreMark® benchmark.

The ARM System Timer (SysTick) is present on the device. The SysTick's clock will only tick when the CPU is running or when the system is in debug interface mode.

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

02 
WRAM

CPU wait states, running from RAM

0 
CMFLASH

CoreMark1, running from flash

144CoreMark
CMFLASH/MHz

CoreMark per MHz, running from flash

2.25CoreMark/MHz
CMFLASH/mA

CoreMark per mA, running from flash, DCDC 3V

65CoreMark/mA

CPU and support module configuration

The ARM® Cortex®-M4 processor has a number of CPU options and support modules implemented on the device.

Option / ModuleDescriptionImplemented
Core options
NVICNested vector interrupt controller30 vectors
PRIORITIESPriority bits3
WICWakeup interrupt controllerNO
EndiannessMemory system endiannessLittle endian
Bit-bandingBit banded memoryNO
DWTData watchpoint and traceNO
SysTickSystem tick timerYES
Modules
MPUMemory protection unitYES
FPUFloating-point unitNO
DAPDebug access portYES
ETMEmbedded trace macrocellNO
ITMInstrumentation trace macrocellNO
TPIUTrace port interface unitNO
ETBEmbedded trace bufferNO
FPBFlash patch and breakpoint unitYES
HTMAMBA® AHB trace macrocellNO
1 Using IAR v6.50.1.4452 with flags --endian=little --cpu=Cortex-M4 -e --fpu=VFPv4_sp –Ohs --no_size_constraints