Instiq
第2章 · メモリとストレージ·v1.0.0·更新 2026/7/10·読了目安 約13分

変更要約: 初版

2.1メモリ階層とアクセス

この節の要点

高速だが高価なSRAM、大容量だがリフレッシュが必要なDRAMというメモリ階層の特性差、アクセスレイテンシとコスト・容量のトレードオフ、そして組込み機器特有の容量・コスト・消費電力の制約の中でメモリ構成をどう選ぶかを学びます。

組込み機器の設計者にとって、メモリの選定は単なる「速いか遅いか」の比較では済みません。バッテリ駆動の小型センサ端末と、常時給電される産業用制御装置とでは、同じ処理性能を求められても最適なメモリ構成はまったく異なります。この節では、SRAMDRAMという2つの代表的な揮発性メモリの特性差を土台に、組込み特有の容量・コスト・消費電力という制約の中でどう構成を判断するかを学びます。

2.1.1SRAMとDRAMの特性差

  • SRAM(Static RAM)=フリップフロップで1ビットを保持するためリフレッシュが不要で、アクセスが高速(レイテンシが小さい)だが、1ビットあたり多くのトランジスタを使うため大容量化すると高コスト・高消費電力になる。CPUのキャッシュやレジスタ周辺の高速バッファに使われる。
  • DRAM(Dynamic RAM)=コンデンサに電荷を蓄えて1ビットを保持するため、電荷が自然放電する前に定期的なリフレッシュ動作が必須。構造が単純で1ビットあたりの面積が小さいため大容量・低コストにできる反面、リフレッシュのオーバヘッドと行選択(ロウアクセス)の遅延によりSRAMよりアクセスが遅い。組込み機器の主記憶(メインメモリ)に使われる。

2.1.2メモリ階層とレイテンシ

  • メモリ階層=CPUに近い(レジスタ・キャッシュ)ほど高速・小容量・高コスト、遠い(主記憶・二次記憶)ほど低速・大容量・低コストという階層構造。組込み設計では、この階層のどこにどれだけのデータを置くかが性能と製造コストを同時に左右する。
  • レイテンシ=メモリへのアクセス要求から実際にデータが得られるまでの遅延時間。リアルタイム性が求められる組込みシステムでは、レイテンシのばらつき(ジッタ)も性能そのものと同じくらい重要——平均は速くても、たまに大きく遅延するメモリはデッドラインを外す原因になり得る。
試験ポイント

「SRAM=リフレッシュ不要・高速・小容量高コスト」「DRAM=リフレッシュ必須・低速・大容量低コスト」の対比が最頻出です。「DRAMの方が高速」という逆の理解が典型的な誤りなので、リフレッシュの有無がアクセス速度と容量のどちらに効くかを軸に整理しましょう。

あるバッテリ駆動の環境センサ端末の設計者が、取得したセンサデータを一時的にバッファするメモリと、収集ロジックのプログラムコードを保持するメモリをどう構成するか検討しています。この端末は間欠動作(普段はスリープし、一定間隔で起動してセンサ値を読み取りすぐ再スリープする)が前提であり、搭載できる部品点数とコストに厳しい制約があります。まず、センサ値を一時的に保持するバッファは容量が数百バイト程度で済むため、外付けの大容量DRAMを追加するのはコスト・実装面積・消費電力(DRAMの定期リフレッシュは待機時にも電力を消費し続ける)の面で不利であり、MCU内蔵のSRAM(数KB〜数十KB程度)だけで完結させるのが妥当な判断です。一方、この端末で将来的に高度な信号処理(ノイズ除去やデータ圧縮のアルゴリズム)を追加する計画があり、プログラムコードとワークメモリの容量が数十KBを超えて増える見込みがある場合、内蔵SRAMだけでは容量不足になるため、外付けDRAMの追加を検討する判断に切り替わります。ただし、その場合もDRAMは間欠動作中のスリープ期間もリフレッシュ電力を要求するため、電池寿命への影響を必ず試算し、「スリープ中はDRAMへの電源供給自体を遮断し、起床時に外部フラッシュから内容を再ロードする」といった追加の省電力設計とセットで検討する必要があります。このように、メモリ構成の判断は「必要な容量」だけでなく「間欠動作時の消費電力プロファイル」を必ず併せて評価しなければなりません。

項目SRAMDRAM
リフレッシュ不要必須(定期的に再書き込み)
アクセス速度高速SRAMより低速
容量あたりコスト・面積高い低い
主な用途キャッシュ・レジスタ周辺主記憶(メインメモリ)
注意

ひっかけ: 「大容量が必要な用途には常にSRAMを使うべき」は誤りです——SRAMは1ビットあたりの面積・コストが大きいため大容量化に不向きで、大容量が必要な主記憶にはDRAMを使うのが定石です。また「DRAMはリフレッシュ不要になった新世代メモリだ」も誤り=DRAMという方式自体がコンデンサの電荷保持に依存する限り、リフレッシュは原理的に必須です(リフレッシュが不要なのはSRAMや後述の不揮発メモリ)。

SRAM/DRAM/レイテンシの図。
速さと容量の階層

2.1.3この節のまとめ

  • SRAM=リフレッシュ不要・高速・小容量高コスト、DRAM=リフレッシュ必須・低速・大容量低コスト
  • メモリ階層はCPUに近いほど高速・小容量・高コスト、遠いほど低速・大容量・低コスト
  • 組込みでは容量だけでなく間欠動作時の消費電力プロファイルも併せてメモリ構成を判断する

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. バッテリ駆動で間欠動作するセンサ端末において、数百バイト程度のセンサ値バッファ用メモリを構成する。コスト・実装面積・消費電力の観点から最も妥当な選択はどれか。

Q2. ある組込み技術者が「DRAMはSRAMより高速なので、高速アクセスが必要なキャッシュにはDRAMを使うべきだ」と主張した。この主張の誤りとして最も適切な指摘はどれか。

Q3. 組込みシステムのメモリ階層設計において、CPUのレジスタに最も近い層に配置すべきメモリの性質として最も適切なものはどれか。

理解度を確認第2章「メモリとストレージ」の問題を解く