가산기

1 개요

컴퓨터에서 쓰이는 연산 장치의 하나로 주로 하는건 제어 장치의 명령으로 2진수의 덧셈을 수행한다. 전자식 계산장치의 모든 수학연산에 사용되는 기초적인 소자이다. CPU를 비롯한 연산제어장치는 가산기와 같은 여러 종류의 회로로 구성된다.

2 대표적 종류

논리회로를 공부하다보면 대표적으로 보게되는 몇몇 종류가 있다. 대표적으로는 반가산기, 전가산기, 리플 캐리 가산기, 자리올림 예측 가산기(Carry Look ahead adder), 자리올림 저장 가산기(Carry save adder) 등이 있다.

2.1 반가산기

가장 간단한 형태의 가산기로, 진리표에서 Sum부분은 A와 B의 XOR을 따르며 Carry는 AND를 따른다.

2.2 전가산기

500px-Full_Adder.svg.png
반가산기 2개와 OR게이트 1개로 구성이 가능한 가산기로, 하위에서 올라온 자리올림수를 포함하여 계산하는것으로, 진리표가 복잡하다고 느낄 수 있지만 그냥 2진수 연산을 한다고 생각하면 쉽게 기억할 수 있다. A, B, 그리고 하위 자리올림수를 모두 0, 1이라는 이진수의 숫자로 보고 그 산술합을 계산해서 0이면 S도 0, C도 0이고, 1이면 S는1, C는 0, 2이면 S는 0, C는 1, 3이면 S는 1, C도 1이 되는 형식. 즉, C는 둘째자리, S는 첫째자리수를 따른다고 생각하면 편하다.

2.3 리플 캐리 가산기

전가산기를 여러개 합쳐서 임의의 비트수 연산이 가능하게 구성한 회로로 구조가 간단하다. 그러나 비트수가 길수록 아래 자리에서 올림수가 있는지에 대한 판단을 먼저 선행해야함으로 연산이 느려지는 단점이 있다.

3 계산기와의 차이

계산기와 비슷한건 이름 뿐이다. 하는 덧셈연산도 2진수의 덧셈이라 계산기가 하는 10진 덧셈 연산과는 다르다. 정확히는, 전자식 계산기의 내부 논리회로 중 가산기가 들어가있어 전체 연산 중 일부를 수행한다.

  • 계산기는 완제품으로서 물리적인 크기를 가지지만 가산기는 논리회로로서 정해진 크기가 없는 가상적인 개념이다. 실제로는 어떤 형태로도 만들 수 있다.
  • 하는 연산도 다르고 목적도 다르다. 계산기는 두 수를 더하라는 명령을 받아 두 십진수를 더한 값을 출력하지만 가산기는 일련의 연산에 필요한 이진 덧셈 연산을 수행하여 다른 연산장치로 값을 반환한다. 연산장치의 일부를 이루고 있으므로 가산기에 직접 덧셈 명령을 내리는 것은 불가능하다.