인프런 워밍업 클럽 4기 CS - 2주차 발자국

인프런 워밍업 클럽 4기 CS - 2주차 발자국

디지털 논리 회로의 핵심 구성 요소

디지털 회로는 정보를 처리하고 저장하기 위해 다양한 논리 회로들을 사용합니다. 이 회로들은 크게 조합 논리 회로순차 논리 회로로 나눌 수 있어요.

1. 정보 선택 및 분배 회로

주어진 여러 정보 중 필요한 것을 선택하거나, 하나의 정보를 여러 목적지로 분배하는 역할을 합니다.

  • 멀티플렉서 (Multiplexer, MUX)

    • 역할: 여러 개의 입력(예: 2n개) 중 하나를 선택하여 출력합니다. 마치 여러 개의 물건 중 하나를 고르는 것과 같아요.

    • 선택 신호: '선택 신호(Select Line)'를 통해 어떤 입력을 출력할지 결정합니다.

    • 예시: 4:1 MUX는 4개의 입력 중 1개를 선택하며, 이를 위해 2개의 선택선이 필요해요.

  • 디멀티플렉서 (Demultiplexer, DEMUX)

    • 역할: 하나의 입력을 받아, 선택된 하나의 출력으로 전달합니다. 마치 하나의 물건을 여러 목적지 중 한 곳으로 보내는 것과 같아요.

    • 선택 신호: '선택 신호'를 통해 어느 출력으로 보낼지 결정합니다.

  • 디코더 (Decoder)

    • 역할: n개의 입력을 받아, 2n개의 출력 중 오직 하나만 활성화(1로 만듦)시킵니다.

    • 활성화: 특정 입력 조합에 대해 해당하는 출력 하나만 '1'이 되고 나머지는 모두 '0'이 됩니다.

    • 예시: 3:8 디코더는 3개의 입력에 대해 8개의 출력 중 하나만 활성화됩니다.

    • 주요 사용처: 특정 주소나 명령어를 인식하고 선택하는 데 사용됩니다.


2. 제어 및 데이터 흐름 관리 회로

제어 신호를 관리하고 데이터 흐름의 안정성을 유지하는 데 사용됩니다.

  • 컨트롤 버퍼 (Control Buffer)

    • 역할: 제어 신호나 제어 정보를 일시적으로 저장하거나 전달하는 완충 회로입니다.

    • 주요 기능:

      • 타이밍 조절: 제어 신호 전달 시 속도 차이를 조절하여 동기화 문제를 해결합니다.

      • 안정성 유지: 제어 흐름을 안정적으로 유지하며, 경우에 따라 컨트롤 레지스터(Control Register)와 혼용되기도 합니다.

    • 사용처: CPU 내부, 메모리 컨트롤러, 입출력(I/O) 장치 제어 등 다양한 곳에서 사용됩니다.


3. 연산 회로

이진수를 이용한 덧셈을 수행하는 데 사용되는 기본적인 회로입니다.

  • 반가산기 (Half Adder)

    • 역할: 두 개의 1비트 이진수(A, B)를 더합니다.

    • 출력: 합(Sum)자리올림(Carry)이 있습니다.

    • 논리식:

      • Sum=A⊕B (XOR 연산)

      • Carry=A∧B (AND 연산)

    • 한계: 이전 자리에서 발생한 자리올림 값(Carry-in)을 처리할 수 없습니다.

  • 전가산기 (Full Adder)

    • 역할: 세 개의 1비트 이진수(A, B, 그리고 이전 자리의 자리올림 값인 Carry_in)를 더합니다.

    • 출력: 합(Sum)자리올림(Carry_out)이 있습니다.

    • 논리식:

      • Sum=A⊕BCarry_in

      • Carry_out=(A∧B)∨(BCarry_in)∨(A∧Carry_in)

    • 특징: 자리올림 입력을 처리할 수 있어 여러 비트의 덧셈(다비트 덧셈)에 활용됩니다.


