15
SCHEDA INFORMATIVA DI UNITÀ

SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

Embed Size (px)

Citation preview

Page 1: SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

SCHEDA INFORMATIVA

DI UNITÀ

Page 2: SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

Introduzione

• Applicazione della gerarchia di memoria– Memoria cache fra la CPU e la memoria centrale

• Il processore vedrà una memoria veloce quasi come la cache ma con dimensione pari a quella centrale

• Un dispositivo hardware, il controllore della cache, terrà solo dati di uso più frequente in cache

Page 3: SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

Funzionamento della memoria cache

MEMORIACENTRALE

MEMORIACACHE

MEMORIAVIRTUALE

PROCESSORE blocco di istr.

pagina di istr.

blocco di istr.

registri

ciclo delprogramma

ciclo delprogramma

Capacità (quantità di bit)Velocità, costi

scarica iblocchinon piùin uso

carica iblocchientrantiin uso

scarica irisultati

elaborati

carica le/iistr./dati daeseguire/elaborare

carica lepagineentrantiin uso

scarica lepaginenon piùin uso

blocco di dati

blocco di datipagina di dati

ProcessoreProcessore

CacheCache

MemoriaMemoria

Registri

Page 4: SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

Funzionamento della memoria cache• Memoria centrale e cache sono organizzate a blocchi

di parole, di uguale dimensione• Il sistema di gestione della cache è in grado di copiare

(caricare) blocchi dalla memoria centrale alla memoria cache, oppure di ricopiare (scaricare) blocchi dalla memoria cache alla memoria centrale, tramite un’apposita unità funzionale

• La memoria cache contiene copie di blocchi della memoria centrale, oppure blocchi liberi

• Normalmente il processore accede solo alla memoria cache che è molto più veloce della memoria centrale

• La capacità del sistema è pari a quella della sola memoria centrale (la cache contiene solo copie delle informazioni)

Page 5: SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

Terminologia

• Hit: tentativo di accesso(lett./scritt.) con successo a un determinato livello della gerarchia

• Miss: tentativo di accesso(lett./scritt.) andato a vuoto

• Hit time: tempo di accesso a livello superiore della gerarchia (incluso rilevazione eventuale fallimento)

• Miss penality: tempo per sostituire un blocco nel livello superiore con uno del livello inferiore, più il tempo di lettura del dato cercato

• Hit rate, Miss rate: percentuale dei tentativi di accesso che hanno successo o falliscono (Mr=1-Hr)

Page 6: SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

Istruzioni: funzionamento base

Il processore preleva istruzione dalla memoria cache (non dalla memoria centrale)

Se il blocco contenente l’istruzione da prelevare si trova nella memoria cache, l’istruzione viene letta e il processore prosegue l’esecuzione

Se l’istruzione da prelevare non si trova nella cache

il processore sospende l’esecuzione

il blocco contenente l’istruzione da prelevare (ed eseguire) viene caricato dalla memoria centrale in un blocco libero della memoria cache

il processore preleva l’istruzione dalla memoria cache e riprende l’esecuzione

Page 7: SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

dati: funzionamento base

Il processore deve leggere il dato dalla memoria cache, oppure deve scrivere il dato nella memoria cacheSe il dato da leggere/scrivere non si trova nella

memoria cache, si procede in modo simile alle istruzioni

Problema di coerenza della cache

il contenuto della cache non corrisponde più alla memoria

Politiche di scrittura

Write back: il contenuto della cache è ricopiato in memoria centrale quando il blocco deve essere rimosso dalla cache.

Write through: aggiornamento contemporaneo cache e memoria centrale

Page 8: SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

Limiti delle cache• Non serve aumentare le dimensioni della cache oltre una

capacità limite, sopra cui le prestazioni del sistema di memoria smettono di aumentare o addirittura iniziano a diminuire

guadagno diprestazioni

capacità cache

1

2

3

limite diguadagno

10K 100K 1M 10M 100M

guadagno di prestazioni velocità sistema con cache

velocità sistema senza cache

capacità limite

zona dicrescita

zona didecadimento

saturazione

Page 9: SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

Prestazioni della cache• h hit rate, tipicamente > 90%• C tempo per accedere alle informazioni in cache• M penalità di fallimento

– tempo addizionale per portare le info nella cache in caso di miss, la cpu è in stallo

• tmedi tempo medio di accesso sperimentato dalla CPU

tmedio = h C + (1-h) M

Page 10: SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

Tecniche avanzate• Portare la cache sullo stesso chip della

CPU– costoso, non praticabile se le

dimensioni sono grandi• Aggiungo un livello intermedio

– L1 typ on-chip, ck elevato (typ dim. decine di Kbyte)

– L2 typ off-chip, dim L2> dimL1 (anche Mbyte)

tmed= h1C1 + (1-h1)h2C2 + (1-h1)(1-h2)M

– se h1~ h2 ~ 90%: (1-h1)(1-h2) ~ 1%, M poco influente

• Cache dati e istruzioni separate– aumento il parallelismo– tuning mirato dei parametri– elevata complessità

Page 11: SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

???Approfondimento o assistant???

Caratteristica Intel Pentium Pro PowerPC 604

Organizzazione della cache Cache dati e istruzioni separate Cache dati e istruzioni separate

Dimensione della cache 8 KB ciascuna (istr./ dati) 16 KB ciascuna (istr./ dati)

Dimensione blocco 32 byte 32 byte

Politica scrittura Write-back Write-back o write-through

•Esempi di sistemi reali

Page 12: SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

Interazione

Minore Costo/complessità

Maggiori Prestazioni

Presenza di più livelli di cache

Cache unificata per dati e istruzioni

Maggiore Costo/complessità

Minori Prestazioni

Cache e CPU nello stesso Chip

Cache di dimensioni superiori ai blocchi dei

programmi

Write Back

Write throughHit rate elevato

Miss penality

Page 13: SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

Interazione: soluzione

Minore Costo/complessità

Maggiori Prestazioni

Presenza di più livelli di cache

Cache unificata per dati e istruzioni

Maggiore Costo/complessità

Minori Prestazioni

Cache e CPU nello stesso Chip

Cache di dimensioni superiori ai blocchi dei

programmi

Write Back

Write through

Hit rate elevato

Elevata Miss penality

Cache unificata per dati e istruzioni

Presenza di più livelli di cache

Page 14: SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

Riepilogo• Esigenze

– Rendere più rapido l’accesso alla memoria centrale da parte della CPU

• Soluzione– Uso di una memoria cache, intermedia fra la CPU e la

memoria centrale• Problemi

– Scelta della dimensione ottimale della cache in base a parametri di costo /prestazione

• Tecniche avanzate– Uso di più livelli di cache– Cache dati e istruzioni separate– Integrazione della cache nello stesso package della CPU

Page 15: SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà

SLIDE TEST DI UNITÀ DI

AUTOVALUTAZIONE

Rispondere Vero o Falso

1. La presenza di una memoria cache comporta modifiche alla tecnologia usata per la memoria centrale

2. All’aumentare della dimensione della cache le prestazioni continuano a crescere

3. Le memorie cache sono vantaggiose solo se l’applicazione rispetta il principio di località

4. Nella polica di scrittura write through la memoria centrale e quella cache sono sempre allineate