| "Descrizione" by RS232 (2002 pt) | 2026-Jan-29 17:34 |
CMOS STATIC RAM (SRAM)
Definizione
La CMOS STATIC RAM (SRAM) è una memoria VOLATILE ad accesso casuale che conserva i dati finché è alimentata, senza necessità di refresh periodico. “STATIC” indica che il bit resta stabile grazie a una cella bistabile (latch) interna, mentre “CMOS” indica la tecnologia di realizzazione che, rispetto a implementazioni più datate, consente consumi più bassi (soprattutto in standby) e buona densità/velocità per molte applicazioni embedded e di caching.

A differenza della DRAM, la SRAM non richiede cicli di refresh e offre latenza molto bassa; in cambio, a parità di capacità, occupa più area di silicio e costa di più.
Principio di funzionamento (cella di memoria)
La cella classica di SRAM è una 6T (sei transistor):
Due inverter incrociati formano un latch che memorizza lo stato logico (0/1).
Due transistor di accesso collegano la cella alle bitline durante lettura/scrittura, comandati dalla wordline (selezione della riga).
Con alimentazione presente, il latch mantiene lo stato senza operazioni periodiche. Se l’alimentazione viene tolta, il contenuto si perde (memoria volatile).
Caratteristiche operative principali
Nessun refresh: semplifica il controller e riduce jitter temporale.
Accesso veloce: tempi di accesso tipicamente inferiori alla DRAM e spesso deterministici (specie nelle SRAM asincrone).
Basso consumo in standby: la tecnologia CMOS consente correnti di mantenimento contenute, utile per dispositivi a batteria o con modalità sleep.
Semplicità d’interfaccia: molte SRAM sono asincrone, con segnali di controllo diretti (CE/OE/WE) e senza clock.
Costo/area: la cella 6T è “grande” rispetto alla DRAM (1T+capacità), quindi la densità è più bassa e il costo per bit più alto.
Tipi comuni di CMOS SRAM
SRAM asincrona: interfaccia semplice, nessun clock, molto usata come memoria esterna per CPU/MCU, buffer e memoria video “lineare”.
SRAM sincrona: usa CLK e pipeline interna (es. SYNC SRAM, PIPELINED SRAM) per throughput elevato, tipica in sistemi ad alte prestazioni.
SRAM low-power / battery backup: ottimizzata per correnti di standby molto basse e spesso predisposta per mantenimento dati con batteria (tramite circuito esterno di commutazione alimentazione).
Interfaccia e segnali tipici (SRAM asincrona)
Una CMOS SRAM asincrona si presenta spesso come:
Bus indirizzi A[ ]: seleziona la locazione.
Bus dati D[ ]: bidirezionale.
CE (/CE o /CS): chip enable (abilita il dispositivo).
OE (/OE): output enable (abilita l’uscita in lettura).
WE (/WE): write enable (abilita la scrittura).
Eventuali /UB /LB (byte enable) su dispositivi a 16 bit per selezionare byte alto/basso.
La lettura e la scrittura avvengono in base alla combinazione dei segnali e ai tempi minimi (setup/hold, pulse width, access time).
Parametri temporali tipici (cosa significano davvero)
tAA (address access time): tempo tra indirizzo valido e dato valido in uscita.
tCE (chip enable access time): tempo tra CE attivo e dato valido.
tOE (output enable access time): tempo tra OE attivo e dato valido.
tWC (write cycle time): durata minima del ciclo di scrittura.
tWP (write pulse width): ampiezza minima dell’impulso di WE.
tDH/tDS (data hold/setup): requisiti di hold e setup del dato rispetto a WE/CE.
In pratica: per garantire correttezza, l’host deve mantenere stabili indirizzo e dati per le finestre temporali richieste.
Applicazioni tipiche
Cache e memorie di lavoro a bassa latenza (quando non integrate on-chip).
Buffer per comunicazioni (pacchetti, FIFO logiche, ring buffer).
Memoria video/line buffer in sistemi semplici o retrocomputing.
Tabelle e lookup a tempo deterministico (DSP, controllo industriale).
Storage temporaneo in sistemi real-time dove la prevedibilità è più importante della densità.
Vantaggi e limiti (sintesi tecnica)
Vantaggi:
Latenza bassa, comportamento deterministico.
Nessun refresh, controller semplice.
Buona efficienza energetica in standby (CMOS).
Limiti:
Densità e costo per bit peggiori della DRAM.
Volatile: perde dati senza alimentazione (salvo soluzioni di backup).
Capacità tipicamente più contenute rispetto a DRAM a parità di costo.
Schizzo dei collegamenti più importanti (SRAM asincrona)
┌──────────────────────────────┐ │ CPU / MCU │ │ A[ ] D[ ] /RD /WR │ │ (logica di decode /CS) │ └──────────────┬───────────────┘ │ A[ ] + D[ ] + controlli ▼ ┌──────────────────┐ │ CMOS STATIC RAM │ │ (SRAM) │ │ A[ ] D[ ] │ │ /CE /OE /WE │ │ (opz. /UB /LB) │ └──────────────────┘
Tabella 1 – Dati di identificazione e specifiche
| Caratteristica | Valore indicativo |
|---|---|
| Tecnologia | CMOS |
| Tipo memoria | SRAM (STATIC RAM), VOLATILE |
| Refresh | Non richiesto |
| Interfaccia | Asincrona (tipica) o sincrona (in varianti) |
| Latenza | Bassa, spesso deterministica (specie asincrona) |
| Consumo | Basso in standby rispetto a tecnologie meno efficienti; variabile con capacità e processo |
| Densità/costo | Inferiore alla DRAM (più area per bit, costo per bit maggiore) |
| Usi tipici | Cache esterna, buffer, memoria real-time, tabelle lookup |
Tabella 2 – Segnali e timing principali
| Segnale / parametro | Significato pratico |
|---|---|
| A[ ] | Selezione indirizzo di cella/word |
| D[ ] | Dati bidirezionali |
| /CE (/CS) | Abilita il chip e definisce la validità del ciclo |
| /OE | Abilita l’uscita dati in lettura (evita contese sul bus) |
| /WE | Abilita la scrittura (latch dei dati in ingresso) |
| /UB /LB | Selezione byte (su SRAM a 16 bit) |
| tAA, tCE, tOE | Tempi di accesso in lettura (indirizzo/enable/uscita) |
| tWC, tWP, tDS, tDH | Vincoli temporali di scrittura (ciclo, impulso, setup/hold dati) |
| Evaluate |