※以下、私の認識、私の感じたことや思ったことです。

知識的な話は一応確認は取っていますが、間違っているかもしれないという感覚は忘れないでください。

 

こういう、やってみた系のページの記載内容なんて大概疑わしいわけで、中にはx86をARMアーキテクチャだ(※1)と平気な顔して言っているようなのもいるので、こういうソースはできればオフィシャル、できなければ複数方向(複数個所でなく)で確認とる癖をつけるのがいいです。

一応嘘は書いているつもりはありませんが、勘違い認識違いは自信がないので、悪しからず。。。

 

●Raspberry Piはとは何か?
RISC系ワンチップマイコンであるARM Cortex-A系の主演算装置を持つマイコンボードです

・・・と言っても面白くないので、私の勝手な解釈に基づいて以下に置き換えます。

●パソコンとは何が違うのか?
LIVA、NUC等、小型でWindowsが動くパソコンなんていくらでもありますよね。
それらとRaspberry Piはどう違うのか。

一番の違いは、プロセッサからGPIOと呼ばれる信号線が引き出されていることです。
何を意味するのか?
つまり、これはプロセッサに向かって”直接”何かの信号を入力し、何かを処理させてその結果として何かを動かすことができる、ということです。

単にデータを読み出すだけならばUSBメモリでよいかもしれません。
しかし、たとえばファミコンのカートリッジの中を見たい場合、USBじゃあ見られません・・・よね?

 

●組み込みマイコンとは何が違うの?
プロセッサから直接入出力が引き出せる、という条件ではmbed,pic,アルディーノなどに近いと言えるでしょう。
では、これら組み込みマイコンとは何が違うのでしょう。

まず、プロセッサの演算速度がそれこそ桁違いに違います。
mbedの代表である通称青mbedは、Cortex-M3を使用していますがその動作クロックは100MHzにとどまります。
対するRaspberryPi3は最大クロック1.2GHz、おおよそ10倍。
メモリーもストレージも同様まさしく桁違いです。

この処理能力を使ってRaspberryPiでは標準でHDMI,USB,音声出力、LAN、WI-FI、Bluetooth、カメラポートといった入出力を持ち、これらを管理するための高機能なOSをもっています。

ただ、「モーターを動かす」だけならばmbedでの作成のほうがシンプルでしょう。しかし、カメラで見たものを画像処理しロボットを自動制御し、そのコントロールをインターネット経由で行うといったような複雑な処理はmbedのみでこなすのはなかなか苦しいでしょう。

しかし、RaspberryPiは高度なOSを持つがゆえに起動に時間がかかりますし、極微小時間にこだわるようなリアルタイム性を重視する処理は、少なくても直接行うのは苦手でしょう。

 

 

●Raspberry Piってどんな用途で使うの?
私の独断で言うのであれば
・小型のPCがほしい、安価なlinuxマシンがほしいならば、高速なx86系の小型PCがよい。
RaspberryPiでは処理能力が足りない⇒Liva,NUSなど

・簡単な動作やリアルタイム制御を単体で行うもの、起動速度が必要な用途ならばmbedなどのワンチップがよい

・PC並みのインターフェイスを要求しつつ、GPIOを使用した工作を行いたい場合,
GPIOの存在に魅力を感じた場合はRaspberryPiが必要。

(・あえてチープなハードで苦しんでみたいマゾい方にもいいかもしれない。)

 

 

※ARM
コンピュータ、特に処理装置を含む部分の規格名
RISCに分類されている。
詳しくはWikipedia等にお任せしたいと思います。
現在は規模によって大きく3つの分類がある。
・Cortex-A
高度なOSで複雑なアプリケーションを実行させる用途向き
Raspberry-Piはこれ。
・Cortex-R
リアルタイム制御向け
個人で使ったことがないのですが、例えば自動車制御用とかの用途向きかと思います。
・Cortex-M
小規模の組み込みシステム向け
mbedは主にこれ。(たまにAが積まれていたりしますが極少数)

 

※RISC
演算装置の設計思想・方針の一つで、比較的単純な命令体系として回路を単純化し、速度向上を狙った処理装置。
ARMはどちらかと言うとこちらの種類ですがRISCとしては命令が複雑な部類であるとのこと。。
厳密な境目は無いようだが対義語はCISC(i7/i5/x86等はCISC)。

 

(※1)

命令の形態はx86はCISC、ARMはRISCの仲間。

メモリーの取り扱いもx86はリトルエンディアン、ARMはビッグエンディアン。

加えてx86は最低互換バス幅は16bit。ARMアーキテクチャに16bitは存在しない。

ここまで違う2つを同一アーキテクチャという理由が見当たらないのです。

てゆか8086ができたのは1970年代後半、ARMは1980年代前半ですが・・・。

 

工事中

 

 

 

mbed:

・即座に起動し即座に動き出すのが特徴。

・比較的短時間の応答が必要でローレベル(ハード寄り)な作業が得意。

raspberryPi:

・高度なOSの下で動くのが前提。

・あらゆるメディアを総合的に活用して何かする(流行でいうIoT)ような動きが得意。