동적 주소 변환
From IT Wiki
Revision as of 18:55, 12 May 2019 by 223.38.8.79 (talk) (새 문서: ;Dynamic Address Translation == 직접사상 == ;Direct Mapping * 메모리 주소와 캐시의 순서를 일치시킨다. ** 메모리가 1~100까지 있고 캐시가 1~10까지 있...)
- Dynamic Address Translation
직접사상
- Direct Mapping
- 메모리 주소와 캐시의 순서를 일치시킨다.
- 메모리가 1~100까지 있고 캐시가 1~10까지 있다면 1~10까지의 메모리는 캐시의 1에 위치하고 11~20까지의 메모리는 캐시의 2에 위치시키는 것이다.
- 구현이 정말 간단하지만 규칙을 만족시켜서 캐시를 넣다 보면 캐시가 비효율적으로 교체되는 상황 발생
- 예를 들면 30~40에 해당하는 값을 자꾸 불러다 사용해야 하는데 이를 저장할 캐시 공간은 3 하나 뿐이므로 매번 캐시 교체가 일어나게 된다.
- 즉 적중률이 낮고 성능이 낮은 단순한 방식이다.
연관사상
- Associative Mapping
- 순서를 일치시키지 않는다.
- 필요한 메모리값을 캐시의 어디든 편하게 저장 될 수 있다.
- 당연히 찾는 과정은 복잡하고 느릴 수 있지만 정말 필요한 캐시들 위주로 저장할 수 있기 때문에 적중률은 높다.
- 캐시가 일반 메모리보다 속도가 훨씬 빠르므로 캐시의 검색량을 신경쓰는 것 보단 적중률이 높은게 성능이 더 좋다.
직접연관사상
- Set Associative Mapping
- 연관매핑에 직접매핑을 합쳐 놓은 방식
- 순서를 일치시키고 편하게 저장하되, 일정 그룹을 두어 그 그룹 내에서 저장
- 예를 들면 메모리가 1~100까지 있고 캐시가 1~10까지 있다면 캐시 1~5에는 1~50의 데이터를 무작위로 저장시키는 것이다.
- 블록화가 되어 있기 때문에 검색은 좀 더 효율적으로 되고 직접매핑처럼 저장위치에 대한 큰 제약이 있는건 아니기 때문에 적중률이 많이 떨어지지도 않는다.
속도
- 연관사상 > 직접/연관사상 > 직접사상