기타

캐쉬(Cache)메모리 매핑

lipnus 2019. 5. 9. 11:38
반응형


캐쉬(Cache)메모리 매핑




Locality of Reference(참조의 지역성)

CPU가 한번 참조한 데이터는 참조할 가능성이 높고, 그 주변 역시 참조할 가능성이 높는 이론. 

따라서 자주 쓰는 데이터를 캐쉬에 두고 데이터를 전달할 때 미리 다음에 받을 데이터까지 빠른 저장장치에 둔다면 컴퓨터의 성능이 좋아진다. 

가격이 비싼 캐쉬메모리의 용량을 아낄 수 있어 비용이 절감된다.





*Mapping Function


MMU: 가상메모리(virtual)와 실제메모리(physical) 사이에서 주소변환 역할을 한다.




1. 직접매핑(Direct Mapping)

적중률(Hit rate)가 낮고 단순한 매핑. 

메인메모리와 동일한 배열로 캐쉬에 저장한다.


주변부까지 Block단위로 저장한다. 

메인메모리의 몇번째 블록인지 알려주는 Tag도 함께 저장한다.





2. 연관매핑(Associative Mapping)


메인메모리의 순서에 상관없이 캐쉬에 저장한다. 


병렬검사를 해야 해서 검사과정은 복잡하다. 하지만 적중률이 높다. 

캐쉬는 메모리보다 훨씬 빠르기때문에 검색량보다 적중률을 높이는 것이 개이득이다.






3. 세트연관매핑(Set Associative Mapping)


위의 두 방법을 합쳤다.


순서를 일치시켜서 편하게 저장한다. 대신 그룹을 두어서 해당 그룹 안에서 무작위로 저장한다.


블록화가 되어있어서 병렬탐색을 줄일 수 있고, 무작위로 몇개만 뽑아서 저장했기 때문에 저장공간도 절약한다.



각각의 라인들은 하나의 세트에 속해있다.

세트 안의 라인 수에 따라 n-way 연관매핑 이라고 한다. (위의 그림은 2-way 연관매핑)







참고: 

https://ssoonidev.tistory.com/35

https://raisonde.tistory.com/entry/%EC%BA%90%EC%8B%9C-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EB%A7%A4%ED%95%91-%EA%B8%B0%EB%B2%95


반응형