Memoria principale a semiconduttore
In questa pagina 7
In questa pagina 3
La cella
Elemento base che memorizza un bit: ha due stati stabili, si può scrivere (almeno una volta) e leggere. Ha una linea di selezione, una di controllo (lettura/scrittura) e una per il dato.
RAM
Random Access Memory: accesso casuale in lettura e scrittura, volatile (perde i dati senza alimentazione).
Definizione (RAM dinamica e statica)
DRAM (dinamica) SRAM (statica) cella un condensatore e un transistor di accesso un flip-flop (tipicamente 6 transistor) bit carica presente/assente stato del flip-flop refresh necessario: la carica si disperde, va riletta e riscritta periodicamente (ogni pochi ms) non serve finché c'è alimentazione densità e costo alta densità, basso costo per bit bassa densità, alto costo velocità più lenta più veloce uso memoria principale cache
Esempio. Una cella SRAM usa circa transistor, una DRAM un transistor e un condensatore: a parità di area la DRAM contiene più bit.
La lettura di una DRAM è distruttiva (scarica il condensatore) e richiede la riscrittura del bit.
ROM e memorie non volatili
| Tipo | Scrittura | Cancellazione |
|---|---|---|
| ROM | in fabbrica, con la maschera del chip | impossibile |
| PROM | una volta, elettricamente, dall'utente | impossibile |
| EPROM | elettricamente | con luce ultravioletta, tutto il chip |
| EEPROM | elettricamente, a byte | elettricamente, a byte (lenta) |
| Flash | elettricamente | elettricamente, a blocchi (veloce) |
Usi: firmware e BIOS, microprogrammi (vedi Unità di controlloCompiti dell'unità di controllo e micro-operazioni; segnali di controllo del datapath con tabella per le classi di istruzioni; controllo cablato (combinatorio o a stati finiti) e controllo microprogrammato (memoria di controllo, microistruzioni orizzontali e verticali); confronto.Unità di controllo →), tabelle di funzioni, programmi di sistemi embedded; la flash è la tecnologia degli SSD e delle chiavette.
Organizzazione dei chip
Definizione (chip di memoria ). Un chip contiene parole di bit: ha linee di indirizzo e linee dati. Internamente le celle sono una matrice: l'indirizzo è diviso in riga e colonna, decodificate separatamente. Nelle DRAM riga e colonna arrivano in due tempi sulle stesse linee (segnali RAS e CAS), dimezzando i piedini.
Esempio. Memoria di 1 MB, parola di 1 byte, con chip bit.
- Ogni chip dà 1 bit: per una parola di 8 bit servono 8 chip in parallelo, che formano un banco di = 256 KB.
- Per 1 MB servono banchi → 32 chip.
- Indirizzo: bit. I 18 bit bassi () vanno a tutti i chip, i 2 bit alti entrano in un decoder 2→4 che abilita uno dei 4 banchi.
DRAM sincrone
Le SDRAM lavorano con il clock del bus: dopo l'indirizzo iniziale trasferiscono un blocco di dati consecutivi (burst) senza altre attese, adatto al riempimento di una linea di cache. Le DDR trasferiscono su entrambi i fronti del clock (DDR2, DDR3, DDR4, DDR5 aumentano frequenza e dati per ciclo).
Errori
Errori permanenti (guasti) ed errori soft (casuali, non distruttivi, per esempio dovuti a radiazioni o particelle). Si proteggono le parole con bit di controllo calcolati in scrittura e verificati in lettura: il codice di Hamming corregge un errore singolo, con un bit di parità in più rileva anche i doppi (SEC-DED). Dettagli ed esempi in Codifiche binarie e informazione non numericaBit, byte e multipli (potenze di 2 e di 10); codici BCD e Gray; caratteri ASCII, Unicode e UTF-8; ordine dei byte (little e big endian); bit di parità e codice di Hamming per rilevare e correggere errori.Codifiche binarie e informazione non numerica →.
Errori tipici
- Pensare che una ROM sia ad accesso sequenziale: è ad accesso casuale come la RAM, solo non scrivibile.
- Contare i chip dividendo solo le capacità in byte, senza considerare l'ampiezza della parola del chip.
Versione ripasso
RAM (volatile)
- DRAM: condensatore e transistor; refresh periodico, lettura distruttiva; densa ed economica: memoria principale.
- SRAM: flip-flop (circa 6 transistor), senza refresh, veloce e costosa: cache.
Non volatili
ROM (in fabbrica), PROM (una volta), EPROM (cancellazione a ultravioletti), EEPROM (elettrica, a byte), Flash (elettrica, a blocchi; SSD). Usi: firmware, BIOS, microprogrammi (Unità di controlloCompiti dell'unità di controllo e micro-operazioni; segnali di controllo del datapath con tabella per le classi di istruzioni; controllo cablato (combinatorio o a stati finiti) e controllo microprogrammato (memoria di controllo, microistruzioni orizzontali e verticali); confronto.Unità di controllo →).
Chip
Chip : linee di indirizzo, dati; matrice con indirizzo diviso in riga e colonna (DRAM: RAS e CAS). Esempio. 1 MB, parole da 1 byte, chip :
- 8 chip in parallelo banco = 256 KB;
- banchi 32 chip;
- indirizzo di 20 bit: 18 bassi a tutti i chip, 2 alti in un decoder 24 che abilita un banco.
SDRAM: burst di dati consecutivi (riempimento di una linea di cache); DDR: entrambi i fronti del clock. Errori permanenti e soft: Hamming e SEC-DED (Codifiche binarie e informazione non numericaBit, byte e multipli (potenze di 2 e di 10); codici BCD e Gray; caratteri ASCII, Unicode e UTF-8; ordine dei byte (little e big endian); bit di parità e codice di Hamming per rilevare e correggere errori.Codifiche binarie e informazione non numerica →).
Errori tipici: la ROM è ad accesso casuale; per contare i chip serve l'ampiezza della parola del chip.