computer_science/computer_architecture

[컴퓨터구조] 03. 디지털 논리 회로

렁치 2026. 7. 24. 17:30

CPU도 결국 전기 신호를 처리하는 회로 덩어리다. 그 가장 밑바닥에 논리 게이트가 있고, 이들을 조합해 덧셈기·기억소자 같은 더 큰 회로를 만든다. 오늘은 0과 1을 다루는 논리 회로의 기본을 정리했다.


1. 논리 게이트

논리 회로는 0과 1의 디지털 신호를 처리하는 회로다. 그 기본 부품이 논리 게이트다.

게이트 동작 표기
AND 모두 1일 때만 1 F = A·B
OR 하나라도 1이면 1 F = A+B
NOT 반전 F = A'
NAND AND의 반전 (A·B)'
NOR OR의 반전 (A+B)'
XOR 서로 다르면 1 A⊕B

 

이 게이트들을 회로로 만드는 기술이 TTL(Transistor-Transistor Logic, 트랜지스터 기반)과 CMOS(Complementary Metal-Oxide-Semiconductor, 저전력)다. 게이트 동작을 변형할 때 자주 쓰는 규칙이 드모르간 법칙이다.

(A·B)' = A' + B'
(A+B)' = A'·B'

 

NAND·NOR로 다른 모든 게이트를 만들 수 있어, 실제 회로는 이 둘을 기본 블록으로 삼기도 한다. AND·OR·NOT을 따로 다 만들지 않아도 된다는 게 신기했다.


2. 조합 논리 회로 vs 순서 논리 회로

논리 회로는 "과거를 기억하는가"에 따라 둘로 나뉜다. 이 구분이 이 단원의 핵심이었다.

구분 출력 결정 기억 능력 대표 회로
조합 논리 회로 입력값만으로 없음 가산기, 디코더, 멀티플렉서, 인코더
순서 논리 회로 입력값 + 내부 상태 있음 플립플롭, 레지스터, 카운터

 

기억의 유무가 가른다
조합 회로는 같은 입력이면 항상 같은 출력을 낸다(과거와 무관). 순서 회로는 같은 입력이라도 현재 내부 상태에 따라 출력이 달라진다(과거를 기억). 계산만 하는 회로는 조합, 값을 저장해야 하는 회로는 순서 회로다.

 

"기억이 있느냐"라는 한 기준으로 회로 전체가 둘로 갈린다는 게 깔끔했다. 계산(조합)과 저장(순서)이 분리돼야 CPU가 만들어진다는 큰 그림이 잡혔다.


3. 가산기와 플립플롭

가산기 (조합 회로)

덧셈을 수행하는 회로다.

  • 반가산기(Half Adder): 두 비트를 더해 합과 자리올림을 낸다.
  • 전가산기(Full Adder): 두 비트에 이전 자리올림까지 더한다.

전가산기를 여러 개 이으면 여러 자리 덧셈이 되고, 이것이 ALU(Arithmetic Logic Unit) 덧셈 기능의 토대다.

 

플립플롭 (순서 회로)

플립플롭(Flip-Flop): 1비트 기억 소자
순서 논리 회로에서 1비트를 기억하는 핵심 소자다. SR, D, JK, T 네 종류가 있다. 플립플롭을 여러 개 모으면 레지스터가, 더 모으면 메모리가 된다.

 

조합 회로(계산)와 순서 회로(기억)가 합쳐져야 비로소 "계산하고 그 결과를 기억하는" CPU가 만들어진다. 게이트 → 가산기·플립플롭 → 레지스터·ALU → CPU로 쌓아 올라가는 것이다. 작은 게이트에서 CPU까지 한 줄로 올라가는 이 계층이 컴퓨터구조의 큰 줄기라는 게 보였다.


오늘 느낀 점

  • NAND 하나로 모든 게이트를 만들 수 있다는 데서, 단순한 부품의 반복이 복잡한 컴퓨터 전체를 이룬다는 디지털 논리의 통찰을 느꼈다.
  • "기억이 있느냐"로 조합/순서 회로가 갈린다는 한 기준이, 계산과 저장이라는 CPU의 두 축으로 자연히 이어졌다.
  • 게이트→가산기·플립플롭→레지스터·ALU→CPU로 쌓이는 계층을 보고, 앞으로 배울 CPU·기억장치가 전부 이 위에 선다는 큰 지도가 그려졌다.

한 걸음 더

  • 모든 디지털 회로가 단 몇 종류의 게이트 조합으로 만들어진다는 사실은 놀랍다. 심지어 NAND 게이트 하나만으로 AND·OR·NOT을 비롯한 모든 논리 회로를 구성할 수 있다(NAND는 "기능적으로 완전"하다). 단순한 부품의 반복이 복잡한 컴퓨터 전체를 이룬다는 게 디지털 논리의 핵심 통찰이다.
  • 플립플롭이 어떻게 "기억"하는지가 흥미롭다. 출력을 다시 입력으로 되먹임(피드백)하는 구조라, 한 번 정해진 상태가 새 신호가 올 때까지 유지된다. 이 "되먹임으로 상태를 붙잡는" 발상이 1비트 기억의 핵심이고, 메모리의 가장 밑바닥 원리다.
  • 조합 회로와 순서 회로의 구분은 소프트웨어에도 그대로 대응한다. 입력만으로 결과가 정해지는 순수 함수(조합)와, 이전 상태에 의존하는 상태 기반 로직(순서)의 구분이 그것이다. 하드웨어의 개념이 소프트웨어 설계 사고와 닮아 있다는 점이 컴퓨터과학의 일관성을 보여준다.