strona główna
artykuły i recenzje
poradniki
galeria zdjęć
fotoblog

ZyXEL NSA310: overclocking i underclocking

Dodano: Czwartek, 24 października 2013, godzina 19:53:08
Kategoria: Poradniki

Wstęp

Przerabianie, modyfikowanie na wszelkie możliwe sposoby i rozkładanie na czynniki pierwsze różnych urządzeń, nie tylko elektroniki, mam we krwi (ponoć to “schorzenie” ma nawet jakąś nazwę). Chyba jeszcze żaden ze sprzętów, które użytkowałem, nie zdołał się przed tym uchronić. Tym razem padło na popularny w naszym kraju sieciowy serwer plików (tzw. NAS - Network Attached Storage) - model ZyXEL NSA310. Nie będzie to jednak poradnik o tym, jak zainstalować na nim alternatywne oprogramowanie (jedną z dystrybucji Linuxa, np. Arch Linux, Debian, OpenWrt) - ten temat został już doskonale opanowany przez innych (polecam m.in. opis instalacji OpenWrt na NSA310 ze strony eko.one.pl oraz długi wątek dotyczący NSA310 na forum OpenRouter.info). Ja skupiłem się na sprzętowym aspekcie, a dokładniej na, z jakiegoś powodu do tej pory nieporuszonej, kwestii zmiany zegara CPU - oczywiście w górę.

Zdjęcia tego serwera możecie znaleźć w mojej galerii: ZyXEL NSA310.

Trochę teorii dla zainteresowanych

Jeżeli nie jesteś zainteresowany aspektami teoretycznymi dotyczącymi zagadnienia overclockingu* tej platformy, możesz pominąć ten akapit i przejść od razu na koniec tekstu - zamieściłem tam instrukcję “krok po kroku”.

* To określenie jest tutaj trochę nad wyrost, ponieważ wyższy zegar jest jedną z kilku konfiguracji, dopuszczalnych przez producenta układu zastosowanego w NSA310, tyle że ZyXEL nie zdecydował się na jej wybór. Mogło to wynikać na przykład z ograniczeń dotyczących wydajności zastosowanego systemu chłodzenia, zasilania lub po prostu pozycjonowania modelu na rynku.

ZyXEL NSA310 został wyposażony w niepierwszej już świeżości układ SoC Marvell 88F6281 (rdzeń ARM926EJ-S), w rewizji A1, wspomagany przez 256 MB pamięci RAM typu DDR2 oraz 128 MB pamięci stałej typu NAND FLASH. Zastosowana jednostka centralna pochodzi z bardzo popularnej serii Marvell Kirkwood, często wykorzystywanej w różnych urządzeniach, nie tylko sieciowych serwerach plików. Przy domyślnych taktowaniach, wynoszących odpowiednio dla CPU, pamięci RAM i pamięci podręcznej L2: 1200 MHz oraz 400 MHz, urządzenie po wgraniu innego systemu i zmianie kilku ustawień może osiągać naprawdę satysfakcjonujące rezultaty (nawet w okolicach 90 MB/s i 60 MB/s, odpowiednio dla odczytu i zapisu przez FTP).

Tyle tytułem wstępu, teraz będzie trochę informacji technicznych i opowieści z serii “jak do tego doszedłem”. Zanim jednak przewiniesz tekst dalej, powinieneś pobrać i otworzyć sobie poniższe pliki z dokumentacjami, do których będę się w dalszej części odwoływać:

W odróżnieniu od innych układów (jak na przykład stosowany w routerach Atheros AR9344, którego też udało mi się podkręcić), w przypadku Marvell Kirkwood, wybór taktowania konkretnych zegarów nie odbywa się metodą programową (przy pomocy rejestrów procesora). Konfigurację taktowania poszczególnych elementów SoC ustawia się za pomocą kombinacji stanów na wybranych wejściach/wyjściach układu. Żeby nie być posądzonym o nieprecyzyjne informacje lub niedomówienia, muszę też zaznaczyć, że istnieje inna możliwość konfiguracji - przy pomocy zewnętrznego układu EEPROM (strona 70 w dokumentacji), ale tej kwestii (jeszcze) nie zbadałem.

I tak, to co nas interesuje najbardziej, czyli taktowanie rdzenia CPU (oraz pośrednio pamięci RAM i L2), opisuje tabela, ze stron 67 i 68 dokumentacji (niestety, w dokumentacji znajduje się informacja o tym, że producent nie wyraża zgody na powielanie i rozpowszechnianie żadnych fragmentów bez jego zgody, dlatego na razie nie zamieszczam żadnych grafik ze zrzutami z dokumentu).

