Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
MEMORIE AD ACCESSO CASUALE
● Caratteristiche generali:
○ Ogni cella può essere indirizzata indipendentemente
○ I tempi di accesso sono uguali per ogni cella
● Segnali di controllo: Permettono alla memoria di sapere:
○ Il tipo di operazioni richieste (r, w)
○ quando i dati sono disponibili sul Dbus
○ quando gli indirizzi sono disponibili su Abus
Deve inoltre esistere un meccanismo con il quale è possibile sapere quando è
possibile procedere con un nuovo ciclo di accesso alla memoria:
○ Soluzione sincrona: la memoria e chi la utilizza condividono un segnale di
clock e sanno quando possono procedere con ciascuna operazione
○ Soluzione asincrone: la memoria e chi la utilizza non condividono nessun
segnale di clock, quindi necessitano di segnali di controllo, che dicono quand’
è possibile procedere con ciascun operazione, esempi di segnali di controllo
sono:
■ Chip Select (CS): da attivare per poter leggere o scrivere
■ Output enable (OE): da attivare per poter abilitare la scrittura su un
bus condiviso
■ Write enable (WE): da attivare per poter effettuare un'operazione di
scrittura
● Segnali di stato:
○ Errore: La memoria ha individuato una parola con un dato errato
○ MFC: la memoria ha completato l’operazione di lettura/scrittura
● Architettura: Formata da una matrice di memoria che è la parte HW che memorizza i
singoli bit, a tale matrice sono collegati due registri che memorizzano i dati prima di
entrare in memoria e dopo di uscire, sono utilizzati per la stabilità dei dati stessi ed
evitare dati spuri. Il registro d’indirizzi cattura un indirizzo dall’ Abus e lo manda al
decodificatore d’indirizzi che attiva la relativa linea da mandare alla memoria, tra i
pezzi collegati alla matrice di memoria è presente un Drivers che regolano la tensione
e la corrente
● Organizzazione: Il costo di una Ram dipende anche dalla complessità della circuiteria
di accesso, questa può essere ridotta tramite un'opportuna organizzazione delle celle
di memoria, abbiamo due tipologie principali:
○ Organizzazione a vettore: per ogni linea del decodificatore avremo una cella e
un driver, quindi avremo un decoder che cresce con l’aumentare delle parole
e di conseguenza aumentano anche i driver, è anche difficile il piazzamento
sul silicio se le parole sono tante
○ Organizzazione a matrice bidimensionale: sono presenti due decodificatori e
le celle sono disposte come una matrice, l’indirizzo è suddiviso in due parti,
ogni decodificatore riceve una parte dell’indirizzo e dunque ci permettono di
selezionare riga e colonna in modo da arrivare ad una singola cella, sono
presenti solo un decoder per riga e un decoder per colonna. Questo approccio
porta a un minor costo dell’HW ( due decoder piccoli al posto di uno grosso,
minor numero di driver), un layout più compatto e piazzamento su silicio più
semplice
● Segnali RAS e CAS: per ridurre il numero di segnali in ingresso, le RAM organizzate
a matrice prevedono un diverso protocollo di accesso, in tal caso l’indirizzo è fornito
in due fasi distinte e successive usando gli stessi segnali di indirizzo:
○ nella prima fase vengono forniti i segnali che vanno al decodificatore di riga,
accompagnati dal segnale RAS (Row Address Strobe)
○ nella seconda fase vengono forniti i segnali che vanno al decodificatore di
colonna, accompagnati dal segnale CAS(Column Address Strobe)
● Page mode: Qualora sia necessario accedere consecutivamente a celle poste ad
indirizzi successivi, e queste risiedono nella stessa riga della matrice è possibile
attivare il cosiddetto Page Mode:
○ si invia alla memoria l’indirizzo di riga accompagnato dal RAS
○ si invia alla memoria l’indirizzo di colonna accompagnato dal CAS
○ si accede al dato
○ si ripete dal punto 2
In questa maniera è possibile ridurre i tempi di accesso alla memoria
● Memorie a semiconduttore: le memorie sono attualmente i dispositivi a più alta
densità realizzati su silicio, al crescere dell’ integrazione è possibile aumentare la
capacità, aumentare la velocità, ridurre il consumo
● Le memorie possono essere suddivise in varie categorie:
○ ROM: la definizione del contenuto avviene prima della realizzazione su silicio,
e il suo contenuto non è in alcun modo modificabile in seguito. La ROM
dunque non è alterabile e non è volatile. Sono maggiormente utilizzate per:
programmi di sistema, tavole di funzioni e librerie di procedure
frequentemente usate. Il loro costo è dominato dal costo fisso per allestire la
produzione, il costo unitario è minimo
■ Costruzione: La cella ROM è costituita da una linea di dato connessa
all’alimentazione e una linea di parola pilotata dal decodificatore
d’indirizzi, a questa linea di parola è connesso un transistor che può
essere collegato o meno a massa, in base a P. Quando il transistor
riceve un 1 diventa un circuito chiuso, quindi se vogliamo memorizzare
0, P dovrà essere un cortocircuito (siamo collegati a massa), invece se
vogliamo memorizzare 1, P dovrà essere un circuito aperto
○ PROM: La scrittura è eseguita a fine del processo di produzione tramite delle
attrezzature chiamate programmatori che operano prima del montaggio del
dispositivo sulla scheda, architetturalmente si presentano come le ROM e
sono realizzate ponendo nel punto P un fusibile che può essere bruciato
durante la fase di programmazione creando un circuito aperto. Le PROM
dunque possono essere scritte una sola volta, sono preferibili alle ROM per
bassi volumi
○ EPROM: Possono essere riprogrammate dopo aver cancellato il loro
contenuto attraverso l’esposizione in maniera prolungata alla luce ultravioletta,
possono essere riscritte un numero indefinito di volte e possono essere
riscritte anche dopo che sono state montate sulla scheda (molto difficile).
Sono più costose delle PROM
○ EEPROM: Le EEPROM possono essere riprogrammate byte per byte anche
dopo il montaggio sulla scheda, ma l’operazione richiede più tempo di quella
di lettura, la scrittura viene eseguita tramite bus e segnali e sono più costose
delle EPROM
PROM,EPROM,EEPROM sono utilizzate quando devono essere realizzati sistemi in numero
limitato di pezzi, oppure per la realizzazione di prototipi.
○ Flash: Il costo è intermedio tra quello delle EPROM e EEPROM. Sono
memorie non volatili, in lettura si comportano come le RAM, mentre le
operazioni di scrittura: sono più lente, vanno eseguite a blocchi, richiedono
una precedente operazione di cancellazione. Le flash sono inoltre in grado di
eseguire un numero limitato di cicli di scrittura. Sono il componente principale
utilizzato per le memorie di massa a stato solido (SSD). La memoria flash è
un tipo specifico di EEPROM e le operazioni sono basate da un transistor
MOSFET. La memoria flash è composta da un Control Gate, un Floating Gate
e dalle linee di parola e di bit. Quando una cella è letta attiviamo il control gate
che porta la bit line a tensione alta o bassa a seconda che il Floating Gate sia
carico o meno. La scrittura avviene intrappolando elettroni nel Floating Gate,
tale operazione richiede l’applicazione di tensioni elevate sul Control Gate
Le flash si dividono in due tipi:
■ Flash di tipo NOR: hanno lo stesso comportamento di una RAM ma
sono più lente e resistono per un numero limitato di
cancellazioni/scritture
■ Flash di tipo NAND: possono essere e scritte solo a blocchi. Sono più
dense, più veloci e resistenti. Esistono due tipi di NAND flash:
● A singolo livello: ogni cella memorizza un bit
● A livello multiplo: ogni cella memorizza due bit
● RAM: Sono due i tipi di RAM:
○ memorie statiche:
■ la singola cella corrisponde a un Flip-Flop
Cella di ram statica: Composta da una linea di parola, due linee di dato e un
Flip-Flop di tipo SR modificabile solo se i due transistor ai lati si comportano
come un circuito chiuso.
Scrittura: per scrivere un dato in una cella di ram statica si deve prima attivare
la linea di parola corrispondente alla cella, in questo modo i due transistor
diventano dei corto circuiti. Forziamo adesso i bit (opposti )nelle due linee di
dato e a seconda di tali bit verrà memorizzato il valore corrispondente e il suo
valore negato.
Lettura: per leggere il valore di una cella di ram statica attiviamo la linea di
parola corrispondente alla cella, i transistor diventano dei circuito chiusi, così il
flip-flop forzerà i due valori opposti sulle linee di dato.
Se la linea di parola non è attivata i due transistor sono dei circuiti aperti e
dunque il flip-flop mantiene il suo valore.
Notiamo che per l’implementazione di una cella di ram statica abbiamo
bisogno di 6 transistor ( di cui 4 per il flip-flop, 2 per ogni porta NOR ), quindi il
costo totale di realizzazione di una ram statica è elevato, ma la memoria
complessiva sarà veloce.
○ memorie dinamiche:
■ La singola cella corrisponde ad un condensatore e ad un transistor
■ l’informazione è memorizzata sotto forma di carica del condensatore
■ richiedono un rinfresco periodico dell’informazione
■ la lettura è distruttiva
La cella di ram dinamica è composta da un condensatore ed un transistor
collegato ad una linea di parola ed a una linea di dato. Il suo funzionamento si
basa sullo sfruttare la capacità parassita che è sempre presente al momento
della costruzione del transistor.
Scrittura: per scrivere una cella di ram dinamica occorre attivare la
corrispondente linea di parola affinché il transistor diventi un corto circuito,
forziamo adesso la linea di dato che caricherà o scaricherà il condensatore.
Lettura: per leggere una cella di ram statica occorre attivare la corrispondente
linea di parola affinché il transistor diventi un corto circuito, cosicché il
condensatore possa forzare la carica ( se presente ) sulla linea di dato. E’
evidente che serve un sensore sulla linea di dato che permetta di rilevare se il
condensatore era carico o meno. Questa operazione comporta l’annullamento
della carica elettrica immagazzinata nel condensatore con la conseguente
perdita dell’informazione, infatti ad ogni lettura la memoria deve forzare un
ciclo di scrittura per ripristinare il valore letto
Caratteristiche: Per realizzare una cella di ram dinamica c’è bisogno di un
solo transistor, quindi possiamo realizzare memorie più dense e meno costose
delle precedenti, ma saranno più lente perché entra in gioco il processo di
carica/scarica del condensatore.
Rinfresco: Consiste nell’operazione di amplificazione ver