La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Paolo Meloni Universita degli studi di Cagliari Gerarchie di memoria.

Presentazioni simili


Presentazione sul tema: "Paolo Meloni Universita degli studi di Cagliari Gerarchie di memoria."— Transcript della presentazione:

1 Paolo Meloni Universita degli studi di Cagliari Gerarchie di memoria

2 Paolo Meloni Elettronica – Introduzione al corso Sistemi di memoria Gerarchie di memoria

3 Paolo Meloni Elettronica – Introduzione al corso Sistemi di memoria gerarchici Ideally one would desire an indefinitely large memory capacity such that any particular […] word would be immediately available […]. We are […] forced to recognize the possibility of constructing a hierarchy of memories, each of which has greater capacity than the preceding but which is less quickly accessible. A.W. Burks, H.H. Goldstine, and J. Von Neumann Preliminary discussion of the Logical Design of an Electronic Computing Sytem (1946)

4 Paolo Meloni Elettronica – Introduzione al corso Sistemi di memoria gerarchici Una delle prime necessità mostrate dagli utenti di calcolatori elettronici, è stata quella di una illimitata quantità di memoria velocemente accessibile. Per ragioni tecnologiche ed economiche tale esigenza non può essere soddisfatta Tramite i sistemi di memoria gerarchici si crea lillusione di una memoria grande accessibile alla stessa velocità di una memoria piccola, sfruttando il Principio di località

5 Paolo Meloni Elettronica – Introduzione al corso Principio di località Un programma non ha bisogno di accedere a tutti i dati o a tutte le istruzioni con la stessa probabilità. Il programma in ogni istante di tempo accede a una porzione relativamente piccola del suo spazio di memoria. Esistono due tipi di località: Località temporale: se un elemento è referenziato, generalmente mostrerà una tendenza ad essere presto referenziato di nuovo. (per esempio loop allinterno dei programmi) Località spaziale: se un elemento è referenziato, gli altri elementi corrispondenti ad indirizzi di memoria vicini al suo, mostreranno una tendenza ad essere presto referenziati. (per esempio le istruzioni di un programma vengono eseguite in sequenza, o gli elementi di un array)

6 Paolo Meloni Elettronica – Introduzione al corso Gerarchie di memoria Si può sfruttare il principio di località implementando la memoria di un computer tramite una gerarchia di memorie caratterizzate da diverse dimensioni e diverse velocità. A causa delle differenze tra i tipi di memorie in termini di facilità di accesso e di costo, è conveniente utilizzare sistemi gerarchici in cui i diversi livelli della gerarchia comunichino tra loro. Ciò permette di mostrare allutente una memoria grande quanto quella di tipo più economico, ma veloce come quella di tipo più costoso. Memory TechnologyTypical Access Time$ per GB in 2004 SRAM0,5 – 5 ns$4000-$10000 DRAM ns$100-$200 Magnetic Disk ns$0,50-$2

7 Paolo Meloni Elettronica – Introduzione al corso Gerarchie di memoria SpeedSizeCost ($/bit) FastestSmallestHighest SlowestHighestSmallest CPU Memory

8 Paolo Meloni Elettronica – Introduzione al corso Gerarchie di memoria Livello 1 Livello 2 … Livello n CPU Aumento della distanza dalla CPU in termini di access time Dimensione della memoria ad ogni livello Livelli nella gerarchia di memorie

