급한 사람들을 위해 먼저 정리하고 가자면 !
CPU는 어려운 문제를 푸는데 특화된 소수 정예 싱글코어, 그리고 GPU는 쉬운 문제를 동시에 푸는 데 특화된 인해전술 멀티코어라고 생각하면 된다.
CPU와 GPU
CPU와 GPU 모두 데이터를 읽어들여 연산처리를 통해 답을 도출하는 기능을 수행한다.
- CPU(중앙 처리 장치, Central Processing Unit)
- GPU(그래픽 처리 장치, Graphical Processing Unit)
CPU란 ?
CPU는 입출력장치, 기억장치, 연산장치를 비롯한 컴퓨터 리소스를 이용하는 최상위 계층 장치로써, 컴퓨터의 두뇌를 담당한다.
CPU는 컴퓨터 및 운영체제에 필요한 명령과 처리를 실행하므로 컴퓨팅 시스템에 필수적인 요소이다.
CPU는 명령어가 입력된 순서대로 데이터를 처리하는 순차적인(Sequential) 처리 방식에 특화된 구조를 가진다.
이는 한번에 하나의 명령어만 처리한다는 것을 의미하며 연산을 담당하는 ALU의 개수가 많을 필요가 없다.
ex) Octa-core CPU의 경우 코어당 1개씩, 총 8개의 ALU가 탑재되어 있는 제품이다.
CPU 내부의 절반 이상은 캐시 메모리로 채워져 있다.
캐시 메모리는 CPU와 RAM의 속도 차이를 개선하는 장치로써 CPU가 처리할 데이터를 미리 RAM에서 불러와 CPU 내부 캐시 메모리에 임시로 저장해 처리 속도를 높일 수 있게 된다.
즉, CPU가 단일 명령어를 빠르게 처리할 수 있는 이유는 '캐시 메모리' 때문이다.
GPU란 ?
일반적으로 범용 컴퓨팅 측면에서 CPU는 GPU보다 훨씬 더 성능이 좋다고 할 수 있다.
하지만, 딥러닝 학습 측면에서는 GPU가 CPU보다 좋다고 할 수 있다.
GPU는 CPU에 비해 더 많은 수의 코어를 가지고 있으며 설계에서부터 다른 목적으로 만들어졌다.
GPU는 그래픽 처리 장치로써, 그래픽 렌더링의 성능을 가속화하도록 설계되었다.
기존의 CPU는 컴퓨터가 하는 모든 일을 조종/통제해왔으나 점점 기술이 발전하면서 GUI(Graphical User Interface) 등의 다양한 로드가 추가 되었고, 이는 CPU의 성능 저하로 이어져 CPU가 제때 제때 중요한 연산을 못하게 되었다.
그러자 개발자들은 간단한 연산들(ex. 그래픽 작업)은 다른 Processing Unit에게 맡기고 기존의 중요한 일을 CPU에게 맡기도록 하자는 아이디어가 나왔고 그것이 바로 GPU의 탄생이 시초가 된다.
이렇게 CPU의 부담스러운 계산을 GPU가 오프로드 해줌으로써 계속해서 발전해왔다.
기존의 CPU가 순차적인 처리 방식에 특화되어 있었다면, GPU는 병렬처리 방식에 특화되어 있으며 이로 인해 반복적이고 비슷한 대량의 연산을 수행하는 데에 있어서 속도가 빠르다.
GPU는 여러개의 코어가 함께 작동하므로 여러 코어로 나누어 처리할 수 있는 작업의 경우 GPU가 엄청난 성능 이점을 제공한다.
기존의 CPU가 6 ~ 8개의 코어로 구성되어 있다면, GPU는 어떤 GPU인가에 따라 많이 상이하지만 적게는 수백개에서 많게는 수천개의 코어로 구성되어 있다.
참고
https://velog.io/@euisuk-chung/CPU%EC%99%80-GPU
https://sdc-james.gitbook.io/onebook/2.-1/1./1.1.1.-cpu-gpu
https://www.epnc.co.kr/news/articleView.html?idxno=78679
'Study > Study' 카테고리의 다른 글
미들웨어 (Middleware) (0) | 2022.09.12 |
---|---|
L2, L3, L4, L7 Switch (0) | 2022.09.06 |
온프레미스 vs 프라이빗 클라우드 (0) | 2022.09.06 |
Scale Up vs Scale In vs Scale Out (0) | 2022.08.29 |
에폭(epoch), 배치 사이즈(batch size), 반복(iteration) 개념 정리 (0) | 2022.06.24 |
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!