Upload
orso-pozzi
View
226
Download
2
Embed Size (px)
Citation preview
SCHEDA INFORMATIVA
DI UNITÀ
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
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
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)
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)
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
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
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
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
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à
???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
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
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
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
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