Mesaje recente

Members
Stats
  • Total Posts: 17,786
  • Total Topics: 1,234
  • Online today: 113
  • Online ever: 233
  • (26 June 2007, 07:28)
Users Online
Users: 0
Guests: 384
Total: 384

Core2 Duo Overclocking

Started by peizan, 16 October 2007, 10:50

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

peizan

Tot copy/paste :

Quote from: DarthVaderCum sa overclock-ezi un procesor? Intel edition

In ultima vreme, overclock-ul este o practica tot mai des intalnita, unii zic ca deja a devenit un sport national, si personal chiar cred acest lucru. Datorita acestui fapt, multi utilizatori doresc sa-si overclockeze procesorul dar nu au suficiente cunostinte in acest domeniu si din acest motiv apar foarte des topic-uri de genul "Overclock, little help?". Asa cum am facut si pentru AMD64, fac si pentru intel un ghid de overclock in care prezint toate notiunile necesare pentru aceasta practica.

Asadar sa incepem...

FSB la Intel

Spre deosebire de Athlon64, intel a pastrat controllerul de memorie in cipset, nu in procesor, deci pentru cei obisnuiti cu vechea magistrala FSB am o veste buna: intel a pastrat-o. Aceasta este o magistrala care conecteaza procesorul de memorii prin intermediul northbridge-ului(in care se afla controllerul de memorie). Pentru a face un oc bun la intel, trebuie sa intelegem cum este generata frecventa procesorului. Ea este obtinuta prin inmultirea frecventei FSB-ului cu multiplicatorul procesorului. Frecventa FSB-ului este de 100Mhz la primele pentium4, apoi 133 la Northwood (urmatoarea generatie de p4) si la unele Prescott-uri(in special Celeroane), de 200 la Prescott si la Core 2 Duo 4300 si de 266 la Core 2 Duo. Acuma poate o sa va intrebati un lucru: Cum are core 2 duo numa 266 ca eu stiu ca are 1066, si la fel si Prescott are 800Mhz?. Frecventa asta mica este frecventa reala a FSB-ului, care este quad-pumped adica trimite date de 4 ori intr-un ciclu de ceas si de aici frecventa efectiva este de 4 ori mai mare: 400 pt fsb real de 100; 800 pt fsb real de 200 si asa mai departe. La generarea frecventei procesorului se inmulteste frecventa reala a FSB-ului nu cea efectiva. De ex un Prescott la 3000Mhz are fsb real de 200Mhz si multiplicatorul de 15, astfel ca 200*15=3000. Overclock-ul la intel se face de cele mai multe ori prin ridicarea frecventei FSB-ului deoarece multiplicatorul este aproape intotdeauna blocat din fabrica. Practic tehnica de overclock la intel este destul de simpla, pasii care trebuie urmati fiind usori.In primul rand, daca aveti procesor Core 2 Duo dezactivati toate optiunile de la CPU, mai putin Execute Disable Bit. Frecventa FSB-ului se incrementeaza in pasi mici (din 5 in 5 Mhz e bine) si de fiecare data cand ati urcat cate o treapta, salvati setarea, si testati stabilitatea sistemului cu programe speciale pt asa ceva, de ex: Prime95, StressPrime2004, Orthos, SuperPI, S&M. Din frecventa FSB-ului deriva si celelalte frecvente ale sistemului, cum ar fi cea a memoriilor(tratata mai jos), cea PCI, AGP, si PCI-Express. Daca placa de baza permite, frecventele acestea trebuie blocate la valorile lor stock, altfel veti fi puternic limitat in overclock de ele. Valorile stock sunt urmatoarele: 33Mhz pt PCI, 66Mhz pt AGP, 100Mhz pt PCI-Express si tot 100Mhz si pt porturile SATA.

Frecventa memoriilor, cosmarul divizorilor si al latentelor

