그래픽카드와 CPU의 차이


그래픽카드와 CPU는 모두 프로세서로서 연산 작업을 수행한다.
그런데 도데체 왜 그래픽카드와 CPU가 나뉘게 되었을까?

CPU는 점 6개에 대해 순차적으로 연산을 해야하지만 GPU는 동시연산이 가능하다.

컴퓨터가 어떠한 도형을 이동시키려 할 때, 프로세서는 도형의 모든 점에 대해 이동 연산을 수행하여야 한다. 이런 연산을 CPU가 실행하는 경우 CPU는 각각의 점에 대해 한번에 하나씩 연산을 수행해야 한다. 그리고 이 점이 많아지면 많아질수록, CPU의 연산속도에는 한계가 온다. 그 한계를 극복하기 위해 나온 것이 바로 그래픽카드(GPU)이다.


그래픽카드는 부동 소수점 명령을 계산하는 장치로, 그래픽 기본 기하 명령을 담고 있어 CPU를 통해 화면을 표시 할 때보다 훨씬 빠른 디스플레이 렌더링이 가능하다. 그래픽카드는 비디오 렌더링에 최적화된 연산을 수행하는 장치들로만 구성된 CPU라고 생각할 수 있다. CPU가 다용도로 쓰이는 데에 비해, 그래픽카드는 그 용도에 맞는 방식으로만 작동하는 것이다. CPU에 들어가는 연산장치들을 대거 삭제하고, 그래픽 처리에 이용되는 연산 장치들 다수로 구성되어 있는 것이다. CPU는 수학자 몇명, GPU는 초등생 수천명을 가지고있다고 비유할 수 있다.

엔비디아의 GPU와 CPU 비유 비교 영상


CPU가 하나하나 일을 하는 데에 비해 GPU는 맡은 일을 동시에 수행해낸다.

2000년대부터는 그래픽카드의 연산 능력을 그래픽 외에도 쓸 수 있도록 하는 기술이 개발되었는데, 이것을 'GPGPU' 라고 부른다.
매우 단순한 계산이지만 이것을 매우 많이 반복해야 되는 경우가 생겼을 때, 이 것을 GPU가 처리하게 함으로서 계산속도를 기하급수적으로 단축시킬 수 있다.
GPGPU 프로그래밍에는 엔비디아의 'CUDA', 애플의 'OpenCL' 등이 있다.

댓글

이 블로그의 인기 게시물

오버워치 그래픽 설정 팁

Windows To Go에 대규모 업데이트 적용하기