익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT위키
검색
캐시 메모리
편집하기
IT위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
[[분류:컴퓨터 구조]][[분류:하드웨어]] ;Cache Memory [[CPU]]와 [[주기억장치]] 사이에 있는 고속 메모리로, CPU와 주기억장치의 처리 속도 차이를 보완하기 위한 기억장치 == 구현 원리 == * [[구역성|구역성(Locality)]]의 원리에 따라 CPU가 참조하는 데이터를 예측하여 캐시 메모리에 미리 담아 둔다. * 캐시 메모리에 있는 데이터는 주기억장치를 참조하지 않고 고속의 캐시메모리에서 바로 가져와 실행한다. == 캐시 메모리 성능 == * Hit Rate(적중률) = 적중 횟수 / 접근 횟수 * 100 * Miss Rate(실패율) = (100 - 적중률) == 메모리 사상 기법 == === 직접 사상 === ;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의 데이터 저장 가능 * 블록화가 되어 있으므로 검색 효율 증가, 적중률도 일정 수준 보장 == 교체 알고리즘 == ;Data Replacement Algorithm ※ 직접 사상의 경우 교체 알고리즘 선택 불가 * '''Random''' ** 무작위로 선택하여 교체 ** 비효율적이지만 구현이 간단하여 많이 사용 * '''Round Robin''' ** 공평하게 돌아가면서 선택 ** 구현이 간단하지만 효율이 좋지 않음 * '''LRU(Least Recently Used)''' ** 가장 오랫동안 이용되지 않은 데이터 교체 ** 가장 이상적이지만 CPU Cache에서는 판단이 어려움 == 쓰기 정책 == ;Write Strategy * '''Write Through''' ** 데이터 변경 시 캐시와 메모리에 곧바로 기록 ** 구현이 쉬우며 일관성 문제가 발생하지 않음 ** 잦은 쓰기로 속도 느려짐 * '''Write Back''' ** 캐시에 먼저 기록하고 메모리엔 나중에 기록 ** 속도가 빠르지만 일관성 문제 발생 가능성 *** Dirty Bit, Flag 등 이용 필요 == 설계 시 고려사항 == * 캐시 메모리 사이즈 * 전송 블록 사이즈 * 교체 알고리즘 == 참고 문헌 == * [https://raisonde.tistory.com/entry/캐시-메모리-매핑-기법 캐시 메모리 매핑 기법] * [https://m.blog.naver.com/PostView.nhn?blogId=sungeuns&logNo=50098123735 CPU Cache에 관한 간단한 정리~!]
요약:
IT위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
분류별 보기
일반 IT용어
프로젝트 관리
디지털 서비스
블록체인
인공지능
소프트웨어 공학
운영체제
컴퓨터 구조
자료 구조
데이터 과학
데이터베이스
네트워크
프로토콜
보안
컴플라이언스
개인정보보호
표준
경영학
기업 IT
조직/단체
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록