22
Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Embed Size (px)

Citation preview

Page 1: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-1

Sistemi Elettronici Programmabili

La memoria principale

Page 2: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-2

Memoria

• Memoria interna o principale– ROM, PROM– RAM (SRAM, DRAM)

• Memoria esterna o ausiliaria– Dischi rigidi (magnetici, ottici, magneto-ottici)– Floppy– Nastri– Cassette

Page 3: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-3

Le Memorie RAMRandom Access Memory

Tempo di accesso indipendente dalla posizione del dato letto/scritto

Caratteristiche• Dimensione = numero di bit o byte. Alcune volte fornita l’organizzazione (16Kx8 indica 16384 locazioni da 8 bit)• Velocità = tempo di accesso. Tempo che trascorre dalla richiesta del dato al momento in cui il dato è disponibile.• Potenza = assorbimento medio di potenza. Utile anche consumo di potenza in stand-by per memorie con batteria.• Costo (maggiore densità = minor costo per bit)• Integrazione = densità di memoria per chip. Maggiore integrazione = maggiore affidabilità e minor costo.

Page 4: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-4

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 5: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-5

Memorie Statiche (SRAM)

• La cella di base (memorizzazione di 1 bit) è costituita da 6 o 4 transistor

• Tempi di accesso bassi (10 ns)

• Interfaccia semplice

• Occupazione notevole

• Consumo di potenza non trascurabile

• Utilizzata per i registri interni e per piccole memorie

Page 6: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-6

Static RAM (SRAM)Data In BUS8

8Data Out BUS

Word 0Word 1

Word 1023

RAM

Address BUS

10

CS

R/W

1010111

CPU

2x4 Decoder

RAM 3

RAM 2

RAM 1

RAM 0

CS

CS

CS

CS

Address BUS (7..6)

Address BUS (5..0) 6

2

Data_IN BUS

8

Data_OUT BUS 8

S Q

FF

R Q’

ENB

IN

SelectR/W

Page 7: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-7

SRAM bus dati doppio

2x4Decoder

MC MC MC

MC MC MC

MC MC MC

MC MC MC

Data IN BUS (2..0)

Data OUT BUS (2..0)

R/W

CS

ADDR_1

ADDR_0

Page 8: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-8

SRAM bus dati singolo

2x4Decoder

MC MC MC

MC MC MC

MC MC MC

MC MC MC

Data BUS (2..0)

R/W

CS

ADDR_1

ADDR_0

EN

B

EN

B

EN

B

Page 9: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-9

Indirizzamento Bi-dimensionale

Decoderdi Riga

Decoderdi Colonna

Address BUS

Indirizzo dellaColonna

Indirizzo della Riga

ParolaIndirizzata

Page 10: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-10

SRAM 512K x 8

Page 11: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-11

Comandi di Lettura/Scrittura

Page 12: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-12

Ciclo di Lettura SRAM• Si fornisce l’indirizzo

• Si abilita il chip (CE)

• Si abilita l’uscita (OE)

Il tempo d’accesso tACC è il tempo necessario per avere stabile l’uscita una volta stabilizzati i segnali di controllo d’ingresso

Il tempo minimo richiesto per l’operazione di lettura è indicato con tRC (tempo di ciclo di lettura)

Nelle SRAM tipicamente tACC=tRC

Page 13: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-13

Ciclo di Scrittura SRAMLa scrittura può essere svolta in 2 modi

• Controllata da WE (il comando di scrittura è un impulso su WE)

• Controllata da CE (il comando di scrittura è un impulso su CE)

1. Viene fornito l’indirizzo2. Viene abilitato il chip3. Vengono forniti i dati4. Viene dato il comando di scrittura (che deve essere

mantenuto per un tempo minimo indicato con tWP

5. La durata minima del ciclo di scrittura si indica con tWC (=tWP per le SRAM)

Page 14: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-14

Memorie Dinamiche (DRAM)• L’informazione è rappresentata dalla

carica (50pC circa) immagazzinata in un condensatore integrato

• 1 singolo transistor viene utilizzato per le operazioni di lettura/scrittura/mantenimento

• Grande capacità a costi contenuti• Resistenze di perdita => il

condensatore si scarica entro pochi ms.

• Serve ciclo di rinfresco dell’informazione (refresh) con circuito dedicato interno => memorie più lente

• Grandi dimensioni = tanti indirizzi => indirizzo riga e colonna separati

La linea Plate Line è collegata a massa

La linea Word Line è collegata al gate

La linea Bit Line è collegata al drain

Page 15: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-15

Memorie Dinamiche (DRAM)

Page 16: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-16

Ciclo di Lettura per le DRAM

• tRC>tACC

• Necessità di refresh

Page 17: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-17

Lettura/Scrittura DRAM1. Si immette sul bus indirizzi il Row Address2. Si attiva il segnale RAS (Row Address Strobe) che agendo su un

apposito Latch memorizza il Row Address ad uso interno 3. Il valore memorizzato nel Latch viene decodificato ed identifica

una specifica riga (Row) nella matrice di memoria.4. I segnali ed il bus vendono disasseriti, è finita la prima fase

dell'accesso5. Si immette sul bus indirizzi il Column Address 6. Si attiva il segnale CAS (Column Address Strobe) che agendo su

un apposito Latch memorizza il Column Address 7. Il valore immagazzinato permette di individuare la colonna dove si

trova il dato. L'incrocio tra colonna e riga individua univocamente la cella di memoria ed il suo contenuto viene inviato sul bus dati in caso di lettura, altrimenti il contenuto del bus dati viene scritto nella cella in caso di scrittura.

USO DI UN CONTROLLORE ESTERNO DEDICATO ALLE DRAM (BRIDGE di BUS nei PC)

Page 18: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-18

Memoria Dinamica Sincrona (SDRAM)

• Utilizzo di clock esterno per la sincronizzazione delle operazioni di I/O.

• Incremento delle prestazioni • Maggiore efficienza• Complessi modi operativi, pipeline interne e trasferimenti

burst. • I chip di SDRAM in commercio hanno frequenze di

funzionamento dai 66MHz fino ai 200MHz. • I moduli di memoria che utilizzano la SDRAM hanno il

formato DIMM, la banda massima teorica delle memorie DIMM PC100 è di 800MB/s e 1064MB/s per le PC133

Page 19: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-19

Località• 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 eseguendo2. Località temporale: poiché tutti i programmi hanno dei

cicli in cui si fa riferimento a dati è probabile che altamente probabile che nel prossimo futuro venga di nuovo eseguita la stessa istruzione o si faccia riferimento allo stesso dato La località suggerisce di utilizzare una memoria interna veloce ma costosa (cache con SRAM) per le parti alle quali probabilmente si farà riferimento nel prossimo futuro (strategie di caching), interposta tra la CPU e la memoria principale

Page 20: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-20

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 21: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-21

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)

Page 22: Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale

Sistemi Elettronici Programmabili: La Memoria Principale6-22

Gerarchia• I trasferimenti avvengono in blocco tra

livelli adiacenti: quando un dato viene trovato a livello inferiore viene trasferito un blocco che lo contiene in quello superiore

• Nel caso di miss multipli vengono trasferiti i blocchi tra livelli contigui di dimensioni sempre minori mano a mano che si sale di gerarchia

Tempo di hit: tempo necessario per accesso livello più alto th

Penalizzazione di miss: tempo necessario al trasferimento del blocco e per la trasmissione del dato alla CPU tp

Tempo medio di accesso alla memoria: t = h*th + mtp