플립플롭(Flip-Flop)은 아주 간단하게 말하면 **'컴퓨터가 0 또는 1이라는 숫자 하나(1비트)를 기억하기 위해 만든 가장 작은 단위의 전자 회로'**입니다.
이름이 왜 '플립플롭'이냐면, 신호가 들어올 때마다 상태가 '탁(Flip)' 하고 바뀌었다가 다시 '톡(Flop)' 하고 바뀌는 모습이 마치 슬리퍼가 바닥에 부딪히는 소리나 시소의 움직임과 비슷하다고 해서 붙여진 이름입니다.
어디에 쓰이나요?
- 레지스터: CPU가 연산을 할 때 아주 빠르게 데이터를 넣었다 뺐다 하는 도구함(레지스터)이 바로 이 플립플롭 수십 개를 묶어서 만든 것입니다.
- SRAM: 우리가 흔히 말하는 캐시 메모리 같은 고속 메모리의 기본 재료가 됩니다.
SRAM(Static RAM)이 플립플롭을 사용한다면, **DRAM(Dynamic RAM)**은 **'커패시터(Capacitor, 축전기)'**와 '트랜지스터(Transistor)' 단 한 쌍으로 구성되어 있습니다.
이 구조적 차이 때문에 두 메모리의 성격이 완전히 달라집니다.
1. DRAM의 핵심: 커패시터 (Capacitor)
- 저장 원리: 커패시터는 전기를 담아두는 아주 작은 **'물통'**이라고 생각하면 쉽습니다.
- 물통에 물(전하)이 차 있으면: $1$
- 물통이 비어 있으면: $0$
- 역할: 플립플롭처럼 복잡한 회로 대신, 전하를 직접 채우거나 비워서 정보를 저장합니다.
2. 왜 이름이 'Dynamic(동적)'인가요? (Refresh)
- 문제점: 커패시터는 아주 미세하게 전기가 새어 나갑니다. 가만히 놔두면 물통의 물이 증발하듯이 $1$이 $0$으로 바뀌어 버리죠.
- 해결책: 그래서 컴퓨터는 정보가 날아가기 전에 주기적으로 전기를 다시 채워주는 작업을 합니다. 이를 **리프레시(Refresh)**라고 하며, 계속 '동적'으로 움직여야 데이터를 유지할 수 있기 때문에 DRAM이라고 부릅니다.
인코더(Encoder)와 디코더(Decoder)는 정보를 서로 다른 형태로 바꾸는 **'변환기'**와 같습니다. 둘은 서로 반대되는 역할을 하며, 디지털 회로나 통신, 데이터 압축 등 다양한 분야에서 짝을 이루어 사용됩니다.
가장 쉽게 이해할 수 있도록 디지털 논리 회로 관점에서 설명해 드릴게요.
1. 인코더 (Encoder, 부호기)
인코더는 **"사람이 이해하기 쉬운 신호를 컴퓨터가 처리하기 좋은 코드(이진수)로 바꾸는 장치"**입니다.
- 역할: 여러 개의 입력선 중 하나에 신호가 들어오면, 그게 몇 번째 선인지 나타내는 짧은 이진 코드로 출력합니다.
- 구조: $2^n$개의 입력을 받아서 $n$개의 출력으로 내보냅니다. (입력이 많고 출력이 적음)
- 비유: '사과, 배, 포도'라는 버튼이 있을 때, '사과'를 누르면 컴퓨터가 알아듣게 '01'이라는 번호를 매겨주는 것과 같습니다.
- 예시: 키보드 (우리가 'A'를 누르면 컴퓨터가 이해하는 이진수 코드로 변환함)
2. 디코더 (Decoder, 복호기)
디코더는 **"암호화된 코드(이진수)를 다시 원래의 신호로 풀어서 보여주는 장치"**입니다.
- 역할: 입력된 이진 코드를 해석하여 해당하는 단 하나의 출력선에 신호를 보냅니다.
- 구조: $n$개의 입력을 받아서 $2^n$개의 출력 중 하나를 선택합니다. (입력이 적고 출력이 많음)
- 비유: 컴퓨터가 '01'이라는 번호를 보내면, 다시 '사과'라는 결과물을 내놓거나 사과 칸의 불을 켜는 것과 같습니다.
- 예시: 7세그먼트 표시기 (숫자 0101(5)을 입력하면 LED 숫자판의 '5' 모양에 불이 들어오게 함)
💡 한눈에 비교하기
| 구분 | 인코더 (Encoder) | 디코더 (Decoder) |
| 핵심 기능 | 정보를 부호화(압축/암호화) | 부호를 복호화(해독/풀기) |
| 입출력 관계 | $2^n$개 입력 $\rightarrow$ $n$개 출력 | $n$개 입력 $\rightarrow$ $2^n$개 출력 |
| 주된 용도 | 데이터 압축, 보안, 전송 효율화 | 주소 해독, 명령어 실행, 디스플레이 제어 |
': ) IT' 카테고리의 다른 글
| 프로그램 번역과정(Compiler) (0) | 2026.01.13 |
|---|---|
| 오류검출방식 (0) | 2026.01.10 |
| 컴퓨터 부팅 과정 (0) | 2026.01.09 |
| RAM vs ROM (0) | 2026.01.09 |
| 회선교환망 (0) | 2026.01.06 |