Re: Skąd komputer "wie" która godzina?
от Google Adsense [BOT] • 26 Апрель 2018, 20:24
SebastianR писал(а):jak to działa że komputer wie jaką mamy godzinę?W przypadku, gdy komputer jest wyłączony i odłączony od źródeł zasilania (bateria, ładowarka), działanie generatora RTC jest zwykle podtrzymywane przez wewnętrzną baterię RTC, dzięki której licznik czasu wewnątrz mostka PCH (lub FCH, mostka południowego bądź hybrydowego procesora) działa bez przerwy i nadal liczy czas z częstotliwością 100Hz (czyli sto okresów zegarowych na sekundę). Po podłączeniu komputera do źródła zasilania i jego włączeniu, generator RTC podaje poprawny dla bieżącego czasu stan licznika czasu do uruchamianego systemu operacyjnego (a właściwie to system operacyjny sam pobiera sobie stan tego licznika) i dzięki temu prezentowany jest aktualny czas (data i godzina). Jeśli komputer nie posiada wewnętrznej baterii RTC (znakomita większość laptopów Apple), odłączenie wszystkich źródeł zasilania spowoduje (między innymi) zresetowanie licznika czasu. Po uruchomieniu komputera licznik jest wtedy ustawiany na jakąś (zdefiniowaną przez projektanta urządzenia) wartość domyślną - tak samo jak wyświetlana przez system operacyjny data i godzina. Natychmiast po podłączeniu do jakiegokolwiek źródła zasilania, generator RTC wznawia pracę i zaczyna liczyć czas. Jeśli system operacyjny jest podłączony do sieci (Wi-Fi, LAN itd), pobierze sobie aktualny czas z internetowych serwerów czasu i ustawi licznik czasu (synchronizuje z licznikiem serwera) na bieżącą wartość. Jeśli komputer nie jest podłączony do żadnej sieci, będzie liczył czas od tej zresetowanej wartości.
Generator zegara czasu rzeczywistego (generator RTC - Real Time Clock) to w istocie oscylator, generujący przebieg sinusoidalny o częstotliwości dokładnie 32768Hz (im bardziej dokładna jest ta częstotliwość, tym bardziej dokładnie działa zegar). Ta częstotliwość jest stabilizowana kwarcem o takiej samej częstotliwości, następnie jest dzielona (zwykle kilkukrotnie) wewnątrz kontrolera (PCH, FCH, CPU itd), co w wyniku daje wzorcową częstotliwość 100Hz. Dzięki temu licznik czasu jest zwiększany o 100 co każdą sekundę (a właściwie to o 1 co każde 1/100 sekundy). Dlaczego co 1/100 sekundy a nie co 1 sekundę? Bo komputer musi być w stanie działać także jako stoper - z tego względu licznik czasu jest często poszerzany z liczby całkowitej do liczby o dokładności dwóch miejsc po przecinku. Dla przykładu, jeśli zresetowana wartość licznika czasu wynosi 0000000000 (co w przypadku uniksowego znacznika czasu oznacza 1 stycznia 1970, godz. 00:00 UTC), to gdy generator zacznie pracować, po 2 pełnych dobach (48 godzin) stan licznika będzie wynosił 0017280000 (co odpowiada dacie 20 lipca 1970, godz. 00:00 UTC). W komputerach zwykle wartość początkowa licznika jest większa, niż 0 - np. wartość licznika 1000000000 oznacza datę 9 września 2001, godz. 01:46:40 UTC. Dla wartości domyślnej 1500000000 data to 14 lipca 2017, godz. 02:40:00 UTC. Tak właśnie działa liczenie i "zapamiętywanie" czasu w komputerach
ELVIKOM LAB Ltd - Apple Repairs & PCB Design - Free Quotes! https://www.elvikom.co.uk
Jeśli skorzystałeś z mojej pomocy na Forum, możesz w ramach podziękowania wspomóc jego rozwój. Kliknij tutaj, aby dowiedzieć się więcej.
Jeśli skorzystałeś z mojej pomocy na Forum, możesz w ramach podziękowania wspomóc jego rozwój. Kliknij tutaj, aby dowiedzieć się więcej.
ELVIKOM LAB Ltd - Apple Repairs & PCB Design - Free Quotes! https://www.elvikom.co.uk
Jeśli skorzystałeś z mojej pomocy na Forum, możesz w ramach podziękowania wspomóc jego rozwój. Kliknij tutaj, aby dowiedzieć się więcej.
Jeśli skorzystałeś z mojej pomocy na Forum, możesz w ramach podziękowania wspomóc jego rozwój. Kliknij tutaj, aby dowiedzieć się więcej.
Dziękuję bardzo No to pytam dalej:
Czyli oscylator "wytwarza" sygnał o częstotliwości 32768Hz, a po podziale wewnątrz PCH, FCH, CPU zostaje zawsze 100Hz czy tak?
Czy PCH, FCH to pojęcia te same pojęcia co z działu SZKOLENIA (pytanie stricte kontrolne żeby to sobie usystematyzować)? :
I teraz to co dla mnie na chwilę obecną jest czarną magią:
Skąd z licznika 0000000000 bierze się ta data?
Z góry przepraszam, jeżeli pytanie wyda się absurdalne, ale tu wymiękam
(generator RTC - Real Time Clock) to w istocie oscylator, generujący przebieg sinusoidalny o częstotliwości dokładnie 32768Hz (im bardziej dokładna jest ta częstotliwość, tym bardziej dokładnie działa zegar). Ta częstotliwość jest stabilizowana kwarcem o takiej samej częstotliwości, następnie jest dzielona (zwykle kilkukrotnie) wewnątrz kontrolera (PCH, FCH, CPU itd), co w wyniku daje wzorcową częstotliwość 100Hz
Czyli oscylator "wytwarza" sygnał o częstotliwości 32768Hz, a po podziale wewnątrz PCH, FCH, CPU zostaje zawsze 100Hz czy tak?
Czy PCH, FCH to pojęcia te same pojęcia co z działu SZKOLENIA (pytanie stricte kontrolne żeby to sobie usystematyzować)? :
I teraz to co dla mnie na chwilę obecną jest czarną magią:
Dla przykładu, jeśli zresetowana wartość licznika czasu wynosi 0000000000 (co w przypadku uniksowego znacznika czasu oznacza 1 stycznia 1970, godz. 00:00 UTC)
Skąd z licznika 0000000000 bierze się ta data?
Z góry przepraszam, jeżeli pytanie wyda się absurdalne, ale tu wymiękam
SebastianR писал(а):Czyli oscylator "wytwarza" sygnał o częstotliwości 32768Hz, a po podziale wewnątrz PCH, FCH, CPU zostaje zawsze 100Hz czy tak?Tak.
SebastianR писал(а):Czy PCH, FCH to pojęcia te same pojęcia co z działu SZKOLENIA (pytanie stricte kontrolne żeby to sobie usystematyzować)?Tak. W platformach sprzed 2009 roku generator RTC jest wbudowany w most południowy (SB), w nowszych są to właśnie PCH/FCH, a w płytach "jednoukładowych" - hybrydowe CPU.
SebastianR писал(а):Skąd z licznika 0000000000 bierze się ta data?Czas uniksowy (ang. "Unix time") to standard prezentacji czasu od chwili, gdy rozpoczęła się epoka Unixa (t.zw. czas 0, czyli dokładnie 1 stycznia 1970 roku, godz. 00:00:00 UTC). W istocie ta 16-bitowa liczba - tzw. timestamp, czyli znacznik czasu - to ilość sekund, jaka upłynęła od "czasu 0". Standard ten został stworzony przez trzech programistów w 1969 roku i przyjęty oraz wykorzystywany przez większość urządzeń elektronicznych i języków programowania, które posiadają funkcję mierzenia/prezentacji aktualnego czasu. Pośrednim celem takiej prezentacji czasu było to, że mieści się ona w liczbie 32-bitowej (4-bajtowej), zaś na przykład czas w bardziej nam znanym formacie (np. 01/01/1970, 00:00:00) zajmuje 20 bajtów, a więc 5-krotnie więcej.
Obecnie system ten zostaje sukcesywnie wypierany przez jego 64-bitowy (8-bajtowy) odpowiednik, bo 32-bitowa liczba może osiągnąć maksymalną wartość 2147483647 (czyli 2[super]31[/super]-1 sekund) , co odpowiada dacie 19 stycznia 2038, godz. 03:14:07 UTC - po której liczniki czasu uniksowego zachowają się nieprzewidywalnie (albo zostaną zresetowane i czas będzie liczony od 0, czyli od 1 stycznia 1970 roku, albo przyjmą wartość ujemną i zaczną liczyć od tyłu, czyli od 13 grudnia 1901 roku). Nazywa się to "problemem 2038 roku". 64-bitowy odpowiednik czasu uniksowego potrafi natomiast "pomieścić" czas niemal 300 miliardów lat (dla porównania, wiek naszej planety Ziemi szacuje się na ok. 4,5 miliarda lat).
ELVIKOM LAB Ltd - Apple Repairs & PCB Design - Free Quotes! https://www.elvikom.co.uk
Jeśli skorzystałeś z mojej pomocy na Forum, możesz w ramach podziękowania wspomóc jego rozwój. Kliknij tutaj, aby dowiedzieć się więcej.
Jeśli skorzystałeś z mojej pomocy na Forum, możesz w ramach podziękowania wspomóc jego rozwój. Kliknij tutaj, aby dowiedzieć się więcej.
@Vogelek23 Bardzo dziękuję, teraz już kumam o co chodzi
Z uwagi na to iż:
Można wywnioskować, że z uwagi na to iż mamy rok 2018 "UNIX-owym" licznikom czasu..... kończy się czas
Po raz kolejny WIELKIE DZIĘKI za poświęcony czas!
Pozdrawiam!
SebastianR
Z uwagi na to iż:
19 stycznia 2038, godz. 03:14:07 UTC - po której liczniki czasu uniksowego zachowają się nieprzewidywalnie...
Można wywnioskować, że z uwagi na to iż mamy rok 2018 "UNIX-owym" licznikom czasu..... kończy się czas
Po raz kolejny WIELKIE DZIĘKI za poświęcony czas!
Pozdrawiam!
SebastianR
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
_______________________________Все права защищены. Вы не можете копировать любой контент и элементов этого сайта без разрешения.
Все торговые марки, продукты или услуги, опубликованные на этом сайте принадлежат их законным владельцам, защищены авторским правом и используются только в информационных целях.