기술면접 대비 9탄 cache memory

양진영·2022년 4월 19일
0

오늘은 많이 사용되는 단어 이지만 어렴풋 하게만 알고 넘어갔던 cache에 대해서 좀더 자세히 공부하기 위해 조사를 해보았다.cache 메모리란 정보를 저장했다가 요청시 리턴해주는 메모리 체제 이나 그렇게만 설명한다면 ram이나 disc와 차별점이 없기에 조금은 다르게 설명해볼까한다. 우선 cache 메모리 또한 여타 다른 저장소와 하는 일은 같지만 그 성능에 있어서는 비교가 불가능 할정도로 빠르다. cache memory는 두가지 조건에 맞아야 정보를 저장하게 되는데 첫번째가 시간적 지역성에 맞아야 한다. 시간적 지역성이란 한번 접근된 데이터라면 가까운 미래에 다시 접근될 가능성이 높다는 가능성이 높다는 조건으로, 한번 저장하여 여러번 읽어올수 있다. cache는 cpu와 메인 메모리 사이에 존재하여 메인 메모리 까지 가지 않고 중간에서 빠르게 데이터를 회수할수있는데 문제는 저장할수 있는 용량 자체도 크지않고 용량대비 가격도 disc와 비교했을때 훨씬 비싸기에 한번 저장하고 같은 데이터를 미래에 또 접근해야 하기때문에 시간적 지역성을 맞춰야하고, 또 같은 이유로 비용적, 용량적 으로 효율성을 극대화 해야하기 때문에 공간적 지역성 즉 특정 데이터에 접근했을때 그와 비슷한 데이터에 접근한다는 조건도 맞아야 한다. 이 두가지의 조건을 통해 cache memory를 설계하는데 이때 hit rate 즉 cache memory에서 찾아오는 확률을 높여야 한다.

오늘의 블로그는 깊게 들어가자면 정말 깊은 주제라 여기 까지만 블로깅을 하는 것으로 하겠다. 다음에 기회가 된다면 cache miss, cache hit등 어떻게 하면 cache memory를 설계할수 있는지 알아보도록 하겠다.

profile
왜? 라는 질문을 중요시하는 서버 개발자입니다

0개의 댓글