CS Interview

Cache, 캐시란?

게임이 더 좋아 2021. 6. 23. 04:15
반응형
728x170

 

물론 캐시에 대해서 할 말은 많지만

우아한 테크톡의 설명을 보면서

 

https://www.youtube.com/watch?v=c33ojJ7kE7M&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=123 

 

을 보면서 같이 내 언어로 바꿔보는 시간을 가져보려고 한다.

 


 

# 동영상의 내용

 

메모리의 속도와 용량은 반비례?

설명이 틀렸다.

속도와 가격이 비례라고 하는 것이 더 맞는 표현이겠다.

 

메모리 계층구조가 왜 나왔는지를 설명하기에 조금 부족했다.

메모리 계층 구조는 locality를 이용하기 위해 나왔는데

계층구조를 설명하고 그 다음에 locality를 설명했다.

파레토 법칙을 이용해서 캐시의 지역성을 설명하는 것은 좋았다.

 

배열에 대해서는 단일 메모리 블럭, 연속된 메모리를 사용하기 때문이란 것을

더해서 설명했으면 더 좋았을 것이다.

 

예를 드는 것은 좋았다.

 

캐시의 작동방식을 설명할 때 

계층 구조를 같이 들어서 설명했어야 했는데 아쉽다.

 

 

캐시의 중요성을 설명할 때

Memory Wall이란 용어에 대해 설명했으면 좋았을 것

 

유튜브에 대해 예를 드는 것이 흥미로웠음

 

웹 캐시, 브라우저 캐시를 넣은 것도 흥미로움

 

miss, replacement에 대한 내용이 거의 없어서 아쉬움

 


 

내 언어로 설명

 

 

캐시의 정의:

캐시란 지역성(locality)를 이용하여 데이터 접근 속도를 빠르게 하기 위한 메모리 계층이다.

CPU와 주기억장치간의 속도차로 발생하는 CPU Idle Time을 최소화하기 위해 캐시를 쓴다.

** CPU Idle Time을 최소화하기 위한 또 하나의 방법 멀티프로그래밍

 

여기서 지역성이라는 것은

최근에 사용된 데이터는 또 쓰일 확률이 높다의 시간 지역성

사용된 데이터의 주변 데이터는 또 쓰일 확률이 높다의 공간 지역성이 있다.

 

결국 메모리 계층 구조의 핵심인 지역성을 이용하여 데이터 접근 속도를 높이는 것을 캐싱이라고 하며

더 나아가서는 메인 메모리를 캐싱을 적용하여 가상 메모리로 사용하고 있다.

 

++추가 사항으로 캐시는 SRAM을 쓰며 우리가 흔히 말하는 RAM은 DRAM이다.

 

 

 


 


틀렸으면 피드백 환영합니다.

아쉬운 부분도 피드백 환영합니다.

 

[컴퓨터(Computer Science)/컴퓨터구조(Computer Arichitecture)] - Cache Performance, 캐시의 성능 [컴퓨터구조]

[컴퓨터(Computer Science)/컴퓨터구조(Computer Arichitecture)] - 캐시, Cache - 기본 원리 [컴퓨터구조]

[컴퓨터(Computer Science)/컴퓨터구조(Computer Arichitecture)] - 컴퓨터 구조에서 본 가상메모리, Virtual memory - 기본 개념 [컴퓨터구조]

[컴퓨터(Computer Science)/컴퓨터구조(Computer Arichitecture)] - 캐시, Cache 와 메모리 종류 - 기본 개념 [컴퓨터구조]

 

반응형
그리드형

'CS Interview' 카테고리의 다른 글

Process, 프로세스란?  (0) 2021.06.28
Virtual Memory, 가상메모리란?  (0) 2021.06.28
Tree 자료구조  (0) 2021.06.15
비선형 자료구조를 사용하는 이유  (0) 2021.06.15
C++에서 vector의 단점을 극복한 deque  (0) 2021.06.15