domenica 19 febbraio 2017

Memoria RAM: cos'è e come funziona


Dopo aver parlato di CPU e scheda madre, oggi mi voglio soffermare su un componente ugualmente fondamentale: la memoria RAM.

La RAM (Random Access Memory) è una memoria volatile, questo significa che tutti i dati in essa contenuti vengono salvati in maniera temporanea. Per immagazzinare i dati e mantenerli salvati, infatti, la memoria RAM ha bisogno di energia e di conseguenza nel momento in cui il computer viene spento tutti i dati vengono cancellati e la memoria si svuota completamente.

Essendo una memoria ad "accesso casuale" la RAM garantisce lo stesso tempo di accesso a qualsiasi indirizzo di memoria, rendendola di conseguenza una memoria molto veloce e adatta ad immagazzinare i dati che dovranno essere poi passati alla CPU e processati.

Normalmente i dati sono salvati nella memoria di massa (Hard Disk) in maniera permanente (non volatile), ma questa tipologia di memoria è molto lenta e non permetterebbe al processore di lavorare velocemente, per questo motivo risulta fondamentale all'interno di un computer il ruolo della memoria RAM, chiamata anche memoria primaria, con il compito di recuperare le informazioni dalla memoria di massa e renderle disponibili in maniera molto veloce al processore.

