Cos’è la RAM (memoria ad accesso casuale)?

,

Indice

Cos’è la RAM (memoria ad accesso casuale)?

La memoria ad accesso casuale (RAM) è l’hardware di un dispositivo di elaborazione che fornisce un archivio temporaneo per il sistema operativo (SO), i programmi software e qualsiasi altro dato in uso corrente, in modo che siano rapidamente disponibili per il processore del dispositivo. La RAM è spesso definita la memoria principale di un computer, in contrapposizione alla cache del processore o ad altri tipi di memoria.

La memoria ad accesso casuale è considerata parte della memoria primaria di un computer. È molto più veloce da leggere e scrivere rispetto all’archiviazione secondaria, come unità disco rigido (HDD), unità a stato solido (SSD) o unità ottiche. Tuttavia, la RAM è volatile; conserva i dati solo finché il computer è acceso. Se si verifica un’interruzione di corrente, lo stesso vale per i dati. Quando il computer viene riavviato, il sistema operativo e altri file devono essere ricaricati nella RAM, solitamente da un HDD o SSD.

Come funziona la RAM?

Il termine accesso casuale, o accesso diretto, come si applica alla RAM si basa sul fatto che qualsiasi posizione di archiviazione può essere accessibile direttamente tramite il suo indirizzo di memoria e che l’accesso può essere casuale. La RAM è organizzata e controllata in modo da consentire l’archiviazione e il recupero dei dati direttamente da e verso posizioni specifiche. Altri tipi di archiviazione, come un HDD o un CD-ROM, possono essere accessibili anche direttamente e in modo casuale, ma il termine accesso casuale non viene utilizzato per descriverli.

In origine, il termine memoria ad accesso casuale veniva utilizzato per distinguere la normale memoria core dalla memoria offline. La memoria offline in genere si riferiva al nastro magnetico da cui si poteva accedere a un dato specifico solo individuando l’indirizzo in sequenza, a partire dall’inizio del nastro.

La RAM è simile nel concetto a un set di box organizzati in colonne e righe, con ogni box contenente uno 0 o un 1 (binario). Ogni box ha un indirizzo univoco che viene determinato contando lungo le colonne e lungo le righe. Un set di box RAM è chiamato array e ogni box è noto come cella.

Per trovare una cella specifica, il controller RAM invia l’indirizzo di colonna e riga lungo una sottile linea elettrica incisa nel chip. Ogni riga e colonna in un array RAM ha la propria linea di indirizzo. Tutti i dati letti dall’array vengono restituiti su una linea dati separata.

La RAM è fisicamente piccola e memorizzata in microchip. I microchip sono raccolti in moduli di memoria, che si inseriscono negli slot della scheda madre di un computer. Un bus, o un set di percorsi elettrici, viene utilizzato per collegare gli slot della scheda madre al processore.

La RAM è anche piccola in termini di quantità di dati che può contenere. Un tipico computer portatile potrebbe essere dotato di 8 GB o 16 GB di RAM, mentre un disco rigido potrebbe contenere 10 TB di dati. Un disco rigido memorizza i dati su una superficie magnetizzata che sembra un disco in vinile. In alternativa, un SSD memorizza i dati in chip di memoria che, a differenza della RAM, sono non volatili. Non richiedono alimentazione costante e non perdono dati se l’alimentazione viene interrotta.

Di quanta RAM ho bisogno?

La maggior parte dei PC consente agli utenti di aggiungere moduli RAM fino a un certo limite. Avere più RAM in un computer riduce il numero di volte in cui il processore deve leggere i dati dal disco rigido o dall’unità a stato solido, un’operazione che richiede più tempo rispetto alla lettura dei dati dalla RAM. I tempi di accesso alla RAM sono in nanosecondi, mentre i tempi di accesso all’archiviazione sono in millisecondi.

