メモリを構成する最小単位は、0か1かを記憶するものです。これを記憶素子と言いましょう。現在一般に使われているのは2種類でひとつは SRAM(Static Random Access Memory)もう一つは DRAM(Dynamic Random Access Memory)です。
コンピュータ部品として売られているものはまず間違いなくDRAMです。SDRAMはSynchronous DRAM のこと。DDRと言えばDDR-SDRAM(Double Data Rate SDRAM) のことです。
電気的なシーソーのようなものがあって、片方を下げると片方があがります。どちらかが下がればその状態を保つのにエネルギーを使いません。データの更新があってもう片方を下げるまで何もしなくてもそのままになっています。これが Static Random Access Memory と呼ばれる理由です。
高速、低消費電力が長所ですが、構造がDRAMより複雑なため、小さく作れない、コストが高いという短所があります。速度を必要とするキャッシュメモリや、低消費電力であることが必要な携帯型機器でよく用いられます。
SRAMで使用される「電気的なシーソーのようなもの」がフリップフロップという回路です。いくつかのパターンがありますがこれは一例です。
この動作を学にあたり、2点注意があります。
1.入力にS,R、出力にQ1,Q2がありますが、出力はQ1のみを考えます。
2.S,Rは普段は0で、シーソーを倒すために一瞬だけ1にするボタンだと理解してください。ずっと1にしておくということはありません。
この2点を押さえると後は簡単です。
SはsetでQ1を1に倒します。
RはresetでQ1を0に倒します。
動作を追いかけるためにNANDの復習をします。
A | B | X |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
今回の目的のため次のように考えます。
ABの入力のうちどちらかが0であれば出力Xは1。両方1の時は0。どちらかが1のときはもう一方の値がわかるまでは判断できない。
S,Rの付近をクリックするとQ1が変化します。
0 | 0 | |||
0 | ||||
0 |
S,R,Q1の付近に0,1の表示に加えて、配線にも0ならば青、1ならば赤と色をつけています。
S | R | A | B | C | D | Q1 | Q2 | ||
---|---|---|---|---|---|---|---|---|---|
初期値 | 0 | 0 | 1 | ? | ? | 1 | ? | ? | 最初はQ1,Q2が0なのか1なのかはわからない |
RをON | 0 | 1 | 1 | ? | ? | 0 | ? | ? | Dは0になる |
次の瞬間 | 0 | 1 | 1 | ? | ? | 0 | ? | 1 | Dが0ならばCが何でもQ2は1 |
次の瞬間 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | Q2が1ならBも1。A,Bが共に1なのでQ1は0 |
Rをoff | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | Rを戻すとDは1になるがCが0なので他は変わらない。 |
再びRをON | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | Rを押してもCが0なのでQ2は1のまま。他も変わらない。 |
Rをoff | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | Rを戻すとDは1になるがCが0なので他は変わらない。 |
ここまででスイッチを入れてから、全体をリセット(初期化)するところまでです。
S | R | A | B | C | D | Q1 | Q2 | ||
---|---|---|---|---|---|---|---|---|---|
リセットされた | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | Rを戻すとDは1になるがCが0なので他は変わらない。 |
SをON | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | Aは0になる |
次の瞬間 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | Aが0になればQ1が1になる |
次の瞬間 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | Q1が1ならCも1。C,Dが共に1なのでQ2は0 |
次の瞬間 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | Q2が0ならBも0。Aはもともと0なのでQ1は1のまま。 |
Sをoff | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | Sを戻すとAは1になるがBが0なので他は変わらない。 |
再びSをON | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | Sを押してもBが0なのでQ1は1のまま。他も変わらない。 |
Sをoff | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | Sを戻すとAは1になるがBが0なので他は変わらない。 |
小さなコンデンサと読み書きのための1個のトランジスタでできています。部品数が少なく小さく安く作れます。
しかし、コンデンサは時間が経つと放電していくので定期的に充電し直します。これをリフレッシュといいますが、このために電力消費が大きくなり、リフレッシュ中はデータの読み書きができないので動作が遅くなります。
構造は簡単なので図示しません。
聖愛中学高等学校