CPU와 GPU의 차이.

dddwsd·2022년 4월 22일
0

CPU

  • CPU = Central Processing Unit
  • 입출력장치, 기억장치, 연산장치컴퓨터를 비롯한 컴퓨터 리소스를 이용하는 최상위 계층 장치인 '중앙처리장치'로써, 컴퓨터의 두뇌같은 역할을 한다.
  • 다양한 환경에서 작업을 빠르게 수행하기 위해 ALU의 구조가 복잡하고 명령어 하나로 처리할 수 있는 기능도 많으며 각종 제어 처리를 위한 부분이 많다.
  • 데이터 처리와 더불어 프로그램에서 분석한 알고리즘에 따라 다음 행동을 결정하고 멀티태스킹을 위해 나눈 작업들에 우선순위를 지정하고 전환하며 가상 메모리를 관리하는 등 컴퓨터를 지휘하는 역할을 수행한다.
  • 컴퓨터 프로그램은 대부분 복잡한 순서를 가진 알고리즘을 가지고 작동하므로 CPU가 적합하다.

GPU

  • GPU = Graphics Processing Unit
  • 특화된 연산을 빠르게 처리하기 위해 단순한 ALU를 다수 갖고 있는 구조이다.
  • GPU 단독으로는 아무것도 처리할 수 없으며, GPU를 제어하는건 CPU이다.
  • GPU는 픽셀로 이루어진 영상을 처리하는 용도로 탄생했기 때문에 CPU에 비해 반복적이고 비슷한, 대량의 연산을 수행하며 이를 parallel하게 나누어 처리하기 때문에 속도가 CPU 대비 매우 빠르다.
  • 영상, 렌더링을 비롯한 그래픽 작업의 경우 픽셀 하나하나에 대해 연산을 하기 때문에 연산능력이 비교적 떨어지는 CPU가 GPU로 데이터를 보내 처리한다.

CPU GPU 차이

  • CPU는 직렬처리에 최적화된 소수의 코어로 구성된다.
  • GPU는 병렬처리에 최적화된 수천개의 보다 작고 효율적인 코어로 구성된다.
  • CPU는 GPU보다 더 적은 코어를 갖고 있지만 각각의 코어가 GPU보다 강력한 컴퓨팅 파워를 갖고 있어서 sequentiual task에 적합하다
  • GPU는 CPU보다 코어수는 많지만 각각의 코어가 GPU보다 더 성능이 낮기 때문에 parallel task에 더 강점이 있다.
  • 현재 PC에서 사용되는 CPU의 코어는 4~10개 정도이며 hyperthreading을 통해 thread를 2배 정도 늘릴 수 있다.
    ex) 8 core 16 thread는 16개의 task를 병렬적으로 수행할 수 있다.
  • NVIDIA의 Tital XP GPU의 경우 3840 코어를 갖고 있어서 CPU보다 약 200배 많다.
  • 따라서 application의 연산집약적인 부분을 GPU로 넘기고 나머지 코드만을 CPU에서 처리하는 GPU 가속 컴퓨팅은 딥러닝, 머신러닝 영역에서 주로 사용된다.
profile
Github - https://github.com/dddwsd

0개의 댓글