Asa cum am zis mai sus, in momentul ridicarii frecventei FSB-ului va creste si frecventa memoriilor. Diferenta majora dintre Intel si AMD64 este ca la AMD64 frecventa procesorului se impartea cu un anumit divizor pentru a obtine frecventa memoriilor, DAR la intel frecventa procesorului nu are nimic de-a face direct cu frecventa memoriilor, ci frecventa FSB este cea care determina frecventa memoriilor si divizorii(de fapt sunt niste raporturi) se aplica la FSB. De ex sa luam un procesor cu FSB de 1066Mhz. Nu se lucreaza cu 1066 ci cu frecventa reala adica 1066/4~266Mhz. Daca se foloseste un raport de FSB:RAM=1:1 atunci ramii, fiind double-pumped vor rula ~533Mhz. Daca setam un raport de 4:3 atunci folosind putina matematica RAM=FSB*3/4 care ne da RAM~200Mhz, deci 400Mhz frecventa efectiva. In functie de ce memorii dispuneti si de cat de mult suporta ele frecventa peste stock, faceti un calcul si setati divizorii potriviti pentru ca memoriile sa ruleze la frecvente stabile. Desigur placa de baza nu permite sa setati chiar orice valoare la divizori deci din acest punct de vedere avem un dezavantaj, DAR spre deosebire de AMD, permite rularea memoriilor mai rapid decat FSB-ul prin setarea unui raport supraunitar, dar acest lucru nu aduce mai nimic in plus la performanta.
De fapt la intel, spre deosebire de AMD64, in general, memoriile mai rapide nu aduc un spor foarte mare de performanta, deoarece, daca dispunem de niste memorii foarte rapide se va mari latimea de banda intre memorii si northbridge dar acest lucru nu ajuta prea mult deoarece intre procesor si northbridge tot mica ramane.
Povestea latentelor la intel este aceeasi ca la amd deoarece memoriile is la fel asa ca voi da un copy-paste de dincolo.
Ca sa intelegeti cum sa umblati cu latentele trebuie intai sa intelegeti ce sunt ele de fapt. Pentru aceasta, haideti sa facem o analogie cu un concurs de atletism. Ganditi-va la cursa cu stafeta, acolo fiecare atlet trebuie sa alerge o distanta si apoi sa predea stafeta. Fiecare atlet alearga distanta intr-un timp anume. Daca unul alearga intr-un timp mai lung decat de obicei, nu-i nicio problema, ceilalti asteapta dupa el, iar stafeta ajunge la destinatie. In schimb daca unui atlet i se impune sa alerge distanta mai repede decat poate atunci el nu ajunge la succesorul sau, acesta pleaca fara stafeta si tot procesul se duce de rapa. Astfel se intampla si la memorii, ele au niste latente stock. Daca setam unele mai mari, scade performanta dar stabilitatea ramane. Daca setam unele mai mici atunci s-ar putea sa le suporte daca sunt memorii bune, iar daca nu le suporta atunci se compromite stabilitatea si sistemul fie da Blue Screen, fie nu booteaza deloc. Sunt patru latente mai cunoscute, deci mai importante. Memoria este structurata ca o matrice.Latentele sunt:

-CAS(cL): aceasta latenta se refera la timpul necesar din momentul cererii unei operatii de citire si pana in momentul in care sunt trimise datele

-RAS-to-CAS(tRCD): aceasta latenta se refera la timpul care trece din momentul in care un rand este activat si pana cand este executata prima operatie de citire sau scriere

-RAS precharge(tRP): este timpul din momentul trimiterii unei comezi precharge pentru a inchide un rand si pana in momentul in care urmatoarea comanda activa poate fi executata

-Active-to-precharge delay(tRAS): Aceasta latenta se intinde peste cativa pasi in activitatea memoriei. Aceasta se refera la nr minim de cicluri de ceas care trebuie sa treaca de la o comanda activa pana la una precharge.