4. 논리 회로의 분류

회로의 동작 방식과 기억 기능 유무에 따라 크게 두 가지로 나뉩니다.

  • 조합 논리 회로 (Combinational Logic Circuit)

    • 특징: 현재 입력에 의해서만 출력이 결정되며, 과거 상태를 기억하지 않습니다. (메모리 기능 없음)

    • 동작: 입력이 바뀌면 출력이 즉시 바뀝니다. 클럭 신호가 필요 없습니다.

    • 예시: 가산기(Adder), 디코더(Decoder), 인코더(Encoder), 멀티플렉서(MUX), 비교기 등이 있습니다.

  • 순차 논리 회로 (Sequential Logic Circuit)

    • 특징: 현재 입력과 과거 상태(기억된 값)에 따라 출력이 결정됩니다. 기억 기능(메모리)을 포함합니다.

    • 동작: 클럭(Clock) 신호에 따라 타이밍 기반으로 동작하며, 출력이 시간의 흐름에 따라 변하거나 유지됩니다.

    • 예시: 플립플롭(Flip-Flop), 레지스터(Register), 카운터(Counter), FSM(상태 기계), 메모리 등이 있습니다.


5. 순차 논리 회로의 기본 소자

순차 논리 회로의 핵심인 기억 소자들입니다.

  • 클럭 (Clock)

    • 역할: 디지털 회로 전체의 동작 타이밍을 결정하는 주기적인 펄스 신호입니다.

    • 동작 기준: 클럭의 상승 엣지(↑)나 하강 엣지(↓)에서 회로가 동작하도록 설계됩니다.

  • 래치 (Latch)

    • SR 래치 (Set-Reset Latch)

      • 역할: S(Set), R(Reset) 두 입력으로 출력 Q를 제어하며, 이전 상태를 기억하는 순차 회로의 기본 형태입니다.

      • 문제점: S=1, R=1일 때 출력이 불안정해지는 '금지 상태'가 발생합니다.

    • D 래치 (Data or Delay Latch)

      • 역할: SR 래치의 금지 상태 문제를 해결했습니다.

      • 입력: D(Data)와 Enable (또는 Clock)이 있으며, Enable이 '1'일 때만 D 값이 출력 Q로 전달됩니다.

      • 특징: 항상 안정적으로 동작하며, 메모리 소자에 많이 사용됩니다.

    • JK 래치

      • 역할: SR 래치의 금지 상태를 해결한 또 다른 형태입니다.

      • 입력: J, K, 그리고 Clock이 있습니다. J는 Set, K는 Reset 역할을 합니다.

      • 특징: J=K=1일 때 출력이 반전되는 특징이 있어 플립플롭 구현에 주로 사용됩니다.

  • 플립플롭 (Flip-Flop)

    • 역할: 1비트의 정보를 저장할 수 있는 순차 논리 회로입니다.

    • 동작: 클럭 신호에 의해 상태가 변하거나 유지됩니다.

    • 종류: D, JK, T 등 다양한 종류가 있습니다. (래치와는 클럭 동기화 방식에서 차이가 있습니다.)

  • 레지스터 (Register)

    • 역할: 여러 개의 플립플롭을 묶어 만든 구조로, 보통 8, 16, 32비트 등 데이터를 임시 저장하는 데 사용됩니다.

    • 특징: CPU 내부에서 동기식으로 동작하며 고속 데이터 처리에 필수적입니다.

  • RAM (Random Access Memory)

    • 역할: 데이터를 자유롭게 읽고 쓸 수 있는 임의 접근 메모리입니다.

    • 특징: 전원이 꺼지면 데이터가 사라지는 휘발성 메모리입니다.

    • 접근 방식: 주소를 지정하여 원하는 위치의 데이터를 직접 접근할 수 있습니다.

댓글을 작성해보세요.

채널톡 아이콘