저장 장치 계층 구조
캐시 메모리의 탄생 배경과 특징을 이해하기 전 저장 장치 계층 구조 개념을 이해해야 합니다.
1. CPU와 가까운 저장 장치는 빠르고 멀리 있는 저장 장치는 느립니다.
2. 속도가 빠른 저장 장치는 저장 용량이 적고 가격이 비쌉니다.
낮은 가격대의 대용량 저장 장치를 원한다면 느린 속도는 감수해야 하며 빠른 메모리를 원하는 경우
작은 용량, 비싼 가격을 감수해야 합니다.
컴퓨터가 사용하는 저장 장치들은 'CPU에 얼마나 가까운가'를 기준으로 계층적으로 나타낼 수 있습니다.
캐시메모리
메모리에 접근하는 시간이 느리면 CPU의 빠른 연산 속도는 쓸모가 없습니다.
이를 극복하기 위한 저장 장치가 캐시메모리입니다.
CPU가 메모리에 접근하는 속도는 레지스터에 접근하는 속도보다 느립니다.
CPU와 메모리 사이에 위치하며 레지스터 보다 용량이 크고 메모리보다 빠른 SRAM 기반의 저장 장치입니다.
메모리에서 CPU가 미리 사용할 데이터를 캐시 메모리에 가지고 있어 활용하는 것입니다.
캐시 메모리에 CPU가 필요로 하는 데이터가 있어 접근 시간을 줄일 수 있습니다.
데스크톱 내부에는 여러 개의 캐시 메모리가 있고 CPU와 가까운 순서대로 계층을 구성합니다.
L1 캐시 : 코어와 가장 가까운 캐시 메모리
L2 캐시 : L1 다음으로 가까운 캐시 메모리
L3 캐시 : L2 다음으로 가까운 캐시 메모리
분리형 캐시 : 코어와 가장 가까운 L1 캐시는 조금이라도 접근 속도를 빠르게 만들기 위해 명령어만을 저장
하는 L1 캐시인 L1| 캐시와 데이터만을 저장하는 L1 캐시인 L1D 캐시로 분리하는 경우도 있습니다.
참조 지역성 원리
캐시 메모리는 메모리보다 용량이 적습니다. 당연히 캐시 메모리는 메모리에 있는 모든 내용을 가져다
저장할 수 없습니다.
보조기억장치는 전원이 꺼져도 기억할 대상을 저장하고 메모리는 실행 중인 대상을 저장한다면
캐시 메모리는 CPU가 사용할 법한 대상을 예측해 저장합니다.
자주 사용될 것으로 예측한 데이터가 실제로 들어맞아 캐시 메모리 내 데이터가 CPU에서 활용될 경우를
캐시 히트라 합니다.
반대로 예측을 실패하여 메모리에서 필요한 데이터를 직접 가져와야 하는 경우를 캐시 미스라 합니다.
캐시 미스가 자주 발생되는 경우 성능 저하가 발생됩니다.
참조 지역성의 원리 : CPU가 메모리에 접근할 때의 주된 경향으로 만들어진 원리입니다.
1. CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향
2. CPU는 접근한 메모리 공간 근처를 접근하려는 경향
1. CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향
- CPU는 변수가 저장된 메모리 공간을 언제든 다시 참조할 수 있다는 것을 의미합니다.
- CPU는 최근에 접근했던 메모리 공간을 여러 번 다시 접근 가능 합니다.
- 이러한 경향을 시간 지역성이라 합니다.
2. CPU는 접근한 메모리 공간 근처를 접근하려는 경향
- CPU가 실행하려는 프로그램은 보통 관련 데이터들끼리 한데 모여 있습니다.
- 사용자가 사용할 기능의 공간 근처를 집중적으로 접근하는 경향을 공간 지역성이라 합니다.