ご購入はこちら．
http://shop.cqpub.co.jp/hanbai/books/MIF/MIFZ201604.htm

見本6 倍にパワー UP!
Linux/Windows/Android 組み換え自由!
イントロ
ダクション

900MHz 4コア! I/Oコンピュータ「ラズベリー・パイ2」
山本 隆一郎ラズベリー・パイ（Raspberry Pi）は，世界の定番Linux ボードです．ARM プロセッサを搭載し，USBやイーサネット，HDMI などコンピュータとして必要 な 機 能 の ほ か，GPIO/I2C/SPI/I2S/PWM が 使 えるというワンチップ・マイコン的な側面も備えています．
2015年に発売された新型ラズベリー・パイ2（写真1）
は，CPUに900MHzで 動 作 す る4コ アCortex-A7と，LPDDR2 メモリを 1G バイト搭載し，大きく性能がア ッ プ し ま し た． 初 代 シ リ ー ズ で は，CPU がGPIO/I2C/SPI/I2S/PWM

4コア900MHz Cortex-A7プロセッサ!
BCM2836（ブロードコム）

700MHz 動作の 1 コア ARM11，メモリが 512M（または 256M）バイトです．両者を Linux マシン用ベンチマークで比較すると，新型は 6 倍の処理速度です．
このマルチコア化と CPU アーキテクチャの刷新のおかげで，画像認識などの重いプログラムも動かせるようになりました．自作プログラムやアプリケーションだけでなく，Eclipse や Qt Creator などの統合開発環境も十分動かせます．しかも，Linuxだけでな開発環境も十分動かせます．しかも，Linux だけでなく，機器向け Windows 10 IoT や，Android も十分動く性能です．
（編集部）
USBハブ/LANコントローラIC LAN9514（マイクロチップ・テクノロジー）

USB
×4

RJ-45

USBから5V給電

HDMI

MIPI-CSIカメラ・コネクタ

φ3.5 4極ジャック

（a）表
写真 1

性能 6 倍にパワー UP! 世界の定番コンピュータ・ボード 4 コア搭載ラズベリー・パイ 2 Model B

正式名は Raspberry Pi 2 Model B

6見本

イントロダクション

900MHz 4 コア! I/O コンピュータ「ラズベリー・パイ 2」

GPIO/I2C/SPI/PWM

コンポジットラズベリー・パイは世界の定番

φ3.5mmステレオ・ジャック● ボード・コンピュータの革命児ん．プレスリリースによると，全世界の総出荷台数は2015 年 2 月末時点で 500 万台を越えたようです．
ラズベリー・パイは，子供向けのプログラミング教育用コンピュータとしてデビューしました．しかし，比較的高性能な Linux ボードでありながら安価なため，本来の目的を越えて，瞬く間にコンピュータ愛好家に広 ま り ま し た． 当 初のもくろみであったコンピュータの初心者よりも，むしろ，組み込み Linux の教材や，ロボットの頭脳，企業の試作，デザイナによるアート作品まで，さまざまな用途に利用されています．
ユーザが増えれば増えるほど，Web 上に使い方のノウハウが広まり，それが相乗効果を生んで，ラズベリー・パイはある意味，組み込み CPU ボードのデファクト・スタンダードとして広まる勢いです．

● 1コアARM11→4コアCortex-A7にパワー・アップ!
当初のラズベリー・パイ（2012 年 2 月発売）は，安価で必要最小限の機能を持つ写真2の教育用コン
ピ ュ ー タ で し た． 構 成 も 1970 〜 80 年 代 頃 の コ ン
ピュータに近く，マウスとキーボード，TV モニタだけを用意すればスタンドアロンでプログラム学習に使える構成でした．教育用コンピュータらしく，ビデオ出力機能にアナログ TV に表示するためのコンポジット出力が用意されていました．
写真 3 のラズベリー・パイ 1 Model B+（2014 年 7 月発売）と，ラズベリー・パイ 2 Model B（2015 年 2 月発

1GバイトLPDDR2メモリ

USB×2

RAMは512MB

ラズベリー・パイの人気は衰えることを知りませ

RJ-45

USBから5V給電
MIPI-CSIカメラ・コネクタ
写真 2HDMI

USBハブ/LANコントローラIC
LAN9512今や型落ち!? 1コア700MHz ARM11
プロセッサ! BCM2835（ブロードコム）

初代ラズベリー・パイ…教育用コンピュータとして発売

