CPU와 GPU의 구조와 용도 차이

CPU는 하나의 작업을 가능한 한 빨리 끝내도록 만들어져 강력한 코어 몇 개와 큰 캐시, 정교한 제어 로직을 갖추고 있습니다. GPU는 비슷한 작업을 한꺼번에 많이 끝내도록 만들어져 수천 개의 단순한 연산 유닛을 갖추고, 방대한 수의 스레드를 전환해 가며 메모리 지연을 숨깁니다. CPU는 복잡하고 분기가 많은 직렬 작업에, GPU는 그래픽과 딥러닝 같은 대규모 병렬 연산에 강합니다.

비교 항목CPUGPU
설계 목표낮은 지연 시간: 단일 스레드를 가능한 한 빨리 끝냅니다높은 처리량: 전체 작업량을 최대한 많이 끝냅니다
코어 수복잡한 코어 수 개에서 수백 개단순한 연산 유닛 수천 개를 더 큰 블록으로 묶은 구조
실행 모델각 코어에서 비순차 실행과 분기 예측을 하며 SIMD 명령어도 사용합니다SIMT: 스레드 그룹(예: 32개)이 같은 명령어를 함께 실행합니다
제어 로직과 캐시큰 캐시와 정교한 제어 로직이 칩 면적의 상당 부분을 차지합니다더 많은 면적이 연산 유닛에 쓰이고, 스레드당 캐시는 더 작습니다
메모리 지연 숨기기주로 캐시와 프리페치로 해결합니다주로 한 스레드가 기다리는 동안 준비된 다른 스레드로 전환해 해결합니다
메모리DDR 또는 LPDDR, 대역폭은 보통 수십~수백 GB/sGDDR 또는 HBM, 대역폭은 보통 수백 GB/s~수 TB/s
분기 처리분기와 불규칙한 코드를 잘 처리합니다그룹 내 스레드가 서로 다른 분기를 타면 느려집니다(다이버전스)
데이터 위치메인 메모리에서 직접 작업합니다외장 GPU는 자체 메모리를 가지므로 PCIe 같은 버스로 데이터를 복사해야 합니다
프로그래밍거의 모든 언어와 도구를 사용할 수 있습니다CUDA, HIP, OpenCL, 그래픽 셰이더 언어 같은 전용 모델을 사용합니다
대표 워크로드운영체제, 데이터베이스, 제어 로직, 범용 애플리케이션그래픽, 행렬·벡터 연산, 딥러닝, 시뮬레이션

수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.

상황별 선택 기준

CPU
작업이 직렬적이거나 분기가 많거나 단일 스레드의 빠른 응답이 필요할 때: 운영체제 실행, 애플리케이션 로직, 데이터베이스.
GPU
방대한 데이터에 같은 연산을 적용할 때: 이미지 렌더링, 신경망 학습과 추론, 과학 시뮬레이션.
함께 사용
대부분의 시스템은 둘 다 사용합니다. CPU가 프로그램을 실행하고 데이터를 준비하면 GPU가 무거운 병렬 연산을 맡습니다. GPU에 너무 적은 작업을 보내면 데이터 복사 비용 때문에 CPU에서 처리하는 것보다 느릴 수 있습니다.

자주 묻는 질문

딥러닝에서 GPU가 CPU보다 빠른 이유는 무엇인가요?

딥러닝은 대부분 동일한 연산 여러 개로 나눌 수 있는 행렬 연산입니다. GPU는 수천 개의 단순한 연산 유닛과 매우 높은 메모리 대역폭을 갖추고 있어, CPU의 소수 복잡한 코어보다 이런 병렬 작업을 훨씬 잘 처리합니다.

GPU가 CPU를 대체할 수 있나요?

아니요. GPU는 분기가 많은 직렬 코드에 약하고, 운영체제를 실행하고 데이터를 공급해 줄 CPU가 필요합니다. 둘은 함께 동작합니다.

GPU에서 SIMT는 무슨 뜻인가요?

SIMT(단일 명령어, 다중 스레드)는 스레드 그룹(예: 32개)이 서로 다른 데이터에 대해 같은 명령어를 함께 실행한다는 뜻입니다. 그룹 안의 스레드가 서로 다른 분기를 타면 차례대로 실행되며, 이를 다이버전스라고 합니다.

작은 작업에서는 GPU를 쓰면 왜 더 느릴 수 있나요?

데이터를 PCIe 같은 버스로 CPU 메모리와 GPU 메모리 사이에서 복사해야 합니다. 작업량이 적으면 복사 시간이 GPU로 절약되는 시간보다 클 수 있습니다.

이해도 확인

GPU가 행렬 연산이나 AI의 학습·추론에 적합한 주된 이유는?

  1. A클록 주파수가 CPU의 100배 이상이기 때문
  2. B단순한 연산기를 다수 갖추고 있어 대량의 데이터를 병렬로 처리할 수 있기 때문
  3. C메모리를 갖지 않기 때문
정답과 해설 보기

정답: B. 단순한 연산기를 다수 갖추고 있어 대량의 데이터를 병렬로 처리할 수 있기 때문

GPU는 원래 화면의 수많은 화소를 동시에 처리하기 위해 단순한 연산기를 수천~1만 개 이상 늘어놓은 구조를 가지고 있습니다. 행렬 연산처럼 같은 계산을 대량의 데이터에 반복하는 처리에서는 이 병렬성으로 높은 성능을 발휘합니다. 최근에는 행렬 연산 전용 유닛(Tensor Core 등)과 광대역 HBM을 갖추어 AI 학습의 주역이 되었습니다. 분기가 많은 순차적 처리는 CPU가 더 잘합니다.

GPU 프로그래밍 문제 풀기

주요 용어 설명

GPU
Graphics Processing Unit の略。単純な演算器を多数もち、大量のデータを並列に処理するプロセッサ。画像処理のほか、AIの学習や推論に広く使われている。
SIMD
Single Instruction, Multiple Data の略。1つの命令で複数のデータに同じ演算を同時に行う方式。画像処理やAIの計算を高速化する。
キャッシュメモリ
CPUの近くに置く高速・小容量のメモリ。よく使うデータを保持して主記憶との速度差を緩和する。主にSRAMでつくられる。
HBM
複数のDRAMダイをTSVで積層し、非常に広いバス幅で高い帯域を実現するメモリ。

관련 비교