Zegary interesujących nas trzech elementów (CPU, DDR, CPU L2) generowane są z jednego układu PLL o nazwie CPU PLL, przy pomocy dzielników (rdzeń taktowany jest takim samym zegarem jak CPU PLL). Stąd, sprawa wydaje się prosta - należy wybrać i ustawić odpowiednią, 4-bitową wartość przy pomocy 4 wyprowadzeń typu MPP (Multi-Purpose Pin) dla głównego zegara, a potem dzielniki dla pamięci RAM i podręcznej L2 (odpowiednio, 4- i 3-bitowe wartości). Trzeba przy tym wziąć również pod uwagę ograniczenia wynikające z kolejnej tabeli (strona 61), w której zamieszczono wszystkie dopuszczalne konfiguracje taktowania CPU, RAM i pamięci cache L2, a także domyślnej wartości wyprowadzenia (rezystor podciągający/ściągający) i jego wybranej funkcji (dotyczy to wyprowadzeń typu MPP, ale o tym za chwilę).

Tutaj zatrzymamy się na krótką chwilę i ciekawą dygresję z mojej strony. Zgodnie z dokumentacją, dla tego konkretnego układu (88F6281) z serii Marvell Kirkwood, dopuszczalne są jedynie 3 konfiguracje taktowania CPU (1000, 1200 oraz 1500 MHz), a wszystkie pozostałe są zarezerwowane (”Reserved”). Co więcej, zgodnie z tabelą ze strony producenta (poniżej), ta wersja przeznaczona jest do pracy z zegarem w zakresie 1-1,2 GHz. Pojawia się tutaj oczywiste pytanie, czy wartość “zarezerwowana” oznacza, że jej wybranie będzie skutkować brakiem możliwości uruchomienia urządzenia (czytaj: producent zastosował sprzętową blokadę konfiguracji wewnątrz układu)? I jeszcze jedno - dlaczego w dokumentacji jest mowa o taktowaniu 1500 MHz, a tabela z oficjalnej strony tego nie uwzględnia?

Studiując dokładnie powyższą tabelę na pewno zwróciliście uwagę na bliźniaczy układ - 88F6282, który może pracować z zegarem nawet do 2000 MHz. Można go znaleźć na przykład w innym sieciowym serwerze plików - Synology DS213air (pracuje tam z zegarem 1600 MHz).

Wracając do postawionego wcześniej pytania dotyczącego zarezerwowanych konfiguracji - gdzie szukać odpowiedzi? Najlepiej, w komentarzach do kodu źródłowego! Zajrzyjmy do pliku kirkwood.c odpowiedzialnego głównie za odczyt konfiguracji PLL SAR (sampl-at-reset) i tym samym poszczególnych zegarów SoC. Skupimy się tylko na komentarzu:

/*
* Core Clocks
*
* Kirkwood PLL sample-at-reset configuration
* (6180 has different SAR layout than other Kirkwood SoCs)
*
* SAR0[4:3,22,1] : CPU frequency (6281,6292,6282)
*      4  =  600 MHz
*      6  =  800 MHz
*      7  = 1000 MHz
*      9  = 1200 MHz
*      12 = 1500 MHz
*      13 = 1600 MHz
*      14 = 1800 MHz
*      15 = 2000 MHz
*      others reserved.
*
* SAR0[19,10:9] : CPU to L2 Clock divider ratio (6281,6292,6282)
*      1 = (1/2) * CPU
*      3 = (1/3) * CPU
*      5 = (1/4) * CPU
*      others reserved.
*
* SAR0[8:5] : CPU to DDR DRAM Clock divider ratio (6281,6292,6282)
*      2 = (1/2) * CPU
*      4 = (1/3) * CPU
*      6 = (1/4) * CPU
*      7 = (2/9) * CPU
*      8 = (1/5) * CPU
*      9 = (1/6) * CPU
*      others reserved.
*
* SAR0[4:2] : Kirkwood 6180 cpu/l2/ddr clock configuration (6180 only)
*      5 = [CPU =  600 MHz, L2 = (1/2) * CPU, DDR = 200 MHz = (1/3) * CPU]
*      6 = [CPU =  800 MHz, L2 = (1/2) * CPU, DDR = 200 MHz = (1/4) * CPU]
*      7 = [CPU = 1000 MHz, L2 = (1/2) * CPU, DDR = 200 MHz = (1/5) * CPU]
*      others reserved.
*
* SAR0[21] : TCLK frequency
*      0 = 200 MHz
*      1 = 166 MHz
*      others reserved.
*/

