전자일기

이진 감산기

전자김치 2024. 1. 30. 14:22
320x100

이진 감산기

이진 감산기는 두 개의 이진수를 빼는 출력을 생성하는 또 다른 유형의 조합 산술 회로입니다.

이름에서 알 수 있듯이 이진 감산기는 두 개의 이진수를 서로 빼는 의사 결정 회로입니다(예: X – Y) . 두 숫자 사이의 결과 차이를 찾습니다.

두 개의 이진수를 더할 때 SUM과 CARRY 비트를 생성하는 이진 가산기와 달리 이진 감산기는 이전 열의 BORROW 비트 B를 사용하여 DIFFERENCE D를 생성합니다 . 그러면 당연히 뺄셈 연산은 덧셈 연산과 반대가 됩니다.

우리는 학교 수학 수업에서 빼기 기호 " - "가 뺄셈 계산에 사용되고, 한 숫자에서 다른 숫자를 뺄 때 감수가 피감수보다 크면 빌려야 한다는 것을 배웠습니다. 아래의 두 디나리(기본 10) 수의 간단한 뺄셈을 고려해 보세요.

   123 엑스  (피감수)
– 78 와이  (감수)
45 차이점  

8은 3보다 크기 때문에 첫 번째 열의 3에서 8을 직접 뺄 수는 없으므로 다음 열의 밑수인 10을 빌려 피감수에 더해 13 빼기 8을 생성해야 합니다. ” 10은 차이가 발견되면 다음 열의 감수로 다시 돌아갑니다. 간단한 학교 수학, 필요한 경우 10을 빌려 차이점을 찾아 빌린 금액을 반환하세요.

 

하나의 이진수를 다른 이진수에서 빼는 것은 두 개의 십진수를 빼는 것과 정확히 같은 아이디어이지만 이진수 시스템은 "0"과 "1"을 두 개의 독립적인 숫자로 사용하는 Base-2 번호 매기기 시스템이므로 큰 이진수입니다. 따라서 서로 뺄 숫자는 "0"과 "1"로 표시됩니다.

이진 빼기

이진 뺄셈은 다양한 형태를 취할 수 있지만 뺄셈 규칙은 어떤 프로세스를 사용하든 동일합니다. 이진수 표기법에는 두 자리만 있으므로 "0" 또는 "1"에서 "0"을 빼면 결과는 0-0 = 0  1-0 = 1 로 변경되지 않습니다 . '1'에서 '1'을 빼면 '0'이 되지만, '0'에서 '1'을 빼면 빌려야 합니다. 즉, 0 – 1 에는 차용이 필요합니다.

두 비트의 이진 빼기

0 1 1 (빌려)1→ 0
– 0 – 0 - 1 - 1
0 1 0 1

위의 간단한 1비트 빼기 문제의 경우 빌림 비트가 무시되면 이진 빼기 결과는 Exclusive-OR 게이트의 결과와 유사합니다. 이 튜토리얼에서 레이블이 지정된 이진 감산기 입력 B 와 레이블이 지정된 이진 감산기의 결과 빌림 비트 출력 B 사이의 혼동을 방지하기 위해 두 입력 비트를 피감수에 대해 X , 감산에 대해 Y 로 표시합니다 . 그런 다음 결과 진리표는 단일 이진 감산기의 두 입력 비트 간의 차이로 다음과 같이 제공됩니다.

2입력 배타적 OR 게이트

상징 진리표


2입력 Ex-OR 게이트
와이 엑스
0 0 0
0 1 1
1 0 1
1 1 0

이진 가산기와 마찬가지로 두 숫자의 차이는 Ex-OR 표현식에서 제공한 것처럼 두 입력이 동일하지 않은 경우에만 "1"입니다. 그러나 입력 X = 0  Y = 1 일 때 빌림 비트를 생성하려면 추가 출력이 필요합니다 . 불행하게도 X  Y 입력 의 특정 조합에 대한 출력을 생성하는 표준 논리 게이트는 없습니다 .

그러나 우리는 AND 게이트가 입력 X  Y가 모두 "1"(HIGH)일 때 출력 "1"을 생성한다는 것을 알고 있으므로 입력 X가 AND 게이트 에 공급되기 전에 인버터나 NOT 게이트를 사용하여 입력 X를 보완하면 , 아래와 같이 X = 0 이고 Y = 1 일 때 필요한 빌림 출력을 생성할 수 있습니다 .

그런 다음 Exclusive-OR 게이트를 NOT-AND 조합과 결합하면 그림과 같이 일반적으로 Half Subtractor 로 알려진 간단한 디지털 이진 감산기 회로가 생성됩니다 .

하프 바이너리 감산기 회로

반 빼기(half subtractor)는 두 개의 이진수에 대해 빼기 연산을 수행하는 논리 회로입니다. 절반 감산기는 다음 단계에 대한 합계와 빌림 비트를 생성합니다.

차용 기능이 있는 하프 감산기

상징 진리표
  와이 엑스 차이점 빌리다
0 0 0 0
0 1 1 0
1 0 1 1
1 1 0 0

절반 감산기의 진리표에서 DIFFERENCE( D ) 출력은 Exclusive-OR 게이트 의 결과이고 Borrow-out( Bout )은 NOT-AND 조합 의 결과임을 알 수 있습니다. 그러면 반 감산기에 대한 부울 표현식은 다음과 같습니다.

DIFFERENCE 비트 의 경우 :

 

D = X XOR Y = X ⊕ Y

