BGM용 세이라디오
열기▼       고정
전체
글목록

CPU와 GPU의 차이

토요일, 11월 23, 2013

1. 만들어지게 된 쓰임새의 차이


CPU는 입출력장치, 기억장치, 연산장치를 비롯한 컴퓨터 리소스를 이용하는 최상위 계층 장치인 '중앙처리장치'로서, 컴퓨터의 두뇌와 같은 역할을 담당한다. 따라서 데이터 처리와 더불어

  • 프로그램에서 분석한 알고리즘에 따라 다음 행동을 결정하고(특히 if else 구조에 최적)
  • 멀티태스킹을 위해 나눈 작업들에 우선순위를 지정하고 전환하며
  • 가상 메모리를 관리하는 등

컴퓨터를 지휘하는 역할을 수행한다.
컴퓨터 프로그램의 대부분은 복잡한 순서를 가진 알고리즘을 가지고 작동하므로 CPU가 적합하다.

GPU는 비디오, 즉 픽셀로 이루어진 영상을 처리하는 용도로 탄생했다. 이때문에 CPU에 비해

  • 반복적이고 비슷한, 대량의 연산을 수행하며
  • 이를 병렬적으로(Parallel) 나누어 작업하기 때문에

CPU에 비해 속도가 대단히 빠르다.
영상, 렌더링을 비롯한 그래픽 작업의 경우 픽셀 하나하나에 대해 연산을 하기 때문에 연산능력이 비교적 떨어지는 CPU가 GPU로 데이터를 보내 재빠르게 처리한다.

비유를 하자면 CPU가 무리수 파이(3.141592...)를 구하는 수학적인 방법을 고안하는 수학자라면 GPU는 수학자의 방법에 따라 파이의 근삿값을 구하는 수많은 조교들과 같다.

CPU, GPU는 연산을 수행하는 물리적인 전자장치에 큰 성능 차이가 없다. 그리고 미적분, 연립방정식 등 문제에 대한 접근 방법은 사람이 컴퓨터에게 입력하고 지시함으로써 이루어진다. 따라서 CPU와 GPU가 물리적인 면에서 본질적으로 크게 다른 점은 없으며, 구조와 작동 방식의 차이가 훨씬 크다.


2. 연산 속도의 차이

프로그램을 실행할 때 영상처리는 GPU에게 맡기며, 나머지 작업들은 CPU가 맡는다. 그런데 워드 프로세서를 비롯하여 현재 대부분의 프로그램들은 CPU가 맡는 작업이 GPU에 비해 매우 가볍다. 다르게 말하면 그래픽 작업이 연산 작업의 상당량을 차지한다는 뜻이고, 그게 바로 GPU가 파생된 이유이기도 하다. 원인이자 결과로서 GPU는 CPU에 비해 연산 속도가 굉장히 빠르다. GPU는 ALU(연산/논리 장치)가 CPU보다 훨씬 풍부하기 때문이다.
※ALU와 CPU의 코어는 다른 개념이다. ALU는 CPU의 하위 개념이고, CPU가 멀티 코어인 경우 여러 코어가 상호작용하여 구조적 혁신을 이루어 더 높은 성능을 끌어낸다.


3. 혼용

현재는 구조적인 차이가 있으므로 서로가 할 작업이 명확히 구분되어 있다. 그러므로 GPU의 빠른 작업속도를 이용해 CPU 성능을 높이는 그런 일은 어렵다. 그러나 앞으로는 GPU의 이러한 병렬적 구조를 응용한 GPGPU(General-Purpose computing on GPU) 등 서로의 장점을 융합하는 시도가 있을 것으로 보인다.
첫 댓글을 써주세요!

댓글을 인용하려면 @![댓글 ID]!@와 같이 쓰시면 됩니다. "@!" 와 "!@"를 쓰시려면 "+@+!+", "+!+@+"와 같이 써주세요.

페이스북 댓글
.post-outer{ -webkit-transform:none; transform:none; display:inline; padding:0; margin:0; border-width:0; } .hentry>div{ display:none; }