Tweet


* 組み込み Linux 入門 - CPU アーキテクチャ その1 [#y1374651]

組み込みボード上で Linux を動かすに当たって,まず

- どのメーカのどのボードを採用するか
- どの SoC を採用してボードを設計するか

という問題がある.

今回は「x86 対 非 x86」という軸で考えてみることにする.

** x86 [#g4fd5d48]

x86 というのは,もちろん,Intel の i386 CPU とその互換品・後継品のことである.
x86 CPU を使った組み込み用ボードというのが世の中にはある.

x86 ボードの特徴は良くも悪くも「PC/AT 互換機の遺産」に尽きる.

x86 上で Linux を動かす利点はやはり「ソフトウェアの安定性」だろう.
Linux デスクトップや Linux サーバは x86 がほとんどで,カーネル・アプリケーションともに x86 上での動作実績が一番多い.
つまり,プログラムの互換性などに悩まされることが少ないと言える.
また,BIOS やブートローダなどは PC/AT のものが使用できるので,これらの移植作業をする必要が無い.


欠点は
- ボードのハードウェア構成
- 消費電力
- コスト

である.
x86 ボードでは,PC/AT 互換を保つためにディスプレイやキーボードなどのインターフェースが載っている場合が多い.
このため,消費電力やボードのコストが大きくなる傾向がある.
Linux を動かすには PC/AT 互換である必要はないのだけれど,x86 組み込みボードの場合「Windows を動かす」という用途も想定されていることが多いので,どうしてもデバイスが多くなる傾向がある.


CPU コア自体は,昔は「x86 は CISC アーキテクチャなので消費電力が大きい」みたいな話もあったけれど,今では CISC / RISC について論じるのはあまり意味が無い.
が,やはり「低消費電力」という点では RISC CPU 側に一日の長があるようである.

** 非 x86 [#q14c8e25]

x86 でない CPU で Linux というと,今,一番有名なのは ARM だろう.
ほとんどの Android 端末は ARM を採用しており,Android OS のカーネルは Linux がベースになっている.

非 x86 CPU での特徴は,x86 でのちょうど反対になる.
- ソフトウェアの安定性・動作実績では x86 に劣る
- ハードウェア構成は組み込み向き
-- 余計なデバイスが載っている場合でも,消費電力を意識した SoC ではデバイスの動作を止めることのできるものもある
- 低コスト

といったところである.

** まとめ [#w8280116]

「組み込み Linux」というと,真っ先に ARM なんかの非 x86 CPU を連想することも多いけれど,システム要件とこれらの得失を考慮して「x86 組み込みボードではどうなのか」ということも一度は検討すべきだろう.



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS