CPU 와 GPU 의 차이점 (왜 GPU 가 대세인가?)
우리 인간은 이제 컴퓨터, 스마트폰을 삶에 없어서는 안될 중요한 요소로 삼습니다. 한국만해도 20년 정도 전부터 컴퓨터가 아주 흔하게 보급되었고, 그래서 이제 우리 모두는 컴퓨터를 아주 쉽게 다룹니다. 그러다보니 우리는 CPU 가 무엇인지 어렴풋이 알고 있습니다.
그런데 어느순간부터 GPU 라는 것이 등장했고, 앞으로의 시대는 이 GPU 가 이끌어 갈 것이라고 많은 전문가들이 예상합니다. AI 시대가 도래했기 때문입니다.
그래서 이번 글에서는 대체 CPU 와 GPU 가 무엇이고, 이 둘은 무슨 관계이며, 어떻게 다른지 낱낱이 알아보고자 합니다.
Table of Contents

1. Logic 반도체로써의 CPU 와 GPU
CPU (Central Processing Unit) 와 GPU (Graphic Processing Unit) 은 모두 Logic 반도체라고 합니다. Logic 반도체가 무엇인지 이해하기 위해서는 그와 비교되는 반도체인 Memory 반도체를 함께 이해하면 좋습니다.
1.1 Logic 반도체란
Logic 반도체는 데이터를 처리하고 연산을 수행하는 데 사용되는 반도체입니다. 여기에는 CPU와 GPU, 그리고 다양한 프로세서가 포함됩니다. 즉, 명령어를 실행하고 연산을 수행하는 데 중점을 둡니다.
Logic 반도체는 수많은 트랜지스터로 구성되어 복잡한 연산을 처리할 수 있는 회로를 형성합니다.고성능 연산을 위해 클럭 속도, 코어 수, 캐시 메모리 등 다양한 요소들이 최적화됩니다.
쉽게 말해서, Logic 반도체는 인간의 “뇌” 중에서 우리가 덧셈, 뺄셈, 곱셈 등의 논리적인 사고를 할 때 작동하는 뇌의 기능과 같다고 보시면 됩니다.
1.2 Memory 반도체란
Memory 반도체는 데이터를 저장하고 유지하는 데 사용되는 반도체입니다.
데이터를 일시적으로 또는 영구적으로 저장하는 데 중점을 두는데, 메모리 반도체는 데이터를 저장하기 위해 많은 셀을 가지고 있으며, 각 셀은 데이터를 저장할 수 있는 트랜지스터 또는 캐패시터로 구성됩니다.
Memory 반도체에 대한 자세한 설명은 다음 글에 자세히 설명되어 있습니다.
쉽게 말해서, Memory 반도체는 인간의 “뇌” 중에서 “기억”을 하는 기능과 같다고 보시면 됩니다.
1.3 Logic 과 Memory 반도체의 관계
우리 인간의 뇌를 통해 Logic 과 Memory 의 관계를 이해하면 쉽게 이해할 수 있습니다.
가령 1+1 이라는 명제에서, 1+1=2 라는 답을 이끌어 내는 “연산”을 해내는 것이 바로 Logic 입니다. 이때, Logic 의 연산을 하기 전, 1+1 이라는 명제를 머리속에 기억하고 갖고 있어야 그걸 연산해 낼 수 있을 겁니다.
그 명제를 갖고 있는 것이 Memory 라고 볼 수 있고, 결과 값인 “2” 마저도 저장해서 갖고 있는것이 Memory 의 역할이라고 할 수 있습니다. 결국 다음과 같이 정리 될 수 있을 듯 합니다.
Logic 반도체는 주로 데이터를 처리하고 연산을 수행하는 데 사용되며, CPU와 GPU가 대표적인 예입니다.
Memory 반도체는 데이터를 저장하고 유지하는 데 사용되며, RAM, ROM, 플래시 메모리가 대표적인 예입니다.
2. CPU 와 GPU 의 차이
이제 Logic 반도체가 무엇인지 이해했다면, 그 Logic 반도체의 양대산맥인 CPU 와 GPU 에 대해 알아보도록 하겠습니다. 대체 CPU 와 GPU 의 차이점이 무엇이길래 같은 Logic 반도체인 이 두개의 Unit 이 구분되는 것일까요?
2.1 CPU 와 GPU 의 설계 철학적 차이
2.1.1 CPU 의 설계 철학
CPU는 다양한 작업을 빠르게 처리할 수 있도록 설계되었습니다. 이 때문에 복잡한 제어 흐름과 다양한 연산을 효율적으로 수행할 수 있습니다.
또한, 낮은 지연 시간(latency)을 목표로 설계되어, 빠르게 응답해야 하는 작업에 적합합니다.
그러한 설계 철학은 몇몇 CPU 를 구성하는 구조에있어, 다음과 같은 특징을 보여줍니다.
(1) 소수의 강력한 코어
CPU는 소수의 고성능 코어를 가지고 있으며, 각각의 코어는 높은 클럭 속도와 복잡한 명령어 집합을 처리할 수 있는 능력을 갖추고 있습니다.
(2) 큰 캐시 메모리
CPU는 대용량의 캐시 메모리를 갖추고 있어, 자주 사용되는 데이터를 빠르게 접근할 수 있습니다.
(3) 직렬 처리 최적화
CPU는 복잡한 제어 구조를 효과적으로 처리하기 위해 직렬 처리에 최적화되어 있습니다. 이는 조건문, 분기 등 다양한 작업을 빠르게 수행할 수 있도록 합니다.
2.1.2 GPU 의 설계 철학
GPU는 동일한 작업을 대규모 데이터 세트에 병렬로 적용하는 데 최적화되어 있습니다. 이는 그래픽 처리와 딥러닝 모델의 훈련 등에 매우 적합합니다.
그리고, 처리량(throughput)을 최대화하기 위해 설계되어, 많은 수의 단순한 연산을 동시에 수행할 수 있습니다.
(1) 다수의 간단한 코어
GPU는 수천 개의 단순한 코어를 가지고 있으며, 이 코어들은 동시에 많은 연산을 병렬로 수행할 수 있습니다.
(2) 작은 캐시 메모리
GPU는 상대적으로 작은 캐시 메모리를 가지고 있으며, 대신 고속의 전용 메모리(GDDR)와 연결되어 있습니다.
(3) 병렬 처리 최적화
GPU는 대규모 병렬 연산에 최적화되어 있어, 동일한 연산을 여러 데이터에 동시에 적용하는 데 강점을 보입니다. 이는 그래픽 렌더링이나 행렬 연산과 같은 작업에서 매우 효과적입니다.
2.1.3 CPU 와 GPU 의 비교
위의 설명을 통해 보았을 때, 고성능 코어와 큰 캐시 메모리 덕분에 복잡한 제어 흐름과 다양한 명령어를 빠르게 처리해야 하는 상황에서는 CPU가 유리합니다.
다수의 간단한 코어와 병렬 처리에 최적화된 구조 덕분에 동일한 연산을 대규모 데이터에 병렬로 적용해야 하는 작업에서는 GPU가 탁월합니다.
2.2 CPU 와 GPU 의 구조적 차이

