캐시 메모리: Difference between revisions
From CS Wiki
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
== 메모리 사상 기법 == | == 메모리 사상 기법 == | ||
=== 직접 사상 === | |||
* 연관 사상 | ;Direct Mapping | ||
* 직접/연관 사상 | [[파일:캐시 직접 사상.png]] | ||
* 메모리 주소와 캐시의 순서를 일치시킴 | |||
* ex) 메모리가 1~100, 캐시가 1~10으로 가정하면 | |||
** 1~10까지의 메모리는 캐시의 1에 할당, 11~20까지의 메모리는 캐시의 2에 할당 | |||
* 구현 정말 간단하지만 캐싱 효율이 떨어져 잦은 교체 발생 | |||
* 적중률이 낮고 성능이 낮은 단순한 방식 | |||
=== 연관 사상 === | |||
;Fully Associative | |||
[[파일:캐시 연관 사상.png]] | |||
* 순서를 일치시키지 않음 | |||
* 필요한 메모리값을 캐시의 어디든 저장 가능 | |||
* 찾는 과정은 느리지만 필요한 캐시들 위주로 저장할 수 있기 때문에 적중률이 높음 | |||
* 캐시가 일반 메모리보다 속도가 훨씬 빠르므로 적중률이 높은 것이 유리 | |||
=== 직접/연관 사상 === | |||
;Set Associative | |||
[[파일:캐시 직접연관 사상.png]] | |||
* 연관매핑에 직접매핑을 합쳐 놓은 방식 | |||
* 순서를 일치시키고 저장하되, 일정 그룹을 두어 그 그룹 내에서 저장토록 함 | |||
* ex) 메모리가 1~100, 캐시가 1~10으로 가정하면 | |||
** 캐시 1~5에는 1~50의 데이터 저장 가능 | |||
* 블록화가 되어 있으므로 검색 효율 증가, 적중률도 일정 수준 보장 | |||
== 설계 시 고려사항 == | == 설계 시 고려사항 == | ||
Line 20: | Line 42: | ||
* 전송 블록 사이즈 | * 전송 블록 사이즈 | ||
* 교체 알고리즘 | * 교체 알고리즘 | ||
== 참고 문헌 == | |||
* [https://raisonde.tistory.com/entry/캐시-메모리-매핑-기법 지식잡식] | |||
* [https://m.blog.naver.com/PostView.nhn?blogId=sungeuns&logNo=50098123735 까르페디엠~] |
Revision as of 08:46, 31 December 2019
- Cache Memory
CPU와 주기억장치 사이에 있는 고속 메모리로, CPU와 주기억장치의 처리 속도 차이를 보완하기 위한 기억장치
구현 원리
- 구역성(Locality)의 원리에 따라 CPU가 참조하는 데이터를 예측하여 캐시 메모리에 미리 담아 둔다.
- 캐시 메모리에 있는 데이터는 주기억장치를 참조하지 않고 고속의 캐시메모리에서 바로 가져와 실행한다.
캐시 메모리 성능
- Hit Rate(적중률) = 적중 횟수 / 접근 횟수 * 100
- Miss Rate(실패율) = (100 - 적중률)
메모리 사상 기법
직접 사상
- Direct Mapping
- 메모리 주소와 캐시의 순서를 일치시킴
- ex) 메모리가 1~100, 캐시가 1~10으로 가정하면
- 1~10까지의 메모리는 캐시의 1에 할당, 11~20까지의 메모리는 캐시의 2에 할당
- 구현 정말 간단하지만 캐싱 효율이 떨어져 잦은 교체 발생
- 적중률이 낮고 성능이 낮은 단순한 방식
연관 사상
- Fully Associative
- 순서를 일치시키지 않음
- 필요한 메모리값을 캐시의 어디든 저장 가능
- 찾는 과정은 느리지만 필요한 캐시들 위주로 저장할 수 있기 때문에 적중률이 높음
- 캐시가 일반 메모리보다 속도가 훨씬 빠르므로 적중률이 높은 것이 유리
직접/연관 사상
- Set Associative
- 연관매핑에 직접매핑을 합쳐 놓은 방식
- 순서를 일치시키고 저장하되, 일정 그룹을 두어 그 그룹 내에서 저장토록 함
- ex) 메모리가 1~100, 캐시가 1~10으로 가정하면
- 캐시 1~5에는 1~50의 데이터 저장 가능
- 블록화가 되어 있으므로 검색 효율 증가, 적중률도 일정 수준 보장
설계 시 고려사항
- 캐시 메모리 사이즈
- 전송 블록 사이즈
- 교체 알고리즘