RaspberryPiのCPU比較 どれが64bitで動くの?
初代RaspberryPiが発売になったのは2013年の春ころです。
その年は話題にはあがるけど、日本では全然売っていない、買えないという状況が続きました。そんな中、夏頃にリビジョンが上がって、8pinの追加IO端子からI2S信号を出せるという嬉しい知らせが入りました。
2013年の年末に購入してVolumioを試したのがこの記事でした。
そんな昔話はどうでもいいですね。
本日は、それぞれ動作するカーネルと64bitカーネルはどのラズパイで動かせるのかをまとめました。
ラズパイの標準OSであるRaspbianは、起動時に自動でCPUに適切なカーネルが選択される仕組みが入っていて、同じSDカードでPi1/0からPi4まで意識することなく使えるというユーザーに優しいディスクイメージが提供されています。
そんなわけでRaspbianの/boot フォルダの中には4つのカーネルイメージが入っています。kernel8.imgだけサイズが2倍以上大きいのは圧縮されていないからです。
そして、各ラズパイが使用するカーネルは以下のようになっています。
ラズパイの種類 | CPUコア | 使用するkernel |
初代Raspberry Pi B | ARM11 | kernel |
初代Raspberry Pi A | ARM11 | kernel |
Raspberry Pi B+ | ARM11 | kernel |
Raspberry Pi A+ | ARM11 | kernel |
Raspberry Pi ZERO | ARM11 | kernel |
Raspberry Pi ZERO W | ARM11 | kernel |
Raspberry Pi 2 B | Cortex-A7 | kernel7 |
Raspberry Pi 2 B v1.2 | Cortex-A53 | kernel7 / kernel8 |
Raspberry Pi 3 B | Cortex-A53 | kernel7 / kernel8 |
Raspberry Pi 3 B+ | Cortex-A53 | kernel7 / kernel8 |
Raspberry Pi 3 A+ | Cortex-A53 | kernel7 / kernel8 |
Raspberry Pi 4 B | Cortex-A72 | kernel7l / kernel8 |
この中の「kernel8」が64bitカーネルです。
Cortex-A53/A72はARMv8というアーキテクチャになっていて、32bitのAArch32と64bitのAArch64の2つの実行モードが搭載されています。
Cortex-A53以降のCPUを搭載しているラズパイは、/boot/config.txtに「arm_64bit=1」と記述をいれると64bitモードで起動させることができます。
ラズパイも種類が増えてきたので、少しややこしくなってきましたね。末尾に「A」「B」が付いているのは リビジョンやバージョンではなくModel 名称です。A=有線LANを省いたモデルで搭載RAMも少なめ。 B=フルスペックモデル。
ARM11系のラズパイがなくなれば、潔く64bitを標準にできるのでしょうけど、昔の基板もサポートし続けるのは某A社とは違うところです。
今からラズパイを購入するという方におススメは、、、
やはり最新版ということでPi 4になります。
ただ、発熱の多さや消費電流の多さなどからすべての用途で最適とは言えません。。。
夏場の暑さも考えると、気楽に使えるのはPi 3B+ですかね。Wi-Fiの受信感度もチップアンテナを使っていたPi 3よりも良いようですし。
ベンチマーク 32bit 対 64bit
いろいろなwebサイトで簡易的にベンチマークソフト(Unix Benchなど)を走らせて32bitモードと64bitモードとを比較していますが、現在のRaspbianは64bitのバイナリを作るgccが整備されていません。
つまり、gitして、makeして、実行しただけでは、
32bitカーネル上での32bitプログラム
と
64bitカーネル上での32bitプログラム
の比較をしていることになります。
それも意味がないわけではありませんが、64bitのCPUを有効に使うにはプログラムも64bit化したものを使うのが適切な気がしています。intelのx86もそうですが、64bit CPUで32bitのバイナリ(プログラム)が全く問題なく動作するのってスゴイですよね。ARM社は、そればかりか32bit専用だった頃のCPUよりも高速に32bitプログラムが動くと言っています。いや~ 恐れ入ります。
でもでも、はやくAArch64のgcc、glibでてこないかな~
にほんブログ村
ブログランキングに参加中です。 めざせ1位!
もしよろしければ「ぽちっと」お願いします。
« RaspberryPi kernelとDriverのクロスコンパイル方法 | トップページ
「Raspberry Pi」カテゴリの記事
- RaspberryPiのCPU比較 どれが64bitで動くの?(2020.02.05)
- RaspberryPi kernelとDriverのクロスコンパイル方法(2020.02.02)
- 「いきなりWifi接続」RaspberryPi 3A+セットアップ法(2019.12.18)
- RaspberryPiも64bit化の流れ 64bitカーネルを起動する方法 Pi2 Pi3 Pi4(2019.12.14)
- RaspberryPi 4 オーディオ専用放熱ケース(2019.12.09)
コメント