WIPIVERSE

가산기

가산기(加算器, 영어: adder)는 덧셈 연산을 수행하는 논리 회로이며, 디지털 회로 및 조합 회로의 하나이다. 가산기는 산술 논리 장치(ALU)뿐만 아니라 주소값, 테이블 색인 등을 더하는 프로세서의 한 부분으로 사용된다. 이진화 십진법(BCD), 3 초과 부호 등 여러 가지 수학적 연산을 수행하는 가산기를 구성할 수 있지만, 대부분의 가산기는 2진수의 합을 계산한다. 2의 보수나 1의 보수를 이용하여 음수를 표현하는 경우, 가산기를 가감산기로 사용할 수 있다.

전자계산기가 발명된 당시에는 진공관으로 구성되었고, 현재는 집적 회로(IC)로 설계되어 다양한 기능을 제공한다. 입력 신호 전압의 덧셈을 출력하는 디지털 회로를 가산 회로라고도 부른다.

가산기의 종류

  • 반가산기(Half Adder): 이진수의 한 자리수를 연산하고, 자리올림수는 자리올림수 출력(Carry out)에 따라 출력한다. AND, OR, NOT의 세 가지 종류의 논리회로만으로 구성할 수 있다. 두 개의 입력(A, B)과 두 개의 출력(합 S, 자리올림수 C)을 가진다.

  • 전가산기(Full Adder): 이진수의 한 자릿수를 연산하고, 하위의 자리올림수 입력(Carry in)을 포함하여 출력한다. 하위의 자리올림수 출력을 상위의 자리올림수 입력에 연결함으로써 임의의 자리수의 이진수 덧셈이 가능해진다. 하나의 전가산기는 두 개의 반가산기와 하나의 OR 게이트로 구성될 수 있다. 세 개의 입력(A, B, Carry in)과 두 개의 출력(합 S, 자리올림수 출력 Carry out)을 가진다.

복수비트 가산기

  • 리플 자리올림수 가산기(Ripple Carry Adder): 복수의 전가산기를 연결하여 임의의 비트 수를 더하는 논리회로이다. 각 전가산기가 자리올림수 입력으로 직전의 자리올림수 출력을 받는 형식으로, 자리올림수가 물결(ripple)치듯 다음 가산기로 전달된다. 구조가 간단하여 설계가 용이하나, 비트 수가 커질수록 연산 속도가 느려지는 단점이 있다.

  • 자리올림수 예측 가산기(Carry Look-Ahead Adder): 자리올림수 신호를 별도의 논리회로로 미리 계산하여 단수를 줄이는 고속 가산기 방식이다. 자리수가 몇 개가 되어도 적은 논리 단수만 필요하여 고속화가 가능하나, 필요한 회로 소자 수가 많아져 소비전력과 비용이 증가한다.

감산기와의 관계

일반적으로 감산은 가산기로 변환하여 계산할 수 있다. 1의 보수(이진수에서 NOT 연산)와 1을 더하는 방식을 이용하면, 가산기 회로를 통해 뺄셈 연산도 수행할 수 있다. 이는 CPU를 비롯한 연산 제어 장치에서 가산기가 핵심적인 역할을 하는 이유이다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기