새소식

반응형
밥벌이/운영체제

캐시 메모리 설계 방법

  • -
반응형
  • 캐시 설계 시 고려할 사항
    • 캐시 크기(Cash Size)
    • 전송 블록 크기(Block Size)
    • 교체 알고리즘(Replacement Algorithm)
         
  • 매핑 프로세스
    주기억 장치로부터 캐시 메모리로 데이터를 전송하는 방법을 말하며 직접 매핑, 연관 매핑, 집합 연관 매핑의 3가지가 있음
    • 직접 매핑(Direct Mapping)
      • 용량이 작은 RAM을 캐시 메모리로 사용하며, 주기억 장치의 블록이 특정 라인에만 적재되는 원리를 이용하여 캐시의 적중 여부를 그 블록이 적재될 수 있는 라인만 검사하는 방식
      • 라인이 하나만 있으므로 동일한 라인에 부 블록을 반복적으로 액세스하는 겨우 캐시 실패율이 매우 높아지는 단점이 있음
    • 연관 매핑(Associative Mapping)
      • 주기억 장치의 블록이 캐시의 어느 라인에도 적재될 수 있어 직접 매핑에서의 단점을 보완
      • 적중 여부의 검사가 모든 라인에 대해 이루어지므로 검사 시간이 길어지고, 캐시 슬롯의 태그를 병렬로 검사하기 때문에 매우 복잡한 회로와 높은 비용이 단점
    • 집합 연간 매핑(Set-associative Mapping)
      • 직접 매핑과 연관 매핑 방식을 조합한 방식
      • 직접 매핑에서는 캐시의 하나의 주소 번지가 다른 2개의 데이터를 공유할 수 없는데, 이를 보완하기 위해 집합 연관 매핑에서는 캐시의 하나의 주소 영역이 서로 다른 태그를 갖는 여러 개의 집합으로 이루어질 수 있음
      • 직접 매핑에서는 실패했던 사례가 여기서는 적중될 수 있음
           
  • 교체 알고리즘
    • 캐시 메모리가 가득 차 있는 상태에서 CPU가 캐시 메모리에 접근하여 실패했을 때, 캐시 메모리의 일부를 비우고 주기억 장치로부터 새로운 데이터를 적재해야 함
    • 캐시 메모리를 비우는 방식이 교체 알고리즘인데, 직접 매핑에서는 주기억 장치의 데이터가 캐시 메모리와 같은 주소에 저장되므로 교체 알고리즘을 사용할 필요가 없음
교체 알고리즘 내용
최소 최근 사용
(LRU; Least Recently Used)
  • 캐시 메모리 내에서 사용되지 않은 채로 가장 오래된 블록을 교체
  • 현재까지 알려진 교체 알고리즘 중 가장 효과적
최소 빈도 사용
(LFU; Least Frequently Used)
  • 캐시 메모리에 적재된 후 가장 적게 참조된 블록을 교체
선입 선출(FIFO, First In First Out)
  • 캐시 메모리에 적재된 지 가장 오래된 블록을 교체
임의(Random)
  • 임의의 블록을 선택하여 교체

▶ 교체 알고리즘 및 내용

   

  • 쓰기 정책
    • CPU가 프로그램을 수행하는 동안 결과를 캐시 메모리에 쓰는 경우가 있는데, 이때 캐시 메모리와 주기억 장치에 기록하는 시점에 따라 '즉시쓰기(write-through)' 방식과 '나중쓰기(write-back)' 방식이 있음
    • 나중쓰기 방식은 시간이 짧은 정점이 있어나, 기억 장치 간에 불일치의 분제가 발생할 수 있음
         
  • 캐시 메모리의 수
    • 집적 회로의 기술 발달로 캐시 메모리를 CPU 내부에 포함시키는 것이 가능해 졌는데, 이것을 온-칩(On-Chip) 캐시 메모리라 하고, 캐시 메모리가 CPU 외부에 위치하면 오프-칩(Off-Chip) 캐시 메모리라고 함
    • 온-칩은 1차 캐시로 사용하고 용량이 큰 오프-칩은 2차 캐시로 설치하여, 사용하는 계층적 캐시를 운영할 수도 있음
         
  • 캐시 메모리의 데이터 일관성 유지 방법
    • 단일 시스템 버스에 여러 개의 CPU들이 접속된 다중 프로세스 시스템에서 캐시 메모리의 쓰기 정책인 '즉시쓰기'와 '나중 쓰기' 정책을 적용하는 경우, 주기억 장치와 각각의 CPU에 해당하는 캐시 메모리들 사이에 데이터의 불일치 현상이 발생
    • 데이터의 불일치 현상을 방지하는 방법
      • 공유 캐시 메모리를 사용하는 방법
        단점 : 프로세서들 간의 충돌 발생 가능성이 있음
      • 공유 변수를 캐시 메모리에 저장하지 않는 방법
        단점 : 캐시 메모리에 저장 가능 여부를 사용자가 선택하여 선언함
      • 버스 감시 시스템을 사용하는 방법
        단점 : 시스템 버스의 통신량이 증가
반응형

'밥벌이 > 운영체제' 카테고리의 다른 글

가상 메모리 구현  (0) 2011.04.17
캐시 메모리 개요  (0) 2011.04.14
저장 장치 계층 구조 개요  (0) 2011.04.14
저장 장치 계층 구조의 응용 사례  (0) 2011.04.14
병렬 컴퓨터 개요  (0) 2011.01.24
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.