された
正式名は Raspberry Pi Model B売）は，コンポジット出力端子を省略し，LAN コネクタと USB2.0 ポート× 4 を持つ実用的な CPU ボードに仕上がっています．しかも，ラズベリー・パイ2 では，CPU が 最 高 900MHz で 動 作 す る4コ アCortex-A7に，RAMは1G バイトになりました．ちょっと前のスマートフォンやタブレットと同等のレベルです．ラズベリー・パイの公式サイトでは，ラズベリー・パイ2 の CPU 速
度は1と比較して最大 6 倍とうたわれています（1）．
これまでラズベリー・パイというと，Linux ボード
では比較的ローエンドの，I/O 操作には十分だけれども高度な処理をするには不向きな印象の CPU ボードでした．しかし，ラズベリー・パイ 2 のレベルにまで到達すると，画像処理や音声認識，複雑な判定処理もラクになります．

ARM11プロセッサBCM2835

LAN9514

micro SD（b）裏

写真 3 ラズベリー・パイ1 Model B+…最新ラズベリー・パイ2と見た目がそっくりだが CPU は従来の 700MHz 動作 ARM11 のまま
正式名は Raspberry Pi Model B+

見本7

4 コア Cortex-A7/GPU/128 ビット高性能 NEON 命令…
最新テクノロジいじり放題!
第4章

1ラズベリー・パイ 2 のコンピュータ性能を大実験

2

三好 健文

53
4

6
BCM2835（ブロードコム）．ARM11700MHz CPUコア+GPUを内蔵．512Mバイト
LPDDR2メモリをBCM2835の上に亀の子状態で実装

BCM2836（ブロードコム）．4コアCortex-A7900MHz CPUコア+GPUを内蔵

78App1

見た目はそっくり

App29App3

裏面にLPDDR2メモリ1Gバイトを搭載（a）最新ラズベリー・パイ2 Model B
写真 110（b）従来品ラズベリー・パイ1 Model B＋

App4

見た目は従来品とソックリだがパワーアップした…とうわさの最新ラズベリー・パイ 2 の実力を調べる

11
ラズベリー・パイ 1 の頭脳は，ARM11 アーキテク
チャの CPU を搭載した SoC BCM2835 です．一方，ラズベリー・パイ 2 の頭脳である BCM2836 は，クアッドコア（4 コア）の Cortex-A7 を搭載しています．
（写真 1）
本章では，この 2 種類のラズベリー・パイの CPU
性能やメモリ帯域幅，GPU 性能などを測ってみます．
また，Cortex-A7 では NEON と呼ばれる最大 128ビット高性能演算命令が使えます．コンパイル時にオプションを付けると使えるようになる NEON 命令の実力も試してみます．マルチコアによる並列実行（編集部）での性能向上を味わいます．

実験 3…4 コア並列処理を OpenMP で試す
実験 4…4 コア並列処理を Cilk で試す
実験 1 と実験 2 では，ラズベリー・パイ 1 Model B＋（以下，ラズベリー・パイ 1 と表記）と，ラズベリー・パイ 2 Model B（以下，ラズベリー・パイ 2 と表記）を使います．実験 3 以降ではラズベリー・パイ 2 のみを使います．それぞれの仕様を表 1 に示します．

● 実験環境ラズベリー・パイ 1 と，ラズベリー・パイ 2 ともに，NOOBS を使ってインストールした Raspbian を使います．それぞれ，apt-get コマンドで表 2 のソフトウェアを事前にインストールしました．

こんな実験● ラズベリー・パイの実力を調べる
図 1 の実験を行います．
実験 1…ベンチマーク・ソフトでコンピュータ基本性能を調べる
実験 2…なんと最大 128 ビット! 高性能演算用 NEON
命令の実力を調べる

実験 1：コンピュータ・ボード全体の基本性能を調べる
まず，Linux マシンとしてのラズベリー・パイ 2 の性能を評価します．以下の五つの実験を行います．

・実験 1-1…定番ベンチマーク・ソフトで測る
・実験 1-2…メモリ帯域幅を測定する
・実験 1-3…GPU の描画性能を調べる

見本
43

1213
付録

第2部

大解剖! ラズベリー・パイ 2

ラズベリー・パイ2Cortex-A7コア×4

Cortex-A7×4コア

BCM
2836

ラズベリー・パイ2

ラズベリー・パイ1

実験1：ベンチマーク・ソフトで性能チェック
実験2：NEON命令を試す

BCM
2836

実験3：OpenMP並列化を試す
実験4：Cilk並列化を試す

BCM
2835
ARM11コア×1（a）実験1，実験2…ラズベリー・パイ1および2の性能をベンチマーク・ソフトで調べる（b）実験3，実験4…ラズベリー・パイ2のCPU性能を調べる

図 1 こんな実験…ラズベリー・パイ 2 の実力チェック!

表2

