메모리
메모리 내부에 위치할수록 접근빈도/속도가 올라가며 용량은 적고 가격은 올라간다.
참조지역성에 따라 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 |