캐쉬(cache)란?
프로그램이 수행될 때 나타나는 지역성을 이용하여 메모리나 디스크에서 사용되었던 내용을 특별히 빠르게
접근할 수 있는 곳에 보관하고 관리함으로써 이 내용을 다시 필요로 할 때 보다 빠르게 참조하도록 하는 제어장치
l 지역성 - 프로그램의 실행 패턴이 참조되었던 근처의 메모리를 다시 참조하는 특성
하드웨어적인 캐쉬
à CPU와 메인 메모리 사이에 빠른 캐시 메모리가 있는 경우
속도가 빠른 CPU가 속도가 느린 메인 메모리의 데이터에 접근 시 중간에 빠른 캐시 메모리를 두어 요청한 데이터를 보다 빠르게 돌려줄 수 있도록 하는 것.
캐시의 성능
i. 작은 용량의 캐시 메모리에 CPU가 이후에 참조할 쓸모 있는 정보가 얼마나 있느냐에 의하여 좌우된다.
ii. 캐시히트(Cache Hit) : CPU가 참조하고자 하는 메모리가 캐시에 존재하고 있을 경우.
캐시 히트 시 캐시의 데이터를 즉시 CPU에 돌려줌으로써 빠른 정보를 제공한다.
iii. 캐시 미스(Cache miss) : 캐시에 요청한 데이터가 없을 경우
캐시 미스 시 메인 메모리로부터 일정한 블록 사이즈의 데이터를 가져와서 캐시에 저장한 후 그 데이터에서 특정 워드 크기의 데이터만을 CPU에 전달하게 된다.
블록의 사이즈가 클수록 캐시 히트율이 올라가는 사실을 보여주지만,
블록의 크기가 커지면 이에 따른 전송 시의 부담과 캐시 데이터 교체 작업이
자주 일어날 수 있다는 부담이 증가하기 때문에 쉽게 그 수치를 늘릴 수 없다.
'University Classes > Operating System ' 카테고리의 다른 글
페이지 교체 알고리즘 (0) | 2012.06.14 |
---|---|
쓰레싱 (Thrashing) 이란? (0) | 2012.06.14 |
캐시 교체 알고리즘, 캐시 쓰기 정책 (0) | 2012.06.11 |
프로세스 내 캐쉬 관리 (0) | 2012.06.11 |
특권레벨 ( pribilege Level) (0) | 2012.06.11 |