🌟 읽기 전에 🌟
이 글은 쉬운 이해를 목적으로 하여 비유와 예시를 활용하여 작성되었습니다.
틀린 내용이 있을 수 있습니다 !
안녕하세요?
오늘은 '캐싱' 이라는 기술이 무엇인지에 대해 일상에서 많이 사용되는 어플, '배달' 을 비유로 들어 설명해 보겠습니다.
'캐싱' 은 여러 예시를 가질 수 있는데, 그 중에 캐시 메모리를 배달에 빗대어 설명하겠습니다.
우리가 집에 있을 때, '마라탕' 을 먹고 싶다고 가정해봅시다.
밖에는 비가 많이 와서, 배달팁을 내고 배달을 먹어야지 라고 생각했다고 합시다.
그랬을 때 ...
집 을 CPU 에, 마라탕을 CPU 가 필요로 하는 데이터 라고 생각해 보겠습니다.
그런데 이 때, 배달을 받을 수 있는 방식이 두 가지가 있습니다.
일반배달은 시간이 60분, 비용이 1,000원 든다고 합시다. 긴 시간과 저비용이 듭니다.
한집배달은 시간이 20분, 비용이 5,000원 듭니다. 짧은 시간과 고비용이 듭니다.
캐시 메모리를 한집배달에 비유한 이유는, 캐시 메모리가 일반 메모리 (DRAM) 에 비해 가격이 비싸고, CPU 와의 거리가
가깝고 속도가 빠르다는 특성을 빗댄 것입니다.
동일한 데이터 (= 특정한 작업의 결과물) 을 CPU 가 얻어서 사용하기 위해서,
처음에는 일반 메모리에 접근하여 결과물 (원하는 데이터) 를 가져오는 과정이 필요합니다.
그런데 그 결과물을 캐시메모리에 저장한 후에는, 동일한 요청이 들어왔을 때 CPU 가 캐시메모리에 접근하여 바로
데이터를 가져올 수 있어서 일반 메모리 (DRAM) 에 접근하는 시간을 줄여 애플리케이션의 성능을 향상시킬 수 있습니다.
이를 그림으로 표현하면 아래와 같습니다.
캐싱 이란, 곧 " 저장한다 " 는 뜻입니다.
즉 오랜 시간이 걸리는 작업의 결과를 여러 번 하지 않고, 최초 1회를 제외한 나머지는 다른 메모리에 저장하여,
시간과 비용을 아껴, 결론적으로 애플리케이션의 성능 향상을 도모하는 방법입니다.
캐싱 의 예시로는,
(i) 족보를 외워서 답안을 작성하는 것
(ii) 브라우저에 동일한 요청이 들어올 경우 브라우저가 매번 서버에 요청을 보내지 않고 로컬 스토리지에 저장해둔 이미지를 사용하는 것.
(iii) CPU 가 연산 결과를 캐시 메모리에 저장해두고 사용하는 것이 있습니다.
'CS > 내 생각 정리' 카테고리의 다른 글
[컴퓨터 구조+운영체제] Hello World 가 출력 되기까지 (1) (0) | 2024.08.16 |
---|---|
[자료구조] 해싱 (0) | 2024.08.13 |