cs

[CS] 플립플롭(Flip-Flop)이란?

연화 2025. 4. 10. 10:48

 

디지털 회로에서 계산만큼 중요한 것이 바로 "기억(Memory)"입니다.
컴퓨터가 값을 계산해도 그걸 저장하지 못한다면 의미가 없겠죠.
오늘 소개할 플립플롭(Flip-Flop)1비트의 정보를 저장하는 기본 회로로, 레지스터, 메모리, 카운터 등 모든 저장장치의 뿌리라고 할 수 있어요.

 


 

💡 플립플롭의 기본 개념

플립플롭은 이전 상태를 기억할 수 있는 논리 회로입니다.
일반적인 게이트 회로와 달리, 입력에 따라 출력이 유지되거나 바뀌며, 일종의 상태(state)를 가집니다.

  • 📌 특징: 순차 회로(Sequential Logic) — 입력뿐 아니라 이전 상태(기억)에 따라 출력이 결정됨
  • 📌 기본 기능: 1비트 정보 저장 (0 또는 1)

 


 

🔄 플립플롭의 주요 종류

플립플롭은 동작 방식에 따라 여러 종류가 있지만, 가장 기본적인 4가지를 소개할게요

이름 기능요약 주요입력
SR 플립플롭 Set / Reset (값 설정 / 초기화) S, R
D 플립플롭 Data 입력 → 클럭에 맞춰 저장 D, CLK
JK 플립플롭 SR 개선형 (J=Set, K=Reset), 토글 기능 포함 J, K, CLK
T 플립플롭 Toggle (입력 있을 때마다 반전) T, CLK

 


 

🔧 가장 기본적인 형태: SR 플립플롭

✔ 구성

  • NOR 게이트 또는 NAND 게이트 2개를 교차 연결

✔ 진리표 (NOR 기반)

S R Q(출력) 상태
0 0 유지 이전 상태 유지
0 1 0 Reset
1 0 1 Set
1 1 무효(불안정) 금지 상태

S=1, R=1인 경우는 불안정 상태가 되기 때문에 사용에 주의가 필요해요.

 


 

🕒 D 플립플롭 (Data 플립플롭)

SR 플립플롭의 단점을 보완해서 만든 가장 널리 쓰이는 플립플롭입니다.

✔ 특징

  • 입력 D(Data)를 클럭 신호(Clock)에 맞춰 저장
  • 클럭이 "상승 에지(rising edge)"일 때 입력값을 출력으로 저장

✔ 진리표

CLK D Q (출력)
0 0
1 1
- X 유지

‘↑’는 클럭의 상승 에지(0→1 변화)를 의미합니다.

 


 

🧩 다른 플립플롭들은 언제 쓰일까?

  • JK 플립플롭: SR 플립플롭의 불안정 상태를 해결, 다양한 제어 가능
  • T 플립플롭: 간단한 상태 반전용 (ex: 카운터 회로)

 


 

📦 플립플롭은 어디에 쓰일까?

플립플롭은 디지털 시스템 내에서 "기억"과 "상태 제어"의 모든 기반입니다.
주요 활용 예시는 아래와 같아요:

  • 레지스터(Register): 여러 개의 D 플립플롭으로 구성, CPU에서 연산 결과 저장
  • 카운터(Counter): 상태가 바뀔 때마다 수를 셈 (ex: T 플립플롭 사용)
  • 메모리 셀: SRAM 등의 저장 장치 내부
  • FSM (유한 상태 기계): 상태를 저장하고 전이 제어

 


 

플립플롭은 디지털 회로에서 가장 작은 기억의 단위입니다.
단순한 1비트 저장이지만, 이것이 모여 레지스터가 되고, 메모리가 되고, 컴퓨터가 되는 거예요.
앞으로 레지스터나 FSM, 카운터 등을 배울 때도 플립플롭이 그 기반이 되니,
이 개념을 정확히 잡아두면 디지털 논리의 많은 퍼즐이 풀릴 겁니다.

읽어주셔서 감사합니다 🙌
궁금한 부분이나 더 깊이 알고 싶은 내용이 있다면 댓글로 편하게 남겨주세요!

 

 

👀 CS관련 다른 포스팅이 궁금하시다면 아래의 글을 추천해요

 

[CS] 이진수와 비트: 컴퓨터 정보 표현의 기초

우리가 사용하는 컴퓨터, 스마트폰, 태블릿은 굉장히 똑똑한 기계처럼 보이지만,사실 이들은 단 두 가지 숫자, 즉 0과 1만을 이해하는 단순한 계산기입니다.하지만 신기하게도 이 0과 1만으로 텍

dev-yeonwha.tistory.com

 

[CS] 논리 게이트(Logical Gates)란?

여러분이 지금 사용하고 계신 스마트폰, 컴퓨터, 심지어 전자레인지까지도0과 1이라는 단순한 두 숫자만으로 작동하고 있다는 사실, 알고 계셨나요?이처럼 디지털 기기들은 전기 신호가 흐른다(

dev-yeonwha.tistory.com

 

[CS] 반가산기(Half Adder)와 전가산기(Full Adder) 동작 정리

디지털 회로나 컴퓨터 구조를 공부하다 보면 꼭 등장하는 개념이 반가산기(Half Adder)와 전가산기(Full Adder)입니다.처음 보면 ‘왜 굳이 이런 걸 알아야 하지?’ 싶을 수 있지만, 이 개념들은 컴퓨

dev-yeonwha.tistory.com