생각그림 연구소 / 조지 불 특집 / 제19회

조지 불 특집 · 생각을 계산하는 법 19

불의 논리 연산으로 덧셈 장치 만들기

두 입력의 합을 합 자리와 올림 자리로 나누고, 이전 자리의 올림까지 더하는 과정을 표에서 확인합니다.

불의 곱·보충·합 · 섀넌 이후의 조합 회로 · 반가산기와 전가산기

조지 불의 역사적 초상 판화
조지 불(1815–1864)논리의 관계를 기호와 계산으로 나타낸 수학자
초상화 출처

『일러스트레이티드 런던 뉴스』, 1865년 1월 21일 게재. 작가 미상. 퍼블릭 도메인.

위키미디어 공용에서 원본 보기
본문 크기

조지 불(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이 될 수 없어 이 합은 올림 조건을 겹침 없이 모읍니다.

섀넌은 계전기와 스위칭 회로를 불 대수로 분석하는 방법을 제시했습니다. 이후의 디지털 회로 교육에서는 전가산기 모듈을 이어 여러 자리 덧셈기를 만들고, 올림 전달 경로가 전체 지연에 미치는 영향까지 다룹니다.

반가산기 S=x⊕y · C=xy · 전가산기 S=x⊕y⊕cin · Cout=xy+cin(x⊕y)

03 · 불의 연산으로 합과 올림을 계산하기

반가산기와 전가산기의 모든 입력 행을 확인하세요

한 자리 이진 덧셈 실험모드를 바꾸면 입력 수·표 행·계산식·그림이 함께 바뀝니다.
입력의 산술 합0
다음 자리 올림 C0
현재 자리 합 S0
입력산술 합합 S올림 C2C+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 · 자료와 출처

불의 원전과 스위칭·가산기 공식 자료

  1. 조지 불, 『An Investigation of the Laws of Thought』(1854), 제2장 — 곱·보충·합으로 부류 관계를 다루는 법칙.
  2. 조지 불, 「The Calculus of Logic」(1848) — 정확히 하나인 부류를 나타내는 식.
  3. Claude E. Shannon, A Symbolic Analysis of Relay and Switching Circuits — 불 대수와 스위칭 회로 분석의 원문.
  4. MIT OpenCourseWare, Computation Structures 8.1 — 전가산기, 올림 생성·전달, 리플 캐리와 계층적 올림 계산.
  5. NIST CSRC, Circuit Complexity — 다중 출력 불 회로와 게이트의 공식 정의.
  6. 조지 불 초상 판화 · Wikimedia Commons — 1865년 1월 21일 게재, 공개 영역.