Last update: @1/7/2023
•
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)
: 접근한 메모리 공간 근처를 접근하려는 경향. 실행하고 있는 프로그램과 그 프로그램에서 사용되는 기능이 모여있는 메모리 공간에 대한 접근 경향을 말함