덧셈을 해보자
CPU가 덧셈을 계산하는 방법에 대해서 알아보도록 하자
CPU는 내부적으로 이진수를 이용해서 모든 숫자를 계산한다. 아래와 같은 계산을 진행한다고 생각해 보자.
해당 계산을 위해서는 우선 AND 게이트와 XOR 게이트가 필요하다.
AND 게이트
AND 게이트 진리표
X | Y | Z |
0 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
XOR 게이트
XOR 게이트 진리표
X | Y | Z |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
AND 게이트와 XOR 게이트를 이렇게 결합하면 이진수 한자리 덧셈을 계산할 수 있다.
이를 반가산기라고 부른다.
AND 게이트 XOR 게이트로 구성된 반가산기
XOR 게이트는 덧셈을 진행하고 AND 게이트는 덧셈으로 인한 자릿수 올림을 표현한다고 생각하면 이해하기 쉽다.
이제 두 자릿수 이상의 덧셈을 진행해 보자. 이를 위해서는 추가적으로 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이라는 결과를 얻게 된다.
함께 읽으면 좋은 글
참조 사이트
'하드웨어 > 컴퓨터 구조' 카테고리의 다른 글
CPU의 작동 (8) | 2023.07.28 |
---|---|
프로그램 카운터(Program Counter) (3) | 2023.07.21 |
릴레이를 이용한 논리연산 (6) | 2023.07.11 |
폰노이만 구조 (20) | 2023.06.27 |
고정소수점과 부동소수점에 대해서 (26) | 2023.05.04 |
댓글