Mai este si Command Rate-ul. Acesta este timpul din momentul in care un chip este selectat si pana in momentul in care se poate executa prima comanda activa.
Cred ca este clar, ca cu cat sunt latentele mai mici cu atat performanta memoriei este mai mare. La memoriile ddr latentele obisnuite intalnite la cele mai multe module de memorii sunt 2.5-3-3-6 sau 2.5-3-3-8 si command rate de 2. Cifrele sunt in ordinea aceasta: CAS, RAS-to-CAS, RAS precharge, Active-to-precharge. Ele nu reprezinta unitati de timp (nanosecunde sau ceva de genul) ci cicluri de ceas. Memoriile cele mai de calitate de tip ddr pot functiona chiar si la 2-2-2-5 si command rate de 1. Memoriile ddr2 au latente mai mari de genul 5-5-5-12; 4-4-4-10 etc.
Sa vedem acuma ce legatura au latentele cu overclockul. In momentul in care ridicam frecventa memoriilor peste cea stock si ele devin instabile sunt 2 metode de a le mari stabilitatea. Una este prin supravoltare si este tratata pe larg mai jos, iar cealalta este prin modificarea latentelor. Ele trebuiesc marite pentru a stabiliza memoriile la frecvente marite. Ideal este sa avem frecventa cat de mare la memorii si latente cat de mici, aici intervin memoriile de calitate, facute pt overclock (ele de altfel "overclockeaza" si portofelul, deoarece ii determina o viteza de golire mult peste cea stock laughing6 ) care suporta frecvente mari cu latente mici.

Voltajele (ajuta dar si strica)

