ソフト・マクロのCPUでLinuxを動かす(後編) ──OSの実装とネットワーク対応機器への応用
1.組み込み機器でLinuxを使う理由
筆者らは,FPGAにソフト・マクロのマイクロプロセッサ(以降,「ソフト・プロセッサ」と呼ぶ)を実装したマイコン・ボードを開発しました.FPGAとして,米国Xilinx社のSpartan-IIEファミリを使用しています.ソフト・プロセッサとして,同社の「MicroBlaze」を実装したマイコン・ボードです(写真1).
● Linuxがプロセッサ・アーキテクチャの違いを吸収
MicroBlazeは,x86やARMのように広く普及しているプロセッサとは異なるアーキテクチャを採ります.あるプロセッサ・アーキテクチャに慣れたエンジニアは,新しいアーキテクチャへの乗り換えはしたくないと感じるものです.新しい命令セットや割り込みのしくみを覚えるのに非常に労力がかかり,リスクの高い行為に感じられるためです.
もし,新しいアーキテクチャ向けのソフトウェア開発をまったくのゼロから行うとすれば,このことは正しいと言えます.しかし,すでにLinuxが動作している場合はどうでしょうか.ほとんどのソフトウェアはC/C++などの言語を使用して記述されるため,新しい命令セットを覚える必要はありません.ブートや割り込みのしくみはOSが管理してくれるため,深い知識がなくてもソフトウェア開発が可能になるでしょう.それならば,アーキテクチャの乗り換えをためらう必要はありません.Linuxを採用することにより,プロセッサ・プラットホームの違いをそれほど気にする必要がなくなります.
写真1 FPGAベースのボード・コンピュータ
FPGAとして,米国Xilinx社のSpartan-IIEファミリを使用している.ソフト・プロセッサとして,同社の「MicroBlaze」を実装した.