Jak widać, dla układów 6281, 6292 oraz 6282 z serii Marvell Kirkwood, dostępne jest aż 8 konfiguracji taktowania CPU, z zegarem z zakresu od 600 do 2000 MHz. Na razie kwestią niezbadaną/nierozstrzygniętą pozostaje, czy interesująca nas wersja SoC (przypominam: Marvell 88F6281) będzie w ogóle w stanie uruchomić się z zegarem innym, niż wymienione w dokumentacji. Biorąc jednak pod uwagę, że w innym urządzeniu - IOmega iConnect, który również posiada ten układ (tyle, że w rewizji A0 i taktowany zegarem 1000 MHz), zdarzył się egzemplarz, który… pracował z zegarem 800 MHz (zgodnie z dokumentacją układu, taka konfiguracja jest zarezerwowana), stawiam śmiałą hipotezę, że tak. Pomiędzy tymi dwiema konfguracjami taktowania CPU (800 i 1000 MHz), różnica wynosi 1 bit (0×6h kontra 0×7h) - wystarczyło, żeby podczas produkcji zabrakło jednego rezystora lub recenzujący to urządzenie… wykorzystał akurat adapter USB-UART, z rezystorem ściągającym do GND na linii sygnałowej UART TX o mniejszej wartości niż ten, podciągający do zasilania na PCB (dlaczego akurat wspominam o linii UART TX przeczytacie w dalszej części).

Kwestię zegarów wyższych niż 1500 MHz w NSA310 (i w innych urządzeniach z tym samym układem SoC) pozostawiam na razie otwartą. Do tego tematu na pewno jeszcze wrócę, w miarę możliwości czasowych i zdecydowanie lepiej przygotowany - chodzi mi po głowie pomysł na przygotowanie prostej płytki PCB ze zworkami lub tzw. przełącznikami DIP switch, przy pomocy której w łatwy sposób będę mógł zmieniać i wypróbować wszystkie kombinacje. Teraz jednak powracamy do meritum tego artykułu.

W poszukiwaniu rezystorów

Zanim jeszcze dokładnie przestudiowałem dokumentację Marvell 88F6281 (do tej pory nie miałem jeszcze do czynienia z tymi układami), biorąc pod uwagę że jest to układ typu BGA, posadzony na 4-warstwowej płytce PCB, wyposażonej w elementy SMD o rozmiarze 0402… miałem spore obawy o to, czy ostatecznie uda mi się odnaleźć w gąszczu połączeń odpowiednie wyprowadzenia, o ile w ogóle zostały przez producenta “wyciągnięte”. I choć w sieci można znaleźć artykuł dotyczący zmiany zegara tego samego układu, w urządzeniu Seagate Dockstar, to akurat w tamtym przypadku autor wspomógł się informacjami zamieszczonymi przez osobę, która zdjęła układ z PCB i opisała większość wyprowadzeń.

Żeby sprawa jeszcze bardziej się komplikowała, znaczna większość wyprowadzeń w zastosowanym układzie może pełnić, w zależności od wyboru, różną funkcję - niektóre nawet 8 (tabela od strony 53 w dokumentacji układu)! Między innymi dlatego i żeby nie przeskakiwać w dokumentacji ze strony na stronę, postanowiłem przygotować sobie tabele zawierające wszelkie interesujące mnie informacje - możecie zobaczyć je poniżej lub pobrać w formie pliku PDF: ZyXEL NSA310 konfiguracja zegarów CPU i RAM (co bardziej spostrzegawczy już wiedzą dlaczego pominąłem kwestię taktowania L2 - zgodnie z dokumentacją dopuszczalny jest tylko jeden dzielnik dla tego elementu). Obie tabele zawierają już informacje dotyczące umiejscowienia interesujących nas sygnałów na PCB w NSA310. Do kompletu postanowiłem zrobić również kilka zdjęć makro (znajdziecie je w dalszej części) interesujących mnie obszarów PCB i wyposażony w multimetr rozpocząłem… dedukcję.

Do sprawy oczywiście można było podejść na zasadzie siłowej - np. programowo zmieniać stany na wybranych wyprowadzeniach i próbować uchwycić taką zmianę przy pomocy oscyloskopu, “buszując” sondą po PCB. W ostateczności, można było po prostu zdemontować główny układ i przy pomocy miernika odtworzyć schemat połączeń. Ja wybrałem najprostszą metodę - dokładnie przeczytałem dokumentację i zajrzałem do kilku plików źródłowych. Ale po kolei, zacznijmy od 4 pinów MPP związanych z zegarem CPU:

