Skocz do zawartości

BSKA i eksperymenty z prędkością procesora


Rekomendowane odpowiedzi

Mam takie pytanko. W skrypcie od moderate znalazłem jak przełączyć sobie prędkość między aktualną, u mnie:

265MHz

echo 15110 >/proc/cpu_frequ/pll0_ndiv_mdiv

a 40MHz

echo 1027 >/proc/cpu_frequ/pll0_ndiv_mdiv

 

Jakie jeszcze pośrednie częstotliwości akceptuje 7100 (BSKA)?

 

znalazłem, że

    771 to 27MHz N=3, M=3

  1027 to 36MHz N=4, M=3

  1283 to 45MHz N=5, M=3

  1539 to 54MHz N=6, M=3

  1795 to 63MHz N=7, M=3

  2051 to 72MHz N=8, M=3

  2307 to 81MHz N=9, M=3

  2563 to 90MHz N=10, M=3

  2819 to 99MHz N=11, M=3

...

  3843 t0 135MHz N=15, M=3

...

  5123 to 180MHz N=20, M=3

  7683 to 270MHz N=30, M=3

...

10243 to 360MHz N=40, M=3

...

9475 to 333MHz  N=111, M=9 (czasem pilot skacze o 2)

31241 to 366MHz N=122, M=9 (dziwnie pilot przeskakuje o 2)

11267 to 400MHz N=44, M=3 ale 400MHz to również 22790 N=89 M=6

 

 

Bo chciałbym sobie poeksperymentować z obniżaniem częstotliwości przy przechodzeniu w zwykły standby, co się ostatnio pojawiło w openpli:

/etc/cron/standby_on

/etc/cron/standby_off

Odnośnik do komentarza
Udostępnij na innych stronach

Co 1Hz ;)

 

Dzielenie jest całkowite, więc wpisuj sobie co chcesz.

 

A bardziej szczegółowo, to przejrzyj sobie źródła cpufreq.ko. Kiedyś coś takiego wywnioskowałem:

 


 

Ogólnie wpisuje się do rejestru [/proc/cpu_frequ/pll0_ndiv_mdiv] (N*256+M) i wzór jest taki na PLL0:

 

PLL0_CLK = EXT_CLOCK * 2 * N / M

 

EXT_CLK w moim ESI (7105) to 30MHz a w nboksie (7100) 27MHz. Domyślnie w ESI mam N=15, M=1.

 

Zakresy M i N są ograniczone.

 

    dla 7105/7111: M od 0 do 7 i N od 3 do 255

    dla 7100: M od 0 do 255 i N od 3 do 255

 

Nie wiem co będzie jak się ustawi M=0 ;)

 

Teoretycznie najniższa częstotliwość dla 7105 to ok. 12,8MHz po wpisaniu do /proc/cpu_frequ/pll0_ndiv_mdiv wartości 3*256+7.

 


Odnośnik do komentarza
Udostępnij na innych stronach

Co 1Hz ;)

 

Dzielenie jest całkowite, więc wpisuj sobie co chcesz.

 

A bardziej szczegółowo, to przejrzyj sobie źródła cpufreq.ko. Kiedyś coś takiego wywnioskowałem:

 


 

Ogólnie wpisuje się do rejestru [/proc/cpu_frequ/pll0_ndiv_mdiv] (N*256+M) i wzór jest taki na PLL0:

 

PLL0_CLK = EXT_CLOCK * 2 * N / M

 

EXT_CLK w moim ESI (7105) to 30MHz a w nboksie (7100) 27MHz. Domyślnie w ESI mam N=15, M=1.

 

Zakresy M i N są ograniczone.

 

    dla 7105/7111: M od 0 do 7 i N od 3 do 255

    dla 7100: M od 0 do 255 i N od 3 do 255

 

Nie wiem co będzie jak się ustawi M=0 ;)

 

Teoretycznie najniższa częstotliwość dla 7105 to ok. 12,8MHz po wpisaniu do /proc/cpu_frequ/pll0_ndiv_mdiv wartości 3*256+7.

 


 

A te N i M to co za parametry, jakieś mnożniki częstotliwości magistrali?

Bo pewnie najbardziej logiczne byłoby zmniejszyć mnożnik procesora jeśli chcemy ograniczyć zużycie prądu przez procesor i dodatkowo jeśli chcemy spowolnienia prędkości pamięci i innych elementów to warto by zmniejszyć prędkość magistrali.

Ale np. jak  brac pod uwagę, że podczas uśpienia mogą być zaplanowane nagrania, to nie można przesadzić ze spowolnieniem magistrali, żeby nie spowolnić dysku.

 

Po Twoich wyjaśnieniach, ustalamy 3 za stałą i te 9 to 27MHz/3 a 10 to 30MHz/3 i to nie jest 40MHz, tylko 36MHz

# 40MHz > $((40/[9dla7100|10reszta] * 256 + 3))

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

9475 to 333MHz  N=111, M=9 (czasem pilot skacze o 2)

31241 to 366MHz N=122, M=9 (dziwnie pilot przeskakuje o 2)

11267 to 400MHz N=44, M=3 ale 400MHz to również 22790 N=89 M=6

 

Tak, zgodnie z wzorem możliwe są różne wartości z tym samym skutkiem.

 

A co do skakania pilota ... nie wiem czy śledzisz inne wątki, ale wynika z nich, że nbox nie ma RTC i wszelkie współczynniki czasowe są zależne od "zegara procesora". W domyśle 266MHz. Jak ustawiłeś 333MHz, to współczynniki czasowe programu obsługi pilota są krótsze i pewnie skutkiem tego obserwujesz skoki.

 

Ale np. jak  brac pod uwagę, że podczas uśpienia mogą być zaplanowane nagrania, to nie można przesadzić ze spowolnieniem magistrali, żeby nie spowolnić dysku.

 

Czytaj wyżej. Czas jest źle mierzony i trochę się sypie. A nie wiem czy zegar procesora jest tym samym co zegar obsługi dysku. W skrypcie moderate standby była uaktywniana synchronizacja NTP co minutę i na czas nagrania było wychodzenie z moderate. Piszę w czasie przeszłym, bo nie wiem czy w którymś momencie nie było rezygnacji z moderate dla 5800.

 

PS. Z tego 27MHz systemy wewnętrzne robią kilka zegarów i zdaje się nie wszystkie są sterowalne z poziomu cpufreq. Pamięć to osobna sprawa, ale kontrolowana z poziomu uboota tylko ... chyba.

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...