lunedì 6 gennaio 2014

                         Ram                     
Come abbiamo detto prima  La RAM è una memoria volatile  che viene cancellata nel momento in cui non riceve più energia elettrica, o meglio, ha bisogno di energia per memorizzare i dati.
La memoria viene riempita con nuovi dati nel momento in cui viene data alla RAM nuova energia.
Dal momento che i dati caricati sulla RAM sono diversi per ogni sessione, è inutile che vengano conservati in modo permanente nella memoria solo per cancellarli al successivo avvio.
Inoltre la RAM ha una velocità molto più alta del disco rigido, cosa che la rende ideale per memorizzare file temporanei in modo che la CPU possa elaborarli senza dover attendere che siano scritti sul lento disco fisso.
Il sistema sarà in grado di caricare tutti i file temporanei sulla RAM senza rallentare l'intero processo di caricamento.

La RAM è il buffer per il disco rigido in quanto memorizza in modo temporaneo i file che la CPU deve elaborare.
Ad esempio, quando si inizia a scrivere un nuovo documento Word, fino a che non viene salvato sul disco rigido rimane in memoria sulla RAM e se il PC si spegne, si perde l'intero contenuto, se non era stato salvato.
Meno quantità di RAM si ha, più velocemente diventa piena di dati ed il computer è costretto a scrivere i nuovi dati ricevuti sul disco (in un file chiamato file di swap o memoria virtuale) che, rispetto la RAM, è lentissimo.
Una volta che la memoria virtuale si riempie, il computer quasi si blocca e smette di funzionare (per questo motivo la memoria virtuale ha dimensioni variabili).
I tipi di Ram:
SRAM: La SRAMacronimo di Static Random Access Memory, è un tipo di RAM volatile che non necessita di refresh. I banchi di memorie SRAM consentono di mantenere le informazioni per un tempo teoricamente infinito, hanno bassi tempi di lettura e bassi consumi, specialmente in condizioni statiche. La necessità di usare molti componenti per cella le rende però più costose delle DRAM.
Le celle di una SRAM sono costituite da un circuito retroazionato formato da due invertitori logici le cui uscite sono collegate alle due estremità alle linee dei dati tramite due transistor detti porte di trasmissione. Le singole coppie di porte di trasmissione vengono abilitate a seconda della cella su cui deve essere effettuata la lettura o scrittura. Vengono rese disponibili sia il bit memorizzato che la sua negazione per un migliore controllo dei margini di rumore.
Sono solitamente usate per le memorie cache, dove elevate velocità e ridotti consumi sono caratteristiche fondamentali.
La famiglia delle memorie SRAM può essere poi suddivisa in:
·        async SRAM (SRAM asincrona): lavora in modo asincrono rispetto al clock della CPU, ciò comporta degli stati di attesa della CPU (wait state) per l'accesso, viene utilizzata come cache di secondo livello;
·        sync SRAM (SRAM sincrona): lavora in sincronia con il clock della CPU, si hanno quindi dei tempi di attesa ridotti (o annullati);
·        pipeline Burst SRAM: è ottimizzata per trasferimenti di pacchetti (burst) di dati.
DRAM:La DRAMacronimo di Dynamic Random Access Memory, è un tipo di RAM che immagazzina ogni bit in un diverso condensatore. Il numero di elettroni presenti nel condensatore determina se il bit è 1 o 0. Se il condensatore perde la carica, l'informazione è perduta: nel funzionamento la ricarica avviene periodicamente. Da qui la definizione di memoria dinamica, opposta alle memorie statiche come la SRAM. Per la caratteristica di perdere le informazioni in mancanza di energia, la DRAM viene definita anche volatile. Una caratteristica importante della DRAM è chiamata address multiplexing. Questa tecnica divide l'indirizzo delle celle in due parti e le manda in successione al chip agli stessi pin. Molti microprocessori includono il controllo logico della DRAM, evitando la necessità di un controllo dedicato nella memoria. Il chip possiede un gran numero di condensatori organizzati in righe e colonne. Per leggere una cella dell'insieme, il circuito di controllo calcola per prima cosa il numero di riga del dato, che manda ai pin del circuito di ingresso della memoria, quindi attiva il pin RAS (Row Address Strobe), che ordina al circuito di leggere l'indirizzo presente in entrata. Internamente, la DRAM collega la fila ad una serie di amplificatori chiamati sense amplifier, che leggono il contenuto di tutti i condensatori della fila e ne effettuano il refresh. Il circuito di controllo manda quindi il numero di colonna agli stessi pin del circuito, ed attiva il CAS (Column Address Strobe), facendo leggere al circuito l'indirizzo di colonna del dato. La DRAM lo usa per identificare il dato necessario all'interno dell'output degli amplificatori. Dopo un intervallo di tempo chiamato CAS access time, il dato viene trasmesso all'esterno tramite il pin I/O della DRAM.
Per la scrittura il procedimento è lo stesso, ma il controllo invece di ricevere dalla DRAM il dato alla fine, lo fornisce all'inizio.
Dopo un'operazione di lettura o scrittura, il controllo riporta i pin della memoria allo stato di riposo, per prepararla all'operazione successiva. La DRAM necessita di un intervallo di riposo tra un'operazione e la successiva, chiamato precharge interval.
Una volta che il circuito ha selezionato una riga, può scegliere vari dati in successione comunicandone l'indirizzo di colonna ed attivando il CAS. Questo metodo è più veloce del processo intero, e può essere usato soprattutto per le istruzioni del processore, che tendono ad essere immagazzinate consecutivamente.
La descrizione fatta sopra riguarda le DRAM a singolo bit. Molte DRAM sono multibit (spesso a quattro od otto), dato che possiedono più insiemi di celle che operano contemporaneamente, ognuno fornito di un pin I/O, e permettono il trasferimento di più bit contemporaneamente. Questo è grossomodo equivalente ad avere più DRAM che operano insieme, ma permette di risparmiare spazio dato che condividono ipin di indirizzo e di controllo.
Principio di funzionamento
 Attualmente le DRAM sono organizzate in un insieme di matrici quadrate di condensatori allo stato solido, la cui dimensione minima è tipicamente 1024 x 1024 bit cioè 1 M bit, ma nelle memorie recenti è anche maggiore. Di fatto, le prime DRAM (fino ad una capacità di qualche M bit), erano costituite da una sola matrice di elementi; l'aumento esponenziale della capacità della memoria ha reso necessaria l'adozione di una struttura multipla per ottimizzare le prestazioni e le capacità di recovery delle memorie.