In primul rand, daca aveti de gand sa supravoltati, nu lasati voltajele pe auto deoarece placa de baza creste prea mult voltajul la procesor in functie de FSB-ul setat, si acest lucru va duce la o uzura prea mare a procesorului. Povestea cu voltajele este similara ca si la amd. Singura diferenta este ca daca overclock-ati un Pentium Prescott, el se va incalzi foarte tare la ridicarea voltajelor si ii va creste mult consumul de curent. Daca aveti un Northwood atunci fiti foarte atent la SNDS. SNDS inseamna de fapt "Sudden Northwood Death Sindrome" si apare atunci cand voltajul este ridicat peste 1.75V. El consta in moartea foarte prematura a procesorului spre deosebire de alte procesoare supravoltate. Practic procesorul va deveni din ce in ce mai instabil, pana cand intr-o zi brusc nu va mai functiona. Explicatia acestui "sindrom" este in fenomenul fizic de migratie a electronilor care degradeaza in timp traseele electronice din nucleul procesorului. Acest fenomen este amplificat si de temperaturi ridicate (De-aia nu-i bine sa se incinga prea tare procesorul), si este prezent la toate procesoarele dar la Northwood se pare ca este mai accentuat.
Am zis ca povestea cu voltajele este similara ca la AMD dar pt cei care sunt mai lenesi, va mai zic odata :tongue3: .In primul rand cand supravoltati o componenta, incercati sa nu depasiti cu 10% voltajul stock. Sa luam de ex procesorul meu, un Intel Pentium D805 care are frecventa stock de 2,66Ghz, fsb de 533Mhz (133 real) si multiplicator de 20x. Initial am urcat in pasi mici cu FSB-ul pana la 160Mhz (640 efectivi) obtinand o frecventa de 3200Mhz. Pana aici este stabil la voltaj stock (1.24V conform cpu-z). Daca ii dau pana la 1.30V urca pana la 3800Mhz, iara daca is sadic :tongue3: si bag in el 1.4V trece de 4Ghz dar cum am coolerul box nu prea sta mult la frecventa asta si imediat intra in Throttling si pierde stabilitatea pt ca temperatura trece ajunge la 80 de grade in full load. Pentru cei care nu stiu Throttling-ul este tehnologia de protectie a procesoarelor intel impotriva supraincalzirii. La inceput ea incepe sa introduca cicluri idle printre ciclurile de ceas ale procesorului, acest lucru urmarind sa-i scada temperatura. Daca ciclurile idle nu scad temperatura suficient, throtlingul ia masuri mai drastice si ii scade multiplicatorul scazand-ui astfel frecventa de lucru si astfel scazand si mai mult temperatura pana cand aceasta coboara sub limita. Cred ca este evident ca odata intrat in Throttling procesorul va avea penalizari de performanta. La procesorul meu observam ca castig destul de multi mhz in plus prin supravoltare dar acesta este doar un procesor, altele se comporta diferit la supravoltare, unele s-ar putea sa nu urce mai mult de vreo 200mhz oricat voltaj i s-ar da, de fapt doua procesoare identice nu se overclockeaza la fel.
Supravoltarea uzeaza mai puternic procesorul decat simpla supratactare astfel ca trebuie folosita cu grija , si sa urmariti tot timpul sa folositi voltajul minim necesar pt stabilitate. De ex daca ii dati 1.4V, dar el este stabil si la 1.3V atunci lasati-l la 1.3V.
Tot timpul cand supravoltati FITI CU OCHII PE TEMPERATURI. La pentium 4 si la pentium D sa nu depaseasca 50 in idle si 60 in full, iar la core 2 duo sa nu treaca de 55 cel mult in full si sa stea in jur de 40-42 in idle. Daca ele depasesc aceste limite va trebui fie sa va cumparati un cooler mai performant, fie sa imbunatatiti ventilatia in carcasa daca aceasta lasa de dorit(ideal este un ventilator jos in fata care baga aer si unu sus in spate care scoate. Se mai pot pune ventilatoare si pe capacul lateral sau in partea de sus a carcasei-"blow-hole").
La memorii se aplica cam acelasi principiu, dar si acolo unele s-ar putea sa urce mult daca le marim voltajul si altele s-ar putea sa nu urce aproape de loc mai mult chiar daca le indopam cu voltaj.
Daca ati facut oc si sistemul nu este stabil, dar din anumite motive stiti ca memoriile si procesorul ar putea mai mult(de ex daca le testati cu o alta placa de baza si cu aia merg ma mult) limitarea vine din placa de baza, mai exact din cipset. Multe placi de baza ofera optiunea de a mari si voltajul pe cipset, si din nou se aplica cam acelasi principiu ca si la procesor.

Strap-ul la northbridge

Asemenea unui procesor, northbridge-ul are frecventa interna proprie si latentele proprii care influenteaza performanta sistemului(lucru valabil de la i865 incoace). Ne vom referi la frecventa lui prin NBCC (North Bridge Core Clock). Acest NBCC afecteaza direct performanta si stabilitatea memoriilor, deoarece cum am spus mai sus, la intel frecventa memoriilor se obtine din FSB si nu din frecventa procesorului.
Acest NBCC variaza in functie de FSB-ul sistemului si de multiplicator. Puteti descoperi NBCC-ul impartind multiplicatorul curent al procesorului cu multiplicatorul lui stock, si catul il inmultiti cu valoarea FSB-ului (valoarea reala, nu cea quad-pumped). Sa luam un exemplu. Luam un Conroe E6600 si ii coboram multiplicatorul (nu toate placile de baza permit acest lucru, iar nici un procesor intel in afara de cele extreme edition nu permit urcarea multiplicatorului) de la 9 la 7 si ii dam FSB de 500Mhz. Obtinem urmatorul lucru aplicand formula:

(9/7) * 500=642Mhz ->asta-i NBCC-ul.

Observam un lucru interesant. Coborand multiplicatorul sistemului, ar trebui sa-i marim stabilitatea, dar aici daca il coboram, NBCC-ul va creste si NorthBridge-ul se va overclocka si deci va deveni mai instabil.