Le moderne memorie RAM sono di tipo "sincrono", cioè sfruttano il segnale di clock (segnale periodico che sincronizza l'intero sistema) per sincronizzare le operazioni di scambio di dati con il processore, inoltre hanno un controller di tipo DDR.

img_RAM

DDR

Lo standard DDR (Double Data Rate) permette di sfruttare sia il fronte di salita che quello di discesa del ciclo di clock.
In questa maniera è possibile raddoppiare la velocità di trasferimento, rispetto le vecchie RAM SDR (Single Data Rate) che invece sfruttavano un solo fronte, lasciando invariata la frequenza del "bus di memoria" (canale in cui fluiscono le informazioni scambiate tra RAM e memory controller).

Lo standard DDR si è evoluto nel tempo fino ad arrivare all'attuale DDR4 (quarta generazione).
In ogni generazione c'è stato un sensibile aumento delle frequenze e quindi delle velocità di trasferimento, ma nonostante questo si è riusciti a diminuire le tensioni elettriche (misurate in volt) necessarie al loro funzionamento, passando da 2.5v a 1.2v, e di conseguenza sono calati anche i loro consumi.

Le RAM vengono categorizzate secondo la loro frequenza (misurata in MHz) o anche secondo il loro "data rate", ovvero il numero di milioni di trasferimenti al secondo che la memoria è in grado di eseguire (misurato in MegaTransfer al secondo).

Una RAM di tipo DDR3-1066, per esempio, ci indica una frequenza di lavoro di 1066 MHz e un valore di 1066 MT/s.

ATTENZIONE: Nei programmi di analisi dell'hardware, nel campo che indica la frequenza della RAM, viene indicato un valore di frequenza dimezzato, nel caso del nostro esempio ci verrebbe infatti indicata una frequenza di 533 MHz (1066/2), è un errore? 

Assolutamente NO! 533 MHz indica la frequenza del "bus di memoria", ma come ho scritto poco sopra le moderne RAM sono di tipo DDR e quindi trasferiscono i dati sia in ingresso che in uscita del ciclo di clock raddoppiando così la frequenza di funzionamento e quindi la velocità di trasferimento delle informazioni. 

Una RAM DDR3-1066, quindi, con una frequenza di bus di memoria pari a 533 MHz, riuscendo a sfruttare sia il fronte di salita che quello di discesa del ciclo di clock funziona effettivamente a 1066 MHz (533 Mhz x 2).

I bus di memoria sono a 64 bit, ossia hanno 64 piste che collegano la RAM al Memory Controller.

Con queste informazioni si può facilmente calcolare la banda massima per canale:

V = 1066 MT/s * 64 bit = 68224 Mbit/s

ma poiché 8 bit = 1 Byte si otterrà:

V = 68224 Mbit/s / 8 bit = 8528 MB/s = 8,53 GB/s

Da quest'ultimo valore è possibile ricavare anche l'altra sigla con cui vengono caratterizzate le RAM e cioè "PCY-XXXX", sigla che  indica il tipo del modulo di memoria.

La Y è un numero (2,3,4,...) che indica il tipo di chip di memoria che il banco di RAM monta, ad esempio il 2 corrisponde a chip con standard DDR2, il 3 allo standard DDR3, e così via.

La sigla XXXX, invece, indica proprio il valore della banda massima (in MB/s) arrotondato.

Nel caso del nostro esempio, infatti, ad una RAM "DDR3-1066" corrisponde la sigla "PC3-8500".

tabella_info_memorie_RAM
Tabella riassuntiva degli standard RAM più diffusi

Latenze

I precedenti calcoli, però, si riferiscono a velocità teoriche poiché nella realtà le velocità di trasferimento, e quindi anche le prestazioni delle RAM, vengono sensibilmente intaccate dai fenomeni di latenza che si verificano durante le operazioni di scrittura e lettura.

Per questo motivo ad ogni memoria RAM vengono associati dei tempi chiamati "timings", misurati in unità di cicli di clock o nanosecondi, per indicarne le latenze.
A parità di frequenza, naturalmente, saranno più performanti le RAM con timings, e quindi latenze, più bassi.

I timings principali sono:

  • CAS Latency Time (tCL),
  • RAS to CAS Delay Time (tRCD),
  • RAS Precharge (tRP)
  • Cycle Time (tRAS)
DIMM/SODIMM

Le singole memorie RAM per essere utilizzate vengono saldate su dei moduli di memoria (chiamati spesso "banchi di RAM"), i quali possono avere diversi formati.

I due formati più comuni sono:

  • DIMM: generalmente usato nei computer desktop
  • SODIMM: generalmente usato nei computer portatili poiché di dimensione inferiore.

I moduli di memoria, poi, sono definiti "single-sided", se hanno le memorie saldate solo su un lato, o "double-sided" se al contrario montano memorie su entrambi i lati.

img_comparativa_DIMM_SODIMM

Dual Channel

Associati alle RAM, spesso, si sentono termini come "Dual Channel", "Triple Channel" o "Quad Channel".
Per "Dual Channel" si intende una tecnologia in grado di raddoppiare la velocità di trasferimento delle informazioni tra RAM e controller di memoria, poiché non viene utilizzato un solo bus a 64 bit ma ben due in contemporanea, arrivando quindi a 128 bit.
Per poter sfruttare questa tecnologia è necessario avere una scheda madre che la supporti e due banchi di memoria del tutto identici
Teoricamente si potrebbero utilizzare anche banchi di memoria di produttori diversi aventi caratteristiche uguali, tuttavia molti produttori di schede madri disabilitano questa possibilità.

E' sempre meglio, quindi, usare banchi di RAM identici ed è per questo motivo che quasi tutti i produttori di RAM vendono kit composti da banchi uguali proprio per poterli utilizzare in configurazione Dual Channel.

Questa tecnologia si sta evolvendo nel tempo permettendo un incremento ancora maggiore delle prestazioni delle RAM, grazie infatti alle nuove tecnologie "Triple Channel" e "Quad Channel", che sfruttano rispettivamente 3 e 4 banchi di RAM, è possibile triplicare o addirittura quadruplicare le prestazioni.

Conclusioni

Per conoscere le caratteristiche delle memorie RAM installate nei propri computer vi consiglio il software: CPU-Z.

Spero che questo post possa chiarire le idee riguardo il complesso mondo delle RAM e dopo averlo letto non perdetevi il prossimo post su come scegliere la giusta memoria RAM per il vostro computer.

Per qualsiasi domanda sono a vostra disposizione e se il post vi è piaciuto non scordate di condividerlo sul vostro social preferito! ;)

Metti un mi piace


o condividi il post sui Social!


Clicca qui per tornare nella Home Page

Nessun commento:

Posta un commento

Metti la spunta a "Inviami notifiche" in basso a destra per essere avvertito via email di nuovi commenti al post.
Se il post ti è piaciuto condividilo su Facebook o su Twitter. Grazie!