반응형
본 글은 책 "혼자 공부하는 컴퓨터 구조+운영체제" 의 Chapter 6-3. 캐시메모리 부분을 읽고 정리한 내용입니다.
06-3 캐시 메모리
- CPU가 메모리에 접근하는 시간은 CPU의 연산속도보다 느림
- 이를 극복하기 위한 저장 장치로 캐시 메모리가 쓰임
저장 장치 계층 구조(Memory hierarchy)
- ‘CPU에 얼마나 가까운가’를 기준으로 계층적으로 나타낼 수 있음
캐시 메모리(Cache memory)
- CPU와 메모리 사이에 위치
- 레지스터보다 용량이 크고 메모리보다 빠른 S(static)RAM 기반의 저장 장치
캐시 메모리에 CPU가 필요로 하는 데이터가 있다면 데이터로의 접근 시간을 줄일 수 있음
- L(Level)1 캐시: 코어와 가장 가까운 캐시 메모리
- L2 캐시
- L3 캐시
L1과 L2 캐시는 코어 내부에, L3 캐시는 코어 외부에 위치
- CPU가 메모리 내에 데이터가 필요하다고 판단하면 우선 L1 캐시에서 데이터를 검색
- 없다면 L2, L3 를 순차적으로 검색
- 멀티코어 프로세서에서는 L1,L2 캐시는 코어마다 고유한 캐시 메모리로 할당
- L3 캐시는 여러 코어가 공유하는 형태로 사용
참조 지역성 원리
- 캐시 메모리에는 무엇을 저장해야 할까?
⇒ CPU가 사용할 법한 대상을 예측하여 저장
- Cache hit: 자주 사용될 것으로 예측한 데이터가 실제로 들어맞아 캐시 메모리 내 데이터가 CPU에서 활용되는 경우를 뜻함
- Cache miss: 예측이 틀려 메모리에서 필요한 데이터를 직접 가져와야 하는 경우로 자주 발생하는 성능이 떨어짐
- 캐시 적중률(Cache hit ratio) = # Cache hit / (# Cache hit + # Cache miss)
- 우리가 사용하는 컴퓨터의 캐시 적중률은 대략 85~95% 이상
어떻게 캐시 적중률을 높일 수 있을까?
- 캐시 메모리는 한가지 원칙에 따라 메모리로부터 가져올 데이터를 결정
참조 지역성의 원리(locality of reference, principle of locality)
- CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다 → 시간 지역성
- 변수는 num, i
- 반복사용되는 변수들을 캐시에 저장하면 효율성 높일 수 있음
2. CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다 → 공간 지역성
- 기억장치 내에 서로 인접하여 저장되어 있는 데이터들이 연속적으로 액세스 될 가능성이 높아지는 특성
- 예를 들어 워드 프로세서 프로그램의 자동 저장 기능에 대한 데이터가 사용되었다면, 해당 공간 근처에 있는 기능들에 대한 메모리 공간을 캐시에 저장하면 효율성을 높일 수 있음
참고
1. 책 "혼자 공부하는 컴퓨터 구조+운영체제"
2. 유튜브 "혼자 공부하는 컴퓨터 구조 + 운영체제"
반응형
'OS' 카테고리의 다른 글
프로세스와 스레드 (0) | 2024.07.14 |
---|---|
운영체제를 공부해야하는 이유와 커널 (0) | 2024.07.14 |
메모리 (0) | 2024.07.05 |
CPU 성능 향상 기법 (0) | 2024.07.02 |
명령어 (0) | 2024.06.30 |