# 概要
![[Pasted image 20251008153210.png]]
SRAMの様子。
- 記憶保持部分
- M1~M4がコア部分で、[[交差結合インバータ]]を構成している。
- (M1, M2), (M3, M4)がそれぞれ一つの[[インバータ]]
- お互いの出力がお互いの入力になるように繋がっている
- どちらかの出力が1なら、もう片方は0になるように安定している状態
- 以下のようにして交差結合インバータ全体でステートを表現する
- M1, M2側の出力が1 / M3, M4側の出力が0なら「0」を記憶
- M1, M2側の出力が0 / M3, M4側の出力が1なら「1」を記憶
- 読み出し
- まずBL, \bar{BL}をpre-chargeする(どちらも等しい中間電圧にし、電荷をチャージする)
- WLに電圧をかけると、M5, M6の[[NMOS]]がOnとなり、\bar{BL}とM1, M2の出力が、BLとM3, M4の出力が接続される。0のインバータに繋がっている\bar{BL}/BLは電荷がGNDに吸われるので、電荷が下がる
- BLと\bar{BL}の電圧差をセンスアンプで検出し、「1」「0」を検出する
- 書き込み
- WLに電圧を印加する
- BLに書き込みたい入力を与える
- そうすると安定していた交差結合インバータの結果が書き換わる
# 特徴
- 1つのセルに6つもトランジスタが必要となる(4つ版もあるらしい)
- ステートを維持するためには常に電力が必要(ただし[[DRAM]]よりも低電力)
- ステートのリフレッシュが不要
- 回路が単純で、[[DRAM]]よりも読み書きが高速
- トランジスタで構成されるため、プロセッサと同じプロセスで製造可能
- CPUの[[キャッシュメモリ]]によく使われている(超高速だけど、高価)
# 参考
- [[What Every Programmer Should Know About Memory]]
- https://toriten1024.hatenablog.com/entry/2023/12/19/025143