반응형
Hardware · CPU 심화
CPU 핵심 구조 완전 정리
Pipeline · Branch Prediction · Cache · 메모리 아키텍처
CPU는 단순 연산 장치가 아니다 — 명령어를 가장 효율적으로 흘려보내는 시스템
개요 CPU 핵심 구조 5가지
CPU 성능은 클럭 수보다 IPC(명령어 처리 효율), 캐시, 메모리 접근 효율, 내부 실행 구조에 크게 좌우된다. 핵심 구조 5가지를 순서대로 살펴본다.
Pipeline명령어를 단계별로 겹쳐 처리
Branch Prediction다음 분기를 미리 예측해 파이프라인 유지
OoO Execution순서보다 효율 우선 비순차 실행
Cache HierarchyCPU-RAM 속도 차를 줄이는 캐시 계층
Memory ControllerCPU와 RAM 간 통신 관리 장치
1 Pipeline — 명령어를 겹쳐서 처리한다
CPU는 명령어를 한 번에 통째로 처리하지 않고 여러 단계로 나눠서 겹쳐 처리한다. 마치 공장 컨베이어 벨트처럼 각 단계가 동시에 진행된다.
명령어 처리 4단계
| 단계 | 영문 | 설명 |
|---|---|---|
| 가져오기 | Fetch | 메모리에서 명령어를 읽어온다 |
| 해석하기 | Decode | 명령어가 무엇을 하는지 해석한다 |
| 실행하기 | Execute | 실제 연산을 수행한다 |
| 결과 저장 | Write Back | 결과를 레지스터에 저장한다 |
비효율적: A Fetch→Decode→Execute→WriteBack 완료 후 B 시작 효율적(Pipeline): 1사이클: A Fetch 2사이클: A Decode + B Fetch 3사이클: A Execute + B Decode + C Fetch 4사이클: A WriteBack + B Execute + C Decode + D Fetch
파이프라인 덕분에 CPU는 한 번에 하나만 처리하는 것처럼 보이지만 실제로는 여러 작업을 동시에 진행한다.
2 Branch Prediction — 파이프라인을 끊지 않는 기술
파이프라인이 이상적으로 흐르지 못할 때 결과만 기다리면 파이프라인이 멈춘다(Pipeline stall). CPU는 미리 예측하고 준비해두는 Branch Prediction(분기 예측)으로 이를 해결한다.
예측 성공
CPU가 멈추지 않고 빠르게 진행
파이프라인 연속 유지
파이프라인 연속 유지
예측 실패
준비된 걸 버리고 파이프라인 재충전
→ Pipeline flush 발생, 성능 손실
→ Pipeline flush 발생, 성능 손실
CPU는 단순 연산 속도만 빠르면 되는 게 아니라, 앞으로 뭘 할지도 잘 맞춰야 한다.
3 Out-of-Order Execution — 순서보다 효율 우선
프로그램 코드는 순차적으로 적혀 있지만, CPU 내부는 꼭 그 순서로 실행되지 않는다. 병목을 피하기 위해 실행 가능한 명령어를 먼저 처리한다.
예시) A = RAM에서 데이터 읽기 ← 느릴 수 있음 B = 3 + 4 ← 즉시 계산 가능 C = 10 + 20 ← 즉시 계산 가능 실제 실행 순서: B → C → A (완료 후 처리) 결과값은 순차 처리처럼 보인다.
내부 실행 순서는 바뀌어도 유저가 보는 결과값은 항상 순차 처리로 보인다.
4 Cache Hierarchy — CPU-RAM 사이의 속도 완충재
CPU는 너무 빠르고 RAM은 상대적으로 느리다. 이 간격을 줄이기 위해 CPU 가까이에 작고 빠른 캐시 메모리를 계층적으로 배치한다.
Register
→
L1
→
L2
→
L3
→
RAM
→
SSD
← 작고 빠름 크고 느리고 저렴함 →
| 캐시 | 위치 | 특징 |
|---|---|---|
| L1 | 코어 바로 옆 | 명령어 캐시와 데이터 캐시 분리 설계 — 처리량 극대화 |
| L2 | 코어 근처 | L1보다 크고 조금 더 느림 |
| L3 | 여러 코어 공유 | 용량이 가장 큼. LLC(Last Level Cache)라고도 불림 |
| L4 | CPU 패키지 외부 | 내장 그래픽 성능 강화 목적. eDRAM 형태 |
AMD 3D V-Cache
- L3 캐시 위에 한 층 더 쌓아 올리는 기술
- 면적의 한계를 극복하고 게임 성능을 비약적으로 향상
- 캐시 엔지니어링의 정점 중 하나
캐시에서만 SRAM을 사용한다. CPU가 직접 DRAM과 통신하면 대기 시간이 길어지는 Memory Wall 현상이 생기기 때문에 SRAM을 CPU 바로 옆에 배치해 완충 역할을 한다.
반응형
5 Memory Controller — RAM과의 통신 관리
CPU가 RAM과 통신할 때 관리하는 장치가 메모리 컨트롤러다. 메모리 컨트롤러의 처리 능력이 부족하면 RAM이 아무리 좋아도 성능이 제한된다.
메모리 컨트롤러에서 확인할 것
- 몇 채널(Single/Dual/Quad)을 지원하는가
- 대역폭은 얼마나 확보할 수 있는가
- 어떤 RAM 세대(DDR4/DDR5)를 지원하는가
6 CPU 소켓 종류
| 구분 | 접점 형태 | 핀 위치 | 장착 방식 |
|---|---|---|---|
| PGA | 핀 | CPU | 소켓에 삽입 |
| LGA | 패드 | 메인보드 소켓 | 압착 |
| BGA | 볼 | CPU | 납땜 (교체 불가) |
7 CPU 코어 종류
| 코어 종류 | 특징 | 사용처 |
|---|---|---|
| P-Core | 고성능, 복잡한 연산 최적화 | 데스크톱, 워크스테이션 |
| E-Core | 저전력, 단순 구조 | 배경 작업, 멀티스레드 처리 |
| Server-Core | 균일한 코어 구조 (예측 가능성), 대량 PCIe 레인, NUMA 최적화 | Xeon, EPYC 서버 CPU |
8 메모리 아키텍처
| 아키텍처 | 접근 방식 | 확장성 | 용도 |
|---|---|---|---|
| UMA | 모든 메모리 속도 동일 | 낮음 (병목 심함) | 일반 PC (구형) |
| NUMA | 위치에 따라 속도 다름 | 보통 | 현대 멀티소켓 서버 |
| COMA | 데이터가 캐시처럼 이동 | 보통 | 특수 고성능 시스템 |
| NORMA | 네트워크로 데이터 전달 | 매우 높음 | 슈퍼컴퓨터 |
일반 PC는 UMA에서 NUMA로 넘어온 지 꽤 됐다. 고성능 컴퓨팅에서는 NORMA처럼 메모리 공유를 포기하고 네트워크로 데이터를 주고받는 방식이 자리 잡고 있다.
핵심 한 줄 요약
Pipeline명령어를 단계별로 겹쳐 처리 → 처리량 극대화
Branch Prediction분기 미리 예측 → 파이프라인 stall 방지
OoO Execution순서 무시, 실행 가능한 것 먼저 처리
Cache (L1/L2/L3)CPU-RAM 속도 차 완충 — SRAM 사용
Memory Controller채널 수·세대 지원이 실질 RAM 성능 결정
CPU 성능 결정 요소클럭 수보다 IPC·캐시·메모리 접근 효율
Tags
#CPU #Pipeline #BranchPrediction #OoOExecution #캐시계층 #L1L2L3캐시 #메모리컨트롤러 #SRAM #NUMA #CPU소켓 #IPC #PC조립 #하드웨어기초 #컴퓨터구조
▼ 티스토리 태그 입력란 복사용
CPU, Pipeline, BranchPrediction, OoOExecution, 캐시계층, L1L2L3캐시, 메모리컨트롤러, SRAM, NUMA, CPU소켓, IPC, PC조립, 하드웨어기초, 컴퓨터구조
반응형
'IT공부' 카테고리의 다른 글
| Storage 완전 정리 - HDD부터 3D NAND, 서버 스토리지 아키텍처까지 (0) | 2026.05.07 |
|---|---|
| CPU가 사용할 데이터를 임시로 저장하는 고속 메모리 — 구조부터 서버 RAM까지 (0) | 2026.05.07 |
| 메인보드(Mainboard)란? — 컴퓨터의 핵심 회로 기판 완전 정리 (0) | 2026.05.01 |
| HTML 테이블 caption — 표에 제목 붙이기 완전 정리 (0) | 2026.05.01 |
| 서버 엔지니어링 — 네트워크 기초 정리 (0) | 2026.04.23 |
댓글