MPP[2], MPP[5] oraz MPP[19]
Biorąc pod uwagę, że NSA310 wykorzystuje do przechowywania systemu i bootloadera pamięć NAND oraz fakt, że poza wyprowadzeniami MPP[2], MPP[5] i MPP[19], żadne inne nie mogą pełnić funkcji związanych z liniami magistrali danych NAND FLASH (bity 1, 4 i 7), sprawa od razu była jasna - szukamy sygnałów NAND FLASH I/O 4, 7 i 1, najlepiej w dokumentacji zastosowanej kości, a potem na PCB.

MPP[10]
Tutaj z początku nie miałem pewności, ponieważ układ Marvell 88F6281 posiada dwa sprzętowe interfejsy UART (UA0 oraz UA1) i nie wiedziałem, który z nich jest wykorzystywany. Pomocne okazały się źródła U-Boot dla NSA310, w których po prostu sprawdziłem jaką funkcję pełni to wyprowadzenie. Zgodnie z podejrzeniami, okazało się, że jest to sygnał UART TX, a odnalezienie na tej ścieżce sygnałowej rezystora podciągającego do 3,3 V i pustego miejsca na rezystor ściągający do masy tylko upewniły mnie w przekonaniu, że jest to poszukiwane wyprowadzenie.

Po teoretycznych rozważaniach trzeba je było jeszcze potwierdzić w rzeczywistości - tutaj przydał się już miernik i wspomniane zdjęcia. Wszystkie istotne elementy, mozaika ścieżek i sygnały związane z ustawieniem taktowania CPU w NSA310 znajdziecie na dwóch poniższych zdjęciach (pierwsze dotyczy sygnałów MPP[2], MPP[5] oraz MPP[19] zlokalizowanych przy kości pamięci NAND, na górnej warstwie PCB, z kolei drugie pokazuje ścieżkę sygnałową od UART TX, na spodzie PCB):

Mając w pamięci to, co napisałem powyżej, kwestia dzielnika taktowania dla pamięci L2 (CPU L2) jest dla nas na razie nieistotna, ponieważ zgodnie z dokumentacją, dla zegara CPU wynoszącego 1500 MHz, dopuszczalny dzielnik CPU:L2 to 3:1 (zresztą, jest to jedyna wartość dopuszczalna dla wszystkich trzech konfiguracji zegara CPU wymienionych w dokumentacji). Przy takim dzielniku i zegarze CPU równym 1,5 GHz, taktowanie tego elementu będzie wynosić 500 MHz i jest zgodne z dodatkowym wymaganiem wymienionym w dokumentacji, to znaczy: “zegar CPU L2 musi być taktowany takim samym lub wyższym zegarem niż DDR”.

Zająć się musimy jednak taktowaniem pamięci DDR, które fabrycznie wynosi 400 MHz (co oznacza dzielnik CPU:DDR równy 3:1). Jeżeli pozostawilibyśmy wartość domyślną, po zmianie CPU PLL na 1500 MHz, pamięć taktowana byłaby zegarem 500 MHz, co mogłoby powodować niestabilną pracę lub nawet problem z uruchomieniem urządzenia (zaznaczam jednak, że te podejrzenia wymagają weryfikacji). Zresztą, dokumentacja jasno mówi, że przy wyższym zegarze należy ustawić dzielnik dla pamięci DDR na 4:1, co da w rezultacie zegar DDR równy 375 MHz i tak też postąpimy.

Okazało się też, że domyślny dzielnik 3:1 dla zegara DDR w ZyXEL NSA310 jest jednocześnie domyślną konfiguracją 4 sygnałów odpowiedzialnych za jego ustawienie (mam tutaj na myśli konfigurację wewnętrznych rezystorów pull-up/pull-down, przy okazji - ich wartość to 50 kOhm). Rodziło to obawę, że producent w ogóle nie umieścił na PCB miejsca na rezystory zmieniające domyślną wartość sygnału na wejściu wyprowadzeń, co też nie byłoby niczym niezwykłym - cztery rezystory w skali wielu setek tysięcy wyprodukowanych urządzeń może być kosztem, który się liczy.

Z 4 wyprowadzeń odpowiadających za konfigurację dzielnika dla DDR, tj. MPP[33], NF_ALE, NF_REn i NF_CLE, udało mi się zlokalizować (na razie) tylko ostatnie 3. “Udało się”, to może nawet zbytnie przechwalstwo, ponieważ, podobnie jak w przypadku wcześniejszych wyprowadzeń, pełnią one funkcje, których nie mogą pełnić żadne inne, w dodatku również dotyczą pamięci NAND FLASH. Na szczęście okazało się, że po pierwsze - wartość na nieodnalezionym (jeszcze) wyprowadzeniu nie ma dla naszych potrzeb znaczenia (jest to najbardziej znaczący bit w konfiguracji, jego zmiana może się okazać wymagana w przypadku próby uruchomienia NSA310 z wyższym zegarem, np. 1800 lub 2000 MHz), a po drugie - dla pozostałych 3 wyprowadzeń producent przewidział miejsce na PCB, na rezystory podciągające/ściągające. Wszystko wyjaśnia poniższe zdjęcie:

