RP2040 and RP2350 Performance Comparison

General discussions about working with the Astrobe IDE and programming the Raspberry Pi RP2040 and the Pi Pico board.
Post Reply
cfbsoftware
Site Admin
Posts: 525
Joined: Fri Dec 31, 2010 12:30 pm
Contact:

RP2040 and RP2350 Performance Comparison

Post by cfbsoftware » Mon Oct 28, 2024 11:20 pm

We have been comparing the performance of identical Oberon source code compiled using
  1. The Astrobe for RP2040 compiler for the Pi Pico
  2. The Astrobe for RP2350 compiler for the Pi Pico 2
As expected the RP2350 (using an Arm Cortex-M33 core) performs significantly better than the RP2040 (using an Arm Cortex-M0+ core) for the following reasons:

1. It can run at a clock speed of 150Mhz instead of 125MHz (up to 20% better)
2. It has single-cycle INTEGER division (up to 8x better)
3. More registers are available for use in Leaf Procedures (up to 80% better)
4. It has Floating Point hardware (up to 30x better)

Due to better than expected progress, we are now hoping to make a release candidate of Astrobe for RP2350 available to users of the Professional Edition of Astrobe for RP2040 in the next couple of weeks.

gray
Posts: 143
Joined: Tue Feb 12, 2019 2:59 am
Location: Mauritius

Re: RP2040 and RP2350 Performance Comparison

Post by gray » Thu Nov 07, 2024 1:30 am

In addition, the RP2350 has an AHB5 bus, while the RP2040 uses AHB-lite. Each of the two Cortex-M33 cores of the RP2350 has two bus masters (managers), one for fetching instructions, and one for load/store access. That is, code can be read in parallel to reading and writing memory or peripheral data.

In my admittedly limited testing, even programs built with Astrobe for RP2040 run a good 20% faster on the RP2350, at the same clock frequency (and not using division, leaf procedures, or the FPU).

Post Reply