sabato 1 giugno 2013

Come Scegliere l'Hardware - La Memoria RAM



1.    INTRODUZIONE

In questa terza parte della serie “come scegliere l'hardware” daremo uno sguardo più approfondito ai parametri che permettono di capire le prestazioni delle schede di memoria RAM, cercando come al solito di mantenere sempre un linguaggio preciso ma al contempo di facile comprensione.


La RAM è un tipo di memoria relativamente veloce, per prestazioni seconda solo alla memoria cache del processore. Inoltre grazie ai suoi costi di gran lunga inferiori a quelli di una memoria cache è possibile disporre di grandi quantitativi di spazio, nell'ordine dei gigabyte, a differenza dei megabyte e kilobyte delle memorie cache.

       La funzione della RAM consiste nel comunicare con la CPU, e più nello specifico leggere e scrivere tutte le variabili, le costanti e le istruzioni indicate dai programmi in esecuzione.


2.     CPU-Z E LE CARATTERISTICHE DELLA MEMORIA

   Aprendo il programma CPU-Z e selezionando le voci “Memory” e “SPD” ci verranno fornite tutte le informazioni che bisogna conoscere sulle schede RAM montate sulla nostra scheda madre.

    I valori presenti nelle due immagini verranno presi come esempio per i successivi riferimenti.


       Cominciamo a leggere le caratteristiche elencate nella sezione “Memory”.

       In “Type” viene riportata la generazione della scheda di memoria montata. In questo caso una DDR3 (DDR sta per Double Data Rate). La tecnologia DDR permette di sfruttare, in una RAM, sia il fronte di salita che il fronte di discesa del ciclo di Clock, raddoppiando le capacita` di trasferimento dei dati senza dover aumentare la frequenza del bus di memoria.

    Vediamo alcune differenze di base tra le memorie DDR, DDR 2 e DDR3:




  • Le ultime generazioni di memoria sono energicamente più efficienti: le DDR lavorano a 2.5V, le DDR2 lavorano a 1.8V, le DDR3 lavorano a 1.5V.


  • Le ultime generazioni di memoria riescono a raggiungere frequenze più elevate.


  • Le ultime generazioni di memoria necessitano di più cicli per eseguire gli ordini richiesti dal memory controller. Tuttavia queste latenze vengono compensate da una velocità di clock superiore. Vedremo come imparare a raffrontare i tempi di latenza nel corso dell’articolo.

       In “Size” viene visualizzato il quantitativo di megabyte di memoria installati sulla scheda madre.

       In “Channel” viene riportato come stanno lavorando le schede di memoria installate. In questo caso come vedete dall’immagine di CPU-Z le schede stanno lavorando in modalità Dual Channel, il che significa che la velocità di trasferimento dati è raddoppiata. La velocità di trasferimento di un singolo banco di memoria si visualizza entrando nel pannello SPD di CPU-Z e osservando la voce “Max Bandwidth”. I numeri che seguono PC3 (dove 3 corrisponde al numero che identifica la generazione DDR) indicano la velocità di trasferimento dati espressa in megabyte per secondo: nel caso dell’immagine la velocita`corrisponde a 10700 MB/s; ma dato che stiamo sfruttando il Dual Channel la velocità massima reale corrisponderà a 21400MB/s. Questo e` il motivo per il quale risulta essere piu` efficiente disporre di due banchi piu` piccoli piuttosto che un singolo piu` grande. 

       Tutte le schede madri di fattura abbastanza recente supportano la funzionalità Dual Channel, alcune addirittura, come le schede predisposte per il socket LGA 2011 supportano la funzionalità Quad Channel che quadruplicherà la velocità di trasferimento dati. Ovviamente per sfruttare questa opportunità è necessario installare almeno quattro banchi di memoria. In genere per sfruttare la modalità Dual channel, in caso disponessimo di soli due banchi, questi dovranno riempire gli slot disponibili in modo alternato.

       In “DRAM Frequency” è visualizzata la frequenza reale di utilizzo della RAM. Da notare che la frequenza reale corrisponde alla metà della frequenza DDR, che in realta` indica i megatransfer per secondo (1MT/s = a un milione di trasferimenti per secondo). Pertanto una DDR 3 1600 MT/s avrà una frequenza reale di 800 MHz, una DDR 2 800 MT/s avrà una frequenza reale di 400 MHz e così via...

       In “FSB:DRAM” viene visualizzato il rapporto tra il bus di sistema e la velocità della RAM. Un rapporto 1:6 significa che la RAM è sei volte più veloce del bus di sistema. Dal rapporto è possibile ricavare la frequenza reale di utilizzo, conoscendo il moltiplicatore RAM del processore e la frequenza del FSB. Sapendo che i processori Sandy Bridge utilizzano un moltiplicatore della RAM fissato a 1,33 bisognerà moltiplicare questo valore per il numero del rapporto e per la frequenza del FSB. quindi 6 × 1,33 × 100 MHz (frequenza FSB di default dei Sandy Bridge). Il risultato dell’operazione corrisponderà a 798 MHz, lo stesso valore visualizzato in DRAM Frequency.

3.    I TIMINGS DELLA RAM

       I prossimi quattro valori analizzati da CPU-Z indicano le latenze della RAM per eseguire i comandi richiesti.

       Queste latenze vengono espresse in cicli di clock. Generalmente le latenze sono trascritte anche direttamente sulla scheda solitamente questi valori sono riportati nel seguente schema CL-tRCD-tRP-tRAS, in alternativa viene riportato solo il parametro CL.

       Naturalmente più questi valori sono bassi più la scheda di memoria sarà performante a parita` di frequenza. Questi valori, infatti, essendo riferiti ai cicli di clock, forniscono una misura dei tempi di latenza se confrontati con la frequenza reale della RAM. Dopo aver descritto ogni parametro illustreremo i calcoli matematici da eseguire per trasformare un determinato numero di cicli in un intervallo di tempo esprimibile in nanosecondi.

       CAS# Latency (CL) rappresenta l’intervallo di cicli necessario tra la richiesta dei dati del processore e l’inizio dell’invio degli stessi.

       RAS# to CAS# Delay (tRCD) costituisce l’intervallo di cicli che passa tra il comando di attivazione riga e il comando di lettura o scrittura,cioè il ritardo del segnale CAS rispetto al segnale RAS.

       RAS# Precharge (tRP) indica il ritardo tra il momento in cui un comando di selezione riga viene dato e il prossimo comando.

       Dopo che un comando attivo è stato rilasciato, un altro comando di precarica non può essere rilasciato fino a che il tRAS non è trascorso. Questo parametro limita la memoria e ci dice dopo quanto puo` iniziare a leggere o scrivere su una riga diversa.

       Command Rate (CR) è l’intervallo di tempo che intercorre tra 2 comandi consecutivi impartiti al chip di memoria; tipicamente esso può valere 1 o 2 cicli di clock.

       Forniamo ora le operazioni da eseguire per convertire i clock di latenza in un intervallo di tempo che esprimeremo in nanosecondi. Un nanosecondo corrisponde a un miliardesimo di secondo, cioe` 0.000000001s, oppure in linguaggio scientifico 10^(-9)s.

       Per ottenere l’intervallo di tempo dovremo moltiplicare il periodo di clock per il numero di cicli.

       Quindi (1/Hz reali)x N.Cicli.

       Esplicitiamo l’equazione prendendo come riferimenti la frequenza di una DDR 3 1600MT/s (800 MHz reali) e calcolando la CAS# Latency con CL=9 cicli.

       800 MHz corrispondono a 800 × 10^6 Hz. Quindi l'equazione risultante corrispondera` a [(1x10^9)/(800 x 10^6 Hz)] x 9=. Da notare che 10^9 al numeratore indica il fattore di conversione perche` il risultato sia convertito direttamente in nanosecondi, in modo che non risultino alla fine troppi numeri decimali.

       Semplificando: (1000/800)x9= 11.25 ns. Questo risultato significa che, con questo modello di RAM, dal momento che il processore richiede i dati alla restituzione degli stessi passano 11.25 ns.

       Questa operazione è applicabile a tutte le voci che riguardano le latenze viste precedentemente.

       Se consideriamo un modulo DDR 2 800 MT/s (400MHz reali) con CL5 scopriremo, applicando la stessa formula, che nonostante i cicli richiesti siano solo 5, il tempo di latenza sara` di 12.5ns, piu` alto della DDR 3 1600 CL9 vista prima.

       Dalla sezione SPD di CPU-Z otterremo altre informazioni sui singoli banchi di memoria, tra cui:




  • Nome del produttore


  • Codice del prodotto


  • Numero seriale del prodotto


  • Settimana e anno di produzione


  • Le frequenze, i voltaggi e le latenze a cui la scheda di memoria può lavorare. Per modificare la configurazione della RAM bisognerà accedere al menu apposito dal bios della scheda madre.

       In fine segnaliamo che per server e workstation è possibile implementare memorie di tipo ECC, dove ECC sta per Error Correction Code. Questi tipi di schede ram presentano dei bit supplementari che consento di correggere errori di trascrittura dei dati. Tuttavia solo certi tipi di processori e schede madri sono in grado di supportare questi tipi di memorie.

