フリップフロップ(flip-flop)
1ビットの値を保持しつづける回路。レジスタやSRAMは、これを大量に並べたもの。
もう少し詳しい説明
フリップフロップは、1ビットの値を保持しつづける回路です。
ビットは、0か1のどちらかを入れる、1けたの入れ物です。1ビットの値を保持する、とは「0か1かのどちらかを、そのまま覚えておく」という意味になります。
「保持する」とはどういうことか
論理回路(0と1を入れると、決まった規則で0か1を返す回路)のページで見た AND・OR・NOT は、入力が変われば出力もすぐ変わります。入力を戻せば、出力も元に戻る。覚えていません。
フリップフロップは違います。出力を入力側へ戻す(帰還させる)ことで、入力を取り去っても、その値を保ちつづけます。
もっとも単純なSRフリップフロップで、順に追ってみます。
なぜ、入力を取り去っても出力が残るのか。 ここがフリップフロップの中心なので、順に見ます。
働いているのは、さきほどの帰還(出力を入力側へ戻すこと)です。
2段目では、S(セット。1にするための入力)を0に戻したあとも、出力の1が入力側へ戻りつづけています。つまりこの回路は、外から1を入れてもらえなくても、自分が出した1を、自分への入力として受け取っていることになります。出力が入力を支え、その入力が出力を保つ。この輪が切れないかぎり、1は残ります。
R(リセット。0にするための入力)に1を入れると、この輪が断ち切られます。出力は0に変わり、こんどは0を保つ輪に入ります。これが3段目と4段目です。
輪があるから、入力が消えても値が残る。 これが「記憶」の正体です。
組合せ回路と順序回路
この違いには名前が付いています。
| 出力の決まり方 | 例 | |
|---|---|---|
| 組合せ回路 | いまの入力だけで決まる | AND、OR、半加算器、全加算器 |
| 順序回路 | いまの入力+それまでの状態で決まる | フリップフロップ、カウンタ |
「前に何があったか」で出力が変わるのが順序回路です。フリップフロップは、その最小の部品にあたります。
種類
試験で名前が出るのは、主にこの4つです。
| 名前 | 動き |
|---|---|
| SR | Set で1に、Reset で0にする。いちばん単純 |
| D | 入力Dの値を、そのまま取り込んで保持する |
| JK | SRの弱点を直したもの。両方同時のときは反転する |
| T | 入力があるたびに反転(Toggle)する。カウンタに使う |
SRには「使ってはいけない入力の組合せ」があります。 セット(1にする)とリセット(0にする)を同時に有効にすると、1にしろと0にしろを同時に命じることになり、出力が定まりません。これを禁止入力と呼びます。NOR素子(どちらの入力も0のときだけ1を返す部品)で作った場合は、S=R=1 がこれにあたります。
JKフリップフロップは、この禁止入力をなくしたもので、両方同時のときは「反転する」と決めてあります。出題では、この点が SR と JK の違いとして問われます。
どこで使われているか
フリップフロップ1個で1ビット。 そのため、必要なビット数だけ並べます。
| 使われ方 | 中身 |
|---|---|
| レジスタ | 数十個を並べたもの。CPU(計算と命令の実行を受け持つ部品)の中にある、ごく小さな記憶 |
| SRAM | 大量に並べたもの。キャッシュメモリ(CPUと主記憶のあいだに置く、小さくて速い記憶)の正体 |
| カウンタ | Tフリップフロップをつないで、数を数える |
主記憶(いま実行中のプログラムとデータを置いておく記憶装置)のページで「SRAM(Static Random Access Memory、エスラム)はフリップフロップ回路で記憶する」と書いたのは、このことです。
DRAM(Dynamic Random Access Memory、ディーラム。主記憶に使われる、安くて大容量にしやすいほうの記憶素子)は、コンデンサ(電気を一時的に蓄えておく部品)に電気を蓄えて記憶します。蓄えた電気は時間とともに抜けてしまうので、リフレッシュ(定期的に読み出して書き直すこと)が要ります。
いっぽうフリップフロップは、電源がある限りそのまま保たれるので、リフレッシュが要りません。
そのかわり、1ビットあたりの部品数が多く、場所も値段もかかります。そのため、小さくて速いキャッシュメモリ(CPUのそばに置く小さくて速い記憶)にはSRAM、大きくて安い主記憶(プログラムとデータを置いておく記憶装置)にはDRAM、という使い分けになります。
覚え方:押しボタンのスイッチ
押すと点いて、指を離しても点いたままの照明スイッチを思い浮かべてください。
- 押す … セット。点灯する
- 指を離す … 入力は消えたが、点灯は続く(=記憶)
- もう一方を押す … リセット。消灯する
指を離したら消えるスイッチ(=組合せ回路)では、記憶になりません。 離しても残るから、記憶として使えるのです。
試験ではこう出る
科目A(旧・午前)のハードウェア分野で出ます。
多いのは、組合せ回路(いまの入力だけで出力が決まる回路)と順序回路(それまでの状態でも出力が変わる回路)を分けさせる問題と、SRAM(キャッシュメモリに使われる、速いほうの記憶素子)の記憶方式を問う問題です。応用情報では、SR・JK・D・Tの動作表を与えて、出力がどうなるかを追わせる形になります。
判断の軸は1つです。「前の状態を覚えているか」で組合せ回路と順序回路を分ける。 選択肢に「入力の組合せだけで出力が決まる」とあれば組合せ回路の説明なので、フリップフロップではありません。
もう1つ、次の対応を覚えておくと、記憶装置の問題とつながります。
| 記憶のしかた | リフレッシュ | 使われる場所 | |
|---|---|---|---|
| SRAM | フリップフロップ回路 | 不要 | キャッシュメモリ |
| DRAM | コンデンサ(電気を蓄える部品) | 必要 | 主記憶 |
関連する用語
- 論理回路
- AND・OR・NOTなどの組合せ。フリップフロップは、その出力を入力へ戻して作る
- 主記憶
- 実行中のプログラムとデータを置く記憶装置。こちらはDRAMで、仕組みが違う
- キャッシュメモリ
- CPUと主記憶のあいだに置く小さくて速い記憶。中身はSRAM=フリップフロップの集まり
- レジスタ
- CPUの中にあるごく小さな記憶領域。フリップフロップを数十個並べて作る
- 順序回路
- いまの入力だけでなく、それまでの状態でも出力が決まる回路。フリップフロップはその基本部品
ミニクイズ
フリップフロップの説明として、最も適切なものはどれか。
正解は 4番:1ビットの情報を保持しつづける回路で、レジスタやSRAMの基本部品として使われる
フリップフロップは、出力を入力へ戻す仕組みによって、入力が変わらないかぎり同じ値を保ちつづける回路です。これを並べたものがレジスタ(CPUの中にある、計算中の値を置いておくごく小さな入れ物)であり、大量に並べたものがSRAMです。「コンデンサ(電気を蓄えておく部品)に電気を蓄え、定期的な再書込みが必要」はDRAMの説明で、主記憶(いま使うものを置く記憶装置)に使われます。「入力の組合せだけで出力が決まる」のは組合せ回路の説明で、フリップフロップはその反対の順序回路に分類されます。「電源を切っても保持され、書換え回数に上限がある」はフラッシュメモリ(SSDやUSBメモリに使われる、電源を切っても消えない記憶素子)の説明です。
この分野をまとめて解く → コンピュータ構成要素とハードウェアのミニテスト(全33問)
最終更新:2026-09-27