● データ格納用メモリは大部分がSRAM

Q: マイコンのプログラム格納用メモリはフラッシュメモリが主流だそうですが、データ格納用メモリにはどんなメモリが内蔵されているのですか?

A: 大部分がSRAMと言って良いでしょう。

 

図 マイコンの基本構成例


Q: ここでもDRAMは使わないのですね。どうしてですか。

A: 最大の理由は、DRAM回路はマイコンの大部分を占める大規模ロジック回路とは半導体製造プロセスが大きく異なるので、マイコンにDRAMを内蔵しようとすると製造コストが高くなってしまうことです。

もともと、自由に書き換えが可能なRAMの中でDRAMが広く普及したのは、1ビットあたりの製造単価が安く、最も大容量の製品を実現できたからです。1ビットのDRAMセルは、1個のトランジスタと1個のキャパシタで構成される1T1C構成で実現できます。構造が単純なので小型化や高集積化が容易です。ただし、このキャパシタを作るには、トランジスタ主体の大規模ロジックとはかなり異なる製造プロセスが必要です。

それに対して、SRAMセルは46個のトランジスタを組み合わせて1ビットの情報を記憶します。同じチップサイズなら、DRAM1/4程度の記憶容量しか得られません。ただし、SRAMはトランジスタだけで構成されるので大規模ロジックと混載が容易で、マイコンの内蔵メモリには最も適しています。

さらに、SRAMは高速動作が可能で、マイコンのクロック速度に合わせてアクセスできる点でも内蔵メモリに適しています。CPU内部のレジスタや、キャッシュメモリに使われているのもSRAMです。DRAMには、動作速度が遅いという問題があります。

実は、プログラム格納用メモリとして主流のフラッシュメモリも、製造プロセスは大規模ロジックとかなり違うので、マイコンの内蔵メモリとしてはちょっとコストが高くつきます。また、書き換えに時間がかかるだけでなく、読み出しの速度も比較的遅いという難点があります。ただ、不揮発性で、かつ電気的に消去と書き換えが容易にできる利点がきわめて大きいので、内蔵メモリとして広く使われているのです。

Q: マイコンの場合は、DRAMのメリットはそれほど大きくないのですか?

A: パソコンの場合、プログラムはすべてRAM上にロードしてから実行します。実行したいプログラムのサイズも、プログラムの中で扱いたいデータ量もきわめて大きいので、RAMとしてはビット単価が安いDRAMが選ばれます。それも、1個のDRAMチップでは容量が足りないので、数個のDRAMチップでDRAMモジュール(DIMMなど)を構成し、さらに必要に応じて複数のDRAMモジュールを組み合わせて容量を拡張します。

Q: 最近のパソコンは、4G8GバイトのDRAMを搭載している製品も多いですね。

A: マイコンの場合には、1個のチップの中にCPUROM(フラッシュメモリ)、RAMSRAM)、各種I/Oをすべて内蔵しますから、ROM容量もRAM容量もあまり大きくすることができません。また、プログラムは内蔵ROM上で実行し、RAMの用途はデータ格納だけなので、その点からも大容量のRAMは必要ありません。フラッシュメモリは『不揮発』、『書き換え可能』という機能的な利点を持っているのに対して、DRAMの利点は『大容量』というだけなので、マイコンに内蔵するメリットが薄いのです。

 

● 不揮発のデータ格納用メモリもある

Q: データ格納用メモリは、SRAMだけなのですか?

A: マイコンに内蔵される揮発性のデータ格納用メモリは、SRAMに代わるものはありません。ただ、電源を切っても内容が保持される不揮発性という点からは、SRAM以外のメモリが用いられています。

プログラム格納用のフラッシュメモリは不揮発かつ書き換え可能ですが、ブロック単位で消去してから書き換えることが必要なので、バイト単位でデータを保存するには不向きです。バイト単位で保存しておきたいデータがある場合には、一般的には外付けEEPROMを利用します。

QEEPROMとはどんなものですか?

A: データを記憶する原理はフラッシュメモリと同じです。ただ、フラッシュメモリはデータ容量をなるべく大きくするために、読み出しはバイト単位でできますが(バイト単位で読み出しできるのはNORフラッシュだけ)、消去/書き換えはブロック単位で行うことにして内部構造を簡略化しています。EEPROMは、読み出しも消去/書き換えもバイト単位で実行可能です。そのかわり、1ビットあたりのトランジスタ数や配線数が増えて、あまり大容量にできないのが難点です。さらに、フラッシュメモリと同様に消去/書き換えに時間がかかります。そのため、以前はごく小容量(数百~数千バイト)のデータ保存用EEPROMが作られて、外付け用として使われていました。

これらの外付けEEPROMは、SPII2Cといった簡易的なシリアル・インターフェイスを持つものが多く、マイコンのSPI/I2Cインターフェイスとは容易に接続できます。

最近では、不揮発のデータ格納用メモリを使いたいという要望も多くなっており、プログラム格納用とは別に、小容量のデータ格納用として、フラシュメモリやEEPROMを内蔵するマイコンもあります。

また、MSP430FR2x/4x/5x/6xなどのFRAM搭載マイコンでは、FRAMを不揮発かつ超低消費電力のデータ格納用メモリとして活用することができます。

 

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

*ご質問は E2E 日本語コミュニティにお願い致します。