4.    COMPATIBILITA'  CON LA SCHEDA MADRE

       Quando bisogna scegliere un modello di RAM per una determinata scheda madre è bene fare attenzione ad alcuni fattori per essere certi della completa compatibilità tra i due:




  1. In primo luogo biosogna fare attenzione che la scheda madre supporti il determinato tipo di memoria. DDR3 o DDR2 ecc...


  2. E' importante ricordare che nonostante i type per portatili e desktop siano uguali, i formati sono diversi. I portatili montano memorie di formato SO-DIMM al contrario delle schede madri per computer desktop che montano schede ram DIMM.


  3. E' necessario controllare che la scheda madre supporti le frequenze dello specifico modello di RAM. Molti produttori di schede madri indicano sui loro siti i modelli RAM testati e funzionanti sui loro prodotti.


  4. In fine bisogna fare attenzione al voltaggio. Intel consiglia di scegliere modelli di schede RAM con voltaggio operativo non superiore agli 1.575V.

5.    CONCLUSIONI

       Concludendo segnaliamo schematicamente i fattori da considerare quando bisogna procedere all’acquisto di una scheda di memoria RAM:




  • La compatibilita` con la scheda madre


  • La capacita`


  • La frequenza


  • Il voltaggio


  • I Timings relativi alle latenze


  • La larghezza di banda


  • Il rapporto qualita`/prezzo

       In fine tra i produttori di schede ram che consigliamo citiamo: Crucial, Gskill e Corsair.

       In caso aveste bisogno di ulteriori spiegazioni potete contattarci in ogni momento commentando l'articolo

Nessun commento:

Posta un commento