La memoria ad accesso casuale può contenere solo una quantità limitata di dati, molto meno di un archivio secondario come un SSD o un HDD. Se la RAM si riempie e sono necessari dati aggiuntivi, il sistema deve liberare spazio nella RAM per i nuovi dati. Questo processo potrebbe comportare lo spostamento temporaneo dei dati nell’archivio secondario, spesso tramite lo scambio o il paging dei file. Tali operazioni possono influire significativamente sulle prestazioni, motivo per cui è importante che un sistema abbia abbastanza RAM per supportare i suoi carichi di lavoro.

La quantità di RAM necessaria dipende da come viene utilizzato il sistema. Quando si modifica un video, ad esempio, si consiglia che un sistema abbia almeno 16 GB di RAM, anche se è auspicabile di più. Per l’editing di immagini in Photoshop, Adobe consiglia che un sistema abbia almeno 8 GB di RAM per eseguire Photoshop Creative Cloud su un Mac. Tuttavia, se l’utente lavora con più applicazioni contemporaneamente, anche 8 GB di RAM potrebbero non essere sufficienti e le prestazioni ne risentiranno.

Tipi di RAM

La RAM è disponibile in due forme principali:

Memoria ad accesso casuale dinamica (DRAM). La DRAM è solitamente utilizzata per la memoria principale di un computer. Come già detto, necessita di alimentazione continua per conservare i dati archiviati. La DRAM è più economica della SRAM e offre una densità maggiore, ma produce più calore, consuma più energia e non è veloce quanto la SRAM.

Ogni cella DRAM immagazzina una carica positiva o negativa contenuta in un condensatore elettrico. Questi dati devono essere costantemente aggiornati con una carica elettronica ogni pochi millisecondi per compensare le perdite dal condensatore. Un transistor funge da gate, determinando se il valore di un condensatore può essere letto o scritto.
Memoria statica ad accesso casuale (SRAM). Questo tipo di RAM è solitamente utilizzato per la cache ad alta velocità del sistema, come L1 o L2. Come la DRAM, anche la SRAM necessita di alimentazione costante per conservare i dati, ma non deve essere continua

continuamente rinfrescati come fa la DRAM. La SRAM è più costosa della DRAM e ha una densità inferiore, ma produce meno calore, consuma meno energia e offre prestazioni migliori.

Nella SRAM, invece di un condensatore che mantiene la carica, il transistor funge da interruttore, con una posizione che funge da 1 e l’altra da 0. La RAM statica richiede diversi transistor per conservare un bit di dati rispetto alla RAM dinamica, che necessita di un solo transistor per bit. Ecco perché i chip SRAM sono molto più grandi e costosi di una quantità equivalente di DRAM.
A causa delle differenze tra SRAM e DRAM, la SRAM è utilizzata principalmente in piccole quantità, in particolare come memoria cache all’interno del processore di un computer.

Storia della RAM: RAM vs. SDRAM

In origine la RAM era asincrona perché i microchip della RAM avevano una velocità di clock diversa da quella del processore del computer. Questo era un problema perché i processori diventavano più potenti e la RAM non riusciva a tenere il passo con le richieste di dati del processore.

All’inizio degli anni ’90, le velocità di clock furono sincronizzate con l’introduzione della RAM dinamica sincrona, o SDRAM. Sincronizzando la memoria di un computer con gli input del processore, i computer erano in grado di eseguire le attività più velocemente.

Tuttavia, la SDRAM a velocità dati singola originale (SDR SDRAM) raggiunse rapidamente il suo limite. Intorno all’anno 2000, fu introdotta la SDRAM a velocità dati doppia (DDR SRAM). La DDR SRAM spostava i dati due volte in un singolo ciclo di clock, all’inizio e alla fine.

Dalla sua introduzione, la DDR SDRAM ha continuato a evolversi. La seconda generazione fu chiamata DDR2, seguita da DDR3 e DDR4 e infine DDR5, l’ultima generazione. Ogni generazione ha portato velocità di trasmissione dati migliorate e un consumo energetico ridotto. Tuttavia, le generazioni erano incompatibili con le versioni precedenti perché i dati venivano gestiti in batch più grandi.

