기억장치 종류와 역할
- CPU = 연산 장치, Core(코어)가 연산을 한다.
- CPU 연산 속도 ↑ = 처리량 ↑ = 성능 ↑
- 클럭 속도 ↑ = Scale Up, 코어의 개수 ↑ = Scale Out,
- RAM = 연산을 하는 데이터 저장
- RAM은 CPU에 비해 속도가 느리므로 속도 차이를 극복하기 위해 중간에 Cache memory를 사용한다.
- CPU가 연산을 하면서 Cache memory에 RAM에서 가져올 다음 정보를 예측하여 복사해온다.
- CPU: 교수, Cache memory: 조교, RAM: 도서관 → 조교는 교수가 다음에 사용할 책을 예상하여 도서관에서 가져온다.
CPU도 당신처럼 예측하고 미리 움직인다
- 코어가 명령 + 데이터를 L1 캐시에서 가져온다.
- 예측은 캐시 메모리에서 발생한다.
- 0에서 99까지 숫자를 세는 연산을 하는 경우, 0,1,2, 순서로 연산하다 보면 캐시메모리가 RAM에서 나머지 97개를 예측하고 미리 데이터를 가져다 놓는다.
- L1, L2, L3를 나눈 이유는 데이터 양으로 인한 차이때문에 나누었다.
- 데이터 양 = L1 < L2 < L3
- L1 = 명령과 데이터가 구분되어 있음, L2 = 명령과 데이터가 섞여있음, L3 = 각 코어에 보낼 데이터가 전부 있다.
- 예측이 항상 정확하지는 않다. (90% 적중률)
- Cache Hit → 예측이 맞음, Cache Miss → 예측이 빗나감, 예측이 빗나가면 RAM에서 직접 정보를 가져온다.
CPU가 연산 시 데이터 요청 과정
- CPU가 캐시 메모리에 데이터 요청함 (RAM 메모리 주소 00에 있는 값을 가져오려하는데 혹시 있니?)
- 캐시 메모리는 예측한 데이터를 RAM에서 가져옴, 그 데이터를 CPU에게 준다.
- L1 캐시에 데이터 없는 경우 L2 캐시에서 확인, L2 캐시에도 없는 경우 L3에서 확인한다.
- L1, L2, L3 캐시 메모리에 데이터가 없는 경우 RAM에서 직접 가져온다.
CPU vs GPU 그리고 RAM
- CPU → 코어 8 ~ 16개 = 직렬 구조(순차적 연산) = 복잡한 데이터 처리
- GPU → 코어 4000 ~ 10000개 = 병렬 연산 = 인공지능 연산
- 메모리에서 연산 기능까지? = 차세대 반도체 PIM → 전처리
- 내일 요리(감자튀김)를 보고 재료(감자)를 미리 요리에 맞게 손질 → 전처리
참고
'IT 지식 > 운영체제' 카테고리의 다른 글
프로세스와 스레드 (0) | 2024.08.23 |
---|---|
CPU 예측이 가져오는 문제점(멜트다운, 스펙터) (0) | 2024.08.22 |
DMA와 고성능 소켓 (0) | 2024.08.20 |
인터럽트와 DirectX (0) | 2024.08.19 |
컴퓨터의 구조 (H/W, Kernel mode, User mode) (0) | 2024.08.18 |