Salta al contenuto
Note per Studenti Memoria principale a semiconduttore

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 N×bN \times b contiene NN parole di bb bit: ha log⁡2N\log_2 N linee di indirizzo e bb 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 256K×1256\text{K} \times 1 bit.

  • Ogni chip dà 1 bit: per una parola di 8 bit servono 8 chip in parallelo, che formano un banco di 256K×8256\text{K} \times 8 = 256 KB.
  • Per 1 MB servono 1 MB/256 KB=41\,\text{MB} / 256\,\text{KB} = 4 banchi → 32 chip.
  • Indirizzo: log⁡2220=20\log_2 2^{20} = 20 bit. I 18 bit bassi (218=256K2^{18} = 256\text{K}) 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 N×bN \times b: log⁡2N\log_2 N linee di indirizzo, bb dati; matrice con indirizzo diviso in riga e colonna (DRAM: RAS e CAS). Esempio. 1 MB, parole da 1 byte, chip 256K×1256\text{K} \times 1:

  1. 8 chip in parallelo →\to banco 256K×8256\text{K} \times 8 = 256 KB;
  2. 1 MB/256 KB=41\,\text{MB}/256\,\text{KB} = 4 banchi ⇒\Rightarrow 32 chip;
  3. indirizzo di 20 bit: 18 bassi a tutti i chip, 2 alti in un decoder 2→\to4 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.

Esercizi su questo argomento

Lezioni in cui compare

Teoria collegata