Guida all'ottimizzazione delle latenze RAM
Salve a tutti i lettori di HWMania.
Oggi proponiamo una guida tecnica che presenta come target l'ottimizzazione dei nostri moduli di memoria RAM, con lo scopo di aumentarne le prestazioni.
Al fine di massimizzare il contributo di questa guida, iniziamo con dei brevi cenni teorici, per comprendere al meglio di cosa stiamo parlando.
N.B: Lo Staff di HWMania non si assume la responsabilità per danni o malfunzionamenti di tipo Hardware o Software che possono derivare da un'errata interpretazione e applicazione di questa guida.
Introduzione - Cenni teorici
Cosa sono le RAM?
In maniera molto triviale, le RAM (Random Access Memory) sono un tipo di memoria ad accesso casuale (proprio dalla traduzione letterale anglosassone), ovvero che permette l'accesso diretto a qualunque indirizzo di memoria con tempi di accesso molto bassi. Per indirizzo di memoria si intende un'indirizzo fisico di una regione di memoria dove sono contenuti i dati sotto forma di bit, che mediante organi presenti nella CPU e bus sulla Mainboard vengono scambiati dalle memorie al processore per essere elaborati ed eseguiti.
Questo è cio che succede come principio a grandi linee.
Tornando ai nostri fini pratici, come alcuni sanno, quando si procede alla scelta per un acquisto delle memorie RAM, bisogna tenere conto di due principali valori: frequenza e latenza.
Procediamo con la spiegazione delle sigle presenti nel BIOS, di cui di solito si ignora il significato.
Timings
CAS Latency (CL): Valore più importante, indica il ritardo, in termini di cicli di clock, tra l'inoltro di una richiesta in lettura e l'istante in cui il dato è pronto per l'uscita. A valore inferiore corrispondono prestazioni maggiori.
RAS to CAS Delay (TRCD): Indica il ritardo (delay), tra il segnale di RAS e quello di CAS. A valore inferiore corrispondono prestazioni maggiori.
RAS Precharge Time (TRP): Questo parametro indica la differenza di tempo tra un comando RAS e il successivo. A valore inferiore corrispondono prestazioni maggiori.
Cycle Time (TRAS): Indica l'intervallo di tempo necessario, per prelevare un dato da una cella di memoria e renderlo disponibile per l'output. A valore inferiore corrispondono prestazioni maggiori.
Row Refresh Cycle Time (TRFC): Indica il delta T di tempo, tra il comando di auto-refresh ed un qualsiasi comando successivo (di scrittura, lettura, o auto-refresh). A valore inferiore corrispondono prestazioni maggiori.
Command rate (CR): Indica il numero di cicli di clock che intercorre tra la selezione di un chip ed il relativo comando. Impostabile su 1T, 2T, o 3T, al calare di questo valore, si ottiene meno stabilità ma anche latenze ridotte.
Sub-timings
Parametri meno conosciuti ma non per questo trascurabili:
Write Recovery Time (TWR): Il tempo necessario per eseguire un'operazione di scrittura e la successiva operazione di precharge (tempo necessario alla cella per tornare a regime). Se il tempo impostato è troppo basso, una parte dei dati diventa illeggibile, richiedendo un rinvio e perdendo prestazioni. È consigliabile non abbassare troppo questo valore.
Row Cycle Time (TRC): Il tempo necessario per eseguire due richieste di lettura consecutive. Questo valore dev'essere uguale alla somma del TRP + TRAS per massimizzare le prestazioni.
Ras to Ras Delay (TRRD): Il tempo che passa tra due segnali di attivazione nello stesso banco di memoria. A valore inferiore corrispondono prestazioni maggiori.
Refresh Rate (TREFI): Il tempo che passa tra due aggiornamenti consecutivi. A valore inferiore corrispondono prestazioni maggiori. In particolare, l'aumento delle prestazioni è molto sensibile all'abbassamento di questo valore.
Write to Read Delay Time (TWTR): Il tempo necessario per eseguire un'operazione di lettura dopo aver completato la precedente operazione di scrittura. A valore inferiore corrispondono prestazioni maggiori.
Read to Write Delay Time (TRTW): Il tempo che intercorre tra un'operazione di lettura e la successiva di scrittura nello stesso banco di RAM. A valore inferiore corrispondono prestazioni maggiori.
Write Cas Latency (TWCL): Il tempo che intercorre tra una scrittura di un dato e il tempo che il sistema impiega per prelevare il dato. A valore inferiore corrispondono prestazioni maggiori.
Round Trip Latency (RTL): Il numero di cicli dell'uncore che permette di inviare i dati letti dal CAS alla DIMM. A valore inferiore corrispondono prestazioni maggiori.
Write to Precharge (TWTP): Il numero di cicli che vengono inseriti tra un comando di scrittura da una riga pre-caricata a un comando per lo stesso rango. A valore inferiore corrispondono prestazioni maggiori.
Read to Precharge (TRTP) : Il numero di cicli che vengono inseriti tra un comando di lettura da una riga pre-carica a un comando per lo stesso rango. A valore inferiore corrispondono prestazioni maggiori.
Ottimizzazione RAM
Dopo aver consultato il "glossario", andiamo a operare sul campo .
Per procedere all'ottimizzazione avremo bisogno di alcuni software, tutti gratuiti: ecco la lista, coi relativi link per il download.
Software necessari
- AIDA64--->AIDA64 | PC Benchmark | System Diagnostics | Stability Test .;
- LINX CPU Stress Test--->Stress CPU con LinX;
- CPU Tweakers--->Tweakers.fr;
- CPU-Z--->CPUID - System & hardware benchmark, monitoring, reporting.
La procedura d'esempio è stata effettuata con la seguente piattaforma:
Cpu=Intel Core Q9650
Mb= Asus STRIKER II EXTREME skt 775 790i Ultra SLI
Ram= CORSAIR XMS3 DHX 2*2gb 1600 9-9-9-24
Vga= ASUS AMD EAH5870 FF Mod 1GB
S.O= Windows 7 64bit Home Edition.
Dopo aver scaricato tutti i tools necessari, possiamo finalemnte iniziare la procedura di ottimizzazione. Consiglio di variare i parametri da windows, con il software CPU Tweeker.
In questo modo eviteremo di riavviare il PC tante volte, quante sono i possibili crash di sistema dovuti all'instabilità. Dopo aver trovato i nostri parametri STABILI, potremo andare
nel bios e impostare manualmente i timings da noi testati e se la Mainboard lo permette, potremo anche salvarli in un profilo on board, in modo tale da averli sempre a disposizione.
Per ottimizzare i timing e con un pò di pazienza in più anche i subtiming,dobbiamo prima conoscere l'attuale livello di performance delle nostre RAM, e quindi andiamo su AIDA64
e nella casella "strumenti" ---> "Benchmark cache e memoria"->
e clicchiamo su START BENCHMARK.
Dopo qualche istante, la procedura di benchmark sarà terminata e noi potremo leggere i risultati che ne derivano.
ecco un'esempio sulla nostra configurazione di prova:
Ora iniziamo ad abbassare manualmente i Timing e subtimings tramite il software Cpu-Tweaker scaricato in precedenza, diminuendo un valore alla volta, in modo da identificare eventuali instabilità.
Finito di settare i/il parametro di nostra scelta, clicchiamo sul pulsante APPLY, cosi da applicare la nuova configurazione.
Dopo aver trovato i valori più bassi, bisogna testare le ram per verificare la loro stabilità. Per tale scopo useremo il software LinX.
Per verificare la REALE stabilità delle ram ottimizzate bisogna impostarlo all' 80% della ram installate sul nostro sistema per 20 cicli.
Dopo aver settato al meglio le RAM e verificato la loro stabilità andiamo a rieseguire una "valutazione" in termini di performance delle nostre RAM, sempre con lo stesso tools presente all'interno del software AIDA64.
Se il pc non crasha o comunque non manifesta alcun segno di instabilità, riavviamo il pc e li modifichiamo direttamente nei settaggi delle ram nel Bios.
se invece crasha dovremmo andare a variare i valori 1 ad 1 ed eseguire nuovamente un ciclo di linx, e ripetere le operazioni descritte in precedenza.
Esempio RAM Ottimizzate
Dopo aver eseguito il settaggio da CPU-Tweaker e verificato la totale stabilità dei nostri moduli di memoria, avviate il benchmark di AIDA64 per valutare in termini numerici i miglioramenti ottenuti.
Purtroppo le RAM a nostra disposizione non ci hanno permesso di spingere ancor di più, ottenendo miglioramenti di maggior rilievo. Comunque sia l'aumento prestazionale riscontrato è di circa il 10% sulle latenze delle RAM.
Considerando la natura delle RAM e che non si è ricorso a nessun overvolt (con un conseguente aumento delle temperature) ci possiamo ritenere più che soddisfatti.
In conclusione, chiunque possieda dei moduli RAM e decide di rivitalizzarli, può seguire questa guida, ottenendo sia nei benchmark che nel daily use miglioramenti tangibili, soprattutto in fase di avvio del pc, che se pur non esagerati, sono visibili.
N.B. È vietato riprodurre la guida nella sua interezza o in una delle sue parti su siti esterni ad HwMania.org senza chiedere l'autorizzazione al sottoscritto o ad uno degli Administrator SENZA CITARE LA FONTE. Ogni violazione di tale regola verrà punita ai sensi di legge in quanto furto di proprietà intellettuale, secondo normative sul Copyright Creative Commons e leggi Italiane.
Preferiti