chap 5- Memory(2)

2023. 6. 1. 00:48컴퓨터구조

728x90

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가 많이 뜸

728x90

'컴퓨터구조' 카테고리의 다른 글

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