Beereq Opublikowano 6 Listopada 2010 Zgłoś Opublikowano 6 Listopada 2010 Witam! Miałem chwilkę wolnego czasu, który postanowiłem przeznaczyć na opisanie jak edytować timingi i częstotliwości zapisane w SPD naszych pamięci za pomocą programu SPDTool. Program umożliwia czytanie, edycję i zapis zmienionych ustawień do SPD pamięci RAM DDR2. (DDR3 nie jest obsługiwane) Zaczynamy: Ściągamy program SPDTool 0.63 (koniecznie ta, najnowsza wersja, ze względu na support dla nowszych chipsetów) - google.pl Odpalamy, wchodzimy w File -> Read, po czym wybieramy którym modułem chcemy się zająć Wybieramy File/Save i zapisujemy w bezpiecznym miejscu backup swoich aktualnych ustawień SPD. W głównym oknie na dole klikamy w "Timing Summary" - dzięki temu ujrzymy aktualne ustawienia pamięci w podstawowych profilach JEDEC Dla ułatwienia zacznę od przykładu - moich pamięci A-Data, których SPD wygląda domyślnie tak: JEDEC #2 266Mhz 4-4-4-12 oraz JEDEC #3 400 Mhz 5-5-5-18 gdzie się podziało JEDEC #1 ? otóż jest (200Mhz)- co zresztą potwierdza nam SPD Tool w dolnej części okna, jednak CPU-Z tego nie pokazuje. Dodatkowo mamy 2 profile EPP (Enhanced Performance Profile) - które z kolei pokazuje CPU-Z, ale są niewidoczne w dolnej części okna SPDTool. Myślę, że nie namieszałem zbyt mocno na sam początek :) Jedziemy dalej Sprawdziłem i wiem, że moje pamięci robią więcej niż 280(560) Mhz na CL3-3-3-9 @ 1,8v, oraz ponad 510(1020)Mhz CL5-5-5-15 @ 2,0v. Na CL4 to porażka – nie wyjdą ponad 415(830)Mhz i to przy napięciu 2,2v. Co chcę osiągnąć? Ustawić profil EPP z taktowaniem 500Mhz CL5 Profil JEDEC 266Mhz zastąpić 333Mhz, nie zmieniając timingów Dopisać do tabeli profil JEDEC 266Mhz (zastąpić profil 200Mhz) z timingami 3-3-3-9 Jak się do tego zabrać? Na początek musimy wiedzieć, że w podstawowych profilach pamięci SPD możemy zapisać timingi dla maksymalnie 3 częstotliwości, u mnie jest to domyślnie 400,266 i 200Mhz - widać to na dole okna SPDTool. Co bardzo ważne niestety nie można ustawić różnych częstotliwości dla jednego CAS Latency (CL), np. nie da się ustawić trzech profili 400Mhz CL4 i 333Mhz CL4 oraz 266Mhz. Dlaczego? Zasada Poprzez opcję "CAS Latencies Supported" wybieramy obsługiwane przez naszą pamięć CL, jeśli wybierzemy taką opcję która ma 3 wartości (przykład 3,4,5) to możemy stworzyć 3 profile, najwolniejszy z CL3, trochę szybszy z CL4 i najszybszy (chodzi o częstotliwość) z CL5. Jeśli wybierzemy np. 3,4 - wtedy też stworzymy 3 profile, ale brane pod uwagę będą brane tylko dwa - ten z CL4 i ten z CL3, ostatni z przydzielonym z automatu CL2 w pewnym sensie nie będzie istniał, bo CAS Latencies Supported nie przyjmuje wartości 2,3,4 lecz 3,4. Profile podstawowe (JEDEC) niższe od najszybszego ustala się na zasadzie "z jaką częstotliwością i pozostałymi timingami może pracować pamięć przy CL o jeden niższym od najwyższego CL" oraz "z jaką częstotliwością i pozostałymi timingami może pracować pamięć przy CL o dwa niższym od najwyższego CL" Rozumiecie? Mam nadzieję, że tak... jeśli tego nie zrozumiecie nie czytajcie dalej. Ustawienie CL: opcja CAS Latencies SupportedUstawienie tRCD: opcja Minimum RAS to CAS delay (tRCDUstawienie tRP – opcja Minimum Row Precharge Time (tRPUstawienie tRAS – opcja Minimum Active to Precharge Time (tRAS)Ustawienie tRC - opcja Minimum Active to Active/Refresh Time (t...Ustawienie częstotliwości pamięci przy najwyższym CL: SDRAM Cycle time at Maximum Supporte...Ustawienie częstotliwości pamięci dla profilu z CL o 1 niższym od najwyższego (profil "środkowy"): Minimum Clock Cycle at CLX-1Ustawienie częstotliwości pamięci dla profilu z CL o 2 niższym od najwyższego (profil "dolny"):Minimum Clock Cycle at CLX-2 Ustawienia częstotliwości raczej nie muszę wyjaśniać – ustawiamy i pojawia sie ustawiona wartość w tabeli. Dodamy tylko, że wybieramy częstotliwość rzeczywistą, a nie efektywną. Np. Dla DDR 800Mhz wybieramy 400Mhz (2,5ns). W teorii ustawianie timingów (poza CL, które ustawia się za pomocą wartości liczbowej, a nie czasu wyrażonego w ns) wyglądałoby tak, że obliczam jaki chce mieć timing dla danej częstotliwości i ustawiam taki czas w ns, jaki mi wyszedł z obliczeń; zadana wartość timingu x 1000/częstotliwość pamięci (rzeczywista) = czas w ns przykład – ustawienie trp na 15 dla częstotliwości 400(800)Mhz oraz jednocześnie trp 12 dla częstotliwości 333(666)Mhz 15x1000/400 = 37,5ns – zaokrąglamy w dół (zawsze) – wychodzi 37ns. 12x1000/333 = 36,03ns – po zaokrągleniu mamy 36ns I co teraz? Wyszły nam 2 różniące się wartości – niby nic wielkiego, ale zauważcie że nie możemy ustawiać niezależnie timingów dla każdego z 3 profili, ustawiamy tylko raz – dla całej kolumny od razu. Dlatego też moim zdaniem nie ma większego sensu tego liczyć, tylko po prostu krokami co 0,25ns zmniejszać/zwiększać daną wartość do takiego poziomu aż uzyskamy żądane timingi. Czasami uzyskanie niektórych timingów będzie niemożliwe np. Trp 18 dla 400Mhz i 12 dla 333Mhz Troszkę inaczej działa ustawianie EPP, gdzie dla każdego profilu ustalamy timingi niezależnie (włącznie z CL), o czym będzie później :) Działamy Zacznę od uporządkowania tabeli tak abym miał kolejno częstotliwości 400, 333, 266 Mhz. 400 jest na swoim miejscu więc tego nie ruszam (SDRAM Cycle time at Maximum Supporte...) Na drugim miejscu chcę mieć 333 Mhz – szukam opcji Minimum Clock Cycle at CLX-1 i ustawiam na 3.00ns (333Mhz) Na trzecim miejscu chcę mieć 266Mhz – szukam opcji Minimum Clock Cycle at CLX-2 – wybieram 3.75 ns (267Mhz). Zauważyliście, że niektóre timingi uległy zmianie? Zmieniły się ponieważ zmieniła się częstotliwość w 2 ostatnich profilach, a więc żeby uzyskać taką samą wartość timingu potrzeba już mniej czasu (wzór powyżej). Ustawiam kolejno timingi; TCL mamy ustawione, więc przechodzę do TRCD – stopniowo zmniejszam Minimum RAS to CAS delay (tRCD), aż uzyskam żądane timingi – z 12,50ns zrobiło się 11,25ns analogicznie ustawiam TRP – gdzie również zmniejszam czas do 11,25ns Chcę zmienić jeszcze ustawienie TRAS – zmniejszam czas z 45ns przy Minimum Active to Precharge Time (tRAS) do wartości 36ns. Nistety nie udało się ustawić dla 266Mhz TRAS na 9 – musi być 10, chyba że zgodzimy się na TRAS 14 (zamiast 15) dla 400Mhz oraz 11 dla 333Mhz– wtedy ustawiamy 33ns. TRC pozostawię bez zmian. Upewniam się, że wszystko ustawiłem prawidłowo i przechodzę do profili epp, chyba że ktoś takowych nie ma - wtedy może ten krok pominąć - lub dopisać profile. Edycji profili EPP W CPU-Z widzę 2 bardzo podobne profile EPP – to samo napięcie, różnica w 2 timingach, postanowiłem w profilu 1 zmniejszę TRAS do 11, z kolei dla drugiego profilu ustawię 500Mhz CL 5-5-5-15 @ 2,1v. Przewijam listę opcji w SPDTool – dochodzę do serii EPP Profile 0, a konkretnie do: EPP Profile 0 Minimum Act. To Precharge ti... – jest to ustawienie tRAS, które chcę zmienić z 12 do 11 – liczę czas ze wzoru – wychodzi mi 27,5ns (11x1000/400) – zaokrąglam w dół i zmieniam wartość z 30 do 27ns. Profil pierwszy załatwiony Teraz przechodzę do sekcji EPP Profile 1, gdzie zaczynam od zmiany napięcia - EPP Profile 1 Voltage Level - ustawiam z zapasem 0,1v (na 2,1) i zmiany częstotliwości z 400 do 500Mhz poprzez opcję EPP Profile 1 Minimum Cycle at supported... Następnie zmieniam CL dla tego profilu z 4 do 5 – opcja EPP Profile 1 CAS Latency Przechodzę do TRCD – opcja EPP Profile 1 Minimum RAS to CAS delay (t.. – nie wymaga zmiany, pozostawiam na 10,00ns (obliczone) Analogicznie zajmuje się TRP – EPP Profile 1 Minimum Row Precharge Tim... oraz TRAS – EPP Profile 1 Minimum Act. To Precharge ti... Czas zapisać nowe ustawienia w SPD pamięci Zamykam CPU-Z (czasami ustawienia nie chcą się zapisać, gdy ten program jest włączony) – prawdopodobnie SPD wtedy jest "Read only" Przechodzę do Edit/Fix checksum Następnie do File/Write i wybieram moduł do którego chcę wysłać nowe ustawienia (ten sam, z którego czytaliśmy na początku). Odpalam CPU-Z i widzę efekt swojej pracy (na przykładzie zmodowanego wcześniej SPD w drugiej kości) :) Sorry, że tak dużo czytania, jednak chciałem pokazać jak to się robi krok po kroku na przykładzie. Tekst pisany tak na szybko, mam nadzieję że w ogóle jest ktokolwiek zainteresowany tym tematem :) Oczywiście nie odpowiadam za jakiekolwiek ewentualne uszkodzenia sprzętu itp. Sugeruję nie zmieniać innych parametrów niż te, które opisałem Jeśli ktoś nie chce sam się tym bawić – oferuję pomoc :) Jeśli macie jakieś pytania i/lub propozycje - piszcie 4 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Twój Pan Opublikowano 6 Listopada 2010 Zgłoś Opublikowano 6 Listopada 2010 1. Po co to robić w czasach gdzie najprostsze płyty posiadaja opcje zmiany częstotliwości i timingów pamieci? 2. Niektóre mobasy, czy laptopy nie potrafia "flashować" pamięci. Poza tym, artykuł ok :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Beereq Opublikowano 6 Listopada 2010 Zgłoś Opublikowano 6 Listopada 2010 Po co? Dla przyjemności :) Na większości płyt to działa :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...