캐시 적중률, 적중 시간, 미스 패널티로부터 평균 메모리 접근 시간(AMAT)과 미스율을 산출하여, 캐싱이 실효 지연 시간에 미치는 영향을 확인한다.
입력
캐시 매개변수
%
0 – 100 %
캐시에서 찾은 접근의 비율을 백분율로 나타낸 값이다.
데이터가 이미 캐시에 있을 때(적중) 접근하는 데 걸리는 시간이다.
접근이 미스일 때 다음 단계의 메모리에서 데이터를 가져오기 위해 적중 시간 외에 추가로 필요한 시간이다.
결과
값을 입력하면 계산 결과가 표시됩니다.
평균 접근 시간
ns
적중률 95 %, 적중 시간 1 ns, 미스 패널티 100 ns일 때, 적중과 미스를 통틀어 접근당 평균 시간이다.
미스율
%
캐시에서 찾지 못한 접근의 비율로, 1에서 적중률 95 %을(를) 뺀 값과 같다.
캐시 적중률 및 AMAT
캐시는 자주 쓰는 항목을 빠른 저장소에 두어 데이터 접근을 빠르게 하지만, 그 효과는 데이터가 실제로 그곳에서 발견되는 빈도에 비례할 뿐이다. 이 계산기는 캐시의 적중률, 적중 시간, 미스에 따른 패널티를 평균 메모리 접근 시간(AMAT) — 시스템이 평균적으로 얼마나 빠르게 느껴지는지를 알려 주는 하나의 수치 — 과 미스율로 변환한다.
AMAT 공식
모든 접근은 데이터를 캐시에서 찾거나(적중) 찾지 못한다(미스). 적중은 적중 시간만큼의 비용이 들고, 미스는 적중 시간에 더해 느린 메모리에서 데이터를 가져오는 패널티만큼의 비용이 든다. 많은 접근에 대해 평균을 내면 다음과 같다.
여기서 는 적중 시간, 은 미스 패널티, 은 미스율이다. 미스율은 단순히 1에서 적중률을 뺀 값이다.
모든 접근이 를 치르지만 비율 만이 을 치르므로, 적중률이 높은 캐시는 평균값을 빠른 적중 시간에 가깝게 끌어내린다.
계산 예시
적중률 95%, 적중 시간 1 ns, 다음 단계에 도달하기 위한 미스 패널티 100 ns인 L1 캐시를 생각해 보자.
AMAT=th+(1−h)tm=1ns+0.05×100ns=1ns+5ns=6ns
접근의 95%가 빠름에도 평균 접근 시간은 적중 시간의 여섯 배이다. 미스 패널티가 적중 시간의 백 배이므로, 미스가 나는 5%의 접근이 비용의 대부분을 차지한다.
미스율이 보이는 것보다 더 중요한 이유
캐시 조정의 지렛대 효과는 적중 시간과 미스 패널티 사이의 큰 격차에서 나온다. 위 예시에서 적중률을 95%에서 99%로 높이면 AMAT가 6 ns에서 2 ns로 줄어드는데, 이는 적중률을 4포인트 바꿔 대략 세 배의 개선을 얻은 것이다. 이 때문에 지역성, 선인출, 캐시 크기를 조금만 개선해도 큰 이득을 얻을 수 있으며, 미스 패널티를 직접 공략하는 것이 그만큼 가치가 있다.
계층 구조로의 확장
현대 프로세서는 주 메모리 앞에 여러 캐시(L1, L2, L3)를 쌓는다. 공식은 자연스럽게 중첩된다. 한 단계의 미스 패널티가 그 아래 단계의 AMAT이다. 계층 구조를 분석하려면 가장 깊은 단계를 먼저 계산하고 그 결과를 상위 단계의 미스 패널티로 위로 전달하면 된다. 접근 지연 시간이 요청 경로 전반에서 어떻게 결합되는지에 관한 더 넓은 관점은 레이턴시 버짓 계산기를 참고하면 된다.
이 수치들은 안정적인 접근 패턴을 가정하므로, 실제 작업 부하는 변동한다. AMAT는 개별 접근에 대한 보장이 아니라 대표적인 평균값으로 다루는 것이 좋다.
자주 묻는 질문 (FAQ)
평균 메모리 접근 시간(AMAT)이란 무엇인가?
평균 메모리 접근 시간은 프로세서가 하나의 데이터를 기다리는 평균 시간으로, 캐시에 적중한 접근과 미스가 난 접근을 통틀어 평균을 낸 값이다. 표준 공식은 AMAT = 적중 시간 + 미스율 × 미스 패널티이다. 모든 접근은 적중 시간을 치르며, 미스가 난 비율만이 느린 메모리에서 가져오는 패널티를 추가로 치른다. AMAT는 캐시가 실제로 얼마나 도움이 되는지를 하나의 수치로 담아낸다.
적중률과 미스율의 차이는 무엇인가?
둘은 같은 대상을 보는 두 가지 관점이다. 적중률은 캐시에서 제공된 접근의 비율이고, 미스율은 그렇지 못한 접근의 비율이다. 두 값의 합은 항상 1이므로, 적중률 95%는 미스율 5%이다. 캐시 설계자는 보통 마케팅에 유리한 수치로 적중률을 제시하고, 성능을 분석할 때는 미스율을 사용한다. 비용이 큰 미스 패널티에 곱해지는 것이 바로 미스율이기 때문이다.
소수의 미스가 그토록 큰 부담이 되는 이유는 무엇인가?
미스 패널티가 적중 시간보다 흔히 한두 자릿수만큼 크기 때문이다. 적중에 1 ns가 걸리고 미스에 100 ns가 든다면, 미스율이 5%만 되어도 5 ns가 더해지는데 이는 적중 시간 자체의 다섯 배이다. 이 때문에 적중률을 95%에서 99%로 높이면 실효 접근 시간을 대략 절반으로 줄일 수 있으며, (예컨대 더 깊은 캐시 계층 구조로) 미스 패널티를 줄이는 것이 적중률을 높이는 것만큼 가치가 있다.
이것은 다중 단계 캐시로 어떻게 확장되는가?
실제 프로세서는 여러 단계의 캐시(L1, L2, L3)를 거쳐 주 메모리로 이어진다. AMAT 공식은 중첩된다. 한 단계의 미스 패널티가 그 아래 단계의 AMAT 자체가 된다. 따라서 AMAT = L1 적중 시간 + L1 미스율 × (L2 적중 시간 + L2 미스율 × (… ))가 된다. 이 계산기는 단일 단계를 모델링하므로, 계층 구조를 분석하려면 가장 깊은 단계를 먼저 계산하고 그 AMAT를 상위 단계의 미스 패널티로 넣으면 된다.