フリップフロップの解説(基本情報技術者シラバス用語)

目次

フリップフロップとは

フリップフロップとは、1ビットの情報(「0」または「1」)を記憶しておくことができる論理回路の一種です。電気が通っている間、その状態を保持し続ける(記憶する)ことができるため、コンピュータの高速な一時記憶装置(レジスタやSRAMなど)の基本素子として利用されます。入力信号が与えられると状態が変わり、次の入力があるまでその状態を安定して維持する様子が、パタパタと状態が変わるおもちゃの動きに似ていることからこの名前がついています。

具体例

  • 電気のスイッチ:部屋の壁にある照明スイッチのように、一度「ON」側にパチッと倒すと、手を離してもONの状態が維持され、次に「OFF」側に倒すまで状態が変わりません。このような動作を電気回路で再現したのがフリップフロップです。
  • キャッシュメモリ(SRAM):CPUのすぐ隣に配置されている超高速なメモリ(SRAM)は、このフリップフロップ回路を敷き詰めて作られています。コンデンサに電気を蓄えるDRAM(通常のメインメモリ)と違い、電気が流れている限りデータが消えないため、定期的な書き直し動作(リフレッシュ)が不要で高速に動作します。

もう少し詳しく

コンピュータの回路には、現在の入力だけで出力が決まる「組み合わせ論理回路(ANDやOR、加算器など)」と、過去の状態を記憶して次の出力に影響を与える「順序論理回路」の2種類があります。フリップフロップは、この順序論理回路の最も基本的な構成要素です。フリップフロップ回路の内部は、複数のNAND回路やNOR回路をたすき掛け(クロス結合)するように繋ぐことで作られており、自分自身の出力結果を再び自分自身の入力に戻す(フィードバックする)ループ構造を持っています。このループによって、電気が供給されている限り、信号が回路内を回り続けて状態(0か1)を安定して保持する仕組みになっています。

フリップフロップには、入力の与え方や動作のタイミングによっていくつかの種類があります。最も基本的な「RSフリップフロップ(リセット・セット)」は、セット信号で状態を「1」にし、リセット信号で状態を「0」にします。これにクロック信号(回路全体のリズムを刻む同期信号)を組み合わせたものが、現代のコンピュータで広く使われています。

例えば、コンピュータの心臓部であるCPUの中には「レジスタ」と呼ばれる極めて高速な記憶領域があります。これは複数のフリップフロップを並べて作られており、加算器で計算した結果を一時的に保存したり、次に実行する命令を待機させたりするために絶え間なく利用されています。また、CPUとメインメモリの間でデータを高速にやり取りするための「キャッシュメモリ(SRAM)」も、フリップフロップの集合体です。フリップフロップは高速ですが、1ビットを記憶するために複数のトランジスタ(通常4〜6個)を必要とするため、回路面積が大きくなり、大容量化が難しく高価になるという側面があります。

試験でのポイント

試験においてフリップフロップは、メモリの仕組みやCPUの構造を理解するための重要なキーワードとして出題されます。特にSRAM(スタティックRAM)の記憶原理としての出題が定番です。

覚えておくべきポイントは以下の通りです。

  • 記憶素子であること:論理回路の一種でありながら、単なる計算ではなく「1ビットの情報を記憶・保持できる」という最大の特徴をおさえてください。
  • SRAMとの関係:「フリップフロップ回路を用いて構成されるメモリはどれか」という問題の正解は「SRAM」です。これに対し、コンデンサを用いて構成され、リフレッシュ(定期的な再充電)が必要なのは「DRAM」です。このSRAMとDRAMの対比は超頻出です。
  • 揮発性であること:電気が通っている間だけデータを保持できる「揮発性メモリ」の構成要素です。電源を切ると記憶していた「0」や「1」のデータはすべて消えてしまいます。
  • 用途:CPU内部の「レジスタ」や、高速な「キャッシュメモリ」に使われていることを結びつけて覚えておきましょう。

関連する用語

関連する用語として、フリップフロップを集積して作られる高速メモリであるSRAM、フリップフロップと対比されるDRAM、フリップフロップに保存されたデータを使って計算を行う加算器などがあります。

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