왜 9x%이상이여 하는가 궁금하지 않는가?
그래서 Cache Hit Ratio (캐시 적중률)이 0.9x(9x%)이상이여야 하는 이유를 증명해보았다. 일단 Cache Hit Ratio의 계산하는 방법은 다음과 같다.
Cache Hit Ratio = 캐시에서 읽은 횟수 / 전체 읽은 횟수 * 100%우선 캐시의 동작에 대해서 알아보자.
1. Hit - 데이터가 캐시에 있는 경우 : Access cache
2. Miss - 데이터가 캐시에 없는 경우 : Access cache(Penalty) , Access non-cache
대부분의 캐시는 지역성의 원리에 의해 Hit 횟수과 Miss 횟수보다 크게 된다.
(Miss의 경우 캐시 접근 시간만큼 Penalty가 발생)
이제 간단한 사례를 통해 본격적으로 이 문제를 증명해보자.
캐시 접근 시간이 100ns이고, 캐시가 아닌 곳의 접근 시간이 1000ns인 ??%의 캐시 적중률을 가진 시스템의 평균 접근 시간을 구해보자.
간단히 설명을 하자면
Cache Access Time : 캐시 접근 시간. 100ns
Non-Cache Access Time : 캐시 아닌 것에 접근 시간. 1000ns
Hit Ratio : 캐시 적중률.
Average Access Time : 평균 접근 시간.
Average Access Time = Cache Access Time × Hit Ratio
+ { (Main Memory Access Time + Cache Access Time) × Miss Ratio }
vs.Best : 최고 적중률 대비

(Average Access Time 증가한다는 것은 성능 나빠지는 것을 의미함.)
그리하여 결론은 Hit Ratio가 낮으면 캐시는 무용지물이 되므로, Hit Ratio를 적정 수준 (98%)이상으로 유지할 수 있도록 해야 한다. 이를 위해서는 데이터의 참조의 지역성을 잘 고려하여 알맞은 캐시 공간을 확보해야 한다.
참조 : Computer System Architecture (M. Morris Mano)
직접 작성.
Posted by 좐군


