비교기
개요
- 목적: 비교기는 두 개의 이진수를 비교하여 상대적인 크기(같음, 큼, 작음)를 나타내는 출력을 생성하는 디지털 회로입니다. 두 이진 입력 간의 관계를 판별하고, 이 비교 결과에 따른 상태 신호를 생성합니다.
- 기호: 비교기는 비교할 두 입력(A와 B)과 비교 결과(A=B, A>B, A<B)를 나타내는 출력이 있는 직사각형 블록으로 표현됩니다.
- DigiSim.io 역할: 디지털 회로에서 기본적인 의사결정 구성요소로, 조건부 논리, 정렬 네트워크 및 제어 시스템 구현에 필수적인 값 비교 연산을 가능하게 합니다.

기능 설명
논리 동작
비교기는 두 이진 입력을 검사하여 그 관계를 결정하며, 첫 번째 입력이 두 번째 입력과 같은지, 큰지, 작은지를 나타내기 위해 적절한 출력 라인을 활성화합니다.
진리표 (1비트 비교기):
| A | B | A=B | A>B | A<B | 관계 |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 | 같음 |
| 0 | 1 | 0 | 0 | 1 | 작음 |
| 1 | 0 | 0 | 1 | 0 | 큼 |
| 1 | 1 | 1 | 0 | 0 | 같음 |
참고: 다중 비트 비교기의 경우 비교가 모든 비트에 걸쳐 확장됩니다.
입력 및 출력
입력:
- A[n:0]: 비교를 위한 n비트 첫 번째 피연산자.
- B[n:0]: 비교를 위한 n비트 두 번째 피연산자.
- 일부 구현에는 활성화(EN) 또는 더 큰 비교기를 구축하기 위한 캐스케이딩 입력과 같은 추가 제어 입력이 포함될 수 있습니다.
출력:
- Equal (=): A가 B와 같을 때 HIGH가 되는 1비트 출력.
- Greater (>): A가 B보다 클 때 HIGH가 되는 1비트 출력.
- Less (<): A가 B보다 작을 때 HIGH가 되는 1비트 출력.
구성 가능한 매개변수
- 비트 폭: 비교되는 입력의 비트 수(1비트, 4비트, 8비트 등).
- 비교 모드: 부호 없는 이진수 또는 부호 있는(2의 보수) 수에 대한 비교 여부.
- 전파 지연: 입력 변경 후 출력이 변경되는 데 걸리는 시간.
- 출력 구성: 일부 구현에서는 액티브 로우 출력을 사용하거나 특정 비교 결과를 생략할 수 있습니다.
DigiSim.io에서의 시각적 표현
비교기는 왼쪽에 레이블이 있는 입력(A[n:0], B[n:0])과 오른쪽에 출력(=, >, <)이 있는 직사각형 블록으로 표시됩니다. 회로에 연결되면, 구성요소는 출력에 표시된 값과 연결 와이어의 색상 변화를 통해 비교 결과를 시각적으로 나타냅니다.
교육적 가치
핵심 개념
- 이진 비교: 디지털 회로가 이진수 간의 관계를 어떻게 결정하는지 보여줍니다.
- 의사 결정: 컴퓨터가 조건부 연산을 구동하는 비교를 어떻게 수행하는지 설명합니다.
- 크기 결정: 디지털 시스템에서 이진 값의 상대적 크기가 어떻게 설정되는지 보여줍니다.
- 조합 논리: 다중 출력을 가진 조합 회로의 실용적인 응용을 제시합니다.
- 비트별 연산: 비트별 비교 개념과 이것이 전체 숫자 관계를 어떻게 결정하는지 소개합니다.
학습 목표
- 디지털 시스템이 숫자 값을 비교하는 방법 이해하기.
- 논리 게이트를 사용한 비교 연산의 구현 방법 배우기.
- 비교 결과가 디지털 시스템에서 의사 결정을 어떻게 구동하는지 인식하기.
- 비교기 개념을 적용하여 선택 회로, 최솟값/최댓값 검색기, 범위 검출기 설계하기.
- 부호 없는 수와 부호 있는 수 비교의 차이점 이해하기.
사용 예시/시나리오
- 조건부 분기: 레지스터 값 비교를 기반으로 CPU에서 분기 여부를 결정합니다.
- 정렬 네트워크: 데이터를 오름차순 또는 내림차순으로 정렬하기 위한 기본 구성요소입니다.
- 한계 감지: 값이 특정 임계값을 초과하거나 미만인지 식별합니다.
- 주소 비교: 메모리 주소가 디코딩을 위한 특정 값과 일치하는지 결정합니다.
- 윈도우 비교: 값이 특정 범위 내에 있는지 감지합니다.
- 제로 감지: 계산 결과가 0인지 식별합니다.
기술 참고사항
- 단순 1비트 비교기는 일반적으로 XOR 게이트(동등성 비교)와 인버터가 있는 AND 게이트(부등성 비교)를 사용하여 구현됩니다.
- 다중 비트 비교기는 리플 비교기(단순하지만 느림) 또는 병렬 비교기(빠르지만 복잡함)로 구성할 수 있습니다.
- 부호 있는 수 비교의 경우 최상위 비트가 부호를 나타내므로 특별한 처리가 필요합니다.
- 여러 비교기를 캐스케이딩하면 더 넓은 이진수의 비교가 가능하지만, 전파 지연이 증가합니다.
- DigiSim.io에서 비교기 동작은 다중 비트 입력을 적절히 처리하는 실제 디지털 구성요소를 모델링합니다.
- 고속 동작을 위해 가산기와 유사한 선행 기법을 구현하여 비교 지연을 줄일 수 있습니다.
응용
- 프로세서의 산술 논리 장치(ALU)
- 메모리 시스템의 주소 비교
- CPU의 명령어 디코딩
- 데이터 정렬 알고리즘
- 아날로그-디지털 변환기의 윈도우 비교기
- 보안 및 유효성 검사 시스템의 범위 확인
- 비밀번호 검증 시스템
- 제어 시스템의 크기 비교
- 디지털 신호 처리기의 동등성 테스트
- 파이프라인 프로세서의 분기 예측
구현
비교기는 다음을 사용하여 구현할 수 있습니다:
- 기본 논리 게이트(AND, OR, NOT, XOR)
- 전용 비교기 IC(74HC85, 74LS682 등)
- 프로그래머블 논리 장치(FPGA, CPLD)
- 마이크로프로세서의 내장 ALU 기능
- 다양한 아키텍처:
- 리플 비교기(단순하지만 느림)
- 병렬 비교기(빠르지만 복잡함)
- 트리 기반 아키텍처(속도/복잡도 균형)
회로 구현
기본 1비트 비교기는 다음 논리로 구현할 수 있습니다:
동등성 감지
graph LR
A[A] --> XNOR[XNOR Gate]
B[B] --> XNOR
XNOR --> EQ[Equal A=B]
큼 감지
graph LR
A[A] --> AND1[AND Gate]
BN[B'] --> AND1
AND1 --> GT[Greater Than A>B]
작음 감지
graph LR
AN[A'] --> AND2[AND Gate]
B[B] --> AND2
AND2 --> LT[Less Than A<B]
다중 비트 비교기의 경우, 이러한 회로는 적절한 캐스케이딩 논리와 결합됩니다.
관련 구성요소
- 크기 비교기: 이진수의 크기 비교에 특화됨
- 동등 비교기: 두 값이 같은지만 결정하는 데 초점을 맞춤
- 윈도우 비교기: 값이 지정된 범위 내에 있는지 결정
- ALU: 비교 기능 외에도 다양한 연산을 포함
- XNOR 게이트: 비트별 동등성 비교에 사용
- 감산기: 차이의 부호를 검사하여 비교에 사용 가능