조지 불(George Boole)은 참·거짓을 더하는 기계를 만들려 한 사람이기보다, 부류와 추론의 관계를 일정한 기호와 법칙으로 계산한 수학자였습니다. 그의 곱·합·보충 연산을 조합하면 ‘정확히 하나’와 ‘둘 다’를 서로 다른 출력으로 만들 수 있습니다. 후대의 회로 설계는 이 두 출력을 이용해 한 자리 이진 덧셈을 구현했습니다.
01 · 불이 풀려던 문제
한 식의 결과를 다른 계산의 입력으로 이어갈 수 있을까요?
불의 대수에서는 복잡한 부류 관계를 작은 연산으로 나누고, 중간 결과를 다시 계산에 사용합니다. xy는 x와 y가 함께 해당하는 부분이고, x(1−y)+(1−x)y는 둘 가운데 정확히 하나만 해당하는 부분입니다. 두 식은 같은 입력을 받아 서로 다른 질문에 답합니다.
이 차이는 덧셈 장치에서 유용합니다. 한 자리 이진수 x와 y를 더할 때 01과 10의 합은 1이고 11의 합은 십진수 2, 즉 이진수 10입니다. 따라서 한 출력만으로는 합을 모두 표현하기 어렵습니다. 현재 자리의 합 S와 다음 자리로 넘길 올림 C를 따로 계산하면 네 경우를 정확히 나타낼 수 있습니다.
불의 연산 법칙은 합과 올림을 만드는 식의 언어를 제공합니다. 반가산기·전가산기라는 회로 구성과 명칭은 섀넌 이후 디지털 논리 설계에서 발전했습니다. 불의 원전과 후대 장치를 역할에 따라 구별합니다.
02 · 불의 식에서 덧셈 장치로
정확히 하나는 합 자리, 둘 다는 올림 자리가 됩니다
입력이 두 개인 반가산기에서 합 자리 S는 XOR입니다. S=x(1−y)+(1−x)y이므로 01·10행에서 1입니다. 올림 C는 C=xy이므로 11행에서만 1입니다. 두 출력은 x+y=2C+S라는 보통 산술의 관계를 만족합니다.
여기서 왼쪽 x+y는 0·1 두 수의 산술 덧셈입니다. 불 대수의 포괄적 OR와 구별해야 합니다. 11행에서 산술 합은 2이고 OR 출력은 1입니다. 반가산기는 11을 C=1, S=0으로 나누어 이진수 10을 만듭니다.
여러 자리를 더할 때는 이전 자리에서 온 올림 cin도 입력에 포함합니다. 전가산기의 합은 S=x⊕y⊕cin, 다음 올림은 Cout=xy+cin(x⊕y)로 쓸 수 있습니다. xy와 cin(x⊕y)는 동시에 1이 될 수 없어 이 합은 올림 조건을 겹침 없이 모읍니다.
섀넌은 계전기와 스위칭 회로를 불 대수로 분석하는 방법을 제시했습니다. 이후의 디지털 회로 교육에서는 전가산기 모듈을 이어 여러 자리 덧셈기를 만들고, 올림 전달 경로가 전체 지연에 미치는 영향까지 다룹니다.
03 · 불의 연산으로 합과 올림을 계산하기
반가산기와 전가산기의 모든 입력 행을 확인하세요
| 입력 | 산술 합 | 합 S | 올림 C | 2C+S | 검산 |
|---|
반가산기에서 모두 0과 모두 1을 비교하세요. 11행의 합 자리 S는 0이고 올림 C는 1입니다. 전가산기로 바꾸면 여덟 행이 나타납니다. 111의 산술 합 3은 올림 1과 합 1, 즉 이진수 11로 표현됩니다. ‘올림 전달 011’에서는 이전 올림이 계산에 포함되는 과정을 확인할 수 있습니다.
04 · 표에서 얻은 발견
출력 두 칸이 한 자리 덧셈의 값을 보존합니다
반가산기의 11행에서 XOR 출력만 보면 0이지만, 올림 C와 함께 읽으면 이진수 10입니다. 전가산기의 111행도 합 S=1과 올림 C=1을 함께 읽어 이진수 11, 십진수 3을 나타냅니다. 각 행에서 입력의 산술 합과 2C+S가 같아야 합니다.
반가산기의 네 행과 전가산기의 여덟 행은 가능한 입력 조합을 완전히 나열한 것입니다. 행 수는 사람 수·장치 수·비율·확률과 무관합니다. 입력이 하나 늘면 조합 수가 2배가 되어 네 행에서 여덟 행으로 늘어납니다.
“11은 합이 0이다”라고 한 출력만 적기보다 “x=y=1일 때 S=0, C=1이므로 2C+S=2이며 입력의 산술 합 2와 같다”라고 두 출력을 함께 기록합니다.
05 · 오늘의 실제 적용
여러 자리 계산과 프로세서의 산술 회로로 이어집니다
전가산기 하나는 같은 자리의 두 비트와 이전 자리의 올림을 받아 합과 다음 올림을 냅니다. 여러 모듈을 낮은 자리부터 연결하면 각 자리의 올림이 다음 자리로 전달되는 리플 캐리 덧셈기가 됩니다. 요구표가 맞는지 먼저 확인한 뒤 연결 단계의 지연을 살펴야 합니다.
MIT의 Computation Structures 자료는 전가산기의 올림 생성과 전달을 구분하고, 긴 올림 경로가 리플 캐리 덧셈기의 지연을 정한다는 점을 설명합니다. 더 빠른 덧셈기는 생성·전달 정보를 묶어 올림을 계층적으로 계산합니다. 이번 활동은 그 발전을 이해하기 위한 한 자리 모듈입니다.
① 입력 비트와 이전 올림의 뜻을 정합니다. ② 모든 입력 조합에서 S와 C를 계산합니다. ③ 각 행의 산술 합과 2C+S를 대조합니다. ④ 여러 자리를 연결할 때 올림의 방향을 확인합니다. ⑤ 논리 기능과 물리적 지연·전력·안전을 따로 검증합니다.
06 · 바르게 쓰는 기준
불 연산, 산술 덧셈, 회로의 물리량을 나누어 읽습니다
x⊕y는 XOR이고 x+y는 이 단락의 산술 덧셈입니다. 같은 + 기호가 문맥에 따라 다르게 읽힐 수 있으므로 식 가까이에 뜻을 밝혀야 합니다. 포괄적 OR를 나타낼 때는 ‘x 또는 y’처럼 적어 산술 합과 구별합니다.
올림 1은 사람 한 명이나 성공 확률 100%를 뜻하지 않습니다. 현재 자리의 값 2를 다음 자리의 1로 옮긴다는 위치값 정보입니다. 표의 숫자는 회로 모형의 논리 상태이며 실제 전압·시간·전력은 별도의 물리 측정값입니다.
역사도 구분합니다. 불은 부류와 추론의 대수 법칙을 제안했고, 섀넌은 불 논리의 법칙을 스위칭 회로 분석에 연결했습니다. 반가산기와 전가산기를 현대적인 게이트 모듈로 설명하는 일은 후대 디지털 설계의 발전입니다.
불의 문제: 복잡한 관계를 기본 연산의 조합으로 계산하기. 불의 제안: 곱·보충·합으로 ‘둘 다’와 ‘정확히 하나’를 식으로 나타내기. 오늘의 쓰임: 합 자리와 올림 자리를 동시에 계산해 한 자리 이진 덧셈을 검증하고 여러 자리 회로로 잇기.
07 · 자료와 출처
불의 원전과 스위칭·가산기 공식 자료
- 조지 불, 『An Investigation of the Laws of Thought』(1854), 제2장 — 곱·보충·합으로 부류 관계를 다루는 법칙.
- 조지 불, 「The Calculus of Logic」(1848) — 정확히 하나인 부류를 나타내는 식.
- Claude E. Shannon, A Symbolic Analysis of Relay and Switching Circuits — 불 대수와 스위칭 회로 분석의 원문.
- MIT OpenCourseWare, Computation Structures 8.1 — 전가산기, 올림 생성·전달, 리플 캐리와 계층적 올림 계산.
- NIST CSRC, Circuit Complexity — 다중 출력 불 회로와 게이트의 공식 정의.
- 조지 불 초상 판화 · Wikimedia Commons — 1865년 1월 21일 게재, 공개 영역.
