플립플롭, 레지스터, 카운터 및 단순 프로세서(2)

chelseey·2025년 6월 16일
0

JK 플립플롭의 특징

게이티드 JK 플립플롭 특징

불안정 상태 제거

  • SR 플립-플롭에서는 S=R=1일 때 출력이 정의되지 않아 “금지” 상태가 발생
  • JK 플립-플롭은 이 경우에도 안정적으로 동작하도록 설계됨

입력 의미

  • J ⟷ “Set” (S)
  • K ⟷ “Reset” (R)

J=1, K=1인 경우 JK 플립플롭의 출력은 이전 출력의 보수 상태로 변화

가장 널리 쓰이는 플립-플롭

게이티드 JK 플립플롭 구성

EN=0 시 G₃/G₄ 출력은 항상 1 → 플립플롭 출력 불변

게이티드 JK 플립플롭 동작

(EN=1, CP=1 순간 기준)

1. J=0, K=0 → Hold

  • G₃ 출력 = 1, G₄ 출력 = 1
  • S̄ = R̄ = 1 → SR 래치 상태 불변
  • Q(t+1) = Q(t)

2. J=0, K=1 → Reset( Q(t+1)=0 )

  • G₄에 K=1 입력 → R̄ = 0
  • S̄ = 1 유지
  • SR 래치가 “Reset” 동작 → Q(t+1)=0, Q̄(t+1)=1

3. J=1, K=0 → Set ( Q(t+1)=1 )

  • G₃에 J=1 입력 → S̄ = 0
  • R̄ = 1 유지
  • SR 래치가 “Set” 동작 → Q(t+1)=1, Q̄(t+1)=0

4. J=1, K=1 → Toggle ( Q(t+1)=Q̄(t) )

  • G₃ & G₄ 모두 “활성” → S̄ = R̄ = Q̄(t) (feed-through)
  • SR 래치에 이전 Q̄(t) 값이 입력 → 출력이 반전
  • Q(t+1)=Q̄(t) (토글)

게이티드 JK 플립플롭 구성

JK 플립플롭의 특성표

표를 채우는 법

  • J=K=0 → 상태 유지
  • J=0,K=1 → Q=0
  • J=1,K=0 → Q=1
  • J=K=1 → Q=Q̄

특성 방정식

게이티드 JK 플립플롭 상태도

원 : 다음 상태 Q(t+1)

에지 트리거 JK 플립플롭 구조

기존 게이티드 JK 플립-플롭에 펄스 전이 검출기를 추가

에지 트리거 JK 플립플롭의 논리기호와 진리표

상승 에지 트리거 JK 플립플롭

하강 에지 트리거 JK 플립플롭

주종형 JK 플립플롭

Master와 Slave 2단으로 구성

클록(EN) 신호

  • Master에는 원래의 클록펄스 그대로,
  • Slave에는 반전된 클록펄스가 입력

게이티드 T 플립플롭

JK 플립-플롭의 J, K 입력을 묶어 하나의 입력 T로 동작시키는 플립플롭

JK 동작에서 입력이 00 또는 11인 경우만 사용

  • 00 → “Hold” (출력 유지)
  • 11 → “Toggle” (출력 반전)

게이티드 T 플립플롭 진리표, 상태도

게이티드 T 플립플롭 진리표

게이티드 T 플립플롭 특성표

  • T=0 (J=K=0) → 상태 유지
  • T=1 (J=K=1) → Q=Q̄

T 플립플롭 특성 방정식

T 플립플롭 상태도

상승 에지 트리거 게이티드 T 플립플롭

하강 에지 트리거 게이티드 T 플립플롭

레지스터

  • 플립-플롭 여러 개를 연결하여
    여러 비트(2진수)를 저장·전달할 수 있는 순서적 저장소

  • 외부에서 들어오는 데이터의 임시 저장 혹은 이동(Shift) 용도로 사용

레지스터의 분류

레지스터 활용 예

  • CPU 내부 연산
    중간 연산 결과(덧셈의 자리올림, 곱셈 누적값 등) 임시 보관

  • 데이터 이동
    병렬 입·출력 ↔ 직렬 입·출력 변환 (시프트 레지스터)

  • 상태 저장
    제어신호 보관, 플래그 레지스터 등 시스템 제어

카운터(Counter) : 특수한 레지스터의 일종,
→ 레지스터는 다양한 카운터를 구성

레지스터(Register)의 입·출력 방식 분류

레지스터의 종류

직렬입력-직렬출력 레지스터

D 플립-플롭을 일렬로 연결한 셔프트 레지스터

동작:

  1. 입력 I를 첫 번째 FF의 D 입력에 직렬로 공급
  2. 매 클록 펄스마다 각 FF의 Q 출력이 다음 FF의 D 입력으로 전달
  3. 마지막 FF의 Q 출력을 O로 직렬 출력

직렬입력-병렬출력 레지스터

각 FF의 Q 출력을 모두 외부로 빼냄

동작:

  1. 입력 I를 첫 번째 FF에 직렬로 공급
  2. 매 클록 펄스마다 데이터가 오른쪽으로 이동
  3. 원하는 시점에 n개의 QQnQₐ…Q_n를 동시에 읽어 병렬 출력

0개의 댓글