Search

06-3 캐시 메모리

Last update: @1/7/2023
혼자 공부하는 컴퓨터구조 + 운영체제

컴퓨터 구조

01 컴퓨터 구조 시작하기

02 데이터

03 명령어

04 CPU의 작동 원리

05 CPU 성능 향상 기법

06 메모리와 캐시 메모리

07 보조기억장치

08 입출력장치

CPU가 메모리에 접근하는 시간은 CPU의 연산 속도보다 느림. 이를 극복하기 위한 저장장치가 캐시 메모리
저장 장치 계층 구조(memory hierachy) : 저장 장치들을 CPU에 얼마나 가까운가를 기준으로 계층적으로 나타낸 것
저장 장치가 일반적으로 다음 두 명제를 따름
1.
CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느림
2.
속도가 빠른 저장 장치는 저장 용량이 작고, 가격이 비쌈
캐시 메모리(cache memory) : CPU와 메모리 사이에 위치하고, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반의 저장 장치
캐시 메모리는 CPU의 연산 속도와 메모리 접근 속도의 차이를 조금이나마 줄이기 위해 탄생함
메모리에서 CPU가 사용할 일부 데이터를 미리 캐시 메모리로 가지고 와서 활용하는 것
캐시 메모리의 계층
종류
L1(level 1) 캐시 : (CPU) 코어와 가장 가까운 캐시 메모리. 일반적으로 코어 내부에 위치함. 용량이 가장 작고 덜 비쌈
L2(level 2) 캐시 : L1 다음으로 코어와 가까운 캐시 메모리. 일반적으로 코어 내부에 위치함. 용량이 L1보다 크고 비쌈
L3(level 3) 캐시 : L2 다음으로 코어와 가까운 캐시 메모리. 일반적으로 코어 외부에 위치함. 용량이 가장 크고 비쌈
CPU가 메모리 내에 데이터가 필요하다고 판단하면 L1 → L2 → L3 순서로 데이터를 찾음
분리형 캐시(split cache) : L1 캐시를 명령어만을 저장하는 L1I 캐시와 데이터만을 저장하는 L1D 캐시로 나눈 것
참조 지역성 원리 : 캐시 메모리가 메모리로부터 가져올 데이터를 결정하는 한 가지 원칙
캐시 히트(cache hit) : 캐시메모리는 CPU가 사용할 법한 대상을 예측하여 저장하는데, 이렇게 자주 사용될 것으로 예측한 데이터가 실제로 들어맞아 캐시 메모리 내 데이터가 CPU에서 활용되는 경우를 말함
캐시 미스(cache miss) : 반대로 자주 사용될 것으로 예측하여 캐시 메모리에 저장했지만, 예측이 틀려 메모리에서 필요한 데 이터를 직접 가져와야 하는 경우를 말함
캐시 적중률(cache hit ratio) : 캐시가 히트되는 비율. 캐시 히트 / (캐시 히트 + 캐치 미스)
우리가 사용하는 컴퓨터의 캐시 적중률은 대략 85~95%
CPU가 메모리에 접근할 때의 주된 경향
시간 지역성(temporal locality) : 최근에 접근했던 메모리 공간에 다시 접근하려는 경향(특히 변수)
공간 지역성(spatial locality) : 접근한 메모리 공간 근처를 접근하려는 경향. 실행하고 있는 프로그램과 그 프로그램에서 사용되는 기능이 모여있는 메모리 공간에 대한 접근 경향을 말함