Pytanie:
- Jak oblicza się taktowanie procesora i co ono reprezentuje?
- Czy jeden
tick
równają się10 miliseconds
zatem 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 ?
Odpowiedzi:
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.
sysconf(_SC_CLK_TCK);
. Patrz np. Http://linux.die.net/man/2/timesTo, 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.
źródło
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.
źródło
ticks
w systemie uniksowym zwykle występują 60 lub 100 razy na sekundę i nie są powiązane z prędkością proc.tick
jako synonimprocessor cycle
. Mimo to widzę najczęściejtick
używane, jak wyjaśniono w mojej odpowiedzi powyżej. Ale