Come molti sapranno, quando si acquistano delle memorie ram, bisogna tenere conto due principali valori: Frequenza / Latenza, in questo post spiegherò il significato dei Timings/SubTimings (Sarebbero la Latenza) è come settarli al meglio per massimizzare le prestazioni.
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. Da impostare al valore più basso (stabile) per massimizzare le prestazioni.
RAS to CAS Delay ( TRCD ): Indica il ritardo (delay), tra il segnale di RAS e quello di CAS. Da impostare al valore più basso (stabile) per massimizzare le prestazioni.
RAS Precharge Time ( TRP ): Questo valore indica l'intervallo di tempo tra un comando RAS e il successivo. Da impostare al valore più basso (stabile) per massimizzare le prestazioni.
Cycle Time ( TRAS ): Indica l'intervallo di tempo necessario, per prelevare un dato da una cella di memoria e renderlo disponibile per l'output. Da impostare al valore più basso (stabile) per massimizzare le prestazioni.
Row Refresh Cycle Time ( TRFC ): indica l'intervallo di tempo, tra il comando di auto-refresh ed un qualsiasi comando successivo (di scrittura, lettura, o auto-refresh). Da impostare al valore più basso (stabile) per massimizzare le prestazioni.
Command rate ( CR ): Può essere impostato 1t/2t/3t, in linea di massima 1t ha migliori prestazioni (latenza più bassa), però impostando 2t/3t si avranno maggiori possibilità nell'overclock della frequenza, quindi consiglio di impostarlo a 1t se si utilizzano ram inferiori ai 2000mhz.
SubTimings
Write Recovery Time ( TWR ): Permette di impostare 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 fosse troppo basso, una parte dei dati non sarebbe leggibile, e dovrebbero essere ri-inviati perdendo prestazioni. Per questo motivo questo valore non bisogna abbassarlo troppo.
Row Cycle Time ( TRC ): Permette di impostare il tempo necessario per eseguire due richieste di lettura consecutive. Questo valore conviene impostarlo dalla somma del TRP + TRAS per massimizzare le prestazioni.
Ras to Ras Delay ( TRRD ): Permette di impostare il tempo che passa tra due segnali di attivazione, dello stesso banco di memoria. Da impostare al valore più basso (stabile) per massimizzare le prestazioni.
Refresh Rate (TREFI): Permette di impostare il tempo che passa tra due refresh consecutivi. Da impostare al valore più basso (stabile) per massimizzare le prestazioni, permette un notevole aumento delle prestazioni.
Write to Read Delay Time (Twtr): Permette di impostare il tempo necessario per eseguire un'operazione di lettura, dopo aver completato la precedente operazione di scrittura. Da impostare al valore più basso (stabile) per massimizzare le prestazioni.
Read to Write Delay Time (Trtw): Permette di impostare il tempo che passa, tra un'operazione di lettura e la successiva di scrittura, che riguardano lo stesso banco di ram. Da impostare al valore più basso (stabile) per massimizzare le prestazioni.
Write Cas Latency (Twcl): Permette di impostare la durata tra una scrittura di un dato e il tempo che il sistema impiega per prelevare il dato. Da impostare al valore più basso (stabile) per massimizzare le prestazioni.
Round Trip Latency ( RTL ): Permette di impostare il numero di cicli d'Uncore che permettono di inviare i dati letti dal Cas, e inviarli al DIMM. Da impostare al valore più basso (stabile) per massimizzare le prestazioni.
Write to Precharge ( TWTP ): Permette di impostare il numero di cicli che vengono inseriti tra un comando di Scrittura, da una riga pre-caricata a un comando per lo stesso rango.
Read to Pregharge ( TRTP ): Permette di impostare il numero di cicli che vengono inseriti tra un comando di lettura, da una riga pre-carica a un comando per lo stesso rango.
Idle Cycle Limit: Permette di impostare il numero massimo di tentativi di accesso che il controller della memoria (si può trovare all'interno del Northbridge oppure integrato nel processore) esegue verso una cella di ram, prima che questa mandi il segnale per passare alla sucessiva cella.
Ci sono altri Valori modificabili (meno importanti, perché molto spesso la modifica, provoca instabilità) , che regolano il tempo necessario, per leggere o scrivere. In generale per avere maggiori prestazioni bisogna abbassarli.
Write to Read ( Different dimms ), Write to Read ( different ranks ), Write to Read (same rank), Read to Write ( different dimms ), Read to Write (different ranks ), Read to Write (same rank ), Read to Read (different dimms ), Read to Read (different ranks ), Read to Read (same ranks ), Write to Write ( different dimms ), Write to Write ( different ranks ), Write to Write (same rank )Ottimizziamo le Ram
Software necessari:
Cpu-z (1.54)
Everest Ultimate 5.50
CPU-Tweaker (1.5 finale)
LinX
Sistema utilizzato per questa guida:
Cpu = i7 920 Step D0 lory.hacker edition
Mb = Gigabyte X58A-UD7
Ram = G.skill Trident 1600mhz 6-7-6-18-2t 1,60v
Alimentatore = Corsair 950W
Dissipatore = Impianto a liquido Ybris
Vga = hd4890
Hd = 500gb 7200rpm
S.o= Windows 7 64bit lite.
Per ottimizzare i timing/subtiming consiglio di farlo da Windows, successivamente (quando abbiamo trovato i valori migliori) possiamo inserirli direttamente dal bios, in questo modo saranno sempre caricati.
Da everest andati in "strumenti" -> "Benchmarck cache e memoria"->

Adesso possiamo testare le prestazioni delle nostre ram, infatti basterà cliccare su Start benchmarck, e dopo pochi secondi appariranno i dati.
Valori più alti per: Read / Write / Copy significano più prestazioni, invece il valore Latency dovrà essere il più basso possibile. Dovete tener conto solamente della prima fila "memory".
Adesso possiamo incominciare ad abbassare manualmente i Timing tramite il software Cpu-Tweaker, abbassatene uno per volta, e poi fatte un test con Everest, dovrete provare a diminuirli sino a quando il pc non si blocca/crasha. Poi passate ai Subtiming ed eseguite la stessa procedura. Quando avete trovato i valori più bassi, bisognerà testare le ram per sapere se sono perfettamente stabili, useremo il software LinX, impostandolo al 70% della ram in nostro possesso (esempio: con 2gb di ram, dovremo testare con circa 1400mb) per 15 cicli. Se il pc non crasha, ci segniamo i valori in un foglio e li riportiamo direttamente nelle impostazioni delle ram nel Bios. se invece crasha dovremmo cambiare i valori 1 ad 1 ed eseguire un ciclo di linx, e ripetere questa operazione... ci vorrà un pò di tempo.
Attenzione: Se il pc dopo aver impostato manualmente i Timing/Subtiming dal bios non dovesse partire, Bisognerà resettare il bios tramite "Clear Cmos" (togliere la batteria circolare per qualche secondo).
Esempio
Screen ram 16xxmhz 6-7-6-18 (come da specifica)

Screen ram 16xxmhz (ottimizzate)
Aumento con ram ottimizzate:Lettura:
+ 7,5 %Scrittura:
+ 4,1%Copiatura:
+ 18,1%Latenze:
-7% (ricordo che più basso è= prestazioni maggiori)
Aumento medio= 9,2%
Ovviamente per conoscere l'aumento reale, conviene eseguire qualche benchmark 2d/3d.
ps: Con certe schede madri Asus non è possibile modificare i timing da windows, quindi dovrete modificarli direttamente dal bios, eseguendo la stessa procedura di test.