Durante l'operazione di lettura si vuole acquisire il valore di un bit della matrice, identificato dal suo numero di riga e di colonna. Tuttavia per ottenere la lettura di questa cella, in realtà vengono letti e riscritti tutti gli elementi della riga della matrice a cui appartiene la cella. L'operazione di riscrittura è necessaria perché durante l'operazione di lettura la carica elettrica contenuta nelle celle viene degradata; così i dati devono essere ricaricati riscrivendoli. Dei dati così ottenuti viene poi selezionato per l'uscita un unico bit, quello relativo alla colonna della cella indirizzata. L'operazione di scrittura di una cella avviene in modo simile; l'unica differenza è che nell'operazione di riscrittura viene inviato sulla colonna della cella da modificare il valore del bit che si vuole scrivere sulla cella.
Ciascuna cella di una DRAM richiede un condensatore allo stato solido per memorizzare il bit di informazione e un transistore MOS per controllare l'accesso alla cella. Per questo motivo le celle DRAM sono più piccole e più economiche delle celle utilizzate per le RAM statiche SRAM, le quali usano latch che richiedono l'uso di quattro o sei transistori MOS, due o quattro per la realizzazione di un doppio inverter logico, e altri due per controllare l'accesso alla cella. Ciò significa che a parità di tecnologia e di anno di produzione le memorie DRAM disponibili hanno tipicamente una capacità quadrupla rispetto alle SRAM disponibili. Questo vantaggio ha però un prezzo. Infatti, come visto, nelle DRAM le operazioni di lettura sono distruttive, richiedono cioè la riscrittura del dato; questo non è necessario nelle SRAM in cui le operazioni di lettura non alterano il valore memorizzato. Inoltre, purché la memoria sia alimentata elettricamente, la cella SRAM può mantenere il dato memorizzato per un tempo indefinito. Ciò non accade per la cella DRAM; infatti poiché il bit di informazione è memorizzato come carica (presente o assente) su un condensatore, e poiché il transistore della cella non isola completamente il condensatore dalla sua colonna, il risultato è che anche se non letta la carica del condensatore si degrada rapidamente e diventa inutilizzabile in tempi dell'ordine delle decine di msec. Quindi, indipendentemente dalle operazioni di lettura-scrittura, è necessario effettuare periodicamente (a frequenze dell'ordine dei KHZ) un'operazione di lettura+riscrittura fittizia di ogni riga della matrice (refreshing). Da questa necessità deriva il termine dinamica che caratterizza questo tipo di memoria. Mentre nelle prime memorie DRAM questa operazione doveva essere comandata esternamente, attualmente questa operazione è comunemente automatizzata direttamente all'interno del circuito integrato della memoria utilizzando una unità logica dedicata; questo complica il circuito e ne diminuisce la capacità.
Un'alternativa alla DRAM è la memoria flash. La memoria flash disponibile attualmente costa leggermente meno della DRAM, non è volatile, ma è più lenta della DRAM in lettura e decisamente non paragonabile in scrittura.
Alcuni tipi di ram in commercio

Nessun commento:

Posta un commento