티스토리 뷰
🤔 캐시 메모리란?
CPU와 주기억장치 사이에 위치하는 고속 버퍼 메모리
🤔 왜 필요한가?
CPU와 디스크 간의 속도 차이를 극복하기 위해서!
상대적으로 속도가 빠른 CPU와
상대적으로 속도가 느린 디스크 간의 속도 차이를 극복하기 위해서
캐시 메모리 사용
즉 hit rate(적중률)이 캐시의 성능을 좌우!!
🤔 캐시의 지역성 원리
캐시 메모리는 속도가 빠른 장치와 느린 장치간의 속도차에 따른 병목 현상을 줄이기 위한 범용 메모리인데
쉽게 말해 자주 사용하는? 정보들을 메모리에 적재시켜 메모리보다 속도가 더 느린 하드 디스크에서
데이터를 가져오지 않아도 메모리에서 바로 CPU로 빠르게 데이터를 전송할 수 있도록 해주는 것인데
이 캐시가 CPU가 원하는 데이터를 예측하는 정도를 적중률(Hit rate)라고 하고
적중률이 높으면 좋은 캐시 메모리이다!
자, 그럼 이제 적중률(hit rate)
캐시가 어떻게 CPU가 원하는 데이터를 예측할까?
적중률(hit rate)을 극대화 시키기 위해서 데이터 지역성(locality)의 원리를 사용한다.
지역성의 전제조건으로
프로그램은 모든 코드나 데이터를 균등하게 access 하지 않는다는 특성을 기본으로 한다.
Locality란
기억 장치 내의 정보를 균일하게 access하는 것이 아닌
어느 한 순간에 특정 부분을 집중적으로 참조하는 특성
🤔 시간 지역성(Temporal Locality)
✔ 최근에 참조된 주소의 내용은 곧 다시 참조되는 특성
🤔 공간 지역성(Spatial Locality)
✔ 대부분의 실제 프로그램이 참조된 주소와 인접한 주소의 내용이 다시 참조되는 특성
🤔 순차(Sequential) 지역성
✔ 데이터가 순차적으로 액세스되는 경향
예시 : 프로그램 내의 명령어가 순차적으로 구성되어 있는 것
공간 지역성에 편입되어 설명되기도 함.
출처
https://osy0907.tistory.com/80(캐시의 지역성)
https://jwprogramming.tistory.com/18(캐시의 지역성)
'cs' 카테고리의 다른 글
[CS-운영체제] 운영체제의 종류 (0) | 2022.08.16 |
---|---|
[CS-알고리즘] BigO 표기법 (0) | 2022.08.09 |
- Total
- Today
- Yesterday
- 그리디
- 코드
- 정보처리산업기사
- Java
- challenges
- 22 정보처리산업기사
- 자바의 정석
- hackerrank challenges
- 해커랭크
- queue
- 소스코드
- stack
- LinkedList
- BAEKJOON
- JPA
- 자바
- 개발자
- hackerrank
- 22 정보처리 산업기사
- 정보처리 산업기사
- 해커랭크 자바 챌린지
- ORM
- 백준
- 강의
- 해커랭크 자바
- 해커랭크 챌린지
- 챌린지
- 정보처리산업기사 공부법
- 풀이
- 디버깅
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |