フリップフロップ(flip-flop)

分類
テクノロジ系 ハードウェア
出る試験
基本情報応用情報
重要度
★★★☆☆

1ビットの値を保持しつづける回路。レジスタやSRAMは、これを大量に並べたもの。

もう少し詳しい説明

フリップフロップは、1ビットの値を保持しつづける回路です。

ビットは、0か1のどちらかを入れる、1けたの入れ物です。1ビットの値を保持する、とは「0か1かのどちらかを、そのまま覚えておく」という意味になります。

「保持する」とはどういうことか

論理回路(0と1を入れると、決まった規則で0か1を返す回路)のページで見た AND・OR・NOT は、入力が変われば出力もすぐ変わります。入力を戻せば、出力も元に戻る。覚えていません。

フリップフロップは違います。出力を入力側へ戻す(帰還させる)ことで、入力を取り去っても、その値を保ちつづけます。

もっとも単純なSRフリップフロップで、順に追ってみます。

S(セット)に 1 を入れる出力が 1 になるS を 0 に戻す出力は 1 のまま。ここが「記憶」R(リセット)に 1 を入れる出力が 0 になるR を 0 に戻す出力は 0 のまま。やはり保たれる
色の付いた2段を見てください。入力を取り去ったのに、そのとき決まった値がそのまま残っています。

なぜ、入力を取り去っても出力が残るのか。 ここがフリップフロップの中心なので、順に見ます。

働いているのは、さきほどの帰還(出力を入力側へ戻すこと)です。

2段目では、S(セット。1にするための入力)を0に戻したあとも、出力の1が入力側へ戻りつづけています。つまりこの回路は、外から1を入れてもらえなくても、自分が出した1を、自分への入力として受け取っていることになります。出力が入力を支え、その入力が出力を保つ。この輪が切れないかぎり、1は残ります。

R(リセット。0にするための入力)に1を入れると、この輪が断ち切られます。出力は0に変わり、こんどは0を保つ輪に入ります。これが3段目と4段目です。

輪があるから、入力が消えても値が残る。 これが「記憶」の正体です。

組合せ回路と順序回路

この違いには名前が付いています。

出力の決まり方例
組合せ回路いまの入力だけで決まるAND、OR、半加算器、全加算器
順序回路いまの入力+それまでの状態で決まるフリップフロップ、カウンタ

「前に何があったか」で出力が変わるのが順序回路です。フリップフロップは、その最小の部品にあたります。

種類

試験で名前が出るのは、主にこの4つです。

名前動き
SRSet で1に、Reset で0にする。いちばん単純
D入力Dの値を、そのまま取り込んで保持する
JKSRの弱点を直したもの。両方同時のときは反転する
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