投稿履歴
- 【A5M2】テーブルにNULL値を入力する方法
- 【Linux】標準出力と標準エラー出力の違い
- DRAMとSRAMの違い・覚え方を徹底解説!
- 【サクラエディタ】スペースとタブを置換する方法
- 【Excel】VBAの起動方法(開発タブが表示されない場合)
- 今日から使える!Gitコミットメッセージの書き方と型
- 【Excel】区切り指定でCSVを貼り付ける方法
- 【Linux】テキストファイルの重複行を削除する方法
- 【サクラエディタ】重複行を削除する方法
- Excelのプルダウンリストをショートカットで操作・管理する
- 【サクラエディタ】タブ表示の設定と使いこなしガイド
- 【サクラエディタ】矩形選択(ボックス選択)を完全ガイド
- 【サクラエディタ】Grep機能の使い方を初心者にもわかりやすく解説!
- TCPとUDPの違いと覚え方:信頼性 vs スピードを徹底解説
- Pythonの仮想環境を終了(deactivate)する方法
- 【Linux】zipファイルの圧縮方法(zipコマンド)
- LinuxでZIPファイルを解凍する方法【unzipコマンド】
- 暗号化アルゴリズムの種類:代表的なアルゴリズムを紹介!
- 【Oracle】SELECT結果を同一テーブルへINSERTする
- 【Oracle】ROWNUMとROW_NUMBERの違いと使い分け
コンピュータやスマートフォンなど、現代のデジタルデバイスに欠かせない「メモリ」。 その中でも特に重要な揮発性メモリが DRAM(Dynamic RAM) と SRAM(Static RAM) です。
どちらも「データを一時的に保持するメモリ」ですが、仕組みや用途は大きく異なります。 本記事では、構造・動作原理から速度・コスト・用途までわかりやすく比較します。
記事のポイント
- DRAMとSRAMはいずれも揮発性メモリだが、構造・速度・用途が異なる
- DRAM:1T1C構造で容量を大きくしやすく、安価・大容量だがリフレッシュが必要で速度は遅め
- SRAM:6Tフリップフロップ構造で電源供給中は安定してデータ保持、高速だが高コストで小容量
- 主な用途
- DRAM → PC/スマホのメインメモリ
- SRAM → CPUキャッシュメモリ
- メモリ階層により、速度とコストの最適バランスを実現
- 覚え方:「D(でかい容量)R(リフレッシュ必要)→ DRAM、S(スピード重視)RAM → SRAM」
DRAMとSRAMは揮発性メモリ
DRAMとSRAMはどちらも電源が切れるとデータが失われる「揮発性メモリ」です。違いは、どの層で使われるかと動作方法にあります。
| 項目 | DRAM | SRAM |
|---|---|---|
| メモリ分類 | 揮発性メモリ | 揮発性メモリ |
| 主な用途 | メインメモリ | CPUキャッシュ |
| 電源OFF時 | データ消失 | データ消失 |
メモリ階層(上から高速)
CPUレジスタ(最速) ↓SRAM:CPUキャッシュ ↓DRAM:メインメモリ ↓SSD/HDDDRAM(Dynamic Random Access Memory)の基本
DRAMは、電荷をキャパシタに蓄えて情報を保持する方式のメモリです。時間とともに電荷が漏れるため、 周期的なリフレッシュ動作(読み直し・書き戻し) が必須です。この特性により「Dynamic(動的)」という名前が付けられています。
DRAMの構造・仕組み
DRAMは、トランジスタ1個+キャパシタ1個のシンプルな構造(1T1Cセル)でデータを保持します。
- キャパシタ:電荷の有無でデータ(0/1)を表現
- 1bitの情報を1つのキャパシタと1つのトランジスタで保存
- 電荷が減るため、定期的にリフレッシュが必要
1T1CはDRAMセルの回路構造
1T1C構造とは、DRAMセル(メモリの最小単位)の回路構造を表す言葉で、1個のトランジスタ(T)と1個のキャパシタ(C) で1ビットの情報を保持する方式を指します。
| 要素 | 役割 |
|---|---|
| 1T(1 Transistor) | 電荷の出し入れを制御するスイッチ |
| 1C(1 Capacitor) | 電荷を蓄える「小さな電池」=0/1を表す |
電荷の有無でデータを記憶します。
- 構造が単純 → 小さく作れる → 大容量化しやすい
- キャパシタの電荷は時間とともに減るため → 定期的にリフレッシュが必要
- 低コスト/大容量向き
電気の出し入れを「蛇口(トランジスタ)」と 水の溜まりを「コップ(キャパシタ)」に例えるとイメージしやすいです。
| 特徴 | 説明 |
|---|---|
| 構造 | 1トランジスタ+1キャパシタ |
| メリット | 高密度・大容量化が簡単・低コスト |
| デメリット | 電荷が減るのでリフレッシュが必要 |
DRAMの特徴:リフレッシュが必要
- 破壊読み出し: DRAMはデータを読み出す際にキャパシタの電荷を失ってしまうため、読み出し後にデータをメモリセルに書き戻す動作(リストア動作)が必要である
- 高集積度:1bitあたりの回路が小さく、大容量に向いている
- コストが安く、一般用途のメインメモリとして普及
- リフレッシュ動作のため速度がSRAMより遅い
- 消費電力は用途に応じては高くなる
- アクセス速度はSRAMより遅い
DRAMの用途
- PC・スマホのメインメモリ(主記憶装置)
- GPUメモリ(GDDRもDRAM技術の一種)
- サーバー向け ECCメモリ
SRAM(Static Random Access Memory)の基本
SRAMは、トランジスタの状態で情報を保持する方式です。電荷保持の必要がないため、リフレッシュ不要で、動作は安定して高速です。「Static(静的)」は状態が安定して変化しないことを意味します。
SRAMの構造・仕組み
SRAMはフリップフロップ回路(トランジスタ6個など) でデータを保持します。
- 1bitの情報を通常6つのトランジスタで構成(6Tフリップフロップ構造)
- 電源がある限りデータを保持
- 情報を保持するためのリフレッシュは不要
DRAMが電荷の有無でデータ保持(1T1C)するのに対し、 SRAMはフリップフロップ回路で状態そのものを保持します。
6Tフリップフロップ構造
6Tフリップフロップ構造 とは、SRAMセル(メモリの最小単位)の回路構造で、6個のトランジスタ(6T: 6 Transistors) を使って1ビットのデータを保持する方式のことです。
電源が供給されている限り回路の状態(電気信号)を維持できる
という特徴があります。
つまり、電気信号が安定した形で「0」または「1」を保持し続けます。
| 回路要素 | 役割 |
|---|---|
| 4つのトランジスタ | フリップフロップを構成し、状態保持 |
| 2つのアクセス用トランジスタ | データの読み書きに使用 |
合計 6個のトランジスタ → 6T SRAMセル
フリップフロップ回路は2つの反転器(インバータ) で構成されます。 各インバータに2トランジスタ → 4トランジスタ さらに読み書き制御用に2トランジスタ → 計6T
| 項目 | 内容 |
|---|---|
| メリット | 高速・リフレッシュ不要・データが安定 |
| デメリット | トランジスタ数が多い → 面積大 → 高コスト |
| 主用途 | CPUのキャッシュ |
DRAMの1T1Cとの違いをまとめると下記の通りです。
| 項目 | DRAM(1T1C) | SRAM(6T) |
|---|---|---|
| データ保持方式 | キャパシタの電荷 | フリップフロップ回路 |
| トランジスタ数 | 1 | 6 |
| 特長 | 大容量・安価 | 高速・安定 |
| リフレッシュ | 必要 | 不要 |
SRAMの特徴:リフレッシュ不要
SRAMは電圧状態の切り替えのみで動作し、DRAMのような充電→読み出し→書き戻しといった手順が不要です。そのため、CPUのようなナノ秒単位の処理が求められる用途に最適です。
- 読み書きが非常に高速
- リフレッシュ不要で安定動作する
- 低レイテンシでCPU性能に直結する
- 回路が状態を保持する
- 回路規模が大きく集積度が低い:大容量化に不向き・高コスト
SRAMの用途:キャッシュメモリ
- キャッシュメモリ (Cache Memory)
- レジスタファイル
- モバイルデバイスや高性能コンピューティング分野
DRAMとSRAMの比較一覧
| 観点 | DRAM | SRAM |
|---|---|---|
| セル構造 | 1T1C | 約6T |
| 速度 | 遅い(相対的) | 非常に速い |
| リフレッシュ | 必要 | 不要 |
| 集積度 | 高い | 低い |
| コスト | 低い | 高い |
| 消費電力 | リフレッシュ動作により動作中の消費電力が比較的高い | リフレッシュ不要で待機時の消費電力が低いが、動作時はケースバイケース |
| 主な用途 | メインメモリ | CPUキャッシュ |
| 保持方式 | キャパシタの電荷 | トランジスタの電圧状態 |
| 回路規模 | 小さい | 大きい |
| 容量 | 大容量向き | 小容量向き |
| レイテンシ | 約10ns以上 | 約1ns |
DRAMとSRAMの違い覚え方と語呂合わせ
- DRAM = 大きな倉庫(広い・安いが管理が必要)
- SRAM = 手元の引き出し(小さいが超速アクセス)
CPUは必要なデータをすぐ使いたいので、まずSRAMに置く(キャッシュ) → 足りなければDRAMから取ってくるという仕組みです。
初心者でも直感的に理解できる覚え方(語呂合わせ)を紹介します。
語呂合わせ:
D(でかい容量)R(リフレッシュ必要)→ DRAM
S(スピード重視)RAM → SRAM
この語呂合わせで覚えると記憶に残りやすいです。
DRAM・SRAM違いまとめ
| 項目 | DRAM | SRAM |
|---|---|---|
| メリット | 大容量・低コスト | 高速・低レイテンシ |
| デメリット | リフレッシュ必要・遅い | 高コスト・大容量化困難 |
| 用途 | メインメモリ | CPUキャッシュ |
- DRAM = 大容量・安い・遅い → Main Memory
- SRAM = 高速・高価・小容量 → CPU Cache
大容量が必要ならDRAM、高速性が最重要ならSRAMが選択されます。 どちらが優れているというより、用途に応じて最適化されていることがポイントです。PC・組込み開発・クラウド設計の知識としてぜひ覚えておきましょう。
以上で本記事の解説を終わります。
よいITライフを!