이론/운영체제

[OS] 메모리 계층 구조

ohojee 2023. 7. 6. 02:11

메모리 계층 구조

메모리 계층의 관계

접근시간 ↓ → 비트당 비용 ↑

용량 ↑ → 비트당 비용 ↑

용량 ↑ → 접근 시간 ↑

크고 저렴하고 속도가 느린 메모리 <=> 작고 비싸고 빠른 메모리 / 이들을 보완하면서 효율적으로 사용해야 함 ⇒ 저속 메모리에 대한 접근 회수 줄이는 방향으로

참조지역성: 처리기의 메모리 참조는 인근 지역으로 몰리는 경향 존재

캐시메모리

처리기는 명령어를 가져오기 위해 메모리를 적어도 한 번 접근해야 o, 처리기와 주기억장치 사이에 큰 속도차이 존재 ⇒ 처리가와 메모리 사이에 캐시와 같이 용량은 적지만 빠른 메모리 제공

처리기가 메모리에서 워드를 읽을 때 먼저 캐시에 있는지부터 검사 → 있다면 캐시에서 참조 → 없다면 주기억장치 블록을 캐시로 읽고,
해당 워드를 처리기로 전달

하나의 캐시뿐만 아니라 L1, L2, L3같이 다단계 캐시를 사용할 수 o

캐시 설계

  • 캐시의 크기
  • 블록의 크기
    • 블록의 크기가 커질수록, 많은 데이터가 캐시로 이동 ⇒ 캐시 적중률 ↑, but 너무 커지면 오히려 ↓
  • 사상함수
    • 블록이 캐시의 어느 위치에 저장될지 결정
  • 교체 알고리즘
    • 새로운 블록을 적재한 곳이 없을 때 교체할 블록 선정
    • LRU(least-recently-used) 등
  • 쓰기 정책
    • 메모리 쓰기 연산을 언제 수행할지 결정