GDDR SDRAM

Graphics DDR (GDDR) è un altro tipo di SDRAM utilizzato nelle schede grafiche e video. Come DDR SDRAM, la tecnologia consente di spostare i dati in vari punti di un ciclo di clock della CPU. Tuttavia, GDDR funziona a tensioni più elevate e ha una temporizzazione meno rigorosa di DDR SDRAM.

Con attività parallele, come il rendering video 2D e 3D, i tempi di accesso ristretti non sono necessari e GDDR può consentire velocità più elevate e larghezza di banda di memoria necessarie per le prestazioni dell’unità di elaborazione grafica (GPU).

Simile a DDR, GDDR ha attraversato diverse generazioni di sviluppo, con ogni versione che offre prestazioni maggiori e consumi energetici inferiori. GDDR7 è l’ultima generazione di memoria grafica.

RAM vs. memoria virtuale

Un computer può avere carenza di memoria principale, soprattutto quando esegue più programmi contemporaneamente. I sistemi operativi possono compensare le carenze di memoria fisica creando memoria virtuale.

Con la memoria virtuale, il sistema trasferisce temporaneamente i dati dalla RAM all’archiviazione secondaria e aumenta lo spazio di indirizzamento virtuale. Ciò si ottiene utilizzando la memoria attiva nella RAM e la memoria inattiva nell’archiviazione secondaria per formare uno spazio di indirizzamento contiguo che può contenere un’applicazione e i suoi dati.

Con la memoria virtuale, un sistema può caricare programmi più grandi o più programmi in esecuzione contemporaneamente, lasciando che ciascuno funzioni come se avesse memoria infinita senza dover aggiungere altra RAM. La memoria virtuale può gestire il doppio degli indirizzi della RAM. Le istruzioni e i dati di un programma vengono inizialmente archiviati in indirizzi virtuali. Quando il programma viene eseguito, quegli indirizzi vengono tradotti in indirizzi di memoria effettivi.

Uno svantaggio della memoria virtuale è che può causare un rallentamento del computer perché i dati devono essere mappati tra la memoria virtuale e quella fisica. Con la sola memoria fisica, i programmi funzionano direttamente dalla RAM.

RAM vs. memoria flash

La memoria flash e la RAM sono entrambe costituite da chip a stato solido. Tuttavia, i due tipi di memoria svolgono ruoli diversi nei sistemi informatici a causa delle differenze nel modo in cui sono realizzati e nelle prestazioni, nonché nel loro costo.

La memoria flash viene utilizzata per archiviare i dati. La RAM riceve i dati dall’SSD flash e li fornisce al processore (tramite la cache). In questo modo, il processore ha i dati di cui ha bisogno molto più rapidamente rispetto a se li recuperasse direttamente dagli SSD.

Una differenza significativa tra RAM e memoria flash è che i dati devono essere cancellati dalla memoria flash NAND in blocchi interi. Ciò la rende più lenta della RAM, in cui i dati possono essere cancellati in singoli bit. Tuttavia, la memoria flash NAND è meno costosa della RAM e non è volatile, il che significa che può contenere dati anche quando l’alimentazione è spenta, a differenza della RAM.

RAM vs. ROM

La memoria di sola lettura, o ROM, è una memoria del computer che contiene dati che possono essere solo letti, non scritti (tranne per la scrittura iniziale). I chip ROM sono spesso utilizzati per memorizzare il codice di avvio che viene eseguito ogni volta che si accende un computer. I dati in genere non possono essere modificati o riprogrammati.

I dati nella ROM sono non volatili, quindi non vengono persi quando si spegne il computer. Di conseguenza, la ROM può essere utilizzata per l’archiviazione permanente dei dati. La RAM, d’altro canto, può contenere i dati solo temporaneamente. Il chip ROM di un computer in genere contiene solo diversi megabyte di archiviazione, mentre la RAM in genere ospita diversi gigabyte.