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