A.S.E.23.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 23 Memorie DefinizioniDefinizioni Memoria RAMMemoria RAM OrganizzazioneOrganizzazione TemporizzazioneTemporizzazione Cella baseCella base Tipi di indirizzamentoTipi di indirizzamento
A.S.E.23.2 Richiami Flip – Flop R – SFlip – Flop R – S Flip – FLop D edge triggeredFlip – FLop D edge triggered DecodificatoriDecodificatori Tecniche di sintesi di reti sequenzialiTecniche di sintesi di reti sequenziali
A.S.E.23.3 Definizioni MEMORIE Memoria = elemento in grado di conservare un’informazioneMemoria = elemento in grado di conservare un’informazione Memorie Volatili = in grado di conservare l’informazione solo se alimentateMemorie Volatili = in grado di conservare l’informazione solo se alimentate Memorie Non Volatili = non perdono l’informazione anche se non alimentateMemorie Non Volatili = non perdono l’informazione anche se non alimentate
A.S.E.23.4 MEMORIE NON VOLATILI 1 Memorie ad acceso sequenzialaMemorie ad acceso sequenziala –Il tempo d’accesso dipende dalla “distanza” fra la posizione attuale e quella dove si vuol leggere l’informazione Esempi: nastro magnetico, hard disk, CD, DVD..Esempi: nastro magnetico, hard disk, CD, DVD.. Memorie ad accesso casualeMemorie ad accesso casuale –Il tempo d’accesso non dipende dalla “distanza” fra la posizione attuale e quella dove si vuol leggere l’informazione
A.S.E.23.5 MEMORIE NON VOLATILI ad accesso casuale (1) ROM = Read Only MemoryROM = Read Only Memory Programmata in fabbricaProgrammata in fabbrica V+V+ V+V+ V+V+ V+V+ V+V+ V+V+ DECDEC RiRi D5D5 D4D4 D3D3 D2D2 D1D1 D0D0 N 00 1Z R i-1 RiRi
A.S.E.23.6 MEMORIE NON VOLATILI ad accesso casuale (2) PROM = Programmable Read Only MemoryPROM = Programmable Read Only Memory Programmabile una sola volta dall’utente [OTP]Programmabile una sola volta dall’utente [OTP]
A.S.E.23.7 MEMORIE NON VOLATILI ad accesso casuale (3) EPROM =Erasable Programmable ROMEPROM =Erasable Programmable ROM Prog. elettricamente, Cancellazione UV (10 cicli)Prog. elettricamente, Cancellazione UV (10 cicli) V+V+ V+V+ V+V+ DECDEC RiRi D3D3 D2D2 D1D1 D0D0 N R i-1 RiRi V+V+
A.S.E.23.8 MEMORIE NON VOLATILI ad accesso casuale (4) E 2 PROM = Electrical Erasable PROME 2 PROM = Electrical Erasable PROM Programmazione e cancellazione elettrica (10 5 cicli)Programmazione e cancellazione elettrica (10 5 cicli) Flash = Particolari E 2 PROM cancellabili solo a “blocchi”Flash = Particolari E 2 PROM cancellabili solo a “blocchi” Più compatte, meno costose di E 2 PROM (1000 cicli)Più compatte, meno costose di E 2 PROM (1000 cicli)
A.S.E.23.9 Definizioni MEMORIE VOLATILI RAM = Random Access MemoryRAM = Random Access Memory Memoria nella quale è possibileMemoria nella quale è possibile –ScrivereWRITE (W) –LeggereREAD(R) RAM Statica = se alimentata, conserva l’informazione per un tempo infinitoRAM Statica = se alimentata, conserva l’informazione per un tempo infinito RAM Dinamica = anche se alimenta, dopo un certo tempo perde l’informazioneRAM Dinamica = anche se alimenta, dopo un certo tempo perde l’informazione
A.S.E Organizzazione di una RAM Memoria RAM di “H” parole di “N” bitMemoria RAM di “H” parole di “N” bit –H è una potenza del 2 –N solitamente può valere 1, 4, 8 OsservazioneOsservazione 2 10 = 1,0241K(Kilo)2 10 = 1,0241K(Kilo) 2 20 = 1,048,5761M(Mega)2 20 = 1,048,5761M(Mega) 2 30 = 1,073,741,8241G(Giga)2 30 = 1,073,741,8241G(Giga)
A.S.E Descrizione ai terminali Memoria RAM 64K x 4Memoria RAM 64K x 4 64K x 4 A0 A15 D0 D3 CSR/W
A.S.E Legenda A0 : A15= indirizzi(ADDRESS)A0 : A15= indirizzi(ADDRESS) D0 : D3= dati(DATE)D0 : D3= dati(DATE) CS= Attivatore (Chip Select)CS= Attivatore (Chip Select) [attivo basso] [attivo basso] R/W= scrittura / lettura (Read/Write)R/W= scrittura / lettura (Read/Write) [1 = legge, 0 = scrive] [1 = legge, 0 = scrive]
A.S.E Temporizzazzione Ciclo di letturaCiclo di lettura Ciclo di scritturaCiclo di scrittura A0:A15 CS R/W D0:D3 A0:A15 CS R/W D0:D3
A.S.E Cella di Memoria RAM STATICA RS Q WriteDin Word select Dout
A.S.E Parola (Word) Write W s RS Q Din-3 Dout-3 RS Q Din-2 Dout-2 RS Q Din-1 Dout-1 RS Q Din-0 Dout-0
A.S.E Organizzazione Ws-0 RS Q RS Q RS Q RS Q Write RS Q Din-3Dout-3 RS Q Din-2Dout-2 RS Q Din-1Dout-1 RS Q Din-0Dout-0 Ws-1
A.S.E Tecniche di accesso La singola word haLa singola word ha N ingressi = Data InN ingressi = Data In N uscite =Data OutN uscite =Data Out 1 selettore di parola1 selettore di parola All’esterno sono necessariAll’esterno sono necessari N Data I/O (bidirezionale)N Data I/O (bidirezionale) Chip Select (CS)Chip Select (CS) Selezione Read/ Write (R/W)Selezione Read/ Write (R/W) K indirizziK indirizzi
A.S.E Schema 1 Uso di Buffer THREE-STATEUso di Buffer THREE-STATE D D out D in RW
A.S.E Schema 2 Tabella di veritàTabella di verità CS R/W W R
A.S.E Osservazione Gli indirizzi sono codificati in binarioGli indirizzi sono codificati in binario È necessario un decodificatire K – 2 KÈ necessario un decodificatire K – 2 K DECDEC K K2K
A.S.E Schema completo MMMM MMMM MMMM DECDEC A 0 :A 16 1 D3D2D1D0 W R
A.S.E Osservazioni Architettura non quadrataArchitettura non quadrata Complessità del Decoder N = 2 NComplessità del Decoder N = 2 N occorrono 2 N AND a N ingressioccorrono 2 N AND a N ingressi –Esempio: Memoria da 1Mbit (2 20 ) –Complessità del Decoder 21 milioni di Transistori !! Si ricorre a memorie a singolo bit e a struttura a matriceSi ricorre a memorie a singolo bit e a struttura a matrice
A.S.E RAMRAM Organizzazione a Matrice Celle di memoria organizzate a quadratoCelle di memoria organizzate a quadrato XX YY 1 2 N/2 N/2 1 N/2
A.S.E Osservazioni Sono presenti due decodificatoriSono presenti due decodificatori –Decodificatore di riga –decodificatore di colonna A ciascun decodificatore arriva N/2 indirizziA ciascun decodificatore arriva N/2 indirizzi Complessità totale dei DecoderComplessità totale dei Decoder 2 decodificatori N/2 – 2 N/2 2 decodificatori N/2 – 2 N/2 occorrono 2x2 N/2 AND a N/2 ingressi occorrono 2x2 N/2 AND a N/2 ingressi [per memoria da 1 Mbit (2 20 ) occorrono 2 x 2 10 x 11 = transistori ] 2 x 2 10 x 11 = transistori ]
A.S.E Riduzione della cella Statica RS Q = 2 porte and a 3 ingressi 3 porte and a 2 ingressi 1 porte or a 2 ingressi 1 not (30 – 36 MOS) 2 not 2 MOS (6 MOS) = Word line Data in Data out Word line Data in Write Data out
A.S.E Cella dinamica La memorizzazione non è affidata alla reazione (hard node), ma alle capacità “parassite” dei transistori MOS e diodi ( soft node)La memorizzazione non è affidata alla reazione (hard node), ma alle capacità “parassite” dei transistori MOS e diodi ( soft node) Sono possibili celle a 3 => 2 => 1 transistoreSono possibili celle a 3 => 2 => 1 transistore Problema: il condensatore si scarica e la lettura dell’informazione è distruttivaProblema: il condensatore si scarica e la lettura dell’informazione è distruttiva Bisogna rinfrescare (refresh) il contenuto di tutte le celle almeno ogni 2 msBisogna rinfrescare (refresh) il contenuto di tutte le celle almeno ogni 2 ms Capacità della cella 0.1 fF con 5 V si ha una carica di 3000 elettroni!!!Capacità della cella 0.1 fF con 5 V si ha una carica di 3000 elettroni!!!
A.S.E Osservazioni sulla Ram dinamiche Organizzazione a matriceOrganizzazione a matrice Indirizzo di riga RASIndirizzo di riga RAS Indirizzo di colonna CASIndirizzo di colonna CAS Refresh = ciclo di lettura ( tempo necessario = tempo d’accesso al bit)Refresh = ciclo di lettura ( tempo necessario = tempo d’accesso al bit) Refresh contemporaneo di una intera rigaRefresh contemporaneo di una intera riga Durante il refresc non si può accedere alla memoria (wait)Durante il refresc non si può accedere alla memoria (wait) Il refresh è una penalizzazione della memoriaIl refresh è una penalizzazione della memoria –(eventuale refresh nascosto [hidden refresh])
A.S.E Esempio Determinare la penalizzazione percentuale dovuta al Refresh, di una memoria RAM dinamica da 256 Mb con tempo d’accesso di 10 ns (tempo fra due refresh 2 ms)Determinare la penalizzazione percentuale dovuta al Refresh, di una memoria RAM dinamica da 256 Mb con tempo d’accesso di 10 ns (tempo fra due refresh 2 ms) 256 Mb => 28 bit di indirizzo (14 di riga e 14 di colonna)256 Mb => 28 bit di indirizzo (14 di riga e 14 di colonna) Ogni 2 ms si devono perdere 2 14 cicli di lettura per il refresh = 2 14 x s = 0.16 msOgni 2 ms si devono perdere 2 14 cicli di lettura per il refresh = 2 14 x s = 0.16 ms Penalizzazione = 0.16 / 2 x 100 = 8 %Penalizzazione = 0.16 / 2 x 100 = 8 % ( è come se la memori avesse un tempo d’accesso di 10.8 ns)( è come se la memori avesse un tempo d’accesso di 10.8 ns)
A.S.E NOMENKLATURA ROM = Read Only MemoryROM = Read Only Memory RAM = Random Access MemoryRAM = Random Access Memory SRAM = Static RAMSRAM = Static RAM DRAM = Dynamic RAMDRAM = Dynamic RAM SDRAM= Synchronous DRAM (memorie con Clock)SDRAM= Synchronous DRAM (memorie con Clock) DDR-SDRAM=Double Data Rate- Synchronous DRAM DDR-SDRAM = SDRAM II DDR-SDRAM = DDRAMDDR-SDRAM=Double Data Rate- Synchronous DRAM DDR-SDRAM = SDRAM II DDR-SDRAM = DDRAM
A.S.E Confronto MemoriaVelocitàVolatilitàCosto/bitDensitàAccessoConsumo SDRAMaltaSiAltoBassaCasualeBasso DRAM Media + SiBassoAltaCasualealto Eprom Media - NoMedioMediaCasualemedio Magnetic Bassa -- No Basso -- Alta ++ Seriale alto+ + Optic Bassa -- No Basso -- Alta +++ Seriale Alto +
A.S.E Conclusioni Memoria RAMMemoria RAM OrganizzazioneOrganizzazione TemporizzazioneTemporizzazione Cella baseCella base Tipi di indirizzamentoTipi di indirizzamento
A.S.E Quesiti È possibile realizzare una RAM da 8 K x 8 disponendo di blocchi base da 8 K x 4 ?È possibile realizzare una RAM da 8 K x 8 disponendo di blocchi base da 8 K x 4 ? È possibile realizzare una RAM da 16 K x 4 disponendo di blocchi base da 8 K x 4 ?È possibile realizzare una RAM da 16 K x 4 disponendo di blocchi base da 8 K x 4 ? È possibile realizzare una RAM da 32 K x 4 disponendo di blocchi base da 8 K x 4 ?È possibile realizzare una RAM da 32 K x 4 disponendo di blocchi base da 8 K x 4 ? È possibile realizzare una RAM da16 K x 8 disponendo di blocchi base da 8 K x 4 ?È possibile realizzare una RAM da16 K x 8 disponendo di blocchi base da 8 K x 4 ? È possibile realizzare una RAM da 32 K x 12 disponendo di blocchi base da 8 K x 4 ?È possibile realizzare una RAM da 32 K x 12 disponendo di blocchi base da 8 K x 4 ?