본문 바로가기

컴퓨터이론/운영체제

OS -4 : 메모리와 캐시

메모리

메모리 내부에 위치할수록 접근빈도/속도가 올라가며 용량은 적고 가격은 올라간다.

참조지역성에 따라 data를 저장한다.

 

캐시메모리

CPU와 DRAM간의 속도차이가 너무 커서 CPU 명령을 수행하는데 제한 사항이 많다

DRAM보다 빠른 SRAM을 이용하여 메인 메모리 중 자주 접근되는 데이터를 저장한다.

*DRAM vs HDD?

I/O처리가 드물거나 없는 경우 HDD에 접근할 필요가 없으므로 우선순위가 낮아진다.

+ CPU-DRAM간의 차이가 DRAM-HDD간의 차이보다 크다

 

캐시메모리

캐시메모리가 있는 컴퓨터 시스템은 CPU가 메모리에 접근하기 전 먼저 캐시 메모리에서 원하는 데이터의 존재 여부를 확인한다. 이때 찾고자하는 데이터가 캐시에 존재하는지 여부는 참조의 지역성에 달려있다. 참조 지역성은 짧은 시간 동안 제한된 주소 공간의 일부만 참조되는 경향을 말한다.

공간 지역성과 시간 지역성

  • CPU가 캐시에 주소 전송 > 태그 메모리 탐색 > 일치하는 태그 발견 (hit) > 블록 상태 갱신(필요할 경우) >데이터 메모리에서 블록 추출 > 요청받은 데이터 선택 > 캐시가 CPU에 데이터 전송
  • CPU가 캐시에 주소 전송 > 태그 메모리 탐색 > 일치하는 태그 없음(miss) > 주소를 메모리로 전송해 대응하는 블록을 캐시에 저장 > 요청받은 데이터 선택 > 캐시가 CPU에 데이터 전송

- cache에 자주 접근할 수록 효율이 높으며, 자주 접근되는 data들의 크기가 보통 크지 않으므로 작은 size의 cache도 효율이 좋다.

- 단 cache이 block size가 너무 큰 경우, 불필요한 data들을 가져오게 되어 효율이 떨어질 수 있다.

- cache에 data가 존재하는 지 빠르게 알아내야하므로 mapping function을 이용한다.

- 새로 cache를 갱신할 때 LRU등의 알고리즘을 이용한다.

- CPU에서 cache에 write할 때, main memory와 일치하지 않는 경우, 블록이 바뀔 때만 교체가 이루어진다면 cache coherence problem이 발생할 수 있다.(코어간 cache값이 상이)

'컴퓨터이론 > 운영체제' 카테고리의 다른 글

OS -3 : Interrupt  (0) 2023.01.19
OS -2 : 명령어의 실행  (0) 2021.09.14
OS -1 : 컴퓨터의 구성  (0) 2021.09.14