33

Вопрос:

  • Как рассчитывается такт процессора и что он представляет?
  • Приравнять ли один tick до 10 miliseconds , таким образом , если какой - то поток сообщили , что не призывал к 5 * 10 ticks = 500 ticks Означает ли это процессор был , пожалуй , слишком занят , чтобы запланировать вышеупомянутую нить работать?

2 ответа2

28

Тик - это произвольная единица измерения внутреннего системного времени. Обычно имеется тикающий внутренний счетчик ОС; текущее время и дата, используемые различными функциями ОС, выводятся из этого счетчика.

Сколько миллисекунд представляет тик, зависит от операционной системы и может даже отличаться в зависимости от установки. Используйте механизмы ОС для преобразования тиков в секунды.

Относительно того, почему поток сообщает, что он не вызывается: это будет зависеть от того, блокирует ли поток где-то (ожидание, ввод / вывод и т.д.). Если он не блокирует, то да, планировщик ОС решит, когда он начнет работать, что может занять много времени, если система занята.

Редактировать:

Обратите внимание, что, возможно, к сожалению, некоторые авторы также используют тик в качестве синонима тактового цикла процессора (например, этот текст). Я считаю, что это использование менее распространено, но все же лучше сначала выяснить, о чем говорят люди.

3

Редактировать: взято с ПК Аппаратное обеспечение в двух словах:

«Часы процессора координируют все операции процессора и памяти путем периодической генерации эталонного сигнала времени, называемого тактовым циклом или тиковым сигналом. Тактовая частота указывается в гигагерцах (ГГц), что указывает миллиарды тиков в секунду. Тактовая частота определяет, как быстро выполняются инструкции. Некоторые инструкции требуют один тик, другие - несколько тиков, а некоторые процессоры выполняют несколько инструкций за один тик ".


Время между тактами определяется вашей тактовой частотой, и оно занимает от одного до нескольких тактов в зависимости от выполняемой операции. Например, процессору класса 286 нужно 20 тиков, чтобы умножить два числа.

Если вам нужны высокопроизводительные таймеры, то я не думаю, что вы можете полагаться на то, что тики будут постоянными во всех системах.

Планировщик ЦП мог задержать поток, особенно если был другой поток с более высоким приоритетом. Так что да, процессор мог быть слишком занят.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .