앞선 포스팅에서 반가산기(Half Adder)와 전가산기(Full Adder)를 통해 1비트 덧셈의 원리를 살펴봤습니다.
그렇다면 실제로 컴퓨터가 8비트, 32비트, 64비트 같은 큰 수들을 더할 땐 어떻게 할까요?
바로 오늘 소개할 리플 캐리 가산기(Ripple Carry Adder)가 그 역할을 합니다.
🧠 리플 캐리 가산기란?
리플 캐리 가산기는 여러 개의 전가산기(Full Adder)를 직렬로 연결하여 다중 비트 이진수를 덧셈하는 회로입니다.
예를 들어, 두 개의 4비트 이진수를 더하고 싶다면?
→ 전가산기 4개를 일렬로 연결해서 처리합니다.
⚙️ 동작 원리
리플 캐리 가산기의 핵심은 "Carry가 다음 자리로 흘러간다"는 점입니다.
이 흐름 때문에 Ripple(물결)이라는 이름이 붙었죠.
구조 (4비트 기준):
A3 A2 A1 A0 ← 첫 번째 수
+B3 B2 B1 B0 ← 두 번째 수
--------------
S3 S2 S1 S0 ← 결과 합
Cout ← 최종 자리올림
[FA0] → [FA1] → [FA2] → [FA3]
Cin → Carry → Carry → Cout
- FA0: A₀ + B₀ + Cin(=0)
- FA1: A₁ + B₁ + Carry₀
- FA2: A₂ + B₂ + Carry₁
- FA3: A₃ + B₃ + Carry₂
각 전가산기의 Carry-out이 다음 자리의 Carry-in으로 연결되어 연쇄적으로 전파됩니다.
🏗 회로 구성 예시 (4비트)
- 전가산기 4개
- 입력: A[3:0], B[3:0], 초기 Carry-in (일반적으로 0)
- 출력: Sum[3:0], 최종 Carry-out
Carry-in(0)
↓
[FA0] → Sum₀, Carry₀
↓
[FA1] → Sum₁, Carry₁
↓
[FA2] → Sum₂, Carry₂
↓
[FA3] → Sum₃, Carry-out
⚠️ 리플 캐리 가산기의 한계
단점은 바로 이름에서도 알 수 있습니다.
Carry가 ripple(물결처럼 전파)되기 때문에, 덧셈 결과가 나오기까지 시간이 지연됩니다.
- N비트 가산기에서는 최악의 경우 N개의 게이트 지연 발생
- 이 지연을 전파 지연(Propagation Delay)라고 부릅니다.
즉, 비트 수가 많아질수록 느려집니다.
🚀 대안책
리플 캐리 가산기는 구조는 단순하지만, 자리올림이 전파되며 생기는 지연(delay)이 단점이에요.
그래서 실제 컴퓨터에서는 이 문제를 해결하기 위한 다양한 가산기들이 고안되었습니다:
- Carry-Lookahead Adder (CLA): 자리올림을 미리 예측(P, G 비트 사용)하여 지연을 최소화
- Carry-Select Adder: 자리올림이 0일 경우와 1일 경우를 동시에 계산해서 빠르게 선택
- Carry-Save Adder: 자리올림을 나중에 한 번에 계산하여, 곱셈·누산기 같은 고속 연산에 유리
💡 특히 CLA(Carry-Lookahead Adder)는 현재의 CPU ALU 설계에서 가장 널리 사용되는 구조 중 하나입니다.
이런 고속 가산기 구조는 프로세서 성능에 직접적인 영향을 주기 때문에, 컴퓨터 아키텍처 설계에서 중요한 요소로 다뤄집니다.
이번 포스팅에서는 깊게 들어가진 않지만, 리플 캐리 가산기를 이해한 지금이라면, 나중에 이 구조들도 더 쉽게 받아들일 수 있을 거예요.
리플 캐리 가산기는 전가산기를 단순히 직렬 연결한 구조지만, 컴퓨터에서 덧셈의 기본적인 출발점이 되는 아주 중요한 회로입니다.단순한 구조 덕분에 설계는 쉽지만, 속도 면에서는 한계가 있기 때문에 고성능 프로세서에서는 더 빠른 회로로 대체됩니다. 하지만, 이 기본 원리를 이해하면 모든 덧셈 회로의 출발점이 명확해지고, 이후의 고급 회로도 훨씬 쉽게 이해할 수 있게 됩니다.
읽어주셔서 감사합니다 🙌
궁금한 점이나 피드백은 댓글로 언제든지 남겨주세요.
👀 CS 관련 포스팅이 궁금하시다면 아래의 글도 추천해요
[CS] 반가산기(Half Adder)와 전가산기(Full Adder) 동작 정리
디지털 회로나 컴퓨터 구조를 공부하다 보면 꼭 등장하는 개념이 반가산기(Half Adder)와 전가산기(Full Adder)입니다.처음 보면 ‘왜 굳이 이런 걸 알아야 하지?’ 싶을 수 있지만, 이 개념들은 컴퓨
dev-yeonwha.tistory.com
[CS] 논리 게이트(Logical Gates)란?
여러분이 지금 사용하고 계신 스마트폰, 컴퓨터, 심지어 전자레인지까지도0과 1이라는 단순한 두 숫자만으로 작동하고 있다는 사실, 알고 계셨나요?이처럼 디지털 기기들은 전기 신호가 흐른다(
dev-yeonwha.tistory.com
[CS] 이진수와 비트: 컴퓨터 정보 표현의 기초
우리가 사용하는 컴퓨터, 스마트폰, 태블릿은 굉장히 똑똑한 기계처럼 보이지만,사실 이들은 단 두 가지 숫자, 즉 0과 1만을 이해하는 단순한 계산기입니다.하지만 신기하게도 이 0과 1만으로 텍
dev-yeonwha.tistory.com
'cs' 카테고리의 다른 글
[CS] 플립플롭(Flip-Flop)이란? (0) | 2025.04.10 |
---|---|
[CS] 반가산기(Half Adder)와 전가산기(Full Adder) 동작 정리 (0) | 2025.04.08 |
[CS] 십진수, 이진수, 팔진수, 16진수의 개념과 활용 (0) | 2025.03.31 |
[CS] 논리 게이트(Logical Gates)란? (0) | 2025.03.30 |
[CS] 이진수와 비트: 컴퓨터 정보 표현의 기초 (0) | 2025.03.29 |