メディア

第3回 マイコンのプログラムはどこにあるの? PCのプログラムは?宮崎 仁のQ&Aでよく分かるマイコン基礎の基礎

» 2014年11月25日 00時00分 公開
[PR/EDN Japan]
PR

マイコンのプログラムはどこにある

Q:マイコンを使うということは、プログラムを作って動かすことなのですね。では、作ったプログラムはマイコンのどこにあるのですか?

A:マイコンは、大きく分けて、CPU(中央処理装置)、メモリ(記憶装置)、I/O(入出力装置)という3つの部分からできています。このうち、メモリがプログラムを置くところで、CPUがプログラムを実行するところです。ひと言で言うと、マイコンは「メモリに置いたプログラムを、CPUが自動的に実行する装置」です。これは、マイコンに限らず、PCでもスーパーコンピュータでも、基本的には同じです。

 その中で、さまざまな機器の制御に使われている「シングルチップ・マイコン」「マイクロコントローラ」と呼ばれるものは、CPU、メモリ、I/Oの3つの要素をすべて1個のLSIにまとめています。小型で安価なだけでなく消費電力もとても小さいので、たとえば電子体温計のような装置を、長期間電池の交換なしに使い続けることができます。テキサス・インスツルメンツ(TI)のMSP430シリーズは、特に小型、超低消費電力かつアナログ計測に強いマイコンとして知られています。

図 電子体温計への応用例<構成>
ボタン電池2個で10000回程度測定可能。家庭での使用ならほぼ電池交換は不要だ。

 さて、最近ではDVD-ROMなどの光学メモリ、ハードディスクなどの磁気メモリ、SSDやUSBメモリ、SDカードなどの半導体メモリというように、さまざまな記憶装置が身近で使われています。プログラムを置いて実行するためのメモリは、特にメイン・メモリ(主記憶装置)と呼ばれて、他の記憶装置と区別されます。

 上で説明したCPU、メモリ、I/Oという3分類でいう「メモリ」とは、プログラムを置いて実行するためのメモリ、すなわちメイン・メモリを指します。DVD-ROM、ハードディスク、SSD、USBメモリ、SDカードなどはいずれもI/O(入出力装置)の一種として扱われており、外部記憶装置と総称されます。

マイコンにはどんなメモリが必要か

 PCでは、ユーザーがさまざまなアプリケーション・プログラムを自由に取り換えて実行できるように、いろいろな種類の外部記憶装置が活用されています。一方、電子体温計のように、マイコンを組み込んだ機器(一般に組み込み機器と呼ばれる)の場合、電源を入れれば決まったプログラムを実行するだけで、ユーザーが自由にアプリケーション・プログラムを取り換えたりすることはありません。そのため、外部記憶装置を持たない機器が多く、メモリとしてはマイコンに内蔵されたメイン・メモリだけしか使われていない機器も少なくありません。

 また、電源をオフにしたり、電池が消耗してしまったときにプログラムが消えてしまっては困ります。半導体メモリには、自由に読み書きできる代わりに電源を切ると内容が消えてしまうRAM(DRAM、SRAM)と、書き込みは自由にできない代わりに電源を切っても内容が消えないROMがあります。一般のマイコンに内蔵されているメイン・メモリは、基本的にROMのタイプです。

 ただし、ROMといってもまったく書き込みができなくても困ってしまいます。少なくとも、自分でプログラムを開発した後は、でき上がったプログラムをマイコンに書き込まなければ、動作させることができません。以前は、1回だけ書き込めるが消去や書き換えができないPROM(ワンタイムPROM)や、ガラス窓を通して紫外線を照射して消去できるUV-EPROMというようなタイプが用いられていましたが、最近では電気的に複数回書き換え可能なフラッシュ・メモリが広く使われています。

 フラッシュ・メモリは、消去にやや時間がかかること、ブロック単位で一括消去が必要なこと、書き換え回数が無制限ではないことなどから、RAMのように自由に読み書きはできません。ただ、初期のフラッシュ・メモリは書き換え回数が1000回程度と少なかったのですが、最近では10万回以上のものもあり、SSD、USBメモリ、SDカードなどの外部記憶装置にも広く使われています。

 TIのMSP430シリーズでも、ほとんどの品種がメイン・メモリとしてフラッシュ・メモリを搭載しています。さらに、MSP430シリーズでは、電源をオフにしても内容が消えず、かつDRAMやSRAMのように1バイト単位で自由に読み出し、書き込みができ、超低消費電力で動作するFRAMを採用した製品もあります。

