일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 투자
- algorithmtraining
- 다독
- 책을알려주는남자
- JavaScript
- 채권
- algorithmTest
- 경제
- 백준알고리즘
- 알고리즘공부
- Java
- 자바스크립트
- 알고리즘트레이닝
- 주식
- 독후감
- 화장품
- 자바
- 독서
- 재테크
- 서평
- 돈
- C++
- 알고리즘 공부
- 프로그래밍언어
- 성분
- 프로그래머스 알고리즘 공부
- algorithmStudy
- 책알남
- C
- 지혜를가진흑곰
- Today
- Total
탁월함은 어떻게 나오는가?
캐시(Cache)에 대해서 알아보자! 본문
캐시란?
캐시는 컴퓨터에서 데이터나 값을 미리 복사해 놓는 임시 장소를 말한다. 캐시를 사용하는 이유는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다. 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다. 캐시는 시스템의 효율성을 위해 여러 분야에서 두루 쓰이고 있다.
캐시가 효율적으로 동작하려면, 캐시에 저장할 데이터가 지역성을 가져야 한다. 지역성이란 데이터 접근이 시간적, 혹은 공간적으로 가깝게 일어나는 것을 의미한다.
1) 시간적 지역성
특정 데이터가 한번 접근되었을 경우, 가까운 미래에 또 한번 데이터에 접근할 가능성이 높은 것을 시간적 지역성이라고 한다.
메모리 상의 같은 주소에 여러 차례 읽기 쓰기를 수행할 경우 상대적으로 작은 크기의 캐시를 사용해도 효율성을 꾀할 수 있다.
2) 공간적 지역성
특정 데이터와 가까운 주소가 순서대로 접근되었을 경우를 공간적 지역성이라고 한다. CPU 캐시나 디스크 캐시의 경우 한 메모리 주소에 접근할 때 그 주소뿐 아니라 해당 블록을 전부 캐시에 가져오게 된다.
이때 메모리 주소를 오름차순이나 내림차순으로 접근한다면, 캐시에 이미 저장된 같은 블록의 데이터를 접근하게 되므로 캐시의 효율성이 크게 향상 된다.
캐시는 언제 적용해야 할까?
원본 데이터에 접근하는데 시간이 오래걸리거나 값을 계산하는데 시간이 오래 걸리는 경우 캐시를 적용하면 처음에는 같은 시간이 걸리지만 똑같은 값을 다시 요청하면 한번에 응답이 가능하다.
'[Snow-ball]프로그래밍(컴퓨터) > 프로그래밍 및 컴퓨터 개론 이론' 카테고리의 다른 글
유니코드 와 utf8 / utf16 차이점과 utf8_bin, utf8_general_ci, utf8_unicode_ci 등에 대해서도 알아보자 (0) | 2022.07.20 |
---|---|
동기(Synchronous)vs비동기(Asynchronous), 블로킹(Blocking)vs논블로킹(Non-blocking) (0) | 2022.06.06 |
중앙처리장치(CPU) 작동 원리와 기능에 대해서 공부해보자 (0) | 2022.05.10 |
프론트엔드(Front-End)로써 기본적으로 알면 좋을 16가지 지식 (0) | 2022.03.03 |
백준 알고리즘 답안지 제출할 때 error: class Factorial is public, should be declared in a file named 에러 발생 해결방법 (0) | 2022.01.17 |