CPU
CPU는(central processing unit)란 입력을 받은 명령을 해석/연산 한 후에,
결과값을 출력장치로 전달하는 컴퓨터의 주요 부품이다.
CPU의 성능지표는 3가지로 나뉜다.
- 클럭(동작 속도)의 수치 : 높으면 단일 작업을 빠르게 처리하는데 유리하다.
- 코어(핵심 회로)의 수 : 멀티태스킹을 하거나 멀티코어 연산에 최적화된 프로그램을 구동하는데 이점이 있다.
- 캐시 메모리의 용량 : 크기가 큰 프로그램을 구동하거나 자주 하는 작업을 반복 처리할 때 작업 효율을 높일 수 있다
GPU
GPU(graphic processing unit)은 병렬연산에 특화된 구조를 통한 3D그래픽 처리였지만,
현재는 범용작업에도 GPU로 연산이 가능하다.
GPU의 성능기준은 CPU와 동일하다.
CPU vs GPU의 차이점!
CPU & GPU는 둘 다 데이터를 읽어서 연산을 통하여 답을 도출하는 기능을 수행한다.
하지만 프로세서의 내부구조를 파악해보면 다르다.
CPU는 명령어가 순서대로 입력된 순으로 처리하는 직렬 처리 방식에 특화된 구조를 가진다. 내부 면적의 절반이상이 캐시로 채워져 있기 때문에, GPU에 비해 상대적으로 ALU(Arithmmetic logic Unit)가 차지할 수 있는 공간이 적다.
ALU란 산술 논리 장치(算術論理裝置, arithmetic logic unit)이고, 두 숫자의 (덧셈, 뺄셈같은) 산술연산과 (배타적 논리합, 논리곱, 논리합같은) 논리연산을 계산하는 디지털 회로이다. 산술논리장치는 컴퓨터 중앙처리장치의 기본 설계 블록이다.
결국 CPU는 절반이상이 캐시로 채워져 있기 때문에, 반복적인 작업에 용이하다.
하지만 산술, 논리연산을 하는 ALU의 자리가 많이 없어 연산을 빨리하기에는 속도가 느릴 수 밖에 없다.
GPU는 여러 명령을 동시에 처리하는 병렬 처리 방식에 특화된 구조를 가지고 있다.
그 이유는 GPU는 캐시 메모리 비중이 크지 않고 연산을 할 수 있는 ALU 개수가 많아서,
딥러닝 같은 각 칼럼과 로우에 대한 합, 곱, 연산을 병렬처리하려면 GPU에 적합하다.
BUT!!!
제일 중요한 결론은 CPU와 GPU를 적절히 섞어써야 한다는 것이다.
실제로 알파고는 1920개의 CPU & 280개의 GPU로 구성이 된다.
<참고사이트>
https://light-tree.tistory.com/25
'대학원 공부 > computer science' 카테고리의 다른 글
Big Data : Hadoop : lecture_7 : MapReduce (0) | 2019.10.30 |
---|---|
linux : windows에서 .sh 파일 실행하기 (0) | 2019.10.29 |
Big Data : Hadoop : lecture_3 : YARN (0) | 2019.10.26 |
Big Data : Hadoop : lecture_2 : Hadoop_basic_1 (0) | 2019.10.26 |
Big Data : Hadoop : lecture_1 : Overview of Hadoop (0) | 2019.10.25 |
댓글