Jak podkręcić ZyXEL NSA310 do 1500 MHz - instrukcja “krok po kroku”

Jeżeli pominęliście fragment teoretyczny zagadnienia i trafiliście od razu tutaj, to najpewniej szukacie po prostu instrukcji typu “co zrobić, żeby CPU w moim ZyXEL NSA310 pracowało z zegarem 1,5 GHz”. Instrukcja będzie bardzo czytelna, bo w formie obrazkowej, z dodatkowymi komentarzami (również w języku angielskim dla Czytelników spoza Polski, których mam ostatnimi czasy coraz więcej). Zanim jednak przejdziecie dalej, musicie zapoznać się z ostrzeżeniem:

UWAGA!
Autor tego tekstu oraz prezentowanej modyfikacji nie ponosi żadnej odpowiedzialności za niepożądane skutki wynikające z zastosowania się do zamieszczonych na tej stronie instrukcji, nieumiejętnego wykonania modyfikacji lub błędów w prezentowanym opracowaniu. Autor dołożył wszelkich starań i przetestował prezentowane informacje, ale nie gwarantuje, że są one pewne i nie spowodują uszkodzenia Twojego urządzenia.

Co więcej, zostałeś ostrzeżony, że zmiana taktowania CPU i innych elementów jest operacją wysoce niebezpieczną i w przypadku niepowodzenia, Twoje urządzenie może ulec uszkodzeniu.

Wszystkie operacje wykonane na podstawie zamieszczonych tutaj informacji wykonujesz wyłącznie na własną odpowiedzialność!

Skoro już wiecie, co Wam grozi, pozostaje mi jeszcze dla formalności (choć te informacje wynikają z tabel, które przygotowałem) poinformować, że taka modyfikacja wymaga 3 operacji:

  • przeniesienia rezystora 4,7k z pozycji R11 na R12 lub R159 (spód PCB)
  • przeniesienia rezystora 4,7k z pozycji R8 na pozycję R7 (góra PCB)
  • dodania rezystora o wartości około 4~10k (nie może mieć wartości zbyt małej żeby nie przeciążyć wyprowadzenia, ale nie powinien być większy niż 50k ze względu na rezystory wewnątrz układu) na pozycji R17 (góra PCB)

Miłego podkręcania i nie zapomnijcie podzielić się w komentarzach osiągnięciami i informacjami dotyczącymi stabilności itd.


Jeżeli wykorzystałeś podane przeze mnie informacje i uważasz je za przydatne, możesz postawić mi piwo, co na pewno zachęci mnie do dalszej pracy:


Kilka słów na koniec

Na pewno wielu z posiadaczy ZyXEL NSA310 (i innych urządzeń bazujących na układzie Marvell 88F6281 z serii Kirkwood) zastanawia się, po przeczytaniu tych kilku akapitów, czy to jest bezpieczne i na jak duży wzrost wydajności można liczyć po modyfikacji. Zacznę od drugiej wątpliwości - w testach syntetycznych (OpenSSL Benchmark, CPU Benchmark for OpenWrt) wydajność skaluje się praktycznie liniowo z zegarem. Czyli teoretycznie, po przetaktowaniu CPU na 1500 MHz można liczyć na około 25 % wzrost wydajności. Jak sprawa wygląda podczas rzeczywistego użytkowania urządzenia, czyli przede wszystkim, jaki ma to wpływ na transfery przez sieć Ethernet i USB - jeszcze nie sprawdziłem. Takie testy zależą od wielu innych czynników (zastosowany dysk, ustawienia, konfiguracja sieci itd.), więc na razie tę kwestię pozostawiam moim Czytelnikom, licząc na to, że któryś z nich podzieli się wynikami swoich testów.

