Co to jest taktowanie procesora?

37

Pytanie:

  • Jak oblicza się taktowanie procesora i co ono reprezentuje?
  • Czy jeden tickrównają się 10 milisecondszatem jeśli jakiś wątek doniesień nie wezwał do ( 5 * 10 ticks = 500 ticks) to znaczy procesor był chyba zbyt zajęty, aby zaplanować ww wątku do pracy ?
Aaron
źródło
1
czy możesz umieścić „CPU tick” w kontekście - być może wytnij i wklej akapit źródła frazy? Obawiam się, że może istnieć zamieszanie między jedną z kilku możliwych odpowiedzi.
Mick

Odpowiedzi:

31

Kleszcz jest dowolna jednostka do pomiaru wewnętrznego czas systemowy. Zazwyczaj istnieje wewnętrzny licznik OS dla kleszczy; bieżąca godzina i data używane przez różne funkcje systemu operacyjnego pochodzą z tego licznika.

Ile milisekund oznacza podziałka zależy od systemu operacyjnego, a nawet może się różnić w zależności od instalacji. Użyj mechanizmów systemu operacyjnego, aby zamienić tiki na sekundy.

To, dlaczego wątek zgłasza, że ​​nie jest wywoływane: Będzie to zależeć od tego, czy gdzieś blokuje wątek (czekanie, operacje we / wy itp.). Jeśli nie blokuje, to tak, harmonogram systemu operacyjnego zdecyduje, kiedy ma się uruchomić, co może potrwać długo, jeśli system jest zajęty.

Edytować:

Zauważ, że być może niestety niektórzy autorzy używają również tik jako synonimu cyklu zegara procesora (np. Ten tekst ). Uważam, że to użycie jest mniej rozpowszechnione, ale najlepiej najpierw dowiedzieć się, o czym mówią ludzie.

Śleske
źródło
Więc procesor wymaga stałej liczby taktów zegara do wykonania każdej instrukcji?
Aaron
1
@aaron: nie, czas wykonania instrukcji jest związany z określoną liczbą cykli procesora. biorąc pod uwagę konkretny system operacyjny na określonym procesorze działającym z określoną częstotliwością, możesz obliczyć, ile tyknięć zajmuje dana instrukcja, ale to obliczenie niekoniecznie jest ważne dla jakiejkolwiek innej kombinacji OS / CPU / częstotliwość / instrukcja.
szarlatan
1
@Aaron: Nie, tiki i cykle procesora to dwie różne koncepcje. Długość cyklu procesora zależy od sprzętu (częstotliwość procesora); tiki są wytwarzane przez system operacyjny i używają dowolnej długości, którą system operacyjny (lub jego projektanci) uznają za odpowiedni.
sleske
Nie używaj datetime.ticks () jako miernika, jest on celowo stały z założenia, aby reprezentować datę i godzinę wystąpienia tego obiektu. Jest to zależne od czasu, podczas gdy tiki sprzętowe są niezależne od czasu. To złe nazewnictwo ze strony frameworka.
inwertowanie
1
@sleske Hmmm Widzę różnicę. „tiki” były synonimem cykli procesora, a także terminem „stała ilość czasu niezależna od szybkości zegara procesora”. Ten sam termin o dwóch znaczeniach. Czy to prawda?
inwertowanie
3

Edycja: Pobrane ze sprzętu komputerowego w pigułce :

„Zegar procesora koordynuje wszystkie operacje procesora i pamięci poprzez okresowe generowanie sygnału odniesienia czasu zwanego cyklem zegarowym lub taktowaniem. Częstotliwość zegara jest określana w gigahercach (GHz), co określa miliardy tyknięć na sekundę. Szybkość zegara określa szybkość wykonywania instrukcji. Niektóre instrukcje wymagają jednego tiku, inne wielu tików, a niektóre procesory wykonują wiele instrukcji podczas jednego tiku. ”


Czas między tyknięciami jest określany na podstawie szybkości zegara i trwa od jednego do wielu tyknięć w zależności od wykonywanego OP. Na przykład procesor klasy 286 potrzebuje 20 znaczników, aby pomnożyć dwie liczby.

Jeśli potrzebujesz zegarów o wysokiej wydajności, nie sądzę, że możesz polegać na tym, że tiki są stałe we wszystkich systemach.

Program planujący procesor mógł opóźnić wątek, zwłaszcza jeśli istniał inny wątek o wyższym priorytecie. Tak, procesor mógł być zbyt zajęty.

odwracać
źródło
4
-1 Mylisz tiki i cykle procesora. ticksw systemie uniksowym zwykle występują 60 lub 100 razy na sekundę i nie są powiązane z prędkością proc.
sleske
1
Mówię o kleszczach sprzętowych. Procesor 1 Hz przetwarza 1 tik (cykl) na sekundę, 200 Hz może przetwarzać 200 cykli na sekundę, 2 GHz dwa miliardy cykli / sek. Im szybszy procesor, tym więcej cykli / sek.
inwertowanie
2
Ach, rozumiem, niektórzy autorzy używają tickjako synonim processor cycle. Mimo to widzę najczęściej tickużywane, jak wyjaśniono w mojej odpowiedzi powyżej. Ale
wydaje