表 1 実験に使うラズベリー・パイの仕様
項 目
世

仕 様

実験のためにインストールしておくソフトウェア

ソフトウェア名概

要代

第 1 世代

第 2 世代

autogen

テンプレート・エンジン

シリーズ名

Raspberry Pi 1

Raspberry Pi 2

autoconf

コンフィグ・ファイル生成プログラム

モデル名

Model B+

Model Bsubversion

バージョン管理ツール

BCM2835

BCM2836

libisl-dev

整数の点の関係・集合操作ライブラリ

makemake コマンド

プロセッサ名
メーカ名プロセッサ

CPUGPU

ブロードコムコア名

ARM1176JZF-S

Cortex-A7

flex

字句解析器生成プログラム

コア数

14bison

構文解析器生成プログラム

動作
クロック

700MHz

900MHz

コア名VideoCore IV（ブロードコム）

動作
クロック

250MHz

内蔵機能

・OpenGL ES 2.0（描画性能 24GFLOPS），
・MPEG-2，VC-1 注 1，1080p/30fps H.264/
MPEG-4 AVC High Profile
ハードウェア・デコード・エンコード

メモリ

種 類
容量［バイト］

LPDDR2 SDRAM

多倍長演算ライブラリ

libmpfr-dev

多倍長浮動小数点数演算ライブラリ

libmpc-dev

複素数演算ライブラリ

gcc-4.8

C コンパイラ

g++-4.8

C++ コンパイラ

libsdl-dev

クロスプラットホーム・マルチメディア・ライブラリ

libglm-dev

OpenGL 数学ライブラリLPDDR2 SDRAM

注2

注2

512M

1G

対応ストレージ

libgmp-dev

microSD

注 1：使用にはライセンスが必要
注 2：GPU と共有

表 3 実験に使ったベンチマーク・ソフトウェア
実 験内 容ソフトウェア名
入手先
1-1
定番ベンチマーク
UnixBenchhttps://github.com/kdlucas/byte-unixbench
1-2
メモリ・バンド幅を測定する
Streamhttp://www.cs.virginia.edu/stream/
1-3
GPU の描画性能を調べる
GtkPerf
http://gtkperf.sourceforge.net
ブラウザの JavaScript 処理性能
1-4
Octane 2.0
https://developers.google.com/octane/?hl=ja
を調べる
GPU の 3D レンダリング性 能を 3 D P A R A M E T R I C h t t p s : / / w w w . r a s p b e r r y p i . o r g / b l o g / 3 d 1-5
parametric-plotter/
調べる
PLOTTER

・実験 1-4…ブラウザの JavaScript 処理性能を調べる
・実験 1-5…GPU の 3D レンダリング性能を調べる利用したベンチマーク・ソフトウェアは，実験順にUnixBench，Stream，GtkPerf，Octane 2.0，3D

44

PARAMETRIC PLOTTER です．各実験との対応を
表 3 に示します．
UnixBench ではラズベリー・パイ 2 の動作周波数を700MHz と 900MHz に設定した両方を評価していま

見本

第3部

ラズベリー・パイ 2 活用術

GPIB と RS-232-C を Python ライブラリで制御

11 章 I/Oコンピュータ活用事例

第オシロ&マルチメータ自動計測システム
稲田 洋文

I2C ＆ GPIO

リボン・ケーブル

拡張コネクタブレッドボード

ブレッドボード
変換基板

評価ターゲット ラズベリー・パイ2
自動計測・制御
IC評価ボード
システム部

I2C
パワー・マネジメントIC

オシロスコープ

GPIO
BCM2836（ブロードコム）

USB
USBハブ

ラズベリー・パイ2

GPIB

電源レベルICUSB

USB-シリアル変換ケーブル

RS-232-C

ディジタル・マルチメータ

USBで5V給電
AC100V
図1

USB-GPIB
変換器

USB

ラズベリー・パイ 2 からオシロスコープ & ディジタル・マルチメータをコントロール ! IC の電気特性 自動評価装置の構成

GPIO，I2C，RS-232-C，GPIB といった異なるインターフェースを組み合わせて使えるのはラズベ
リー・パイならではです．そこで，ラズベリー・パ
イ 2 を用いて，IC の自動評価環境を構築しました．
GPIO，I2C で タ ー ゲ ッ ト IC を 制 御 し，RS-232-Cでディジタル・マルチメータ制御，GPIB でオシロスコープの制御を行い，ターゲット IC がきちんと動作できているかの確認を行います．
（編集部）