Sprawa stabilności, to równie, jeżeli nie najbardziej, istotne zagadnienie. Wykonałem kilkugodzinne testy, po zainstalowaniu OpenWrt, przy pomocy programów memtester, stress i benchmarku OpenSLL Benchmark. Jak do tej pory, nie natrafiłem na żadne problemy, jednak nie jest to jednoznaczne ze stwierdzeniem, że w tej konfiguracji to urządzenie pracuje tak samo stabilnie jak na ustawieniach fabrycznych. Co więcej, może to zależeć również od wielu innych czynników, a nawet od konkretnego egzemplarza układu - każdy z zainteresowanych powinien przetestować swój serwer samodzielnie. Jeżeli w trakcie takich testów okazałoby się, że urządzenie sprawia problemy, to na początek sugeruję montaż na układzie SoC jakiegoś radiatora (ja swoje testy przeprowadziłem już z radiatorem). Przy zegarze 1500 MHz, zgodnie z dokumentacją, układ generuje już około 1 W ciepła, które trzeba rozproszyć. Gdyby to nie pomogło, to trzeba zastanowić się nad zmianą np. taktowania CPU L2 (przy pomocy dzielnika z 3:1 na 4:1) z 500 MHz w dół, do 375 MHz. Zgodnie z dokumentacją, nie jest to dopuszczalna/możliwa (niepotrzebne skreślić) konfiguracja, jednak mam przeczucie, że będzie działać - jak czas pozwoli, to sprawdzę tę kwestię i zaktualizuję artykuł.

Z powyższego tekstu płyną także inne, interesujące wnioski. Przede wszystkim, posiadacze innych urządzeń opartych na tym samym układzie (np. wspominany już w artykule IOmega iConnect, za którego zamierzam zabrać się w następnej kolejności), z pamięcią NAND, mają praktycznie otwartą drogę do modyfikacji - wystarczy odnaleźć odpowiednie wyprowadzenia kości pamięci i wykonać podobne operacje jak te, opisane powyżej.

Kwestię underclockingu, czyli zmiany zegarów w dół, pozostawiłem na boku. Moim zdaniem, zmniejszanie zegara CPU o 200 MHz jest raczej bez sensu - wydajność spadnie, a zysk w zapotrzebowaniu na energię elektryczną będzie raczej niewielki. Zgodnie z dokumentacją, będzie to jedynie 80 mW (rdzeń CPU). Niemniej, gdyby okazało się jednak, że możliwe jest ustawienie innych zegarów ze wspominanego wcześniej zakresu 600-2000 MHz, to na pewno warto sprawdzić jak wygląda zużycie energii przy najniższym i najwyższym taktowaniu oraz jaki ma to wpływ na wydajność w rzeczywistych zastosowaniach.

Poza tym, zastanawiający, przynajmniej dla mnie, jest również fakt, że przez tak długi okres obecności NSA310 na rynku oraz otwartego dostępu do dokumentacji technicznej zastosowanego w nim układu, nikt nie pokusił się o dokładne przestudiowanie jej treści i próbę zmiany zegarów. Ta operacja, wliczając w to zapoznanie się z dokumentacją i napisanie tego artykułu, zajęła mi niecałe trzy wieczory.

» komentarzy: 13 «

byrrt
Dodany: Niedziela, 15 grudnia 2013 o godzinie: 12:26:33

Podejrzewam, że różne wersje układu mają różne dopuszczalne zegary, ale na poziomie produkcyjnym to ten sam układ, który podlega selekcji. Tak się generalnie robi - nie każdy krzem wychodzi tak jakby producent chciał ale po co go niszczyć skoro na niższym zegarze pracuje prawidłowo. Oczywiście producent musi mieć margines bezpieczeństwa dlatego da się przestawić odpowiednie zegary i całość pracuje. Jak autor przetestuje jaki wpływ mają przeróbki NASa na wydajność chociażby przy odczycie plików przez FTP to chętnie się zainteresuje tematem i poddam swojego Zyxela szybszemu zegarowi ;)

pepe2k
Dodany: Niedziela, 15 grudnia 2013 o godzinie: 13:24:23

Od dawna pracujesz przy produkcji układów scalonych, że wiesz jak się “generalnie robi”? :)

Autor nie ma czasu na testy, pokazał i wyjaśnił w jaki sposób można zmienić zegary, resztę zabawy pozostawiając swoim Czytelnikom ;)

byrrt
Dodany: Niedziela, 22 grudnia 2013 o godzinie: 16:09:39

Przy produkcji scalaków nie siedzę bo u nas w PL nie ma firm, które się tym zajmują (nie liczę linii prototypowych i badawczych oraz biur inżynieryjnych). Pracuję natomiast przy budowie elektroniki, mam kontakt z przedstawicielami producentów i to i owo wiem ;) To nie tajemnica, że procesory celeron to w sumie ten sam krzem co pentium, to że np. STM32F101 to to samo co F103 tylko z “gorszego sortu” ;)

