La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14
A RGOMENTI Progetto di una memoria cache Modalità di Indirizzamento (Mapping) Modalità di Identificazione Modalità di Scrittura Modalità di Sostituzione Prelievo dati memoria cache – memoria centrale
Livelli della gerarchia di memoria
Cache: Definizioni Hit (Successo): il dato richiesto dal processore è presente allinterno di un blocco della cache. Miss (Fallimento): il dato richiesto dal processore non è presente allinterno della cache e deve essere recuperato in memoria centrale. Hit Rate (tasso di successo): numero di accessi che trovano il dato in cache rispetto al numero di accessi totale. Hit Time (tempo di successo): tempo di accesso al dato in cache, comprensivo del tempo necessario a determinare il successo/fallimento della richiesta. Miss Rate (tasso di fallimento): (1-Hit Rate) numero di accessi che non trovano il dato in cache rispetto al numero di accessi totale. Miss Penalty (tempo di fallimento): tempo di reperimento del dato dalla memoria centrale, comprensivo del tempo necessario al rimpiazzamento del dato in cache.
Progetto di una memoria cache Modalità di Identificazione Modalità di Scrittura Modalità di Sostituzione Write -Through Write-Back Casuale LRU (Least Recently Used) Modalità di indirizzamento (Mapping) Completamente Associativo Set Associativo Diretto Etichetta (Tag)
VTagData Progetto di una memoria cache Bit di validitàDati BloccoEtichetta (Identificazione)
Cache ad indirizzamento diretto Memoria Centrale: 2 5 blocchi Memoria Cache: 2 3 blocchi Indirizzo nella cache : (indirizzo del blocco in mem. centrale) mod (n° di blocchi nella cache) Ogni blocco della memoria centrale può essere caricato in un solo blocco della cache.
Indirizzamento Diretto IndiceVTagData … … … … …. ….. 2 M -1 = Data Hit KMN-M-K TagBloccoWord offset Memoria Centrale : 2 N word Dimensione Blocco : 2 K word 2 M blocchi in memoria cache 2 N-M-K blocchi in conflitto Indirizzo N bit
Modalità di Scrittura Modalità di Sostituzione Write-through: scrittura del dato sia in cache che in memoria. Write-back: scrittura del dato solo nella cache, la copia in memoria avviene solo al momento della sostituzione del blocco. Fissata automaticamente dalla modalità di mapping. Cache ad Indirizzamento Diretto
Miglioramento delle prestazioni della cache ad indirizzamento diretto Aumento delle dimensioni del blocco (trade-off tra miss penalty e miss rate) Cache multi-livello Split Cache (suddivisione cache Dati e cache Istruzioni) Posizionamento dei blocchi nella cache più flessibile (Cache Set Associative o Completamente Associative)
Cache Set-Associativa ad n vie KM-hN-( M-h) - K TagSetWord offset Indirizzo N bit Memoria Centrale : 2 N word Dimensione Blocco : 2 K word 2 M blocchi in memoria cache 2 N-K blocchi in memoria centrale Cache Set-Associativa a 4 vie Circuiteria Aggiuntiva: n comparatori (n confronti in parallelo) Multiplexer (ritardo aggiuntivo) Cache set-associativa ad n (2 h )vie
Modalità di Scrittura Modalità di Sostituzione Write-through: scrittura del dato sia in cache che in memoria. Write-back: scrittura del dato solo nella cache, la copia in memoria avviene solo al momento della sostituzione del blocco. Casuale LRU (Least Recently Used): Nelle cache a 2 vie viene inserito un bit di uso per ogni blocco dellinsieme. Nelle cache a 4 vie viene inserito un contatore di uso per ogni blocco dellinsieme. Cache Set-Associativa
E SERCIZIO 1: Un processore dispone di una memoria cache organizzata in 32 blocchi da 128 locazioni e di una memoria centrale di 1M locazioni. Supponendo che il processore generi il seguente indirizzo: E che lo schema di traduzione degli indirizzi sia di tipo diretto, dire in quali ipotesi la parola indirizzata dal processore si trova nella cache e, in caso affermativo, qual è lindirizzo della cache (espresso in cifre decimali) corrispondente al dato richiesto. E SERCIZIO 1: Un processore dispone di una memoria cache organizzata in 32 blocchi da 128 locazioni e di una memoria centrale di 1M locazioni. Supponendo che il processore generi il seguente indirizzo: E che lo schema di traduzione degli indirizzi sia di tipo diretto, dire in quali ipotesi la parola indirizzata dal processore si trova nella cache e, in caso affermativo, qual è lindirizzo della cache (espresso in cifre decimali) corrispondente al dato richiesto Nel caso in esame: tag: =89 10 blocco: =26 10 offset: =45 10 La parola si trova allindirizzo * = n°blocchi mem. centrale n°blocchi in conflitto 128 locazioni per blocco 7 bit per indirizzare la locazione 32 blocchi 5 bit per indirizzare il blocco nella cache 256 blocchi in conflitto 8 bit per letichetta 758 offsetbloccotag
E SERCIZIO 2: Un processore dispone di una memoria cache organizzata in 32 blocchi da 128 locazioni e di una memoria centrale di 1M locazioni. Supponendo che il processore generi il seguente indirizzo: E che lo schema di traduzione degli indirizzi sia di tipo set associativo a 2 vie, dire in quali ipotesi la parola indirizzata dal processore si trova nella cache e, in caso affermativo, qual è lindirizzo della cache (espresso in cifre decimali) corrispondente al dato richiesto Nel caso in esame: tag: = indice: =10 10 offset: =45 10 La parola si trova allindirizzo * = Oppure * = n° di set 128 locazioni per blocco 7 bit per indirizzare la locazione 16 set 4 bit per indirizzare il set nella cache 512 blocchi in conflitto 9 bit per letichetta offsetindicetag n°blocchi in conflitto n° blocchi mem. centrale
E SERCIZIO 3: Un processore dispone di una memoria cache organizzata in 4k blocchi, ognuno costituito da 4 word e di una memoria centrale di 4 Gbyte. Ogni locazione di memoria contiene 1 byte. Calcolare la memoria aggiuntiva che occorre per memorizzare i bit di etichetta nel caso in cui lo schema di traduzione degli indirizzi sia: 1)Diretto 2)Set Associativo a 2 vie 3)Set Associativo a 4 vie 4)Completamente Associativo 1)Diretto Dimensione memoria centrale 4GB Indirizzo a 32 bit Dimensione cache 4k x 4 x 4 byte = 64 kbyte 2)Set-Associativo a 2 vie )Set-Associativo a 4 vie )Completamente Associativo 428 bit per etichette= 16 bit x 4k = 64 kbit bit per etichette= 18 bit x 4k = 72 kbit bit per etichette= 17 bit x 4k = 68 kbit bit per etichette= 28 bit x 4k = 112 kbit = 14 kbyte byte offset bloccotag byte offsetindicetag byte offsetindicetag byte offset tag
La gerarchia di memoria Ing.Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14