View Single Post
Old 20-01-2010, 13:27   #3
Spitfire84
Senior Member
 
L'Avatar di Spitfire84
 
Iscritto dal: Mar 2005
Città: Mareno di Piave (TV)
Messaggi: 6066
OVERCLOCK DELLE RAM


Vediamo innanzitutto un po' di teoria riguardante la ram. La guida completa (by v_parrello) è raggiungibile qui.
Un modulo di memoria ram è una matrice di M righe ed N colonne, dove ad ogni M* ed N* corrisponde un bit. Per poter leggere e scrivere tale bit è necessario rispettare una serie di tempistiche, o meglio latenze, necessarie per il corretto funzionamento del modulo ram. Ovviamente latenze inferiori portano a prestazioni superiori, ma valori troppo bassi portano a problemi di instabilità ed errori.

Vediamo ora brevemente le latenze di maggior interesse che troveremo all'interno del bios delle motherboard per le cpu K10:
  • CAS Latency (CL): latenza, misurata in numero di cicli di clock, necessaria per far capire al controller della memoria in quale istante temporale gli verrà passato l'indirizzo di colonna;
  • RAS to CAS Delay (tRCD): dopo aver attivato una riga, prima di dare il successivo comando che indirizza la colonna, bisogna attendere un sempre un tempo pari al tRCD;
  • RAS Precharge (tRP): numero di cicli di clock necessari per precaricare i circuiti in modo da poter determinare la riga;
  • Cycle Time (tRAS): tempo minimo di disponibilità di una riga di memoria una volta attivata;
  • Bank Cycle Time (tRC): il minimo periodo di tempo tra l’attivazione di due righe nello stesso banco di memoria di un chip è il tRC;
  • Command Rate (CR): può valere 1T oppure 2T e indica se i comandi vengono impartiti alla memoria ogni ciclo di clock oppure ogni due cicli di clock;
  • Bank Interleaving: un array di memoria SDRAM è costituito in banchi; questo consente di minimizzare le latenze del sistema. Infatti, la presenza di più banchi consente, per esempio, di accedere una riga in un banco mentre contemporaneamente si sta eseguendo un refresh un’altra riga in un altro banco. Oppure di organizzare i dati nella memoria in modo tale che il prossimo dato che sarà acceduto sarà nell’altro banco e nella riga di memoria che è stata appena refreshata ed è pronta per essere letta/scritta, risparmiando un ciclo di refresh (ricordo che tutte le operazioni di lettura/scrittura sono associate ad un ciclo di refresh). In questo caso, ad un valore superiore, corrispondono prestazioni superiori.

- Vediamo infine alcune osservazioni pratiche sui tempi delle memorie.

Abbiamo visto precedentemente che il tempo minimo di disponibilità di una riga di memoria una volta attivata è dato dal tRAS, e tenendo conto che per leggere un valore devo aspettare un tempo minimo tRCD tra l’indirizzo di riga e colonna, un altro tempo minimo tCL tra l’indirizzo di colonna e la disponibilità della prima porzione di dati, avrò che

tRAS > tRCD + tCL
Inoltre visto che l’intero ciclo per leggere un burst di dati è dato dal tempo tRC e che il tempo necessario dall’attivazione all’uscita del primo chunk di dati è pari al massimo a tRAS e che per disattivare la riga avrò bisogno di un tempo pari al precharge tRP avrò che:
tRC= tRAS+ tRP
E’ da notare che di solito i tempi tRAS e tRC sono impostabili separatamente da BIOS allora potrebbe risultare qualche violazione delle equazioni prima descritte, e tuttavia non sarebbenulla di grave perché il controller di memoria aggiusterebbe autonomamente i valori tRAS e tRC per soddisfare le equazioni prima descritte.
Altra considerazione che si potrebbe fare è sul Refresh Period (tREF),infatti si è visto che dipende sostanzialmente dall’architettura dei chip di memoria e dalla frequenza di funzionamento, e quindi se si possiedono memorie che utilizzano dei chip di memoria che hanno un’architettura interna con 4 banchi di memoria e che funzionano a 200 MhZ, il valore del refresh andrebbe settato a 15.6 μs.

Sul settaggio dei vari timings di memoria si troverà materiale abbondante sui vari forum che parlano dell’argomento, lo scopo di questo tutorial era quello di cercare di far capire e applicare questi timings in maniera più “scientifica” e non affidandosi completamente a dei concetti spiegati senza capirne i motivi, o addirittura solamente accennati, quando addirittura non vengano inventati sulla base delle impressioni pratiche di funzionamento.

