ELETTRONICA DIGITALE (2^ Parte)
(8)
Il sistema di memoria
Elettronica Digitale (2^ Parte)
10-11_8
1
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
2
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
3
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
4
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
5
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
6
Elettronica Digitale (2^ Parte)
10-11_8
7
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
8
Tipologie di Memorie allo stato
solido
RAM (Random Access Memory)
Volatili
Non Volatili
SRAM (Static RAM)
ROM (Read Only Memory)
Masked ROM
Flip-Flop
Statiche
Velocissime
Cella Grande
Costo per Bit
Taglio ~ 100 Kbit
Programmate in fonderia
Costo per Bit
OTP (One Time Programmable)
Fuse - Antifuse
EPROM (Electrically Programmable ROM)
DRAM (Dynamic RAM)
MOS Floating Gate
Cancellabili mediante UV
Capacità
Dinamiche (Refresh)
Veloci
Cella piccola
Costo per Bit
Taglio ~ 100 Mbit
EEPROM (Electrically Erasable Programmable ROM)
MOS Floating Gate
E-P Random Access
R Lenta, E-P molto lenti
Costo per Bit
SDRAM (Synchronous DRAM)
Capacità
Accesso a burst
Self Refresh
Flash
MOS Floating Gate
P Random Access
E a banchi
R Lenta, P molto lenti, E lentissimo
Costo per Bit
Taglio ~ 100 Mbit
Elettronica Digitale (2^ Parte)
10-11_8
9
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
10
Indirizzamento Bi-dimensionale
Address
BUS
Indirizzo
della Riga
Decoder
di Riga
Indirizzo della
Colonna
Decoder
di Colonna
Parola
Indirizzata
Elettronica Digitale (2^ Parte)
10-11_8
11
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
SRAM 512K x 8
Elettronica Digitale (2^ Parte)
10-11_8
17
Comandi di Lettura/Scrittura
Elettronica Digitale (2^ Parte)
10-11_8
18
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
19
Elettronica Digitale (2^ Parte)
10-11_8
20
Elettronica Digitale (2^ Parte)
10-11_8
21
Elettronica Digitale (2^ Parte)
10-11_8
22
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
23
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
24
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
25
Cella di Memoria RAM Statica
Elettronica Digitale (2^ Parte)
10-11_8
26
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
27
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
28
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
29
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
30
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
31
Memoria Programmabile
sul 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
32
Memoria Programmabile
sul Campo
• 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.
Elettronica Digitale (2^ Parte)
10-11_8
33
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
34
Tabella Riassuntiva
tipo
categoria
modalità di scrittura
cancellazione
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
35
Gerarchia di Memoria
sistema di memoria gerarchico
ruolo della memoria cache
Elettronica Digitale (2^ Parte)
10-11_8
36
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
37
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
38
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
39
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
40
Sistemi tecnologici
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)
Elettronica Digitale (2^ Parte)
10-11_8
41