Memory hierarchy

CorinBeom·2025년 3월 20일
0

CS

목록 보기
5/22
post-thumbnail

이번에는 메모리 계층구조에 대해서 알아보자.

저장장치의 계층 구조 개념

  • CPU는 매우 빠른 연산 속도를 가지지만, 메인 메모리나 디스크에서 데이터를 읽는 속도는 훨씬 느림!
  • 속도 차이를 해결하기 위해, 작고 빠른 저장장치(캐시 메모리)CPU와 메인 메모리 사이에 배치하는 개념이 정착됨.
  • 더 나아가, 저장장치들은 속도, 크기, 비용에 따라 여러 개의 계층(Hierarchy)으로 구성된다.

📌 원칙:

  • 빠른 저장장치일수록 크기가 작고, 비용이 비싸다.
  • 느린 저장장치일수록 크기가 크고, 비용이 저렴하다.
  • CPU는 상위 계층에서 데이터를 찾고, 없으면 하위 계층에서 데이터를 불러온다.

이제 계층 구조에 대해서 상세하게 알아보자

메모리 계층 구조 (Memory Hierarchy)

(악필주의)

이 그림에선 L0부터 L6까지 7단계로 나눈 저장장치 계층 구조를 보여준다.

🔺 상위 계층 (빠르지만 비싼 저장장치)
🔻 하위 계층 (느리지만 용량이 크고 저렴한 저장장치)

부연설명을 덧붙이자면

  1. CPU는 가장 먼저 L0 (레지스터)에서 데이터를 찾는다.
  2. 만약 레지스터에 없으면, L1 → L2 → L3 → L4 → L5 → L6 순서로 데이터를 찾는다.
  3. 하위 계층일수록 데이터 접근 속도가 느려지므로, CPU는 최대한 상위 계층에서 데이터를 찾는 것이 중요하다.

저장장치 계층 구조의 핵심 원리

1. 속도와 비용의 균형

  • 빠른 저장장치비용비싸므로 용량이 제한(L1, L2)
  • 느린 저장장치비용저렴, 속도 느림(HDD, Cloud Storage)
  • 이 둘을 적절하게 활용하는 것이 중요

2. 자주 사용되는 데이터는 상위 계층에 저장

  • CPU가 자주 사용하는 데이터캐시 메모리(L1~L3)에 저장
  • 메인 메모리(RAM)는 현재 실행 중인 프로그램과 데이터를 보관
  • HDD/SSD장기 저장

메모리 지역성(Locality)의 활용

  • 시간 지역성 (Temporal Locality): 최근 사용한 데이터는 다시 사용할 가능성이 높음캐시에 저장
  • 공간 지역성 (Spatial Locality): 특정 위치의 데이터가 사용되면, 그 주변 데이터도 함께 사용가능성이 높음블록 단위로 로드
profile
Before Sunrise

0개의 댓글