- 순서
- CPU
- GPU
- CPU와 GPU의 차이
- CPU
- CPU란?
- Central Processing Unit으로 중앙처리장치라고 부르며 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할하는 장치임.
- 강력한 연산 처리능력으로 개별적인 작업을 신속하게 처리하는데 특화되어 복잡한 연산을 순차적으로 빠르게 처리할 수 있음
- CPU의 주요 구성요소
- 제어장치(CU): 메모리와 입출력 장치, ALU가 서로 데이터를 주고받을 수 있도록 제어 신호를 내보내며 어떤 명령을 언제 실행할지 순서를 관리함
- 산술/논리단위(ALU): 덧셈, 뺄셈 같은 산술 연산과 AND, OR같은 논리 연산을 담당함
- 레지스터(Register): CPU 내부에 있는 초고속 임시 저장 공간으로 아래의 대표적인 세가지가 있음.
- PC(Program Counter): 다음 실행할 명령어의 주소 저장
- IR(Instruction Register): 현재 실행 중인 명령어 저장
- ACC(Accumulator): 연산 결과 저장
- 세부 구성 요소로는 캐시, 레지스터, 클럭, 명령어 레지스터 및 포인터, 버스로 이루어져 있음
- 정기적으로 메인 메모리와 연동하여 데이터에 액세스함.
- 표준 운영 메모리는 단기기억과 유사하게 RAM 데이터를 컴퓨터의 캐시 메모리에서 주기적으로 제거하기 전에 순간 저장함.
- CPU의 동작과정
- 인출(Fetch): 메모리에서 명령어를 가져옴 (PC > 메모리 > IR)
- 해독(Decode): 제어장치가 명령어를 해석함
- 실행(Execute): ALU 등이 동작하여 연산을 수행함
- 저장(Store): 결과를 레지스터나 메모리에 기록함
- 위 4가지 과정을 GHz 단위속도로 반복함
- CPU의 성능 지표
- 클록 속도: 초당 명령을 실행할 수 있는 속도
- 코어 수: 동시에 처리할 수 있는 작업 단위
- 캐시 메모리: CPU안에 있는 초고속 메모리, 메모리 접근 지연을 줄여줌
- 명령어 집합(ISA): CPU가 이해할 수 있는 명령어 체계
- CPU란?
- GPU
- GPU란?
- Graphics Processing Unit으로 그래픽 연산(특히 3D 렌더링)을 빠르게 처리하기 위해 만들어진 프로세서
- 그래픽 처리, 출력을 빠르게 렌더링하는 목적으로 구성되어 작은 캐시와 다수의 연산장치가 있는것이 특징. > 이와 같은 구조로 데이터를 병렬로 대량 처리하는데 특화됨.
- GPU의 주요 특징
- 코어 구조
- GPU는 수천 개의 작고 단순한 연산 코어를 가지고 있음
- 동시에 많은 데이터를 병렬 처리하는 데 유리함.
- 메모리 구조
- VRAM(Video RAM)을 사용하여 대량의 그래픽 데이터(텍스처, 행렬 등)를 빠르게 처리함.
- VRAM이란?
- GPU의 전용 메모리로 그래픽 데이터(텍스쳐, 색상, 버퍼, 쉐이더 데이터 등)를저장하는 고속 메모리임
- 프레임 버퍼를 저장하여 최종 화면 픽셀 데이터를 보관함.
- 텍스처와 모델 데이터를 저장하여 3D 객체에 색상/질감을 입히는데 사용함
- 쉐이더 코드와 중간 연산 데이터를 저장하여 GPU 연산에 활용함
- VRAM의 특징
- 대역폭이 중요함 > 초당 얼마나 많은 데이터를 GPU와 VRAM간 주고 받을 수 있는가
- VRAM 용량이 크면 고해상도 텍스처와 고품질 그래픽 처리가 가능함.
- GPU의 그래픽 파이프라인 : GPU가 화면에 최종 이미지를 출력하기까지 거치는 단계
- 응용 단계: 게임/프로그램이 렌더링할 오브젝트를 결정하고 CPU가 GPU에 데이터를 전송함
- 기하 단계
- 버텍스 셰이더: 모델의 정점 위치를 변환함.
- 테셀레이션: 다각형을 잘게 쪼개 정밀한 모델 생성
- 지오메트리 셰이더: 정점 단위 데이터 보정
- 래스터화 단계: 3D 정점 데이터를 2D 픽셀로 변환함 > 즉, 화면 좌표로 찍는 과정
- 픽셀/프래그먼트 단계
- 프래그먼트 셰이더: 각 픽셀의 색상, 텍스처, 조명 계산
- 그림자, 반사, 특수효과 적용
- 출력 단계: 여러 버퍼를 합쳐 최종 프레임을 생성함 > 이 프레임이 VRAM의 프레임 버퍼에 저장되어 모니터에 출력됨
- 역할
- 이미지, 비디오 렌더링
- 대규모 행렬/벡터 연산 > 딥러닝 학습, 시뮬레이션, 암호학 등
- 코어 구조
- GPU란?
- CPU와 GPU의 차이
| 구분 | CPU | GPU |
| 주요 역할 | 범용 연산(운영체제, 로직, 제어) | 대규모 병렬 연산(그래픽, 행렬, 계산) |
| 구조 | 대량의 캐시 메모리 제어장치와 연산장치로 구성 고속 데이터로 처리 |
소량의 캐시 메모리 다량의 연산 장치로 구성 |
| 코어 수 | 소수(보통 4~16개) > 강력하지만 개수 적음 | 수천개의 작은 코어 |
| 연산 방식 | 순차적인 연산, 직렬 처리 최적화 | 동시다발적으로 처리, 병렬 처리 최적화 |
| 메모리 | 캐시 중심(L1~L3) | VRAM 사용(대용량, 대역폭 큼) |
| 적합한 작업 | 복잡한 분기문, 다양한 연산 | 대량의 반복 계산, 동일 연산 처리 |
| 예시 | 프로그램 실행, 게임로직, OS 관리 | 게임 그래픽렌더링, 딥러닝 학습, 데이터병렬처리 |
'CS' 카테고리의 다른 글
| [CS] 프로세스와 스레드 (2) | 2025.08.28 |
|---|---|
| [CS]메모리 단편화 (1) | 2025.08.28 |
| [CS]프로세스의 메모리 (1) | 2025.08.27 |
| [CS]빌드 프로세스 (0) | 2025.08.27 |
| [CS] 컴퓨터의 메모리 구조 (4) | 2025.08.22 |