티스토리 뷰

it

캐시 기억장치, 캐시 메모리 특징

ITs Story biaos 2023. 7. 13. 03:16

캐시 기억장치, 캐시 메모리 특징

캐시 메모리는 CPU와 주기억장치 사이에 위치하여 CPU 대기 시간을 최소화하기 위해 사용되는 고속 반도체 기억장치입니다. 캐시 메모리는 주기억장치보다 액세스 속도가 빠른 칩을 사용하며, 용량은 제한되고 가격이 비싸기 때문에 주로 적은 용량으로 구성됩니다.

캐시 메모리의 주요 특징

캐시 적중(cache hit): CPU가 원하는 데이터가 이미 캐시에 있는 경우
캐시 미스(cache miss): CPU가 원하는 데이터가 캐시에 없는 경우
적중률(hit ratio): 캐시에 적중되는 정도를 나타내는 비율
캐시의 적중률이 높을수록 평균 기억장치 액세스 시간은 캐시 액세스 시간에 접근
캐시 적중률은 프로그램과 데이터의 지역성(locality)에 크게 의존
평균 기억장치 액세스 시간은 캐시 액세스 시간과 주기억장치 액세스 시간의 가중 평균으로 계산됩니다. 평균 기억장치 액세스 시간은 캐시 적중률과 캐시 미스율에 따라 달라집니다.

캐시 메모리의 설계 목표

캐시 적중률의 극대화
캐시 액세스 시간의 최소화
캐시 미스에 따른 지연 시간의 최소화
주기억장치와 캐시간의 데이터 일관성 유지 및 오버헤드 최소화
캐시 메모리의 크기와 인출 방식은 다양합니다. 캐시의 크기는 적중률을 높일 수 있지만 비용이 증가하고 액세스 시간이 더 길어질 수 있습니다. 인출 방식에는 요구 인출(demand fetch) 방식과 선인출(prefetch) 방식이 있으며, 지역성이 높은 경우에 효과적입니다.

캐시 메모리는 주기억장치와 캐시간의 데이터 일관성을 유지하기 위해 캐시의 조직이 중요합니다. 캐시는 블록(block), 슬롯(slot), 태그(tag) 등의 구성 요소로 이루어져 있습니다.

캐시의 크기와 사상 방식은 캐시의 성능과 효율성에 큰 영향을 미칩니다.

세트-연관 사상(set-associative mapping) 방식


세트-연관 사상은 직접 사상과 완전-연관 사상의 중간 형태로, 주기억장치 블록 그룹이 하나의 캐시 세트를 공유하고, 각 세트에는 두 개 이상의 슬롯들이 적재될 수 있습니다. 이 방식은 캐시를 여러 개의 독립적인 집합(set)으로 나누는 것을 의미합니다.

캐시는 v 개의 세트들로 구성되며, 각 세트는 k 개의 슬롯들로 구성됩니다. 따라서 전체 캐시 슬롯의 수 m은 v x k 입니다. 예를 들어, 4-way set-associative 사상 방식은 캐시를 4개의 세트로 구성하고, 각 세트에는 4개의 슬롯이 있으므로, 전체 캐시 슬롯의 수는 16개입니다.

세트-연관 사상은 캐시의 적중률(hit ratio)을 높이는 장점이 있습니다. 한 세트 내에서 주기억장치 블록들이 슬롯들을 공유하기 때문에, 지역성(locality)을 가진 데이터와 프로그램의 액세스 패턴에 대해 더 좋은 성능을 제공할 수 있습니다. 또한, 직접 사상에 비해 캐시 미스(cache miss)가 줄어들어 전체적인 평균 기억장치 액세스 시간을 개선할 수 있습니다.

하지만 세트-연관 사상은 완전-연관 사상에 비해 하드웨어 회로의 복잡성과 구현 비용이 증가하는 단점이 있습니다. 캐시 슬롯들의 태그 비교를 병렬로 수행하기 위해 복잡한 회로가 필요하며, 이로 인해 캐시의 액세스 시간이 조금 더 길어질 수 있습니다.

세트-연관 사상은 일반적으로 많이 사용되는 사상 방식 중 하나이며, 적절한 세트와 슬롯의 수를 선택하여 캐시의 성능을 극대화할 수 있습니다.

댓글