Robiłeś jakieś testy po tym podkręceniu - daje to jakieś realne korzyści?

pepe2k
Dodany: Niedziela, 22 grudnia 2013 o godzinie: 16:30:51

Ciekawy przykład na to, jak w kółko powtarzany stereotyp staje się “prawdą” :)

Tak, daje realne korzyści. Wydajność rośnie praktycznie liniowo z zegarem.

http://www.tech-blog.pl
Dodany: Poniedziałek, 30 grudnia 2013 o godzinie: 19:47:32

pepe2k - bez spinania ale o Co Ci chodzi? :) To co mówię odnośnie sortowania krzemów i oznaczania ich odpowiednio to prawda koniec kropka. Bez urazy ale jestem tego 100% przekonany i co w tym dziwnego? Produkcja płytek krzemowych nie jest na tyle powtarzalna, że każdy układ przechodzi testy w 100% więc tworzone są różne wersje danego układu. Wywalanie działających na obniżonych parametrach krzemów byłoby zwyczajnie głupotą. Nawet w układach scalonych większość składa się z klocków - np. w mikrokontrolerach rdzeń ARM jest dostarczany osobno i montowany razem z peryferiami w obudowie. Jeśli krzem w trakcie testów został zakwalifikowany jako słabszy idzie do procka słabszego - często z innymi peryferiami ale rdzeń jest ten sam tylko z gorszego sortu! Drażni mnie trochę twierdzenie, że stereotyp staje się “prawdą” nie mając ku temu żadnych podstaw..

Pozdrawiam

suhar
Dodany: Czwartek, 6 marca 2014 o godzinie: 16:03:20

Na które rezystory miałbym zwrócić uwagę przy Zyxelu 320s (ten sam procek tylko 1,0 GHz)

pepe2k
Dodany: Czwartek, 6 marca 2014 o godzinie: 16:11:25

Nie wiem.

PS. Ktoś pytał, czy działa OFW po podkręcaniu - tak, działa. Przez przypadek usunąłem komentarz z tym pytaniem.

Suhar
Dodany: Piątek, 7 marca 2014 o godzinie: 13:31:22

Może troszkę nieskładnie napisałem. Płytka drukowana wygląda identycznie, jak te zbliżenia (opis rezystorów, rozkład). Jak należałoby postąpić, gdyby przetaktowywać procesor nie z 1,2 GHz na 1,5 a z 1,0 GHz na 1,5? Pozdrawiam

pepe2k
Dodany: Piątek, 7 marca 2014 o godzinie: 13:46:48

Wszystko jest opisane w dokumencie PDF wskazanym w treści artykułu. Na jego podstawie można sobie sprawdzić jaka powinna być konfiguracja odpowiednich sygnałów, a tym samym - rezystorów podciągających/ściągających.

Zaznaczam przy okazji, że NSA 320 ma zupełnie inny i inaczej podłączony (inna magistrala) układ od sieci.

lork
Dodany: Czwartek, 28 sierpnia 2014 o godzinie: 08:46:34

Witam. Czy ktoś z wtajemniczonych wie moze czy da sie tym sposobem przetaktowac procesor w nowszym modelu NSA310S? Czy jest tam zupelnie inny procesor?

lork
Dodany: Poniedziałek, 1 września 2014 o godzinie: 12:55:26

mam jeszcze pytanie odnosnie dzielnika DDR, skoro domyslnie jest ustawiony na 3:1 to bity zgodnie z tabelka powinny byc ustawione 0100, dlaczego zatem na zdjeciu nie ma rezystora R16 do VCC? nie ma tez R18 i R19 do GND?

pepe2k
Dodany: Poniedziałek, 1 września 2014 o godzinie: 13:25:23

Czytaj ze zrozumieniem:

“Okazało się też, że domyślny dzielnik 3:1 dla zegara DDR w ZyXEL NSA310 jest jednocześnie domyślną konfiguracją 4 sygnałów odpowiedzialnych za jego ustawienie (mam tutaj na myśli konfigurację wewnętrznych rezystorów pull-up/pull-down, przy okazji - ich wartość to 50 kOhm).”

lork
Dodany: Wtorek, 2 września 2014 o godzinie: 09:14:05

Racja, nie doczytalem, dzieki za dopowiedz :)

» dodaj komentarz «





» Komentarze dodane przez niezarejestrowanych użytkowników muszą być zatwierdzone przez moderatora


» kategorie wpisów

