Memorie
- Le memorie sono dispositivi che consentono di immagazzinare e mantenere, in modo
permanente o temporaneo, informazioni espresse in forma binaria. A seconda delle
applicazioni, le memorie presentano caratteristiche tecnologiche e funzionali
diverse. Oltre alle memorie di massa (floppy, hard-disk, CD-ROM), usate per
immagazzinare grandi quantità di dati, particolarmente interessanti dal punto di
vista circuitale sono le memorie a semiconduttore, ossia le memorie residenti nei
sistemi di elaborazione o utilizzate in varie apparecchiature dell’elettronica di
consumo.
- La prima classificazione delle memorie a semiconduttore riguarda la modalità di
accesso:
- sequenziale, per cui i dati vengono letti o scritti in sequenza;
- diretto o casuale (random), con cui si accede a qualsiasi dato selezionandolo
direttamente mediante le linee indirizzo.
- Una seconda classificazione distingue le memorie:
- non volatili, in grado di mantenere permanentemente le informazioni (ROM e ROM
programmabili di vario tipo);
- volatili, nelle quali i dati rimangono memorizzati solo finché il circuito è alimentato
(RAM di vario tipo).
- Fra le caratteristiche principali di una memoria si devono considerare:
- capacità, ossia il numero di locazioni di cui dispone, numero che in genere
corrisponde a quello dei bit (o talvolta dei byte) che può contenere;
- organizzazione, che esprime il numero di bit contenuti in ciascuna locazione ossia
la larghezza della parola (word);
- tempo di accesso, ossia l’intervallo compreso fra l’applicazione di un indirizzo e la
disponibilità del dato sulle linee dati;
- tempo di ciclo, il cui inverso esprime la frequenza massima con cui si può accedere
alla memoria;
- linee indirizzi, che consentono di selezionare una locazione in una memoria ad
accesso diretto;
- linee dati, che possono essere di ingresso (per la scrittura), di uscita tri-state
(per la lettura) bidirezionali tri-state (per lettura e scrittura);
- linee di controllo, costituite essenzialmente dalle linee CS (chip select: selezione
del chip) e R/W (read/write: controllo lettura/scrittura nelle RAM).
- Sovente più integrati o chip di memoria vengono combinati per ampliare la larghezza
della parola o per espandere la capacità della memoria; si realizzano così moduli o
banchi di memoria adatti al sistema in cui sono inseriti.
- Le ROM (read only memory) sono memorie a sola lettura che possono essere scritte
solo dal costruttore e il cui contenuto non può essere modificato.
- Le PROM (programmable ROM) possono essere scritte direttamente dall’utente
utilizzando speciali apparecchiature (programmatore di PROM) e il loro contenuto
non può successivamente essere modificato.
- Le EPROM (erasable PROM) o più precisamente UV-EPROM vengono scritte
dall’utente mediante apposito programmatore e possono essere successivamente
cancellate mediante esposizione ai raggi ultravioletti (UV) per essere
riprogrammate.
- Le EEPROM (electrically erasable PROM) o E2PROM sono simili alle UV-EPROM, ma
sono cancellabili elettricamente; inoltre la cancellazione può non interessare
l’intera memoria, ma essere selettiva. Una variante è costituita dalle memorie
Flash, che offrono capacità e prestazioni superiori.
- Le RAM (random access memory) sono memorie ad accesso diretto, volatili, che
consentono la scrittura e la lettura durante il funzionamento del sistema su cui
sono installate. Per tecnologia, struttura, funzionalità, si distinguono due categorie
di RAM:
- SRAM (RAM statiche), con celle elementari costituite da latch, che raggiungono
velocità molto elevate e capacità dell’ordine di 4 Mbit.
- DRAM (RAM dinamiche), le cui celle elementari sono costituite essenzialmente da
un condensatore che, immagazzinando una certa quantità di carica, mantiene
memorizzato un bit di valore 1. Poiché per conservare i bit memorizzati esse
richiedono fasi periodiche di refresh, che ristabiliscano i valori di carica, sono
denominate dinamiche. Le DRAM consentono velocità elevate e capacità molto
superiori a quelle offerte dalle SRAM anche se l’esigenza di effettuare le fasi di
rinfresco rende alquanto complesso il loro controllo. Per questo motivo vengono
realizzati speciali controllori di memoria dinamica (DMC) che gestiscono
l’indirizzamento e il refresh.
Le esigenze di velocità imposte dalle prestazioni dei microprocessori di ultima
generazione hanno spinto le case costruttrici a sviluppare memorie con elevata
capacità, basso consumo e tempi di accesso inferiori a 10 ns, proponendo soluzioni
tecnologiche e funzionali estremamente varie e innovative per le RAM statiche e
per quelle dinamiche (ad esempio le SDRAM: syncronous DRAM).
- Le RAM non volatili comprendono categorie di prodotti alquanto speciali adatti in
applicazioni in cui è necessario disporre di una RAM per la modifica frequente e
rapida di dati, ma è anche indispensabile mantenere i dati memorizzati quando il
sistema non viene alimentato. Questa classe di memorie comprende:
- NV-RAM, composte sostanzialmente da due matrici di memoria equivalenti, l’una di
tipo E2PROM, che mantiene i dati quando l’alimentazione viene a mancare, l’altra
costituita da una RAM statica, su cui si eseguono rapide operazioni di lettura e
scrittura durante le normali fasi di lavoro.
- SMART-RAM, che integrano nel contenitore una SRAM con una batteria al litio;
questa interviene quando l’alimentazione scende sotto un certo limite, mantenendo
così i dati.
- Nelle memorie sequenziali o seriali la scrittura e la lettura dei dati avviene in modo
seriale secondo una sequenza fissa; si distinguono le memorie di tipo:
- FIFO (first in-first out), in cui il primo dato scritto è il primo che può essere
letto;
- LIFO (last in-first out), in cui l’ultimo dato scritto è il primo che può essere letto.
- Fra le memorie sequenziali si possono ancora citare alcuni dispositivi di tipo dinamico
con caratteristiche particolari.
- Video RAM: note anche come dual port RAM, sono molto usate per il controllo dei
terminali video; esse sono composte da una RAM dinamica, a cui si accede in modo
diretto, e da un registro a scorrimento a cui si accede in modo sequenziale.
- Memorie CCD (charge-coupled device): strutturate come un registro a
scorrimento di tipo dinamico, consentono un’elevata densità di integrazione e sono
usate principalmente nel campo dell’acquisizione ed elaborazione di immagini digitali.