본문 바로가기
하드웨어/컴퓨터 구조

전기로 덧셈을 표현하는 반가산기, 전가산기

by bantomak 2023. 7. 7.

덧셈을 해보자

CPU가 덧셈을 계산하는 방법에 대해서 알아보도록 하자

CPU는 내부적으로 이진수를 이용해서 모든 숫자를 계산한다. 아래와 같은 계산을 진행한다고 생각해 보자.

1 + 1을 해서 10이라는 이진수 값을 얻었다. 10진수로는 2

 

해당 계산을 위해서는 우선 AND 게이트와 XOR 게이트가 필요하다.

 

AND 게이트

회로로 표현된 AND 게이트

AND 게이트 진리표

X Y Z
0 0 0
1 0 0
0 1 0
1 1 1

 

XOR 게이트

회로로 표현된 XOR 게이트

 

XOR 게이트 진리표

X Y Z
0 0 0
1 0 1
0 1 1
1 1 0

 

AND 게이트와 XOR 게이트를 이렇게 결합하면 이진수 한자리 덧셈을 계산할 수 있다.

이를 반가산기라고 부른다.

 

AND 게이트 XOR 게이트로 구성된 반가산기

2개의 게이트가 결합하여 만들어진 진리표

XOR 게이트는 덧셈을 진행하고 AND 게이트는 덧셈으로 인한 자릿수 올림을 표현한다고 생각하면 이해하기 쉽다.

 

이제 두 자릿수 이상의 덧셈을 진행해 보자. 이를 위해서는 추가적으로 OR 게이트가 필요하다.

 

OR 게이트

회로로 표현된 OR 게이트

 

OR 게이트 진리표

X Y Z
0 0 0
1 0 1
0 1 1
1 1 1

 

 

반가산기와 OR 게이트로 구성된 전가산기

 

두 자리수 이상의 덧셈이 가능해졌다!

 

믿기지 않겠지만 두 자릿수 이상의 덧셈이 가능해졌다. 이제 전가산기를 쭉 연결하기만 하면 된다.

 

 

이제 이진수 11 + 01을 진행해 보자

 

- 첫 번째 자리 1 + 1 덧셈을 해준다. 반가산기로 계산해 보면 C`로 1이 나오고 S`로 0이 나온다.

그 결과 C는 1 S1은 0이 나온다. 이제 C는 두 번째 자리로 넘겨진다. (두 번째 자리로 자리 올림)

(첫 번째 자리 수는 이전에서 올려진 수가 없으므로 C가 0인 상태로 시작한다.)

 

 - 두 번째 자리 1 + 0 덧셈을 해준다. 반가산기로 계산해 보면 C`로 0이 나오고 S1로 0이 나온다.

이제 C는 두 번째 자리로 넘겨진다. (세 번째 자리로 자리올림)

 

그 결과 이진수 100이라는 결과를 얻게 된다.

 

함께 읽으면 좋은 글

 

이진수 덧셈을 해보자!

이진수 덧셈 십진수와 이진수에서 중요한 차이점 중 하나는 이진수에서 훨씬 간단한 표를 사용한다는 점이다. 여러분이 돌고래 사회에서 자랐다면 위의 표를 학교에서 배웠을 테고 아래와 같은

jettstream.tistory.com

 

전기로 덧셈을 표현하는 반감산기, 전감산기

감산기(Subtractor) 두 개 이상의 입력에서 하나 입력으로부터 나머지 입력들을 뺼셈해서 그 차를 출력하는 논리회로이다. 가산기를 응용한 것으로 가산기에서의 합(sum)은 감산기에서 차(difference)

jettstream.tistory.com

 

참조 사이트

 

컴퓨터는 어떻게 만들어졌나요? - YES24

바야흐로 코딩의 시대다. 하지만 코딩을 잘하기 위해서는 먼저 “컴퓨터란 무엇인지” 반드시 학습을 해야 한다. 코딩을 해서 만들어진 프로그램이 컴퓨터에서 돌아가기 때문이다. 이 책은 과

www.yes24.com

 

Half-Adder Full-Adder 쉽게 이해하기

가산기? 가산기는 말이 어렵지만 덧셈을 해주는 기계입니다. 덧셈을 수행하는 기계를 논리 회로를 통해서 구성해보는 겁니다.

yunsu3042.github.io

'하드웨어 > 컴퓨터 구조' 카테고리의 다른 글

CPU의 작동  (8) 2023.07.28
프로그램 카운터(Program Counter)  (3) 2023.07.21
릴레이를 이용한 논리연산  (6) 2023.07.11
폰노이만 구조  (20) 2023.06.27
고정소수점과 부동소수점에 대해서  (26) 2023.05.04

댓글