자격증 정복/컴퓨터시스템기사

컴퓨터시스템기사 필기 11 — 디지털 논리회로 (카르노맵·플립플롭·조합회로)

올드 IT직장인 2026. 8. 17. 22:58

컴퓨터시스템기사 필기 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

 

반응형