근데 다음 방법은 아래 문제점을 그대로 가지고있음

Direct-mapped

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

0 1 2 3 4 5 6 7 8 9

Fully associative

그냥 한 세트로 묶어버리고, 먼저 들어온놈이 앉도록 함.

이러면 자리를 두고 싸우진 않을거아냐?

예전엔 1입구에 1자리여서 싸우는거였는데

지금은 1입구에 n자리여서 자리쟁탈전은 없음

0
1
2
3
4
5
6
7
8
9

캐시 탐색에 대한 문제점

<aside> 💡 캐시메모리의 특징 에서 이어짐


Memory/ PC = Index


메모리 = 8kb = 8192bytes 이고
PC = 1워드 = 4bytes 라고 할때

캐시 자리는 2048개가 있는것이다

캐시에는 무슨값이, 어디에 들어가있을지 모르기 때문에 계속 탐색해줘야하는데,

2048개의 영역을 게속해서 찾는것은 비효율적이다.

1클럭에 메모리의 한 영역을 찾을수 있다고 했을때

못찾으면 2048개의 클럭을 소모하는거고

찾아도 2048번째에 찾게되면 2048개의 클럭을 소모하는것

[즉, Miss가 2048개나 발생했다는 말이다](https://cybecho.notion.site/Hit-time-Miss-Penalty-Miss-46180b3b62e84c52b50ecdfd2a149667)

배보다 배꼽이 더 크자너~?

</aside>

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

반마다 30명이 있습니다

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

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

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

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

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

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

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

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