DRAMとSRAMの違いとは?組み込み開発での使い分けをわかりやすく解説

目次

メモリ領域解説シリーズ

本記事は「メモリ領域解説」シリーズの1つです。

メモリ領域解説シリーズの全体像はこちら

RAMにはいくつか種類があり、代表的なのが DRAM と SRAM です。

どちらもRAMですが、仕組みや特性が大きく異なります。
この違いは、組み込み開発の設計にも関わってきます。

この記事では、

・DRAMとSRAMの違い
・それぞれの用途
・組み込み開発での使い分け

をわかりやすく解説します。

ROM・FLASH・RAMの違いについてはこちらの記事で解説しています。

初心者さん

DRAMとSRAMって何が違うんですか?

エンジニアくん

一番の違いは「リフレッシュが必要かどうか」だね。

初心者さん

リフレッシュ?

エンジニアくん

DRAMは定期的にデータを読み書きし直さないと消えちゃうんだ。
だから制御回路が必要になる。

初心者さん

え、面倒ですね…

エンジニアくん

その代わり容量を大きくできるんだよ。
PCのメモリはほぼDRAMだね。

初心者さん

じゃあSRAMは?

エンジニアくん

SRAMはリフレッシュ不要で高速。
その代わり高価で容量が小さい。

DRAMとSRAMの違い(概要)

最初にDRAMとSRAMの違いをまとめます。

この記事ではこの違いについて解説していきます。

項目DRAMSRAM
リフレッシュ必要不要
速度遅い速い
容量大きい小さい
コスト安い高い
用途メインメモリキャッシュ・内部RAM

DRAMとは

Dynamic RAM の略です。
コンデンサに電荷としてデータを保存します。

しかし電荷は時間とともに抜けてしまうため、
定期的なリフレッシュが必要になります。

特徴

・大容量
・低コスト
・遅い
・リフレッシュ必要

主な用途

・PCのメインメモリ
・外部RAM
・Linux搭載マイコンのRAM


SRAMとは

Static RAM の略です。
フリップフロップ回路でデータを保持します。

リフレッシュが不要で、高速にアクセスできます。

特徴

・高速
・小容量
・高コスト
・リフレッシュ不要

主な用途

・CPUキャッシュ
・マイコン内部RAM
・レジスタ


組み込み開発での使い分け

組み込みでは用途で分かれます。

SRAM
→ 高速処理用
→ スタック
→ 割り込み処理

DRAM
→ 大容量データ
→ フレームバッファ
→ Linux


まとめ

DRAMとSRAMの違いは次の通りです。

・DRAMは大容量で安いが遅い
・SRAMは高速だが高価で小容量
・組み込みでは用途で使い分ける

この記事が参考になった方へ

メモリ領域については他の記事でも解説しています。

メモリ領域解説シリーズの全体像はこちら

技術に関するご相談・開発・自動化ツール作成・記事執筆などのご依頼も承っています。

小さなご相談からでもお気軽にご連絡ください。

お問い合わせはこちら

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする


目次