Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

41
Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria

Transcript of Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Page 1: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Elettronica Digitale (2^ Parte) 10-11_8

1

ELETTRONICA DIGITALE (2^ Parte)

(8)

Il sistema di memoria

Page 2: 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

Page 3: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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.

Page 4: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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).

Page 5: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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

Page 6: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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.

Page 7: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Elettronica Digitale (2^ Parte) 10-11_8

7

Page 8: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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

Page 9: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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

Page 10: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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.

Page 11: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Elettronica Digitale (2^ Parte) 10-11_8

11

Indirizzamento Bi-dimensionale

Decoderdi Riga

Decoderdi Colonna

Address BUS

Indirizzo dellaColonna

Indirizzo della Riga

ParolaIndirizzata

Page 12: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Elettronica Digitale (2^ Parte) 10-11_8

12

Page 13: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Elettronica Digitale (2^ Parte) 10-11_8

13

Page 14: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Elettronica Digitale (2^ Parte) 10-11_8

14

Page 15: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Elettronica Digitale (2^ Parte) 10-11_8

15

Page 16: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Elettronica Digitale (2^ Parte) 10-11_8

16

Page 17: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Elettronica Digitale (2^ Parte) 10-11_8

17

SRAM 512K x 8

Page 18: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Elettronica Digitale (2^ Parte) 10-11_8

18

Comandi di Lettura/Scrittura

Page 19: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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

Page 20: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Elettronica Digitale (2^ Parte) 10-11_8

20

Page 21: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Elettronica Digitale (2^ Parte) 10-11_8

21

Page 22: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Elettronica Digitale (2^ Parte) 10-11_8

22

Page 23: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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

Page 24: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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

Page 25: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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

Page 26: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Elettronica Digitale (2^ Parte) 10-11_8

26

Cella di Memoria RAM Statica

Page 27: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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.

Page 28: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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.

Page 29: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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

Page 30: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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

Page 31: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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)

Page 32: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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.

Page 33: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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

Page 34: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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

Page 35: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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).

Page 36: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

Elettronica Digitale (2^ Parte) 10-11_8

36

Gerarchia di Memoria

sistema di memoria gerarchicoruolo della memoria cache

Page 37: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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

Page 38: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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)

Page 39: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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

Page 40: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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.

Page 41: Elettronica Digitale (2^ Parte) 10-11_8 1 ELETTRONICA DIGITALE (2^ Parte) (8) Il sistema di memoria.

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