la memoria cache

13
(1) La memoria cache Tecniche di rimpiazzo

Upload: josephine-gilbert

Post on 01-Jan-2016

37 views

Category:

Documents


0 download

DESCRIPTION

La memoria cache. Tecniche di rimpiazzo. Problemi con le cache. Ampiezza del blocco Tipi di Cache Misses Fully Associative Cache N-Way Associative Cache Politiche di rimpiazzo dei blocchi. Block Size. Benefici dalla località spaziale - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: La memoria cache

(1)

La memoria cache

Tecniche di rimpiazzo

Page 2: La memoria cache

(2)

Problemi con le cache°Ampiezza del blocco

°Tipi di Cache Misses

°Fully Associative Cache

°N-Way Associative Cache

°Politiche di rimpiazzo dei blocchi

Page 3: La memoria cache

(3)

Block Size°Benefici dalla località spaziale• Località spaziale: è probabile che le parole che si trovano vicine ad una parola richiesta siano nuovamente richieste in tempi brevi.

• La località spaziale emerge spontaneamente nei programmi.

Page 4: La memoria cache

(4)

Block Size

• La frequenza di miss si riduce all’aumentare della dimensione dei blocchi. (miss rate)

•Ma attenzione se la dimensione dei blocchi è troppo grande la frequenza di miss aumenta perchè si ridurrebbe il numero di blocchi presenti nella cache.

• Il costo di una miss (miss penalty) aumenta al crescere della dimensione del blocco.

Page 5: La memoria cache

(5)

Cache a confronto

°Cache contenente 8 blocchi

mappa diretta

tag dati

2 vie

tag dati tag dati

completamente associativa

tag dati tag dati tag dati tag dati tag dati tag dati tag dati tag dati

4 vie

tag dati tag dati tag dati tag dati

Page 6: La memoria cache

(6)

Esempio: mappa diretta

°Cache da 4 parole°Sequenza di accessi: 0,8,0,6,8 (dim. Blocco=1B)

Indirizzo blocco Blocco cache0 06 28 0

Blocco da accedere H/M Blocco 0 Blocco 1 Blocco 2 Blocco 3

0 M Mem[0]8 M Mem[8]0 M Mem[0]6 M Mem[0] Mem[6]8 M Mem[8] Mem[6]

Page 7: La memoria cache

(7)

Associativa a 2 vie

°Cache da 4 parole

°Sequenza di accessi: 0,8,0,6,8

Indirizzo blocco Blocco cache0 06 08 0

Blocco da accedere H/M Insieme 0 Insieme 0 Insieme 1 Insieme 1

0 M Mem[0]8 M Mem[0] Mem[8]0 H Mem[0] Mem[8]6 M Mem[0] Mem[6]8 M Mem[8] Mem[6]

Page 8: La memoria cache

(8)

Completamente associativa

°Cache da 4 parole

°Sequenza di accessi: 0,8,0,6,8

Blocco da accedere H/M Blocco 0 Blocco 1 Blocco 2 Blocco 3

0 M Mem[0]8 M Mem[0] Mem[8]0 H Mem[0] Mem[8]6 M Mem[0] Mem[8] Mem[6]8 H Mem[0] Mem[8] Mem[6]

Page 9: La memoria cache

(9)

Block Replacement Policy (1/2)

°Se abbiamo scelta dove andiamo a mettere un nuovo blocco?

Page 10: La memoria cache

(10)

Block Replacement Policy (2/2)

°Se è tutto vuoto, generalmente scriviamo il nuovo blocco nel primo.

°Se tuttavia tutte le locazioni hanno già un blocco valido, possiamo usare una politica di rimpiazzo.

Page 11: La memoria cache

(11)

Block Replacement Policy: LRU

°LRU (Least Recently Used)• Idea: buttare fuori blocchi con accesso meno recente.

•Pro: temporal locality => cose usate da poco potrebbero essere riusate a breve.

Associatività:2 vie 4 vie 8 vie

Dimensione LRU Random LRU Random LRU Random

16 KB 5.2% 5.7% 4.7% 5.3% 4.4% 5.0%

64 KB 1.9% 2.0% 1.5% 1.7% 1.4% 1.5%

256 KB 1.15% 1.17% 1.13% 1.13% 1.12% 1.12%

Page 12: La memoria cache

(12)

Esempio

°Abbiamo una 2-way set associative cache con 4 word di capacità totale e blocchi da 1 word.

° Supponiamo di voler effettuare gli accessi in memoria ai blocchi:

0, 2, 0, 1, 4, 0, 2, 3, 5, 4

Che percentuale di miss e di hit otterremo applicando la tecnica LRU?

Page 13: La memoria cache

(13)

Example: LRU°Addresses 0, 2, 0, 1, 4, 0, ... 0 lru

1 lru

loc 0 loc 1

set 0

set 1

0 2lruset 0

set 1

lruset 0

set 1

0 41 lru

• 0: miss, bring into set 0 (loc 0)

• 2: miss, bring into set 0 (loc 1)

• 0: hit

• 1: miss, bring into set 1 (loc 0)

• 4: miss, bring into set 0 (loc 1, replace 2)

• 0: hit

0 2set 0

set 1

lru

0set 0

set 1

lrulru2

lru

2set 0

set 1

01 lru

lrulru 4

lru