マイコンという名のLSIを知る ―― ディジタル機器に不可欠なデバイスの利点と仕組み

宮崎 仁

理系出身者であれば「マイコン」という言葉を知らない人は,いないと思います.しかしこれまでマイコンを使った設計をしたことのない人は少なくないと思います.そこでここでは,マイコンがどのようなLSIか,それで何ができるのか,どのような仕組みになっているのかといった初めの一歩を解説します.(編集部

1.マイコンを使う意味を知る

●至る所で使われている

 図1に,マイコンがどのようなところで,何のために使われているかの例をあげてみました.これはほんの一例にすぎません.こんなものにもマイコンが入っているのかと驚くぐらい,さまざまな製品に内蔵されていることが分かります.


図1 マイコンの用途
これはほんの一例にすぎない.さまざまな製品に内蔵さていることが分かる.


 今では1台の製品に複数のマイコンを内蔵することも珍しくありません.例えば,自動車では100個以上のマイコンを使っていることもあります.わたしたちの生活は膨大な数のマイコンによって支えられているといえそうです.

 マイコンは,ソフトウェアを実行するために作られたLSIです.ソフトウェアは,単純な命令を順番に書き並べた手順書のようなものです.論理回路の知識や電気的な知識がなくても作ることができます.

 マイコンは,与えられたソフトウェアを何度でも繰り返し正確に実行できます.また,ソフトウェアの入れ換えや実行は,回路や配線を変更せずに簡単にできます.

●ソフトウェアで機能を定義できる

 機能を任意に変更できるLSIは,マイコン以外にもたくさんあります.マイコンの大きな特徴は,回路(ハードウェア)を作った時点では何の機能も持たないことです.マイコンの機能はすべてプログラム(ソフトウェア)によって定義する必要があります.ハードウェアがなければソフトウェアは実行できませんし,ソフトウェアがなければハードウェアは動作できません.ハードウェアとソフトウェアは持ちつ持たれつの関係です(図2).


図2 ハードウェアとソフトウェア

ハードウェアがなければソフトウェアは実行できませんし,ソフトウェアがなければハードウェアは動作できない.

 マイコンを使って何ができるかの可能性は,広い意味でのハードウェアに依存しますが,実際にどんな仕事をするかはソフトウェアで決まります.

 マイコンにヒータがつながっていれば加熱することができますし,温度センサがつながっていれば温度を測ることができます.それらを組み合わせれば,温度を制御できます.しかし,実際に加熱し,温度を測り,制御する仕事をするのはソフトウェアです.

 従って,マイコンを使うためには,最初はハードウェア設計とソフトウェア設計の二つの手間が必要です.ただし,いったんハードウェアができてしまえば,同じハードウェア上でさまざまなソフトウェアを実行できます.制約はありますが,逆に,同じソフトウェアで別のハードウェアを動作させることも不可能ではありません.

●ハードを意識せずに機能を定義できる

 ハードウェアとソフトウェアに分かれている利点は,回路や配線を意識せずに自由に機能を定義できることです.特に,ソフトウェアは1列に並べた命令を順次実行する基本構造(アルゴリズム)を持ち,時間的な順序関係が明確です.

 従って,同時に動いている複数の回路の順序関係を気にすることなく,大規模で複雑な機能を分かりやすく記述できます.これは,裏返せば高速動作が難しいということでもありますが,マイコンの進化(ビット数の増加やクロックの高速化)によってソフトウェア実行はどんどん高速になっています.

●多人数で開発しやすい

 また,もう一つの利点として,ハードウェアとソフトウェアを分けることによって,複数の技術者で開発を分担するのが容易になります.

 ハードウェア設計とソフトウェア設計では求められる知識やセンスに違いがあります.ハードウェアとソフトウェアを分けることができれば,適材適所で効率良く開発を進められるようになるでしょう.

 もちろん,両方を一人で一貫して開発することもよくあります.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日