Cache Associativity

Heejin·2023년 5월 29일
0

Cache associativity는 캐시 메모리의 구성 방식을 나타내는 용어이다. 캐시는 주기억장치와 프로세서 사이에서 데이터를 임시로 저장하는 작은 고속 메모리이다. 캐시는 데이터에 빠르게 접근하여 프로세서의 성능을 향상시킨다.

Cache associativity는 캐시의 주소 매핑 방법을 설명한다. 일반적으로 캐시는 세 가지 주소 매핑 방식 중 하나를 사용한다.

  1. Direct-Mapped(직접 사상): 가장 간단한 형태로, 캐시 슬롯마다 주기억장치의 한 주소만을 매핑한다. 즉, 주기억장치의 한 위치에 대응하는 캐시 슬롯이 있다.

  2. Set-Associative(세트 연관): 여러 개의 세트(set)로 구성되며, 각 세트에는 여러 개의 캐시 슬롯이 있다. 캐시 라인은 하나의 세트에 속하며, 주기억장치 주소는 그 세트 내에서 캐시 슬롯 중 하나에 매핑된다. 예를 들어, 4-way set-associative 캐시는 한 세트에 4개의 캐시 슬롯을 가지며, 주기억장치 주소는 해당 세트 내에서 4개의 슬롯 중 하나에 매핑된다.

  3. Fully-Associative(완전 연관): 가장 유연한 형태로, 주기억장치의 어떤 주소든지 캐시의 어떤 슬롯에도 매핑될 수 있다. 따라서, 캐시 슬롯 간의 매핑 제약이 없어 매우 유연한 주소 매핑이 가능하다. 하지만 검색과정에서 모든 캐시 슬롯을 탐색해야 하는데, 이는 검색 속도 면에서 다소 오버헤드가 발생할 수 있다.

Cache associativity는 캐시의 효율성과 성능에 영향을 미치는 중요한 요소이다. 높은 associativity를 가진 캐시는 충돌(collision)과 교체(replacement)의 가능성을 줄여 캐시의 미스(miss)율을 낮출 수 있다. 그러나 associativity가 높을수록 캐시의 구현 복잡도와 비용이 증가할 수 있다. 캐시의 associativity는 디자인 목표와 사용 환경에 따라 적절하게 선택되어야 한다.

0개의 댓글