컴퓨터시스템기사 필기 11 — 디지털 논리회로 (카르노맵·플립플롭·조합회로)
4과목 "디지털회로 및 데이터통신"의 핵심 파트입니다.
카르노맵과 플립플롭은 매 회차 출제되는 최빈출 주제예요.
불 대수 (Boolean Algebra)
논리회로의 기초가 되는 수학 체계예요.
기본 법칙
항등법칙: A + 0 = A / A · 1 = A
보원법칙: A + A' = 1 / A · A' = 0
멱등법칙: A + A = A / A · A = A
흡수법칙: A + AB = A / A(A+B) = A
드모르간 법칙 ⭐⭐
(A + B)' = A' · B' ← OR의 보수 = AND로
(A · B)' = A' + B' ← AND의 보수 = OR로
기출 문제
Q. 다음 논리식을 간소화하시오: F = AB + AB'
A. F = AB + AB' = A(B + B') = A · 1 = A
카르노맵 (Karnaugh Map) ⭐⭐⭐
복잡한 불 대수 식을 시각적으로 간소화하는 방법이에요.
작성 규칙
인접 셀 묶음: 1, 2, 4, 8개 단위로만 묶음 (2ⁿ 개수)
그레이코드 순서로 변수 배치 (00→01→11→10)
Don't Care(X) 조건: 1로 취급해 묶음 크기 최대화
SOP vs POS
SOP (Sum of Products, 최소항의 합)
→ 1인 셀을 묶어서 간소화
→ 결과: F = AB + CD 형태
POS (Product of Sums, 최대항의 곱)
→ 0인 셀을 묶어서 간소화
→ 결과: F = (A+B)(C+D) 형태
기출 문제
Q. 4변수 카르노맵에서 2×2 정사각형으로 묶을 수 있는 1의 개수는?
A. 4개 (2×2 = 4 = 2²)
Q. 카르노맵에서 Don't Care 조건을 사용하는 이유는?
A. 묶음의 크기를 최대화하여 간소화된 식의 리터럴 수를 최소화하기 위해
조합논리회로
현재 입력값만으로 출력이 결정되는 회로예요 (기억 없음).
반가산기 (Half Adder)
입력: A, B
합(S) = A XOR B
올림수(C) = A AND B
전가산기 (Full Adder)
반가산기 2개 + OR 게이트 1개로 구성
입력: A, B, 이전 올림수(Cin)
합(S) = A XOR B XOR Cin
올림수(Co) = AB + Cin(A XOR B)
멀티플렉서 (MUX)
2ⁿ개 입력 → n개 선택선 → 1개 출력
4×1 MUX: AND 4개 + Inverter 2개 + OR 1개
디코더 / 인코더
디코더: n개 입력 → 2ⁿ개 출력 (하나만 활성화)
인코더: 2ⁿ개 입력 → n개 출력
기출 문제
Q. 반가산기와 전가산기의 차이점은?
A. 반가산기는 이전 올림수(carry in)를 고려하지 않지만, 전가산기는 이전 올림수(Cin)를 입력으로 받아 처리할 수 있다.
Q. 4×1 멀티플렉서에서 선택선(Select line)의 개수는?
A. 2개 (2²=4, n=2)
순서논리회로 — 플립플롭 ⭐⭐⭐
이전 상태를 기억하여 출력에 반영하는 회로예요.
RS 플립플롭
| S | R | Q(다음) |
| 0 | 0 | Q(유지) |
| 0 | 1 | 0 (Reset) |
| 1 | 0 | 1 (Set) |
| 1 | 1 | 불능(금지) |
JK 플립플롭 ⭐⭐ (가장 자주 출제!)
| J | K | Q(다음) |
| 0 | 0 | Q(유지) |
| 0 | 1 | 0 (Reset) |
| 1 | 0 | 1 (Set) |
| 1 | 1 | Q'(토글) ← 핵심! |
⚠️ J=1, K=1 → 현재값의 보수(토글)
D 플립플롭
Q(다음) = D
클록 엣지에서 D값을 그대로 저장하는 단순한 구조
데이터 래치, 시프트 레지스터에 활용
T 플립플롭
| T | Q(다음) |
| 0 | Q(유지) |
| 1 | Q'(토글) |
기출 문제
Q. JK 플립플롭에서 J=1, K=1일 때 동작을 설명하시오.
A. 토글(Toggle) 동작으로, 현재 출력값의 보수(Q')가 출력된다.
Q. RS 플립플롭에서 S=1, R=1이 금지 상태인 이유는?
A. S=1, R=1 입력 시 출력 Q와 Q'가 모두 1이 되어 보수 관계가 깨지는 불확정 상태가 발생하기 때문이다.
Q. D 플립플롭이 RS 플립플롭보다 설계가 간단한 이유는?
A. D 플립플롭은 입력이 하나(D=S, D'=R)로 금지 상태가 존재하지 않기 때문이다.
카운터 ⭐
플립플롭을 여러 개 연결해 숫자를 세는 회로예요.
존슨 카운터(링 시프트 카운터)
→ FF n개 → 2n 상태
→ 예: FF 4개 → 8가지 상태
링 카운터
→ FF n개 → n 상태
→ 예: FF 4개 → 4가지 상태
MOD-N 비동기 카운터
→ N가지 상태를 순환
→ 필요한 FF 개수: 2ⁿ ≥ N을 만족하는 최소 n
기출 문제
Q. MOD-6 카운터를 구현하기 위해 필요한 최소 플립플롭 수는?
A. 2³=8 ≥ 6이므로 3개
그레이 코드 (Gray Code)
인접한 두 코드 사이에 1비트만 변하는 코드예요.
2진수 → 그레이 코드 변환
MSB는 그대로
나머지: 2진수의 인접 두 비트 XOR
예: 2진수 1011 → 그레이코드
MSB: 1
1 XOR 0 = 1
0 XOR 1 = 1
1 XOR 1 = 0
→ 그레이코드: 1110
💡 실무에서는?
네트워크 장비나 보안 장비의 펌웨어를 분석할 때, 내부적으로 논리회로 기반의 FPGA나 ASIC이 어떻게 동작하는지 이해하는 데 이 지식이 배경이 돼요. 특히 하드웨어 기반 암호화 장비(HSM)를 도입하거나 설계 검토할 때, 논리회로 수준에서 동작 원리를 이해하고 있으면 벤더와 기술 협의가 훨씬 수월합니다.
핵심 정리
✅ 드모르간: (A+B)' = A'B' / (AB)' = A'+B'
✅ 카르노맵: 2ⁿ 단위로 묶기, Don't Care는 1로 활용
✅ 반가산기: S=A XOR B, C=A AND B
✅ JK 플립플롭 J=K=1 → 토글 (핵심!)
✅ RS 플립플롭 S=R=1 → 불능 (금지)
✅ 존슨카운터: FF n개 → 2n 상태
✅ 링카운터: FF n개 → n 상태
✅ MOD-N: 2ⁿ≥N 만족하는 최소 n개 FF 필요
다음 편에서는 네트워크 프로토콜 — 레지스터·파이프라인·주소지정방식으로 이어갑니다!
궁금한 점은 댓글로 남겨주세요!
2026.08.17 - [자격증 정복/컴퓨터시스템기사] - 컴퓨터시스템기사 필기 10 — 네트워크 프로그래밍 구현 (소켓·TCP·UDP·스크립트)
컴퓨터시스템기사 필기 10 — 네트워크 프로그래밍 구현 (소켓·TCP·UDP·스크립트)
컴퓨터시스템기사 필기 10 — 네트워크 프로그래밍 구현 (소켓·TCP·UDP·스크립트)3과목 [3-3] 네트워크 프로그래밍 구현 파트입니다.TCP 소켓 시퀀스는 매 회차 출제되는 최빈출 주제예요.TCP vs UDP
tech.seanney.pe.kr
2026.08.14 - [자격증 정복/컴퓨터시스템기사] - 컴퓨터시스템기사 필기 09 — 프로그래밍 언어 활용 (C언어·객체지향·BNF)
컴퓨터시스템기사 필기 09 — 프로그래밍 언어 활용 (C언어·객체지향·BNF)
컴퓨터시스템기사 필기 09 — 프로그래밍 언어 활용 (C언어·객체지향·BNF)3과목 [3-2] 프로그래밍 언어 활용 파트입니다.C언어 포인터, 객체지향 캡슐화, 기억클래스는 매 회차 출제돼요.C언어 기
tech.seanney.pe.kr
'자격증 정복 > 컴퓨터시스템기사' 카테고리의 다른 글
| 컴퓨터시스템기사 필기 12 — 네트워크 프로토콜 분석 (OSI 7계층·TCP-IP·라우팅) (0) | 2026.08.17 |
|---|---|
| 컴퓨터시스템기사 필기 10 — 네트워크 프로그래밍 구현 (소켓·TCP·UDP·스크립트) (0) | 2026.08.17 |
| 컴퓨터시스템기사 필기 09 — 프로그래밍 언어 활용 (C언어·객체지향·BNF) (0) | 2026.08.14 |
| 컴퓨터시스템기사 필기 08 — 자료구조 활용 (스택·큐·트리·정렬·해싱) (0) | 2026.08.14 |
| 컴퓨터시스템기사 필기 07 — 컴퓨터 구조 응용 (병렬처리·Flynn분류·클라우드컴퓨팅) (0) | 2026.08.12 |