kwan's note

10주차 - cache (캐시메모리) 본문

Computer Programming/Computer System

10주차 - cache (캐시메모리)

kwan's note 2020. 12. 31. 22:37
반응형

수강일시 :12월 31일

출처:  kmooc 컴퓨터구조

 

9주차: cpu 처리속도를 향상시키기 위한 방법에 대해 설명하고 캐시의 구성과 매핑 방법을 안다. 캐시 관련 알고리즘을 설명할 수 있다.

 

캐시의 특징

캐시는 일반적으로 cpu에 on board 로 설치되어 속도가 빠르다. 이러한 속도의 이점을 이용하여 자주 사용하는 것은 메인메모리에 저장함과 동시에 캐시에 두어 사용한다.

 

메인메모리보다 속도는 빠르고 용량은적다. 비용이 높기때문에 용량이 작아진다.

L1 L2 L3등 cpu와 가까운순서대로 빠르고 용량이 작다.

hit ratio란 캐시에 저장되어있는 횟수를 전체 기억장치 access횟수로 나눈 값이다.

hit ratio가 높을수록 많이 사용되는 데이터가 캐시에 저장이 되어있다는 뜻이다.

L1캐시에 가장 확률이 높은것들을 저장한다.

Hit ratio는 L1<L2<L3<main memory(100%)

 

 

캐시의 특징은 다음과

같은 것들이 있다.

 

 

 

 

 

 

 

캐시는 instruction cache와 data cache로 분리한다.

이를 통해 파이프라인을 조절해 cache access 충돌현상을 제거한다.

 

캐시에 어떤 데이터를 저장해놓을것인지 정하는것을 매핑이라고 한다.

매핑의 대표적인 예는 다음과 같다.

cache의 메모리가 n일때 전체 main memory의 데이터중 가장 확률이 높은것으로 보이는 n명을 캐시에 넣는것을 fully-associative라고한다.

반면 direct mapping은 전체 데이터를 n개의 블락으로 나누고 해당 블록안에서 가장 높은것들을 모은 n개를 넣는다.

set-associative는 이 둘의 중간 성질을 띈다.

 

 

fully-associative

캐시의 메모리가 커지고 비교가 빈번하게 발생할 수록 비용이 높아진다.

 

 

 

direct mapping

블록을 나누기때문에 실질적으로 최적화 되기가 어렵다.

 

 

 

set-associative

중간방식인것이 장점이자 단점

 

그렇다면 어떤것을 replace 할 것인가도 중요한 고려 요소가 된다.

replace algorithm의 예는 다음과 같다.

또한 변경된것을 메모리에 저장하는 방식도 여러가지가 있을 수 있는데

1. 매번 캐시와 메모리에 동시에 write 하는 방법

2. 캐시만 바꾸고 replace가 될때만 write 하는 방법이 있다.

 

2번의 방법이 빠르지만 변형이 되었는지 확인하는 cache state bit가 필요하다.

반응형