Estratto del documento

Cache-gestione delle memorie

Quando trattiamo di memorie, dobbiamo specificare che non ne esiste una sola. Quando la CPU richiede un dato, non per forza bisognerà andarlo a chiedere sempre alla RAM poiché tra il processore e questo tipo di memoria esistono altri tre livelli di memoria. Questa suddivisione in livelli, tramite la dimensione e la velocità delle memorie (indirettamente proporzionale) viene chiamata gerarchie delle memorie, ed i principi che la "governano" vengono detti di località spaziale e località temporale.

Località spaziale

Parliamo di località spaziale nel momento in cui andiamo ad accedere ad una risorsa x in posizione i e nel momento successivo andiamo ad accedere ad una risorsa y (magari uguale ad x+1) in posizione i+1 o comunque adiacente a quella del suo predecessore. Un esempio può essere lo scorrimento di elementi in un array.

Località temporale

Parliamo di località temporale nel momento in cui andiamo ad accedere ad una risorsa x in un tempo t e poi al tempo t+1 accediamo sempre alla stessa risorsa. Nel caso di scorrimento di elementi all'interno di un array, la località temporale lo ha l'array stesso.

La più piccola quantità di informazione che può essere presente in questa gerarchia delle memorie viene chiamata blocco o linea.

Processo di accesso ai dati

Quando la CPU richiede un dato, come detto prima, non controlla direttamente la memoria di livello inferiore (RAM) ma quella di livello superiore. Nel caso che tale memoria non abbia il dato richiesto, allora accediamo nella memoria RAM e carichiamo all'interno di quella superiore un intero blocco nel quale è presente anche il dato. Una volta caricata, la CPU prenderà il dato richiesto. In questo caso si dice che la ricerca ha prodotto un MISS. Una volta caricato il blocco, quello rimarrà in memoria e se in caso la CPU dovesse richiedere un'informazione presente in quella posizione allora essa non accederà nei livelli inferiori, in quanto non necessita di andare a caricare il blocco, essendo questo già presente nei "piani alti", e quindi si dice che la ricerca ha prodotto un HIT.

Hit Rate e Miss Rate

La frequenza di hit viene detta Hit Rate, come quella di miss, Miss Rate. Questa memoria di livello superiore viene detta CACHE.

Mappatura diretta

Ora, una volta caricato il blocco abbiamo il dato nella cache, ma non sappiamo precisamente dove esso si trovi. Fortunatamente per noi, ogni dato in questa memoria può avere una ed una sola posizione. Questa organizzazione della memoria viene detta a mappatura diretta (direct mapped), dato che ogni locazione della memoria principale corrisponde, in modo univoco, a una locazione della cache. Ovviamente il "puntatore" che mi indirizza al blocco nel quale è contenuto il dato è l'indirizzo di questo che solitamente si trova con una semplice operazione: (indirizzo del blocco in memoria) modulo (numeri di blocchi nella cache).

Poiché ogni elemento della cache può contenere dati provenienti da più locazioni della memoria principale, quindi quello che ci chiediamo è se il dato si trovi davvero nella cache oppure no.

Anteprima
Vedrai una selezione di 3 pagine su 6
Cache - Architettura elaboratori Pag. 1 Cache - Architettura elaboratori Pag. 2
Anteprima di 3 pagg. su 6.
Scarica il documento per vederlo tutto.
Cache - Architettura elaboratori Pag. 6
1 su 6
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher ABsintio di informazioni apprese con la frequenza delle lezioni di Architettura degli elaboratori e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma La Sapienza o del prof Mei Alessandro.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community