BORROW 비트 의 경우

B = X가 아님 AND Y =  X .Y

반감산기와 반가산기의 부울 표현식을 비교하면 SUM(가산기)과 DIFFERENCE(감산기)에 대한 두 표현식이 정확히 동일하므로 이는 Exclusive- OR 게이트 기능 으로 인해 발생해야 함을 알 수 있습니다. . 이진 감산기 BORROW에 대한 두 개의 부울 표현식도 CARRY 가산기에 대한 것과 매우 유사합니다. 그런 다음 반가산기를 반감산기로 변환하는 데 필요한 것은 피감수 입력 X 의 역전뿐입니다 .

이진 감산기로 사용될 때 Half Subtractor 회로 의 한 가지 주요 단점은 여러 데이터 비트를 서로 뺄 때 이전 회로에서 "빌어오기"를 제공하지 않는다는 것입니다. 그런 다음 이전 회로의 빌린 입력을 고려하기 위해 "완전 이진 감산기" 회로를 생성해야 합니다.

전체 이진 감산기 회로

Full Subtractor 와 이전 Half Subtractor 회로 의 주요 차이점은 Full Subtractor에 3개의 입력이 있다는 것입니다. 두 개의 단일 비트 데이터 입력 X (minuend) 및 Y (subtrahend)는 이전과 동일하며 추가 Borrow-in ( B-in ) 입력을 추가하여 아래와 같이 이전 단계의 빼기 프로세스에서 생성된 빌림을 수신합니다.

전체 이진 감산기 블록 다이어그램

그런 다음 "완전 감산기"의 조합 회로는 차이 D 및 빌림 B-out 에 대한 출력을 생성하는 3개의 이진 비트에 대한 감산 작업을 수행합니다 . 이진 가산기 회로와 마찬가지로 전감산기는 두 개의 반 감산기가 함께 연결된 것으로 생각할 수도 있으며, 첫 번째 반 감산기는 다음과 같이 차용을 두 번째 반 감산기에 전달합니다.

전체 이진 감산기 논리 다이어그램

위의 전감산기 회로는 함께 계단식으로 연결된 두 개의 반감산기를 나타내므로 전감산기에 대한 진리표는 3개의 입력 변수, 데이터 비트 및 Borrow-in , B IN 입력이 있으므로 8개의 서로 다른 입력 조합을 갖습니다 . 또한 차 출력 D 와 바로우 아웃(Borrow-out) B OUT 비트도 포함됩니다.

전감산기 진리표

상징 진리표
  큰 상자 와이 엑스 차이점
0 0 0 0 0
0 0 1 1 0
0 1 0 1 1
0 1 1 0 0
1 0 0 1 1
1 0 1 0 0
1 1 0 0 1
1 1 1 1 1

그러면 완전 감산기에 대한 부울 표현식은 다음과 같습니다.

DIFFERENCE ( D ) 비트 의 경우 :

D = ( X . Y .B IN ) + ( X .Y . B IN ) + (X. Y . B IN ) + (XYB IN )

이것도 단순화될 수 있습니다:

D = (X XOR Y) XOR B IN  = (X ⊕ Y) ⊕ B IN

BORROW OUT ( B OUT ) 비트 의 경우 :

B 출력  = ( X . Y .B IN ) + ( X .Y. B IN ) + ( X .YB IN ) + (XYB IN )

또한 단순화됩니다.

B OUT  =  X  AND Y OR  (X XOR Y) B IN  =  X .Y +  (X ⊕ Y )B IN

n비트 이진 감산기

이진 가산기와 마찬가지로 n 개의 1비트 완전 이진 감산기를 서로 연결하거나 "계단식" 연결하여 두 개의 병렬 n 비트 숫자를 서로 뺄 수도 있습니다. 예를 들어 두 개의 4비트 이진수입니다. 우리는 이전에 전가산기와 전감산기의 유일한 차이점은 입력 중 하나의 반전이라고 말했습니다.

따라서 n비트 덧셈기와 n 개의 인버터( 게이트 아님 )를 사용하면 뺄셈의 모든 비트에 대해 2의 보수 표기법을 사용할 수 있고 최하위 비트의 캐리 입력을 다음과 같이 설정할 수 있으므로 뺄셈 프로세스가 추가됩니다. 논리 "1"(HIGH).

2의 보수를 사용하는 이진 감산기

그런 다음 74LS283 및 CD4008과 같은 4비트 전가산기 IC를 사용하여 감산에 2의 보수를 사용하여 간단히 뺄셈을 수행할 수 있습니다. B 입력은 X – Y  X + (-Y) 와 같습니다. X 에 Y 의 2의 보수를 더한 것입니다 .

다시 한 번 덧셈을 위해 4비트 가산기를 사용하려면 캐리인( C IN ) 입력을 로직 "0"으로 LOW 로 설정하기만 하면 됩니다 . 74LS83 또는 74LS283과 같은 4비트 가산기 IC를 전가산기 또는 전감산기로 사용할 수 있기 때문에 두 작업 중에서 선택하기 위한 단일 제어 입력이 있는 단일 가산기/감산기 회로로 사용할 수 있습니다.

 

320x100

'전자일기' 카테고리의 다른 글

바이너리 가중 DAC  (0) 2024.02.02
아날로그-디지털 변환기  (1) 2024.01.31
디지털 비교기  (1) 2024.01.30
이진 가산기  (1) 2024.01.30
디스플레이 디코더  (1) 2024.01.30