2 個の
NAND 回路が下図のように接続されています。
NAND 回路は、 入力がすべて 1 になったときに 0 を出力する論理回路です
(下図右の真理値表参照)。
これを図のように接続すると 「記憶回路」 になります。
「え、 こんなもんで記憶が?」 と思うかもしれませんが、 できるんですから不思議です。
いま
(図の初期状態では)、 出力 Q は 0 です。
入力
S の付近をマウスでクリックしてみて下さい。
入力
S が 0 になって、 出力
Q が 1 に変わります。
クリックをやめると
S は 1 に戻りますが、
Q は 1 のままです。
もう一度クリックすると
S は 0 になって、
Q はやはり 1 のままです。
一度
Q が 1 になればあとは何度
S をクリックしても、
Q は 1 のまま変わりません。
今度は入力
R の付近をクリックすると、 出力
Q が 0 になります。
クリックをやめると
R は 1 に戻りますが、
Q は 0 のままです。
あとは何度
R をクリックしても、
Q は 0 のまま変わりません。
つまりこれは、 一瞬でも S を 0 にすると

Q が 1 になり
(1 を書き込む)、
R を 0 にすると Q が 0 になる
(0 を書き込む) 記憶回路です。
上図の真理値表は、上の NAND 回路の状態を 青 で、
下の NAND 回路の状態を 赤 で表しています。
なお、クリックしてから、少し遅れて回路の状態が順次変わるようにしてあります。
遅れ具合は
で調整できます。
このような記憶回路
(メモリセル) を大量に集積したものが SRAM
(Static Random Access Memory) です。
SRAM のメモリセルには、 実際には上図のように 6 個
(または 4 個)
のトランジスタが使われています。
DRAM に比べて高速、低消費電力などの点で優れていますが、
トランジスタ数が多いため集積度を高くできません。
一般的に、コンピュータのメモリには DRAM が、
高速動作が必要なキャッシュメモリなどに SRAM が使用されています。