💵 캐시가 동작하는 아주 구체적인 원리: 하드웨어로 구현한 해시 테이블

Direct-mapped 캐시의 한계?

만약 0 1 2 로 나눠진 값에서, 2를 할당받은 값들이 계속 불려서 한 여역을 두고 경쟁할 경우?

1Bit Prediction 의 핑퐁문제가 발생하여 Hit rate가 크게 떨어질것이다

그래서 고안된 Set Associative

<aside> 💡 그래서 다음같이 한 인덱스에 N개의 데이터가 들어가도록 수정함


Direct-mapped

1Bit Prediction - ping pong 문제 발생 가능

0 1 2 3 4 5 6 7 8 9

Set Associative

1Bit Prediction - ping pong 문제 발생 가능

0 5
1 6
2 7
3 8
4 9

</aside>

→ 장점 & 단점

<aside> 💡 Set Associative 캐시는 다음과 같은 이점이 있습니다


<aside> 💡 Set Associative 캐시는 다음과 같은 단점이 있습니다


<aside> 💡 Cache Organization Spectrum 을 알기쉽게 이해해봅시다

반마다 30명이 있습니다

학교 화장실이 협소하여, 각 반의 선생님들은

각 반마다 특정 번호를 가진 학생은 특정 화장실 칸에만 들어갈 수 있도록 했습니다.

하지만 이렇게되니, 특정 칸을 쓰기 위해 여러반의 학생들이 경쟁하는 상황이 발생했습니다

화장실 칸 하나에 한 자리밖에 없으니, 이러한 문제가 발생한 것입니다
0 1 2 3
그래서 선생님들은 다음과 같은문제를 해결하기 위해, 한칸에 변기를 두개씩 묶어서, 한칸에 여러명이 들어갈 수 있도록 만들었습니다.

근데 그럼에도 불구하고, 핑퐁 문제를 막을 수 없었습니다
0 1 2 3
그냥 모든 화장실 칸을 예전처럼 모두가 들어올 수 있도록 기존 화장실칸 할당제도 자체를 제거했습니다.

이렇게 되다보니, 만약 모든 칸이 풀방이 되었을때, 풀방에서 누가 나가야 하는지 문제가 발생했습니다.
0 1 2 3
</aside>

→→ 풀방이 되면 어떻게합니까?

방이 꽉차면 누가 먼저 나가는가? - LRU

→ 어떻게 표현하든, 전체 캐시 크기는 동일합니다

![인덱스는 하나면 된다.

중요한건 고유한 Tag… ](https://prod-files-secure.s3.us-west-2.amazonaws.com/09ccd4d5-876c-4bba-bbdf-cc77a0a11257/baf14029-f743-4ceb-b709-5f39a41d7de9/Untitled.png)

인덱스는 하나면 된다.

중요한건 고유한 Tag…