Am vorbit despre frecventa NB-ului. Sa vedem si ce-i cu latentele lui. Aceste latente cresc in momentul cand NBCC-ul atinge valori specifice, marind astfel stabilitatea dar scazand performanta. Seria de latente care este setata la o valoare specifica a NBCC-ului se numeste strap. Este un strap la 1066Mhz, unul la 1333Mhz si asa mai departe. Producatorii de placi de baza totusi, schimba valorile la care anumite strap-uri se seteaza. NBCC-ul declansator pentru fiecare strap difera de la placa de baza la placa de baza. Puteti testa diverse valori ale NBCC-ului folosind SuperPI sau orice alt program de masurat latime de banda pentru a vedea cand se schimba latentele. Revin putin asupra masurilor de recapatare a stabilitatii. Acestea erau: supravoltarea procesorului, a memoriei si a NB-ului. Supravoltarea NB-ului se face cand acesta provoaca instabilitatea. Acest lucru se intampla pe capat de strap. De ex daca suntem in strap-ul de 800Mhz, avem latenta mai mare specifica strap-ului si deci stabilitate. Cand urcam FSB-ul, va urca si NBCC-ul dar latenta va ramane la fel, devenind la un moment dat prea mica, iar NBCC-ul fiind mare, va rezulta instabilitate. Sunt 2 moduri de a rezolva aceasta problema. Fie marim FSB-ul pana ajungem sa declansam urmatorul strap (strap-ul de 1066) si astfel se va mari latenta si NB-ul se va stabiliza, sau daca procesorul nu duce FSB-ul marit atunci vom supravolta NB-ul pentru a-l stabiliza. Ziceam mai sus ca marind FSB-ul de la 800 in sus la un moment dat iesim din strap-ul de 800 si intram in strap-ul de 1066Mhz. Intrarea in strap-ul de 1066 nu inseamna ca suntem cu FSB-ul la 1066Mhz, ci mai jos. De-aia ziceam mai sus ca difera NBCC-urile la care se schimba strap-ul in functie de placa de baza. Sa luam un exemplu concret ca e mai usor asa(valorile sunt luate la intamplare, deci nu stiu la ce placa de baza sunt valabile(poate la nici una)). Pornim de la 800Mhz FSB deci ne aflam in strap-ul de 800Mhz. Sa zicem ca in momentul cand trecem de 950 de Mhz NB-ul trece in strap-ul de 1066(cum ziceam mai sus, valoarea declansatoare este mai mica). Asta inseamna ca valoarea de 949Mhz este inca in strap-ul de 800Mhz deci este mai instabila decat 950Mhz care este deja in strap-ul de 1066Mhz. Asta se intampla deoarece 949 este o valoare mare pentru latenta strap-ului de 800Mhz, insa latenta strap-ului de 1066 este buna pentru valoarea de 950 si deci NB-ul este mai stabil.
Mai trebuie stiut ca fiecare strap vine cu raporturile lui pentru frecventa memoriei. Adica:

pentru strapul 800 avem urmatoarele frecvente pt memorie cu raporturile corespondente fiecareia:

400=1:1, 533=3:4, 667=3:5, 800=1:2

in schimb pentru strapul de 1066 avem aceleasi valori de 400, 533, 667 si 800 dar rapoartele sunt altele:

400=4:3, 533=1:1, 667=4:5, 800=4:6

la fel strapul 1333 are aceleasi frecvente la ram dar alte rapoarte:

400=5:3, 533=5:4, 667=1:1, 800=5:6

La unele placi putem gasi optiunea pentru de ex 889 la memorie. Acest lucru se face prin modificarea fortata a strap-ului in care ne aflam. De exemplu, este un model de placa de baza Intel (nu mai retin exact care) la care se poate seta orice strap dorim.

Foxter

True Knights stand tall / Their shields defend the people / Their swords strike and avenge / The honor of all.