Как время измеряется в компьютерных системах?

Что-то, о чем я был озадачен, является этим: как точно компьютер регулирует и определяет время? Например: если я должен был записать программу, которая сделала это:

Сделайте 2+2, затем ожидают 5 секунд

Как процессор знает, какой "5 секунд"? Как время измеряется в компьютерных системах? Существует ли определенная микросхема для той единственной цели?Как это работает?

Спасибо за любые ответы; я действительно интересуюсь информатикой и любил бы любую справку, которую Вы могли дать мне =D.

13
задан 05.03.2011, 07:12

2 ответа

В то время как ответ Joel корректен, в действительности, это немного более сложно.

Первая вещь, которая должна быть учтена (и я собираюсь сфокусироваться только на ПК здесь) состоит в том, что существует несколько часов в компьютере, и у каждого есть его собственное использование.

Самый популярный и самый легкий понять часы реального времени. Это - в основном микросхема, которая имеет простые часы внутри. Они обычно имеют тот же тип кристаллов кварца как стандартные часы и обычно имеют батарею в течение времени, сохраняя, когда компьютер выключается. Проблема с ними состоит в том, что они не очень точны, как видно из ссылок Syntech. Кристалл на 32,768 кГц является слишком медленным для любого хронометрирования в современных системах, процессоры которых находятся в диапазоне мегагерца и гигагерца.

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

Простые часы являются программируемым таймером интервала. То, что это делает, является ожиданием определенное количество времени, и затем отправьте прерывание в ЦП. Когда ЦП получит прерывание, он остановит то, что он делает, и склоняйтесь к задаче, которая генерировала прерывание. Таким образом, ЦП не должен постоянно проверять, сделано ли что-то. Вместо этого это может сфокусироваться на других заданиях и иметь ЯМУ, говорят это, когда задание сделано. ЯМА использует источник часов на 1,193182 МГц и поэтому намного более точна, чем простой RTC.

Затем интересная система измерения является счетчиком метки времени. Идея позади него состоит в том, что мы можем получить намного более точные измерения времени с помощью источника часов процессора что с помощью различных системных таймеров. ЯМА имеет часы на 1,193182 МГц, но даже самые ранние x86 процессоры имели намного более высокие часы. Таким образом, у нас будет таймер, который обновляется после каждого количества набора циклов процессора. В то время, когда процессоры имели очень стабильные часы, и использование TSC было хорошим способом сделать точные измерения времени. Использование TSC однако приносит много проблем. Различные процессоры имеют различные уровни галочки и время меры на различных скоростях. Позже, когда технология совершенствовалась, мы получили современные процессоры, которые могут изменить их частоту. Это - основная проблема, sicen тактовая частота ЦП больше не является постоянным, и мы не можем использовать ее для измерения времени.

И вот почему у нас есть таймеры события высокой точности теперь. HPET использует часы на 10 МГц и поэтому более точна, чем ЯМА. С другой стороны, его источник часов не зависит от часов ЦП, и они могут использоваться для измерения времени, даже если часы ЦП изменяются. В отличие от ЯМЫ, которая работает обратным отсчетом, время мер HPET, так как компьютер был включен и сравнивает текущее время со временем, когда действие необходимо.

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

Менее дорогая опция и намного более распространенный состоит в том, чтобы использовать источник внешнего времени для калибровки внутренних источников времени компьютера. Например, GPS-приемники могут использоваться для обеспечения измерений времени высокой точности, потому что спутники GPS имеют свои внутренние атомные часы.

Другая опция, которая менее распространена, чем GPS-приемник, состоит в том, чтобы использовать специальный радиоприемник, который декодирует информацию времени от радиостанций хранения времени, таких как DCF77, например. Такие станции времени имеют свои собственные источники времени высокой точности и передают их вывод по радио. Начиная с перемещения радиоволн со скоростью света задержка часто незначительна.

13
ответ дан 07.12.2019, 11:31

IIRC, существует маленький кристалл вибрирование на определенной частоте, когда электрический ток передается через него. Каждое перемещение считается, и определенное количество их инициировали такт.

11
ответ дан 07.12.2019, 11:31

Теги

Похожие вопросы