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


가산기?

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

3가지를 기억하고 있으면 됩니다.

  • 가산기는 컴퓨터 입장에서 생각하면 0과 1로만 이루어진 숫자를 더하는 기능을 한다.
  • 아무리 큰 수도 결국 수 많은 0과 1로 채워진 2진수로 표현할 수 있다.
  • 만약 우리가 한 자리수 덧셈을 잘 할 수 있다면 여러 자리수로 이루어진 수의 덧셈도 자리수를 반복해서 실행하면 될 것이다.

본격적으로 들어가기 앞서서

  • 하프 에더 : 한 자리수로 이루어진 두 수를 더하는 역할을 하는 계산기입니다.

  • 풀 에더 : 한 자리수로 이루어진 두 수와 하나의 수를 더 더해 총 3개의 수를 더하는 계산기입니다.

half-adder 반 가산기

이진수 1과 1을 더하면 값은 어떻게 나올까요.
1 + 1 = 10이 됩니다.

이때 우리는 두 자리수로 나온 결과를 각각 한 자리수로 나누어서 생각해볼 건데요. 첫 번째 자리수는 올림수(carry)라고 하고 두 번째 자리수는 합(sum)이라고 하겠습니다.

이렇게 두 수를 더해서 올림수와 합을 구할 수 있다면 half-adder가 완성입니다.
그런데 곰곰히 생각하니 무언가 부족해보입니다. 올림수를 통해서 다음 자리수에 더해질 수를 만들어 주었지만 방금 계산에서는 올림수를 더해주는 과정이 없습니다. 이렇게 된다면 자리수를 반복해서 계산했을 때 완벽한 값이 나오지 못할 겁니다. 그래서 half-adder 반 가산기라고 부릅니다.

full-adder

자 그림이 조금 바뀌었습니다.
현재 자리수에서 올림수를 계산해 넘겨줄 뿐만 아니라 이전 자리에서 계산한 올림수도 포함해서 총 세 개의 수를 덧셈합니다. 이제 전체 자리수로 확장하더라도 완벽한 덧셈을 할 수 있는 셈입니다.
이 가산법을 풀 에더라고 부릅니다.

직접 해봐야 할 것.

  • 반 가산기 : Xor을 사용해서 합을 구합니다. and를 사용해서 올림수를 구합니다.
  • 전 가산기 : Xor을 2번 반복해서 합을 구할 수 있습니다. Xor과 and를 사용해서 올림수를 계산할 수 있습니다.





© 2017. by yunsu

Powered by dolphin