9 Paolo Meloni Elettronica – Introduzione al corso Definizioni Una gerarchia può essere formata da più livelli, ma i dati sono scambiati solo tra due livelli adiacenti per volta, quindi si può concentrare lattenzione solo su due livelli Uno (quello superiore, più vicino al processore, più piccolo e veloce, dato che usa una tecnologia più costosa Laltro più grande ma lento Lunità di informazione che può essere presente o meno allinterno di uno dei due livelli (e dunque può o meno dover essere scambiata) è detta block o line

10 Paolo Meloni Elettronica – Introduzione al corso Definizioni La situazione in cui un dato referenziato dal processore è presente allinterno di un blocco allinterno del livello superiore è chiamata hit La situazione in cui invece il dato non è presente nel livello superiore è chiamata miss. In tal caso il blocco contente il dato richiesto deve essere reperito tramite un accesso al secondo livello di memoria. La frazione del numero degli accessi in memoria che sono stati soddisfatti accedendo solo al primo livello è chiamata hit rate. La frazione del numero degli accessi che invece hanno richiesto un accesso al secondo livello (1- hit rate) è detta miss rate.

11 Paolo Meloni Elettronica – Introduzione al corso Definizioni Il tempo di accesso alla memoria di primo livello, comprensivo del tempo necessario per la verifica dellhit o del miss, è detto hit time. Il tempo necessario al reperimento di un dato dal livello inferiore della gerarchia di memoria è detto miss penalty. Il miss penalty comprende: Il tempo necessario al rimpiazzamento del blocco allinterno del livello superiore Il tempo necessario per il trasferimento del dato richiesto al processore

12 Paolo Meloni Elettronica – Introduzione al corso Memorie Cache - Basics Consideriamo, per familiarizzare coi concetti un sistema base in cui il processore richieda una word per volta e in cui anche la dimensione del block sia pari a 1 word. X4 X1 Xn-2 Xn-1 X2 X3 X4 X1 Xn-2 Xn-1 X2 Xn X3

13 Paolo Meloni Elettronica – Introduzione al corso Memorie Cache - Basics Come ci si accorge se un dato è nella cache? Se cè, come lo si trova? Se ogni blocco può essere memorizzato solo in una posizione allinterno della cache, la verifica hit/miss e la localizzazione si compiono simultaneamente. La maniera più semplice per assegnare una locazione nella cache per ogni word in memoria consiste nellassegnarla in base allindirizzo di memoria corrispondente alla word. Tale struttura è chiamata DIRECT MAPPING Locazione= (Block Address) mod (numero di blocchi nella cache)

14 Paolo Meloni Elettronica – Introduzione al corso Memorie Cache - Basics Direct mapping access

15 Paolo Meloni Elettronica – Introduzione al corso Memorie Cache - Basics Come sappiamo se il dato nella cache corrisponde a quello cercato? Alla cache viene aggiunto un insieme di tags. Ogni tag contiene le informazioni riguradanti lindirizzo necessarie allidentificazione univoca del blocco contenuto nella cache (es. prec. i 2 msb). E necessaria anche una informazione riguardante la validità o meno dellinformazione contenuta in una locazione della cache, per esempio allo start-up del sistema. Di solito vine utilizzato un bit che viene dunque detto valid bit.

16 Paolo Meloni Elettronica – Introduzione al corso Accessing a cache miss

17 Paolo Meloni Elettronica – Introduzione al corso Accessing a cache 000N 001N 010N 011N 100N 101N 110N 111N Stato Iniziale

18 Paolo Meloni Elettronica – Introduzione al corso Accessing a cache 000N 001N 010N 011N 100N 101N 110S10Mem(10110) 111N miss110

19 Paolo Meloni Elettronica – Introduzione al corso Accessing a cache 000N 001N 010S11Mem(11010) 011N 100N 101N 110S10Mem(10110) 111N miss010

20 Paolo Meloni Elettronica – Introduzione al corso Accessing a cache 000N 001N 010S11Mem(11010) 011N 100N 101N 110S10Mem(10110) 111N hit110

21 Paolo Meloni Elettronica – Introduzione al corso Accessing a cache 000N 001N 010S11Mem(11010) 011N 100N 101N 110S10Mem(10110) 111N hit010

22 Paolo Meloni Elettronica – Introduzione al corso Accessing a cache 000S10Mem(10000) 001N 010S11Mem(11010) 011N 100N 101N 110S10Mem(10110) 111N miss000

23 Paolo Meloni Elettronica – Introduzione al corso Accessing a cache 000S10Mem(10000) 001N 010S11Mem(11010) 011S00Mem(00011) 100N 101N 110S10Mem(10110) 111N miss011

24 Paolo Meloni Elettronica – Introduzione al corso Accessing a cache 000S10Mem(10000) 001N 010S11Mem(11010) 011S00Mem(00011) 100N 101N 110S10Mem(10110) 111N hit000

25 Paolo Meloni Elettronica – Introduzione al corso Accessing a cache 000S10Mem(10000) 001N 010S10Mem(10010) 011S00Mem(00011) 100N 101N 110S10Mem(10110) 111N miss010

26 Paolo Meloni Elettronica – Introduzione al corso Accessing a cache IndexVTagData … … … … Byte off = Data Hit Index Tag Address

27 Paolo Meloni Elettronica – Introduzione al corso Block size trade-off Aumentando le dimensioni del blocco si sfrutta ovviamente meglio la località spaziale, quindi in generale il miss rate diminuisce. Però: Blocchi più grandi, a parità di dimensione della cache, comportano un numero inferiore di blocchi, dunque limitano la possibilità di sfruttare la località temporale Blocchi più grandi richiedono più tempo per essere trasferiti, dunque causano un aumento del miss penalty

28 Paolo Meloni Elettronica – Introduzione al corso Gestione dei cache miss Nel caso in cui laccesso in memoria sia una read, un cache miss (read miss)è gestito stallando il processore sino a quando non è avvenuto il trasferimento del dato (o dellistruzione) dal livello sottostante della memoria alla cache. Si accederà di nuovo successivamente alla cache ottenendo stavolta un hit sulla locazione appena caricata. Nel caso in cui laccesso sia una write, si propone il problema dellinconsistenza. La cache e la memoria principale si dicono inconsistenti se contengono un dato diverso corrispondente allo stesso indirizzo.

29 Paolo Meloni Elettronica – Introduzione al corso Gestione dei write miss (write through scheme) Occorre gestire linconsistenza: A) si scrive sia in caso di miss che in caso di hit sia sulla cache che sulla memoria principale ( write through scheme ) In caso di miss si carica il dato che ha causato il miss si modifica il suo valore allinterno della cache Si aggiorna il dato in memoria Drawback: Se per ogni write il processore deve attendere di accedere alla memoria, gli stalli potrebbero rallentarlo in maniera drastica Soluzione: write buffer

30 Paolo Meloni Elettronica – Introduzione al corso Gestione dei write miss (write back scheme) B) Si scrive solo sulla cache( write back scheme ) La memoria principale viene aggiornata quando il blocco nella cache viene rimpiazzato da un altro. Drawback: E più complicato da implementare rispetto al write through (DIRTY BIT)


Scaricare ppt "Paolo Meloni Universita degli studi di Cagliari Gerarchie di memoria."

Presentazioni simili


Annunci Google