本日発表されたRaspberry Pi Zero 2 Wですが、サンプルをお預かりしていますので、レポートをしていきます。
外観
いきなりですが先代のRaspberry Pi Zero Wとの比較写真です。上がPiZero W、下がPiZero 2 Wです。
物理的なサイズとポートの配置・形状は一切変わりません。HDMIポートはMicroHDMIにはならずMiniHDMIのままですし、電源とUSBポートもUSB-CにはならずMicroUSBを維持しています。SDカードスロットも以前と同様ロックのないタイプです。強いて言えば、無線LANのアンテナが数ミリメートルほど左にずれました。
基板上のチップ類の配置については、アクセスランプは以前と同じ場所にACTランプが配置されていますが、その他についてはもちろんというか配置等は異なります。例えばPimoroniのPiBowなどのような、基板のパーツを避けながら被せるレイヤーが存在するようなケースは互換性はないと思われます。オフィシャルのケースなどは流用可能です。話を戻して、銀色のカバーがついているのは無線の回路部分です。
基板表面をもう少し見ます。SoCは機能的にはRaspberry Pi 3のBCM2837と同等のCortex-53ですが、RAMを統合して1パッケージ(System-in-Package)にした「RP3A0」パッケージとなっています。ちなみに、SoCの2行目の2041は、Raspberry Pi Picoで使われるRP2040の続番ではなく、製造された年と週番(2020年41週)がたまたまそれっぽかっただけとのことです。我々の手元に届く頃には2141とか2205とかになっているんでしょうね。
基板裏面を見ていきます。Zero Wまではアナログビデオ出力とリセット用にピンを取り付けられるスルーホールが左上にありましたが、省略されてしまいました。おそらく、利用されていない判断されたか、3B+以降で採用されたPoEポートとの衝突が考慮されたか、どちらかの可能性が考えられそうです。一応、スルーホールの代わりに、基板裏面にランドが残されており、リセットは左上、アナログビデオ出力は右下にそれぞれ刻印が見られます。
なお、現時点で日本の無線に関する認証はまだ取得されていないため、Zero Wのような技適マークの印字はありません。
カタログスペック比較
スペックをおさらい&いくつかのモデルと比較してみます。
Zero 2 W 3A+ 3B Zero W CPU Cortex-A53 Cortex-A53 Cortex-A53 ARM1176JZF-S 周波数 1GHz 1.4GHz 1.2GHz 1GHz コア数 4 4 4 1 64-bit ○ ○ ○ × DRAM 512MB 512MB 1GB 512MB 無線LAN 802.11 b/g/n 802.11 b/g/n/ac 802.11 b/g/n 802.11 b/g/n Bluetoorh 4.2,BLE 4.2,BLE 4.1,BLE 4.1,BLE
Zero 2 WはRaspberry Pi 3シリーズと同じCortex-A53 CPUを採用しており、4コア・64-bit対応の点で3B・3A+と共通です。周波数に関しては少し抑えめの1GHzとなっていますが、Zero Wとの性能差を考えれば3B・3A+より多少遅いことなどもはや誤差と言えそうです。
DRAMについてはZero Wや3A+と同様512MBです。1GBあると嬉しい感じはしますが、3A+と差ができてしまうので仕方ないかなと思います。個人的には本当は3A+も1GBあると嬉しいですけど。
無線LANについては引き続き2.4GHz帯のみのサポートです。ここは3A+との棲み分けポイントになりそうです。5GHzがほしかった!という方は3A+を検討すると良いでしょう。
ベンチマーク
恒例のUnixBenchでベンチマークを取得しました。今回もスイッチサイエンスさんからお借りしている電波暗箱を使用させていただいております。
ベンチマーク中の様子は、画像右下にあるPiZero v1.3をWebカメラ化したものを箱のUSBポートを通じてMacと接続して撮影しています。作り方は私あっきぃ個人のブログで紹介しているのでよければどうぞ。
さて、箱を閉じて通電を開始します。起動後のアイドル時の消費電力は0.26Aでした。ただし、これはUSB-LANアダプターを接続しているため、その消費電力も含まれる点に注意が必要です。写真は省略しますが、LANアダプターを抜いた状態では0.11A前後であることを確認できました。これはPiZero Wと同程度です。
UnixBench中のようす。0.26A→0.37Aまで上昇することを確認できました。先述のLANアダプターの消費電力0.15Aを引けば、およそ0.11A→0.25Aとなるでしょう。
Raspberry Pi 2 W UnixBench結果
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: yamanooku: GNU/Linux
OS: GNU/Linux -- 5.10.17-v7+ -- #1414 SMP Fri Apr 30 13:18:35 BST 2021
Machine: armv7l (unknown)
Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
CPU 0: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
CPU 1: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
CPU 2: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
CPU 3: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
17:08:28 up 1 min, 1 user, load average: 0.05, 0.03, 0.01; runlevel Oct
------------------------------------------------------------------------
Benchmark Run: 日 10月 17 2021 17:08:28 - 17:36:44
4 CPUs in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 3695886.3 lps (10.0 s, 7 samples)
Double-Precision Whetstone 1025.3 MWIPS (9.9 s, 7 samples)
Execl Throughput 626.1 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 94927.9 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 26547.0 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 273223.5 KBps (30.0 s, 2 samples)
Pipe Throughput 140439.4 lps (10.0 s, 7 samples)
Pipe-based Context Switching 26513.9 lps (10.0 s, 7 samples)
Process Creation 1184.1 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 1523.0 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 457.4 lpm (60.1 s, 2 samples)
System Call Overhead 486290.0 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 3695886.3 316.7
Double-Precision Whetstone 55.0 1025.3 186.4
Execl Throughput 43.0 626.1 145.6
File Copy 1024 bufsize 2000 maxblocks 3960.0 94927.9 239.7
File Copy 256 bufsize 500 maxblocks 1655.0 26547.0 160.4
File Copy 4096 bufsize 8000 maxblocks 5800.0 273223.5 471.1
Pipe Throughput 12440.0 140439.4 112.9
Pipe-based Context Switching 4000.0 26513.9 66.3
Process Creation 126.0 1184.1 94.0
Shell Scripts (1 concurrent) 42.4 1523.0 359.2
Shell Scripts (8 concurrent) 6.0 457.4 762.4
System Call Overhead 15000.0 486290.0 324.2
========
System Benchmarks Index Score 214.9
------------------------------------------------------------------------
Benchmark Run: 日 10月 17 2021 17:36:44 - 18:05:01
4 CPUs in system; running 4 parallel copies of tests
Dhrystone 2 using register variables 14799937.3 lps (10.0 s, 7 samples)
Double-Precision Whetstone 4100.3 MWIPS (9.9 s, 7 samples)
Execl Throughput 1699.7 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 160309.0 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 42973.0 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 456233.9 KBps (30.0 s, 2 samples)
Pipe Throughput 560846.9 lps (10.0 s, 7 samples)
Pipe-based Context Switching 103772.9 lps (10.0 s, 7 samples)
Process Creation 3647.1 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 3588.7 lpm (60.1 s, 2 samples)
Shell Scripts (8 concurrent) 438.1 lpm (60.3 s, 2 samples)
System Call Overhead 1874972.7 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 14799937.3 1268.2
Double-Precision Whetstone 55.0 4100.3 745.5
Execl Throughput 43.0 1699.7 395.3
File Copy 1024 bufsize 2000 maxblocks 3960.0 160309.0 404.8
File Copy 256 bufsize 500 maxblocks 1655.0 42973.0 259.7
File Copy 4096 bufsize 8000 maxblocks 5800.0 456233.9 786.6
Pipe Throughput 12440.0 560846.9 450.8
Pipe-based Context Switching 4000.0 103772.9 259.4
Process Creation 126.0 3647.1 289.5
Shell Scripts (1 concurrent) 42.4 3588.7 846.4
Shell Scripts (8 concurrent) 6.0 438.1 730.2
System Call Overhead 15000.0 1874972.7 1250.0
========
System Benchmarks Index Score 552.5
同じSDカードを使ってZero 2 W、3B、3B+の3環境でテストをしましたが、Zero 2 W < 3B < 3B+の結果となりました。
最後のSystem Benchmarks Index Scoreだけで見ると、ストレージ速度に影響するファイルシステム読み書きの項目を含んでしまうため、おもにCPUのベンチマーク項目である整数演算処理、浮動小数点数演算処理、Execlシステムコールの結果(4コア時)を抜き出して表にまとめてみました。
Zero 2 W 3B 3B+ Dhrystone 2 using register variables 14799937.3 lps (10.0 s, 7 samples) 15492821.1 lps (10.0 s, 7 samples) 17748593.7 lps (10.0 s, 7 samples) Double-Precision Whetstone 4100.3 MWIPS (9.9 s, 7 samples) 4928.4 MWIPS (9.9 s, 7 samples) 4935.7 MWIPS (9.9 s, 7 samples) Execl Throughput 1699.7 lps (29.9 s, 2 samples) 1910.9 lps (29.6 s, 2 samples) 1969.6 lps (29.9 s, 2 samples) System Benchmarks Index Score 552.5 592.0 664.0
全環境のフルの結果はまとめのあとに貼り付けます。
発熱
Zero 2 Wは、発熱が抑えられている点もアピールポイントになっています。手間ではありつつ、電源を落としてすぐに暗箱の中のZero 2 Wを触ってみる方法で確認をしてみましたが、アイドル状態では触ってもなんの問題もないぬるさでした。「yes > /dev/null &」x4回で長時間(具体的な時間計測はしませんでしたが3〜4分)負荷をかけるようなことをすると流石に熱くなりますが、開始から30秒程度なら、何秒もじっくり指を押し当ててやっと熱いと感じるくらいの温度(58℃くらい)でした。それぞれを「vcgencmd measure_temp」コマンドで見ると、アイドル時38.6℃、高負荷時は68℃ほどとなりました。3Bの場合はアイドル42.9℃、高負荷時80.6℃(!)となったので、それなりの差になりました。
以下のコマンドで高負荷時のクロックとスロットル発動状況を同時に見ていくと、3Bでは80℃に達したところでスロットルが発動してクロック数を下げようとし始めましたが、Zero 2 Wでは80度に達しないためスロットルが発動しないまま1GHz駆動を維持したことになります。
$ vcgencmd measure_temp; vcgencmd measure_clock arm; vcgencmd get_throttled temp=80.2’C frequency(48)=1200000000←この数字が徐々に下がっていく throttled=0x2002
まとめ
おそらく待っていた人が結構多いと思われるRaspberry Pi Zeroのアップデート。その内容は性能を確実に進歩させつつ、先代との物理的な互換性を維持した堅実なものでした。
使い所としては、シンプルにZero Wからのアップデートもよし、3A+程度の性能はほしいが物理サイズを抑えたい時もよし、と言ったところでしょうか。Pi1/Zeroの古いCPUのARM命令に対応しないソフトウェアもZero 2 Wでコンパクトに動かすことが可能になった点も大きいです。
惜しむらくは、日本はリリース時点で技適が未取得状態のため、例によってお預け状態な点でしょう。日本で使えるようになる日が待ち遠しいですね……!!
Raspberry Pi 3 Model B UnixBench結果
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: yamanooku: GNU/Linux
OS: GNU/Linux -- 5.10.17-v7+ -- #1414 SMP Fri Apr 30 13:18:35 BST 2021
Machine: armv7l (unknown)
Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
CPU 0: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
CPU 1: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
CPU 2: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
CPU 3: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
13:18:47 up 18 min, 1 user, load average: 0.00, 0.00, 0.00; runlevel Oct
------------------------------------------------------------------------
Benchmark Run: 火 10月 19 2021 13:18:47 - 13:46:54
4 CPUs in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 4435259.3 lps (10.0 s, 7 samples)
Double-Precision Whetstone 1233.3 MWIPS (9.8 s, 7 samples)
Execl Throughput 737.2 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 114078.3 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 31844.0 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 323093.9 KBps (30.0 s, 2 samples)
Pipe Throughput 168626.6 lps (10.0 s, 7 samples)
Pipe-based Context Switching 31239.6 lps (10.0 s, 7 samples)
Process Creation 1443.8 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 1784.3 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 454.3 lpm (60.1 s, 2 samples)
System Call Overhead 583581.3 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 4435259.3 380.1
Double-Precision Whetstone 55.0 1233.3 224.2
Execl Throughput 43.0 737.2 171.4
File Copy 1024 bufsize 2000 maxblocks 3960.0 114078.3 288.1
File Copy 256 bufsize 500 maxblocks 1655.0 31844.0 192.4
File Copy 4096 bufsize 8000 maxblocks 5800.0 323093.9 557.1
Pipe Throughput 12440.0 168626.6 135.6
Pipe-based Context Switching 4000.0 31239.6 78.1
Process Creation 126.0 1443.8 114.6
Shell Scripts (1 concurrent) 42.4 1784.3 420.8
Shell Scripts (8 concurrent) 6.0 454.3 757.2
System Call Overhead 15000.0 583581.3 389.1
========
System Benchmarks Index Score 252.7
------------------------------------------------------------------------
Benchmark Run: 火 10月 19 2021 13:46:54 - 14:15:41
4 CPUs in system; running 4 parallel copies of tests
Dhrystone 2 using register variables 12227835.6 lps (10.0 s, 7 samples)
Double-Precision Whetstone 3682.3 MWIPS (12.8 s, 7 samples)
Execl Throughput 1399.4 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 121227.0 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 33277.4 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 369295.4 KBps (30.1 s, 2 samples)
Pipe Throughput 457605.4 lps (10.0 s, 7 samples)
Pipe-based Context Switching 79855.0 lps (10.0 s, 7 samples)
Process Creation 2955.7 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 2707.8 lpm (60.1 s, 2 samples)
Shell Scripts (8 concurrent) 342.1 lpm (60.2 s, 2 samples)
System Call Overhead 1626120.6 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 12227835.6 1047.8
Double-Precision Whetstone 55.0 3682.3 669.5
Execl Throughput 43.0 1399.4 325.4
File Copy 1024 bufsize 2000 maxblocks 3960.0 121227.0 306.1
File Copy 256 bufsize 500 maxblocks 1655.0 33277.4 201.1
File Copy 4096 bufsize 8000 maxblocks 5800.0 369295.4 636.7
Pipe Throughput 12440.0 457605.4 367.9
Pipe-based Context Switching 4000.0 79855.0 199.6
Process Creation 126.0 2955.7 234.6
Shell Scripts (1 concurrent) 42.4 2707.8 638.6
Shell Scripts (8 concurrent) 6.0 342.1 570.2
System Call Overhead 15000.0 1626120.6 1084.1
========
System Benchmarks Index Score 445.3
Raspberry Pi 3 Model B+ UnixBench結果
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: yamanooku: GNU/Linux
OS: GNU/Linux -- 5.10.17-v7+ -- #1414 SMP Fri Apr 30 13:18:35 BST 2021
Machine: armv7l (unknown)
Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
CPU 0: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
CPU 1: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
CPU 2: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
CPU 3: ARMv7 Processor rev 4 (v7l) (0.0 bogomips)
22:36:09 up 1 min, 1 user, load average: 0.66, 0.39, 0.15; runlevel Oct
------------------------------------------------------------------------
Benchmark Run: 金 10月 22 2021 22:36:09 - 23:04:14
4 CPUs in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 5176786.8 lps (10.0 s, 7 samples)
Double-Precision Whetstone 1442.7 MWIPS (9.8 s, 7 samples)
Execl Throughput 856.3 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 131242.3 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 36993.1 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 364366.1 KBps (30.0 s, 2 samples)
Pipe Throughput 196669.2 lps (10.0 s, 7 samples)
Pipe-based Context Switching 36451.0 lps (10.0 s, 7 samples)
Process Creation 1768.2 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 2015.8 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 541.2 lpm (60.1 s, 2 samples)
System Call Overhead 681516.9 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 5176786.8 443.6
Double-Precision Whetstone 55.0 1442.7 262.3
Execl Throughput 43.0 856.3 199.1
File Copy 1024 bufsize 2000 maxblocks 3960.0 131242.3 331.4
File Copy 256 bufsize 500 maxblocks 1655.0 36993.1 223.5
File Copy 4096 bufsize 8000 maxblocks 5800.0 364366.1 628.2
Pipe Throughput 12440.0 196669.2 158.1
Pipe-based Context Switching 4000.0 36451.0 91.1
Process Creation 126.0 1768.2 140.3
Shell Scripts (1 concurrent) 42.4 2015.8 475.4
Shell Scripts (8 concurrent) 6.0 541.2 901.9
System Call Overhead 15000.0 681516.9 454.3
========
System Benchmarks Index Score 294.5
------------------------------------------------------------------------
Benchmark Run: 金 10月 22 2021 23:04:14 - 23:32:27
4 CPUs in system; running 4 parallel copies of tests
Dhrystone 2 using register variables 17748593.7 lps (10.0 s, 7 samples)
Double-Precision Whetstone 4935.7 MWIPS (9.9 s, 7 samples)
Execl Throughput 1969.6 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 192140.3 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 51625.0 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 561711.5 KBps (30.0 s, 2 samples)
Pipe Throughput 673693.8 lps (10.0 s, 7 samples)
Pipe-based Context Switching 121560.4 lps (10.0 s, 7 samples)
Process Creation 4247.2 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 4309.2 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 569.1 lpm (60.3 s, 2 samples)
System Call Overhead 2247810.8 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 17748593.7 1520.9
Double-Precision Whetstone 55.0 4935.7 897.4
Execl Throughput 43.0 1969.6 458.1
File Copy 1024 bufsize 2000 maxblocks 3960.0 192140.3 485.2
File Copy 256 bufsize 500 maxblocks 1655.0 51625.0 311.9
File Copy 4096 bufsize 8000 maxblocks 5800.0 561711.5 968.5
Pipe Throughput 12440.0 673693.8 541.6
Pipe-based Context Switching 4000.0 121560.4 303.9
Process Creation 126.0 4247.2 337.1
Shell Scripts (1 concurrent) 42.4 4309.2 1016.3
Shell Scripts (8 concurrent) 6.0 569.1 948.5
System Call Overhead 15000.0 2247810.8 1498.5
========
System Benchmarks Index Score 664.0