Post on 02-May-2015
Elettronica Digitale (2^ Parte) 10-11_8
1
ELETTRONICA DIGITALE (2^ Parte)
(8)
Il sistema di memoria
Elettronica Digitale (2^ Parte) 10-11_8
2
Memoria
• Memoria interna o centrale o principale– ROM, PROM– RAM (SRAM, DRAM)
• Memoria esterna o ausiliaria– Dischi rigidi (magnetici, ottici, magneto-ottici)– Floppy– Nastri– Cassette
Elettronica Digitale (2^ Parte) 10-11_8
3
Memoria Centrale
• La memoria è un blocco funzionale di tipo sequenziale complesso.
• Serve per mantenere a tempo indefinito dati e programmi, e per permetterne l’accesso, in lettura o in scrittura.
• Ha una struttura a vettore, i cui elementi sono le parole di memoria.
• Ogni parola di memoria è una sequenza di bit, in numero fissato 1.
Elettronica Digitale (2^ Parte) 10-11_8
4
Interfaccia di Memoria (1)• Il contenuto della memoria viene letto o scritto
una parola per volta, in un ciclo di clock (più cicli in memorie lente).
• Si accede a una parola di memoria (byte o più lunga) tramite la porta di accesso alla memoria.
• La porta di accesso può funzionare in lettura e scrittura (caso più frequente), solo in lettura e teoricamente anche solo in scrittura (caso poco frequente).
Elettronica Digitale (2^ Parte) 10-11_8
5
Interfaccia di Memoria (2)
La porta di accesso alla memoria è costituita dai segnali seguenti:
• ingressi di indirizzo, che codificano in binario l’indirizzo della parola dove si deve operare
- se la memoria ha capacità di 2m 1 parole, occorrono log2 2m ingressi di indirizzo
• uscite / ingressi di dato, che servono per leggere / scrivere una parola:
- se la parola ha dimensione di n 1 bit, occorrono esattamente n uscite / ingressi di dato
Elettronica Digitale (2^ Parte) 10-11_8
6
Interfaccia di Memoria (3)• Comando di lettura / scrittura, R/W (read/write)
- R/W 1 lettura - R/W 0 scrittura
Comando di abilitazione, CS (chip select):• -CS 1 chip attivo, si può accedere al contenuto• CS 0 chip in stato di riposo, non si può né leggere né
scrivere
Comando di abilitazione dati, OE (output enable):• OE 1 le uscite dati sono funzionanti• OE 0 le uscite dati sono isolate
• Nel seguito si considererà essenzialmente il comando R/W, che può anche assumere le funzioni di CS e OE, abilitando chip e dati.
Elettronica Digitale (2^ Parte) 10-11_8
7
Elettronica Digitale (2^ Parte) 10-11_8
8
Memoria
• Memoria interna o centrale o principale– ROM, PROM– RAM (SRAM, DRAM)
• Memoria esterna o ausiliaria– Dischi rigidi (magnetici, ottici, magneto-ottici)– Floppy– Nastri– Cassette
Elettronica Digitale (2^ Parte) 10-11_8
9
Tipologie di Memorie allo stato solido
Volatili Non VolatiliRAM (Random Access Memory)
SRAM (Static RAM)Flip-FlopStaticheVelocissimeCella GrandeCosto per BitTaglio ~ 100 Kbit
DRAM (Dynamic RAM)CapacitàDinamiche (Refresh)VelociCella piccolaCosto per BitTaglio ~ 100 Mbit
ROM (Read Only Memory)
Programmate in fonderiaCosto per Bit
EEPROM (Electrically Erasable Programmable ROM)MOS Floating GateE-P Random Access R Lenta, E-P molto lentiCosto per Bit
Masked ROM
MOS Floating GateCancellabili mediante UV
Fuse - AntifuseOTP (One Time Programmable)
EPROM (Electrically Programmable ROM)
FlashMOS Floating GateP Random Access E a banchi R Lenta, P molto lenti, E lentissimoCosto per BitTaglio ~ 100 Mbit
SDRAM (Synchronous DRAM)CapacitàAccesso a burstSelf Refresh
Elettronica Digitale (2^ Parte) 10-11_8
10
Decodifica di Indirizzo
• Per costruire memorie di capacità elevata, si aggregano componenti integrati di memoria con capacità inferiore.
• Come primo passo, la matrice di celle da un bit può avere organizzazione diversa da quella dichiarata per la memoria ed esternamente visibile dall'utilizzatore.
• L'indirizzo può essere decodificato in maniera parziale, o suddivisa.
Elettronica Digitale (2^ Parte) 10-11_8
11
Indirizzamento Bi-dimensionale
Decoderdi Riga
Decoderdi Colonna
Address BUS
Indirizzo dellaColonna
Indirizzo della Riga
ParolaIndirizzata
Elettronica Digitale (2^ Parte) 10-11_8
12
Elettronica Digitale (2^ Parte) 10-11_8
13
Elettronica Digitale (2^ Parte) 10-11_8
14
Elettronica Digitale (2^ Parte) 10-11_8
15
Elettronica Digitale (2^ Parte) 10-11_8
16
Elettronica Digitale (2^ Parte) 10-11_8
17
SRAM 512K x 8
Elettronica Digitale (2^ Parte) 10-11_8
18
Comandi di Lettura/Scrittura
Elettronica Digitale (2^ Parte) 10-11_8
19
Altre Ottimizzazioni
• La decodifica dell'indirizzo può anche essere effettuata in due momenti successivi:– indirizzo di riga per primo– indirizzo di colonna per secondo
• Se si opera su parole di memoria collocate a indirizzi consecutivi, l'indirizzo di riga (o di colonna) non varia per diverse operazioni, lo si può tenere fisso e la decodifica è più veloce.
• Occorrono segnali di controllo aggiuntivi per gestire questi schemi di decodifica più sofisticati
Elettronica Digitale (2^ Parte) 10-11_8
20
Elettronica Digitale (2^ Parte) 10-11_8
21
Elettronica Digitale (2^ Parte) 10-11_8
22
Elettronica Digitale (2^ Parte) 10-11_8
23
Tecnologie di Memoria• Esistono svariate tecnologie di memoria.• Tali tecnologie dipendono da vari fattori:
– capacità della memoria– tempo di accesso a una parola
(in lettura o scrittura)– politica di accesso alla parola:
• lettura e scrittura• sola lettura• programmabilità sul campo• immodificabilità
– stabilità del contenuto: volatile o persistente– e costo del componente
Elettronica Digitale (2^ Parte) 10-11_8
24
RAM Statica (SRAM)
• Memoria RAM (Random Access Memory) realizzata come matrice di bistabili.
• Capacità medio-piccola (da K a M parole).• Tempo di accesso molto breve (1 ns o meno).• Funziona sia in lettura sia in scrittura (non necessariamente alla
stessa velocità).• Volatile: senza alimentazione il contenuto della memoria svanisce
(si tampona con batteria).• Usi: svariati, in particolare come banco di registri interni di
processore e come cache.
• La cella di base (memorizzazione di 1 bit) è costituita da 6 transistor• Occupazione notevole• Consumo di potenza non trascurabile
Elettronica Digitale (2^ Parte) 10-11_8
25
Memorie Statiche (SRAM)
• La cella di base (memorizzazione di 1 bit) è costituita da 6 transistor
• Tempi di accesso bassi (fino a 1 ns)• Interfaccia semplice• capacità, misurata in numero totale di bit memorizzabili
sullo stesso chip• Occupazione notevole• Consumo di potenza non trascurabile• Utilizzata per i registri interni e per piccole memorie• Funzione: lettura e scrittura, solo lettura• Numero di porte di accesso
Elettronica Digitale (2^ Parte) 10-11_8
26
Cella di Memoria RAM Statica
Elettronica Digitale (2^ Parte) 10-11_8
27
RAM Dinamica (DRAM)La tecnologia DRAM usa solo circa 1,5 transistori per bit
memorizzato.• Essa sfrutta il fenomeno dell’accumulo temporaneo di
carica sul transistore.• Internamente il componente di memoria DRAM contiene
un circuito di rinfresco che rigenera le cariche sui transistori prima che queste svaniscano.
• La tecnologia memoria DRAM ha struttura molto regolare, e può raggiungere una densità di transistori estremamente elevata.
• Capacità grande-grandissima (da M a G parole), Tempo di accesso medio (10 ns - 100 ns), lettura e scrittura.
• Usi: numerossisimi, la memoria centrale dei calcolatori normalmente è DRAM.
Elettronica Digitale (2^ Parte) 10-11_8
28
RAM Dinamica (DRAM)• Memoria RAM realizzata come matrice di
transistori, ad altissima densità.• Capacità grande-grandissima (da M a G
parole), non conviene farla piccola.• Tempo di accesso medio (10 ns - 100 ns).• Funziona sia in lettura sia in scrittura (non
necessariamente alla stessa velocità).• Volatile: senza alimentazione il contenuto
della memoria svanisce (batteria tampone).• Usi: numerossisimi, la memoria centrale dei
calcolatori normalmente è DRAM.
Elettronica Digitale (2^ Parte) 10-11_8
29
Cella di Memoria RAM Dinamica
in genere realizzato con un transistore
il circuito di rinfresco qui non è mostrato
Elettronica Digitale (2^ Parte) 10-11_8
30
Cella di Memoria ROM• La memoria ROM (read only memory) ha contenuto fisso, non
modificabile.• La cella di memoria ROM è una variante semplificata della cella
RAM dinamica.• In sede di fabbricazione (o in seguito, secondo la tecnologia), lo
stato del transistore che memorizza il bit viene definito in modo fisicamente persistente e non più modificabile.
• Ciò equivale a fissare lo stato dell'interruttore (aperto o chiuso), in modo definitivo.
• Capacità grande (da M a G).• Tempo di accesso medio (10 ns - 100 ns).• Funziona in sola lettura.• Usi: per memorizzare programmi permanenti, non modificabili
(software di base, e simili
Elettronica Digitale (2^ Parte) 10-11_8
31
Cella di Memoria ROM
in genere realizzato con un transistore
l'interruttore viene fabbricato in uno stato definito (aperto o chiuso)
Elettronica Digitale (2^ Parte) 10-11_8
32
Memoria Programmabilesul Campo
• Serie di tecnologie di memoria derivate dalla tecnologia ROM, con raffinamenti vari.
• Capacità e tempo di accesso simili a ROM.• Funzionano in sola lettura e sono persistenti.• Ma sono programmabili sul campo (field
programmable), cioè il contenuto della memoria è definibile dopo la fabbricazione.
• In alcune di tali tecnologie, si può riprogrammare la memoria più volte.
• Usi: piccoli volumi di produzione, prototipi.
Elettronica Digitale (2^ Parte) 10-11_8
33
• La programmazione è un'operazione speciale:– si arresta il funzionamento normale della memoria– si sostituisce l'intero contenuto (non parte di esso)
• La programmazione va fatta tramite una macchina programmatrice apposita:– PROM: programmabile una volta sola– EPROM: cancellabile più volte con raggi UV– EEPROM: cancellabile più volte elettricamente
(si può anche scrivere un solo byte per volta)
• In EEPROM il circuito di programmazione è integrato nella memoria stessa.
Memoria Programmabilesul Campo
Elettronica Digitale (2^ Parte) 10-11_8
34
Memoria FLASH
• Tecnologia di memoria abbastanza recente con tempo di accesso simile a quello della tecnologia DRAM (o solo di poco peggiore).
• Funziona sia in lettura sia in scrittura(la scrittura però è a blocchi di byte).
• Persistente: il contenuto permane anche in assenza di alimentazione (per alcuni anni).
• Molti usi e in rapido aumento:– dati multimediali (immagini statiche, sequenze
audio e video)– programmi fissi ma periodicamente aggiornabili
Elettronica Digitale (2^ Parte) 10-11_8
35
Tabella Riassuntiva
tipo categoria modalità di cancellazione
scrittura byte
volatile usi specifici
SRAM lett/scritt - si si cache
DRAM lett/scritt - si si mem. centrale
ROM sola lett nessuna no no grandi vol.
PROM sola lett nessuna no no piccoli vol.
EPROM sola lett luce UV no no prototipi
EEPROM sola lett elettrica si (lenta) no prototipi
FLASH lett/scritt elettrica a blocchi no multimedia
Le memorie cancellabili vengono talvolta qualificate come “memorie prevalentemente a sola lettura” (read-mostly), invece che “a sola lettura” (read-only).
Elettronica Digitale (2^ Parte) 10-11_8
36
Gerarchia di Memoria
sistema di memoria gerarchicoruolo della memoria cache
Elettronica Digitale (2^ Parte) 10-11_8
37
Concetto di Gerarchia• Si possono migliorare le prestazioni (la velocità) del calcolatore
tramite il sistema di memoria, con il concetto di gerarchia di memoria:– diversi livelli di memoria, con tecnologie differenti in modo da
ottenere un buon compromesso tra costo / capacità / prestazione (cioè rapidità di accesso)
• Qui l'attenzione è sul sistema di memoria cache, che ha lo scopo di rendere rapida la memoria.
• Il divario di prestazioni tra CPU e DRAM è cresciuto (vel. DRAM +22% anno, vel. CPU +50,100% anno)
• L’analisi sull’esecuzione dei programmi mostra che i riferimenti alla memoria godono di 2 proprietà:
1. Località spaziale: è altamente probabile che l’istruzione successiva sia contigua a quella che si sta eseguendo
2. Località temporale: poiché tutti i programmi hanno dei cicli in cui si fa altamente probabile che nel prossimo futuro venga di nuovo eseguita la stessa istruzione o si faccia riferimento allo stesso dato
Elettronica Digitale (2^ Parte) 10-11_8
38
Gerarchia di Memoria
• Struttura complessiva della gerarchia:– banco registri di processore:
• tempo di accesso a una parola brevissimo ( 1 ns)• capacità limitatissima (8 - 1024 bit)
– sistema memoria cache (primo e secondo livello):• tempo di accesso a una parola breve ( 1 ns)• capacità limitata (ordine di grandezza: da Kbyte a Mbyte)
– sistema di memoria centrale:• tempo di accesso a una parola medio (10 - 100 ns)• capacità media (ordine di grandezza: da Mbyte - a Gbyte)
– sistema di memoria di massa:• tempo di accesso a un blocco di parole lungo (1 - 10 ms)• capacità grande (ordine di grandezza: Gbyte - Terabyte)
Elettronica Digitale (2^ Parte) 10-11_8
39
Gerarchia• La località suggerisce l’introduzione di una
gerarchia nella memoria• Al livello più alto ci sono i registri della CPU• Al livello più basso le memorie di massa
Elettronica Digitale (2^ Parte) 10-11_8
40
Gerarchia• Il processore genera un indirizzo• Si controlla la memoria di livello più alto (cache)• Se il dato è contenuto nella cache si ha un hit ed il dato viene
trasmesso alla CPU• In caso contrario si ha un miss e si passa alla memoria di livello
inferiore• h = tasso di hit, il rapporto tra il numero di hit ed i riferimenti totali
alla memoria• m = tasso di miss, il rapporto tra il numero di miss ed i riferimenti
totali alla memoria (m=1-h)• Salendo di strato in strato nella piramide la capacità della memoria
diminuisce e la velocità aumenta (e il costo per bit).
• Ogni strato della piramide contiene in copia un sottinsieme (di blocchi o parole) del contenuto dello strato sottostante.
Elettronica Digitale (2^ Parte) 10-11_8
41
Tre sottosistemi tecnologici:• registri interni del processore per dati e indirizzi dove lavorano correntemente le istruzioni: alta velocità bassa capacità• memoria primaria per programmi in esecuzione e dati in elaborazione corrente: serie di tecnologie, tutte elettroniche, veloci, capaci, volatili• memoria secondaria per programmi e dati in deposito permanente o di uso differito: tecnologie, magnetiche od ottiche, lente, molto capaci, persistenti (ma di basso costo per bit memorizzato)
Sistemi tecnologici