Special
» 2015年06月30日 00時00分 UPDATE

宮崎 仁のQ&Aでよく分かるマイコン基礎の基礎:第10回 マイコンのメモリ容量って何? 大きいほどいいの?

[PR/EDN Japan]
PR

主記憶の容量は何を基準に決めれば良い?

Q:マイコンを選択するときには、メモリ容量も重要だと聞きました。メモリ容量ってどれぐらいあれば良いのですか?

A:メモリは、コンピュータの中でプログラムやデータを記憶するための場所です。メモリ容量は、それぞれの場所に記憶可能な情報の最大量を示します。コンピュータの中では情報をバイト単位で扱うことが多いので、メモリ容量もバイト単位で表示するのが一般的です。コンピュータにはいろいろなメモリが使われており、それぞれについてメモリ容量の意味が異なります。

 まず、コンピュータで一番重要なメモリとして主記憶(メイン・メモリ)があります。コンピュータの基本的な仕事とは、主記憶に置かれた機械語プログラムを、1つずつ取ってきて実行することです。そのコンピュータが実行できるプログラムの大きさは、主記憶の容量と密接な関連があります。


Q:実行したいプログラムの大きさに合わせて、主記憶の容量を選べば良いということですか?

A:マイコンの場合には、そう言って良いでしょう。マイコンの主記憶にはROM(マスクROMやフラッシュ・メモリ)が用いられていて、実行したい機械語プログラムを事前に固定的に書き込んでおきます。フラッシュ・メモリならプログラムの書き換えはできますが、その場合もコンピュータを動作させる前に書き換えは済ませておきます。動作中にプログラムを移動したり書き換えたりすることは、基本的にはありません。

 したがって、マイコンの品種を選ぶときには、実行したいプログラムの大きさを見積もって、それが収まるROM容量の品種を選びます。必要以上に大容量のROMを内蔵していても無駄になります。

photo 図1 マイコンの基本構成例

Q:ROM容量は大きいほど良いというわけではないのですね。

A:そうです。そのために、マイコンでは、小容量から大容量までROM容量を変えた品種をきめ細かく用意している製品が多いですね。例えば、テキサス・インスツルメンツ(TI)の16ビット超低消費電力MSP430™マイコンでは、最小512バイト(0.5Kバイト)から最大512Kバイトまで、内蔵フラッシュ・メモリの品種を取りそろえています。実際に開発したプログラムのサイズが大きくて入りきらない場合でも、大抵は1つ上のサイズの品種を選ぶことができます。

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

Q:なんと1000倍もの違いがあるのですね。

A:同じTIでも、高性能32ビット・マイコンでは全体にROM容量は大きくなり、最小8Kバイトから最大4Mバイトまでの内蔵フラッシュ・メモリの品種があります。

マイコンのデータ・メモリ

Q:マイコンの内蔵メモリは、ROMだけなのですか?

A:マイコンは、プログラムを保存するためのROM(フラッシュ・メモリを含む)とは別に、RAMも内蔵しています。プログラムを実行しているときには、データを書き込んだり読み出したりしたいことが頻繁にあります。そのとき、機械語命令でアドレスを指定して直接アクセスできるのは主記憶の範囲なので、大抵のマイコンは主記憶の一部として書き換え自由なRAMを内蔵しています。このようなRAMは、データ・メモリとか、ワーク・メモリ(作業用メモリ)と呼ばれることもあります。


Q:フラッシュ・メモリでも書き換えできるのではないですか?

A:フラッシュ・メモリは書き換え可能です。しかし、消去するときはブロック単位で一括消去しなければならないので、1バイトずつ自由に書き換えることができません。さらに、消去や書き込みにはとても時間がかかるので、プログラムの実行速度が大幅に低下してしまいます。加えて、書き換え回数の上限があるので、プログラム実行時に自由に書き換えるような使い方をするのは困難です。フラッシュ・メモリをROMの仲間に分類しているのは、そういう理由からです。

 マイコンの主な用途である機器制御プログラムでは、それほど大量のデータは扱いません。大抵のマイコンでは、数十バイトから数百Kバイト程度のSRAMをデータ・メモリとして内蔵しています。

 携帯情報機器やマルチメディア機器のように、組み込み機器でも特に大きなデータを扱いたい場合は外付けRAMが必要になります。その場合は、主記憶として大容量のDRAMを外付けして、データだけでなく、プログラムもDRAM上で実行する方がいろいろと有利になります。その場合には、プロセッサタイプのマイコンを使用し、全体の構成はパソコンと同じようになります。

photo 図2 パソコンの基本構成例

パソコンのメモリ容量

Q:パソコンの場合は、マイコンとは違うのですか?

A:パソコンの主記憶にはいつでも自由に書き換えできるRAM(一般的にはDRAM)が用いられていて、プログラムはハードディスクなどの外部記憶に置いておきます。パソコンを起動すると、まずコンピュータ全体を制御する管理プログラムであるOSがRAMに転送されて実行されます。以後はユーザーが実行したいアプリケーション・プログラムを選択するたびに、OSが自動的にそのプログラムをRAMに転送して実行します。実行時に必要なデータもRAM上に置きます。大容量のRAMの上でプログラムやデータを自由に扱うことができます。

 アプリケーションには、サイズが小さいものから大きいものまでさまざまなものがあります。最近ではマルチタスクOSが使われていて、複数のアプリケーションを同時に起動して実行できるので、アプリケーションを次々に起動していけば合計のプログラムサイズはどんどん大きくなります。扱いたいデータのサイズも、アプリケーションによって大きく変わります。それらを全て扱える容量のRAMを用意するには、とてもコストが高くなってしまいます。そこで、パソコンでは、実際のRAMの容量(最近のパソコンでは物理メモリと呼ぶ)よりも大きなプログラムやデータを扱う方法が工夫されています。例えば、昔は大きなサイズのプログラムを分割して少しずつRAMに展開するオーバレイの手法が用いられ、最近では大容量のハードディスクなどを仮想的に主記憶として扱える仮想記憶の手法が用いられています。

 これらの手法を使うと起動速度や実行速度が低下するので、RAM容量を大きくすればパソコンの動作が軽く、快適になると言われています。その点で、パソコンの場合はRAM容量が大きいほど良い、と言うこともできるでしょう。


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


Copyright © ITmedia, Inc. All Rights Reserved.


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

設計に役立つヒント集

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

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


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


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

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



facebook & twitter

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

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.