Czy częstotliwość procesora to średnia wartość o liczbie taktów zegara na sekundę, czy ma on silniejszą fizyczną stabilność?
Moim zdaniem nie musi być stabilny ani niestabilny. Czy są dostępne informacje na temat wariancji procesora?
Czy czas trwania cyklu procesora jest ściśle zsynchronizowany z drganiami kryształu? Czy też procesor musi po prostu upewnić się, że wykona cykl przed następnym tyknięciem?
Odpowiedzi:
Jak każda skomplikowana rzecz, możesz opisać sposób działania procesora na różnych poziomach.
Na najbardziej podstawowym poziomie procesor napędzany jest przez dokładny zegar. Częstotliwość zegara może się zmieniać; pomyśl SpeedStep Intela. Ale przez cały czas procesor jest całkowicie w 100% zablokowany na sygnał zegara.
Instrukcje procesora działają na znacznie wyższym poziomie. Pojedyncza instrukcja jest złożoną rzeczą i może trwać od mniej niż jednego cyklu do tysięcy cykli do zakończenia , jak wyjaśniono tutaj na Wikipedii .
Zasadniczo więc instrukcja zużyje pewną liczbę cykli zegara . W nowoczesnych procesorach, ze względu na technologie takie jak wiele rdzeni, HyperThreading, potokowanie, buforowanie, poza kolejnością i wykonywanie spekulacyjne, dokładna liczba cykli zegara dla pojedynczej instrukcji nie jest gwarantowana i będzie się zmieniać za każdym razem, gdy wydasz taką instrukcję !
EDYTOWAĆ
Tak i nie. 99,99% użytkowników końcowych jest zainteresowanych ogólną wydajnością , którą można określić ilościowo, przeprowadzając różne testy porównawcze.
To, o co prosisz, to wysoce techniczne informacje. Intel nie publikuje pełnych lub dokładnych informacji na temat opóźnienia / przepustowości instrukcji procesora .
Są naukowcy, którzy podjęli się tego, aby spróbować to zrozumieć. Oto dwa pliki PDF, które mogą być interesujące:
Niestety trudno jest uzyskać dane dotyczące wariancji . Cytowanie z pierwszego pliku PDF:
Mimo to ciekawa lektura!
źródło
But at all times the CPU is absolutely 100% locked to the clock signal
dotyczy tylko synchronicznych procesorów. Głupio jest mówić o tyknięciach w asynchronicznym (bez zegara) procesorze, ale czułem się jak pominięcie :)Oczywiście nie. Nawet bardzo najlepsze zegary nie są ściśle okresowe. Prawa termodynamiki mówią inaczej:
Twórcy bardzo najlepszych zegarów starają się bardzo, bardzo ciężko pokonać prawa termodynamiki. Nie mogą wygrać, ale są bardzo, bardzo blisko progu rentowności. Zegar na twoim procesorze? To śmieci w porównaniu do tych najlepszych zegarów atomowych. Właśnie dlatego istnieje Network Time Protocol .
Przewidywanie: Po raz kolejny zobaczymy trochę chaosu, gdy najlepsze zegary atomowe na świecie będą działać od 2015 30 czerwca 23:59:59 UTC do 2015 30 czerwca 23:59:60 UTC do 2015 1 lipca 2015 00:00:00 UTC. Zbyt wiele systemów nie rozpoznaje sekund przestępnych i ich poziom bezpieczeństwa jest ustawiony na dwa (co zapobiega zmianie czasu o więcej niż jedną sekundę). Jitter zegara w tych systemach oznacza, że drugi krok przestępstwa w protokole sieciowym zostanie odrzucony. Liczba komputerów upadnie, podobnie jak w 2012 roku.
źródło
Około 2000 r., Kiedy prędkości taktowania procesorów zaczęły docierać do zakresu, w którym działały również telefony komórkowe, powszechne stało się dodawanie zmian do rzeczywistej częstotliwości taktowania. Powód jest prosty: jeśli zegar procesora ma dokładnie 900 MHz, wszystkie zakłócenia elektroniczne są generowane na tej częstotliwości. Zmieniaj częstotliwość taktowania nieco między 895 a 905 MHz, a zakłócenia są również rozłożone w tym zakresie.
Było to możliwe, ponieważ nowoczesne procesory mają ograniczoną temperaturę. Nie mają problemu z bieganiem nieco szybciej przez krótki czas, ponieważ mogą ostygnąć, gdy zegar zwolni później.
źródło
Projektant logiki cyfrowej tutaj. Rzeczywistym czasem potrzebnym na zmianę sieci logicznej w odpowiedzi na sygnał wejściowy jest opóźnienie propagacji . Pomyśl o systemie jako:
registers A,B,C... ---> logic cloud ---> registers A',B',C'
„Zegar uruchamiania” to krawędź zegara, w której zmienia się pierwszy zestaw rejestrów. „Zegar przechwytywania” jest następnym zboczem zegara jeden okres później. Aby system działał, wyjście chmury logicznej musi być stabilne przed nadejściem zegara przechwytywania.
Proces sprawdzania, czy to działa, jest analizą czasową. Korzystając z opartej na fizyce symulacji systemu, oblicz najgorszy możliwy czas dostarczenia danych wejściowych do dowolnego wyjścia. Największa z tych liczb w całym systemie określa minimalny okres zegara.
Uwaga najgorszy przypadek . Rzeczywisty czas propagacji będzie krótszy, ale zależy to od zmienności procesu produkcyjnego, aktualnej temperatury i napięcia chipa ( PVT ). W praktyce oznacza to, że możesz zastosować szybszy zegar (podkręcanie) i może działać. Może także zacząć generować błędy, takie jak decyzja, że
0x1fffffff + 1 = 0x1f000000
jeśli bit przeniesienia nie dotrze na czas.Chipy mogą mieć również więcej niż jeden zegar na pokładzie (zwykle FSB jest wolniejszy niż rdzeń), a rzeczywisty zegar może być zwiększany lub zmniejszany w celu kontroli termicznej lub zmieniany (odpowiedź MSaltera na temat wykorzystania widma rozproszonego do zaliczenia testów EMC).
źródło
Ani. Czas trwania instrukcji będzie wynosił pewną liczbę tyknięć zegara, ale liczba ta może się różnić w zależności od wymagań instrukcji. Na przykład, jeśli instrukcja nie może wykonać postępu do przodu, dopóki określona pamięć nie znajdzie się w pamięci podręcznej L1, wówczas instrukcja nie zostanie ukończona przed następnym tyknięciem zegara. Dopóki tak się nie stanie, nie nastąpi żaden postęp w tej instrukcji.
Ale kiedy procesor zdecyduje się coś zrobić, podstawową metodą jest skonfigurowanie wewnętrznych przełączników, tak aby określona część informacji trafiała do określonej części procesora. Oczekuje na wejście do tej części i wyjście do następnej części. Ta część oczekiwania jest celem zegara.
Wyobraź sobie fizyczny obwód, który pobiera dwa wejścia binarne i sumuje je, generując sumę na jakimś trzecim zestawie przewodów. Aby dokonać dodania, procesor musi ustawić dwie liczby, które mają zostać dodane, aby dostać się do tego sumatora, a wyjścia przejść do, powiedzmy, zatrzasku rejestru procesora. CPU nie może powiedzieć zatrzaskowi, aby przechowywał dane wyjściowe, dopóki dane wejściowe nie osiągną sumatora, sumator wygeneruje dane wyjściowe, a dane wyjściowe osiągną zatrzask. Jest to cel zegara - ustawianie czasu oczekiwania między ustawieniem wejścia, aby gdzieś pójść, a oczekiwaniem, że wyjście będzie gotowe do użycia.
źródło