캐시[Cache]란?
mapping : 가상주소와 물리주소의 대응 관계 또는 가상 주소로부터 물리 주소를 찾아내는 일을 말한다.
캐시[Cache]란?
프로그램이 수행될 때 나타나는 지역성을 이용하여 메모리나 디스크에서 사용되었던 내용을 특별히 빠르게 접근할 수 있는 곳에
보관하고 관리함으로써 이 내용을 다시 필요로할 때 보다 빠르게 참조하도록 하는 것이다. [참고2]
쉽게 풀어서 설명하면 사용되었던 데이터는 다시 사용되어 질 가능성이 높다는 개념을 이용한 것이다. 이를 통해서
다시 사용될 확률이 높은 아이들을 좀 더 빠르게 접근 가능한 저장소를 사용한다는 개념이다.
캐시 히트[Cache Hit]란?
CPU가 참조하고자 하는 메모리가 캐시에 존재하고 있을 경우 Cache Hit라고 한다.
캐시 미스[Cache Miss]란?
CPU가 참조하고자 하는 메모리가 캐시에 존재하지 않을 때 Cache Miss라고 한다.
출처: https://richong.tistory.com/95 [study]
캐시란 무엇인가
캐시를 이해하기 위해 비유를 들어 보겠다. 책이 많이 있는 도서실에서 참고 자료를 찾아 보면서 글을 쓰는 상황을 생각해 보자. 책이 책꽂이에 잘 정리되어 있기는 하지만, 책상에 앉아서 글을 쓰다가 책꽂이에 가서 필요한 책을 찾아오는 데는 꽤 시간이 걸린다. 따라서 무언가 참고할 것이 있어서 책을 한번 찾아오면, 필요한 내용을 본 뒤에 바로 책꽂이에 다시 갖다 꽂지 않고 책상 위에 놓아두는 것이 훨씬 편리하다. 잠시 후 같은 책을 다시 참고할 일이 생길 가능성이 크기 때문이다. 물론 책상의 넓이가 한정되어 있기 때문에 무한정 책을 가져다 놓을 수는 없다. 책상이 너무 비좁아지면 앞으로 비교적 덜 필요할 것 같은 책은 다시 책꽂이에 갖다둬야 한다.
책상 : 책꽂이 = 캐쉬 : 하드디스크
여기서 주목해야 할 사실이 있다.
첫째로 책꽂이와 책상이라는, 성격이 다른 두 가지 저장 장소가 있다는 점이다. 책꽂이는 용량이 큰 대신 시간이 많이 걸리고, 책상은 빨리 찾아볼 수 있는 대신 용량이 작다. 둘째는 한번 본 책은 앞으로 다시 보게 될 가능성이 크다는 점이다. 만약 그렇지 않다면 한번 본 책을 책상 위에 놓아 둘 필요는 없는 것이다.
캐시는 컴퓨터의 기억장치에 관련된 기술이다. 책꽂이와 책상의 비유에서와 마찬가지로, 컴퓨터에 있는 여러 기억장치들도 그 속도와 용량이 각각 다르다. 하드디스크는 용량이 아주 크지만 속도가 느리고, 메인 메모리(RAM)의 용량은 하드디스크의 백 분의 1 정도로 작지만 속도는 십만 배 정도로 빠르다. 또 CPU에 들어 있는 캐시 메모리는(그냥 캐시라고 하면 보통 이것을 말한다) 메인 메모리의 백 분의 1 정도 용량이지만 속도는 훨씬 빠르다. 즉 기억장치들은 피라미드 모양의 계층 구조를 이루고 있어서, 위쪽은 용량이 작은 대신 속도가 크고, 아래쪽은 용량이 크면서 속도는 느리다.
캐시는 이와 같이 속도가 느린 기억장치와 속도가 빠른 기억장치가 있을 때, 빠른 기억장치에 느린 기억장치의 내용 중 최근에 사용한 일부를 넣어 두는 것을 말한다. 이렇게 하면 같은 내용을 여러 번 참조할 때, 두 번째부터는 빠른 속도로 읽어들일 수 있다.
네트워크에도 캐시 기술 응용
컴퓨터 네트워크에도 캐시 기술을 응용할 수 있다. 인터넷에서 웹페이지를 본다는 것은 서버에 저장된 웹페이지를 네트워크를 통해 내려 받아 보는 것이다. 그런데 네트워크를 통해 내려 받는 데는 시간이 많이 걸리기 때문에, 한번 본 웹페이지를 사용자의 컴퓨터에 저장해 두면 다음에는 훨씬 빨리 볼 수 있다. 한 가지 문제점은 웹페이지의 내용이 바뀌는 경우이다. 아이콘 등의 이미지는 잘 바뀌지 않지만 텍스트는 바뀔 수 있고, 게시판의 목록 등은 매우 자주 바뀐다.
이 문제를 해결하기 위해 서버가 웹페이지를 이루는 파일들의 유효기간을 알려준다든가, 캐시에 저장된 내용을 사용하더라도 변경이 있었는지 여부를 서버로부터 확인한다든가 하는 보완책이 필요하다.
출처 : http://act.jinbo.net/wp/1066/
'기타' 카테고리의 다른 글
정보처리 필기_전자계산기 구조_04강_자료의 외부적 표현 (0) | 2019.07.24 |
---|---|
정보처리 필기_전자계산기 구조_03강_진법과 보수 ( 인강 메모 ) (0) | 2019.07.23 |
정보처리 필기_전자계산기 구조_02 보조기억장치 메모 (0) | 2019.07.23 |
[네트워크] HTTP 헤더 구조 (0) | 2019.07.01 |
http란 (0) | 2019.05.30 |