<IT情報・ハードウェア編> IT情報TOPヘ
「はじめチョロチョロ、なかパッパ、ブツブツいうころ火を引いて、赤子泣いてもフタ取るな」 カマドにタキギでご飯を炊いていた頃の、「火加減」を教える昔懐かしい言葉です。
マイコン(Micro Computer)が発明されて、もう40年近くなります。マイコンが日本で最初に電化製品に応用されたのは、確か炊飯器だったように思います。「マイコン=コンピュータ制御でおいしいご飯が炊けます」の宣伝文句もあって、マイコン搭載の炊飯器は飛ぶように売れた記憶があります。マイコンブームの走りでした。
はたして、マイコン制御の炊飯器で炊いたご飯は、本当においしいのでしょうか。また、マイコンもコンピュータだといわれるが、どう考えてもパソコンみたいなコンピュータが、炊飯器の中に入っているとは思えません。今回は、こんな率直な疑問を考えてみます。併せて、マイコンの中身も覗いてみましょう。
<マイコン制御炊飯器のご飯はおいしい?>
当時の制御回路はトランジスタをメインにした電子回路(ハードウェア)で組んでいました。もちろん、「はじめチョロチョロ・・・」の機能を電子回路で作ることはできますが、価格が高くなり経済ベースに合いません。この時期に現れたのがマイコンでした。マイコンはコンピュータの機能を半導体
ICで作ったものです。理屈はおいおい説明しますが、マイコンを使えば、小型で安価に、しかも短期間にその機能を開発できます。
このマイコンの発明は、制御システムの設計者にとって、まさに革命的なエポックの到来でした。マイコンを使って、従来の電子回路と同じ機能を得ることができる のです。以降、制御システムの設計は、次の2つの方法を使い分け、あるいは併用して、用途に合った最適な制御システムを開発するのが一般的になりました。
①トランジスタをメインにした電子回路(ハードウェア)による従来の方法
②マイコンのプログラム(ソフトウェア)による新しい方法
マイコンのプログラム(ソフトウェア)によって、制御システムを作ることを「マイコン制御」 と呼びます。マイコンは立派なコンピュータですから、そのプログラムを変更するだけで、使用目的に合った機能に変えることができます。従って、制御システムの開発が、より安価に短期間にできてしまいます。炊飯器の場合は、マイコンを使うことで、手ごろな価格で「はじめチョロチョロ・・・」の機能を実現できたということです。
当時の開発者から、裏話を聞いたことがあります。本当においしいご飯を炊く秘訣は、ヒータの「火力」にあるそうです。ところが大きな「火力」は、大きなヒータを要し価格が高くなってしまいます。そこで、実際のマイコン制御炊飯器では、「なかパッパ」のところは少し端折って、「マイコン制御」を前面に出してPRに努めたようです。現在のIH炊飯器では十分な「火力」もあり、正真正銘の「はじめチョロチョロ・・・」の全機能が実現できているそうです。
<マイコンは本当にコンピュータ?>
ここで、マイコンすなわちマイクロコンピュータと、一般のコンピュータの構成を比較してみましょう。まず、一般のコンピュータは、すでにおなじみの下図のような構成になっています。
これに対して制御に使うマイコンは、説明の都合上少し表現を変えていますが、下図のように一般のコンピュータと原理的には全く同じ構成です。コンピュータとしての動作原理も両者は全く同じです。ただ、マイコンには補助記憶装置がありません。
上図をもう少し説明します。CPU(中央処理装置)とメモリ(主記憶装置)は同じ構成です。入力装置・出力装置が、マイコンでは入出力ポート・入出力機器と表現は違いますが、これも同じ構成です。
一般のコンピュータでも、入力装置・出力装置で汎用化できる部分を入出力ポートとしてIC化していますが、マイコンではこの部分を意識的に表に出しています。また、入出力はキーボードやディスプレイでなく、温度を検知してモータの回転速度を変えるなど、制御イメージを出すため入出力機器という表現を使いました。
上図マイコン構成図のCPU・メモリ・入出力ポートをまとめてLSI化したものが、ワンチップマイコンです。CPUのみを ICにしたものもマイコンといいますが、マイクロプロセッサと呼ぶ場合もあります。また、パソコンのCPUとの区別を強調するときは、「組み込みマイコン」と呼ぶこともあります。
現在の電子機器は、このマイコンを搭載していないものはないといってもいいでしょう。家電機器はもちろん、携帯電話、自動改札機、自動車エンジンから、航空機やロケット制御までマイコンを搭載しています。マイコンを使わずに、経済ベースでこれらの機器を作ることは不可能なのです。
<マイコンのプログラムはROMにおく>
組み込みマイコンに特徴的なことは、ハードディスクを介さず、プログラムを直接メモリに格納する ことです。先に、「マイコンには補助記憶装置がありません」と書きましたが、マイコン制御では使用目的ごとに1つのプログラムしか実行させまませんから、その必要がないわけです。
ただ、プログラムを格納するメモリは、RAM(Random Access Memory)のように電源OFFでプログラムが消えてしまったら困ります。うまいことに、電源OFFでもプログラムが消えないROM(Read Only Memory)と呼ばれる半導体メモリがあり、このROMにマイコンのプログラムを格納します。
また、ROMはその名の通り読み出し専用で、ユーザー側でプログラムを書き込む(書き換える)ことができません。ユーザー側でプログラムを変更する必要もなく、書き換えられても困ります。マイコンのプログラムをROMに搭載することは、このように全て理にかなっており、ROMにプログラムを格納することを「プログラムを固定する」ともいいます。
パソコンとマイコンは原理的には同じであるとしても、このように物理的イメージは両者で全く異なります。使用実態と構成面からの主な相違点を下表にまとめます。
さて、家電製品など大量生産される商品には、ワンチップマイコンがよく使われます。下図に最近のPanasonicの汎用8ビットワンチップマイコンの例を示します。
Panasonic 8ビットマイコンの「メモリ空間」は、プログラムをおくROMと、一時的なデータをおくRAMからなります。家電製品などのプログラム量は、多くて数100KB程度です。パソコンでは1つのプログラム量が、数MB~数100MBが普通ですから、ゼロが2つほど少ないことが分かります。また、コンピュータの動作速度を示す「クロック周波数」も、パソコンに比べゼロが2つほど小さくなります。当然ですが、このマイコンの価格はパソコン用CPUに比べて、ゼロが2つほど小さくなります。
マイコンの炊飯器への応用例を下図に示します。ここで、「LCDドライバ内蔵マイコン」とあるのは、MN101Cの機能に周辺機器も含めてワンチップにした炊飯器専用マイコンを意味しています。また、A/Dは温度などのアナログ量をデジタル量に変換するA/D変換器、IRQは外部機器からの割り込み入力、LCD(Liquid
Crystal Display)液晶ディスプレイ、IGBT(Insulated Gate Bipolar Transistor)は電力制御用のパワートランジスタです。
<マイコンにもOSはある?>
さて、パソコンでは必ずOS(基本プログラム)を搭載していますが、マイコン制御ではどうでしょうか。ちょっと高度な制御システムでは、必ずマイコンが使われています。この制御システムでは、限られた時間内に素早く応答しなければならない処理がほとんどです。
パソコンのように、「速い方がよい」だけでは済まされません。このようなシステムをリアルタイムシステムといい、この目的のためのOSをリアルタイムOSといいます。少し古いデータですが、リアルタイムOSの使用状況のデータがあります。
用途によっても異なりますが、比較的単純な家電製品などでは、OSなし(上図灰色部分)で全ての機能をプログラミングしてます。ただ、高度な用途の多くにはリアルタイムOSが使われます。上図の黄色の「ITRON仕様」は、リアルタイムOSの代表です。青色の「その他」は、機器メーカー・CPUメーカー・ソフトメーカーなどが作ったOSを使っているということです。
(注)トロン
トロン(TRON:The Real-time Operating system Nucleus)は、1984年に東京大学の坂村健教授(写真)によって提唱された、日本発の汎用的OSです。
当初はMicrosoftのWindowsに対抗する意図もありましたが、現在ではリアルタイムOSとして世界に認められ、「ITRON」(Industrial TRON)は、組み込みマイコン分野でのデファクトスタンダード(defact
standard:事実上の標準)になっています。ロイヤリティーを取らない完全オープンアーキテクチャーで、出荷台数ではWindowsを遙かに超える量が出ています。