La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori...
-
Upload
bonfilio-paolini -
Category
Documents
-
view
219 -
download
1
Transcript of La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori...
![Page 1: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/1.jpg)
La gerarchia di memoria
Ing. Rosa Senatore
Università degli Studi di SalernoCorso di Calcolatori Elettronici
Anno 2013/14
![Page 2: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/2.jpg)
ARGOMENTI
Progetto di una memoria cacheModalità di Indirizzamento (Mapping)Modalità di IdentificazioneModalità di Scrittura Modalità di Sostituzione
Prelievo dati memoria cache – memoria centrale
![Page 3: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/3.jpg)
Livelli della gerarchia di memoria
![Page 4: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/4.jpg)
Cache: Definizioni
Hit (Successo): il dato richiesto dal processore è presente all’interno di un blocco della cache.
Miss (Fallimento):il dato richiesto dal processore non è presente all’interno 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.
![Page 5: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/5.jpg)
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)
![Page 6: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/6.jpg)
V Tag Data
0 0001010101010
0 0111110101010
1 0001010000010
0 0001011111010
1 0011111001010
0 0001010101010
1 1101010101011
1 0101010000011
0 0011110011010
0 0000000000010
1 0111000101010
Progetto di una memoria cache
Bit di validità Dati BloccoEtichetta (Identificazione)
![Page 7: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/7.jpg)
Cache ad indirizzamento diretto000001010 01
1 100101110111
00001 00101 01001 01101 10001 10101 11001 11101
Memoria Centrale: 25 blocchi
Memoria Cache: 23 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.
![Page 8: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/8.jpg)
Indirizzamento Diretto
Indice V Tag Data
0
1
2
…
…
…
…
….
…..
2M-1
=
Data
Hit
K MN-M-K
Tag Blocco Word offset
Memoria Centrale : 2N word
Dimensione Blocco : 2K word
2M blocchi in memoria cache
2N-M-K blocchi in conflitto
Indirizzo N bit
![Page 9: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/9.jpg)
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
![Page 10: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/10.jpg)
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)
![Page 11: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/11.jpg)
Cache Set-Associativa ad n vie
K M-hN-( M-h) - K
Tag Set Word offset Indirizz
o N bitMemoria Centrale : 2N word
Dimensione Blocco : 2K word
2M blocchi in memoria cache
2N-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 (2h)vie
![Page 12: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/12.jpg)
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 dell’insieme.• Nelle cache a 4 vie viene inserito un contatore di
uso per ogni blocco dell’insieme.
Cache Set-Associativa
![Page 13: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/13.jpg)
ESERCIZIO 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 è l’indirizzo della cache (espresso in cifre decimali) corrispondente al dato richiesto.
0 1 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1
Nel caso in esame:tag: 010110012=8910
blocco: 110102=2610
offset: 01011012=4510
La parola si trova all’indirizzo
2610 *12810+4510 = 338310
20
137
20
22
2n°blocchi mem. centrale
n°blocchi in conflitto8
5
13
22
2
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 l’etichetta
758
offsetbloccotag
![Page 14: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/14.jpg)
ESERCIZIO 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 è l’indirizzo della cache (espresso in cifre decimali) corrispondente al dato richiesto
0 1 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1
Nel caso in esame:tag: 0101100112=17910
indice: 10102=1010
offset: 01011012=45 10
La parola si trova all’indirizzo
1010 *25610+4510 = 260510
Oppure 1010 *25610+12810 +4510 =
273310
n° di set 45
22
2
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 l’etichetta
20
749
offsetindicetag
n°blocchi in conflitto9
4
13
22
2
137
20
22
2n° blocchi mem. centrale
![Page 15: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/15.jpg)
ESERCIZIO 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) Diretto2) Set Associativo a 2 vie3) Set Associativo a 4 vie 4) Completamente Associativo
1) Diretto
4 1216
Dimensione memoria centrale 4GB→ Indirizzo a 32 bit
Dimensione cache 4k x 4 x 4 byte = 64 kbyte2) Set-Associativo a 2 vie
4 1117
3) Set-Associativo a 4 vie
4 1018
4) Completamente Associativo
4 28
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 offsetbloccotag byte offset
indicetag
byte offset
indice
tag byte offset
tag
![Page 16: La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.](https://reader036.fdocumenti.com/reader036/viewer/2022062701/5542eb66497959361e8d1e13/html5/thumbnails/16.jpg)
La gerarchia di memoria
Ing.Rosa Senatore
Università degli Studi di SalernoCorso di Calcolatori Elettronici
Anno 2013/14