CPU와 메모리 계층 구조 정리

1. CPU란 무엇인가

CPU(Central Processing Unit)는 컴퓨터의 두뇌로, 프로그램의 명령어를 해석하고 실제 연산을 수행하는 핵심 장치.
CPU는 단순히 계산만 하는 것이 아니라, 데이터를 어디서 가져오고 언제 처리할지까지 모두 제어.

CPU의 주요 구성 요소

  • ALU(산술논리연산장치): 덧셈, 뺄셈, 비교 등 연산 담당
  • 제어장치(CU): 명령어 해석 및 실행 순서 제어
  • 레지스터(Register): CPU 내부의 초고속 저장장치

2. 저장장치 계층 구조 개요

컴퓨터의 저장장치는 속도와 용량에 따라 계층 구조를 가집니다.

레지스터 → 캐시 메모리 → 메인 메모리(RAM) → 보조기억장치(SSD/HDD)

이 구조의 핵심 목적은
“비싼 고속 저장장치는 작게, 느린 저장장치는 크게” 사용하는 것입니다.

::contentReference[oaicite:0]{index=0}


3. 레지스터 (Register)

  • 위치: CPU 내부
  • 속도: 가장 빠름
  • 용량: 매우 작음
  • 역할
    • 현재 실행 중인 명령어
    • 연산에 필요한 데이터
    • 연산 결과 저장

CPU는 연산을 수행할 때 반드시 레지스터에 있는 데이터만 사용.
즉, 메모리나 캐시에 있음.


7. 저장장치 계층 요약 표

구분 위치 속도 용량 특징
레지스터 CPU 내부 매우 빠름 매우 작음 연산 직결
캐시 메모리 CPU 근처 빠름 작음 자주 쓰는 데이터
메인 메모리 메인보드 보통 실행 중 데이터
보조기억장치 외부 장치 느림 매우 큼 영구 저장

8. 이 구조가 알고리즘 성능에 미치는 영향

알고리즘의 시간 복잡도만으로는 실제 성능을 완전히 설명할 수 없습니다.
메모리 접근 패턴이 성능에 큰 영향을 줍니다.

1️⃣ 캐시 친화적 알고리즘

  • 연속된 메모리 접근 (배열 순회)
  • 지역성(Locality)이 높음 → 캐시 히트율 증가 → 빠른 실행

2️⃣ 캐시 비친화적 알고리즘

  • 랜덤 접근
  • 연결 리스트 기반 구조 → 캐시 미스 증가 → 메모리 접근 병목

같은 O(N) 알고리즘이라도 배열 vs 연결 리스트에 따라 체감 성능이 크게 달라지는 이유입니다.


9. 백엔드 성능과의 연결

📌 데이터베이스

  • 인덱스 설계가 잘되면 디스크 접근 감소
  • 자주 쓰는 데이터는 OS 페이지 캐시 → 메모리 상주

📌 서버 애플리케이션

  • 객체 생성 남발 → 캐시 미스 증가
  • 불필요한 데이터 복사 → 메모리 대역폭 낭비

📌 성능 최적화 관점

  • “CPU가 빠르다” ≠ “프로그램이 빠르다”
  • CPU가 기다리지 않게 만드는 것이 핵심

10. 정리

  • CPU는 레지스터에서만 연산한다
  • 캐시는 메모리 접근을 줄이기 위한 핵심 장치다
  • 알고리즘과 백엔드 성능은 메모리 계층 구조와 직접적으로 연결된다

results matching ""

    No results matching ""