こんな装置
● 4 種類のインターフェースをまとめて制御する
筆者は，電源 IC の一種であるパワー・マネジメン
ト IC の設計，評価を半導体メーカで行っています．
この IC には複数の DC-DC コンバータなどが内蔵されており，それらを短時間で評価しなければなりませディジタル・マルチメータ

オシロスコープ

USBハブ

パワー・マネジメント
IC評価ボード

ラズベリー・パイ2

写真 1

ラズベリー・パイ・コントロールのオシロスコープ＆マルチメータでパワー・マネ

ジメント IC の性能を自動測定中

130

見本

第 11 章BD71805MWV（ローム）

Vin

BUCK1
1.375V
2000mA

TSD

BUCK4
1.2V
1000mA

GPO

BUCK3
3.15V
1000mALDO̲SNVS
3.0V
25mA

BUCK2
1.375V
1000mALDO-DVREF
DVREF×0.5V
10mA

LDO
RTC
I2C
電源
コントローラ

制御
回路

DC in
リチウム・イオン・バッテリ充電回路

図2

表1

DC-DC
コンバータ

UVLO

32kHz
OSC

I/O コンピュータ活用事例オシロ & マルチメータ自動計測システムパワー・マネジメント IC BD71805MWV から出力できる電圧と電流値

in

LDO1
2.5V
300mA

out

LDO2
1.8V
300mA

out

LDO3
1.2V
300mA

outin

クーロン・カウンタ

自動評価のターゲット IC BD71805MWV（ローム）の構成

ん．そこで，ラズベリー・パイを使って，人手に頼らず，自動で評価，判定する図 1 のような環境を作りました．
（1）GPIO でターゲット IC の動作を制御（2）I2C でターゲット IC のレジスタを読み書き（3）RS-232-C でディジタル・マルチメータを操作（4）GPIB でオシロスコープを操作実際に動作させている様子を写真 1 に示します．この装置を使うと，手動では 4 〜 5 日かかっていた評価を，自動で数時間で終わらせることができ，時間を有意義に使えるようになります．

● ターゲット…電源 IC
パワー・マネジメント IC は，主にタブレット，ノート PC，電子書籍リーダなどで使われています．ターゲ ッ ト と す る IC は BD71805MWV（ ロ ー ム ）で す．
Cortex-A9 コア搭載の i.MX 6SoloLite プロセッサ（フリースケール・セミコンダクタ）用のパワー・マネジ
メント IC です．
構成を図 2 に示します．図中にあるように，複数のDC-DC コンバータや LDO（Power Rails と呼ぶ）を内蔵しています．これを SoC（System On Chip）や DDRメモリに電源として接続して使います．LDO などからは，表 1 に示す電圧を出力できます．

出力
チャネル

出力電圧
［V］

最大出力
電流［mA］

BUCK1

1.375

1

設定範囲

22000

0.8 〜 2.000V（25mVステップ）
［DVS］

3

BUCK2

1.375

1000

0.8 〜 2.000V（25mVステップ）
［DVS］

BUCK3

3.15

1000

2.6 〜 3.35V（50mV ステップ）

BUCK41.21000

1.0 〜 2.7V
（50mV ステップ）

LDO1

2.53000.8 〜 3.3V
（50mV ステップ）

6

LDO2

1.83000.8 〜 3.3V
（50mV ステップ）

7

LDO3

1.23000.8 〜 3.3V
（50mV ステップ）

8

LDO40.5＊ DVREFIN

100.5 〜 1.35V（DVREFIN=BUCK4）

App1

LDO5

325

Fixed

45App29

ハードウェアApp3● 構成
図 3，写真 2 にハードウェアの構成を，表 2 に使用した部品を示します．
ラズベリー・パイは，パワー・マネジメント IC への信号発生器と，パワー・マネジメント IC からの信号判定器の両方を兼ねます．また，DC 電圧を測定するディジタル・マルチメータと，波形を取得するオシロスコープの制御コントローラとしても使います．

10App4111213● 使用した測定器
ラズベリー・パイ 2 Model B と，ディジタル・マル
チメータ 34401A（キーサイト・テクノロジー），オシロスコープ TDS5104B（テクトロニクス）を使用しました．
パワー・マネジメント IC は専用の評価基板に実装されています．

● USB - シリアルでディジタル・マルチメータと接続
ラズベリー・パイと 34401A は，USB - シリアル変換ケーブルを用いて RS-232-C で接続します．変換ケーブ
ルに使われている USB - シリアル変換 IC は，FT-232（FTDI 社）です．Raspbian でサポートされているため，ドライバのインストール無しですぐに使えます．
使用したケーブルの RS-232-C 側はオス，そしてディジタル・マルチメータもオスなので，メス - メスの変換ケーブルも使いました．

見本
131付録

見本