2비트 리플 캐리 가산기
전가산기 하나는 한 자리의 덧셈을 계산합니다. 전가산기 두 개를 연결하고 낮은 자리에서 생긴 올림수를 높은 자리로 넘기면, 두 개의 2비트 숫자를 더할 수 있습니다.
전가산기 두 개를 캐리로 연결한 2비트 가산기
버튼으로 입력 비트를 바꾸면 값이 1인 배선이 주황색으로 표시됩니다. 회로 아래에서 덧셈 결과를 이진수와 십진수로 함께 확인할 수 있습니다.
A와 B는 더할 숫자, Cin은 입력 올림수입니다
A와 B는 각각 2비트로 나타낸 숫자입니다. A1은 2의 자리, A0는 1의 자리이므로 A1=1, A0=0이면 A는 10₂, 즉 십진수 2입니다. A0와 B0는 1의 자리를 계산하는 FA0에, A1과 B1은 2의 자리를 계산하는 FA1에 입력됩니다.
Cin은 회로 바깥에서 들어오는 올림수입니다. 이 회로만으로 두 숫자를 더할 때는 보통 0으로 둡니다. 여러 가산기를 연결할 때는 앞 회로의 올림수를 받는 데 사용하고, 2의 보수로 뺄셈을 구현할 때는 필요한 +1을 입력하는 데 사용합니다.
A=11(3), B=01(1), Cin=0
1의 자리: 1 + 1 + 0 = 10₂ → S0=0, C1=1
2의 자리: 1 + 0 + 1 = 10₂ → S1=0, Cout=1
결과: Cout S1 S0 = 100₂ = 4
전가산기를 연결하면 더 큰 숫자도 계산할 수 있습니다
각 전가산기는 해당 자리의 A, B와 입력 올림수를 더합니다. 계산 중에 생긴 올림수는 다음 자리의 전가산기로 전달됩니다. 이 방식으로 전가산기 n개를 연결하면 두 n비트 숫자를 더할 수 있습니다. 예를 들어 3비트 가산기는 입력 올림수까지 포함해 최대 7 + 7 + 1 = 15를 계산하며, 이 결과는 4비트로 표시합니다.
이 회로에서는 높은 자리의 전가산기가 낮은 자리의 올림수를 기다려야 합니다. 따라서 연결하는 비트 수가 늘어날수록 계산 시간도 길어집니다. 이 지연을 줄이려면 올림수를 미리 계산하는 캐리 룩어헤드(CLA) 같은 회로를 사용할 수 있습니다.