ファミリ 内蔵プログラムメモリ 特長
MSP430F1x フラッシュ1KB〜60KB 8MHz、ベーシック
MSP430F2x/F4x フラッシュ1KB〜120KB 8MHz〜16MHz、高機能
MSP430FRxx FRAM 4KB〜128KB 8MHz〜24MHz、消費電力が極小
MSP430G2x フラッシュ0.5KB〜56KB 16MHz、バリュー・ライン
MSP430i2x フラッシュ16KB〜32KB 16MHz、拡張温度範囲、産業用
MSP430F5x/F6x フラッシュ8KB〜512KB 25MHz、高パフォーマンス
表 フラッシュ・メモリ内蔵とFRAM内蔵のMSP430シリーズの例

PCのメモリはマイコンとは違う

Q:PCのプログラムも、マイコンと同じようにフラッシュ・メモリに書き込まれているのですか?

A:これは、「そうです」とも「違います」とも言えます。PCの場合は、プログラムといってもただ1つではなく、たくさんの種類のプログラムが組み合わされて動作しています。そして、いろいろなプログラムを自由に取り換えて使用できるように、構成が工夫されています。

 PCでは、とてもサイズが大きいプログラムを実行したいことが多いので、メイン・メモリはCPUに内蔵されず、大容量のDRAM(DIMMとかSO-DIMMというモジュール型のメモリ)を装着して使います。PCの主なプログラムにはOS(WindowsやLinux)とアプリケーションの2種類がありますが、どちらも基本的にはハードディスク(またはSSD)にインストールして使います。ただし、ハードディスク(またはSSD)上で直接実行されるわけではなく、必要なときに、必要な部分だけをメイン・メモリにコピーして動作させます。必要なくなればメイン・メモリ上のプログラムは消去され、他のプログラムに取り換えられます。

 さらに、PCには、OSやアプリケーションより前に、電源を入れると最初に起動するプログラムとして、BIOS(基本I/Oシステム)と呼ばれるプログラムがあります。BIOSは、昔は書き換えできないROMを使っていましたが、最近ではフラッシュ・メモリが使われています。電源を入れた直後には、DRAMには実行できるプログラムが入っていないので、最初はフラッシュ・メモリのBIOSが起動します。次に、BIOSの内容がDRAMにコピーされて、それからOSがハードディスクからDRAMに読み込まれます。

図 PCのメモリの使い方

MSP430 超低消費電力マイコン・ファミリ
MSP430 LaunchPadバリュー・ライン開発キット
新FRAMマイコン:「MSP430FR5969」
TIのマイコン製品の詳細
■TIのツールの購入はこちらから:TI eStore


※MSP430はTexas Instruments Incorporatedの商標です。その他すべての商標および登録商標はそれぞれの所有者に帰属します。


Copyright © ITmedia, Inc. All Rights Reserved.


提供:日本テキサス・インスツルメンツ株式会社
アイティメディア営業企画/制作:EDN Japan 編集部/掲載内容有効期限:2015年3月31日

設計に役立つヒント集

宮崎 仁のQ&Aでよく分かるマイコン基礎の基礎:
第24回 割り込みっていろいろあるのですか?どんな種類があるか教えてください。

今回は、外部割り込み、内部割り込み、ソフトウェア割り込みについて詳しく解説しています
全文を読む


電源IC選択のヒント集
電源IC 使用時の注意点をわかりやすく説明しているほか、使用時に発生する可能性のあるさまざまなトラブルとその対処法についても紹介しています。ぜひご利用ください。ダウンロードには myTI アカウントが必要です。
Part 1をダウンロード
Part 2をダウンロード


アナログ回路設計式一覧ポケット・ガイド
日本語版 PDF

英語版で高い評価を受けてきたポケット・ガイドの日本語版が完成しました。基板レベルやシステム・レベルの回路設計でよく使われるアナログ設計式を紹介しています。ダウンロードには myTI アカウントが必要です。
ダウンロード



facebook & twitter

製品情報、セミナーや展示会などのイベント情報をお知らせしています。

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.