ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 캐시 데이터의 구성과 디자인
    IT 2021. 6. 17. 08:01
    반응형

    캐시의 데이터는 사용 빈도에 따라 다른 수준에서 호스팅 됩니다. 정보는 포함 또는 배타적 방식으로 다른 수준 간에 전송될 수 있습니다. 포괄 캐시로 요청된 데이터는 원본 캐시에 남아 있으며, 즉 복사본은 두 개 이상의 수준에서 유지됩니다. 독점 캐시는 요청된 데이터가 새 수준으로 전송된 후 홈 캐시에서 삭제됩니다.

    캐시 레벨 1은 L1 캐시라고 합니다. 내부 메모리라고도 부릅니다. 마이크로프로세서의 핵심에 위치하고 있습니다. 중요하고 자주 사용되는 데이터와 지침을 저장하고 액세스 하는 데 사용되며, 짧은 응답 시간을 제공하는 수준으로 프로세스 속도를 높입니다. 두 개의 하위 수준으로 나뉩니다. 레벨 1의 데이터 캐시는 자주 사용되는 데이터를 저장합니다. 레벨 1의 명령 캐시는 자주 사용되는 지침을 저장합니다. 캐시 레벨 2는 L2 캐시라고 부릅니다. 그것은 자주 사용되는 데이터를 저장하는 책임이 있습니다. 그 책임은 L1 캐시보다 크지만, 느린 비용으로, 그것은 여전히 주 메모리 (RAM) 보다 빠릅니다. 그것은 포함될 수 있으며 레벨 1 플러스 추가의 사본을 포함할 수 있습니다. 또는 독점 정보와 그 내용은 L1 캐시와 완전히 다릅니다. 그래서 L1 캐시보다 더 큰 총용량을 제공합니다. 캐시 레벨 3은 L3 캐시라고 합니다. 메인 메모리(RAM) 보다 빠르지만 L2보다 느리고 크므로 프로세서의 작업을 가속화하여 많은 정보를 저장하는 데 도움이 됩니다. 이 메모리에서는 L1 또는 L2에 없는 데이터 및 지침에 대한 액세스 속도가 빨라졌습니다. L2와 마찬가지로 추가 정보 외에 L2 사본을 포함할 수 있으며, 반대로 배타적이고 이전 수준과 완전히 다른 정보를 포함하여 총용량을 높일 수 있습니다.

    캐시의 디자인은 메모리 성능에 직접적인 영향을 미치므로 메모리 계층구조의 응답률을 높이는 목표를 고려하는 몇 가지 요소를 고려해야 합니다. 이러한 요소는 위치, 당기기, 교체 및 쓰기 정책입니다. 위치 정책은 캐시를 입력하는 주 메모리 블록을 배치해야 하는 위치를 결정합니다. 가장 많이 사용되는 것은 다음과 같습니다. 직접은 주 메모리의 i-th 블록은 n이 캐시의 블록 수인 위치 i 모듈 n에 해당합니다. 메인 메모리의 각 블록은 캐시에 위치가 있으며 항상 같은 위치에 있습니다. 단점은 각 블록이 캐시에 고정된 위치를 할당하고 캐시에 동일한 위치를 가진 두 블록의 단어에 대한 연속 참조 전에 캐시에 여유 공간이 있는 지속적인 오류가 있다는 것입니다. 연관이란 주 메모리 블록은 캐시의 모든 블록에 보관되어 성공을 확인하기 위해 각 블록의 레이블만 검사합니다. 주요 단점은 비교 횟수입니다. 설정 연관은 주 메모리의 각 블록은 캐시 집합을 할당하지만 해당 집합에 속한 블록에 위치할 수 있습니다. 이를 통해 직접 서신보다 유연성이 뛰어나고 완전히 연관된 대응보다 비교가 줄어듭니다.

    추출 정책은 끌어오기 정책입니다. 이것은 캐시할 주 메모리의 시간과 블록을 결정합니다. 두 가지 광범위한 정책이 있습니다. 온디맨드가 있습니다. 이 정책의 블록은 참조되고 캐시 되지 않은 경우에만 캐시 됩니다. presearch 정책은 주 메모리의 i-th 블록을 참조합니다. 참조하면 블록 (i +1)-th도 가져온다. 이 정책은 프로그램의 공간 지역 소유권을 기반으로 합니다. 교체 정책은 들어오는 블록에 사용할 수 있는 공간이 없을 때 포기할 캐시 블록을 결정합니다. 기본적으로 네 가지 정책이 있습니다. 랜덤은 블록이 무작위로 대체됩니다. FIFO는 첫 번째 아웃(FIFO) 알고리즘은 캐시를 떠나야 하는 블록을 결정하는 데 사용됩니다. 이 알고리즘은 일반적으로 비효율적입니다. 최근 들어 사용이 줄어든 캐시에는 LRU가 있습니다. 이것은 가장 긴 시간 동안 캐시에 사용되지 않은 블록을 대체합니다. 우리는 문제의 블록을 캐시 하고 거기에 수정합니다. 자주 사용되는 LFU 캐시는 참조수가 적은 블록을 대체합니다.

    업데이트 또는 쓰기 정책에 대한 캐시는 메모리에 쓰기가 실행될 때 주 메모리에서 정보가 업데이트 되는 즉시 결정됩니다. 정보 업데이트에는 다음과 같은 2가지 경우가 있습니다. 캐시에 대한 경우 즉각적인 쓰기가 있습니다. 항상 일관성을 위해 캐시와 주 메모리 모두에 기록됩니다. 쓰기 후 사용되는 캐시가 기록된 블록에는 약간의 가비지 비트가 표시됩니다. 재정의 정책에 의해 재정의하면 비트가 확인되는지 확인되며 해당 블록에 대한 정보가 주 메모리에 기록되는지 확인합니다. 메인을 기준으로 캐시가 쓰기에 할당되면, 참조된 블록은 주 메모리에서 캐시로 복사된 다음 블록이 CPU로 전송됩니다. 쓰기에 대한 할당이 없는 캐시는 블록을 메인 메모리에서 CPU로 직접 전송하고 동시에 캐시로 로드합니다.

Designed by Tistory.