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 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も含む) USB Micro-B 3pin ARM Sireal wire Debug Pin(SWD) |
multi-purpose GPIO 26pin USB Micro-B 3pin ARM Sireal wire Debug Pin(SWD) |
← |
ペリフェラル | 2 x UART 2 x SPI controllers 2 x I2C controllers 16 x PWM channels 1 x USB1.1 controller & PHY(with host&device) 12 x PIO state macchines |
2 x UART 2 x SPI controllers 2 x I2C controllers 16 x PWM channels 1 x USB1.1 controller & PHY(with host&device) 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 ・Optional boot signing, enforced by on-chip mask ROM, with key fingerprint in OTP ・Protected OTP storage for optional boot decryption key ・Global bus filtering based on Arm or RISC-V security/privilege levels ・Peripherals, GPIOs, and DMA channels individually assignable to security domains ・Hardware mitigations for fault injection attacks ・Hardware SHA-256 accelerator |
- | ← |
開発環境 | オープンソースの C/C++ SDK MicroPython |
← | ← |
Wifi | - | - | 2.4GHz 802.11n wireless LAN |
Bluetooth | - | - | Bluetooth 5.2 |
参考(Raspberry Pi Pico公式ページ)
公式ドキュメント
Raspberry Pi Pico 2
製品概要
ピンレイアウト(Picoと同じ)
データーシート
Python SDK
C/C++ SDK
RP2350
ハードウェア設計
データシート
製品概要
技術情報など
GitHub
CPUアーキテクチャの比較
整数(引数を3)と浮動小数点(引数を3.0)を加算、乗算、除算を100万回実行するプログラムを動かしてみました。
結果の単位はmsとなります。
def add(a, b):
for _ in range(1000000):
x = a + b
def mul(a, b):
for _ in range(1000000):
x = a * b
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万回程度の演算だと、好きな方を使えばいいじゃんって程度の違い(整数の除算を除く)かなと思いました。