Upload
vanda-lombardi
View
225
Download
2
Embed Size (px)
Citation preview
Sistemi Elettronici Programmabili: La Memoria Principale6-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
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.
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
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
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
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
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
Sistemi Elettronici Programmabili: La Memoria Principale6-9
Indirizzamento Bi-dimensionale
Decoderdi Riga
Decoderdi Colonna
Address BUS
Indirizzo dellaColonna
Indirizzo della Riga
ParolaIndirizzata
Sistemi Elettronici Programmabili: La Memoria Principale6-10
SRAM 512K x 8
Sistemi Elettronici Programmabili: La Memoria Principale6-11
Comandi di Lettura/Scrittura
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
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)
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
Sistemi Elettronici Programmabili: La Memoria Principale6-15
Memorie Dinamiche (DRAM)
Sistemi Elettronici Programmabili: La Memoria Principale6-16
Ciclo di Lettura per le DRAM
• tRC>tACC
• Necessità di refresh
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)
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
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
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
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)
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