캐시
데이터를 미리 복사해 놓는 임시 저장소이자 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리
이를 통해 데이터를 접근하는 시간이 오래 걸리는 경우를 해결함
계산된 값을 저장해서 다시 계산하지 않게 하는 장치 또는 메모리로도 의미가 쓰임
실제로 메모리와 CPU 사이의 속 차이가 너무 크기 때문에 그 중간에 레지스터 계층을 줘서 속도 차이를 해결함 이렇게 속도 차이를 해결하기 위해 계층과 계층사이에 있는 계층을 캐싱계층이라고 함
지역성의 원리
자주 사용되는 데이터에 대한 근거
시간 지역성과 공간 지역성으로 나뉨
시간 지역성
최근 사용한 데이터에 다시 접근하려는 특성
(ex - for문에 i변수에 계속 접근, 연이어 접근해서 +1을 함)
공간 지역성
최근 접근한 데이터를 이루고 있는 공간이나 그 가까운 공간에 접근하는 특성
(ex - 배열 arr의 각 요소들에 i가 할당되며, 해당 배열에 연속적으로 접근하는 것)
캐시히트
캐시에서 원하는 데이터를 찾았다면 캐시히트
위치도 가깝고 CPU 내부버스를 기반으로 작동해서 빠르다.
캐시미스
해당 데이터가 캐시에 없다면 주메모리로 가서 데이터를 찾아오는 것을 캐시미스
캐시미스가 발생되면 메모리에서 가져오게 되는데, 이는 시스템 버스를 기반으로 작동해서 느리다.
출처 : 면접을 위한 CS 전공지식 노트
'CS > 운영체제' 카테고리의 다른 글
페이지교체 알고리즘 : FIFO, LRU, NUR, LFU (0) | 2022.07.26 |
---|---|
메모리 할당(연속할당, 불연속 할당) (0) | 2022.07.26 |
CPU 스케줄링 알고리즘(비선점형, 선점형) (0) | 2022.07.26 |
세마포어, 뮤텍스, 모니터의 차이 그리고 교착상태(deadlock) (0) | 2022.07.26 |
공유자원과 임계 영역, 그리고 경쟁상태(race condition) (0) | 2022.07.26 |