メモリの種類と特長:Q&Aで学ぶマイコン講座(37)(3/3 ページ)
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「マイコンに搭載されているメモリの種類と特長」についてです。
揮発性メモリ(Volatile Memory)
電源を切ったら内容が消えてしまうメモリ(記憶装置)です。マイコンの計算や演算の途中で使うデータは、電源が切れても残す必要がありませんので、一時的なデータを保存したい場合に使われます。マイコンが搭載するRAMのほとんどは揮発性メモリです。
RAM:Random Access Memory
Random Access Memoryの頭文字を取ってRAMと呼びます。読んで字のごとく「読み出しと書き込みを制限なくできるメモリ」です。RAMは内容を保持する方式で、大きく2種類に分れます。
1)SRAM(Static Random Access Memory)
メモリセルとしてフリップフロップ構成の論理を使い、スタティック(静的)にデータを保持するRAMです。フリップフロップと言っても、図3(a)のようなラッチ回路は論理規模が大きくなるので使われていません。通常はインバータのフィードバック型を使います。図3(b)は、代表的なRAMの例です。論理回路の出力がHレベルかLレベルかの状態によって、内容を保持するので、使いやすく、低消費電力を実現しやすいことが利点です。STM32ファミリーを含め、多くのマイコンの内蔵RAMはSRAMです。
2)DRAM(Dynamic RAM)
DRAMはあまりマイコンに内蔵されませんが、DRAMのコントローラーが周辺機能として内蔵されるので、紹介しておきます。
内容を保持するために、ダイナミック型のメモリセルを使用したRAMをダイナミックRAM(DRAM :Dynamic RAM)と言います。1つのトランジスタと小容量のコンデンサーで構成され、コンデンサーの電荷の有無によってデータを保持する方式です(図3(c))。
コンデンサーに充電された電荷は漏れ電流で、時間とともに減衰しますので、一定時間ごとにセルを元の状態に戻す必要があります。これをリフレッシュと呼びます。リフレッシュ動作は動的な動作ですのでダイナミック(Dynamic)という言葉が使われています。
メモリセルの構造が非常に簡単なため、面積を縮小でき、大容量のRAMを作れます。同じ面積ならSRAMの4倍の容量を作り込めます。ただし、ユーザーはリフレッシュ用のコントロール回路を用意しなければなりません。
STM32ファミリーを含め、いくつかのマイコンには、DRAMをリフレッシュしながら、アクセスできる周辺機能を持っています。
3)その他のRAM
マイコンに搭載されるRAMは上記の他に、不揮発性RAMであるFeRAM(強誘電体メモリ:Ferroelectric Random Access Memory)などもあります。現状、FeRAMなどの不揮発性RAMは特定のマイコンでしか使われていません。
まとめ
以上の内容を表1にまとめました。
分類 | 種類 | 記憶する内容 | 書き込み 方法 |
消去方法 | 長所 | 短所 |
---|---|---|---|---|---|---|
不揮発性メモリ | マスクROM | 命令コード 固定データ(定数など) |
製造工程の作り込み | 消去不可 | 安価 | マイコンの納期が長い 書き換え不可 |
フラッシュメモリ | 命令コード 固定データ(定数など) 電源が切れても消したくないデータ |
電気的 | 電気的 | 書き換え可能 大容量 |
消去単位が大きい | |
EEPROM | バイト単位で消去可能 | 小容量 | ||||
EPROM | 命令コード 固定データ(定数など) |
紫外線 | 書き換え可能 | 高価 | ||
OTP | 消去不可 | EPROMよりも安価 | 消去不可 | |||
揮発性 メモリ |
SRAM | 電源が切れても消えてよい命令コードやデータ | 電気的 (ソフトウエア) |
電気的 (ソフトウエア) |
消費電流小 | モジュール面積が大きい |
DRAM | 高密度 | リフレッシュが必要 |
筆者プロフィール
菅井 賢(すがい まさる)
(STマイクロエレクトロニクス マイクロコントローラ製品部 アプリケーション・マネージャー)
日系半導体メーカーにて、25年以上にわたりマイコンの設計業務に携わる。その後、STマイクロエレクトロニクスに入社し、現在までARM Cortex-Mプロセッサを搭載したSTM32ファミリの技術サポート業務に従事。ARMマイコン以外にも精通しており、一般的な4ビットマイコンから32ビットマイコンまで幅広い知識を有する。業務の傍らマイコンに関する技術論文や記事の執筆を行っており、複雑な技術を誰にでも分かりやすい文章で解説することがモットー。
(次の記事を読む)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- CISCとRISC、何が違う?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。記念すべき1回目は、マイコン初心者の方からよく質問される「CISCとRISCの違い」についてです。 - DMAのメリットって何?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級〜中級者の方からよく質問される「DMA(Direct Memory Access)のメリットって何?」です。 - RAMで命令を実行する方法
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「RAMで命令を実行する方法」です。 - 90nmプロセスの“90nm”ってどこの長さ?――マイコンの作り方
マイコンを作る工程をプロセスと呼びます。マイコンは多くのMOSトランジスタで構成されています。MOSトランジスタは、厳密にはMOSFET(Metal Oxide Semiconductor Field Effect Transistor)ですが、ここでは省略してMOSと呼びます。具体的には、シリコン(元素記号Si)上にMOSを作る工程がプロセスの主な工程になります。MOSの詳しい説明はいろいろな記事が既にありますので、今回はマイコンを使うエンジニアが必要とする知識で、プロセスに関係するものを説明します。 - CPUの中枢「ALU」を作ってみよう
CPUはマイコンの中枢ですが、さらにその中で演算を行うユニットがALU(Arithmetic and Logic Unit)です。マイコンの核に相当するといってもよいでしょう。実際の算術演算、論理演算はALUで行われます。今回は、ALUの中身がどうなっているかを説明します。 - スタックの役割
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「スタックの役割」です。