junyeokk
Blog
Parallel Computing·2025. 10. 16

CPU vs. GPU 설계 철학

두 가지 설계 철학

CPU와 GPU는 같은 칩이지만 완전히 다른 목표를 가지고 설계되었다.

CPU: 반응 시간(latency) 우선

  • 순차 처리(sequential processing)에 적합하다
  • 기존 고성능 코어를 추가한다 (multi-core)

GPU: 처리량(throughput) 우선

  • 병렬 처리(parallel processing)에 집중한다
  • 성능에 무관하게 코어 숫자를 증가시킨다 (many-core)

Latency vs Throughput

  • Latency(지연시간): 하나의 작업이 시작해서 끝날 때까지 걸리는 시간
  • Throughput(처리량): 단위 시간당 처리할 수 있는 작업의 개수

CPU: 고성능 멀티 코어

설계 목표

복잡한 명령어를 빨리 처리하는 것이 목표다. 이를 위해 다음과 같은 특징을 갖는다.

대용량 캐시

  • 메모리 접근 시간을 줄이기 위해 캐시 메모리를 크게 설계한다
  • L1, L2, L3 캐시 계층 구조를 사용한다

대규모 제어 유닛(CU)

  • 복잡한 제어 로직을 처리한다
  • 분기 예측, 명령어 파이프라인 등 고급 기법을 사용한다

고성능 ALU

  • 복잡한 명령어를 빠르게 실행한다
  • 코어 수는 적지만(2~32개) 각 코어의 성능이 뛰어나다

적용 분야

워드 프로세싱

  • 사용자 입력에 즉시 반응해야 한다
  • 화면 반응까지 GPU보다 최소한 10배 빠르다

순차적 알고리즘

  • 이전 결과에 의존하는 계산들
  • 복잡한 제어 흐름이 필요한 작업들

GPU: 대규모 매니 코어

설계 목표

대량의 데이터를 동시에 처리하는 것이 목표다.

소규모 캐시 메모리

  • 각 코어의 캐시는 작다
  • 대신 코어 개수가 많다 (1024~8192개 이상)

간단한 제어 유닛

  • 1개의 CU가 여러 개의 ALU를 한꺼번에 제어한다
  • 같은 명령어를 여러 데이터에 동시 실행한다 (SIMD)

대규모 ALU → 1000개 이상 동시 실행

  • 단순한 연산을 대량으로 처리한다
  • Thread pool 방식으로 효과적으로 관리한다

SIMD (Single Instruction Multiple Data)
하나의 명령어로 여러 데이터를 동시에 처리하는 방식이다. GPU의 핵심 실행 모델이다.

적용 분야

빅 데이터 통계 처리

  • 대용량 데이터를 한번에 실행한다
  • 대규모 계산이 필요하다
  • CPU보다 1,000배 이상 빠르다

이미지/비디오 처리

  • 모든 픽셀에 같은 연산을 적용한다
  • 병렬 처리에 이상적이다

데이터 사이언스

  • 빅 데이터 분석
  • 머신러닝/딥러닝 학습
  • 데이터 규모 ≫ GPU 코어 숫자인 경우

적용 분야의 차이

CPU가 유리한 경우

순차 처리에 적합

  • 사용자 입력 → 화면 반응까지 빠른 응답이 필요하다
  • 복잡한 제어 흐름이 있는 알고리즘이다
  • 작은 데이터셋이다

예를 들어 워드 프로세서를 사용할 때, 키보드 입력에서 화면 업데이트까지 즉각적인 반응이 필요하다. 이런 작업은 GPU보다 CPU가 최소한 10배 빠르다.

GPU가 유리한 경우

대규모 병렬 처리에 적합

  • 빅 데이터의 통계 처리
  • 대용량 입력을 한번에 실행한다
  • 대규모 계산이 필요하다

예를 들어 1억 개의 데이터 포인트에 같은 연산을 적용할 때, GPU는 CPU보다 1,000배 이상 빠를 수 있다.

정리

CPUGPU
설계 목표반응 시간 단축처리량 확대
처리 방식순차 처리병렬 처리
코어 구조고성능 멀티 코어 (2~32개)대규모 매니 코어 (1024~8192개+)
캐시대용량소규모
제어 유닛대규모, 복잡간단, 1개가 여러 ALU 제어
적용 분야복잡한 제어, 즉각 반응대량 데이터, 단순 반복

두 프로세서는 경쟁 관계가 아니라 상호 보완 관계다. 현대의 컴퓨터는 CPU와 GPU를 함께 사용하여, 각자의 장점을 살린다.

참고 자료