la gerarchia di memoria ing. rosa senatore università degli studi di salerno corso di calcolatori...

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

Upload: bonfilio-paolini

Post on 02-May-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

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