La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.

Presentazioni simili


Presentazione sul tema: "La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14."— Transcript della presentazione:

1 La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14

2 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

3 Livelli della gerarchia di memoria

4 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.

5 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)

6 VTagData 00001010101010 00111110101010 10001010000010 00001011111010 10011111001010 00001010101010 11101010101011 10101010000011 00011110011010 00000000000010 10111000101010 Progetto di una memoria cache Bit di validitàDati BloccoEtichetta (Identificazione)

7 Cache ad indirizzamento diretto 000001010011100101110111 00001 0010101001 01101 10001 10101 11001 11101 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.

8 Indirizzamento Diretto IndiceVTagData 0 1 2 … … … … …. ….. 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

9 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

10 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)

11 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

12 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

13 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. 01011001110100101101 Nel caso in esame: tag: 01011001 2 =89 10 blocco: 11010 2 =26 10 offset: 0101101 2 =45 10 La parola si trova allindirizzo 26 10 *128 10 +45 10 = 3383 10 20 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

14 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 01011001110100101101 Nel caso in esame: tag: 010110011 2 =179 10 indice: 1010 2 =10 10 offset: 0101101 2 =45 10 La parola si trova allindirizzo 10 10 *256 10 +45 10 = 2605 10 Oppure 10 10 *256 10 +128 10 +45 10 = 2733 10 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 20 749 offsetindicetag n°blocchi in conflitto n° blocchi mem. centrale

15 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 41216 Dimensione memoria centrale 4GB Indirizzo a 32 bit Dimensione cache 4k x 4 x 4 byte = 64 kbyte 2)Set-Associativo a 2 vie 41117 3)Set-Associativo a 4 vie 41018 4)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

16 La gerarchia di memoria Ing.Rosa Senatore rsenatore@unisa.it Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14


Scaricare ppt "La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14."

Presentazioni simili


Annunci Google