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

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

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

La gerarchia di memoria

Ing.Rosa Senatore

[email protected]

Università degli Studi di SalernoCorso di Calcolatori Elettronici

Anno 2013/14