위 도식은 CPU와 GPU의 데이터 처리 구조를 비교한 것이며 위의 구조적 차이가 각 Unit 의 Processing 의 차이를 가져옵니다.
2.2.1 CPU 의 구조
CPU는 소수의 강력한 코어를 가지고 있습니다. 예시에서는 4개의 코어가 있습니다. 각 코어는 높은 클럭 속도와 복잡한 명령어를 처리할 수 있습니다.
이것이 가능하게 하기 위해 큰 캐시 메모리를 가지고, 자주 사용하는 데이터를 빠르게 접근할 수 있습니다. 캐시는 코어와 가까운 위치에 있어 빠른 데이터 접근이 가능합니다.
2.2.2 GPU 의 구조
GPU는 다수의 간단한 코어를 가지고 있습니다. 예시에서는 16개의 코어가 있습니다. 각 코어는 단순한 연산을 동시에 병렬로 수행할 수 있습니다.
그 결과, 동일한 작업을 여러 데이터에 동시에 적용할 수 있습니다. 이는 그래픽 렌더링이나 딥러닝 모델 훈련 등에 매우 효과적입니다.
2.3 CPU 와 GPU 의 처리 방식 (예시)
예시를 통해 CPU 와 GPU 의 처리 방식을 이해해보면, 이 둘의 차이를 더 잘 이해할 수 있습니다.
상황은 이렇습니다. 사진 편집 소프트웨어에서 이미지를 필터로 처리한다고 가정합니다. 필터는 이미지의 각 픽셀에 수학적 연산을 적용하여 색상을 변경하는 작업입니다.
이때, CPU의 처리방식은 직렬 처리와 캐시 활용을 통해 이해할 수 있습니다.
CPU는 이미지의 픽셀을 하나씩 처리합니다.
예를 들어, 이미지가 10×10 픽셀 크기라면, CPU는 첫 번째 픽셀을 처리한 후 두 번째 픽셀을 처리합니다. 이렇게 모든 픽셀을 순차적으로 처리합니다.
각 픽셀에 대해 복잡한 연산을 수행하는 데 높은 성능의 코어가 사용됩니다.
연산 처리시, 데이터(여기서는 이미지의 일부분)를 캐시에 저장하여 빠르게 접근할 수 있고,이는 각 픽셀에 대한 연산을 빠르게 수행하는 데 도움이 됩니다.
한편, GPU 의 처리방식은 병렬 처리를 통한 대규모 연산을 통해 이해할 수 있습니다.
GPU는 이미지의 모든 픽셀을 동시에 처리합니다.
이미지가 10×10 픽셀 크기라면, 100개의 픽셀을 각각의 코어가 동시에 처리합니다.
이는 GPU의 수천 개의 코어 덕분에 가능합니다.각 코어는 단순한 연산을 수행하는 데 최적화되어 있어, 전체 이미지의 필터 적용 작업이 매우 빠르게 완료됩니다.
이렇게, GPU는 대규모 데이터(여기서는 이미지의 모든 픽셀)를 동시에 처리하는 데 최적화되어 있어, 동일한 연산을 모든 픽셀에 병렬로 적용할 수 있습니다.
이는 딥러닝 모델의 훈련이나 그래픽 렌더링과 같은 작업에서 매우 효과적입니다.
3. 대세의 GPU : AI 의 출현과 딥러닝의 필요성
현재 우리가 살아가는 세상은 AI 가 공존하는 세상으로 바뀌고 있습니다. 엄청난 양의 데이터를 연산처리하고, 그에따른 결과를 만들어내기 위해서는 “딥러닝” 이 필요하고, 이러한 딥러닝 작업의 특성과 맞아떨어지는 것이 바로 GPU 입니다.
“딥러닝” 이 왜 GPU 에 최적화 되어 있는지 알아볼 필요가 있어 보입니다.
3.1 대규모 병렬 연산
딥러닝 모델, 특히 신경망은 수백만 개의 뉴런과 가중치가 연결된 복잡한 구조를 가지고 있습니다.
각 뉴런은 입력 데이터를 받아 연산을 수행하고, 이 결과를 다음 층의 뉴런에 전달합니다. 이 과정에서 수많은 행렬 곱셈과 비선형 함수 계산이 필요합니다.
그래서, 우리는 많은 데이터를 직렬이 아닌 병렬로 처리할 필요가 있습니다.
GPU는 수천 개의 작은 코어를 가지고 있어, 이러한 대규모 연산을 동시에 병렬로 수행할 수 있습니다. 이는 딥러닝 모델의 각 뉴런이나 가중치 연산을 동시에 처리하는 데 매우 효과적입니다.
3.2 높은 연산 성능
딥러닝 훈련 과정에서 수천 번의 반복적인 연산이 필요하며, 이는 매우 높은 계산 능력을 요구하게 됩니다.
NVIDIA의 최신 GPU는 텐서 코어 (Tensor Core)와 같은 특수한 연산 유닛을 포함하여, 딥러닝 연산을 더욱 빠르게 수행할 수 있습니다.
3.3 효율적인 메모리 사용
딥러닝 모델은 대규모 데이터를 다루기 때문에 메모리 접근이 빈번합니다. 데이터 이동과 메모리 사용의 효율성이 모델 훈련 속도에 큰 영향을 미칩니다. 이것이 현재 AI 시장에서 HBM 메모리를 필요로하는 이유이며, HBM 의 발전 덕분에 GPU는 대규모 데이터의 빠른 읽기/쓰기가 가능합니다. 이는 딥러닝 모델의 훈련과 추론 속도를 크게 향상시킵니다.
4. 전세계의 초점, Graphic Process Unit
결론적으로, CPU와 GPU는 각각의 강점과 약점이 있으며, 특정 작업에 따라 적합한 프로세서를 선택하여 사용합니다. CPU는 다양한 복잡한 작업을 빠르게 처리하는 데 적합하고, GPU는 대규모 병렬 연산을 요구하는 작업에 적합합니다.
그러나 이제 대세가 되어버린 AI와 딥러닝 작업은 대규모 데이터와 복잡한 행렬 연산을 다루기 때문에, 병렬 처리에 최적화된 GPU가 매우 중요한 역할을 합니다.
앞으로 GPU 가 어디까지 발전할지, HBM 과 함께하여 어떠한 더 큰 효과를 만들어낼지 기대가 되고 있습니다.