반응형

배경

메인 메모리 접근속도가 프로세서 성능을 따라가지 못해 생기는 병목현상을 보완하기 위해,

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 보다 낮아서 잘 사용하지 않는다고 함)

 

 

 

 

 

 

출처

mangkyu.tistory.com/69

parksb.github.io/article/29.html

zion830.tistory.com/46

medium.com/pocs/%ED%8E%98%EC%9D%B4%EC%A7%80-%EA%B5%90%EC%B2%B4-page-replacement-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-650d58ae266b

반응형

'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

+ Recent posts