Raspberry Pi Pico 2について

Raspberry Pi Pico 2のスペックをまとめてみた。
一番下では簡単なベンチマークもとってみた結果も記載しました。

公式ページ

https://www.raspberrypi.com/products/raspberry-pi-pico-2/

Pico 2が発売されたからなのか、以前から発売していたPicoは公式ページではPico 1に修正されていますね。

Raspberry Pi Pico 2の特徴と言えれば、やっぱりCPUアーキテクチャが2種類搭載して、ソフトウェアでも選択できることでしょうか。

|項目|Raspberry Pi Pico 2|Raspberry Pi Pico 1|Raspberry Pi Pico W/WH|
|---|---|---|---|
|MPU|RP2350|RP2040|←|
|CPU|Dual-core Arm Cortex-M33@150MHz<br>Dual RISC-V Hazard3 processors@150MHz|Dual-core Arm Cortex-M0@133MHz|←|
|RAM メモリ|520KB オンチップ SRAM|264KB オンチップ SRAM|←|
|Flash メモリ|4MB オンボード QSPI Flash|2MB オンボード QSPI Flash|←|
|インターフェース|multi-purpose GPIO 26pin(ADC 4pinも含む)<br>USB Micro-B<br>3pin ARM Sireal wire Debug Pin(SWD)|multi-purpose GPIO 26pin<br>USB Micro-B<br>3pin ARM Sireal wire Debug Pin(SWD)|←|
|ペリフェラル|2 x UART<br>2 x SPI controllers<br>2 x I2C controllers<br>16 x PWM channels<br>1 x USB1.1 controller & PHY(with host&device)<br>12 x PIO state macchines|2 x UART<br>2 x SPI controllers<br>2 x I2C controllers<br>16 x PWM channels<br>1 x USB1.1 controller & PHY(with host&device)<br>8 x PIO state macchines|←|
|センサー|1 x 温度センサー|←|←|
|LED|1 x LED|←|←|
|入力電源|1.8~5.5V DC|←|←|
|動作温度|-20℃~+85℃|←|-20℃~+70℃|
|供給期間|~2040/01|||
|外寸|21mm x 51mm|←|←|
|互換性|Raspberry Pi Picoとソフトウェア、ハードウェアの互換性あり|-|←|
|セキュリティ|・ARM TrustZone for Cortex-M<br>・Optional boot signing, enforced by on-chip mask ROM, with key fingerprint in OTP<br>・Protected OTP storage for optional boot decryption key<br>・Global bus filtering based on Arm or RISC-V security/privilege levels<br>・Peripherals, GPIOs, and DMA channels individually assignable to security domains<br>・Hardware mitigations for fault injection attacks<br>・Hardware SHA-256 accelerator|-|←|
|開発環境|オープンソースの C/C++ SDK<br>MicroPython|←|←|
|Wifi|-|-|2.4GHz 802.11n wireless LAN |
|Bluetooth|-|-|Bluetooth 5.2 |

参考(Raspberry Pi Pico公式ページ)

https://www.raspberrypi.com/products/raspberry-pi-pico/

## 公式ドキュメント

### Raspberry Pi Pico 2
製品概要

https://datasheets.raspberrypi.com/pico/pico-2-product-brief.pdf

ピンレイアウト(Picoと同じ)

https://datasheets.raspberrypi.com/pico/Pico-2-Pinout.pdf

データーシート

https://datasheets.raspberrypi.com/pico/pico-2-datasheet.pdf

Python SDK

https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-python-sdk.pdf

C/C++ SDK

https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf

https://www.raspberrypi.com/documentation/pico-sdk/

### RP2350

ハードウェア設計

https://datasheets.raspberrypi.com/rp2350/hardware-design-with-rp2350.pdf

データシート

https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf

製品概要

https://datasheets.raspberrypi.com/rp2350/rp2350-product-brief.pdf

## 技術情報など

GitHub

https://github.com/raspberrypi

## CPUアーキテクチャの比較

整数(引数を3)と浮動小数点(引数を3.0)を加算、乗算、除算を100万回実行するプログラムを動かしてみました。
結果の単位はmsとなります。



```MicroPython:加算
def add(a, b):
    for _ in range(1000000):
        x = a + b
```

```MicroPython:乗算
def mul(a, b):
    for _ in range(1000000):
        x = a * b
```

```MicroPython:除算
def div(a, b):
    for _ in range(1000000):
        x = a / b
```

**Arm Cortex-M33@150MHz**
|項目|1回目結果|2回目結果|3回目結果|平均|
|---|---|---|---|---|
|整数加算|2546.836|2546.826|2546.836|2546.833|
|整数乗算|2680.106|2680.107|2680.102|2680.105|
|整数除算|4584.693|4584.690|4584.709|4584.697|
|浮動小数点加算|7874.939|7873.548|7875.725|7874.737|
|浮動小数点乗算|7892.079|7892.191|7892.173|7892.148|
|浮動小数点除算|7984.497|7984.133|7987.898|7985.509|

**RISC-V Hazard3 processors@150MHz**
|項目|1回目結果|2回目結果|3回目結果|平均|
|---|---|---|---|---|
|整数加算|2753.545|2753.546|2753.538|2753.543|
|整数乗算|2933.467|2933.471|2933.466|2933.468|
|整数除算|8159.641|8156.652|8160.679|8158.991|
|浮動小数点加算|7350.376|7350.308|7350.297|7350.327|
|浮動小数点乗算|7674.962|7673.834|7674.320|7674.372|
|浮動小数点除算|8324.867|8328.959|8327.124|8326.983|

今回の結果は、整数の加算、乗算はCortex-M33、浮動小数点加算、浮動小数点乗算は、RISC-V Hazard3が少しずつ結果、除算は整数、浮動小数点ともにCortex-M33が速いという結果になりました。
ただ100万回程度の演算だと、好きな方を使えばいいじゃんって程度の違い（整数の除算を除く）かなと思いました。