[CPU] 캐시메모리

박건우
Research Team — DAWN
4 min readJun 2, 2022

--

캐시메모리는 중앙처리장치(CPU)가 읽어 들인 데이터들로 채워지는 버퍼 형태의 고속 기억장치이다

먼저 기억장치를 짚어보겠다
기억장치는 크기, 속도, 가격당 성능에 따라 분류할 수 있다
- Access 속도가 높아질수록 비트당 가격은 비싸진다
-용량이 커질수록 비트당 가격은 낮아진다
-용량이 커질수록 Access 속도는 느려진다

1.레지스터 ( PC, MAR, MBR, IR)
2.캐시 ( Cache )
3.주기억장치 ( RAM )
4.보조기억장치 ( SSD, HDD )

기억장치 용량 : 1 < 2 < 3 < 4
비트당 기억장치 비용 : 1 > 2 > 3 > 4
기억장치 Access 속도 : 1 > 2 > 3 > 4

이제 캐시메모리를 자세히 알아보겠다
캐시 메모리는 훨씬 더 빠르고 고가의 정적 RAM을 기반으로 하며 시스템 메모리는 더 느린 DRAM (동적 RAM)을 활용한다

AMD 옥타코어 CPU 캐시 구조

현재 CPU 프로세서는 캐시 메모리는 크기를 늘리고 속도를 줄이기 위해 L1, L2, L3 캐시의 세 세그먼트로 나눠지며 숫자가 커질수록 용량이 커지고 속도가 느려진다 캐시 구조는 CPU 프로세서의 설계에 따라 변화한다

L1캐시와 L2캐시만을 보유하고 있는 프로세서의 소통과정은 다음과 같다

L1, L2 캐시 소통과정

결국 캐시메모리는 CPU에 데이터가 필요한 경우 먼저 연결된 코어의 L1 캐시를 검색한 후 데이터가 발견되지 않은 경우 L2 및 L3 캐시가 다음에 검색된다 필요한 데이터가 발견되면 이를 캐시 적중이라고 하며 데이터가 캐시에 없으면 CPU는 데이터를 주 메모리 또는 스토리지에서 캐시로 로드하도록 요청한다 이는 시간이 걸리고 성능에 부정적인 영향을 미치고 이와같은 과정을 캐시 미스라고 한다

일반적으로 캐시 적중률은 캐시 크기가 증가할 때 향상된다 (캐시용량이 커질수록 많은 양의 데이터를 저장할수 있음 하지만 가격이 비싸짐) 이는 게임 및 기타 지연 시간에 민감한 워크로드의 경우에 해당한다

캐시 메모리 Mapping(사상)방식

  1. 직접사상(Direct Mapping)
Direct Mapping

Main Memory를 여려 구역으로 분할하여 Cache 슬롯과 매핑한다
장점 : 매핑 절차가 단순하고 신속하게 처리
단점 : 높은 캐시 미스율(같은 블록에 사상되는 데이터 캐시 적재 시 교체 발생)

2. 연관사상(Associate Mapping)

Associate Mapping (출처 : Ronak patel)

Main Memory의 각 블록이 Cache의 어느 슬롯이든 적재 가능
장점 : 지역성 높은 접근 시 캐시 적중률 상승
단점 : 구현 하드웨어가 복잡하여 구현 비용 상승

3. 집합 연관사상(Set Assoviate Mapping)

Associate Mapping

직접사상, 연관사상 절충 방식으로 캐시와 메모리가 M대 1로 대응한다
장점 : 직접사상과 연관사상의 장점을 수용
단점 : 캐시 Fin/Fout 발생 증가, 구현비용 증가

--

--