2023. 6. 1. 00:48ㆍ컴퓨터구조
Associative Caches
1. Fully associative
- 어느 캐쉬 앤트리던 블럭에 모두 접근 가능.
- 검색하려면 모든 엔트리를 찾아봐야함
->엔트리마다 comparator가 필요
-> 비용이 많이듦
2. n-way set associative
- 각각의 set은 n개의 엔트리를 포함한다.
- 블럭 번호로 어떤 set에 들어갈지 결정된다.
- 주어진 set 안의 모든 entry를 검색
-> n개의 comparator만 필요

예)
4-block caches
Block 접근 순서: 0, 8, 0, 6, 8일때
*cache index 계산방법: 블록주소 % 캐쉬 블록 개수
DIrect mapped

*cache index 계산방법: 블록주소 % set 개수
2way set associative

Fully associative

Replacement Policy
Set associative에서 캐쉬에 들어갈 공간이 부족할 때 어떤 걸 교체할 것인지?
1. Least-recently used(LRU)
- 가장 최근걸 유지
- 오랜시간 사용되지 않은 걸 교체
2. Random
- 랜덤하게 교체
-> associativity가 높다면 LRU방법과 성능차이가 거의 안 남
Multilevel Caches
Level-2 cache
: primary cashe에서 miss가 났을 때 보조해주는 캐쉬
-> 크고 느리지만 메인메모리에 비핸 상당히 빠름
예)

primary cache
1. Miss penalty = 100ns / 0.25ns(1/4*10^9) =400 cycles
-> 0.25 ns 는 CPU에서 데이터 가져올 때 걸리는 시간
* ns=10^-9
2. CPI = 1+ 0.02* 400 = 9

primary에서 miss나고 L-2에서 hit난 경우
1. Miss penalty= 5ns / 0.25ns = 20 cycles
2. CPI= 1+ 0.02 * 20 + 0.005 * 400 = 3.4
* Primary cache는 hit time 최소화에 집중
L-2 cache는 miss rate 낮추는거에 집중해서 만들어야 함.
*캐쉬를 블록단위로 접근하면 miss 날 확률을 많이 줄일 수 있음
* 캐쉬에 저장되는 양이 커질수록 miss가 많이 뜸
'컴퓨터구조' 카테고리의 다른 글
| chap 5-Memory(3) (0) | 2023.06.08 |
|---|---|
| Chap 5- Memory(1) (0) | 2023.05.31 |
| Chap 4. Processor (2) | 2023.05.26 |
| chap3 - Arithmetic for Computers (0) | 2023.04.12 |
| 컴퓨터구조 전공수업 ch02 (1) | 2023.03.26 |