Co nowego na stronie (wpisów: 43)
Dzikie.NET (wpisów: 16)
Humor (wpisów: 46)
Inne (wpisów: 34)
Kapsle Tymbark (wpisów: 29)
Moje projekty i pomysły (wpisów: 43)
Narzekam na… (wpisów: 16)
Nowości w galerii (wpisów: 12)
Nowości, ciekawostki (wpisów: 595)
O mnie (wpisów: 36)
Wordpress (wpisów: 1)
Zabawki (wpisów: 9)
Zdjęcie bez komentarza (wpisów: 91)
Zdjęcie z komentarzem (wpisów: 23)
Strony w domenie tech-blog.pl wykorzystują pliki cookies w celach statystycznych, analizy oglądalności oraz na potrzeby wyświetlania reklam. Jeżeli nie wyrażasz na to zgody, zmień ustawienia wykorzystywanej przeglądarki internetowej. Więcej informacji na stronie Polityka prywatności i cookies (ciasteczka).

» archiwum wpisów

styczeń 2014 (wpisów: 2)
grudzień 2013 (wpisów: 6)
listopad 2013 (wpisów: 27)
październik 2013 (wpisów: 21)
wrzesień 2013 (wpisów: 27)
sierpień 2013 (wpisów: 8)
lipiec 2013 (wpisów: 8)
czerwiec 2013 (wpisów: 6)
maj 2013 (wpisów: 16)
kwiecień 2013 (wpisów: 17)
marzec 2013 (wpisów: 18)
luty 2013 (wpisów: 22)
styczeń 2013 (wpisów: 19)
grudzień 2012 (wpisów: 20)
listopad 2012 (wpisów: 33)
październik 2012 (wpisów: 25)
wrzesień 2012 (wpisów: 15)
maj 2012 (wpisów: 1)
kwiecień 2012 (wpisów: 1)
marzec 2012 (wpisów: 1)
styczeń 2012 (wpisów: 2)
grudzień 2011 (wpisów: 1)
listopad 2011 (wpisów: 7)
październik 2011 (wpisów: 4)
wrzesień 2011 (wpisów: 1)
sierpień 2011 (wpisów: 3)
lipiec 2011 (wpisów: 2)
czerwiec 2011 (wpisów: 3)
maj 2011 (wpisów: 1)
marzec 2011 (wpisów: 3)
luty 2011 (wpisów: 5)
styczeń 2011 (wpisów: 5)
grudzień 2010 (wpisów: 6)
listopad 2010 (wpisów: 2)
październik 2010 (wpisów: 1)
wrzesień 2010 (wpisów: 4)
sierpień 2010 (wpisów: 2)
lipiec 2010 (wpisów: 4)
kwiecień 2010 (wpisów: 4)
marzec 2010 (wpisów: 12)
luty 2010 (wpisów: 4)
styczeń 2010 (wpisów: 1)
listopad 2009 (wpisów: 1)
październik 2009 (wpisów: 1)
wrzesień 2009 (wpisów: 1)
sierpień 2009 (wpisów: 3)
lipiec 2009 (wpisów: 2)
czerwiec 2009 (wpisów: 6)
kwiecień 2009 (wpisów: 1)
marzec 2009 (wpisów: 25)
luty 2009 (wpisów: 9)
styczeń 2009 (wpisów: 13)
grudzień 2008 (wpisów: 7)
listopad 2008 (wpisów: 11)
październik 2008 (wpisów: 1)
wrzesień 2008 (wpisów: 9)
sierpień 2008 (wpisów: 49)
lipiec 2008 (wpisów: 2)
czerwiec 2008 (wpisów: 39)
maj 2008 (wpisów: 52)
kwiecień 2008 (wpisów: 49)
marzec 2008 (wpisów: 58)
luty 2008 (wpisów: 38)
styczeń 2008 (wpisów: 12)
grudzień 2007 (wpisów: 16)
listopad 2007 (wpisów: 2)
październik 2007 (wpisów: 8)
wrzesień 2007 (wpisów: 16)
sierpień 2007 (wpisów: 7)
lipiec 2007 (wpisów: 3)
czerwiec 2007 (wpisów: 3)
maj 2007 (wpisów: 11)
kwiecień 2007 (wpisów: 11)
marzec 2007 (wpisów: 16)
luty 2007 (wpisów: 9)
styczeń 2007 (wpisów: 13)
grudzień 2006 (wpisów: 5)
listopad 2006 (wpisów: 4)
październik 2006 (wpisów: 13)
wrzesień 2006 (wpisów: 15)
sierpień 2006 (wpisów: 8)
lipiec 2006 (wpisów: 5)
czerwiec 2006 (wpisów: 39)
maj 2006 (wpisów: 38)
All rights reserved Copyright 2006-2012 Piotr Dymacz