|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 323
|
Aiuto per impostare i timings delle memorie
Ciao a tutti, avrei bisogno di un aiuto per configurare i timings delle memorie e rendere il mio sistema stabile perchè attualmente il prime95 stress test fallisce subito; la motherboard è una ASROCK ConRoe865PE, CPU QX6700, FSB 266Mhz, le memorie sono costituite da 4 banchi di DDR600 OCZ platinum edition, il problema è che ho il divisore bloccato a 3:2 quindi vanno a 177Mhz utilizzando da SPD timings 2,5 - 2 - 2 - 5 penso però che non vada bene perchè il prime95 si blocca dopo meno di 1 minuto, mi potreste aiutare?
![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Suppongo siano delle DDR2-667 vero?
No, ho visto, monti proprio le DDR
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. Ultima modifica di gugoXX : 18-02-2008 alle 12:18. Motivo: no |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Le specifiche dovrebbero essere queste
Quote:
A 150MHz dovresti poter mettere 1.25-2-2-5; A 177MHz se non avessi le informazioni dell'SPD io metterei 1.5-2.5-2.5-6 Ma tu dici che l'SPD per 177MHz c'e' e ti da 2,5-2-2-5 Quindi io prima proverei con 1.5 - 2.5 - 2.5 - 6 E se non andasse proverei con 2.5 - 2.5 - 2.5 - 6 Questo se fosse un problema di tempistiche. Il fatto che si blocchi dopo un minuto potrebbe fare pensare a probelmi di voltaggio.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 323
|
Quote:
A parte questo il massimo di voltaggio che posso dare è 2.7V senza moddare la MB. Per i timings che mi hai suggerito l'unico problema ce l'ho sugli intermedi nel senso che 2.5 - 2 - 2 - 6 lo posso provare 2.5 - 3 - 3 - 6 anche ma 2.5 - 2.5 - 2.5 - 6 non posso provarlo e nemmeno 1.5 - 2.5 - 2.5 - 6, come iniziale o 2 o 2,5. Scusa la curiosità ma come hai fatto a calcolarli? |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Calcolare i timings e' abbastanza semplice, ma occorre prima sapere cosa sono.
Mi quoto da un'altra discussione: ________________ Il Cas latency e' uno dei parametri fondamentali per le memorie. Per spiegarlo a fondo occorre sapere come le memorie sono fatte dentro. Per semplificare, immagina solo di avere una grossa matrice, formata da righe e colonne. Ogni indirizzo di RAM corrisponde ad una cella della matrice. Tale indirizzo viene spaccato in 2 parti. Ovviamante sarebbe bene trattare numeri binari o esadecimali, ma non sapendo io quanto tu possa conoscere della matematica delle basi, usiamo pure il sistema decimale. L'indirizzo 125752 viene p.es. spaccato in 2 parti 125 e 752. 125 sara' la riga a cui vuoi accedere, mentre 752 la colonna. Per motivi fisici e tecnologici, la RAM non avra' fisicamente modo di accettare i 6 numeri insieme. Avra' tanti pin quanti servono per farne passare solo 3 per volta. Prima fai passare il valore della riga, dopo un po' fai passare il valore della colonna, poi aspetti un po' e ti ritroverai il contenuto della cella negli appositi piedini della RAM. il CAS latency e' proprio quel quanto "Fai passare prima di trovarti il contenuto della cella...". E' infatti il tempo (in cicli di clock della memoria) che aspetterai da quando hai dato l'indirizzo di colonna a quando potrai leggere l'output finale. Column Address Strobe. Nella notazione a piu' numeri che identificano le prestazioni delle RAM, e' il primo. Ovviamente da cio' capisci che piu' questo numero e' basso, piu' significa che la RAM restituisce velocemente il dato, e quindi che la latenza della memoria e' piu' bassa. __________________ Come detto, i valori sono in una unita' di misura che e' "Numero di cicli, alla frequenza di funzionamento della RAM". Prendi p.es. il CAS (primo valore) nominale delle RAM che ho trovato io: 2.5 alla frequenza 300MHz Significa che il memory controller dovra' tenere il segnale di colonna per esattamente 2.5/300.000.000 = 8.3ns (nanosecondi) Tale valore e' il valore fisico della RAM. Se si diminuisse tale valore la RAM non avrebbe tempo di fissare il valore di colonna per tutte le cellette interrogate, e quindi leggeremmo un valore sbagliato, piantando il sistema. Se si andasse a leggere l'uscita dei CHIP di RAM prima del tempo dovuto, si vedrebbe un gran casino. I valore di ciascun pin cambia tantissme volte. Quello che ci dicono i timings e' dopo quanto tempo (misurato in cicli di clock) il segnale risulta essere stabile, pronto per essere campionato e poi trasferito al processore. 8.3 ns dell'esempio di prima e' inoltre un valore di sicurezza certificata, magari quelle RAM funzionerebbero con anche solo 8ns, o magari 7.5ns (quindi stiamo overcloccando rispetto a quanto dichiarato dal costruttore). Da questo si capisce anche che la frequenza nelle RAM da sola non vuol dire nulla. Le memorie sono periferiche essenzialmente asincrone. la frequenza e' l'unita' di misura necessaria per pilotare i segnali, e per dire al memory controller dopo quanto potra' campionare il valore cercato, sicuri di leggere il contenuto delle celle richieste. Quindi 8.3 ns, se richeisti alla frequenza 177MHz, a quanti cicli corrispondono? Basta fare di nuovo la moltiplicazione: 8.3ns * 177MHz = 1.475 cicli, arrotondati a 1.5 per stare sicuri.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. Ultima modifica di gugoXX : 18-02-2008 alle 15:41. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 323
|
Va bene ho capito come calcolare il CAS, gli altri valori invece come vanno calcolati?
Cosa succede se metto dei valori troppo alti? Teoricamente nulla stando al tuo ragionamento vero? Solamente rallento il sistema e basta giusto? Adesso ho il tempo finalmente di provare un 'pò quello che mi hai spiegato, provo e ti faccio sapere |
![]() |
![]() |
![]() |
#7 | ||
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
PEr quanto riguarda le DDR2, per conoscere la frequenza massima di lavoro certificata e' sufficiente dividere il valore dei MT/s per 2. DDR2-400 significa 400MegaTransfer/s, per una frequenza di bus di 200MHz DDR2-667 significa 667MegaTransfer/s, per una frequenza di bus di 333MHz e cosi' via Quote:
Questo perche' e' molto probabile che il tuo memory controller sia incapace di gestire i timings indipendetemente per ciascun modulo, cosa che, da che io so, e' possibile solo su alcuni chipset per i sistemi server, ed anche li' con qualche limitazione. Buon divertimento.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. Ultima modifica di gugoXX : 19-02-2008 alle 22:42. |
||
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 323
|
Quote:
|
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Difficile capirlo.
Puoi tentare. Alzi di uno o 2 decimi di volt i voltaggi della memoria e vedi se il sistema si stabilizza. Sei sicuro che non sia altro? Magari il processore? Anche lui si puo' spingere un po'. Io per esempio lo sto facendo, perche' altrimenti e' un po' instabile, anche se lo sto usando con la frequenza di fabbrica. (da me penso sia un problema di scheda madre) Comunque conta bene i timings per le tue memorie. Magari stai mettendo dei timings che vanno bene per i primi due moduli, che ipotizzo siano i primi ad essere allocati. Non appena il sistema inizia a riempirli e quindi tenta di accedere ai secondi due, magari si pianta tutto.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 323
|
Ho fatto delle prove, ma qui i conti non mi tornano, perchè l'unico modo per far stare tranquillo è usare 2,5 - 4 - 4 - 8 abilitare un'opzione che si chiama "Flexibility Option" e lasciare il FSB del processore in modalità AUTO che si traduce in 260Mhz anzichè 266Mhz così prime95 va però se vario il sistema diventa instabile, che sia l'alimentatore che richiede più potenza? adesso è un 300W Zalman forse non va bene perchè ho provato anche delle DDR400 corsair e mi fa la stessa cosa
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 323
|
Quote:
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:35.