반응형
배경
- 메인 메모리 접근속도가 프로세서 성능을 따라가지 못해 생기는 병목현상을 보완하기 위해,
CPU와 메인메모리 사이에 캐시라는 추가적인 저장 공간을 만들고, 프로세서가 찾는 page를
캐시에서 우선적으로 탐색하게 한다.
특징
메인 메모리(DRAM : Dynamic RAM)
- 구조가 단순하고 싸다.
- 같은 용량 대비 저장 가능 공간이 많다.
- 저장된 데이터를 유지하기 위해 지속적인 작업을 한다.(reflash)
캐시 메모리(SRAM : Static RAM)
- 구조가 복잡하고 비싸다.
- 처리 속도가 DRAM에 비해 훨씬 빠르다.
(물론 DRAM, SRAM 모두 휘발성 메모리로, 전원 공급이 유지되어야 저장이 지속된다.)
캐시 메모리는 위와 같이 L1, L2, L3 캐시로 구분할 수 있는데,
캐시 메모리에서 데이터를 찾지 못하면 메인 메모리에 access하는 것처럼
L1에 먼저 접근 -> L2로 접근 한다고 함.
(추가적으로, L1은 텍스트 데이터를 다루는 I$와 텍스트 외의 데이터를 다루는 D$로 구성된다고 한다.)
캐시 메모리 적재 원리
- 캐시 메모리에 데이터를 적재하는 기준은 다음과 같은 지역성을 따른다.
- 시간 지역성 : 최근에 접근한 데이터에 다시 접근할 가능성이 크다.
- 공간 지역성 : 최근에 접근한 데이터의 주변 데이터에 접근할 가능성이 크다.
Page 교체 알고리즘
- Data Access(캐시→메인메모리→하드디스크드라이브)시 page fault가 발생하면 page를 특정 기준에 따라 교체하여 page hit rate를 올린다.
- Page Hit에 비해 Fault는 약 30배의 시간을 소요한다고 한다.(cache와 main memory 기준) 따라서, Page Hit rate를 높이는 것은 아주 중요하다.
- FIFO : 먼저 들어온 page를 교체한다.
- OPTIMAL 방식 : 최적 page 교체 알고리즘이다. 프로세서가 앞으로 사용할 page들을 모두 알고 있다는 가정하에 page를 교체하는것이다. 가정을 기반으로 하기 때문에 알고리즘상 실제 구현은 불가능함
- LRU(Least Recently Used) : 가장 오래 사용되지 않은 page를 교체한다. 최적 page 교체 방식에 그나마 근사한 성능.
- LFU(Least Frequently Used) : 사용 빈도가 적은 page를 교체한다. 사용 빈도가 적은 page가 여러개이면 LRU로 처리함.
- MFU(Most Frequently Used) : 사용 빈도가 많은 page를 교체한다.
(LFU, MFU는 빈도 계산을 추가적으로 해야하기 때문에 비용↑, 성능은 LRU 보다 낮아서 잘 사용하지 않는다고 함)
출처
반응형
'IT study > Notebooks' 카테고리의 다른 글
DB - Transaction (0) | 2021.04.15 |
---|---|
OS - Deadlock (0) | 2021.04.11 |
OS - 세마포어(Semaphore), 뮤텍스(Mutex) (0) | 2021.04.06 |
Network - HTTPS(대칭키&비대칭키) (0) | 2021.04.05 |
OS - Process & Thread (0) | 2021.03.31 |