Un altro parametro di fondamentale importanza nelle ram è la frequenza di funzionamento.
La frequenza di funzionamento cambia a seconda che sia ddr2 o ddr3 (quest'ultima lavora a frequenza e latenze maggiori rispetto alla prima) ed a seconda dei chip saldati sul sul pcb. Starà all'overclocker, in fase d'acquisto, di informarsi sul chip migliore presente fra le ram prese in considerazione.
Nella tabella seguente sono riassunte le frequenze standard disponibili per le cpu K10:


Prima di iniziare con la guida vera e propria all'overclock delle ram, vorrei fornire qualche consiglio:
  1. Latenze vs Frequenza: spesso si sentono domande tipo "meglio una latenza bassa a scapito della frequenza o una frequenza elevata a discapito delle latenze?". Beh, la risposta ideale è "meglio una frequenza elevata con latenze basse", ma qualora non sia possibile, consiglio su ddr3 di puntare su latenze basse piuttosto che su frequenze elevate e su ddr2 di non superare le latenze 5-5-5. Ad ogni modo, spetta all'overclocker individuare la migliore condizione ed il miglior compromesso tra frequenza e latenze.
  2. Tensioni: non esagerare con la tensione di alimentazione, anzi cercare, soprattutto per i meno di esperti, di portare fuori specifica le ram con la tensione consigliata dal produttore per il corretto funzionamento a default.
  3. Dissipazione: frequenze maggiori e, soprattutto, tensioni maggiori portano ad un aumento della temperatura dei moduli di memoria. Per chi possiede moduli senza dissipatori consiglio quindi non non spingersi troppo in là con tensioni e frequenze. Per chi possiede memorie con sistemi di dissipazione e voglia ottenere il massimo, sicuramente trarrà beneficio da una ventola (magari sottoalimentata a 5V così da mantenere basso il rumore) posta sopra ai moduli.

Un'ultima cosa: ricordo che, come nell'overclock degli altri componenti, per trovare il limite di delle ram è vivamente consigliato mantenere la frequenza della CPU e del CPU-NB (oltre, ovviamente, a quelle dell'Hypertransport) ampiamente entro specifica, così da evitare che durante i test delle ram possano verificarsi problemi che pongano la questione decisionale su quale variabile è "collassata"; quindi, ricordo di lavorare sempre con un parametro alla volta. Inoltre caricate memtest86+ su di un floppy o su un CD in quanto sarà utile per il test delle ram (ricordarsi di selezionare la giusta sequenza di boot dal bios).

L’overclock delle ram può essere anche in questo caso suddiviso a seconda che si disponga di CPU Black Edition oppure no. Vediamo:
  • CPU Black Edition: in questo caso l'overclock non risulta particolarmente interessante. Vediamone subito il perchè.
    Come detto nella sezione riguardante l'overclock di una cpu Black Edition, solitamente si sfrutta il moltiplicatore sbloccato, mantenendo fisso il bus di riferimento (CPU Host Clock Control). Questa operazione rende molto semplice l'overclock della cpu, ma limita la frequenza di funzionamento degli altri componenti, in quanto determinata attraverso il prodotto tra un loro moltiplicatore ed appunto il bus di riferimento. Quindi, così come per il CPU-NB, le frequenze ottenibili per le ram saranno legate al moltiplicatore scelto.
    I moltiplicatori disponibili consentono l'ottenimento per le ram solo di frequenze standard, come quelle visibili nelle tabelle sovrastanti.Quindi, se non si vuole modificare il CPU Host Clock Control, gli step di frequenza delle ram sono piuttosto ampi, e la buona riuscita, ad esempio, di un overclock a 1066MHz partendo da ram a 800MHz non è garantita. E' comunque possibile provare, quindi selezioneremo il moltiplicatore desiderato dal bios, salviamo ed usciamo dal bios.

    In caso di boot corretto procederemo ad avviare memtest86+ ed a lasciarlo in esecuzione per almeno un'ora. Nel caso vengano evidenziati errori potremo ritentare entrando nuovamente nel bios, selezionando una tensione delle ram superiore e ritestando con memtest. Qualora il boot invece non fosse positivo potremo provare ad aumentare la tensione delle ram ritentare.
    Ricordo di non esagerare con l'overvolt, e piuttosto che dare, ad esempio, 2.3V a un modulo ddr2 certificato per 1.8V magari senza anche un'adeguato sistema di dissipazione, è meglio tenersi le ram a default e FUNZIONANTI.

    Una pratica interessante invece anche nel caso si usino CPU Black Edition consiste nella riduzione delle latenze. In questo caso procederemo in modo simile a quanto fatto con il test della frequenza, ovvero procederemo a ridurre UNA latenza alla volta (di uno step, ovvero ad esempio, se CL5 -> CL4) e a testare il corretto funzionamento con memtest. Nel caso vengano evidenziati errori durante il test o non venga eseguito il boot si può provare aumentando la tensione da bios, tenendo sempre a mente il consiglio di non esagerare.

    Un ultimo test per validare i risultati consiste in almeno un'ora di prime95 in modalità "Blend"; in caso di mancato superamento procederemo a ridurre la frequenza delle ram o ad aumentarne leggermente la tensione, e procederemo a ritestare con tale software.

  • CPU NON Black Edition: con questo tipo di CPU, obbligate ad essere overcloccate attraverso il solo aumento del CPU Host Clock Control, l'overclock delle ram risulta interessante. La frequenza di funzionamento delle ram si ottiene moltiplicando la frequenza di bus per un moltiplicatore, quindi in questo caso, variando a passi di 1MHz il bus, si possono ottenere degli step di frequenza molto più fitti rispetto al caso in cui si utilizzi il solo moltiplicatore delle ram (come nel caso delle CPU Black Edition).

    Fissato quindi un moltiplicatore di partenza (solitamente pari a quello a default) possiamo iniziare ad aumentare il bus di riferimento a passi di 5 MHz. In caso di boot corretto procederemo ad avviare memtest86+ ed a lasciarlo in esecuzione per almeno un'ora. Nel caso vengano evidenziati errori potremo ritentare entrando nuovamente nel bios, selezionando una tensione delle ram superiore e ritestando con memtest. Qualora il boot invece non fosse positivo potremo provare ad aumentare la tensione delle ram ritentare.
    Ricordo di non esagerare con l'overvolt, e piuttosto che dare, ad esempio, 2.3V a un modulo ddr2 certificato per 1.8V magari senza anche un'adeguato sistema di dissipazione, è meglio tenersi le ram a default e FUNZIONANTI.
    Raggiunta la frequenza limite a cui non riesce a rendere stabile il sistema, procediamo a diminuire a passi di 1-2MHz la frequenza del bus e ritestando con memtest fino a che non si ottiene la massima frequenza stabile per le ram in nostro possesso.

    Vediamo ora la riduzione delle latenze. In questo caso procederemo in modo simile a quanto fatto con il test della frequenza, ovvero procederemo a ridurre UNA latenza alla volta (di uno step, ovvero ad esempio, se CL5 -> CL4) e a testare il corretto funzionamento con memtest. Nel caso vengano evidenziati errori durante il test o non venga eseguito il boot si può provare aumentando la tensione da bios, tenendo sempre a mente il consiglio di non esagerare.

    Un ultimo test per validare i risultati consiste in almeno un'ora di prime95 in modalità "Blend"; in caso di mancato superamento procederemo a ridurre la frequenza delle ram o ad aumentarne leggermente la tensione, e procederemo a ritestare con tale software.

    NB: ovviamente, nel caso di CPU Black Edition, si possono comunque utilizzare i due parametri di overclock delle ram, ovvero il loro moltiplicatore ed il bus, per overcloccarle, mantenendo comunque il vantaggio rispetto alle CPU non Black Edition di poter gestire i moltiplicatori della CPU e CPU-NB anche verso l'alto.

Alcuni bios non evidenziano il moltiplicatore delle ram, ma direttamente la frequenza finale (come visibile nell'immagine sottostante) calcolata SEMPRE con un CPU Host Clock Control pari a 200MHz. Quindi, qualora modifichiate il bus di riferimento, la frequenza delle ram visualizzata nel bios rimarrà sempre ancorata alle frequenze standard. In realtà però la variazione sarà proporzionata alla variazione del bus e al moltiplicatore corrispondente e potremo verificare questo avviando CPU-Z una volta entrati nell'OS.



Personalmente, consiglio di procedere nell'overclock delle ram fissando la frequenza e cercando i limiti nelle latenze, o fissando le latenze e cercando il limite di frequenza. Lavorando con entrambi si rischia di non riuscire a determinare la vera causa dell'instabilità a cui si può andare incontro.

Segnalo, per chi fosse interessato ad approfondire, questo articolo molto interessante di teoria e di confronto fra ddr2 e ddr3 segnalatomi da TheBestFix: http://www.nexthardware.com/focus/ra...-la-verita.htm.

Infine faccio presente che nell'overclock delle ram non contano solo le frequenze e le latenze a cui queste sono certificate (ad esempio, ddr3 2000MHz 9-9-9-27), ma anche il controller della CPU, e può (e lo fa quasi sempre) limitare l'overclock delle ram.
__________________
AMD Ryzen R7 5800X + Arctic Freezer II 280mm, Asus ROG B550I Gaming, 2x16GB Crucial BallistiX 3200@3733MHz, AMD Radeon 6800, Sabrent Rocket 4.0 1TB + Crucial MX500 500GB + WD Blue 2TB 2,5", Corsair SF750, SSupd Meshlicious, LG 27GL850 - mITX - Trattative - [GUIDA] all'overclock dell'AMD K10 - [GUIDA] all'overclock di AMD Ryzen

Ultima modifica di Spitfire84 : 18-10-2010 alle 21:51.
Spitfire84 è offline   Rispondi citando il messaggio o parte di esso