동적 주소 변환

From CS Wiki
Dynamic Address Translation

직접사상[edit | edit source]

Direct Mapping
  • 메모리 주소와 캐시의 순서를 일치시킨다.
    • 메모리가 1~100까지 있고 캐시가 1~10까지 있다면 1~10까지의 메모리는 캐시의 1에 위치하고 11~20까지의 메모리는 캐시의 2에 위치시키는 것이다.
  • 구현이 정말 간단하지만 규칙을 만족시켜서 캐시를 넣다 보면 캐시가 비효율적으로 교체되는 상황 발생
    • 예를 들면 30~40에 해당하는 값을 자꾸 불러다 사용해야 하는데 이를 저장할 캐시 공간은 3 하나 뿐이므로 매번 캐시 교체가 일어나게 된다.
    • 즉 적중률이 낮고 성능이 낮은 단순한 방식이다.

연관사상[edit | edit source]

Associative Mapping
  • 순서를 일치시키지 않는다.
  • 필요한 메모리값을 캐시의 어디든 편하게 저장 될 수 있다.
  • 당연히 찾는 과정은 복잡하고 느릴 수 있지만 정말 필요한 캐시들 위주로 저장할 수 있기 때문에 적중률은 높다.
  • 캐시가 일반 메모리보다 속도가 훨씬 빠르므로 캐시의 검색량을 신경쓰는 것 보단 적중률이 높은게 성능이 더 좋다.

직접연관사상[edit | edit source]

Set Associative Mapping
  • 연관매핑에 직접매핑을 합쳐 놓은 방식
  • 순서를 일치시키고 편하게 저장하되, 일정 그룹을 두어 그 그룹 내에서 저장
  • 예를 들면 메모리가 1~100까지 있고 캐시가 1~10까지 있다면 캐시 1~5에는 1~50의 데이터를 무작위로 저장시키는 것이다.
  • 블록화가 되어 있기 때문에 검색은 좀 더 효율적으로 되고 직접매핑처럼 저장위치에 대한 큰 제약이 있는건 아니기 때문에 적중률이 많이 떨어지지도 않는다.

속도[edit | edit source]

연관사상 > 직접/연관사상 > 직접사상

같이 보기[edit | edit source]