반가산기의 회로도
반가산기의 회로도를 보면 아래와 같다.
A와 B 값이 입력되면 S와 C값이 출력된다.
S는 합Sum, C는 올림수Carry를 뜻한다.
이진수 한자리수 덧셈
컴퓨터는 기본적으로 이진수로 이루어져 있으니 간단한 덧셈을 해보자. 이진수 덧셈을 해보면 아래와 같다.
A+B | A | B |
0 | 0 | 0 |
1 | 0 | 1 |
1 | 1 | 0 |
10 | 1 | 1 |
A+B가 S이면 좋겠지만 S는 오직 1과 0만 표현할 수 있다. 그래서 C가 따로 필요하다.
위 A+B를 나눠서 표현해보자. 아래처럼 나눠서 표현할 수 있다.
A+B | C올림수 | S합 |
00 | 0 | 0 |
01 | 0 | 1 |
01 | 0 | 1 |
10 | 1 | 0 |
C올림수
C올림수의 결과를 다시 A와 B만 가지고 살펴보자.
C | A | B |
0 | 0 | 0 |
0 | 0 | 1 |
0 | 1 | 0 |
1 | 1 | 1 |
A와 B가 모두 1일 때만 1이되는 AND 논리와 같다는 것을 알 수 있다.
S합
이번에는 S합의 결과를 다시 A와 B만 가지고 살펴보자.
S | A | B |
0 | 0 | 0 |
1 | 0 | 1 |
1 | 1 | 0 |
0 | 1 | 1 |
A와 B의 값이 둘 중 하나만 1일 때만 1이 나오는 XOR 논리회로와 같다는 것을 알 수 있다.
이제 반가산기 회로도를 다시 보면 왜 이렇게 그렸는지 이해할 수 있다. 이진수 한자리수 덧셈하는 반가산기는 AND와 XOR로 구현할 수 있다.
다른 더 복잡한 논리회로도도 결국 위와 같은 과정을 통해서 그림으로 표현한 것이다.