Datasheet

Table Of Contents
IOPORT Peripherals:
SIO_BASE
0xd0000000
Cortex-M0+ Internal Peripherals:
PPB_BASE
0xe0000000
2.3. Processor subsystem
The RP2040 processor subsystem consists of two Arm Cortex-M0+ processorseach with its standard internal Arm
CPU peripheralsalongside external peripherals for GPIO access and inter-core communication. Details of the Arm
Cortex-M0+ processors, including the specific feature configuration used on RP2040, can be found in Cortex-M0+.
SIO
Core 0
Cortex-M0+
Bus Interface
NVIC DAP
Core 1
Cortex-M0+
Bus Interface
NVIC DAP
To GPIO Muxing
From external debuggerFrom peripherals
GPIO ×36
To bus fabric
AHB-Lite
To bus fabric
AHB-Lite
IOPORT
Events
IOPORT
Interrupts Serial Wire Debug
Figure 6. Two Cortex-
M0+ processors, each
with a dedicated 32-bit
AHB-Lite bus port, for
code fetch, loads and
stores. The SIO is
connected to the
single-cycle IOPORT
bus of each processor,
and provides GPIO
access, two-way
communications, and
other core-local
peripherals. Both
processors can be
debugged via a single
multi-drop Serial Wire
Debug bus. 26
interrupts (plus NMI)
are routed to the NVIC
and WIC on each
processor.
The processors use a number of interfaces to communicate with the rest of the system:
Each processor use its own independent 32-bit AHB-Lite bus to access memory and memory-mapped peripherals
(more detail in Bus Fabric)
The single-cycle IO block provides high-speed, deterministic access to GPIOs via each processor’s IOPORT
26 system-level interrupts are routed to both processors
A multi-drop Serial Wire Debug bus provides debug access to both processors from an external debug host
2.3.1. SIO
The Single-cycle IO block (SIO) contains several peripherals that require low-latency, deterministic access from the
processors. It is accessed via each processor’s IOPORT: this is an auxiliary bus port on the Cortex-M0+ which can
perform rapid 32-bit reads and writes. The SIO has a dedicated bus interface for each processor’s IOPORT, as shown in
Figure 7. Processors access their IOPORT with normal load and store instructions, directed to the special IOPORT address
segment, 0xd0000000…0xdfffffff. The SIO appears as memory-mapped hardware within the IOPORT space.
NOTE
The SIO is not connected to the main system bus due to its tight timing requirements. It can only be accessed by the
processors, or by the debugger via the processor debug ports.
RP2040 Datasheet
2.3. Processor subsystem 31